Tipos de proveedores criptográficos:
El campo de criptografía es grande y crece. Hay muchos formatos y protocolos de datos estándar diferentes. Por lo general, se organizan en grupos o familias, cada uno de los cuales tiene su propio conjunto de formatos de datos y forma de hacer las cosas. Incluso si dos familias usan el mismo algoritmo (por ejemplo, el cifrado de bloques RC2), a menudo usarán esquemas de relleno diferentes, longitudes de clave diferentes y modos predeterminados diferentes. CryptoAPI está diseñado para que un tipo de proveedor CSP represente una familia determinada.
Cuando una aplicación se conecta a un CSP de un tipo determinado, cada una de las funciones de CryptoAPI funcionará de forma predeterminada según la familia que corresponda a ese tipo de CSP. La elección del tipo de proveedor de una aplicación especifica los siguientes elementos:
Elemento | Descripción |
---|---|
Algoritmo de intercambio de claves | Cada tipo de proveedor especifica un único algoritmo de intercambio de claves. Cada CSP de un tipo determinado debe implementar este algoritmo. Las aplicaciones especifican el algoritmo de intercambio de claves que se va a usar seleccionando un CSP del tipo de proveedor adecuado. |
Algoritmo de firma digital | Cada tipo de proveedor especifica un único algoritmo de firma digital. Cada CSP de un tipo determinado debe implementar este algoritmo. Las aplicaciones especifican el algoritmo de firma digital que se va a usar seleccionando un CSP del tipo de proveedor adecuado. |
Formatos de BLOB de claves | El tipo de proveedor determina el formato del BLOB de claves que se usa para exportar claves del CSP e importar claves en un CSP. |
Formato de firma digital | El tipo de proveedor determina el formato de firma digital. Esto garantiza que cualquier CSP del mismo tipo de proveedor pueda comprobar una firma producida por un CSP de un tipo de proveedor determinado. |
Esquema de derivación de clave de sesión | El tipo de proveedor determina el método usado para derivar una clave de sesión de un hash. |
Longitud de clave | Algunos tipos de proveedor especifican la longitud de los pares de claves públicas y privadas y las claves de sesión. |
Modos predeterminados | El tipo de proveedor suele especificar modos predeterminados para varias opciones, como el modo de cifrado de cifrado de bloques o el método de relleno del cifrado de bloques. |
Algunas aplicaciones avanzadas pueden conectarse a más de un CSP a la vez, pero la mayoría de las aplicaciones suelen usar solo un solo CSP.
Actualmente hay una serie de tipos de proveedor predefinidos. En las secciones siguientes se proporciona información sobre los siguientes tipos de proveedor:
- 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
Aunque algunos tipos de CSP podrían ser parcialmente compatibles con otros, dos o más aplicaciones que necesitan intercambiar claves y mensajes cifrados deben usar CSP del mismo tipo.
Un escritor de CSP personalizado puede definir un nuevo tipo de proveedor. Sin embargo, el escritor de CSP es responsable de distribuir el nuevo tipo de proveedor a los autores de las aplicaciones que se van a usar. Para obtener información sobre cómo escribir CSP personalizados, consulte Proveedores de servicios criptográficos.