安全付款確認 (SPC) 是提議的網路標準,可讓客戶透過平台驗證器,透過信用卡發卡機構、銀行或其他付款服務供應商進行驗證:
- 在 macOS 裝置上使用 Touch ID 解鎖
- Windows 裝置上的 Windows Hello
有了 SPC,商家就能讓消費者快速且順暢地驗證購買交易,而發卡銀行則可保護消費者免於遭受詐欺。
安全性政策中心有兩個階段:註冊和驗證。
- 註冊:付款者將裝置連結至依賴方 (RP)。依賴方可能是信用卡發卡機構、銀行或其他付款服務供應商。
- 驗證:付款人使用已註冊的裝置,直接透過商家平台向 RP 確認身分,然後再確認付款。
防範詐欺的驗證機制
驗證在防範付款詐欺方面扮演重要角色。不過,這項驗證程序通常會仰賴較弱的機制,例如信用卡號碼和持卡人姓名的組合,或是儲存在卡片背面的其他信用卡驗證碼。如果卡片資訊因資料安全性遭到侵害而外洩,例如帳戶盜用或網路釣魚攻擊,這些機制就很容易遭到入侵和冒用。
我們也推出了其他防詐機制,例如 EMV® 3-D 驗證,在這種情況下,付款人可能會被要求向發卡機構或銀行進行驗證。如要驗證,使用者可以使用使用者名稱和密碼登入,也可以透過簡訊向付款者傳送一次性密碼 (OTP)。這可保護消費者免於遭受詐欺,但也可能讓部分合法消費者無法完成付款。SPC 的目標是減少驗證阻礙,進而降低購物車放棄率。
同時,也有一項新的驗證標準正在崛起,名為 WebAuthn。
什麼是 WebAuthn?
網路驗證 (簡稱 WebAuthn) 是一種網路標準,可讓依賴方 (RP) 伺服器使用公開金鑰密碼編譯機制,而非密碼,在瀏覽器中註冊及驗證使用者。
RP 仰賴實體驗證器,例如安全金鑰。RP 會要求安全金鑰產生私密-公開金鑰組,然後將公開金鑰儲存在伺服器上 (註冊)。這些產生的金鑰是裝置專屬,可防止攻擊者冒用使用者身分。由於金鑰組繫結至來源,因此這項標準可防範網路釣魚。
FIDO 聯盟將驗證機制的行為標準化。部分驗證器支援透過生物特徵辨識因素 (例如指紋或臉部辨識) 或知識因素 (例如 PIN 碼) 驗證本機使用者。許多工具都整合至運算裝置,例如筆記型電腦或智慧型手機,稱為「平台驗證器」。WebAuthn 支援所有主要瀏覽器 (電腦和行動裝置),且可在數十億個裝置上使用驗證器。使用者可以在平台上驗證身分,以便註冊及驗證身分。
SPC 的設計目的是與使用者驗證平台驗證工具 (UVPA) 搭配使用。
安全付款確認機制如何運作?
安全付款確認 (SPC) 是建立在 WebAuthn 之上,專門用於付款。由於 WebAuthn 憑證是針對特定網域註冊,因此無法用於驗證可能冒用商家身分的未註冊網站。這項功能讓 WebAuthn 能有效防範網路釣魚攻擊。
SPC 在 WebAuthn 上加入了付款資訊層,讓發卡機構或銀行可提供一致的付款體驗。付款人向依賴方註冊驗證器後,即可在不同的商家網站上進行驗證。依賴方也可以選擇將付款憑證做為一般 WebAuthn 憑證使用。
Stripe 在 Chrome 的來源試用中,在實際環境中進行 SPC 實驗。在這項實驗中,Stripe 的轉換率提高了 8%,結帳率則快了三倍。如要瞭解這些結果,請參閱 W3C Web Payments Working Group 的 SPC 報告。
使用者如何體驗 SPC?
SPC 前端包含兩個階段:註冊和驗證。
客戶必須先使用使用者驗證平台驗證工具 (UVPA) 註冊裝置。裝置註冊完成後,只要商家網站執行 SPC,裝置就能用於驗證使用者身分,並確認付款。
註冊
使用者可以透過兩種方式註冊 SPC:
- 直接在 RP 網站上註冊。
- 透過商家網站間接註冊。
在 RP 網站上註冊
RP 網站上的 SPC 註冊方式與 WebAuthn 的註冊相同。建議由 RP 要求客戶在登入流程中註冊 UVPA。
一般情況如下所示:
- 客戶使用使用者名稱、密碼和額外驗證步驟 (通常為動態密碼或 OTP) 登入銀行網站。
- 驗證成功後,請顯示權限要求,要求客戶註冊裝置 (UVPA)。
- 授予權限後,瀏覽器會顯示 WebAuthn 註冊對話方塊。
- 客戶同意透過生物特徵辨識驗證註冊裝置。
- 客戶現在可以使用裝置登入並安全付款。
使用重新驗證功能時,使用者已登入,但系統會要求使用者再次驗證,以確保仍是同一位使用者。這類設計通常用於安全性至關重要的作業,例如變更密碼要求或付款時。使用 WebAuthn UVPA 後,重新驗證的速度和安全性都比使用密碼來得快、更強。
如要瞭解如何建構 WebAuthn 註冊和驗證流程,以便重新驗證,請參閱「建構第一個 WebAuthn 應用程式」一文。
在付款時在商家網站上註冊
如果客戶未在付款發卡機構的網站上註冊裝置,可以直接在商家網站上註冊。介面看起來相同,但使用者的註冊是由 RP 的程式碼啟動。
如果客戶不常造訪 RP 網站,但 RP 仍想提供驗證選項,這就是理想的做法。
驗證 (付款確認)
付款者在付款交易中提供付款憑證時,系統會要求進行驗證。
- 付款者提供付款憑證 (例如信用卡資訊)。
- 商家會檢查瀏覽器是否支援安全付款確認功能。
- 如果瀏覽器支援 SPC,請呼叫 Payment Request API,並將 SPC 做為付款方式。否則,請改用現有的驗證方法。
- 付款者確認交易明細並完成驗證 (例如觸碰生物特徵辨識平台驗證器)。
支援的平台
macOS 和 Windows 上的 Google Chrome 目前支援安全付款確認功能。自 2022 年 5 月起,Android、iOS 和 ChromeOS 等其他平台不再支援。