GnuPG. Opis rozwiązania i zastosowanie.

Podobne dokumenty
Plan wykładu. OpenPGP. Tożsamość i prywatność Po co szyfrować/uwierzytelniać dane?

Bezpieczna poczta i PGP

Wykład I. Oprogramowanie kryptograficzne. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Bezpieczna poczta i PGP

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

WSIZ Copernicus we Wrocławiu

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Wstęp do systemów wielozadaniowych laboratorium 21 Szyfrowanie

Bezpieczeństwo danych, zabezpieczanie safety, security

Zarys algorytmów kryptograficznych

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Autor: Opis implementacji: Zaawansowane użytkowanie Linuksa, podstawowe informacje o bezpieczeństwie danych i szyfrowaniu. A B C D E F G H I J

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Authenticated Encryption

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Zarządzanie systemami informatycznymi. Bezpieczeństwo przesyłu danych

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Technologie informacyjne

Przewodnik użytkownika

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

I Generowanie pary kluczy (prywatny i publiczny)

Czym jest kryptografia?

2 Kryptografia: algorytmy symetryczne

Kryptografia dla poczty i danych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 1

O całkiem niezłej prywatności WIADOMOŚCI

Bezpieczeństwo systemów komputerowych.

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Bezpieczeństwo systemów informatycznych

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Szyfrowanie danych w SZBD

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Laboratorium nr 2 Szyfrowanie, podpis elektroniczny i certyfikaty

Podpis elektroniczny

INSTRUKCJA INSTALACJI I OBSŁUGI GPG4Win

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Technologia Internetowa w organizacji giełdy przemysłowej

Tworzenie certyfikatów OpenPGP/GnuPG w programie Kleopatra (element pakietu Gpg4win)

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Spis treści. Przedmowa... 9

Szyfrowanie RSA (Podróż do krainy kryptografii)

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Nowe narzędzia ICT. Do czego więc można wykorzystać ową kryptografię?

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Technologie cyfrowe semestr letni 2018/2019

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

PGP - Pretty Good Privacy. Użycie certyfikatów niekwalifikowanych w programie PGP

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Marcin Szeliga Dane

BEZPIECZEŃSTWO DANYCH. PRAKTYCZNA OCHRONA INFORMACJI DLA PRAWNIKÓW I KANCELARII.

Podstawy Secure Sockets Layer

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Algorytmy asymetryczne

GNU Privacy Guard - instrukcja

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Strategia gospodarki elektronicznej

PODRĘCZNIK UŻYTKOWNIKA PROGRAMU LBD <-> TBD

Warsztaty z Sieci komputerowych Lista 7

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Opis efektów kształcenia dla modułu zajęć

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Konfiguracja klienta Lotus Notes R6 z certyfikatami i kluczami na karcie kryptograficznej lub w pliku.

Portal SRG BFG Instrukcja korzystania z Portalu SRG BFG

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

ĄĄ

"Klasyczna" struktura systemu operacyjnego:

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Instrukcja sprawdzani, podpisywani i szyfrowania plików do systemu CerBeR

Bezpieczeństwo kart elektronicznych

Ł ś ś ń ń ś

Korzystanie z programu Gnu Privacy Guard

Bezpieczeństwo usług oraz informacje o certyfikatach

Seminarium Ochrony Danych

Bezpieczne sieci TCP/IP

Protokoły zdalnego logowania Telnet i SSH

Kryptografia szyfrowanie i zabezpieczanie danych

Bezpieczeństwo systemów informatycznych

Wykorzystanie protokołu T=CL w systemach kontroli dostępu

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

Ę ź Ż Ę ź ć ź ć Ą ć ć ć ć ć ż ź

ż ć ż ż Ż ą Ż ą ą ą ą ń ą Ż ą ą ń ą ą ą Ż ą ć ą Ś Ż ą Ę ą ń ż ż ń ą ą ą ą Ż

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Bezpieczeństwo systemów komputerowych

