x.509 autentikacioni servis - university of belgrade x509.pdf · x.509 autentikacioniservis • deo...

22
X.509 autentikacioni servis

Upload: others

Post on 18-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

X.509 autentikacioni servis

Page 2: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 3: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 4: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

X.509 Sertifikati

Page 5: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

X.509 sertifikat

Page 6: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 7: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 8: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 9: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

CA Hijerarhija korišćenja

Page 10: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 11: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 12: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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)

Page 13: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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)

Page 14: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 15: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 16: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 17: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 18: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 19: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 20: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 21: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

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

Page 22: X.509 autentikacioni servis - University of Belgrade x509.pdf · X.509 AutentikacioniServis • Deo CCITT X.500 directory service standarda – Distribuirani serveri koji održavaju

PKI infrastruktura