前幾天研究 WebAuthn 規格之餘順便搞懂了 Passkey 是怎麼一回事,這回來實際體驗 Google 是如何應用 Passkey 實現無密碼登入,與理論印證一下。

先說結論,如果你有在手機、平板登入 Google 的話,其實你已經在使用 Passkey 了,也可以用手機免密碼登入 Google。

登入 Google 帳號 Passkey 管理介面 https://myaccount.google.com/signinoptions/passkeys,上面會列舉你目前已建立的 Passkey,我發現我用過的所有平板跟手機上面都已經有自動建立的 Passkey (Google 翻譯成,密碼金鑰):(另一個發現是我這些年買的 Android 設備清一色都是 Galaxy 耶,三星快來找我業配)

依據 Google 文件,在使用帳戶登入 Android 手機,系統便可能會自動建立密碼金鑰。Android 自動建立的 Passkey 無法直接刪除,要從 Google 帳戶/安全性/您的裝置/管理所有裝置 將其登出(猜想是註銷伺服器端的公鑰記錄),沒對應公鑰,讓手機的 Passkey 就失效囉。

已建立 Passkey 的手機或平板可以取代密碼讓你在 Windows 或 macOS 上用瀏覽器登入 Google 帳號,或是做為兩階段驗證用。(上圖中,S21 及 S9 有上次使用日期,註記為 Windows 及 Mac 就是這麼來的)

這段 QR Code 是以 FIDO:/ 起首的一串數字,開啟連結會在手機上開啟會觸發身分識別程序(按指紋、刷臉或 PIN 碼):

系統會詢問要不要記憶這個設備。

記憶後下回這支手機會出現在登入選項,點選直接使用它來登入,不必再掃 QR Code。

操作逾時或出錯時,訊息有出現「請確認藍牙已開啟,且兩部裝置不遠」,讓我好奇,使用手機 Passkey 登入時是靠藍牙還是網路?

依據官方文件,藍牙不是用來傳輸的,而是確認手機內建金鑰就在登入裝置附近,避免被人遠端盜用。文件也提到除了電腦跟手機都要啟動藍牙,手機還要開啟地理定位服務,背後應有一套運作邏輯,由於上上圖「使用您的金鑰登入」視窗屬 Windows 作業系統(或是瀏覽器?)的一部分,應能取得完整 IP、藍牙裝置等資訊,協助判斷裝置是否在旁邊。

另外,建立 Passkey 的手機平板,除了用來登入,也可做為密碼登入的兩因素確認。

這個程序的術語叫 Google 提示,一樣會透過藍牙偵測手機跟登入裝置的距離,避免遠端盜用。

一輪研究完,發現用手機 Passkey 登入 Google 帳號比想像簡單,除了使用實體金鑰外,大家可考慮改用手機取代密碼登入 Google,之後再把密碼換成 14 碼以上且難猜的高強度密碼(長度比複雜度更重要,參考 小工具:快速檢測密碼是否外洩或被列入已知清單,並記得啟用兩階段驗證),應能做到便利與安全兼顧。


Comments

# by Darren

啊金融從業人員可以接業配嗎?

# by Jeffrey

to Darren, 噗,您認真了,害我一度出現真的會有業配的幻覺。

Post a comment