Proveedor de cripto

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de marzo de 2019; las comprobaciones requieren 5 ediciones .

Cryptographic Service Provider (CSP) es un módulo independiente que le permite realizar operaciones criptográficas en los sistemas operativos de Microsoft , que se controla mediante funciones CryptoAPI . En pocas palabras, es un intermediario entre el sistema operativo, que puede administrarlo utilizando las funciones estándar de CryptoAPI , y el ejecutor de las operaciones criptográficas (puede ser un programa o un complejo de hardware).

Arquitectura de criptoproveedor

Cualquier proveedor de criptografía debe exportar un conjunto de funciones obligatorias que forman la interfaz de programación del sistema CryptoAPI , y cada una de estas funciones corresponde a alguna función de CryptoAPI . Además, el proveedor de criptografía debe proporcionar:

Las aplicaciones no funcionan directamente con el proveedor de criptografía. En su lugar, llaman a las funciones CryptoAPI de las bibliotecas Advapi32.dll y Crypt32.dll. El sistema operativo filtra estas llamadas de función y llama a las funciones de CryptoAPI apropiadas que funcionan directamente con el proveedor de cifrado.

La composición mínima de un criptoproveedor es una DLL. Esta biblioteca generalmente se almacena en la carpeta \WINDOWS\system32\. Obligatorio es el control de la integridad de esta DLL.

Además de las funciones estándar de CryptoAPI , un proveedor de criptografía suele admitir una serie de funciones propias. Si no se implementan las funciones nativas, la DLL actúa, de hecho, como una capa intermedia entre el sistema operativo y el ejecutor de las operaciones criptográficas.

Objetos de criptoproveedor

Uno de los objetos principales es el contenedor de llaves . El contenedor tiene su propio nombre, es creado (o solicitado si ya ha sido creado) por la función CryptAcquireContext(...). Puede haber como máximo un par de claves de firma, un par de claves de intercambio y un par de claves simétricas en un contenedor. Si se admiten varios algoritmos de cifrado simétrico, puede haber varias claves simétricas, una clave para cada algoritmo.

Los pares de claves y las claves simétricas solo pueden residir en un contenedor. Solo la clave pública del par puede estar fuera del contenedor.

Las claves privadas de los pares de claves solo se exportan en forma cifrada. Algunos proveedores de criptografía básicamente no permiten la exportación de claves privadas, ni siquiera en forma cifrada. Al exportar claves simétricas, también deben cifrarse utilizando la clave pública del destinatario o la clave de negociación. Los objetos hash se crean para calcular funciones hash. No necesita crear un contenedor para crear objetos hash.

Tipos de proveedores de criptomonedas

Tipo de proveedor de criptografía Teclea un número Algoritmos de intercambio de claves Algoritmos de firma digital Algoritmos de cifrado algoritmos hash
PROV_RSA_FULL una RSA RSA RC2 , RC4 MD5 , SHA
PROV_RSA_SIG 2 No RSA No MD5 , SHA
PROV_DSS 3 No DSS No MD5 , SHA
PROV_FORTEZZA cuatro KEA DSS listado SHA
PROV_MS_EXCHANGE 5 RSA RSA EMITIR MD5
PROV_SSL 6 RSA RSA Puede ser diferente Puede ser diferente
PROV_RSA_SCHANNEL 12 RSA RSA RC4 , DES , 3DES MD5 , SHA
PROV_DH_SCHANNEL Dieciocho Diffie-Hellman (efímero) DSS DES , 3DES MD5 , SHA
PROV_RSA_AES 24 RSA RSA RC2 , RC4 , AES MD5 , SHA
PROV_GOST_94_DH 71 GOST R 34.10-94 GOST R 34.10-94 GOST 28147-89 GOST R 34.11-94
PROV_GOST_2001_DH 75 GOST R 34.10-2001 GOST R 34.10-2001 GOST 28147-89 GOST R 34.11-94
PROV_GOST_2012_256 80 GOST R 34.10-2012 256 bits GOST R 34.10-2012 256 bits GOST 28147-89 , GOST 34,12-2018 GOST R 34.11-2012 256 bits
PROV_GOST_2012_512 81 GOST R 34.10-2012 512 bits GOST R 34.10-2012 512 bits GOST 28147-89 , GOST 34,12-2018 GOST R 34.11-2012 512 bits

