五十个网络安全学习项目——(九)无线网络安全分析

news2025/1/23 1:10:17

五十个网络安全学习项目——(九)无线网络安全分析

这个系列灵感来源是:50个网络安全项目创意:覆盖新手至专家级,本人打算把这些项目都做一遍,做好记录,也算是对自己的提升。

本文将对WAPI 协议和WPA2协议进行分析。
本文其实没写完,最近工作和学习都挺忙,状态也不好,没时间更新这个系列了,暂时停更啦!

一、WAPI协议

WAPI(无线局域网鉴别与保密基础结构)是中国自主制定的无线局域网安全标准,也是一种安全协议,旨在保障无线网络的安全性和数据传输的机密性。WAPI通过基于数字证书的身份认证机制,确保设备和用户的合法性,并采用中国自主研发的SMS4加密算法对无线通信数据进行加密保护,防止数据泄露和篡改。此外,WAPI引入动态密钥管理机制,在通信过程中动态协商和分发会话密钥,进一步增强安全性。作为国家标准,WAPI强调信息安全的自主可控,主要应用于中国的无线网络环境,提供完整的身份认证、数据加密与完整性保护解决方案。

1.关键词名词解释

组件定义功能作用
STA无线终端设备,如手机、笔记本等- 与 AP 进行双向认证,验证数字证书。 - 生成并使用会话密钥进行数据加密通信。作为数据通信的发起方或接收方,传输和接收加密数据。
AP无线接入点,连接 STA 与有线网络- 转发 STA 和 ASU 之间的认证信息。 - 与 STA 进行双向认证,协商会话密钥。作为中继设备,提供无线网络接入,并配合 ASU 进行认证。
ASU认证服务单元,负责证书验证与管理- 验证 STA 和 AP 的数字证书。 - 通知 AP 和 STA 继续后续的密钥协商过程。作为第三方认证中心,确保设备身份合法性,保障网络安全。

2. 认证流程

在这里插入图片描述

  1. STA向AP发出接入鉴别请求,其中包括STA的证书和STA的签名等信息。
  2. AP收到接入鉴别请求,验证STA的签名,无误后,向ASU发起证书鉴别请求,将STA证书、AP证书发给ASU。
  3. ASU验证AST证书和AP证书,生成验证结果信息,并进行签名,响应给AP。
  4. AP收到证书鉴别响应,对ASU签名进行认证,并且对证书验证结果进行核实,确认是否允许AST接入。
  5. 然后对AST发起接入鉴别响应,让AST验证ASU的签名,合适证书验证结果,确认是否接入AP。
  6. AST和AP完成证书认证之后,就开始密钥协商过程,STA 向 AP 发送请求,表示准备开始密钥协商,通常包括 STA 的证书信息、身份标识以及初始化密钥协商的随机数等信息。
  7. AP 收到 STA 的协商请求后,基于预定的加密算法和协议参数,开始协商并计算出一个初始密钥。AP 将该密钥以及相关协商信息响应回 STA。
  8. 在密钥协商完成后,双方通过协商的协议和随机数,结合预共享的参数,共同计算出一个会话密钥。该密钥将用于之后的加密数据传输。WAPI 使用中国自主研发的 SM4算法对数据进行加密,这是一种对称密钥加密算法。
  9. 通信结束后,WAPI 会销毁会话密钥,确保密钥的安全性,防止后续被攻击者利用。

3. 安全性概述

WAPI 协议通过结合身份认证、数据加密、完整性保护和密钥管理等多种安全机制,确保无线网络中的数据通信能够安全可靠地进行。其主要目标是保护通信数据的机密性、完整性,并防止未授权访问。

首先,WAPI 协议使用数字证书进行设备身份认证。通过认证过程,STA(终端设备)和AP(接入点)可以相互验证身份,防止恶意设备假冒接入网络。WAPI 支持双向认证,即 STA 和 AP 都必须提供自己的数字证书,并进行验证,确保只有合法设备才能加入无线网络。这个双向认证机制有效避免了中间人攻击(MITM)和伪造设备的问题。

