X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo...
Transcript of X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo...
X.509 autentikacioni servis
X.509 Autentikacioni Servis
• Deo CCITT X.500 directory service standarda– Distribuirani serveri koji održavaju neku bazu sa
informacijama
• Definiše framework za autentikacione servise– Direktorijumi mogu da čuvaju sertifikate za javne
ključeve– Direktorijumi mogu da čuvaju sertifikate za javne
ključeve
– Javni ključevi korisnika potpisani od strane sertifikacionog autoriteta
• Takođe definiše autentikacione protokole
• Koristi javne ključeve za kriptografiju i digitalne potpise– Algoritmi nisu standardizovani
X.509 Sertifikati
• Izdaju se od strane sertifikacionog autoriteta Certification Authority (CA) i sadrže: – verziju (1, 2, or 3)
– Serijski broj (jedinstven za taj CA) koji identifikuje sertifikat
– Identifikator algoritma za digitalno potpisivanje
– Ime prema X.500 onoga koji je izdao (taj CA) – Ime prema X.500 onoga koji je izdao (taj CA)
– Vreme važenja (datumi od - do)
– Ime vlasnika prema X.500
– Informacije o javnom ključu vlasnika (algoritam, parametri, ključ)
– Jedinstveni identifikator izdavaoca (CA) (v2+)
– Jedinstveni identifikator vlasnika (v2+)
– Dodatna polja fields (v3)
– potpis (hash-a svih polja u sertifikatu)
• označavanje CA<<A>> je sertifikat za A potpisan od CA
X.509 Sertifikati
X.509 sertifikat
Dobijanje sertifikata
• Bilo koji korisnik koji može da pristupi CA
može da dobije bilo koji sertifikat od njega
• Samo CA može da modifikuje sertifikat
• Pošto se ne mogu lažirati, sertifikati se • Pošto se ne mogu lažirati, sertifikati se
mogu postaviti u javni direktorijum
CA Hijerarhija
• Ako oba učesnika dele zajednički CA, tada se pretpostavlja da poznaju njegov javni ključ
• U suprotnom se mora formirati hijerarhija CA
• Koriste se sertifikati koji povezuju učesnike u hijerarhiji da se provere drugi CA hijerarhiji da se provere drugi CA – Svaki CA poseduje sertifikate za klijente (naniže) i
roditelje (naviše)
• Svaki klijent veruje u sertifikat roditelja
• Omogućava verifikaciju bilo kog sertifikata izdatog od strane jednog CA od korisnika svih ostalih CA u hijerarhiji
Direktna veza dva CA
• A dobio sertifikat od sertifikacionog autoriteta X1
• B dobio sertifikat od sertifikacionog autoriteta X2
• Ne znaju kako da provere javni ključ tuđeg CA
• A dobija od svog CA sertifikat X2 potpisan od strane X1. Dovoljno je da X1 ima sertifikat X2strane X1. Dovoljno je da X1 ima sertifikat X2
• A se tada obrati X2 i zatraži sertifikat za B potpisan od X2. Kako sada ima javni ključ X2 u koji veruje, proverava potpis i dobija siguran javni ključ B
• Za A X.509 notacija: X1<<X2>> X2 <<B>>
• Za B X.509 notacija: X2<<X1>> X1 <<A>>
CA Hijerarhija korišćenja
Povlačenje sertifikata
• Sertifikati imaju period važenja
• Mogu se povlačiti pre isteka,
npr:
1. Korisnikov privatni ključ je
kompromitovankompromitovan
2. Korisniku se više ne izdaje
sertifikat od tog CA
3. Sertifikat CA je kompromitovan
• CA održava listu povučenih
sertifikata - Certificate
Revocation List (CRL)
• Korisnik bi morao da upoređuje
sertifikate sa CRL CA
Povlačenje sertifikata - problemi (1)
• Redovno ažurirana CRL – neskalabilno u
velikim PKI sistemima, veliki saobraćaj,
DoS napadi na CRL – ne dobija se
informacija da Cert nije validaninformacija da Cert nije validan
• Periodično ažurirana CRL – potencijalno
netačne informacije
• Delta CRL – Periodična CRL + male
izmene – malo realnih primena
Povlačenje sertifikata - problemi (2)
• OCSP – Online Cert Status Protocol (RFC 6960)
– provera validnosti datog sertifikata – sve
poruke se potpisuju, potencijalno veliki
saobraćaj ka CRL, opterećenje procesora
• Lightweight OCSP (RFC 5019)
• Provera validnih sertifikata – traži se iz
direktorijuma sertifikat za datog korisnika
• SCVP – Server-Based Certificate Validation
Protocol (RFC 5055)
X.509 Verzija 3
• Uočeno je da su potrebne dodatne informacije
za sertifikat
– email/URL, detalji oko politike, ograničenja korišćenja
• Uveden generalan metod dodavanja ekstenzija• Uveden generalan metod dodavanja ekstenzija
• Sadržaj ekstenzije:
– Identifikator ekstenzije (extension identifier)
– Indikator kritičnosti (criticality indicator)
– Vrednost ekstenzije (extension value)
Ekstenzije
• Mogu se podeliti u tri grupe:– Informacije o ključevima i polisama (key and policy information)
• Dodatne ingormacije o ključevima i polisama za koje se sertifikat može koristiti
– Atributi izdavaoca i vlasnika sertifikata (certificate subject and issuer attributes)
• Podrška za različite formate imena izdavaoca i vlasnika sertifikata
– Ograničenja prilikom validacije sertifikata (certificate path constraints)
• Dodatna ograničenja na načine primene sertifikata
Informacije o ključevima i
polisama• Authority key identifier – podrška za više parova CA
ključeva
• Subject key identifier – podrška za više parova korisničkih ključeva
• Key usage – indikator primenljivosti ključa (digitalno potpisivanje, neporecivost, šifrovanje ključa, šifrovanje
• Key usage – indikator primenljivosti ključa (digitalno potpisivanje, neporecivost, šifrovanje ključa, šifrovanje podataka, ...)
• Certificate policies – lista polisa u kojima je sertifikat podržan
• Policy mappings – koristi se za sertifikate za CA izdate od strane drugog CA da se naznače ekvivalencije između različitih polisa
Atributi izdavaoca i vlasnika
sertifikata• Subject alternative name – jedno ili više
alternativnih imena vlasnika sertifikata u raznovrsnim formatima
• Issuer alternative name – jedno ili više alternativnih imena izdavaoca sertifikata u alternativnih imena izdavaoca sertifikata u raznovrsnim formatima
• Subject directory attributes – sadrži bilo koji atribut X.500 direktorijuma za vlasnika sertifikata
Ograničenja prilikom validacije
sertifikata• Basic constraints – indikator da li vlasnik može
da se ponaša kao CA
• Name constraints – naznaka imenskog prostora u kome se moraju nalaziti imena vlasnika sertifikata u lancu sertifikatasertifikata u lancu sertifikata
• Policy constraints – nameće se identifikacija polise koja se koristi ili se uvodi zabrana provere polise u ostatku sertifikacionog puta
Autentikacione procedure
• X.509 uključuje tri alternativne
autentikacione procedure:
– One-Way Autentikacija
– Two-Way Autentikacija– Two-Way Autentikacija
– Three-Way Autentikacija
• Svi koriste potpisivanje javnim ključem
• Javni ključ je dobijen iz sertifikata
One-Way Autentikacija
• 1 poruka ( A->B) da se utvrdi
– identitet A i da je poruka od A
– Da je poruka namenjena za B
– Integritet i originalnost poruke
• Poruka mora da uključuje timestamp, nonce, identitet B i • Poruka mora da uključuje timestamp, nonce, identitet B i
da je potpisana od strane A
Two-Way Autentikacija
• 2 poruke (A->B, B->A) koje dodatno utvrđuju:
– Identitet B i da je odgovor od B
– Da je odgovor namenjen A
– Integritet i originalnost odgovora
• Odgovor uključuje originalni nonce od A, a takođe i • Odgovor uključuje originalni nonce od A, a takođe i
timestamp i nonce od B
Three-Way Autentikacija
• 3 poruke (A->B, B->A, A->B) koje omogućavaju
prethodnu autentikaciju bez sinhronizovanih časovnika
• Sadrži još odgovor A ka B sa potpisanom kopijom nonce
od B
• Znači da vremenski markeri (timestamps) ne moraju da • Znači da vremenski markeri (timestamps) ne moraju da
se proveravaju i nisu izvor poverenja
PKI infrastruktura