Az egyszerű nyilvános kulcsú infrastruktúra ( orosz egyszerű nyilvános kulcsú infrastruktúra, SPKI, ejtsd: spoo-key ) egy nyilvános kulcsú infrastruktúra , amelyet az IETF Simple Public Key Infrastructure Working Group hozott létre az X.509 szabvány néhány hiányosságának orvoslására . Két IETF Request For Comments specifikáció létezik – RFC 2692 és RFC 2693 IETF SPKI munkacsoport.
Az SPKI egy nyilvános kulcsú infrastruktúra , amelyet arra terveztek, hogy olyan mechanizmusokat biztosítson, amelyek támogatják a védelmet számos internetes alkalmazásban, beleértve az IPSEC protokollokat, a titkosított e-maileket és a WWW dokumentumokat, a fizetési protokollokat és más olyan alkalmazásokat, amelyek nyilvános kulcsú tanúsítványok használatát és hozzáférési képességüket kérik. . [1] Az SPKI-t javasolták az X.509 helyettesítésére a rendszer hiányosságai miatt. Az SPKI az engedélyezési és azonosítási problémák megoldására jött létre . Ezenkívül ez a rendszer képes felhatalmazást adni . Az SPKI-nek nincs globális hierarchikus CA -struktúrája , ehelyett az SPKI a PGP -hez hasonlóan részletesebb, alulról felfelé irányuló bizalom-újraelosztási megközelítést alkalmaz . A tanúsítványok írásához LISP - szerű struktúrákat használnak - S-kifejezéseket . Az SPKI-tanúsítványoknak két típusa létezik: egy négy objektumból álló SPKI és egy öt objektumból álló SPKI sor a hitelesítéshez , illetve az engedélyezéshez. Mindezek mellett az SPKI-t nem használják széles körben. [2]
A bizalom újraelosztására az SPKI a bizalom hálóját használja. A felhasználók maguk kezelik a nyilvános kulcsokat alulról felfelé haladva. Minden felhasználó hitelesítésszolgáltató , aki aláírja más felhasználók nyilvános kulcsait. Alice, aki aláírja Bob nyilvános kulcsát, Bob CA -jaként működik, majd Bob átadja az Alice által aláírt tanúsítványt Charlie-nak . Ha Alice-ben megbízik Charlie-ban, akkor biztos lesz benne, hogy az adott nyilvános kulcs, amelyet Alice írt alá, valóban Bob-é. Az állandó áthallás miatt a bizalom hálója felülről lefelé nő, innen ered a név. [2]
Az SPKI jogosultsági tanúsítvány egyik előnye, hogy az erőforrás tulajdonosának bevonása nélkül delegálhatja a jogosultságot egyik személyről a másikra. Kiadhat egy egyszerű engedélyt (például olvashat valamilyen fájlt), vagy engedélyt adhat ki további delegálásra. A felhatalmazás átruházásakor két kérdés merül fel: a delegálás mélységének korlátozása és a potenciális delegátorok felosztása azokra, akik delegálhatnak, és akik nem. Ezen folyamatok szabályozása logikai (Boole-féle) vezérlés segítségével történik. Előnye, hogy logikai vezérléssel megadható a jogosultság delegálásának lehetetlensége. Képzelje el, hogy az Egyesült Államok Kereskedelmi Minisztériuma rendelkezik egy kulccsal, amely lehetővé teszi egy kriptográfiai szoftvermodul exportálhatóvá nyilvánítását és másoknak történő delegálását. Célszerű azt feltételezni, hogy a kereskedelmi osztály nem ad engedélyt további delegálásra.
Az SPKI delegálási képessége hasznosnak bizonyul az internetes tranzakciókhoz . Például, amikor az egyes vezetők szabadságra mennek, átruházhatják beosztottjaikra bizonyos tevékenységekre vonatkozó hatáskörüket. [3]
Az SPKI-tanúsítványok tartalmazzák a tanúsítványt létrehozó hatóság nyilvános kulcsait (vagy azok hash értékeit) és a tanúsítványobjektumot. A nevek nem szerepelnek az SPKI tanúsítványban, mert az SPKI készítői úgy vélik, hogy csak a kulcs számít. A billentyűk kiemelése azt jelenti, hogy ebben a rendszerben nagy figyelmet fordítanak a funkcionalitásra. Az SPKI-tanúsítványoknak két típusa létezik, egy négy objektumból álló SPKI és egy öt objektumból álló SPKI sor, amelyeket hitelesítési , illetve engedélyezési kulcsok hoznak létre.
Az SPKI négysoros SPKI-t használ a felhasználó helyi nevének és nyilvános kulcsának társításához
(Alkotó, név, objektum, érvényességi idő)A gyakorlatban a tanúsítvány 5 objektumból áll:
Bármely felhasználó létrehozhat ilyen tanúsítványt, és ennek eredményeként hitelesítésszolgáltatóvá válhat .
Az ötrészes SPKI kulcsengedélyezésre szolgál, és a következőkből áll:
(Létrehozó, objektum, delegálás, felhatalmazás, érvényesség)A valóságban a tanúsítvány hat mezőből áll:
A hitelesítési és engedélyezési tanúsítványok kombinálásával ellenőrzési nyomvonalat kaphat. Az engedélyezési tanúsítvány lehetővé teszi, hogy bármilyen műveletet hajtson végre a kulccsal, de nem mond semmit a kulcs tulajdonosáról. A kulcs összerendelése hitelesítési tanúsítvány segítségével történik. Ezért szükség van ezek kombinációjának használatára.
A tanúsítványok kombinációja a következő csökkentési szabály szerint történik :
Hol van az alkotó, hol a tárgy, hol van a delegálás, hol van a felhatalmazás , hol van a lejárati dátum.
Az egyenlőség akkor és csak akkor valósul meg, ha és = Igen.
Alice bizonyítvány adatai:
Ez azt jelenti, hogy Alice lehetővé teszi Bobnak, hogy 100 eurót vegyen fel a számlájáról, és lehetővé teszi, hogy ezt a műveletet bármely személyre delegálja, akit Bob szükségesnek tart.
Bob bizonyítványának adatai:
Ez azt jelenti, hogy Charlie a mai napon 50 és 100 euró közötti összeget vehet fel Alice számlájáról.
Két tanúsítvány összekapcsolása a redukciós szabály segítségével:
Így Alice megengedte Bobnak, hogy átruházza a jogkört, és ennek eredményeként Charlie-nak holnap reggelig vehessen fel pénzt a számlájáról. [2]
Az SPKI-tanúsítványoknak más tanúsítványokhoz hasonlóan érvényességi időszakkal kell rendelkezniük: az az időtartam, ameddig érvényes. Az érvényesség online ellenőrzésére is van lehetőség, amely egy tanúsítvány visszavonási listán keresztül történik - CRL . A minimális CRL tartalmazza a visszavont tanúsítványok listáját, egy sorozatszámot és egy aláírást . Ha egy bizonyos tanúsítvány szerepel ezen a listán, akkor a tanúsítvány megsemmisül. Ha találkozik egy korábbi CRL -lel , akkor eltávolítja az előző CRL-t. Az ilyen CRL-ek nem determinisztikus programviselkedéshez vezetnek. Ennek eredményeként az engedélyezési folyamat időfüggő, ami egy biztonsági rést jelent . Vagyis a tanúsítvány visszavonás elleni védelem lehetőségéhez vezet azáltal, hogy megakadályozza az új CRL-ek kézbesítését. Ez nem felel meg a kriptográfiai követelményeknek. Az SPKI megszüntette ezt a megközelítést a tanúsítványainál, és a folyamatot determinisztikussá tette az ideiglenes CRL-ekkel, amelyek három szabálynak engedelmeskednek:
E szabályok szerint a CRL-t használó tanúsítványok nem dolgozhatók fel érvényes CRL nélkül. [3]
Az egyértelműség kedvéért az X.509 tanúsítvány fő mezői láthatók .
Az X.509 problémája az , hogy a nevek globálisak (ami nem igaz), és a tanúsítványok azonosítására szolgálnak. Ezért a kulcs tulajdonosának felhatalmazásához szükséges a hitelesítés. Ezért az X.509 szabványban a hitelesítés nélküli engedélyezés lehetetlen, ami különösen azt jelenti, hogy ez a szabvány nem támogatja az anonim engedélyezést. Az SPKI-ben ezeket a problémákat az a tény oldja meg, hogy a kulcsok, amelyek önmagukban is egyediek, azonosítók (ami lehetővé teszi az anonim engedélyezést). Mivel a kulcsokat az emberek nehezen tudják értelmezni, az SPKI helyi neveket biztosít. A helyi név egy név valamilyen névtérben. Ebből következik, hogy a "Tárgy neve" mező értéke gyökeresen eltérő. Egy másik különbség az SPKI és az X.509 között a Delegation mező, amely hiányzik az X.509-ből. A két tanúsítvány egymáshoz hasonló mezői a „Nyilvános kulcs”, „Az alkotó neve” és „Érvényességi időszak” mezők.
Az SPKI és az X.509 között az a különbség is, hogy az SPKI-ben nincs CA-hierarchia , és az X.509-tanúsítványok írásakor használt ASN.1 nyelv helye, az S-kifejezések az SPKI-tanúsítványok írásához használatosak , amelyek könnyűek és könnyen érthető, ellentétben a számítógépes elemzésre szánt X.509 tanúsítványokkal. Egy interfész is rendelkezésre áll az S-kifejezések egyszerű észleléséhez . [3] [2]