Introduction à EP11 sur gRPC-Plan Standard
Enterprise PKCS #11 (EP11) est conçu pour les clients qui recherchent une prise en charge des normes ouvertes et une sécurité renforcée. La bibliothèque EP11 fournit une interface sans état, qui est similaire à la norme de l'industrie API #11 Public-Key Cryptography Standards(PKCS). L'API PKCS #11 définit une API indépendante de la plateforme pour les jetons de chiffrement, tels que les modules HSM (Hardware Security Module) et les cartes à puce. Les applications existantes qui utilisent PKCS #11 bénéficient d'une sécurité renforcée, via l'utilisation d'une cryptographie à base de clés sécurisées ainsi que d'une interface sans état, ce qui rend les opérations de chiffrement beaucoup plus efficaces.
Pour plus d'informations sur la bibliothèque EP11, consultez le document Enterprise PKCS #11(EP11)Library structure. Pour plus d'informations sur les fonctionnalités et les extensions EP11, voir Introduction àEP11.
IBM Cloud® Hyper Protect Crypto Services fournit un ensemble d'appels API EP11 sur gRPC (GREP11), avec lequel toutes les fonctions de chiffrement sont exécutées dans le module HSM en cloud d'Hyper Protect Crypto Services. L'API GREP11 est une interface sans état pour les opérations de chiffrement sur le cloud.
Hyper Protect Crypto Services utilise des infrastructures telles que gRPC pour activer l'accès à l'application distante. GRPC est une infrastructure moderne d'appel de procédure à distance (RPC) à haute performance qui permet de connecter des services dans et entre les centres de données pour l'équilibrage de charge, le traçage, la vérification de la santé et l'authentification. Les applications accèdent à Hyper Protect Crypto Services en appelant l'API EP11 à distance via gRPC. Pour plus d'informations sur gRPC, voir la documentation gRPC.
Avec l'API GREP11, vous pouvez exécuter les opérations suivantes :
- Génération de clé
- Chiffrement et déchiffrement
- Signature et vérification
- Encapsulage et désencapsulage de clés
- Dérivation de clés
- Génération d'un résumé de message
- Extraction d'informations relatives aux mécanismes
Pour certaines opérations, il existe une série de sous-opérations. Par exemple, l'opération de chiffrement de données à plusieurs parties est composée des sous-opérations EncryptInit(), EncryptUpdate() et EncryptFinal().
EncryptInit()est utilisé pour initialiser une opération.Encrypt()est utilisé pour chiffrer les données ne comportant qu'une partie sans qu'il soit nécessaire d'effectuer des sous-opérationsEncryptUpdate()etEncryptFinal(). Cette opération doit être effectuée après l'appelEncryptInit().EncryptUpdate()etEncryptFinal()sont utilisés conjointement pour effectuer un chiffrement de données à plusieurs parties. Ces sous-opérations doivent être effectuées après l'appelEncryptInit().- La sous-opération
EncryptSingle(), qui est une extension IBM EP11 vers la spécification PKCS#11 standard, est utilisée pour effectuer un appel unique pour chiffrer les données ne comportant qu'une partie sans qu'il soit nécessaire d'exécuter les sous-opérationsEncryptInit()etEncrypt().
Le diagramme suivant montre les trois flux de séquences d'appel des fonctions GREP11 pour procéder au chiffrement. Les flux peuvent également s'appliquer à d'autres opérations telles que le déchiffrement, le prétraitement, la signature et la vérification. Pour plus d'informations sur l'API GREP11, voir Référence de l'API GREP11.
L'API GREP11 peut traiter jusqu'à 500 demandes par seconde pour une seule unité de chiffrement.
Prise en charge de la cryptographie post-quantique
Avec l'API GREP11, vous pouvez également effectuer des opérations cryptographiques post-quantiques. La cryptographie traditionnelle repose sur des problèmes mathématiques complexes qui sont difficiles à résoudre pour les ordinateurs classiques. Cependant, grâce à leurs capacités de calcul, les ordinateurs quantiques peuvent résoudre ces problèmes. La cryptographie post-quantique est considérée comme résistante aux attaques cryptanalytiques des ordinateurs quantiques. Elle utilise généralement des algorithmes asymétriques et a plusieurs approches.
L'API GREP11 fournit l'algorithme Dilithium pour la cryptographie post-quantique. Il s'agit d'un schéma de signature numérique basé sur le réseau et qui peut être
utilisé pour la génération et la vérification des signatures. Actuellement, seule la version haute sécurité de round 2 Dilithium est prise en charge
et n'est pas disponible pour les opérations SignUpdate et VerifyUpdate.
L'algorithme Dilithium n'est pris en charge que par la carte de chiffrement IBM 4769, également appelée Crypto Express 7S (CEX7S). Si vous créez vos instances dans des régions de cloud privé virtuel (VPC) dans lesquelles des cartes cryptographiques CEX7S sont utilisées, vous pouvez utiliser l'algorithme Dilithium pour la cryptographie post-quantique avec l'API GREP11. Pour obtenir la liste des régions de VPC, consultez Régions et emplacements.
Pour plus d'informations sur la prise en charge de l'algorithme Dilithium dans GREP11, consultez Référence d'API GREP11. Vous pouvez également trouver des exemples de code d'algorithme Dilithium dans les référentiels suivants :