掰,「WPS」

Android:Android APPs

RICK
Oct 13, 2020

概要

流星沒有劃過天際,但…客戶依然許願:「別人都有『WPS』功能,我們也要有。」。

總之,打雜的我,開始了這次的通靈。

結果才發現,在 Android 中,有關 WPS 的功能及相關 API,在 Pie 就已經遭到廢棄了。

正文

「WPS」被棄用的原因

WPS 是「Wi-Fi 聯盟」在 2007 年發表的通訊協議,此一標準的目的在於讓一般的使用者能輕易地設定無線網路。

在 Android 中,「WPS」相關的 API 多實作在「WifiManager」類別下,像是「startWps」、「cancelWps」及「WifiManager.WpsCallback」…等;而該些「API」皆已經在「API 28」被棄用,如下:

其理由是「WPS」涉及安全性的問題,如下:

該漏洞是與「Pin」相關,如下:

簡言之,因為「WPS」允許使用者以「pin」碼作為連線的密碼,使得「可能密碼組合」大幅度減少,加上市售路由器多缺乏「密碼輸入的保護機制」,從而導致使用「暴力破解」的方式藉由「WPS」連接上私人網路的「成本過低」,如下:

其參考資訊為「Wi-Fi Protected Setup 含有設計漏洞」。

取代「WPS」的「Wi-Fi Easy Connect」

就是更加的「簡單」、更加的「安全」,更佳的使用者體驗,恩…,「WiFi 聯盟」是如此描述它的,參考資料為「Wi-Fi Easy Connect」。

該相關協議在「Android Q」版中被引入,也被稱為「DDP」協議,如下:

但並非是只要安裝「Q」版以後的設備就能有援「Wi-Fi Easy Connect」,其仍需要硬體、韌體的支持,規格亦是,如下:

理所當然的,「Google」也為該功能新增了許多「API」,而其多數依然位在「WifiManager」底下,如「判斷設備是否支持 WiFi Easy Connect 功能」的方法:「isEasyConnectSupported」,如下:

那這篇文章就到此為止,至於「Wi-Fi Easy Connect」的功能如何實作?這未來我們有機會在談。

--

--

RICK
RICK

Written by RICK

當遇到重開機無法解決的 BUG 時,那就試試關機吧。

No responses yet