目前,在国际上有两种比较通用的对加密设备进行管理的接口。一种是PKCS#11标准
接口,另一种是由Microsoft制定的CSP(Cryptographic Service Provider)标准接口。其中CSP
是微软专为Windows系列操作系统制定的底层加密接口,用于管理硬件或软件形式的加密
设备,实现数据加密、解密,数字签名、验证和数据摘要(即HASH)等。
CSP是Windows安全应用的基础,在Windows操作系统上实现https安全浏览(即SSL
安全数据通信)和实现安全隧道(如Ipsec)功能,都必需有CSP参与密码运算。
1 Microsoft CSP简介
Cryptographic Service Provider (简称CSP)是Microsoft 公司用来在Windows平台上提供第三方加密模块的接口标准。一个CSP 模块包含了一些标准加密算法的实现,是CAPI 函数的具体执行者,同时CSP 模块也提供了密钥的安全存储和使用机制。
微软提出的 Cryptographic Service Provider(CSP)接口标准是一个包含了标准加密算法实现的软件模块。CSP 在微软操作系统安全体系中是加解密操作的实际执行者,它直接同硬件加密设备(HSE)如smart card,安全协处理器交互。CSP模块实现了CryptoSPI 的一个子集,它实现的算法包括: