CzLUG
Wprowadzenie do GPG
(GNU Privacy Guard)
Prowadzący: Patryk Kowalczyk wodor@czlug.icis.pcz.pl
CzLUG
Po co nam szyfrowanie ?
Zabezpiecza nas przed:
Podszywanie się
- zmiana treści korespondencji przez osobe trzecią,
- nieuprawniony dostęp do prywatnych zasobów
Podsłuchiwanie
- sniffing ( próby uzyskania haseł – komunikatory, poczta )
- szpiegujące oprogramowanie (wirusy, robaki)
CzLUG
Co to jest PGP / GPG?
PGP - Pretty Good Privacy - to jedno z najpopularniejszych
narzędzi do szyfrowania poczty elektronicznej. Projekt PGP
został zapoczątkowany w 1991 roku przez Philipa
Zimmermana. Niestety nie jest darmowy.
GPG - GNU Privacy Guard - to wolny zamiennik
oprogramowania kryptograficznego PGP. Udostępniony na
licencji GPL(GNU General Public License).
CzLUG
Do czego możemy użyć GPG?
- Możliwość szyfrowania i deszyfrowanie poczty – prawie
każdy klient pocztowy
- Szyfrowanie i deszyfrowanie rozmów na jabberze, tlenie,
gadu-gadu (wtyczki)
- Szyfrowanie i deszyfrowanie pojedynczych plików
- Szyfrowanie i deszyfrowanie całych partycji ( np: z mp3 ;)
lub poufnymi danymi firmy)
- Podpis cyfrowy
CzLUG
Podpis elektroniczny
- Możemy podpisać pocztę lub pliki dzięki czemu odbiorca
może sprawdzić czy treść nie została zmieniona
- Brak szyfrowania (możliwe jest “podpatrzenie”
przesyłanych informacji)
CzLUG
Szyfrowanie danych
- Jest zapewniona poufność danych – nie jest możliwe
“podejrzenie” przesyłanych informacji
- Dane mogą być odczytane wyłącznie przez osobę
posiadającą klucz prywatny
- Nie jest możliwe sprawdzenie tożsamości autora danej
informacji
CzLUG
Co z tymi kluczami – jak to dziala?
Klucz Prywatny i Publiczny – generujemy parę kluczy:
klucz publiczny – dostępny dla wszystkich
- pozwala zaszyfrować informacje
- pozwala zweryfikować autentyczność podpisu
elektronicznego
klucz prywatny – posiada go tylko właściciel wygenerowanej
pary kluczy
- pozwala szyfrować i deszyfrować informacje
- pozwala podpisywać wiadomości
CzLUG
Troszeczke praktyki – moje własne klucze
gpg --gen-key
gpg (GnuPG) 1.4.2.1; Copyright (C) 2005 Free Software
Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute
under certain conditions. See the file COPYING for details.
Please select what kind of key you want:
(1) DSA and Elgamal (default)
(2) DSA (sign only)
(5) RSA (sign only)
Your selection?
......
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
......
CzLUG
Troszeczkę praktyki - eksportowanie kluczy
gpg --output [nazwa-pliku] --export [e-mail-osoby]
- wygenerowanie naszego publicznego klucza
gpg --armor --output janek.gpg --export janek@polska.pl [e-
mail-osoby]
- wygenerowanie publicznego klucza w formacie kodu
ASCII
gpg --list-keys [e-mail-osoby]
- wypisanie wszystkich kluczy prywatnych
CzLUG
Improtowanie i podpisywanie kluczy
Jeżeli chcemy sprawdzic autentyczność wysłanej wiadomości
musimy mieć pewność że klucz publiczny którego używamy
należy do nadawcy wiadomosci.
W tym celu powinnyśmy wcześniej dokonać podpisu klucza
publicznego naszego nadawcy.
Musimy być w pewni że klucz który podpisujemy należy do tej
osoby i nie został on w żaden sposób zmodyfikowany.
Jeżeli wiele osób wzajemnie podpisze sobie klucze publiczne
tworzy się w ten sposób Sieć zaufania ( web of trust )
Klucz publiczny + dane identyfikacyjne + podpis = certyfikat
CzLUG
Troszeczkę praktyki – improtowanie i
podpisywanie kluczy
Importowanie czyjegoś klucza publicznego.
Aby zaimportować klucz do naszej bazy wpisujemy :
$ gpg --import public_wodor.asc
lub ...
$ gpg --import
... a następnie wklejamy klucz i potwierdzamy wciśnięciem
klawiszy Ctrl+D.
Podpisywanie:
sprawdzanie podpisywaniego klucza:
$ gpg --check-sigs
CzLUG
Troszeczke praktyki – pobieranie i wysylanie
klucza na publiczny serwer kluczy
Importowanie czyjegoś klucza publicznego.
Aby zaimportować klucz o ID 54DC7C7E z serwera wpisujemy:
$gpg --recv-keys --keyserver wwwkeys.eu.pgp.net 54DC7C7E
gpg: requesting key 54DC7C7E from hkp server \
wwwkeys.eu.pgp.net
gpg: key 54DC7C7E: "Patryk Kowalczyk (wodor)
<wodor@czlug.icis.pcz.pl>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Wysyłanie klucza na serwer:
$gpg --send-key 54DC7C7E
gpg: sending key 54DC7C7E to hkp server wwwkeys.eu.pgp.net
CzLUG
Troszeczkę praktyki – gpg –fingerprint
Fingerprint to niepowtarzalna suma kontrolna klucza, dzieki
której możemy jednoznacznie określić wiarygodność danego
klucza
gpg --fingerprint
/home/wodor/.gnupg/pubring.gpg
------------------------------
pub 1024D/54DC7C7E 2005-05-04 [expires: 2011-05-03]
Key fingerprint =
F4C8 5930 38B6 8E1C 39C7 2C94 4425 3141 54DC 7C7E
uid Patryk Kowalczyk (wodor) <wodor@czlug.icis.pcz.pl>
uid Patryk Kowalczyk (wodor) <wodorek@gmail.com>
uid Patryk Kowalczyk (wodor) <wodor@maluch.pcz.pl>
sub 1024g/FC52D2FA 2005-05-04 [expires: 2011-05-03]
CzLUG
Unieważnianie własnego klucza
Revocation – jest to unieważnanie klucza
$ gpg –gen-revoke 54DC7C7E
<wodor@wodor> ...
Please move it to a medium which you can hide away; if
Mallory
gets access to this certificate he can use it to make your
key
unusable. It is smart to print this certificate and store it
away, just
in case your media become unreadable. But have some caution:
The print system of your machine might store the data and
make
it available to others!
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: A revocation certificate should follow
iFoEIBECABoFAkBpPoETHQBiYWNrdXAgcmV2b2NhdGlvbgAKCRBpDfvgVDuzCB7E
AJ93K7KZHvrgh1rYrv+fc7LgVzuvbwCdH0NkvMoWGCYf+nEMLUutnmXpfw0==Fitq
-----END PGP PUBLIC KEY BLOCK-----
CzLUG
Unieważnianie cudzego klucza
Unieważnanie cudzego klucza
$ gpg –desig-revoke wodor@czlug.icis.pcz.pl
Następnie faktyczne unieważnienie klucza :
$ gpg –import
oraz wyslanie go na serwer
$ gpg --send-keys
CzLUG
Podpisywanie plików
Podpisywanie zwykłe:
$gpg --output tekst.sig --sign tekst.
txt
You need a passphrase to unlock the secret key for
user: "Patryk Kowalczyk (wodor) <wodor@czlug.icis.pcz.pl>"
1024-bit DSA key, ID 54DC7C7E, created 2005-05-04
Enter passphrase:
Weryfikacja podpisu przez odbiorce:
$gpg --verify tekst.sig
Odkodowanie wiadomości ( nie jest ona zaszyfrowana )
$gpg --output tekst.txt --decrypt tekst.sig
File `tekst.txt' exists. Overwrite? (y/N) y
gpg: Signature made Tue Mar 14 19:43:37 2006 CET using DSA
key ID 54DC7C7E
gpg: Good signature from "Patryk Kowalczyk (wodor)
<wodor@czlug.icis.pcz.pl>"
gpg: aka "Patryk Kowalczyk (wodor) <wodorek@gmail.com>"
gpg: aka "Patryk Kowalczyk (wodor) <wodor@maluch.pcz.pl>"
CzLUG
Podpisy "clearsign" i "detach"
Podpisy "clearsign" ( podpis na końcu pliku):
$ gpg --clearsign plik.txt
You need a passphrase to unlock the secret key for
user: "Patryk Kowalczyk (wodor) <wodor@czlug.icis.pcz.pl>"
1024-bit DSA key, ID 54DC7C7E, created 2005-05-04
Enter passphrase:
Weryfikacja podpisu :
$ gpg --verify plik.txt.asc
Podpisy “detach”:
-tworzy sie dodatkowy plik służący do weryfikacji podpisu, plik
podpisywany nie ulega zmianie.
$ gpg --output tekst.sig --detach-sig tekst.txt
Weryfikacja podpisu:
$ gpg --verify tekst.sig tekst.txt
CzLUG
Szyfrowanie plików – symetryczne
Szyfrowanie plików:
$ gpg -e -a -r wodor@czlug.icis.pcz.pl pliczek.txt
Szyfrowanie symetryczne:
$ gpg --output plik_zaszyfrowany –symmetric plik_szyfrowany
Szyfrowanie informacji
:
$ gpg --output zaszyfrowany_plik --encrypt –recipient \
adres@odbiorcy plik_szyfrowany
CzLUG
Deszyfrowanie plików - symetryczne
Deszyfrowanie pliku – rownież w przypadku szyfrowania
symetrycznego
$gpg --output odszyfrowany_plik --decrypt zaszyfrowany_plik
CzLUG
Ułatwianie życia - narzędzia
Gnu Privacy Assistant
http://www.gnupg.org/(en)/related_software/gpa/index.html
seahorse
http://seahorse.sourceforge.net/
kgpg
http://devel-home.kde.org/~kgpg/
CzLUG
Ułatwianie życia - narzędzia
Kgpg
CzLUG
Klienty pocztowe, jabber
Obsługiwane przez jabbera (kolejny wykład:))
Klienci jabbera:
- Psi
- Gajim
- Gabber
Większość nowoczesnych klientów pocztowych obsługuje
GPG
- Sylpheed (
http://sylpheed.good-day.net/en/
)
- Thunderbird (
http://www.thunderbird.pl/
)
- Evolution (
http://www.gnome.org/projects/evolution/
)
- Mutt (
http://mutt.org/
)
CzLUG
Klienty pocztowe, jabber
Thunderbird
Psi
CzLUG
Linki
http://www.gnupg.org/
http://www.pgpi.org/
http://www.pgpi.org/doc/pgpintro/
http://www.cryptnet.net/fdp/crypto/gpg-party.html
http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html
CzLUG
Init 0