前言

最近,Google、Apple、蝦皮購物、樂天、PlayStation 等平台上,愈來愈常看到「通行密鑰(passkey)」這個詞。即使只知道它大概是「可以取代密碼的新登入方式」,當被問到「說到底那是什麼?」、「為什麼它比密碼更安全?」時,很多人還是會不太知道怎麼解釋吧。

本文會從零開始整理通行密鑰的運作原理。為了讓非工程師也能讀懂,文中會搭配比喻說明專有名詞。

撰寫時點:2026 年 5 月。通行密鑰是正在快速普及的領域,支援的服務與法規動向每天都在更新。

適讀對象

  • 已開始使用,或被要求使用通行密鑰,但不理解其原理的人
  • 想從背景面理解「為什麼密碼正在逐漸過時」的人
  • 雖然不是開發者,但想掌握認證技術發展趨勢的人

本文可獲得的內容

  • 通行密鑰和密碼有什麼不同
  • 可以用「掛鎖」的比喻理解「公開金鑰密碼學」
  • 註冊時與登入時,背後到底發生了什麼事(附流程圖)
  • 為什麼全球大型企業都在同步推動支援

參考連結

先來說,密碼到底有什麼問題?

要理解通行密鑰的好處,最直接的方法就是先整理「密碼到底有多麻煩」。

問題 1:重複使用造成連鎖外洩

人類沒辦法記住幾十組密碼。因此很多人會在多個服務上重複使用同一組密碼。結果只要某一個服務外洩,其他所有服務都有可能被入侵。這稱為「密碼清單攻擊」。

問題 2:容易遭受釣魚詐騙

像是收到一封寫著「來自 Amazon 的通知」的電子郵件,點進連結後進入幾可亂真的假網站,然後輸入密碼——這就是釣魚詐騙。密碼的機制只要「字串正確就放行」,因此只要使用者親自把密碼輸入假網站,攻擊者就能直接拿走。

問題 3:伺服器端也有秘密

密碼是「使用者與伺服器共同持有的秘密」。雖然伺服器端會把密碼雜湊後儲存,但仍然必須以某種形式保留與密碼相關的資訊,因此無法把外洩風險降到零。

問題 4:「強密碼」和「記得住」無法兼顧

「至少 12 碼、大小寫和符號都要混合、每個服務都不同、還要定期更換」——理論上這很完美,但對人類記憶力來說幾乎不可能。結果通常會使用生日、字典裡的單字、或相似模式的重複字串等容易被猜中的內容。

這些問題不是靠操作規範就能補起來,而是必須從根本上改變機制,這就是通行密鑰誕生的出發點。

通行密鑰一句話來說

一種可以用裝置上的指紋、臉部或 PIN 登入,而且在機制上不會把「秘密」透過網路傳送出去的認證方式

這就是通行密鑰。也有人把它描述成把認證從「記住」變成「持有」的典範轉移。

重點有兩個:

  1. 使用者體驗:只靠指紋、臉部、或裝置解鎖 PIN 就能登入
  2. 背後機制:不會像密碼一樣把「字串形式的秘密」送到伺服器

很多人會誤以為「不就是指紋辨識嗎?」但指紋其實只是用來向裝置證明「是你本人」的手段。真正的核心,是後面要說明的公開金鑰密碼學

支撐這套機制的 3 個關鍵字

關鍵字 1:公開金鑰密碼學

這是通行密鑰的核心。

在通行密鑰中,當你註冊某個服務時,系統會成對產生兩把金鑰

  • 公開金鑰:任何人都可以看,交給服務端伺服器保存
  • 私密金鑰:只存在於自己的裝置裡,絕對不離開裝置

可以把它想成這樣:

你做出很多把「專屬你的掛鎖」,分發給全世界的服務使用(=公開金鑰)。
能打開那些掛鎖的鑰匙,只存在你的手機或電腦裡(=私密金鑰)。
登入時,伺服器會挑戰你「把這把掛鎖打開看看」,而你的裝置就啪地把它打開給它看。

這裡最重要的是,私密金鑰完全不會透過網路跑到外面

密碼是「口令」,所以每次都得送到伺服器才能驗證,途中可能被攔截。相對地,通行密鑰只送出「我持有這把鑰匙的證明」,不會把鑰匙本身交出去。

