1. WIFI认证标准

WEP:  Wired Equivalent Privacy(有线等效加密)

作为 1997 年批准的原始 802.11 标准的一部分引入,它可能是最常用的 WiFi 安全协议。它的 10 位或 26 位十六进制数字(40 位或 104 位)的密钥非常容易识别。2004 年,两者WEP-40和WEP-104都被宣布弃用。有128-bit(最常见的)和256-bitWEP 变体,但随着计算能力的不断提高,攻击者能够利用许多安全漏洞。总而言之,这个协议已不能满足安全的需要

WPA:  WiFi Protected Access   (Wi-Fi访问保护),
是一种保护无线网络访问安全的技术标准,WPA是为了解决EAP的几个严重的弱点而产生的,
通过128位密钥加上48位初向量和可以在使用中动态改变密钥的“临时密钥完整性协议”(TKIP),
使用RC4加密、使用Michael消息验证码,避免针对EAP的密钥截取攻击和Replay Attack。

WPA2:WPA的升级版
采用CCMP计数器模式密码块链消息完整码协议,使用CBC-MAC替代Michael消息验证码,
使用AES取代RC4加密算法。在身份认证和保证数据完整性上更安全。

WPA3:WPA2的升级版

2018 年 1 月,Wi-Fi 联盟宣布 WPA3 替代 WPA2。新标准128-bit在 WPA3-个人模式(WPA-PSK预共享密钥)或192-bitWPA3-企业(RADIUS 身份验证服务器)中使用加密。WPA3 将更难被攻击,因为它的现代密钥建立协议称为“同时验证相等”(SAE)或蜻蜓密钥交换。SAE 提高了初始密钥交换的安全性,并针对离线字典攻击提供了更好的保护

2. WIFI加密方案

/** Security type for an open network. */
/*不加密直连*/
public static final int SECURITY_TYPE_OPEN = 0;/** Security type for a WEP network. */
/*比较老加密方式,已弃用*/
public static final int SECURITY_TYPE_WEP = 1;/** Security type for a PSK network. */
/** 1.WPA预共享密钥(pre-shared key),需要指定 「preShareKey」,* 连接到网络的用户共享同一个密钥,多数运用到家庭和个人无线网络* 2. 包含WPA-PSK和WP2-PSK*/
public static final int SECURITY_TYPE_PSK = 2;/** Security type for an EAP network. */
/**  WPA使用EAP 身份认证,通常与外部认证服务器一起使用*  EAP 的类型,是一种企业验证的安全类型,EAP 全称叫 802.1X/EAP*  最常见EAP 验证类型包括 EAP-MD-5、EAP-TLS、EAP-LEAP、EAP-TTLS、EAP-Fast、EAP-PEAP*/
public static final int SECURITY_TYPE_EAP = 3;/** Security type for an SAE network. */
/** 1.SAE最早是802.11s中为mesh网络提出的基于password的认证和key生成协议[1],* 在WPA2-PSK中,PMK就是PSK,直接来源于密钥;* 2.而SAE则保证任何STA pair(AP-STA,nonAP-STA)在不同的session都有不同的PMK,* 使用SAE认证的个人无线网络通常称为WPA3-PSK/WPA3-Personal* 3. 详细介绍 https://blog.csdn.net/qq_23087099/article/details/113921261*/
public static final int SECURITY_TYPE_SAE = 4;/** Security type for an EAP Suite B network. */
/*EAP网络的另一种加密形式*/
public static final int SECURITY_TYPE_EAP_SUITE_B = 5;/** Security type for an OWE network. */
/*未知,后续补充*/
public static final int SECURITY_TYPE_OWE = 6;/** Security type for a WAPI PSK network. */
/*我国自主研发并大力推行的无线网络WLAN安全标准*/
public static final int SECURITY_TYPE_WAPI_PSK = 7;/** Security type for a WAPI Certificate network. */
/*我国自主研发并大力推行的无线网络WLAN安全标准*/
public static final int SECURITY_TYPE_WAPI_CERT = 8;

3. 代码配置介绍

以Android 系统为例子。

  • 配置wifi 加密类型

可以使用 Settings/src/com/android/settings/wifi/WifiConfigController.java 的 setSecurityParams 进行设置。

  • 获取wifi加密类型

可以使用frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConfigManager.java的allowedKeyManagement 获取加密类型,你可以自己封装getSecurity 和getSecurityString方法使用。

  • wifi连接

config对象里面就有我们应用输入的信息比如:wifi名称,wifi密码,加密形式,是否有静态ip,是否有代理设置

    protected void connect(WifiConfiguration config) {WifiManager wifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);wifiManager.connect(config, connectListener); //所有的数据都在config对象里面;connectListener 没啥作用,一般传null参数,不管密码是否正确都是回调success。}

