La interfaz de programación de aplicaciones criptográficas específica de la plataforma Microsoft Windows (también conocida como CryptoAPI , Microsoft Cryptography API , MS-CAPI o simplemente CAPI ) es una interfaz de programación de aplicaciones incluida en los sistemas operativos Microsoft Windows que proporciona servicios para que los desarrolladores protejan las aplicaciones basadas en Windows mediante criptografía . Se trata de un conjunto de bibliotecas vinculadas dinámicamente que proporciona una capa de abstracción que aísla a los programadores del código utilizado para cifrar los datos. La Crypto API se introdujo por primera vez en Windows 95 OSR2 [ 1 ] y Windows NT 4.0 [ 2 ] y se mejoró en versiones posteriores.
CryptoAPI admite criptografía de clave pública y de clave simétrica , aunque no admite claves simétricas persistentes. Incluye funcionalidades para cifrar y descifrar datos, así como para la autenticación mediante certificados digitales . También incluye una función generadora de números pseudoaleatorios criptográficamente segura : CryptGenRandom .
CryptoAPI funciona con varios proveedores de servicios criptográficos (CSP ) instalados en el equipo. Los CSP son los módulos que realizan el trabajo real de codificación y decodificación de datos mediante la ejecución de funciones criptográficas. Los fabricantes de HSM pueden proporcionar un CSP compatible con su hardware.
API de criptografía: Próxima generación
Windows Vista incluye una actualización de la API criptográfica conocida como Cryptography API: Next Generation ( CNG ). Ofrece una mejor factorización de la API para permitir que las mismas funciones operen con una amplia gama de algoritmos criptográficos, e incluye varios algoritmos más recientes que forman parte de la Suite B de la Agencia de Seguridad Nacional (NSA) . [ 3 ] También es flexible, ya que permite integrar API criptográficas personalizadas en el entorno de ejecución de CNG. Sin embargo, los proveedores de almacenamiento de claves de CNG aún no admiten claves simétricas. [ 4 ] CNG funciona tanto en modo usuario como en modo kernel , y también admite todos los algoritmos de CryptoAPI. El proveedor de Microsoft que implementa CNG se encuentra en Bcrypt.dll.
CNG también admite criptografía de curva elíptica que, al usar claves más cortas para el mismo nivel de seguridad esperado , es más eficiente que RSA. [ 5 ] La API de CNG se integra con el subsistema de tarjeta inteligente mediante un módulo de proveedor de servicios criptográficos de tarjeta inteligente base (Base CSP) que encapsula la API de la tarjeta inteligente. Los fabricantes de tarjetas inteligentes solo tienen que hacer que sus dispositivos sean compatibles con esto, en lugar de proporcionar una solución desde cero.
CNG también añade soporte para Dual_EC_DRBG , [ 6 ] un generador de números pseudoaleatorios definido en NIST SP 800-90A que podría exponer al usuario a la interceptación por parte de la Agencia de Seguridad Nacional, ya que contiene una puerta trasera cleptográfica , a menos que el desarrollador recuerde generar nuevos puntos base con un generador de números pseudoaleatorios criptográficamente seguro diferente o un generador de números aleatorios verdaderos y luego publicar la semilla generada para eliminar la puerta trasera de la NSA. También es muy lento. [ 7 ] Solo se utiliza cuando se solicita explícitamente.
CNG también reemplaza el PRNG predeterminado con CTR_DRBG usando AES como cifrado de bloques, porque el RNG anterior que está definido en el ahora reemplazado FIPS 186-2 se basa en DES o SHA-1 , ambos han sido vulnerados. [ 8 ] CTR_DRBG es uno de los dos algoritmos en NIST SP 800-90 respaldados por Schneier , el otro es Hash_DRBG. [ 7 ]
Véase también
Referencias
- ↑ "Microsoft CryptoAPI" . www.geoffchappell.com . Consultado el 22 de mayo de 2026 .
- ↑ Explorando el funcionamiento interno: La perspectiva de un programador sobre Windows NT 4.0
- ↑ Suite B Archivada el 7 de febrero de 2009 en Wayback Machine
- ↑ Almacenamiento y recuperación de claves, Microsoft
- ↑ Argumentos a favor de la criptografía de curva elíptica, NSA
- ↑ Schneier, Bruce (17 de diciembre de 2007). "Dual_EC_DRBG añadido a Windows Vista" . Schneier sobre seguridad . Consultado el 13 de enero de 2010 .
- 1 2 Schneier, Bruce (15 de noviembre de 2007). "La extraña historia de Dual_EC_DRBG" . Schneier on Security . Recuperado el 12 de enero de 2010 .
- ↑ "FIPS PUB 186-2" (PDF) . Normas federales de procesamiento de información . Instituto Nacional de Estándares y Tecnología . 27 de enero de 2000. Consultado el 13 de enero de 2010 .
Enlaces externos
- Referencia de criptografía en MSDN
- Microsoft CAPI en CryptoDox
- Software criptográfico
- Interfaces de programación de aplicaciones de Microsoft
- Tecnología de seguridad de Microsoft Windows