OpenBSD Cryptographic Framework ( OCF ) es una capa de virtualización de servicios para la gestión uniforme de hardware criptográfico por parte de un sistema operativo . Es parte del Proyecto OpenBSD , habiéndose incluido en el sistema operativo desde OpenBSD 2.8 (diciembre de 2000). Al igual que otros proyectos de OpenBSD como OpenSSH , ha sido portado a otros sistemas basados en Berkeley Unix como FreeBSD y NetBSD , y a Solaris y Linux . [1] [2] Intel admite uno de los puertos Linux para su uso con su software y hardware criptográfico patentado para proporcionar cifrado SSL acelerado por hardware para el servidor HTTP Apache de código abierto . [3]
La criptografía es computacionalmente intensiva y se utiliza en muchos contextos diferentes. Las implementaciones de software a menudo actúan como un cuello de botella para el flujo de información o aumentan la latencia de la red . El hardware especializado, como los aceleradores criptográficos, puede mitigar el problema del cuello de botella introduciendo paralelismo . Ciertos tipos de hardware, los generadores de números aleatorios de hardware , también pueden producir aleatoriedad de manera más confiable que un algoritmo de software pseudoaleatorio al explotar la entropía de los eventos naturales. [ cita necesaria ]
A diferencia de las aplicaciones gráficas, como los juegos y el procesamiento de películas, donde se utilizan comúnmente aceleradores de hardware similares y tienen un fuerte soporte para el sistema operativo, el uso de hardware en criptografía ha tenido una aceptación relativamente baja. [ cita necesaria ] A finales de la década de 1990, existía la necesidad de una capa de sistema operativo uniforme para mediar entre el hardware criptográfico y el software de aplicación que lo utilizaba. La falta de esta capa llevó a la producción de aplicaciones codificadas para funcionar con uno o una gama muy pequeña de aceleradores criptográficos.
El Proyecto OpenBSD, que tiene un historial de integración de criptografía sólida y cuidadosamente auditada en el núcleo de su sistema operativo, produjo un marco para la provisión de aceleración de hardware criptográfico como un servicio del sistema operativo.
El soporte a nivel de aplicación se proporciona a través del pseudodispositivo /dev/crypto , que proporciona acceso a los controladores de hardware a través de una interfaz ioctl estándar. Esto simplifica la redacción de aplicaciones y elimina la necesidad de que el programador de aplicaciones comprenda los detalles operativos del hardware real que se utilizará. [4] /dev/crypto fue eliminado en OpenBSD 5.7, habiendo sido reemplazado por el crypto_ suite de syscalls .
La implementación de OpenBSD de IPsec , el protocolo de cifrado a nivel de paquetes, se modificó para que los paquetes se puedan decodificar en lotes, lo que mejora el rendimiento . Una razón para esto es maximizar la eficiencia del uso del hardware (los lotes más grandes reducen la sobrecarga de transmisión del bus), pero en la práctica los desarrolladores de IPsec han descubierto que esta estrategia mejora la eficiencia incluso de las implementaciones de software.
Muchos concentradores de firmware Intel en placas base i386 proporcionan un generador de números aleatorios de hardware y, cuando es posible, esta función se utiliza para proporcionar entropía en IPsec.
Debido a que OpenSSL usa OCF, los sistemas con hardware que admita los protocolos criptográficos RSA , DH o DSA usarán automáticamente el hardware sin ninguna modificación del software.
El 11 de diciembre de 2010, un ex contratista del gobierno llamado Gregory Perry envió un correo electrónico al líder del proyecto OpenBSD, Theo de Raadt, alegando que el FBI había pagado a algunos ex desarrolladores de OpenBSD 10 años antes para comprometer la seguridad del sistema, insertando "una serie de puertas traseras". y mecanismos de filtración de claves de canal lateral al OCF". Theo de Raadt hizo público el correo electrónico el 14 de diciembre reenviándolo a la lista de correo de openbsd-tech y sugirió una auditoría del código base IPsec . [5] [6] La respuesta de De Raadt fue escéptica ante el informe e invitó a todos los desarrolladores a revisar de forma independiente el código relevante. En las semanas siguientes, se solucionaron errores pero no se encontró evidencia de puertas traseras. [7]
El sistema operativo propietario de Oracle , Solaris (desarrollado originalmente por Sun ), presenta un producto no relacionado llamado Solaris Cryptographic Framework, un sistema de complemento para hardware y algoritmos criptográficos.