La infraestructura de clave pública simple ( SPKI , pronunciado spoo-key ) fue un intento de superar la complejidad de la infraestructura de clave pública X.509 tradicional . Se especificó en dos especificaciones de Solicitud de comentarios (RFC) del Grupo de trabajo de ingeniería de Internet (IETF): RFC 2692 y RFC 2693, del grupo de trabajo IETF SPKI . Estos dos RFC nunca pasaron el nivel de madurez "experimental" del estado de RFC del IETF . La especificación SPKI definió un formato de certificado de autorización, que prevé la delimitación de privilegios, derechos u otros atributos similares (denominados autorizaciones ) y vincularlas a una clave pública. En 1996, SPKI se fusionó con Simple Distributed Security Infrastructure [1] ( SDSI , pronunciado jabonoso ) por Ron Rivest y Butler Lampson .
Historia y descripción general
El SPKI original había identificado a los principales solo como claves públicas, pero permitía autorizaciones vinculantes para esas claves y la delegación de autorización de una clave a otra. La codificación utilizada fue atributo: emparejamiento de valor, similar a Encabezados RFC 822 .
El SDSI original vinculaba los nombres locales (de individuos o grupos) a claves públicas (u otros nombres), pero llevaban autorización solo en las Listas de control de acceso (ACL) y no permitían la delegación de subconjuntos de la autorización de un principal. La codificación utilizada fue la expresión S estándar . Ejemplo de clave pública RSA en SPKI en "formato de transporte avanzado" (para el transporte real, la estructura estaría codificada en Base64 ):
(public-key
(rsa-pkcs1-md5
(e #03#)
(n
|ANHCG85jXFGmicr3MGPj53FYYSY1aWAue6PKnpFErHhKMJa4HrK4WSKTO
YTTlapRznnELD2D7lWd3Q8PD0lyi1NJpNzMkxQVHrrAnIQoczeOZuiz/yY
VDzJ1DdiImixyb/Jyme3D0UiUXhd6VGAz0x0cgrKefKnmjy410Kro3uW1| )))
El SPKI / SDSI combinado permite el nombramiento de principales, la creación de grupos nombrados de directores y la delegación de derechos u otros atributos de un principal a otro. Incluye un lenguaje para la expresión de autorización, un lenguaje que incluye una definición de "intersección" de autorizaciones. También incluye la noción de sujeto umbral : un constructo que otorga autorizaciones (o delegaciones) solo cuando de concurren de los sujetos enumerados (en una solicitud de acceso o una delegación de derechos). SPKI / SDSI usa codificación de expresión S, pero especifica una forma binaria que es extremadamente fácil de analizar, una gramática LR (0), llamada expresiones S canónicas .
SPKI / SDSI no define un rol para una autoridad de certificación comercial (CA). De hecho, una premisa detrás de SPKI es que una CA comercial no tiene ningún propósito útil. [2] Como resultado de eso, SPKI / SDSI se implementa principalmente en soluciones cerradas y en proyectos de demostración de interés académico. Otro efecto secundario de este elemento de diseño es que es difícil monetizar SPKI / SDSI por sí solo. [ cita requerida ] Puede ser un componente de algún otro producto, pero no existe un argumento comercial para desarrollar herramientas y servicios SPKI / SDSI, excepto como parte de algún otro producto.
Las implementaciones generales más destacadas de SPKI / SDSI son E-speak, un producto de middleware de HP que usó SPKI / SDSI para el control de acceso de los métodos web, y UPnP Security, que usa un dialecto XML de SPKI / SDSI [ cita requerida ] para el acceso control de métodos web, delegación de derechos entre los participantes de la red, etc.
Ver también
Notas
- ^ "SDSI - Una infraestructura de seguridad distribuida simple" . people.csail.mit.edu . Consultado el 15 de marzo de 2017 .
- ^ Ellison, Carl (1996). "Establecimiento de identidad sin autoridades de certificación". 6º Simposio de Seguridad de USENIX . CiteSeerX 10.1.1.31.7263 .