Transkrypt:

GnuPG. Opis rozwiązania i zastosowanie. Bezpiecze ństwo systemów komputerowych. Temat seminarium: GnuPG. Opis rozwi zania i ą zastosowanie Autor: Tomasz Pawlak GnuPG. Opis rozwiązania i zastosowanie. 1

Plan prezentacji 1. Historia i krótki opis programu 2. Opis rozwiązania i algorytmy 3. Zastosowanie i przykłady zastosowania 4. Integracja GnuPG z klientem poczty 5. Podsumowanie 6. Bibliografia 2

GNU Privacy Guard (GnuPG) jest narzędziem służącym do zabezpieczenia komunikacji oraz przechowywanych danych. Jest odpowiednikiem programu PGP. Może być używany do szyfrowania danych oraz tworzenia podpisów cyfrowych. GPG jest kompatybilny z Internetowym standardem OpenPGP opisanym w RFC2440. 3

Twórc ą PGP jest Philip Zimmerman. Stworzył on PGP w Stanach Zjednoczonych Ameryki w 1991r. Wersja 1.0.0 GnuPG pojawiła si ę 7 września 1999. GnuPG w najnowszej wersji (1.2.4)mo na ż pobrać z serwera ftp://ftp.gnu.org/gccrypt oraz strony producenta http://www.gnupg.org. 4

GnuPG jest darmowym programem na licencji GNU. W odróżnieniu do PGP, nie korzysta on z opatentowanego algorytmu IDEA. Domyślnymi algorytmami wykorzystywanymi przez GnuPG s ą DSA i ElGamal. Ponadto program wspiera algorytmy: AES, 3DES, Blowfish, CAST5, Twofish oraz szyfry MD5, RIPEMD/160, SHA-1, SHA-256, SHA-384 i SHA-512. Dostępny jest równie ż algorytm kompresji ZIP. 5

Celem przedsięwzi ęcia jest zapewnienie Europejczykom wiarygodnego i nie zawodnego sposobu ochrony swoich cyfrowych danych. Badania i rozwój GnuPG jest finansowany ze środków Niemieckiego Ministerstwa Finansów i Technologii. Docelowo GnuPG ma być ma być dostępny w tylko w wersji odpłatnej. 6

Jak do tej pory GnuPG został przetłumaczony jak do tej pory na 27 języków, między innymi na Polski: American English Bela-Russian (be) Catalan (ca) Czech (cs) Danish (da)[*] Dutch (nl)[*] Esperanto (eo)[*] Estonian (et) Finnish (fi)[*] French (fr) Galician (gl) German (de) Greek (el) Hungarian (hu) Indonesian (id) Italian (it) Japanese (ja) Polish (pl)[*] Brazilian Portuguese (pt_br)[*] Portuguese (pt)[*] Romanian (ro) Russian (ru) Slovak (sk) Spanish (es) Swedish (sv)[*] Traditional Chinese (zh_tw)[*] Turkish (tr) *Nie wszystkie komunikaty s ą wyświetlane w danym języku 7

GnuPG jest dostępny na wiele platform systemowych i sprzętowych: GNU/Linux (x86, alpha, mips, sparc64, m68k, powerpc) FreeBSD (x86) NetBSD OpenBSD Windows 95/98/NT/2000/Me/XP (x86) PocketPC MacOs Oraz AIX v4.3, BSDI v4.0.1 with i386, HPUX v9.x, v10.x and v11.0 with HPPA CPU, IRIX v6.3 with MIPS R10000 CPU, MP-RAS v3.02, OSF1 V4.0 with Alpha CPU, OS/2 version 2, SCO UnixWare/7.1.0, SunOS, Solaris on Sparc and x86, USL Unixware v1.1.2 8

Zagrożenia dla informacji w sieci telekomunikacyjnej 9

