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áticos pueden utilizar, por ejemplo, para implementar una autenticación de usuario sólida o para un correo electrónico seguro.
Los CSP son módulos independientes que pueden ser utilizados por diferentes aplicaciones. Un programa de usuario llama a funciones CryptoAPI y estas se redirigen a funciones de 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 utilizará en sus llamadas a CryptoAPI. De hecho, toda la actividad criptográfica se implementa en los CSP. CryptoAPI solo funciona como 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 cargarse, Windows vuelve a escanear periódicamente el CSP para detectar alteraciones, ya sea por software malintencionado como virus informáticos o por el propio usuario que intenta eludir las restricciones (por ejemplo, en la longitud de la clave criptográfica) que podrían estar integradas en el código del CSP.
Para obtener una firma, los desarrolladores de CSP que no son de Microsoft deben proporcionar documentación a Microsoft prometiendo obedecer varias restricciones legales y proporcionando información de contacto válida. Alrededor de 2000, Microsoft no cobraba ninguna tarifa por suministrar estas firmas. Para propósitos de desarrollo y prueba, un desarrollador de CSP puede configurar Windows para que reconozca las propias firmas del desarrollador en lugar de las de Microsoft, pero esta es una operación algo compleja y oscura que no es adecuada para usuarios finales sin conocimientos técnicos.
La arquitectura CAPI / CSP tuvo su origen en la era de los controles restrictivos del gobierno de EE. UU. Sobre la exportación de criptografía . El CSP predeterminado o "base" de Microsoft que se incluía entonces con Windows estaba limitado a criptografía de clave pública RSA de 512 bits y criptografía simétrica de 40 bits, las longitudes máximas de clave permitidas en el software exportable del mercado masivo en ese momento. Los CSP que implementaban una criptografía más sólida estaban disponibles solo para los residentes de EE. UU., A menos que los propios CSP hubieran recibido la aprobación de exportación del gobierno de EE. UU. El sistema de exigir que los CSP se firmen solo tras la presentación de la documentación completa estaba destinado a 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 de la corte Bernstein v. Estados Unidos que estableció el código fuente de la computadora como libertad de expresión protegida y la transferencia de la autoridad reguladora criptográfica del Departamento de Estado de los Estados Unidos al Departamento de Comercio más pro-exportador , se eliminaron las restricciones sobre la longitud de las claves y se enviaron los CSP. 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 .
CSP de tarjeta inteligente
Estas funciones criptográficas se pueden realizar mediante una tarjeta inteligente , por lo que la tarjeta inteligente CSP es la forma de Microsoft de un PKCS # 11 . Microsoft Windows está identificando el CSP de tarjeta inteligente correcto, que debe usarse, analizando la respuesta para restablecer (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 admitidas se inscriben en el registro.
Uso de CSP en la protección con contraseña de MS Office
Los proveedores de servicios criptográficos se pueden utilizar para el cifrado de documentos de Word , Excel y PowerPoint a partir de Microsoft Office XP . Un algoritmo de cifrado estándar con una clave de 40 bits se utiliza de forma predeterminada, pero habilitar un CSP mejora la longitud de la clave y, por lo tanto, hace que el proceso de descifrado sea más continuo. Esto solo se aplica a las contraseñas que se requieren para abrir un documento porque este tipo de contraseña es el único que cifra un documento protegido por contraseña.