(西电捷通架构与编码研究)
导读:作为 Microsoft Windows 的组成部分,CryptoAPI是提供应用程序编程接口(API)的规范,由它提供的一组函数接口允许应用程序在对用户的敏感私钥数据提供保护时,以灵活的方式对数据进行加密或数字签名,而实际的加密操作是由称为密码服务提供者(CSP,Cryptographic Service Provider)的独立模块执行的。国内一些密码产品已经在windows系统中使用,但所使用的SM2、SM3、SM4、ECDSA、ECDH、SHA256等算法均按照各自接口实现,未依据CryptoAPI2.0的标准接口规范, 给应用带来不便。CryptoAPI2.0 是CryptoAPI的最新接口,它是在1.0的基础上添加了对证书管理的支持。
随着国产密码算法的不断涌现,许多公司也提供了CSP相关国密算法的支持,但大部分CSP实现的内容仅是一个空框架,其密码算法的实现是通过调用相关的硬件,如USBKey、SDKey和密码板卡等,并未真正实现密码算法。在实际应用中,确实存在因用户不想插接硬件而增加成本,或硬件设备没有对应的物理接口,这时可能有些用户会在应用层自己实现密码算法或干脆不用密码算法,导致安全性大大降低。那么有没有采用CSP架构,且不用硬件的国密算法呢?答案是有,由西电捷通研发的HUFU CipherService Provider技术就是一种基于CSP机制对国密算法的实现。