Kryptografia symetryczna to taki rodzaj szyfrowania, w którym tekst jawny ulega przekształceniu na tekst zaszyfrowany za pomoc ą pewnego klucza, natomiast do odszyfrowania jest niezb ędna znajomo ść tego samego klucza oraz algorytmu zastosowanego do szyfrowania. Operacje szyfrowania i deszyfrowania s ą takie same. Bezpiecze ństwo zależ y od tajnoś ci klucz. Kryptografia asymetryczna jest to taki rodzaj szyfrowania, w którym wiadomo ść jest szyfrowana przy pomocy klucza publicznego, a deszyfracja kryptogramu może nastąpić tylko z użyciem klucza prywatnego. Szyfrowanie i deszyfrowanie s ą operacjami odwrotnymi. Bezpiecze ństwo zależy tylko od tajnoś ci klucza prywatnego. W obu przypadkach jawno ść algorytmu szyfrowania nie obni ża poziomu bezpiecze ństwa, wręcz przeciwnie nawet go podnosi. 10

Algorytm asymetryczny 11

Algorytm asymetryczny na przykładzie RAS (1) W algorytmie RAS ciąg bitów podawanych na wej ście przekształcenia szyfruj ącego traktowany jest jako duża liczba 100 całkowita, rzędu 10. Rol ę klucza prywatnego pełni trójka dużych liczb całkowitych SK=(d,p,q), rol ę klucza publicznego para liczb PK=(e,N). Liczby p i q s ą dużymi liczbami pierwszymi. Liczba N jest iloczynem liczb p i q, N = p*q. Liczby e i d związane s ą zależno ści ą: e*d = 1 mod ((p-1)(q- 1)). Algorytm jest przeznaczony do szyfrowania i odszyfrowania n- bitowych bloków danych, gdzie n oznacza długo ść liczby N. Blok zaszyfrowany ma tak ą sam ą długo ść jak blok wej ściowy, tzn. n bitów. Przyjęta obecnie za bezpieczn ą i powszechnie używana warto ś ć parametru n wynosi 1024 bity. 12

Algorytm asymetryczny na przykładzie RAS (2) Przekształcenia szyfrujące jest proste obliczeniowo i polega na podniesieniu liczby reprezentuj ącej wiadomość M do potęgi e określonej przez klucz publiczny, modulo liczba N stanowi ąca drugi element klucza publicznego. Wykonanie przekształcenia odwrotnego, tzn. odtworzenie wiadomo ści M na podstawie znajomości szyfrogramu C i klucza publicznego PK = (e,n), bez znajomości klucza prywatnego SK = (d,p,q), wydaje si ę być obliczeniowo niemożliwe przy aktualnym stanie techniki obliczeniowej. 13

Algorytm asymetryczny na przykładzie RAS (3) Złamanie algorytmu polegaj ące na odtworzeniu klucza prywatnego na podstawie znajomo ści odpowiadaj ącego mu klucza publicznego sprowadza si ę we wszystkich znanych atakach do rozkładu liczby N na czynniki pierwsze p i q. Problem ten jest trudny obliczeniowo i dla używanych obecnie 300 wielko ści liczby N (ok. 10 ) wydaje si ę być niewykonalny m. W kwietniu tego roku udało si ę złamać 576-bitowy szyfr RAS- 576. Trwało to 3 miesi ące i wykorzystano do tego sieć złożon ą ze 100 komputerów. RAS-576 rekomendowany jest do zabezpieczania transakcji internetowych oraz komunikacji bezprzewodowej. Obecnie próbom poddawany jest szyfr RAS-640. 14

Algorytm asymetryczny na przykładzie RAS (4) Rodzaj i koszt komputera zastosowanego do "złamania" klucz Czas potrzebny do rozszyfrowania klucza o długości: 100 bitów 500 bitów 1.000 bitów Komputer PC z procesorem Pentium P90 i 16MB pamięci operacyjnej 60 dni 105 lat??? Najnowocześniejszy komputer wieloprocesorowy dostępny w handlu 3 dni 6 000 lat 1011 lat Specjalny superkomputer wykonywany na indywidualne zamówienie, np. agencji 10 h 500 lat 108 lat Superkomputer z rozbudowanym systemem procesorowym (jak na przykład BigBlue) 60 min. 6 lat 6 000 000 lat Tabela przedstawia czas potrzebny do rozszyfrowania różnych kluczy na różnych komputerach. Dane z 1998 roku. 15

