當前位置:
首頁 > 知識 > 掃碼登錄的安全性分析

掃碼登錄的安全性分析

時至今日,各大互聯網公司都已提供並鼓勵使用掃碼登錄功能。掃碼登錄通過二維碼在設備之間傳遞信息,使得用戶可以使用安全可信任的設備(比如自己的手機)來控制不可信任的設備上的登錄行為。其省去了在不便手動輸入的設備(比如電視)上輸入的環節,所以更方便;避免了在安全等級低的設備和環境(比如公共電腦、Web頁面)中輸入密碼,因此更安全。

本文分析二維碼掃碼登錄功能通常的實現方式,並重點總結實現過程中需要注意的安全點。

掃碼登錄流程有以下幾個步驟:

非授信設備訪問服務端生成token,並將token通過二維碼展示在界面上;

授信設備掃描展示在非授信設備上的二維碼,獲取到token;

授信設備使用token訪問服務端獲取非授信設備的設備信息,並將非授信設備的設備信息展示在界面上,請用戶確認;

用戶確認在授信設備上確認後,授信設備訪問服務端,告知服務端該token已被用戶確認可用來登錄;

非授信設備使用token登錄。非授信設備並不知道用戶何時會確認,所以需要輪詢服務端,一直使用token嘗試登錄,直到成功;

需要注意的安全點有:

所有介面訪問,要使用https;

token要有一個較短的有效期比如5分鐘,且一次有效,用過即失效;

流程中第4步:展示被掃碼端設備信息並請用戶確認,必須有,不能省略;

總結以上兩點,token有四個狀態:NEW(新生成)、SCANNED(已掃描待確認)、CONFIRMED(已確認)、USED(已使用);

相應的,流程中第5步,使用token嘗試登錄可能有5種返回:token不合法、待掃描、已掃描待確認、登錄成功並返回用戶登錄憑證、token已被使用過,失敗的情況可以展示相應的信息以提升用戶體驗;

token只允許在生成該token的設備上進行登錄,這需要有支持防偽造的唯一標識設備的能力,比如設備指紋;

掃碼端必須是授信設備;

Web端不能成為掃碼端;

必要時,第3步和第4步,可以使用非HTTP協議;

本文不討論服務端安全,比如token怎樣存儲等;

就想到這麼多:)

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

Java程序員面試的5 點小技巧
Junit4使用學習-初步教程
Java常犯5個錯!

TAG:java學習吧 |

您可能感興趣

小程序擴展功能:掃碼登錄
六個安全保護賬戶登錄的技巧
通過手機密鑰的動態密碼加強SSH登錄安全性
谷歌產品總監笑誇蘋果「一鍵登錄」功能:比輸密碼安全N倍
Web新標準:指紋和面容識別可取代登錄密碼
一鍵登錄,指紋滑鼠開賣告別繁瑣的密碼登錄!
登錄保護LP
單點登錄與許可權管理本質:單點登錄介紹
華媒:網路安全問題不容忽視 要勤換登錄密碼!
5秒登錄:北京首都機場推全覆蓋WiFi 更重要的是安全和體驗
加密指紋滑鼠 一鍵登錄告別密碼
日本政府將登錄公民的物聯網設備,來檢測設備安全性
為了安全!谷歌賬戶登錄政策大改革
身份認證系統(二)多WEB應用的單點登錄
360 快視頻深陷盜用視頻疑雲,B 站綁定的手機號碼和密碼疑似能直接登錄
iOS新功能曝光 Apple id可直接登錄第三方網站支持二維碼掃碼登錄
你還在用密碼登錄?這種新技術徹底告別密碼
《問道》手游全新登錄頁面 開啟全新遊戲之旅
「老洞」背鍋,數萬台大華DVR設備登錄密碼被搜索引擎收錄
大牛架構師分享的《分散式單點登錄框架》,能理解輕鬆年入百萬,已開放源代碼