X.509

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

X.509 je standard pro veřejný klíčový infrastrukturu (PKI) pro ověřování a šifrování komunikace na internetu. Byl vyvinut v roce 1988 Mezinárodní telekomunikační unií (ITU-T) a je široce používán pro zabezpečení webových stránek a elektronické komunikace. X.509 definuje formát certifikátů, které se používají k ověřování identity a poskytují informace o veřejných klíčích entit, jako jsou uživatelé, servery a certifikační autority (CA). Certifikáty X.509 jsou podepsány CA, které jsou důvěryhodné třetí strany, a tím se potvrzuje, že veřejný klíč dané entity je skutečně spojen s příslušnou identitou. X.509 také definuje formát pro digitální podpisy a algoritmy pro jejich vytváření a ověření. Digitální podpisy se používají k zajištění integrity a autenticity dat při jejich přenosu, a také k ověření identity odesílatele. Standard X.509 je klíčovou součástí infrastruktury veřejného klíče a hraje důležitou roli při zajišťování bezpečnosti internetové komunikace. Je mj. používán v protokolech SSL/TLS pro zabezpečené připojení k webovým stránkám a v protokolu S/MIME pro zabezpečenou elektronickou poštu.

V kryptografii je X.509 standard pro systémy založené na veřejném klíči (PKI) pro jednoduché podepisování. X.509 specifikuje mezi jiným formát certifikátů, seznamy zneplatněných certifikátů (CRL), parametry certifikátů a metody kontroly platností certifikátů.

Historie a využití

První verze standardu X. 509 byla publikována 3. +more července 1988. Zpočátku byl X. 509 vyvíjen pro adresářové služby X. 500, které však nebyly nikdy plně implementovány. Dnes se zkratka X. 509 obvykle používá pro X. 509 verze 3 popsaný v RFC 3280.

X. 509 původně předpokládal přísně hierarchický systém certifikačních autorit (CA) pro vydávání certifikátů. +more Jiným přístupem je model založený na vzájemné důvěře (takzvaná síť důvěry) používaný OpenPGP, ve kterém si pravost klíčů potvrzují navzájem uživatelé. Verze 3 standardu X. 509 sice obsahuje i podporu jiných topologií než je hierarchie certifikačních autorit (RFC 4158), ale jejich používání není časté.

Certifikáty

Certifikáty, které potvrzují, že daný veřejný klíč patří uvedenému vlastníkovi, jsou v systému X. 509 vydávány certifikačními autoritami. +more Vlastník může být zadán přesným jménem nebo alternativním označením, jako například e-mailová adresa nebo DNS záznam. Organizace mohou vydat své vlastní důvěryhodné kořenové certifikáty, které platí v rámci podniku. Řada webových prohlížečů má předinstalované kořenové certifikáty známých poskytovatelů certifikátů (SSL certifikáty).

V ideálním případě by si uživatel operačního systému nebo webového prohlížeče měl nainstalovat certifikáty pouze těch certifikačních autorit, kterým skutečně důvěřuje. V praxi jsou ale operační systémy a prohlížeče dodávány s předinstalovanými certifikáty, takže jejich dodavatelé vlastně určují, které certifikační autority jsou důvěryhodné pro většinu populace. +more Ačkoli tyto kořenové certifikáty si mohou uživatelé odinstalovat nebo vypnout, prakticky nikdo to nedělá. Kořenové certifikáty, které jsou součásti systému Windows, se navíc znovu nainstalují při instalaci aktualizací (konkrétně „Aktualizace kořenových certifikátů“).

X. 509 obsahuje také standard pro tvorbu seznamů zneplatněných certifikátů (CRL), což je mnohdy opomíjený aspekt kryptografických systémů. +more Způsob kontroly platnosti certifikátu schválená IETF je Online Certificate Status Protocol (OCSP).

Struktura certifikátu

