13.05.2008. Gerard Frankowski, Błażej Miga Zespół Bezpieczeństwa PCSS. Konferencja SECURE 2008 Warszawa, 2-3.10.2008



Podobne dokumenty
Infrastruktura klucza publicznego w sieci PIONIER

Wdrożenie infrastruktury klucza publicznego (PKI) dla użytkowników sieci PIONIER

Tomasz Nowocień, Zespół. Bezpieczeństwa PCSS

Authenticated Encryption

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

POLITYKA CERTYFIKACJI KIR dla ZAUFANYCH CERTYFIKATÓW NIEKWALIFIKOWANYCH

WSIZ Copernicus we Wrocławiu

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

Zastosowania informatyki w gospodarce Wykład 5

Zabezpieczanie platformy Windows Server 2003

Zespół Bezpieczeństwa PCSS. 36. Spotkanie Poznańskiej Grupy.NET

Bezpieczna poczta i PGP

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Nowy klucz jest jedynie tak bezpieczny jak klucz stary. Bezpieczeństwo systemów komputerowych

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

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

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

SSL (Secure Socket Layer)

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

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

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

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Program szkolenia: Bezpieczny kod - podstawy

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

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

Polityka Certyfikacji dla Certyfikatów PEMI

Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509

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

ZagroŜenia w sieci. Tomasz Nowocień, PCSS

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

Zabezpieczenia serwerów internetowych. Jakub Tomaszewski Zespół Bezpieczeństwa Poznańskie Centrum Superkomputerowo Sieciowe

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Podstawy Secure Sockets Layer

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

Bezpieczeństwo informacji w systemach komputerowych

Zastosowania PKI dla wirtualnych sieci prywatnych

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

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

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

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

WorkshopIT Komputer narzędziem w rękach prawnika

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

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Sieci VPN SSL czy IPSec?

Zarys algorytmów kryptograficznych

F8WEB CC Polityka Lokalnego Centrum Certyfikacji LCC

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Bezpieczeństwo korespondencji elektronicznej

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych. w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Przewodnik użytkownika

WHEEL LYNX SSL/TLS DECRYPTOR. najszybszy deszyfrator ruchu SSL/TLS

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Algorytmy asymetryczne

Parametry systemów klucza publicznego

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Szczegółowy opis przedmiotu zamówienia:

Bringing privacy back

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

# katalog, w który zapisywane są certyfikaty crl_dir=$dir/crl

Bezpieczeństwo usług oraz informacje o certyfikatach

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

Zastosowania informatyki w gospodarce Wykład 8

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Protokół Kerberos BSK_2003. Copyright by K. Trybicka-Francik 1. Bezpieczeństwo systemów komputerowych. Złożone systemy kryptograficzne

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Bezpiecze ństwo systemów komputerowych.

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

Polityka Certyfikacji

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Polityka Certyfikacji Niekwalifikowanych Usług CERTUM Wersja 3.2 Data: 7 października 2011 Status: poprzedni

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

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

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

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

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

Bezpieczeństwo systemów komputerowych. Opis działania PGP. Poczta elektroniczna. System PGP (pretty good privacy) Sygnatura cyfrowa MD5

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

SET (Secure Electronic Transaction)

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

PKI NBP Polityka Certyfikacji dla certyfikatów ESCB Podpis. OID: wersja 1.5

Bezpieczna poczta i PGP

!!!!!! FUDO% Architektura%Bezpieczeństwa! % % Warszawa,%28:04:2014%

Bezpieczeństwo kart elektronicznych

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

PKI NBP Polityka Certyfikacji dla certyfikatów ESCB Logowanie. OID: wersja 1.7

Podpis cyfrowy a bezpieczeñstwo gospodarki elektronicznej

Ataki na algorytm RSA

ZABEZPIECZENIE KOMUNIKACJI Z SYSTEMEM E-PŁATNOŚCI

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

Usługi ze wsparciem Centrum Innowacji Microsoft. Jerzy Mikołajczak, Marek Zawadzki

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

Poznańskie Centrum Superkomputerowo - Sieciowe

Polityka Certyfikacji

Zdalne logowanie do serwerów

Transkrypt:

13.05.2008 Gerard Frankowski, Błażej Miga Zespół Bezpieczeństwa PCSS Konferencja SECURE 2008 Warszawa, 2-3.10.2008 1

Agenda Kim jesteśmy i co robimy? Wprowadzenie Szyfrowanie danych PKI, algorytm RSA, rola losowości Błąd z dn. 13.05.2008 Badania Metodyka Narzędzia Wyniki Podsumowanie, pytania, dyskusja 2

