一种协同数字签名系统及其方法技术方案

技术编号:11439217 阅读:121 留言:0更新日期:2015-05-13 08:40
本发明专利技术公开了一种协同数字签名系统及其方法,该系统主要包括安装有移动应用客户端程序的移动智能终端和签名服务器;其中,所述移动智能终端,用于进行数字签名活动的确认,配合签名服务器端完成数字签名;所述签名服务器,包含签名服务器硬件主机设备以及相关的软件系统,用于在最终用户的确认下完成数字签名,并验证数字签名。采用本发明专利技术,能够通过将数字签名活动委托给数字签名服务器端,简化在移动智能终端上进行数字签名的操作过程,使用户能够在确保网络签名高度安全的环境下使用相关业务,如网络交易、金融支付等过程中的电子身份鉴权。

【技术实现步骤摘要】
一种协同数字签名系统及其方法
本专利技术涉及计算机信息安全技术,尤其涉及一种协同数字签名系统及其方法。
技术介绍
目前通行的数字签名机制,通常使用智能密钥和集成电路(IC)卡来存储用户密钥、完成签名的密码运算,因此还需要专门的硬件设备以及相关的各类中间件来协同完成操作。这不仅给移动智能终端(如手机)的携带和使用均带来不便,而且,在很多对信息有高安全性要求的应用场合,也受当前技术的限制而无法在移动智能终端上开展相关业务。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种协同数字签名系统及其方法,通过将数字签名活动委托给数字签名服务器端,以简化在移动智能终端上进行数字签名的操作,使用户能够在确保网络签名高度安全的环境下使用相关业务,如网络交易、金融支付等过程中的电子身份鉴权。为达到上述目的,本专利技术的技术方案在将部分密钥托管在服务端的前提下,是这样实现的:一种协同数字签名系统,该系统主要包括安装有移动应用客户端程序的移动智能终端和签名服务器;其中,所述签名服务器,用于托管用户的数字签名密钥的一部分因子,然后在最终用户客户端的配合下完成数字签名,并验证数字签名;所述移动智能终端,用于保存除了用户的数字签名密钥的另外一部分因子,以便配合签名服务器端完成数字签名。其中,所述移动智能终端还用于通过所述数字签名服务进行业务应用。所述签名服务器和移动智能终端还需要进一步配合,经最终用户通过移动智能终端进行配合产生所述数字签名。一种协同数字签名方法,用户将其数字签名密钥的一部分因子托管在服务器端,称为服务端密钥因子Dserver,另外一部分因子保存在其拥有的终端设备上,称为客户端密钥因子Dclient,所述方法包括:A1、应用系统先对需要签名的数据进行数字签名所需的预处理运算,然后发送给签名服务器端,要求签名服务器端为指定的客户进行数字签名;A2、签名服务器端通过客户约定的通知方式通知最终用户,并要求客户端确认是否进行数字签名;A3、客户端应用程序使用用户输入的信息,恢复客户端密钥因子Dclient,从签名请求中得到待签名哈希值H,计算客户端中间签名结果Sclient;A4、将客户端签名中间结果Sclient发送到签名服务端;A5、签名服务端收到客户端签名中间结果Sclient后,恢复服务端密钥因子Dserver,使用签名结果Sclient、服务端密钥因子Dserver、待签名哈希值H计算服务器端签名中间结果Sserver,并发送给客户端;A6、客户端使用客户端密钥因子Dclient、客户端签名中间结果Sclient、服务器端签名中间结果Sserver计算得到最终签名结果S;A7、将最终签名结果S返回给签名服务,服务端经验证后返回给相应的业务应用。其中,所述客户约定的通知方式,包括短信、微信、邮件中的一种或多种。步骤A2中所述签名服务器端请求客户端确认的信息,进一步包括待签名哈希值H。步骤A3所述用户输入的信息进一步包括个人识别码PIN、设备信息、终端上保存的随机数据中的一种或多种。所述客户端签名中间结果Sclient为:Sclient=ClientSign(H,Dclient);其中,Dclient为客户端密钥因子,H为待签名哈希值。步骤A5中所述的服务器端签名中间结果Sserver为:Sserver=ServerSign(Sclient,Dserver,H);其中,Sclient为客户端签名中间结果,Dserver为服务端密钥因子,H为待签名哈希值。步骤A6所述的最终签名结果S为:S=CombineSign(Dclient,Sclient,Sserver);其中,Dclient为客户端密钥因子,Sclient为客户端签名中间结果,Sserver为服务器端签名中间结果。本专利技术所提供的协同数字签名系统及其方法,具有以下优点:1)采用本专利技术,能够使用户通过移动智能终端进行身份鉴权时,毋需再使用额外的硬件数字证书介质(如U盾、USB-Key),即可便捷地、安全地进行数字签名操作。2)本专利技术通过简化数字签名操作,可将很多对安全性要求较高的业务在移动智能终端上完成。由于使用本专利技术的数字签名系统及其方法,服务器端和用户端还需要相互配合才能完成数字签名,而且该数字签名须经最终用户的确认才能产生,因此,能够保证数字签名的高安全性要求,同时,还能够在密钥托管和数字签名的过程中,防止网络上窃听者、中间人的攻击,并能够防止服务端的不诚信行为,保证了服务器端的签名行为完全由用户控制。附图说明图1为本专利技术实施例协同数字签名系统的数字签名过程图;图2为本专利技术协同数字签名系统的具体应用示意图。具体实施方式下面结合附图及本专利技术的实施例对本专利技术协同数字签名系统及其方法作进一步详细的说明。本专利技术的协同数字签名系统,在签名密钥托管在服务器端的情况下,通过将数字签名活动委托给数字签名服务器端,由服务器端的硬件加密设备来进行数字签名,而所有的数字签名,均需要经过用户的确认才能完成,因而能保证数字签名的高安全性要求。图1为本专利技术实施例协同数字签名系统的数字签名过程图。如图1所示,在网络交易、金融支付等过程中需要电子身份鉴权等的业务应用中,需要用户进行数字签名来完成业务流程时,需要执行如下生成密钥和数字签名的过程,具体为:步骤11:业务应用在需要用户进行数字签名时,先对需要签名的数据进行数字签名所需的预处理运算,包括对数据原文进行摘要,然后发送给签名服务器端,要求签名服务器端为指定的客户进行数字签名。步骤12:签名服务器端通过客户约定的通知方式,包括但不限于短信、微信、邮件等方式,通知最终用户,并要求客户确认是否进行数字签名,进一步可以包含待签名哈希值H。步骤13:客户端应用程序使用用户输入的信息,如个人识别码(PIN)、设备信息、手机上保存的随机数据的一种或多种,恢复客户端密钥因子Dclient,从签名请求中得到待签名哈希值H,计算客户端签名中间结果Sclient=ClientSign(H,Dclient)。步骤14:将客户端签名中间结果Sclient发送到签名服务器端。步骤15:签名服务器端收到签名结果Sclient后,使用加密存储的密钥数据,恢复服务端密钥因子Dserver,使用签名结果Sclient、密钥因子Dserver、待签名哈希值H计算服务器端签名中间结果Sserver=ServerSign(Sclient,Dserver,H),并发送给客户端。步骤16:客户端使用客户端密钥因子Dclient、客户端签名中间结果Sclient、服务器端签名中间结果Sserver计算得到最终签名结果S=CombineSign(Dclient,Sclient,Sserver)。步骤17:将最终签名结果S返回给签名服务器端,服务器端经验证后返回给相应的业务应用。其中,ClientSign和ServerSign分别表示客户端和服务端使用密钥进行数字签名的功能函数,CombineSign表示由双方签名合并成完整签名的函数。具体数字签名算法可以采用RSA、ECC,也可以采用国家密码管理局发布的SM2签名算法。图2描述了协同数字签名的过程,服务器端密码设备和移动客户端两个设备上分别独立地进行数字签名,但并不通过网络进行传输任何密钥的信息,只传输数字签名后的结果。图2为本本文档来自技高网...

