无线网络安全

news2024/10/2 22:24:46

这里写目录标题

  • 目的
  • 数据加密
    • WEP
    • RSN
  • 身份认证
    • EAP
    • 802.1X(EAPOL)
  • RSNA
    • 密钥派生
      • 密钥派生方法
      • 密钥派生流程
    • 密钥缓存
      • 密钥缓存流程

目的

1.数据的完整性(Integrity):用于检查数据在传输过程中是否被修改。
2.数据的机密性(Confidentiality):用于确保数据不会被泄露。
3.身份验证和访问控制(Authentication and Access Control):用于检查受访者的身份

数据加密

数据加解密由硬件完成

WEP

数据加密:使用流密码对数据加密,所有数据使用同一个wep key加密,采用CRC完整性校验。
身份认证:支持open和share key两种。
open可以在后续使用安全性更高的RSNA
share key即AP发送challenge text,但不能在后续使用安全性更高的RSNA

RSN

支持两种TKIP和CCMP数据加密及完整性校验算法

TKIP加密:每一帧使用不同key(流密码),采用MIC完整性校验。使用MAC地址等的信息进行加密,更加安全

CCMP加密:采用AES安全块协议,使用PN和keyid的CCMP头信息加密,更加安全。

身份认证

EAP

定义在协议RFC3748

组件:

  • Authenticator(验证者):简单点说,Authenticator就是响应认证请求的实体(Entity)。对无线网络来说,Authenticator往往是AP。
  • Supplicant(验证申请者)发起验证请求的实体。对于无线网络来说,Supplicant就是智能手机。
  • BAS(Backend Authentication Server,后端认证服务器):某些情况下(例如企业级应用)Authenticator并不真正处理身份验证,它仅仅将验证请求发给后台认证服务器去处理。正是这种架构设计拓展了EAP的适用范围。
  • AAA(Authentication、Authorization and Accounting,认证、授权和计费):另外一种基于EAP的协议。实现它的实体属于BAS的一种具体形式,AAA包括常用的RADIUS服务器等。在RFC3748中,AAA和BAS的概念可互相替代。
  • EAP Server:表示真正处理身份验证的实体。如果没有BAS,则EAP Server功能就在Authenticator中,否则该功能由BAS实现
    在这里插入图片描述

架构
在这里插入图片描述

  • EAP Method:(算法)属于具体的身份验证算法层。不同的身份验证方法有不同的Method Type。
  • EAP Supplicant/Authenticator Layer:(分发)根据收到EAP数据包中Type字段(见下文介绍)的不同,将其转给不同的EAP Method处理
  • EAP Layer:(收发)用于收发数据,同时处理数据重传及重复(Duplicate)包
  • Lower Layer(LL):传输层

802.1X(EAPOL)

802.1X讨论了EAP在Wired LAN上的实现

定义了受控端口和非受控端口。非受控端口只允许少量类型的数据流通,如EAPOL认证帧;受控端口认证通过前不允许传输任何数据。
在这里插入图片描述

EAPOL数据格式:
0x888e代表EAPOL在802.11帧中的类型。
Key Descriptor Type值为2,表示EAPOL RSN Key。
Descriptor Body的内容就是大括号中所包含的信息。

RSNA

流程
在这里插入图片描述

  • 发现阶段:选择AP。扫面过程中检查接收的beacon和probe是否包含RSNE信息元素,选择合适AP进行802.11Authentication和Association。
  • 802.1X认证阶段:身份认证。分配该次会话所需要的一系列密钥(PMK)用于后续通信的保护。
  • 密钥管理:生成单播,组播密钥。通过4-Way Handshake和Group Key Handshake协议。确认上一阶段分配的密钥是否存在,以及确认所选用的加密套件,并生成单播数据密钥和组播密钥用于保护数据传输。

数据加密和完整形校验:采用TKIP和CCMP
密钥派生和缓存:4-Way Handshake和Group Key Handshake

密钥派生

目的:RSNA中要求不同的STA和AP关联后使用不同的Key进行数据加密
在这里插入图片描述
PMK(Pairwise Master Key,成对主密钥):在STA中设置的密码。

PMK来源:

  • 在soho网络环境中,无专门的验证服务器。来源于双方事先配置好的预共享密钥(Pre-Shared Key,PSK)。
  • 在企业网络环境中:PMK和Authenticator Server(如RADIUS服务器)有关,通过EAPOL消息和后台AS经过多次交互来获取。

PTK(Pairwise Transient Key,成对临时Key):PMK密匙派生以得到PTK,安装到硬件中加密数据。PTK利用EAPOL Key帧即4-Way Handshake过程进行信息交换生成。每次关联PTK均重新生成。

