EAP-TLS/EAP-TTLS/EAP-PEAP

article/2025/10/11 14:02:58

原文:http://blog.chinaunix.net/uid-26422163-id-3457357.html

 

IEEE的802.1X使用了EAP认证框架,因为EAP提供了可扩展的认证方法,但是这些认证方法的安全性完全取决于具体的认证方法,比如EAP-MD5、EAP-LEAP、EAP-GTC等,而802.1X最开始是为有线接入设计的,后来被用于无线网的接入,有线接入在安全性方面考虑毕竟少,如果要窃取信息需要物理上连接网络,而无线网完全不同,无线网信号没有物理边界,所以要使用802.1X的话,需要对802.1X进行安全性方面的增强,也就是增强EAP认证框架的安全性,而且要进行双向认证,那么EAP使用了IETF的TLS(Transport Layer Security)来保证数据的安全性,见如下描述:

 

  1. 802.1x was initially developed for authentication of users on traditional wired LANs, and therefore did not require strong encryption. Eavesdropping is certainly possible on wired networks, though it requires physical access to network equipment. Wireless networks are much easier to perform traffic analysis on because physical access to the network does not require physical access to the network equipment. Frames on wireless networks can be easily intercepted in transit with wireless network analysis software. Wireless networks also have additional authentication requirements. Without physical access to the equipment, users need to ensure that they are connecting to legitimate access points that are part of the organization's network, not "rogue" access points set up as part of a man-in-the-middle attack. In addition to the requirement for user (client) authentication, wireless network users also need to authenticate the networks they connect to.
  2.  
  3. These two requirements, strong encryption to prevent eavesdropping and mutual authentication to ensure that sensitive information is transmitted only over legitimate networks, must drive your wireless authentication strategy. In practice, only methods based on the IETF's well-known Transport Layer Security (TLS) standard can satisfy strict encryption and authentication requirements. Three TLS-based protocols have been developed for use with EAP and are suitable for deployments with wireless LANs:
  4.  
  5. EAP-Transport Layer Security (EAP-TLS)
  6. Tunneled Transport Layer Security (TTLS)
  7. Protected EAP (PEAP)

    现在有3种基于TLS的EAP认证方法:

  1. EAP-TLS:

    EAP-TLS使用TLS握手协议作为认证方式,TLS有很多优点,所以EAP选用了TLS作为基本的安全认证协议,并为TTLS和PEAP建立安全隧道,TLS已经标准化,并且进过了长期应用和分析,都没有发现明显的缺点。

    TLS认证是基于Client和Server双方互相验证数字证书的,是双向验证方法,首先Server提供自己的证书给Client,Client验证Server证书通过后提交自己的数字证书给Server,客户端的证书可以放到本地、放到key中等等.

    TLS有一个缺点就是TLS传送用户名的时候是明文的,也就是说抓包能看到EAP-Identity的明文用户名。

    TLS是基于PKI证书体系的,这是TLS的安全基础,也是TLS的缺点,PKI太庞大,太复杂了,如果企业中没有部署PKI系统,那么为了这个认证方法而部署PKI有些复杂,当然,如果企业已经部署了PKI,那么使用EAP-TLS还是不错的选择。

  2. EAP-TTLS:  

  3. EAP-PEAP:

    正因为TLS需要PKI的缺点,所以设计出现了TTLS和PEAP,这两个协议不用建立PKI系统,而在TLS隧道内部直接使用原有老的认证方法,这保证了安全性,也减小了复杂度。

    把TTLS和PEAP放到一起介绍的原因是他们俩很像,两个都是典型的两段式认证,在第一阶段建立TLS安全隧道,通过Server发送证书给Client实现Client对Server的认证(这里TTLS和PEAP仍然使用证书,但是这里的证书都是服务器证书,管理起来比TLS客户端证书要简单那的多);当安全隧道一旦建立,第二阶段就是协商认证方法,对Client进行认证;

    TTLS利用TLS安全隧道交换类似RADIUS的AVPs(Attribute-Value-Pairs),实际上这些AVPs的封装和RADIUS都十分相似,TTLS这种AVPs有很好的扩展性,所以它几乎支持任何认证方法,这包括了所有EAP的认证方法,以及一些老的认证方法,比如PAP、CHAP、MS-CHAP、MS-CHAPv2等,TTLS的扩展性很好,通过新属性定义新的认证方法。

    PEAP之所以叫Protected EAP,就是它在建立好的TLS隧道之上支持EAP协商,并且只能使用EAP认证方法,这里为什么要保护EAP,是因为EAP本身没有安全机制,比如EAP-Identity明文显示,EAP-Success、EAP-Failed容易仿冒等,所以EAP需要进行保护,EAP协商就在安全隧道内部来做,保证所有通信的数据安全性。其实PEAP最大的优点就是微软支持开发,微软在Windows系统内集成了客户端,微软和Cisco都支持PEAP,但是他们的实现有所区别。

 

    他们之间关系如下:


