EAP认证
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认证的更多相关文章
- 基于TLS的EAP 认证方法
TLS: transport level security , 安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性.该协议由两层组成: TLS 记录协议(TLS Record)和 TLS ...
- [EAP]将hostapd作为radius服务器搭建EAP认证环境
文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 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 ...
- CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证
CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osno ...
- CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交换机连接,实现,上网认证和记账功能
什么是RADIUS服务: RADIUS:(Remote Authentication Dial In User Service)中文名为远程用户拨号认证服务,简称RADIUS,是目前应用最广泛的AAA ...
- 无线加密的多种方法及其区别(WEP WPA TKIP EAP)
无线加密的多种方法及其区别(WEP WPA TKIP EAP) 无线网络的安全性由认证和加密来保证. 认证允许只有被许可的用户才能连接到无线网络: 加密的目的是提供数据的保密性和完整性(数据在传输过程 ...
- Windows Server 搭建企业无线认证(Radius认证方案)
认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架.它被定义在RFC 3748中,并且使RFC ...
- 网络测试技术——802.1X_MD5认证(上篇)
一.MD5认证简介 1.认证过程 (1)无隧道 (2)客户端和服务器之间进行 2.单向认证 (1)服务器对客户端认证 3.缺点 (1)用户名明文传输 (2)弱MD5哈希 二.MD5认证过程 1.客 ...
- 【转】WiFi基础知识
http://blog.csdn.net/myarrow/article/details/7930131 1. IE802.11简介 标准号 IEEE 802.11b IEEE 802.11a IEE ...
随机推荐
- unittest学习3-测试组件setup、teardown
unittest的测试用例执行时都可以设置setup.teardown,用来初始化测试开始和测试结束关闭,例如: import unittest class MyTestCase(unittest.T ...
- 微信小程序 购物车流程
购物车流程 一.需求分析 a:全选,单选,根据选中的计算数目和总价 b:单个商品加减 c:删除一个商品 wxml 布局 <view> <view v-if="flag&qu ...
- 利用Ajax实现数据的同步传输,从mysql中提取数据,通过echarts可视化
如何将mysql数据库中的方式通过echarts可视化呢,以下面这个简单的例子向大家进行演示: 步骤一:mysql的创表和插入数据,当然这些数据也可以是你通过爬虫抓取的. 步骤二: 创 ...
- 解决Cannot download "https://github.com/sass/node-sass/releases/download/binding.nod的问题
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
- Pandas 数据分析——超好用的 Groupby 详解
在日常的数据分析中,经常需要将数据根据某个(多个)字段划分为不同的群体(group)进行分析,如电商领域将全国的总销售额根据省份进行划分,分析各省销售额的变化情况,社交领域将用户根据画像(性别.年龄) ...
- jquery获取ul下的所有li个数
通过jquery获取ul下所有li的个数(eg) $("ul li").length 通过jquery设置标签css的样式(eg)$("#div").css({ ...
- 【visio】故障树分析图
率属于 商务 故障树是从一个可能的事故开始,自上而下.一层层的寻找顶事件的直接原因和间接原因事件,直到基本原因事件,并用逻辑图把这些事件之间的逻辑关系表达出来. 主要的应用场景:分析复杂问题原因,一个 ...
- Linux - Shell - 字符串拼接
概述 shell 的字符串拼接 1. 字符串声明 概述 字符串的基本操作 脚本 1 # 声明字符串 str01="str01" echo ${str01} # 单引号也可以 # 不 ...
- 【经典数据结构】B树与B+树的解释
本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 前面讲解了平衡查找树中的2-3树以及其实现红 ...
- Go常量
1. 常量 package main import "fmt" func main() { /* 常量: 1.概念:同变量类似,程序执行过程中数值不能改变 2.语法: 显式类型定义 ...