著录项信息
专利名称 | 安全通信密钥协商交互方案 |
申请号 | CN201410821841.9 | 申请日期 | 2014-12-25 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2015-04-08 | 公开/公告号 | CN104506534A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;L;9;/;3;2;;;H;0;4;L;9;/;0;8查看分类表>
|
申请人 | 青岛微智慧信息有限公司 | 申请人地址 | 山东省青岛市市南区香港中路18号福泰广场A座403-405
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 青岛微智慧信息有限公司 | 当前权利人 | 青岛微智慧信息有限公司 |
发明人 | 张卫海;赵军;李传松;孙文浩;赵长江;刘培顺;戴洪尚;任传祥 |
代理机构 | 青岛发思特专利商标代理有限公司 | 代理人 | 陈雯雯 |
摘要
本发明提供的一种移动终端上的应用与网络服务器进行安全通信的方法,利用密码技术,将用户与服务器的共享秘密与移动智能终端设备的标识码、用户手机号码进行叠加绑定,然后应用到身份认证系统实现对客户端的认证,利用数字证书和数字签名机制实现对服务器的认证,利用Differ‑Hellman密钥协商协议,与网络服务器建立会话密钥,进而进行安全的数据通信。其特征在于将共享秘密与机器标识码,用户手机号码进行叠加绑定,共享秘密定期更新,即使信息被攻击者窃取,也不会对系统造成影响。用户不仅需要提供登录密码,同时还需要在指定设备上才能使用系统。该方法可以保障用户通过移动设备在互联网上与服务器进行安全通信。
1.一种安全通信密钥协商交互方法,其特征在于:
用于移动终端上的应用软件与网络服务器之间的通信,网络服务器拥有权威机构颁发的证书和私钥,私钥保存在服务器端安全设备里面,数字证书随应用程序一起分发,并且用户从网络上下载证书和查询证书状态,利用密码技术,将用户与服务器的共享秘密与移动终端设备的标识码、用户手机号码进行叠加绑定,然后应用到身份认证系统实现对客户端的认证,利用数字证书和数字签名机制实现对服务器的认证,利用Differ-Hellman密钥协商协议,建立安全的通信密钥,进而进行安全的数据通信;
所述共享秘密定期更新,用户提供登录密码,指定设备上使用,保证用户通过移动终端设备在互联网上的安全通信;
具体方法如下:
(1)用户注册时提供手机号码,服务器通过短信验证码的方式对手机号码进行确认,注册时服务器获得用户的手机号码,移动终端设备的标识码,WLANMAC,BLUETOOTHMAC,用户和服务器共享短信验证码和登录密码两个秘密;
(2)用户移动终端软件对手机号码,短信验证码进行HASH计算生成一个认证用的终端通行证码保存在用户移动终端,短信验证码,登录密码,用户手机号码信息无需保存在移动终端;
(3)用户在使用移动终端时,提供登录密码,移动终端获取终端通行证码和终端IMEI号、硬件信息和登录密码进行运算,然后把运算结果发送到服务器端进行认证,登录密码无需保存和发送,可以保证登录密码的安全性,如果本地认证用的终端通行证码丢失,则需要通过短信验证码认证的方式重新生成终端通行码;
(4)用户移动终端软件通过服务器的数字证书和数字签字对服务器进行身份认证,确保服务器身份的真实性;
(5)用户移动终端和服务器端双向认证时基于Differ-Hellman密钥协商协议协商会话密钥,然后进行数据加密和数据认证操作,保障通信安全。
2.根据权利要求1所述的安全通信密钥协商交互方法,其特征在于,用户和移动终端注册步骤如下:
(1)用户首先在移动终端安装应用软件,应用软件启动后,首先检查是否有网络服务器的证书,如果没有证书则自动从预置网站下载证书,用户首先进行注册,注册时输入:用户名,登录密码,用户手机号码,然后请求手机验证码;
(2)服务器接收到用户的手机验证码请求后,根据用户输入的用户名,手机号码与已登记信息比对,如果用户名已存在,说明用户已经注册过,这时手机号必须为该用户已注册过的手机号码,如果用户名不存在,说明是新注册用户,手机号必须为新的号码;确认成功后发送短信验证码到手机号;
(3)用户输入接收到的短信验证码,系统发送注册请求到服务器,内容包括:用户名,手机号码,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,HASH(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码,时间戳),以上内容使用服务器证书生成数字信封进行保护:
随机生成密钥K,利用密钥K使用对称加密算法对注册请求进行加密,表示如下:EncK(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,HASH(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码));
然后利用服务器证书里面的公钥PubK对密钥K进行加密,表示如下:EncPubK(K);
以上密码结果使用符合PKCS语法的数字信封格式进行封装;
(4)服务器接收注册请求,首先利用私钥解密数字信封,然后服务器端生成HASH(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码),与接收到的HASH进行比较,如果一样则企业用户注册成功;
(5)服务器生成Differ-Hellman协议所需的大素数n,g;n最小长度为1024bit,g最小长度为160bit,其中g为模n的本原元,生成注册成功消息返回用户端,消息使用密钥K进行加密:
EncK(用户名,成功信息,n,g,Hash(成功信息,n,g+短信验证码))
服务器保存用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码,密钥K,n,g信息;
(6)移动终端接收服务器的消息,使用密钥K解密消息,验证Hash值,判断注册是否成功;若成功,终端HA1=HASH(手机号,短信验证码)作为终端通行证码保存到移动终端,移动终端保存服务器发送过来的n,g用于Differ-Hellman协议,保存Hash(登录密码)用于本地登录验证,无需保存手机号,登录口令信息;
只有注册过的移动终端才能连接到服务器进行数据通信,同一个用户可以注册多个移动终端,使用Hash(IMEI)作为终端编号代表移动终端,需要保证用户名和密码一致;
移动终端与服务器之间进行身份认证的步骤如下:
(1)注册的用户打开应用软件时,需要输入登录密码,然后系统采集终端IMEI号,WLANMAC,BLUETOOTHMAC硬件信息,基于当前时间t生成一个SessionID,生成随机数x,x最小长度为192bit,计算X=gx mod n,发送以下信息到服务器:SessionID,UserID,X,Hash(IMEI),HASH(SessionID,UserID,X,IMEI,WLANMAC,BLUETOOTHMAC,HA1,登录密码);
(2)服务器接收用户的认证和密钥协商请求信息,服务器根据:UserID,Hash(IMEI),获取用户和移动终端的注册信息,计算HASH(SessionID,UserID,X,IMEI,WLANMAC,BLUETOOTHMAC,HA1,登录密码),与移动终端发送的登录认证码比对,如果一致则表明用户身份正确且移动终端已注册,服务器生成随机数y,y最小长度为192bit,
计算Y=gy mod n,K=Xy mod n,
K就是客户端和服务器共享的密钥;服务器利用密钥K加密SessionID,UserID得到Enck(SessionID,UserID),然后发送注册成功消息给移动终端,注册成功消息使用服务器的私钥进行数字签名,发送以下信息到移动终端:
Sigpri(Enck(SessionID,UserID),Y)
(3)移动终端接收服务器返回的注册成功消息,首先使用服务器的证书验证服务器的数字签名,验证成功之后,计算K`=Yx mod n,使用K`解密Enck(SessionID,UserID),如果解密结果和移动终端发送的SessionID,UserID一致说明密钥协商成功,即K`=K,为双方共享密钥;否则密钥协商失败;
密钥进行数据加密的流程,主要步骤如下:
(1)加密进程首先获取密钥K;
(2)生成数据加密专用密钥:Kenc=Hash(K+WLANMAC),即使用享密钥K和移动终端的WLANMAC一起Hash运算,运算结果即为数据加密专用密钥;
(3)使用该数据加密密钥对数据进行加密运算,加密后的结果即为密文,可以在互联网上传输;
数据认证的流程,主要步骤如下:
(1)认证进程首先获取密钥K;
(2)生成数据认证专用密钥:Kauth=Hash(IMEI+K),即使用密钥K和移动终端的IMEI号一起Hash运算,运算结果即为数据认证专用密钥;
(3)使用该数据认证专用密钥和要认证的数据一起进行Hash运算,所得结果即为数据的认证码,可以在互联网和数据一起传输,实现对数据的认证。
3.根据权利要求2所述的安全通信密钥协商交互方法,其特征在于,用户和移动终端注册步骤(3)中对称加密算法为AES。
安全通信密钥协商交互方案\n技术领域\n[0001] 本发明涉及信息化移动办公技术领域,特别涉及移动终端安全通信的技术。提供了一种移动终端上的应用与网络服务器安全通信的方法。\n背景技术\n[0002] 智能移动终端是一种多功能设备,不仅具有通讯功能,而且在安装应用程序后能够进行电子商务,移动办公等业务,终端与计算机联成网络后,可根据接收到的指令完成信息处理和交互,为用户提供方便快捷的信息交互媒介。智能移动终端设备作为一种移动设备具有“小巧轻便”及“通讯便捷”的特点,用户更多是通过触控操作设备,小巧轻便的特点使得移动设备一般不去执行大量的复杂运算,设备外设接口简单,通过无线方式和其他设备进行交互。随着智能移动终端越来越多的参与各项网络应用,针对移动应用的安全攻击越来越多,许多恶意应用窃取用户存储在终端上的私有数据,攻击终端与服务器的通信。\n[0003] 现有的终端应用程序与服务器安全通信大多采用SSL技术。SSL利用了基于证书的身份认证、数据加密和消息完整性验证机制,可以为应用层之间的通信建立安全连接。但由于SSL 是基于Web浏览器的,可以很好的支持B/S应用,但对于C/S的应用支持不完善,由于很多企业C/S应用比较多,SSL的使用受到了很大程度的限制。另外移动终端不具备安全保存私钥的条件,如果数字证书和密钥泄露,就存在被攻击、篡改与伪造的可能性。\n发明内容\n[0004] 本发明提供的一种移动终端上的应用与网络服务器进行安全通信的方法,利用密码技术,将用户与服务器的共享秘密与移动智能终端设备的标识码、用户手机号码进行叠加绑定,然后应用到身份认证系统实现对客户端的认证,利用数字证书和数字签名机制实现对服务器的认证,利用Differ-Hellman密钥协商协议,建立安全的通信密钥,进而进行安全的数据通信。其特征在于将共享秘密与机器标识码,用户手机号码进行叠加绑定,共享秘密定期更新,即使信息被攻击者窃取,也不会对系统造成影响。用户不仅需要提供登录密码,同时还需要在指定设备上才能使用系统。该方法可以保障用户通过移动设备在互联网上安全通信。\n[0005] 本发明是通过以下技术方案来实现的:实现本发明目标的技术解决方案为一种智能移动终端上的应用与网络服务器之间的安全通信技术,其特征在于:该系统的组成包括移动终端,网络服务器和终端应用软件。网络服务器拥有权威机构颁发的证书和私钥,私钥保存在服务器端安全设备里面,数字证书随应用程序一起分发,并且用户可以从网络上下载证书和查询证书状态。用户使用应用系统前需要注册,用户移动终端软件提供人机接口,接收用户输入的信息,提取设备的特征码和硬件信息,然后进行运算,提交到网络服务器,网络服务器对终端提交的认证信息进行验证,完成身份认证和密钥交换,然后利用共享的密钥进行数据加密和认证。\n[0006] 利用上述的安全通信方法,在于:\n[0007] (1)用户注册时提供手机号码,服务器通过短信验证码的方式对手机号码进行确认,注册时服务器获得用户的手机号码,移动终端的标识码,WLANMAC,BLUETOOTHMAC。用户和服务器共享短信验证码和登录密码两个秘密;\n[0008] (2)用户移动终端软件对手机号码,短信验证码进行计算生成一个认证用的终端通行证码保存在用户终端,短信验证码,登录密码,用户手机号码等敏感信息无需保存在终端。网络服务器做同样的运算生成终端通行证码并保存;\n[0009] (3)用户在使用移动终端时,登录密码,终端获取认证用的终端通行证码和终端IMEI号,硬件信息和登录密码等进行运算,然后把运算结果发送到服务器端进行认证,登录密码无需保存和发送,可以保证登录密码的安全性。如果本地认证用的终端通行证码丢失,则需要通过短信验证码认证的方式重新生成该代码。\n[0010] (4)用户端软件通过应用程序的数字证书和服务器端数字签字对服务器进行身份认证,可以确保服务器身份的真实性。\n[0011] (5)用户端和服务器端双向认证时基于Differ-Hellman密钥协商协议协商会话密钥,然后进行数据加密和数据认证操作,保障通信安全。\n[0012] 优点及效果:\n[0013] 本发明提供一种智能移动终端的身份认证和密钥协商的方法,利用密码技术,数字证书,短信相结合实现了一种安全的认证方式,基于移动终端的私有属性和安全的认证和 Differ-Hellman密钥协商协议提供了一种安全的通信技术。\n[0014] 本技术的特点:\n[0015] (1)基于移动终端的私有属性,利用密码技术把用户的手机号码,移动终端IMEI号,短信验证码,登录密码进行绑定,实现对移动终端应用的身份认证,用户不仅要提供正确的登录口令,同时所用设备也必须是在系统注册过的,这种绑定可以确保即使用户登录密码或设备丢失,只要不是二者同时被窃,都可以保证用户端的安全;\n[0016] (2)网络服务器拥有权威机构颁发的数字证书和私钥,移动终端通过数字证书和数字签名实现对服务器的认证。\n[0017] (3)基于Differ-Hellman密钥协商协议协商会话密钥,会话密钥定期更换,利用密钥实现加密和认证,确保了网络通信的安全性。\n附图说明\n[0018] 图1用户和终端注册流程图。\n[0019] 图2身份认证及密钥协商流程图。\n[0020] 图3数据加密流程图。\n[0021] 图4数据解密流程图。\n[0022] 图5数据认证流程图。\n[0023] 图6数据验证流程图。\n具体实施方式\n[0024] 下面结合附图对本发明做进一步详细描述:\n[0025] 1、根据图1所描述,用户和终端注册流程如下:\n[0026] 1.1用户首先在智能移动终端安装应用软件,应用软件启动后,首先检查是否有网络服务器的证书,如果没有证书则自动从预置网站下载证书。用户首先进行注册,注册时输入:用户名,登录密码,用户手机号码,然后请求手机验证码;\n[0027] 1.2服务器接收到用户的手机验证码请求后,根据用户输入的用户名,手机号码与已登记信息比对,如果用户名已存在,说明用户已经注册过,这时手机号必须为该用户已注册过的手机号码,如果用户名不存在,说明是新注册用户,手机号必须为新的号码。确认成功后发送短信验证码到手机号;\n[0028] 1.3用户输入接收到的短信验证码,系统发送注册请求到服务器,内容包括:用户名,手机号码,移动终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,HASH(用户名,手机号,移动终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码,时间戳),以上内容使用服务器证书生成数字信封进行保护:\n[0029] 随机生成密钥K,利用K使用对称加密算法(比如AES)对注册请求进行加密,表示如下:\n[0030] EncK(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,HASH(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码))。\n[0031] 然后利用服务器证书里面的公钥PubK对密钥K进行加密,表示如下:\n[0032] EncPubK(K)。\n[0033] 以上密码结果使用符合PKCS语法的数字信封格式进行封装。\n[0034] 1.4服务器接收注册请求,首先利用私钥解密数字信封,然后服务器端生成HASH(用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码),与接收到的HASH进行比较,如果一样则企业用户注册成功;\n[0035] 1.5服务器生成Differ-Hellman协议所需的大素数n(1024bit),g(160bit),其中 g为模n的本原元,生成注册成功消息返回用户端,消息使用密钥K进行加密:\n[0036] ENCK(用户名,成功信息,n,g,Hash(成功信息,n,g+短信验证码)) 服务器保存用户名,手机号,终端IMEI号,WLANMAC,BLUETOOTHMAC,登录密码,短信验证码,密钥K,n,g等信息。\n[0037] 1.6终端接收服务器的消息,使用密钥K解密消息,验证Hash值,判断注册是否成功。若成功,终端HA1=HASH(手机号,短信验证码)作为终端通行证码保存到移动终端,终端保存服务器发送过来的n,g用于Differ-Hellman协议,保存Hash(登录密码)用于本地登录验证,无需保存手机号,登录口令等敏感信息。\n[0038] 1.7只有注册过的终端才能连接到服务器进行数据通信,同一个用户可以注册多个终端,使用Hash(IMEI)作为终端编号代表终端,需要保证用户名和密码一致。\n[0039] 2、机器码与共享秘密的叠加绑定:终端系统进行Hash(终端通行证码+终端IMEI号+登录密码)运算,生成一个登录认证码,用于身份认证,这个认证码绑定了用户,用户手机号码,用户手机设备。\n[0040] 3、图2描述了终端与服务器之间进行身份认证和密钥协商的流程,主要步骤如下[0041] 3.1注册的用户打开系统软件时,需要输入登录密码,然后系统采集终端IMEI号, WLANMAC,BLUETOOTHMAC等硬件信息,基于当前时间t生成一个SessionID,生成随机数 x(192bit),计算X=gx mod n,发送以下信息到服务器:\n[0042] SessionID,UserID,X,Hash(IMEI),HASH(SessionID,UserID,X,IMEI,WLANMAC, BLUETOOTHMA,HA1,登录密码)----->服务器\n[0043] 3.2服务器接收用户的认证和密钥协商请求信息,服务器根据:UserID,Hash(IMEI),获取用户和终端的注册信息,计算HASH(SessionID,UserID,X,IMEI,WLANMAC,BLUETOOTHMA, HA1,登录密码),与终端发送的登录认证码比对,如果一致则表明用户身份正确且终端已注册。服务器生成随机数y(192bit),\n[0044] 计算Y=gy mod n,K=Xy mod n,\n[0045] K就是客户端和服务器共享的密钥。服务器利用K加密SessionID,UserID得到 Enck(SessionID,UserID),然后发送注册成功消息给终端,注册成功消息使用服务器的私钥进行数字签名,结果如下:\n[0046] Sigpri(Enck(SessionID,UserID),Y)---->终端\n[0047] 3.3终端接收服务器返回的注册成功消息,首先使用服务器的证书验证服务器的数字签名,验证成功之后,计算K`=Yx mod n,使用K`解密Enck(SessionID,UserID),如果解密结果和终端发送的SessionID,UserID一致说明密钥协商成功,即K`=K,为双方共享密钥。否则密钥协商失败。\n[0048] 4、图3描述使用共享密钥进行数据加密的流程,主要步骤如下:\n[0049] 4.1加密进程首先获取共享密钥K。\n[0050] 4.2生成数据加密专用密钥:Kenc=Hash(K+WLANMAC),即使用共享密钥K和终端的 WLANMAC一起Hash运算,运算结果即为数据加密专用密钥。\n[0051] 4.3使用该数据加密密钥对数据进行加密运算,加密后的结果即为密文,可以在互联网上传输。\n[0052] 5、图4描述了使用共享密钥进行数据解密的流程,主要步骤和数据加密流程类似。\n[0053] 6、图5描述了使用共享密钥进行数据认证的流程,主要步骤如下:\n[0054] 6.1认证进程首先获取共享密钥K。\n[0055] 6.2生成数据认证专用密钥:Kauth=Hash(IMEI+K),即使用共享密钥K和终端的IMEI号一起Hash运算,运算结果即为数据认证专用密钥。\n[0056] 6.3使用该数据认证专用密钥和要认证的数据一起进行Hash运算,所得结果即为数据的认证码,可以在互联网和数据一起传输,实现对数据的认证。\n[0057] 7、图6 描述了使用共享密钥进行数据验证的流程,主要步骤和数据认证流程类似。\n[0058] 本发明利用密码技术,数字证书和短信相结合实现了一种安全的认证和密钥分配方式,基于移动终端的私有属性和安全的认证协议提供了一种安全便捷的认证技术。利用 Differ-Hellmen密钥协商协议定期更新会话密钥,利用会话密钥可以进行数据加密和数字认证,提高通信安全性。
法律信息
- 2020-10-23
专利权质押合同登记的生效
IPC(主分类): H04L 29/06
专利号: ZL 201410821841.9
申请日: 2014.12.25
授权公告日: 2017.11.21
登记号: Y2020990001164
登记生效日: 2020.09.24
出质人: 青岛微智慧信息有限公司
质权人: 青岛高创科技融资担保有限公司
发明名称: 安全通信密钥协商交互方案
- 2020-10-23
专利权质押合同登记的生效
IPC(主分类): H04L 29/06
专利号: ZL 201410821841.9
申请日: 2014.12.25
授权公告日: 2017.11.21
登记号: 2019990000255 解除日 2020.09.24
出质人: 青岛微智慧信息有限公司
质权人: 青岛高创科技融资担保有限公司
- 2019-04-19
专利权质押合同登记的生效
IPC(主分类): H04L 29/06
专利号: ZL 201410821841.9
申请日: 2014.12.25
授权公告日: 2017.11.21
登记号: 2019990000255
登记生效日: 2019.03.25
出质人: 青岛微智慧信息有限公司
质权人: 青岛高创科技融资担保有限公司
发明名称: 安全通信密钥协商交互方案
- 2017-11-21
- 2015-05-06
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201410821841.9
申请日: 2014.12.25
- 2015-04-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-09-06
|
2006-01-10
| | |
2
| |
2010-03-17
|
2009-10-15
| | |
3
| |
2013-06-19
|
2011-12-15
| | |
4
| |
2013-11-27
|
2013-07-24
| | |
5
| |
2010-07-21
|
2009-01-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |