A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
SPISÁK ANDOR
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI BASICS AND COMPONENTS OF PUBLIC KEY INFRASTRUCTURE A cikk bevezetést nyújt a Nyilvános Kulcsú Infrastruktúrába és kriptográfiába, valamint foglalkozik egy megvalósítandó PKI alapvető összetevőivel az ITU-T X.509. ajánlása alapján. The paper introduces the basics of Public Key Infrastructure and cryptography as well as deals with the most important components necessary to establish a particular PKI on the basis of ITU-T Recommendation X.509.
Az elmúlt évtizedben fokozott mértékben észlelhető a társadalom legtágabb értelmében vett átalakulása. Az átalakulás iránya az eddig főként iparközpontúság felől markánsan az információ központúság irányában látszik kibontakozni [1]. Ez az elmozdulás a műszaki fejlődés számos területét szervesen érinti. Az elektronikai hálózatok a hozzájuk tartozó architektúrákkal, topológiákkal, illetve protokollokkal alapvető szerepet játszanak ebben az átalakulásban. Különböző hálózatok összekapcsolása révén lehetőség nyílt, illetve nyílik átfogó és kiterjedt kommunikációra, amely számos formában valósulhat meg. Ugyanakkor egyre fokozottabb mértékben jelentkezik igény bizalmas jellegű adatátvitelre, illetve az átvitel olyan módjára, amelylyel a címzett és a feladó egyaránt garantálja az adatok hitelességét. Az információs technológia fejlődése és széles körben történő alkalmazása kapcsán megnövekedett az igény olyan biztonságos rendszerek iránt, amelyek az üzenetek titkosított átvitelét szavatolják. Különösen igaz ez olyan területekre, ahol személyes, illetve különböző okokból titkosított adatok kerülnek átvitelre. A különböző kormányzati, társadalmi és gazdasági jellegű célkitűzésekkel kapcsolatos fejlesztések, mint az e-government, vagy az e-banking, illetve az e-business szükségessé teszik az ilyen jellegű alkalmazásokat. 50
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
A nyilvános kulcsú infrastruktúra alkalmazása egyrészről lehetővé teszi — amennyiben igény merül fel rá — titkosított adatok átvitelét, másrészről egyben garanciát nyújt a címzettnek az adatok hitelességét illetően, valamint megnyugtató a feladó számára az a tudat, hogy küldeményét csak a címzett tudja elolvasni. A nyilvános kulcsú infrastruktúra egyik célja, hogy garantálja az üzenetek sérthetetlenségét, letagadhatatlanságát és hitelességét [2, 9]. A célkitűzések teljesülésének érdekében a két kommunikáló fél egy harmadik, független fél által kibocsátott, hitelesített tanúsítványban rögzített kulcspár segítségével folytatja az üzenetcserét. Alkalmazási területeit tekintve, a nyilvános kulcsú infrastruktúrát fokozottan nehéz konkrét területekre lokalizálni, egyre inkább az állapítható meg, hogy bárhol alkalmazható, ahol a fent felsorolt célkitűzések érvényességet nyernek. Különösképpen igaz ez a bank-, illetve pénzügyi szektorra, a kormányzati tevékenységekre és nem kis mértékben a védelmi szférára. A nagy kiterjedésű katonai szövetségek létrehozásával és folyamatos bővítésével, illetve a katonai fenyegetettség új formáinak megjelenésével fokozottan merül fel az igény olyan nagy kiterjedésű biztonságos hálózatok iránt, amelyek garantálják az üzenetekkel szemben támasztott feljebb megfogalmazott igényeket. Másrészről nemzeti szinten is igény a védelmi szféra valamilyen szintű besorolása egy olyan egységes kormányzati rendszerbe, amelynek szerves része a nyilvános kulcsú infrastruktúra.
1. Nyilvános kulcsú kriptográfia Nyilvános kulcsú kriptográfia alatt az összes olyan matematikai algoritmus, illetve eljárás összességét értjük, amely alkalmas arra, hogy egyrészt egy nyilvános kulcsú infrastruktúra részeként az üzenetek titkosítását, illetve a titkosított üzenetek visszafejtését elvégezze, másrészt egy felhasználó adott dokumentumához tartozó digitális aláírást generálja, illetve ellenőrizze. A fentiekből látható, hogy egy nyilvános kulcsú infrastruktúrán belül kétféle, alapvetően más-más célú tevékenység kerül a középpontba. Egyrészről titkosítani kívánunk üzeneteket, másrészről digitális aláírással ellátott üzeneteket küldve, a címzettet biztosítani kívánjuk üzenetünk hitelességéről. Az 1. sz. ábrán láthatjuk a nyilvános kulcsú titkosítás sematikus ábrázolását [3]. VÉDELMI ELEKTRONIKA
51
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
Üzenet
Titkosított üzenet
Titkosítás nyilvános kulccsal
Üzenet
Visszafejtés titkos kulccsal
1. sz. ábra. Nyilvános kulcsú titkosítás A feladó a címzett nyilvános kulcsának segítségével titkosítja küldendő üzenetét, majd elküldi. A címzett titkos kulcsának segítségével a titkosított üzenetet megfejti. Nyilvánvaló, hogy a címzett nyilvános kulcsát minden potenciális feladó számára jól hozzáférhető módon kell elhelyezni. A digitális aláírás nem más, mint a feladó által küldött üzenet lenyomatának titkosított változata. Egy — többé-kevésbé — tetszőleges hoszszúságú üzenet lenyomata alatt egy olyan fix hosszúságú adatsorozatot értünk, amelyet az eredeti üzenetből egy egyirányú matematikai függvény segítségével hozunk létre. Az egyirányú függvény nyilvános, a titkosításhoz felhasznált kulcs azonban ez esetben a feladó titkos kulcsa. A címzett a feladó nyilvános kulcsának segítségével megfejti az üzenet lenyomatát, majd saját maga is elkészíti a küldött üzenet lenyomatát. Amennyiben a két lenyomat egyezik, a digitális aláírás valóban a feladótól származik, valamint fel lehet tételezni, hogy az aláírt dokumentumot az aláírást követően nem módosították. A 2. sz. ábrán a digitális aláírással történő hitelesítés sematikus ábrázolását láthatjuk [3]. Az is lehetséges, hogy a feladó a címzett nyilvános kulcsával titkosított üzenet lenyomatából készít digitálisan aláírt üzenetet. Fontos, hogy ez esetben két kulcspárral kell dolgozni. A titkosításhoz és a digitális aláírás előállításához tehát alapvetően kétféle matematikai eszköztárra van szükség. Egyrészről kell egy olyan titkosítási algoritmus, amely garantálja azt, hogy a feladó által elküldött üzenet megfejtése a titkos kulcs ismerete nélkül kellően nehéz legyen. Másrészről egy eljárás szükséges az üzenet lenyomatának elkészítésére. Az ilyen eljáráshoz ún. egyirányú függvényeket, ún. hash-függvényeket használunk. 52
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
F Üzenet
Üzenet lenyomata
Digitális aláírás
Lenyomat készítése Titkosítás titkos kulccsal
C Üzenet
Üzenet lenyomata
Lenyomat készítése Digitális aláírás
Összehasonlítás
Üzenet lenyomata
Visszafejtés nyilvános kulccsal
2. sz. ábra. Feladó előállítja egy üzenethez tartozó digitális aláírást és C címzett ellenőrzi annak hitelességét. Az alábbiakban a teljesség igénye nélkül felsorolásra kerülnek a manapság leginkább használatos titkosítási algoritmusok, valamint hash-függvények.
1.1. Titkosítási algoritmusok [4, 5, 6, 7] Szimmetrikus titkosítási algoritmusok már az ókorban is léteztek. Ezek olyan algoritmusok, ahol a titkosításhoz, valamint a titkos üzenet megfejtéséhez használt kulcsok azonosak. Az aszimmetrikus titkosítási eljárások esetén megkülönböztetünk egy nyilvános kulcsot, amely mindenki számára hozzáférhető, valamint egy VÉDELMI ELEKTRONIKA
53
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
titkos kulcsot, amelyet csak a címzett ismer. Az aszimmetrikus titkosítási eljárások alapját legtöbb esetben egy matematikailag nehéz probléma képezi. A probléma nehézsége alatt megoldásának időigényét értjük. A kulcspár ügyes megválasztása esetén egy üzenet megfejtéséig annyi idő telik el, hogy az üzenet addigra feltételezhetően már nem aktuális. Az aszimmetrikus titkosítás kezdete az 1970-es évek közepére tehető. Nyílt szövegek titkosítására főként szimmetrikus algoritmusokat használunk, mivel működésük gyorsabb, és feltörésük ugyanazon kulcs hosszabb ideig történő használata esetén is nehéz (kivéve DES). A szimmetrikus algoritmusok kulcsának közlésére, valamint digitális aláírás generálására aszimmetrikus algoritmusokat használunk. Az alábbiakban néhány, manapság elterjedt és alkalmazott szimmetrikus és aszimmetrikus eljárás kerül bemutatására:
1.1.1. RSA A titkos kulcs megfejtése nehéz egész számok prímfaktorizációja nehéz. Kellően nagy egész számok prímfaktorizációjára nincs matematikai algoritmus, így az RSA titkos kulcsának megfejtése megfelelően nehéznek mondható. Léteznek azonban eljárások egy RSA-val titkosított szöveg visszafejtésére a titkos kulcs ismerete nélkül. Így az RSA algoritmus feltörése könnyebb, mint a prímfaktorizáció, feltéve, hogy:
d
14 3
n , q p 2q
és bizonyos esetekben e megfelelően nagy [8]. A titkos kulcsot jelöljük d-vel, a nyilvános kulcsot pedig n-nel, ahol n két prímszám (p,q) szorzataként áll elő. Az RSA 1978-as publikálása óta számos támadási lehetőséget bizonyítottak, a megfelelő óvintézkedések betartása mellett (ha p és q legalább 512 bit hosszúságúak, illetve:
d
14 3
n
és bizonyos esetekben e megfelelően nagy) azonban biztonságosnak mondható. Főként digitális aláírás generálására használják széles körben, valamint elterjedtnek mondható szimmetrikus titkosítási algoritmusok kulcsának a titkosítására. 54
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
1.1.2. Rabin kriptorendszer A Rabin kriptorendszer hasonlóan az RSA-hoz a prímfaktorizáció nehézsége miatt biztonságos. 1979-es publikációja óta bebizonyították, hogy az RSA-val ellentétben egy Rabin kriptorendszer által titkosított szöveget nem lehet feltörni a titkos kulcs ismerete nélkül. Így tehát a Rabin kriptorendszer feltörése ekvivalens nehézségű a nyilvános kulcs faktorizációjával, következésképpen biztonságosabb az RSA-nál. A visszafejtés körülményességének köszönhetően azonban kevésbé széleskörű alkalmazásnak örvend.
1.1.3. ElGamal Az ElGamal kriptorendszer nehéz a diszkrét logaritmus probléma (DLP) nehéz. Nem ismert olyan matematikai eljárás, amely képes lenne egy véges csoportban történő hatványozás megfordítására a hatványkitevő ismerete nélkül. Így tehát 1985-ös publikálása óta biztonságosnak tekinthető, habár kevéssé elterjedt. Elliptikus görbékkel történő alkalmazása1 viszont 1993 óta szabványosított formában is létezik (NIST-FIPS 186) [10] és főként a S/MIME protokollt használó rendszerek körében széles körben alkalmazzák.
1.1.4. DES Az előbbiekben felsoroltakkal ellentétben a DES nem egy karakter alapú, hanem egy blokk alapú titkosítási algoritmus. Lényeges különbség az előző három algoritmussal szemben, hogy szimmetrikus, azaz a titkosítás és a titkosított szöveg visszafejtése egyazon kulccsal történik. A NIST-FIPS 46os szabványa szerint előírt módon egy négylépéses algoritmus kerül végrehajtásra 16 fordulón keresztül. A szabvány 1977-es publikálása óta közel 20 évig biztonságosnak volt mondható. Manapság azonban, főleg a kulcs rövidsége miatt, (56 bit) nem tekinthető biztonságosnak. Ismertek olyan nyers erő támadások, amelyek 24 órán belül sikeresnek bizonyultak.
1.1.5. 3-DES [11] A DES egy 1978-ban publikált verziója, amely manapság is biztonságos. A lényeges különbség, hogy nem egy kulccsal történik a titkosítás 1
Digital Signature Algorithm — DSA.
VÉDELMI ELEKTRONIKA
55
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
illetve visszafejtés, hanem egy kulcs-hármassal. Ez az algoritmus az ANSI X.9-52 ajánlásnak, illetve a NIST-FIPS 46-3-as szabványának köszönhetően szabványos formában is létezik.
1.1.6. AES [12, 13] Az Egyesült Államok Nemzeti Szabványügyi Hivatala (NIST) 1997-ben írt ki pályázatot egy szimmetrikus titkosítási algoritmusra, amely a DES-t volt hivatott felváltani. Ez a 2001-ben szabványosított algoritmus AES néven ismert. A 128 bit hosszúságú kulcsnak köszönhetően lényegesen biztonságosabb a DES-nél.
1.2. Hash függvények A hash függvények alapvető feladata, hogy egy tetszőleges hosszúságú szövegből fix hosszúságú lenyomatot készítsen, miközben garantálja, hogy a szöveg akár egy bitben történő megváltoztatása is lényeges változást idéz elő magában a lenyomatban (lavina effektus). Egy hash függvényt biztonságosnak nevezünk, ha gyakorlatilag lehetetlen, hogy egyrészt két különböző dokumentumból egyazon lenyomatot, másrészt egy adott lenyomathoz egy, az eredetitől különböző dokumentumot állítson elő. Az alábbiakban csupán néhány, elterjedésüknek köszönhetően jelentősnek nevezhető hash függvény kerül felsorolásra.
1.2.1. SHS (Secure Hash Standard) [14] A NIST-FIPS 180-2-es szabványában négy hash függvényt definiál (SHA–1, SHA–256, SHA–384 és SHA–512). Ezek egy legfeljebb 264 (SHA–1 és SHA–256 esetén), illetve 2128 (SHA–384 és SHA–512 esetén) bit hosszú dokumentumhoz rendre 160, 256, 384, illetve 512 bit hosszúságú lenyomatot állítanak elő. Az elmúlt időben egyre gyakrabban hallható az a vélemény, hogy az SHA–1 algoritmus már nem biztonságos, erre azonban konkrét hivatkozás még nem található.
1.2.2. MD 5 [15] Az MD5 az MD4 egy továbbfejlesztett, bár lassúbb változata. Működési elve hasonló az előző pontban említett hash függvényekéhez, azonban tetszőleges hosszúságú dokumentumból 128 bit hosszúságú lenyomatot készít. Mivel az algoritmus, főként a 32 bites processzorok esetén külö56
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
nösen gyors, igen nagy népszerűségnek örvend. Az elmúlt időszakban azonban számos kísérlet segítségével bizonyítottnak tűnik, hogy az MD 5 nem biztonságos, azaz adott lenyomathoz meglehetősen gyorsan előállítható egy, az eredetitől különböző dokumentum [16, 17]. 2
2. A Nyilvános kulcsú infrastruktúra elemei [2] Az 1. fejezetben leírtak elméletben biztosítják az üzenetek hitelességét, sérthetetlenségét és letagadhatatlanságát egy nem biztonságos csatornán történő átvitel esetén is. Fontos megjegyezni, hogy letagadhatatlanság alatt azt értjük, hogy a feladó — miután digitálisan aláírt dokumentumot küld a címzettnek — nem tudja letagadni magának a küldésnek a tényét, illetve a küldemény tartalmát, hiszen a lenyomatot saját titkos kulcsával titkosította. Az 1. és 2. sz. ábrán ábrázolt eljárások azonban nem szavatolják, hogy a címzett — amennyiben az neki előnyös — egy üzenet fogadását ne tagadhassa le. Ha kettő vagy több fél nyilvános kulcsú titkosítást, illetve digitális aláírást alkalmazva üzeneteket kíván küldeni egymásnak, felmerül a kulcskiosztás problémaköre, a kulcsok biztonságos tárolásának, illetve hiteles közzétételének a problematikája. A kulcskiosztás problémáját a nyilvános kulcsú titkosítási algoritmusok megnyugtató módon kezelik, hiszen minden felhasználó rendelkezik egy olyan nyilvános kulccsal, amelyet bárki számára, aki neki üzenetet kíván küldeni, illetve az általa digitálisan aláírt dokumentumok származását ellenőrizni kívánja, nyilvánosan közzétesz. A felhasználó ezen kívül rendelkezik még egy titkos kulccsal, amelyet gondosan őrizve arra használ, hogy egyrészt digitálisan aláírjon általa elküldött dokumentumokat, másrészt a részére küldött, titkosított üzeneteket megfejtse. Mindez addig történhet bizalmas módon, ameddig egyrészt a titkos kulcsok nem kerülnek rosszindulatú támadók kezébe, másrészt a nyilvános kulcsok hitelességére mindenek felett álló garancia van. Amennyiben ilyen garancia nincs, a feladó nem lehet biztos abban, hogy a címzett által közzétett nyilvános kulcs valóban a címzetté. Nyilvános kulcsú infrastruktúra alatt egy olyan rendszert értünk, amely garantálja a bevezetőben megfogalmazott követelmények teljesü2
Public Key Infrastructure — PKI.
VÉDELMI ELEKTRONIKA
57
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
lését, nevezetesen a küldött üzenetek hitelességét, sérthetetlenségét és letagadhatatlanságát azon felhasználók részére, akik ezt az infrastruktúrát használják. Az infrastruktúra lényege egy kitüntetett harmadik fél, amely a nyilvános kulcsokat a felhasználók rendelkezésére bocsátja, és a kulcsok hitelességéért felelősséget vállal. Nyilvános kulcsú infrastruktúrának egy olyan rendszert nevezhetünk, amelynek keretében nyilvános kulcsú titkosításhoz, valamint digitális aláíráshoz szükséges kulcspárokat olyan felhasználók rendelkezésére bocsátják, akik ezt annak érdekében kívánják, hogy a nyilvános kulcsú titkosítással támasztott követelmények teljesülhessenek. Ehhez létre kell hozni egyrészről egy Hitelesítés Szolgáltatót3, amely tanúsítványokat bocsát ki a felhasználók részére. A tanúsítványok tartalmazzák többek között a felhasználó adatait, valamint a felhasználóhoz rendelt nyilvános kulcsot. Lényeges, hogy a tanúsítványok határozott ideig érvényesek, az érvényességet annak lejártával a CA meghosszabbíthatja. A tanúsítványok nyilvános közzétételéről, valamint érvényességük folyamatos ellenőrzéséről a CA gondoskodik. A felhasználók a tanúsítvány igénylését megelőzően egy Regisztrációs Szervezetnél4 regisztráltatják magukat. A regisztráció keretében az RA ellenőrzi a felhasználó személyazonosságát és erről egy tanúsítványt állíthat ki. Elképzelhető, bár nem szerencsés, hogy RA és CA feladatait egyazon szervezeti egység végzi. A CA az RA által kibocsátott tanúsítvány alapján állítja ki a nyilvános kulcsú tanúsítványokat az egyes felhasználók részére. A valamilyen okból érvénytelen tanúsítványokat a CA a Tanúsítvány Visszavonási Lista5 segítségével rendszeres időközönként közzéteszi, hogy az mindenki számára hozzáférhető legyen. A továbbiakban azok az eszközök és szervezeti egységek kerülnek felsorolásra, amelyek egy nyilvános kulcsú infrastruktúra létrehozásához és működtetéséhez szükségesek.
2.1. Regisztrációs Szervezet (RA) Az RA olyan hardver- és szoftver elemek, illetve olyan személyzet öszszessége, amelynek feladata, hogy megbízható módon azonosítsa a felhasználókat, akik számára a CA a későbbiekben tanúsítványokat bocsát 3
Certification Authority — CA. Registration Authority — RA. 5 Certificate Revocation List — CRL. 4
58
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
ki. Az RA másrészről tevékenysége által megteremti azt a PKI működéséhez szükséges bizalmat is, amelyet azok, akik a felhasználóval biztonságos módon kívánnak kommunikálni, a CA-ba feltéleznek. Egy CAhoz több akkreditált RA is tartozhat
2.2. Hitelesítés Szolgáltató (CA) A CA alatt hardver- és szoftver elemek, valamint olyan személyzet öszszességét értjük, amelynek feladata, hogy a regisztrált felhasználók részére tanúsítványt bocsásson ki, amelyben szerepel a regisztrált felhasználó azonosítója (általában a neve), nyilvános kulcsa annak az algoritmusnak az azonosítójával, amelyet a titkosításhoz és a digitális aláírás készítéséhez a CA használ, a tanúsítvány verziója, a tanúsítvány sorszáma, a CA digitális aláírása, a kibocsátó neve, a tanúsítvány érvényességi ideje, valamint különböző opcionális azonosítók és bővítmények. A tanúsítvány ajánlott felépítését, valamint a tanúsítvány létrehozásának ajánlott menetét az ITU-T által gondozott X.509-es ajánlás tartalmazza. A CA a létrehozott tanúsítványokat egy, a nyilvánosság számára hozzáférhető tanúsítványtárban tárolja. A CA felhasználóknak, illetve más CA-k részére is állíthat ki tanúsítványt. Abban az esetben, ha egy CA egy másik CA által kibocsátott tanúsítvány tárgya, a tanúsítványt kereszttanúsítványnak nevezzük. A kereszttanúsítást a 3. sz. ábrában szemléltetjük. Köztes CA
Tárgy CA
Kereszttanúsítvány
Végfelhasználói tanúsítvány Tanúsítvány használója
Végfelhasználó
3. sz. ábra. Kereszttanúsítás Azt a CA-t, amely a másik CA részére tanúsítványt bocsát ki, köztes CA-nak hívjuk, a kereszttanúsítvány tárgyát pedig tárgy CA-nak. Mindkét CA alkalmazhat tanúsítvány szabályzatot. VÉDELMI ELEKTRONIKA
59
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
A tárgy CA, a köztes CA, illetve a tanúsítvány használója egymással szemben gyakorolt jogai és kötelezettségei a kereszttanúsítványban kerülnek rögzítésre (kiegészítések segítségével). A tárgy CA ezt a szabályzatot figyelembe jár el fel egy végfelhasználóval szemben. A köztes CA, a tárgy CA és a végfelhasználó egymással szemben gyakorolt jogait és kötelezettségeit a végfelhasználó tanúsítványában foglalják össze (kiegészítések segítségével). Ezt a szabályzatot figyelembe véve lép fel a köztes CA a tanúsítvány egy felhasználójával szemben. Több CA egymás között kialakított kereszttanúsítási gyakorlata lehet hierarchikus struktúrájú, vagy többé-kevésbé szövevényes [3]. Hierarchikus struktúra esetén a felhasználók tanúsítvány láncok segítségével bizonyosodhatnak meg egymás hitelességéről. Tanúsítvány láncnak (certification path) tanúsítványok rendezett sorozatát értjük, amely esetében a sorozat első eleme nyilvános kulcsának segítségével szukcesszíve el lehet jutni utolsó elemének nyilvános kulcsához. Nyilvánvaló, hogy több köztes CA-val van dolgunk, amelyek jól definiált sorrendben bocsátanak ki tanúsítványokat a sorozatban utánuk következő CA részére. A lánc utolsó elemét gyökér-CA-nak nevezzük. A gyökér-CA szükséges módon az összes, hierarchiában alárendelt CA maradéktalan bizalmát élvezi. Egy CA ekvivalensnek tekintheti egy másik CA szabályzatának egy adott részét még akkor is, ha ezek nem azonosak. Ezt a folyamatot a szabályzat leképezésének nevezzük (policy mapping).
2.3. Tanúsítványtár A tanúsítványtár egy olyan címtár, amelyben a CA a kibocsátott tanúsítványokat, illetve visszavonási listákat tárolja és a nyilvánosság számára elérhetővé teszi. A tanúsítványtár célszerűen egy X.500 típusú címtár.
2.4. Visszavonási Listák A CA, az érvényüket vesztett tanúsítványokat Visszavonási Listák segítségével tartja nyilván, amelyeket egy X.500-as típusú könyvtárban hoz nyilvánosságra. A Visszavonási Listákat rendszeresen frissíteni kell. A Visszavonási Listákat tanúsítványként kezeljük, és az alábbiakban felsorolt listák közül valamelyik kategóriába tartoznak. A Visszavonási Listák tartalmazzák a verzió számot, a kibocsátó digitális aláírását, a kibocsátó nevét, a lista kiadásának időpontját, a visszavont tanú60
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
sítványokat (sorszám és visszavonási dátum alapján), valamint különböző opcionális kiegészítéseket.
Tanúsítvány visszavonási lista (CRL) Ez a CA által digitálisan aláírt lista azoknak az érvényüket vesztett nyilvános kulcsú tanúsítványoknak a sorszámát, illetve visszavonási dátumát tartalmazza, amelyeket a CA az RA-nál regisztrált felhasználók számára bocsátott ki. Egy tanúsítvány érvényét veszítheti, ha lejár az érvényességi ideje; a tanúsítványt birtokló felhasználó titkos kulcsa kompromittálódott; a tanúsítványt kiállító CA titkos kulcsa kompromittálódott; a regisztrált felhasználó törlését kéri akár az RA, akár a CA nyilvántartásából.
Szervezeti Visszavonási Lista
6
A CARL egy CA által digitálisan aláírt visszavonási lista, amely olyan érvényüket vesztett tanúsítványok sorszámát illetve visszavonási dátumát tartalmazza, amelyeket a CA más CA-k számára bocsátott ki.
Delta Visszavonási Lista
7
A dCRL egy részleges visszavonási lista, amely csupán azon érvényüket vesztett nyilvános kulcsú tanúsítványok sorszámát és visszavonási dátumát tartalmazza, amelyek a dCRL kibocsátását megelőző CRL (egy ilyen visszavonási listát bázis CRL-nek nevezünk) közzététele óta veszítették érvényüket.
2.5. Tanúsítvány Szabályzat A PKI három alapvető szereplője a CA, a tanúsítvány használója és a regisztrált felhasználó (végfelhasználó), aki számára a tanúsítvány kiállításra került. A tanúsítvány használója alatt egy tetszőleges egyént értünk, aki a regisztrált felhasználó nyilvános kulcsa segítségével — amelyet a nyilvánosságra hozott tanúsítványból állapított meg — számára 6 7
Certification Authority Revocation List — CARL. Delta Revocation List — dCRL.
VÉDELMI ELEKTRONIKA
61
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
titkosított üzenetet szeretne küldeni, vagy a regisztrált felhasználó által küldött, digitálisan aláírt dokumentumot verifikálni szeretné. A három szereplő egymással szemben létező tanúsítványonkénti kötelezettségeit, valamint jogait a Tanúsítvány Szabályzatban rögzítik. Tetszőleges végfelhasználó számára kibocsátott tanúsítvány tartalmazhat erre a szabályzatra vonatkozó kiegészítéseket.
2.6. A PKI címvtár struktúra Az ITU-T által gondozott X.509-es ajánlás teljes részletességgel specifikálja egy PKI keretében létrehozandó címtár struktúrát, illetve a címtár tulajdonságait. A felhasználók jogosultságait a könyvtárszerkezethez való hozzáféréshez szintén az X.509-es ajánlás tárgyalja.
3. Összefoglalás A nyilvános kulcsú titkosítás és a digitális aláírás általános problematikájából kiindulva, a cikk rövid áttekintést nyújt a gyakorlatban is alkalmazott nyilvános kulcsú infrastruktúra elemeiről. Fontos megjegyezni, hogy a cikk nem tárgyalja a Tulajdonságkezelő Infrastruktúra (PMI) elemeit és módszereit. Magyarországon négy olyan szervezet létezik, amely az NHH által elismert CA-ként működik. De főként a bank- és pénzügyi szektorban jellemző az, hogy egy adott szervezet, amely belső adatforgalomra kíván nyilvános kulcsú infrastruktúrát alkalmazni, kénytelen saját szervezetén belül PKI-t kiépíteni, akár köztes tanúsítványok igénybevételével. Állami hatóságok, minisztériumok, de a védelmi szféra tekintetében sem tűnik egyértelműnek, hogy milyen szinten érdemes, illetve szükséges egy (vagy több) CA illetve RA létrehozása. FELHASZNÁLT IRODALOM [1] Z. Karvalics László: Bevezető az információs társadalom tudománytörténetéhez. Információs Társadalom, 2001/1. sz., 34–48. o. [2] ITU-T Recommendation X.509 (2000). Information Technology — Open Systems Interconnection — The Directory: Authentification framework. 62
VÉDELMI ELEKTRONIKA
A NYILVÁNOS KULCSÚ INFRASTRUKTÚRA ALAPJAI ÉS ÖSSZETEVŐI
[3] Benantar, Messoud: The Internet Public Key Infrastructure. IBM Systems Journal, Vol. 40, No. 3, 2001, 648–665. o. [4] S. Goldwasser – M. Belare: Lecture Notes on Cryptography. http:// www-cse.ucsd.edu/users/mihir/papers/gb.pdf, 2002.08.23. [5] H. Delfs – H. Knebl, Introduction to Cryptography Priciples and Applications. Springer, Berlin; Heidelberg; New York; Barcelona; Hong Kong; London; Milan; Paris; Tokyo, 2002. [6] A. J. Mezenes – P.C. van Oorschot – S.A. Vanstone: The Handbook of Applied Cryptography. CRC Press LLC, 1997. [7] Salomon, David: Data Privacy and Security. Springer, New York, 2003. [8] Boneh, Dan: Twenty Years of Attacks on he RSA Cryptosystem. Notices of the AMS, Vol. 46., No. 2, 1999, 203–213. o. [9] Fischer-Hübner, Simone: IT-Security and Privacy. Springer, Berlin, Heidelberg, 2001. [10] National Institute of Standards and Technology, Federal Information Processing Standards Publication 186-2, 2000. [11] National Institute of Standards and Technology, Federal Information Processing Standards Publication 46-3, 1999. [12] J. Daemen – V. Rijmen: AES Proposal: Rijndael, http://csrc.nist.gov/ CryptoToolkit/aes/rijndael/Rijndael.pdf, 2004.01.17. [13] National Institute of Standards and Technology, Federal Information Processing Standards Publication 197, 2001. [14] National Institute of Standards and Technology, Federal Information Processing Standards Publication 180-2, 2002. [15] http://www.ietf.org/rfc/rfc1321.txt, 2005.09.27. [16] http://eprint.iacr.org/2004/199.pdf, 2005.09.10. [17] http://www.doxpara.com/md5_someday.pdf, 2005.09.10.
VÉDELMI ELEKTRONIKA
63