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

技术编号:11454580 阅读:135 留言:0更新日期:2015-05-14 04:42
一种移动终端密钥托管数字签名方法。移动终端开展电子政务应用需要提供数字签名服务,但目前移动终端缺乏提供存储数字签名私钥的安全条件,私钥存放在移动终端有可能被黑客窃取,所以不能直接使用移动终端实现数字签名。本发明专利技术提供一种移动终端的数字签名技术,该技术的组成包括移动终端、签名服务器和KMC服务器密码机。签名服务器负责管理用户的签名私钥,系统所有密钥加密后保存在密码机中,用户加密私钥由用户自己掌握,密码机只能与签名服务器进行通信。当用户下载证书时,终端应用把数字签名时的Hash值和用户身份信息封装在一起构成数字签名请求消息,通过短信发送到签名服务器,对用户请求验证通过后调用密码机,用户私钥进行数字签名后将结果返回给用户,完成数字签名过程。

【技术实现步骤摘要】
一种移动终端密钥托管数字签名方法
本专利技术涉及信息化移动办公
,特别涉及移动终端上数字内容安全的技术。提供了一种移动终端上的应用实现数字签名的方法。
技术介绍
智能移动终端是一种多功能设备,不仅具有通讯功能,而且在安装应用程序后能够进行电子商务,移动办公等业务。智能移动终端设备作为一种移动设备具有“小巧轻便”及“通讯便捷”的特点,用户更多是通过触控操作设备。小巧轻便的特点使得移动设备一般不去执行大量的复杂运算,设备外设接口简单,一般是通过无线方式与其他设备进行交互。随着智能移动终端越来越多的参与各项网络应用,针对移动应用的安全攻击越来越多,许多恶意应用能够窃取用户存储在终端上的私有数据,攻击终端与服务器的通信。在自动化办公中,如何保证电子公文的真实性、完整性、可靠性和不可抵赖性是系统亟待解决的问题。为了解决上述问题,传统上采用基于数字证书的公钥密码(PublicKeyInfrastructure,简称PKI)系统通过数字签名技术来保障电子文档的内容安全。在使用数字签名时需要用到私钥,为了保证私钥的安全,一般采用USB密码钥匙(USBkey)作为客户端装置来存储用户私钥,对电子文档进行数字签名。在实际应用中,使用USB密码钥匙需要主机拥有USB接口,这阻碍了USB密码钥匙在移动终端设备上的广泛应用。虽然目前出现了带有蓝牙接口或者音频接口的USB密码钥匙,但上述设备仍存在如下缺点:由于蓝牙协议的开放性,无法保证蓝牙USB密码钥匙设备与主机通讯的安全性;带音频接口的USB密码钥匙设备,无法解决不同移动终端之间音频接口的兼容性问题。
技术实现思路
本专利技术提供一种移动终端上的应用对电子公文进行数字签名的方法,其特征在于用户签名私钥托管在签名服务器,由签名服务器保证用户签名私钥的安全,用户数字签名时把签名内容的HASH值发送到签名服务器,签名服务器完成数字签名后把签名返回给用户,从而实现数字签名。本专利技术是通过以下技术方案来实现的:本专利技术提供一种智能移动终端上的数字签名技术,其特征在于:该系统的组成包括移动终端,签名服务器和KMC服务器密码机。用户,签名服务器和KMC服务器密码机拥有权威机构颁发的证书和私钥,签名服务器负责管理用户的签名私钥,系统所有密钥保存在KMC服务器密码机中,密码机只能和签名服务器进行通信。用户可以从网络上下载证书和查询证书状态,用户移动终端软件提供人机接口,接收用户输入的信息,终端应用需要进行数字签名时,把待签名信息的Hash值和用户的身份信息封装在一起构成数字签名请求消息,通过短信或者网络通信发送到签名服务器,服务器对用户请求进行验证,验证通过后调用KMC服务器密码机,使用用户私钥进行数字签名,然后把签名结果返回给用户,完成数字签名过程。利用上述的数字签名方法,其特征在于:(1)用户的签名私钥加密存储在KMC服务器密码机中,只有用户掌握加密的密钥,确保只有用户才能使用存储在密码机中的私钥,密码机可以确保私钥不能被导出,所有运算在密码机内完成,从而保证用户私钥的安全。(2)用户需要数字签名时,把待签名文档的HASH值和用户的身份认证信息一起发送到签名服务器,无需发送原始文档。(3)签名服务器验证用户签名请求消息,通过后把HASH值和用户的身份信息传送到KMC服务器密码机,在密码机内使用用户签名私钥完成数字签名,然后把签名消息返回到用户终端。(4)签名服务器每完成一次数字签名,要通过短信或邮件通知用户签名记录,便于用户事后确认。优点及效果:本专利技术提供一种智能移动终端实现数字签名的方法,利用密码技术,数字证书,短信相结合实现了一种安全数字签名,用户私钥托管在签名服务器可以确保私钥的安全。本技术的特点:(1)用户私钥加密后托管在KMC服务器密码机内,只有用户知道加密密钥,数字签名运算在服务器密码机内进行,服务器密码机确保私钥不能被导出,保证了私钥的安全。(2)用户请求数字签名时,只需要发送待签名文档的Hash值和用户的身份认证信息就可以,对移动终端性能要求少,解决方案适应性好。(3)用户请求数字签名只能通过已注册的终端进行,基于移动终端的私有属性,利用密码技术把用户的手机号码,移动终端IMEI号,短信验证码,密码进行绑定,实现对移动终端应用的身份认证,用户不仅要提供正确的登录口令,同时所用设备也必须是在系统注册过的,这种绑定可以确保即使用户登录密码或设备丢失,只要不是二者同时被窃,都可以保证用户端的安全。附图说明图1系统架构图。图2用户申请证书流程图。图3移动终端注册流程图。图4移动终端数字签名流程图。具体实施方式下面结合附图对本专利技术做进一步详细描述:1、移动终端数字签名系统架构图:根据图1所描述整个系统由移动终端,数字签名服务器和KMC服务器密码机三部分构成。(1)移动终端具备网络通信或者短消息的功能,可以安装APP,用户通过移动终端接收电子公文,对电子公文进行数字签名。(2)数字签名服务器为网络服务器,签名服务器拥有自己的私钥和证书,移动终端可以通过网络或者短消息与它通信,数字签名服务器主要功能是验证用户的请求,确保只有合法的用户通过移动终端提交数字签名请求,把用户签名请求提交到KMC服务器密码机。(3)KMC服务器密码机部署在内网,外部用户无法直接访问,服务器密码机拥有自己的私钥和证书,服务器密码机主要功能为存储用户的签名私钥,根据用户请求调用用户私钥进行数字签名,用户私钥需加密后存储在服务器密码机里面,加密的密钥只有用户自己知道。2、根据图2所描述,用户在使用数字签名前需要申请数字证书,该流程与一般PKI系统证书申请类似,用户通过HTTPS协议与CA服务器进行通信,用户和CA的所有消息进行了加密保护,CA需要实名验证用户的身份,通过后为用户产生私钥和公钥,然后为用户生成数字签名证书,用户的私钥使用用户提交的加密密钥Kp进行加密,在本系统中加密后的用户私钥,由CA服务器通过安全通道导入KMC服务器密码机,由KMC服务器密码机保护私钥安全。3.根据图3所描述,用户在使用移动终端数字签名系统前需要在签名服务器注册该移动终端,确保只有合法的用户才能使用已注册终端进行数字签名请求,注册流程如下:步骤S301:用户首先在智能移动终端安装应用软件,应用软件启动后,检查是否有签名服务器,KMC服务器密码机和用户的证书,如果没有证书则自动从预置网站下载证书;步骤S302:注册请求用户输入:用户名UserId,私钥加密密码Kp,用户手机号码,选择用户证书,然后向签名服务器请求手机验证码;步骤S303:签名服务器接收到用户的手机验证码请求后,根据用户输入的用户名UserId,手机号码与已登记信息比对,如果用户名已存在,说明用户已经注册过,这时手机号必须为该用户已注册过的手机号码,如果用户名不存在,说明是新注册用户,手机号必须为新的号码;步骤S304:签名服务器确认成功后发送短信验证码到用户手机,并保存验证码;步骤S305:用户接收到短信验证码后输入该短信验证码到指定位置,移动终端使用KMC服务器密码机的公钥加密用户证书序列号,私钥加密密钥,当前时间T,表示如下:EncKMC=PubKmc(用户证书序列号Uc,私钥加密密钥Kp,时间T);步骤S306:系统发送注册请求到服务器,内容包括:用户名,手机本文档来自技高网...
一种移动终端密钥托管数字签名方法

