定义:CSP是Cryptographic Service Provider的简称,是Microsoft 公司用来在Windows平台上提供第三方加密模块的接口标准。用于管理硬件或软件形式的加密设备,实现数据加密、解密、数字签名、验证和数据摘要等。
CSP是Windows安全应用的基础,在Windows操作系统上实现https安全浏览和实现安全隧道功能,都必需有CSP参与密码运算。一个CSP 模块包含了一些标准加密算法的实现,是CAPI 函数的具体执行者,同时CSP 模块也提供了密钥的安全存储和使用机制。CSP 在微软操作系统安全体系中是加解密操作的实际执行者,它直接同硬件加密设备(HSE)如smart card,安全协处理器交互。
组成:CSP是Windows平台上加解密运算的最核心层实现,是真正执行加密工作独立的模块。与Windows的接口以DLL形式实现。按照CSP的不同实现方法,可分为纯软件实现与带硬件的实现,其中带硬件的实现CSP按照硬件芯片不同,可以分为使用智能卡芯片(内置加密算法)的加密型和不使用智能卡芯片的存储型两种,与计算机的接口现在一般都用USB,所以把CSP硬件部分称为USB Key。物理上一个CSP由这几部分组成:动态链接库,签名文件,签名文件保证提供者经过了认证,操作系统能识别CSP,操作系统可利用其定期验证CSP,保证其未被篡改。还可以使用辅助的DLL实现CSP,辅助的DLL不是CSP的一部分,但是包含CSP调用的函数,辅助的DLL也必须被签名,并且签名文件必须可用,每个DLL在装载库之前被验证签名,每个CSP都有一个名字和一个类型。若有硬件实现,则CSP还包括硬件装置。