Kim jesteśmy i co robimy? 3

PCSS Poznańskie Centrum Superkomputerowo- Sieciowe Operator sieci PIONIER oraz POZMAN Uczestnik projektów naukowo-badawczych Główne obszary zainteresowań: Gridy,, sieci nowej generacji, portale Bezpieczeństwo sieci i systemów http://www www.pcss.plpl 4

Zespół Bezpieczeństwa PCSS Dedykowany zespół istnieje od 1996r. Podstawowy zakres prac Zespołu Zabezpieczanie infrastruktury PCSS Zadania bezpieczeństwa w projektach naukowo badawczych Szkolenia i transfer wiedzy Badania własne Audyty i doradztwo w zakresie bezpieczeństwa IT Wybrane badania z ostatnich lat Raport o bezpieczeństwie bankowości elektronicznej (2006) Bezpieczeństwo serwerów WWW Apache i MS IIS (2007) Bezpieczeństwo sklepów internetowych (2008) http://security security.psnc.plpl 5

Centrum Innowacji Microsoft Centrum bezpieczeństwa i usług outsourcingowych http://mic.psnc.pl Bezpieczeństwo w MIC 2006-2008: 2008: Szkolenia bezpieczeństwa Bezpieczeństwo IIS 7.0 Wewnętrzne i zewnętrzne audyty bezpieczeństwa Badania infrastruktury klucza publicznego 6

Wprowadzenie 7

Szyfrowanie danych Środek bezpieczeństwa liczący 2000 lat Algorytm a klucz Szyfrowanie niesymetryczne 2 komplementarne klucze: prywatny (tajny) oraz publiczny Dłuższe klucze, skomplikowane obliczenia Szyfrowanie symetryczne Ten sam (tajny) klucz do kodowania i dekodowania Szybsze (100-1000x) w działaniu, krótsze klucze 8

PKI i szyfrowanie PKI = Infrastruktura klucza publicznego Dwie fazy bezpiecznej transmisji I faza: szyfrowanie niesymetryczne Możliwość wykorzystania klucza jawnego do uwierzytelnienia Niewiele operacji = mała strata na wydajności Uzgodnienie parametrów dalszej transmisji II faza: szyfrowanie symetryczne Stosuje się klucze bezpiecznie wymienione w I fazie Szybsza komunikacja 9

Struktura PKI Centrum certyfikacyjne (CA) Centra nadrzędne i podrzędne Centrum rejestrujące (RA) Proces uzyskania certyfikatu Żądanie certyfikatu Uwierzytelnienie subskrybenta Wydanie certyfikatu zgodnie z polityką certyfikacji Unieważnianie certyfikatu Utrata, upłynięcie okresu ważności, inny błąd Listy CRL / OCSP 10

Klasy certyfikatów Klasa I poziom testowy Klasa II poczta, WWW, SSL/TLS Brak gwarancji jednoznacznego określenia tożsamości Weryfikacja adresu e-mail/nazwy podmiotu Klasa III poczta, część transakcji, usługi, podpisywanie kodu i obiektów, WTLS Nazwa subskrybenta jest prawie(nie całkowicie) pewna Klasa IV osoby i instytucje Certyfikaty kwalifikowane Wymagane osobiste stawiennictwo dla uwierzytelnienia Całkowita pewność poświadczenia tożsamości 11

PKI od wewnątrz Przykłady zastosowań Zabezpieczanie transmisji SSL/TLS Uwierzytelnianie użytkowników (certyfikaty, klucze SSH) Cyfrowe podpisywanie dokumentów lub kodu Znakowanie czasem Wykorzystywane algorytmy (przykłady) Symetryczne: 3DES, DESX, IDEA Niesymetryczne: RSA, El Gamal Funkcje haszujące / funkcje skrótu: MD5, SHA 12

Działanie PKI idea Root CA ROOT CA CA CA https://www.xyz.pl CA Org. CA Org. User Wydanie certyfikatu Pytanie o certyfikat CA 13

Uwierzytelnienie Działanie PKI (1) CA Bob A03F831... Bob Alice CA CA Bob + = A03F831B... CA A03F831B...+ = Bob Wydanie certyfikatu Pytanie o certyfikat 14

Działanie PKI (2) Zabezpieczenie danych A A Alice A03F831B... Bob B B B WIADOMOŚĆ + = A03F831B... B A03F831B... + = WIADOMOŚĆ 15

Podpis cyfrowy Działanie PKI (3) A A Alice WIADOMOŚĆ, A03F831B... Bob B B A HASH (WIADOMOŚĆ) + = A03F831B... HASH (WIADOMOŚĆ) = X A A03F831B...+ = X 16

