一種主動出示數位憑證資料,但不洩漏憑證持有者身分的方法

Abstract

一種根據數位憑證(digital credential)資料生成檔案,使得採用數位自主(Self-sovereign Identity, SSI)驗證框架的APP,能夠主動出示資訊,符合習用驗證流程的方法

Background & Problem Statement

在目前的物理世界下,身分驗證(authentication, AuthN)的第一步,經常都是使用者(待驗證者,即持證者,holder)出示證件。

數位自主(Self-sovereign Identity, SSI)驗證框架雖然提高了使用者的資料自主性;同時阻斷身分驗證過程中,驗證者(verifier)向外詢問資料,留下數位足跡的風險;但也因此要求使用者與驗證者(verifier)修改識別流程,妨礙SSI驗證框架的導入。

在數位自主(Self-sovereign Identity, SSI)驗證框架下,使用者主動出示證件,是極為危險的。因為幾乎無法檢查驗證者(verifier)的身分。若身分驗證的第一步是使用者出示證件,歹徒就可以用各種社交工程,騙取證件上的個資。

因此,OIDC4VP 等通訊協定,明文要求驗證者(verifier)必須提出 request,使持證者(holder)holder 的 APP(例如數位皮夾),能夠檢查驗證者(verifier)的身分。

然而,這段流程與物理世界的既有順序相反。在超商取貨、結帳櫃檯、門票驗證等流程中,目前都是由使用者主動出示手機中的 QR-Code 或感應 NFC。許多驗票窗口、結帳櫃檯,甚至沒有機台能夠出示 QR-Code 讓使用者掃描。

綜上,若無法提供一種「由使用者先出示某物給驗證窗口檢驗,且某物不包含個資」的方法,數位自主(SSI)驗證系統便難以導入許多既有驗證場域中。

Proposed Solution

讓使用者在數位憑證發行者(即發證者,issuer)端,申請特種數位憑證,憑證中僅包含某類獨特碼,無任何其他資訊。

數位自主(SSI)系統的使用者端(例如數位皮夾),確認該憑證確實為特種憑證後,便根據憑證中的獨特碼,生成 QR-Code

驗證端僅掃描QR-Code獲得獨特碼,與驗證端系統原本已有的獨特碼名單比對,決定是否給予服務

以超商領貨為例,依序執行以下步驟:

  1. 發證者(issuer)端生成領貨貨號。

  2. 持證者(holder)向發證者(issuer)端申請領貨數位憑證(如可驗證憑證,

    Verifiable Credentials,VC)

  3. 發證者(issuer)端要求持證者(holder)驗證自己為領貨人

  4. 持證者(holder)以發證者(issuer)會員帳號、手機 OTP 等方式,在發證者(issuer)端完成驗證

  5. 持證者(holder)將「領貨數位憑證」下載至APP中。VC上有特種標記,且僅包含「領貨貨號」一項屬性。

  6. 持證者(holder)要求 APP,將「領貨數位憑證」中的「領貨貨號」屬性轉成 QR-Code。

  7. 持證者 app檢查所述數位憑證,確認上面有特種標記後,根據貨號生成 QR-Code,存於手機內。

  8. 持證者(holder)前往超商,告知櫃檯領貨,並出示上述 QR-Code

  9. 櫃台掃描 QR-Code

  10. 超商 POS 機顯示領貨貨號末3碼(或末4碼)

  11. 櫃檯找到相應貨品,交給持證者(holder)

此流程的特色:

  • 發行可驗證憑證(VC)前,已確保持證者(holder)為本人。可防止冒領

  • QR-Code 不包含任何個資

  • 整個可驗證憑證(VC)申請流程中,發證者(issuer)端沒有獲得任何新資訊

  • 整個取貨流程中,超商系統沒有獲得任何新資訊

    • 寄件系統與超商系統經常分屬不同公司。故超商系統可能自始至終都不知持證者(holder)身分。

      • 若寄件系統與超商系統同公司,可考慮以法規限制資料互串。

  • 超商櫃台以掃碼取代 key-in,速度更快

  • 持證者(holder)免簽名,速度更快

    • 如果超商有「收據簽名存證」需求,可在可驗證憑證(VC)中增加「確認該貨號已領貨」屬性,以相同原理生成 QR-Code 給櫃檯掃描存證

  • 整套流程與既有「報電話+秀證件」流程完全獨立,故可立刻實裝。

  • 在初期可與既有流程平行運作,之後逐漸建議持證者(holder)採用此方法領貨,消除貨品物流標籤上的電話末3碼與領貨者姓名,達成「防冒領+全匿名」

Conclusion

這種流程,將事實上的身分驗證(AuthN)環節,嵌入發證者(issuer)端。

在絕大多數的環境下,「能夠出示 QR-Code 中的資訊」一事,已經足以證明使用者的身分。但由於驗證者(verifier)並未得知「使用者以何種資訊申請到獨特碼」,驗證者(verifier)無法從 QR-Code 探知使用者的身分。

這能夠讓使用者和驗證者(verifier)沿用既有流程與驗證習慣,在驗證端防止冒充,同時又防止驗證者(verifier)得知使用者身分。

Citation Format

DOI: 尚未申請

Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)