Tanusítvány

1. Mit nevezünk tanúsítványnak?

A nyilvános kulcsú infrastruktúra minden szereplőjének van egy magánkulcsa, amit titokban tart és egy nyilvános kulcsa, amit nyilvánosságra hoz. Ahhoz, hogy (titkosan vagy hitelesen) kommunikálhassunk valakivel, hitelesen kell hozzájutnunk az ő nyilvános kulcsához. A nyilvános kulcsú infrastruktúra szerint ez leggyakrabban úgy történik, hogy egy megbízható fél, egy hitelesítés szolgáltató (CA, certification authority) igazolja, hogy az adott nyilvános kulcs (és így a hozzá tartozó magánkulcs) egy adott „alanyhoz” (felhasználóhoz, személyhez) tartozik. Ezt az igazolást nevezzük tanúsítványnak.

  A hitelesítés szolgáltatókról szeretne olvasni?

A tanúsítványban szerepel, az alany neve (azaz annak megnevezése, akinek a számára a hitelesítés szolgáltató kiállította a tanúsítványt) és a nyilvános kulcsa. A tanúsítványt a hitelesítés szolgáltató aláírja, így az a hitelesítés szolgáltató nyilvános kulcsa segítségével ellenőrizhető. A tanúsítvány ellenőrzéséhez a hitelesítés szolgáltató nyilvános kulcsához kell hitelesen hozzájutnunk, ezt legegyszerűbben a hitelesítés szolgáltató tanúsítványa alapján tehetjük meg. Gyakran a hitelesítés szolgáltató tanúsítványát (illetve a rajta lévő aláírást) is egy másik hitelesítés szolgáltató tanúsítványa alapján ellenőrizhetjük. Végül egy olyan ún. tanúsítványlánchoz jutunk, amely az általunk ellenőrzött tanúsítványtól egy megbízható gyökértanúsítványig tart.

