En Microsoft Windows , un proveedor de servicios criptográficos ( CSP ) es una biblioteca de software que implementa Microsoft CryptoAPI (CAPI). Los CSP implementan funciones de codificación y decodificación que los programas de aplicaciones informáticas pueden utilizar, por ejemplo, para implementar una autenticación de usuario segura o para correo electrónico seguro.
Los CSP son módulos independientes que pueden ser utilizados por diferentes aplicaciones. Un programa de usuario llama a funciones de CryptoAPI y estas son redirigidas a funciones de los CSP. Dado que los CSP son responsables de implementar algoritmos y estándares criptográficos, las aplicaciones no necesitan preocuparse por los detalles de seguridad. Además, una aplicación puede definir qué CSP va a utilizar en sus llamadas a CryptoAPI. De hecho, toda la actividad criptográfica se implementa en los CSP. CryptoAPI solo funciona como un puente entre la aplicación y el CSP.
Los CSP se implementan básicamente como un tipo especial de DLL con restricciones especiales de carga y uso. Cada CSP debe estar firmado digitalmente por Microsoft y la firma se verifica cuando Windows carga el CSP. Además, después de la carga, Windows vuelve a escanear periódicamente el CSP para detectar alteraciones, ya sea por software malicioso como virus informáticos o por el propio usuario que intenta eludir restricciones (por ejemplo, sobre la longitud de la clave criptográfica) que puedan estar integradas en el código del CSP.
Para obtener una firma, los desarrolladores de CSP que no sean de Microsoft deben proporcionar documentación a Microsoft en la que prometan cumplir con varias restricciones legales y proporcionar información de contacto válida. A partir del año 2000, [update] Microsoft no cobraba ninguna tarifa por proporcionar estas firmas. Para fines de desarrollo y prueba, un desarrollador de CSP puede configurar Windows para que reconozca las firmas del desarrollador en lugar de las de Microsoft, pero se trata de una operación algo compleja y poco clara que no es adecuada para usuarios finales sin conocimientos técnicos.
La arquitectura CAPI/CSP tuvo sus orígenes en la era de los controles restrictivos del gobierno estadounidense sobre la exportación de criptografía . El CSP predeterminado o "básico" de Microsoft que se incluía en Windows estaba limitado a la criptografía de clave pública RSA de 512 bits y la criptografía simétrica de 40 bits, las longitudes de clave máximas permitidas en el software exportable para el mercado masivo en ese momento. Los CSP que implementaban criptografía más fuerte estaban disponibles solo para residentes de los EE. UU., a menos que los propios CSP hubieran recibido la aprobación de exportación del gobierno de los EE. UU. El sistema de exigir que los CSP se firmaran solo tras la presentación de la documentación completa tenía como objetivo evitar la fácil propagación de CSP no autorizados implementados por desarrolladores anónimos o extranjeros. Como tal, se presentó como una concesión hecha por Microsoft al gobierno, con el fin de obtener la aprobación de exportación para el propio CAPI.
Después de la decisión del tribunal Bernstein contra Estados Unidos, que estableció que el código fuente de las computadoras es una libertad de expresión protegida y la transferencia de la autoridad reguladora criptográfica del Departamento de Estado de los EE. UU. al Departamento de Comercio , más proexportador , se eliminaron las restricciones sobre las longitudes de las claves y los CSP que se entregaban con Windows ahora incluyen criptografía de máxima potencia. El uso principal de los CSP de terceros es interactuar con hardware de criptografía externo, como módulos de seguridad de hardware (HSM) o tarjetas inteligentes .
Tarjeta inteligente CSP
Estas funciones criptográficas pueden ser realizadas por una tarjeta inteligente , por lo que el CSP de tarjeta inteligente es la forma Microsoft de un PKCS#11 . Microsoft Windows identifica el CSP de tarjeta inteligente correcto que debe utilizarse, analizando la respuesta al reinicio (ATR) de la tarjeta inteligente, que está registrada en el Registro de Windows . Al instalar un nuevo CSP, todos los ATR de las tarjetas inteligentes compatibles se incluyen en el registro.
Uso de CSP en la protección de contraseñas de MS Office
Los proveedores de servicios criptográficos se pueden utilizar para cifrar documentos de Word , Excel y PowerPoint a partir de Microsoft Office XP . De forma predeterminada, se utiliza un algoritmo de cifrado estándar con una clave de 40 bits, pero al habilitar un CSP se mejora la longitud de la clave y, por lo tanto, se hace que el proceso de descifrado sea más continuo. Esto solo se aplica a las contraseñas que se requieren para abrir el documento porque este tipo de contraseña es el único que cifra un documento protegido por contraseña.
Véase también
Enlaces externos
- Página de Microsoft Developer Network sobre CSP.
- Arquitectura de criptografía Java: proveedor de servicios criptográficos
- Proveedor de servicios criptográficos IAIK-JCE