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

文档序号:8301418阅读:来源:国知局
户输入私钥加密密钥Kp,利用KMC服务器密码机证书里面的公钥制作数字信封保护电子文档Hash值,用户密钥Kp,和当前时间Τ。表示如下:
[0052]PEncaiie= (Pub &。(K),EncK (Hash (M),用户证书序列号 Uc,Κρ,Τ))
[0053]最终的数字签名申请消息为:
[0054]Sess1nld, Userid, IMEI,PEncKm。,Hash (上述消息,HAl),其中 Sess1nId 为会话ID, UserId为注册时的用户名。把签名申请消息发送到签名服务器。
[0055]步骤S42:签名服务器接收用户的请求,首先根据User Id,MEI获取用户的信息包括手机号码,短信验证码等,计算HAll = HASH(手机号,短信验证码),计算Hash(Sess1nld,Userid, IMEI, PubKmc, HA11)与用户发送过来的数据进行比较,如果一致证明用户终端是已注册过的可信终端。
[0056]步骤S43:签名服务器转发PEncaiie= (Pub Km。⑷,EncK(Hash (M),用户证书序列号Uc, Kp, T))到KMC服务器密码机。
[0057]步骤S44: KMC服务器密码机利用它的私钥解密数字信封,得到Hash (M),用户证书序列号Uc,Kp,时间T。首先检查检查当前时间与时间T的差别,如果超出允许范围,则拒绝接受,返回错误。然后根据用户证书序列号获取加密保存的用户私钥,利用Kp解密用户私钥,利用用户的私钥加密Hash(M),作为M的数字签名返回用户,否则返回失败消息。返回的消息如下:
[0058]Sess1nld,Userid, Sigpri (Hash (M))
[0059]步骤S45:用户接收服务器的消息,判断是否请求成功,如果成功则利用用户的证书验证数字签名是否正确,如果正确则表示本次数字签名申请成功,把SigpH (Hash (M))提交给应用软件,否则报告用户出错信息。
[0060]本发明利用密码技术,数字证书和短信相结合实现了移动终端上的一种安全的数字签名方法,用户的签名私钥加密后托管在服务器密码机里面,只有用户才能调用该私钥进行加密运算,在移动终端上只需执行少量运算,适用于各类移动终端。同时基于移动终端的私有属性和安全的认证协议提供了一种安全便捷的认证技术,使用户可以从远程通过移动终端请求数字签名,操作过程安全便捷。
【主权项】
1.一种移动终端密钥托管数字签名方法,其特征在于用户签名私钥加密后托管在签名服务器,由签名服务器保证用户签名私钥的安全,用户数字签名时把签名内容的HASH值发送到签名服务器,签名服务器完成数字签名后把签名返回给用户,从而实现数字签名。
2.根据权利要求1所述的移动终端密钥托管数字签名方法,其特征在于:该系统的组成包括移动终端,签名服务器和KMC服务器密码机;用户,签名服务器和KMC服务器密码机拥有权威机构颁发的证书和私钥,签名服务器负责管理用户的签名私钥,系统所有密钥加密后保存在KMC服务器密码机中,用户私钥的加密密钥由用户自己掌握,密码机只能和签名服务器进行通信;用户可以从网络上下载证书和查询证书状态,用户移动终端软件提供人机接口,接收用户输入的信息,终端应用需要进行数字签名时,把待签名信息的Hash值和用户的身份信息封装在一起构成数字签名请求消息,通过短信或者网络通信发送到签名服务器,服务器对用户请求进行验证,验证通过后调用KMC服务器密码机,使用用户私钥进行数字签名,然后把签名结果返回给用户,完成数字签名过程。
3.根据权利要求2所述的移动终端密钥托管数字签名方法,其特征在于: (1)用户的签名私钥加密存储在KMC服务器密码机中,只有用户掌握加密的密钥,确保只有用户才能使用存储在密码机中的私钥,密码机可以确保私钥不能被导出,所有运算在密码机内完成,从而保证用户私钥的安全; (2)用户需要数字签名时,把待签名文档的HASH值和用户的身份认证信息一起发送到签名服务器,无需发送原始文档; (3)签名服务器验证用户签名请求消息,通过后把HASH值和用户的身份信息传送到KMC服务器密码机,在密码机内使用用户签名私钥完成数字签名,然后把签名消息返回到用户终端; (4)签名服务器每完成一次数字签名,要通过短信或邮件通知用户签名记录,便于用户事后确认。
4.根据权利要求2所述的移动终端密钥托管数字签名方法,其特征在于包括如下步骤: (I)用户和终端注册步骤如下: 步骤S301:用户首先在智能移动终端安装应用软件,应用软件启动后,检查是否有签名服务器,KMC服务器密码机和用户的证书,如果没有证书则自动从预置网站下载证书; 步骤S302:注册请求用户输入:用户名UserId,私钥加密密码Kp,用户手机号码,选择用户证书,然后向签名服务器请求手机验证码; 步骤S303:签名服务器接收到用户的手机验证码请求后,根据用户输入的用户名UserId,手机号码与已登记信息比对,如果用户名已存在,说明用户已经注册过,这时手机号必须为该用户已注册过的手机号码,如果用户名不存在,说明是新注册用户,手机号必须为新的号码; 步骤S304:签名服务器确认成功后发送短信验证码到用户手机,并保存验证码; 步骤S305:用户接收到短信验证码后输入该短信验证码到指定位置,移动终端使用KMC服务器密码机的公钥加密用户证书序列号,私钥加密密钥,当前时间Τ,表示如下: EncKMC= Pub Kmc (用户证书序列号Uc,私钥加密密钥Kp,时间Τ); 步骤S306:系统发送注册请求到服务器,内容包括:用户名,手机号码,移动终端MEI号,短信验证码,EncKMC,以上内容使用服务器证书生成数字信封进行保护: 随机生成密钥K,利用K使用对称加密算法(比如AES)对注册请求进行加密,表示如下: EncK(用户名Userid,手机号,终端MEI号,HASH(用户名Userid,手机号,终端MEI号,短信验证码,PubKfflC (用户证书序列号Uc,私钥加密密钥Kp,时间Τ)); 然后利用服务器证书里面的公钥Pubswv对密钥K进行加密,表示如下: Pubserv (K); 以上密码结果使用符合PKCS语法的数字信封格式进行封装; 步骤S307:服务器接收注册请求,首先利用私钥解密数字信封,验证短信验证码是否正确,如果不一样说明用户信息有误,返回出错结果; 步骤S308:验证通过后,签名服务器把PubKm。(用户证书序列号Uc,私钥加密密钥Kp,时间Τ)提交到KMC服务器密码机; 步骤S309:KMC服务器密码机接收服务器提交的信息,使用它的私钥进行解密,获得用户证书序列号Uc,私钥加密密钥Kp,时间Τ,首先检查检查当前时间与时间T的差别,如果超出允许范围,则拒绝接受,返回错误;然后根据用户证书序列号获取用户证书和加密保存的用户私钥,利用Kp解密用户私钥,与用户证书进行匹配验证,如果匹配成功则表明用户拥有正确的加密密钥,证明用户的身份是真实的,返回成功消息,否则返回失败消息; 步骤S310:根据KMC服务器密码机返回的信息,如果成功则返回成功消息,使用密钥K进行加密: ENCK(UserId,成功信息,Hash(成功信息,短信验证码)) 否则返回失败消息;同时签名服务器存储用户名UserId,手机号,终端MEI,短信验证码,用于后面的验证; 步骤S311:用户接收服务器返回的消息,使用密钥K解密数据,验证Hash值,判断注册是否成功;若成功,终端计算HAl = HASH(手机号,短信验证码)作为终端通行证码保存到移动终端,无需保存手机号,加密密钥和短信验证码等敏感信息; 只有注册过的终端才能连接到服务器进行数据通信,同一个用户可以注册多个终端,需要保证用户名和密码一致; (2)终端请求数字签名的步骤如下: 步骤S41:用户需要数字签名时,移动终端首先获取保存在本地的HA1,获取终端的IMEI号码,计算出待签名电子文档M的Hash值,然后提示用户输入私钥加密密钥Kp,利用KMC服务器密码机证书里面的公钥制作数字信封保护电子文档Hash值,用户密钥Kp,和当前时间T ;表示如下:PEncKmc= (Pub Kmc (K), EncK (Hash (M),用户证书序列号 Uc,Kp,T)) 最终的数字签名申请消息为: Sess1nld, Userid, IMEI,PEnclime, Hash (上述消息,HAl),其中 Sess1nId 为会话ID,UserId为注册时的用户名;把签名申请消息发送到签名服务器; 步骤S42:签名服务器接收用户的请求,首先根据Userid,IMEI获取用户的信息包括手机号码,短信验证码等,计算HAll = HASH(手机号,短信验证码),计算Hash (Sess1nld,Userid, IMEI,PubKmc,HAlI)与用户发送过来的数据进行比较,如果一致证明用户终端是已注册过的可信终端; 步骤S43:签名服务器转发PEncKm。= (Pub Kmc (K), EncK(Hash (M),用户证书序列号Uc,Kp,T))到KMC服务器密码机; 步骤S44:KMC服务器密码机利用它的私钥解密数字信封,得到Hash(M),用户证书序列号Uc,Kp,时间T ;首先检查检查当前时间与时间T的差别,如果超出允许范围,则拒绝接受,返回错误;然后根据用户证书序列号获取加密保存的用户私钥,利用Kp解密用户私钥,利用用户的私钥加密Hash(M),作为M的数字签名返回用户,否则返回失败消息;返回的消息如下:Sess1nld, Userid, Sigpri (Hash (M)) 步骤S45:用户接收服务器的消息,判断是否请求成功,如果成功则利用用户的证书验证数字签名是否正确,如果正确则表示本次数字签名申请成功,把SigpH (Hash (M))提交给应用软件,否则报告用户出错信息。
【专利摘要】一种移动终端密钥托管数字签名方法。移动终端开展电子政务应用需要提供数字签名服务,但目前移动终端缺乏提供存储数字签名私钥的安全条件,私钥存放在移动终端有可能被黑客窃取,所以不能直接使用移动终端实现数字签名。本发明提供一种移动终端的数字签名技术,该技术的组成包括移动终端、签名服务器和KMC服务器密码机。签名服务器负责管理用户的签名私钥,系统所有密钥加密后保存在密码机中,用户加密私钥由用户自己掌握,密码机只能与签名服务器进行通信。当用户下载证书时,终端应用把数字签名时的Hash值和用户身份信息封装在一起构成数字签名请求消息,通过短信发送到签名服务器,对用户请求验证通过后调用密码机,用户私钥进行数字签名后将结果返回给用户,完成数字签名过程。
【IPC分类】H04L9-32, H04L29-06
【公开号】CN104618120
【申请号】CN201510096370
【发明人】张卫海, 赵军, 李传松, 孙文浩, 赵长江, 刘培顺, 戴洪尚, 任传祥
【申请人】青岛微智慧信息有限公司
【公开日】2015年5月13日
【申请日】2015年3月4日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1