附 录 A基于密钥分散的移动证书参考实现
为了解决非对称密钥的私钥在单一节点存储所带来的安全隐患,可将密钥进行分散并分布在不同的物理设备中,以避免全部私钥信息的直接存储和使用。例如,在移动互联网环境下,云端与终端分别存储部分私钥,使用时进行协同计算,私钥不在任何一方完整出现。密钥分散技术的核心思想是对密钥进行了拆分和分别的存储,云端和终端有了一定的安全制衡关系,只有双方协作才能完成密码运算功能,参与运算的任何一方不能完整掌握密钥。
基于密钥分散的移动证书参考实现满足以下要求:
私钥不在任何参与方完整出现,包括但不限于初始化公钥、签名计算等;
由协同签名的交互数据不可逆向推测私钥,包括但不限于过程随机数等;
对于不具备可信执行环境或不具备安全单元的移动终端,部分私钥不重复使用,包括云端及终端所保存的部分私钥;
云端部分私钥保护使用密码硬件设备,不明文保存或泄露。
该实现的技术框架如下图所示:
图A.1 基于分散密钥的数字证书应用技术框架
该方案的主要功能如下:
证书下载
用户在移动终端上的客户端发起证书下载操作并设置口令(PIN),由客户端向移动证书应用服务发起证书下载请求,在收到证书后将证书写入客户端中,完成证书下载。
下载客户数字证书时,应有身份鉴别的过程。通过提交授权码和短信验证码等方式保证客户数字证书只能被下载一次,身份鉴别凭证应设置有效期,超出有效期而未下载证书,应重新办理。
证书更新
证书更新是指使用新证书替换当前证书,适用于证书即将过期、已过期、失效或用户主动发起更新的情况。
当前证书可用,移动证书应用服务对当前证书进行验证,验证通过后下发新证书。
当前证书不可用,用户可参照服务申请流程重新申请证书。
证书签名验签
移动应用客户端使用数字证书对交易数据签名,移动应用服务端验证签名有效性的过程。
交易签名验签应遵循以下要求:
签名前,移动应用客户端验证用户身份;
签名由数字证书客户端和数字证书服务端独立分段签名后合成完整的签名值;
验签结果应反馈给移动应用服务端。
证书注销
用户不再使用移动签名服务时,服务提供方应为用户提供注销服务,服务注销时,启动证书吊销服务。
因篇幅问题不能全部显示,请点此查看更多更全内容