用公開金鑰加密的內容,只有配對的私密金鑰才能解密。反過來,用私密金鑰產生的簽章,只有配對的公開金鑰才能驗證。通行密鑰使用的是後者,也就是「簽章與驗證」的機制。

關鍵字 2:生物辨識/PIN——用來啟用私密金鑰的「本人確認」

「如果私密金鑰放在裝置裡,那手機被偷不就完了?」

為了避免這種情況,就要靠生物辨識(指紋、臉部)或裝置 PIN。私密金鑰會被嚴密保管在裝置內,使用時一定會先確認「是不是持有人本人」。指紋和臉部資料不會離開裝置。伺服器端只會收到「已完成本人確認的裝置所產生的簽章」這個事實。

很多人會誤以為生物資訊本身會傳到伺服器,但這是錯的。指紋、臉部資料都會被封存在裝置內的安全區域,只用來發出「是本人」的允許訊號。

關鍵字 3:網域綁定——為什麼釣魚詐騙行不通

通行密鑰最大的特色之一,就是「只能在註冊時的網站(網域)使用」。

例如你在 amazon.co.jp 建立了通行密鑰。即使攻擊者做出一個 amaz0n.co.jp(把 o 換成 0)的假網站誘導你,瀏覽器和驗證器(Authenticator)也會察覺「這不是已註冊的網域」,因此不會讓通行密鑰運作。

這不是依賴使用者注意力的機制,而是在通訊協定層級就被強制限制。這也是為什麼大家說通行密鑰具有很高的抗釣魚能力。

註冊流程(第一次建立通行密鑰時)

理解了上述關鍵字後,讓我們用流程圖看看註冊時實際發生了什麼。

重點是,只有公開金鑰會交給伺服器。私密金鑰一步都不會離開裝置。這也是「就算伺服器外洩,損害也較小」的原因。

所謂的「challenge(挑戰值)」是伺服器每次產生的隨機值。至少是 16 位元組以上的隨機資料,每次都不同,而且有效期限很短。這樣可以防止偷看過去通訊內容後重複使用的「重放攻擊」。

登入流程(第 2 次之後)

只要註冊完成,之後的登入就會簡單很多。

這是認證領域中自古就有的概念,稱為挑戰/回應(challenge-response)

  • 伺服器:「請對這個隨機值簽章看看」(挑戰)
  • 裝置:「可以,這是簽章」(回應)
  • 伺服器:「用公開金鑰驗證後,簽章正確。你就是持有私密金鑰的本人。」

它不是像密碼那樣「送出秘密字串,確認是否一致」,而是「每次都證明自己持有金鑰」的機制,因此即使通訊被竊聽,也無法拿去作為下一次登入使用。

密碼 vs 通行密鑰——比較表

觀點 密碼 通行密鑰
是否需要記憶 需要 不需要(只要指紋、臉部、PIN)
伺服器持有的資訊 密碼雜湊 僅公開金鑰
外洩時的影響 可直接拿去不法登入 只有公開金鑰本身什麼也做不到
抗釣魚能力 低(人容易受騙) 高(會自動辨識網域)
重複使用 很常見 原理上不可能(每個服務都有不同金鑰)
服務間連鎖外洩 有 沒有
裝置遺失時的影響 只要記得就沒事 需要透過其他裝置復原

如果想在多個裝置上使用怎麼辦?同步通行密鑰登場

看到這裡,可能有人會想:「如果私密金鑰被關在裝置裡,那換手機怎麼辦?」這個問題問得很好。

對應這個需求的,就是同步通行密鑰。Apple 的 iCloud 鑰匙圈、Google 密碼管理工具、Microsoft 帳戶等,會把私密金鑰以端對端加密的方式,透過雲端同步到同一位使用者的其他裝置上。

也就是說:

  • 在 iPhone 上建立的通行密鑰,可以在同一 Apple ID 的 Mac 上使用
  • 在 Android 上建立的通行密鑰,可以在同一 Google 帳戶的其他 Android 裝置上使用

私密金鑰並不是以「明文」形式放在雲端;只有同一位使用者的裝置才能解密,這就是它的設計。