RSA -teoria RSA R.Rivest, A.Shamir, L.Adleman(1978) Szyfr blokowy opierający się na mechanizmie faktoryzacji kilkusetcyfrowych liczb pierwszych Rozmiar klucza = długość iloczynu liczb Względnie zrozumiały i łatwy w implementacji Jak dotąd oparł się znanym próbom kryptoanalizy Uzyskanie odkodowanej wiadomości z szyfrogramu przy znajomości tylko jednego z kluczy jest równoważne faktoryzacji iloczynu wybranych liczb pierwszych 17

Szyfrowanie RSA p, q liczby pierwsze n moduł d eksponent tajny e eksponent jawny (65537) M i i-ty blok wiadomości C i i-ty blok szyfrogramu Losowo dobieramy: p oraz q n= p q e: NWD[e, (p-1) (q-1)] = 1 e d 1 mod[(p-1) (q-1)] p q p q Klucz jawny: { n, e} Klucz tajny: { n, d} C i = M ie (mod n) M i =C id (mod n) 18

Szyfrowanie RSA przykład (1) 1. Losujemy p, q 2. Wyznaczamy n 3. Poszukujemy e Praktyka: liczba Fermata Dla celów przykładu: 4. Wyznaczamy d Rozsz. algorytm Euklidesa 5. Budujemy klucze { 437, 31} { 437, 115} 19, 23 19 23 = 437 (19-1) (23-1) = 18 22 = 396 31 31 d 1 mod[(19-1) (23-1)] 31 d = 396 k + 1 (k całkowite) 115 9 C i = M i 31 (mod 437) M i =C i 115 (mod 437) 19

Szyfrowanie RSA przykład (2) Szyfrowanie Długość bloków < n (max. 2) Wiadomość: 13 05 08 C 1 = 13 31 (mod437) = 72 C 2 = 5 31 (mod437) = 264 C 3 = 8 31 (mod437) = 331 Deszyfrowanie: Szyfrogram: 72 264 331 M 1 = 72 115 (mod 437) = 13 M 2 = 264 115 (mod 437) = (0)5 M 3 = 331 115 (mod 437) = (0)8 NADAWCA: { 437, 31} Klucz publiczny odbiorcy ODBIORCA: {437, 115} Klucz prywatny odbiorcy 20

Możliwość ataka taku u na klucze RSA Przewidywalny generator liczb pseudolosowych umożliwia utworzenie listy wszystkich możliwych wartości poraz q (ejest znane) e d 1 mod[(p-1) (q-1)] Napastnik nie zna tylko wartości d, która: Przy założeniu znajomości pozostałych wielkości może być obliczona przy pomocy algorytmu Euklidesa Wraz ze znanym njest kluczem poszukiwanym kluczem prywatnym ofiary! 21

Na czym polegał błąd? OpenSSL >= 0.9.8c1 dla Linuksa Debian Powstanie błędu: 17.09.2006, publikacja: 13.05.2008 Analizator kodu wykrył błąd w funkcji ssleay_rand_bytes DeveloperzyDebianazakomentowali część funkcji, ale dodatkowo wyłączyli analogiczny fragment funkcji ssleay_rand_add ssleay_rand_addodświeża pulę losowych danych dla generacji liczb pseudolosowych Wartośćpoczątkowa uzależniona już tylko od identyfikatoru procesu (32767 wartości) Kolejne liczby pseudolosowe w danym kontekście uzależnione są od poprzednio wylosowanych 22

Wyniki badań Kradzież tożsamości 23

Wykorzystanie błędu (1) Scenariusz 1 serwer wykorzystuje błędną wersję biblioteki. (Wykorzystanie faktu znajomości generacji liczb pseudolosowych przez serwer) Niemożliwa deszyfracja ruchu SSL do serwera korzystającego z błędnej biblioteki openssl Klient i serwer wspólnie generują mastersecret wykorzystywany w szyfrowaniu symetrycznym Brak przeglądarek korzystających z biblioteki openssl 24

Wykorzystanie błędu (2) Scenariusz 2 program generujący klucze wykorzystuje błędną wersję biblioteki. Możliwość wygenerowania kolizyjnych par kluczy prywatny-publiczny (x509,ssh) Możliwość odgadnięcia klucza prywatnego na podstawie wartości klucza publicznego wygenerowanego przez program korzystający z błędnej biblioteki kradzież tożsamości 25

