Perceptus IT Security Academy Bartosz Witkowski
Podstawy infrastruktury PKI
Agenda Podstawy infrastruktury PKI 1 2 3 4 5 17.00 17.30 18.00 18.15 19.30 Podstawy kryptografii Symetryczna i asymetryczna, szyfrowanie, funkcje skrótu, algorytmy i ich parametry Infrastruktura PKI Certyfikaty, budowa centrum certyfikacji, podpis elektroniczny i jego weryfikacja Przerwa Rozejście się po salach ćwiczeniowych Warsztaty praktyczne Praktyczne uwagi z wdrażania PKI, rozpoznanie przykładowych narzędzi, stosowanie PKI w biurowych pakietach. Podsumowanie Podsumowanie zagadnień, omówienie zadań na nadchodzący miesiąc
Rozwijamy infrastrukturę techniczną i zapewniamy stały dostęp do najnowocześniejszych rozwiązań. Koordynujemy proces przygotowania i wdrożenia rozwiązań dopasowując nasze rozwiązania do wymagań finansowych i organizacyjnych naszych klientów. Zapewniamy wysoki poziom świadczonych usług integratorskich. O firmie Specjalizujemy się w obszarze projektowania i wdrażania systemów bezpieczeństwa oraz przetwarzania danych dla sektora bankowego, firm ubezpieczeniowych, jednostek samorządu terytorialnego, resortu sprawiedliwości i rynku przetwarzania danych medycznych w formie cyfrowej. 4
PERCEPTUS Meet The Team dr. inż. Remigiusz Wiśniewski Opiekun Akademii na uczelni UZ/PERCEPTUS Bartosz Witkowski Bezpieczeństwo PKI Jacek Starościc Organizator Akademii z ramienia PERCEPTUS UZ Przemysław Sobczyk Ambasador Akademii wśród studentów PERCEPTUS 5
WPROWADZENIE
4000 lat temu 2000 lat temu Historia Analiza częstotliwości Niektóre litery są częstsze niż inne. W języku angielskim, litery E, T, A, O, N, S, R są najczęstsze. Liczenie najczęściej zaszyfrowanych znaków i mapowanie ich do statystyki alfabetu. To łamie szyfr Cezara. XVII i XIX Niemiecka Engima: zlamana przez Marian Rejewskiego i Alana Turinga Japońska Purple machine: złamana przez Amerykanów Pierwsze wzmianki o szyfrowaniu Szyfr Cezara To jest prosty szyfr zamienny gdzie każda litera jest zastępowana inną: Ulepszenia ~XVI w ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ DEFGHIJKLMNOPQRSTUVWXYZÅÄÖABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖABC Maszyny szyfrujące Zwiększenie wykorzystania szyfrów powodowały zwłaszcza potrzeby dyplomacji jak i wojny na przestrzeni wieków WW II 7
Historia RSA Algorytm RSA opublikowano w 1978 (Ron Rivest, Shamir, Adleman) AES Advanced Encryption Standard (AES) zamiennik DES w 2001 1976 1980-90 Update 1978 2001 2016 Public key cryptography została opisana przez Whitfield Diffie i Martina Hellman ECC Kryptografia oparta o krzywe eliptyczne (ECC) rozwijana w latach 1980-1990 8
1 2 Szyfrowanie klucz wiadomość szyfrogram 1 2 klucz szyfrogram wiadomość 9
Szyfrowanie szyfrowanie/deszyfrowanie - algorytm - klucz Algorytm Zazwyczaj algorytm jest jawny i poddawany analizie. Odszyfrowanie jest lustrzanym procesem szyfrowania Klucz symetryczny Klucz musi być utajniony! Bardzo wydajny, używany do masowego kodowania. 10
Szyfrowanie symetryczne 3 1 2 Algorytmy Przykłady: DES, 3-DES, RC2, RC4, IDEA, SAFER, FEAL, Skipjack, Blowfish, AES (Rijndael) etc.. Używają stałej wielkości klucza: DES: 56 bit, RC2/RC4: 128 bit.. Bezpieczeństwo Mogą być złamane metodą brute force polegającą na próbie testowania wszystkich możliwych kluczy, lub w różne krypto-analizy. 70 bitowy klucz : 1180591620717411303424 traktowany jest za bezpieczny. Zalety Często bardzo szybki i łatwy do zaimplementowania w sprzęcie i oprogramowaniu Wysoka wydajność! Wady Wrażliwa dystrybucja klucza! Szczególnie gdy klucz musi być bezpiecznie rozdystrybuowany do n użytkowników. Złożoność n!. 11
Szyfrowanie asymetryczne 1 2 klucz wiadomość szyfrogram 1 2 klucz szyfrogram wiadomość 12
Szyfrowanie asymetryczne Algorytmy Przykłady: najczęściej RSA, ale znane: Diffie-Hellmana, ElGamal, Rabina, ECC 3 1 2 Bezpieczeństwo Koncepcja pary kluczy: Różne klucze do szyfrowania i odkodowania Główny cel: Rozwiązać problem dystrybucji klucza Zalety Dystrybucja kluczy nie jest tajna! Możliwość niezaprzeczalności! 2n klucze asymetryczne muszą być rozłożone w społeczności n ludzi Wady Niska wydajność! DES jest 100 razy szybszy niż RSA w oprogramowaniu i 1000 razy szybszy w sprzęcie. 13
Asymetryczna para kluczy Key Pair Bezpieczeństwo Dystrybucja Szyfrowanie Każdy użytkownik ma unikalną parę, prywatny i publiczny. klucz prywatny powinien być dostępny jedynie dla właściciela. klucz publiczny dostępny dla wszystkich Klucz publiczny zamierzonego odbiorcy jest używany do szyfrowania 14
Tajny Ochrona kluczy Ogólnie dostępne Jedna kopia Autentyczne Ściśle chronione Certyfikaty PRYWATNE PUBLICZNE 15
Funkcje Przykłady funkcji skrótu SHA-1, SHA- 256, MD2, MD5, RIPEMD etc Funkcje skrótu Odcisk Funkcje skrótu są wykorzystywane do tworzenia "odcisku palca" w dokumencie danych, gdzie nawet najmniejsza zmiana w dokumencie wywołuje zupełnie inny "odcisk palca Podpisy Funkcje skrótu są wykorzystywane podczas tworzenia podpisów cyfrowych. Jednokierunkowe Funkcje skrótu są funkcjami jednokierunkowymi 16
Budowa certyfikatu i powiązanie z kluczami 1 2 Po co certyfikat Po codla klucza publicznego certyfikat? Przykład maskowanego ataku : Klucze Haker tworzy parę kluczy RSA 4 3 Wniosek do banku Wysyła klucz publiczny do banku i twierdzi, że jest bogatym klientem Wydanie poufnych danych Bank szyfruje kody do konta klienta z kluczem publicznym i wysyła wynik do hakera Po ataku Haker odszyfrowuje kody i może opróżnić konto Skąd mam wiedzieć, że klucz publiczny należy do właściwej osoby??!! Oto jest pytanie. 17
Cyfrowy certyfikat jest znormalizowanym sposobem aby powiązać klucz publiczny do tożsamości Cyfrowy certyfikat Wystawca gwarantuje treść certyfikatu i blokuje certyfikat przed jego manipulacją Pojęcie certyfikatu cyfrowego po raz pierwszy opisane zostało przez Loren Kohnfeldera w jego pracy licencjackiej w MIT w 1978 roku Wystawca wiąże tożsamości do klucza publicznego przez zastosowanie podpisu cyfrowego Certyfikat jest wystawiany przez urząd certyfikacji (CA) Certyfikat jest publiczny i nie zawiera tajnych informacji 18
Przez zastosowanie klucza publicznego wystawcy podpisu, certyfikat może zostać zweryfikowany. Zaufane certyfikaty Klucze wystawców muszą być szczególnie bezpiecznie przechowywane. Jeżeli emitentem jest podrzędny urząd certyfikacji to jego świadectwo ma być weryfikowane. (i tak dalej, aż do osiągnięcia zaufanego Root CA) Po sprawdzeniu podpisu certyfikatu, klucz publiczny może być używany do weryfikacji uwierzytelniania lub podpisu cyfrowego Udana procedura uwierzytelniania lub weryfikacji podpisu cyfrowego oznacza, że prawdziwy nadawca jest zweryfikowany 19
Certyfikaty X.509 Format Certyfikat X.509 jest dokumentem elektronicznym o specyficznym układzie zwanym ASN.1 Standard ISO ITU-T stworzyli standard certyfikatu X.509 w ramach frameworku X.500 Wersje Specyfikacja certyfikatu X.509 została wydana w trzech wersjach: V1, V2 i V3. Do dziś głównie wykorzystywana jest Wersja 3. Zawartość Specyfikacja X.509 opisuje certyfikat klucza publicznego, a także jego atrybuty Budowa Najważniejsze dane 20
Certyfikaty X.509 Certificate ::= SIGNED { SEQUENCE { version [0] Version DEFAULT v1, serialnumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectpublickeyinfo SubjectPublicKeyInfo, issueruniqueidentifier [1]IMPLICIT UniqueIdentifierOPTIONAL, -- if present, version must be v2 or v3 subjectuniqueidentifier [2] IMPLICIT UniqueIdentifier OPTIONAL -- if present, version must be v2 or v3 extensions [3] Extensions OPTIONAL -- If present, version must be v3 -- } } 21
Root CA Sub CA CA level3 Łańcuch certyfikatów User Cert Na początku łańcucha, zawsze jest certyfikat CA samo podpisany główny CA Opcjonalnie, urząd certyfikacji może podpisać subordinary CA (pośrednie CA). Sub CA może podpisać kolejny certyfikat SubCA itp. Certyfikat końcowego użytkownika może być wydany przez administratora danego SubCA Certyfikat końcowego użytkownika jest weryfikowany za pomocą klucza publicznego z certyfikatu CA Certyfikaty CA mogą być wbudowane w oprogramowanie (np. Microsoft IE, Netscape Communicator). Istnieją różne repozytoria zaufanych CA. 22
Nadrzędny certyfikat Weryfikacja certyfikatu Podpis elektroniczny Data ważności Certyfikat jest weryfikowany jak zwykły podpisany dokument Jeśli sprawdzenie podpisu jest OK, to weryfikowane są pozostałe pola w certyfikacie, w tym informacja o tożsamości właściciela klucza publicznego Listę zaufanych wystawców Zastosowanie certyfikatu Ponieważ certyfikat nie jest wrażliwy, to może być wysłany wraz z danymi (na przykład podpisem cyfrowym), a odbiorca nie musi mieć listy kluczy publicznych Odwołanie certyfikatu 23
Podstawowe usługi bezpieczeństwa Poufność Zachować to w tajemnicy! Stosować szyfrowanie P I Integralność danych Nie zmieniaj moich danych! Korzystaj z podpisów cyfrowych Uwierzytelnianie Udowodnić, kim jesteś! Korzystać z podpisów cyfrowych A N Niezaprzeczalność Dotrzymuj swoich obietnic! Korzystaj z podpisów cyfrowych 24
Autoryzacja VS Uwierzytelnianie Autoryzacja Weryfikacja że dany podmiot ma prawo do korzystania z danych zasobów. Najczęściej jest to weryfikacja uprawnień w systemie, lub wygaszanie się kodem SMS, lub innymi narzędziami autoryzacji w tym PKI Uwierzytelnianie Udowodnienie tożsamości np. przez sprawdzenie że masz prawa do korzystania z jakiegoś narzędzia autoryzacji. Nie ma AUTENTYKACJI!! 25
Uwierzytelnianie Alg. asymetryczne Uwierzytelnianie w algorytmy asymetryczne jest najbardziej bezpieczne Metoda tradycyjna ID użytkownika / hasła (uwierzytelnianie słabe) Silne uwierzytelnianie każde uwierzytelnianie jest niepowtarzalne i nie może być odtwarzalne Skala Uwierzytelnianie można zrobić na krótkich dystansach (w komputerze) lub na dużych w sieci (Internet) 26
Prosty przykład uwierzytelniania Losowa liczba Użytkownik Podpis Podpisana liczba losowa Weryfikacja =? Serwer 27
Szyfrowanie danych Sesje Symetryczny "klucz sesji" jest rozprowadzany z szyfrowania asymetrycznego Nowoczesne szyfrowanie Nowoczesne szyfrowanie danych jest połączeniem kodowania symetrycznego lub niesymetrycznego online / off-line Używane "on-line", gdzie dwie strony wymieniają informacje komunikacji Używane "off-line", gdzie zaszyfrowana wiadomość (jak e-mail) jest wysyłany z jednej strony do drugiej Strumienie Algorytmy szyfrowania symetryczne są wykorzystywane do szyfrowania danych rzeczywistych ze względu na wysoką prędkość 28
Wiadomość Dane wejściowe to jawna wiadomość cyfrowa Przykład: Szyfrowanie Szyfrowanie Wiadomość jest szyfrowana kluczem symetrycznym sesji Losowa liczba W ramach sesji generowana jest losowa liczba Klucz sesyjny Na bazie losowej liczby generowany jest klucz sesyjny Kodowanie klucza Klucz sesyjny kodowany jest za pomocą klucza publicznego odbiorcy Przekazanie bezpiecznego klucza Klucz sesji przekazany w bezpieczny sposób do odbiorcy 29
Przykład: Rozszyfrowanie Wiadomość W postaci jawnej Odkodowanie klucza Klucz sesyjny odkodowany jest za pomocą klucza prywatnego odbiorcy Klucz sesyjny Odkodowany jest klucz sesyjny Rozszyfrowanie Wiadomość jest rozszyfrowana kluczem symetrycznym sesji 30
Uwierzytelnianie Podpis cyfrowy Podpis cyfrowy Podpis cyfrowy może być wykorzystywany do wielu różnych usług Integralność Niezaprzeczalność PODPIS Uwierzytelnia tożsamość zleceniodawcy. Dokument nie może być zmieniony (integralność) Pomysłodawca nie może zaprzeczyć, wysyłając dokument (niezaprzeczalności) 31
Mechanizmy cyfrowego podpisu Hash Każdy istniejący dokument ma w rzeczywistości unikatowy odcisk palca (jest więcej różnych "odcisków palców" niż węgla w ziemi!) Mechanizm Podpis Hash-algorytmy są wykorzystywane do tworzenia "odcisku palca" w dokumencie, gdzie nawet najmniejsza zmiana w dokumencie wywołuje zupełnie inny "odcisk palca Unikalność Podpis cyfrowy dokumentu jest obliczany poprzez szyfrowanie "odcisk palca" dokumentu z asymetrycznym kluczem prywatnym LOGO www.perceptus.pl www.yourwebsite.com akademia.perceptus.pl solution powerpoint 32 32
Wiadomość Dane wejściowe to jawna wiadomość cyfrowa Przykład: Podpis Elektroniczny Podpisany dokument Podpis i oryginalny dokument Skrót Wykonywana jest na dokumencie funkcja skrótu Szyfrowanie skrótu Skrót dokumentu poddawany jest szyfrowaniu kluczem prywatnym podpisującego 33
Przykład: Weryfikacja podpisu Skrót Wykonywana jest na dokumencie funkcja skrótu Podpisany dokument Podpis i oryginalny dokument Deszyfrowanie skrótu Zaszyfrowany skrót dokumentu poddawany jest deszyfracji kluczem publicznym 34
Pełna weryfikacja podpisu Weryfikacja kryptograficzna Cyfrowa weryfikacja mówiąca min.: kto podpisał i czy nie zmieniono dokumentu Weryfikacja certyfikatu Czyli weryfikacja czy jest ważny na moment złożenia podpisu, czy nie został odwołany zarówno podmiot jak i cała ścieżka wystawców Weryfikacja czasu podpisania Ustalenie jaka jest data podpisu + ewentualne sprawdzenie ważności znacznika czasu 35
Budowa klasycznego CA CM Główna fabryka certyfikatów: CRL, OCSP, PG, REPOZYTORIUM, HSM, moduł publikacji KGS Moduł personalizacji kart, drukowanie PINów, graficzna personalizacja RA Rejestracja użytkowników i urządzeń CC Zarządzanie stanem certyfikatów. Funkcje helpdesk 36
Podpis nigdy nie powinny być wykorzystywane do czegokolwiek innego PIN podawany za każdym razem Ile potrzeba kluczy Uwierzytelnianie mogą być stosowane często bez nowego kodu PIN Szyfrowanie może być wymagana kopia zapasowa 37
Ile potrzeba kluczy 38
CRL - Certificate Revocation List Zdefiniowano ISO/OSI X.509 IETF PKIX CRL profile opisany: RFC 2459 i RFC 3280 Zapisana jako ASN.1 lista numerów seryjnych wszystkich odwołanych certyfikatów Podpisane przez emitenta CRL Opublikowano w regularnych odstępach czasu Każdy CRL określa, kiedy należy oczekiwać kolejnego CRL Publicznie dostępne do pobrania 39
CRL - Certificate Revocation List 40
Zawieszenie certyfikatu Przyczyny Pracownik opuszcza tymczasowo biuro Rola nie jest ważna przez ograniczony czas Użytkownik końcowy kontaktuje się help deskiem, aby wyłączyć certyfikat. 41
Protokół z prośbą emitenta o aktualnym stanie certyfikatu OCSP Możliwe są instancje proxy OCSP Zdefiniowane w IETF PKIX in RFC 2560 Obsługuje różne protokoły komunikacyjne, z których głównie stosowanym jest HTTP Format ASN.1 dla OCSPRequest i OCSPResponse Przydatne dla aplikacji klienckich (Podpisana) odpowiedz : good, revoked or unknown Najszybsza weryfikacja, ale nie każde CA oferuje 42
Coffe Break