同步通行密鑰(Synced Passkey)和像 USB 安全金鑰那樣被鎖定在單一實體裝置中的裝置綁定通行密鑰(Device-bound Passkey)是不同的東西。前者重視便利性,後者重視安全性。一般消費者服務幾乎都採用前者。

為什麼現在全世界都在轉向通行密鑰

這項技術本身並不新。FIDO 這個標準規格早在 2012 年就已存在,而面向網頁瀏覽器的 WebAuthn 規格則在 2018 年公開。那為什麼現在會迅速普及?主要有 3 個原因。

原因 1:三大平台同步支援

2022 年,Apple、Google、Microsoft 三家公司同時表態支援通行密鑰。這讓 iPhone、Android、Windows 不管用哪一種,都能用同一套機制。過去 FIDO 往往需要專用 USB 金鑰,對一般使用者來說門檻太高;但因為每個人都有的手機直接變成驗證器,普及障礙一下子就降低了。

原因 2:在日本,金融領域正在進入「實質義務化」

2025 年 7 月,日本證券業協會(JSDA)公布了網際網路交易防止不正登入指南修正草案,要求登入與出金流程必須使用具備抗釣魚能力的 MFA(多因素驗證)。其中被點名作為範例的,就是通行密鑰

樂天證券、野村證券、SBI 證券、Monex 證券等主要證券公司都在 2025 年內推進支援。隨著釣魚受害愈來愈嚴重,義務化期限也被推測會在 2026 年夏季左右。

原因 3:密碼相關的損害已經到達極限

釣魚、密碼清單攻擊、突破簡訊驗證的中間人攻擊等,依賴密碼的認證方式已經顯現出極限。簡訊一次性密碼還有簡訊發送成本,對服務業者來說,轉向通行密鑰的好處也很大。

導入企業也相當多元,包括 Adobe、Amazon、PayPal、NTT docomo、Yahoo、蝦皮購物、豐田汽車、PlayStation 等。

仍然存在的課題

通行密鑰不是萬能的,現實上還有一些課題。

課題 1:裝置遺失時的復原

若是同步通行密鑰,可以透過其他裝置復原,但各服務的復原設計都不同。從使用者角度來看,最安全的做法是「在兩台以上的裝置上都註冊通行密鑰」。

課題 2:與密碼併用的情況仍然很多

很多服務目前都是「可以用通行密鑰,但密碼還留著」的狀態。只要密碼還存在,針對密碼的釣魚風險就依然可能發生。理想狀態雖然是「只剩通行密鑰」,但過渡期看來還會持續一段時間。

課題 3:換機時的轉移

同步通行密鑰在同一生態系內(Apple 對 Apple、Google 對 Google)對換機很友善,但像從 iPhone 換到 Android這種不同生態系之間的移轉,仍然不算順暢。跨平台移轉規格(Credential Exchange Protocol)也在標準化中,但要普及還需要一些時間。

課題 4:使用者教育

即使大家已經習慣「可以用指紋登入」這種體驗,要真正下決心「完全丟掉密碼」,使用者心裡還是會有門檻。這與其說是技術問題,不如說是宣導問題。

總結

  • 密碼本身有「重複使用」、「釣魚」、「難以記憶」、「伺服器端也有秘密」等結構性問題
  • 通行密鑰使用公開金鑰密碼學,並讓私密金鑰不離開裝置,從機制上解決這些問題
  • 生物辨識與 PIN 只是用來在使用私密金鑰時做「本人確認」,生物資訊不會送到伺服器
  • 註冊時會產生公開金鑰並交給伺服器;登入時只需對 challenge 做簽章回傳
  • 因為只能在已註冊的網域上使用,所以在釣魚網站上無法運作
  • 由於三大平台支援、金融監管與釣魚受害加劇,普及速度正在加快
  • 但目前仍處於過渡期,復原、轉移、與密碼併用等問題還存在

「為什麼全世界的密碼會逐漸被它取代」這件事,從技術面與社會面應該都更容易理解了。如果你在日常使用的服務中看到通行密鑰設定畫面,真的很推薦實際設定一次看看。


原文出處:https://qiita.com/ktdatascience/items/78212f9f851ffe97f3d9


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝16   💬11   ❤️1
545
🥈
alicec
📝1   ❤️2
78
🥉
我愛JS
💬2  
7
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登