【物联网无线通信技术】802.11无线安全认证

本文由简入繁介绍了IEEE802.11i无线局域网安全技术的前世今生,帮助路由器开发者对WLAN的加密安全策略有一个概念上的认知,能够更好地分析STA掉线以及漫游等问题。

目录

WEP

WPA

WPA/WPA2-PSK认证过程

802.11i


WEP

WEP是Wired Equivalent Privacy的简称,有线等效保密(WEP)协议对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络,用来提供和有线lan同级的安全性。

WEP有2种认证方式:

开放式系统认证(open system authentication)和共有键认证(shared key authentication)。共有键认证系统包括以下几个步骤:

  1. 客户端向接入点发送认证请求。
  2. 接入点发回一个明文。
  3. 客户端利用预存的密钥对明文加密,再次向接入点发出认证请求。
  4. 接入点对数据包进行解密,比较明文,并决定是否接受请求。

WPA

WPA全名为Wi-Fi Protected Access,有WPA和WPA2两个标准,是一种保护无线电脑网络(Wi-Fi)安全的系统,它是应研究者在前一代的系统有线等效加密(WEP)中找到的几个严重的弱点而产生的。WPA实作了IEEE 802.11i标准的大部分,是在802.11i完备之前替代WEP的过渡方案.该标准的数据加密采用TKIP协议(Temporary Key Integrity Protocol),认证有两种模式可供选择,一种是使用802.1x协议进行认证; 一种是称为预先共享密钥PSK(Pre-Shared Key)模式.WPA 超越WEP 的主要改进就是在使用中可以动态改变钥匙的“临时钥匙完整性协定”(Temporal Key Integrity Protocol,TKIP),加上更长的初向量,这可以击败知名的针对 WEP 的金钥匙取攻击。WPA(Wi-Fi Protected Access)加密方式目前有四种认证方式:

  1. WPA
  2. WPA-PSK
  3. WPA2
  4. WPA2-PSK

采用的加密算法有二种:

  1. AES(Advanced Encryption Standard高级加密算法)
  2. TKIP(Temporal Key Integrity Protocol临时密钥完整性协议)

WPA/WPA2-PSK认证过程

首先是PSK的产生方法:PSK = PBKDF2(PassPhrase(HQKS2017), ssid, 4096, 256),在personal状态下:PMK=PSK。实际使用过程中用的是PTK。

四次握手:

  1. AP广播SSID,AP_MAC(AA)→STATION,使用接收到的SSID,AP_MAC(AA)和passphares使用同样算法产生PSK。
  2. STATION 发送一个随机数SNonce,STATION_MAC(SA)→AP接受到SNonce,STATION_MAC(SA)后产生一个随机数ANonce然后用PMK,AP_MAC(AA),STATION_MAC(SA),SNonce,ANonce 用以下算法产生PTK,PTK=SHA1_PRF(PMK, Len(PMK),"Pairwise key expansion",MIN(AA,SA) ||Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))MIC Key=PTK前16个字节。
  3. AP发送上面产生的ANonce→STATION用接收到ANonce 和以前产生PMK,SNonce,AP_MAC(AA),STATION_MAC(SA)用同样的算法产生PTK。提取这个PTK 前16 个字节组成一个MICKEY使用以下算法产生MIC值用这个MIC KEY 和一个802.1x data 数据帧使用以下算法得到MIC值,MIC = HMAC_MD5(MIC Key,16,802.1x data)。
  4. 用上面那个准备好的802.1x 数据帧在最后填充上MIC值和两个字节的0(十六进制)让后发送这个数据帧到AP。收到这个数据帧后提取这个MIC。并把这个数据帧的MIC部分都填上0(十六进制)这时用这个802.1xdata 数据帧,和用上面AP产生的MIC KEY 使用同样的算法得出MIC’。如果MIC’等于STATION发送过来的MIC。那么第四次握手成功。若不等说明则AP 和STATION 的密钥不相同,或STATION 发过来的数据帧受到过中间人攻击,原数据被篡改过。握手失败了。

 

MIC的派生过程:

  1. PSK=PMK=pdkdf2_SHA1(passphrase, SSID, SSID length,4096)
  2. PTK=SHA1_PRF(PMK, Len(PMK),"Pairwise key expansion",MIN(AA,SA) || Max(AA,SA) || Min(ANonce,SNonce) || Max(ANonce,SNonce))
  3. MIC KEY=提取PTK 的前16 个字节
  4. MIC = HMAC_MD5(MIC Key,16,802.1x data)

802.11i

无线安全标准,WPA是其子集。IEEE 802.11i是802.11工作组为新一代WLAN制定的安全标准,主要包括加密技术:TKIP(Temporal Key Integrity Protocol)、AES(Advanced Encryption Standard)以及认证协议IEEE802.1x。