在数据传输过程中,WAPI 协议通过加密算法确保数据的机密性。具体来说,WAPI 协议使用自主研发的SMS4加密算法进行数据加密。SMS4 是一种对称加密算法,用于加密通信中的数据流,确保数据在传输过程中不会被窃听或篡改。对称加密意味着加密和解密使用同一密钥,而这个密钥是通过密钥协商过程动态生成的。每次通信会话结束后,密钥都会被销毁,避免了长期使用同一密钥导致的安全漏洞。

WAPI 协议还在数据传输中提供了完整性保护,使用消息认证码(MAC)来确保数据未被篡改。每个数据包在传输时都会附带一个消息认证码,接收方可以使用相同的密钥来验证数据的完整性,从而防止数据篡改和丢失。此外,WAPI 通过引入随机数、时间戳等技术来防止重放攻击,确保每一条消息都是有效的、唯一的。

密钥协商与分发是 WAPI 协议的另一个重要安全机制。通过安全的密钥协商过程,STA 和 AP 能够共享一个安全的会话密钥。该过程使用随机数、数字签名和加密算法等技术,确保密钥的安全性。在密钥协商过程中,密钥是动态生成的,每个会话使用不同的密钥,防止了密钥泄露或被破解后对后续通信的影响。

WAPI 协议还能够有效防止暴力破解和字典攻击。由于密钥协商过程中使用了复杂的加密算法、随机数和时间戳等措施,攻击者即使试图进行暴力破解,也很难通过穷举方法获取密钥。此外,WAPI 通过定期更新会话密钥,使得即使密钥在某一时刻被破解,后续的通信依然是安全的。

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

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

相关文章

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导 Sigrity System Explorer Snip Via Pattern From Layout模式支持从其它设计中截取过孔模型用于仿真分析,同样以差分模板为例 具体操作如下 双击打开System Explorer软件…

【Java基础面试题025】什么是Java的Integer缓存池?

回答重点 Java的Integer缓存池(Integer Cache)是为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围,因此缓存这些对象可以减少内存分配和垃圾回收的负担,提升性能 在 -128到127范围内的Integer对象会…

AI广告爆发元年,心动网络能否成下一个Applovin?

如果说2023年标志着AI大模型技术的崛起,那么2024年无疑是AI广告应用爆发的元年。 大洋彼岸的Applovin凭借着智能广告分发引擎完成彻底翻身,股价上涨超过30倍。一跃成为AI领域乃至整个美股市场的明星。 与此同时,心动网络作为同样深耕于游戏…

基于Python3编写的Golang程序多平台交叉编译自动化脚本

