Windows Hello認證推進無密碼認證


Windows Hello認證推進無密碼認證


微軟去年11月份開始率先將使用生物識別信息的Windows Hello登錄平臺內置於Win10操作系統上進行登錄驗證。

這是一種使用通用第二因素(U2F)無密碼認證:其為一個開放認證標準,起初由谷歌和YubiKey開發,讓用戶使用藍牙、近場通信(NFC)或USB能無縫登錄在線服務和應用目前由FIDO(Fast IDentity Online)聯盟運作管理。FIDO協議旨在解決強認證技術給用戶帶來的不便,以及減少用戶登錄賬戶時對使用用戶名和密碼登錄的依賴。FIDO標準協議,目前支持全面的認證技術, 其中包括生物識別技術及現有技術如可信平臺模塊,USB安全令牌、嵌入式安全元件、智能卡和NFC等。

微軟的這一舉動,連同幾個月前Mozilla Firefox、Microsoft Edge、Opera和Google Chrome,也被認為促進了向無密碼網絡的轉變,這些都支持WebAuthn,其為定義用戶基於網頁應用和服務的關鍵標準。

特定場景下當登錄某項服務時,會使用用戶名(或郵箱或手機號)和密碼,確定身份後讓你訪問。這樣會引出的問題是共享憑證後,數據就不再受控制、對個人信息洩露這種事也只能聽之任之;而FIDO2則不需要通過密碼,而是使用公鑰加密(PKE)進行驗證,其涉及使用一對加密密鑰:一個私鑰和一個公鑰。


Windows Hello認證推進無密碼認證


PKE遵循如下理念:如果A向B發送一則不想任何人看到的消息,A會加密該消息,並給B一個公鑰;B接到公鑰後,會用自己的私鑰解密並閱讀該消息。還可以這樣:這也可以用於驗證自己的身份。在這個場景中,發送人A用自己的私鑰加密信息,發送給B,其可以用A的公鑰進行解密,也就是向A確認該加密信息來自A。

FIDO2使用的正是這第二種驗證方式。所以如果你註冊了一項服務,與呈現給你一個正常的帶用戶名、密碼的登錄表不同,網站會通過使用一個嵌入網頁中的、特別的JavaScript代碼進行驗證,這個代碼與網頁驗證API標準進行關聯,讓網頁瀏覽器生成並管理准入網站的加密憑證。簡言之,就是一個基於JavaScript的自動填充密碼,可以充當客戶端(瀏覽器)和網站web服務器的中間人。此時,就需要用到身份驗證器了。驗證器既可以內置到操作系統中,如谷歌Android,也可以是Windows Hello面部識別系統,還可以是YubiKey或智能手機這種外部驗證。

所以,當使用Chrome或Firefox登錄時,服務器發送一長串任意數字和JavaScript代碼到登錄頁面,使用網頁驗證API讓瀏覽器用您的私鑰加密信息,瀏覽器將這串數字給驗證器,驗證器再請求你的許可。

其實,採用賬戶、密碼的驗證方式早就被認為越來越不安全,密碼卻一步步變得更加複雜、更加難記。各種驗證方式也不斷推陳出新,但這種解決方式是否真如想象中那般安全?讓實踐檢驗吧。

本文作者:Gump,轉載自:http://www.mottoin.com/detail/3956.html


分享到:


相關文章: