EAPPEAPEAPTLS认证具体流程分析样本.docx
- 文档编号:14801174
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:22
- 大小:640KB
EAPPEAPEAPTLS认证具体流程分析样本.docx
《EAPPEAPEAPTLS认证具体流程分析样本.docx》由会员分享,可在线阅读,更多相关《EAPPEAPEAPTLS认证具体流程分析样本.docx(22页珍藏版)》请在冰点文库上搜索。
EAPPEAPEAPTLS认证具体流程分析样本
EAP-PEAP&EAP-TLS认证详细流程分析
EAP-PEAP认证详细流程分析(结合radius认证合同及抓包)
1.1EAP-PEAP背景
EAP:
(ExtensibleAuthenticationProtocol)可扩展认证合同。
EAP属于一种框架合同,最初规范于RFC2284,日后经RFC3748更新。
EAP是一种简朴封装方式,可以运营于任何链路层,但是它在PPP链路上并未广泛使用。
EAP基本架构如图所示:
EAP认证方式(EAPMethod)。
EAP会把证明使用者身份过程,授权给一种称为EAPmethod附属合同,EAPmethod乃是一组验证使用者身份规则。
使用EAPmethod长处是,EAP从此可以不用去管验证使用者细节。
当新需求浮现时就可以设计出新认证方式,就算要用于无线局域网也不成问题。
惯用EAP认证办法如下图所示:
PEAP,受保护EAP(ProtectedEAP)。
PEAP是由Microsoft、Cisco和RSASecurity共同开发,在EAP框架中基于证书+用
户名密码实现顾客WLAN接入鉴权。
PEAP是EAP认证办法一种实现方式,网络侧通过顾客名/密码对终端进行认证,终端侧通过服务器证书对网络侧进行认证。
顾客初次使用PEAP认证时,需输入顾客名和密码,后续接入认证无需顾客任何手工操作,由终端自动完毕。
1.2EAP-PEAP技术原理
PEAP(ProtectedEAP)实现通过使用隧道在PEAP客户端和认证服务器之间进行安全认证。
EAP客户端和认证服务器之间认证过程有两个阶段。
第一阶段:
建立PEAP客户端和认证服务器之间安全通道,客户端采用证书认证服务端完毕TLS握手。
服务端可选采用证书认证客户端。
第二阶段:
提供EAP客户端和认证服务器之间EAP身份验证。
整个EAP通信,涉及EAP协商在内,都通过TLS通道进行。
服务器对顾客和客户端进行身份验证,详细办法由EAP类型决定,在PEAP内部选取使用(如:
EAP-MS-CHAPv2)。
访问点只会在客户端和RADIUS服务器之间转发消息,由于不是TLS终结点,访问点无法对这些消息进行解密。
当前被WPA和WPA2批准有两个PEAP子类型PEAPV0-MSCHAPV2,PEAPV1-GTC,使用广泛是PEAPV0-MSCHAPV2。
1.3PEAP顾客接入流程
图1PEAP顾客接入流程
E1认证初始化
1)WLANUE向WLANAN发送一种EAPoL-Start报文,开始802.1x接入开始。
2)WLANAN向WLANUE发送EAP-Request/Identity报文,规定WLANUE将顾客信息送上来。
3)WLANUE回应一种EAP-Response/Identity给WLANAN祈求,其中涉及顾客网络标记。
顾客ID,对于PEAP-mschchapv2认证方式顾客ID是由顾客在客户端手动输入或者配备。
本次顾客名建议同顾客portal认证顾客名密码。
4)WLANAN以EAPOverRADIUS报文格式将EAP-Response/Identity发送给Radius,并且带上有关RADIUS属性。
5)Radius收到WLANAN发来EAP-Response/Identity,依照配备拟定使用EAP-PEAP认证,并向WLANAN发送RADIUS-Access-Challenge报文,里面具有Radius发送给WLANUEEAP-Request/Peap/Start报文,表达但愿开始进行EAP-PEAP认证。
6)WLANAN将EAP-Request/PEAP/Start发送给WLANUE。
E2建立TLS通道
7)WLANUE收到EAP-Request/Peap/Start报文后,产生一种随机数、客户端支持加密算法列表、TLS合同版本、会话ID、以及压缩办法(当前均为NULL),封装在EAP-Response/TLS/ClientHello报文中发送给WLANAN。
8)WLANAN以EAPOverRADIUS报文格式将EAP-Response/TLS/ClientHello发送给认证服务器Radius,并且带上有关RADIUS属性。
9)Radius收到ClientHello报文后,会从ClientHello报文加密算法列表中选取自己支持一组加密算法+Server产生随机数+Server证书(包括服务器名称和公钥)+证书祈求+Server_Hello_Done属性形成一种ServerHello报文封装在EAP消息中,使用Access-Challenge报文发送给WLANAN。
10)WLANAN把Radius报文中EAP-request消息发送给WLANUE.
11)WLANUE收到报文后,进行验证Server证书与否合法(使用从CA证书颁发机构获取根证书进行验证,重要验证证书时间与否合法,名称与否合法),即对网络进行认证,从而可以保证Server合法。
如果合法则提取Server证书中公钥,同步产生一种随机密码串pre-master-secret,并使用服务器公钥对其进行加密,最后将加密信息ClientKeyExchange+客户端证书(如果没有证书,可以把属性置为0)+TLSfinished属性封装成EAP-Rsponse/TLSClientKeyExchange报文发送给WLANAN.如果WLANUE没有安装证书,则不会对Server证书合法性进行认证,即不能对网络进行认证。
12)WLANAN以EAPOverRADIUS报文格式将EAP-Response/TLSClientKeyExchange发送给认证服务器Radius,并且带上有关RADIUS属性
13)Radius收到报文后,用自己证书相应私钥对ClientKeyExchange进行解密,从而获取到pre-master-secret,然后将pre-master-secret进行运算解决,加上WLANUE和Server产生随机数,生成加密密钥、加密初始化向量和hmac密钥,这时双方已经安全协商出一套加密办法了。
Radius将协商出加密办法+TLSFinished消息封装在EAPoverRadius报文Access-Challenge中,发送给WLANAN。
14)WLANAN吧Radius报文中EAP-Request消息发送给UE。
15)WLANUE回答EAPResponse/TLSOK消息。
16)WLANAN将EAPResponse/TLSOK消息封装在Radius报文中,告知Radius建立隧道成功。
至此WLANUE与Radius之间TLS隧道建立成功。
E3认证过程
17)WLANAN把Radius报文中EAP域提取,封装成EAP-request报文发送给WLANUE。
18)WLANUE收到报文后,用服务器相似办法生成加密密钥,加密初始化向量和hmac密钥,并用相应密钥及其办法对报文进行解密和校验,然后产生认证回应报文,用密钥进行加密和校验,最后封装成EAP-response报文发送给AP,AP以EAPOverRADIUS报文格式将EAP-Response发送给认证服务器RadiusServer,并且带上有关RADIUS属性,这样重复进行交互,直到认证完毕。
在认证过程中,RadiusServer会下发认证后用于生成空口数据加密密钥(涉及单播、组播密钥)PMK给WLANUE。
19)服务器认证客户端成功,会发送Access-Accept报文给WLANAN,报文中包括了认证服务器所提供MPPE属性。
20)WLANAN收到RADIUS-Access-Accept报文,会提取MPPE属性中密钥做为WPA加密用PMK,并且会发送EAP-success报文给WLANUE。
E4地址分派
21)WLANUE和WLANAN间空中数据报文进行加密传送,与WLANAN进行DHCP流程交互,直至WLANUE获取IP地址
E5计费开始
22)WLANUE通过RADIUS-Accounting-Request(Start)报文告知Radius开始进行计费,具有有关计费信息。
23)Radius向WLANUE回应RADIUS-Accouting-Response(Start)报文,表达已开始计费。
1.3.1STA&radiusserver上抓包分析
(一)在STA上打开wireshark,在captureoption选项中选取相应无线网卡,并把capturepacketsinpromiscuousmode前面勾去掉,过滤eap||eapol||bootp数据包。
PEAP认证成功时,STA抓包如下(该抓包是抓STA---AP之间EAPoL包):
和“PEAP顾客接入流程图”中环节相相应,环节与包相应关系如下图所示:
1
2
3
6
7
10
11
14
15
21
(二)在radiusserver上打开wireshark,在captureoption选项中选取相应无线网卡,并把capturepacketsinpromiscuousmode前面勾去掉,过滤radius数据包。
PEAP认证成功时,radiusserver上抓包如下,(该抓包是抓AP—Radiusserver之间EAPoverRadius包):
和“PEAP顾客接入流程图”中环节相相应,环节与包相应关系如下图所示:
4
5
8
9
12
13
16
20
1.4PEAP顾客下线流程
顾客下线流程涉及顾客积极下线、网络下线和异常下线三种状况。
图2给出了顾客积极下线流程,图3给出了网络下线流程,图4给出了顾客异常下线流程。
1.顾客积极下线
图2顾客积极下线流程
1)WLANUE积极终结会话,发起EAPoL-logoff祈求退出网络。
2)WLANAN向AAAServer发送计费停止祈求报文。
3)AAAServer向WLANAN回答计费停止祈求报文响应。
2、网络发起顾客下线
图3网络发起下线流程
1)出于管理目,网络发起下线流程,可以由AAAServer触发Disconnect-Request给WLANAN。
2)WLANAN终结顾客会话,释放顾客会话资源。
3)WLANAN向AAAServer回答Disconnect-ACK消息。
4)WLANAN向AAAServer发送计费停止祈求报文。
5)AAAServer向WLANAN回答计费停止祈求报文响应。
3、网络发起顾客下线
图4顾客异常下线流程
1)WLANAN检测固定期间内流量不大于阈值或者通过KeepAlive机制检测发现顾客已经不在线。
2)WLAN顾客接入认证点向Radius发送计费停止祈求报文
3)Radius向WLAN顾客接入认证点回计费停止祈求报文回应
1.5MS-CHAPV2认证流程
图4MS-Chapv2顾客认证流程
1)Radius在TLS通道内发起EAP-reuqest/Identity认证祈求.
2)AP把Radius报文中EAP域提取,封装成EAP-request报文发送给Client.
3)Client发送一种给Ap一种EAP-Response报文,内容为ClientIdentity(普通为顾客名),.
4)Ap把报文封装成Radius报文,送给Radius.
5)Radius收到后,通过Radius报文,返回给AP一种16字节随机数.
6)AP把Radius报文中EAP域提取,封装成EAP-request/EAP-MSCHAPV2Challenge报文发送给Client.(CODE=1:
Challenge)
7)Client收到后:
a)Client产生一种16字节随机数,称为“端认证质询”,
b)client将Radiusserver中收到16字节质询,及其产生16字节端认证质询,以及client顾客名进行SHA1算法HASH,取成果开始8字节。
c)client将b产生8字节质询加密用windowsnthash函数生成本地口令HASH值(16字节),产生24字节响应(MD4算法);
d)client将24字节响应,成果封装在EAP-Response/EAPMSCHAPV2Response报文中发送给AP.(CODE=2:
Response)
8)Ap把报文封装成Radius报文,送给Radius.
9)Radiusserver收到后:
a)使用跟Client相似办法进行顾客口令哈希值加密响应值,如果成果与质询值相似,则客户端认证通过
b)Radiusserver使用16字节端认证质询和client哈希过口令,一起创立一种20字节认证者响应,封住成Radius报文发送给Ap.
10)AP把Radius报文中EAP域提取,封装成EAP-request/EAP-CHAPV2Success报文发送给Client.(CODE=3:
Success)
11)Client收到后,使用与服务器相似办法计算一种认证者响应,如果与收到响应一致,则server通过认证,发送一种认证成功报文,封装成Eap—response/EAPMschapv2ACK报文给Ap.
12)Ap把报文封装成Radius报文,送给Radius.
13)服务器和客户端均认证成功,Radiusserver会发送Access-Accept报文给AP,报文中包括了认证服务器所提供MPPE属性(MPPE密钥算法请参阅引用[18])。
14)AP收到RADIUS-Access-Accept报文,会提取MPPE属性中密钥做为WPA加密用PMK,并且会发送EAP-success报文给客户端.
EAP-TLS认证详细流程分析(结合radius认证合同及抓包)
1.6EAP-TLS背景
EAP:
(ExtensibleAuthenticationProtocol)可扩展认证合同。
EAP属于一种框架合同,最初规范于RFC2284,日后经RFC3748更新。
EAP是一种简朴封装方式,可以运营于任何链路层,但是它在PPP链路上并未广泛使用。
EAP基本架构如图所示:
EAP认证方式(EAPMethod)。
EAP会把证明使用者身份过程,授权给一种称为EAPmethod附属合同,EAPmethod乃是一组验证使用者身份规则。
使用EAPmethod长处是,EAP从此可以不用去管验证使用者细节。
当新需求浮现时就可以设计出新认证方式,就算要用于无线局域网也不成问题。
惯用EAP认证办法如下图所示:
TLS:
传播层安全(TransportLayerSecurity)。
TLS前身是保证安全网络事物合同SecureSocketLayer(安全套接层,简称SSL)。
TLS目就是在不可信赖网络环境中建立一条可信赖通信管道(channel)。
TLS通过证书互换来进行互相认证。
顾客必要将数字证书送交认证服务器以进行验证,但是认证服务器也必要提供自身证书。
通过可信赖证书发行机构验证服务器证书真伪,客户端就可以拟定所连接网络通过了证书发行机构授权。
证书提供了牢固顾客对网络以及网络对顾客双向认证。
互相认证可以防范所谓“欺骗”(rouge)接入点。
让客户端可以判断接入点与否由对的部门而非为了窃取密码有心人士所设立。
TLS还会建立一组主密钥(mastersecret),用来派生出链路层安全防护合同所需要密钥。
EAP-TLS虽然安全,但是并未被广泛使用。
无线网络中任何潜在顾客都必要配备自身数字证书。
产生与分派证书以及遵循验证环节都是莫大挑战。
已经采用公钥基本构造(publickeyinfrastructure,简称PKI)几种如果要使用EAP-TLS话相称容易;而有些机构并不想构建PKI,因而此外选用其她方式。
1.7EAP-TLS认证流程
EAP-TLS认证流程图
1)申请者一方面通过客户端软件向认证方发送一种EAPoL-Start报文,开始802.1x接入开始。
2)认证方向申请者发送EAP-Request/Identity祈求帧,规定提供身份标记。
3)申请者接受到认证方祈求后,向其发送EAP-Response/Identity响应帧,提供身份标记。
4)认证方将EAP-Response/Identity响应帧封装成RADIUSAccess-Request帧发给认证服务器。
5)认证服务器通过顾客身份标记检索认证数据库,获知采用TLS认证机制。
通过向申请者发送封装EAP-Request/EAP-TLS/TLS-StartAccess-Challenge消息,启动TLS认证过程,等待进行TLS认证。
6)认证方向申请者发送EAP-Request/EAP-TLS/TLS-Start。
7)申请者收到EAP-Request/EAP-TLS/TLS-Start消息后,通过认证方发送EAP-Response/EAP-TLS/Client-Hello消息给服务器。
这个消息里面包括了自己可实现算法列表、ClientRandomValue和其他某些需要信息。
8)认证方将EAP-Response/EAP-TLS/Client-Hello响应帧封装成RADIUSAccess-Request帧发给认证服务器。
9)认证服务器接受到EAP-Response/EAP-TLS/Client-Hello后,拟定TLS认证已建立,并通过封装包括各种TLS记录EAP-Response/EAP-TLS消息Access-Challenge消息通过认证方发送给申请者。
TLS记录中包括认证服务器数字证书Server-Certificate、申请者数字证书祈求ClientCertificate-Request、Sever-Hello和ServerKey-Exchange消息用于用互换密钥过程。
ServerHello,拟定了这次通信所需要算法和ServerRandomValue。
10)认证方向申请者发送EAP-Request/EAP-TLS/Sever-Hello,Server-Certificate,ServerKey-Exchange,ClientCertificate-Request。
11)申请者校验服务器数字证书Server-Certificate,如果合法,向认证服务器发送Client-Cert、ClientKey-Exchange、ChangeCipher-spec和Finished消息。
Client-Cert为申请者数字证书、ClientKey-Exchange为使用认证服务器公钥加密定长随机串,也叫PreMasterSecert,ChangeCipher-spec为申请者可以支持加密类型。
12)认证方将EAP-Response/EAP-TLS/Client-Cert,ClientKey-Exchange,ChangeCipher-spec,Finished响应帧封装成RADIUSAccess-Request帧发给认证服务器。
13)认证服务器校验申请者证书Client-Certificate,如果合法,然后回答申请者以ChangeCipher-spec和Finished消息,ChangeCipher-spec包括了认证服务器指定使用加密类型。
14)认证方向申请者发送EAP-Request/EAP-TLS/ChangeCipher-spec,Finished。
15)申请者受到Finished消息后,给服务器一种响应EAP-Response/EAP-TLS/TLS-ACK,Finished。
16)认证方将EAP-Response/EAP-TLS/TLS-ACK,Finished响应帧封装成RADIUSAccess-Request帧发给认证服务器。
17)RADlUS服务器和Client都推导出主密钥MK(MasterKey)。
认证服务器收到TLS-ACK包后,发送Access-Accept给AP发送,其中涉及主密钥MK并批示成功认证。
18)认证方向申请者发送EAP-Success。
此时完毕EAP-TLS认证流程。
通过无线客户端与radius服务器之间动态协商生成PMK(PairwiseMasterKey),再由无线客户端和AP之间在这个PMK基本上通过4次握手协商出单播密钥以及通过两次握手协商出组播密钥,每一种无线客户端与AP之间通讯加密密钥都不相似,并且会定期更新密钥,很大限度上保证了通讯安全。
1.7.1STA&radiusserver上抓包分析
(一)在STA上打开wireshark,在captureoption选项中选取相应无线网卡,并把capturepacketsinpromiscuousmode前面勾去掉,过滤eap||eapol||bootp数据包。
TLS认证成功时,STA抓包如下(该抓包是抓STA---AP之间EAPoL包):
和“EAP-TLS认证流程图”中环节相相应,环节与包相应关系如下图所示:
1
2
3
6
7
10
11
14
15
18
(二)在radiusserver上打开wireshark,在captureoption选项中选取相应无线网卡,并把capturepacketsinpromiscuousmode前面勾去掉,过滤radius数据包。
TLS认证成功时,radiusserver上抓包如下,(该抓包是抓AP—Radiusserver之间EAPoverRadius包):
和“EAP-TLS认证流程图”中环节相相应,环节与包相应关系如下图所示:
4
5
8
9
12
13
16
17
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EAPPEAPEAPTLS 认证 具体 流程 分析 样本