Proveedores de cifrado de Microsoft

Todos los sistemas operativos de Microsoft, a partir de Windows 2000, tienen un proveedor criptográfico base de Microsoft integrado , que tiene un conjunto de funciones criptográficas básicas. En Microsoft Base Cryptographic Provider , las claves de cifrado están limitadas a 40 bits. Desde antes de enero de 2000 estaba prohibida la exportación de software de encriptación con claves de más de 40 bits en los Estados Unidos, solo este proveedor criptográfico era compatible con Windows 98 y versiones anteriores de Windows 2000. El proveedor criptográfico base de Microsoft es esencialmente una versión simplificada del proveedor criptográfico mejorado de Microsoft . Pero después de que se levantó la prohibición de exportación, no tenía sentido tener 2 proveedores criptográficos, por lo que los programadores de Microsoft introdujeron otro nombre: Microsoft Strong Cryptographic Provider , que no es diferente de Microsoft Enhanced Cryptographic Provider. Este proveedor de cifrado es el proveedor de cifrado predeterminado de tipo PROV_RSA_FULL en Windows 2000, Windows XP, Windows 2003.

Todos los proveedores criptográficos de Microsoft se pueden descargar desde el sitio web de Microsoft.

proveedor de cripto Nombre del proveedor de criptografía Tipo de Comentario
Proveedor criptográfico base de Microsoft MS_DEF_PROV PROV_RSA_FULL Tiene una amplia gama de funciones criptográficas básicas. La longitud de las claves de cifrado no supera los 40 bits.
Proveedor criptográfico fuerte de Microsoft MS_STRONG_PROV PROV_RSA_FULL Se diferencia del proveedor criptográfico básico de Microsoft en la compatibilidad con longitudes de clave grandes.
Proveedor criptográfico mejorado de Microsoft MS_MEJORADO_PROV PROV_RSA_FULL No es diferente de Microsoft Strong Cryptographic Provider. Es el proveedor de cifrado predeterminado.
Proveedor criptográfico AES de Microsoft MS_ENH_RSA_AES_PROV PROV_RSA_AES = Proveedor criptográfico mejorado de Microsoft con compatibilidad con AES
Proveedor criptográfico de Microsoft DSS MS_DEF_DSS_PROV PROV_DSS Hashing, firma, verificación de firma con soporte de algoritmo DSS .
Microsoft Base DSS y Diffie-Hellman Cryptographic Provider MS_DEF_DSS_DH_PROV PROV_DSS_DH Hashing, firma DSS , generación e intercambio de claves Diffie-Hellman. Admite la generación de claves para los protocolos SSL3 y TLS1.
Microsoft Enhanced DSS y Diffie-Hellman Cryptographic Provider MS_ENH_DSS_DH_PROV PROV_DSS_DH Igual que Microsoft Base DSS y Diffie-Hellman Cryptographic Provider con soporte para longitudes de clave grandes.
Microsoft DSS y Diffie-Hellman/Schannel Cryptographic Provider MS_DEF_DH_SCHANNEL_PROV PROV_DH_SCHANNEL Hashing, firma DSS, generación e intercambio de claves Diffie-Hellman. Admite la generación de claves para los protocolos SSL3 y TLS1.
Proveedor criptográfico de Microsoft RSA/Schannel MS_DEF_RSA_SCHANNEL_PROV PROV_RSA_SCHANNEL Hashing, firma, verificación de firma. Se utiliza para la autenticación en los protocolos SSL 3.0 y TLS 1.0.
Proveedor criptográfico de firma RSA de Microsoft MS_DEF_RSA_SIG_PROV PROV_RSA_SIG La funcionalidad mínima requerida para la firma electrónica y la verificación de firma digital.

Véase también

Enlaces