Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Infrastruktura klucza publicznego (PKI)

Podobne prezentacje


Prezentacja na temat: "Infrastruktura klucza publicznego (PKI)"— Zapis prezentacji:

1 Infrastruktura klucza publicznego (PKI)
Openssl, Certyfikaty i GPG

2 Openssl - dostępny również dla MS Windows
Instalacja pod MS Windows Pobierz plik Można pobrać również dokumentację: Wypakuj zawartość plików w dowolnym miejscu Uruchom konsole i przejdź do wypakowanego katalogu – ściślej podkatalogu bin

3 Openssl – podstawowe komendy
Wyświetlanie komend i pomocy do komend: openssl –h openssl genrsa –h openssl rsautl –h Openssl rsa -h 1)Generacja klucza prywatnego openssl genrsa -out private.key 1024 2)Generacja klucza publicznego (uzupełnij na podstawie dokumentacji) opessl rsa -in private.key –pubout … public.key

4 3)Szyfrowanie przy użyciu klucza publicznego
Utworzenie wiadomosci tekstowej echo "wiadomosc do zaszyfrowania">msg.txt Szyfrowanie openssl rsautl -encrypt -in msg.txt -inkey public.key -pubin -out enc.txt 4)Deszyfrowanie przy użyciu klucza prywatnego openssl rsautl -decrypt -in enc.txt -inkey private.key -out dec.txt

5 5)Szyfrowanie przy użyciu klucza prywatnego
Utworzenie wiadomosci tekstowej echo "wiadomosc do zaszyfrowania">msg.txt Szyfrowanie openssl rsautl -raw -decrypt -in msg.txt -inkey private.key -out enc1.txt 6)Deszyfrowanie przy użyciu klucza publicznego openssl rsautl -… -encrypt –in enc1.txt -inkey public.key -pubin -out dec1.txt Pytanie: Jaki padding trzeba użyć w 6)? Jaka powinna być długość wiadomości msg.txt, by wiadomość dec1.txt była identyczna z msg.txt?

6 Openssl a podpis 7) Podpisywanie wiadomości
openssl dgst -sign private.key msg.txt >sign.msg 8) Weryfikacja podpisu openssl dgst -verify public.key -signature sign.msg msg.txt

7 Openssl szyfrowanie symetryczne
9) openssl enc -des3  -e -salt -a -in msg.txt -out msgsym.base64 10) openssl enc -des3  -d -salt -a -out msg1.txt -in msgsym.base64

8 Certyfikaty kwalifikowane i niekwalifikowane
Certyfikat kwalifikowany wykorzystuje się do podpisywania oficjalnych dokumentów Niekwalifikowane m.in. do zabezpieczania komunikacji SSL i szyfrowania i Lista podmiotów uprawnionych do wystawiania certyfikatów kwalifikowanych w Polsce znajduje się na stronie Narodowego Centrum Certyfikacji:

9 Certyfikaty Tworzenie centrum certyfikacji (CA) na własne potrzeby
Generacja kluczy CA openssl genrsa -des3 -out CA.key <key_size> Generacja certyfikatu CA openssl req -new -key CA.key -x509 -days out CA.crt -config config.txt Plik config.txt można przekopiować np. z: Generacja odcisku certyfikatu CA openssl x509 -fingerprint -noout -in CA.crt Żądanie wydania certyfikatu openssl genrsa -out <new.key> openssl req -new -key <new.key> -out <new.csr> -config config.txt Generacja certyfikatu podpisanego przez CA na podstawie żądania openssl x509 -req -days 365 -in <new.csr> -CA CA.crt -CAkey CA.key -CAcreateserial -out <new.crt>

10 Certyfikaty Konwersja do formatu PKCS#12 (opcjonalnie):
openssl pkcs12 -export -in pem-certificate-and-key-file -out pkcs-12-certificate-and-key-file openssl pkcs12 -export -in pem-certificate-file -inkey pem-key-file -out pkcs-12-certificate-and-key-file openssl pkcs12 -export -in pem-certificate-file -nokeys -nodes -out pkcs-12-certificate-file Wyświetlanie zawartości certyfikatu: openssl.exe x509 -in new.crt -text

11 Zaufane centra certyfikacji
Internet Explorer: Narzędzia->Opcje interentowe->Zawartość->Certyfikaty->Zaufane główne urzędy Firefox: Edycja->Preferencje->Zaawansowane->Szyfrowanie->Wyświetl certyfikaty->Organy certyfikacji