Weryfikacja pakietu instalacyjnego gpg --verify gnupg-w32cli-1.2.4.zip.sig gnupg-w32cli-1.2.4.zip gpg: Signature made 12/23/03 22:17:34 using DSA key ID 57548DCD gpg: Good signature from "Werner Koch (gnupg sig) <dd9jn@gnu.org>" md5sum gnupg-w32cli-1.2.4.zip bb568fe26abbe045d91f95ae0324eab2 gnupg-w32cli-1.2.4.zip Tworzenie i usuwanie klucza Utworzenie klucza publicznego i prywatnego: gpg --gen-key Usuni cie klucza z systemu: ę gpg --delete-key KEY_ID gpg --delete-secret-and-public-key KEY_ID 16

Eksport kluczy do pliku Eksport klucza publicznego do pliku binarnego: gpg -o mypub.key --export KEY_ID Eksport klucza do pliku w formacie ASCII: gpg -a -o mypub.key --export KEY_ID gpg -a -o mysec.key --export-secret-key KEY_ID gpg --import JanKowalski.key Import klucza z pliku gpg: keyring `c:\gnupg\secring.gpg' created gpg: keyring `c:\gnupg\pubring.gpg' created gpg: c:\gnupg\trustdb.gpg: trustdb created gpg: key 1FBF3AB1: public key Jan Kowalski (Opis) <kowalski@mail.com>" imported gpg: Total number processed: 1 gpg: imported: 1 17

Serwer kluczy publicznych Przeszukanie serwera w poszukiwaniu klucza: gpg --keyserver subkeys.pgp.net --search-keys KLUCZ Pobranie klucza z serwera kluczy: gpg --keyserver subkeys.pgp.net --recv-keys KLUCZ Wysłanie klucza publicznego na serwer: gpg --keyserver subkeys.pgp.net --send-keys KLUCZ Uwierzytelnienie klucza publicznego Podpisanie obcego klucza publicznego swoim kluczem prywatnym: gpg --sign-key KLUCZ_PUB Wyświetlenie listy kluczy wraz z list ą uwierzytelnie ń: gpg --check-sigs c:/gnupg\pubring.gpg -------------------- pub 1024D/57548DCD 1998-07-07 Werner Koch (gnupg sig) <dd9jn@gnu.org> sig!3 57548DCD 2003-12-24 Werner Koch (gnupg sig) <dd9jn@gnu.org> sig!2 1EFF3AB1 2004-05-04 Tomasz Pawlak (Pila, Poland) <zdzs@poczta.fm> 18

Uwierzytelnienie obcego klucza publicznego pub 1024D/428FFE34 created: 2004-05-05 expires: never sub 1024g/007BA997 created: 2004-05-05 expires: never (1). Kowalski (Opis) <kowalski@mail.com> trust: -/q pub 1024D/428FFE34 created: 2004-05-05 expires: never trust: -/q Primary key fingerprint: 6AA6 E98C E289 E0E4 58BE 319C 520E CF92 428F FE34 Kowalski (Opis) <kowalski@mail.com> How carefully have you verified the key you are about to sign actually belongs to the person named above? If you don't know what to answer, enter "0". (0) I will not answer. (default) (1) I have not checked at all. (2) I have done casual checking. (3) I have done very careful checking. Your selection? (enter '?' for more information): 3 Are you really sure that you want to sign this key with your key: " Balcerek () <balcerek@yahoo.com> (7BCC6A1B) I have not checked this key at all. Really sign? yes You need a passphrase to unlock the secret key for user: " Balcerek () <balcerek@yahoo.com> 1024-bit DSA key, ID 7BCC6A1B, created 2004-05-05 19

