与加密服务提供商(CSP)的接口

【勇芳软件工作室】汉化HomePreviousNext

CSP架构为多个应用程序访问加密和签名服务提供了一种安全的方式。CSP不是被动集合的加密例程,而是独立运行的加密模块,能够验证用户并检查用户是否同意动作。

例如,一些CSP将需要在生成数字签名之前输入PIN,而有些需要智能卡,而其他CSP根本就没有认证。系统内密钥的保护质量是CSP本身的设计参数,而不是整个系统的设计参数。这使得相同的应用程序在各种安全上下文中运行,而无需修改。

应用程序对加密内部部件的访问量已被严格限制。这是为了方便编写安全和便携的应用程序。以下三种设计规则适用:

*应用程序无法直接访问密钥材料。因为所有的密钥材料都是在CSP内部生成的,而是由应用程序通过不透明的句柄使用,所以没有应用程序或其关联的DLL泄露密钥材料或从不良随机源中选择密钥材料的风险。

*应用程序无法指定加密操作的详细信息。CSP接口只允许应用程序指定广泛的操作(例如,使用算法X加密数据并签署数据)。密码操作的实际执行是CSP的责任。这限制了API的范围,因为深奥协议需要应用程序干预,而是为所有应用程序提供一组基本的操作。

*应用程序不处理用户认证数据。用户认证由CSP完成。以这种方式,具有更好认证功能的CSP(例如,生物特征输入和数据密钥)将起作用,而无需更改应用程序的认证模型。它也可以防止应用泄漏用户的秘密。