Types de fournisseurs de services de chiffrement
Le chiffrement est un domaine vaste et grandissant. Il existe de nombreux formats et protocoles de données standard différents. Ils sont généralement organisés en groupes ou familles, chacun ayant son propre ensemble de formats de données et sa propre façon de procéder. Même si deux familles utilisent le même algorithme (par exemple, le chiffrement par blocs RC2), elles utilisent souvent différents schémas de remplissage, différentes longueurs de clé et différents modes par défaut. CryptoAPI est conçu pour qu’un type de fournisseur CSP représente une famille particulière.
Lorsqu’une application se connecte à un type particulier de CSP, chacune des fonctions CryptoAPI fonctionne, par défaut, d’une manière prescrite par la famille correspondant à ce type de CSP. Le choix du type de fournisseur d’une application détermine les éléments suivants :
Élément | Description |
---|---|
Algorithme d’échange de clés | Chaque type de fournisseur spécifie un seul et unique algorithme d’échange de clés. Chaque type particulier de fournisseur CSP doit implémenter cet algorithme. Les applications spécifient l’algorithme d’échange de clés à utiliser en sélectionnant un CSP du type de fournisseur approprié. |
Algorithme de signature numérique | Chaque type de fournisseur spécifie un seul et unique algorithme de signature numérique. Chaque type particulier de fournisseur CSP doit implémenter cet algorithme. Les applications spécifient l’algorithme de signature numérique à utiliser en sélectionnant un CSP du type de fournisseur approprié. |
Formats de l'objet BLOB de clé | Le type de fournisseur détermine le format de l'objet BLOB de clé utilisé pour exporter des clés à partir du CSP et pour importer des clés dans un CSP. |
Format de signature numérique | Le type de fournisseur détermine le format de signature numérique. Cela garantit qu’une signature produite par un fournisseur CSP d’un type de fournisseur donné peut être vérifiée par n’importe quel fournisseur CSP du même type. |
Schéma de dérivation de la clé de session | Le type de fournisseur détermine la méthode utilisée pour dériver une clé de session à partir d’un hachage. |
Longueur de clé | Certains types de fournisseurs spécifient la longueur des paires de clés publiques/privées et les clés de session. |
Modes par défaut | Le type de fournisseur spécifie souvent les modes par défaut pour différentes options, telles que le mode de chiffrement par blocs ou la méthode de remplissage de chiffrement par blocs. |
Certaines applications avancées peuvent se connecter à plusieurs CSP à la fois, mais la plupart des applications utilisent généralement un seul CSP.
Il existe actuellement un certain nombre de types de fournisseurs prédéfinis. Les sections ci-après fournissent des informations sur les types de fournisseurs suivants :
- PROV_RSA_FULL
- PROV_RSA_AES
- PROV_RSA_SIG
- PROV_RSA_SCHANNEL
- PROV_DSS
- PROV_DSS_DH
- PROV_DH_SCHANNEL
- PROV_FORTEZZA
- PROV_MS_EXCHANGE
- PROV_SSL
Même si certains types de CSP peuvent être partiellement compatibles avec d’autres, deux applications ou plus devant échanger des clés et des messages chiffrés devraient utiliser des CSP du même type.
Un outil d'écriture de CSP personnalisés peut définir un nouveau type de fournisseur. Toutefois, l'outil d'écriture de CSP est ensuite chargé de distribuer le nouveau type de fournisseur aux auteurs de toutes les applications qui doivent l’utiliser. Pour plus d’informations sur l’écriture de CSP personnalisés, consultez la page Fournisseurs de services de chiffrement.