X.509 er en standard som spesifiserer formater for sertifikater for offentlige nøkler , sertifikat tilbakekallingslister, sertifikatattributter og en sertifiseringsveivalideringsalgoritme, definert av International Telecommunication Union (ITU). X.509 etablerer blant annet et standard elektronisk sertifikatformat og en algoritme for sertifiseringsveivalidering. X.509 har også vært mange RFCer til IETF .
X.509 ble opprettet i 1988 som en del av X.500- standarden . Den er basert på et hierarkisk system av sertifiseringsmyndigheter , i motsetning til nettverk av tillit (for eksempel OpenPGP- nettet av tillit ), hvor alle kan signere andres sertifikater.
I X.509-systemet, en sertifisering myndighet tildeler et sertifikat binde en offentlig nøkkel til et unikt navn som format er definert av X.500 anbefaling , eller til et alternativt navn ( Alternativt navn ) som '' en e-postadresse eller DNS rekord .
Dette sertifikatet plasserer signaturen til en sertifiseringsmyndighet i det siste feltet. Denne signaturen utføres konkret av et kondensat av alle de foregående feltene i sertifikatet og en kryptering av dette kondensatet av sertifiseringsmyndighetens private nøkkel. Alle med den offentlige nøkkelen for den CA kan dekryptere hasjen og sammenligne den med sin egen sertifikat-hash-beregning. Hvis de to kondensatene er identiske, garanterer dette at sertifikatet er intakt, det er ikke endret. CA-sertifikatet som inneholder den offentlige nøkkelen kan i sin tur signeres av et annet sertifikat på høyere nivå, og danner dermed en kjede. På toppen av kjeden er de viktigste sertifikatene : rotsertifikater .
Rootsertifikater er usignerte, eller selvsignerte, offentlige nøkler som du stoler på. Programvare, som nettlesere eller e-postklienter, inneholder rotsertifikater fra mange kommersielle eller offentlige sertifiseringsmyndigheter. Når en nettleser åpner en sikker forbindelse ( TLS / SSL ) til et nettsted som har et sertifikat utstedt av en kjent myndighet, anser det nettstedet som sikkert så lenge sertifiseringsstien er validert. Å bytte til sikker modus er da gjennomsiktig.
Hvis programvaren (nettleser eller annen) ikke kjenner sertifiseringsmyndigheten (sertifikat generert og selvsignert av en person eller sertifiseringsmyndighet som ennå ikke er kjent eller frivillig fjernet fra listen over godkjente myndigheter), foreslår nettleseren å undersøke sertifikatet, så å godta eller avvise det i henhold til tilliten til det.
X.509 kan brukes med S / MIME , TLS / SSL , SET og IPsec .
Den opprinnelige definisjonen er tilgjengelig i RFC 2459 (seksjon 4) eller i den nyeste versjonen ( RFC 5280), som inneholder en spesialisering på X.509 for Internett- applikasjoner . Den autentiserte delen inneholder følgende felt:
Navnene på avsenderen (også undertegnet) og innehaveren er X.501 navn, som også finnes i ISO- og LDAP- kataloger . Ovennevnte innhold følges av en repetisjon av signaturalgoritmen og selve signaturen.
Ingenting blant de obligatoriske feltene gjør det mulig å skille en sertifiseringsmyndighet (en organisasjon som utsteder sertifikater) fra en enkel innehaver. BasicConstraints- utvidelsen definert i X.509 versjon 3 adresserer denne begrensningen. En annen ufullkommenhet av samme type er at bare navnet tillater at et sertifikat knyttes til utstederens, mens navnene ikke kan garanteres.
De RFC 5280 definerer en sum av forlengelser som angir den tilsiktede bruk av sertifikatet. Her er de vanligste utvidelsene:
Generelt sett, hvis et sertifikat har flere utvidelser som begrenser bruken av det, må alle vilkårene være oppfylt for at bruken skal være passende. Den RFC 5280 gir spesifikt eksempel på et sertifikat som inneholder både keyUsage extendedKeyUsage og, i dette tilfellet de to begrensninger må være oppfylt for sertifikatet kan brukes i henhold til tiltenkte bruk.
Her er de vanlige utvidelsene av sertifikater i X.509-format:
En sertifikatkjede er en liste over sertifikater (som starter med en enhet som skal sertifiseres, for eksempel en server), som består av en eller flere sertifiseringsmyndigheter (den siste er signert av seg selv), og har følgende egenskaper:
Sertifikatkjeder brukes for å sikre at den offentlige nøkkelen og sertifikatet dataene ( 1 st av kjeden) svarer til eieren av det. For å sikre dette blir den digitale signaturen bekreftet ved hjelp av den offentlige nøkkelen til neste enhet i kjeden, selv signert av den offentlige nøkkelen til neste enhet til den når den siste enheten i kjeden. Som siste sertifikat anses å være klarert, gå tilbake til det til slutt utgjør autentisere en st sertifikat.
Et sertifikat kan bli ugyldig av mange grunner, for eksempel naturlig utløp (overskridelse av gyldighetsdatoen), tap eller kompromiss av den private nøkkelen som er knyttet til sertifikatet, endring av minst ett felt inkludert i navnet på sertifikatinnehaveren / innehaveren og ekstreme sakstap eller kompromiss med den private nøkkelen til sertifiseringsmyndigheten som signerte det aktuelle sertifikatet.
Dette er grunnen til at standarden definerer formatet på en liste som indikerer sertifikatene som har blitt ugyldige for en gitt sertifiseringsmyndighet. Denne listen er signert av sertifiseringsmyndigheten for å forhindre endringer fra en uautorisert person.
Den inkluderer en utstedelsesdato, en oppdateringsdato (begge valgfrie) og selve listen i form av par (serienummer på det tilbakekalte sertifikatet; mulig årsak til tilbakekalling) . Mønsteret kan bare være tilstede i CRL i versjon 2-format.
En noen ganger irriterende begrensning av CRL er forsinkelsen i å formidle tilbakekallingsinformasjon. For å redusere dette er OCSP- sertifikatvalideringsprotokollen utviklet. Definert i utgangspunktet i RFC 2560 og deretter igjen i RFC 6960, gir denne protokollen omtrent den samme informasjonen som CRL, men potensielt mer oppdatert.
Etter utgivelsen av en hel kollisjon søk angrep mot MD5 i 2004, Arjen Lenstra , Wang Xiaoyun, og Benne de Weger ble interessert i X.509 bruke MD5 for autentisering. Angrepet deres resulterte i at to sertifikater ble smidd med identiske signaturer.
Bruk av SHA-1 kryptografisk hash- funksjon løser bare delvis problemet et lignende angrep er teoretisk mulig, selv om kompleksiteten ved å finne kollisjoner på SHA-1 er mye større enn på MD5.
Løsninger:
Sertifiseringsmyndigheter:
Verktøy (gratis):