TW202217620A - 用於憑證驗證之驗證需求文件 - Google Patents

用於憑證驗證之驗證需求文件 Download PDF

Info

Publication number
TW202217620A
TW202217620A TW109141616A TW109141616A TW202217620A TW 202217620 A TW202217620 A TW 202217620A TW 109141616 A TW109141616 A TW 109141616A TW 109141616 A TW109141616 A TW 109141616A TW 202217620 A TW202217620 A TW 202217620A
Authority
TW
Taiwan
Prior art keywords
vrd
transaction
credential
predicate
certificate
Prior art date
Application number
TW109141616A
Other languages
English (en)
Other versions
TWI800769B (zh
Inventor
家欣 李
安卓 塔利
Original Assignee
美商鏈通科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商鏈通科技股份有限公司 filed Critical 美商鏈通科技股份有限公司
Publication of TW202217620A publication Critical patent/TW202217620A/zh
Application granted granted Critical
Publication of TWI800769B publication Critical patent/TWI800769B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本發明揭露一種使用驗證需求文件(VRD)來驗證憑證的方法、相關的裝置、及電腦可讀取媒介。VRD 憑證驗證生態系統可包含但不局限於VRD管理系統、第一憑證管理系統、第二憑證管理系統、VRD核發器、驗證器、分散式VRD交易共識網路、及分散式憑證管理交易共識網路,而上述部件在必要時可相互連接。分散式VRD交易共識網路保有分散式VRD分類帳以紀錄VRD。使用VRD的憑證驗證主要由與驗證者相關的第一憑證管理系統以及與憑證擁有者相關的第二憑證管理系統執行。第一憑證管理系統自分散式VRD交易共識網路找回VRD並發送 VRD至第二憑證管理系統。第二憑證管理系統藉由分散式憑證管理交易共識網路產生證明以確認VRD中界定的需求。

Description

用於憑證驗證之驗證需求文件
本發明涉及憑證驗證方法及系統,更明確而言,管理分散式驗證需求文件(VRD)交易共識網路的方法及使用儲存於分散式VRD交易共識網路的VRD以要求驗證憑證擁有者的憑證之系統及方法。
由於區塊鏈技術的普及,在所有具有憑證驗證需求之處,數位憑證皆將成為取代傳統憑證的趨勢。對於數位憑證而言,傳統區塊鏈技術提供工具、程式館(libraries)、以及可重複使用的配件來支援去中心化(decentralized)數位身分,以驗證數位憑證;該數位身分係植入在區塊鏈或其他分散式系統中。
排除驗證數位憑證的傳統憑證管理區塊鏈的可用性因素,該區塊鏈在回覆多個客製化的驗證者之驗證需求的方面上不具備足夠的彈性。從電訊業者與其全球知名的電訊服務的普及性角度而言,涉及電訊業者層級的VRD憑證驗證生態系統理想上可被選擇來提供可信任的數位憑證的憑證驗證服務。然而,用於數位憑證管理服務的傳統區塊鏈不具備該VRD憑證驗證生態系統。
本發明揭露一種使用驗證需求文件(VRD)來驗證憑證的方法、相關的裝置、及電腦可讀取媒介。VRD憑證驗證生態系統可包含但不局限於VRD管理系統、第一憑證管理系統、第二憑證管理系統、VRD核發器、驗證器、分散式VRD交易共識網路、及分散式憑證管理交易共識網路,而上述部件在必要時可相互連接。分散式VRD交易共識網路保有分散式VRD分類帳以紀錄VRD。即將被發布至分散式VRD分類帳的VRD交易包含VRD操作者註冊交易、VRD操作者註銷交易、VRD核發者註冊交易、VRD核發者註銷交易、VRD註冊交易、VRD註銷交易、及VRD找回交易。
使用VRD的憑證驗證主要由與驗證者相關的第一憑證管理系統以及與憑證擁有者相關的第二憑證管理系統執行。第一憑證管理系統自分散式VRD交易共識網路找回VRD並發送VRD至第二憑證管理系統。第二憑證管理系統藉由分散式憑證管理交易共識網路產生證明以確認(verify)VRD中界定的需求。
本發明的目的在於產生與紀錄分散式VRD分類帳中的VRD,使得驗證者可選擇已存在的VRD來驗證憑證。為達到上述目的,第一憑證管理系統使用儲存於分散式VRD交易共識網路的驗證需求文件(VRD)以要求驗證憑證擁有者的憑證。該方法包含:
當自驗證器接收VRD的VRD ID及憑證擁有者識別符時,第一憑證管理系統發送VRD ID至分散式VRD交易共識網路以獲取VRD,並發送VRD及憑證擁有者識別符至第二憑證管理系統,其中,VRD包含至少一個屬性、至少一個述詞、或至少一個屬性與至少一個述詞兩者,其需求為定義至少一個種類的憑證用以驗證在VRD中界定的每一個至少一個屬性及每一個至少一個述詞。
在一實施例中,該方法進一步包含:
第一憑證管理系統自第二憑證管理系統接收證明並確認證明是否滿足與在VRD中界定的每一個至少一個屬性及至少一個述詞相關的需求;
當每一個需求已被滿足時,第一憑證管理系統發送證明及在VRD中界定的至少一個屬性與至少一個述詞至分散式憑證管理交易共識網路以進行驗證;及
當自分散式憑證管理交易共識網路接收驗證回覆時,第一憑證管理系統發送憑證驗證結果至驗證器。
本發明的其他目的,優勢及具新穎性的技術特徵在以下伴隨圖示作進一步地描述。
本文中所使用的詞彙係用來描述本發明特定具體實施例中的細節,所有的詞彙應以最大的範疇做合理解讀。某些詞彙將在以下特別強調;任何限制性用語將由具體實施例定義。
以下所述之實施例可由可程式電路程式或由軟體及/或韌體配置,或整體由特殊功能電路,或上述的組合來實施。該特殊功能電路(如果本案有包含)可以以下型式實施,例如:一個或多個特殊應用積體電路(ASIC)、可程式邏輯裝置(PLD)、場域可程式化邏輯閘陣列 (FPGA)…等。
在此描述的實施例係涉及使用驗證需求文件(VRD)來驗證憑證擁有者的憑證的方法、系統、裝置、及儲存有處理器可執行的流程步驟的電腦可讀取媒介、紀錄由VRD核發者核發的憑證的種類及需求的資料結構。該VRD儲存於分散式VRD分類帳中,該分散式VRD分類帳由分散式VRD交易共識網路維護。分散式VRD分類帳可記錄一個或多個以下的交易:VRD操作者註冊交易、VRD操作者註銷交易、VRD核發者註冊交易、VRD核發者註銷交易、VRD註冊交易、VRD註銷交易、及VRD找回交易。此外,分散式憑證交易共識網路維護分散式憑證管理分類帳以提供憑證要求的證明並驗證證明。
上述的流程步驟由VRD憑證驗證生態系統執行,該VRD憑證驗證生態系統包含VRD管理者系統、第一憑證管理系統、第二憑證管理系統、驗證器、及VRD核發器,其以可通信的方式相互連接並連接至分散式VRD交易共識網路及分散式憑證管理交易共識網路以形成憑證驗證網路。
新增VRD操作者時,VRD管理者發布VRD操作者註冊交易至分散式VRD分類帳以在分散式VRD交易共識網路中註冊該VRD操作者。VRD操作者可由VRD管理者註銷,並由該VRD管理者發布VRD操作者註銷交易至分散式VRD分類帳以自該分散式VRD交易共識網路刪除該VRD操作者。新增VRD核發者時,VRD操作者發布VRD核發者註冊交易至分散式VRD分類帳以在分散式VRD交易共識網路中註冊該VRD核發者。VRD核發者可由VRD操作者註銷,並由VRD操作者發布VRD核發者註銷交易至分散式VRD分類帳以自分散式VRD交易共識網路刪除該VRD核發者。新增VRD時,VRD核發者發布VRD註冊交易至分散式VRD分類帳。每一個VRD包含VRD ID、至少一個屬性、至少一個述詞、或至少一個屬性與至少一個述詞兩者。在VRD中界定的每一個至少一個屬性或至少一個述詞定義一需求,該需求用來尋找驗證所需的至少一個憑證。
驗證的用意在於取得具有由驗證器提供的VRD ID之VRD,將VRD與使用者識別符自第一憑證管理系統轉送至第二憑證管理系統,找出滿足每一個在VRD中界定的需求之憑證,發送手把(handle)至對應使用者識別符的錢包(wallet),發送在VRD中界定的至少一個屬性與至少一個述詞的清單至分散式憑證管理交易共識網路,自分散式憑證管理交易共識網路取得證明,發送該證明至第一憑證管理系統以與VRD比對;在確認之後,發送該證明及證明要求至分散式憑證管理交易共識網路以自分散式憑證管理交易共識網路取得驗證回覆,以及發送驗證結果至驗證器。
VRD被用來改善傳統的憑證管理區塊鏈不具有彈性的憑證驗證服務。本發明透過植入於VRD憑證驗證生態系統的VRD方案來解決不具有彈性的問題。為了防止被駭客攻擊,VRD方案可使用分散式VRD交易共識網路,其專注於處理涉及VRD及所有與VRD作業相關的個體互動的交易之作業及資料結構。分散式VRD交易共識網路可融入已存在的分散式憑證管理交易共識網路中,如超級分類帳印地區塊鏈(Hype Ledger Indy Blockchain)。在一實施例中,分散式VRD交易共識網路可為由如TBCASoft ®管理的區塊鏈,於其中可追朔真值的根源以確保真實性。
為了支援在分散式VRD交易共識網路中執行VRD作業,VRD憑證驗證生態系統包含VRD管理者系統、複數個憑證管理系統、複數個VRD核發器、以及複數個驗證器,其以可通訊的方式相互連接。VRD管理者系統由VRD管理者提供,例如TBCASoft ®。每一個複數個憑證管理系統由憑證管理者提供,其可為由VRD管理者註冊之對應的VRD操作者,或者為電信業者、驗證者及憑證擁有者。每一個複數個VRD核發器由對應的VRD核發者提供。每一個複數個驗證器由與對應的憑證管理者相關之對應的驗證者提供。上述所定義的合作連結(cooperative links)為在VRD中憑證驗證生態系統中所有個體之間的關係的非限制性示例。
關於在VRD中憑證驗證生態系統的所有個體的角色,VRD管理者具有註冊及註銷VRD操作者的權利,VRD操作者具有註冊及註銷與其相關的VRD核發者的權利,VRD核發者具有註冊及註銷VRD的權利,驗證者具有要求憑證擁有者憑證驗證的權利,該憑證驗證藉由與驗證者相關的憑證管理者並使用VRD來達成,而與憑證擁有者相關的憑證管理者可作為證明者。如上述,VRD憑證驗證生態系統中的VRD操作者基本上負責建立VRD核發者與VRD管理者之間的可信任連結,以作為驗證者權力的來源。VRD核發者負責以需求配置屬性/述詞,該需求定義VRD中的與驗證者匹配的屬性/述詞,使VRD便於在分散式VRD交易共識網路中註冊。只有註冊VRD的相同VRD核發者可以在分散式VRD交易共識網路註冊更新VRD的版本。本發明被設計為讓VRD核發者及驗證者參與配置將被註冊至分散式VRD交易共識網路的VRD的屬性/述詞及需求。
如圖1所示,VRD 憑證驗證生態系統可包含但不侷限於 VRD 管理系統10、第一憑證管理系統20、第二憑證管理系統30、VRD核發器40、驗證器50、分散式VRD交易共識網路60、及分散式憑證管理交易共識網路70;以下將界定期之間的通訊關係。VRD管理系統10由VRD管理者提供以管理分散式VRD交易共識網路作業。第一憑證管理系統20由與驗證者相關的第一憑證管理者提供。第一憑證管理者可為電訊業者、金融機構、政府機關…等。在本實施例中,第一憑證管理系統20包含第一VRD管理節點21、第一分散式憑證交易節點22、及第一區域憑證管理節點23,其皆可通訊的相互連接。第一VRD 管理節點21負責所有與分散式VRD交易共識網路60相關的作業。第一分散式憑證交易節點22負責與分散式憑證管理交易共識網路70相關的作業。第一區域憑證管理節點23負責第一憑證管理系統20區域的憑證管理並與第二憑證管理系統30相互通訊。第二憑證管理系統30由與憑證擁有者(提供者)相關的第二憑證管理者提供。在另一個實施例中,第一憑證管理系統20包含一個或兩個節點,其可執行第一VRD管理節點21、第一分散式憑證交易節點22、及第一區域憑證管理節點23的所有功能。
第二憑證管理系統30包含第二VRD管理節點31、第二分散式憑證交易節點32、及第二區域憑證管理節點33,其皆可通訊的相互連接。第二VRD 管理節點31負責所有與分散式VRD交易共識網路60相關的作業。第二分散式憑證交易節點32負責與分散式憑證管理交易共識網路70相關的作業。第二區域憑證管理節點33負責第二憑證管理系統30區域的憑證管理並與第一憑證管理系統20通訊,例如,透過傳輸層安全性協定TLS (TLS/Transport Layer Security)連結。在另一實施例中,第二憑證管理系統30可包含一個或兩個節點,其可執行第二VRD管理節點31、第二分散式憑證交易節點32、及第二區域憑證管理節點33的所有功能。
在一實施例中,第一VRD管理節點21及第二VRD管理節點31可為分散式VRD交易共識網路60的節點。在另一實施例中,第一憑證管理分散式共識交易節點22及第二憑證管理分散式共識交易節點32可為分散式憑證管理交易共識網路70的節點。驗證器50由與第一憑證管理者相關的驗證者提供。憑證擁有者裝置由與第二憑證管理者相關的憑證擁有者提供。VRD核發器40由VRD核發者提供。
在一實施例中,第一VRD管理節點31可由與第一憑證管理者區別的第一VRD操作者提供。在此狀況,第一區域憑證管理節點23可與分散式VRD交易共識網路通訊以找回VRD。相同的,第二VRD 管理節點31可由與第二憑證管理者區別的第二VRD操作者提供。在此狀況,第二區域憑證管理節點33可與分散式VRD交易共識網路通訊以找回VRD。其他VRD操作者可提供額外的VRD管理節點。由VRD管理者發布VRD操作者至分散式VRD分類帳之後,VRD操作者可發布VRD核發者至分散式VRD分類帳。接著,VRD核發者可發布VRD至分散式VRD分類帳。
圖1 說明VRD 憑證驗證生態系統,其具有與使用VRD 的分散式VRD交易共識網路及憑證驗證的作業相關的交易及資料。符號 a1、a2、b1、b2、c1、及 c2 個別表示註冊及註銷VRD操作者、VRD核發者、及 VRD的操作。符號 d1、d2、d3、e1、e2、e3、f1、f2、g1 及 g2 個別表示使用VRD憑證驗證時提供的各種不同資料/資訊。符號的意義將在以下說明: a1: VRD操作者註冊交易 a2: VRD操作者註銷交易 b1: VRD核發者註冊交易 b2: VRD核發者註銷交易 c1: VRD註冊交易 c2: VRD 註銷交易 d1: VRD 識別符(ID) d2: 憑證擁有者識別符 d3: VRD e1及 e2:每一個至少一個所選的憑證的屬性及述詞列表憑證識別符 e3: 錢包的手把(handle) f1: 證明 f2: 失敗的指示 g1: 驗證回覆 g2: 驗證結果
請參閱圖1及2,存有分散式VRD分類帳的分散式驗證需求文件交易共識網路包含由VRD管理者提供的VRD管理系統、第一VRD操作者提供的第一VRD 管理節點、第二VRD操作者提供的第二VRD管理節點。VRD管理系統、第一VRD管理節點、及第二VRD 管理皆以可通訊的方式相互連接。VRD交易由分散式VRD交易共識網路的預定共識認可後,VRD交易被發布至分散式VRD分類帳。在一實施例中,可包含七種的VRD交易,其分別為:VRD操作者註冊交易、VRD操作者註銷交易、VRD核發者註冊交易、VRD核發者註銷交易、VRD註冊交易、VRD 註銷交易、及VRD找回交易。分散式VRD分類帳記錄複數個VRD,其每一個包含VRD ID、VRD名稱、以及至少一個的至少一個屬性及至少一個述詞。
分散式VRD交易共識網路以發布VRD管理者至網路的創始交易啟動。VRD管理者的分散識別符(Decentralized ID/DID)為標示VRD管理者的全域獨特識別符,VRD管理者可註冊由VRD操作者DID 標示的VRD操作者至分散式VRD交易共識網路。例如,VRD管理者的DID可為‘vrd-administer-01’。
如圖2所示,第一種VRD交易為VRD操作者註冊交易。 請參閱圖3,VRD操作者註冊交易的資料結構包含具有值例如1的交易種類、將被註冊的VRD操作者之公開金鑰與DID、以及VRD管理者的簽名與DID的欄位。如圖1中的 ‘a1’,由VRD管理者新增的VRD操作者註冊交易自VRD管理系統提交至分散式VRD交易共識網路。VRD管理者的簽名可由儲存於分散式VRD交易共識網路的VRD管理者的公開金鑰進行驗證。藉由預定共識,VRD操作者註冊交易被發布至分散式VRD分類帳。藉此,VRD操作者可註冊VRD核發者。除此之外,VRD操作者的公開金鑰儲存於分散式VRD交易共識網路中,以驗證VRD操作者的簽名。VRD操作者的 DID 為 “字串”資料且為全域獨特識別符,其標示分散式VRD交易共識網路中的VRD操作者。例如,VRD核發者的DID可為“vrd-操作者-01”。VRD管理者的簽名是藉由以VRD管理者的私密金鑰加密散列(hashing)VRD操作者註冊交易所有其他欄位之雜湊值來產生。
如圖2所示,第二種的VRD交易為VRD操作者註銷交易。請參照圖4,VRD操作者註銷交易的資料結構包含如值為2的交易種類、已註冊的VRD操作者的DID、以及VRD管理者DID及簽名的欄位。VRD管理者的簽名是藉由以VRD管理者的私密金鑰加密散列(hashing)VRD操作者註銷交易所有其他欄位之雜湊值來產生。如圖1中“a2” 所示,VRD操作者註銷交易由VRD管理者新增並自VRD管理系統提交至分散式VRD交易共識網路,VRD管理者簽名可藉由儲存於分散式VRD交易共識網路中的VRD管理者的公開金鑰驗證。基於預定共識,VRD操作者註銷交易被發布至分散式VRD分類帳。由VRD操作者的DID標示的先前已註冊的VRD操作者由VRD管理者的DID標示的VRD管理者註銷,該VRD管理者先前註冊該VRD操作者。因此,VRD操作者將無法再註冊VRD核發者。
如圖2所示,第三種的VRD交易為VRD核發者註冊交易。請參閱圖5,VRD核發者註冊交易的資料結構包含如值為3的交易種類、將被註冊的VRD核發者的公開金鑰與DID、及註冊VRD核發者的VRD操作者的簽名與DID的欄位。 如圖1中的 “b1”所示,VRD核發者註冊交易由VRD操作者新增並提交至分散式VRD交易共識網路。在一實施例中,VRD操作者可為第一憑證管理者,其提供VRD管理節點21。VRD操作者的簽名可由儲存於分散式VRD交易共識網路的VRD操作者的公開金鑰驗證。基於預定共識,VRD核發者註冊交易被發布至分散式VRD分類帳。藉此,VRD核發者將可註冊VRD。除此之外,VRD核發者之公開金鑰儲存於分散式VRD交易共識網路用以驗證VRD核發者的簽名。VRD核發者的 DID 為 “字串”資料且為全域獨特識別符,其標示VRD核發者。例如,VRD核發者的DID 可為“vrd-核發者-01”。註冊VRD核發者的VRD操作者的簽名是藉由以VRD操作者的私密金鑰加密散列(hashing)VRD核發者註冊交易所有其他欄位之雜湊值來產生。在本實施例中,註冊VRD核發者的VRD操作者為第一憑證管理者,其提供第一憑證管理系統20,如圖1所示。容易受到VRD核發者真實性影響的個體可利用分散式VRD交易共識網路60查詢VRD核發者的DID並確認VRD核發者事實上為由有效的VRD操作者註冊的VRD核發者。
如圖2所示,第四種的VRD交易為VRD核發者註銷交易。請參閱圖6,VRD核發者註銷交易的資料結構包含如值為4的交易種類、已註冊的VRD核發者的DID、以及註冊VRD核發者的VRD操作者的DID與簽名的欄位。註冊VRD核發者的VRD操作者的簽名是藉由以VRD操作者的私密金鑰加密散列(hashing)VRD核發者註銷交易所有其他欄位之雜湊值來產生,該VRD核發者由該VRD操作者註冊。在本實施例中,註冊VRD核發者的VRD操作者為第一憑證管理者。如圖1 中“b2” 所示,VRD核發者註銷交易由第一憑證管理系統新增與提交至分散式VRD交易共識網路。VRD操作者的簽名可由儲存於分散式VRD交易共識網路的第一憑證管理者的公開金鑰認可。基於預定共識,VRD核發者註銷交易被發布至分散式VRD分類帳。由VRD核發者的DID標示的先前已註冊的VRD核發者由VRD操作者註銷,該VRD操作者為先前註冊該VRD核發者。藉此,VRD核發者將不具有註冊VRD的權利。
第五種的VRD交易為VRD註冊交易。請參照圖7,每一個至少一個VRD註冊交易的資料結構包含如值為5的交易種類、VRD ID、VRD名稱、即將新增VRD的版本、至少一個的至少一個屬性與至少一個述詞、註冊VRD核發者至分散式VRD交易共識網路的VRD操作者的ID、以及VRD核發者的DID與簽名的欄位。VRD ID為“字串”資料且為全域獨特識別符,例如,“vrd-sprint-0000001”。VRD名稱被設定為對驗證的目的而言有意義的“字串”資料,例如,“alcohol drinking age”。VRD的版本為“實數”資料並表示VRD的版本,例如1.0。VRD操作者的ID為 “字串”資料。在一實施例中,例如,VRD操作者的ID可為 “Sprint”,其為扮演VRD操作者角色的電訊業者名稱。在一實施例中,VRD操作者ID 用以將要求連結至註冊VRD核發者的特定VRD操作者。在此狀況中,VRD核發者的錢包儲存於VRD操作者的地點。因此,只有VRD操作者可存取VRD核發者的錢包金鑰以簽署交易。
在VRD中註冊交易的VRD核發者的簽名是藉由以VRD核發者的私密金鑰加密散列(hashing)VRD註冊交易所有其他欄位之雜湊值來產生。如圖1中的 “c1” 所示,VRD註冊交易是由VRD核發者新增並自VRD核發器提交至分散式VRD交易共識網路。VRD核發者簽名可由儲存於分散式VRD交易共識網路的VRD核發者的公開金鑰驗證。基於預定共識,VRD註冊交易被發布至分散式VRD分類帳。因此,VRD可由驗證者找回。
為了支援身分自主權(self-sovereign identity),在一實施例中,VRD核發者的私密金鑰可被分成複數個共享金鑰(share keys)。複數個共享金鑰可被個別儲存於VRD操作者提供的VRD作業裝置(在本實施例中,由第一憑證管理者提供的第一憑證管理系統)及VRD核發者提供的VRD核發器。VRD核發者的私密金鑰可根據秘密共享方案,藉由結合VRD核發者及第一憑證管理者擁有的共享金鑰來重新建構。在此狀況中,VRD核發者的共享金鑰必須與VRD操作者的共享金鑰結合以在VRD核發交易產生前建構VRD核發者的私密金鑰。VRD核發者簽名可在第一憑證管理者方,由重新建構的私密金鑰產生。在一實施例中,秘密共享方案為舍米爾(Shamir)的秘密共享方案。VRD註冊交易提交至分散式VRD交易共識網路60後,VRD核發者的簽名可分散式VRD交易共識網路60中的VRD核發者的公開金鑰驗證。由VRD ID標示的已註冊的VRD由VRD核發者發布至分散式VRD分類帳。每個儲存於分散式VRD交易共識網路60的VRD與其VRD註冊交易之間的不同為VRD本身不具有VRD核發者的簽名的欄位。
接下來的描述涉及屬性、述詞、及需求,並僅作為示例。每個VRD註冊交易或每個VRD被配置為只具有至少一個屬性、只具有至少一個述詞、或同時具有至少一個屬性與至少一個述詞兩者。請參閱圖8,每一個至少一個屬性界定憑證擁有者的至少一個被標示的憑證的一個屬性,該屬性包含需求、屬性名稱、及揭示選項的子欄位。
屬性的需求描述至少一個搜尋條件以找出至少一個包含該屬性的憑證。在一實施例中,屬性的至少複數個條件的狀態可與至少一個布林操作者結合。需求中的每個搜尋條件是用來定義憑證的種類,其藉由定義綱要ID (schema ID)的種類,例如{Schema_id = 1}或界定憑證 ID的種類,如 {Credential_definition_id = 7},或者由特定憑證核發者核發的憑證,例如 { Issuer id = 5}。當VRD具有一屬性,例如 ‘名字’,並具有一搜尋條件,例如,{Schema id = 1} 界定一美國駕照(不考慮哪一州),VRD要求驗證憑證擁有者駕照 (具有特定綱要ID憑證)上的名字 (屬性)。 當屬性的該需求只具有一個搜尋條件,則不需要布林運算子。然而,當屬性的需求,例如,‘出生日期’,具有複數個搜尋條件,例如,{Credential_definition_id = 1}、{Credential_definition_id = 2}、及{Issuer_id = 3},VRD要求驗證滿足三個搜尋條件的憑證的出生日期 (屬性)。根據驗證所需,複數個搜尋條件可與一個或多個布林運算子,如‘AND’ 及 ‘OR’結合。舉例來說,與布林運算子結合的複數個搜尋條件,{ Credential_definition_id = 1 OR [Credential_definition_id = 2 AND Issuer_id = 3]} 可被解讀為要求驗證憑證上的出生日期,該憑證的 Credential_definition_id 等於1,其可為加州的駕照,或是Credential_definition_id 等於2 且 Issuer_id 等於3的憑證,其可為由紐約州監理所核發的紐約州駕照。也就是說,VRD要求自憑證擁有者的加州駕照或紐約州監理所核發的紐約州駕照驗證其出生日期。在本例子中,兩個憑證的任一滿足兩個布林運算子所結合的三個搜尋條件,且來自任一憑證的出生日期可被用來驗證。
含有“字串”資料的屬性名稱界定特定的屬性種類,例如名字、出生日期、社會安全碼、護照號碼、任職單位…等。與屬性名稱相關的揭示選項  為布林值,TRUE 或 FALSE,其被配置來允許或拒絕即將揭露的屬性的值或內容。在一實施例中,揭示選項的預設值為 FALSE。例如,如果屬性名稱為 “出生日期” 且揭示選項為TRUE,標示的憑證出生日期的內容將在證明中揭露。
VRD的每個述詞要求驗證自標示的憑證的屬性衍伸或與標示的憑證的屬性相關的述詞特徵是否滿足驗證條件。驗證條件為相對於一預定值的比較關係。例如,需要述詞 (年齡> = 21) 來驗證駕照 (標示的憑證)的自出生日期 (述詞屬性) 衍伸的年齡(述詞特徵) 等於還是大於 21 (驗證條件)。驗證條件進一步包含比較關係的屬性 (述詞種類),例如大於 “>”、等於 “=” 、小於 “<”、不小於 “>=”、不大於 “<=” 、以及述詞值,其為一預定數值。其他述詞包含 “年齡< 65”,其中 “< 65” 為驗證條件、以及 “教育程度 >= 3”,其中 “>= 3” 為驗證條件,其要求最低學位為驗證標示為3的碩士學位。
再次參照圖8,每一個至少一個述詞包含需求的子欄位、述詞名稱、述詞特徵、述詞值、以及述詞種類。在一實施例中,每個述詞進一步包含述詞屬性的子欄位,述詞特徵值是從該述詞屬性衍伸。述詞中的需求與屬性中的需求相似,在此將不再贅述。屬性名稱為“字串”資料且被新增以 表達述詞的涵義,例如,“年齡驗證”。述詞中的述詞特徵為 “字串”資料並界定自需求標示的至少一個憑證的屬性衍伸或與該屬性相關的特徵。例如,述詞 “年齡< 65”中的述詞特徵 “年齡” 可由述詞屬性 “出生日期”中導出。述詞值為 “整數”資料並界定與自屬性述詞衍伸的特徵的值相比的值,例如上述述詞中的65。述詞種類為 “字串”資料,其界定自標示的憑證屬性導出的述詞特徵的值與述詞值之間的比較關係,例如上述述詞的小於 “<”。
述詞的需求與屬性的功能大致相同。當述詞的需求具有一 搜尋條件以 找出至少一個憑證,該憑證包含用來導出述詞特徵值的屬性。例如,述詞的需求 “年齡< 65” 具有一搜尋條件 “Schema_id = 1”,其為美國駕照(不考慮哪一州)。憑證擁有者的美國駕照上的出生日期被用來導出年齡的值,並將該值與 65比較。 這樣的述詞在VRD中要求驗證自美國駕照中導出的憑證擁有者的年齡為小於 65。當述詞的需求具有複數個搜尋條件,例如{ Credential_definition_id = 1 OR [Credential_definition_id = 2 AND Issuer_id = 3]},VRD要求驗證自滿足所有三個搜尋條件的憑證中出生日期 (屬性)導出的年齡( 述詞特徵)。根據驗證的需要,複數個搜尋條件可與一個或多個布林運算子,例如 ‘AND’ 及 ‘OR’ 結合。作為與布林運算子結合的複數個搜尋條件的示例,{ Credential_definition_id = 1 OR [Credential_definition_id = 2 AND Issuer_id = 3]} 被解讀為要求Credential_definition_id 等於 1(其為加州駕照),或者Credential_definition_id 等於 2 且 Issuer_id is 等於 3 (其為紐約州監理所核發的紐約州駕照) 的憑證上的出生日期進行年齡驗證。換言之,VRD要求使用來自憑證擁有者的加州駕照或由紐約州監理所核發的紐約駕照的出生日期作為年齡述詞的驗證。
由於 AND與 OR 布林運算子可用來與複數個搜尋條件結合,本發明的其中一個優勢為可提供更具有彈性與效率的設定與憑證驗證所需的屬性或述詞相關的需求的方法。
第六種的VRD交易為VRD註銷交易。 請參照圖9,每個VRD註銷交易的資料結構包含交易種類值(例如 6)、VRD核發者的DID與簽名 、以及即將註銷的VRD的ID的欄位。在VRD註銷交易中的VRD核發者的簽名是藉由以VRD核發者的私密金鑰加密散列(hashing)VRD註銷交易所有其他欄位之雜湊值來產生。如圖1 中的“c2”所示,VRD註銷交易 由VRD核發者新增並自VRD核發者提交至分散式VRD交易共識網路 60。VRD核發者的簽名可由分散式VRD交易共識網路60中的VRD核發者的公開金鑰驗證。基於預定共識,VRD註銷交易被發布至分散式VRD分類帳。即將被註銷的VRD的ID 標示的VRD由VRD核發者的 DID 標示的VRD核發者自分散式VRD交易共識網路 60刪除。藉此,註銷的VRD將無法再被驗證者使用。
第七種的VRD交易為VRD找回交易。每個VRD找回交易的資料結構包含如值為7的交易種類以及VRD ID的欄位。 如圖1中的 “d1” 所示,VRD找回交易是從第一憑證管理系統20提交至分散式VRD交易共識網路,該第一憑證管理系統20 由與驗證者相關的第一憑證管理者提供。因此,藉由圖1所示的 “d2”,VRD自分散式VRD交易共識網路 60回到第一憑證管理系統20。
分散式VRD交易共識網路形成且VRD被記錄於其中之後,使用VRD以驗證憑證的方法將於以下有進一步的說明。與驗證者相關的第一憑證管理系統與第二憑證管理系統互動,該第二憑證管理系統與憑證擁有者 (prover)相關,該第一憑證管理系統與第二憑證管理系統與分散式VRD交易共識網路及分散式憑證管理交易共識網路相互通訊以驗證憑證擁有者的憑證。請參照圖 1及10,使用儲存於分散式VRD交易共識網路的VRD的第一憑證管理系統要求驗證憑證擁有者的憑證的方法包含以下步驟。
步驟 S310:當自驗證器 50接收VRD ID 及憑證擁有者識別符時(其在圖1 中標示為d1 與 d2),第一憑證管理系統20傳送包含在VRD找回交易 中的VRD ID 至分散式VRD交易共識網路60以獲取圖1中的d3標示的VRD,接著傳送VRD與憑證擁有者識別符至第二憑證管理系統30。VRD包含至少一個屬性、至少一個述詞、或至少一個屬性與至少一個述詞兩者。 每個屬性及述詞具有自己的需求,該需求定義至少一個種類的憑證用以驗證在VRD中界定的屬性與述詞。
尤其,當憑證擁有者以驗證器 50 與驗證者進行互動,驗證器 50自憑證擁有者接收憑證擁有者識別符並提供VRD ID及憑證擁有者識別符至第一憑證管理系統20。針對所有的憑證擁有者,每個驗證器 50 可使用一專屬的VRD ID,及/或針對不同的驗證目的,為不同複數個憑證擁有者群組個別使用複數個VRD ID。 在先前的情況中,驗證器 50 皆傳送相同的VRD ID。在後面的情況中,驗證器 50基於憑證擁有者群組及/或驗證目的提供對應的VRD ID至第一憑證管理系統20。在一實施例中,驗證器 50 進一步提供VRD的版本。 如圖1所示,第一憑證管理系統20接著傳送VRD ID 至分散式VRD交易共識網路60以藉由VRD ID自分散式VRD交易共識網路60找回VRD(d3),並傳送VRD(d3) 與憑證擁有者識別符 (d2)至第二憑證管理系統30。憑證擁有者識別符包含憑證擁有者 ID及與憑證擁有者相關的第二憑證管理系統30的識別符 。 藉此,第一憑證管理系統20可基於憑證擁有者識別符找出第二憑證管理系統30並傳送VRD與憑證擁有者識別符至第二憑證管理系統30。在一實施例中,基於在VRD中定義的屬性與述詞,第一憑證管理系統20 進一步傳送證明要求至第二憑證管理系統30。證明要求界定何種屬性必須被包含在證明中以表示每個皆包含特定屬性的憑證的存在。 然而,證明要求不需要包含證明要求中可使用的憑證。
如先前所述,每個VRD可被配置為包含至少一個屬性、至少一個述詞、或至少一個屬性與至少一個述詞兩者。 每一個至少一個屬性包含屬性名稱及標示至少一個憑證擁有者的憑證的需求,該憑證包含該屬性。在VRD中的每一個至少一個述詞包含述詞屬性 (述詞特徵可自該屬性導出) 及標示至少一個憑證擁有者的憑證的需求,該憑證包含該述詞屬性以判別述詞的驗證條件是否滿足。
步驟 S320:第一憑證管理系統20 自第二憑證管理系統30接收證明 並確認證明是否滿足與在VRD中界定的每一個至少一個屬性及至少一個述詞相關的需求。
尤其是,自第一憑證管理系統20接收VRD ID後,第二憑證管理系統30產生屬性及述詞列表,該述詞列表包含在VRD中界定的每一個至少一個屬性的屬性名稱與每一個至少一個述詞的述詞屬性。第二憑證管理系統30從憑證擁有者識別符判別憑證擁有者 ,該憑證擁有者識別符包含憑證擁有者 ID,接著搜尋憑證擁有者的錢包以找出滿足對應每個屬性及述詞的需求的憑證。 憑證擁有者的憑證被加密及儲存於為 “錢包” 概念的區域資料庫。 在另一實施例中,憑證擁有者的錢包可由第三方或憑證擁有者管理。第二憑證擁有者管理系統藉由存取區域資料庫以搜尋憑證擁有者的錢包,以找出滿足在VRD中界定的需求的至少一個憑證。
第二憑證管理系統30接著基於證明要求及選擇的憑證經由分散式憑證管理交易共識網路 70新增證明。 如圖1所示,第二憑證管理系統30發送證明要求、屬性及述詞列表 (e1???) 、每一個至少一個選擇的憑證的憑證 識別符 (e2???)、以及憑證擁有者的錢包的手把(handle) 至分散式憑證管理交易共識網路 70。憑證擁有者的錢包的手把可用來存取憑證擁有者的憑證。 憑證(與屬性及值),包含 “鏈接秘密”(link secret)、為憑證擁有者、核發者、以及綱要與憑證定義自儲存於分散式憑證管理分類帳的憑證擁有者與憑證核發者的公開金鑰導出的數學值。第二憑證管理系統30接著自分散式憑證管理交易共識網路 70接收回證明 (f1)。
在一實施例中,超級分類帳印地軟體開發套件(SDK)可用來建構證明,其使用儲存於區域憑證的鏈接秘密以及分散式憑證管理分類帳中找到的憑證擁有者與憑證核發者的公開金鑰以建構零知識(zero knowledge) 證明。
在一實施例中,為在VRD中界定的每個要求的屬性與述詞新增零知識證明 (ZKP)。可藉由檢查分散式憑證管理分類帳中找到的憑證擁有者及憑證核發者公開金鑰來驗證這些 ZKP。每個 ZKP證明憑證擁有者的憑證為有效且沒有被註銷。除此之外,對於零知識證明而言,證明包含每個屬性的明文及/或值,其被要求由在VRD中的揭示選項揭露。 例如,如果 “姓名” (屬性) 被要求揭露,“John Doe” (屬性的明文) 將包含在證明之中。每個屬性的明文及/或值可直接自憑證獲取。
除了至少一個零知識證明, 證明進一步包含每個所選的憑證的憑證識別符。當沒有憑證擁有者的憑證可滿足在VRD中界定的每一個至少一個屬性與至少一個述詞的需求時,第二憑證管理系統30將發送失敗的指示 (f2) 至第一憑證管理系統20而不執行任何與證明相關的流程。 不然,第二憑證管理系統30發送證明至第一憑證管理系統20。
第一憑證管理系統20自第二憑證管理系統30接收證明。證明包含至少一個憑證識別符以標示至少一個所選的憑證,該憑證包含在VRD中界定的屬性或述詞屬性。第一憑證管理系統20 檢查以確認在證明中由至少一個憑證識別符標示的至少一個憑證是否滿足每個在VRD中界定的至少一個屬性與至少一個述詞的需求。上述的檢查僅在第一憑證管理系統20 進行。 然而,其無法確認憑證擁有者是否真的擁有至少一個所選的有效且沒有被註銷的憑證。
步驟 S330:當每個需求已被滿足,第一憑證管理系統20發送證明及在VRD中界定的至少一個的至少一個屬性與至少一個述詞至分散式憑證管理交易共識網路以進行驗證。
尤其,當每個需求已被滿足,第一憑證管理系統20 發送證明 (f1) 與of 在VRD中界定的每一個至少一個屬性的屬性名稱與每一個至少一個述詞的述詞屬性至分散式憑證管理交易共識網路 70以進行驗證,該屬性與述詞與第二憑證管理系統30中產生的屬性與述詞列表 (e1)相同。
當接收失敗的指示,第一憑證管理系統20發送驗證失敗的結果至驗證器 50表示憑證擁有者不具有滿足在VRD中界定的至少一個屬性與至少一個述詞需求的憑證並結束剩下的方法的步驟。
步驟 S340: 在自分散式憑證管理交易共識網路接收驗證回覆時,第一憑證管理系統20發送憑證驗證結果至驗證器 50。
尤其,自分散式憑證管理交易共識網路 70接收驗證回覆 (g1)時,第一憑證管理系統20發送驗證結果 (g2) 至驗證器 50。證明中對應的屬性名稱或對應的述詞屬性的每一個至少一個零知識證明為一數學值;針對憑證擁有者、憑證核發者、及與證明中至少一個憑證相關的綱要與憑證定義,其可以與儲存於分散式憑證管理交易共識網路 70的憑證擁有者與憑證核發者的公開金鑰進行比對驗證。每個零知識證明的驗證都會產生一布林值,TRUE或 FALSE,其表示包含對應屬性的屬性或對應述詞的述詞屬性的至少一個憑證為有效且沒有被註銷。驗證回覆包含標示每個零知識證明驗證結果的布林值。例如,如果VRD包含屬性的屬性名稱,例如 “姓名”,且由屬性的需求標示的憑證,例如 {Schema_id = 1},為美國駕照,對應的零知識證明驗證為TRUE 值表示憑證擁有者擁有包含該姓名的有效且沒有被註銷的美國駕照憑證。進一步的,如果述詞為‘年齡< 65’ 且述詞的需求標示的憑證,例如 {Schema_id = 1},為美國駕照,對應的零知識證明驗證為FALSE 值表示美國駕照憑證失效且被註銷。基於驗證回覆,驗證結果接著被發送至第一憑證管理系統20。驗證結果可為布林值—TRUE,代表通過在VRD中界定的驗證,或 FALSE,代表未通過在VRD中界定的驗證。 在另一實施例中,驗證結果可為具有根據驗證者的要求而改變的驗證回覆的客製化報告。
以上雖然闡述了本發明諸多技術特徵及優勢,但其揭露的功能及細部結構皆為示例性說明。在不背離本發明的精神下,本發明申請專利範圍的權利範疇最大解讀方式涵蓋基於本說明書的教示而改變本發明形狀、大小、及部件的配置方式所得的改良。
a1:VRD操作者註冊交易 a2:VRD操作者註銷交易 b1:VRD核發者註冊交易 b2:VRD核發者註銷交易 c1:VRD註冊交易 c2:VRD 註銷交易 d1:VRD 識別符 d2:憑證擁有者識別符 d3:VRD e1、e2:每一個至少一個所選的憑證的屬性及述詞列表憑證識別符 e3:錢包的手把(handle) f1:證明 f2:失敗的指示 g1:驗證回覆 g2:驗證結果 10:VRD 管理系統 20:第一憑證管理系統 21:第一VRD管理節點 22:第一分散式憑證交易節點 23:第一區域憑證管理節點 30:第二憑證管理系統 31:第二VRD管理節點 32:第二分散式憑證交易節點 33:第二區域憑證管理節點 40:VRD核發器 50:驗證器 60:分散式VRD交易共識網路 70:分散式憑證管理交易共識網路 S310~S340:步驟
圖1 為說明根據本發明的涉及VRD作業的系統架構之示意圖; 圖2 為說明根據本發明的分散式VRD交易共識網路之各種不同VRD交易的表格; 圖3 為說明與VRD操作者註冊交易相關的資料結構的表格; 圖4 為說明與VRD操作者註銷交易相關的資料結構的表格; 圖5 為說明與VRD核發者註冊交易相關的資料結構的表格; 圖6 為說明與VRD核發者註銷交易相關的資料結構的表格; 圖7 為說明與VRD註冊交易相關的資料結構的表格; 圖8 為說明圖7中與在VRD註冊交易中界定的每個屬性及每個述詞相關的資料結構的表格; 圖9 為說明與VRD 註銷交易相關的資料結構的表格;以及 圖10為說明根據本發明的第一憑證管理系統使用儲存於分散式VRD交易共識網路的VRD以要求驗證憑證擁有者的憑證的方法之流程圖。
a1:VRD操作者註冊交易
a2:VRD操作者註銷交易
b1:VRD核發者註冊交易
b2:VRD核發者註銷交易
c1:VRD註冊交易
c2:VRD註銷交易
d1:VRD識別符
d2:憑證擁有者識別符
d3:VRD
e1、e2:每一個至少一個所選的憑證的屬性及述詞列表憑證識別符
e3:錢包的手把(handle)
f1:證明
f2:失敗的指示
g1:驗證回覆
g2:驗證結果
10:VRD管理系統
20:第一憑證管理系統
21:第一VRD管理節點
22:第一分散式憑證交易節點
23:第一區域憑證管理節點
30:第二憑證管理系統
31:第二VRD管理節點
32:第二分散式憑證交易節點
33:第二區域憑證管理節點
40:VRD核發器
50:驗證器
60:分散式VRD交易共識網路
70:分散式憑證管理交易共識網路

Claims (27)

  1. 一種一第一憑證管理系統利用儲存於一分散式驗證需求文件(verification requirement document/VRD)交易共識網路上的一VRD用以要求一驗證憑證擁有者的憑證的方法,該方法包含: (a) 當自一驗證者接收該VRD的一VRD識別(ID) 及一憑證擁有者識別符時,該第一憑證管理系統發送該VRD ID至該分散式VRD交易共識網路 以找回該VRD,並發送該VRD以及該憑證擁有者識別符至一第二憑證管理系統,其中該VRD包含至少一個屬性,至少一個述詞,或至少一個屬性及至少一個述詞兩者,其中必須界定至少一個種類的憑證用以驗證在VRD中界定的每一個該至少一個屬性及每一個該至少一個述詞。
  2. 如請求項1所述的方法,進一步包含: (b) 該第一憑證管理系統自該第二憑證管理系統接收一證明並確認該 證明是否滿足與在該VRD中界定的每一個該至少一個屬性及每一個該至少一個述詞相關的需求; (c)當每一需求被滿足時,該第一憑證管理系統發送該證明及在該VRD中界定的該至少一個屬性及該至少一個述詞其中之一至一分散式憑證管理交易共識網路用以作驗證; (d)自該分散式憑證管理交易共識網路接收一驗證回覆時,該第一憑證管理系統發送一憑證驗證結果至該驗證者。
  3. 如請求項2所述的方法,進一步包含:該第二憑證管理系統選擇憑證擁有者的至少一個憑證,其滿足在該VRD中界定的每一個該至少一個屬性及該至少一個述詞的需求,發送在該VRD中界定的每一個該至少一個屬性及該至少一個述詞及每一個該至少一個所選的憑證的一憑證識別符至該分散式憑證管理交易共識網路,並發送自該分散式憑證管理交易共識網路接收的該證明至該第一憑證管理系統。
  4. 如請求項1所述的方法,其中,該憑證擁有者識別符包含與該憑證擁有者相關的第二憑證管理系統的一憑證擁有者 ID及一識別符。
  5. 如請求項2所述的方法,其中該VRD 具有VRD ID、VRD 名稱、至少一個該至少一個屬性及該至少一個述詞、以及該VRD 之核發者分散識別符(Decentralized ID/ DID)的欄位。
  6. 如請求項5所述的方法,其中每一個該至少一個屬性包含一對應的需求、一屬性名稱、以及一揭示選項,且該對應的需求界定該憑證擁有者的該至少一個種類的憑證並包含至少一個搜尋條件。
  7. 如請求項6所述的方法,其中該至少一個搜尋條件包含複數個搜尋條件,該複數個搜尋條件由或布林運算子中的 “或”相互結合。
  8. 如請求項2所述的方法,其中在VRD中界定的每一個該至少一個述詞包含一對應的需求,一述詞名稱,一述詞特徵,一述詞屬性,一述詞值,以及一述詞種類,該對應的需求界定該憑證擁有者的該至少一個種類的憑證並包含至少一個搜尋條件。
  9. 如請求項8所述的方法,其中該至少一個搜尋條件包含複數個搜尋條件,該複數個搜尋條件由或布林運算子中的 “或”相互結合。
  10. 如請求項2所述的方法,其中該證明包含一零知識( zero-knowledge) 證明,其對應在VRD中界定的每一個該至少一個屬性及該至少一個述詞,用以驗證所選的為有效且非註銷的。
  11. 如請求項6所述的方法,其中當在VRD中界定的該至少一個屬性的該揭示選項允許揭露,該證明包含該至少一個屬性的一值或內容。
  12. 如請求項6所述的方法,其中當在VRD中界定的該至少一個屬性的該揭示選項允許揭露,該驗證結果包含該至少一個屬性的一值或內容。
  13. 如請求項1所述的方法,其中該分散式VRD交易共識網路及該分散式憑證管理交易共識網路為區塊鏈。
  14. 如請求項1所述的方法,其中該分散式VRD交易共識網路及該分散式憑證管理交易共識網路為分開的網路。
  15. 如請求項1所述的方法,其中該分散式VRD交易共識網路整合至 該分散式憑證管理交易共識網路中。
  16. 一種分散式驗證需求文件(VRD) 交易共識網路,其存有一分散式VRD分類帳,該網路包含: 一VRD 管理系統,由一VRD管理者提供; 一第一VRD 管理節點,由一第一VRD 操作者提供; 一第二VRD 管理節點,由一第二VRD 操作者提供; 其中一VRD 管理系統、該第一VRD 管理節點、及該第二VRD 管理可相互通訊的連接; 其中一 VRD交易由該分散式VRD交易共識網路的一預定共識認可後,該VRD交易被發布至該分散式VRD分類帳,而該VRD交易為VRD 操作者註冊交易、VRD 操作者註銷交易、VRD 核發者註冊交易、VRD 核發者註銷交易、VRD註冊交易、VRD 註銷交易、及 VRD找回交易其中之一;以及 其中該分散式VRD分類帳記錄複數個VRD,且每一個 VRD具有VRD ID、VRD 名稱、至少一個的至少一個屬性及至少一個述詞、及該VRD 核發者的分散識別符(Decentralized ID/ DID)的欄位。
  17. 如請求項 16所述的網路,其中該VRD 操作者註冊交易包含公開金鑰及一VRD 操作者的DID,及一VRD管理者的DID與簽名用以發布一 VRD 操作者。
  18. 如請求項16所述的網路,其中該 VRD 操作者註銷交易註銷該VRD 操作者,該 VRD 操作者註銷交易包含一VRD 操作者的DID,及一VRD管理者的DID 及簽名,該VRD管理者註冊該 VRD 操作者。
  19. 如請求項16所述的網路,其中該VRD 核發者註冊交易發布該VRD 核發者,該VRD 核發者註冊交易包含公開金鑰及一VRD核發者的DID,及一VRD 操作者的 DID 與簽名。
  20. 如請求項16所述的網路,其中該 VRD 核發者註銷交易註銷該VRD 核發者、該 VRD 核發者註銷交易包含一VRD 核發者 的DID、及一VRD 操作者的DID 與簽名,該VRD 操作者註冊該VRD 核發者。
  21. 如請求項16所述的網路,其中該VRD註冊交易具有 VRD ID、VRD 名稱、至少一個屬性及至少一個述詞的至少一個、及一VRD 核發者的DID 及簽名的欄位。
  22. 如請求項16所述的網路,其中該VRD 註銷交易具有註冊一VRD的一VRD 核發者的簽名及DID、及已註冊的 VRD 的ID的欄位。
  23. 如請求項21所述的網路,其中在該VRD註冊交易中界定的每一個該至少一個屬性包含一對應的需求、一屬性名稱、及一揭示選項,而該對應的需求界定該憑證擁有者的該至少一個種類的憑證,並包含至少一個 搜尋條件。
  24. 如請求項23所述的網路,其中該至少一個搜尋條件包含複數個搜尋條件,該複數個搜尋條件由或布林運算子中的 “或”相互結合。
  25. 如請求項21所述的網路,其中在VRD註冊交易中界定的每一個該至少一個述詞包含一對應的需求、一述詞名稱、一述詞特徵、一述詞屬性、一述詞值、及一述詞種類,而該對應的需求界定該憑證擁有者的該至少一個種類的憑證並包含 至少一個搜尋條件。
  26. 如請求項25所述的網路,其中該至少一個搜尋條件包含複數個搜尋條件,該複數個搜尋條件由或布林運算子中的 “或”相互結合。
  27. 如請求項16所述的網路,其中該分散式VRD交易共識網路為一區塊鏈。
TW109141616A 2019-10-18 2020-11-26 使用驗證需求文件驗證擁有者憑證之方法及網路 TWI800769B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962923471P 2019-10-18 2019-10-18
WOPCT/US2020/056388 2020-10-19
PCT/US2020/056388 WO2021077118A1 (en) 2019-10-18 2020-10-19 Verification requirement document for credential verification

Publications (2)

Publication Number Publication Date
TW202217620A true TW202217620A (zh) 2022-05-01
TWI800769B TWI800769B (zh) 2023-05-01

Family

ID=75537540

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109141616A TWI800769B (zh) 2019-10-18 2020-11-26 使用驗證需求文件驗證擁有者憑證之方法及網路

Country Status (6)

Country Link
US (1) US20220294653A1 (zh)
EP (1) EP4046360A4 (zh)
JP (1) JP2022552419A (zh)
CN (1) CN114930772A (zh)
TW (1) TWI800769B (zh)
WO (1) WO2021077118A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12010244B2 (en) * 2020-11-09 2024-06-11 International Business Machines Corporation Blockchain based verifiability of user status
CA3148105A1 (en) * 2021-02-09 2022-08-09 Ash Bassili Network platform for secure document sharing and verification
KR102470713B1 (ko) 2021-04-29 2022-11-25 (주)소프트제국 블록체인 did 기반 증명서 유통 서비스 제공 방법 및 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPR701701A0 (en) * 2001-08-14 2001-09-06 Mcdonald, Nathan Document analysis system and method
US9768962B2 (en) * 2013-03-15 2017-09-19 Microsoft Technology Licensing, Llc Minimal disclosure credential verification and revocation
GB2527603B (en) * 2014-06-27 2016-08-10 Ibm Backup and invalidation of authentication credentials
US9785764B2 (en) * 2015-02-13 2017-10-10 Yoti Ltd Digital identity
US10142347B2 (en) * 2016-02-10 2018-11-27 Bank Of America Corporation System for centralized control of secure access to process data network
US10880089B2 (en) * 2017-03-15 2020-12-29 NuID, Inc. Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
EP3503595B1 (en) * 2017-12-19 2020-11-11 Nokia Technologies Oy Provision of location-specific user information
US11700117B2 (en) * 2018-03-27 2023-07-11 Workday, Inc. System for credential storage and verification
EP3776421A4 (en) * 2018-03-27 2021-12-08 Workday, Inc. SYSTEM FOR STORAGE AND VERIFICATION OF ACCESS DATA
SG11202010346TA (en) * 2018-05-14 2020-11-27 Nchain Holdings Ltd Computer-implemented systems and methods for using a blockchain to perform an atomic swap
CN109446842A (zh) * 2018-10-31 2019-03-08 深圳电通信息技术有限公司 一种基于区块链和分布式账本的版权权益交易方法及装置
CN110032581A (zh) * 2019-01-18 2019-07-19 阿里巴巴集团控股有限公司 一种基于区块链的业务文件存储方法及装置
CA3058499C (en) * 2019-03-26 2021-10-26 Alibaba Group Holding Limited Program execution and data proof scheme using multiple key pair signatures

Also Published As

Publication number Publication date
EP4046360A4 (en) 2023-11-01
CN114930772A (zh) 2022-08-19
JP2022552419A (ja) 2022-12-15
EP4046360A1 (en) 2022-08-24
TWI800769B (zh) 2023-05-01
US20220294653A1 (en) 2022-09-15
WO2021077118A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
WO2021120253A1 (zh) 链式结构数据存储、验证、实现方法、系统、装置及介质
US20190158481A1 (en) Systems and methods for distributed identity verification
US20170251025A1 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
Reyzin et al. Efficient asynchronous accumulators for distributed PKI
TW202217620A (zh) 用於憑證驗證之驗證需求文件
US11025643B2 (en) Mobile multi-party digitally signed documents and techniques for using these allowing detection of tamper
US20230083642A1 (en) Methods and systems for managing user data privacy
CN110855445A (zh) 一种基于区块链的证书管理方法、装置及存储设备
Derler et al. Rethinking privacy for extended sanitizable signatures and a black-box construction of strongly private schemes
Ling et al. Multiauthority Attribute‐Based Encryption with Traceable and Dynamic Policy Updating
Li et al. A Blockchain‐Based Public Auditing Protocol with Self‐Certified Public Keys for Cloud Data
KR20230075471A (ko) 물리적으로 복제 불가능 함수들에 기초한 챌린지-응답 프로토콜
CN114944937A (zh) 分布式数字身份验证方法、系统、电子设备及存储介质
JP2023543474A (ja) 物理複製困難関数
TW202215814A (zh) 實體不可仿製之功能
Li A Blockchain‐Based Verifiable User Data Access Control Policy for Secured Cloud Data Storage
JP2022552420A (ja) 証明書認証用の分散台帳に基づく方法およびシステム
US7685125B2 (en) Proving relationships between data
TW202215815A (zh) 實體不可仿製之功能
Liang et al. Decentralised functional signatures
Brunner et al. SPROOF: A decentralized platform for attribute-based authentication
Leela Rani et al. Blockchain-Based Access Control System
Azeem URS–A universal revocation service for applying in self-sovereign identity
US20240171406A1 (en) Sharing security settings between entities using verifiable credentials
Jiao et al. Blockchain-Driven Searchable Privacy Preserving Data Sharing for Manufacturing Collaboration