12 Przykładowe centra VeriSign jak uzyskać certyfikat SSL?:
jak się generuje żądanie wydania certyfikatu, które trzeba wkleić w formę on-line?: Unizeto Thawte UWAGA: w przypadku certyfikatów SSL jako CN (common name) podajemy nazwę domenową serwera (np. na którym będzie ten certyfikat używany.

13 Wyświetlanie zawartości certyfikatu dla witryny WWW
Klikamy na symbol kłódki po nawiązaniu połączenia poprzez https W przypadku Internet Explorera od wersji 7.0 począwszy wprowadzono bardziej rygorystyczne sprawdzanie certyfikatów oraz wprowadzono tzw. „Extended Validation (EV) Certificates”. Pole adresu wówczas przybiera zielony kolor.

14 Inne elementy PKI Listy CRL Urządzenia sprzętowe czytniki/karty

15 Testowanie połączeń SSL
Inicjujemy polaczenie z serwerem openssl s_client -connect :443 -state -debug Wysylamu komendy HTTP GET / /HTTP/1.0 Host: <ENTER>

16 GPG Instalacja Pobierz i uruchom instalator
ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli exe Zignoruj komunikat o prawach administratora i wybierz katalog instalacyjny, do którego posiadasz uprawnienia

17 Generacja kluczy gpg –gen-key Please select what kind of key you want:
(1) DSA and Elgamal (default) (2) DSA (sign only) (5) RSA (sign only) Your selection? 1 DSA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048)

18 Generacja kluczy Requested keysize is 2048 bits
Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct? (y/N) y

19 Generacja kluczy You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Address in this form: "Heinrich Heine (Der Dichter) Real name: Maciej Miłostan address: Comment: Mój klucz You are using the `CP852' character set. You selected this USER-ID: "Maciej Miłostan (Mój klucz) Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O You need a Passphrase to protect your secret key. We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.

20 gpg --list-keys C:/Documents and Settings/szarak/Dane aplikacji/gnupg\pubring.gpg pub D/6E17500D uid Maciej Miłostan (Mój klucz) sub g/46E8314D

21 Import klucza Ćwiczenie: Wygeneruj drugi klucz (np. dla Alice)
Dokonaj eksportu klucza publicznego i prywatnego gpg -a --export Alice >alice.pub gpg -a --export-secret-key Alice >alice.prv Usuń klucze Alice gpg --delete-keys Alice gpg --delete-secret-keys Alice Wylistuj klucze gpg --list-keys Dokonaj importu klucza publicznego Alice gpg --import alice.pub wylistuj klucze Dokonaj importu klucza prywatnego Alice gpg --import alice.prv wylistuj klucze

22 Poziom zaufania (Trust level)
1) Ustaw poziom zaufania dla klucza Alice gpg --edit-key Alice list trust 4 list

23 Podpisywanie wiadomości
Wiadomość i podpis w jednym pliku (*.gpg) gpg -u Alice -s msg.txt Weryfiakacja wiadomości gpg --verify msg.txt.gpg Zapisanie oryginalnej wiadomości gpg msg.txt.gpg Podpis w osobnym pliku (*.sig) gpg --detach-sign msg.txt Weryfikacja: gpg --verify msg.txt.sig msg.txt Podpis w formacie tekstowym (*.asc) gpg --clearsign msg.txt Dokonaj modyfikacji wiadomości w pliku msg.txt.asc i sprobuj dokonac weryfikacji podpisu

24 Szyfrowanie podpisanych wiadomości
Podpis swoim kluczem i zaszyfrowanie wiadomości dla Alice gpg -se –r Alice msg.txt Odszyfrowanie i weryfikacja podpisu gpg –d msg.txt.gpg

25 Serwery kluczy Przykład pobieranie klucza:
gpg --keyserver pgp.mit.edu --recv-keys F9B1BDED

26 GPG/PGP a poczta elektroniczna
Thunderbird + Enigmail Outlook/Outlook Express + komercyjne implementacje PGP (Outlook + Plugin do GPG)

27 Thunderbird+GPG+Enigmail
Enigmail

28

29

30

31 Zarządzanie kluczami

32

33

34 Podsumowanie Openssl GPG Enigmail Duża funkcjonalność
Szeroko stosowany zestaw narzędzi i bibliotek GPG Pretty Good Privacy na licencji GNU Łatwe zarządzanie kluczami Łatwe podpisywanie i weryfikacja podpisów Możliwość łączenia z serwerami kluczy Enigmail Nakładka na GPG w postaci wtyczki do Thunderbird-a Wywołanie funkcji GPG z poziomu okienek graficznych Automatyzacja procesu szyfrowania i podpisywania i


Pobierz ppt "Infrastruktura klucza publicznego (PKI)"

Podobne prezentacje


Reklamy Google