Wykorzystanie błędu (3) Scenariusz 3 Serwer (oprogramowanie klienckie) korzysta z kluczy wygenerowanych przez program korzystający z błędnej biblioteki Możliwość odgadnięcia klucza prywatnego na podstawie wartości klucza publicznego znajdującego się w certyfikacie kradzież tożsamości Istnieje prawdopodobieństwo deszyfracji ruchu klient-serwer 26

Cel badania Ocena zagrożenia wynikającego z błędem Defensywne uzyskanie tożsamości serwera bądź klienta Pozyskiwanie kluczy prywatnych z danych zawartych w certyfikatach Wyszukiwanie słabych certyfikatów 27

Narzędzia (1) openssl-vulnkey Testowanie oparte na blacklistach (baza 80 mniej znaczących bitów sum SHA1 modułów) Testowanie wybranych typów kluczy (określony eksponent, rozmiar kluczy) Działa nadmiarowo wyniki false-positive!!! debian_ssh_scan Zdalny test serwerów ssh Testowanie wybranych typów kluczy (określony eksponent, rozmiar kluczy) baza pełnych sum SHA1 modułów >200000 kluczy 28

Narzędzia (2) pcss-key-weryfikator Faktoryzacja modułu Baza liczb pierwszych (>320000 liczb pierwszych wygenerowanych z użyciem błędnej biblioteki + baza liczb pierwszych <1000000) Możliwość wyznaczania klucza prywatnego na podstawie słabego klucza publicznego msieve Faktoryzator dużych liczb złożonych Inne narzędzia Przeglądarka internetowa, curl, openssl, bc 29

Kradzież tożsamości Baza certyfikatów 64889 Certyfikaty niekwalifikowane Zaufane Centrum Certyfikacyjne Polskie Powszechne Centrum Certyfikacji Certyfikaty pobrane poprzezwebowymechanizm wyszukiwania wystawionych certyfikatów 30

8192 40000 35000 30000 25000 20000 15000 10000 5000 0 Długość klucza 31 Kompromitacja 3 miesiące NSA -2010 r. 512 1023 1024 1280 1312 1536 2048 3072 4096

Typy certyfikatów 603 563 1 3344 737 60307 Serwery https Połączenia SSL Bezpieczna poczta Znakowanie czasem Podpisywanie kodów Tunele IPSec 32

O=Internet Widgits PtyLtd 103 certyfikaty Kilka certyfikatów klasy 3 CN=127.0.0.1 3 certyfikaty Kto to weryfikuje? Ciekawe pola Subject C=Russia, CN=../emailAddress=.@email.co.yu Subject: C=PL, O=Microsoft, CN=Bolek i Lolek/emailAddress=.@wp.pl 33

Testy openssl-vulnkey Skompromitowane certyfikaty 199 Nieobsługiwany eksponent 45 Brak możliwości oceny 44 Brak danych o kluczach 8192 2 34

Skradzione tożsamości Kompromitacja kluczy 512 bitowych Faktoryzacja modułu <3 miesiące Kompromitacja słabych kluczy 27 skradzionych tożsamości Wszystkie certyfikaty ważne Certyfikaty serwerów https, poczty internetowej Skuteczność openssl-vulnkey 13%! 35

Główne grzechy Użytkownicy / Administratorzy Brak aktualizacji oprogramowania na kluczowych stacjach Niedostateczna wiedza o tematyce związanej z PKI Developerzy Debian a Modyfikacja źródeł kluczowych bibliotek Błędne oprogramowanie testujące do wykrywania słabych kluczy Centra Certyfikacji Niejasna procedura weryfikacji żądań 36

Więcej informacji PKI RSA http://www.pki-page.org http://www.schneier.com/paper-pki.html http://www.di-mgt.com.au/rsa_alg.html http://pajhome.org.uk/crypt/rsa Błąd opublikowany 13.05.2008 http://www.heise-online.pl/security/znaczenie-liczb-losowych-wkontekscie-klopotow-z-pakietem-openssl--/features/4748 http://www.gergely.risko.hu/debian-dsa1571.en.html 37

Dane kontaktowe Autorzy prezentacji Błażej Miga blazej.miga@man.poznan.pl Gerard Frankowski gerard.frankowski@man.poznan.pl Zespół Bezpieczeństwa PCSS e-mail: security@man.poznan.pl WWW: http://security.psnc.pl Poznańskie Centrum Superkomputerowo-Sieciowe e-mail: office@man.poznan.pl WWW: http://www.pcss.pl 38

Grafika za: http://www.gergely.risko.hu/debian-dsa1571.en.html 39

Pytania i dyskusja Dziękujemy za uwagę! 40