PEAP接入流程
轉(zhuǎn)載地址
1 證書(shū)獲取
證書(shū)主要用來(lái)進(jìn)行終端和網(wǎng)絡(luò)的相互認(rèn)證。 Radius服務(wù)器首先向CA證書(shū)頒發(fā)機(jī)構(gòu)申請(qǐng)服務(wù)器證書(shū),用來(lái)代表Radius服務(wù)器的合法性。 客戶端向CA證書(shū)頒發(fā)機(jī)構(gòu)下載CA 根證書(shū),用來(lái)驗(yàn)證Radius服務(wù)器下發(fā)的證書(shū)是否合法(一般情況下,如果終端不需要對(duì)網(wǎng)絡(luò)進(jìn)行認(rèn)證的情況下,根證書(shū)可以不用下載和安裝)。
2 無(wú)線接入
客戶端通過(guò)開(kāi)放系統(tǒng)接入的方法(OPEN SYSTEM)和AP之間建立好物理連接。
?
3 認(rèn)證初始化
1)? Client向AP設(shè)備發(fā)送一個(gè)EAPoL-Start報(bào)文,開(kāi)始802.1x接入的開(kāi)始。(不一定有)
2)? AP向客戶端發(fā)送EAP-Request/Identity報(bào)文,要求客戶端將用戶信息送上來(lái)。
3)? Client回應(yīng)一個(gè)EAP-Response/Identity給AP的請(qǐng)求,其中包括用戶的網(wǎng)絡(luò)標(biāo)識(shí)。用戶ID,對(duì)于EAP-mschchap v2認(rèn)證方式的用戶ID是由用戶在客戶端手動(dòng)輸入或者配置的。用戶ID通常的格式是username@domain,其中username是運(yùn)營(yíng)商提供給用戶的身份ID,domain是運(yùn)營(yíng)商的域名(如“cmcc.com”)。
4)AP以EAP Over RADIUS的報(bào)文格式將EAP-Response/Identity發(fā)送給認(rèn)證服務(wù)器Radius,并且?guī)舷嚓P(guān)的RADIUS的屬性。
5)Radius收到客戶端發(fā)來(lái)的EAP-Response/Identity,根據(jù)配置確定使用EAP-PEAP認(rèn)證,并向AP發(fā)送RADIUS-Access-Challenge報(bào)文,里面含有Radius發(fā)送給客戶端的EAP-Request/Peap/Start的報(bào)文,表示希望開(kāi)始進(jìn)行EAP-PEAP的認(rèn)證。
6)? AP設(shè)備將EAP-Request/PEAP/Start發(fā)送給認(rèn)證客戶端。
4????????? 建立TLS通道
7)? Client收到EAP-Request/Peap/Start報(bào)文后,產(chǎn)生一個(gè)隨機(jī)數(shù)、客戶端支持的加密算法列表、TLS協(xié)議版本、會(huì)話ID、以及壓縮方法(目前均為NULL),封裝在EAP-Response/Client Hello報(bào)文中發(fā)送給AP設(shè)備。
8):AP以EAP Over RADIUS的報(bào)文格式將EAP-Response/Client Hello發(fā)送給認(rèn)證服務(wù)器Radius Server,并且?guī)舷嚓P(guān)的RADIUS的屬性。
9):Radius收到Client發(fā)來(lái)的Client Hello報(bào)文后,會(huì)從Client 的Hello報(bào)文的加密算法列表中選擇自己支持的一組加密算法+Server產(chǎn)生的隨機(jī)數(shù)+Server 證書(shū)(包含服務(wù)器的名稱(chēng)和公鑰)+證書(shū)請(qǐng)求+Server_Hello_Done屬性形成一個(gè)Server Hello報(bào)文封裝在Access-Challenge報(bào)文中,發(fā)送給Client.
10) AP把Radius報(bào)文中的EAP域提取,封裝成EAP-request報(bào)文發(fā)送給Client.
注:由于證書(shū)比較大,一個(gè)報(bào)文是無(wú)法承載的,所以在實(shí)際流程中第10,11完成后,后面還有3個(gè)續(xù)傳的IP分片報(bào)文,目的是把Server證書(shū)發(fā)送到客戶端.
11) Client收到報(bào)文后,進(jìn)行驗(yàn)證Server的證書(shū)是否合法(使用從CA證書(shū)頒發(fā)機(jī)構(gòu)獲取的根證書(shū)進(jìn)行驗(yàn)證,主要驗(yàn)證證書(shū)時(shí)間是否合法,名稱(chēng)是否合法),即對(duì)網(wǎng)絡(luò)進(jìn)行認(rèn)證,從而可以保證Server的合法。如果合法則提取Server證書(shū)中的公鑰,同時(shí)產(chǎn)生一個(gè)隨機(jī)密碼串pre-master-secret,并使用服務(wù)器的公鑰對(duì)其進(jìn)行加密,最后將加密的信息ClientKeyExchange+客戶端的證書(shū)(如果沒(méi)有證書(shū),可以把屬性置為0)+TLS finished屬性封裝成EAP-Rsponse/TLS OK報(bào)文發(fā)送給認(rèn)證點(diǎn)AP.如果client沒(méi)有安裝證書(shū),則不會(huì)對(duì)Server證書(shū)的合法性進(jìn)行認(rèn)證,即不能對(duì)網(wǎng)絡(luò)進(jìn)行認(rèn)證。(一些手機(jī)終端,如lumia920有是否驗(yàn)證服務(wù)器勾選項(xiàng))
12) AP以EAP Over RADIUS的報(bào)文格式將EAP-Response/TLS OK發(fā)送給認(rèn)證服務(wù)器Radius Server,并且?guī)舷嚓P(guān)的RADIUS的屬性
13) Radius收到客戶端發(fā)了的報(bào)文后,用自己的證書(shū)對(duì)應(yīng)的私鑰對(duì)ClientKeyExchange進(jìn)行解密,從而獲取到pre-master-secret,然后將pre-master-secret進(jìn)行運(yùn)算處理,加上Client和Server產(chǎn)生的隨機(jī)數(shù),生成加密密鑰、加密初始化向量和hmac的密鑰,這時(shí)雙方已經(jīng)安全的協(xié)商出一套加密辦法了,至此TLS通道已經(jīng)建立成功,以后的認(rèn)證過(guò)程將使用協(xié)商出的密鑰進(jìn)行加密和校驗(yàn)。Radius Server借助hmac的密鑰,對(duì)要在TLS通道內(nèi)進(jìn)行認(rèn)證的消息做安全的摘要處理,然后和認(rèn)證消息放到一起。借助加密密鑰,加密初始化向量加密上面的消息,封裝在Access-Challenge報(bào)文中,發(fā)送給Client.
?5? 認(rèn)證過(guò)程
14)AP把Radius報(bào)文中的EAP域提取,封裝成EAP-request報(bào)文發(fā)送給Client.
15)客戶端收到Radius server發(fā)來(lái)報(bào)文后,用服務(wù)器相同的方法生成加密密鑰,加密初始化向量和hmac的密鑰,并用相應(yīng)的密鑰及其方法對(duì)報(bào)文進(jìn)行解密和校驗(yàn),然后產(chǎn)生認(rèn)證回應(yīng)報(bào)文,用密鑰進(jìn)行加密和校驗(yàn),最后封裝成EAP-response報(bào)文發(fā)送給AP,AP以EAP Over RADIUS的報(bào)文格式將EAP-Response發(fā)送給認(rèn)證服務(wù)器Radius Server,并且?guī)舷嚓P(guān)的RADIUS的屬性,這樣反復(fù)進(jìn)行交互,直到認(rèn)證完成(注:對(duì)于不同的認(rèn)證方法交互流程不一致,通常的認(rèn)證方法為:PEAP-MSCHAPV2或者GTC(IBM LDAP支持的,有關(guān)于PEAP-GTC的過(guò)程就是在認(rèn)證的時(shí)候按照GTC/OTP的過(guò)程在PEAP添加的一個(gè)過(guò)程罷了,再注:在傳送完密碼后要傳一個(gè)長(zhǎng)度為1的數(shù)據(jù)為0的包過(guò)去后才會(huì)得到SUCESS連通網(wǎng)絡(luò)),下面由單獨(dú)認(rèn)證流程,如果是SIM認(rèn)證,還需要跟HLR/AUC設(shè)備進(jìn)行數(shù)據(jù)交互,并且使用AS作為認(rèn)證服務(wù)器),在認(rèn)證過(guò)程中,Radius Server會(huì)下發(fā)認(rèn)證后用于生成空口數(shù)據(jù)加密密鑰(包括單播、組播密鑰)的PMK給Client.
16) 服務(wù)器認(rèn)證客戶端成功,會(huì)發(fā)送Access-Accept報(bào)文給AP,報(bào)文中包含了認(rèn)證服務(wù)器所提供的MPPE屬性。
17) AP收到RADIUS-Access-Accept報(bào)文,會(huì)提取MPPE屬性中的密鑰做為WPA加密用的PMK,并且會(huì)發(fā)送EAP-success報(bào)文給客戶端轉(zhuǎn)載于:https://www.cnblogs.com/fifa0329/archive/2013/01/07/4536691.html
總結(jié)
- 上一篇: 【转】使用PHP计算上一个月的今天
- 下一篇: [zz]struct epoll_eve