Struktura certifikátu podle standardu X. 509 v3 je následující: * Version: verze certifikátu * Serial Number: sériové číslo certifikátu * Signature Algorithm: označení algoritmu (ID) * Issuer: vydavatel * Validity: platnost ** Not Before: nepoužívat před datem ** Not After: nepoužívat po datu * Subject: vlastník veřejného klíče * Subject Public Key Info: informace o veřejném klíči vlastníka ** Public Key Algorithm: algoritmus pro veřejný klíč ** veřejný klíč (data) * Issuer Unique Identifier: unikátní identifikátor vydavatele (volitelný) * Subject Unique Identifier: unikátní identifikátor vlastníka (volitelný) * X509v3 extensions: rozšíření (volitelné) ** atd. +more * Signature Algorithm: algoritmus pro certifikát (elektronický podpis) * certifikát (elektronický podpis).

Unikátní identifikátory vydavatele a vlastníka se staly součásti standardu X.509 od verze 2.

Rozšíření jsou součásti standardu X.509 od verze 3.

Přípony souborů s certifikáty

Běžně se používají následující přípony pro certifikáty X. 509: * . +moreDER - DER zakódovaný certifikát * . PEM - DER certifikát zakódovaný pomocí base64, uzavřený mezi řádky -----BEGIN CERTIFICATE----- a -----END CERTIFICATE----- * . P7B - viz p7c * . P7C - PKCS #7 struktura SignedData (podepsaná data) bez dat, jen certifikát(y) nebo CRL * . PFX - viz p12 * . P12 - PKCS #12, může obsahovat certifikát(y), veřejné i soukromé klíče (chráněno heslem).

PKCS #7 je standard pro podepsaná nebo šifrovaná data (což je oficiálně nazýváno „enveloping“). Protože k ověření podepsaných dat je potřeba certifikát, je možné obojí vložit do struktury zvané SignedData. +more Soubor . P7C je zredukovaná struktura SignedData bez dat k podpisu.

PKCS #12 se vyvinul ze standardu PFX ( = výměna osobních informací) a je používán k výměně veřejných i soukromých dat v jednom souboru.

Soubor s příponou PEM může obsahovat certifikáty i soukromé klíče, uzavřené mezi odpovídající řádka BEGIN a END (CERTIFICATE nebo RSA PRIVATE KEY).

Příklady certifikátů

Toto je příklad dekódovaného certifikátu pro www. freesoft. +moreorg, který byl vytvořen pomocí OpenSSL. Byl vydán Thawte (dnes součást firmy VeriSign) jak je uvedeno v poli vydavatel (Issuer). Informace o vlastníkovi obsahuje řadu detailů, nejdůležitější z nich je CN (common name, jméno, pod kterým je daný subjekt znám), musí odpovídat názvu serveru, který certifikát používá. Certifikát obsahuje veřejný RSA klíč (pole modulus a public exponent), následuje podpis (hašovací funkce MD5, šifrování soukromým RSA klíčem Thawte).

Certificate: Data: Version: 1 (0x0) Serial Number: 7829 (0x1e95) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte. com Validity Not Before: Jul 9 16:04:02 1998 GMT Not After : Jul 9 16:04:02 1999 GMT Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, CN=www. +morefreesoft. org/emailAddress=baccala@freesoft. org Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb: 33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1: 66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66: 70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17: 16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b: c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77: 8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3: d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8: e8:35:1c:9e:27:52:7e:41:8f Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d: 92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92: ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67: d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72: 0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1: 5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7: 8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22: 68:9f.

