一种移动终端密钥托管数字签名方法

文档序号:8301418阅读:923来源:国知局
一种移动终端密钥托管数字签名方法
【技术领域】
[0001]本发明涉及信息化移动办公技术领域,特别涉及移动终端上数字内容安全的技术。提供了一种移动终端上的应用实现数字签名的方法。
【背景技术】
[0002]智能移动终端是一种多功能设备,不仅具有通讯功能,而且在安装应用程序后能够进行电子商务,移动办公等业务。智能移动终端设备作为一种移动设备具有“小巧轻便”及“通讯便捷”的特点,用户更多是通过触控操作设备。小巧轻便的特点使得移动设备一般不去执行大量的复杂运算,设备外设接口简单,一般是通过无线方式与其他设备进行交互。随着智能移动终端越来越多的参与各项网络应用,针对移动应用的安全攻击越来越多,许多恶意应用能够窃取用户存储在终端上的私有数据,攻击终端与服务器的通信。
[0003]在自动化办公中,如何保证电子公文的真实性、完整性、可靠性和不可抵赖性是系统亟待解决的问题。为了解决上述问题,传统上采用基于数字证书的公钥密码(Public KeyInfrastructure,简称PKI)系统通过数字签名技术来保障电子文档的内容安全。在使用数字签名时需要用到私钥,为了保证私钥的安全,一般采用USB密码钥匙(USB key)作为客户端装置来存储用户私钥,对电子文档进行数字签名。
[0004]在实际应用中,使用USB密码钥匙需要主机拥有USB接口,这阻碍了 USB密码钥匙在移动终端设备上的广泛应用。虽然目前出现了带有蓝牙接口或者音频接口的USB密码钥匙,但上述设备仍存在如下缺点:由于蓝牙协议的开放性,无法保证蓝牙USB密码钥匙设备与主机通讯的安全性;带音频接口的USB密码钥匙设备,无法解决不同移动终端之间音频接口的兼容性问题。

【发明内容】

