Introducción a EP11 sobre gRPC-Plan estándar
Enterprise PKCS #11 (EP11) se ha diseñado para los clientes que buscan soporte para estándares abiertos y seguridad mejorada. La biblioteca EP11 proporciona una interfaz sin estado, que es similar a la API de PKCS(Public-Key Cryptography Standards)#11estándar del sector. La API de PKCS #11 define una API que no depende de la plataforma para señales criptográficas como, por ejemplo, los módulos de seguridad de hardware (HSM) y tarjetas inteligentes. Las aplicaciones existentes que utilizan PKCS #11 se pueden beneficiar de la seguridad mejorada que utiliza la criptografía de claves seguras así como una interfaz sin estado, lo que hace que las operaciones criptográficas sean mucho más eficientes.
Puede encontrar más información sobre la biblioteca EP11 en el documento de estructura de biblioteca Enterprise PKCS #11(EP11). Para obtener más información sobre las prestaciones y extensiones de EP11, consulte EP11 introducción.
IBM Cloud® Hyper Protect Crypto Services proporciona un conjunto de llamadas de API de EP11 a través de gRPC (GREP11), con las que se ejecutan las funciones criptográficas en el HSM de nube de Hyper Protect Crypto Services. La API de GREP11 es una interfaz sin estado para operaciones criptográficas en la nube.
Hyper Protect Crypto Services se aprovecha de las infraestructuras como gRPC para habilitar el acceso a aplicaciones remotas. gRPC es una infraestructura moderna de llamada a procedimiento remoto (RPC) de alto rendimiento de código abierto que puede conectar servicios en y entre centros de datos para el equilibrio de carga, rastreo, comprobación de estado y autenticación. Las aplicaciones acceden a Hyper Protect Crypto Services llamado a la API de EP11 de forma remota a través de gRPC. Para obtener más información sobre gRPC, consulte la documentación de gRPC.
Con la API de GREP11, puede llevar a cabo las operaciones siguientes:
- Generación de claves.
- Cifrar y descifrar.
- Firmar y verificar.
- Envolver y desenvolver claves.
- Derivar claves.
- Crear resúmenes de mensajes.
- Recuperar información de mecanismos.
Para algunas operaciones, hay una serie de suboperaciones. Por ejemplo, la operación de cifrado de datos de varias partes consta de las suboperaciones EncryptInit(), EncryptUpdate() y EncryptFinal().
EncryptInit()se utiliza para inicializar una operación.Encrypt()se utiliza para cifrar datos de una sola parte sin tener que llevar a cabo las suboperacionesEncryptUpdate()yEncryptFinal(). Esta operación se tiene que realizar después de la llamadaEncryptInit().EncryptUpdate()yEncryptFinal()se utilizan en combinación para llevar a cabo un cifrado de datos de varias partes. Estas suboperaciones se tienen que realizar después de la llamadaEncryptInit().EncryptSingle()es una ampliación de IBM EP11 de la especificación de PKCS #11 estándar y se utiliza para realizar una sola llamada para cifrar datos de una sola parte sin la necesidad de ejecutar las suboperacionesEncryptInit()yEncrypt().
El diagrama siguiente muestra los tres flujos de secuencia de llamada de las funciones de GREP11 para realizar el cifrado. Los flujos también se pueden aplicar a otras operaciones como, por ejemplo, descifrar, resumir, firmar y verificar. Para obtener más información sobre la API de GREP11, consulte Referencia de la API de GREP11.
La API GREP11 puede procesar hasta 500 solicitudes/segundo para una única unidad criptográfica.
Soporte de criptografía postcuántica
Con la API GREP11, también puede realizar operaciones criptográficas posteriores a la cuántica. La criptografía tradicional se basa en complicados problemas matemáticos que son difíciles de resolver para los ordenadores clásicos. Sin embargo, con su capacidad informática, los ordenadores cuánticos pueden resolver estos problemas. La criptografía postcuántica se considera resistente a los ataques criptoanalíticos de los ordenadores cuánticos. Por lo general, utiliza algoritmos asimétricos y tiene múltiples enfoques.
La API GREP11 proporciona el algoritmo Dilithium para la criptografía posterior a la cuántica. Es un esquema de firma digital basado en Lattice y se puede utilizar
para la generación y verificación de firmas. Actualmente, solo se da soporte a la versión de alta seguridad de la ronda 2 Dilithium y no está disponible
para las operaciones SignUpdate y VerifyUpdate.
El algoritmo Dilithium solo está soportado por la tarjeta criptográfica IBM 4769, también denominada Crypto Express 7S (CEX7S). Si crea instancias en regiones basadas en Virtual Private Cloud (VPC), donde se utilizan tarjetas criptográficas de CEX7S, puede utilizar el algoritmo Dilithium para la criptografía postcuántica con la API GREP11. Para ver una lista de las regiones basadas en VPC, consulte Regiones y ubicaciones.
Para obtener más información sobre el soporte del algoritmo Dilithium en GREP11, consulte Referencia de API GREP11. También puede encontrar ejemplos de código del algoritmo Dilithium en los siguientes repositorios: