X.509
Főnév
X.509 (tsz. X.509s)
- (informatika) Az X.509 egy nyilvános kulcsú infrastruktúra (PKI) szabvány, amelyet az ITU-T (Nemzetközi Távközlési Egyesület) hozott létre. A szabvány célja az, hogy tanúsítványokat (angolul: certificates) írjon le, amelyek biztosítják, hogy egy adott nyilvános kulcs ténylegesen egy adott félhez tartozik.
A leggyakoribb felhasználási területek: - HTTPS weboldalak (SSL/TLS tanúsítványok) - E-mail titkosítás (S/MIME) - VPN-ek és IPsec - Digitális aláírások - Elektronikus személyazonosság (pl. e-személyik, okmányok)
Az X.509 tanúsítvány felépítése
Egy X.509 tanúsítvány egy strukturált adatcsomag, amely tipikusan ASN.1 nyelven van leírva, és DER vagy PEM formátumban kerül tárolásra. Tartalmazza többek között:
- Tanúsítvány verziószáma
- Sorozatszám – egyedi azonosító a kibocsátó szerint
- Aláírás algoritmus – pl. SHA256-RSA
- Kibocsátó (Issuer) – aki kiállította a tanúsítványt (pl. Let’s Encrypt)
- Érvényességi időszak – kezdődátum és lejárat
- Tulajdonos (Subject) – akinek a tanúsítvány szól (pl. egy domain)
- Nyilvános kulcs (Subject Public Key Info) – a titkosításhoz vagy ellenőrzéshez
- Aláírás – a kibocsátó digitális aláírása
- Kiterjesztések (Extensions) – pl. tanúsítvány célja, CA szerepe, SAN mezők
Tanúsítványlánc (Certificate Chain)
Az X.509 PKI rendszerben a bizalom egy hierarchián alapul. Ez úgy néz ki, hogy:
- Végfelhasználói tanúsítvány – pl. egy weboldalhoz tartozó
- Köztes tanúsítvány(ok) – egy vagy több köztes CA (Certificate Authority)
- Gyökér tanúsítvány (Root CA) – ez a legfelső szint, amelyet a böngészők, operációs rendszerek előre megbízhatónak tekintenek
A kliens (pl. böngésző) úgy ellenőrzi a tanúsítványt, hogy visszaköveti a láncot a gyökérig, miközben minden lépésnél ellenőrzi az aláírásokat.
Mire jó az X.509?
1. Hitelesítés
Biztosítja, hogy a kommunikáció egy megbízható féllel történik. Például ha belépsz a bankod weboldalára, az SSL tanúsítvány biztosítja, hogy valóban a bank szerveréhez kapcsolódsz.
2. Titkosítás
A tanúsítvány tartalmaz egy nyilvános kulcsot. Ezzel a kulccsal lehet az adatokat titkosítani, amelyeket csak a hozzá tartozó privát kulccsal lehet visszafejteni.
3. Digitális aláírás
Az aláíró privát kulccsal aláír valamit (pl. szoftver, e-mail), és a tanúsítvány nyilvános kulcsával ezt mások hitelesíthetik.
Példa egy egyszerű X.509 tanúsítványra
A PEM formátumú tanúsítvány így néz ki (rövidített):
-----BEGIN CERTIFICATE----- MIIDXTCCAkWgAwIBAgIJAPlz9DnF7yR5MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV ... -----END CERTIFICATE-----
Ez a Base64 kódolású DER formátum. A tartalom egy strukturált ASN.1 szintaxis szerinti adatcsomag.
X.509 és TLS/SSL
A HTTPS kapcsolat során (amit TLS véd), az alábbi folyamat zajlik:
- A kliens (pl. böngésző) kéri a szervertől a tanúsítványát.
- A szerver elküldi az X.509 tanúsítványt és esetleg a tanúsítványláncot.
- A kliens ellenőrzi:
- Az aláírás érvényességét
- A lánc megbízhatóságát
- A domain-azonosságot (pl. SAN mezők alapján)
- A lejárati dátumot
- A visszavonási listákat (CRL/OCSP)
Ha minden rendben, akkor biztonságos TLS kapcsolat jön létre.
Tanúsítvány típusok
- Self-signed (önaláírt): magadnak írsz tanúsítványt (nem megbízható alapból)
- Domain Validated (DV): csak a domain birtoklása ellenőrzött
- Organization Validated (OV): a cég is ellenőrzött
- Extended Validation (EV): szigorú céges ellenőrzés, zöld címsor (régebben)
Visszavonás (Revocation)
Ha egy tanúsítvány kompromittálódik vagy lejár előbb, vissza kell vonni. Két fő módszer van: - CRL (Certificate Revocation List): időnként frissített lista - OCSP (Online Certificate Status Protocol): online lekérdezés
Formátumok
- PEM (Base64 + fejléc/lábléc) – gyakori UNIX rendszereken
- DER (bináris) – inkább Windows rendszerekhez
- PFX/P12 – privát kulcs + tanúsítvány + lánc egy fájlban (jelszóval védett)
Biztonsági megjegyzések
- A tanúsítvány nem titkosít semmit önmagában – csak a nyilvános kulcsot és metaadatokat hordoz.
- A privát kulcs védelme létfontosságú – ez alapján lehet visszafejteni a titkosított adatokat vagy aláírni.
- A tanúsítványok lejárhatnak, és a megbízhatósági lánc időnként frissítést igényel.
Összefoglalás
Az X.509 szabvány az alapja a mai digitális bizalomrendszernek, különösen a webes és hálózati biztonságban. Egy tanúsítvány segítségével: - Azonosíthatunk entitásokat (domain, ember, szervezet) - Biztosíthatjuk a titkosítást és hitelesítést - Ellenőrizhető a megbízhatósági lánc
Az X.509 nélkül nem lenne lehetséges az a szintű internetes biztonság, amelyet ma természetesnek veszünk.