Infrastruktura jednoduchého veřejného klíče ( ruská infrastruktura jednoduchého veřejného klíče, SPKI, vyslovováno spoo-key ) je infrastruktura veřejného klíče vytvořená pracovní skupinou IETF Simple Public Key Infrastructure Working Group za účelem řešení některých nedostatků standardu X.509 . Existují dvě specifikace IETF Request For Comments – RFC 2692 a RFC 2693 pracovní skupina IETF SPKI.
SPKI je infrastruktura veřejného klíče navržená tak, aby poskytovala mechanismy pro podporu ochrany v široké řadě internetových aplikací, včetně protokolů IPSEC , šifrovaných e-mailových a WWW dokumentů, platebních protokolů a dalších aplikací, které vyžadují použití certifikátů veřejného klíče a možnost přístupu k nim. . [1] SPKI bylo navrženo jako náhrada X.509 kvůli nedostatkům tohoto systému. SPKI byl vytvořen pro řešení problémů autorizace a identifikace . Tento systém má také schopnost delegovat pravomoci. SPKI nemá globální hierarchickou strukturu CA , místo toho používá SPKI podrobnější přístup k redistribuci důvěryhodnosti zdola nahoru podobný PGP . K zápisu certifikátů se používají struktury podobné LISP - S-expressions . Existují dva typy certifikátů SPKI: n-tice SPKI se čtyřmi objekty a n-tice SPKI s pěti objekty pro ověřování a autorizaci. S tím vším se SPKI příliš nepoužívá. [2]
K redistribuci důvěry používá SPKI síť důvěry. Sami uživatelé spravují veřejné klíče na bázi zdola nahoru. Každý uživatel je CA , podepisuje veřejné klíče ostatních uživatelů. Alice, která podepisuje Bobův veřejný klíč, funguje jako CA pro Boba, poté Bob předá certifikát podepsaný Alicí Charliemu. Pokud je Alice pro Charlieho důvěryhodná, pak bude mít jistotu, že daný veřejný klíč podepsaný Alicí skutečně patří Bobovi. Kvůli neustálým přeslechům tato síť důvěry roste shora dolů, odtud název. [2]
Jednou z výhod autorizačního certifikátu SPKI je delegování pravomocí z jedné osoby na druhou bez zapojení vlastníka zdroje. Můžete udělit jednoduché oprávnění (například číst nějaký soubor) nebo udělit oprávnění pro další delegování. Při zvažování delegování pravomocí vyvstávají dvě otázky: přání omezit hloubku delegování a rozdělení potenciálních delegátů na ty, kteří mohou delegovat, a ty, kteří nemohou. Regulace těchto procesů se provádí pomocí logického (booleovského) řízení. Jeho výhodou je, že pomocí booleovského ovládání můžete určit nemožnost delegování pravomocí. Představte si, že americké ministerstvo obchodu má klíč, který umožňuje, aby byl kryptografický softwarový modul prohlášen za exportovatelný a také aby byl delegován na ostatní. Má smysl předpokládat, že obchodní oddělení nevydá povolení k dalšímu delegování.
Schopnost delegování SPKI se ukazuje jako užitečná pro transakce na internetu . Například, když jednotliví manažeři odjíždějí na dovolenou, mohou své pravomoci ohledně určitých akcí delegovat na své podřízené. [3]
Certifikáty SPKI zahrnují veřejné klíče (nebo jejich hodnoty hash ) autority, která certifikát vytváří, a objekt certifikátu. Jména nejsou zahrnuta v certifikátu SPKI, protože autoři SPKI věří, že záleží pouze na klíči. Zdůraznění kláves znamená, že v tomto systému je věnována velká pozornost funkčnosti. Existují dva typy certifikátů SPKI, čtyřobjektová SPKI n-tice a pětiobjektová SPKI n-tice, vytvořené pomocí autentizačních a autorizačních klíčů.
SPKI používá čtyřnásobné SPKI k přiřazení místního jména uživatele a veřejného klíče
(Tvůrce, Jméno, Objekt, Doba platnosti)V praxi se certifikát skládá z 5 objektů:
Každý uživatel může vytvořit takový certifikát a v důsledku toho se stát CA.
Pětinásobný SPKI se používá pro autorizaci klíče a skládá se z:
(Tvůrce, Objekt, Delegování, Autorizace, Platnost)Ve skutečnosti má certifikát šest polí:
Autentizační a autorizační certifikáty můžete kombinovat, abyste získali auditní stopu. Autorizační certifikát umožňuje provádět s klíčem libovolné akce, ale neříká nic o vlastníkovi klíče. K navázání klíče dochází pomocí autentizačního certifikátu. Proto je potřeba použít jejich kombinaci.
Kombinace certifikátů se provádí pomocí následujícího redukčního pravidla :
Kde je tvůrce, je objekt, je delegování, je oprávnění, je datum vypršení platnosti.
Rovnosti je dosaženo tehdy a pouze tehdy a = Ano.
Podrobnosti certifikátu Alice:
To znamená, že Alice umožňuje Bobovi vybrat 100 eur z účtu a umožňuje delegovat tuto akci na jakoukoli osobu, kterou Bob považuje za nezbytnou.
Podrobnosti o Bobově certifikátu:
To znamená, že Charlie může během dneška vybrat z Alicina účtu částku v rozmezí od 50 eur do 100 eur.
Spojení dvou certifikátů pomocí redukčního pravidla:
Alice tedy dovolila Bobovi delegovat pravomoc a v důsledku toho dovolila Charliemu vybírat peníze z jejího účtu až do zítřejšího rána. [2]
Certifikát SPKI, stejně jako ostatní certifikáty , musí mít dobu platnosti: dobu, po kterou je platný. K dispozici je také online ověření platnosti, které je dosaženo prostřednictvím seznamu zneplatněných certifikátů - CRL . Minimální CRL obsahuje seznam odvolaných certifikátů, sériové číslo a podpis . Pokud je v tomto seznamu nalezen určitý certifikát, bude tento certifikát zničen. Pokud narazí na předchozí CRL , odebere předchozí CRL. Taková CRL vedou k nedeterministickému chování programu. V důsledku toho je proces autorizace časově závislý, což je zranitelnost . To znamená, že to vede k možnosti ochrany proti zrušení certifikátu tím, že zabrání doručení nových CRL. To nesplňuje kryptografické požadavky. SPKI tento přístup u svých certifikátů odstranila a učinila proces deterministickým s dočasnými seznamy CRL, které se řídí třemi pravidly:
Podle těchto pravidel nemohou být certifikáty, které používají CRL, zpracovány bez platného CRL. [3]
Pro přehlednost jsou zobrazena hlavní pole certifikátu X.509 .
Problém s X.509 je, že názvy jsou globální (což není pravda) a používají se k identifikaci certifikátů. Pro autorizaci vlastníka klíče je tedy nutné jej autentizovat. Autorizace bez autentizace ve standardu X.509 je tedy nemožná, což zejména znamená, že tento standard nepodporuje anonymní autorizaci. V SPKI jsou tyto problémy řešeny tím, že klíče, které jsou samy o sobě jedinečné, jsou identifikátory (což umožňuje anonymní autorizaci). Protože klíče jsou pro člověka obtížně interpretovatelné, poskytuje SPKI místní názvy. Místní jméno je jméno v nějakém jmenném prostoru. Z toho vyplývá, že pole "Název předmětu" má radikálně odlišné hodnoty. Dalším rozdílem mezi SPKI a X.509 je pole Delegace, které u X.509 chybí. Pole sobě podobná v obou certifikátech jsou pole „Veřejný klíč“, „Jméno tvůrce“ a „Doba platnosti“.
Rozdíly mezi SPKI a X.509 jsou také v tom, že v SPKI neexistuje žádná hierarchie CA a místo jazyka ASN.1 používaného při psaní certifikátů X.509, S-výrazy se používají k zápisu certifikátů SPKI , které jsou lehké. a snadno pochopitelné, na rozdíl od certifikátů X.509 pro počítačovou analýzu. K dispozici je také rozhraní pro snadné vnímání S-výrazů . [3] [2]