SPKI

Prosta Infrastruktura Klucza Publicznego (SPKI) (ang. Simple Public Key Infrastructure) – architektura certyfikatów klucza publicznego skupiająca się na potwierdzeniu uprawnień podmiotu certyfikatu.

Architektura SPKI została stworzona w połowie lat 90. jako alternatywa dla dominujących wówczas systemów PGP i X.509, które twórcy SPKI uważali za zbyt skomplikowane (zwłaszcza X.509) do powszechnych zastosowań i poświęcające zbyt wiele uwagi tożsamości podmiotu zamiast jego uprawnień.

W 1996 roku elementy wczesnych wersji SPKI zostały wykorzystane w zbliżonym projekcie SDSI (Simple Distributed Security Infrastructure)[1].

W 1999 roku SPKI i SDSI 2.0[2] zostały opublikowane łącznie w standardach RFC 2693[3] i RFC 2692[4].

Certyfikaty

Certyfikaty SPKI zapisywane są w notacji S-wyrażeń (S-expressions) znanej z języka Lisp. Przykład certyfikatu SPKI zawierającego zobowiązanie podwykonawcy identyfikowanego przez skrót MD5 kuX... na sumę 50 tys. USD płatne zleceniodawcy 1r8... w razie niewypełnienia kontraktu gPA... do daty podanej w atrybucie not-after. Zobowiązanie jest poświadczone przez podmiot u2k..., trzecią stronę, której ufają obaj kontrahenci.

(cert
(issuer (hash md5 |u2kl73MiObh5o1zkGmHdbA==|))
(subject (keyholder (hash md5 |kuXyqx8jYWdZ/j7Vffr+yg==| )))
(tag (insured "50000" USD) (to (hash md5 |1r8ICXryJw6v/B4MQdTU/Q==|))
(for "Failure to perform under contract (on file): "
(hash md5 |gPA50iM6yETsixLgo2kVlA==|)))
(not-after "2003-01-01_00:00:00")
)

Certyfikaty SPKI mogą przenosić podobną informację jak certyfikaty atrybutu w X.509.

Zastosowania

Autoryzacja za pomocą certyfikatów SPKI była stosowana w systemie HP E-Speak[5]. Również specyfikacja UPnP do celów autoryzacji urządzeń posługuje się SPKI, z certyfikatami kodowanymi w XML zamiast klasycznych S-wyrażeń[6].

Przypisy

  1. Ronald L. Rivest, Butler Lampson: SDSI – A Simple Distributed Security Infrastructure 1.0. 1996.
  2. A Simple Distributed Security Infrastructure (SDSI). MIT.
  3. C. Ellison i inni, SPKI Certificate Theory, RFC 2693, IETF, wrzesień 1999, DOI10.17487/RFC2693, ISSN 2070-1721, OCLC 943595667 (ang.).
  4. C. Ellison, SPKI Requirements, RFC 2692, IETF, wrzesień 1999, DOI10.17487/RFC2692, ISSN 2070-1721, OCLC 943595667 (ang.).
  5. Lessons from e-Speak. Hewlett Packard, 2004.
  6. UPnP Device Security 0.93 Service Template. UPnP, 2003.