一种加密通信方法和加密通信系统的制作方法

文档序号:7806419阅读:184来源:国知局
一种加密通信方法和加密通信系统的制作方法
【专利摘要】本发明涉及一种加密通信方法和加密通信系统,该方法包括:移动终端与应用服务器执行双向认证并建立加密移动通信,再执行密钥推导;客户端主机启动,并读取和运行只读存储器存储的客户端系统软件和客户端网络应用软件;客户端主机和应用服务器分别获取对方的IP地址,并各自设置IP地址过滤规则;应用服务器生成随机数和密钥,并将其通过移动终端发送至客户端主机;客户端主机与应用服务器执行IP地址过滤、双向认证和密钥协商,从而建立加密网络通信。所述系统包括只读存储器、客户端主机、移动终端及应用服务器,客户端主机通过数据通信网与应用服务器连接,移动终端通过移动通信网与应用服务器连接。本发明保证了网络应用端到端的安全性。
【专利说明】一种加密通信方法和加密通信系统

【技术领域】
[0001] 本发明涉及互联网技术、局域网技术、移动通信技术和信息安全【技术领域】,尤其涉 及一种加密通信方法和加密通信系统。

【背景技术】
[0002] 互联网的发展带来了各种网络安全问题,主要包括:利用木马病毒通过用户客户 端窃取用户口令等用户敏感信息;利用网络钓鱼进行网络欺诈;利用对用户客户端的远程 控制,篡改用户的数据和操作,进而在入侵控制大量的客户端后发起DDoS攻击等等。
[0003] 另外,加密通信生成会话密钥的过程(例如应用于互联网的PKI基于非对称加密 算法的密钥交换过程、应用于WLAN的WPA-PSK/WPA2-PSK基于对称加密算法的密钥协商过 程)无法避免穷举攻击的风险。随着并行计算技术和分布式计算技术的发展,这一问题日 £fL关出。
[0004] 因此,本发明针对上述网络安全问题,提出了一种加密通信方法和加密通信系统。


【发明内容】

