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

By [Aphasia](https://paragraph.com/@aphasia) · 2025-03-22

---

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)

---

*Originally published on [Aphasia](https://paragraph.com/@aphasia/nPxrL4arzJYbpxobuvFB)*
