Passkeys 的相容性:哪些平台/瀏覽器支援 Passkeys 登入?
Apple 在今年的開發者大會上公布了最新的 iOS 16 系統,以及其中一個備受矚目的功能,稱為 passkeys。 Passkeys 為一種新的數位憑證,它不僅僅是一種新的無密碼登入方式,更是有潛力可以完全取代舊式密碼認證的新科技。
Passkeys 是「多裝置 FIDO 憑證」的別稱,用戶可以透過此技術在不同網站上新建帳號的時候,自動在這些網站上創建一組數位憑證(加密密鑰),而這些加密密鑰同時也會被自動儲存在使用者的 Google 帳戶或 Apple ID 上,確保用戶使用其他裝置時也可以即時登入。
這和用戶使用密碼管理員生成的密碼去申請帳號和登入網站很像,然而使用 passkeys 的安全性更高,因為 passkeys 的技術是建立在 public-key cryptography (公開金鑰加密)上,也就是說只有使用者的 public key (公鑰)會被儲存在系統的伺服器上,而不是使用者的密碼;即便駭客成功駭入系統伺服器並取得使用者的公鑰,也無法透過公鑰得到使用者的資訊。
除了 Apple 的系統,Google 也宣佈了在 2022 年底之前,他們將會進一步將 passkeys 的技術支援延伸至 Android 系統上。Google、Microsoft 和 Apple 前陣子也宣布,三大巨頭將大力推行 passkeys 的支援來完全替代密碼的使用。這也是我們第一次有既可以替代密碼卻又易於使用並且和各大瀏覽器相容的技術。
那麼除了 iOS 16 系統之外,我們離採用 passkeys 來消除密碼還有多遠的路呢?本文將仔細分析 Safari (iOS)、Chrome (Android、Google) 和 Firefox 目前的兼容性和支援狀態。
WebAuthn 與不同系統的相容性
Passkeys 的技術是建立在 WebAuthn 標準上,而此標準支援了 Authenticator (驗證器)的使用;驗證器為任何可以生成並且儲存數位憑證的工具。目前驗證器總共有兩類,一種是單一平台的驗證器,另一種是跨平台的驗證器。單一平台的驗證器(像是瀏覽器)只會被保留在同一個裝置裡,而跨平台的驗證器(像 Yubikeys 那樣的安全密碼)可以同時被儲存在多個裝置之上。
不過,如果我們已經有 WebAuthn 了,為什麼我們仍然需要 passkeys ?
因為在沒有支援 passkeys 的情況下,使用者的密碼只會被儲存在單一裝置上,(比方說,在 Safari 上,當使用者清理網頁瀏覽紀錄時,密碼也會一拼被刪除),這對終端使用者來說,可說是挺不方便的一件事情。你不能再用同一組已被儲存的密碼登入另一個系統(例如:如果你在 iOS Safari 系統上創建了帳號密碼,你不能直接把它移轉至 Android 系統來登入同一個網頁)。
據 caniuse.com 所稱,所有最新的瀏覽器都會支援 WebAuthn 標準。這意味著只要你是使用現代的瀏覽器,一概可以暢通無阻地使用 WebAuthn API ,而不會面臨任何系統與軟件無法兼容的憂慮。
Passkeys 的兼容性
蘋果的 iOS 16 是第一個支援 passkeys 登入的系統。密碼組合將會被儲存在iCloud Keychain 裡,並在不同裝置上同步更新。
Passkeys 也讓使用者可以在不讓數位憑證離開原本的裝置上的情況下,在運行不同系統的裝置上登入同個 app 或網站。當使用者要在新的裝置上登入時,他們只要用原先就登入好的裝置來掃描新裝置所產生的 QR code 就可以登入,而這技術是建立在 FIDO2 CTAP2 上。
支援 passkey 登入的瀏覽器也會在你登入某個網站時,跳出類似自動填寫密碼的視窗,讓用戶可以選擇其中一組憑證,輕輕點一下即可完成登入的動作,而這個特色要歸功於 client-side discoverable credential 以及 conditional mediation 這兩項技術。
總結
Safari 16 和前陣子推出的最新 iOS 16 為目前支援最能支援 passkeys 的系統。在 iOS 16 上產生的 passkeys 將被同步在 iCloud Keychain 上,它也可以通過掃描 QR code 在 Android 手機上使用,並支援自動填充功能,讓用戶立即登錄不同的網站。其他瀏覽器和平台也會陸續在2022年年底前支援 passkeys 登入,相信一個不須要再謹記密碼的未來網路世界離我們不遠了。