一种认证方法及装置系统的制作方法_3

文档序号:9491657阅读:来源:国知局
,以及根据所述第三认证信息对无线接入端进行认证。
[0096]图5是本发明实施例提供的认证的双向挑战握手和下线认证的示意图,如图5所示,PW是客户端和服务器共享的预置密钥(用户密码),Na、Nb、Ns分别是A (客户端标识)、B (认证者标识)、S (认证服务器标识)生成的一次性随机数,Flag为下线标识,客户端主动下线则Flag置为TRUE,认证者强制要求其下线则Flag置为FALSE。虚线箭头表示只有在客户端主动要求下线时才发送EAPOL-Logof帧,此时认证者将回应EAP-Failure消息,并在随后发起一次下线确认的会活过程,如果是认证失败或者认证者强制客户端下线,也会在发送EAP-Failure消息后发起下线确认。考虑到ΕΑΡ协议的可扩展性,将确认消息封装到EAP-Request/Response消息中进行传递。
[0097]序号为⑴、⑵、(3)、(4)、(5)、⑶、(9)、(10)、(11)、(12)的消息报文同时存在于现有IEEE802.1X认证机制以及本发明实施例提供的IEEE802.1X认证机制改进的安全认证机制中。序号为(6)、(7)、(13)、(14)的消息报文与现有技术不同,消息报文(6)和消息报文(7)用于实现在认证阶段进行双向认证和密钥协商,消息报文(13)和消息报文(14)用于实现下线阶段的身份认证。具体实现方法表现为:
[0098]第一步,认证阶段进行双向认证和密钥协商。
[0099]为了实现对客户端和认证系统(认证者和认证服务器)的双向认证,并由认证服务器分配共享密钥Key。首先是对认证者和认证服务器的认证,由消息报文(6)完成。由于只有客户端和认证服务器持有PW,故而客户端收到消息报文(6)以后,经过解密并核对其真实性即可完成对认证服务器的认证。同时,认证服务器是可信第三方,它可以鉴定认证者的身份,故而在消息报文(6)中包含的信息实现了对认证者身份的鉴定。其次是对客户端的认证,消息报文(7)完成这一过程,这与标准的挑战握手认证类似。另外,在消息报文
(5)和消息报文(6)中实现了客户端与认证者的共享密钥Key的分配。
[0100]第二步,下线阶段的身份认证。
[0101]当客户端主动要求下线而发送EAPOL-Logoff帧时,认证者收到后返回EAPOL-Failure消息。接下来认证者发送消息报文(13),其中用Flag置为TRUE。客户端收到后用Key解密,检查B、Na是否有效,并认证Flag是否为TRUE,如果这三者中任一有误,则丢弃该消息报文,保持当前端口状态。如果认证无误则返回消息报文(14),其中的Flag同样必须为TRUE,客户端接收到消息报文(14)并认证A、Flag、Nb无误后,将端口断开。如果认证有误则丢弃该消息报文,保持当前端口状态。当客户端没有发送EAPOL-Logoff帧,而认证者发送EAP-Failure强制客户端下线,或者客户端认证失败,认证者在消息报文(10)中发送EAP-Failure时,认证者同样发送消息报文(13),其中Flag置为FALSE,客户端认证B、Flag和Na的值并返回消息报文(14),认证者收到消息报文(14)后,同样对A、Flag、Nb进行认证,若认证A、Flag、Nb无误后,将端口断开。如果认证有误则丢弃该消息报文,保持当前端口状态。
[0102]如图3所示,PW是客户端A和服务器S共同持有的共享密钥(密码),PW2是认证者B和服务器S共同持有的共享密钥(密码);ID是客户端A的身份标识(可理解为账户名),该标识在服务器S中有记录;ID2是认证者B的身份标识(可理解为账户名),该标识在服务器S中有记录。具体步骤如下:
[0103](1)客户端向认证者发送一个EAPOL-Start报文,开始802.1X认证。
[0104](2)认证者向客户端应答一个EAPOL-Req-1dentity报文,要求客户端将用户名等信息发送上来。
[0105](3)客户端向认证者发送EAP0L-Resp/ID,Pff(A, PW, Na)应答报文,该报文包含客户端在服务器中用户标识ID,以及使用PW加密后的信息。此处,Pff(A, PW, Na)表示客户端A使用PW加密PW和Na后的信息。
[0106](4)认证者向服务器发送请求报文 EAPOL-Req/ID,ID2,Pff(A, PW, Na),PW2 (B, PW2,Nb),其中,PW2 (B, PW2,Nb)表示认证者B使用PW2加密PW2和Nb后的信息。通过该报文,服务器可以同时认证客户端和认证者的合法性,比如:服务器对客户端的认证是这样的,将Pff(A, PW, Na)使用服务器通过客户端ID找到的密码解密,如果解密出来的密码PW与服务器保存的密码一致,说明该客户端合法;同样,服务器对认证者的认证也是如此。
[0107](5)如果第(4)步认证成功,服务器向认证者发送RA_Challenge/PW(S, Na, Key,Nb, Ns),PW2(S,Na, Key, Nb, Ns)报文,该报文包含服务器分配给认证者和客户端的共享密钥Key,使用PW加密Na,Key,Nb,Ns后的信息,以及使用PW2加密Na,Key,Nb,Ns后的信息。当认证者接收到该报文后,使用PW2解密PW2(S,Na, Key, Nb, Ns),得到Na, Key, Nb, Ns,认证者认证Nb的真实性,从而完成对服务器的认证。
[0108](6)认证者向客户端发送 EAP-Req/Key (Nb),Pff(S, Na, Key, Nb, Ns)报文,该报文包含认证者使用Key加密Nb后的信息,以及使用PW加密Na,Key, Nb, Ns后的信息。当客户端接收到该报文后,使用PW解密出他,1(^,他,他,并认证他的真实性,完成对服务器的认证。然后使用刚解密出的Key解密Key (Nb)来认证Nb的真实性,完成对认证者的认证。
[0109](7)客户端向认证者发送RA_Resp/PW(A,Pff, Ns),Key (Na)报文,其中包含客户端使用PW加密PW,Ns后的信息,以及使用Key加密Na后的信息。当认证者接收到该报文后,使用Key解密出Key (Na),认证Na的真实性,完成对客户端的认证。
[0110](8)认证者向服务器发送认证报文RA_Req/PW(A,Pff, Ns),PW2 (B, Pff2, Ns),其中包含客户端使用PW加密PW,Ns后的信息,以及认证者使用PW2加密PW2,Ns后的信息。当服务器接收到该报文后,分别使用PW和PW2解密PW(A,Pff, Ns)和PW2 (B, Pff2, Ns),从而认证Ns的真实性,完成对客户端以及认证者的认证。
[0111](9)服务器向认证者发送RA-Accept/Reject报文,告诉认证者802.1X认证成功与否。
[0112](10)认证者向客户端发送报文EAP-Success/Failure。
[0113](11)客户端主动要求下线,发送EAPOL-Logoff巾贞给认证者。
[0114](12)认证者收到后返回EAPOL-Failure消息。
[0115](13)认证者随后发送消息报文EAP-Req/Key(B,Flag,Na),其中用Flag置为TRUE。当客户端没有发送EAPOL-Logoff帧,而认证者发送EAP-Failure强制客户端下线,或者客户端认证失败,认证者在(10)中发送EAP-Failure,认证者同样发送消息报文EAP-Req/Key(B, Flag, Na)给客户端,其中 Flag 置为 FALSE。
[0116](14)客户端收到后用Key解密,检查B、Na是否有效,并认证Flag是否为TRUE,如果这三者中任一有误,则丢弃该消息报文,端口保持当前状态。如果认证无误则返回消息报文EAP-Resp/Key (A,Flag, Nb),其中的Flag同样必须为TRUE,认证者接收到该消息报文并认证A、Flag、Nb无误后,将端口断开。如果认证有误则丢弃该消息报文,保持当前端口状
ο
[0117]其应用价值具体表现为以下三个方面:
[0118]第一,当攻击者伪造EAPOL-Logoff巾贞发送给认证者时,截获到认证者发来的EAP-Failure和EAP-Request认证消息。然而攻击者没有共享密钥,也没有消息认证随机数,无法伪造随后的认证消息,所以无法通过下线认证,也就
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1