http://chatgpt.dhexx.cn/article/CXG37Nmn.shtml

相关文章

peaks

文章目录 语法说明示例 peaks:包含两个变量的示例函数 语法 Z peaks; Z peaks(n); Z peaks(V); Z peaks(X,Y); peaks(...) [X,Y,Z] peaks(...);说明 peaks 是从高斯分布转换和缩放得来的包含两个变量的函数,在演示 mesh、surf、pcolor、contour 等函数中很有…

Radius协议、EAP协议、EAP-MSCHAPv2、EAP-TLS、EAP-TTLS和EAP-PEAP

1. Radius协议 Radius协议是目前AAA服务中所使用的最广泛的协议,它对认证,授权以及计费的功能都提供支持。Radius服务器通过建立一个唯一的用户数据库,存储用户名,用户密码等一系列信息,接入用户通过发送自己的用户名…

使用 freeradius 搭建 EAP PEAP MS-CHAPv2 验证环境

企业级 Wi-Fi 搭建起来有点小复杂,我们知道自己家使用的 Wi-Fi 非常简单,几乎只需要配置一下热点的 SSID 和密码就可以了,实际上这是两种 Wi-Fi 认证类型。想要快速部署企业级 Wi-Fi 验证环境,首先要理解企业级 Wi-Fi 部署的一些核…

IEEE 802.1X-PEAP认证过程分析(抓包)

IEEE 802.1X-PEAP认证过程分析(抓包) 本文介绍IEEE802.1X认证的PEAP认证方式,是带有radius服务器的EAP中继认证。 IEEE802.1X认证是使用EAP报文格式在申请者和认证者之间交换信息。带有radius服务器,即认证者不对申请者发送的数据…

PEP是什么

转载 :https://www.cnblogs.com/abella/p/10056875.html PEP是什么? PEP的全称是Python Enhancement Proposals,其中Enhancement是增强改进的意思,Proposals则可译为提案或建议书,所以合起来,比较常见的翻…

企业级无线渗透之PEAP

0x00 前言 上月,受邀在C-SEC上海快递行业安全会议上做了关于无线安全威胁的议题分享。介绍了家庭级的无线网络薄弱环节及攻击方法,同时列举了乌云上因无线边界被突破,造成内网沦陷的诸多例子。后半部分,简要的介绍了企业级无线网络…

深度讲解linux中fputc()函数

字符写入fputc函数 int fputc(int char, FILE *stream) 返回值 如果没有发生错误,则返回被写入的字符。如果发生错误,则返回 EOF,并设置错误标识符。 ch 为要写入的字符,fp 为文件指针。fputc() 写入成功时返回写入的字符&…

文件操作之函数fputc(),fgetc()