4. WIFI的安全认证

以PCI 安全认证为例子,讲述WIFI连接安全认证的一些明确定义的规范。

禁止none和wep的连接方式,无论wifi的个人热点,手自动连接必须支持WPA2或WPA3 安全。

移动安全规范 — 1 -WIFI连接安全规范相关推荐

  1. ESP8266学习笔记6:ESP8266规范wifi连接操作

    一.前言 我整理了从2015年至今关于ESP8266的学习笔记,梳理出来了开发环境.基础功能.进阶学习三大部分.方便自己和他人.可点此查看,欢迎交流. 之前在笔记4<ESP8266的SmartC ...

  2. 手机WIFI连接电脑

    哇哈哈..免责声明,偶是菜菜,写这个东东是因为昨天看到一哥们在问这个问题!.不对之处请大虾米拍之...!高手直接路过,和我一样菜菜的可以来看看... 再声明一点,我的语文是数学老师教的,所以千万别要求 ...

  3. 阿里 前端 规范_阿里前端开发规范

    前端代码规范 Front Standard Guide 前端 JS 项目开发规范 规范的目的是为了编写高质量的代码,让你的团队成员每天得心情都是愉悦的,大家在一起是快乐的. 引自<阿里规约> ...

  4. 简单叙述python的编程规范_简明 Python 编程规范

    注:之前发布一篇<简明 Python 编程规范>(见:http://blog.csdn.net/lanphaday/article/details/2834883),本是我给当时所在的公司 ...

  5. 「史上最全的 TCG 规范解读」TCG 工作组规范预览

    可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强不同计算机平台上计算环境的安全性.TCG于2003年春成立,并采纳了由可信计算平台联盟 ...

  6. Java开发规范(1)项目规范

    本篇规范基于阿里巴巴.华为的开发手册,添加了我们团队的开发风格规范,补充了一些细节.感谢前人的经验和付出,让我们可以有机会站在巨人的肩膀上眺望星辰大海. 规范不是为了约束和禁锢大家的创造力,而是为了帮 ...

  7. android路由器 设备数,手机查看wifi连接人数_手机查看wifi连接设备数量-192路由网...

    前几天鸿哥更新了< 然后有用户就说了,家里没有电脑,可不可以用手机来查看wifi连接人数? 很显然,答案是肯定的,wifi连接人数,是在路由器的设置页面中显示的. 那么只需要用手机登录到路由器的 ...

  8. java内存规范_Java内存模型-jsr133规范介绍

    最近在看<深入理解Java虚拟机:JVM高级特性与最佳实践>讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范. 系统的看了jsr 133规范的前面几 ...

  9. android获取wifi连接状态,获取android设备wifi连接状态

    本文将介绍如何获取android设备wifi连接状态! 添加访问权限(AndroidManifest.xml文件里) Java代码(MainActivity.java文件) package com.e ...

最新文章

  1. mysql oracle查询速度慢_oracle查看执行最慢与查询次数最多的sql语句
  2. 没事试试50mm1.4
  3. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程
  4. Vue实现仿音乐播放器8-实现热门榜单效果
  5. 信息学奥赛一本通1349-最优布线问题
  6. 先容Oracle中null的运用要领。
  7. 计算机中年级排名怎么操作,智学网如何查看年级排名 智学网看年级排名方法【详解】...
  8. 脉冲神经元的膜电位释放方式,分为hard和soft两种
  9. Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
  10. mysql 5.5.37安装_MySQL5.5.37编译安装详解
  11. 混合蛙跳算法Matlab代码
  12. 助力公益数字化 火山引擎向公益机构捐赠多款技术产品
  13. 人工智能导论(数据挖掘)
  14. 手把手教你U盘装Raid系统
  15. 异步FIFO跨时钟域亚稳态如何解决?
  16. WPF入门教程系列(5)
  17. delete、truncate、drop的区别有哪些,该如何选择
  18. 图灵机器人微信自动聊天功能
  19. mysql常用操作(二)
  20. 「大哉数学之为用」优选法——梯级水库灌溉的优化设计

热门文章

  1. 微信点击链接:debugx5.qq.com提示您使用的不是x5内核
  2. python 管理 交换机_用python 脚本控制telnet登录交换机
  3. Jenkins基础:API:10:使用API更新进行节点的连接和断开
  4. Electron中的消息通知
  5. 走方格跳格子(dp,递归,排列组合三种方法)
  6. av_dump_format函数使用说明
  7. Beaver's Calculator(蓝桥杯 算法训练)sort排序
  8. 系统迁移到固态硬盘--高贵的ASUS版
  9. audio实现歌词同步
  10. 2022红帽RHCSA考题解析