Jak zapewnić bezpieczne przesyłanie danych w sieci Internet?
Prezentowany tekst pozwoli Pa
ń
stwu zapozna
ć
si
ę
z nast
ę
puj
ą
cymi poj
ę
ciami:
Infrastruktura Klucza Publicznego (PKI), urz
ą
d certyfikacyjny (CA), Polityka
Certyfikacji (CP), Kodeks Post
ę
powania Certyfikacyjnego (CPS)
Internet to sie
ć
komputerowa, która powstała w wyniku poł
ą
czenia mniejszych
sieci komputerowych o zasi
ę
gu lokalnym(firmy), miejskich(np. LODMAN),
regionalnych, krajowych, itp.). Mamy ogromn
ą
sie
ć
o zasi
ę
gu globalnym,
która rozrasta si
ę
bez scentralizowanego nadzoru.
Informacja od nadawcy przechodzi przez wiele urz
ą
dze
ń
aktywnych, takich jak
rutery, przeł
ą
czniki, „zapory ogniowe”, modemy, linie transmisji danych
(
ś
wiatłowody, przewody miedziane, ł
ą
cza satelitarne itp.).
Oznacza to,
ż
e informacja mo
ż
e by
ć
skopiowana, zmieniona, powielona.
Zdefiniujmy poj
ę
cie "bezpieczne przesyłanie informacji".
Powinna by
ć
zapewniona
autentyczno
ść
, - informacja pochodzi od
ś
ci
ś
le okre
ś
lonej osoby, instytucji
czyli nadawcy i trafi do
ś
ci
ś
le okre
ś
lonej osoby, instytucji
niezaprzeczalno
ść
- nadawca nie mo
ż
e zaprzeczy
ć
,
ż
e wysłał informacj
ę
integralno
ść
- Dane wysłane przez nadawc
ę
i odebrane przez odbiorc
ę
s
ą
takie same
i poufno
ść
- nikt postronny nie dowie si
ę
o tre
ś
ci informacji
Wa
ż
no
ść
informacji mo
ż
e by
ć
okre
ś
lona w czasie ( data, godzina wysłania
kuponu Du
ż
ego Lotka). Do przesyłanych informacji dodaje si
ę
tzw. znacznik
czasowy.
Rozwój kryptografii w poł
ą
czeniu z obowi
ą
zuj
ą
cymi przepisami prawnymi
doprowadził do „wymy
ś
lenia” pewnej struktury zapewniaj
ą
cej bezpieczne
przesyłanie informacji w Internecie.
Nazywamy tak
ą
struktur
ę
„Infrastruktur
ą
Klucza Publicznego”
angielski skrót PKI (Public Key Infrastructure).
PKI to nic innego ni
ż
zasoby sprz
ę
towo-programowe obsługiwane według
ś
ci
ś
le okre
ś
lonych reguł (rozwi
ą
zania prawne, sprawdzone algorytmy) przez
kwalifikowany personel, któremu ufaj
ą
(odpowiedzialno
ść
prawna)
u
ż
ytkownicy.
Szyfrowanie danych
Korzystamy z tzw. asymetrycznych technik szyfrowania. Ka
ż
dy u
ż
ytkownik
ko
ń
cowy (osoba fizyczna, prawna, aplikacja komputerowa) posiada par
ę
kluczy
szyfruj
ą
cych, jeden to klucz publiczny, drugi to klucz prywatny.
Sposób tworzenia tych kluczy (jednoznaczne reguły matematyczne) zapewnia
ich
ś
cisłe powi
ą
zanie. Tekst jawny zaszyfrowany kluczem publicznym mo
ż
na
odszyfrowa
ć
wył
ą
cznie kluczem prywatnym.
TYLKO
ODBIORCA
MO
ś
E
ODSZYFRO-
WA
Ć
WIADO-
MO
ŚĆ
, BO
TYLKO ON
ZNA SWÓJ
KLUCZ
PRYWATNY.
Klucze s
ą
to ci
ą
gi bitowe o długo
ś
ci zwykle z przedziału do 5122048. Im
długo
ść
klucza jest wi
ę
ksza, tym klucz jest mocniejszy, trudniej go "złama
ć
"
metod
ą
prób i bł
ę
dów w rozs
ą
dnym czasie.
Klucz publiczny, (znany publicznie ) mo
ż
e by
ć
upowszechniony za pomoc
ą
odpowiednich serwerów działaj
ą
cych w Internecie (http, https).
Klucz prywatny jest dost
ę
pny tylko jego wła
ś
cicielowi. Musi by
ć
wła
ś
ciwie
chroniony przed utrat
ą
wiarygodno
ś
ci.
Niestety szyfrowanie i deszyfrowanie asymetryczne jest procesem
długotrwałym. Wi
ąż
e si
ę
to z konieczno
ś
ci
ą
wykonywania operacji
matematycznych na bardzo du
ż
ych liczbach naturalnych.
Zdecydowane przyspieszenie szyfrowania i deszyfrowania jest mo
ż
liwe przy
wykorzystaniu symetrycznych (klasycznych) technik szyfrowania. Ten sam
klucz u
ż
ywa si
ę
do szyfrowania jak i deszyfrowania informacji. Problemem jest
przekazanie klucza mi
ę
dzy nadawc
ą
i odbiorc
ą
.
Ale mo
ż
na zrobi
ć
to tak.
Załó
ż
my,
ż
e u
ż
ytkownik A do u
ż
ytkownika B chce w bezpieczny sposób
przesła
ć
informacj
ę
.
a. u
ż
ytkownik A szyfruje tekst jawny kluczem symetrycznym, nazwijmy go KS
(np. mo
ż
e to by
ć
szybki algorytm DES, 3DES),
b. klucz KS szyfruje asymetrycznie kluczem publicznym u
ż
ytkownika B.
c. przesyła zaszyfrowany tekst jawny kluczem KS plus zaszyfrowany klucz
symetryczny KS do u
ż
ytkownika B.
d. u
ż
ytkownik B za pomoc
ą
swojego klucza prywatnego odszyfrowuje klucz
symetryczny
e. u
ż
ytkownik B ma ju
ż
klucz KS i odszyfrowuje tekst jawny.
Cały proces jest bardzo bezpieczny i do
ść
szybki. Dla ka
ż
dej nowego przekazu
informacji nadawca A mo
ż
e wygenerowa
ć
nowy klucz KS.
Tekst jawny
Klucz publiczny
odbiorcy
Szyfrowanie
asymetryczne
Tekst
zaszyfrowany
Tekst zaszyfrowany
Klucz prywatny
odbiorcy
deszyfrowanie
asymetryczne
Tekst jawny
odszyfrowany
Podpis elektroniczny
Pokazany sposób przesyłania informacji nie identyfikuje nadawcy poniewa
ż
klucz publiczny odbiorcy jest powszechnie znany, kto
ś
mo
ż
e si
ę
podszy
ć
pod
nadawc
ę
.
Nale
ż
y „co
ś
” doda
ć
do przekazywanych danych. Z informacji (jawnej lub ju
ż
zaszyfrowanej) za pomoc
ą
funkcji skrótu (hash function) tworzymy niewielki
blok FS dodatkowych danych- ci
ą
g bitów. Otrzymana warto
ść
jest
jednoznacznie zwi
ą
zana przekazywanym blokiem danych. Zmiana jednej litery
w tek
ś
cie daje inn
ą
warto
ść
funkcji skrótu. Prawdopodobie
ń
stwo,
ż
e dla dwu
ró
ż
nych tekstów otrzymamy t
ę
sam
ą
warto
ść
funkcji skrótu jest praktycznie
równe zero. To przypomina odcisk palca przekazywanego bloku danych
(fingerprint).
Nast
ę
pnie ten niewielki blok FS (fingerprint) szyfrujemy za pomoc
ą
własnego
klucza prywatnego. Tylko my mo
ż
emy to zrobi
ć
bo tylko my znamy swój klucz
prywatny.
Opisany ogólny algorytm tworzenia podpisu elektronicznego pokazuje
poni
ż
szy rysunek.
Dyrektywa Komisji Europejskiej w sprawie ram Wspólnotowych dla podpisu
elektronicznego
"PODPIS ELEKTRONICZNY" - oznacza dane w formie elektronicznej, które s
ą
przył
ą
czone do lub w logiczny sposób skojarzone z innymi danymi elektronicznymi i
które słu
żą
jako metoda weryfikacji-potwierdzenia danych (uwierzytelnienia).
"CERTYFIKAT"- oznacza elektroniczne potwierdzenie, które ł
ą
czy dane
weryfikuj
ą
ce podpis z osob
ą
i potwierdza to
ż
samo
ść
tej osoby.
Definicja podpisu cyfrowego wg PN-I-02000 (Polska Norma)
"Przekształcenie kryptograficzne danych umo
ż
liwiaj
ą
ce odbiorcy danych
sprawdzenie autentyczno
ś
ci i integralno
ś
ci danych oraz zapewniaj
ą
ce nadawcy
ochron
ę
przed sfałszowaniem danych przez odbiorc
ę
."
Cztery główne warunki podpisu cyfrowego:
1. uniemo
ż
liwienie podszywanie si
ę
innych pod dan
ą
osob
ę
(uwierzytelnienie
osoby, autentyfikacja),
2. zapewnienie wykrywalno
ś
ci wszelkiej zmiany w danych transakcji
(integralno
ść
transakcji),
3. zapewnienie niemo
ż
liwo
ś
ci wyparcia si
ę
podpisu przez autora,
4. umo
ż
liwienie weryfikacji podpisu przez osob
ę
niezale
ż
n
ą
.
Tu ko
ń
czy si
ę
rola informatyków. Metody szyfrowania/deszyfrowania
opracowane, algorytmy napisane, matematycy udowodnili co trzeba, fizycy,
in
ż
ynierowie zadbali o dobry sprz
ę
t, szybkie ł
ą
cza. Na scenie pojawia si
ę
prawo, uregulowania ustawowe, które maj
ą
zapewni
ć
wzajemne zaufanie.
Certyfikacja klucza publicznego
W chwili weryfikacji elektronicznego podpisu osoba weryfikuj
ą
ca musi by
ć
pewna,
ż
e klucz publiczny nale
ż
y do osoby podpisuj
ą
cej.
W Internecie partnerzy najcz
ęś
ciej si
ę
nie znaj
ą
, a musz
ą
mie
ć
pewno
ść
u
ż
ywaj
ą
wła
ś
ciwych kluczy publicznych, kluczy jednoznacznie przypisanych
do osoby, instytucji itp. Potrzebny jest kto
ś
trzeci komu ufaj
ą
obie strony,
czyli certyfikacja kluczy publicznych
Trzecia strona, czyli tzw. urz
ą
d certyfikacji zwany dalej CA (od angielskiej
nazwy Certification Authority), podpisuje klucz publiczny u
ż
ytkownika i jego
nazw
ę
oraz pewne dodatkowe informacje, jak np. okres wa
ż
no
ś
ci klucza,
własnym kluczem prywatnym.
Weryfikacji partnerów dokonuje si
ę
za pomoc
ą
klucza publicznego urz
ę
du
certyfikacyjnego, do którego z mocy prawa mamy zaufanie.
Je
ż
eli u
ż
ytkowników jest bardzo du
ż
o, to jeden urz
ę
du certyfikacyjny mo
ż
e
by
ć
przeci
ąż
ony. Tworzy si
ę
podległe urz
ę
dy certyfikacji i tworz
ą
one system
hierarchiczny.
Podległe urz
ę
dy (ni
ż
szego rz
ę
du) s
ą
certyfikowane przez urz
ę
dy nadrz
ę
dne.
Certyfikaty ni
ż
szej rangi s
ą
o tyle wiarygodne, o ile mamy zaufanie do
głównego (Root) urz
ę
du certyfikacyjnego.
Mo
ż
liwe s
ą
dwie drogi uzyskiwania certyfikatu. W pierwszej urz
ą
d
certyfikacyjny generuje u
ż
ytkownikowi par
ę
asymetrycznych kluczy, certyfikuje
klucz publiczny i dostarcza mu certyfikat, który zawiera jego klucz prywatny i
własne certyfikaty.
W drugiej u
ż
ytkownik sam generuje asymetryczn
ą
par
ę
kluczy i przesyła
klucz publiczny do urz
ę
du certyfikacyjnego. Urz
ą
d wystawia certyfikat
i dostarcza go u
ż
ytkownikowi wraz z własnymi certyfikatami.
Sam certyfikat jest wydawany w formacie X509 ( powszechnie stosowany ale
nie jedyny mi
ę
dzynarodowy standard). Format ten oprócz takich pozycji jak
wersja, numer seryjny, algorytm podpisu zawiera nazw
ę
urz
ę
du
certyfikacyjnego, wa
ż
no
ść
certyfikatu (pocz
ą
tek, koniec), nazw
ę
wła
ś
ciciela
certyfikatu, jego klucz publiczny oraz tzw. rozszerzenie (np. adres poczty
elektronicznej). Certyfikat ko
ń
czy si
ę
podpisem urz
ę
du certyfikuj
ą
cego. Mo
ż
e
on by
ć
publicznie udost
ę
pniony w bazie katalogowo-adresowej, je
ś
li
u
ż
ytkownik nie zło
ż
y stosownego zastrze
ż
enia.
Urz
ą
d certyfikacyjny musi mie
ć
mo
ż
liwo
ść
odwołania certyfikatu przed
upływem okresu jego wa
ż
no
ś
ci. Musz
ą
jednak istnie
ć
powody odwołania
certyfikatu, takie jak:
- klucz prywatny u
ż
ytkownika koresponduj
ą
cy z kluczem publicznym utracił
wiarygodno
ść
,
- przynale
ż
no
ść
u
ż
ytkownika wymieniona w tzw. nazwie wyró
ż
nionej uległa
zmianie,
- klucz prywatny urz
ę
du certyfikacyjnego utracił wiarygodno
ść
,
- sam u
ż
ytkownik mo
ż
e zrezygnowa
ć
z certyfikatu danego urz
ę
du
certyfikacyjnego,
- u
ż
ytkownik złamał polityk
ę
bezpiecze
ń
stwa urz
ę
du certyfikacyjnego.
Urz
ą
d certyfikacyjny musi ogłosi
ć
fakt odwołania certyfikatu przez
umieszczenie go na odpowiedniej li
ś
cie (CRL, ang. Certificate Revocation List).
Lista odwołanych certyfikatów musi by
ć
udost
ę
pniona publicznie, np. przez
umieszczenie jej w bazie katalogowo-adresowej LDAP.
Z urz
ę
dem certyfikacyjnym mo
ż
e współpracowa
ć
jeden lub wiele urz
ę
dów
rejestracyjnych zwanych RA (ang. Registration Authority). Główne zadanie RA
to rejestracja zgłosze
ń
certyfikacyjnych (certyficate request), a wi
ę
c
potwierdzenie to
ż
samo
ś
ci osób na podstawie stosownych dokumentów,
potwierdzenie pełnomocnictw (w przypadku osób prawnych), przyjmowanie
deklaracji potwierdzaj
ą
cych znajomo
ść
Polityki Certyfikacji zwanej CP (ang.
Certificate Policy) i Kodeksu Post
ę
powania Certyfikacyjnego CPS (ang.
Certificate Practice Statement).
Polityka certyfikacji (CP) i Kodeks Post
ę
powania Certyfikacyjnego (CPS)
Polityka Certyfikacji to zbiór reguł, które okre
ś
laj
ą
, do jakich celów certyfikaty
mog
ą
by
ć
u
ż
ywane i w jakim
ś
rodowisku. Okre
ś
la tak
ż
e, jakie obowi
ą
zki
spoczywaj
ą
na u
ż
ytkowniku certyfikatu, urz
ę
dzie certyfikacyjnym i urz
ę
dzie
rejestracyjnym. W Polityce Certyfikacji s
ą
zawarte równie
ż
przedsi
ę
wzi
ę
cia,
które nale
ż
y podj
ąć
, aby chroni
ć
urz
ą
d certyfikacyjny, szczególnie jego klucz
prywatny, jego sprz
ę
t komputerowy i zgromadzone dane przed
nieupowa
ż
nionym dost
ę
pem, przypadkowym zniszczeniem, kradzie
żą
, itp.
Kodeks Post
ę
powania Certyfikacyjnego jest rozszerzeniem Polityki Certyfikacji
o praktyczne przedsi
ę
wzi
ę
cia.
Polityka Certyfikacji i Kodeks Post
ę
powania Certyfikacyjnego s
ą
publicznie
dost
ę
pne i przeznaczone przede wszystkim dla przyszłych u
ż
ytkowników
Infrastruktury Klucza Publicznego.
Na podstawie tych dokumentów u
ż
ytkownik mo
ż
e stwierdzi
ć
,
ż
e dana
infrastruktura zapewnia mu wła
ś
ciwe bezpiecze
ń
stwo i mo
ż
e zaufa
ć
urz
ę
dowi
certyfikacyjnemu tej infrastruktury.
Zastosowania Infrastruktury Klucza Publicznego
Główne zastosowania PKI to poczta elektroniczna oraz serwis WWW. Mo
ż
e by
ć
tak
ż
e wykorzystana do takich usług jak bezpieczny zdalny dost
ę
p do
komputerów i
Szeroko u
ż
ywanym programem zapewniaj
ą
cym bezpiecze
ń
stwo poczty jest
PGP (ang. Pretty Good Privacy) ale odbiega on od przyj
ę
tych standardów.
Zalecanym rozwi
ą
zaniem jest stosowanie poczty elektronicznej typu S/MIME
(Secure/Multipurpose Internet Mail Extensions). Narz
ę
dzia takie jak Netscape
i Microsoft Outlook/Exchange umo
ż
liwiaj
ą
wysyłanie poczty w standardzie
S/MIME.
Szerokie zastosowanie serwisu WWW zrodziło potrzeb
ę
restrykcyjnego
dost
ę
pu do specyficznych stron WWW, identyfikacji u
ż
ytkowników pragn
ą
cych
zawiera
ć
komercyjne transakcje, które powinny by
ć
poufne i niezaprzeczalne.
Dzi
ę
ki protokołowi SSL (Secure Sockets Layer) mo
ż
na zapewni
ć
bezpieczn
ą
komunikacj
ę
mi
ę
dzy klientem a serwerem aplikacji w sieci Internet. Protokół
ten zapewnia prywatno
ść
, integralno
ść
oraz wzajemn
ą
identyfikacj
ę
mi
ę
dzy
klientem. Mo
ż
e ona by
ć
wdro
ż
ona na wszystkich dost
ę
pnych przegl
ą
darkach i
serwerach WWW.
Europejska Infrastruktura Klucza Publicznego (EuroPKI)
W ramach programów badawczych Unii Europejskiej (projekty ICE, CAR - w IV
Programie Ramowym) zbudowano Europejsk
ą
Infrastruktur
ę
Klucza
Publicznego. Urz
ą
d certyfikacyjny najwy
ż
szego poziomu (tzw. Root) znajduje
si
ę
na Politechnice w Turynie (Włochy). Temu urz
ę
dowi podporz
ą
dkowane s
ą
urz
ę
dy krajowe
Opracował Jerzy Czerbniak na podstawie materiałów:
Dr Józef Janyszek WCSP PŁ.Wrocł