SPKAC es un acrónimo de Signed Public Key and Challenge , también conocido como Netscape SPKI .
Es un formato para enviar una Solicitud de Firma de Certificación : codifica una clave pública , que se puede manipular mediante openssl . [1] Se crea usando el elemento keygen HTML poco documentado [2] dentro de varios navegadores compatibles con Netscape .
Estandarización
Existe un esfuerzo continuo para estandarizar SPKAC a través de un Borrador de Internet en el Grupo de Trabajo de Ingeniería de Internet (IETF). El propósito de este trabajo ha sido definir formalmente lo que ha existido antes como un estándar de facto y abordar las deficiencias de seguridad, en particular con respecto al uso histórico inseguro de MD5 que desde entonces ha sido declarado inseguro para su uso con firmas digitales según RFC 6151 . [3]
Implementaciones
HTML5 originalmente especificó el
elemento para admitir SPKAC en el navegador para facilitar la creación de certificados del lado del cliente a través de un servicio web para protocolos como WebID; [4] [5] sin embargo, el trabajo posterior para HTML 5.1 colocó el elemento keygen "en riesgo", y el primer borrador de trabajo público de HTML 5.2 elimina el elemento keygen por completo. [6] [7] [8] La eliminación del elemento keygen se debe a la no interoperabilidad y la no conformidad desde la perspectiva de las normas, además de los problemas de seguridad. [9] El Grupo de Trabajo de Autenticación Web del W3C está trabajando en la API de Autenticación Web para reemplazar el elemento keygen. [10]
Bouncy Castle proporciona una clase de Java. [11] [12]
También existe una implementación para Erlang / OTP . [13]
Una implementación para Python se llama pyspkac. [14]
Extensión PHP OpenSSL a partir de la versión 5.6.0. [15]
Implementación de node.js. [dieciséis]
Deficiencias
La interfaz de usuario debe mejorarse en los navegadores, para que sea más obvio para los usuarios cuando un servidor solicita el certificado de cliente. [17]
Referencias
- ^ "Documentos, spkac (1)" . OpenSSL . Consultado el 5 de abril de 2017 .
- ^ "Html | Mdn" . Developer.mozilla.org. 2013-08-15 . Consultado el 13 de octubre de 2013 .
- ^ "RFC 6151 - Consideraciones de seguridad actualizadas para MD5 Message-Digest y los algoritmos HMAC-MD5" . Grupo de Trabajo de Ingeniería de Internet. Marzo de 2011 . Consultado el 11 de noviembre de 2013 .
- ^ "Recomendación HTML5 W3C 28 de octubre de 2014. 4.10.12 El elemento keygen" . W3C. 2014-10-28 . Consultado el 17 de octubre de 2016 .
- ^ "WebID: creación de un protocolo de autenticación descentralizado global" . W3C . Consultado el 13 de octubre de 2013 .
- ^ Nevile, Chaals (3 de junio de 2016). "Re: Convocatoria de consenso: eliminar
de HTML" . Grupo de trabajo HTML del W3C (lista de correo) . Consultado el 17 de octubre de 2016 . - ^ "HTML5.1: CR 21 de junio de 2016. Estado de este documento" . W3C. 2016-06-21 . Consultado el 17 de octubre de 2016 .
- ^ "HTML 5.2: Primera WD pública. Cambios desde HTML 5.1" . W3C. 2016-08-18 . Consultado el 17 de octubre de 2016 .
- ^ Grupo de Arquitectura Técnica del W3C (30/11/2015). "Certificados Keygen y Cliente" . W3C . Consultado el 17 de octubre de 2016 .
- ^ Halpin, Harry; Apelante, Daniel; Mill, Eric; Gmür, Reto (31 de mayo de 2016). "Re: eliminar keygen de HTML" . W3C WWW Technical Architecture Group (lista de correo) . Consultado el 17 de octubre de 2016 .
- ^ "Documentación de Java de Bouncy Castle" . Consultado el 6 de diciembre de 2013 .
- ^ "Foaf-Protocolos] implementación de prueba spkac en Java" . Lists.foaf-project.org . Consultado el 13 de octubre de 2013 .
- ^ "ztmr / espkac @ GitHub" . Github.com . Consultado el 13 de octubre de 2013 .
- ^ "pyspkac" . Github.com . Consultado el 6 de diciembre de 2013 .
- ^ "Soporte SPKAC nativo de php 5.6.0 OpenSSL" .
- ^ "Soporte de node.js spki" .
- ^ "Seguimiento de usuarios con certificados SSL en Firefox - The H Security: Novedades y características" . Heise-online.co.uk. 2007-09-19. Archivado desde el original el 19 de septiembre de 2008 . Consultado el 13 de octubre de 2013 .
enlaces externos
- Borrador de IETF: clave pública firmada y desafío
- Una descripción general de cómo funciona la etiqueta keygen con spkac en php , archivada desde el original el 16 de abril de 2013
- PHP v5.6 ahora es compatible con SPKAC de forma nativa
- Soporte nativo de SPKAC en la extensión PHP OpenSSL con el lanzamiento de v5.6.0-Alpha3
- Compatibilidad nativa con SPKAC en Node.js (con la versión v0.11.8)
- Demostración de SPKAC en Node.js (requiere la versión de node.js> v0.11.8)