密钥派生方法

输入PMK长256位(如果用户设置的密钥过短,规范要求STA或AP将其扩展到256位),通过PRF(Pseudo RandomFunction,伪随机数函数)并结合S/A(Supplicant/Authenticator)生成的Nonce(这两个Nonce将通过4-Way Handshake协议进行交换)以及S/A MAC地址进行扩展,从而派生出TKIP和CCMP用的PTK。
在这里插入图片描述
KCK(Key Confirmation Key)用于计算密钥生成消息的完整性校验
KEK(Key Encryption Key)用来加密密钥生成消息

密钥派生流程

四次握手流程
在这里插入图片描述
1.AP生成Anonce,并发送给STA
2.STA生成Snonce,结合PMK、Anonce和MAC地址生成ptk。
STA发送Snonce和KCK计算出的MIC给AP。
AP接收Snonce,并派生出PTK计算MIC校验。
3.AP发送install、GTK、MIC
4.STA发送MIC

4-Way Handshake完成后,STA和AP安装PTK

密钥缓存

目的:由于802.1X协商步骤涉及多次帧交换,故其所花费时间往往较长。在这种情况下,STA缓存这个得来不易的PMK信息就可消除以后再次进行802.1X协商步骤的必要,从而大大提升认证速度

PMKSA(PMK Security Association):PMK缓存信息。包括AP的MAC地址、PMK的生命周期(lifetime),以及PMKID。
其中PMKID包含(PMK IDentifier,用于标示这个PMKSA,其值由PMK、AP的MAC地址、STA的MAC地址等信息用Hash计算得来)。

密钥缓存流程

STA首先根据APMAC地址判断自己是否有缓存了的PMKSA,如果有则把PMKID放在RSNE中然后通过Association/Reassociation Request发送给AP。
AP根据这个PMKID再判断自己是否也保持了对应的PMKSA。如果是,双方立即进入4-Way Handshake过程,从而避免802.1X协商步骤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/484485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【25】linux进阶——网络文件系统NFS

大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识,希望能提高自己的技术的同时,也可以帮助到大家 另外其它专栏请关注: 锐捷数通实验&…

STC15W1048脚单片机,开漏和推挽输出比较(点亮LED)

增强型 8051 CPU,1T单时钟/机器周期,指令代码完全兼容传统8051 工作电压:2.5V - 5.5V 1K/2K/3K/4K/5K/7K字字节片内Flash程序存储器,擦写次数10万次以上 片内128字节的SRAM XRAM (xdata) 有片内EEPROM功能,擦写次数1…

医药之家:国家基本药物目录或于6月迎来更新

国家基本药物目录是医疗机构和保险提供商选择经济实惠且具有良好临床疗效的药物的指南,预计在6月迎来下一次更新。新版目录将聚焦儿科药物、眼科及中药。该目录作为医疗机构和保险公司选药的重要指南,着重选取经济实惠且具备良好临床疗效的药品。专家将从…

PID整定一:响应曲线法

PID整定一:响应曲线法 1参考[完全经验法、等幅振荡法、衰减曲线法、响应曲线法]1.1完全经验法1.2等幅振荡法1.3衰减曲线法1.4响应曲线法 2响应曲线法PID整定示例 1参考[完全经验法、等幅振荡法、衰减曲线法、响应曲线法] 参考 1.1完全经验法 这种方法没有任何定…

ripro主题修改教程-首页搜索框美化教程

