background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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, 

npq

liczby e i d związane są zależnością:

1=(e)mod (( p – 1)(q – 1))

przy czym musi d spełniać warunek:

d< ( p – 1)(q – 1)

7

background image

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 '=()

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:

npq=11⋅13=143

Obliczamy f (n):

(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)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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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 

www.nccert.pl/podmioty.htm

]

osoby, które mi pomogły i którym dziękuję:

Binda Jakub

Fierek Przemysław

Szczygieł Michał

23


Document Outline