Szyfrowanie wiadomości Szyfruje wiadomo ść do pliku binarnego FILE.gpg: gpg r KLUCZ_PUB e FILE Szyfruje wiadomo ść do pliku ASCII FILE.asc: gpg a r KLUCZ_PUB e FILE Szyfruje wiadomo ść do pliku ASCII output.file: gpg a o output.file r KLUCZ_PUB e FILE Szyfruje wiadomo ść z użyciem algorytmu symetrycznego ALGO: gpg --cipher-algo ALGO -c FILE Wyświetla informacje o programie m.in. wspierane algorytmy: gpg --version Deszyfrowanie wiadomości Deszyfruje zakodowany plik CoDeDFiLe, wynik umieszcza w file.txt: gpg o file.txt --decrypt CoDeDFiLe 20

Podpisywanie plików Podpisanie pliku FILE swoim kluczem prywatnym: gpg s FILE Jak wyżej, wynik zapisany do pliku ASCII FILE.asc: gpg a s FILE Podpisany plik FILE zostanie zapisany w formacie ASCII do pliku output: gpg a o output s FILE Utworzenie oddzielnego podpisu do pliku FILE w pliku FILE.sig: gpg b FILE Weryfikacja podpisu Weryfikacja pliku z dołączonym podpisem: gpg --verify FILE Weryfikacja pliku podpisanego w osobnym pliku: gpg --verify plik.zip.sig plik.zip gpg: Signature made 05/05/04 08:44:52 using DSA key IDF3A149771 gpg: Good signature from Kowalski <kowalski@wp.pl>" gpg: checking the trustdb gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1 21

Zarządzanie kluczami Wyświetlenie wszystkich kluczy w systemie: gpg --list-keys Wyświetlenie kluczy do których zostanie dopasowana wartoś ć KLUCZ: gpg --list-keys KLUCZ Wyświetlenie listy kluczy publicznych: gpg --list-public-keys Wyświetlenie listy kluczy prywatnych: gpg --list-secret-keys Wyświetlenie listy kluczy prywatnych wraz ze wszystkimi podpisami: gpg --list-sigs Wyświetlenie listy kluczy wraz z ich odciskiem palca: gpg --fingerprint Uruchomienie konsoli umożliwiaj ącej operacje na KLUCZ u: gpg --edit-key KLUCZ 22

Integracja GnuPG z klientem poczty Enigmail Aby umożliwić szyfrowanie poczty w programie Enigmail należy zainstalować ze strony http://enigmail.mozdev. org/download.html odpowiedni ą wersje wtyczki. W menu Preferencje->Prywatno ść i zabezpieczenia- >Enigmail należy podać scieżke do pliku wykonywalnego GnuPG. 23

Wysłanie zakodowanej wiadomości 24

Odebranie zakodowanej wiadomo ści 25

Deszyfrowanie zakodowanej wiadomości 26

Szyfrowanie wiadomo ści i załącznika 27

Odczytanie wiadomo ci zakodowanej w formacie ś PGP/MIME 28

Podsumowanie: GnuPG jest bardzo dobrym programem do szyfrowania danych które s ą przesyłane przez sieć lub magazynowane na nośniku. Możliwości które oferuje s ą w stanie dostarczyć wiarygodnego poziomu bezpieczeństwa. GnuPG jest obsługiwany przez wiele klientów poczty elektronicznej, przez co staje si ę on łatwiejszy w użyciu 29

Bibliografia 5. http://www.gnupg.org/ 6. http://www.pgpi.org/ 7. http://www.enigma.com.pl/publikacje/elementarz.zip 8. http://mozillapl.org/ 9. http://enigmail.mozdev.org/ 10. http://drfugazi.eu.org 11. http://www.philzimmerman.com/en/background/index.html 12. http://www.gnupg.de/presse.en.html 13. Podręcznik Systemowy MAN 23