Hlavní navigace

Ukryto pod rouškou X.509

Ondřej Bitto 10. 6. 2005

S digitálními certifikáty se uživatelé Internetu mohou setkat poměrně často - slouží totiž k ověřování identity vlastníků šifrovacích klíčů. Jedním z nejpoužívanějších typů jsou certifikáty X.509, které nacházejí uplatnění například při komunikaci skrze protokol SSL. Jaká je jejich vnitřní struktura a obsah a jak si vlastní certifikát můžete vytvořit?

V nedávno publikovaném článku Skryté vnady protokolu SSL byly naznačeny digitální certifikáty a práce s nimi, následující řádky a odstavce se na tuto problematiku zaměří z větší blízkosti. Jelikož opakování je matkou moudrosti, tak pouze pro připomenutí uveďme, že certifikáty jednoznačně spojují šifrovací klíče s jejich vlastníky a dovolují v dostatečné míře ověřit, komu patří.

Pravděpodobně nejznámějším typem digitálních certifikátů současnosti je X.509 (RFC 3280), původně návrh ITU-T uvedený v roce 1988 ve spojitosti se standardem X.500 (definuje adresářové služby). Struktura certifikátu X.509 verze 3 je následující (v závorkách jsou uvedeny odpovídající RFC ekvivalenty):

  • Číslo verze (version)
  • Sériové číslo (serialNumber)
  • ID podpisového algoritmu (signature)
  • Vydavatel (issuer)
  • Platnost (validity)
    • Od (notBefore)
    • Do (notAfter)
  • Subjekt (subject)
  • Informace o veřejném klíči subjektu (subjectPublic­KeyInfo)
    • Algoritmus veřejného klíče subjektu (algorithm)
    • Veřejný klíč subjektu (subjectPublicKey)
  • Jednoznačná identifikace vydavatele (issuerUniqueID)
  • Jednoznačná identifikace subjektu (subjectUniqueID)
  • Rozšíření certifikátu (extensions)

  • ID podpisového algoritmu certifikátu (signatureAlgo­rithm)
  • Digitální podpis certifikátu (signatureValue)

Jak naznačuje horizontální oddělovač před posledními dvěma položkami, je celý certifikát (tedy všechny jeho prvky) digitálně podepsanou posloupností. Tento fakt je lépe vidět z části formálního zápisu v abstraktním jazyce ASN.1:

Certificate    ::=     SEQUENCE     {

         bsCertificate     TBSCertificate,

         signatureAlgorithm       AlgorithmIdentifier,

         signatureValue       BIT STRING

         }

TBSCertificate    ::=    SEQUENCE    {

           . . .

         }


Číslo verze certifikátu (version) neodpovídá ničemu jinému než použité variantě X.509 a může nabývat hodnot 0 (verze 1), 1 (verze 2), nebo konečně 2 (verze 3). Sériové číslo certifikátu (serialNumber) musí z definice být celé číslo.

Identifikátor podpisového algoritmu (signature) obsahuje dvě položky, a sice označení algoritmu (např. DSA) spolu s jím požadovanými parametry (bližší informace o používaných identifikátorech viz RFC 3279). Použitý algoritmus musí být shodný s podpisovým algoritmem celého certifikátu (signatureAlgo­rithm).

Položka Vydavatel (issuer) obsahuje identifikaci organizace, která certifikát vydala a podepsala, a podobně prvek Subjekt (subject) identifikuje toho, komu byl certifikát vydán. K tomu se používají speciální jedinečná jména (definováno v X.501), jež se označují jako Distinguished name (DN). Jedinečné jméno se skládá z posloupnosti relativních jedinečných jmen (Relative Distinguished Name) tvaru identifikátor =  hodnota, kde identifikátory na levé straně rovnosti mohou být například Country ©, Organization (O), Common Name (CN) apod. Výsledkem je pak kýžená stromová struktura:

1667

Webový prohlížeč pak samozřejmě dovoluje tyto informace u každého certifikátu také zobrazit:

1668

WT100

Položky jednoznačné identifikace vydavatele (issuerUniqueID) a předmětu (subjectUniqueID) byly zavedeny „až“ v X.509 verze 2 a slouží k řešení problémů s několikanásobným použitím stejných hodnot issuer či subject. Konečně rozšíření (extensions)spat­řila světlo světa spolu s třetí verzí X.509 a dovolují přidat k certifikátu další položky. Vlastní testovací certifikát s omezenou dvoutýdenní dobou platnosti si lze na počkání vytvořit například na stránkách První certifikační autority, a.s., kdy vám během několika málo chvil vytvořený certifikát bude doručen e-mailem.

Webové prohlížeče samozřejmě umožňují nové certifikáty importovat, exportovat a spravovat. Fyzický soubor s certifikátem lze rozeznat, například podle následujících přípon:

  • .CER, .DER certifikát kódovaný podle DER (Distinguished Encoding Rules, používá se pro zakódování dat před jejich podepsáním)
  • .PEM údaje certifikátu kódovány v Base64 a uzavřeny mezi řetězce -----BEGIN CERTIFICATE----- a -----END CERTIFICATE-----
  • .P7B, .P7C, .PK7 údaje kódovány podle PKCS#7 (Public Key Cryptography Standard, RFC 2315) a uzavřeny mezi řetezce -----BEGIN PKCS7----- a -----END PKCS7-----
  • .PFX, .P12 údaje kódovány dle PKCS#12

Anketa

Hledáte informace ve zdrojích RFC?

Našli jste v článku chybu?
120na80.cz: Zázrak ze smetiště: co léčí lopuch?

Zázrak ze smetiště: co léčí lopuch?

Lupa.cz: Jen technická kvalita může být málo

Jen technická kvalita může být málo

DigiZone.cz: LG OLED65E6: první pohled

LG OLED65E6: první pohled

Podnikatel.cz: Jak vám může jóga pomoci v byznysu?

Jak vám může jóga pomoci v byznysu?

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?

Podnikatel.cz: Babišovy firmy a registr smluv. Co odhalil?

Babišovy firmy a registr smluv. Co odhalil?

Vitalia.cz: Test dětských svačinek: Tyhle ne!

Test dětských svačinek: Tyhle ne!

DigiZone.cz: Samsung EVO-S: novinka pro Skylink

Samsung EVO-S: novinka pro Skylink

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Pure má tři nové přijímače DAB

Pure má tři nové přijímače DAB

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

Vitalia.cz: Inspekce našla nelegální sklad v SAPĚ. Zase

Inspekce našla nelegální sklad v SAPĚ. Zase

DigiZone.cz: O2 TV doplnilo kanály HBO v HD

O2 TV doplnilo kanály HBO v HD

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

DigiZone.cz: Mordparta: trochu podchlazený 87. revír

Mordparta: trochu podchlazený 87. revír