【技术保护点】
一种协同数字签名系统,其特征在于,该系统主要包括安装有移动应用客户端程序的移动智能终端和签名服务器;其中,所述签名服务器,用于托管用户的数字签名的密钥部分,然后在最终用户的确认下完成数字签名,并验证数字签名;所述移动智能终端,用于保存除了用户的数字签名的密钥部分之外的部分,以便进行数字签名活动的确认,并配合签名服务器端完成数字签名。

【技术特征摘要】
1.一种协同数字签名系统,其特征在于,该系统主要包括安装有移动应用客户端程序的移动智能终端和签名服务器;其中,所述签名服务器,用于托管用户的数字签名密钥的一部分因子,然后在最终用户客户端的配合下完成数字签名,并验证数字签名;所述移动智能终端,用于保存用户数字签名密钥的另外一部分因子,以便配合签名服务器端完成数字签名。2.根据权利要求1所述的协同数字签名系统,其特征在于,所述移动智能终端还用于通过所述数字签名服务进行业务应用。3.根据权利要求1所述的协同数字签名系统,其特征在于,所述签名服务器和移动智能终端还需要进一步配合,经最终用户通过移动智能终端配合产生所述数字签名。4.一种协同数字签名方法,其特征在于,用户将其数字签名密钥的一部分因子托管在服务器端,称为服务端密钥因子Dserver,另外一部分因子保存在其拥有的终端设备上,称为客户端密钥因子Dclient,所述方法包括:A1、应用系统先对需要签名的数据进行数字签名所需的预处理运算,然后发送给签名服务器端,要求签名服务器端为指定的客户进行数字签名;A2、签名服务器端通过客户约定的通知方式通知最终用户,并要求客户端确认是否进行数字签名;A3、客户端应用程序使用用户输入的信息,恢复客户端密钥因子Dclient,从签名请求中得到待签名哈希值H,计算客户端签名中间结果Sclient;A4、将客户端签名中间结果Sclient发送到签名服务器端;A5、签名服务器端收到客户端签名中间结果Sclient后,恢复服务端密钥因子Dserver,使用客户端签名中间结果Sclient、服务端密钥因子Dserver、待签名哈希值H计算服务器端签名中间结果S...

【专利技术属性】
技术研发人员:林雪焰詹榜华李向锋关旭
申请(专利权)人:北京数字认证股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1