Nyilvános kulcsú infrastruktúra ( PKI , angolul PKI - Public Key Infrastructure ) - eszközök (műszaki, anyagi, emberi stb.), elosztott szolgáltatások és komponensek halmaza, amelyek együttesen a privát és nyilvános kulcsokon alapuló titkosítási feladatok támogatására szolgálnak. A PKI nyilvános kulcsú kriptográfiai rendszeren és számos alapelven alapul:
Az aszimmetrikus titkosítások Whitfield Diffie és Martin Hellman 1976-ban megjelent New Directions in Modern Cryptography című művében kezdődtek . Ralph Merkle nyilvános kulcsok elosztásával kapcsolatos munkája hatására egy módszert javasoltak titkos kulcsok nyilvános csatornán keresztül történő származtatására. Ez az exponenciális kulcscsere módszer, amely Diffie-Hellman kulcscsere néven vált ismertté , volt az első közzétett gyakorlati módszer a titkos kulcsok megosztására a csatorna hitelesített felhasználói között. 2002-ben Hellman javasolta az algoritmus "Diffie-Hellman-Merkle" elnevezését, elismerve Merkle hozzájárulását a nyilvános kulcsú kriptográfia feltalálásához. Ugyanezt a sémát Malcolm Williamson fejlesztette ki az 1970-es években, de 1997-ig titokban tartották. A Merkle nyilvános kulcsok elosztási módszerét 1974-ben találták fel, és 1978-ban publikálták, más néven Merkle-rejtvény.
1977-ben Ronald Rivest , Adi Shamir és Leonard Adleman , a Massachusetts Institute of Technology tudósai kifejlesztettek egy titkosítási algoritmust, amely a faktorizációs problémán – RSA – alapul . A rendszert vezetéknevük első betűiről nevezték el (RSA – Rivest, Shamir, Adleman). Ugyanezt a rendszert 1973-ban találta ki Clifford Cocks, aki a Kormányzati Kommunikációs Központban (GCHQ) dolgozott, de ezt a munkát csak a központ belső dokumentumai őrizték, így 1977-ig nem ismerték a létezését. Az RSA lett az első olyan algoritmus, amely titkosításra és elektronikus aláírásra egyaránt alkalmas.
Az információbiztonsági rendszer fő feladatai, amelyeket a nyilvános kulcsú menedzsment infrastruktúra old meg:
Egyszerűen fogalmazva, a PKI egy olyan rendszer, amelynek fő összetevője egy hitelesítés-szolgáltató és a felhasználók, akik az e tanúsító hatóság által kiadott tanúsítványok segítségével lépnek kapcsolatba egymással. A nyilvános kulcs menedzsment infrastruktúra tevékenysége a rendszerszabályzat alapján történik. A nyilvános kulcsú infrastruktúra a nyilvános kulcsú kriptográfiai rendszer elvein alapul . A nyilvános kulcsú infrastruktúra egy tanúsító hatóságból , a végfelhasználókból és az opcionális összetevőkből áll: egy regisztrációs hatóságból és egy hálózati címtárból.
A tanúsító központ fő funkciói:
A tanúsító központ további funkciói:
A tanúsítvány olyan elektronikus dokumentum, amely tartalmazza a felhasználó elektronikus kulcsát (nyilvános kulcsát), a tanúsítványt birtokló felhasználó adatait, a tanúsítványt kibocsátó hatóság (CA) elektronikus aláírását, a tanúsítvány érvényességére vonatkozó információkat és egyéb attribútumokat. A tanúsítvány nem lehet örökérvényű, mindig tartalmazza az érvényessége kezdetének és végének dátumát és időpontját.
A tanúsítványok korai törlésének okai:
A kulcspár két kulcsból áll: egy privát kulcsból (privát kulcs) és egy nyilvános kulcsból (nyilvános kulcs). Ezek a kulcsok együtt jönnek létre, kiegészítik egymást (ami nyilvános kulccsal titkosított, az csak a privát kulccsal dekódolható, a magánkulccsal készült elektronikus aláírás pedig a nyilvános kulccsal ellenőrizhető).
A kulcspárt vagy a tanúsítványt kiadó hatóság (hitelesítő hatóság) hozza létre a felhasználó kérésére, vagy maga a felhasználó speciális szoftver segítségével. A felhasználó tanúsítványt kér, majd a felhasználó azonosítási eljárás után a CA kiad neki egy tanúsítványt, amelyet a Hitelesítés-szolgáltató aláír. A CA elektronikus aláírása azt jelzi, hogy ezt a tanúsítványt ez a központ adta ki, és senki más.
A nyilvános kulcsot mindenki ismeri, míg a privát kulcsot titokban tartják. A privát kulcs tulajdonosa mindig titokban tartja, és semmilyen körülmények között nem engedheti meg, hogy a kulcsot behatolók vagy más felhasználók megismerjék. Ha a titkos kulcs mégis a támadók tudomására jut, akkor az feltörtnek minősül , ezért a hozzá tartozó nyilvános kulccsal rendelkező tanúsítványt vissza kell vonni. Csak a magánkulcs tulajdonosa írhat alá adatokat és dekódolhatja azokat az adatokat is, amelyeket a tulajdonos privát kulcsához társított nyilvános kulccsal titkosítottak. Érvényes aláírás garantálja az információ szerzőségét és azt, hogy az információ nem változott a továbbítás során. A kódaláírás garantálja, hogy ezt a szoftvert valóban a megadott cég gyártotta, és nem tartalmaz rosszindulatú kódot, ha a cég ezt deklarálja.
Saját privát kulcsát az adatok aláírására és a többi PKI-résztvevőtől kapott adatok visszafejtésére használják. A nyilvános kulcsú infrastruktúra egy másik résztvevőjének tanúsítványából kinyert nyilvános kulcs felhasználható ezen résztvevő elektronikus aláírásának helyességének ellenőrzésére, valamint a résztvevőnek küldött adatok titkosítására. Az aszimmetrikus kriptográfiát használó titkosítási folyamat lassú a szimmetrikus algoritmusokhoz képest, így az adatok titkosítására nem ajánlott, sőt nem is olyan rendszerekben, ahol az idő kritikus tényező. Amikor nyilvános kulcsú tanúsítványokat használ a webhelyekkel (online áruházak, bankok) való biztonságos interakcióhoz, a tanúsítványok csak biztonságos kapcsolat létrehozására szolgálnak; a későbbi információcseréhez a felek által választott szimmetrikus kulcsokat használnak.
A PKI egyik kulcsfogalma az elektronikus aláírás . A cikk keretein belül az aláírás, az elektronikus aláírás (ES), a digitális aláírás és az elektronikus digitális aláírás (EDS) fogalmak felcserélhetők. Az Orosz Föderáció 2001. évi 1. számú „A digitális aláírásról” szövetségi törvényében csak a digitális aláírás fogalma szerepelt. Az Orosz Föderáció 2011. évi 63. számú, „Az elektronikus aláírásról” szóló szövetségi törvénye kibővítette az aláírás fogalmát. Az 5. cikknek megfelelően „Az elektronikus aláírások típusai” megkülönböztetik az egyszerű elektronikus aláírást és a kiterjesztett elektronikus aláírást. A jelen cikkben és a nyilvános kulcsú infrastruktúrával foglalkozó szinte minden irodalmi forrásban, angolul és oroszul is, az aláírás fogalmát erős elektronikus aláírásként értelmezik.
Az elektronikus aláírás az adatok (dokumentum/üzenet/fájl) kivonatához használt elektronikus aláírási algoritmus eredménye.
Az elektronikus aláírás hitelességének ellenőrzése az alábbiak szerint történik:
A PKI-t támogató alkalmazások a következők: biztonságos e- mail , fizetési protokollok, elektronikus csekkek, elektronikus információcsere, adatvédelem IP-hálózatokon keresztül , elektronikus űrlapok és elektronikus digitális aláírási (ES) dokumentumok.
Tanúsítvány megszerzéséhez kapcsolatba kell lépnie a tanúsító hatósággal. Tanúsítvány igénylése előtt meg kell győződnie arról, hogy ez a CA akkreditált azon a területen, ahol a tanúsítvány tulajdonosa használni fogja. Tanúsítvány megszerzéséhez létre kell hoznia egy nyilvános-privát kulcspárt; ezt a felhasználó vagy a CA végzi el, a hitelesítésszolgáltató szabályzatától vagy az ügyfél és a CA közötti megállapodásoktól függően.
A tanúsítványok használatához (aláírás vagy aláírás ellenőrzése) a felhasználónak olyan kriptográfiai eszközöket kell telepítenie a használt operációs rendszerre, amelyek támogatják ezekkel a tanúsítványokkal és elektronikus aláírási algoritmusokkal való munkát.
A tanúsítvány kézhezvétele után telepítenie kell a rendszerére. Windows család operációs rendszer használata esetén a tanúsítvány telepítése után a „személyes tanúsítványtároló” beépülő modulon keresztül látható (Start -> Futtatás -> certmgr.msc -> OK). A tulajdonságokban látható a tanúsítvány érvényességi ideje, ki állította ki, kinek állította ki, egyedi száma és egyéb attribútumai. Ahhoz, hogy az ügyfél együtt tudjon dolgozni egy hitelesítésszolgáltatóval , a központot fel kell venni a megbízhatóak listájára. Miután felkerült erre a listára, minden megbízható hatóság által kiadott tanúsítvány megbízhatónak minősül, és a tulajdonosa is megbízhatónak minősül. A felhasználók tanúsítványokat cserélnek (így történik a nyilvános kulcsok cseréje), és megkezdik az interakciót.
Alapvetően 5 típusú PKI architektúra létezik, ezek a következők:
Alapvetően a PKI-k különböző architektúrákra vannak osztva a következő jellemzők szerint:
Nézzük meg közelebbről az egyes PKI architektúrákat külön-külön.
1. Egyszerű PKIAhogy fentebb említettük, az architektúrák közül a legegyszerűbb egyetlen CA architektúrája. Ebben az esetben minden felhasználó megbízik egy CA-ban, és leveleznek egymással. Ebben az architektúrában, ha egy támadó hitelesítésszolgáltatónak adja ki magát, egyszerűen újra ki kell adnia az összes kiadott tanúsítványt, és folytatnia kell a normál működést.
2. Hierarchikus PKIA hierarchikus struktúra a leggyakoribb PKI architektúra. Ebben az esetben az egész struktúrát egy Head CA vezeti, amelybe mindenki megbízik, és az alárendelt CA-k vannak alárendelve. Ezen a fő CA-n kívül egynél több CA van a struktúrában, amely egy magasabb szintű CA-nak van alárendelve, amelyhez viszont minden felhasználó vagy alárendelt CA van hozzárendelve. A hierarchikus PKI sajátos példája a vállalati PKI. Egy hierarchikus PKI-ben még akkor is, ha egy támadó hitelesítésszolgáltatónak adja ki magát, a hálózat nélküle tovább működik, és amikor visszaállítja a normál teljesítményt, egyszerűen újra belép a struktúrába.
3. Hálózati PKIA PKI hálózati architektúra bizalmi hálózatként épül fel, számos hitelesítésszolgáltató nyújt PKI szolgáltatásokat, és peer-to-peer, azaz peer-to-peer kapcsolatok kötik össze őket. De ebben az esetben nincs egyetlen fő CA, amelyben mindenki megbízik. Ebben az architektúrában minden CA megbízik a szomszédos CA-kban, és minden felhasználó csak abban a CA-ban bízik, amelyiktől a tanúsítványt kiadta. A CA-k tanúsítványokat bocsátanak ki egymás számára; egy tanúsítványpár kétirányú bizalmi kapcsolatot ír le. Ehhez a PKI architektúrához könnyen hozzáadható egy új CA, ehhez legalább egy, a hálózaton már lévő CA-val kell tanúsítványt cserélnie. Ebben az architektúrában a tanúsítási lánc legösszetettebb felépítése.
A hálózati PKI-k nagyon rugalmasak, mivel több megbízhatósági ponttal rendelkeznek. Egy CA kompromittálódása nem érinti a hálózati PKI egészét: a feltört CA számára tanúsítványokat kiállító hitelesítési hatóságok egyszerűen visszavonják azokat, ezáltal eltávolítják a nem megbízható CA-t az infrastruktúrából. Ennek eredményeként a többi hitelesítésszolgáltatóhoz társított felhasználókat nem zavarják meg – továbbra is megbízható bizalmi pontokra hagyatkozhatnak, és biztonságosan kommunikálhatnak PKI-jük többi felhasználójával. A hálózati PKI kompromittálása vagy ahhoz vezet, hogy az egyik CA munkáját korlátozzák felhasználói közösségével együtt, vagy ha több hitelesítésszolgáltató megbízhatatlanná vált, akkor a PKI több kisebb infrastruktúrára bomlik. A feltört hálózati PKI-ből való helyreállítás könnyebb, mint egy hierarchikus, elsősorban azért, mert kevesebb felhasználót érint a kompromisszum.
Meglehetősen nehéz hitelesítési utat kiépíteni a hálózatban, mivel ez a folyamat nem determinisztikus, és számos lehetőség kínálkozik a tanúsítványlánc kialakítására. Egy részük a helyes út kiépítéséhez vezet, mások zsákutcába vezetnek. Emiatt a hitelesítési útvonal érvényesítése gyakran a megépítésével egy időben történik, aminek része a rossz ágak eltávolítása. Számos további tanúsítványmezőt használnak a helyes elérési út létrehozásához.
4. Cross-Certified Enterprise PKI ArchitectureEz a fajta architektúra a hierarchikus és a hálózati architektúrák vegyes típusának tekinthető. Több cég is rendelkezik saját PKI-vel, de kommunikálni akarnak egymással, így létrejön a közös vállalatközi PKI. A kereszttanúsított vállalati PKI architektúra rendelkezik a legösszetettebb tanúsítási lánc rendszerrel.
5. A híd CAA híd CA-architektúrát úgy tervezték, hogy kezelje a kereszttanúsított vállalati PKI komplex tanúsítási folyamatának hátrányait. Ebben az esetben minden cég nem csak egy-két cégben bízik, hanem egy konkrét híd CA-ban, ami gyakorlatilag a fő CA, de nem ez a legfőbb bizalom, hanem közvetítőként működik a többi CA között.
A nyilvános kulcsú menedzsment infrastruktúra megvalósítása a költségcsökkentés és a megvalósítási idő figyelembevételével hét szakaszban történik.
A dokumentum A fél kiszámítja a hash függvényt, majd a kapott értéket az ES-t fogadó privát kulccsal (privát kulcs) titkosítja. B fél megkapja A fél dokumentumát, ES-jét és tanúsítványát (hivatkozás a tanúsítványhoz), ellenőrzi A fél nyilvános kulcsú tanúsítványát a hitelesítési központban, ellenőrzi a kapott ES-t a nyilvános kulcs segítségével, kiszámítja a dokumentum hash funkcióját és a visszafejtett értékkel ellenőrzi. Ha az A fél tanúsítványa érvényes és az ellenőrzés sikeres, a dokumentumot az A fél aláírtnak kell tekinteni.
B fél titkosítja a dokumentumot az A fél nyilvános kulcsával. Annak ellenőrzésére, hogy a nyilvános kulcs valóban az A félhez tartozik, B fél nyilvános kulcsú tanúsítványt kér egy hitelesítésszolgáltatótól. Ha igen, akkor csak az A fél tudja visszafejteni az üzenetet, mert rendelkezik a megfelelő privát kulccsal.
A tanúsítványok segítségével ellenőrizhető a felhasználó személyazonossága és meghatározható a jogosultsága. A tanúsítvány alanyának jogkörébe tartozhat például az információk megtekintésének joga vagy a webszerveren bemutatott anyagok módosításának joga.
A fentiek közül néhány pont kiemelhető, illetve újak is hozzáadhatók a PKI-ben használt főbb fogalmak meghatározásához. Tehát a PKI-ben használt kifejezések a következők:
nyilvános kulcsú tanúsítványnyilvános kulcsot, annak érvényességi idejére és a kulcs tulajdonosára vonatkozó információkat tartalmazó hitelesítő központ elektronikus aláírásával hitelesített elektronikus dokumentum.
privát kulcsegy aszimmetrikus kriptográfiai algoritmussal előállított kulcs, amelyet csak a tulajdonosa ismer, és az adatok elektronikus aláírására és a titkos kulcsnak megfelelő nyilvános kulccsal titkosított adatok visszafejtésére szolgál.
nyilvános kulcsegy aszimmetrikus kriptográfiai algoritmus segítségével egy privát kulccsal párban generált kulcsot használnak az adatok titkosításához és az elektronikus aláírás ellenőrzéséhez.
Nyilvános kulcsú ujjlenyomat (ujjlenyomat/ujjlenyomat)információk, amelyek alapján a nyilvános kulcs azonosítható. Az ujjlenyomat a nyilvános kulcs értékére kriptográfiai hash függvény alkalmazásával jön létre .
Aláírt adatoka felhasználó privát kulcsával aláírt adatok.
Titkosított adatoka felhasználó nyilvános kulcsával titkosított adatok.
A bizalom útjaegy dokumentumlánc, amely lehetővé teszi, hogy megbizonyosodjon arról, hogy a bemutatott tanúsítványt egy megbízható központ állította-e ki; ennek a láncnak az utolsó láncszeme a bemutatott tanúsítvány, az első a root megbízható hitelesítő hatóság tanúsítványa, a köztesek pedig a köztes hitelesítő hatóságoknak kiadott tanúsítványok. A megbízhatósági útvonal jellemzője, hogy ha a lánc kezdeti láncszemében (a gyökér hitelesítési hatóságban) megszakad a bizalom, akkor a teljes láncban, vagyis az e hatóság által kibocsátott összes tanúsítványban, beleértve a bemutatottat is.
Személyes igazolásoktanúsítványok, amelyeket a felhasználó a személyes tanúsítványtárolóban tárol.
Root CA-kOlyan hitelesítésszolgáltatók, amelyekben kezdetben mindenki megbízik, akár a vállalati szabályzat, akár az alapértelmezett igazolástároló beállításai szerint, és a megbízhatósági útvonal elején lehetnek.
Megbízható tanúsító hatóságoka tanúsítványtulajdonosok által megbízható CA-k listája. Bármely központ megbízhatóvá tételéhez elegendő, ha tanúsítványt kap tőle, és hozzáadja a megbízható központok listájához.