【技术保护点】
一种移动终端密钥托管数字签名方法,其特征在于用户签名私钥加密后托管在签名服务器,由签名服务器保证用户签名私钥的安全,用户数字签名时把签名内容的HASH值发送到签名服务器,签名服务器完成数字签名后把签名返回给用户,从而实现数字签名。

【技术特征摘要】
1.一种移动终端密钥托管数字签名方法,其特征在于:所述方法依赖移动终端、签名服务器和KMC服务器密码机完成;用户、签名服务器和KMC服务器密码机拥有权威机构颁发的私钥和证书,签名服务器负责管理用户的签名私钥,用户签名私钥加密后托管在签名服务器,由签名服务器保证用户签名私钥的安全;系统所有密钥加密后保存在KMC服务器密码机中,用户私钥的加密密钥由用户自己掌握,KMC服务器密码机只能和签名服务器进行通信;用户可以从网络上下载证书和查询证书状态,用户移动终端软件提供人机接口,接收用户输入的信息,终端应用需要进行数字签名时,把待签名信息的Hash值和用户的身份信息封装在一起构成数字签名请求消息,通过短信或者网络通信发送到签名服务器,签名服务器对用户请求进行验证,验证通过后调用KMC服务器密码机,使用用户私钥进行数字签名,然后把签名结果返回给用户,完成数字签名过程;具体步骤如下:(1)用户和终端注册步骤如下:步骤S301:用户首先在智能移动终端安装应用软件,应用软件启动后,检查是否有签名服务器,KMC服务器密码机和用户的证书,如果没有证书则自动从预置网站下载证书;步骤S302:注册请求用户输入:用户名UserId,私钥加密密码Kp,用户手机号码,选择用户证书,然后向签名服务器请求手机验证码;步骤S303:签名服务器接收到用户的手机验证码请求后,根据用户输入的用户名UserId,手机号码与已登记信息比对,如果用户名已存在,说明用户已经注册过,这时手机号必须为该用户已注册过的手机号码,如果用户名不存在,说明是新注册用户,手机号必须为新的号码;步骤S304:签名服务器确认成功后发送短信验证码到用户手机,并保存验证码;步骤S305:用户接收到短信验证码后输入该短信验证码到指定位置,移动终端使用KMC服务器密码机的公钥加密用户证书序列号,私钥加密密钥,当前时间T,表示如下:EncKMC=PubKmc(用户证书序列号Uc,私钥加密密钥Kp,时间T);步骤S306:系统发送注册请求到签名服务器,内容包括:用户名,手机号码,移动终端IMEI号,短信验证码,EncKMC,以上内容使用服务器证书生成数字信封进行保护:随机生成密钥K,利用K使用对称加密算法(比如AES)对注册请求进行加密,表示如下:EncK(用户名UserId,手机号,终端IMEI号,HASH(用户名UserId,手机号,终端IMEI号,短信验证码,PubKmc(用户证书序列号Uc,私钥加密密钥Kp,时间T)));然后利用签名服务器证书里面的公钥PubServ对密钥K进行加密,表示如下:PubServ(K);以上密码结果使用符合PKCS语法的数字信封格式进行封装;步骤S307:签名服务器接收注册请求,首先利用私钥解密数字信封,验证短信验证码是否正确,如果不一样说明用户信息有误,返回出错结果;步骤S308:验证通过后,签名服务器把PubKmc(用户证书序列号Uc,私钥加密密钥Kp,时间T)提交到KMC服务器密码机;步骤S309:KMC服务器密码机接收签名服务器提交的信息,使用它的私钥进行解密,获得用户证书序列号U...

【专利技术属性】
技术研发人员:张卫海赵军李传松孙文浩赵长江刘培顺戴洪尚任传祥
申请(专利权)人:青岛微智慧信息有限公司
类型:发明
国别省市:山东;37

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

1