Trabajé y finalicé un proyecto de PKI que utilizaba un HSM para generar: almacenar claves y realizar funciones de cifrado. Utilicé PKCS # 11 para interactuar con nuestra aplicación para firmar/verificar y cifrar/descifrar. Nuestra plataforma es Windows.Software de seguridad Módulo/kit de herramientas que reemplaza a HSM para desarrollar funciones de cifrado
Ahora buscamos ofrecer una solución alternativa de bajo costo reemplazando el HSM con un módulo de seguridad de software. Debo señalar aquí que soy consciente de los inconvenientes de no usar un HSM. Es una compensación entre la seguridad Vs Cost.
Encontré que Microsoft proporciona la próxima generación de CryptoAPI (CNG), almacén de claves y servicios de certificado. Mi administración senior no está inclinada a usar software de código abierto. También encontré kits de herramientas de oferta criptogénica y RSA para realizar soluciones basadas en software.
¿Alguien ha encontrado kits de herramientas de módulos de seguridad de software comercial para realizar funciones de generación de claves, almacenamiento de claves y criptografía?
Lenguaje de programación - C/C++
Gracias
Raj
¿Se refiere a la "biblioteca de software PKCS # 11" como envoltorios de la biblioteca cryptoki PKCS # 11? Si este es el caso, ¿de qué manera crees que esto es diferente de las funciones que he escrito para firmar/encriptar, etc.? Puedes indicarme algunos proveedores en "biblioteca de software PKCS # 11". ¿Estos proveedores también proporcionan funciones de gestión de claves o debo confiar en el sistema operativo y en otra biblioteca para almacenar/acceder a las claves? De qué manera el para 1 de su respuesta difiere de para2. Estoy realmente muy confundido aquí. Disculpas, si sueno demasiado ignorante. – Raj
PKCS # 11 especifica una API (Cryptoki).Ha estado programando en contra de esta API y, presumiblemente, tenía una DLL que implementó esta API con un HSM que realizaba las operaciones. Varias compañías (incluida Cryptomathic, que es mi empleador) venden "software PKCS # 11 libraries". Una biblioteca de software PKCS # 11 sería una DLL que implementaría la biblioteca PKCS # 11, pero asignando las funciones a una implementación de software pura (y almacenando las claves en archivos (cifrados)). La administración de claves se puede realizar a través de la API PKCS # 11, pero también puede obtener una herramienta separada (dependiendo del proveedor). –
Mi segundo párrafo acaba de volver a enumerar las opciones, ya sabía de: otras API criptográficas. –