Simple public key infrastructure
Encyclopedia
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 is specified in two Internet Engineering Task Force (IETF) Request For Comments
(RFC) specifications—RFC 2692 and RFC 2693—from the IETF SPKI working group. These two RFCs are at the EXPERIMENTAL maturity level of the IETF's RFC status. The SPKI specification defines an authorization certificate format, providing for the delineation 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
.
The original SDSI bound local names (of individuals or groups) to public keys (or other names), but carried authorization only in Access Control List
s (ACLs) and did not allow for delegation of subsets of a principal's authorization. The encoding used was standard S-expression
.
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). SPKI/SDSI uses S-expression encoding, but specifies a binary form that is extremely easy to parse - an LR(0) grammar - called Canonical S-expressions
.
SPKI/SDSI does not define a role for a commercial Certificate Authority
(CA). In fact, one premise behind SPKI is that a commercial CA serves no useful purpose.
As a result of that, SPKI/SDSI is deployed primarily in closed solutions and in demonstration projects of academic interest. Another side-effect of this design element is that it is difficult to monetize SPKI/SDSI by itself. It can be a component of some other product, but there is no business case for developing SPKI/SDSI tools and services except as part of some other product.
The most prominent general deployments of SPKI/SDSI are E-speak
, a middleware product from HP
that used SPKI/SDSI for access control of web methods, and UPnP Security, that uses an XML dialect of SPKI/SDSI for access control of web methods, delegation of rights among network participants, etc.
X.509
In cryptography, X.509 is an ITU-T standard for a public key infrastructure and Privilege Management Infrastructure . X.509 specifies, amongst other things, standard formats for public key certificates, certificate revocation lists, attribute certificates, and a certification path validation...
public key infrastructure
Public key infrastructure
Public Key Infrastructure is a set of hardware, software, people, policies, and procedures needed to create, manage, distribute, use, store, and revoke digital certificates. In cryptography, a PKI is an arrangement that binds public keys with respective user identities by means of a certificate...
. It is specified in two Internet Engineering Task Force (IETF) Request For Comments
Request for Comments
In computer network engineering, a Request for Comments is a memorandum published by the Internet Engineering Task Force describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.Through the Internet Society, engineers and...
(RFC) specifications—RFC 2692 and RFC 2693—from the IETF SPKI working group. These two RFCs are at the EXPERIMENTAL maturity level of the IETF's RFC status. The SPKI specification defines an authorization certificate format, providing for the delineation 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
Ron Rivest
Ronald Linn Rivest is a cryptographer. He is the Andrew and Erna Viterbi Professor of Computer Science at MIT's Department of Electrical Engineering and Computer Science and a member of MIT's Computer Science and Artificial Intelligence Laboratory...
and Butler Lampson
Butler Lampson
Butler W. Lampson is a renowned computer scientist.After graduating from the Lawrenceville School , Lampson received his Bachelor's degree in Physics from Harvard University in 1964, and his Ph.D...
.
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 encoding used was attribute:value pairing, similar to RFC 822 headers.The original SDSI bound local names (of individuals or groups) to public keys (or other names), but carried authorization only in Access Control List
Access control list
An access control list , with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject...
s (ACLs) and did not allow for delegation of subsets of a principal's authorization. The encoding used was standard S-expression
S-expression
S-expressions or sexps are list-based data structures that represent semi-structured data. An S-expression may be a nested list of smaller S-expressions. S-expressions are probably best known for their use in the Lisp family of programming languages...
.
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). SPKI/SDSI uses S-expression encoding, but specifies a binary form that is extremely easy to parse - an LR(0) grammar - called Canonical S-expressions
Canonical S-expressions
A Canonical S-expression is a binary encoding form of a subset of general S-expression. It was designed for use in SPKI - to retain the power of S-expressions, while achieving the compactness of a binary form and maximizing the speed of parsing.An S-expression is composed of atoms, which are byte...
.
SPKI/SDSI does not define a role for a commercial Certificate Authority
Certificate authority
In cryptography, a certificate authority, or certification authority, is an entity that issues digital certificates. The digital certificate certifies the ownership of a public key by the named subject of the certificate...
(CA). In fact, one premise behind SPKI is that a commercial CA serves no useful purpose.
As a result of that, SPKI/SDSI is deployed primarily in closed solutions and in demonstration projects of academic interest. Another side-effect of this design element is that it is difficult to monetize SPKI/SDSI by itself. It can be a component of some other product, but there is no business case for developing SPKI/SDSI tools and services except as part of some other product.
The most prominent general deployments of SPKI/SDSI are E-speak
E-speak
E-Speak was a middleware technology created by Hewlett-Packard in 1999. The platform is considered to be one of the first pre-SOAP web services platforms and was nominated for a Smithsonian award. The goal of this project was to provide the infrastructure for global service interaction over the...
, a middleware product from HP
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
that used SPKI/SDSI for access control of web methods, and UPnP Security, that uses an XML dialect of SPKI/SDSI for access control of web methods, delegation of rights among network participants, etc.