法律状态公告日
法律状态信息
法律状态
2015-09-02
未缴年费专利权终止 IPC(主分类):H04W12/06 授权公告日:20131211 终止日期:20140707 申请日:20110707
专利权的终止
2013-12-11
授权
授权
2011-11-30
实质审查的生效 IPC(主分类):H04W12/06 申请日:20110707
实质审查的生效
2011-10-19
公开
公开
技术领域
本发明属于计算机信息安全领域,尤其涉及一种基于802.1x认证协议的WLAN可信传输的实现方法。
背景技术
IEEE 802.11i是IEEE 802.11工作组提出的一个安全标准,用于解决IEEE 802.11无线局域网(Wireless LocalAreaNetwork,简称WLAN)的安全问题。IEEE802.1x协议是IEEE 802.11i标准中的一个认证协议,其体系结构包括三部分:客户端、认证者和认证服务器,主要作用是对WLAN接入用户进行认证。802.1x认证协议运行结束后,客户端和认证服务器端会协商出主会话密钥PMK(Pairwise Master Key),并由认证服务器端传给认证者,用于在客户端和认证者之间计算对等临时密钥,继而得到数据加密时所需的各种密钥。
IEEE 802.1x协议使用了可扩展认证协议EAP(Extensible Authentication Protocol)。图1是EAP数据包的格式。其中,Code字段用于指出EAP数据包的类型,该字段有四个取值,分别对应Request(请求)、Response(回复)、Success(成功)和Failure(失败)四种EAP数据包类型。Type字段表明了Request类型或Response类型的EAP数据包所包含的数据类型。IEEE 802.1x协议中已定义的Type值如下:(1)Identity,用于传用户名;(2)Notification,用于认证者向客户端传递一些可以显示的消息;(3)Nak,只在Response类型的EAP数据包中有效;在认证机制协商过程中,如果有一方不同意另一方提出的认证机制时就用Nak进行否决,而另一方收到Nak消息后则重新选择认证机制直到双方都同意为止,从而完成协商过程;(4)MD5-Challenge;(5)One-time Password(OPT);(6)Genetic Token Card;(7)EAP-TLS。其中,(4)、(5)、(6)、(7)是认证机制。
图2是IEEE 802.1x认证协议的认证流程。首先由认证者向客户端发送EAP-Request/Identity,从而开始整个认证过程。客户端收到该数据包后,发送包含其身份信息的EAP-Response/Identity给认证者。认证者收到该数据包后,将其转发给认证服务器端。认证服务器端收到该数据包后,便同客户端开始整个认证消息交互过程。如果认证服务器端通过了对客户端的认证,那么认证服务器端向认证者发送EAP-Success,认证者收到该消息后,则认为认证成功,并将该消息转发给客户端,此后客户端就可以进行授权的正常通信过程;否则,认证服务器端向客户端发送EAP-Failure,认证者收到该消息后,则认为认证失败,并将该消息转发给客户端,中断与客户端的通信。
虽然802.1x认证协议允许通信双方进行身份认证,并能够建立安全信道,但是802.1x认证协议没有考虑通信终端平台的安全性,对运行在终端上的软件不提供保护也不做验证,也就是说802.1x认证协议仅能提供一个安全传输信道,没有实现可信信道。可信信道是一个与终端的平台状态安全绑定的安全通信信道。
将可信计算的远程证明技术与现有的安全信道技术结合,可以建立可信信道。可信计算远程证明技术的核心思想是计算平台以可信芯片TPM(Trusted Platform Module)为信任根,借助可信度量模块,对系统平台状态信息进行度量,度量结果一方面记录在TPM芯片中的平台配置寄存器PCR(Program Control Register)中,同时在系统保存代表了被验证的平台的完整性度量历史的度量存储日志SML(Storage Measurement Log);远程用户根据SML和相关PCR中的数据来判断该运行环境是否可信、某些环节是否出现安全问题。在TCG(Trusted Computing Group)规范中,TPM使用身份证明密钥AIK(Attestation Identity Key)来证明自己的身份,凡是经过AIK签名的实体,都表明已经经过TPM的处理。为了防止重放、篡改、假冒等攻击,远程证明要求被验证的一方要使用AIK对数据进行签名。图3是美国IBM公司的研究人员设计的远程证明协议的流程图。在这个远程证明过程中,首先验证请求者生成一个160bit随机数并记为nonce,发送给被验证者;被验证者在收到nonce后,请求内置TPM用AIK的私钥对指定的PCR值和nonce进行签名,签名结果记为Quote,然后将Quote、SML和AIK公钥证书Cert(AIK)发送给验证请求者;最后验证请求者对接收的内容进行验证,确定远程计算平台身份及其所报告内容的真实性。
安全信道技术的核心是密钥交换协议,基于现有安全信道技术来建立可信信道的实质就是将远程证明技术融入到安全信道技术的密钥交换协议中,即在密钥协商过程中对通信终端的平台状态进行验证。EAP协议支持多种认证机制,并允许定义额外新的认证机制。目前还没有关于将可信计算的远程证明技术透明地应用于802.1x认证协议来建立可信信道的研究报告或软件,透明性是指在将远程证明技术融入到安全信道技术的密钥交换协议时,不需修改具体的认证机制。
发明内容
本发明的目的是,提供一种基于802.1x认证协议的WLAN可信传输的实现方法,在实现可信传输的同时充分考虑系统的可扩展性。
本发明的又一目的是,提供一种基于802.1x认证协议的WLAN可信传输的实现方法,有效地提高WLAN的安全性。
本发明的又一目的是,提供一种基于802.1x认证协议的WLAN可信传输的实现方法,实现远程证明过程对802.1x认证机制的透明性。
为达到上述目的,本发明采用如下的技术手段:
一种基于802.1x认证协议的WLAN可信传输的实现方法,包括以下步骤:
(1)客户端和认证服务器端完成认证消息交互过程,并分别计算出主会话密钥PMK;
(2)认证服务器端向认证者发送EAP-Request/TPM,该数据包中Type字段的值为TPM,TypeData字段的值为所要验证的平台状态信息的类型,认证者收到该数据包后将其转发给客户端;
(3)客户端收到EAP-Request/TPM后,若根据Type字段的值判断需要向认证服务器端发送客户端的验证信息,则根据客户端的主会话密钥和客户端的平台信息生成客户端的验证信息,封装成EAP-Response/TPM发送给认证者,认证者收到该数据包后将其转发给认证服务器端;
(4)认证服务器端收到EAP-Response/TPM后,若根据Type字段的值判断TypeData字段的内容为客户端发送来的验证信息,则根据接收到的客户端的验证信息和认证服务器端的主会话密钥对客户端进行验证,验证通过后向认证者发送EAP-Success,认证者再将该数据包转发给客户端;
还包括以下步骤:
(5)客户端收到EAP-Request/TPM后,若根据Type字段的值判断需要向认证服务器端发送客户端的验证信息,但客户端并不支持远程证明机制,则客户端向认证者发送EAP-Response,该数据包中Type字段的值为Nak,TypeData字段的值为客户端不支持远程证明机制这一事实,认证者收到该数据包后将其转发给认证服务器端;
(6)认证服务器端收到EAP-Response后,若根据Type字段和TypeData字段的值判断客户端不支持远程证明机制,则向认证者发送EAP-Failure,认证者再将该数据包转发给客户端。
生成客户端的验证信息包括以下步骤:
(1)对客户端的主会话密钥进行哈希运算,结果记为HS_Key;
(2)利用可信安全芯片TPM中的AIK私钥对字符串PCRS||HS_Key进行签名,签名结果记作signS,其中PCRS是客户端安全芯片TPM中代表客户端平台状态信息的PCR内容,‘||’代表将两个字符串连接起来;
(3)用客户端的主会话密钥作为对称加密密钥,对客户端的平台度量存储日志SMLS加密,结果记为encS;
(4)利用signS、encS及客户端AIK的公钥证书生成验证信息。
认证服务器端对客户端平台信息的验证包括以下步骤:
认证服务器端利用所述客户端AIK的公钥证书从signS中获得HS_Key和PCRS;
对认证服务器端的主会话密钥进行哈希运算,结果记为HR_Key;
判断HR_Key和HS_Key是否匹配,如果不匹配,则终止认证过程;如果匹配,则认证服务器端利用主会话密钥解密encS得到客户端的平台度量存储日志SMLS;
根据SMLS重新计算客户端TPM平台配置寄存器存储的内容,计算结果记为PCR_tmpS;
判断PCR_tmpS与PCRS是否匹配,如果不匹配,则终止认证过程;如果匹配,则认证通过。
本发明的有益效果在于:
(1)本发明将可信计算的远程证明技术紧密地融入802.1x认证协议,确保客户端平台状态信息和安全信道的真实连接;
(2)本发明的方法实现了客户端的平台信息在网络上的秘密传输;
(3)本发明的方法不需要修改标准802.1x认证协议中涉及到的认证机制,实现了远程证明过程对802.1x认证机制的透明性。
附图说明
图1是EAP数据包的格式;
图2是IEEE 802.1x认证协议的认证流程;
图3是美国IBM公司的研究人员设计的远程证明协议的流程图;
图4是实现了本发明所提供的方法的802.1x认证协议的认证流程。
具体实施方式
本发明一种基于802.1x认证协议的WLAN可信传输的实现方法,在硬件上要求客户端配有可信安全芯片TPM,而且它的BIOS支持TPM;在软件上要求客户端安装度量模块。客户端拥有自己的AIK公私钥。本发明提供的方法需要对802.1x认证协议做如下修改:
(1)为EAP数据包中的Type字段定义一个新值,记作TPM,用于说明认证服务器端要验证客户端的平台状态信息。当Type字段的值为TPM时,对应的TypeData字段的值用于说明所要验证的平台信息的类型。本发明中将Type字段值为TPM的EAP-Request(Response)记作EAP-Request(Response)/TPM。
本发明中用EAP-Request表示Request类型的EAP数据包,EAP-Request/Identity表示Type字段值为Identity的Request类型的EAP数据包,其他类似符号的含义依此类推。TypeData字段的值随EAP-Request和EAP-Response中Type值的不同而不同。
(2)当客户端接收到EAP-Request/TPM时,如果客户端支持远程证明机制,则回复EAP-Response/TPM,该数据包中Type字段的值也置为TPM,TypeData字段则用于存放客户端的验证信息。如果客户端不支持远程证明机制,则回复Type字段值为Nak的Response类型数据包,TypeData字段则用于说明客户端不支持远程证明机制这一事实。
图4是实现了本发明所提供的方法的802.1x认证协议的认证流程。具体步骤如下:
步骤1,认证者向客户端发送EAP-Request/Identity,从而发起整个认证过程;
步骤2,客户端收到认证者发送的EAP-Request/Identity后,将其用户名等身份信息封装在EAP-Response/Identity中,发送给认证者;
步骤3,认证者收到EAP-Response/Identity后,将该数据包转发给认证服务器端;
步骤4,认证服务器端收到EAP-Response/Identity后,便同客户端开始整个认证消息交互过程。认证过程结束后,客户端和认证服务器端分别计算出主会话密钥PMK,进入步骤5;
步骤5,认证服务器端构造EAP-Request/TPM,其中Type字段的值为TPM,TypeData字段的值为所要验证的平台状态信息的类型,然后将EAP-Request/TPM发送给认证者;
步骤6,认证者收到EAP-Request/TPM后,将该数据包转发给客户端;
步骤7,客户端收到认证者转发的EAP-Request/TPM后,首先检查Type字段的值,如果值为TPM,则客户端对主会话密钥进行哈希运算,并将其哈希值记作HS_Key。客户端使用TPM中AIK的私钥(记作AIKpriv)对字符串PCRS||HS_Key进行签名,并将签名结果记作signS。其中,PCRS是客户端安全芯片TPM中代表客户端平台状态信息的PCR内容,‘||’代表将两个字符串连接起来。然后客户端用主会话密钥作为对称加密密钥,对SMLS加密,结果记为encS。最后客户端构造EAP-Response/TPM,Type字段的值为TPM,并将signS、encS和CertSAIK放入TypeData字段。其中,CertSAIK为客户端AIK的公钥证书,SMLS表示客户端的平台度量存储日志。最后将EAP-Response/TPM发送给认证者,进入步骤8。如果客户端检查到Type字段的值为TPM但其本身并不支持远程证明机制,则客户端构造EAP-Response,其中Type字段的值为Nak,TypeData字段值为客户端不支持远程证明机制这一事实,进入步骤8;
步骤8,认证者收到EAP-Response/TPM或EAP-Response后,将该数据包转发给认证服务器端;
步骤9,认证服务器端收到认证者转发的Response数据包后,提取其中Type字段的值,如果值为TPM,则再提取TypeData字段的内容,验证其中的CertSAIK的有效性和合法性。如果验证没通过,则终止认证过程并向认证者发送EAP-Failure;如果验证通过,则利用CertSAIK的公钥从signS中获得步骤7中的HS_Key和PCRS。然后认证服务器端对主会话密钥进行哈希运算,将哈希值记作HR_Key,判断HR_Key和HS_Key是否匹配。如果不匹配,则终止认证过程并向认证者发送EAP-Failure;如果匹配,则认证服务器端用主会话密钥解密encS得到步骤7中的SMLS,然后根据SMLS重新计算客户端TPM平台配置寄存器存储的内容,计算结果记为PCR_tmpS,然后判断PCR_tmpS与PCRS是否匹配。如果不匹配,则终止认证过程并向认证者发送EAP-Failure;如果匹配,则说明认证服务器通过了对客户端的认证,并向认证者发送EAP-Access,然后认证服务器端再通过安全信道将PMK传送给认证者,进入步骤10。如果认证服务器端检查到接收到的Response数据包中Type字段的值为Nak,则提取TypeData字段的内容,当认证服务器端知道客户端不支持远程证明机制时,则向认证者发送EAP-Failure,进入步骤10;
步骤10,如果认证者收到了认证服务器端发送的EAP-Access消息,则认为认证成功,并向客户端转发EAP-Success,此后客户端可以进行授权的正常通信过程;如果认证者收到了认证服务器端发送的EAP-Failure,则认为认证失败,并向客户端转发EAP-Failure,此时客户端不能够进行授权的通信过程。
通过上述方法,实现了WLAN中的可信传输,该可信传输具有以下两个特性,一个是远程证明过程对认证机制的透明性,另一个是客户端的平台信息在网络传输过程中的秘密性。
机译: 一种用于无线局域网(WLAN)中的无线传输/接收单元(WTRU)用户通过无线通信使用第一组无线接入点从第一接入点(AP)实现转移(“越区切换”)的方法。通讯参数
机译: 基于802.1x的网络接入设备与客户端之间实现握手的方法
机译: 基于802.1x的网络接入设备与客户端之间建立通信的实现方法