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

數位憑證的優點
相較於實體憑證和非標準化數位文件,數位憑證具有下列優勢:
- 提升安全性和信任度:數位憑證經過加密,可確保資料完整性和真實性。這項聲明可確保憑證是由可驗證的來源核發,且未遭竄改。
- 強化隱私:許多數位憑證格式支援選擇性揭露,使用者可以只分享必要資訊。舉例來說,使用者可以分享駕駛資格證明,但不會顯示出生日期。
- 集中儲存:使用者可以在裝置的數位錢包中儲存不同核發機構的各種憑證,減少攜帶實體卡片的需要。
- 互通性:遵循開放標準,數位憑證就能在不同作業系統、裝置和平台運作。
用途
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 系統會自動算繪情境感知底部功能表,例如:
- 電子郵件驗證:介面會顯示帳戶選擇器,其中包含已驗證的電子郵件地址和身分識別提供者。
- 電話號碼驗證:介面會顯示驗證資訊卡,其中包含網路業者。
- 多重憑證:這個檢視畫面會堆疊多張卡片,並允許將相關項目捆綁成單一輕觸動作。
- 數位支付憑證:這份結帳單會顯示付款卡詳細資料、商家資訊和交易總金額,方便你立即確認。
業界標準
數位憑證採用業界標準,確保跨平台相容性。常用的開放標準包括:
- 分享:數位憑證是使用 OpenID4VP 標準要求。
- 核發:數位憑證是使用 OpenID4VCI 標準核發。
- 憑證儲存格式:數位憑證會以不同標準機構維護的標準化格式呈現,主要包括:
- IETF 選擇性揭露 JSON Web Token (sd-jwt) VC
- ISO MDoc
這些標準廣泛用於多個平台和作業系統,因此可在網路瀏覽器、行動裝置和其他外型規格之間順暢運作。開發人員可透過這項功能,與其他應用程式交換數位憑證,不受平台限制。
馬上試試
如要測試跨平台數位憑證流程,請在 Android 裝置上安裝範例持有人和驗證者應用程式。
如要測試流程,請完成下列步驟:
- 在 Android 裝置上安裝範例應用程式:使用下列其中一種方法,在第一部裝置上安裝應用程式:
- 使用預先建構的 APK:
- 下載持有者應用程式:登入 GitHub 帳戶,前往持有者應用程式 GitHub Actions 頁面,選取最新的建構成功版本,然後從「Artifacts」部分下載
app-debug.apk檔案。這個應用程式稱為「CMWallet」。 - 下載驗證器應用程式:如要取得範例驗證器應用程式,請從 Identity 範例存放區下載 APK。接著,在 Android 裝置上安裝 APK。這個應用程式名為「Digital Credentials Demo」。
- 下載持有者應用程式:登入 GitHub 帳戶,前往持有者應用程式 GitHub Actions 頁面,選取最新的建構成功版本,然後從「Artifacts」部分下載
- 從來源建構:複製上述存放區,並使用 Android Studio 安裝應用程式。
- 使用預先建構的 APK:
- 開啟範例持有人應用程式:開啟範例持有人應用程式。這會向 Credential Manager 註冊持有人憑證。
- 開啟範例驗證應用程式:開啟範例驗證應用程式,然後選取從錢包要求數位憑證的選項。系統應會顯示底頁,列出 CMWallet 中的可用憑證。
- 選取憑證:選取要傳回驗證應用程式的憑證。驗證應用程式現在應該會顯示傳回憑證中的欄位。
資源
- 如要進一步瞭解如何核發數位憑證,請參閱核發者指南。
- 如要進一步瞭解持有者應用程式,請參閱持有者指南。
- 如要進一步瞭解如何根據數位憑證驗證使用者,請參閱驗證者指南。
- 如要進一步瞭解網路上的數位憑證,請參閱「網路上的數位憑證」。