安全通信方法、终端、服务器及系统的制作方法

文档序号:7854903阅读:276来源:国知局
专利名称:安全通信方法、终端、服务器及系统的制作方法
技术领域
本发明涉及加密技术,尤其涉及一种安全通信方法、终端、服务器及系统,属于通信技术领域。
背景技术
传输层安全标准(Transport layer security, TLS)是一种广泛使用的身份认证和安全传输协议。TLS协议通过身份认证获得双方共享地会话密钥,用于后续通信内容的加密和认证,即机密性和完整性保护。TLS协议通常与其它认证协议结合来进行认证,用作这些认证协议的外层隧道,即由TLS协议来完成服务端认证,再由其它认证协议来完成客户端认证,例如扩展认证协议(Extensible Authentication Protocol, EAP),保护EAP协议(Protected EAP, PEAP),挑战握手认证协议(Challenge Handshake AuthenticationProtocol, CHAP),以及认证和密钥协商协议(Authentication and Key Agreement, AKA)
坐寸o但已经被证实,外层认证协议(即TLS协议)和内层认证协议(例如为AKA)两种模式同时存在时,出现了一种中间人(Man-in-the-Middle,MITM)攻击。图I为中间人攻击的信令示意图。如图I所示,包括以下步骤步骤101,中间人冒充终端,建立与无线局域网络(Wireless Local AreaNetworks, WLAN)服务器之间的PEAP隧道;步骤102,中间人与WLAN服务器之间进行基于服务器证书的TLS协议,获取TLS密钥;步骤103, WLAN服务器发送EAP-请求/标识(EAP-Request/Identity)消息,该EAP-请求/标识消息由TLS承载,请求获取终端的国际移动用户识别码(IMSI);步骤104,中间人冒充无线接入点(Access Point, AP),向使用非隧道模式的终端发起 IMSI 请求(IMSI Request);步骤105,终端响应认证请求向中间人返回终端的IMSI ;步骤106,中间人冒充终端,向WLAN返回携带有MSI的EAP-响应/标识(EAP-Response/Identity)消息,该消息由 TLS 承载;步骤107,WLAN服务器向归属用户服务器(Home Subscriber Server,HSS)发送认证参数指令,即頂SI,该指令由MAP承载;步骤108,根据MSI查找与全球用户识别卡(USM)共享的密钥,向WLAN服务器返回五元组认证矢量(即AKA认证五元组),由MAP承载,其中五元组认证矢量包括一个随机数(RAND)、一个期望响应(XRES)、一个加密密钥(CK)、一个完整性校验密钥(IK)和一个认证令牌(AUTN);步骤109,WLAN服务器向中间人发送携带有RAND和AUTN的EAP-请求/AKA-挑战(EAP-Request/AKA-chalIenge)消息,该消息中 TLS 承载;步骤110,中间人将RAND和AUTN发送给终端;
步骤111,终端利用自身的US頂的CK和IK,结合接收的RAND和AUTN,计算出对随机数的响应(RES),将RES返回给中间人;步骤112,中间人向WLAN服务器返回携带有RES的EAP-响应/AKA-挑战(EAP-Response/AKA-chalIenge)消息,该消息中 TLS 承载;步骤113,WLAN服务器若根据RES认证客户端合法后,将由TLS密钥导出的基于TLS隧道密钥的WLAN主会话密钥发送至AP ;由于TLS协议是在中间人与WLAN服务器之间进行的,所以中间人也知道WLAN主会话密钥。步骤114,中间人仿冒终端接入AP,WLAN链路窃取成功。通过上述流程可以看出,即使内层认证协议和外层认证协议都是安全的,这种中间人攻击仍可以成功
发明内容
·本发明实施例提供一种安全通信方法、终端、服务器及系统,用以解决“外层认证协议+内层认证协议”和“内层认证协议”两种模式同时存在时中间人攻击的问题。根据本发明实施例的第一方面,提供一种安全通信方法,包括终端向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制;所述终端接收第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记;若是,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;所述终端利用所述密钥进行安全通信。根据本发明实施例的第二方面,提供一种安全通信方法,包括第一服务器接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记;所述第一服务器响应所述客户端初始消息,向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息,以使所述终端获知启用所述内外层密钥绑定机制;所述第一服务器通过与所述终端进行外层认证协议协商,获取外层认证协议密钥;所述第一服务器获取第二服务器提供的内层认证密钥,其中,所述内层认证密钥由所述第二服务器通过与所述终端进行内层认证协议协商所获得的;所述第一服务器根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;所述第一服务器将所述密钥提供给相关设备,以使所述相关设备利用所述密钥与所述终端进行安全通信。根据本发明实施例的第三方面,提供一种终端,包括
第一处理模块,用于向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制;第二处理模块,用于接收所述第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记;第三处理模块,用于若所述服务端初始消息携带有启用所述内外层密钥绑定机制的标记,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;第四处理模块,用于利用所述密钥进行安全通信。根据本发明实施例的第四方面,提供一种服务器,包括 第五处理模块,用于接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记;第六处理模块,用于响应所述客户端初始消息,向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息,以使所述终端获知启用所述内外层密钥绑定机制;第七处理模块,用于通过与所述终端进行外层认证协议协商,获取外层认证协议密钥;第八处理模块,用于获取第二服务器提供的内层认证密钥,其中,所述内层认证密钥由所述第二服务器通过与所述终端进行内层认证协议协商所获得的;第九处理模块,用于根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;第十处理模块,用于将所述密钥提供给相关设备,以使所述相关设备利用所述密钥与所述终端进行安全通信。根据本发明实施例的第五方面,提供一种安全通信系统,包括本发明实施例提供的终端,以及与所述终端通信的第一服务器和第二服务器,其中所述第一服务器为本发明实施例提供的服务器。根据本发明实施例提供的安全通信方法、终端、服务器及系统,通过对外层认证协议的初始消息进行扩展,在其中增加一个标记,以实现在握手过程中,服务器与终端确定启用内外层密钥绑定机制,将内层认证协议密钥和外层认证协议密钥进行绑定来形成终端与相关设备安全通信的主密钥,使得中间人无法成功仿冒终端进行后续安全通信,解决了“外层认证协议+内层认证协议”和“内层认证协议”两种模式同时存在时中间人攻击的问题。而且,通过对外层认证协议(以TLS为例,针对TLS层)进行修改,而无需对基于TLS进行隧道认证的下层协议进行修改,即可解决中间人攻击的安全问题,实现方便,成本低。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为中间人攻击的信令示意图;图2为本发明一个实施例的安全通信方法的流程示意图;图3为本发明实施例中终端与服务器进行TLS握手及认证的一个流程示意图;图4为本发明实施例中终端与服务器进行EAP-AKA内层认证协议协商的一个流程示意图; 图5为一个Wimax网络的系统架构图;图6为本发明另一个实施例的安全通信方法的流程示意图;图7为本发明一个实施例的终端的结构示意图;图8为本发明一个实施例的服务器的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本实施例从终端的角度,对本发明的技术方案进行说明。图2为本发明一个实施例的安全通信方法的流程示意图。如图2所示,该安全通信方法包括以下步骤步骤201,终端向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制;步骤202,所述终端接收第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记;步骤203,若是,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;步骤204,所述终端利用所述密钥进行安全通信。其中,第一服务器和第二服务器可以是同一服务器,也可以是不同服务器。下文中,以采用TLS作为外层认证协议,且采用EAP AKA作为内层认证协议为例,对上述步骤S201 S204进行详细说明,但其仅用作本发明的一个示例,而非对本发明的限制。本领域的技术人员能够理解,采用任意其它外层认证协议和/或内层认证协议均能够用于实现本发明的技术方案。图3为本发明实施例中终端与第一服务器进行TLS握手及认证的一个流程示意图。其中,TLS包括各个版本,例如包括SSLv2,SSLv3, TLSl. 0,TLSl. 1,TLSl. 2,DTLS等,此夕卜,也可包括其它任意TLS版本。本发明中的TLS指代所有TLS版本。如图3所示,包括以下流程步骤301,终端向第一服务器发送客户端初始消息(Client Hello报文),该客户端初始消息包括终端所支持的加密算法列表,以及一个用于请求启用内外层密钥绑定机制的TLS扩展;步骤302,第一服务器响应客户端初始消息,向终端返回服务端初始消息(ServerHello报文),服务端初始消息中携带启用内外层密钥绑定机制的TLS扩展;具体地,第一服务器从加密算法列表中选择一种加密算法,携带在服务端初始消息中。若第一服务器自身支持内外层密钥绑定机制,则第一服务器检查接收到的客户端初始消息中是否存在请求启用内外层密钥绑定机制的TLS扩展,若存在,第一服务器则第一服务器判决启用内外层密钥绑定机制,并且还在服务端初始消息中携带一个启用所述内外层密钥绑定机制的TLS扩展(图3中以此情形为例进行说明)。此外,若第一服务器自身不支持内外层密钥绑定机制或不识别该请求启用内外层密钥绑定机制的TLS扩展,则不在服务端初始消息中携带启用所述内外层密钥绑定机制的TLS扩展。若第一服务器检查获知客户端初始消息中不存在请求启用内外层密钥绑定机制·的TLS扩展,则可根据预置的本地策略,继续执行握手(发送不携带启用内外层密钥绑定机制的标记的服务端初始消息)或终止握手。例如,当客户端初始消息中不存在请求启用内外层密钥绑定机制的TLS扩展时,第一服务器认为该终端可能是一个假冒终端,则终止握手;或者,第一服务器认为即使没有在握手过程中协商是否启用内外层密钥绑定机制,第一服务器也有其它方法进行内外层密钥绑定(例如在TLS下层实现绑定),或者第一服务器知道在网络中并未同时存在“外层认证协议+内层认证协议”和“内层认证协议”两种模式,则第一服务器继续执行握手,发送不携带启用内外层密钥绑定机制的TLS扩展的服务端初始消息。步骤303,第一服务器发送证书(Certificate)报文,携带有公钥证书;步骤304,第一服务器发送服务端初始结束(Server Hello Done)报文,表明服务%5初始结束;步骤305,终端向第一服务器发送客户端密钥交换(Client Key Exchange)报文,携带有利用公钥加密的预主(pre-master)密钥;终端读取服务端初始消息,检查服务端初始消息中是否携带有启用内外层密钥绑定机制的TLS扩展;若存在,则利用公钥证书中的公钥对一个预主密钥进行加密,并将加密的预主密钥携带在客户端密钥交换报文中发送至服务端(图3中以此情形为例进行说明);此外,若终端检查获知服务端初始消息中未携带有启用内外层密钥绑定机制的TLS扩展,可以根据本地策略的不同,进行不同的处理。例如,终端可通过其它方法进行内外层密钥绑定(例如在TLS下层实现绑定),或者终端认为第一服务器即使不使用这种方式,第一服务器的安全级别也比较高,例如当网络中同时存在“外层认证协议+内层认证协议”和“内层认证协议”两种模式时,即使第一服务器不启用内外层密钥绑定机制,仍有其它方式防止中间人攻击,则终端可以继续执行后续认证,且不启用内外层密钥绑定机制;否则,终端终止TLS认证。步骤306,终端发送更改密钥规格(Change Cipher Spec)报文,用于表明后面的消息,将用预主密钥来进行保护;
步骤307,终端发送通过预主密钥加密的完成(Finished)报文;步骤308,第一服务器利用私钥对加密的预主密钥进行解密,按照TLS标准计算获得第一个TLS主密钥和第一组会话密钥,并发送更改密钥规格报文,用于表明后面的消息,将用第一个TLS主密钥和第一组会话密钥来进行保护;步骤309,第一服务器发送通过第一个TLS主密钥和/或第一组会话密钥加密的完成报文,使终端可以通过检查该报文,确定第一服务器拥有正确的密钥,从而确定第一服务器拥有正确的私钥,验证了第一服务器的合法性;步骤310,至此,完成了终端和第一服务器之间的外层认证协议协商,后续使用第一个TLS主密钥和/或第一组会话密钥进行安全通信,即建立了终端和第一服务器之间的加密隧道。图3只是TLS握手的一种流程。对于其它的TLS流程,步聚301、302以及305中,终端检查服务器消息中是否携带有启用内外层密钥绑定的TLS扩展的机制是相同的。对于其它步骤,通过不同的具体交互过程,在完成认证后双方计算获得第一个TLS主密钥和第·一组会话密钥,并建立加密隧道。接下来,终端和服务器在加密隧道中进行内层认证协议协商。图4为本发明实施例中终端与第二服务器进行EAP-AKA内层认证协议协商的一个流程示意图。如图4所示,包括以下流程步骤401,第二服务器向终端发送EAP-请求/标识(EAP-Request/Identity)报文,请求获取终端的身份标识(例如为MSI);步骤402,终端回复身份标识;步骤403,第二服务器根据身份标识,获取认证矢量,并将认证矢量中的RAND和AUTN装载在EAP-请求/AKA-挑战报文中发送至终端;具体地,以身份标识为IMSI为例,第二服务器获得终端的IMSI后,向用户归属域(HE)发起认证数据请求。HE根据IMSI寻找到与终端共享的密钥,并产生随机数。然后利用随机数和预置算法计算出五元组认证矢量,返回给第二服务器。第二服务器将RAND和AUTN发送给终端。步骤404,终端将RES装载在EAP-响应/AKA-挑战报文中发送至第二服务器;具体地,终端根据共享的密钥,结合RAND,计算出RES,并将RES返回给第二服务器;步骤405,第二服务器通过将终端返回的RES与五元组认证向量中的XRES相比较,若两者一致,则确认终端具有正确的密钥,从而确认该终端为合法终端而非仿冒终端,向终端发送EAP-成功报文;步骤406,第二服务器和终端分别根据随机数和密钥,利用预置密钥导出算法导出内层认证协议密钥,即AKA密钥。第二服务器获得AKA密钥后,将该AKA密钥共享给第一服务器。至此,终端和第一服务器均获取到外层认证协议密钥和内层认证协议密钥。在开启内外层密钥绑定机制的情况下,终端和第一服务器,根据外层认证协议密钥和内层认证协议密钥进行派生,生成第二个TLS主密钥,例如均利用预置的密钥导出算法,从外层认证协议密钥和内层认证协议密钥中导出主密钥。以图3和图4所示为例,则利用TLS预主密钥(或第一个TLS主密钥,或第一组会话密钥)和AKA密钥生成第二个TLS主密钥。终端和第一服务器利用第二个主密钥根据TLS下层协议(这里是PEAP)的不同,采用下层协议具体的算法,进一步派生密钥。之后终端使用最终生成的密钥与其它设备进行通信。其中,用于导出第二个TLS主密钥的预置的密钥导出算法,可以利用现有技术中的任意密钥导出算法,本发明中不作限定。以在全球微波互联接入(WorldwideInteroperability for Microwave Access,Wimax)中应用上述实施例的安全通信方法为例,进行说明。
图5为一个Wimax网络的系统架构图。如图5所示,包括Wimax AP 51,Wimax基站52,安全网关 53,认证、授权和计费服务器(Authentication, Authorization, AccountingServer,简称 AAA 服务器)54 和 HSS 55,采用 EAP-TTLS+EAP AKA 认证机制。Wimax AP 51与AAA服务器54之间进行外层认证和内层认证的过程中(其中,AAA服务器54为上述第一服务器,HSS55为上述第二服务器),Wimax基站52和安全网关53透传认证相关消息。在AAA服务器54和Wimax AP 51,根据内外层密钥绑定机制生成第二个TLS主密钥,然后根据EAP-TTLS标准,由第二个TLS主密钥进一步派生密钥(MSK)后,将派生的密钥MSK提供给安全网关53。安全网关53接收AAA服务器54传送的密钥,并派生相应的密钥,发给Wimax基站52。之后,Wimax基站52基于这个密钥,与Wimax AP 51协商生成空口加密密钥。当存在中间人攻击时,中间人虽然能够仿冒WimaxAP与AAA服务器之间完成外层协议认证和内层协议认证,但其无法获知内层认证协议密钥。由于AAA服务器54发给安全网关的密钥,已包含内外层密钥的绑定,因此能够有效解决中间人攻击的问题。根据上述实施例的安全通信方法,通过对外层认证协议的初始消息进行扩展,在其中增加一个标记,以实现在握手过程中,第一服务器与终端确定启用内外层密钥绑定机制,将内层认证协议密钥和外层认证协议密钥进行绑定来形成终端与相关设备安全通信的密钥,使得中间人无法成功仿冒终端进行后续安全通信,解决了 “外层认证协议+内层认证协议”和“内层认证协议”两种模式同时存在时中间人攻击的问题。而且,通过对外层认证协议(以TLS为例,针对TLS层)进行修改,而无需对基于TLS进行隧道认证的下层协议进行修改,即可解决中间人攻击的安全问题,实现方便,成本低。实施例二在上述实施例的安全通信方法的基础上,所述终端向服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记具体包括所述终端向所述服务器发送携带有隧道密钥绑定扩展字段的客户端初始消息;相应地,所述判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记具体包括判断所述服务端初始消息是否携带有所述隧道密钥绑定扩展字段。具体地,通过在客户端初始消息/服务端初始消息中增加新的扩展类型,隧道密钥绑定扩展字段(Tunnel Key Binding (TKB) Extension),作为启用内外层密钥绑定机制的标记。即终端通过在客户端初始消息中增加TKB扩展字段,告知服务器它准备使用该TKB扩展,即请求启用内外层密钥绑定机制。服务器若判决启用内外层密钥绑定机制,即接受此扩展,则在返回给终端的服务端初始消息中也增加TKB扩展字段,以通知终端它接受此扩展,即启用内外层密钥绑定机制。更为具体地,在初始消息中增加隧道密钥绑定扩展字段,可按如下方式设置协议报文在扩展类型(Extension Type)中增加新的类型值,例如
“enum {
server—name(0), max—fragment—length( I ),
client—certificate—trusted ca keys(3)
truncated—hmac(4),statiis_reqiiest(5):, tunnel_key—binding (2050)
} ExtensionType,, 其中,“隧道密钥绑定(tunnel key binding) ”的具体取值仅用作示例,并非对本发明技术方案的限定。并且,将扩展的扩展数据(Extension Data)内容设置为空。在客户端初始消息和服务端初始消息中都使用这个扩展类型即可。实施例三本实施例从支持内外层密钥绑定机制的服务器的角度,对本发明的技术方案进行说明。图6为本发明另一个实施例的安全通信方法的流程示意图。如图6所示,该安全通信方法包括以下步骤步骤601,第一服务器接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记;步骤602,所述第一服务器响应所述客户端初始消息,向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息,以使所述终端获知启用所述内外层密钥绑定机制;步骤603,所述第一服务器通过与所述终端进行外层认证协议协商,获取外层认证协议密钥;步骤604,所述第一服务器获取第二服务器提供的内层认证密钥,其中,所述内层认证密钥由所述第二服务器通过与所述终端进行内层认证协议协商所获得的;具体地,当第一服务器和第二服务器为同一服务器时,第一服务器通过与终端进行内层认证协商获得内层认证密钥;当第一服务器和第二服务器为不同服务器时,第二服务器通过与所述终端进行内层认证协议协商,获取内层认证协议密钥,并将所述内层认证密钥共享给所述第一服务器。步骤605,所述第一服务器根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;步骤606,所述第一服务器将所述密钥共享给相关设备,以使所述相关设备与所述终端基于所述密钥进行安全通信。本实施例的具体流程与上述实施例中安全通信方法相同,故此处不再赘述。根据本实施例的安全通信方法,通过对外层认证协议的初始消息进行扩展,在其中增加一个标记,以实现在握手过程中,服务器与终端确定启用内外层密钥绑定机制,将内层认证协议密钥和外层认证协议密钥进行绑定来形成密钥,用于后续步骤的密钥派生和安全通信,使得中间人无法成功仿冒终端进行后续安全通信,解决了 “外层认证协议+内层认证协议”和“内层认证协议”两种模式同时存在时中间人攻击的问题。而且,通过对外层认证协议(以TLS为例,针对TLS层)进行修改,而无需对基于TLS进行隧道认证的下层协议进行修改,即可解决中间人攻击的安全问题,实现方便,成本低。进一步地,在上述实施例的安全通信方法中,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。进一步地,在上述实施例的安全通信方法中,所述第一服务器接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记具体包括
所述第一服务器接收所述终端发送的携带有隧道密钥绑定扩展字段的客户端初始消息;相应地,所述向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息具体包括所述第一服务器向所述终端发送携带有所述隧道密钥绑定扩展字段的服务端初始消息。进一步地,在上述实施例的安全通信方法中,所述客户端初始消息和所述服务端初始消息的扩展数据为空。实施例四图7为本发明一个实施例的终端的结构示意图。如图7所示,该终端包括第一处理模块71,用于向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制;第二处理模块72,用于接收第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记;第三处理模块73,用于若所述服务端初始消息携带有启用所述内外层密钥绑定机制的标记,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;第四处理模块74,用于利用所述密钥进行安全通信。本实施例的终端执行安全通信的具体流程与实施例一或二的流程相同,故此处不再赘述。根据本实施例的终端,通过对外层认证协议的初始消息进行扩展,在其中增加一个标记,以实现在握手过程中,服务器与终端确定启用内外层密钥绑定机制,将内层认证协议密钥和外层认证协议密钥进行绑定来形成终端与其它设备进行安全通信的密钥,使得中间人无法成功仿冒终端进行后续安全通信,解决了“外层认证协议+内层认证协议”和“内层认证协议”两种模式同时存在时中间人攻击的问题。而且,通过对外层认证协议(以TLS为例,针对TLS层)进行修改,而无需对基于TLS进行隧道认证的下层协议进行修改,即可解决中间人攻击的安全问题,实现方便,成本低。
进一步地,所述第三处理模块还用于若所述服务端初始消息未携带有启用所述内外层密钥绑定机制的标记,则终止外层认证协议协商;或者,通过与所述服务器进行外层认证协议协商,获取外层认证协议密钥;相应地,所述第四处理模块还用于在与所述服务器完成外层认证协议协商后,利用所述外层认证协议密钥与所述服务器进行安全通信。进一步地,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。进一步地,所述第一处理模块具体用于向所述服务器发送携带有隧道密钥绑定扩展字段的客户端初始消息;相应地,所述第二处理模块具体用于判断所述服务端初始消息是否携带有所述隧道密钥绑定扩展字段。 进一步地,所述客户端初始消息和所述服务端初始消息的扩展数据为空。实施例五图8为本发明一个实施例的服务器的结构示意图。如图8所示,该服务器包括第五处理模块81,用于接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记;第六处理模块82,用于响应所述客户端初始消息,向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息,以使所述终端获知启用所述内外层密钥绑定机制;第七处理模块83,用于通过与所述终端进行外层认证协议协商,获取外层认证协议密钥;第八处理模块84,用于获取第二服务器提供的内层认证密钥,其中,所述内层认证密钥由所述第二服务器通过与所述终端进行内层认证协议协商所获得的;第九处理模块85,用于根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥;第十处理模块86,用于将所述密钥提供给相关设备,以使所述相关设备利用所述密钥与所述终端进行安全通信。本实施例的服务器执行安全通信的具体流程与上述实施例的安全通信方法中第一服务器的工作流程相同,故此处不再赘述。根据本实施例的服务器,通过对外层认证协议的初始消息进行扩展,在其中增加一个标记,以实现在握手过程中,服务器与终端确定启用内外层密钥绑定机制,将内层认证协议密钥和外层认证协议密钥进行绑定来形成终端与其它设备安全通信的密钥,使得中间人无法成功仿冒终端进行后续安全通信,解决了外层认证协议和内层认证协议两种模式同时存在时中间人攻击的问题。而且,通过对外层认证协议(以TLS为例,针对TLS层)进行修改,而无需对基于TLS进行隧道认证的下层协议进行修改,即可解决中间人攻击的安全问题,实现方便,成本低。进一步地,所述第六处理模块还用于若判决不启用所述内外层密钥绑定机制,则向所述终端发送未携带启用所述内外层密钥绑定机制的标记的服务端初始消息。进一步地,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。进一步地,所述第五处理模块具体用于接收所述终端发送的携带有隧道密钥绑定扩展字段的客户端初始消息;相应地,所述第六模块具体用于若判决启用所述内外层密钥绑定机制;若是,则向所述终端发送携带有所述隧道密钥绑定扩展字段的服务端初始消息。
进一步地,所述客户端初始消息和所述服务端初始消息的扩展数据为空。实施例六本实施例提供一种安全通信系统,包括实施例四中的终端,以及实施例五中的服务器(即第一服务器和第二服务器为同一服务器)。本实施例的安全通信系统执行安全通信的具体流程,与实施例三的终端及实施例四的服务器执行安全通信的流程相同,故此处不再赘述。根据本实施例的安全通信系统,通过对外层认证协议的初始消息进行扩展,在其中增加一个标记,以实现在握手过程中,服务器与终端确定启用内外层密钥绑定机制,将内层认证协议密钥和外层认证协议密钥进行绑定来形成终端与相关设备安全通信的密钥,使得中间人无法成功仿冒终端进行后续安全通信,解决了外层认证协议和内层认证协议两种模式同时存在时中间人攻击的问题。而且,通过对外层认证协议(以TLS为例,针对TLS层)进行修改,而无需对基于TLS进行隧道认证的下层协议进行修改,即可解决中间人攻击的安全问题,实现方便,成本低。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种安全通信方法,其特征在于,包括 终端向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制; 所述终端接收第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记; 若是,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥; 所述终端利用所述密钥进行安全通信。
2.根据权利要求I所述的安全通信方法,其特征在于,所述判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记之后,还包括 若否,则所述终端终止外层认证协议协商;或者,通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,并在与所述第一服务器完成外层认证协议协商后,利用所述外层认证协议密钥进行安全通信。
3.根据权利要求I所述的安全通信方法,其特征在于,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。
4.根据权利要求1-3任一所述的安全通信方法,其特征在于,所述终端向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记具体包括 所述终端向所述第一服务器发送携带有隧道密钥绑定扩展字段的客户端初始消息;相应地,所述判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记具体包括 判断所述服务端初始消息是否携带有所述隧道密钥绑定扩展字段。
5.根据权利要求4所述的安全通信方法,其特征在于,所述客户端初始消息和所述服务端初始消息的扩展数据为空。
6.一种安全通信方法,其特征在于,包括 第一服务器接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记; 所述第一服务器响应所述客户端初始消息,向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息,以使所述终端获知启用所述内外层密钥绑定机制;所述第一服务器通过与所述终端进行外层认证协议协商,获取外层认证协议密钥;所述第一服务器获取第二服务器提供的内层认证密钥,其中,所述内层认证密钥由所述第二服务器通过与所述终端进行内层认证协议协商所获得的; 所述第一服务器根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥; 所述第一服务器将所述密钥提供给相关设备,以使所述相关设备利用所述密钥与所述终端进行安全通信。
7.根据权利要求6所述的安全通信方法,其特征在于,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。
8.根据权利要求6或7所述的安全通信方法,其特征在于,所述第一服务器接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记具体包括 所述第一服务器接收所述终端发送的携带有隧道密钥绑定扩展字段的客户端初始消息; 相应地,所述向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息具体包括 所述第一服务器向所述终端发送携带有所述隧道密钥绑定扩展字段的服务端初始消肩、O
9.根据权利要求6或7所述的安全通信方法,其特征在于,所述客户端初始消息和所述服务端初始消息的扩展数据为空。
10.一种终端,其特征在于,包括 第一处理模块,用于向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制; 第二处理模块,用于接收所述第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记; 第三处理模块,用于若所述服务端初始消息携带有启用所述内外层密钥绑定机制的标记,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥; 第四处理模块,用于利用所述密钥进行安全通信。
11.根据权利要求10所述的终端,其特征在于,所述第三处理模块还用于若所述服务端初始消息未携带有启用所述内外层密钥绑定机制的标记,则终止外层认证协议协商;或者,通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥; 相应地,所述第四处理模块还用于在与所述第一服务器完成外层认证协议协商后,利用所述外层认证协议密钥进行安全通信。
12.根据权利要求10所述的终端,其特征在于,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。
13.根据权利要求10-12任一所述的终端,其特征在于,所述第一处理模块具体用于向所述第一服务器发送携带有隧道密钥绑定扩展字段的客户端初始消息; 相应地,所述第二处理模块具体用于判断所述服务端初始消息是否携带有所述隧道密钥绑定扩展字段。
14.根据权利要求13所述的终端,其特征在于,所述客户端初始消息和所述服务端初始消息的扩展数据为空。
15.—种服务器,其特征在于,包括 第五处理模块,用于接收终端发送的客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记; 第六处理模块,用于响应所述客户端初始消息,向所述终端发送携带有启用所述内外层密钥绑定机制的标记的服务端初始消息,以使所述终端获知启用所述内外层密钥绑定机制; 第七处理模块,用于通过与所述终端进行外层认证协议协商,获取外层认证协议密钥; 第八处理模块,用于获取第二服务器提供的内层认证密钥,其中,所述内层认证密钥由所述第二服务器通过与所述终端进行内层认证协议协商所获得的;第九处理模块,用于根据所述外层认证协议密钥和所述内层认证协议密钥,生成密钥; 第十处理模块,用于将所述密钥提供给相关设备,以使所述相关设备利用所述密钥与所述终端进行安全通信。
16.根据权利要求15所述的服务器,其特征在于,所述外层认证协议为传输层安全标准协议TLS,所述内层认证协议为扩展认证协议EAP。
17.根据权利要求15或16所述的服务器,其特征在于,所述第五处理模块具体包括接收所述终端发送的携带有隧道密钥绑定扩展字段的客户端初始消息; 相应地,所述第六处理模块具体用于向所述终端发送携带有所述隧道密钥绑定扩展字段的服务端初始消息。
18.根据权利要求15或16所述的服务器,其特征在于,所述客户端初始消息和所述服务端初始消息的扩展数据为空。
19.一种安全通信系统,其特征在于,包括权利要求10-14任一所述的终端,以及与所述终端通信的第一服务器和第二服务器,其中所述第一服务器为权利要求15-18任一所述的服务器。
全文摘要
本发明提供安全通信方法、终端、服务器及系统。该方法包括终端向第一服务器发送客户端初始消息,所述客户端初始消息携带有请求启用内外层密钥绑定机制的标记,以使所述第一服务器响应所述客户端初始消息判决是否启用所述内外层密钥绑定机制;所述终端接收第一服务器返回的服务端初始消息,并判断所述服务端初始消息是否携带有启用所述内外层密钥绑定机制的标记;若是,则所述终端通过与所述第一服务器进行外层认证协议协商,获取外层认证协议密钥,通过与第二服务器进行内层认证协议协商,获取内层认证协议密钥,并根据所述外层认证协议密钥和所述内层认证协议密钥,生成主密钥;所述终端利用所述主密钥进行安全通信。
文档编号H04L9/32GK102752298SQ20121022308
公开日2012年10月24日 申请日期2012年6月29日 优先权日2012年6月29日
发明者朱贤, 栾世鹏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1