import argparse import os import shutil import sys from shutil import copy2from loguru import loggerclass GoBuild:"""一个用于构建跨平台执行文件的类。初始化函数,设置构建的主文件、生成的执行文件名称以及目标平台。:param f: 需要构建的…

java全栈day20--Web后端实战(Mybatis基础2)

一、Mybatis基础 1.1辅助配置 配置 SQL 提示。 默认在 mybatis 中编写 SQL 语句是不识别的。可以做如下配置: 现在就有sql提示了 新的问题 产生原因: Idea 和数据库没有建立连接,不识别表信息 解决方式:在 Idea 中配置 MySQL 数…

MacOS下PostIn安装配置指南

PostIn是一款开源免费的接口管理工具, 下面介绍私有部署版本的MacOS下安装与配置。私有部署版本更适合有严格数据安全要求的企业,实现对数据和系统的完全控制。   1、MacOS服务端安装 Mac安装包下载地址:下载Mac安…

【Apache Doris】周FAQ集锦:第 26 期

SQL问题 Q1 doris 3.0存算分离模式下,建表的时是否需要指定表的副本数 不需要,指定了也会忽略;存算分离模式下,数据副本由远端存储去管控。 Q2 doris 通过dbeaver查询时报错:[SXXXX]… doris的错误码通常都是EXXXX&…

【Mongo工具】Mongo迁移工具之Mongo-shake

Mongo-Shake 简介 Mongo-Shake 是一个基于 MongoDB 操作日志(oplog)的通用服务平台。它从源 MongoDB 数据库中获取操作日志,并在目标 MongoDB 数据库中重放,或者通过不同的隧道发送到其他终端。如果目标端是 MongoDB 数据库&…

【Unity基础】AudioSource 常用方法总结

在 Unity 中,AudioSource 组件用于控制音频的播放和管理。以下是常用的 AudioSource 控制方法及其说明。 1. 播放和暂停音频 Play():开始播放音频,如果是从暂停的地方继续播放,可以直接调用。Pause():暂停当前播放的…

flink SQL实现mysql source sink

接上文:一文说清flink从编码到部署上线 环境说明:MySQL:5.7;flink:1.14.0;hadoop:3.0.0;操作系统:CentOS 7.6;JDK:1.8.0_401。 1.代码实现 1.1 E…

知乎 PB 级别 TiDB 数据库集群管控实践

以下文章来源于知乎技术专栏 ,作者代晓磊 导读 在现代企业中,数据库的运维管理至关重要,特别是面对分布式数据库的复杂性和大规模集群的挑战。作为一款兼容 MySQL 协议的分布式关系型数据库,TiDB 在高可用、高扩展性和强一致性方…

SpringBoot+Vue3实现阿里云视频点播 实现教育网站 在上面上传对应的视频,用户开会员以后才能查看视频

要使用阿里云视频点播(VOD)实现一个教育网站,其中用户需要成为会员后才能查看视频,这个过程包括上传视频、设置权限控制、构建前端播放页面以及确保只有付费会员可以访问视频内容。 1. 视频上传与管理 创建阿里云账号&#xff…

【前端】 async 和 await 以及 generator生成器函数

一、背景 这一篇随机主要是想记录一下自己学习js中有关异步内容的东西。然后发现有人拿异步跟生成器函数进行比较了一下,因此一起学习了一下。 二、知识点相关内容及实验test 2.1 generator 生成器函数 generator函数的作用:每次访问返回函数中yield…

智能座舱进阶-应用框架层-Handler分析

首先明确, handler是为了解决单进程内的线程之间的通信问题的。我也需要理解Android系统中进程和线程的概念, APP启动后,会有三四个线程启动起来,其中,有一条mainUITread的线程,专门用来处理UI事件&#xf…

windows openssl编译x64版libssl.lib,编译x64版本libcurl.lib,支持https,vs2015编译器

不要纠结,直接选择用perl编译! 告诫想要用弄成vs编译版的,暂时先别给自己增加麻烦 告诫,以下执行的每一步,都不要纠结 先安装环境 nasm 64位版本 https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-…

汽车供应链 “剧变”开始,“智能感知潜在龙头”诞生

智能汽车产业链“剧变”已经开启,智能感知软硬件能力的权重正在不断被放大。 比如满足高阶泊车的第二代AK2超声波传感器、满足人机共驾场景需求的电子外后视镜(CMS)、iTOF 3D成像视觉感知(用于舱内监控)等新产品&…

Python+OpenCV系列:AI看图识人、识车、识万物

在人工智能风靡全球的今天,用 Python 和 OpenCV 结合机器学习实现物体识别,不仅是酷炫技能,更是掌握未来的敲门砖。本篇博文手把手教你如何通过摄像头或图片输入,识别人、动物、车辆及其他物品,让你的程序瞬间具备 AI …

JVM 详解

一. JVM 内存区域的划分 1. 程序计数器 程序计数器是JVM中一块比较小的空间, 它保存下一条要执行的指令的地址. [注]: 与CPU的程序计数器不同, 这里的下一条指令不是二进制的机器语言, 而是Java字节码. 2. 栈 保存方法中的局部变量, 方法的形参, 方法之间的调用关系. 栈又…

C# opencvsharp 流程化-脚本化-(2)ROI

ROI ROI也是经常需要使用的方法。特别是在图像编辑中。ROI又称感兴趣的区域,但是图像是矩阵是矩形的,感兴趣的是乱八七糟的,所以还有一个Mask需要了解一下的。 public class RoiStep : IImageProcessingStep{public ImageProcessingStepType…

wazuh-modules-sca-scan

sca模块主函数wm_sca_main -> wm_sca_start 检查policy文件中的每一个项目wm_sca_check_policy static int wm_sca_check_policy(const cJSON * const policy, const cJSON * const checks, OSHash *global_check_list) {if(!policy) {return 1;}const cJSON * const id c…