Simple public-key infrastructure
Simple public key infrastructure (SPKI, pronounced spoo-key) was born out of a joint effort to overcome the overcomplication and scalability problems of traditional X.509 public key infrastructure. It was an experimental standard of the IETF from the SPKI working group and produced an authorization certificate format, allowing the specification of privileges, rights or other such attributes (called authorizations) and binding them to a public key. In 1996, SPKI was merged with Simple Distributed Security Infrastructure (SDSI, pronounced sudsy) by Ron Rivest and Butler Lampson.
History and Overview
The original SPKI had identified principals only as public keys but allowed binding authorizations to those keys and delegation of authorization from one key to another.
The original SDSI bound local names (of individuals or groups) to public keys (or other names), but carried authorization only in Access Control Lists (ACLs) and did not allow for delegation of subsets of a principal's authorization.
The combined SPKI/SDSI allows the naming of principals, creation of named groups of principals and the delegation of rights or other attributes from one principal to another. It includes a language for expression of authorization - a language that includes a definition of "intersection" of authorizations. It also includes the notion of threshold subject - a construct granting authorizations (or delegations) only when of of the listed subjects concur (in a request for access or a delegation of rights).