A nyilvános kulcsú infrastruktúra alapján minden ellenőrzést - egy vagy több - megbízható gyökértanúsítványra vezetünk vissza. Így a gyökértanúsítványokat nem lehet a nyilvános kulcsú infrasturktúra alapján ellenőrizni, a gyökértanúsítványok - és a bennük lévő nyilvános kulcsok - hitelességéről más úton kell meggyőződnünk. (Sok operációs rendszer már eleve tartalmaz bizonyos megbízható gyökértanúsítványokat - például a Microsoft Windows rendszerek eleve tartalmazzák, illetve elfogadják a Microsec gyökértanúsítványát - leggyakrabban így jutunk hozzá a megbízható gyökértanúsítványokhoz.

  Arról szeretne olvasni, hogy a tanúsítványok hogyan jelennek meg a Microsoft Windowsban?

2. A tanúsítványok csoportosítása

Minden tanúsítvány tartalmaz egy nyilvános kulcsot, és tartalmazza a nyilvános kulcs birtokosának (a tanúsítvány alanyának a megnevezését, de ezen túl nagyon sokféle tanúsítvány létezik. Csoportosíthatóak például az alapján, hogy ki a tanúsítvány alanya, milyen célra használhatja a tanúsítványhoz tartozó magánkulcsot, milyen típusú megnevezés szerepel a tanúsítványban, stb.

 

Funkciójuk szerint megkülönböztetünk aláíró, titkosító és autentikációs (hitelesítő) tanúsítványokat is.

A szabványok elsősorban aláírás esetén hangsúlyozzák, hogy az aláíró kulcsot csak aláírásra használjuk RFC 5280, sőt, az elektronikus aláírásról szóló törvény is kimondja, hogy „az aláíró az aláírás létrehozó adatot kizárólag az aláírás létrehozására használhatja”. Eat, 13. § (4) Az autentikációt azért célszerű minden mástól elválasztani, mert ott a magánkulcs segítségével egy kívülről érkező „véletlen” blokkot kódolunk, így előfordulhatna, hogy egy cseles támadó autentikációkor aláírat vagy dekódoltat velünk egy üzenetet. (Megjegyezzük, hogy aláíráskor, titkosításkor és autentikációkor különböző padding megoldást szokás használni, amely nyújthat bizonyos fokú védelmet az ilyen támadások ellen.) A titkosítást szintén célszerű minden mástól elválasztani, ugyanis a dekódolásra szolgáló kulcsot letétbe szokás helyezni egy megbízható szolgáltatónál. Aláírásra és autentikációra szolgáló kulcsokat nem szabad, nincs értelme letétbe helyezni (nem jelent nagy kárt, ha az aláíró vagy autentikáló magánkulcs megsemmisül, viszont letétbe helyezésük súlyos visszaélésre adhatna lehetőséget).

 

Kimondhatjuk, aláírásra, titkosításra és autentikációra külön-külön kulcspárt kell használni, így e célra mindenkinek három külön kulcspárra és három külön tanúsítványra van szüksége.

  Az elektronikus aláírásról szeretne olvasni?
  A titkosításról szeretne olvasni?

 

A tanúsítványok aszerint is csoportosíthatóak, hogy ki a tanúsítvány alanya. A tanúsítvány alanya:

Attól függően, hogy a tanúsítványhoz tartozó aláírásokhoz milyen joghatás tartozik, illetve hogy a tanúsítványt kibocsátó hitelesítés szolgáltató milyen garanciát vállal a tanúsítvánnyal kapcsolatban, léteznek minősített és nem minősített tanúsítványok.

 

Az elektronikus aláírásról szóló törvény alapján a következő tanúsítványokat különböztethetjük meg:

Attól függően, hogy egy tanúsítványban a hitelesítés szolgáltató hogyan nevezi meg a tanúsítvány alanyát, léteznek álneves tanúsítványokés nem álneves tanúsítványok. Akkor nevezünk egy tanúsítványt álneves tanúsítványnak, ha a tanúsítványban nem a tanúsítványhoz tartozó felhasználó (alany/aláíró) valódi neve szerepel, hanem valamilyen más szöveg. Többféle nézet létezik azzal kapcsolatban, hogy ez pontosan mit jelent: Habár a tanúsítvány/aláírás joghatásának nincsen köze hozzá, hogy a tanúsítvány álneves-e vagy sem (minősített tanúsítvány is lehet álneves, és álneves minősített tanúsítvány alapján is teljes bizonyító erejű magánokirat hozható létre), az álneves tanúsítványok a gyakorlatban nagyon nehezen használhatóak. Magyarországon nagyon kevés álneves tanúsítvány van, a gyakorlatban nemigen használják őket.

 

Sajnos az álneves tanúsítványok ugyanakkor jelentősen megnehezítik a többi, nem álneves tanúsítvány használatát is, mert egy tanúsítványról először el kell dönteni, hogy álnevese-e (és ez nem egyszerű feladat), az álneves tanúsítványok pedig akár teljesen félrevezető információkat is tartalmazhatnak. Álneves tanúsítvány esetén sajnos - pusztán a tanúsítvány alapján - semmilyen támpontunk nem lehet arról, hogy a tanúsítvány valójában kihez is tartozik. Ezért a hitelesítés szolgáltatók (akik a törvény szerint kötelesek álneves tanúsítványt is kiadni) markánsan elkülönítik az álneves tanúsítványokat a nem álnevesektől.

Az e-Szignó Hitelesítés Szolgáltató a nem álneves tanúsítványok esetén mindig az alany/aláíró igazolványában szereplő írásmóddal, ékezethelyesen szerepelteti az nevet a tanúsítványban. Az álneves tanúsítványokat külön kulcspárral bocsátja ki, és ezzel a kulcspárral nem bocsát ki nem álneves tanúsítványt. Az álneves tanúsítványokban a „pseudonym” mezőben szerepelteti az álnevet, a „common name” mezőben pedig az „álneves tanúsítvány” szöveget tünteti fel.

  Arról szeretne olvasni, hogy az e-Szignó Hitelesítés Szolgáltató hogyan különíti el az álneves és nem álneves, illetve a minősített és nem minősített tanúsítványokat?

3. A tanúsítványok felépítése

A tanúsítványok felépítését az X509 specifikáció, illetve a RFC 5280 határozza meg. A minősített tanúsítványokra vonatkozóan az ETSI TS 101 862, a nem minősített, de természetes személy számára kibocsátott tanúsítványokkal kapcsolatban az ETSI TS 102 280fogalmaz meg további követelményeket.

 

Minden tanúsítvány tartalmazza a kibocsátójának (a hitelesítés szolgáltatónak) és az alanyának (a Windows az alanyt tulajdonosnak nevezi) az adatait, az alany nyilvános kulcsát, és más, a tanúsítvány felhasználásához vagy ellenőrzéséhez szükséges információkat. A tanúsítvány emellett tartalmazza a hitelesítés szolgáltató aláírását. A tanúsítványok formátumát az ITU-T által kidolgozott X.509 specifikáció határozza meg. Napjainkban az X.509-es 3-as verzióának megfelelő tanúsítványok a legelterjedtebbek, ezek főbb mezőit az alábbiakban mutatjuk be. A mező angol nyelvű megnevezését zárójelben tüntettük fel. Előfordul, hogy egy mezőnek többféle magyar neve, fordítása is használatos, akkor ezeket „/” jellel választottuk el egymástól.

  A tanúsítványok aláírásához is használt kriptográfiai algoritmusokról szeretne olvasni?
  A tanúsítványok ellenőrzéséről szeretne olvasni?
  A tranzakciós limitről szeretne olvasni?

 

Egy tanúsítvány a fentieken túl még további mezőket is tartalmazhat.

4. Visszavonási állapot

Kezdetben mikor a hitelesítő szolgáltató kibocsátja a tanúsítványt, az érvényes állapotban van, míg az érvényességi ideje le nem jár, mert akkor érvényét veszti. Az érvényességi ideje alatt a tanúsítványhoz tartozó magánkulcs illetéktelen kezekben kerülhet (kompromittálódhat), ekkor visszavont vagy felfüggesztett állapotba kerülhet. Kicsit részletesebben:

 

Azt, hogy egy tanúsítvány fel van-e függesztve vagy vissza van-e vonva, a tanúsítvány visszavonási állapotának is nevezik. Tanúsítvány ellenőrzésekor nemcsak azt kell ellenőrizni, hogy a tanúsítvány nem járt-e le, de a visszavonási állapotot is meg kell vizsgálni.

5. Tanúsítványlánc

A PKI egyes szereplői ún. hitelesítés szolgáltatók(CA-k), akik tanúsítványokat bocsátanak ki. A tanúsítvány olyan aláírt adat, amely valamely szereplő megnevezését (pl. nevét) és a nyilvános kulcsát tartalmazza. Önhitelesített tanúsítványnak az olyan tanúsítványokat nevezzük, amelyeket egy hitelesítés szolgáltató önmaga számára bocsát ki, tehát a tanúsítványt a benne foglalt nyilvános kulccsal írja alá.

 

Ha egy tanúsítványt ellenőrizni szeretnénk, akkor olyan ún. tanúsítványláncot keresünk, amely az ellenőrizni kívánt tanúsítványtól egy megbízható, önhitelesített gyökértanúsítványig tart. Később ezen láncon kell további ellenőrzéseket elvégeznünk (ilyen például az ún. visszavonási állapot ellenőrzése is).



Tanúsítványlánc
 

A fenti ábra egy egyszerű tanúsítványláncot mutat. Az ábrán az egyes téglalapok a bennük feltüntetett szereplő kulcspárját jelentik, a tanúsítványokat a téglalapokat összekötő nyilak jelentik. A tanúsítványt az bocsátotta ki (azaz annak a magánkulcsával írták alá), akitől a nyíl kiindul. A tanúsítványt annak a számára bocsátották ki (azaz annak a nyilvános kulcsát tartalmazza), akihez a nyíl mutat.

Azokat az önhitelesített tanúsítványokat nevezzük megbízható gyökértanúsítványnak, amelyekben annyira megbízunk, hogy felhasználhatjuk őket más tanúsítványok ellenőrzésére. Technikailag bármely önhitelesített tanúsítvány használható gyökértanúsítványként, bármely (szolgáltatói) tanúsítványra próbálhatunk más tanúsítványokat visszavezetni.

Egy gyökértanúsítvány használhatóságát, „értékét” számos más tényező is befolyásolhatja, ezek határozzák meg, hogy az egyes felhasználói közösségek mely önhitelesített tanúsítványt vagy tanúsítványokat fogadnak el megbízható gyökértanúsítványnak:

 

Azt nevezzük kereszthitelesítésnek, amikor egy hitelesítés szolgáltató egy másik hitelesítés szolgáltató számára bocsát ki tanúsítványt. A felülhitelesítés hasonló fogalom, szintén arra vonatkozik, hogy egy hitelesítés szolgáltató másik hitelesítés szolgáltatónak bocsát ki tanúsítványt. Akkor szokás inkább a felülhitelesítés kifejezést használni, ha kifejezetten hangsúlyozni szeretnénk, hogy az egyik hitelesítés szolgáltató valamilyen értelemben „fontosabb” vagy „magasabb szintű”, mint a másik. A kibocsátott tanúsítványból nem derül ki, hogy melyik hitelesítés szolgáltató mennyire fontos, így a tanúsítványt felhasználó vagy ellenőrző alkalmazások sem tudnak erre támaszkodni. A két fogalom közötti határvonal nem éles, és műszakilag mindkét esetben pontosan ugyanaz történik.