EAP信息交换:

上图中展示的是OTP(一次性密码)实现EAP交换过程,具体的EAP交换过程如下:

步骤1:请求方向认证方发送EAPOL-Start消息,通知对方已经做到了认证准备(注意:若会话由认证方发起,不需要该报文)
步骤2:在检测到链路活动后(比如客户连接到SW端口),认证方向请求当发送EAP-Request/Identity消息
步骤3:请求方给认证方回复EAP-Response/Identity消息,并由认证方转发给认证Server,请求方和认证Server之间也可以使用UDP  
             承载的Radius协议进行通信
步骤4:认证Server给认证服务器发送一个Radius格式的质询(challenge)消息,认证方将其重新封装为EAPOL发送给请求方(注意
             支持单向和双向认证,单向即Server验证请求方的身份;双向即双方都验证对方身份,无线中采用双向避免中间人攻击)
步骤5:请求方向认证方恢复质询消息,并由认证方准发给认证Server
步骤6:如果请求方提供的身份凭证无误,认证Server将返回Success的消息给请求方,并由认证方转发给请求方,认证方根据认证
             结果给予请求方访问网络资源的权限。

802.1X定义的三种端口状态:

如果SW端口使用了802.1X认证,则端口认证处于Auto状态,在请求方通过认证之前,端口处于非授权状态,待请求方认证通过后,端口处于授权状态。

端口认证主机模式:

端口认证的模式有5种,分别为单主机模式、多主机模式、多域认证模式、多认证模式和开放式模式。

EAP协议类型:

可以采用多种EAP协议来保护优先或无线网络的安全。

几种常使用的EAP:

 (1) EAP-MD5(EAP-消息摘要算法第5版)——不推荐
    采用质询-响应机制对用户进行认证。
    
    特点:
    • 只采用用户名和密码作为请求方身份凭证
    • 大多设备支持(相对简单)
    • EAP-MD5对处理器要求不高,不会给认证双方造成负担
    • 存在固有漏洞,安全性较差
        a. 只提供单向认证(请求方不能确定认证服务器的身份)
        b. 请求方的用户名以明文方式传输(传输途中遭截获可通过社会工程学攻击获取密码)
        c. MD5散列函数安全性较差(易遭到离线词典攻击)
    
EAP-MD5数据字段:
    

原理:
    

 (2) PEAPv0/MSCHAPv2(EAP-受保护的EAP/微软质询握手认证协议第2版)
    
    该EAP的两个阶段:
        a. 阶段一:采用和EAP-TLS相同的过程建立TLS隧道,并完成对认证服务器的身份的验证,该阶段完成,请求方和认证服务器之间建立了一条用户传输EAP消息的加密隧道。
        b. 阶段二:认证服务器采用另一种EAP协议(通常为MS-CHAPv2)对请求方进行认证,
    
    特点:
    • 由Cisco、Microsoft和RSA Security共同开发
    • 通过创建加密的TLS隧道以传输请求方的身份凭证
    • 支持多种EAP类型作为内部认证协议
    • 采用基于公钥基础设施(PKI)标准的服务器端数字证书作为服务器的身份凭证
    • 若无法为所有的用户签发证书,也可以采用Windows的用户名和密码(这通过查询Windows域控制器、Active Directory或者其他现有的用户数据库实现)
    • 分为两阶段
    
    EAP数据(PEAPv0/MS-CHAPv2):
    

原理:
    

(3) EAP-LEAP(EAP-轻量EAP)
    特点:
    • Cisco开发
    • 认证双方采用双向认证
    • 请求方身份凭据为用户名和密码
    • 认证服务器的身份凭证为共享密钥(shared secret)
    • 先验证请求方,再验证认证服务器
    
    原理:
    
    
    (4) EAP-TLS(EAP-传输层安全)
    特点:
    • 由Microsoft开发
    • 以TLS协议为基础
    • 采用双向认证
    • 使用数字证书或者智能卡作为身份凭证
    • 配置复杂
    • 部署成本高
    • 对处理器运算要求较高
    • 可以配置为双要素认证(two-factor authentication)系统,它是目前安全性最高的认真机制之一
    
    EAP-TLS数据字段:
    
    原理:
    

 (5) EAP-TTLS(EAP-隧道化传输层安全)
    特点:
    • 可视为EAP-TLS扩展
    • 认证过程分为两个阶段
    • 一定程度上简化了配置
    • 支持PAP、CHAP等非EAP协议
    • 不要求双方都采用数字证书的身份凭证
    
    EAP-TTLS数据字段:
    

 原理:
    阶段1:EAP-TTLS采用与EAP-TLS类似的方式在请求方和认证Server之间创建加密的TLS隧道,并在隧道中封装其他认证机制。
    阶段2:在隧道中进行双向的身份验证。
    
    (6) EAP-FAST(EAP-经由安全隧道的灵活认证)
    
    特点:
    • Cisco开发的专有协议
    • 安全性高
    • 不必使用数字证书
    • 能抵御中间人攻击、重放攻击、词典攻击等在内的多种网络攻击
    • 认证分为两个阶段
        a. 阶段1:请求方和认证服务器间采用受保护的访问凭证(PAC)创建加密的TLS隧道
        b. 阶段2:请求方的身份凭证通过TLS隧道发送给认证服务器,并由后者加以验证
        
    注意:TLS隧道依赖于PAC,PAC由证书服务器动态配置并管理。
    
    EAP-FAST数据字段:
    

