两个移动终端之间的安全通信方法_3

文档序号:9581728阅读:来源:国知局
成的随机数XB和接收的来自第一移动终端的随机数XA也生成了同样的会话秘钥k,从而能够用会话秘钥k来解密来自第一移动终端的加密的消息。
[0066]图3示出了根据本发明第三实施例的的两个移动终端A和B经由服务器相互通信的方法300的操作说明图。其中,在用户上线时会把自己的地址信息端口号等发送给服务器。当用户在内网时,需要用到P2P打洞方式来实现。
[0067]在步骤S310中,移动终端A服务器查询移动终端B的地址信息。
[0068]在步骤S320中,服务器返回移动终端B的地址信息。
[0069]在步骤S330中,移动终端A产生随机数XA。
[0070]在步骤S340中,移动终端A利用所获得的移动终端B的地址信息不经服务器直接发送随机数XA给移动终端B。
[0071]在步骤S350中,移动终端B产生随机数XB。
[0072]在步骤S360中,移动终端B发送随机数XB给移动终端A。
[0073]在步骤S370中,移动终端A计算出会话秘钥KA。
[0074]在步骤S380中,移动终端B计算出会话秘钥KB,KB = KA,该计算方式可以如同图2所示的计算会话秘钥方式那样。
[0075]在步骤S390中,移动终端A用会话秘钥KA加密密文并发送给移动终端B。
[0076]在步骤S391中,移动终端B用会话秘钥KB加密密文并发送给移动终端A。
[0077]移动终端A(移动终端B)利用会话秘钥KA(会话秘钥KB)解密收到的来自移动终端B(移动终端A)的密文(图中未示出)。
[0078]利用本发明的上述实施例,提供了在移动互联网和互联网环境下安全即时通信方法,秘钥只在发送和接受方所有,服务器也无法知道,这样数据只有通信双方知道。目前微信这样的应用,其个人消息和文件会通过服务器转发,服务器可以对消息拦截,在后台进行过滤分析,获取个人或者企业信息。该系统消除或降低了类似于微信的应用中消息和资料在网络和服务器上泄密的风险。
[0079]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的保护范围为准。
【主权项】
1.一种第一移动终端经由服务器与第二移动终端相互通信的通信方法,第一移动终端和第二移动终端预先在本地产生各自的公钥秘钥对,并分别把各自的公钥上传到服务器,该通信方法包括: 第一移动终端查询服务器,获得第二移动终端的公钥; 第一移动终端随机产生会话秘钥,并用第二移动终端的公钥加密该会话秘钥,以及用会话秘钥加密待发送的消息; 第一移动终端将所述加密后的消息和加密后的会话秘钥一起经由服务器发送到第二移动终端,以便第二移动终端用自身的私钥解密该会话秘钥以及用解密的会话秘钥来解密所接收到消息。2.根据权利要求1的通信方法,还包括: 第一移动终端经由服务器接收来自第二移动终端的加密后的第二消息和加密后的第二会话秘钥,利用自身的私钥解密该第二会话秘钥,以及利用第二会话秘钥来解密该第二消息,其中该第二会话秘钥被第二移动终端用第一移动终端的公钥加密了,以及第二移动终端是从服务器获得第一移动终端的公钥的。3.一种服务器上执行的协助第一移动终端和第二移动终端相互通信的方法,该服务器上预先接收并存储有来自第一移动终端的第一公钥和来自第二移动终端的第二公钥,以及第一移动终端保持有与第一公钥对应的第一私钥,以及第二移动终端保持有与第二公钥对应的第二私钥,该通信方法包括: 响应于第一移动终端的查询,向第一移动终端返回第二移动终端的所述第二公钥; 接收来自第一移动终端的加密后的第一会话秘钥和加密的消息并转发给第二移动终端,其中第一会话秘钥被第一移动终端用第二公钥加密,该消息被以第一会话秘钥加密,以便第二移动终端用自身的第二私钥解密第一会话秘钥以及用解密的第一会话秘钥解密收到的消息。4.一种第一移动终端经由服务器与第二移动终端相互通信的通信方法,包括: 第一移动终端生成随机数XA,并根据第一预定算法利用随机数XA计算第一移动终端的公钥YA,并将该第一移动终端的公钥YA发送到服务器; 第一移动终端接收经由服务器来自第二移动终端的第二移动终端的公钥YB ; 第一移动终端利用随机数XA和第二移动终端的公钥YB根据第二预定算法生成第一移动终端的会话秘钥KA,该会话秘钥KA等于第二移动终端处生成的会话秘钥KB, 第一移动终端用会话秘钥KA加密待发送的消息; 第一移动终端将加密后的消息经由服务器发送到第二移动终端,第二移动终端用会话秘钥KB解密接收到的消息。5.根据权利要求4的通信方法,其中利用Diff1-Hellman算法使得第一移动终端的会话秘钥KA等于第二移动终端的会话秘钥KB,当第一移动终端添加第二移动终端为好友时,触发上述会话秘钥KA和KB的产生。6.根据权利要求5的通信方法,其中第一移动终端从服务器获得全局公开的素数型参数a和整数型参数q,a是q的一个原根, 第一移动终端利用随机数XA根据公式YA = a~XA mod q来生成第一移动终端的公钥YA; 第一移动终端利用随机数XA和第二移动终端的公钥YB根据KA = (YB) 'XA mod q生成第一移动终端的会话秘钥KA,其中第二移动终端基于公式YB = a~XB mod q计算公开秘钥YB,其中XB是第二移动终端产生的随机数,以及基于公式kB = (YA) 'XB mod q来生成第二移动终端的会话秘钥KB,由此使得KA = KB。7.根据权利要求6的通信方法,其中第一移动终端定期更新公钥和会话秘钥。8.一种服务器上执行的协助第一移动终端和第二移动终端通信的通信方法,包括: 接收来自第一移动终端的随机数XA并转发给第二移动终端; 接收来自第二移动终端的随机数XB并转发给第一移动终端; 接收来自第一移动终端的加密的第一消息并转发给第二移动终端; 接收来自第二移动终端的加密的第二消息并转发给第一移动终端, 其中该第一消息被第一移动终端用第一会话秘钥加密,第一会话秘钥是第一移动终端基于随机数XA和随机数XB计算得到的,第二消息被第二移动终端用第二会话秘钥加密,第二会话秘钥是第二移动终端基于随机数XA和随机数XB计算得到的,且第一会话秘钥等于第二会话秘钥。9.一种通信网络中第一移动终端与第二移动终端的通信方法,该通信网络包括第一移动终端和第二移动终端,该通信方法包括: 第一移动终端将自己的地址信息和端口号发送到服务器; 第一移动终端从服务器获得第二移动终端的地址信息和端口号; 第一移动终端利用所获得的第二移动终端的地址信息和端口号,不经由服务器直接向第二移动终端发送消息。10.根据权利要求8的通信方法,还包括: 第一移动终端生成随机数XA,直接利用所获得的第二移动终端的地址信息和端口将随机数XA发送给第二移动终端; 第一移动终端接收直接发送自第二移动终端的随机数XB ; 第一移动终端利用自身生成的随机数XA和接收的随机数XB生成会话秘钥k, 第一移动终端用会话秘钥加密消息,并将加密的消息发送给第二移动终端,其中第二移动终端利用自身生成的随机数XB和接收的来自第一移动终端的随机数XA也生成了同样的会话秘钥k,从而能够用会话秘钥k来解密来自第一移动终端的加密的消息。
【专利摘要】提供了互联网环境下两个移动终端之间的安全通信方法,第一移动终端和第二移动终端预先在本地产生各自的公钥秘钥对,并分别把各自的公钥上传到服务器,通信方法包括:第一移动终端从服务器获得第二移动终端的公钥;第一移动终端产生会话秘钥,并用第二移动终端的公钥加密该会话秘钥,以及用会话秘钥加密待发送的消息;第一移动终端将加密后的消息和加密后的会话秘钥一起经由服务器发送到第二移动终端,以便第二移动终端用自身的私钥解密该会话秘钥以及用解密的会话秘钥来解密所接收消息。本发明中,秘钥只在发送方和接收方拥有,这样数据只有通信双方知道,由此消除或降低了类似于微信的应用中消息和资料在网络和服务器上泄密的风险。
【IPC分类】H04L29/06
【公开号】CN105337969
【申请号】CN201510680685
【发明人】朱建龙
【申请人】朱建龙
【公开日】2016年2月17日
【申请日】2015年10月19日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1