關於數位憑證

數位憑證是經過加密驗證的數位文件,使用者可藉此提供個人資訊,並進行驗證或授權。數位憑證採用開放的 W3C 數位憑證 API 業界標準。在 Android 上,這項功能是透過 Credential ManagerDigital Credentials API 實作。

圖片:使用數位憑證的流程
圖 1. 在範例應用程式中使用數位憑證。

數位憑證的優點

相較於實體憑證和非標準化數位文件,數位憑證具有下列優勢:

  • 提升安全性和信任度:數位憑證經過加密,可確保資料完整性和真實性。這項聲明可確保憑證是由可驗證的來源核發,且未遭竄改。
  • 強化隱私:許多數位憑證格式支援選擇性揭露,使用者可以只分享必要資訊。舉例來說,使用者可以分享駕駛資格證明,但不會顯示出生日期。
  • 集中儲存:使用者可以在裝置的數位錢包中儲存不同核發機構的各種憑證,減少攜帶實體卡片的需要。
  • 互通性:遵循開放標準,數位憑證就能在不同作業系統、裝置和平台運作。

用途

Digital Credentials API 可用於各種用途,例如:

  • 接受政府核發的身分證件:應用程式可以要求並使用官方政府文件屬性,用於年齡驗證、帳戶救援、客戶身分驗證 (KYC) 程序等流程。
  • 驗證電話號碼:應用程式可使用這項 API 驗證電話號碼,方法是直接與使用者的電信業者交換從手機 SIM 卡衍生的數位憑證。這樣一來,使用者就不必輸入一次性密碼,同時還能提升安全性及降低傳輸成本。詳情請參閱電話號碼驗證指南
  • 驗證電子郵件地址:應用程式可透過這項 API 直接從使用者裝置擷取已驗證的電子郵件,不必使用一次性密碼,即可提供流暢的註冊、登入和帳戶救援體驗。詳情請參閱電子郵件驗證指南
  • 自訂憑證:API 的擴充性可讓任何應用程式開始核發自己的自訂數位憑證,供相應的驗證者要求。
  • 確認付款憑證和交易:透過 API,您可以利用原生、以密碼編譯方式繫結的錢包確認功能,確保付款授權和數位付款憑證 (DPC) 安全無虞。

數位憑證的運作方式

數位憑證生態系統主要有三類應用程式:

  • 核發者:核發者是安全地建立及核發憑證的應用程式。
  • 持有者 (錢包):持有者是指使用者裝置上儲存憑證的應用程式。他們應能透過「出示」程序,與要求應用程式共用這些憑證。
  • 驗證者:驗證者是指驗證及使用數位憑證的應用程式。

Credential Manager 的 Digital Credentials API 會協調發行者、持有人和驗證者應用程式之間的互動。

驗證者要求數位憑證時,會透過 API 將要求傳送至 Android 系統。接著,Credential Manager 會在可信任的系統 UI 中,顯示來自不同持有人的合格數位憑證。使用者同意繼續後,Credential Manager 會叫用對應的持有者來產生回應。

使用者體驗

Credential Manager 內建驗證流程的使用者介面,例如密碼金鑰、密碼和「使用 Google 帳戶登入」功能,Digital Credentials API 的各種用途也有標準化介面。

我們提供專為特定用途設計的 UI 變體。使用 API 時,Android 系統會自動算繪情境感知底部功能表,例如:

  • 電子郵件驗證:介面會顯示帳戶選擇器,其中包含已驗證的電子郵件地址和身分識別提供者。
  • 電話號碼驗證:介面會顯示驗證資訊卡,其中包含網路業者。
  • 多重憑證:這個檢視畫面會堆疊多張卡片,並允許將相關項目捆綁成單一輕觸動作。
  • 數位支付憑證:這份結帳單會顯示付款卡詳細資料、商家資訊和交易總金額,方便你立即確認。
圖片:數位憑證的使用者體驗變體
圖 2. 電子郵件驗證、電話驗證和多重憑證情境的數位憑證 UX 變體。

業界標準

數位憑證採用業界標準,確保跨平台相容性。常用的開放標準包括:

這些標準廣泛用於多個平台和作業系統,因此可在網路瀏覽器、行動裝置和其他外型規格之間順暢運作。開發人員可透過這項功能,與其他應用程式交換數位憑證,不受平台限制。

馬上試試

如要測試跨平台數位憑證流程,請在 Android 裝置上安裝範例持有人和驗證者應用程式。

如要測試流程,請完成下列步驟:

  1. 在 Android 裝置上安裝範例應用程式:使用下列其中一種方法,在第一部裝置上安裝應用程式:
    • 使用預先建構的 APK
      • 下載持有者應用程式:登入 GitHub 帳戶,前往持有者應用程式 GitHub Actions 頁面,選取最新的建構成功版本,然後從「Artifacts」部分下載 app-debug.apk 檔案。這個應用程式稱為「CMWallet」
      • 下載驗證器應用程式:如要取得範例驗證器應用程式,請從 Identity 範例存放區下載 APK。接著,在 Android 裝置上安裝 APK。這個應用程式名為「Digital Credentials Demo」
    • 從來源建構:複製上述存放區,並使用 Android Studio 安裝應用程式。
  2. 開啟範例持有人應用程式:開啟範例持有人應用程式。這會向 Credential Manager 註冊持有人憑證。
  3. 開啟範例驗證應用程式:開啟範例驗證應用程式,然後選取從錢包要求數位憑證的選項。系統應會顯示底頁,列出 CMWallet 中的可用憑證。
  4. 選取憑證:選取要傳回驗證應用程式的憑證。驗證應用程式現在應該會顯示傳回憑證中的欄位。

資源