已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
802.1x认证的EAP协议(总体流程)2010-07-20 23:38:49|分类: 网络技术 |标签: |字号大中小订阅 参考RFC 3748 Supplicant主机服务器 - - |-| 主机向服务器(多播或广播地址)发送EAPOL-Start | 1.EAPOL-Start | | | | 回应(用户名) 3. EAP-RESPONSE-Identity| | | | 回应(使用Challenge加密口令) | 5. EAP-RESPONSE-MD5_Challenge | | | |-| EAP-Success(判断正确性) | 6. EAP-Success| | | 在任何时候服务器发来EAP-Failure数据包,都表示整个认证过程终止。 在以太网中,EAP协议当然也是通过以太网帧的格式来传送,帧类型为0x888e,在基于pcap的抓包程序中,可使用ether proto 0x888e来抓取。 Ethernet-Header: (802.3,局域网标准) # #05 11 13# # +-+-+-+ # # |DST-MAC|SRC-MAC|0x888e| # # +-+-+-+ # # EAP协议不仅可用于本文关注的以太网环境中,还可在无线WLAN、令牌环网中应用,而这些链路帧是各不相同的,这就是为什么有EAPOL类型的数据帧,用以抽象EAP协议报文。 EAPOL-报文结构 # #0 14 15 # # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+# # | Ethernet-Header |a|b|# # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+# #17# # +-+-+- # # |c|Packet Body # # +-+-+- # # a:EAPOL 协议版本 b:EAPOL 报文类型 c:EAPOL 帧长度 a类型说明:通常为常量0x01 b类型取值: EAPOL-Packet : 0x00 /各种EAP协议的信息交互,封装在EAPOL-Packet类型的EAPOL报文内EAPOL-Start: 0x01 EAPOL-Logoff:0x02 EAP-报文结构 # #015# # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ # # | | # # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ # # 17 18 19 21 22# # +-+-+-+-+-+-+-+- # # | |d|e|f|g|EAP Body # # +-+-+-+-+-+-+-+- # # d:EAP通信类型 e:EAP通信id f:EAP数据长度 g:EAP协商类型 d类型取值: EAP-Request:0x01 EAP-Resopnse: 0x02 EAP-Success:0x03 EAP-Failure:0x04 e类型说明: 通常由服务器发来的报文指定,在连续的报文内使用这个id来协商或者计算MD5值的数据之一。 g类型取值: ldentity:0x01 MD5_Challenge: 0x04 注意EAPOL帧和EAP帧的两处长度位置,前者的长度是不算EAPOL头的4个字节的,而后者则包含自身头部的5个字节,所以这两个长度的值可能是一致的,但具体可能有扩展信息放在EAPOL帧尾部,则前者比后者大。下面是需要程序构建的数据包的大概细节:1.EAPOL-Start、EAPOL-Logoff 通常是比较简单的数据包,只需填好相应的位,没有其他附加消息,EAPOL-Start、EAPOL-Logoff两种报文长度为0,通常建立起来两个报文的长度就只有18字节。2.EAP-REQUEST-Identity 服务器发来的这个报文也比较简单,可能唯一有用的数据是“e:EAP通信id”位,需要给发送回去的报文中把相应位设置为该值,虽然这很可能是常数。 Identity格式 +-+-+-+-.-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EAP Header|Username +-+-+-+-.-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+3.EAP-RESPONSE-Identity 只需要设置“d:EAP通信id”位,然后在EAP头后紧接用户名的ASCII码信息。有些品牌的协议中,则顺带在此数据包开始校验客户端的IP、版本号等信息。4.EAP-REQUEST-MD5_Challenge 找到该用户名对应的口令信息,用随机生成的一个加密字Challenge对它进行加密处理(MD5) 服务器请求MD5校验的报文中包含了重要的信息,首先也是“e:EAP通信id”位,后一个报文也需要设置该位; 在EAP报头后紧接一个一位的长度值L(常量0x10),表示紧跟其后的重要数据的长度,其后的16位值则需要用来计算下一个报文中的信息,我们称之为attach-key。 MD5_Challenge格式 +-+-+-+-.-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EAP Header|L|MD5-Key/Value +-+-+-+-.-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+5.EAP-RESPONSE-MD5_Challenge 首先需要设置“d:EAP通信id”位,然后构建一个这样的字节数组(e:EAP通信id)(用户密码的ASCII)(attach-key),这个字节的长度当然是(1+用户密码长度+16),然后送入MD5计算函数中,获得16位的计算结果,再把这16位计算结果填入报文。报文格式跟请求的类似,在包头后紧接一位长度值,当然是0x10,然后是16位的计算结果。 用该加密字对口令部分进行加密处理(MD5) 来的加密后的口令信息和其自己经过加密运算后的口令信息进行对比,判断用户是否合法 一个客户端程序所做的事情通常就是这么多,而因为EAP协议的“Extensible”的特性,几乎我们见到的每个品牌的协议都有所扩展,而且各不相同,所以各个品牌之间的客户端甚至交换机等设备都可能完全不可兼容的,其协议很可能在上述的报文中都添加一个信息尾,用来校验各种信息。 EAP-SIM学习 EAP-Response/SIM/Challenge (AT_MAC)步骤说明: 据AT_RAND等Sres信息|NONCE_MT|Version|. 计算自己的AT_MAC和AT_MAC比较,然后生成一个序列,部分为四次握手MK(万能钥匙,这增加了后面的四次握手的安全性) ,Response含Sres的AT_MAC,让服务器再认证。 GSM subscribers身份标识:IMSI(International Mobile Subscriber Identity)。IMSI组成:不多于15数字的String,MCC(Mobile Country Code)3位,MNC(Mobile Network Code)2或3位,MSIN(Mobile Subscriber Identification Number)不多于10位. Internet AAA protocols身份标识:NAI(Network Access Identifier)RFC4282. 形式为:(usernamerealm).对于永久用户,可以使用IMSI生成用户名(第一位加);pseudonym usernames and fast re-authentication, identities由认证服务器生成。 EAP-AKA学习 EAP-AKA用于第三代移动通讯网络(3G)的认证和密匙协商机制 (Authentication and Key Agreement).AKA基于对称密码学原理,通常运行在手机的SIM卡上,3G中称为USIM. Peer Authenticator | EAP-Request/Identity | | | +-+ | | Server runs AKA algorithms, | | | generates RAND and AUTN. | | +-+ | EAP-Request/AKA-Challenge | | (AT_RAND, AT_AUTN, AT_MAC) | | | +-+ | | Server checks the given RES, | | | and MAC and finds them correct.| | +-+ | EAP-Success | | AT_FULLAUTH_ID_REQ - AT_PERMANENT_ID_REQ. WLAN3G应用AKA:WLAN-UE(User Equipment):WLAN 用户的移动终端设备WLAN-AN(Access Network):WLAN接入网络3GPP AAA 服务器: 3GPP 网络认证、授权、计费服务器HSS/HLR: 家乡用户服务器/ 家乡位置寄存器IMSI: 国际移动用户标志( International Mobile Station Identity)f1 f5。为3G 安全结构中定义的算法, f1 算法用于产生消息认证码,f2 算法用于消息认证中计算期望响应值, f3 算法用于产生加密密钥, f4 算法用于产生完整性密钥, f5 算法用于产生匿名密钥。 协议流程 WLAN-UE WLAN-AN: NAI(身份标志) WLAN-AN 3GPP AAA: NAI 3GPP AAAWLAN-AN: RAND, AUTH, WLAN-UE 的临时标志, 消息鉴别码 WLAN-AN WLAN-UE: RAND, AUTH, WLAN-UE 的临时标志, 消息鉴别码 WLAN-UE WLAN-AN: RES, 消息鉴别码 WLAN-AN 3GPP AAA: RES, 消息鉴别码 3GPP AAA WLAN-AN: WLAN-UE 的认证结果, WLAN-AN 与WLAN-UE的共享密钥 WLAN-AN WLAN-UE: WLAN-UE 的认证结果说明:收到WLAN-UE 的身份标志后, 3GPP AAA 服务器首先询问HSS, 该用户是否有使用WLAN提供的服务权限。然后从HSS/HLR 中取得与该用户相关的认证向量AV, 同时也获得与该用户IMSI 对应的新的临时标志。其中, AV = RANDXRES CK IK AUTN, RAND 为随机数, XRES = f2k( RAND) , CK = f3k( RAND) , IK = f4k ( RAND) , AUTN = SQN AKAMFMAC; SQN为序列号, AK = f5k ( RAND) , AMF 为认证管理域, MAC = f1k ( SQNRANDAMF) 。随后, 从IK 和CK 中生成共享密钥, 这些共享密钥一方面可用于WLAN通信的机密性和一致性保护, 另一方面也用于保护WLAN-UE 的临时标志。构造EAP 请求/AKA 挑战消息, 消息包含RAND、AUTH、临时标志, 并计算消息鉴别码。最后, 将EAP 请求/AKA 挑战消息发送给WLAN-AN。WLAN-UE 首先验证AUTH, 并确认接收的序列号SQN是否在有效范围内, 如果都正确, 则实现了对3G 网络的认证。计算IK和CK, 从IK和CK 中生成共享密钥, 然后验证消息鉴别码是否正确, 并保存收到的临时标志。计算RES = f2k( RAND) , 构造EAP回应/AKA 挑战消息, 消息包含RES, 并计算消息鉴别码。最后, 将EAP 回应/AKA 挑战消息发送给WLAN-AN。3GPP AAA 服务器首先验证消息鉴别码, 然后计算XRES, 并与收到的RES 进行比较。如果正确, 则认证了WLAN-UE 的身份, 并向WLAN-AN发送EAP 成功的消息。同时一起发送的还有在WLAN通信中用于机密性和一致性保护的共享密钥。WLAN-AN保存共享密钥, 此共享密钥将用于与WLANUE通信时的机密性和一致性保护, 同时将EAP 成功的消息发送给WLAN-UE。安全性分析EAP-AKA 协议基于WLAN-UE 与HSS/HLR 之间共享的秘密密钥K, 实现WLAN用户与3G 网络的相互认证和密钥分配。(1) WLAN用户与3G 网络之间的双向认证。WLAN用户对3G 网络的认证是在上述第 步实现的。WLAN-UE 收到3GPP AAA 服务器发送过来的AUTN = SQN AK AMFMAC, 确认序列号SQN是否在有效范围内, 并验证AUTH 是否正确。因为只有使用正确的秘密密钥K 才能生成正确的AUTN, 而只有合法的HSS/HLR 才有秘密密钥K, 因此上述过程实现了对3G网络合法性认证。3G网络对WLAN 用户的认证是在上述第 步实现的。3GPP AAA 服务器首先计算XRES = f2k ( RAND) , 然后与收到的RES= f2k ( RAND) 进行比较。也因为只有合法的WLAN 用户才有秘密密钥K, 因此如果XRES = RES, 就可以认证WLAN用户的合法身份。(2) WLAN-UE 与WLAN-AN 之间的密钥分配。合法的WLAN-UE 收到正确的随机数RAND 后, 能正确生成CK = f3k( RAND) 和IK= f4k ( RAND) , 进而能正确生成用于WLAN 通信中机密性和一致性保护的会话密钥。而WLAN-AN的会话密钥是从3GPP AAA 服务器得到的, 3GPP AAA 服务器首先生成CK 和IK, 然后生成会话密钥, 再传送给WLAN-AN。因此, EAP-AKA 协议能确保WLAN-UE 与WLAN-AN 之间能共享会话密钥, 并且会话密钥没有在无线接口中传输, 具有一定的安全性。( 3) 密钥的新鲜性。在EAP-AKA 协议的每次认证过程中, WLAN-UE 与WLAN-AN 共享的会话密钥通过CK 与IK 生成, 而CK与IK 是采用随机数计算得到的, 从而确保了密钥的新鲜性。( 4) 防重放攻击。协议传递的消息使用了随机数和不断递增的序列号SQN作为输入, 因而保证了消息的新鲜性。并且, 该随机数包含在保证消息完整性的消息鉴别码, 而响应方在响应消息的鉴别码中也包含了该随机数, 因此任何第三方都无法利用先前截获的消息发起重放攻击。( 5) 潜在的漏洞。与3G 的认证与密钥分配协议AKA 一样, EAP-AKA 协议也没有WLAN 用户与3G 网络之间共享的秘密密钥K 的更新机制, 这可能会导致USIM克隆攻击。另外, 当WLAN 用户首次进行认证, 或3G 网络不认识WLAN用户的临时标志时,WLAN用户需传送IMSI, 并且使用的是明文, 这会影响用户身份的机密性。( 6) 可能的攻击。3G 网络的认证与密钥分配协议AKA 存在MS( 移动站) 假冒攻击的可能。事实上,同样的攻击也可能发生在EAP-AKA 协议上。并且, 由于WLAN的覆盖范围小,WLAN-AN与WLAN-UE 一样,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江省事业编水利岗面试高频题集含答案
- 2026 年人教版初中地理八年级上册单元基础测试卷
- 安全查封流程指南讲解
- 初中历史教资面试结构化答辩题库及答案
- 2026年唐山三友集团有限公司人员招聘考试备考题库及答案详解
- 2026年广东恒健投资控股有限公司人员招聘考试备考题库及答案详解
- 2025年博物馆事业单位招聘真题及答案解析
- 2026年中国石油乌鲁木齐石化分公司人员招聘笔试参考题库及答案详解
- 2026年大渡河公司人员招聘参考题库及答案详解
- 隐患排查治理岗位应知应会考试题库含答案
- 2026广东河源市连平县事业单位随军家属招聘工作人员2人重点基础提升(共500题)附带答案详解
- 加油站油罐安装施工方案
- (2025版)基层医师2型糖尿病患者胰岛素应用专家共识解读课件
- 探索openEHR模型:原理、方法与系统实现的深度剖析
- 《智能网联汽车规划与决策技术》课件 项目4 常见的行为决策方法
- 2026年智慧海洋产业园区规划:功能布局与产业协同设计
- 个人暗股合同协议书
- 基础机械结构知识培训课件
- 秋季加油站安全培训课件
- 2025-2026学年人美版(2024)小学美术三年级上册《果篮传情谊》教学设计
- 认知障碍患者护理课件
评论
0/150
提交评论