安全机制包括以下几个部分:

  1. 安全能力通告协商阶段
    1. AP的安全能力通告
    2. STA同AP之间的链路认证
    3. TA同AP建立802.11关联
  2. 安全接入认证阶段,该阶段主要进行用户身份认证,并产生双方的成对主密钥PMK。PMK是所有密钥数据的最终来源,可由STA和认证服务器动态协商而成,或由配置的预共享密钥(PSK)直接提供。对于802.1X认证方式:PMK是在认证过程中STA和认证服务器动态协商生成(由认证方式协议中规定),这个过程对AP来说是透明的,AP主要完成用户认证信息的上传、下达工作,并根据认证结果打开或关闭端口。对于PSK认证:PSK认证没有STA和认证服务器协商PMK的过程,AP和STA把设置的预共享密钥直接当作是PMK,只有接入认证成功,STA和认证服务器(对于802.1X认证)才产生双方的PMK。对于802.1X接入认证,在认证成功后,服务器会将生成的PMK分发给AP。
  3. 会话秘钥协商阶段,该阶段主要是进行通信密钥协商,生成PTK和GTK,分别用来加密单播和组播报文。AP与STA在PMK的基础上计算出一个512位的PTK,并将该PTK分解成为以下几种不同用途的密钥:数据加密密钥、MIC Key(数据完整性密钥)、EAPOL-Key报文加密密钥、EAPOL-Key 报文完整性加密密钥等,用来为随后的单播数据帧和 EAPOLKey消息提供加密和消息完整性保护。在4次握手成功后,AP使用PTK的部分字段对GTK进行加密,并将加密后的GTK发送给STA,STA使用PTK解密出GTK。GTK是一组全局加密密钥,AP用GTK来加密广播、组播通信报文,所有与该AP建立关联的STA均使用相同的GTK来解密AP发出的广播,组播加密报文并检验其MIC。
  4. 加密数据通信阶段。该阶段主要进行数据的加密及通信。TKIP或AES加密算法并不直接使用由PTK/GTK分解出来的密钥作为加密报文的密钥,而是将该密钥作为基础密钥(Base Key),经过两个阶段的密钥混合过程,从而生成一个新密钥。每一次报文传输都会生成不一样的密钥。在随后的通信过程中,AP和STA都使用该密钥加密通信。


十六宿舍 原创作品,转载必须标注原文链接。

©2023 Yang Li. All rights reserved.

欢迎关注 『十六宿舍』,大家喜欢的话,给个👍,更多关于嵌入式相关技术的内容持续更新中。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW 图像处理功能

设置成像系统并采集图像后,您可以分析和处理图像,以提取有关被检测对象的有价值信息。 内容 图像分析图像处理斑点分析机器视觉 图像分析 影像分析结合了基于影像像素的灰度强度计算统计数据和测量的技术。您可以使用影像分析功能来确定影像质量是否足以…

浅谈小程序开发 [2018年]

一、问题背景 随着App市场趋近于饱和,大部分用户已经养成了使用习惯,加上开发和推广新的App的成本高,使得开发新的App很难在市场上生存。在此背景下,小程序应运而生,2016年,张小龙的微信团队首次推出了微信…

7.1下周黄金非农数据是否会影响美联储七月暂停加息?

近期有哪些消息面影响黄金走势?下周黄金多空该如何研判? ​黄金消息面解析:周五(6月30日),现货黄金价格收盘上涨,盘中一度升破1920美元关口。美国疲软的个人消费支出推动了美国国债收益率的下降,从而导致美…

[问题解决] ubuntu 18.04 GPU驱动安装

删除当前显卡驱动[参考] sudo apt-get purge nvidia* 查看推荐驱动 sudo ubuntu-drivers devices 安装对应驱动 sudo apt install nvidia-driver-530 验证安装是否成功:nvidia-smi

微软Surface Book 2终止更新日前推迟,将与Surface Pro 6同日结束服务

近日有消息称,微软公布了旗下Surface系列设备的更新支持终止日期,并且包括新发布的设备和前代产品。 早在本月23日,微软就为Surface Book 2推送了新的固件,主要提升了Surface Dock 2的稳定性,及其他一些安全更新。  …

Django项目之mysql数据库连接和表的创建

数据库连接 首先,确保我们已经生成了一个基本的Django项目文件,目录结构如下: 具体搭建流程参考链接:https://blog.csdn.net/David_house/article/details/131188889?spm1001.2014.3001.5502找到项目下的settings文件&#xff…

基于Tars高并发IM系统的设计与实现-基础篇

基于Tars高并发IM系统的设计与实现–基础篇 作者简介 兰怀玉 毕业于中央民族大学计算机专业 先后供职国内外多家公司软件研发设计岗位,有丰富的软件研发经验。 从事IM领域设计研发十余年,先后领衔多个IM通讯系统设计与研发发,拥有丰富的IM系…

three.js中的点对象(Point)和点材质(PointsMaterial)

一、点对象和点材质基本介绍 1. 点材质(PointsMaterial): 点材质用于渲染点对象,它决定了点的颜色、透明度等属性。 常用属性有: color: 点的颜色,默认为白色。opacity: 点的透明度,默认为1…

Vue工程创建及应用

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…

成为优秀领导者必备的五个能力要素

领导力是现代社会不可或缺的一部分。在企业、政府、学术机构等各个领域中,领导力都是影响组织成功的关键因素之一。而要成为一名优秀的领导者,需要具备一系列重要的能力与素质。 本文将简单介绍领导力的五要素,要进一步学习领导力&#xff0…

七、云尚办公-Activiti入门

云尚办公系统:Activiti入门 B站直达【为尚硅谷点赞】: https://www.bilibili.com/video/BV1Ya411S7aT 本博文以课程相关为主发布,并且融入了自己的一些看法以及对学习过程中遇见的问题给出相关的解决方法。一起学习一起进步!!&am…

selenium三大等待

目录 前言: 一、强制等待:sleep(秒) 二、智能等待:显性等待 三、智能等待:隐形等待 前言: 在Selenium自动化测试中,等待是非常重要的一部分,它能够确保在需要时等待页面或元素的加载完成或…