先看效果图: 我们来看怎么实现: 1、找到wp-content/themes/ripro/assets/css/diy.css并将下面的内容整体复制进去并保存 /*首页搜索框*/ .bgcolor-fff {background-color: #fff; } .row,.navbar .menu-item-mega>.sub-menu{margin-left:-10px;margin-right:-10px;} .home…

中级软件设计师备考---程序设计语言和法律法规知识

目录 需要掌握的程序语言特点法律法规知识---保护期限法律法规知识---知识产权人确定法律法规知识---侵权判定标准化基础知识 需要掌握的程序语言特点 Fortran语言:科学计算、执行效率高Pascal语言:为教学而开发的、表达能力强,演化出了Delp…

《编码——隐匿在计算机软硬件背后的语言》精炼——第15-16章(十六进制,RAM)

“学习如春起之苗,不见其增,日有所长。” —— 宋代朱熹 文章目录 十六进制十六进制概述十六进制表字节到十六进制 存储器特定的读功能特定的写功能RAM大型RAM阵列 十六进制 十六进制概述 十六进制是一种适用于计算机的进制法。在十进制中,…

PS学习笔记(零基础PS学习教程)

很多新手学习PS不知从何下手,做设计的第一阶段肯定是打牢基础,把工具用熟练;本期特别为大家整理了PS入门的学习笔记,把每个工具的用法整理了下来,在使用过程中有哪里不清楚的可以翻看来看看~ 一、ps的工作界面的介绍 …

腾讯云的cdn怎么配置|腾讯云CDN配置教程

众所周知,WordPress系统不挂加速或者是服务器不好速度贼慢,所以要想办法解决访问速度的问题,经过我不断的研究腾讯云的CDN,因为我用的是zibll子比主题,不懂的就挂会导致无法使用第三方登录,因为有缓存导致一直不回调一直卡在那个登录界面和支付没反应要么出现二维码,要么…

【C++实现】从0简单理解muduo网络库

文章目录 TODO前言前置知识IO 异步同步还是异步举例muduo为什么用LT模式vscode 的一些编译方法 底层数据结构分析noncopyableLogger设置宏来方便打印日志 Timestamp 时间类InetAddressInetAddress 是对sockaddr_in结构体的一层封装 ChannelPoller.h EpollPoller (调…

c++ 11标准模板(STL) std::vector (四)

定义于头文件 <vector> template< class T, class Allocator std::allocator<T> > class vector;(1)namespace pmr { template <class T> using vector std::vector<T, std::pmr::polymorphic_allocator<T>>; }(2)(C17…

庖丁解牛函数知识---C语言《1》

目录 前言&#xff1a; 1.程序中的函数 2.库函数的学习和使用 3.自定义函数 4.传值调用与传址调用 5.形参与实参 6.练习---二分查找函数 ❤博主CSDN:啊苏要学习 ▶专栏分类&#xff1a;C语言◀ C语言的学习&#xff0c;是为我们今后学习其它语言打好基础&#xff0c;C生…

Apache POI,springboot中导出excel报表

2. Apache POI 2.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 Apache POI 的应用场景…

【SQL】窗口函数及行转列等操作总结

1. 窗口函数 窗口函数的应用 排名问题&#xff1a;每个部门按业绩来排名 topN问题&#xff1a;找出每个部门排名前N的员工进行奖励 窗口函数的语法 <窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>) <窗口函数>的位置&…

Java基础--->JVM(1)

文章目录 为什么学习JVM&#xff1f;什么是虚拟机&#xff1f;JVM的作用JVM组成部分类加载器类什么时候会被加载&#xff08;初始化&#xff09;有哪些类加载器什么是双亲委派机制如何打破双亲委派机制 为什么学习JVM&#xff1f; ​ 学习JVM是为了能更深入的理解Java这门语言&…

推荐算法实战项目:PNN 原理以及案例实战(附完整 Python 代码)

本文要介绍的是由上海交通大学的研究人员提出的PNN&#xff08;Product-based Neural Networks&#xff09;模型&#xff0c;该模型包含一个embedding层来学习类别数据的分布式表示&#xff0c;此外还包含product层来捕获字段之间的特征交互模式&#xff0c;最后包含一个全连接…

一个实例讲讲 ChatGPT 推理

吴恩达与 OpenAI 官方联合推出了 1.5 小时的免费视频课&#xff1a;地址&#xff1a; https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/2/guidelines 今天我学了第四讲&#xff0c;ChatGPT Inferring&#xff0c;即推理 教学中&#xff0c;给的例子是情绪判断。 我很…

手写数字识别基本思路

问题 什么是MNIST?如何使用Pytorch实现手写数字识别&#xff1f;如何进行手写数字对模型进行检验&#xff1f; 方法 mnist数据集 MNIST数据集是美国国家标准与技术研究院收集整理的大型手写数字数据集&#xff0c;包含了60,000个样本的训练集以及10,000个样本的测试集。 使用P…

RIP笔记

目录 RIP路由信息协议——UDP520端口(RIPNG521端口) RIP使用的算法——贝尔曼福特算法 RIP的版本 RIP的数据包 RIP的工作过程 RIP的计时器 周期更新计时器——默认30s 失效计时器——默认180s 垃圾回收计时器——默认120s RIP的环路问题 解决方法&#xff1a; RIP的…

12种接口优化的通用方案

一、背景 针对老项目&#xff0c;去年做了许多降本增效的事情&#xff0c;其中发现最多的就是接口耗时过长的问题&#xff0c;就集中搞了一次接口性能优化。本文将给小伙伴们分享一下接口优化的通用方案。 二、接口优化方案总结 1.批处理 批量思想&#xff1a;批量操作数据库…