El OpenBSD Cryptographic Framework ( OCF ) es una capa de virtualización de servicios para la gestión uniforme del hardware criptográfico por parte de un sistema operativo . Forma parte del Proyecto OpenBSD , habiendo sido incluido en el sistema operativo desde OpenBSD 2.8 (diciembre de 2000). Al igual que otros proyectos OpenBSD como OpenSSH , ha sido portado a otros sistemas basados en Berkeley Unix como FreeBSD y NetBSD , y a Solaris y Linux . [1] [2] Uno de los puertos de Linux es soportado por Intel para su uso con su software y hardware criptográfico propietario para proporcionar cifrado SSL acelerado por hardware para el servidor HTTP Apache de código abierto . [3]
La criptografía es una tecnología que requiere un gran esfuerzo computacional 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 explotando la entropía de los eventos naturales. [ cita requerida ]
A diferencia de las aplicaciones gráficas, como los juegos y el procesamiento de películas, donde se utilizan aceleradores de hardware similares y tienen un fuerte soporte del sistema operativo, el uso de hardware en criptografía ha tenido una aceptación relativamente baja. [ cita requerida ] A fines 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 usaba. La falta de esta capa condujo a la producción de aplicaciones que estaban codificadas para funcionar con uno o un rango muy pequeño 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 escritura 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 se eliminó en OpenBSD 5.7, habiendo sido reemplazado por el conjunto de llamadas al sistema crypto_ .
La implementación de IPsec en OpenBSD , 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 utiliza OCF, los sistemas con hardware que admite los protocolos criptográficos RSA , DH o DSA utilizará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 en el OCF". Theo de Raadt hizo público el correo electrónico el 14 de diciembre reenviándolo a la lista de correo openbsd-tech y sugirió una auditoría del código base de IPsec . [5] [6] La respuesta de De Raadt fue escéptica con el informe e invitó a todos los desarrolladores a revisar de forma independiente el código relevante. En las semanas siguientes, se solucionaron los errores, pero no se encontró evidencia de puertas traseras. [7]
El sistema operativo propietario de Oracle, Solaris (desarrollado originalmente por Sun ), incluye un producto no relacionado llamado Solaris Cryptographic Framework, un sistema complementario para hardware y algoritmos criptográficos.