目录 引言 一、fputc()与putchar()的联系 二、fgetc()与getchar()的联系 总结 引言 引用自《C程序设计-清华大学出版社 (2017)》 一、fputc()与putchar()的联系 fputc(ch,fp)是将ch输出到fp所指的文件里面putchar(ch)是将ch输出到屏幕 FILE*fpfopen("text.txt",…

文件操作:fgetc与fputc函数的使用

在成功打开文件后,我们便可以对文件进行操作,以下是字符输入函数fgetc和字符输出函数fputc的简单使用说明。 如果还不知道如何打开文件的可以看看我的另一篇文章。 点我 fputc函数的使用 当我们以读的形式打开文件的时候,便可以使用fputc函数…

c语言中fputc函数的作用是,C语言中fputc函数的用法_后端开发

Python画ROC曲线和AUC值计算(附代码)_后端开发 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器的优劣。这篇文章将先简单的介绍ROC和AUC,而后用实例演示如何python作出ROC曲线图以及计算AUC。 C语言中fputc函数的用法 C语言中fputc函数…

C语言文件操作入门:fopen、fclose、fputc、fgetc、fputs、fgets、fprintf、fscanf、fwrite、fread详解

本篇文章主要讲解4组函数: 字符读写:fputc和fgetc。文本行读写:fputs和fgets。格式化读写:fprintf和fscanf。二进制读写:fwrite和fread。 预备知识:fopen和fclose 如果我们要读写一个文件,就必…

linux fputc fgetc fseek rewind 函数

目录 前言fputc 函数fgetc 函数fseek函数rewind函数 前言 <sprintf fprintf 函数 > 前一节讲了 sprintf fprintf 函数 的缓存问题 在他们的基础上加了一个while&#xff08;1&#xff09;&#xff1b; 来验证 结果都是输出的 不管怎么样 都会写入到内核态 内核态在输出…

c语言中fputc函数的作用是,C语言中fputc函数的用法

C语言中fputc函数的用法 C语言中fputc函数的用法为“int fgetc (FILE *fp)”&#xff0c;该函数的作用是从指定的文件中读取一个字符&#xff0c; 读取成功时会返回读取到的字符&#xff0c;读取到文件末尾或读取失败时返回EOF。推荐教程&#xff1a;《C语言》 示例代码#includ…

STM32重写fputc

操作步骤 01、在项目中&#xff0c;加上以下函数即可&#xff08;作用&#xff1a;重写fputc&#xff09; 库函数版 int fputc( int ch, FILE *f ){ USART_SendData(USART1,(u8) ch ); while(USART_GetFlagStatus(USART1,USART_F…

STM32重写fputc汇总

1. 在工程项目中加上函数fputc 例如&#xff1a; 库函数版 int fputc( int ch, FILE *f ) {USART_SendData(USART2,(u8) ch );while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)RESET);return ch; }寄存器版 int fputc(int ch, FILE *f){ while((USART2->SR&0X40)0)…

Keil 重定向 fputc 函数 以及 printf 函数的代码尺寸测试

本文的开发环境为 Keil Cortex-M3 内核处理器。 重定向 fputc 函数方法 如果想使用库函数 printf &#xff0c;必须要将 fputc 重定向到自己的串口上。 术语 重定向 可以理解为用户重写 fputc 函数&#xff0c;在重写的函数体内调用自己硬件的串口发送函数。 在 Keil 环境中…

fputc函数

/****************************************功能&#xff1a;写一个字节到文件流中*参数&#xff1a;* c 写入的字符* stream 流指针*返回值&#xff1a;* 成功返回字符* 失败返回EOF或errno*************************************/ int fputc(int c, FILE *stre…

标准c库:fputc,fgetc,feof

1、了解标准c库fopen等用法&#xff08;点击跳转&#xff09; 2、fputc写一个字符到文件 #include <stdio.h>int main() {FILE *fp;fp fopen("./test.txt","w");//int fputc(int c, FILE *stream);fputc(a,fp);fclose(fp);return 0; }3、fputc写一…

文件的输入输出函数

文章目录 前言字符输入输出函数 - fgetc和fputc文本输入输出函数 - fgets和fputs格式化输入输出函数 - fscanf和fprintf二进制输入输出函数 - fread和fwrite 前言 在文件操作函数&#xff08;一&#xff09;中&#xff0c;我们已经学会了怎样正确地打开和关闭一个文件&#xf…

计算机网络 | 传输层的两个重要协议——TCP、UDP

目录 传输层概述 传输层的作用 运输层端口号、复用与分用的概念 发送方的复用和接收方的分用 UDP和TCP的对比 TCP的流量控制 TCP的拥塞控制 TCP的差错控制 UDP的差错控制的和流控 TCP的封装格式 TCP主要特点 TCP的连接 可靠传输的工作原理 TCP连接的三次握手和四次挥…