przepisał: Aleksander Śmierciak
Bezpieczeństwo systemów informatycznych
Wykład
16 kwietnia 2012
Podstawowe typy i własności systemów kryptograficznych
Bezpieczeństwo systemów komputerowych
Istotny rozwój systemów kryptograficznych był związany z przeprowadzonym w roku 2000 konkursem
na algorytm szyfrujący. Zaproponowano i przedstawiono wtedy bardzo wiele algorytmów, które
stosowane są nadal – i będą wciąż stosowane przez pewien czas.
Klasy systemów kryptograficznych
Współczesne rozwiązania tego problemu bazują na jednej z dwóch klas szyfrów:
•
szyfrach blokowych,
•
szyfrach strumieniowych.
Szyfry blokowe dokonują jednoczesnej transformacji ustalonej porcji (bloku) znaków wiadomości
wejściowej do postaci zaszyfrowanej.
Długie wiadomości są wstępnie dzielone na fragmenty odpowiadające długości podstawowego
bloku.
Jeżeli ostatni fragment (lub cała przesyłana wiadomość, jeżeli jest ona krótka) ma mniej znaków niż
ustalona długość bloku dla danego szyfru, zachodzi konieczność uzupełnienia lub dopełnienia
(padding) wiadomości przed szyfrowaniem do długości będącej wielokrotnością długości
podstawowego bloku.
Szyfry blokowe
Istnieje kilka różnych metod dopełnienia wiadomości, wszystkie jednak muszą pozwalać na
jednoznaczne odróżnienie wiadomości od dopełnienia po stronie odbiorczej.
W przypadku gdy wiadomość generowana jest współbieżnie z procesem szyfrowania, urządzenie
szyfrujące musi czekać aż wygenerowana zostanie liczba znaków odpowiadająca długości bloku.
Dopiero wtedy odbywa się szyfrowanie i ewentualne przesłanie zaszyfrowanego bloku.
1
przepisał: Aleksander Śmierciak
Szyfry strumieniowe
Zasada działania szyfrów strumieniowych polega na zaszyfrowaniu każdego pojawiającego się na
wejściu urządzenia szyfrującego znaku wiadomości poprzez połączenie go w pewien odwracalny
sposób z wygenerowanym wewnątrz urządzenia znakiem klucza.
Kolejne znaki wiadomości łączone są z kolejno generowanymi znakami klucza. W ten sposób
szyfruje się „strumień” znaków wiadomości przy pomocy „strumienia” znaków danych.
Tryby pracy szyfrów
Tryby pracy:
•
tryb CTR: tryb licznikowy (Counter),
•
tryb ECB: tryb elektronicznej książki kodowej (Electronic Code Book Mode),
•
tryb CBC: tryb szyfrowania z wiązaniem bloków szyfrogramu (Cipher Block Chaining Mode),
•
tryb CFB: tryb szyfrowania ze sprzężeniem zwrotnym szyfrogramu (Cipher Feedback Mode),
•
tryb OFB: tryb szyfrowania ze sprzężeniem zwrotnym wyjścia (Output Feedback Mode),
•
tryb OCB: tryb uwierzytelniająco-szyfrujący (Offset Codebook Mode),
•
tryb CCM: tryb uwierzytelniająco-szyfrujący, licznikowy z CBC (Counter Mode with CBC
MAC).
Tryby pracy szyfrów
Tryb CTR wykorzystuje sekwencję liczb jako ciąg wejściowy algorytmu.
W trybie CTR wartością wejściową rejestru zamiast danych wyjściowych algorytmu szyfrowania są
dane licznika.
Po każdym bloku szyfrującym licznik zwiększa się o pewną stałą wartość.
W przypadku szyfru strumieniowego w trybie licznikowym możliwe jest wygenerowanie i-tego bitu
klucza bez konieczności wytworzenia poprzednich bitów tego klucza – wystarczy ustawić ręcznie
licznik na i-ty stan wewnętrzny.
Tryby pracy szyfrów
Tryb ECB polega na niezależnym szyfrowaniu kolejnych bloków wiadomości.
W trybie ECB powtarzające się bloki wiadomości są przekształcane w powtarzające się bloki
szyfrogramu (przy założeniu, że nie zmienia się klucz – zwiększa to szansę pomyślnej kryptoanalizy).
Cechą charakterystyczną tego rozwiązania jest fakt, iż utrata jakiegokolwiek bloku nie wpłynie na
przebieg deszyfrowania pozostałej części kryptogramu.
2
przepisał: Aleksander Śmierciak
Tryby pracy szyfrów
Tryb CBC zakłada łączenie każdego bloku niezaszyfrowanej wiadomości z szyfrogramem
poprzedniego bloku.
Pierwszy blok wiadomości łączony jest z blokiem o losowo wybranej zawartości, tzw. wektorem
początkowym (IV, initialisation vector).
Każdy następny blok kryptogramu zawiera w sobie kryptogram bloku poprzedniego (w razie
przekłamań któregoś z bloków utracimy dane z tego bloku oraz z bloku następnego, utrata lub dodanie
nowego bloku kryptogramu powoduje przekłamania podczas deszyfrowania).
Efektem zastosowania wektora początkowego oraz łączenia bloków jest zróżnicowanie postaci
bloków szyfrogramu, nawet gdy odpowiadające im bloki wiadomości są identyczne.
Tryby pracy szyfrów
Tryb CFB zakłada, że szyfrowanie odbywa się nie na całych blokach ale na fragmentach, np.
8 bitach.
Szyfrowanie odbywa się w ten sposób, że na początek jest generowany losowo 8-bitowy
kryptogram, poddawany operacji XOR z 8 bitami podawanymi na wejściu (np. znak z klawiatury).
Metoda CFB jest także nazywana trybem wewnętrznego sprzężenia zwrotnego, gdyż mechanizm
sprzężenia zwrotnego jest niezależny zarówno od ciągo tekstu jawnego, jak i […]
Tryby pracy szyfrów
Tryb OFB jest metodą działania szyfru blokowego jako synchronicznego szyfru strumieniowego
[…]
Jest bardzo podobny w działaniu do trybu CFB, z tą różnicą, że n bitów poprzedniego bloku
wyjściowego jest przesuwanych na skrajne prawe pozycje (najmniej znaczące) kolejki. […]
Tryby pracy szyfrów
Tryb OCB w jednym kroku zapewnia poufność, integralność oraz autentyczność informacji.
Jest bardzo szybki. Wydajność podczas szyfrowania i uwierzytelniania jest porównywalna do trybu
CBC czyli niemal dwukrotnie większa niż u konkurencyjnego CCM.
[…]
Na tryb istnieje patent, co powoduje konieczność posiadania licencji na jego stosowanie (stąd często
wybierany jest CCM).
3
przepisał: Aleksander Śmierciak
Przegląd symetrycznych systemów kryptograficznych
Kryptosystem DES
System DES (Data Encryption Standard) opracowany przez IBM jest najbardziej znanym
symetrycznym systemem kryptograficznym, który w 1977 r. został przyjęty przez Narodowe Biuro
Standardów USA (NBS, National Bureau of Standards) jako amerykańska norma szyfrowania danych.
Algorytm DES jest przeznaczony do szyfrowania 64-bitowych bloków danych. Blok wyjściowy
(zaszyfrowany) ma taką samą długość jak blok wejściowy (poddawany szyfrowaniu), równą 64.
Przekształecenia szyfrujące i odszyfrowujące są wyznaczane przez 64-bitowy klucz.
8 bitów stanowią tzw. bity parzystości […]
Kryptosystem DES
Aktualnie DES nie jest już uważany za dostatecznie silny.
Istotą trudności kryptoanalizy algorytmu DES metodą przeszukiwania wyczerpującego jest
złożoność obliczeniowa procesu dopasowania kolejnych możliwych wartości klucza […]
[…]
Kryptosystem 3DES
Z uwagi na zbyt małą jak na obecne możliwości obliczeniowe przestrzeń kluczy algorytmu DES
(w czerwcu 1997 r. publicznie zakończono sukcesem atak na zaszyfrowaną algorytmem DES
wiadomość), nie zaleca się stosowania tego algorytmu w jego podstawowej postaci.
W jego miejsce najczęściej używa się potrójnego DES-a (3DES), polegającego na trzykrotnym
zaszyfrowaniu wiadomości alogrytmem DES za pomocą trzech różnych kluczy (co skutecznie chroni
przed atakiem metodą przeszukiwania przestrzeni kluczy).
Kryptosystem IDEA
W USA uważano DES za produkt o znaczeniu militarnym (ograniczenia eksportowe) jak również
panowało przekonanie iż DES używa zbyt krótkich kluczy szyfrowania (64-bitowy, a właściwie
56 bitów).
Prace w Europie nad stworzeniem alternatywy dal DES-a zaowocowało produktem znanym pod
nazwą IDEA (International Data Encryption Algorithm) […]
[…]
4
przepisał: Aleksander Śmierciak
Kryptosystem IDEA
IDEA jest algorytmem stosunkowo nowym, wprowadzonym w latach dziewięćdziesiątych.
IDEA jest algorytmem […]
[…]
Inne kryptosystemy symetryczne
•
Algorytm RC4
Symetryczny algorytm szyfrowania strumieniowego oparty o ciąg pseudolosowych permutacji
generowanych z klucza. Jeden z częściej stosowanych algorytmów szyfrujących.
•
RC5
Symetryczny, blokowy algorytm szyfrujący. Dane szyfrowane w 16-, 32- lub 64-bitowych
blokach; długość klucza jest parametrem. RC5, mimo prostej budowy, uważany jest za
algorytm bardzo bezpieczny. Z RC4 łączy go tylko nazwisko autora – Rona Rivesta.
•
RC6
RC6 jest następcą RC5. Jest to symetryczny blokowy algorytm szyfrujący o nieskomplikowanej
konstrukcji wywodzącej się z RC5. Dane szyfrowane są 128-bitowym kluczem.
Inne kryptosystemy symetryczne
•
Rijndael , Advanced Encryption Standard
Symetryczny , blokowy algorytm szyfrujący. Dane szyfrowane są 128-, 192- lub 256- bitowym
kluczem w 128-bitowych blokach. Algorytm w 2000 roku zwyciężył konkurs AES i stał się
nowym standardowym algorytmem szyfrowania symetrycznego.
•
Serpent
Symetryczny, blokowy algorytm szyfrujący. Dane szyfrowane są 256- bitowym […]
•
Twofish
Symetryczny, blokowy algorytm szyfrujący. Dane szyfrowane są 128-, 192- lub 256-bitowym
kluczem w 128-bitowych blokach. W 2000 roku algorytm zakwalifikował się do finału
konkursu AES.
5
przepisał: Aleksander Śmierciak
Inne kryptosystemy symetryczne
CAST, opisuje schemat zastosowany w rodzinie zbliżonych do DES algorytmów kryptograficznych
o zmiennej długości kluczy i bloków. Najpowszechniej znany reprezentant to szyfr CAST-128
opublikowany w 1997 r.
SAFER, to algorytm blokowy opracowany przez kolejną ważną postać kryptografii komputerowej –
Jamesa L. Masseya. Popularne są: wersja z kluczem 64b (SAFER-K64) obejmująca 6 rund oraz wersja
z kluczem 128b (SAFER-K128) – do 12 rund (rekomendowane 10).
Inne kryptosystemy symetryczne
•
Mars
Symetryczny, blokowy algorytm szyfrujący zaproponowany przez firmę IBM. Dane
szyfrowane są kluczem w 128-bitowych blokach, za pomocą klucza o długości od 128 do 400
bitów. Finalista w konkursie AES.
•
Blowfish
Stworzony przez Bruce'a Schneiera. Opiera się na kluczach o zmiennej długości (do 448 bitów).
Uważany jest za bardzo bezpieczny (dotychczas nie udowodniono, iż istnieje skuteczny sposób
łamania szyfrów wygenerowanych przez ten algorytm),. Wykorzystywany w wielu programach,
m.in. PGP.
Prowadzącego zapytano o amerykańskie prawo dot. maksymalnej siły szyfrowania, równej 256 bitów.
Jest to prawdą, do tego podobne ograniczenia nie są charakterystyczne jedynie dla USA.
Przykładowo, aby zakupić urządzenie takie jak firewalle z laboratoriów, czyli umożliwiające tworzenie
sieci w których obieg informacji będzie zaszyfrowany, należy mieć zgodę od ABW.
Zwykle procedura nakazuje wysłanie deklaracji, w której zobowiązujemy się do niepodejmowania
jakiejkolwiek nielegalnej działalności i zwykle zajmuje się tym realizator usługi lub sprzedawca
(producent) sprzętu, którego jesteśmy klientami.
ABW w ciągu 14 dni musi odpowiedzieć na taką deklarację, zgadzając się bądź nie. Przeważnie jednak
przez 14 dni nie reaguje, przez co sprawa przepada, a my możemy ów sprzęt sprowadzić – jednak bez
formalnej zgody od ABW agencja ta ma „czyste ręce” w razie jakichkolwiek problemów związanych z
użytkowaniem przez nas tego sprzętu.
6
przepisał: Aleksander Śmierciak
Kryptosystemy asymetryczne
Historia kryptografii asymetrycznej ma dwa niezależne nurty: akademicki i służb specjalnych.
W roku 1969 formułę szyfrowania symetrycznego wymyślił James H. Ellis (pracujący w agencji
rządowej zajmującą się technicznymi aspektami ochrony teleinformatycznej pod nadzorem brytyjskiej
służby nasłuchu elektronicznego dla potrzeb wywiadu), lecz raporty były przez prawie trzydzieści lat
tajne.
[…] metodę szyfrowania asymetrycznego (jeden klucz służy do szyfrowania, a inny klucz do
odszyfrowywania).
Nurt akademicki historii kryptografii asymetycznej zaczął się w roku 1976, gdy White Diffie i
Martin Hellam z Uniwersytetu Stanford, zaproponowali w artykule „New direction in cryptography”
metodę szyforwania asymetrycznego.
Kryptosystem RSA
Pierwszy, powszechnie wykorzystywany algorytm szyfrowania asymetrycznego stworzyli: Ronal
Rivest z Massachusetts Institute of Technology, Adi Shamir z Weizmann Institute oraz Leonard
Adleman z Berkeley University of California.
Algorytm ten, nazwany RSA (nazwa składa się z pierwszych liter nazwisk jego autorów), oparty jest
na trudności obliczeniowej faktoryzacji dużych liczb półpierwszych.
Autorzy algorytmu RSA jako pierwsi pokazali w jaki sposób można zachować jednocześnie
poufność i uwierzytelnienie danych w zależności od tego, czy szyfrujemy asymetrycznie kluczem
prywatnym, czy publicznym.
Kryptosystem RSA
W algorytmie RSA ciąg bitów podawanych na wejście przekształcenia szyfrującego jest traktowany
jako duże (rzędu kilkuset cyfr dziesiętnych) liczba całkowita M.
•
rolę klucza prywatnego pełni trójka dużych liczb całkowitych
SK =(d , p , q)
•
rolę klucza publicznego pełni 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ą:
1=(e⋅d )mod (( p – 1)(q – 1))
•
przy czym musi d spełniać warunek:
d< ( p – 1)(q – 1)
7
przepisał: Aleksander Śmierciak
Kryptosystem RSA
Algorytm RSA jest przeznaczony do szyfrowania i odszyfrowywania n-bitowych loków danych
(gdzie n oznacza długość liczby M). Blok wyjściowy (zaszyfrowany ) ma taką samą długość jak blok
wejściowy (poddawany szyfrowaniu), tzn. n bitów. Przyjęta obecnie za bezpieczną i powszechnie
używana wartość parametru n wynosi 1024 bity.
Przekształcenie szyfrujące wyznaczone przez klucz publiczny jest proste obliczeniowo i polega na
podniesieniu liczby reprezentującej wiadomość M do potęgi e określonej przez klucz publiczny, modul
liczba n stanowiąca drugi element […]
modulo liczba n stanowiąca […]
M '=(M )
e
mod n
[…]
Kryptosystem RSA
Przekształcenie odwrotne wymaga znajomości liczby d (zawartej w kluczu prywatnym i wyznaczone
jest przez algorytm:
M=( M ')
d
mod n
Wykonanie przekształcenia odwrotnego, tzn. odtworzenie wiadomości M na postawie znajomości
szyfrogramu M' i klucza publicznego PK=(e,n), a bez znajomości […]
[…]
Jak RSA generuje klucze
•
Wybieramy liczby, które można łatwo zweryfikować (pamiętając że do prawdziwego
zastosowania RSA korzysta z dużo większych liczb).
•
Najpierw wybieramy dwie liczby pierwsze, p i q:
p=11, q=13
•
Obliczamy n:
n= p⋅q=11⋅13=143
•
Obliczamy f (n):
f (n)=( p – 1)(q – 1)=10⋅12=120
•
Wybieramy liczbę e względnie pierwszą z f (n):
e=7
•
Musimy ustalić takie d < 120, że:
1=(d⋅e )mod f (n)=(d⋅7)mod 120
•
Przyjmijmy, że d = 103
(103 razy 7 równa się 721, a 721 podzielone przez 120 równa się 6, zresztą 1).
•
Kluczem prywatnym jest para liczb
{
103, 143}
•
Kluczem publicznym jest para liczb
{
7, 143}
8
przepisał: Aleksander Śmierciak
Jak RSA generuje klucze
Aby wykonać właściwe zaszyfrowanie i deszyfrowanie korzystamy z pierwotnych wzorów:
•
Tekst zaszyfrowany=(tekst jawny )mod n
•
Tekst niezaszyfrowany=(tekst zaszyfrowany)mod n
Jeżeli chcemy wysłać wiadomość o treści „9” […]
•
Tekst zaszyfrowany=(9)
7
mod 143=48
•
Tekst jawny=(48)
103
mod 143=9
Kryptosystem RSA
Kryptosystem RSA jest systemem który jako jeden z nielicznych kryptosystemów asymetrycznych
oparł się próbom ataku i stał się de facto standardem, używanym powszechnie m.in. do generowania
podpisów cyfrowych.
Złamanie algorytmu RSA, polegające na odtworzeniu klucza prywatnego na podstawie znajomości
odpowiadającego […]
Kryptosystem El Gamal
Taher El Gamal stworzył wariant systemu Diffiego – Hellmana. Rozszerzył go, aby umożliwić
szyfrowanie i otrzymał jeden algorytm, który mógł szyfrować i jeden, który mógł uwierzytelniać.
Algorytm El Gamal określa jednoznacznie który z pary […]
[…]
Zaawansowane metody szyfrowania asymetrycznego
Algorytmy wykorzystujące dyskretne krzywe eliptyczne (ECC, Elliptic Curve Cryptosystems)
opierają się na innych zasadach matematycznych niż podzielniki czy dyskretny problem logarytmiczny.
ECC są pod pewnymi względami lepsze niż RSA czy Diffie-Hellman. Przede wszystkim klucze są
mniejsze, a tym samym obliczenia przebiegają szybciej przy takim samym poziomie bezpieczeństwa .
Takie samo zabezpieczenie przy 1024-bitowym dla RSA można osiągnąć w ECC przy kluczu 160-
bitowym.
Algorytmy wielomianowe oparte na trudnościach obliczeniowych tzw. pierścieni wielomianów ciał
skończonych.
9
przepisał: Aleksander Śmierciak
Dystrybucja kluczy w systemach asymetrycznych
W celu bezpiecznej realizacji usług ochrony informacji w sieci, z wykorzystaniem kryptografii
asymetrycznej konieczne jest, aby każdy z użytkowników sieci:
•
posiadał przypisaną sobie parę kluczy kryptograficznych: […]
•
chronił swój klucz prywatny, nie udostępniając go komukolwiek, pod żadnym pozorem;
•
udostępnił wszystkim użytkownikom[…]
Dystrybucja kluczy w systemach asymetrycznych
Udostępnienie wszystkim użytkownikom sieci klucza publicznego, w taki sposób, by byli oni pewni,
że należy on do danego użytkownika wymaga istnienia tzw. trzeciej, zaufanej strony (CA, certification
authority).
CA posiada własną parę kluczy:
•
klucz prywatny,
•
klucz publiczny.
[…]
Sposób wykorzystania certyfikatów
Każdy z użytkownik dysponuje swoim certyfikatem, który:
[…]
Dołącza się do podpisanych […]
[…]
10
przepisał: Aleksander Śmierciak
Zagrożenia dla bezpieczeństwa
Systemy kryptograficzne „zapewniają” bezpieczeństwo tylko dla pewnego podzbioru kluczy,
wyselekcjonowanego z całego zbioru możliwych kluczy (przy pewnych źle wybranych, parametrach
generowania kluczy można te klucze efektywnie „łamać”).
Zagrożeniem dla systemów kryptograficznych są podprogowe metody wykradania kluczy
prywatnych przez producentów sprzętu i oprogramowania (producent umieszcza w systemie algorytm
generujący klucze należące do małej zawężonej przestrzeni wszystkich możliwych kluczy, dzięki
czemu jest w stanie wygenerować taki sam klucz jak klucz prywatny użytkownika).
Było bardzo wiele historii i skandali dot. takiego zapewniania oprogramowania przed 2000 r.
Przy generowaniu kluczy szyfrujących korzysta się najczęściej z rozwiązań otwartych, aby mieć
pewność, że do dyspozycji mamy całą dziedzinę szyfrowania.
Porównanie kryptosystemów symetrycznych i asymetrycznych
[dlaczego stosujemy asymetryczne lub symetryczne algorytmy. O tym mówiliśmy na poprzednim
wykładzie, więc prowadzący pominął tę kwestię]
Porównanie kryptosystemów symetrycznych i asymetrycznych
Kryptosystemy
Uslugi i wymiana kluczy
Symetryczne
(DES, 3DES, IDEA)
Asymetryczne
(RSA)
Poufność
Duże szybkości szyfrowania
i deszyfrowania
Wolniejsze szyfrowanie
i deszyfrowanie
Integralność i uwierzytelnianie Duże szybkości generowania
i weryfikowania znacznika
Wolniejsze generowanie
i uwierzytelnianie podpisu
cyfrowego
Niezaprzeczalność
Trudność generowania podpisu
cyfrowego
Łatwość generowania podpisu
cyfrowego
Wymiana kluczy
Trudna w realizacji
Łatwa w realizacji
11
przepisał: Aleksander Śmierciak
Infrastruktura klucza publicznego PKI
Standard X.509
PKI i standard X.509
Standard X.509 stanowi powszechnie akceptowaną podstawę infrastruktury PKI definiującą formaty
danych oraz procedury związane z dystrybucją kluczy publicznych za pomocą certyfikatów cyfrowo
podpisanych przez Urzędy Certyfikujące.
Infrastruktura Kluczy Publicznych PKI zdefiniowana jest w dokumentacji Internet X.509 Public Key
Infrastructure PKIX Roadmap w następujący sposób:
[…]
Dystrybucja kluczy w systemach asymetrycznych
W celu bezpiecznej realizacji usług ochrony informacji w sieci, z wykorzystaniem kryptografii
asymetrycznej konieczne jest, aby każdy z użytkowników sieci:
posiadał przypisaną sobie parę kluczy kryptograficznych – klucz prywatny i klucz publiczny,
Certification Authority i certyfikat użytkownika
Udostępnienie wszystkim użytkownikom […]
Przykład certyfikatu
[zdjęcie – karta Ogólne]
Przykład certyfikatu
[zdjęcie – karta Szczegóły]
12
przepisał: Aleksander Śmierciak
Tworzenie certyfikatu przez CA
Korpus certyfikatu zgodny z wymogami standardu X.509
Podpis jest tworzony poprzez podanie korpusu certyfikatu na wejściu jednokierunkowej funkcji
mieszającej.
Certyfikat własny CA
[zdjęcie – Certyfikat własny, karta Ogólne]
Format certyfikatu X.509 v3
1. Wersja (version) identyfikuje wersję wygenerowanego certyfikatu X.509. Może to być wersja
1,2 lub aktualnie najpowszechniej stosowana – 3.
2. Numer seryjny (serial number), który stanowi unikatowy identyfikator certyfikatu odnoszący
się do jego wydawcy. Numer seryjny jest liczbą monotonicznie rosnącą.
3. Sygnatura (signature) wskazuje identyfikator (OID, object identifier) algorytmu szyfrującego
użytego do obliczenia […]
Format certyfikatu X.509 v3
4. Wystawca (issuer) zawiera wyróżniającą nazwą (Dn, distinguished name) urzędu CA, który
wydał certyfikat, To pole certyfikatu jest obowiązkowe.
5. Ważność (validity) określa okres ważności certyfikatu […]
6. Podmiot (subject) i jest to wyróżniająca nazwa (DN) właściciela certyfikatu.
Format certyfikatu X.509 v3
7. Informacja o kluczu publicznym podmiotu (subject public key info) jest to identyfikator
algorytmu klucza oraz klucz publiczny podmiotu.
8. Unikatowy identyfikator wystawcy (issuer unique ID) określa opcjonalny unikatowy
identyfikator wydawcy certyfikatu. Poe to w praktyce jest rzadko używane i nie występuje
w wersji 1 certyfikatu X.509.
9. Unikatowy identyfikator właściciela (subject unique ID) analogiczne jako pole poprzednie,
jest to opcjonalny unikatowy identyfikator właściciela certyfikatu i również pole to jest w
praktyce rzadko używane i odstępne tylko w wersji 2 oraz 3 certyfikatu X.509.
13
przepisał: Aleksander Śmierciak
Rozszerzenie certyfikatu
Sekcja Rozszerzenia (extensions) w której może być zawarte więcej informacji na temat
użytkowników, kluczy publicznych czy zarządzania certyfikatem. Krytyczne czy niekrytyczne (nie
muszą być wypełnione).
Polityki certyfikacji
Profil certyfikatu dla użytkownika, odpowiedzialności urzędu oraz gwarancje jakie daje Urząd
Certyfikacji dla danego certyfikatu zdefiniowane są w polityce certyfikacji zgodnie z którą Urząd
wystawia certyfikatu.
Polityka certyfikacji
[…]
Infrastruktura Klucza Publicznego PKI
PKI składa się zazwyczaj z pięciu podstawowych komponentów:
1. Wydawców certyfikatów (CA, Certification Authorities), przydzielających i odbierających
certyfikaty.
2. Urzędów rejestrujących (ORA, organizational registration authorities) poręczających
za powiązania między kluczami publicznymi a tożsamością posiadaczy certyfikatów.
3. Posiadaczy certyfikatów, którym wydawane są certyfikaty i którzy mogą podpisywać
dokumenty cyfrowe.
4. Klientów, którzy zatwierdzają cyfrowe podpisy oraz ich ścieżki certyfikowania prowadzące od
znanych publicznych kluczy zaufanych CA.
5. Repozytoriów, przechowujących i udostępniających certyfikaty orz lisy certyfikatów
unieważnionych (CRL, Certificate Revocation List).
Infrastruktura Klucza Publicznego PKI
Infrastruktura klucza publicznego w zależności od środowiska, w którym się znajduje może […]
[…]
14
przepisał: Aleksander Śmierciak
Listy Unieważnionych Certyfikatów
W celu zapobieżenia zagrożeniom związanym z odtajnieniem klucza prywatnego konieczne jest
stworzenie mechanizmu unieważniania certyfikatów odpowiadających kluczom, co do których
zachodzi podejrzenie, że mogły one zostać pozyskane przez osoby niepowołane.
W ramach Urzędu Certyfikacyjnego tworzy się Listę Unieważnionych Certyfikatów
(CRL X.509 v2), zawierającą wszystkie unieważnione certyfikaty, których okres obowiązywania
jeszcze nie upłynął.
[…]
Listy Unieważnionych Certyfikatów
CRL jest listą ze znacznikiem czasowym, identyfikującą unieważnione certyfikaty. CRL jest
podpisywana przez CA i udostępniania w publicznym miejscu.
Każdy unieważniony certyfikat jest identyfikowany w CRL na podstawie swojego numeru
seryjnego.
[…]
Przy weryfikowania podpisu cyfrowego danego użytkownika sprawdza się podpis certyfikatu.
Modele zaufania PKI
Klucz publiczny jest „zaufany” dla użytkownika, jeśli jest on pewny, że klucz publiczny jest
komplementarny do klucza prywatnego, który w sposób uprawniony i poprawny należy do podmiotu
o określonej nazwie (certyfikat łączy oba te elementy).
Jednostka może mieć zaufanie do certyfikatu podpisanego przez urząd CA (czyli także do urzędu
CA), jeśli założy, że urząd CA będzie mogło ustanowić i utrzymać dokładne powiązanie klucza
publicznego z atrybutami podmiotu (będzie dokładnie identyfikować tożsamość podmiotu, który
wydaje certyfikat).
15
przepisał: Aleksander Śmierciak
Model ścisłej hierarchicznej certyfikacji
Każda jednostka znajdująca się w strukturze tego modelu musi posiadać klucz publiczny głównego CA,
gdyż stanowi to podstawę zaufania dla wszystkich jednostek mu podlegających.
Model rozproszony
16
Model zaufania ze ścisłą hierarchią CA
główny CA (rootCA)
(kotwica zaufania)
zero lub kilka poziomów
pośrednich CA
jednostki końcowe
niebędące CA
Model rozproszony architektury zaufania
równorzędne CA
pośrednie CA
jednostki końcowe
niebędące CA
połączenia między
niezależnymi CA
przepisał: Aleksander Śmierciak
Nie istnieje nadrzędzny korzeń CA. Zakłada się istnienie co najmniej dwóch równorzędnych urzędów
CA1 i CA2, będących lokalnymi „kotwicami zaufania”.
•
Użytkownicy A posiadają kopię klucza publicznego urzędu CA1
•
Użytkownicy B posiadają kopię klucza publicznego urzędu CA2
•
Urzędy CA1 i CA2 są od siebie niezależne i równorzędne, regulują komunikację między
użytkownikami.
Model rozproszony
W rzeczywistym świecie nie istnieje jeden nadrzędny „korzeń zaufania” dla wszystkich […]
Certyfikacja wzajemna
Certyfikacja wzajemna jest mechanizmem pozwalającym rozszerzyć domenę zaufania na niezależne
do tej pory urzędy CA1 i CA2, leżące poza „lokalną, domenową kotwicą zaufania”.
•
certyfikacja wzajemna wewnątrz-domenowa,
•
certyfikacja wzajemna między-domenowa.
[…]
Certyfikacja wzajemna
Kategorie, ze względu na kierunek działania:
•
certyfikacja wzajemna jednokierunkowa
urząd CA1 certyfikuje wzajemnie urząd CA2 […]
•
certyfikacja wzajemna dwukierunkowa
[…]
17
przepisał: Aleksander Śmierciak
Model WWW
Model WWW jest modelem ścisłem hierarchi.
Oprogramowanie przeglądarki ufa wszystkim certyfikatom zainstalowanym w niej, będąc wirtualną
„kotwicą zaufania”. Jest to kompromis między wymaganą szybkością działania a bezpieczeństwem.
Zaufanie oparte na użytkowniku
18
Model zaufania oparty na użytkowniku
Model zaufania oparty o przeglądarkę WWW
wirtualna kotwica zaufania
przeglądarki
zero lub kilka poziomów
pośrednich CA
jednostki końcowe
niebędące CA
trzy podstawowe CA
zainstalowane w przeglądarce
przepisał: Aleksander Śmierciak
Model oparty na użytkowniku obarcza go całą odpowiedzialnością za decyzje w kwestii tego komu ma
zaufać.
Model ten polega w pełni na świadomych decyzjach użytkownika, dlatego nie może być wszędzie
stosowany.
Systemy oprogramowania PKI (rozwiązania komercyjne)
•
rozwiązania proste, zbudowane na skalę jednego, średniej wielkości przedsiębiorstwa,
•
duże, modułowe i skalowane rozwiązania, pozwalające na ustanowienie rozbudowanej relacji
zaufania i hierarchii urzędów w których polityki bezpieczeństwa pozwalają na przystosowanie
systemu do potrzeb klienta.
Przykłady niekomercyjnych rozwiązań PKI
Moduły służące do budowy systemów implementujących PKI:
•
OpenSSL,
•
Oscar i μPKL,
Serwery Certificate Authority
•
OpenCA
•
pyCA
•
IDX-PKI
Aplikacje klienckie i serwerowe wykorzystujące możliwości, jakie daje PKI (wszelkiego rodzaju
programy i serwery pocztowe, przeglądarki i serwery WWW, …).
Projekt OpenSSL stanowi zaawansowany pakiet narzędziowy.
Zagrożenia PKI
W 2008 roku grupie naukowców udało się przeprowadzić udany atak na centrum certyfikacji (CA),
używające w podpisie certyfikatu funkcji skrótu MD5. Efektem tego ataku było otrzymanie certyfikatu
CA z poprawnym podpisem, pomimo złożenia wniosku o certyfikat kliencki. Certyfikat ten umożliwia
podpisywanie certyfikatów klienckich, którym zaufa większość popularnych przeglądarek
internetowych, a więc efektywne podszycie się pod dowolną stronę internetową używającą
certyfikatów. Praca opisująca ten atak została przedstawiona 30 grudnia 2008 roku na Chaos
Communication Conference w Berlinie.
19
przepisał: Aleksander Śmierciak
Podpis elektroniczny w Polsce
Podpis elektroniczny
Technologia podpisu elektronicznego to powiązanie dokumentu (poddanego digitalizacji) z daną
osobą, poprzez cechy jednoznacznie go charakteryzujące (np. biometryczne).
Przy dzisiejszym stanie technologii jedynie nagranie dokumentu przekazywanego głosem człowieka
spełnia wymagania stawiane podpisowi elektronicznemu (np. zlecenia bankowe lub maklerskie
przekazywane przez telefon).
Odcisk linii papilarnych, obraz tęczówki oka, kształt twarzy, itp. są doskonałymi sposobami
identyfikacji, ale nie mogą być jeszcze stosowane do podpisu elektronicznego ze względów
technicznych.
Podpis elektroniczny a podpis cyfrowy
Pojęcia podpisu elektronicznego oraz podpisu cyfrowego nie są tożsame – podpis elektroniczny to
pojęcie szersze znaczeniowo niż podpis cyfrowy, ten drugi tanowi jeden z rodzajów podpisu
elektronicznego.
Podpis cyfrowy różni się od innych podpisów elektronicznych tym, że został wykonany przy
pomocy kryptografii asymetrycznej z parą kluczy prywatny – publiczny (gdyby wykorzystano inną
technikę kryptograficzną przy tworzeniu podpisu elektronicznego – taki podpis nie byłby już podpisem
cyfrowym).
Cywilnoprawna regulacja podpisu elektronicznego
30 czerwca 2000 roku – pierwszy w dziejach legalny podpisy cyfrowy pod ustawą „Electronic
Signature in Global and National Commerce Act” (USA)
ustawa z dnia 18.09.2001 o podpisie elektronicznym (dz. Nr 130, poz. 450)
[…]
20
przepisał: Aleksander Śmierciak
Cywilnoprawna regulacja podpisu elektronicznego
W Polsce obowiązuje prawne zrównanie podpisu elektronicznego z podpisem własnoręcznym oraz
wytyczone są normy regulujące działalność Urzędów Certyfikacji.
Art. 60 k.c.
[…]
Cywilnoprawna regulacja podpisu elektronicznego
Ustawa z 18 września 2001 r. określa dwa rodzaje podpisu:
„podpis elektroniczny” oraz „bezpieczny podpis elektroniczny”.
Każdy z nich musi spełnić określone wymagania oraz wywołuje określone skutki prawne.
Art. 78 k.c.
[…]
„Oświadczenie woli[...]jest równoważne formie pisemnej”
Bezpieczny podpis elektroniczny
Aby podpis elektroniczny mógł być zrównany pod względem prawnym z podpisem elektronicznym
oraz wywowływał takie same skutki prawne, musi spełnić warunki:
•
ma być wygenerowany […]
•
[…]
Kwalifikowany certyfikat w rozumieniu Ustawy
Kwalifikowany certyfikat jest certyfikatem wydawanym przez kwalifikowany podmiot świadczący
usługi certyfikacyjne spełniający wymogi określone w ustawie.
Kwalifikowany podmiot świadczący usługi certyfikacyjne jest to podmiot wpisany do rejestru
kwalifikowanych podmiotów świadczących usługi certyfikacyjne, prowadzonego przez Ministra
Gospodarki, spełniający wymogi określone w ustawie.
21
przepisał: Aleksander Śmierciak
Zwykły niekwalifikowany podpis elektroniczny
Nie można zabraniać stosowania w obrocie elektronicznych bez certyfikatów, jeżeli taka będzie wola
stron danego stosunku prawnego i nie pozostanie to w sprzeczności z obowiązującymi przepisami
prawa.
Podpis który nie spełnia wszystkich wymogów bezpiecznego podpisu elektronicznego, a jest
podpisem elektronicznym w świetle prawa, nie jest równoważny podpisowi odręcznemu.
Podpisujący (składający podpis elektroniczny)
Podpisującym według Ustawy z 18 września 2001 r.
•
osoba fizyczna.
•
osoba prawna.
•
jednostka organizacyjna nie posiadająca osobowości prawnej.
Znakowanie czasem
Podpis elektroniczny może być znakowany czasem.
Znakowanie czasem to usługa polegająca na dołączeniu do danych w postaci elektronicznej,
logicznie powiązanych z danymi, opatrzonymi podpisem lub poświadczeniem elektronicznym,
oznaczenie czasu w chwili wykonania tej usługi.
W sytuacji gdy to znakowanie świadczy kwalifikowany podmiot certyfikacyjny, podpis wywołuje
skutki daty pewnej w rozumieniu przepisów Kodeksu Cywilnego.
Podmioty świadczące usługi certyfikacyjne wg Ustawy z 18
września 2001 r.
Zwykły podmiot świadczący usługi certyfikacyjne to przedsiębiorca, Narodowy Bank Polski albo
organ władzy publicznej, świadczący co najmniej jedną z usług certyfikacyjnych, czyli: wydawanie
certyfikatów, znakowanie czasem, lub oferujący inne usługi związane z podpisem elektronicznym.
Kwalifikowany podmiot świadczący usługi certyfikacyjne – podmiot świadczący usługi
certyfikacyjne, wpisany do rejestru kwalikowanych podmiotów świadczących usługi certyfikacyjne.
[…]
Akredytowany podmiot świadczący usługi certyfikacyjne to kwalifikowany podmiot świadczący
usługi certyfikacyjne posiadający akredytację, czyli decyzję administracyjną potwierdzającą, że dany
podmiot spełni wymogi określone w ustawie.
22
przepisał: Aleksander Śmierciak
Świadczenie usług i nadzór nad działalnością podmiotów
świadczących usługi certyfikacyjne
Według Ustawy z 18 września 2001 r. […]
Prowadzenie rejestru kwalifikowanych podmiotów
W Polsce głównym CA oraz organem […]
Narodowe Centrum Certyfikacji
NBP:
•
wytwarzanie i wydawanie zaświadczeń certyfikowanych […]
[…]
Rejestr podmiotów kwalifikowanych
Wpisy uszeregowane pod kątem czasu uzyskania wpisu do rejestru – w kolejności od
najpóźniejszego
[tabela ze strony internetowej
osoby, które mi pomogły i którym dziękuję:
Binda Jakub
Fierek Przemysław
Szczygieł Michał
23