Kryptografi og nettverkssikkerhet Kapittel 14.2: X.509 Autentiseringstjeneste
Truls Fretland Oktober 2005 X.509 - Oversikt Definerer et rammeverk for autentiserings-tjenester. En ITU-T (International Telecommunication Union – Telecommunication) anbefaling Brukes i flere sammenhenger; S/MIME (epost), IPsec, SSL/TLS, SET (e-handel). Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 Hva er et sertifikat? I dagligtale: Et skriftlig bevis (for eksempel førerkort), opprinnelsesbevis. I kryptografi: Et digitalt signert objekt fra en instans (CA) som forteller at den offentlige nøkkelen til en annen instans har en bestemt verdi. Det er den private nøkkelen til CA som brukes til å signere sertifikatet. Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 X.509 - Sertifikatet. Utstedt av en sertifiserings autoritet (CA = Certification Authority) eks. VeriSign og inneholder: Versjons nr. (1 / 2 / 3) - V Serienr. (unikt for hver CA) som identifiserer sertifikatet - SN Signatur algoritme id. - AI Utsteder - CA Gyldighetsperiode - TA Eier av nøkkelen - A Kjent-nøkkel informasjon (algoritme, parametre, nøkkel) Utvidelser for versjon 2 og 3 Signatur (av hash av alle felt i sertifikatet) med CA’s private nøkkel Notasjon: CA<<A>> = CA{V, SN, AI, CA, TA, A, Ap} Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 Om notasjonen Y<<X>> = sertifikatet til bruker X utstedt av sertifiserings autoritet (CA) Y. Y{I} = Y har signert I. Signaturen består av I og en hash av meldingen kryptert med Y sin private nøkkel. Når brukeren kjenner Y’s offentlige nøkkel, så kan den verifisere at meldingen kom fra Y. Truls Fretland Oktober 2005
Anskaffelse av sertifikat Enhver bruker med tilgang til CA kan få sertifikater fra denne Avhengig av at hver bruker har mottatt CA’s offentlige nøkkel på en trygg måte Bare CA kan endre et sertifikat Sertifikatene kan dermed ligge i en ubeskyttet katalog Ok hvis alle brukere har en CA. Hva hvis det er flere CA? Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 CA hierarki Lager et hierarki av CA, der hver CA stoler på foreldre og barn-nodene. Muliggjør verifikasjon av alle sertifikat fra en CA for alle andre CA i hierarkiet ved bruk av sertifikatkjeder. X kjenner Y som kjenner B: X<<Y>>Y<<B>> Y kjenner X som kjenner A: Y<<X>>X<<A>> Truls Fretland Oktober 2005
Eksempler på utstedere Truls Fretland Oktober 2005
Sertifikat tilbakekalling Sertifikater har en gyldighetsperiode Kan måtte tilbakekalles før denne har utløpt: Brukerens private nøkkel er avslørt Bruker er ikke lenger attestert av denne CA CA’s sertifikat er ”avslørt”. CA’ene vedlikeholder en liste (CRL = Certificate Revocation List) over tilbakekalte sertifikater som ikke har utløpt på tid. Truls Fretland Oktober 2005
Autentiseringsprosedyrer X.509 inkluderer tre alternative autentiseringsprosedyrer: Enveis Toveis Treveis Alle disse bruker offentlig-nøkkel signaturer Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 Enveis autentisering En melding fra A til B brukes for å etablere: Identiteten til A og at meldingen er fra A Meldingen er tiltenkt B Integriteten og originaliteten til meldingen Meldingen må inkludere tidsmerke, nonce (number used once), B’s identitet og må signeres av A Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 Notasjon A{tA, rA, IDB, sgnData, EKUb[Kab]} tA: tidsmerket, hindrer forsinket leveranse rA:tilfeldig tall brukt en gang, sikrer at meldingen kun er sendt en gang IDB: B’s identitet sgnData: eventuell informasjon som signeres EKUb[Kab]: sesjonsnøkkel kryptert med den offentlige nøkkelen til B Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 Toveis autentisering To meldinger (A → B, B → A ) som i tillegg etablerer: Identiteten til B og at svaret er fra B At svaret er tiltenkt A Integriteten og originaliteten til svaret Svaret inkluderer original nonce fra A og tidsmerke og nonce fra B. Truls Fretland Oktober 2005
Treveis autentisering Tre meldinger (A → B, B → A, A → B ) som muliggjør autentisering uten synkroniserte klokker Sender svaret fra A tilbake til B og inneholder en signert kopi av nonce fra B Trenger dermed ikke sjekke eller stole på tidsmerkene Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 X.509 Versjon 3 For å inkludere mer informasjon i et sertifikat. Definerer en generell utvidelsesmetode istedenfor å eksplisitt navngi nye felt. Utvidelsene inneholder: Utvidelses-ID Kritisk indikator Utvidelses verdi Truls Fretland Oktober 2005
Truls Fretland Oktober 2005 Sertifikater i Java http://java.sun.com/j2se/1.5.0/docs/guide/security/cert3.html Truls Fretland Oktober 2005