[0005]本发明提供一种移动终端上的应用对电子公文进行数字签名的方法,其特征在于用户签名私钥托管在签名服务器,由签名服务器保证用户签名私钥的安全,用户数字签名时把签名内容的HASH值发送到签名服务器,签名服务器完成数字签名后把签名返回给用户,从而实现数字签名。
[0006]本发明是通过以下技术方案来实现的:本发明提供一种智能移动终端上的数字签名技术,其特征在于:该系统的组成包括移动终端,签名服务器和KMC服务器密码机。用户,签名服务器和KMC服务器密码机拥有权威机构颁发的证书和私钥,签名服务器负责管理用户的签名私钥,系统所有密钥保存在KMC服务器密码机中,密码机只能和签名服务器进行通信。用户可以从网络上下载证书和查询证书状态,用户移动终端软件提供人机接口,接收用户输入的信息,终端应用需要进行数字签名时,把待签名信息的Hash值和用户的身份信息封装在一起构成数字签名请求消息,通过短信或者网络通信发送到签名服务器,服务器对用户请求进行验证,验证通过后调用KMC服务器密码机,使用用户私钥进行数字签名,然后把签名结果返回给用户,完成数字签名过程。
[0007]利用上述的数字签名方法,其特征在于:
[0008](I)用户的签名私钥加密存储在KMC服务器密码机中,只有用户掌握加密的密钥,确保只有用户才能使用存储在密码机中的私钥,密码机可以确保私钥不能被导出,所有运算在密码机内完成,从而保证用户私钥的安全。
[0009](2)用户需要数字签名时,把待签名文档的HASH值和用户的身份认证信息一起发送到签名服务器,无需发送原始文档。
[0010](3)签名服务器验证用户签名请求消息,通过后把HASH值和用户的身份信息传送到KMC服务器密码机,在密码机内使用用户签名私钥完成数字签名,然后把签名消息返回到用户终端。
[0011 ] (4)签名服务器每完成一次数字签名,要通过短信或邮件通知用户签名记录,便于用户事后确认。
[0012]优点及效果:
[0013]本发明提供一种智能移动终端实现数字签名的方法,利用密码技术,数字证书,短信相结合实现了一种安全数字签名,用户私钥托管在签名服务器可以确保私钥的安全。
[0014]本技术的特点:
[0015](I)用户私钥加密后托管在KMC服务器密码机内,只有用户知道加密密钥,数字签名运算在服务器密码机内进行,服务器密码机确保私钥不能被导出,保证了私钥的安全。
[0016](2)用户请求数字签名时,只需要发送待签名文档的Hash值和用户的身份认证信息就可以,对移动终端性能要求少,解决方案适应性好。
[0017](3)用户请求数字签名只能通过已注册的终端进行,基于移动终端的私有属性,利用密码技术把用户的手机号码,移动终端MEI号,短信验证码,密码进行绑定,实现对移动终端应用的身份认证,用户不仅要提供正确的登录口令,同时所用设备也必须是在系统注册过的,这种绑定可以确保即使用户登录密码或设备丢失,只要不是二者同时被窃,都可以保证用户端的安全。
【附图说明】
[0018]图1系统架构图。
[0019]图2用户申请证书流程图。
[0020]图3移动终端注册流程图。
[0021]图4移动终端数字签名流程图。
【具体实施方式】
[0022]下面结合附图对本发明做进一步详细描述:
[0023]1、移动终端数字签名系统架构图:根据图1所描述整个系统由移动终端,数字签名服务器和KMC服务器密码机三部分构成。
[0024](I)移动终端具备网络通信或者短消息的功能,可以安装APP,用户通过移动终端接收电子公文,对电子公文进行数字签名。
[0025](2)数字签名服务器为网络服务器,签名服务器拥有自己的私钥和证书,移动终端可以通过网络或者短消息与它通信,数字签名服务器主要功能是验证用户的请求,确保只有合法的用户通过移动终端提交数字签名请求,把用户签名请求提交到KMC服务器密码机。
[0026](3) KMC服务器密码机部署在内网,外部用户无法直接访问,服务器密码机拥有自己的私钥和证书,服务器密码机主要功能为存储用户的签名私钥,根据用户请求调用用户私钥进行数字签名,用户私钥需加密后存储在服务器密码机里面,加密的密钥只有用户自己知道。
[0027]2、根据图2所描述,用户在使用数字签名前需要申请数字证书,该流程与一般PKI系统证书申请类似,用户通过HTTPS协议与CA服务器进行通信,用户和CA的所有消息进行了加密保护,CA需要实名验证用户的身份,通过后为用户产生私钥和公钥,然后为用户生成数字签名证书,用户的私钥使用用户提交的加密密钥Kp进行加密,在本系统中加密后的用户私钥,由CA服务器通过安全通道导入KMC服务器密码机,由KMC服务器密码机保护私钥安全。
[0028]3.根据图3所描述,用户在使用移动终端数字签名系统前需要在签名服务器注册该移动终端,确保只有合法的用户才能使用已注册终端进行数字签名请求,注册流程如下:
[0029]步骤S301:用户首先在智能移动终端安装应用软件,应用软件启动后,检查是否有签名服务器,KMC服务器密码机和用户的证书,如果没有证书则自动从预置网站下载证书;
[0030]步骤S302:注册请求用户输入:用户名Userid,私钥加密密码Kp,用户手机号码,选择用户证书,然后向签名服务器请求手机验证码;
[0031]步骤S303:签名服务器接收到用户的手机验证码请求后,根据用户输入的用户名UserId,手机号码与已登记信息比对,如果用户名已存在,说明用户已经注册过,这时手机号必须为该用户已注册过的手机号码,如果用户名不存在,说明是新注册用户,手机号必须为新的号码;
[0032]步骤S304:签名服务器确认成功后发送短信验证码到用户手机,并保存验证码;
[0033]步骤S305:用户接收到短信验证码后输入该短信验证码到指定位置,移动终端使用KMC服务器密码机的公钥加密用户证书序列号,私钥加密密钥,当前时间Τ,表示如下:
[0034]Eiickmc= Pub &。(用户证书序列号Uc,私钥加密密钥Kp,时间Τ);
[0035]步骤S306:系统发送注册请求到服务器,内容包括:用户名,手机号码,移动终端IMEI号,短信验证码,Eiickmc,以上内容使用服务器证书生成数字信封进行保护:
[0036]随机生成密钥K,利用K使用对称加密算法(比如AES)对注册请求进行加密,表示如下:
[0037]EncK(用户名Userid,手机号,终端MEI号,HASH(用户名Userid,手机号,终端IMEI号,短信验证码,Publim。(用户证书序列号Uc,私钥加密密钥Kp,时间T))。
[0038]然后利用服务器证书里面的公钥Pubswv对密钥K进行加密,表示如下:
[0039]Pubserv(K)。
[0040]以上密码结果使用符合PKCS语法的数字信封格式进行封装。
[0041]步骤S307:服务器接收注册请求,首先利用私钥解密数字信封,验证短信验证码是否正确,如果不一样说明用户信息有误,返回出错结果;
[0042]步骤S308:验证通过后,签名服务器把PubKm。(用户证书序列号Uc,私钥加密密钥Kp,时间T)提交到KMC服务器密码机。
[0043]步骤S309:KMC服务器密码机接收服务器提交的信息,使用它的私钥进行解密,获得用户证书序列号Uc,私钥加密密钥Kp,时间Τ,首先检查检查当前时间与时间T的差别,如果超出允许范围,则拒绝接受,返回错误。然后根据用户证书序列号获取用户证书和加密保存的用户私钥,利用Kp解密用户私钥,与用户证书进行匹配验证,如果匹配成功则表明用户拥有正确的加密密钥,证明用户的身份是真实的,返回成功消息,否则返回失败消息。
[0044]步骤S310:根据KMC服务器密码机返回的信息,如果成功则返回成功消息,使用密钥K进行加密:
[0045]ENCk (Userid,成功信息,Hash (成功信息,短信验证码))
[0046]否则返回失败消息。同时签名服务器存储用户名UserId,手机号,终端MEI,短信验证码,用于后面的验证。
[0047]步骤S311:用户接收服务器返回的消息,使用密钥K解密数据,验证Hash值,判断注册是否成功。若成功,终端计算HAl =HASH(手机号,短信验证码)作为终端通行证码保存到移动终端,无需保存手机号,加密密钥和短信验证码等敏感信息。
[0048]只有注册过的终端才能连接到服务器进行数据通信,同一个用户可以注册多个终端,需要保证用户名和密码一致。
[0049]2、机器码与共享秘密的叠加绑定:终端系统进行Hash(终端通行证码HAl+终端MEI号)运算,生成一个登录认证码,用于身份认证,这个认证码绑定了用户手机号码,移动终端设备与用户身份。
[0050]3、图4描述了终端与服务器进行数字签名申请的流程,主要步骤如下:
[0051]步骤S41:用户需要数字签名时,移动终端首先获取保存在本地的HA1,获取终端的MEI号码,计算出待签名电子文档M的Hash值,然后提示用
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1