附:

EAP认证的更多相关文章

  1. 基于TLS的EAP 认证方法

    TLS: transport level security , 安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性.该协议由两层组成: TLS 记录协议(TLS Record)和 TLS ...

  2. [EAP]将hostapd作为radius服务器搭建EAP认证环境

    文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 3.外接 ...

  3. Ubuntu下freeradius的EAP-MD5,PEAPv0/EAP-MSCHAPv2,EAP-TTLS/MD5,EAP-TTLS/MSCHAPv2方式认证(基于mysql)

    基于freeradius+mysql,今天验证下freeradius的EAP认证:1.EAP-MD5:2.EAP-PEAP 一.EAP-MD5方式认证 1.修改配置文件 (1)/usr/local/e ...

  4. CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证

    CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osno ...

  5. CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能

    什么是RADIUS服务: RADIUS:(Remote Authentication Dial In User Service)中文名为远程用户拨号认证服务,简称RADIUS,是目前应用最广泛的AAA ...

  6. 无线加密的多种方法及其区别(WEP WPA TKIP EAP)

    无线加密的多种方法及其区别(WEP WPA TKIP EAP) 无线网络的安全性由认证和加密来保证. 认证允许只有被许可的用户才能连接到无线网络: 加密的目的是提供数据的保密性和完整性(数据在传输过程 ...

  7. Windows Server 搭建企业无线认证(Radius认证方案)

    认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架.它被定义在RFC 3748中,并且使RFC ...

  8. 网络测试技术——802.1X_MD5认证(上篇)

    一.MD5认证简介 1.认证过程 (1)无隧道 (2)客户端和服务器之间进行 2.单向认证 (1)服务器对客户端认证 3.缺点 (1)用户名明文传输 (2)弱MD5哈希   二.MD5认证过程 1.客 ...

  9. 【转】WiFi基础知识

    http://blog.csdn.net/myarrow/article/details/7930131 1. IE802.11简介 标准号 IEEE 802.11b IEEE 802.11a IEE ...

随机推荐

  1. Java替换字符串中的\r\n

    public static void main(String[] args) { String str = "啊\r\n啊"; str = str.replaceAll(" ...

  2. hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用

    本文原创,如需转载,请注明原文链接和作者 所用到的命令的总结: yarn:启动start-yarn.sh   停止stop-yarn.sh zk :zkServer.start ;:zkServer. ...

  3. MS Sqlserver删除字段最后的多余字符

    存在这样一些数据 ,,,,dga bc,,aaaa,,,,,,,,dga bc,,aaaa,,,,,,,dga bc,,aaaa,,,,,,,dga bc,,aaaa,,,,,, 需要将最后多余的逗号 ...

  4. 已解决:解压Python-3.6.1.tar.xz提示tar (child): xz:无法 exec: 没有那个文件或目录

    安装一个xz后解决了 yum install xz 再次解压成功了

  5. CSP2019感想

    我觉得自己好弱啊. 想更新博客,可是又没有人看. 本来自己还不算太弱,可是自己越来越腐败. 看看自己,连更新博客的资本都没有了呢.别人写些什么都是经典干货.自己写什么自己都觉得垃圾,只好默默地删掉. ...

  6. CTF_论剑场 名侦探柯南

    首先看一下是一个压缩包然后下载 解压后会发现一个图片和另一个压缩包 打开图片 发现是这个 用HxD分析一下这张图片通过搜索 zip jpg...... 然后会发现这张图片里有一个png 图片 所以判断 ...

  7. opencv静态编译

    在Windows下opencv静态编译. 使用cmake生成visual Studio 2015 解决方案如下图所示: 重点看红色框线里的内容,先编译ALL_BUILD,这样就把所有子项目编译成功.所 ...

  8. 运行composer出现do not run Composer as root/super user!

    curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer composer - ...

  9. java.lang.NoSuchMethodException: com.sun.tools.javac.util.List.<init>()

    主要原因是import jar包的时候import java.util.List;这个,导致错误

  10. Vue基础笔记2

    目录 1. 如何获取Vue对象中的成员? 2. pre指定 3. for循环 4. todolist 5. 分隔符 6. computed 计算后的 7. vue的生命周期(讲解不全) 8. watc ...