移动安全规范 — 1 -WIFI连接安全规范

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 安全。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值