Pro kontrolu certifikátu vlastníka (první certifikát) potřebujete certifikát vydavatele (Thawte Server CA). Nejdříve zkontrolujeme, že certifikát vydavatele (druhý certifikát) je certifikát certifikační autority. +more To je uvedeno v sekci pro rozšíření (X509v3 extensions), hodnota CA musí být nastavena na true. Pak použijeme veřejný RSA klíč z certifikátu vydavatele pro kontrolu podpisu v certifikátu vlastníka (první certifikát). Příklad certifikátu vydavatele:.

Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte. com Validity Not Before: Aug 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte. +morecom Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d3:a4:50:6e:c8:ff:56:6b:e6:cf:5d:b6:ea:0c: 68:75:47:a2:aa:c2:da:84:25:fc:a8:f4:47:51:da: 85:b5:20:74:94:86:1e:0f:75:c9:e9:08:61:f5:06: 6d:30:6e:15:19:02:e9:52:c0:62:db:4d:99:9e:e2: 6a:0c:44:38:cd:fe:be:e3:64:09:70:c5:fe:b1:6b: 29:b6:2f:49:c8:3b:d4:27:04:25:10:97:2f:e7:90: 6d:c0:28:42:99:d7:4c:43:de:c3:f5:21:6d:54:9f: 5d:c3:58:e1:c0:e4:d9:5b:b0:b8:dc:b4:7b:df:36: 3a:c2:b5:66:22:12:d6:87:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9: a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48: 3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88: 4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9: 8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5: e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9: b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e: 70:47.

V tomto příkladu je vydavatel a vlastník certifikátu totožný. Jedná se o příklad certifikátu podepsaného sám sebou (self-signed). +more Platnost certifikátu tedy nemůžete ověřit. Místo toho musí být certifikát ručně nahrán na počítač (případně musí být přímo součásti webového prohlížeče nebo operačního systému). Thawte je příkladem kořenového certifikátu, který je už přímo součásti řady www prohlížečů, takže bude automaticky uznán platným. Soukromé klíče globálních důvěryhodných certifikačních autorit musí být chráněny opravdu pečlivě.

Bezpečnost

V roce 2005 Arjen Lenstra a Benne de Weger předvedli „jak použít kolize v hašování k vytvoření dvou X. 509 certifikátů, které obsahují stejné podpisy a které se liší jen ve veřejných klíčích“ s využitím kolizí v hašovací metodě MD5. +more [http://www. win. tue. nl/~bdeweger/CollidingCertificates/ddl-full. pdf].

PKI Standardy pro X.509

PKCS #7 (Cryptographic Message Syntax Standard) - formát podepsaných a/nebo šifrovaných zpráv pomocí PKI * Secure Sockets Layer (SSL) - kryptografický protokol pro bezpečnou internetovou komunikaci * Online Certificate Status Protocol (OCSP) / Certificate Revocation List (CRL) - kontrola, zda certifikát nebyl zneplatněn * PKCS #12 (Personal Information Exchange Syntax Standard) - standard pro výměnu osobních informací, použit pro ukládání soukromých a veřejných klíčů s příslušnými certifikáty

Certifikační autorita

Certifikační autorita (CA) je entita, která vydává digitální certifikáty pro použití v jiných oblastech. Je to příklad důvěryhodné třetí strany. +more Použití CA je charakteristické pro řadu systémů založených na veřejném klíči (public key infrastructure, PKI).

Existuje řada komerčních CA, které poskytují placené služby. Firmy a úřady mohou pro své použití využívat své vlastní CA (bez poplatků).

Pracovní skupina PKIX

Pracovní skupina zvaná PKIX je pracovní skupinou organizace Internet Engineering Task Force (IETF) určenou pro vytváření dokumentů RFC a dalších standardizujících dokumentů, která se zabývá systémy založenými na veřejných klíčích (PKI) využívajících certifikátů X. 509. +more PKIX byla založena na podzim roku 1995.

Protokoly a standardy využívající certifikáty X.509

Transport Layer Security (TLS/SSL) * Secure Multipurpose Internet Mail Extensions (S/MIME) * IPsec * SSH * Smartcard * HTTPS * Extensible Authentication Protocol * LDAP (Lightweight Directory Access Protocol) * WS-Security * Extensible Messaging and Presence Protocol (XMPP)

Kategorie:Kryptografie s veřejným klíčem

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top