OpenPubKey, un protocolo criptográfico de código abierto
Hace ya algunos días la Fundación Linux, dio a conocer mediante una publicación de blog, el lanzamiento de OpenPubKey, el cual nacé de la mano de la Fundación Linux BastionZero y Docker.
OpenPubKey se presenta como un proyecto de código abierto, que desarrolla el protocolo criptográfico para la firma de contenedores Docker, para ayudar a proteger el ecosistema de software de código abierto para la verificación de objetos criptograficos.
Sobre OpenPubkey
En el anuncio de la Fundacion Linux, se menciona que la tecnología fue desarrollada como un proyecto conjunto de BastionZero y Docker con el objetivo de simplificar la firma digital de las imágenes del contenedor Docker para evitar su sustitución y confirmar la compilación por parte del creador declarado.
Las capacidades de OpenPubKey no se limitan a imágenes de contenedores, ya que la tecnología se puede utilizar para confirmar el origen de cualquier recurso, evitar el reemplazo de dependencias y mejorar la seguridad de los canales de distribución de conjuntos de datos. Por ejemplo, esta técnica funciona para validar compilaciones, mensajes individuales y confirmaciones. El creador de la firma sólo necesita tener una cuenta en un servicio habilitado para OpenID, y el consumidor tiene la oportunidad de verificar la firma adjunta y confirmar su conexión con el identificador OpenID reclamado.
«La Fundación Linux se enorgullece de albergar el Proyecto OpenPubkey», dijo Jim Zemlin, Director Ejecutivo de la Fundación Linux. «Creemos que esta iniciativa desempeñará un papel fundamental en el fortalecimiento de la seguridad de la comunidad de software de código abierto. Alentamos a los desarrolladores y organizaciones a unirse a este esfuerzo colaborativo para mejorar la seguridad de la cadena de suministro de software».
«Introdujimos OpenPubkey como su propio protocolo independiente para que sea fácil y seguro el uso de firmas digitales con OpenID Connect», dijo Ethan Heilman, cofundador y CTO de BastionZero.
OpenPubKey es similar al sistema Sigstore creado por Google y previamente portado a la Fundación Linux, pero se diferencia en que simplifica significativamente la implementación, el uso y el mantenimiento al eliminar los componentes centralizados del servidor responsables de mantener un registro público que confirma la autenticidad de cambios y asegurar el funcionamiento de la Autoridad de Certificación
OpenPubKey utiliza la tecnología de autenticación OpenID y vincula la firma creada a un proveedor de OpenID Connect existente. En otras palabras, OpenPubkey permite vincular claves de cifrado a usuarios específicos en lugar de una autoridad de certificación. La tecnología es totalmente compatible con los proveedores de OpenID existentes y no requiere ningún cambio de su parte dado que utiliza tokens de ID estándar proporcionados por los proveedores, lo que permite implementar cambios de OpenPubKey en OpenID Connect.
El token emitido por el proveedor de OpenID se transforma en un certificado que vincula criptográficamente el identificador en OpenID Connect con la clave pública del usuario. Luego, el usuario utiliza la clave asociada para firmar cualquier dato y estas firmas se pueden verificar con su identificador de OpenID Connect. Al mismo tiempo, OpenPubKey utiliza claves efímeras, cuya vida útil es limitada: las claves se generan durante el inicio de sesión con OpenID y se eliminan cuando finaliza la sesión con el proveedor de OpenID.
Se menciona que la simplificación de la arquitectura se logra mediante ciertos compromisos, que son aceptables en algunas situaciones, pero no en otras. Para reducir la dependencia de los proveedores de OpenID, cuyo compromiso o acciones de cuyo personal pueden desacreditar el sistema, se propone utilizar un MFA-Cosigner adicional, pero no obligatorio.
Para los interesados en el proyecto, deben saber que se desarrollará en una plataforma neutral bajo los auspicios de la Fundación Linux, lo que eliminará la dependencia de empresas comerciales individuales y simplificará la colaboración con la participación de terceros. La implementación de referencia de OpenPubKey está escrita en Go y distribuida bajo la licencia Apache 2.0.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.