English  简体中文
   

使用专用签名密钥对的交互型数字签名系统方案

2019-01-06       撰稿人:飞天诚信 朱鹏飞


交互型数字签名是一种与密码设备紧密结合的密码应用,有助于防止攻击者通过远程控制签名密钥载体的方式生成合法的数字签名。交互型数字签名与一般的数字签名生成过程有所区别,在符合约定的触发条件时与签名者进行交互,待签名者确认后方才生成数字签名。在金融行业标准JR/T 0068-2012《网上银行系统信息安全通用规范》、JR/T 0114-2015《网银系统USBKey规范 安全技术与测评要求》等发布实施的推动下,交互型数字签名在网上银行、手机银行等领域得到广泛应用。

交互型数字签名包括以下过程:

a) 触发:接收到待签名数据时,交互型数字签名设备检查是否满足触发条件,是则进入交互过程,否则按一般数字签名处理;

b) 交互:交互型数字签名设备与签名者进行交互(例如等待签名者确认)。如果签名者在预定的等待时间内给出确认信号(例如按下交互型数字签名设备的确认键),进入生成过程;否则,结束;

c) 生成:交互型数字签名设备生成数字签名。

验证数字签名流程如下:

a) 检查待签名数据是否具备触发特征。如果是,进行b);否则,进行c);

b) 检查数字签名是否符合交互特征。如果否,验证不通过,结束;如果是,进行d);

c) 检查数字签名是否符合交互特征。如果是,验证不通过;如果否,进行d);

d) 验证被签名数据中的待签名数据、签名公钥和数字签名,输出验证结果。

使用专用签名密钥对的交互型数字签名以签名公钥作为交互特征。使用至少两对签名密钥对,其中一对为专用签名密钥对,用于交互型数字签名;其他的签名密钥对用于一般数字签名。进入交互型数字签名生成阶段时,使用专用签名密钥对生成数字签名;按一般数字签名处理时,使用其他的签名密钥对生成数字签名。相应地,如果待验证的被签名数据使用专用签名密钥对的公钥验签通过,被签名数据中的数字签名由交互型数字签名生成;如果待验证的被签名数据使用其他签名密钥对的公钥验签通过,被签名数据中的数字签名由一般数字签名生成。

使用专用签名密钥对的交互型数字签名系统架构如下图所示,包括客户端主机、注册方系统和应用方:

 

客户端主机与交互型数字签名设备连接,运行交互型数字签名应用客户端,按照7.2.1规定的验证数字签名接口,将受到的签名数据包发给验签前置机;

步骤2:验签前置机向验签服务器发送GM/T 0029-2014中A.5.13规定的单包验证消息签名请求,将签名数据包发给验签服务器,验签服务器(验签不通过或故障)。如果验签服务器返回的响应码为GM/T 0029-2014中附录C规定的GM_SUCCESS(验签通过),进行步骤2;否则,验证数字签名接口返回验签服务器返回的响应码,结束;

步骤2:验签前置机从签名数据包中提取被签名数据和证书链,检查被签名数据是否具备触发特征,证书链是否包含专设子CA的数字证书。如果被签名数据具备触发特征且证书链包含专设子CA的数字证书,将验证数字签名接口中的标志位设为TRUE;如果被签名数据不具备触发特征且证书链不包含专设子CA的数字证书,将验证数字签名接口中的标志位设为FALSE;否则是,进行步骤3;否则,验证数字签名接口返回GM/T 0029-2014中附录C规定的GM_INVALID_DATA_FORMAT(数据格式错误)。
 
 
中国密码学会电子认证专业委员会 版权所有
地址:北京市海淀区闵庄路甲89号 4号楼
联系电话:010-82546543-686
京ICP备05046059号-4