[0005] 本发明所要解决的技术问题是提供一种加密通信方法和加密通信系统,用于使客 户端主机和应用服务器利用移动终端传递IP地址、随机数和密钥,并执行IP地址过滤、双 向认证和密钥协商而建立加密网络通信,以提高网络应用的安全性。
[0006] 本发明为了解决上述技术问题的技术方案如下:
[0007] -种加密通信方法,在使用所述加密通信方法前,用户向应用服务器注册,并将用 户信息提交应用服务器,用户信息包括:用户生物特征、移动终端的移动用户综合业务数字 网号码 MSISDN(Mobile Subscriber Integrated Services Digital Network Number)、移 动终端的国际移动用户识别码IMSI (International Mobile Subscriber Identity)、移动 终端的国际移动设备识别码IMEI (International Mobile Equipment Identity)、移动终 端SIM卡的集成电路卡识别码ICCID (Integrated Circuit Card Identity)、银行账户(借 记卡、贷记卡或存折)的账号及身份证标示的ID、有效期或住址;应用服务器生成对称密钥 Ka/Ka'、Kc/Kc'、MemPa/MemPa'、MemKa/MemKa'、MemPc/MemPc' 和 MemKc/MemKc',并将 Ka、 Kc、MemPa、MemKa、MemPc和MemKc写入移动终端,使移动终端能与应用服务器执行双向认证 并建立加密移动通信,再执行密钥推导。所述加密通信方法包括如下步骤:
[0008] 步骤A,移动终端与应用服务器执行双向认证并建立加密移动通信,再执行密钥推 导;
[0009] 步骤B,客户端主机启动,并读取和运行只读存储器存储的客户端系统软件和客户 端网络应用软件;
[0010] 步骤C,客户端主机和应用服务器分别获取对方的IP地址,并各自设置IP地址过 滤规则;
[0011] 步骤D,应用服务器生成随机数和密钥,并将其通过移动终端发送至客户端主机;
[0012] 步骤E,客户端主机与应用服务器执行IP地址过滤、双向认证和密钥协商,从而建 立加密网络通信。
[0013] 采用上述方法的有益效果是:保证了网络应用端到端的安全性。
[0014] 在上述技术方案的基础上,所述加密通信方法还可以做如下改进:
[0015] 进一步,所述步骤A包括:
[0016] 步骤All,移动终端与应用服务器基于对称认证密钥Ka/Ka'执行双向认证,并基 于对称通信密钥Kc/Kc'建立加密移动通信,且Ka/Ka'与Kc/Kc'之间无演算关系;
[0017] 步骤A12,应用服务器生成随机数Rl、R2、R3、R4,并推导新的认证密钥Ka',推导 Ka'的过程包括:
[0018] 应用服务器基于其存储的MemPa'计算MemPa' = f(Rl,MemPa'),其中,R1为随机 数,MemPa'为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数 构成的函数;
[0019] 应用服务器基于其存储的MemKa'计算MemKa' = f (R2, MemKa'),其中,R2为随机 数,MemKa'为密钥;
[0020] 应用服务器计算Ka' = f (Rl,R2, MemPa',MemKa'),其中,R1和R2为随机数, MemPa'为参数,MemKa'为密钥;
[0021] 应用服务器推导新的通信密钥Kc',且推导Kc'的过程与上述推导Ka'的过程之间 无演算关系,推导Kc'的过程包括:
[0022] 应用服务器基于其存储的MemPc'计算MemPc' = f (R3, MemPc'),其中,R3为随机 数,MemPc'为密钥;
[0023] 应用服务器基于其存储的MemKc'计算MemKc' = f (R4, MemKc'),其中,R4为随机 数,MemKc'为密钥;
[0024] 应用服务器计算Kc' = f (R3, R4, MemPc',MemKc'),其中,R3和R4为随机数, MemPc'为参数,MemKc'为密钥;
[0025] 应用服务器存储Ka'、Kc'、MemPa'、MemKa'、MemPc'、MemKc',以用于下一次双向认 证、加密通信和密钥推导;
[0026] 步骤A13,应用服务器将随机数R1、R2、R3、R4发送至移动终端;
[0027] 步骤A14,移动终端推导新的认证密钥Ka,推导Ka的过程包括:
[0028] 移动终端基于其存储的MemPa计算MemPa = f (Rl,MemPa),其中,R1为随机数, MemPa为密钥;
[0029] 移动终端基于其存储的MemKa计算MemKa = f (R2, MemKa),其中,R2为随机数, MemKa为密钥;
[0030] 移动终端计算Ka = f(Rl, R2, MemPa, MemKa),其中,R1和R2为随机数,MemPa为参 数,MemKa为密钥;
[0031] 移动终端推导新的通信密钥Kc,且推导Kc的过程与上述推导Ka的过程之间无演 算关系,推导Kc的过程包括:
[0032] 移动终端基于其存储的MemPc计算MemPc = f (R3, MemPc),其中,R3为随机数, MemPc为密钥;
[0033] 移动终端基于其存储的MemKc计算MemKc = f (R4, MemKc),其中,R4为随机数, MemKc为密钥;
[0034] 移动终端计算Kc = f (R3, R4, MemPc, MemKc),其中,R3和R4为随机数,MemPc为参 数,MemKc为密钥;
[0035] 移动终端存储Ka、Kc、MemPa、MemKa、MemPc、MemKc,以用于下一次双向认证、加密 通信和密钥推导。
[0036] 采用上述进一步方案的有益效果是:认证密钥Ka/Ka'与通信密钥Kc/Kc'之间 无演算关系,防止了用基于Ka/Ka'的认证信息而穷举攻击Kc/Kc' ;第η次执行步骤A后, MemPa、MemKa、MemPc和MemKc各自的密钥推导均符合递归运算Kn = f (Rn, f (Rn_i,f (… ,以氏,以氏_1,以...,以1?2,以1?1,1(。)))))))),其中,1彡1彡11,1( 11,...,1,...,1(。为密钥且1 = f(Ri,U,Hi,…,氏,···,&,&为随机数且其通过加密通信传递,f为加密函数且f包 括单向散列函数和对称加密函数及由这两种函数构成的函数,将基于该递归运算的MemPa/ MemPa'和MemKa/MemKa'作为参数和密钥计算认证密钥Ka/Ka',并将基于该递归运算的 MemPc/MemPc'和MemKc/MemKc'作为参数和密钥计算通信密钥Kc/Kc',而非基于根密钥计 算认证密钥和通信密钥,且推导Kc/Kc'的过程与推导Ka/Ka'的过程之间无演算关系,提高 了双向认证和加密通信的安全性。
[0037] 进一步,所述步骤B包括:
[0038] 步骤B11,客户端主机启动;
[0039] 步骤B12,客户端主机读取和运行只读存储器存储的客户端系统软件;
[0040] 步骤B13,客户端主机用客户端系统软件禁用本机的硬盘;
[0041] 步骤B14,客户端主机读取和运行只读存储器存储的客户端网络应用软件。
[0042] 采用上述进一步方案的有益效果是:客户端主机启动后使用只读存储器存储的软 件并禁用客户端主机的硬盘,防止了客户端主机硬盘存储的计算机病毒危害网络应用。
[0043] 进一步,所述步骤C包括:
[0044] 步骤C11,客户端主机从互联网获取本机的IP地址IPAc ;
[0045] 步骤C12,客户端主机读取只读存储器存储的应用服务器的IP地址IPAs ;或者, 客户端主机令用户用移动终端从应用服务器获取应用服务器的IP地址IPAs,并令用户将 IPAs输入至客户端主机;
[0046] 步骤C13,客户端主机设置IP地址过滤规则,允许本机接收IP源地址为IPAs的 IP数据包;
[0047] 步骤C14,客户端主机提示用户用移动终端向应用服务器发送IPAc ;
[0048] 步骤C15,输入IPAc至移动终端;
[0049] 步骤C16,移动终端将IPAc发送至应用服务器,应用服务器接收IPAc并同时获得 移动终端的移动用户综合业务数字网号码MSISDN ;
[0050] 步骤C17,应用服务器设置IP地址过滤规则,允许本机接收IP源地址为IPAc的 IP数据包。
[0051] 采用上述进一步方案的有益效果是:客户端主机直接利用IPAs访问应用服务器 而不采用DNS,防止了 DNS劫持(DNS Hijacking)危害网络应用;客户端主机令用户通过移 动终端将IPAc发送至应用服务器,使应用服务器获知将要来访的客户端主机的IP地址而 得以设置IP地址过滤规则。
[0052] 进一步,所述步骤D包括:
[0053] 步骤D11,应用服务器生成随机数randl、rand2,生成对称密钥K1/K1'、K2/K2'、 K3/K3',且所述K1、K2、K3中的任意两方之间无演算关系;
[0054] 步骤012,应用服务器将四1?11、四11(12、1(1、1(2、1(3发送至移动终端;
[0055] 步骤D13,移动终端提示用户将四1?11、四11(12、1(1、1(2、1(3输入至客户端主机 ;
[0056] 步骤014,输入四11(11、四11(12、1(1、1(2、1(3至客户端主机。
[0057] 采用上述进一步方案的有益效果是:应用服务器通过移动终端将随机数和密钥发 送至客户端主机,保证了网络通信一次一密。
[0058] 进一步,所述步骤Ε包括:
[0059] 步骤Ε11,客户端主机计算resl = f(randl, Κ1),其中,rel为响应,randl为随机 数,K1为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数构成 的函数;
[0060] 步骤E12,客户端主机通过IP数据包IP1将resl发送至应用服务器,且IP1的IP 源地址为IPAc ;
[0061] 步骤E13,应用服务器执行IP地址过滤,根据IP地址过滤规则接收IP1,允许客户 端主机连接至本机;
[0062] 步骤E14,应用服务器计算resl' = f (randl, ΚΓ ),其中,rel'为响应,randl为随 机数,ΚΓ为密钥;
[0063] 步骤Ε15,应用服务器比较resl'与resl,若相同则转向步骤Ε16,否则全部流程结 束;
[0064] 步骤E16,应用服务器计算res2' = f(rand2, K2'),其中,re2'为响应,rand2为随 机数,K2'为密钥;应用服务器生成随机数rand3,并计算rand3_c = E (rand3, K3'),其中, rand3_c为密文,K3'为密钥,E为加密函数;
[0065] 步骤E17,应用服务器通过IP数据包IP2将res2'和rand3_c发送至客户端主机, 且IP2的IP源地址为IPAs ;
[0066] 步骤E18,客户端主机执行IP地址过滤,根据IP地址过滤规则接收IP2,允许应用 服务器连接至本机;
[0067] 步骤E19,客户端主机计算res2 = f(rand2, K2),其中,res2为响应,rand2为随机 数,K2为密钥;客户端主机计算rand3_p = D(rand3_c, K3),其中,rand3_p为解密rand3_c 所得明文,rand3_c为密文,K3为密钥,D为与加密函数E对应的解密函数;
[0068] 步骤Ε20,客户端主机比较res2与res2',若相同则转向步骤Ε21,否则全部流程结 束;
[0069] 步骤E21,客户端主机提示用户将MSISDN输入至客户端主机;
[0070] 步骤E22,输入MSISDN至客户端主机;
[0071] 步骤E23,客户端主机与应用服务器基于rand3_p/rand3、MSISDN、K3/K3'协商会 话密钥Ks,并基于Ks建立加密网络通信;或者,应用服务器在用户开户时所留用户信息中 随机选取一个参数C,并通过移动终端或客户端主机向用户提示参数C的名称且令用户将 参数C输入至客户端主机,客户端主机与应用服务器基于参数C、rand3_p/rand3、MSISDN、 K3/K3'协商会话密钥Ks,并基于Ks建立加密网络通信。
[0072] 采用上述进一步方案的有益效果是:应用服务器执行IP地址过滤并认证客户端 主机,防止了 DDoS攻击危害应用服务器;客户端主机执行IP地址过滤并认证应用服务器, 防止了网络钓鱼危害客户端主机;在网络通信双向认证的过程中,客户端主机和应用服务 器之间不传递随机数,而只传递响应resl和res2',且resl和res2'之间无演算关系,防 止了基于网络传递的认证信息而穷举攻击认证密钥K1和K2 ;resl与K3之间、res2'与K3 之间无演算关系,防止了基于网络传递的认证信息而穷举攻击会话密钥Ks ;基于未传递的 MSISDN(移动通信网不依据MSISDN,而依据临时移动用户识别码TMSI (Temporary Mobile Subscriber Identity)和IMSI识别移动终端;移动通信网将与TMSI/IMSI对应的MSISDN 和用户业务发送至应用服务器)、随机选取且未传递的参数C、移动通信网传递的K3、互联 网加密传递的rand3协商会话密钥Ks,提高了密钥协商的安全性。
[0073] 进一步,所述步骤E23中用户开户时所留用户信息包括用户生物特征、国际移动 用户识别码MSI、国际移动设备识别码MEI、集成电路卡识别码ICCID、银行账户的账号、 身份证标示的ID、身份证标示的有效期或身份证标示的住址。
[0074] 采用上述进一步方案的有益效果是:在用户信息中随机选取一个参数C用于协商 会话密钥Ks,且参数C未传递,提高了密钥协商的安全性。
[0075] 进一步,在上述加密通信方法中,若将对称密钥K1和K2替换为非对称密钥Kla和 K2a,且Kla、K2a及对称密钥K3中的任意两方之间无演算关系,并将加密函数f替换为非 对称加密/解密函数,则客户端主机基于Kla私钥和K2a公钥,应用服务器基于K2a私钥和 Kla公钥,双方不传递随机数且不交换公钥即只传递响应而执行双向认证,且响应之间无演 算关系。
[0076] 采用上述进一步方案的有益效果是:所述加密通信方法能采用非对称加密算法执 行双向认证;双向认证时只传递响应而不传递随机数且不交换公钥,且响应之间无演算关 系,防止了基于网络传递的认证信息而穷举攻击认证密钥Kla和K2a ;Kla与K3之间、K2a 与K3之间无演算关系,防止了基于网络传递的认证信息而穷举攻击会话密钥Ks。
[0077] 进一步,在上述加密通信方法中,所述双向认证只传递响应而不传递随机数且采 用非对称加密算法时不交换公钥,且响应之间无演算关系,响应与会话密钥之间也无演算 关系。
[0078] 采用上述进一步方案的有益效果是:只传递响应且响应之间无演算关系,防止了 基于认证信息而穷举攻击认证密钥;响应与会话密钥之间也无演算关系,防止了基于认证 信息而穷举攻击会话密钥。
[0079] 进一步,在所述加密通信方法的各执行步骤中均能通过移动终端完成客户端主机 的全部功能。
[0080] 采用上述进一步方案的有益效果是:使得方案成本更低。
[0081] 对应上述加密通信方法,本发明的技术方案还包括一种加密通信系统,包括只读 存储器、客户端主机、移动终端及应用服务器;
[0082] 只读存储器,用于为客户端主机提供客户端系统软件和客户端网络应用软件及应 用服务器的IP地址;
[0083] 客户端主机,其通过数据通信网与应用服务器连接,用于在启动后读取和运行只 读存储器存储的客户端系统软件和客户端网络应用软件,并读取只读存储器存储的应用服 务器的IP地址;用于通过移动终端将其IP地址发送至应用服务器;用于通过移动终端从 应用服务器接收随机数和密钥;用于基于应用服务器的IP地址执行IP地址过滤,并与应用 服务器执行双向认证和密钥协商而建立加密网络通信;
[0084] 移动终端,其通过移动通信网与应用服务器连接,用于与应用服务器执行双向认 证并建立加密移动通信;用于为客户端主机和应用服务器传递随机数和密钥及IP地址;
[0085] 应用服务器,用于与移动终端执行双向认证并建立加密移动通信;用于通过移动 终端接收客户端主机的IP地址;用于生成随机数和密钥,并将其通过移动终端发送至客户 端主机;用于基于客户端主机的IP地址执行IP地址过滤,并与客户端主机执行双向认证和 密钥协商而建立加密网络通信。
[0086] 采用上述系统的有益效果是:保证了网络应用端到端的安全性。
[0087] 在上述技术方案的基础上,所述加密通信系统还可以做如下改进:
[0088] 进一步,只读存储器为 CD-ROM、DVD-ROM、MASK ROM、PROM、EPROM、OTP ROM、EEPR0M 或Flash ROM中的任一种。
[0089] 进一步,只读存储器通过有线通信接口或者无线通信接口与客户端主机连接,或 者将只读存储器设计为客户端主机的一个硬件。
[0090] 进一步,移动终端为移动电话、PDA、平板电脑或笔记本电脑中的任一种。
[0091] 进一步,所述加密通信系统中能通过移动终端完成客户端主机的全部功能。
[0092] 进一步,所述数据通信网包括广域网、城域网和局域网;移动终端以语音、短信或 数据的方式与应用服务器通信。
[0093] 本发明提供的方法和系统,保证了网络应用端到端的安全性。

【专利附图】

【附图说明】
[0094] 图1为本发明实施例一中所述加密通信系统的结构示意图;
[0095] 图2为本发明实施例二中所述加密通信方法的流程图;
[0096] 图3为本发明实施例二中所述加密通信方法步骤B的流程图;
[0097] 图4为本发明实施例二中所述加密通信方法步骤C的流程图;
[0098] 图5为本发明实施例二中所述加密通信方法步骤D的流程图;
[0099] 图6为本发明实施例二中所述加密通信方法步骤E的流程图;
[0100] 图7为本发明实施例三中所述建立加密WLAN通信的方法的流程图;
[0101] 图8为本发明实施例四中所述实现手机银行的方法的流程图;
[0102] 图9为本发明实施例二中所述加密通信方法步骤A的流程图。
[0103] 附图标记为:
[0104] 101、只读存储器,102、客户端主机,103、移动终端,104、应用服务器。

【具体实施方式】
[0105] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0106] 如图1所示,实施例一提供了一种加密通信系统,所述系统包括只读存储器101、 客户端主机102、移动终端103及应用服务器104 ;
[0107] 只读存储器101,用于为客户端主机102提供客户端系统软件和客户端网络应用 软件及应用服务器104的IP地址,所述客户端网络应用软件包括浏览器、安全软件、即时通 讯软件和游戏娱乐软件等;
[0108] 客户端主机102,其通过数据通信网与应用服务器104连接,用于在启动后读取 和运行只读存储器101存储的客户端系统软件和客户端网络应用软件,并读取只读存储器 101存储的应用服务器104的IP地址;用于通过移动终端103将其IP地址发送至应用服 务器104 ;用于通过移动终端103从应用服务器104接收随机数和密钥;用于基于应用服务 器104的IP地址执行IP地址过滤,并与应用服务器104执行双向认证和密钥协商而建立 加密网络通信;
[0109] 移动终端103,其通过移动通信网与应用服务器104连接,用于与应用服务器104 执行双向认证并建立加密移动通信;用于为客户端主机102和应用服务器104传递随机数 和密钥及IP地址;
[0110] 应用服务器104,用于与移动终端103执行双向认证并建立加密移动通信;用于通 过移动终端103接收客户端主机102的IP地址;用于生成随机数和密钥,并将其通过移动 终端103发送至客户端主机102 ;用于基于客户端主机102的IP地址执行IP地址过滤,并 与客户端主机102执行双向认证和密钥协商而建立加密网络通信。
[0111] 在实施例一中,所述数据通信网包括广域网、城域网和局域网;移动终端103以语 音、短信或数据的方式与应用服务器104通信;只读存储器101为⑶-ROM、DVD-ROM、MASK ROM、PROM、EPROM、OTP ROM、EEPR0M或Flash ROM中的任一种;移动终端103为移动电话、 PDA、平板电脑或笔记本电脑中的任一种,并能完成客户端主机102的全部功能。
[0112] 如图2所示,实施例二提供了一种加密通信方法,包括如下步骤:
[0113] 步骤A,移动终端与应用服务器执行双向认证并建立加密移动通信,再执行密钥推 导;
[0114] 步骤B,客户端主机启动,并读取和运行只读存储器存储的客户端系统软件和客户 端网络应用软件;
[0115] 步骤C,客户端主机和应用服务器分别获取对方的IP地址,并各自设置IP地址过 滤规则;
[0116] 步骤D,应用服务器生成随机数和密钥,并将其通过移动终端发送至客户端主机;
[0117] 步骤E,客户端主机与应用服务器执行IP地址过滤、双向认证和密钥协商,从而建 立加密网络通信。
[0118] 上述各执行步骤中均能通过移动终端完成客户端主机的全部功能。
[0119] 如图9所示,实施例二中所述步骤A进一步包括:
[0120] 步骤All,移动终端与应用服务器基于对称认证密钥Ka/Ka'执行双向认证,并基 于对称通信密钥Kc/Kc'建立加密移动通信,且Ka/Ka'与Kc/Kc'之间无演算关系;
[0121] 步骤A12,应用服务器生成随机数Rl、R2、R3、R4,并推导新的认证密钥Ka',推导 Ka'的过程包括:
[0122] 应用服务器基于其存储的MemPa'计算MemPa' = f (Rl,MemPa'),其中,R1为随机 数,MemPa'为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数 构成的函数;
[0123] 应用服务器基于其存储的MemKa'计算MemKa' = f (R2, MemKa'),其中,R2为随机 数,MemKa'为密钥;
[0124] 应用服务器计算Ka' = f (Rl,R2, MemPa',MemKa'),其中,R1和R2为随机数, MemPa'为参数,MemKa'为密钥;
[0125] 应用服务器推导新的通信密钥Kc',且推导Kc'的过程与上述推导Ka'的过程之间 无演算关系,推导Kc'的过程包括:
[0126] 应用服务器基于其存储的MemPc'计算MemPc' = f (R3, MemPc'),其中,R3为随机 数,MemPc'为密钥;
[0127] 应用服务器基于其存储的MemKc'计算MemKc' = f (R4, MemKc'),其中,R4为随机 数,MemKc'为密钥;
[0128] 应用服务器计算Kc' = f (R3, R4, MemPc',MemKc'),其中,R3和R4为随机数, MemPc'为参数,MemKc'为密钥;
[0129] 应用服务器存储Ka'、Kc'、MemPa'、MemKa'、MemPc'、MemKc',以用于下一次双向认 证、加密通信和密钥推导;
[0130] 步骤A13,应用服务器将随机数R1、R2、R3、R4发送至移动终端;
[0131] 步骤A14,移动终端推导新的认证密钥Ka,推导Ka的过程包括:
[0132] 移动终端基于其存储的MemPa计算MemPa = f(Rl,MemPa),其中,R1为随机数, MemPa为密钥;
[0133] 移动终端基于其存储的MemKa计算MemKa = f (R2, MemKa),其中,R2为随机数, MemKa为密钥;
[0134] 移动终端计算Ka = f(Rl, R2, MemPa, MemKa),其中,R1和R2为随机数,MemPa为参 数,MemKa为密钥;
[0135] 移动终端推导新的通信密钥Kc,且推导Kc的过程与上述推导Ka的过程之间无演 算关系,推导Kc的过程包括:
[0136] 移动终端基于其存储的MemPc计算MemPc = f(R3,MemPc),其中,R3为随机数, MemPc为密钥;
[0137] 移动终端基于其存储的MemKc计算MemKc = f(R4,MemKc),其中,R4为随机数, MemKc为密钥;
[0138] 移动终端计算Kc = f(R3, R4, MemPc, MemKc),其中,R3和R4为随机数,MemPc为参 数,MemKc为密钥;
[0139] 移动终端存储Ka、Kc、MemPa、MemKa、MemPc、MemKc,以用于下一次双向认证、加密 通信和密钥推导。
[0140] 如图3所示,实施例二中所述步骤B进一步包括:
[0141] 步骤B11,客户端主机启动;
[0142] 步骤B12,客户端主机读取和运行只读存储器存储的客户端系统软件;
[0143] 步骤B13,客户端主机用客户端系统软件禁用本机的硬盘;
[0144] 步骤B14,客户端主机读取和运行只读存储器存储的客户端网络应用软件。
[0145] 如图4所示,实施例二中所述步骤C进一步包括:
[0146] 步骤C11,客户端主机从互联网获取本机的IP地址IPAc ;
[0147] 步骤C12,客户端主机读取只读存储器存储的应用服务器的IP地址IPAs ;或者, 客户端主机令用户用移动终端从应用服务器获取应用服务器的IP地址IPAs,并令用户将 IPAs输入至客户端主机;
[0148] 步骤C13,客户端主机设置IP地址过滤规则,允许本机接收IP源地址为IPAs的 IP数据包;
[0149] 步骤C14,客户端主机提示用户用移动终端向应用服务器发送IPAc ;
[0150] 步骤C15,输入IPAc至移动终端;
[0151] 步骤C16,移动终端将IPAc发送至应用服务器,应用服务器接收IPAc并同时获得 移动终端的移动用户综合业务数字网号码MSISDN ;
[0152] 步骤C17,应用服务器设置IP地址过滤规则,允许本机接收IP源地址为IPAc的 IP数据包。
[0153] 如图5所示,实施例二中所述步骤D进一步包括:
[0154] 步骤D11,应用服务器生成随机数randl、rand2,生成对称密钥Κ1/ΚΓ、K2/K2'、 K3/K3',且所述K1、K2、K3中的任意两方之间无演算关系;
[0155] 步骤012,应用服务器将四1?11、四11(12、1(1、1(2、1(3发送至移动终端;
[0156] 步骤D13,移动终端提示用户将四1?11、四11(12、1(1、1(2、1(3输入至客户端主机 ;
[0157] 步骤014,输入四1?11、四11(12、1(1、1(2、1(3至客户端主机。
[0158] 如图6所述,实施例二中所述步骤Ε进一步包括:
[0159] 步骤Ε11,客户端主机计算resl = f (randl, Κ1),其中,rel为响应,randl为随机 数,K1为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数构成 的函数;
[0160] 步骤E12,客户端主机通过IP数据包IP1将resl发送至应用服务器,且IP1的IP 源地址为IPAc ;
[0161] 步骤E13,应用服务器执行IP地址过滤,根据IP地址过滤规则接收IP1,允许客户 端主机连接至本机;
[0162] 步骤E14,应用服务器计算resl' = f (randl, ΚΓ ),其中,rel'为响应,randl为随 机数,ΚΓ为密钥;
[0163] 步骤Ε15,应用服务器比较resl'与resl,若相同则转向步骤Ε16,否则全部流程结 束;
[0164] 步骤E16,应用服务器计算res2' = f (rand2, K2'),其中,re2'为响应,rand2为随 机数,K2'为密钥;应用服务器生成随机数rand3,并计算rand3_c = E (rand3, K3'),其中, rand3_c为密文,K3'为密钥,E为加密函数;
[0165] 步骤E17,应用服务器通过IP数据包IP2将res2'和rand3_c发送至客户端主机, 且IP2的IP源地址为IPAs ;
[0166] 步骤E18,客户端主机执行IP地址过滤,根据IP地址过滤规则接收IP2,允许应用 服务器连接至本机;
[0167] 步骤E19,客户端主机计算res2 = f(rand2, K2),其中,res2为响应,rand2为随机 数,K2为密钥;客户端主机计算rand3_p = D(rand3_c, K3),其中,rand3_p为解密rand3_c 所得明文,rand3_c为密文,K3为密钥,D为与加密函数E对应的解密函数;
[0168] 步骤E20,客户端主机比较res2与res2',若相同则转向步骤E21,否则全部流程结 束;
[0169] 步骤E21,客户端主机提示用户将MSISDN输入至客户端主机;
[0170] 步骤E22,输入MSISDN至客户端主机;
[0171] 步骤E23,客户端主机与应用服务器基于rand3_p/rand3、MSISDN、K3/K3'协商会 话密钥Ks,并基于Ks建立加密网络通信;或者,应用服务器在用户开户时所留用户信息中 随机选取一个参数C,并通过移动终端或客户端主机向用户提示参数C的名称且令用户将 参数C输入至客户端主机,客户端主机与应用服务器基于参数C、rand3_p/rand3、MSISDN、 K3/K3'协商会话密钥Ks,并基于Ks建立加密网络通信。
[0172] 步骤E23中,所述用户信息包括用户生物特征、国际移动用户识别码MSI、国际移 动设备识别码MEI、集成电路卡识别码ICCID、银行账户的账号、身份证标示的ID、身份证 标示的有效期或身份证标示的住址。
[0173] 如图7所示,实施例三提供了一种移动终端与应用服务器建立加密WLAN通信的方 法,所述方法包括如下步骤:
[0174] 移动终端读取和运行其出厂Flash ROM存储的移动终端系统软件;
[0175] 移动终端通过移动通信网将WLAN加密通信请求发送至应用服务器;
[0176] 应用服务器生成随机数Randl、Rand2和预共享密钥PSK,且Randl与Rand2之间、 Randl与PSK之间、Rand2与PSK之间无演算关系,应用服务器通过移动通信网将Randl、 Rand2、PSK发送至移动终端;
[0177] 移动终端通过WLAN将Randl发送至应用服务器;
[0178] 应用服务器验证Randl正确后,通过WLAN将Rand2发送至移动终端;
[0179] 移动终端验证Rand2正确后,WLAN认证过程结束;
[0180] 移动终端与应用服务器基于PSK建立加密WLAN通信。
[0181] 在实施例三中,移动终端启动后使用其ROM存储的软件,防止了计算机病毒危害 移动终端;Randl与PSK之间、Rand2与PSK之间无演算关系,防止了基于WLAN传递的认证 信息而穷举攻击WLAN预共享密钥PSK。
[0182] 如图8所示,实施例四提供了一种利用USBKey、手机、网银服务器实现手机银行的 方法,其中,USBKey通过OTG(On-The-Go)连接线与手机连接且USBKey对于手机为只读。在 使用所述方法前,用户向网银服务器注册,网银服务器将手机系统软件、手机银行软件和网 银服务器的IP地址写入USBKey,网银服务器生成、存储用户数字证书并将用户数字证书写 入USBKey,网银服务器生成对称密钥Κ1/ΚΓ、存储ΚΓ并将K1写入USBKey,且K1与用户数 字证书之间、K1与网银服务器数字证书之间无演算关系。所述方法包括如下步骤:
[0183] 手机启动,并读取和运行USBKey存储的手机系统软件和手机银行软件;
[0184] 手机读取USBKey存储的网银服务器的IP地址,并根据该IP地址设置IP地址过 滤规则,且允许网银服务器连接至本机;
[0185] 手机读取USBKey存储的用户数字证书;
[0186] 手机与网银服务器基于用户数字证书、网银服务器数字证书执行双向认证,并建 立SSL链路;
[0187] 网银服务器生成随机数randl,并计算Kc' = f(randl,Kl'),其中,Kc'为通信密 钥,ΚΓ为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数构成 的函数;
[0188] 网银服务器通过SSL链路将randl发送至手机;
[0189] 手机将randl发送至USBKey ;
[0190] USBKey计算Kc = f (randl, K1),其中,Kc为通信密钥,randl为随机数,K1为密 钥;
[0191] USBKey将Kc发送至手机;
[0192] 手机与网银服务器在SSL链路上基于通信密钥Kc/Kc'建立加密通信连接,手机银 行软件通过该SSL链路上的加密通信连接与网银服务器通信。
[0193] 在实施例四中,手机启动后使用只读USBKey存储的软件,防止了计算机病毒危害 手机银行应用;手机使用只读USBKey存储的网银服务器的IP地址而不采用DNS,防止了 DNS劫持危害手机银行应用;手机执行IP地址过滤,防止了网络钓鱼危害手机;手机与网银 服务器基于数字证书执行双向认证且USBKey与网银服务器基于Κ1/ΚΓ协商通信密钥Kc/ Kc',则认证信息与通信密钥之间无演算关系,防止了基于认证信息而穷举攻击通信密钥; 通过SSL链路传递randl并将randl用于协商通信密钥Kc,提高了密钥协商的安全性;在 SSL链路上建立加密通信连接,提高了手机银行的安全性。
[0194] 另外,在用户注册时,网银服务器存储用户数字证书和手机SIM卡ICCID或用户身 份证ID,并将网银服务器数字证书写入USBKey ;在手机与网银服务器基于用户数字证书、 网银服务器数字证书执行双向认证时,手机读取USBKey存储的网银服务器数字证书,手机 将手机SM卡ICCID或输入至手机的身份证ID发送至网银服务器,网银服务器读取其存储 的与该ICCID或身份证ID对应的用户数字证书,则手机与网银服务器能不交换数字证书而 执行双向认证。
[0195] 手机采用只读USBKey存储的网银服务器数字证书,网银服务器采用其存储的与 用户信息ICCID或身份证ID对应的用户数字证书,则手机与网银服务器不交换公钥而执行 双向认证,提高了安全性。
[0196] 另外,还能用SD卡、Micor SD卡、SM卡或手机出厂Flash ROM完成USBKey的全 部功能,且上述存储器对于手机为只读。
[0197] 实施例五提供了一种本发明的实施例二的简化方法,其中,移动终端通过USB连 接至客户端主机,所述方法包括如下步骤:
[0198] 步骤A',移动终端启动,并读取和运行移动终端以只读形式存储的移动终端系统 软件和移动终端网络应用软件,且与应用服务器建立移动通信;
[0199] 步骤B',客户端主机启动,并读取和运行移动终端以只读形式存储的客户端系统 软件和客户端网络应用软件;
[0200] 步骤C',客户端主机通过移动终端从应用服务器获取应用服务器的IP地址,并设 置IP地址过滤规则,且允许应用服务器连接至客户端主机,应用服务器通过移动终端从客 户端主机获取客户端主机的IP地址,并设置IP地址过滤规则,且允许客户端主机连接至应 用服务器;
[0201] 步骤D',应用服务器生成会话密钥,并将其通过移动终端发送至客户端主机;
[0202] 步骤E',客户端主机与应用服务器执行IP地址过滤,并基于会话密钥建立加密网 络通信。
[0203] 在实施例五中,客户端主机与应用服务器不采用双向认证和密钥协商而直接基于 移动终端传递的会话密钥建立加密网络通信,防止了基于网络传递的认证信息而穷举攻击 会话密钥。
[0204] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种加密通信方法,其特征在于,包括如下步骤: 步骤A,移动终端与应用服务器执行双向认证并建立加密移动通信,再执行密钥推导; 步骤B,客户端主机启动,并读取和运行只读存储器存储的客户端系统软件和客户端网 络应用软件; 步骤C,客户端主机和应用服务器分别获取对方的IP地址,并各自设置IP地址过滤规 则; 步骤D,应用服务器生成随机数和密钥,并将其通过移动终端发送至客户端主机; 步骤E,客户端主机与应用服务器执行IP地址过滤、双向认证和密钥协商,从而建立加 密网络通信。
2. 根据权利要求1所述的加密通信方法,其特征在于,所述步骤A进一步包括: 步骤All,移动终端与应用服务器基于对称认证密钥Ka/Ka'执行双向认证,并基于对 称通信密钥Kc/Kc'建立加密移动通信,且Ka/Ka'与Kc/Kc'之间无演算关系; 步骤八12,应用服务器生成随机数1?1、1?2、1?3、1?4,并推导新的认证密钥1^',推导1^'的 过程包括: 应用服务器基于其存储的MemPa'计算MemPa' =以1?1,_?&'),其中,1?1为随机数, MemPa'为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数构成 的函数; 应用服务器基于其存储的MemKa'计算MemKa' =以1?2,挪1^'),其中,1?2为随机数, MemKa'为密钥; 应用服务器计算Ka' = f (Rl,R2, MemPa',MemKa'),其中,R1和R2为随机数,MemPa'为 参数,MemKa'为密钥; 应用服务器推导新的通信密钥Kc',且推导Kc'的过程与上述推导Ka'的过程之间无演 算关系,推导Kc'的过程包括: 应用服务器基于其存储的MemPc'计算MemPc' =以1?3,_?(3'),其中,1?3为随机数, MemPc'为密钥; 应用服务器基于其存储的MemKc'计算MemKc' = f (R4, MemKc'),其中,R4为随机数, MemKc'为密钥; 应用服务器计算Kc' = f (R3, R4,MemPc',MemKc'),其中,R3和R4为随机数,MemPc'为 参数,MemKc'为密钥; 应用服务器存储Ka'、Kc'、MemPa'、MemKa'、MemPc'、MemKc',以用于下一次双向认证、 加密通信和密钥推导; 步骤A13,应用服务器将随机数Rl、R2、R3、R4发送至移动终端; 步骤A14,移动终端推导新的认证密钥Ka,推导Ka的过程包括: 移动终端基于其存储的MemPa计算MemPa = f (Rl,MemPa),其中,R1为随机数,MemPa 为密钥; 移动终端基于其存储的MemKa计算MemKa = f (R2, MemKa),其中,R2为随机数,MemKa 为密钥; 移动终端计算Ka = f(Rl,R2, MemPa, MemKa),其中,R1和R2为随机数,MemPa为参数, MemKa为密钥; 移动终端推导新的通信密钥Kc,且推导Kc的过程与上述推导Ka的过程之间无演算关 系,推导Kc的过程包括: 移动终端基于其存储的MemPc计算MemPc = f (R3, MemPc),其中,R3为随机数,MemPc 为密钥; 移动终端基于其存储的MemKc计算MemKc = f (R4, MemKc),其中,R4为随机数,MemKc 为密钥; 移动终端计算Kc = f(R3, R4, MemPc, MemKc),其中,R3和R4为随机数,MemPc为参数, MemKc为密钥; 移动终端存储Ka、Kc、MemPa、MemKa、MemPc、MemKc,以用于下一次双向认证、加密通信 和密钥推导。
3. 根据权利要求1所述的加密通信方法,其特征在于,所述步骤B进一步包括: 步骤B11,客户端主机启动; 步骤B12,客户端主机读取和运行只读存储器存储的客户端系统软件; 步骤B13,客户端主机用客户端系统软件禁用本机的硬盘; 步骤B14,客户端主机读取和运行只读存储器存储的客户端网络应用软件。
4. 根据权利要求1所述的加密通信方法,其特征在于,所述步骤C进一步包括: 步骤C11,客户端主机从互联网获取本机的IP地址IPAc ; 步骤C12,客户端主机读取只读存储器存储的应用服务器的IP地址IPAs ;或者,客户端 主机令用户用移动终端从应用服务器获取应用服务器的IP地址IPAs,并令用户将IPAs输 入至客户端主机; 步骤C13,客户端主机设置IP地址过滤规则,允许本机接收IP源地址为IPAs的IP数 据包; 步骤C14,客户端主机提示用户用移动终端向应用服务器发送IPAc ; 步骤C15,输入IPAc至移动终端; 步骤C16,移动终端将IPAc发送至应用服务器,应用服务器接收IPAc并同时获得移动 终端的移动用户综合业务数字网号码MSISDN ; 步骤C17,应用服务器设置IP地址过滤规则,允许本机接收IP源地址为IPAc的IP数 据包。
5. 根据权利要求1所述的加密通信方法,其特征在于,所述步骤D进一步包括: 步骤D11,应用服务器生成随机数randl、rand2,生成对称密钥Κ1/ΚΓ、K2/K2'、K3/ K3',且所述K1、K2、K3中的任意两方之间无演算关系; 步骤012,应用服务器将四1?11、四11(12、1(1、1(2、1(3发送至移动终端; 步骤D13,移动终端提示用户将randl、rand2、ΚΙ、Κ2、Κ3输入至客户端主机; 步骤D14,输入randl、rand2、ΚΙ、K2、K3至客户端主机。
6. 根据权利要求1所述的加密通信方法,其特征在于,所述步骤E进一步包括: 步骤E11,客户端主机计算resl = f (randl, K1),其中,rel为响应,randl为随机数, K1为密钥,f为加密函数,且f包括单向散列函数和对称加密函数及由这两种函数构成的函 数; 步骤E12,客户端主机通过IP数据包IP1将resl发送至应用服务器,且IP1的IP源地 址为IPAc ; 步骤E13,应用服务器执行IP地址过滤,根据IP地址过滤规则接收IP1,允许客户端主 机连接至本机; 步骤E14,应用服务器计算resΓ=f(randl,KΓ),其中,reΓ为响应,randl为随机 数,ΚΓ为密钥; 步骤E15,应用服务器比较resl'与resl,若相同则转向步骤E16,否则全部流程结束; 步骤E16,应用服务器计算res2'=f(rand2,K2'),其中,re2'为响应,rand2为随机 数,K2'为密钥;应用服务器生成随机数rand3,并计算rand3_c = E(rand3, K3'),其中, rand3_c为密文,K3'为密钥,E为加密函数; 步骤E17,应用服务器通过IP数据包IP2将res2'和rand3_c发送至客户端主机,且 IP2的IP源地址为IPAs ; 步骤E18,客户端主机执行IP地址过滤,根据IP地址过滤规则接收IP2,允许应用服务 器连接至本机; 步骤E19,客户端主机计算res2 = f (rand2, K2),其中,res2为响应,rand2为随机数, K2为密钥;客户端主机计算rand3_p = D(rand3_c, K3),其中,rand3_p为解密rand3_c所 得明文,rand3_c为密文,K3为密钥,D为与加密函数E对应的解密函数; 步骤E20,客户端主机比较res2与res2',若相同则转向步骤E21,否则全部流程结束; 步骤E21,客户端主机提示用户将MSISDN输入至客户端主机; 步骤E22,输入MSISDN至客户端主机; 步骤E23,客户端主机与应用服务器基于rand3_p/rand3、MSISDN、K3/K3'协商会话密 钥Ks,并基于Ks建立加密网络通信;或者,应用服务器在用户开户时所留用户信息中随机 选取一个参数C,并通过移动终端或客户端主机向用户提示参数C的名称且令用户将参数C 输入至客户端主机,客户端主机与应用服务器基于参数C、rand3_p/rand3、MSISDN、K3/K3' 协商会话密钥Ks,并基于Ks建立加密网络通信。
7. 根据权利要求6所述的加密通信方法,其特征在于,所述步骤E23中用户开户时所留 用户信息包括用户生物特征、国际移动用户识别码MSI、国际移动设备识别码MEI、集成 电路卡识别码ICCID、银行账户的账号、身份证标示的ID、身份证标示的有效期或身份证标 示的住址。
8. 根据权利要求6所述的加密通信方法,其特征在于,若将所述对称密钥K1和K2替换 为非对称密钥Kla和K2a,且Kla、K2a及所述对称密钥K3中的任意两方之间无演算关系, 并将所述加密函数f替换为非对称加密/解密函数,则所述客户端主机基于Kla私钥和K2a 公钥,所述应用服务器基于K2a私钥和Kla公钥,双方不传递随机数且不交换公钥即只传递 响应而执行双向认证,且响应之间无演算关系。
9. 根据权利要求1或8所述的加密通信方法,其特征在于,所述双向认证只传递响应而 不传递随机数且采用非对称加密算法时不交换公钥,且响应之间无演算关系,响应与会话 密钥之间也无演算关系。
10. 根据权利要求1至9中任一所述的加密通信方法,其特征在于,在所述加密通信方 法的各执行步骤中均能通过所述移动终端完成所述客户端主机的全部功能。
11. 一种加密通信系统,其特征在于,所述系统包括只读存储器、客户端主机、移动终端 及应用服务器; 所述只读存储器,用于为所述客户端主机提供客户端系统软件和客户端网络应用软件 及所述应用服务器的IP地址; 所述客户端主机,其通过数据通信网与所述应用服务器连接,用于在启动后读取和运 行所述只读存储器存储的客户端系统软件和客户端网络应用软件,并读取所述只读存储器 存储的所述应用服务器的IP地址;用于通过所述移动终端将其IP地址发送至所述应用服 务器;用于通过所述移动终端从所述应用服务器接收随机数和密钥;用于基于所述应用服 务器的IP地址执行IP地址过滤,并与所述应用服务器执行双向认证和密钥协商而建立加 密网络通信; 所述移动终端,其通过移动通信网与所述应用服务器连接,用于与所述应用服务器执 行双向认证并建立加密移动通信;用于为所述客户端主机和所述应用服务器传递随机数和 密钥及IP地址; 所述应用服务器,用于与所述移动终端执行双向认证并建立加密移动通信;用于通过 所述移动终端接收所述客户端主机的IP地址;用于生成随机数和密钥,并将其通过所述移 动终端发送至所述客户端主机;用于基于所述客户端主机的IP地址执行IP地址过滤,并与 所述客户端主机执行双向认证和密钥协商而建立加密网络通信。
12. 根据权利要求11所述的加密通信系统,其特征在于,所述只读存储器为CD-ROM、 DVD-ROM、MASK ROM、PROM、EPROM、OTP ROM、EEPR0M 或 Flash ROM 中的任一种。
13. 根据权利11所述的加密通信系统,其特征在于,所述只读存储器通过有线通信接 口或者无线通信接口与所述客户端主机连接,或者将所述只读存储器设计为所述客户端主 机的一个硬件。
14. 根据权利要求11所述的加密通信系统,其特征在于,所述移动终端为移动电话、 PDA、平板电脑或笔记本电脑中的任一种。
15. 根据权利要求11所述的加密通信系统,其特征在于,所述加密通信系统中能通过 所述移动终端完成所述客户端主机的全部功能。
【文档编号】H04L29/06GK104092663SQ201410270594
【公开日】2014年10月8日 申请日期:2014年6月17日 优先权日:2013年7月24日
【发明者】牟大同 申请人:牟大同
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1