TW202217610A - 鑑認系統及方法 - Google Patents

鑑認系統及方法 Download PDF

Info

Publication number
TW202217610A
TW202217610A TW110132900A TW110132900A TW202217610A TW 202217610 A TW202217610 A TW 202217610A TW 110132900 A TW110132900 A TW 110132900A TW 110132900 A TW110132900 A TW 110132900A TW 202217610 A TW202217610 A TW 202217610A
Authority
TW
Taiwan
Prior art keywords
party
puf
transaction
response
target
Prior art date
Application number
TW110132900A
Other languages
English (en)
Inventor
傑克 O 戴維斯
克瑞格 S 萊特
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 TW202217610A publication Critical patent/TW202217610A/zh

Links

Images

Classifications

    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3278Cryptographic 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 challenge-response using physically unclonable functions [PUF]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • 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/3247Cryptographic 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 involving digital 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本案提供一種電腦實施方法,其包含藉由一目標方之目標電腦裝備進行以下操作:獲得自藉由PUF模組產生之一回應導出的一密碼編譯金鑰,該模組包含一實體不可仿製之功能PUF,該回應已藉由基於該PUF之該PUF模組回應於輸入至該PUF模組之一對應質詢而產生,其中金鑰資訊包含該密碼編譯金鑰,或一對應公開金鑰亦可用於一驗證方;自一發出方接收指定待執行之運算的一運算請求;回應於該運算請求,執行該運算以便產生一運算結果;使用該密碼編譯金鑰對包含該運算結果之一訊息進行簽署;以及藉由發送經簽署訊息以記錄於一區塊鏈上而使該經簽署訊息可用於該驗證方。

Description

鑑認系統及方法
發明領域
本揭露內容係關於一種用於基於例如來自實體不可仿製之功能(PUF)的質詢及回應之系統執行身分驗證的程序。
發明背景
實體不可仿製之功能(PUF)為一個技術術語,其係指包含判定性但不可預測之實體現象的功能。PUF有時亦被是稱作實體隨機功能。PUF接收被稱作「質詢」之輸入且取決於質詢及由PUF使用之實體現象而產生被稱作對應「回應」之輸出。PUF有時被分類成強及弱PUF。強PUF能夠針對大量不同質詢產生各別回應,通常能夠採用質詢之任何任意值。弱PUF可針對僅單個回應或少數回應而產生回應(通常,質詢無法採用任何任意值)。換言之,強PUF具有大量質詢-回應對(其具有大的質詢-回應空間),而弱PUF具有單個質詢-回應對或有限數目個質詢-回應對(小或有限的質詢-回應空間)。根據一種定義,弱PUF之回應數目與質詢位元之數目呈線性關係,或更一般而言,回應數目之增長不會超過其他參數之線性增長。
強PUF之已知實例為光學PUF。舉例而言,光學PUF可包含雷射、光學感測器及固體光學介質,該固體光學介質中設置有氣泡或其他此類人工製品。雷射以可控角度照射穿過光學介質以產生繞射或散射圖案(其為介質中之氣泡或人工製品的效應)。感測器經配置以感測此圖案。質詢為雷射之角度,且回應係基於感測到之圖案而產生。
弱PUF之實例為SRAM PUF。在此狀況下,質詢為接通靜態隨機存取記憶體(SRAM)。歸因於一個SRAM與另一個之間的微小製造差異,SRAM胞元接著在通電時將恰好進入0/1之獨特型樣,因此形成個別SRAM之特性指紋(fingerprint)。PUF經組配以在通電時輸出此特性指紋作為回應。
PUF可用作產生諸如供用於密碼編譯演算法(例如,用於對文件進行簽署或加密)中之金鑰的手段。PUF之另一應用為識別裝置,諸如併有PUF之電腦裝置。若先前已判定對給定質詢之預期回應,則驗證方稍後可用該質詢來質詢目標裝置且檢查其是否給出預期回應,且藉此檢查目標裝置是否為與預期回應相關聯之裝置。
因為質詢回應空間有限,至弱PUF之輸入-輸出(i/o)介面往往會僅限於一方或限於數方(例如,僅一方或有限數目個受信任方可在實體上或法律上被授予對PUF之存取權,或至PUF之介面可受密碼保護,或其類似者)。亦即,僅所討論之一或多方可存取提交質詢所需的至PUF之輸入及供收回回應之輸出。另一方面,對於強PUF,至強PUF之i/o介面可廣泛地用於大量或無限數目方,並非該等方中之全部皆必須為已知或受信任方。原因在於質詢回應空間足夠大以使得敵手無法列舉所有的質詢-回應對,且因此敵手自由存取PUF之能力不應由於允許列舉及欺騙PUF而損害其安全性,如弱PUF之狀況。
在不同的技術領域中,區塊鏈係指一種形式之分散式資料結構,由此在分散式同級間(P2P)網路(在下文被稱作「區塊鏈網路」)中之多個節點中之各者處維護區塊鏈之複本且廣泛地公佈該等複本。該區塊鏈包含資料區塊鏈,其中各區塊包含一或多個交易。除所謂的「比特幣基地(coinbase)交易」以外,各交易亦指回至序列中之先前交易,該序列可橫跨一或多個區塊,追溯至一或多個coinbase交易。下文進一步論述coinbase交易。經提交至區塊鏈網路之交易包括於新區塊中。新區塊係藉由常常被稱作「挖掘(mining)」之程序創建,該程序涉及多個節點中之各者競爭以執行「工作量證明」,亦即,基於等待包括於區塊鏈之新區塊中的有序及經驗核未決交易之所定義集合的表示而解決密碼編譯難題。應注意,可在一些節點處修剪區塊鏈,且可經由僅公佈區塊標頭來達成區塊之公佈。
區塊鏈中之交易可用於以下目的中之一或多者:傳送數位資產(亦即,數個數位代幣);對虛擬化分類帳或註冊表中之一組條目進行排序;接收及處理時戳條目;及/或按時間對指標索引進行排序。亦可利用區塊鏈以便對區塊鏈之上的額外功能性分層。舉例而言,區塊鏈協定可允許將額外使用者資料或資料之索引儲存於交易中。對於可儲存於單個交易內之最大資料容量不存在預先指定之限制,且因此可併有愈來愈複雜之資料。舉例而言,此可用於將電子文件或音訊或視訊資料儲存於區塊鏈中。
區塊鏈網路之節點(其常常被稱作「挖掘者」)執行稍後將更詳細描述之分散式交易註冊及驗證程序。總之,在此程序期間,節點驗核交易且將其插入至區塊範本中,針對該區塊範本,該等交易嘗試識別有效的工作量證明解決方案。一旦發現了有效的解決方案,便將新區塊傳播至網路之其他節點,因此使得各節點能夠在區塊鏈上記錄新區塊。為了將交易記錄於區塊鏈中,使用者(例如,區塊鏈用戶端應用程式)將交易發送至網路之一個節點以傳播。接收交易之節點可競相尋找將經驗核交易併入至新區塊中之工作量證明解決方案。各節點經組配以實行同一節點協定,其將包括交易有效之一或多個條件。無效交易將不傳播亦不併入至區塊中。假設交易經驗核且藉此經接受至區塊鏈上,則交易(包括任何使用者資料)將因此在區塊鏈網路中之各節點處作為不可變的公共記錄進行註冊及編索引。
成功地解決工作量證明難題以創建最新區塊之節點通常獲得被稱為「coinbase交易」之新交易的獎勵,該新交易分發一定金額之數位資產,亦即,數個代幣(token)。對無效交易之偵測及拒絕係藉由競爭節點之動作實行,該等競爭節點充當網路之代理且經激勵以報告且阻止不法行為。資訊之廣泛公佈允許使用者連續地稽核節點之效能。僅公佈區塊標頭允許參與者確保區塊鏈之持續完整性。
在「基於輸出」之模型(有時被稱作基於UTXO之模型)中,給定交易之資料結構包含一或多個輸入及一或多個輸出。任何可支出輸出皆包含一元素,該元素指定可自進行中之交易序列導出的數位資產之金額。可支出輸出有時被稱作UTXO (「未支出交易輸出」)。該輸出可進一步包含鎖定指令碼,該鎖定指令碼指定未來兌換該輸出之條件。鎖定指令碼係定義驗核及轉移數位代幣或資產所必需之條件的述詞。交易(除coinbase交易以外)之各輸入包含指向先前交易中之此輸出的指標(亦即,參考),且可進一步包含用於解除鎖定所指向輸出之鎖定指令碼的解除鎖定指令碼。因此,考慮一對交易,將其稱為第一交易及第二交易(或「目標」交易)。第一交易包含至少一個輸出,該至少一個輸出指定數位資產之金額且包含定義解除鎖定該輸出之一或多個條件的鎖定指令碼。第二目標交易包含至少一個輸入,該至少一個輸入包含指向第一交易之輸出的指標及用於解除鎖定第一交易之輸出的解除鎖定指令碼。
在此模型中,當第二目標交易經發送至區塊鏈網路以在區塊鏈中傳播及記錄時,在各節點處應用之有效性準則中之一者將為解除鎖定指令碼符合定義於第一交易之鎖定指令碼中的所有一或多個條件。另一準則將為第一交易之輸出尚未由另一較早有效交易兌換。根據此等條件中之任一者發現目標交易無效的任何節點皆將不會傳播該目標交易(作為有效交易,但可能會註冊無效交易),亦不將該目標交易包括於新區塊中以記錄於區塊鏈中。
交易模型之替代類型為基於帳戶之模型。在此狀況下,各交易皆不會藉由返回參考過去交易序列中之先前交易之UTXO來定義待轉移的金額,而是參考絕對帳戶餘額。所有帳戶之當前狀態由與區塊鏈分離之節點儲存,且不斷更新。
發明概要
在本揭露內容中應認識到,PUF可用於一種機制中以驗證主張已執行由發出方發出之運算的目標方之身分,諸如在分散式運算應用或其類似者中。
根據本文中所揭示之一個態樣,提供一種執行運算之電腦實施方法。該方法包含藉由目標方之目標電腦裝備進行以下操作,該目標電腦裝備為待執行運算之電腦裝備:獲得自藉由PUF模組產生之回應導出的密碼編譯金鑰,該模組包含實體不可仿製之功能PUF,該回應已藉由基於PUF之PUF模組回應於輸入至PUF模組之對應質詢而產生,其中金鑰資訊包含密碼編譯金鑰,或對應公開金鑰亦可用於驗證方;自發出方接收指定待執行之運算的運算請求;回應於運算請求,執行運算以便產生運算結果;使用密碼編譯金鑰對包含運算結果之訊息進行簽署;以及藉由發送經簽署訊息以記錄於區塊鏈上而使經簽署訊息可用於驗證方。
由於需要目標方對包含(宣稱)運算結果之訊息進行簽署,因此可追蹤目標方之身分,且此將抑制目標方傳回錯誤運算結果。在實施例中,驗證簽章可為驗證方宣告結果有效之條件。例如,此可為在根據運算支付之情境中向目標方支付之條件。
驗證方可能為或可能不為與發出方相同的一方。
在實施例中,經簽署運算結果可記錄於區塊鏈上。驗證方或發出方可用將經簽署結果包含於交易之酬載中的交易向目標方支付。
較佳實施例之詳細說明
用於人類及機器二者之諸如金鑰產生系統及隱私保護身分系統的系統之穩健性可藉由涉及實體不可仿製之功能(PUF)來改善。此等可為彼此互動或與諸如區塊鏈之公共系統的多方及/或自主機器。
基於實體系統且藉由假設實體裝置之製造中的隨機、不可判定且不可重複之變化來保護的此等功能可用於強化在人類身分與其裝置之間建立的連結或另外為裝置自身建立不可偽造的唯一身分。
在文獻中,將PUF歸類成弱類型及強類型,根據其相異屬性進行歸類。根據下文的一個態樣,提供一種通用延伸PUF (ePUF)架構,其用於描述具有二種此等類型之PUF之益處的實用PUF裝置;亦即,ePUF可產生待用於應用中之大量質詢-回應對,同時保持實用且具成本效益的實施。
更一般而言,本文中揭示與PUF以及質詢-回應對之管理相關的各種態樣。可個別地或以任何組合使用此等不同態樣。此等態樣包括例如: I.      用於擴展PUF之質詢-回應空間的擴展PUF; II.    用於藉由使用ePUF裝置建立人類及/或裝置身分之一組區塊鏈不可知協定; III.   用於藉由利用區塊鏈來改善此等身分協定之架構; IV.   用於質詢-回應對之輕量級儲存的技術;以及 V.     ePUF裝置對多種問題之一組新穎應用,諸如實施KYC以用於簡化支付驗證(SPV)程序及用於裝置之可驗證運算。 1. 實體不可仿製之功能 (PUF )- 預備知識
實體不可仿製之功能(PUF)一詞係指充當通用隨機功能之一類實體系統及裝置。此等PUF之唯一特徵在於其實體屬性,常常為亞微米級,其意謂各者可藉由用實體刺激探測彼等屬性來唯一地識別及驗證。 在高層級處,吾人可將PUF視為將質詢映射至回應之功能;質詢及回應之對常常被稱作 質詢 - 回應對(CRP)。吾人可使用以下記法來將此映射
Figure 02_image001
描述為:
Figure 02_image003
其中
Figure 02_image005
分別指示質詢及回應,且
Figure 02_image007
為可由PUF產生之形式
Figure 02_image009
的所有質詢-回應對之集合。
PUF之唯一實體屬性通常為在製造諸如矽晶片之實體裝置中所固有的隨機程序變化之結果。關於PUF,通常假設: 1.       難以藉由任何形式之分析來完全判定實體系統之參數;以及 2.       實體系統之參數不為任何方所知,包括用作PUF之裝置的原始製造商。此假設常常被稱作 製造商阻力。 此等假設允許使用PUF以產生對任意質詢之不可預測但判定性的回應。此質詢-回應程序將PUF視為實體黑箱,如圖3中所說明。
圖3展示模型化為實體黑箱之PUF 302。提交方103S將質詢C作為輸入提交至PUF 302,且作為回應,PUF 302產生對應回應R。提交方提交來自諸如提交方之電腦裝置(未圖示)之裝置的質詢,該裝置可為與實施PUF 302自身之裝置相同或不同的裝置。
提交方103S可為作為設置階段(稍後論述之實例)之部分而產生質詢-回應(CR)對以建立連結至目標方或裝置之身分的預期回應之集合的一方。或者,提交方103S可為驗證方,該驗證方在稍後驗證階段中提交質詢以便驗證所產生之回應匹配預期回應,因此驗證包含PUF 302之目標裝置或擁有PUF之目標方的身分。
在另一實例情境中,提交方103S可為希望使用所產生之回應作為金鑰或作為用於產生金鑰之種子以供用於諸如區塊鏈應用之密碼編譯應用中(例如,用於對區塊鏈交易進行簽署)的一方。
圖4展示包含至PUF 302之介面之實例的系統。該系統包含處理器402及PUF 302。該介面包含介面邏輯404,該介面邏輯儲存於記憶體中且經配置以在處理器402上運行。上面儲存介面邏輯404之記憶體可包含使用一或多個儲存媒體(例如,磁性媒體,諸如磁碟或磁帶;或電子媒體,諸如ROM、EPROM、EEPORM、快閃記憶體、SRAM、DRAM等)之一或多個記憶體單元。處理器402可包含一或多個處理單元(例如,通用處理器,諸如CPU;或特殊應用或加速器處理器,諸如GPU、DSP或密碼處理器)。亦不排除介面邏輯404可替代地部分或完全實施於專用硬體電路系統或諸如PGA或FPGA之可組配或可重組配電路系統中。
提交方103S使用裝置(未圖示)經由介面邏輯404將質詢C提交至PUF 302。由提交方103S使用之裝置可例如為電腦裝置,其為外部電腦裝置或供實施處理器402之同一電腦裝置。PUF 302接著經由介面邏輯404將對應回應R傳回至提交方302之裝置。在稍後更詳細論述之一些實施例中,介面邏輯404可包含存取控制邏輯406,該存取控制邏輯將對PUF 302之存取僅限於某些方,例如可呈現諸如密碼、PIN或生物特徵資訊之經辨識憑證的彼等方。及/或至包含處理器402之裝置的實體介面可受限制,諸如藉由位於僅經授權人員能夠進入之房間或綜合設施中或保存在上鎖的盒子或櫃子中。然而,在替代系統中,介面邏輯404可供任何方用於使用質詢進行查詢。
PUF之質詢-回應程序允許藉由自所選擇回應提取此等質詢來產生偽隨機資料值。舉例而言,PUF可用作金鑰產生器以提取待用於密碼編譯中之隨機可重複資料。應注意,PUF 302以判定性且可重複的方式起作用,使得當在多個分離的場合給出相同質詢時,PUF將產生相同回應。
存在可用作PUF之數個不同實體系統,且存在使用此等系統之PUF的許多不同實施。PUF之說明性實例為含有氣泡之光學介質,其在由雷射探測時產生回應繞射或「斑點」圖案,該圖案由(i)雷射之位置及(ii)光學介質之小尺度參數以判定性方式判定。 1.1. PUF 類別
1.1.1 PUF 弱PUF之特徵在於具有小的質詢-回應空間,且許多PUF僅具有單個質詢使得CRP空間之大小為
Figure 02_image011
。一般而言,弱PUF之質詢-回應空間被視為
Figure 02_image013
階,其中
Figure 02_image015
為PUF中經受不可控製造變化之組件的數目。
在弱PUF之狀況下,通常亦假設對PUF之回應的存取受限制。此係因為:由於弱PUF服務之CRP的數目較少,敵手可在合理時間內列舉所有此類對且可因此模仿或「欺騙」PUF之行為。當論述弱PUF之行為時,此限制有時被稱作 受限質詢 - 回應介面
此等屬性使得弱PUF最適合於在密碼編譯應用中用作金鑰產生器,其中由PUF產生之一個(或幾個) CRP可用作用於密碼編譯操作之秘密金鑰,諸如用於對裝置上非依電性記憶體(NVM)進行加密,或供用作HMAC對稱金鑰。在此類狀況下,自PUF之回應導出的金鑰必須保密且僅為裝置之擁有者所知,以確保所執行之密碼編譯程序以及PUF自身的安全性。
弱PUF之突出且廣泛實施之實例為 SRAM PUF,其中「SRAM」一詞係指「靜態隨機存取記憶體」。SRAM PUF之設計利用SRAM晶片之「加電」狀態的變化,由於當對晶片加電時晶片中之SRAM胞元處於「0」或「1」狀態的變化,該等晶片各自具有唯一指紋。
在此狀況下,PUF構造被視為弱的,此係因為存在探測PUF (亦即,藉由對SRAM晶片加電)之一個固定模式,且因此僅存在單個CRP。在此狀況下,唯一的「質詢」向SRAM晶片供應電力,且回應為自其加電狀態導出的唯一指紋。為了確保回應之秘密性,亦可使用在使用SRAM PUF之裝置上現有的記憶體存取控制策略或機制或用於裝置上之替代機制來實施存取控制。
諸如在SRAM PUF之狀況下,一些PUF實施之特徵為在由PUF產生之回應中使用錯誤校正以確保相同質詢將以條件及時間不變的方式產生相同回應。熟習此項技術者已知此類錯誤校正技術之細節。在一些狀況下,錯誤校正程序可能需要最初「註冊」PUF裝置,以提供輔助資料源,該輔助資料源與稍後按需求產生之回應組合以促進錯誤校正。
1.1.2. PUF 相比於弱PUF,強PUF之特徵在於具有可利用之可能質詢-回應對(CR對或CRP)之大空間。CRP之此大空間意謂敵手在多項式時間內列舉強PUF域內之所有質詢-回應對被視為不可行的。此屬性意謂強PUF一般可具有不受保護的質詢-回應介面,此係因為敵手自由存取PUF之能力將不會由於允許列舉及欺騙PUF而損害其安全性,如弱PUF之狀況。甚至自知曉Φ F之大子集的敵手之視角,此類別之PUF亦據稱為產生不可預測的回應,此意謂強PUF之作用更類似於具有大域之密碼編譯雜湊函數。
然而,存在對強PUF之限制:當呈現有質詢C時,PUF應僅給出回應R,且在程序中不應洩漏關於PUF之內部工作或操作的其他資訊。此限制係為了緩解各種分析攻擊,由此敵手可試圖特性化支援PUF之行為的實體系統。此等在文獻中常常被稱作模型化攻擊。
類似於弱PUF,一些強PUF構造可依賴於錯誤校正技術以確保由裝置產生之回應的準確度。
強PUF之主要現有應用為使用固有的質詢-回應機制來促進系統鑑認及識別。此等機制依賴於涉及直接在二方之間創建CRP作為共用秘密的協定,且常常需要至少一方事先產生CRP之表(初始設置)以用作另一方之鑑認符記。
強PUF實施之最早實例中之一者為光學PUF系統。在此構造中,PUF包含光學介質,該光學介質含有由於製造變化而產生的隨機分佈之實體缺陷,該等缺陷使入射光散射。
此PUF構造能夠由導向光學散射介質之雷射光束探測。在此狀況下,入射光束之方向及偏振形成質詢,且觀察到之散射圖案被視為PUF回應。
然而,此強PUF構造實施起來複雜,此係因為量測裝置與PUF裝置之其餘部分分離且亦難以直接與半導體組件整合。除與設備自身相關聯之成本及配置之便攜性缺乏以外,此亦降低其在日常應用中之實用性。
此後已提議被稱為仲裁PUF (APUF)之電氣整合強PUF,其克服此等問題中之一些。此構造利用信號多工且利用電氣組件中之執行階段延遲。已並行地提議許多其他強PUF構造,但許多構造缺乏廣泛使用之實際適用性,且許多構造具有關於安全性及潛在攻擊向量之相關聯弱點。舉例而言,高度有問題的潛在攻擊為中間人攻擊,由此攻擊者可攔截以明文提交之質詢且欺騙經證實運算。
1.1.3. 受控 PUF 被稱為受控PUF (CPUF)之第三類別之PUF改善現有的強PUF構造,但使用其作為建置區塊。此等PUF採用強PUF且應用限制對PUF之存取的額外控制邏輯,此將其與原本可能具有不受保護之質詢-回應介面的非受控強PUF區分開。
如圖4中所展示,應用於現為較大PUF裝置之部分之PUF的控制邏輯406可調節對PUF 302自身之存取。此意謂控制邏輯組件406可限制向PUF呈現哪些質詢以及控制如何向使用者揭露後續回應。
在CPUF構造中,控制邏輯組件406較佳應嵌入於強PUF組件內或由該組件包封。根據CPUF之一種定義,若可僅經由以不可分離的方式實體地連結至PUF的演算法存取,則據稱PUF受控制(亦即,嘗試避開演算法將導致破壞PUF)。此嵌入會使得控制邏輯之探測變得顯著更困難。
此將在PUF組件與控制邏輯組件之間建立互益的關係,使得各組件減輕對另一組件之一種類型的攻擊。亦即,將控制邏輯封裝於PUF裝置自身內會保護控制邏輯免受實體或侵入性攻擊,此係因為此等攻擊將會不可挽回地損壞PUF組件且更改其回應,而控制邏輯自然會保護PUF組件免受協定層級攻擊以提取CRP或關於PUF自身底層之內部實體系統的其他資訊。
CPUF之應用與強PUF幾乎相同,但可用更穩健的方式達成。特定而言,藉由上文所概述之協定,可易於達成經證實運算及執行證明。
延伸強仲裁PUF (APUF)之設計的CPUF之早期實例需要控制邏輯以已描述之方式與APUF自身交織在一起,使得控制邏輯及APUF相互保護彼此以免受不同類型之攻擊。受控APUF設計藉由併有系統之瞬態回應而自來自積體電路(IC)之單個靜態回應產生大的CRP集合。
受控PUF之另一已知實例為PUF-FSM構造。此構造包含強PUF (實際上為APUF)結合有限狀態機(FSM),該有限狀態機充當限制對APUF組件自身之質詢-回應介面之存取的控制邏輯。 1.2. 論述
1.2.1.實用性:在文獻中已確認,產生既實用又輕量,同時亦可與標準互補金屬氧化物半導體(CMOS)組件整合的強PUF為極具挑戰性的。相比之下,諸如SRAM PUF之弱PUF生產起來低廉且可與積體電路架構輕鬆組合。
1.2.2. PUF 之攻擊 存在已提議及研究之數個不同攻擊,其中不同攻擊可能針對特定PUF構造或類別。如下列出大部分廣泛已知之攻擊類型中的一些。
‧   MITM攻擊-此等攻擊針對為不受控強PUF之PUF,其中敵手可攔截以明文提交之質詢以冒名頂替或欺騙PUF之回應,尤其在用於經證實運算時。
‧   模型化攻擊-此等攻擊已證明為諸如APUF之許多強PUF構造的漏洞。
‧   所選質詢攻擊-此等攻擊亦影響強PUF且為轉向CPUF架構之部分動機。
各種PUF設計亦存在其他問題,諸如在一些狀況下缺乏唯一性,此導致損害所討論之PUF系統之安全性的惡意探索。
1.2.3 安全模型 PUF構造之安全模型往往會共用一些類似性,諸如假設供產生其CRP之隨機程序或製造變化為製造商抗拒的且難以藉由分析手段來特性化PUF之實體系統。然而,用於三個主要PUF類別之安全模型亦存在一些差異。
PUF-弱PUF之安全性依賴於其CRP保密之假設,否則裝置可被列舉及冒名頂替。此意謂弱PUF可用於提供熵源及用於密碼編譯操作之彼熵的安全儲存,但實際的CRP回應資料自身不會在程序中公開揭露。
PUF-強PUF之安全性取決於如下事實:其CRP空間在質詢位元之數目上往往呈指數,且因此在合理的時間範圍內列舉整個空間為不可行的。此意謂強PUF之CRP回應可由裝置揭露,此不同於弱PUF之狀況。
受控 PUF-受控PUF之安全性由保護免受協定層級攻擊之控制邏輯與保護免受實體攻擊之PUF自身的組合判定。
強PUF之將其與弱PUF區分開的二個屬性如下。首先,強PUF具有大的CRP集合。此意謂強PUF具有大的質詢空間
Figure 02_image007
,其中弱PUF通常僅具有可用於其的一個(或幾個)質詢。此外,強PUF被視為相對於任何及所有已知CRP為不可預測的。換言之,知曉任意數目個CRP在預測新質詢之回應上沒有優點。
其次,強PUF可具有不受保護的質詢-回應介面。假設給定強PUF不需要存取控制邏輯來限制對質詢-回應介面之存取。此意謂對PUF進行實體存取之任何方可應用質詢且任意地獲得回應,而無需揭露關於PUF或其實體屬性之任何額外資訊。
受控PUF具有受保護的質詢-回應介面,但亦具有大的質詢-回應空間,如強PUF。 2. 擴展 PUF ( ePUF )
下文揭示用於藉由自基礎PUF 302之給定質詢-回應(CR)對產生多個次要CR對來擴展PUF之CR空間的系統及方法。此在本文中可被稱作「擴展PUF」或「ePUF」。此種想法可例如用於擴展僅具有一個或有限數目個固有CR對之弱PUF的質詢-回應空間,而無典型的強PUF機制(諸如,需要雷射、光學介質及感測器之光學PUF)之複雜性或不切實際性。然而,原則上,所揭示之技術更一般地可用於擴展任何基礎PUF (無論係弱的、強的、受控的或其他)之CR對的數目;或出於諸如混淆或可重用性之其他目的而變換任何PUF之CR對。
圖5A展示根據本文中所揭示之實施例的擴展PUF (ePUF) 500。ePUF 500包含組成基礎PUF 302,其可例如為習知的弱PUF。ePUF 500進一步包含變換函數502,例如雜湊函數,諸如密碼編譯雜湊函數(例如,SHA256等)。ePUF 500亦包含介面邏輯404',該介面邏輯可類似於關於圖4所論述之介面邏輯404,但具有額外介接功能性。介面邏輯404'及變換函數502可實施於例如嵌入式韌體之軟體中,該軟體儲存於記憶體中且經配置以在處理器402 (諸如圖4中所展示,但運行介面404'及變換函數502之額外功能性)上運行。上面儲存介面功能404'及變換邏輯504之記憶體可包含使用一或多個儲存媒體(例如,磁性媒體,諸如磁碟或磁帶;或電子媒體,諸如ROM、EPROM、EEPORM、快閃記憶體、SRAM、DRAM、熔絲鎖存器等)之一或多個記憶體單元。運行介面功能及變換邏輯之處理器可包含一或多個處理單元(例如,通用處理器,諸如CPU;或特殊應用或加速器處理器,諸如GPU、DSP或密碼處理器)。亦不排除介面邏輯404'及/或變換函數502可替代地部分或完全實施於專用硬體電路系統或諸如PGA或FPGA之可組配或可重組配電路系統中。
介面邏輯404'操作性地耦接至變換函數502且任擇地亦耦接至基礎PUF 302。基礎PUF 302操作性地耦接至變換函數。介面邏輯404'經配置以自提交方103S (未展示於圖5A中)之例如電腦裝置的裝置接收輸入且將輸出提供至該裝置,該裝置可為在上面實施ePUF 500之相同裝置或外部裝置。提交方103S可為使用ePUF 500執行設置,產生質詢及預期回應之集合以連結至身分以供未來參考之一方;或可為稍後使用PUF以驗證所產生之回應是否匹配先前建立之預期回應的驗證方(或質詢產生回應以提供至驗證方)。在另一實例應用中,提交方103S可使用ePUF 500產生回應,以供用作金鑰或用作產生金鑰之種子。例如,此可用作密碼編譯金鑰以對訊息進行加密或簽署,例如對區塊鏈交易之一部分進行簽署。
基礎PUF 302可操作以產生「主要」回應Rw作為輸出,此對應於接收「主要」質詢Cw作為輸入。本文中之「主要」質詢-回應(CR)對係指基礎組成PUF 302之基礎或「原生」(亦即,固有)CR對。在一些實施例中,基礎PUF 302可能夠回應於單個質詢Cw而僅產生單個基礎(亦即,主要)回應Cw,如弱PUF。
在操作中,介面邏輯404'自提交方103S之裝置接收至少包含「次要」質詢Ci的質詢資料(質詢輸入)。此外,將主要(基礎)質詢Cw輸入至基礎PUF 302,以便產生主要(基礎)回應Rw。在實施例中,需要提交方103S將基礎質詢Cw包括於輸入至ePUF 500之質詢資料中,且介面邏輯404'將此基礎質詢投送至基礎PUF 302以便產生主要回應Rw。然而,在其他實施例中,不排除自諸如記憶體、熔絲鎖存器或專用電路系統之內部源將主要質詢Cw輸入至基礎PUF 302。無論如何,變換函數502皆經配置以接收以下各者作為輸入:a)如在來自提交方之輸入質詢資料中接收的次要質詢Ci;以及b)如由基礎PUF 302產生之主要回應Rw。變換函數502為經組配以將此等之組合以判定性方式映射至唯一的各別「次要」回應Ri上,該回應對應於輸入至變換函數502之Ci及Rw之特定組合。在次要質詢回應對係在主要(基礎)CR對之上分層、部分地基於主要回應Rw而產生的意義上,該等次要質詢回應對在本文中可被稱作「次要」的。其亦可被稱為「擴展層」或「補充」質詢及回應。
在實施例中,變換函數502包含雜湊函數,例如密碼編譯雜湊函數,諸如SHA或DSA雜湊函數。存在可使用雜湊函數之至少二種不同方式。首先,變換函數502包含原像之雜湊,其中該原像包含接收到之次要質詢Ci與所產生之主要回應的組合(例如,串接)。亦即,Ri = H(Ci||Rw)。或更一般而言,原像亦可包含其他元素,及/或除串接以外的另一形式之組合。
在第二替代方法中,變換函數502包含原像之雜湊,其中該原像包含接收到之次要質詢,且雜湊函數係用所產生之主要回應初始化。亦即,Ri = H(Ci),其中H由Rw初始化。或再次更一般而言,H之原像亦包含其他元素,只要其至少包含Ci即可。由Rw初始化意謂原像至由雜湊函數H定義之輸出的映射自身將取決於Rw。而在先前狀況下,由H引起的原像至輸出之映射不取決於Rw,而是原像取決於Rw。亦即,在先前段落中,原像取決於Rw,且在此段落中,僅H取決於Rw。
仍更一般而言,原則上,可使用任何函數,只要對於待由ePUF 500容納之域中的各可能Ci,該函數以判定性方式且唯一地將Ci與Rw之組合映射至Ri之各別值上即可。
次要質詢Ci可採用數個不同可能值中之任一者,且變換函數502將會基於接收到之特定次要質詢Ci之值及主要回應Rw之值而及將組合映射至次要回應Ri之各別值。因此,ePUF 502能夠將給定主要(基礎)CR對之CR空間擴展至多個次要CR對。在實施例中,Ci可採用在由所使用之變數支援的值範圍內之任何任意值(例如,若變數為32位元整數,則其可採用2^32個值中之任一者)。
在一些實施例中,ePUF 500可能夠在替代操作模式中操作,如圖5B中所展示。在此狀況下,介面邏輯404'偵測到輸入質詢資料僅包含主要質詢Cw。作為回應,其將接收到之值Cw投送至基礎PUF 302,且將所得主要回應Rw投送回至提交方103S之裝置。換言之,在此實施例中,ePUF 500亦能夠在「傳統」或「非擴展」模式中操作。
任擇地,取決於應用,介面邏輯404'可包含存取控制邏輯406,該存取控制邏輯將存取限於僅有限數目個可能的提交方103S,諸如藉由僅向能夠呈現其辨識為映射至經授權方之憑證(例如,密碼、PIN或生物特徵輸入)的一方授予存取權。在此狀況下,ePUF 500可被視為一種形式之CPUF。替代地,至ePUF 500之實體介面可在法律上或實體上受保護,諸如藉由將包含ePUF 500之裝置保存於僅准許有限之一組合作方進入的房間或場所中或保存於上鎖的盒子、櫃子或房間中。在此狀況下,ePUF 500可被視為一種擴展的弱PUF。
替代對至PUF之介面的此類實體限制或除此類實體限制以外,存取亦可藉由限制對主要質詢之存取來限制。例如,目標方103T (稍後論述之「愛麗絲(Alice)」)可為唯一知曉Cw之一方。
然而,作為另一替代例,對介面邏輯404'之存取可能不受限制,例如任何方可經由網際網路自由地查詢介面邏輯。在此狀況下,ePUF 500可被視為藉由擴展弱基礎PUF機制創建之一種強PUF 502。
圖5A中所展示之配置提供在本文中被稱作 擴展 PUF ( ePUF )之新混合類別的PUF裝置,其通常可用作用於諸如稍後呈現之數個應用的架構。
ePUF可定義為實體裝置或系統,如圖5A中所展示,其結合地包含以下三個模組:基礎PUF 302,諸如固有弱PUF;變換函數502,諸如密碼編譯雜湊函數;以及介面邏輯模組404'。如所論述,ePUF 500可藉由引入諸如密碼編譯雜湊函數之變換函數404'而相對於常規PUF 302進行「擴展」,此係因為其將唯一質詢空間
Figure 02_image007
之大小自用於基礎弱PUF 302之
Figure 02_image017
增加至
Figure 02_image019
,後者替代地由雜湊函數之選擇而非弱PUF之實體系統定界。
先前已探索實現將強PUF之大CRP空間與弱PUF自身之實用性組合的系統之想法。已知在組合操作中使用多個基於FPGA之弱PUF以產生具有強PUF之特性的系統。此處的意圖部分地為「擴展」基礎弱PUF之CRP空間。然而,此性質之現有構造在實踐中受限制。在上文所提及之FPGA設計的狀況下,系統必須建置於FPGA上且仍受制於相對較小的CRP空間(
Figure 02_image021
)。
本文中所揭示之ePUF設計經設計為極輕量級的,此係因為其僅需要將介面邏輯組件404'及密碼編譯雜湊函數(或其他此類變換函數) 502添加至現有的弱PUF 302。舉例而言,若選擇SRAM PUF作為廣泛使用之弱PUF 302,則添加二個剩餘模組404'、502不應產生顯著的額外負荷,例如實施為軟體(例如,韌體)中之小型演算法或相對簡單之硬體電路系統片件。此外,ePUF 500之可能輸出的空間經擴展至所選擇之雜湊或變換函數502的範圍,該範圍顯著大於上述範圍。舉例而言,若選擇SHA-256雜湊函數,則可能輸出(及因此,CRP)之空間立即增加至
Figure 02_image023
,且不需要比嵌入雜湊函數模組自身更進一步地縮放硬體額外負荷。
圖5A展示擴展PUF (ePUF) 500之示意性設計。使用 密碼編譯雜湊函數之實施例亦意謂ePUF 500具有其CRP不可預測之屬性,此亦為強PUF系統之狀況。
ePUF裝置之控制邏輯元件406亦可在此構造中通用。若此例如適合於應用,則控制邏輯406可簡單地實施為實體安全性,類似於SRAM PUF。
替代地,控制邏輯模組406可實施為軟體控制模組,該軟體控制模組類似於與CPUF一起使用之軟體控制模組,其中該軟體控制模組實際上嵌入於PUF裝置自身內以提供先前所論述之封裝的相互安全益處。然而,此處,將ePUF設計與CPUF之設計區分開的一點尤其在於不存在對以此方式實施之控制邏輯的嚴格要求。
不必假設對控制模組406之侵入性攻擊必然會更改ePUF設計中之弱PUF組件302的行為。實情為,可在逐狀況基礎上選擇此元件之實施。 2.1. 針對 ePUF 質詢及回應
可用以下方式定義對應於ePUF之質詢-回應對的集合
Figure 02_image025
Figure 02_image027
Figure 02_image029
Figure 02_image031
其中
Figure 02_image033
為對應於弱PUF 302之基礎質詢及回應的特權CRP且其中映射
Figure 02_image035
由弱PUF之唯一實體屬性定義。對
Figure 02_image033
在本文中可被稱作ePUF之 基礎或主要對。相反地,映射
Figure 02_image001
由針對ePUF選擇之密碼編譯雜湊函數定義。圖5A至圖5B展示自ePUF 500提取回應,其中(圖5B)質詢僅為Cw且(圖5A)質詢亦包含Ci。
在擴展PUF之一些實施例中,所有質詢
Figure 02_image037
必須伴有基礎質詢
Figure 02_image039
,且基礎回應
Figure 02_image041
併入用於產生所有其他回應
Figure 02_image043
之程序中,如圖5A中所展示。
圖5A中所描繪之用於使用ePUF產生通用CRP的程序經設計以藉由擴展此基礎秘密配對來使用基礎質詢-回應對
Figure 02_image045
,該擴展係藉由將此基礎秘密配對應用於任何其他任意質詢
Figure 02_image047
來進行。用於自ePUF產生CRP之演算法可針對特定用途進行定製,其限制條件為該演算法以判定性方式利用基礎對
Figure 02_image045
。可如下編寫指示為
Figure 02_image049
之此演算法的簡單實例。
Figure 02_image051
輸入: 質詢1.          自使用者/用戶端獲得 質詢。 2.        檢查
Figure 02_image053
? i.       若是: 1.  用
Figure 02_image039
探測弱PUF模組以獲得
Figure 02_image041
2.  設定
Figure 02_image055
ii.    若否: 1.  將 質詢分成
Figure 02_image039
Figure 02_image047
分量。 2.  用
Figure 02_image039
探測弱PUF模組以獲得
Figure 02_image041
3.  將
Figure 02_image047
Figure 02_image041
發送至雜湊函數模組。 4.  運算
Figure 02_image057
5.  設定
Figure 02_image059
3.          傳回 回應 輸出: 回應
函數
Figure 02_image057
為用於使用密碼編譯雜湊函數
Figure 02_image061
運算雜湊摘要之通用函數。可用數種方式實施函數
Figure 02_image063
,諸如藉由在簡單狀況下簡單地運算
Figure 02_image065
,或其可藉由繁重運算
Figure 02_image067
來實施,其中已使用值
Figure 02_image041
作為雜湊函數
Figure 02_image061
之初始向量。無論如何,
Figure 02_image063
之輸出取決於
Figure 02_image047
Figure 02_image041
二者。
圖5A及圖5B中之圖式展示ePUF 500可配備有介面邏輯404',該介面邏輯任擇地包含 控制邏輯模組406。在實施例中,在產生回應時採用二個可能路徑,其中在質詢僅為
Figure 02_image039
時使用圖5B之路徑,且在質詢為伴有
Figure 02_image039
之新值
Figure 02_image047
時使用圖5A之路徑。此為判定性的。
所揭示之ePUF設計可用於提供以下優點及/或其他優點中之任一者。
‧   大CRP空間,其由所選擇之雜湊函數的域及範圍界定。 ‧  將控制邏輯與PUF自身分離的靈活性。 ‧  弱PUF之安全原語。
此意謂使用者可使用類似於CPUF裝置之ePUF裝置,但其中對PUF之受控存取包括以下二者:(I)安全地儲存弱PUF之基礎CRP
Figure 02_image045
;以及(II)僅將對PUF裝置之實體存取限於預期使用者。
在此模型中,基礎對
Figure 02_image045
起主金鑰之作用,形式
Figure 02_image069
之極大量其他CRP可自該主金鑰導出,且其中
Figure 02_image047
可藉由外部或第三方提交。 2.2. ePUF 應用
ePUF裝置之可能應用(使用案例)可廣泛地分類為至少二個主要類別: 1.       將身分連結至活動或運算操作;以及 2.       充當用於密碼編譯操作之金鑰產生器。
應用(1)最常由現有的強PUF實施,且(2)最常由現有的弱PUF實施。ePUF構造組合各者之屬性的事實意謂可將ePUF視為同樣適合於任一應用。在應用(1)中,一個優點在於,實務上,與大多數強或受控PUF相比,通常使用ePUF可更容易地實施此類應用。 3. 身分連結系統
在此章節中,揭示一種用於將人類或機器身分連結至PUF裝置之通用架構。
實施例可使用 擴展 PUF (ePUF)。此處的意圖為制訂提供穩健但高度通用且靈活之身分系統的PUF架構,該系統可重用於許多不同的使用案例。吾人旨在在此構造中俘獲的屬性為: ‧與強PUF之空間相當的大CRP空間; ‧與弱PUF之實用性相當的實用性;以及 ‧比CPUF之控制邏輯更靈活的控制邏輯。
ePUF設計可用作在一系列身分建立協定中使用之PUF的基礎模型。實施例可允許程序中之終端使用者或機器的獨立性。在亦可重用於使用ePUF之現有方案依賴於受信任第三方以在設置期間直接存取PUF裝置的情況下,基於ePUF之所提議系統可允許PUF裝置之終端使用者替代地建立身分且參與後續鑑認而無需第三方在設置期間在本端或直接存取裝置。
一些實施可藉由引入公共區塊鏈來改善此等身分連結協定之穩健性且進一步延伸該等協定。此處可使用的二個概念為(A)使用區塊鏈作為防篡改CRP管理系統;以及(B)使用區塊鏈網路作為時間戳服務,用於調節在身分連結協定中使用的請求-回應訊息且提供高效撤銷系統。
圖6展示根據本文中所揭示之實施例的用於身分連結及驗證之實例系統。圖7展示對應方法。
該系統包含PUF模組603、目標方103T之電腦裝備102T,及回應資料存放區601。PUF模組603包含如前述關於圖5A及圖5B所描述之ePUF 500,或替代地,其可僅包含習知PUF 302或PUF加上習知介面邏輯404,如前述關於圖3及圖4所描述。回應資料存放區601可為第三方電腦裝備602之部分且由受信任第三方進行系統管理,或可替代地為分散式同級間儲存媒體,諸如區塊鏈。第三方裝備602可例如包含伺服器裝備,該伺服器裝備包含位於一或多個地理位置處之一或多個伺服器單元(雲端儲存技術自身為此項技術中已知的)。該系統可進一步包含驗證方103V之電腦裝備102V,或在一些替代狀況下,驗證方可與PUF模組603、目標方之電腦裝備102T或第三方電腦裝備602直接互動。
本文中對使用者或一方103或其類似者(無論為驗證方103V、目標方103T抑或第三方)之動作的任何提及皆涵蓋該方經由彼方之電腦裝備102進行動作的可能性。為了簡明起見,將不必每次皆明確地陳述此可能性,但應理解為隱含地涵蓋。此涵蓋以下二種可能性:A)該動作係藉由該方輸入至電腦裝備之手動使用者輸入觸發或在該手動使用者輸入之控制下執行,或B)該動作係藉由代表該方之電腦裝備自動地執行(說明:一方執行動作未必意謂彼方之人類使用者手動地發起彼動作,而是可意謂該方之裝備代表其自主地執行彼動作)。為避免疑問,亦應注意,一方可指單個個人或團體或人員或組織,例如公司、慈善機構、政府機構或市政或學術機構。
目標方103T之電腦裝備102T可操作性地連接至回應資料存放區601 (例如,藉由至第三方裝備602之連接)。驗證方103V之電腦裝備102V可操作性地連接至回應資料存放區601 (例如,藉由至第三方裝備602之連接)。目標方103T之電腦裝備102T可操作性地連接至驗證方103V之電腦裝備102V。此等連接中之任一者可經由一或多個網路形成,例如一或多個廣域網路,諸如網際網路或行動蜂巢式網路。在實施例中,此等連接中之任一者可經由例如基於共用秘密建立之各別安全通道形成,該共用秘密在所討論的二方之間共用。本文中無論在何處據稱二方以任何方式通訊,諸如藉由發送質詢或接收回應等,皆應理解,此涵蓋此等通訊可經由其各別電腦裝備(102V、102T;102T、602;或102V、602)之間的任何合適的直接或網路連接執行的可能性。為了簡明起見,不必每次皆明確地陳述此情形,但應理解為隱含地涵蓋。
目標方103T為身分待基於PUF模組603驗證或擁有或以其他方式負責或關聯待基於PUF模組603驗證之裝置的一方。驗證方103V為待執行驗證之一方。可存在多個驗證方103V (其中之各者可經由各別電腦裝備102V起作用),但為了易於說明,圖6中僅展示一個驗證方。PUF模組603可為目標方103T所擁有。其可併入至目標方之電腦裝備103T中,或連接至該電腦裝備,例如作為周邊裝置或經由區域網路,或組合(例如,介面邏輯404/404'可實施於電腦裝備103T上且PUF 302可為外部周邊裝置)。替代地,PUF模組603可為受信任第三方所擁有。其可併入第三方電腦裝備602中或連接至第三方電腦裝備,例如作為周邊裝置或經由區域網路,或組合(例如,介面邏輯404/404'可實施於第三方裝備602上且PUF 302可為外部周邊裝置)。
一般而言,目標方103T、驗證方103V或第三方中之任一者可擔任先前關於圖3、圖4及圖5所論述之提交方的角色。目標方103T、驗證方103V或第三方中之任一者可擔任提交方之角色,或可擔任設置方之角色,該設置方使用PUF模組603來建立一或多個CR對之集合且將該等對連結至目標方103T之身分以供用於稍後驗證階段中。稍後更詳細地論述一些特定實例情境。
回應資料存放區601儲存由PUF模組603在設置階段中產生之回應資料。資料存放區601結合目標之身分證據儲存此回應資料,該目標可為目標方103T或目標方103T之裝置。驗證方103V可存取回應資料存放區601且可稍後在驗證階段期間使用此來驗證目標之身分。為進行此操作,驗證方103V對目標進行質詢以產生對先前包括於在設置階段中使用之質詢集合中的質詢Ci之回應Ri。若該目標可根據儲存於回應資料存放區601中之內容產生預期回應,則此證明該目標擁有或控制PUF模組603,且因此可假設為身分係在設置階段中俘獲的同一方。
在替代變體中,回應資料存放區601可儲存基於例如使用回應作為種子在設置階段中產生之回應而產生的一或多個各別公開-私密金鑰對中之一或多個公開金鑰。若該目標稍後使用私密金鑰中之一者對訊息(例如,文件或區塊鏈交易)進行簽署,則驗證方可使用來自回應資料存放區601之對應公開金鑰來驗證簽章。應注意,在此等變體中,「回應資料」一詞係在更廣泛的意義上使用以涵蓋自回應Ri導出的資料,未必為回應Ri之明確值或認證。
回應資料存放區601可為可公開存取的,或存取可僅限於包括至少一個驗證方103V之一或多方的有限集合。該回應資料存放區可在第三方系統602上或以同級間方式代管,或替代地,其可實施於目標方103T之電腦裝備102T或驗證方103V之電腦裝備102V中。
參看圖7,該方法包含二個階段:設置階段702及驗證階段704。在設置階段中,在步驟710處,充當設置方之目標方103T或第三方中之一者將一或多個質詢Ci (i=1…n,其中n>=1)之集合提交至PUF模組603中。在使用ePUF 500之狀況下,此等質詢為次要質詢。在目標方103T擁有PUF模組603且正執行設置之狀況下,質詢Ci可由目標方103T產生或自第三方系統602或驗證方103V接收。在第三方擁有PUF模組603且正執行設置之狀況下,質詢可由第三方系統602產生或自目標方103T或驗證方103V接收。無論如何,作為回應,PUF模組603基於PUF 302/500而產生回應Ri之對應集合。在ePUF 500之狀況下,此等回應為次要回應。因此,該方法產生CR對{Ci, Ri}之集合。
在實施例中,對PUF模組903之存取受限制,使得僅目標方103T (及若為不同方,則設定方)可存取回應Ri。此可藉由存取控制邏輯404或404'來達成,該存取控制邏輯可僅向可呈現諸如密碼、PIN、生物特徵資料等之經辨識憑證的一方授予存取。及/或對至PUF模組603之實體介面的存取可在實體上受保護,諸如藉由將其保存於上鎖的容器、櫃子或房間中;或其可在法律上受保護,諸如藉由將PUF模組603儲存於僅准許某些人員進入之房間或綜合設施中。作為另一替代例或額外限制,在ePUF 501之狀況下,可限制對主要質詢Cw之瞭解,使得僅目標方103T (及在實施例中,充當分離的設置方之受信任第三方)知曉Cw。
在步驟720處,該方法包含將回應資料儲存於回應資料存放區601中。在實施例中,所儲存回應資料包含所產生CR對{Ci, Ri}之記錄。各CR對之記錄包含以指示該對之對應質詢Ci的方式儲存的各別回應Ri之記錄。在實施例中,各回應Ri之所儲存記錄包含向可讀取記錄之驗證方103V明確地揭示的回應之明確值,亦即,Ri之實際值。該值可以明文儲存,或若驗證方具有用於解密該值之解密金鑰,則可經加密,但儘管如此,仍出於本文中之目的而據稱所儲存值為明確值,此係因為向驗證方103V明確地揭示所儲存值。替代地,回應之記錄可包含回應Ri之「認證」,包含Ri之判定性變換。實例將為儲存雜湊H(Ri)或雙雜湊H 2(Ri)之值。此使得驗證方能夠藉由檢查應用於回應R'i之相同變換(例如,H(R'i)或H2(R'i))是否匹配認證來檢查回應R'i之值是否與記錄於存放區中之彼值相同。此具有不揭示回應Ri之實際值的益處。因此,在存放區601為諸如區塊鏈之公佈媒體的情況下,該方法之此變體可特別有用。然而,加密將為另一種可能性。
在回應資料以加密形式儲存之情況下,則可個別地加密各回應資料片段(例如,各CR對),其各自需要不同的各別解密金鑰來解密。替代地,回應資料之子集或整個集合(例如,用於給定目標方103T之所有CR對)可一起加密,所有對可作為群組利用同一金鑰一起解碼。
例如CR對之回應資料係結合目標身分之證據儲存於回應資料存放區601中。舉例而言,作為設置之部分,可能需要目標方103T產生一或多個識別資訊片段,諸如護照。結合回應資料而保存於回應資料存放區601中之證據可包含結合回應資料明確地儲存(以明文或以驗證方103可存取之加密形式)之此資訊自身的複本。替代地,若回應資料存放區601由受信任第三方或驗證方103V自身進行系統管理,則回應資料結合特定身分暫存於回應資料存放區601中之純粹事實可被視為充分的證據(假設驗證方103V信任設置方及系統管理回應資料存放區601之一方,例如受信任第三方,以在設置時已適當地檢查了目標方之識別資訊)。
在驗證階段704中,在步驟730處,驗證方103V存取回應資料存放區以判定待用於驗證操作中之回應資料。在實施例中,存在多個潛在的驗證方103V,且各驗證方皆經分配一或多個CR對之不同各別子集。亦即,回應資料存放區601將僅向給定驗證方103V揭示分配給彼方之CR對的預期回應Ri。例如,此方案可由受信任第三方系統602進行系統管理。此方案有利地保持CR對分離,使得一個驗證方103V無法假裝另一方為目標。然而,若被准予存取存放區601之所有驗證方103V受信任,則此並非必需的。
在實施例中,驗證方103V最初不知曉其將使用的質詢且藉由自資料存放區601存取該質詢連同對應回應資料(例如,回應或認證)來判定此質詢。替代地,驗證方103V預先知曉其欲使用哪一質詢,且使用此質詢在資料存放區601中查找哪一回應資料映射至此質詢。
在驗證方103V (或實際上,任何方)自區塊鏈存取資料以便判定回應資料及/或質詢之情境中,接著可直接地藉由查詢區塊鏈網路之節點或間接地藉由查詢中間服務來執行區塊鏈存取,該中間服務快取區塊鏈資料或代表試圖存取區塊鏈資料之各方調節查詢。例如,驗證者103V可自未直接連接至區塊鏈網路106之另一服務提供者存取資料,但可能僅給出回應相關資料且可能亦給出默克爾(Merkle)證明。
在步驟740處,驗證方103V將質詢Ci提交至擁有或控制PUF模組603之目標方103T。此質詢為對應於驗證方103V在步驟730中自回應資料存放區601存取之記錄中之一者的質詢。應注意,在受信任第三方在設置時擁有PUF模組603之情境中,PUF模組603可在設置階段702與驗證階段704之間自受信任第三方實體地傳遞至目標方103T。
回應於所提交質詢Ci,PUF模組603產生對應回應Ri,目標方103V將該對應回應傳回至驗證方。在步驟750處,驗證方檢查接收到之回應Ri是否與根據在步驟730處自回應資料存放區601存取之回應資料而預期的回應一致。
如所提及,執行設置步驟702之一方可為目標方103T或儲存回應資料(例如,CR對)之受信任第三方。在其他變體中,此等步驟可由諸如受信任oracle之另一協調方執行(除在實施例中運行包含資料存放區610之第三方電腦裝備602之一方以外的另一第三方)。在此等實施例中,資料存放區601可為(不同第三方之)第三方系統602或諸如區塊鏈之公共同級間媒體。及/或在另外其他變體中,可提供執行對PUF模組603之輸入的一方與接收輸出的一方之間的分離。
亦如所提及,將回應Ri記錄於回應資料存放區601中之方式存在至少二種可能性。此第一可能性為簡單地明確儲存Ri自身之實際值。在此狀況下,步驟750簡單地包含比較所儲存值(其在設置702處建立)與現回應於所提交質詢Ci而接收(在驗證階段704中)之值R'i (回應Ri之聲稱值)。若其匹配,則方法分支至步驟760,其中宣告目標方103T之身分經驗證。否則,方法分支至步驟770,其中宣告目標方103T之身分未經驗證。
第二可能性為僅將Ri之認證儲存於回應資料存放區601中,例如雜湊或雙雜湊。在此狀況下,驗證方103V將用於產生認證之相同變換應用於其在驗證階段704中自目標方103T收回之回應R'i。若此回應匹配所儲存認證,則方法分支至步驟760,其中宣告目標方103T之身分經驗證。否則,方法分支至步驟770,其中宣告目標方103T之身分未經驗證。
在回應資料存放區601中,將對應質詢Ci指示為與各記錄回應Ri相關聯之方式存在至少二種可能性。第一種可能性為簡單地儲存各CR對{Ci, Ri}之明確值,亦即,儲存Ri及Ci之實際值(以明文或經加密)。替代地,根據本文中所揭示之實施例,第二種更輕量級方式為儲存主質詢Cm,質詢Ci可根據預定的判定性質詢導出函數f而自該主質詢導出。
此說明於圖8A中。各回應Ri係結合各別索引而儲存。函數f儲存於回應資料存放區601中或為驗證方103V預先已知的。無論如何,驗證方103V將主質詢Cm輸入至函數f中以判定對應於回應Ri中之至少一者之索引i的質詢Ci。驗證方103V接著使用此質詢Ci來驗證目標。
在一些此等實施例中,函數f亦可為識別資訊806之函數,該識別資訊可為單個識別資訊片段或識別資訊802 (例如,護照資訊、母親之本姓及指紋資訊)之多個片段的組合804 (例如,串接)。此可包含目標方103T之識別資訊。此使得質詢Ci之集合能夠特定於特定目標方103T,此出於安全原因為有利的,此係因為唯一性例如在同一第三方系統602用於為不同目標方產生質詢集合之情況下可為重要的。使用目標方103T之諸如護照資訊或母親之本姓的個人識別資訊為良好選項,此係因為該個人識別資訊為目標方已知曉之資訊且往往保密。
替代地或另外,識別資訊806可包含驗證方103V之識別資訊,使得f為特定驗證方103V之身分的函數。此可用於將一或多個特定質詢之特定子集分配給特定驗證方103V,使得不同驗證方103V被給予不同質詢Ci以供用於驗證704中。
在一些實施例中,無關於如何形成主質詢Cm,可將質詢Ci以鏈接方式映射至主質詢Cm,使得C1 = f(Cm),C2 = f(C1),等等,如圖8B中所展示。換言之,藉由將函數f應用於主質詢Cm來判定第一質詢C1,且接著藉由將同一函數f應用於第一質詢來判定第二質詢C2,等等。作為實例,f可包含雜湊函數。
在另一變體中,可將質詢Ci以階層方式映射至主質詢Cm,如圖8C中所展示。稍後將更詳細地論述此情形。
若f()不需要除根金鑰以外的任何資料,則鏈接方法為更輕量級的且亦更容易自根資訊恢復。在階層式導出之狀況下,將添加樹中之索引,此對於如下的簡單鏈為不需要的:C_m、H(C_m)、H(H(C_m))……,例如其中f()僅為雜湊函數。
無關於f()之形式或主質詢是否包含識別資訊及/或其他資訊,在實施例中,主質詢Cm可由第三方系統602在設置702期間自目標方103T接收。第三方接著將接收到之主質詢儲存於資料存放區601中(例如,在本端或在鏈上)以供未來在驗證704中使用。替代地,第三方系統602自目標方103T接收質詢Ci之集合,且自其導出主質詢Cm,例如藉由應用函數f()之反函數。在此等方法之變體中,第三方系統602可自除目標方103T以外之別處,例如自oracle或協調方(未圖示)接收識別資訊、主質詢或質詢集合。亦可使用此等方法之組合(例如,自目標方接收一個識別資訊片段,且自別處接收一個識別資訊片段)。或在其他替代例中,不涉及第三方,且目標方103自身將主質詢儲存於鏈上(或某一其他同級間公佈媒體中)。
在圖7之方法的其他變體中,儲存於回應資料存放區601中之回應資料可能不包含在設置時產生之CR對的記錄。實情為,回應資料可包含公開-私密金鑰對中之公開金鑰或此類公開金鑰之集合,其中一或多個金鑰對中之各者係基於來自設置階段702之各別PUF回應Ri而產生。例如,回應Ri可用作公開-私密金鑰對產生演算法中之種子。在此等實施例中,該方法如圖7中所闡明進行,除了在步驟730處,驗證方存取所儲存公開金鑰中之一者且在步驟740處,驗證方103V不提交待輸入至目標之PUF模組603的質詢Ci。實情為,驗證方103V獲得(聲稱)由目標籤名之訊息(例如,文件、檔案,或區塊鏈交易之部分)。此訊息可藉由目標方103T發送至驗證方,或驗證方103V可自諸如區塊鏈或網站之公佈媒體自主地存取此訊息。無論如何,在步驟750處,檢查包含使用自存放區601存取之公開金鑰來驗證應用於訊息之簽章(基於已知的公開-私密金鑰簽章驗證技術,其本身在此項技術中為眾所周知的)。
下文現根據本文中所揭示之實施例更一般地描述ePUF或PUF之一些實例身分建立及驗證協定。考慮證明者愛麗絲(目標方103T)及驗證者鮑勃(Bob)(驗證方103V)。PUF身分系統中存在至少三個不同質詢類型。作為實例,下文將關於ePUF進行描述,但更一般而言,可使用任何PUF裝置(包含PUF模組603之任何裝置)。
1. 遠端 PUF 質詢-藉由向愛麗絲請求對由鮑勃提交之質詢的回應,驗證者在遠端對證明者進行質詢。此模式假設驗證者知曉來自證明者之PUF的預期回應,以及PUF由合法所有者擁有。
2. 本端 PUF 質詢-藉由與由愛麗絲控制之PUF裝置互動,驗證者在本端對證明者進行質詢。此模式假設驗證者知曉關於證明者之身分的一些資訊,但不知曉其PUF之行為。
3. 密碼編譯質詢-驗證者對證明者進行質詢以滿足與其身分相關之一些密碼編譯要求,諸如藉由用可證明地連結至已證實公開金鑰之金鑰對訊息進行簽署。
在類型1及2之狀況下,自證明者及驗證者二者之視角,質詢明確地取決於PUF模組603。在此等狀況下,質詢及因此對應驗證程序本質上連結至PUF裝置(包含PUF模組603之裝置,例如愛麗絲之電腦裝備102T)之操作。在此等狀況下,吾人使用PUF裝置之屬性,即其實體狀態可唯一地繫結至身分,且PUF因此在所利用的身分系統中起核心作用。
應注意,「 遠端」及「 本端」二個詞特定地係指在進行 質詢時驗證者與證明者之PUF之間的互動。此並不排除遠端質詢協定具有涉及證明者與驗證者之間的事先本端互動的設置階段。
然而,在狀況3下,自證明者之視角,質詢及驗證程序僅需要與PUF裝置相關。驗證不取決於驗證者知曉PUF是否已由證明者用於產生對其質詢之回應。在此狀況下,該方法簡單地使用PUF作為愛麗絲之金鑰產生器的效應,而非其用於將身分連結至裝置自身之效用。
在下文中,提供在上文所提及之三個操作模式中之各者中的身分系統之 設置驗證以及任擇的 更新撤銷程序之實例實施。在實施例中,在與基於PUF之身分系統相關的程序中涉及通用受信任第三方。此係因為此類身分系統往往需要此第三方,以便有意義地確保身分及相關憑證之完整性及信任。在待在此系統中建立及使用個人身分之狀況下,所討論之受信任第三方可為憑證頒發機構、政府代理或金融服務提供者,諸如銀行。
在待針對機器或非人類實體建立身分之狀況下,第三方可為裝置製造商、發行者、監管機構或某一其他相關參與者。此狀況特別適合於 物聯網 (IoT)或進一步適合於 物區塊鏈 (BoT)範例,其中將身分指派給可協作地執行任務或計算以達成某一目標之裝置的網路之不同成員。 3.1. 遠端 PUF 系統
3.1.1. 設置 在遠端PUF質詢之狀況下,假設將質詢
Figure 02_image071
提交至證明者之驗證者事先知曉預期回應
Figure 02_image073
。此意謂設置程序在此狀況下必須在愛麗絲與另一方之間建立CRP之集合(亦即,至少一個),其可用於導出愛麗絲與另一方之間的共用秘密,該共用秘密可用於稍後鑑認愛麗絲之身分。
假設愛麗絲與經裝備以建立身分之通用第三方建立此共用秘密,如前述所提及,且此第三方可能為或可能不為稍後與愛麗絲一起參與驗證程序的驗證方。在驗證方相異於身分建立第三方之狀況下,假設驗證方可自第三方獲得用於共用秘密之相關CRP資訊。
此處的設置階段存在二個相異選項,該等選項係根據愛麗絲是否始終為存取PUF裝置之唯一一方或受信任第三方是否僅在設置階段期間亦可存取PUF裝置進行分類。 狀況 1 愛麗絲具有對 PUF 之唯一存取權
1. ePUF裝置經製造且分發給愛麗絲。 2.     愛麗絲藉由聯繫受信任第三方來申請將其身分連結至其ePUF裝置。 i.       第三方為愛麗絲建立識別帳戶且請求其身分之證明。 ii.    愛麗絲向第三方供應相關識別文件或憑證。 iii.  第三方驗證愛麗絲之身分。 3.     愛麗絲及第三方為設置程序之其餘部分建立安全通訊通道(例如,經由標準的迪菲-赫爾曼(Diffie-Hellman)金鑰交換): i.     愛麗絲及第三方分別交換公開金鑰
Figure 02_image075
。 ii.    愛麗絲及第三方獨立地為剩餘設置通訊建立暫時秘密,如
Figure 02_image077
。 iii.  愛麗絲及第三方開始經由例如AES加密通道之通道通訊,該通道由
Figure 02_image079
保護。 4.     第三方經由安全通道向愛麗絲發送質詢
Figure 02_image081
之集合。 5.     愛麗絲自ePUF裝置獲得回應
Figure 02_image083
。 6.     愛麗絲經由安全通道向第三方發送回應
Figure 02_image083
。 7.     第三方根據愛麗絲之身分帳戶儲存回應CRP集合
Figure 02_image085
狀況 2 第三方在設置期間存取 PUF
1. 第三方知曉基礎對及雜湊函數。例如,ePUF裝置經製造且分發給受信任第三方*。 2.   第三方自裝置獲得基礎CRP
Figure 02_image045
。 3.   愛麗絲藉由聯繫第三方來申請身分連結之ePUF裝置。此可經由不安全的通訊通道完成。 i.       第三方為愛麗絲建立識別帳戶且請求其身分之證明。 ii.    愛麗絲向第三方供應相關識別文件或憑證。 iii.  第三方驗證愛麗絲之身分且將ePUF裝置及其基礎對
Figure 02_image045
指派給愛麗絲之帳戶。共用秘密為此CRP或其導出項。 4.   第三方將ePUF裝置發送至愛麗絲。
(*該裝置可首先分發給愛麗絲,且接著由愛麗絲發送。然而,在大多數狀況下,將裝置直接分發給第三方將更有意義。例如,若裝置為智慧型轉帳卡,則該卡可自製造商發送至發卡行,且接著在PUF設置之後自發卡行發送至客戶愛麗絲。)
設置協定在愛麗絲與受信任第三方之間建立共用秘密,該共用秘密待用於稍後在驗證程序期間鑑認愛麗絲之身分(或含PUF裝置)。該等狀況的相似之處亦在於其二者較佳涉及愛麗絲與受信任第三方之間的安全通訊。
然而,二種狀況之間的相異之處在於,狀況1藉由建立安全通訊通道來達成安全通訊,而狀況2藉助於實體安全性來達成安全通訊。
分別在狀況1及2下之二個協定之間應注意的另一差異在於,在狀況2下,受信任第三方可在無PUF之情況下導出與愛麗絲一樣多的CRP,而在狀況1下,此方必須儲存固定數目個對。
此為狀況2優於用於使用PUF裝置設置使用者之現有協定的優點,此係因為其允許受信任第三方在遠端產生任意數目個CRP,而在現有協定中,受信任第三方可能需要與終端使用者或裝置製造商協作來實現此。在狀況1下,若添加愛麗絲經由安全通道將基礎對
Figure 02_image045
發送至鮑勃之步驟(相信第三方不會以惡意方式使用基礎對),則可達成相同技術優點。
應注意,在設置階段中使用安全通訊允許經由不安全通道傳輸未來通訊,諸如驗證程序。此具有以下益處:允許在具有較少技術限制之情況下進行驗證,諸如在驗證時需要二方均在線上,且僅在此一次性設置程序中需要額外的安全通訊額外負荷。
3.1.2. 驗證 在遠端PUF驗證之模式中,前已述及,在設置階段中存在二個相異狀況,該等狀況反映於略有不同的遠端驗證協定中,如下文所詳述。 狀況 1 愛麗絲具有對PUF 之唯一存取權
1. 鮑勃自藉由愛麗絲及第三方在設置期間建立的集合
Figure 02_image085
獲得未使用的CRP,諸如
Figure 02_image087
。 i.       若鮑勃亦為受信任第三方,則其簡單地自集合擷取元素。 ii.    若鮑勃並非受信任第三方,則其藉由為愛麗絲請求未使用的CRP來與第三方通訊。 2.   鮑勃將質詢
Figure 02_image089
發送至愛麗絲。 3.   愛麗絲自其ePUF裝置獲得候選回應
Figure 02_image091
且將其發送至鮑勃。 4.   鮑勃驗證是否
Figure 02_image093
: i.       若是,則驗證通過。 ii.    若否,則驗證未通過。 5.   隨後藉由受信任第三方移除對
Figure 02_image087
,留下剩餘質詢-回應對之集合
Figure 02_image095
應注意,在步驟1.ii中,CRP之一次性性質確保任意鮑勃不可能使用特定CRP來「冒名頂替」愛麗絲,此係因為受信任第三方可簡單地監控各對在各給定情形中之使用且每次鑑認嘗試應使用新CRP。 狀況 2 第三方在設置期間存取 PUF
1. 鮑勃為驗證產生新質詢
Figure 02_image071
。此可隨機地或自一些其他資料(例如,已知KYC資料、生物特徵、影像)以判定性方式進行。 2.   鮑勃將質詢
Figure 02_image071
發送至愛麗絲。 3.   愛麗絲自其ePUF裝置獲得候選回應
Figure 02_image097
且將其發送至鮑勃。 4.   鮑勃獲得預期回應
Figure 02_image073
。 i.  若鮑勃為受信任第三方,則其能夠直接藉由運算
Figure 02_image099
來計算回應*。 ii.   若鮑勃並非受信任第三方,則其將
Figure 02_image071
發送至第三方且請求回應
Figure 02_image073
。 5.   鮑勃驗證是否
Figure 02_image101
: i.       若是,則驗證通過。 ii.    若否,則驗證未通過。
(*此係因為第三方在設置協定(狀況2)期間獲得基礎對
Figure 02_image045
,此暗示
Figure 02_image041
為其已知的。亦假設,雜湊函數
Figure 02_image061
至少為第三方(若並非所有人)已知的,亦即,其為公共標準,諸如SHA-256)。
3.1.3. 更新 亦可能需要指定在給定新CRP在驗證(及其他適用協定,諸如登入)中之一次性性質的情況下供愛麗絲及第三方建立新CRP的程序。
狀況 1 愛麗絲具有對 PUF 之唯一存取權。在此狀況下,建立另一安全通道以在愛麗絲與第三方之間傳輸質詢及回應,如在設置中。吾人假設愛麗絲具有形式
Figure 02_image069
之至少一個剩餘CRP,以建立形式
Figure 02_image103
或類似形式之共用秘密,或可自DH金鑰交換存取先前共用秘密
Figure 02_image077
1. 愛麗絲及第三方使用共用秘密
Figure 02_image079
建立安全通訊通道。可用許多方式導出此共用秘密,協定對此為不可知的。 2.   第三方經由安全通道向愛麗絲發送質詢
Figure 02_image081
之集合。 3.   愛麗絲自ePUF裝置獲得回應
Figure 02_image083
。 4.   愛麗絲經由安全通道向第三方發送回應
Figure 02_image083
。 5.   第三方根據愛麗絲之身分帳戶儲存回應CRP集合
Figure 02_image085
。 應注意,步驟2至5至少與設置步驟4至7相同。
亦參見關於愛麗絲經由通道告知第三方(Cw, Rw)之先前評論。
狀況 2 第三方在設置期間存取 PUF 在此狀況下,第三方可間接地產生任意數目個CRP,此係因為其知曉基礎對
Figure 02_image045
及雜湊函數
Figure 02_image105
二者。此意謂在此狀況下不要求互動式更新。
3.1.4. 撤銷 身分系統之另一部分可用於待撤銷之特定ePUF裝置,使得其不再用於身分目的。撤銷程序為簡單的,且可作為(i)藉由第三方獨立於使用者愛麗絲進行的撤銷或(ii)藉由愛麗絲作為撤銷請求傳送之撤銷來執行。
第一種狀況不需要涉及ePUF或其他的任何技術手段。第二種狀況不需要特定於ePUF之協定或解決方案,此係因為在第一種狀況下需要撤銷之很好的實例為愛麗絲已失去含有ePUF之實體裝置或該裝置已在某種程序上受到了損害。
然而,若需要任擇地在撤銷程序中利用ePUF,其中愛麗絲仍具有對裝置之實體控制權,則可規定使用其及第三方已建立的CRP中之一者(或其導出的共用秘密)來鑑認愛麗絲之請求,諸如在各狀況下藉助於HMAC或加密訊息使用CRP回應或秘密作為金鑰。然而,出於上文所提及的原因,此無論如何不被視為系統之嚴格要求。 3.2. 本端 PUF 系統
3.2.1. 設置 可用於本端PUF之設置與用於遠端PUF之設置完全相同,但本端狀況與遠端狀況之間的差異為下文如何進行驗證步驟。
3.2.2. 驗證 在此情境中,在本端執行驗證。此意謂驗證程序需要證明者(愛麗絲)及驗證者(鮑勃)二者在同一實體位置中。
此情境可例如與法庭訴訟(針對人類身分)相關,其中在法律上要求愛麗絲使用其ePUF裝置在本端與調查互動,或其中待執行對IoT系統之分析(針對裝置身分),其中系統之系統管理員可能希望在本端明確地檢查特定裝置之回應。其亦可能與支付情境相關。
此程序適用的其他情境可包括在碰撞之後對載具進行診斷,其中當局希望準確地判定哪一數位組件發出了指令。在此狀況下,輸入
Figure 02_image071
可為一些環境或動力學條件,且回應
Figure 02_image073
將為由裝置給出之指令的部分。
下文所概述之本端PUF驗證協定與先前遠端PUF驗證協定之間的相異之處在於,此本端協定並不假設驗證者事先已知曉ePUF之回應。換言之,在本端驗證程序期間產生的回應事先不可用於驗證者。
然而,在此情境中,用於驗證程序中之質詢可能在某種程度上為有意義的。舉例而言,考慮一台機器,其身分可被視為其嵌入式ePUF組件之基礎對
Figure 02_image045
。可執行驗證程序以驗證此特定裝置先前自給定輸入
Figure 02_image071
產生輸出
Figure 02_image073
1. 鮑勃基於所討論之CRP
Figure 02_image009
獲得相關質詢
Figure 02_image071
以提交至ePUF裝置。 2.     鮑勃能夠存取ePUF裝置。 3.     鮑勃使用ePUF裝置產生候選回應
Figure 02_image107
。 4.     鮑勃驗證是否
Figure 02_image109
: i.       若是,則驗證通過。 ii.    若否,則驗證未通過。
在此等情境中,鮑勃事先不知曉候選回應R',而是驗證其現自PUF裝置接收到之回應是否匹配先前產生之回應。舉例而言,此可用於驗證(例如,在法庭上)主導產生回應之人員(愛麗絲)或裝置為現存在(例如,在法庭上)之相同人員或裝置。例如,在數位組件之實例中,此數位組件將已經組配以在基於某一輸入質詢C產生R時發出指令。例如,若裝置為自動駕駛汽車且組件接收自資料「前方的汽車太近」導出或包含該資料的質詢,則產生回應R,且R觸發組件以發出應用制動器之指令。因此,在回溯性診斷驗證中,驗證者認為汽車減速且希望驗證條件實際上為「前方的汽車太近」以觸發彼回應。
3.2.3. 更新 用於產生經更新CRP之程序可遵循與針對遠端狀況提出的相同邏輯,此係因為彼情境中之關鍵差異僅適用於驗證。
3.2.4 撤銷 針對遠端撤銷所描述的相同技術在此處亦有效。 3.3. 密碼編譯PUF系統
3.3.1 設置 在此狀況下,愛麗絲使用標準的密碼編譯手段與第三方建立身分,但在程序中使用ePUF裝置。
在此情境中,第三方可任擇地知曉ePUF已用於程序中。類似地,對於以此方式建立之身分,身分驗證者可能知曉或可能不知曉在身分驗證程序中涉及ePUF裝置。簡言之,以下協定僅規定裝置所有者愛麗絲知曉在身分系統中涉及ePUF裝置。
1. ePUF裝置經製造且分發給愛麗絲。 2.     愛麗絲藉由聯繫受信任第三方來申請建立密碼編譯身分。 i.       第三方為愛麗絲建立識別帳戶且請求其身分之證明。 ii.    愛麗絲向第三方供應相關識別文件或憑證。 iii.  第三方驗證愛麗絲之身分。 3.     愛麗絲選擇一種密碼編譯方法來建立與其身分之密碼編譯連結,例如使用其CRP建立經證實之不對稱金鑰對。 i.     第三方自愛麗絲獲得公開金鑰
Figure 02_image111
,其中
Figure 02_image113
為EC金鑰對。 ii.   第三方請求愛麗絲使用私密金鑰
Figure 02_image115
對訊息
Figure 02_image117
進行簽署(例如,經由ECDSA)。 iii.  愛麗絲產生ECDSA簽章
Figure 02_image119
且發送至第三方。 iv.   第三方驗證簽章。 4.     若簽章有效,則第三方根據愛麗絲之身分來證實金鑰
Figure 02_image111
步驟3涉及使用使用者選擇之密碼編譯方案,但吾人假設在程序中涉及的相關金鑰將為僅愛麗絲知曉之CRP回應的導出項。在上文選擇之實例中,此意謂私密金鑰
Figure 02_image121
將自特定ePUF回應
Figure 02_image073
導出,諸如
Figure 02_image123
3.3.2 驗證 在密碼編譯狀況下,使用在先前詳述之密碼編譯設置階段期間建立的密碼編譯資訊來執行身分驗證。在此狀況下,吾人採用以下實例:在設置期間根據愛麗絲之身分建立經證實之EC不對稱金鑰對,且吾人現使用彼金鑰用於驗證。
然而,以下協定可簡單地藉由在適當時將現有的設置及驗證協定替換為任何其他密碼編譯方案而簡單地適用於彼等方案。此處的差異在於,使用ePUF裝置作為設置及驗證程序之安全金鑰產生器,此降低了持有者愛麗絲遭受惡意損害的風險。
1. 鮑勃獲得身分連結資訊
Figure 02_image111
,例如經證實之金鑰。 i.       若鮑勃為受信任第三方,則其簡單地自愛麗絲之帳戶擷取
Figure 02_image111
。 ii.    若鮑勃並非受信任第三方,則其與第三方通訊且為愛麗絲請求經證實之公開金鑰。 2.   鮑勃選擇供愛麗絲進行簽署之訊息
Figure 02_image117
且發送至愛麗絲。 3.   愛麗絲在訊息
Figure 02_image117
上產生簽章。 i.       若愛麗絲希望使用其經證實之金鑰進行簽署,則其產生簽章
Figure 02_image119
。 ii.    若愛麗絲希望用一次性導出金鑰進行簽署,則其產生簽章
Figure 02_image125
,其中
Figure 02_image127
Figure 02_image129
為一些一次性資料*。 4.   愛麗絲將簽章發送至鮑勃。此時,若鮑勃尚未知曉資料d,則愛麗絲亦可發送該資料。 5.   鮑勃使用
Figure 02_image111
(及
Figure 02_image129
,若適用)根據公開金鑰驗證簽章。 i.       若簽章驗證通過,則身分驗證通過。 ii.    若簽章驗證未通過,則身分驗證未通過。
(*此資料可與驗證相關,諸如發票訊息或生物特徵模糊匹配資料。資料
Figure 02_image129
可由鮑勃或愛麗絲選擇。替代地,
Figure 02_image129
可為愛麗絲及鮑勃已知的共用秘密,例如使用Diffie-Hellman金鑰交換及/或HMAC導出。)
若使用諸如EC或PGP金鑰之類似密碼編譯原語建立身分,則上述密碼編譯驗證程序亦可應用於獨立地建立之身分,如描述於先前章節中。
3.3.3. 更新 更新愛麗絲之身分的程序在此處不取決於ePUF裝置在金鑰產生中的使用,且因而在此處不必規定任何特定方法。實情為,可使用用於更新諸如
Figure 02_image111
之經證實金鑰的標準方法。
可簡單地假設,將在用於任何所需簽章之金鑰產生或現有程序所需之其他密碼編譯程序中涉及ePUF。
3.3.4. 撤銷 類似地,此處不必規定特定撤銷協定,但遵從標準機制。再次,可假設ePUF將作為用於相關密碼編譯操作之金鑰產生器在背景涉及。 3.4. 獨立 PUF 機制
3.4.1 設置 在使用ePUF裝置建立身分之獨立狀況下,考慮實體希望獨立於任何第三方建立人類身分或在封閉系統內建立裝置身分的情境。在此程序中所涉及之唯一一方為愛麗絲,其為ePUF裝置之「所有者」及稍後驗證期間的最終證明者。 狀況 1 愛麗絲建立人類身分
1. 愛麗絲獲得ePUF裝置。 2.   愛麗絲用質詢
Figure 02_image071
探測ePUF。 3.   愛麗絲自ePUF獲得回應
Figure 02_image073
。 4.   愛麗絲使用對
Figure 02_image009
為自身建立身分: i.     愛麗絲可使用密碼編譯設置來建立未證實之身分金鑰
Figure 02_image111
。 ii.    愛麗絲根據其身分公佈其身分金鑰。 5.   愛麗絲可能希望向其CRP公佈認證,諸如回應之雙雜湊
Figure 02_image131
愛麗絲為其自身建立「自主權」身分之此狀況在一定程度上有助於為僅其控制之裝置提供唯一且可再現之裝置識別符。然而,在此身分系統中缺乏受信任第三方意謂驗證者稍後必須信任證明者身分與證明者裝置之間的連結。此在真實世界中之應用可能非常有限。 狀況 2 愛麗絲為裝置建立身分
1. 愛麗絲獲得ePUF裝置。 2.     愛麗絲用質詢
Figure 02_image071
探測ePUF。 3.     愛麗絲自ePUF獲得回應
Figure 02_image073
。 4.     愛麗絲使用對
Figure 02_image009
為其系統內之裝置建立身分: i.    愛麗絲將對
Figure 02_image009
映射至其裝置。 ii.    愛麗絲保存所有其裝置及CRP映射之資料庫。 5.     愛麗絲可能希望向其CRP公佈認證,諸如回應之雙雜湊
Figure 02_image131
在吾人為裝置建立「自主權」身分之以上狀況下,可見設計在封閉系統內可能非常有用,其中系統管理者僅希望識別彼系統內的不同裝置。此對於隨後向其他人認證亦可能有用。然而,取決於情境,在設置期間缺乏受信任第三方仍限制證明者說服 外部驗證者裝置尚未改變。
應注意,狀況1及狀況2可被視為相同程序,但具有不同預期目的。因此,狀況1及狀況2可一起被視為一種用於為人類或機器產生「自主權」身分之方法,其中在後一狀況下,系統管理員(諸如,IoT系統中之愛麗絲)自身為受信任實體。在二種狀況下,愛麗絲為受信任實體。
3.4.2 驗證 用於此狀況之驗證程序與用給定質詢探測ePUF裝置及檢測其回應一樣簡單。除此之外,亦可能需要為外部方建置更複雜證明或證據以向其證明身分。
3.4.3 更新 用於此狀況之更新程序僅為設置程序之重複,其中系統管理員(在此狀況下,愛麗絲)列舉額外CRP以供轉遞使用。
3.4.4. 撤銷 在此情境中,身分撤銷之唯一類型為系統管理員(愛麗絲)希望獨立地撤銷身分之狀況,此係因為在此程序中不涉及第三方。此意謂撤銷可與愛麗絲停止使用ePUF裝置及清除其CRP資料庫一樣簡單。
在稍後章節中,揭示可藉由區塊鏈認證及證據使此自主權撤銷更穩健的方式,使得其稍後可說服外部方。 3.5. 基於身分之 CRP 管理
在上文中,尤其為基於 遠端PUF之身分系統,在設置及驗證協定中用於鑑認身分的CRP之一次性性質給所涉及方帶來CRP管理挑戰。
舉例而言,在受信任第三方在設置期間不存取PUF裝置之狀況下,可能需要列舉許多CRP
Figure 02_image085
供第三方儲存以備未來驗證。此外,因為ePUF自身充當質詢至回應之判定性偽隨機映射,所以回應將看起來相互不相關。因此,若受信任第三方必須服務大量使用者,則受信任第三方為其使用者或用戶端列表顯示及儲存CRP集合的負擔將很快呈現縮放問題。
圖8A說明根據本文中所揭示之實施例的自識別資料判定性地導出質詢。
根據此等實施例,為了解決受信任第三方之負擔的問題,主要在產生質詢
Figure 02_image081
時處置CRP管理。此處的想法為應自單個主質詢或供導出主質詢之主資料以判定性方式(且可能亦階層方式)導出質詢。此概念類似於使用階層式判定性(HD)電子錢包來管理一次性比特幣金鑰,此係因為其經設計以允許受信任第三方(或另一相關方)僅使用主資料恢復所有相關質詢,該主資料在比特幣情境中被稱為「電子錢包種子」。
在一些此等實施例中,愛麗絲(目標方103T)之識別資料806用作主資料以用於產生大量質詢,以判定哪些CRP用於身分系統中,諸如在先前章節中所提議的彼等系統。識別資料自身可包含不同資料元素802之組合804,但在組合時,其較佳具有以下屬性: ‧ 唯一性-識別資料對於其所屬的實體為唯一的;以及 ‧ 秘密性-識別資料僅為其所屬的實體(或其所有者)所知。
識別資料之組成部分的簡單實例可包括護照號碼、國家保險號碼、名稱、出生日期或對安全問題(例如,母親之本姓)之回答,或在裝置識別之狀況下的序號及製造資訊。然而,據感知,亦可使用藉由更先進的技術手段獲得的資料,諸如指紋或面部辨識資料,該資料可使用模糊魔術(fuzzy-magic)技術來提取以保持唯一性。
在實施例中,用作供導出質詢集合之主輸入的「識別資料」可包含多個上述資料。此操作之一個原因為確保資訊對儘可能多的受信任第三方保密,此係因為先前章節中之一些協定依賴於與第三方及/或外部驗證方共用質詢。在未經證明方愛麗絲同意之情況下,包含多個組成部分之識別資料對於任何第三方而言皆將更難完全複製。
用於使用識別資料以判定性方式產生CRP之機制展示於圖8A中。識別資料之組成部分首先藉由程序「A」 (804)組合,該程序可為串接、逐位元運算(例如,互斥或(XOR))或任何其他相關組合操作,其中應注意,此操作可試圖藉由將原始資料轉換成混淆形式來保護隱私。
識別資料接著藉助於雜湊函數或類似程序轉變為主質詢
Figure 02_image133
。最終,主質詢用於使用導出函數
Figure 02_image135
以判定性方式導出一次性質詢序列
Figure 02_image081
。在實施例中,如圖8B中所展示,導出函數f()可包含雜湊函數及臨時亂數之注入,使得將各連續質詢產生為
Figure 02_image137
,其中
Figure 02_image139
充當臨時亂數。
程序A、質詢
Figure 02_image133
自識別資料之產生及導出函數
Figure 02_image135
皆可取決於特定實施之需要而組配。
圖8C展示另一特定實例,亦即,質詢(未描畫之回應)之階層式及判定性導出。可能需要以階層方式自主
Figure 02_image133
導出一次性質詢
Figure 02_image047
,如圖8B中所展示。在此狀況下,CRP管理得到進一步改善,此係因為特定質詢之產生不需要取決於所有先前質詢,如在先前狀況中。
質詢基於身體資料之判定性導出的使用減少了身分協定中證明者愛麗絲及受信任第三方二者之儲存額外負荷。任一方皆可能僅儲存識別資料(或識別資料之子集),且在需要時重新運算必要質詢。
此外,愛麗絲亦可具有藉由視需要選擇隱瞞或與各識別服務共用儘可能多的資訊來定製其隱私的選項,但代價為其自身可儲存更多資料。 4. 實例區塊鏈系統
下文描述可在本揭露內容之某些實施例中使用的實例區塊鏈系統。應注意,「愛麗絲」及「鮑勃」僅為雙方之任意名稱,且愛麗絲及鮑勃在此章節中未必承擔與在先前章節或以下章節中相同的角色。
在一些實施例中,基於PUF之輸出的回應資料可儲存於鏈上,例如,如在先前章節中所論述。儲存於鏈上之回應資料可採用實際回應自身或其變換之形式,諸如雜湊或雙雜湊(所謂的認證或雜湊承諾),或自PUF回應導出之公開-私密金鑰對中的公開金鑰。無論鏈上回應資料採用何種形式,其皆使得另一驗證方能夠檢查呈現為身分證據之目標回應或簽章是否符合預期。在其他實施例中,區塊鏈可用作管理質詢-回應對的手段,諸如更新或撤銷該等質詢-回應對。
下文描述可用於實施此等特徵之區塊鏈系統的實例。 4.1. 實例系統綜述
圖1展示用於實施區塊鏈150之實例系統100。系統100可包含封包交換網路101,其通常為諸如網際網路之廣域網際網路。封包交換網路101包含多個區塊鏈節點104,該等區塊鏈節點可經配置以在封包交換網路101內形成同級間(P2P)網路106。雖然未說明,但區塊鏈節點104可經配置為接近完整的圖。各區塊鏈節點104因此高度連接至其他區塊鏈節點104。
各區塊鏈節點104包含同級者之電腦裝備,其中節點104中之不同節點屬於不同同級者。各區塊鏈節點104包含:處理設備,其包含一或多個處理器,例如一或多個中央處理單元(CPU)、加速器處理器、特殊應用處理器及/或場可規劃閘陣列(FPGA);以及其他裝備,諸如特殊應用積體電路(ASIC)。各節點亦包含記憶體,亦即,呈一或多個非暫時性電腦可讀媒體之形式的電腦可讀儲存器。記憶體可包含一或多個記憶體單元,其使用一或多個記憶體媒體,例如,諸如硬碟之磁性媒體;諸如固態驅動機(SSD)、快閃記憶體或EEPROM之電子媒體;及/或諸如光碟驅動機之光學媒體。
區塊鏈150包含資料區塊鏈151,其中在分散式或區塊鏈網路106中之多個區塊鏈節點104中之各者處維護區塊鏈150之各別複本。如上文所提及,維護區塊鏈150之複本未必意謂儲存整個區塊鏈150。實情為,只要各區塊鏈節點150儲存各區塊151之區塊標頭(下文所論述),即可修剪區塊鏈150之資料。該鏈中之各區塊151包含一或多個交易152,其中在此上下文中之交易係指一種資料結構。該資料結構之性質將取決於用作交易模型或方案之部分的交易協定之類型。給定區塊鏈將始終使用一個特定交易協定。在一種常見類型之交易協定中,各交易152之資料結構包含至少一個輸入及至少一個輸出。各輸出指定表示作為財產之數位資產之數量的金額,其實例為輸出以密碼編譯方式被鎖定至的使用者103 (需要彼使用者之簽章或其他解決方案以便解除鎖定且藉此兌換或支出)。各輸入均指回至先前交易152之輸出,藉此連結交易。
各區塊151亦包含區塊指標155,該區塊指標指回至該鏈中之先前創建區塊151以便界定區塊151之順序次序。各交易152 (除了coinbase交易以外)包含指回至先前交易之指標,以便界定交易序列之次序(注意:允許交易152之序列進行分支)。區塊151之鏈一直追溯至起源區塊(Gb) 153,該起源區塊為該鏈中之第一區塊。鏈150中早期之一或多個原始交易152指向起源區塊153,而非先前交易。
區塊鏈節點104中之各者經組配以將交易152轉遞至其他區塊鏈節點104,且藉此使交易152在整個網路106中傳播。各區塊鏈節點104經組配以創建區塊151,且將同一區塊鏈150之各別複本儲存於其各別記憶體中。各區塊鏈節點104亦維護等待併入至區塊151中之交易152的有序集合(或「集區」) 154。有序集區154常常被稱作「記憶體集區」。本文中之此術語不意欲限於任何特定區塊鏈、協定或模型。該術語係指節點104已接受為有效的交易之有序集合,且對於該有序集合,節點104不必接受嘗試支出相同輸出之任何其他交易。
在給定的目前交易152j中,該(或各)輸入包含參考交易序列中之先前交易152i之輸出的指標,指定此輸出待在目前交易152j中兌換或「支出」。一般而言,先前交易可為有序集合154或任何區塊151中之任何交易。在目前交易152j經創建或甚至發送至網路106時,先前交易152i不一定存在,但先前交易152i將需要存在且經驗核以使目前交易有效。因此,本文中的「先前」係指藉由指標連結之邏輯序列中的前置者,未必為時間序列中之創建或發送時間,且因此,其未必排除無序地創建或發送交易152i、152j (參見下文關於孤立交易之論述)。先前交易152i同樣可被稱為前期或前置交易。
目前交易152j之輸入亦包含輸入授權,例如前述交易152i之輸出被鎖定至的使用者103a之簽章。又,目前交易152j之輸出可用密碼編譯方式鎖定至新使用者或實體103b。目前交易152j因此可將先前交易152i之輸入中所定義的金額轉移至如目前交易152j之輸出中定義的新使用者或實體103b。在一些狀況下,交易152可具有多個輸出以在多個使用者或實體(多個使用者或實體中之一者可為原始使用者或實體103a以便提供找零)間劃分輸入金額。在一些狀況下,交易亦可具有多個輸入以將來自一或多個先前交易之多個輸出的金額搜集在一起,且重新分發給當前交易之一或多個輸出。
根據基於輸出之交易協定,諸如比特幣,當諸如個別使用者或組織之一方103希望制定新交易152j (手動地或藉由該方所使用之自動化程序)時,則制定方將新交易自其電腦終端機102發送至接收者。該制定方或接收者將最終發送此交易至網路106之區塊鏈節點104中之一或多者(該等區塊鏈節點現今通常為伺服器或資料中心,但原則上可為其他使用者終端機)。亦不排除制定新交易152j之該方103可將交易直接發送至區塊鏈節點104中之一或多者,且在一些實例中不發送至接收者。接收交易之區塊鏈節點104根據應用於區塊鏈節點104中之各者處之區塊鏈節點協定而檢查該交易是否有效。區塊鏈節點協定通常需要區塊鏈節點104檢查新交易152j中之密碼編譯簽章是否匹配預期簽章,此取決於交易152之有序序列中的先前交易152i。在此基於輸出之交易協定中,此可包含檢查包括於新交易152j之輸入中的該方103之密碼編譯簽章或其他授權是否匹配定義於新交易指派之先前交易152i之輸出中的條件,其中此條件通常包含至少檢查新交易152j之輸入中的密碼編譯簽章或其他授權是否解除鎖定新交易之輸入所連結至的先前交易152i之輸出。該條件可至少部分地由包括於先前交易152i之輸出中的指令碼定義。替代地,其可簡單地由區塊鏈節點協定單獨確定,或其由此等之組合確定。無論如何,若新交易152j有效,則區塊鏈節點104將其轉遞至區塊鏈網路106中之一或多個其他區塊鏈節點104。此等其他區塊鏈節點104根據相同區塊鏈節點協定應用相同測試,且因此將新交易152j轉遞至一或多個其他節點104,等等。以此方式,新交易在區塊鏈節點104之整個網路中傳播。
在基於輸出之模型中,是否指派(例如,支出)給定輸出(例如,UTXO)之定義為其是否已根據區塊鏈節點協定而由另一後續交易152j之輸入有效地兌換。使交易有效之另一條件為該交易嘗試兌換之先前交易152i之輸出尚未由另一交易兌換。再次,若並非有效的,則不在區塊鏈150中傳播(除非經標記為無效,且經傳播以用於警示)或記錄交易152j。此防止雙重支出,由此交易者試圖將同一交易之輸出指派多於一次。另一方面,基於帳戶之模型藉由維持帳戶餘額來防止雙重支出。因為同樣存在所定義之交易次序,所以帳戶餘額在任一時間皆具有單個所定義狀態。
除了驗核交易以外,區塊鏈節點104亦競相率先在通常被稱作挖掘之程序中創建交易區塊,該程序由「工作量證明」支援。在區塊鏈節點104處,將新交易添加至有效交易之有序集區154,該等有效交易尚未出現在記錄於區塊鏈150上之區塊151中。區塊鏈節點接著競相藉由嘗試解決密碼編譯難題自交易之有序集合154組裝交易152之新有效區塊151。通常,此包含搜尋「臨時亂數」值,使得當臨時亂數與未決交易之有序集區154的表示串接且經雜湊時,雜湊之輸出接著符合預定條件。例如,預定條件可為雜湊之輸出具有某一預定數目個前導零。應注意,此僅為一個特定類型之工作量證明難題,且不排除其他類型。雜湊函數之屬性為其輸出相對於其輸入為不可預測的。因此,此搜尋可僅藉由蠻力執行,因此在正試圖解決難題之各區塊鏈節點104處消耗大量處理資源。
解決難題之第一區塊鏈節點104向網路106宣佈此點,從而提供解決方案作為證明,該解決方案接著可由網路中之其他區塊鏈節點104容易地檢查(一旦給定雜湊之解決方案,即直接檢查其是否使得雜湊之輸出符合條件)。第一區塊鏈節點104將區塊傳播至接受該區塊且因此實行協定規則之其他節點的臨限共識。交易之有序集合154接著藉由區塊鏈節點104中之各者而記錄為區塊鏈150中之新區塊151。區塊指標155亦經指派給新區塊151n,該指標指回至鏈中之先前創建區塊151n-1。創建工作量證明解決方案所需之例如呈雜湊形式的大量工作發信第一節點104遵循區塊鏈協定之規則的意圖。此等規則包括若交易指派與先前驗核之交易相同的輸出,則不接受該交易為有效的,否則被稱為雙重支出。一旦經創建,區塊151便無法被修改,此係因為在區塊鏈網路106中之區塊鏈節點104中之各者處辨識及維護該區塊。區塊指標155亦向區塊151強加順序次序。由於交易152記錄於網路106中之各區塊鏈節點104處的有序區塊中,因此,此提供交易的不可變公共分類帳。
應注意,在任何給定時間競相解決難題之不同區塊鏈節點104可基於在任何給定時間尚待公佈之交易的集區154的不同快照而如此操作,此取決於該等節點何時開始搜尋解決方案或接收該等交易之次序。不論誰首先解決其各別難題皆定義哪些交易152且以哪一次序包括於下一新區塊151n中,且更新未公佈交易之當前集區154。區塊鏈節點104接著繼續競相自未公佈交易之新定義有序集區154創建區塊,等等。亦存在用於解決可能出現的任何「分叉」之協定,分叉為二個區塊鏈節點104彼此在極短的時間內解決其難題之情況,使得區塊鏈的衝突觀點在節點104之間傳播。簡言之,無論分叉之哪個支叉生長得最長,皆成為決定性區塊鏈150。應注意,此不應影響網路之使用者或代理,此係因為相同交易將出現在二個分叉中。
根據比特幣區塊鏈(及大部分其他區塊鏈),成功地建構新區塊之節點104被授予在新特殊種類之交易中新指派額外所接受金額之數位資產的能力,該新特殊種類之交易分發額外所定義數量之數位資產(相較於代理間或使用者間交易,其將一定金額之數位資產自一個代理或使用者轉移至另一代理或使用者)。此特殊類型之交易通常被稱作「coinbase交易」,但亦可被稱為「起始交易」或「產生交易」。其通常形成新區塊151n之第一交易。工作量證明發信建構新區塊之節點遵循協定規則的意圖,從而允許稍後兌換此特殊交易。在可兌換此特殊交易之前,區塊鏈協定規則可能需要成熟期,例如100個區塊。常常,常規(非產生)交易152亦將在其輸出中之一者中指定額外交易費用,以進一步獎勵創建了公佈彼交易之區塊151n的區塊鏈節點104。此費用通常被稱作「交易費用」,且在下文論述。
由於交易驗核及公佈中所涉及之資源,區塊鏈節點104中之至少各者通常採用伺服器之形式,該伺服器包含一或多個實體伺服器單元或甚至整個資料中心。然而,原則上,任何給定區塊鏈節點104可採用使用者終端機或經網路連接在一起之使用者終端機之群組的形式。
各區塊鏈節點104之記憶體儲存軟體,該軟體經組配以在區塊鏈節點104之處理設備上運行以便根據區塊鏈節點協定執行其各別的一或多個角色且處置交易152。應理解,本文中歸於區塊鏈節點104之任何動作可由在各別電腦裝備之處理設備上運行的軟體執行。節點軟體可以一或多個應用程式實施於應用層或諸如作業系統層或協定層之下部層或此等層之任何組合處。
充當消費使用者之角色的多方103中之各者的電腦裝備102亦連接至網路101。此等使用者可與區塊鏈網路106互動,但不參與驗核交易或建構區塊。此等使用者或代理103中之一些可在交易中充當發送者及接收者。其他使用者可與區塊鏈150互動,而未必充當發送者或接收者。舉例而言,一些方可充當儲存實體,其儲存區塊鏈150之複本(例如,已自區塊鏈節點104獲得區塊鏈之複本)。
多方103中之一些或全部可作為不同網路(例如,覆疊於區塊鏈網路106之上的網路)之部分而連接。區塊鏈網路之使用者(常常被稱作「用戶端」)可據稱為包括區塊鏈網路106之系統的部分;然而,此等使用者並非區塊鏈節點104,此係因為其不執行區塊鏈節點所需的角色。實情為,各方103可與區塊鏈網路106互動,且藉此,藉由連接至區塊鏈節點106 (亦即,與該區塊鏈節點通訊)而利用區塊鏈150。出於說明之目的展示二方103及其各別裝備102:第一方103a及其各別電腦裝備102a,以及第二方103b及其各別電腦裝備102b。應理解,更多此類方103及其各別電腦裝備102可存在且參與系統100,但為方便起見不對其加以說明。各方103可為個人或組織。僅作為說明,第一方103a在本文中被稱作愛麗絲,且第二方103b被稱作鮑勃,但應瞭解,此不具限制性,且在本文中對愛麗絲或鮑勃之任何提及皆可分別用「第一方」及「第二方」替換。
各方103之電腦裝備102包含各別處理設備,該處理設備包含一或多個處理器,例如一或多個CPU、GPU、其他加速器處理器、特殊應用處理器及/或FPGA。各方103之電腦裝備102進一步包含記憶體,亦即,呈一或多個非暫時性電腦可讀媒體之形式的電腦可讀儲存器。此記憶體可包含一或多個記憶體單元,其使用一或多個記憶體媒體,例如,諸如硬碟之磁性媒體;諸如SSD、快閃記憶體或EEPROM之電子媒體;及/或諸如光碟驅動機之光學媒體。各方103之電腦裝備102上的記憶體儲存軟體,該軟體包含經配置以在處理設備上運行之至少一個用戶端應用程式105的各別執行個體。應理解,可使用在各別電腦裝備102之處理設備上運行的軟體來執行本文中歸於給定方103之任何動作。各方103之電腦裝備102包含至少一個使用者終端機,例如桌上型或膝上型電腦、平板電腦、智慧型手機或諸如智慧型手錶之可穿戴式裝置。給定方103之電腦裝備102亦可包含一或多個其他網路連接資源,諸如經由使用者終端機存取之雲端運算資源。
用戶端應用程式105最初可在合適的一或多個電腦可讀儲存媒體上經提供至任何給定方103之電腦裝備102,例如自伺服器下載,或經提供於抽取式儲存裝置上,該抽取式儲存裝置諸如抽取式SSD、快閃記憶體金鑰、抽取式EEPROM、抽取式磁碟驅動機、磁性軟碟或磁帶、諸如CD或DVD ROM之光碟或抽取式光碟機等。
用戶端應用程式105包含至少一「電子錢包」功能。此具有二個主要功能性。此等功能性中之一者為使得各別方103能夠創建、授權(例如,簽署)及發送交易152至一或多個比特幣節點104,以接著在區塊鏈節點104之整個網路中傳播且藉此包括於區塊鏈150中。另一功能性為將其當前擁有之數位資產的金額報告給各別方。在基於輸出之系統中,此第二功能性包含核對散佈在整個區塊鏈150中屬於所討論的一方之各種交易152之輸出中所定義的金額。
應注意:雖然各種用戶端功能性可描述為整合至給定用戶端應用程式105中,但此未必為限制性的,且實情為,本文中所描述之任何用戶端功能性可替代地實施於二個或多於二個相異應用程式之套件中,例如經由API介接,或一個應用程式為另一應用程式之外掛程式。更一般而言,用戶端功能性可實施於應用層或諸如作業系統之下部層或此等層之任何組合處。下文將關於用戶端應用程式105進行描述,但應瞭解,此並非限制性的。
各電腦裝備102上之用戶端應用程式或軟體105的執行個體操作性地耦接至網路106之區塊鏈節點104中之至少一者。此使得用戶端105之電子錢包功能能夠將交易152發送至網路106。用戶端105亦能夠聯繫區塊鏈節點104以便查詢區塊鏈150以詢問各別方103為接收者之任何交易(或實際上檢測區塊鏈150中之其他方的交易,此係因為在實施例中,區塊鏈150為公共設施,其部分地經由其公共可見性而在交易中提供信任)。各電腦裝備102上之電子錢包功能經組配以根據交易協定來制訂及發送交易152。如上文所闡述,各區塊鏈節點104運行軟體,該軟體經組配以根據區塊鏈節點協定來驗核交易152,且轉遞交易152以便在整個區塊鏈網路106中傳播該等交易。交易協定及節點協定彼此對應,且給定交易協定與給定節點協定相配,其一起實施給定交易模型。相同交易協定用於區塊鏈150中之所有交易152。相同節點協定由網路106中之所有節點104使用。
當給定方103,比如Alice,希望發送新交易152j以包括於區塊鏈150中時,其接著根據相關交易協定來制訂新交易(使用其用戶端應用程式105中之電子錢包功能)。其接著將交易152自用戶端應用程式105發送至其連接至的一或多個區塊鏈節點104。例如,此可為最佳地連接至愛麗絲之電腦102的區塊鏈節點104。當任何給定區塊鏈節點104接收新交易152j時,該區塊鏈節點根據區塊鏈節點協定及其各別角色來處置該新交易。此包含首先檢查新接收交易152j是否符合「有效」的某一條件,稍後將更詳細地論述該條件之實例。在一些交易協定中,可藉由包括於交易152中之指令碼基於各交易來組配驗核條件。替代地,該條件可簡單地為節點協定之內置特徵,或可由指令碼及節點協定之組合來定義。
若新接收交易152j通過被視為有效的測試(亦即,若其「經驗核」),則接收交易152j之任何區塊鏈節點104將添加新經驗核交易152至在彼區塊鏈節點104處維護的交易之有序集合154。另外,接收交易152j之任何區塊鏈節點104將經驗核交易152向前傳播至網路106中之一或多個其他區塊鏈節點104。由於各區塊鏈節點104應用相同協定,因此接著假設交易152j有效,此意謂該交易將很快在整個網路106中傳播。
一旦被接納至在給定區塊鏈節點104處維護之未決交易的有序集區154,則彼區塊鏈節點104將開始競爭以解決其關於包括新交易152之交易的各別集區154之最新版本的工作量證明難題(前已述及,其他區塊鏈節點104可能正試圖基於交易之不同集區154來解決難題,但不論誰率先完成皆將定義包括於最新區塊151中之交易的集合。最終,區塊鏈節點104將解決包括愛麗絲之交易152j的有序集區154之一部分的難題)。一旦已針對包括新交易152j之集區154完成工作量證明,則其不可變地成為區塊鏈150中之區塊151中之一者的部分。各交易152包含指回至較早交易之指標,因此亦不變地記錄交易之次序。
不同區塊鏈節點104可首先接收給定交易之不同例項,且因此在一個例項在新區塊151中公佈之前對於哪個例項「有效」具有衝突的觀點,此時,所有區塊鏈節點104同意所公佈例項為唯一有效例項。若區塊鏈節點104將一個例項接受為有效的且接著發現第二例項已記錄於區塊鏈150中,則彼區塊鏈節點104必須接受此例項且將捨棄(亦即,視為無效)其最初接受之例項(亦即,尚未在區塊151中公佈之例項)。
作為基於帳戶之交易模型之部分,由一些區塊鏈網路操作之交易協定之替代類型可被稱作「基於帳戶」之協定。在基於帳戶之狀況下,各交易皆不會藉由返回參考過去交易序列中之先前交易之UTXO來定義待轉移的金額,而是參考絕對帳戶餘額。所有帳戶之當前狀態由彼網路之節點與區塊鏈分離地儲存且不斷更新。在此系統中,使用帳戶(亦被稱作「頭寸」)之運行交易計數來對交易進行排序。此值由發送者進行簽署,作為其密碼編譯簽章之部分,且作為交易參考計算之部分而經雜湊。此外,任擇資料欄位亦可對交易進行簽署。舉例而言,若先前交易ID包括於資料欄位中,則此資料欄位可指回至先前交易。 4.2. 基於UTXO 之模型
圖2說明實例交易協定。此為基於UTXO之協定的實例。交易152 (簡稱為「Tx」)為區塊鏈150之基本資料結構(各區塊151包含一或多個交易152)。下文將參考基於輸出或基於「UTXO」之協定來描述。然而,此並不限於所有可能實施例。應注意,雖然參考比特幣描述基於UTXO之實例協定,但其可同樣地實施於其他實例區塊鏈網路上。
在基於UTXO之模型中,各交易(「Tx」) 152包含資料結構,該資料結構包含一或多個輸入202及一或多個輸出203。各輸出203可包含未支出交易輸出(UTXO),其可用作另一新交易之輸入202的來源(若尚未兌換該UTXO)。UTXO包括指定數位資產之金額的值。此表示分散式分類帳上之代幣的設定數目。UTXO亦可含有其所來自的交易之交易ID以及其他資訊。交易資料結構亦可包含標頭201,該標頭可包含輸入欄位202及輸出欄位203之大小的指示符。標頭201亦可包括交易之ID。在實施例中,交易ID為交易資料(不包括交易ID自身)之雜湊,且儲存於提交至節點104之原始交易152的標頭201中。
假設愛麗絲103a希望創建將所討論的一定金額之數位資產轉移至鮑勃103b的交易152j。在圖2中,愛麗絲之新交易152j經標示為「 Tx 1 」。該交易獲取在序列中之先前交易152i之輸出203中鎖定至愛麗絲的一定金額之數位資產且將此數位資產中之至少一些轉移至鮑勃。先前交易152i在圖2中經標示為「 Tx 0 」。 Tx 0 Tx 1 僅為任意標籤。其未必意謂 Tx 0 為區塊鏈151中之第一交易,亦不意謂 Tx 1 為集區154中緊接著的下一交易。 Tx 1 可指回至仍具有鎖定至愛麗絲之未支出輸出203的任何先前(亦即,前期)交易。
在愛麗絲創建其新交易 Tx 1 時,或至少至其將新交易發送至網路106時,先前交易 Tx 0 可能已經驗核且包括於區塊鏈150之區塊151中。該交易彼時可能已包括於區塊151中之一者中,或其可能仍在有序集合154中等待,在此狀況下,該交易將很快包括於新區塊151中。替代地,可創建 Tx 0 Tx 1 且將其一起發送至網路106,或若節點協定允許緩衝「孤立」交易,則 Tx 0 甚至可在 Tx 1 之後發送。如本文中所使用之「先前」及「後續」二個詞在交易序列之上下文中係指如由交易中指定之交易指標所定義的序列中之交易的次序(哪一交易指回至哪一其他交易,等等)。該等術語同樣地可用「前置」及「後置」或「前期」及「後期」、「親代」及「子代」等來替換。其未必暗示該等交易經創建、發送至網路106或到達任何給定區塊鏈節點104之次序。然而,直至且除非親代交易經驗核,否則將不驗核指向先前交易(前期交易或「親代」)之後續交易(後期交易或「子代」)。在其親代之前到達區塊鏈節點104之子代被視為孤立的。取決於節點協定及/或節點行為,子級可被捨棄或緩衝一段時間以等待親代。
先前交易 Tx 0 之一或多個輸出203中之一者包含特定UTXO,其在此處標示為 UTXO 0 。各UTXO包含指定由UTXO表示之一定金額之數位資產的值;以及鎖定指令碼,其定義後續交易之輸入202中之解除鎖定指令碼必須符合的條件,以便驗核後續交易且因此成功地兌換UTXO。通常,鎖定指令碼將金額鎖定至特定方(包括該金額之交易的受益人)。亦即,鎖定指令碼定義解鎖條件,通常包含如下條件:後續交易之輸入中的解鎖指令碼包含先前交易經鎖定至的一方之密碼編譯簽章。
鎖定指令碼(亦稱為scriptPubKey)為以節點協定所辨識之網域特定語言編寫的一段程式碼。此語言之特定實例被稱為「指令碼(Script)」(S為大寫),其由區塊鏈網路使用。鎖定指令碼指定需要何資訊來支出交易輸出203,例如愛麗絲之簽章的要求。解鎖指令碼出現在交易之輸出中。解鎖指令碼(亦稱為scriptSig)為用網域特定語言編寫的一段程式碼,其提供滿足鎖定指令碼準則所需的資訊。舉例而言,其可含有鮑勃之簽章。解除鎖定指令碼出現在交易之輸入202中。
因此,在所說明之實例中, Tx 0 之輸出203中的 UTXO 0 包含鎖定指令碼[Checksig P A ],該鎖定指令碼需要愛麗絲之簽章Sig P A 以便兌換 UTXO 0 (嚴格來說,以便使嘗試兌換 UTXO 0 之後續交易有效)。[Checksig P A ]含有來自愛麗絲之公用-私密金鑰對中之公開金鑰 P A 的表示(亦即,雜湊)。 Tx 1 之輸入202包含指回至 Tx 1 之指標(例如,藉助於其交易ID TxID 0 ,其在實施例中為整個交易 Tx 0 之雜湊)。 Tx 1 之輸入202包含識別 Tx 0 內之 UTXO 0 的索引,以在 Tx 0 之任何其他可能輸出中識別 UTXO 0 Tx 1 之輸入202進一步包含解除鎖定指令碼<Sig P A >,其包含愛麗絲之密碼編譯簽章,該密碼編譯簽章係藉由愛麗絲將其來自金鑰對之私密金鑰應用於資料(在密碼學中有時被稱為「訊息」)之預定義部分而創建。需要由愛麗絲簽署以提供有效簽章之資料(或「訊息」)可由鎖定指令碼或由節點協定或由此等之組合來定義。
當新交易 Tx 1 到達區塊鏈節點104時,該節點應用節點協定。此包含一起運行鎖定指令碼及解除鎖定指令碼以檢查解除鎖定指令碼是否符合鎖定指令碼中所定義之條件(其中此條件可包含一或多個準則)。在實施例中,此涉及串接二個指令碼: <Sig P A > < P A > || [Checksig P A ] 其中「||」表示串接,且「<…>」意謂將資料置放於堆疊上,且「[…]」為鎖定指令碼所包含之函式(在此實例中為基於堆疊之語言)。等效地,指令碼可使用共同堆疊一個接一個地運行,而非串接指令碼。無論如何,當一起運行時,指令碼使用如包括於 Tx 0 之輸出中之鎖定指令碼中的愛麗絲之公開金鑰 P A ,以鑑認 Tx 1 之輸入中的解除鎖定指令碼含有對資料之預期部分進行簽署的愛麗絲之簽章。亦需要包括資料自身(「訊息」)之預期部分,以便執行此鑑認。在實施例中,經簽署資料包含整個 Tx 1 (因此不需要包括分離的元素來以明文指定資料之經簽署部分,此係因為其已固有地存在)。
藉由公開-私密密碼學進行鑑認之細節將為熟習此項技術者所熟悉的。基本上,若愛麗絲已使用其私密金鑰對訊息進行簽署,則在以明文給出愛麗絲之公開金鑰及訊息的情況下,諸如節點104之另一實體能夠鑑認該訊息必須已由愛麗絲簽署。簽署通常包含對訊息進行雜湊、對雜湊進行簽署及將此標示至訊息上作為簽章,因此使得公開金鑰之任何持有者能夠鑑認該簽章。因此,應注意,本文中對特定資料片段或交易之部分或其類似者之簽署的任何提及在實施例中可意謂對彼資料片段或交易之部分的雜湊進行簽署。
Tx 1 中之解除鎖定指令碼符合 Tx 0 之鎖定指令碼中所指定的一或多個條件(因此在所展示之實例中,若愛麗絲之簽章經提供於 Tx 1 中且經鑑認),則區塊鏈節點104將 Tx 1 視為有效的。此意謂區塊鏈節點104將添加 Tx 1 至未決交易之有序集區154。區塊鏈節點104將亦轉遞交易 Tx 1 至網路106中之一或多個其他區塊鏈節點104,使得該交易將在整個網路106中傳播。一旦 Tx 1 已經驗核且包括於區塊鏈150中,則此將來自 Tx 0 UTXO 0 定義為已支出。應注意, Tx 1 可僅在其支出未支出交易輸出203之情況下為有效的。若其嘗試支出已由另一交易152支出之輸出,則 Tx 1 將為無效的,即使符合所有其他條件亦如此。因此,區塊鏈節點104亦需要檢查是否已支出先前交易 Tx 0 中所提及之UTXO (亦即,其是否已形成另一有效交易之有效輸入)。此為區塊鏈150將所定義次序強加於交易152上很重要的一個原因。實務上,給定區塊鏈節點104可維護分離的資料庫,其標記已支出哪些交易152中之哪些UTXO 203,但最終定義是否已支出UTXO的係其是否已形成區塊鏈150中之另一有效交易的有效輸入。
若給定交易152之所有輸出203中所指定的總金額大於由所有其輸入202所指向之總金額,則此為大多數交易模型中無效之另一基礎。因此,此類交易將不被傳播,亦不包括於區塊151中。
應注意,在基於UTXO之交易模型中,需要將給定UTXO作為整體支出。其不能「留下」在UTXO中定義為支出之一小部分金額,同時支出另一小部分。然而,來自UTXO之金額可在下一交易之多個輸出之間劃分。例如, Tx 0 中之 UTXO 0 中所定義的金額可在 Tx 1 中之多個UTXO之間劃分。因此,若愛麗絲不想將 UTXO 0 中所定義之所有金額皆給予鮑勃,則其可使用剩餘金額在 Tx 1 之第二輸出中給自身找零,或支付給另一當事方。
實務上,愛麗絲通常亦將需要包括比特幣節點104之費用,該比特幣節點成功地將愛麗絲之交易104包括於區塊151中。若愛麗絲不包括此費用,則區塊鏈節點104可拒絕 Tx 0 ,且因此儘管技術上有效,但 Tx 0 可能不會被傳播且包括於區塊鏈150中(若區塊鏈節點104不想接受交易152,則節點協定不會強迫區塊鏈節點接受)。在一些協定中,交易費用不需要其自身的分離輸出203 (亦即,不需要分離的UTXO)。實情為,由給定交易152之輸入202所指向的總金額與給定交易之輸出203中所指定的總金額之間的任何差額被自動地給予公佈該交易之區塊鏈節點104。例如,假設指向 UTXO 0 之指標為 Tx 1 之唯一輸入,且 Tx 1 僅具有一個輸出 UTXO 1 。若 UTXO 0 中所指定之數位資產的金額大於 UTXO 1 中所指定之金額,則差額可由贏得工作量證明競賽之節點104指派以創建含有 UTXO 1 之區塊。然而,替代地或另外,未必排除可在交易152之其自身的UTXO 203中之一者中明確地指定交易費用。
愛麗絲及鮑勃之數位資產由在區塊鏈150中任何位置處之任何交易152中鎖定至愛麗絲及鮑勃的UTXO組成。因此,給定方103之資產通常遍及整個區塊鏈150中之各種交易152的UTXO而散佈。區塊鏈150中之任何位置處皆未儲存定義給定方103之總餘額的一個數字。用戶端應用程式105中之電子錢包功能的作用為將鎖定至各別方且尚未在另一後續交易中支出之所有各種UTXO的值一起核對。其可藉由查詢如儲存於比特幣節點104中之任一者處的區塊鏈150之複本來實現此。
應注意,常常示意性地表示指令碼(亦即,不使用確切語言)。舉例而言,吾人可使用操作碼(作業碼)來表示特定函式。「OP_…」係指指令碼語言之特定作業碼。作為實例,OP_RETURN為指令碼語言之作業碼,當在鎖定指令碼之開頭加上OP_FALSE時,該作業碼創建交易之不可支出輸出,該輸出可儲存交易內之資料,且藉此將資料不可變地記錄於區塊鏈150中。例如,資料可包含需要儲存於區塊鏈中之文件。
通常,交易之輸入含有對應於公開金鑰 P A 之數位簽章。在實施例中,此係基於使用橢圓曲線secp256k1之ECDSA。數位簽章對特定資料片段進行簽署。在一些實施例中,對於給定交易,簽章將對交易輸入之部分及交易輸出中之一些或全部進行簽署。數位簽章所簽署之輸出之特定部分取決於SIGHASH旗標。SIGHASH旗標通常為4位元組碼,其被包括在簽章之末尾,以選擇對哪些輸出進行簽署(且因此在簽署時固定)。
鎖定指令碼有時被稱為「scriptPubKey」,此係因為其通常包含各別交易被鎖定至的一方之公開金鑰。解除鎖定指令碼有時被稱為「scriptSig」,此係因為其通常供應對應簽章。然而,更一般而言,在區塊鏈150之所有應用中,兌換UTXO之條件不一定包含鑑認簽章。更一般而言,指令碼處理語言可用於定義任何一或多個條件。因此,「鎖定指令碼」及「解除鎖定指令碼」二個更一般的詞可為較佳的。 4.3. 旁側通道
如圖1中所展示,愛麗絲及鮑勃之電腦裝備102a、120b中之各者上的用戶端應用程式可分別包含額外通訊功能性。此額外功能性使得愛麗絲103a能夠與鮑勃103b建立分離的旁側通道107 (在任一方或第三方之推動下)。旁側通道107使得能夠與區塊鏈網路分離地進行資料交換。此通訊有時被稱作「離鏈」通訊。舉例而言,此可用於在愛麗絲與鮑勃之間交換交易152,而無需(尚未)將交易註冊至區塊鏈網路106上或使其進入鏈150,直至多方中之一者選擇將其廣播至網路106。以此方式共用交易有時被稱作共用「交易範本」。交易範本可能缺乏形成完整交易所需之一或多個輸入及/或輸出。替代地或另外,旁側通道107可用於交換任何其他交易相關資料,諸如金鑰、協商的金額或條款、資料內容等。
可經由與區塊鏈網路106相同之封包交換網路101建立旁側通道107。替代地或另外,可經由諸如行動蜂巢式網路之不同網路或諸如區域無線網路之區域網路或甚至愛麗絲之裝置102a與鮑勃之裝置102b之間的直接有線或無線鏈路來建立旁側通道301。通常,在本文中任何位置處被提及之旁側通道107可包含經由一或多個網路連接技術或通訊媒體之任何一或多個鏈路,以用於「離鏈」(亦即,與區塊鏈網路106分離地)交換資料。在使用多於一個鏈路的情況下,離鏈鏈路之集束或集合可作為整體被稱作旁側通道107。因此,應注意,若據稱愛麗絲及鮑勃經由旁側通道107交換某些資訊或資料片段或其類似者,則此未必暗示必須經由完全相同的鏈路或甚至相同類型之網路來發送所有此等資料片段。
旁側通道107可包含安全通道,該安全通道使用已知的安全通訊技術以使得能夠進行諸如愛麗絲及鮑勃之多方之間的安全、私密的鏈外通訊。舉例而言,該安全通道可基於在經由安全通道通訊之多方之間共用的共用秘密。可使用此通道以例如在驗證方103V與目標方103T之間通訊,以便使得驗證方103V能夠將質詢提交至由目標方持有的PUF 302/500,且收回對應回應。 5. 基於區塊鏈之 PUF 身分認證
如前述章節中所提及,充當回應記錄之回應資料可儲存於公共區塊鏈上而非使用受信任第三方系統602。回應資料為在設置時判定之資料,且稍後可由驗證方103V (「鮑勃」)使用以測試目標方103T (「愛麗絲」)對目標身分的認證。再次應注意,愛麗絲及鮑勃僅為任意標籤,且愛麗絲及鮑勃在此處之角色未必與在章節4中給出之區塊鏈系統之一般綜述中相同(其中鮑勃支出了愛麗絲之交易的輸出)。
如前述所論述,給定CR對{Ci, Ri}之回應資料(儲存於鏈上抑或別處)可包含如在設置階段702中判定且儲存以供驗證方103V未來參考的以下各者中之任一者: i)      質詢Ci及/或回應Ri之明確值(以明文或加密形式),或 ii)     連結至主質詢Cm之回應Ri的明確值,自該主質詢可導出各別回應Ri之特定質詢Ci,或 iii)    回應Ri之認證(例如,雜湊或雙雜湊)連同質詢Ci之明確值,或 iv)    連結至主質詢Cm之回應Ri的認證(例如,雜湊或雙雜湊),自該主質詢可導出各別回應Ri之特定質詢,或 v)     自回應Ri導出之公開-私密金鑰對中的公開金鑰。
如圖9中所展示,無論採用何種形式,在設置階段702中,此回應資料901皆可儲存於記錄於區塊鏈150上之交易152S的輸出203中。此在下文中可被稱作儲存交易。其可例如使用上文在章節4中所論述之技術記錄於鏈上,再次應注意,彼章節中之愛麗絲未必為目標方103T,且彼章節中之鮑勃未必為驗證方103V-實際上,目標方103T,現被稱作愛麗絲,可為制訂及發出待記錄於鏈上之儲存交易152S的一方。作為另一實例,受信任第三方可藉由包括在設置時產生之回應資料901來制訂供目標方103T完成之儲存交易之範本,且接著轉遞以記錄於鏈上。目標部分103T可將儲存交易152S直接發送至區塊鏈節點104中之一者以經由區塊鏈網路106傳播,或可經由諸如受信任第三方之另一方間接地發送儲存交易。作為又一實例,目標方103T可將其回應資料901發送至受信任第三方以供受信任第三方制訂成儲存交易152且發出以記錄於鏈上。
回應資料901可儲存於儲存交易152S之不可支出輸出中。例如,若使用指令碼協定,則可藉助於OP_RETURN或OP_FALSE接著OP_RETURN使此輸出不可支出(在如BTC或BCH之一些區塊鏈協定中,OP_RETURN之任何包括使輸出不可支出,而在如BSV之其他協定中,需要OP_FALSE及OP_RETURN二者以使輸出不可支出)。BTC (比特幣)、BTC (比特幣現金)及比特幣中本聰願景(Bitcoin Satoshi Vision;BSV)為較早所描述之區塊鏈系統的不同實例實施。
替代地,回應資料901可嵌入於儲存交易152S之不可支出輸出中。例如,此輸出可藉由包括OP_RETURN而不包括OP_FALSE來保持可支出。作為另一實例,吾人可藉由緊接在OP_DROP程式碼之前包括資料來將資料嵌入於可支出鎖定指令碼中。此將同樣適用於BTC、BCH及BSV。
在實施例中,可儲存給定目標方103T之多個不同CR對{Ci, Ri}之集合的回應資料901。此等資料可儲存於儲存交易152之相同輸出203或不同輸出203中,或相同輸出中之一些及不同輸出中之一些的組合中。其可儲存於相同儲存交易152S中,或不同CR對之回應資料901可儲存於不同儲存交易152S中,或相同交易中之一些及不同交易中之一些的組合中。
應注意,鏈上儲存未必限於基於帳戶之模型。在替代部署中,回應資料901可儲存於基於帳戶之模型的一或多個交易之一或多個智慧型合約中。
在驗證階段704中,當驗證方103V希望驗證目標之身分時,其接著存取區塊鏈150,以便自儲存交易152S獲得對應於一個特定CR對之回應資料901。在實施例中,此向驗證方103V給予對應於特定質詢Ci之回應Ri或彼回應Ri之認證(例如,雜湊或雙雜湊)。驗證方103V亦將質詢Ci提交至目標方103V,且作為回應,收回目標方103T (或其裝置)藉由將接收到之質詢Ci輸入至PUF模組603而產生的(聲稱)回應R'i。驗證方103V接著比較傳回之回應R'i與自鏈上之儲存交易152S擷取的版本,或將相同轉變(例如,H(R'i)或H 2(R'i))應用於接收到之用於認證的回應,且比較此與自鏈上之儲存交易152S擷取的認證。無論如何,若比較給出匹配,則目標經驗證。
驗證方103V可經由區塊鏈網路106之節點104中之一者或替代地藉由自任何外部方獲得回應資料來存取區塊鏈150,該外部方亦可提供在區塊鏈中包括彼資料(亦即,交易)之默克爾證明。
在回應資料901儲存於諸如區塊鏈150之公佈媒體上的實施例中,可能需要實際回應值Ri自身未被公開地或無限制地揭示。否則,任何惡意方皆可查看鏈上之Ri,且接著在受到Ci質詢時假裝為目標方103T。實情為,因此,可較佳僅儲存Ri之認證(例如,H(Ri)或H 2(Ri))作為保存於鏈上之回應資料901,或儲存Ri之明確值但以加密形式儲存。或在一些狀況下,認證可以加密形式儲存於鏈上。
在潛在地存在多個驗證方之狀況下,以加密形式儲存Ri或其認證使得目標方103T或受信任第三方能夠控制哪些驗證方103V能夠獲得對應於CR對中之哪一者的儲存資料901。此可藉由僅將用於回應資料901之某一片段的解密金鑰給予給定驗證方及僅將用於回應資料901之另一片段的解密金鑰給予另一驗證方金鑰來達成。解密金鑰之分發可藉由目標方103T或受信任第三方來系統管理。各驗證方或驗證方子集被給予其自身的一或多個解密金鑰之子集,以用於存取回應資料901 (例如,CR對)之片段的各別子集。較佳地,該等子集彼此排斥。然而,在其他實施中,該等子集可重疊(例如,同一組織內的不同群組可存取CR對之重疊子集)。
作為此情況之變體,若回應資料901 (例如,CR對)儲存於第三方系統602中而非鏈上,則替代(或以及)分發解密金鑰,可使用其他手段來確保各驗證方僅存取其自身的CR對(或更一般而言,回應資料)之子集。例如,受信任第三方系統602可針對各驗證方而維護密碼保護帳戶,需要驗證方登入該帳戶以存取其質詢且該帳戶僅允許驗證方存取其自身的CR對。
此類方案可能有利於安全。若待向一個驗證方103V揭示給定CR對之回應Ri,則可能需要同一CR對不用於另一驗證方103V。否則,第一驗證方103V可使用現已知的回應Ri來向另一驗證方假裝其為目標方103T。然而,若信任可存取回應資料901之所有潛在驗證方103V,則採用步驟來防止此情形並非必需的。
在其他變體中,儲存於鏈上之回應資料901可採用目標方103T之公開金鑰的形式,該公開金鑰為在設置時基於對應回應Ri (例如,將其用作種子)產生之公開-私密金鑰對中的公開金鑰。在此狀況下,驗證方103V自儲存交易152S存取公開金鑰,且使用該公開金鑰驗證由目標方103T用對應私密金鑰進行簽署的訊息。在一些狀況下,公開金鑰可以加密形式儲存於鏈上,使得可分配不同公開金鑰以供不同驗證方103V使用。
亦如圖9中所展示,在使用輸出(例如,基於UTXO之)模型的實施例中,接著可利用此輸出模型來提供用於管理CR對(或自其導出之金鑰)之高效機制。此處,管理可包含例如一旦已取用CR對或金鑰(用於驗證中),便更新或撤銷該CR對或金鑰。
為進行此操作,將新的修改者交易152M記錄於區塊鏈150上。其具有指向儲存交易152S之輸出203中之一者的輸入202,在該輸出中儲存待撤銷或更新之回應資料901的片段。此可被稱作「支出」、「兌換」或「指派」彼輸出(但應注意,此未必暗示貨幣價值之轉移)。此在由驗證方103V辨識之第2層協定之層級理解為意謂不再使用所指向之儲存交易152S或輸出203中的回應資料901。若修改者交易152M自身在其自身輸出中之一者中含有回應資料901',則此被視為表示:新回應資料901'表示先前回應資料901之替換(例如,新CR對)。若驗證方存取區塊鏈150以尋找供用於驗證操作中之回應資料,則其將使用經更新版本901'而非替換版本。另一方面,若修改者交易152U不含替換回應資料901,則簡單地撤銷其所指向的儲存交易152S或輸出203中之回應資料901。
在一些實施例中,回應資料901嵌入於儲存交易152S之可支出輸出中,且可藉由支出(亦即,指派或兌換)儲存回應資料901 (例如,CR對)之特定輸出203來撤銷或更新。在一些此等實施例中,對應於不同CR對之回應資料901的不同片段可儲存於同一儲存交易203之個別輸出203中且個別地經撤銷或更新。
在其他實施例中,回應資料901儲存於儲存交易152S之不可支出輸出中,且可藉由支出(亦即,指派或兌換)儲存交易152S之不同可支出輸出來撤銷或更新。在一些此等實施例中,對應於多個不同CR對(儲存於相同或不同的不可支出輸出中)之儲存資料901的多個片段可藉由支出同一交易152S之同一可支出輸出來撤銷或更新。
作為實例使用案例,對應於CR對之回應資料901的片段之記錄一旦已取用,亦即,用於驗證中,便可被撤銷或更新。無論回應資料901為Ri之明確記錄抑或認證抑或自Ri導出之公開金鑰,此情形皆可適用。無論如何,出於安全原因,此可為有利的,此係因為現已釋放至世界上之回應資料不再可用。
修改者交易152M可藉由目標方103T制訂及發送以記錄於鏈上。其可直接發送至區塊鏈節點104以傳播,或經由中間方間接發送至節點104。替代地,受信任第三方可發送範本交易以供目標方完成(例如,藉由簽署及/或添加替換回應資料901')且接著直接地或間接地轉遞至節點104上以記錄於鏈上。作為另一種可能性,受信任第三方可制訂修改者交易152M (可能基於範本或自目標部分103T發送之一些資料,例如包含替換回應資料901'),且接著受信任第三方可將修改者交易152M發送至節點104以記錄於鏈上。應注意,所有此等選項亦可適用於儲存交易152S記錄於區塊鏈150上之方式。
根據上文所論述之各種概念,因此提供一種用於進行以下操作之系統:i)將身分(或其他相關資訊,諸如公開金鑰)連結至UTXO,且使用此UTXO之支出狀態作為用於身分憑證之有效性的代理;以及ii)建立一組交易以執行高效身分管理操作,諸如設置、撤銷、更新及驗證。程序更高效,因為通訊之數目減少了,此係因為所有各方可諮詢區塊鏈以查看CRP何時被取用或身分被撤銷,而非所有各方皆需要一直彼此通訊。
如前述所呈現,此類技術可例如用於藉由最小化對用於處置用於驗證中之CRP資料的第三方KYC (瞭解你的客戶)提供者之依賴來擴展用於將身分連結至PUF裝置的架構。此目標可藉由用公共區塊鏈部分地替換KYC提供者之角色,或確切而言替換一些功能來達成,由此使用者可獨立於任何第三方而例項化其自身的與ePUF裝置相關之身分憑證。
受信任第三方在身分系統中之角色未必被完全回避,但無論如何,可改善身分管理之程序使得至少減少受信任第三方在程序中的涉及以及其相關負擔。 5.1. PUF 身分連結至 UTXO 集合
區塊鏈之使用可改善身分系統(諸如,在先前章節中所論述之彼等系統)之第一態樣係藉由使用公共區塊鏈之 未支出交易輸出集合 (UTXO 集合 )來管理與PUF身分相關之CRP。
在此章節中,揭示二個相異的實例機制,其用於將CRP映射至UTXO集合之成員且使用如「支出」或「未支出」狀態之其狀態作為各特定CRP是否已在身分驗證程序中取用的指示。第一機制涉及將CRP資料 嵌入可支出UTXO中,且第二機制涉及將其與可支出UTXO 配對。在任一狀況下,與CRP或所討論身分相關之額外資料亦可任擇地包括於系統中。
5.1.1. 嵌入可支出 UTXO 第一機制為將CRP繫結至可支出UTXO,其為含有條件可由未來輸入滿足之指令碼且因此可由未來支出交易取用的交易輸出。 存在用於實施此嵌入之許多不同選項,但出於吾人的目的,此一般將至少由以下鎖定指令碼組成: [Checksig
Figure 02_image141
] OP_RETURN <Rep(
Figure 02_image143
)> 其中[Checksig
Figure 02_image141
]為標準的支付公開金鑰雜湊(P2PKH)鎖定指令碼,且Rep(
Figure 02_image143
)為特定質詢-回應對
Figure 02_image009
之表示。
此鎖定指令碼可簡單地藉由在支出交易上提供有效簽章
Figure 02_image145
來解除鎖定,其中該簽章被視為對公開金鑰
Figure 02_image141
有效。應注意,在驗核支出交易時,將不會考慮在作業碼OP_RETURN之後的任何資料,且因此相對於區塊鏈驗核者,此資料可被視為任意且無格式的。
以上指令碼中在OP_RETURN程式碼之後的資料為質詢-回應對
Figure 02_image009
之表示Rep(
Figure 02_image143
)。取決於所討論之使用案例,可以各種方式進行此表示。然而,合理實例將為使用僅擁有PUF之證明者愛麗絲已知的金鑰
Figure 02_image147
來加密CRP。在此狀況下,吾人可具有以下表示中之任一者: Rep(
Figure 02_image143
)
Figure 02_image149
Encrypt
Figure 02_image151
, Rep(
Figure 02_image143
)
Figure 02_image149
Encrypt
Figure 02_image153
, Rep(
Figure 02_image143
)
Figure 02_image149
Encrypt
Figure 02_image155
此等表示將允許愛麗絲稍後分別擷取或證明包括於其UTXO中的質詢、回應或CRP。
額外指令碼負擔 可擴展先前所展示之基本鎖定指令碼以便在未來支出輸出之輸入指令碼上包括額外條件。此額外條件之合理實例將為以下指令碼: [Checksig
Figure 02_image141
][Hash Puzzle
Figure 02_image131
] OP_RETURN <Rep(
Figure 02_image143
)> 其中[Hash Puzzle
Figure 02_image131
]= OP_HASH160 <
Figure 02_image157
> OP_EQUAL。應注意,可使用其他雜湊函數作業碼。除提供公開金鑰
Figure 02_image141
之有效簽章以外,此經修改指令碼現亦需要支出者揭露質詢
Figure 02_image073
之雜湊。此處的想法為:在一些情境中,此可用作支出者知曉又與所討論之質詢
Figure 02_image073
相關之資訊
Figure 02_image157
的知識證明。
交易模型 鑒於已決定待使用之交易鎖定指令碼的確切結構,可接著作出關於如何將含有此等指令碼之交易結構化為認證儲存、認證及管理CRP之方式的選擇。
本文中揭示以一對一方式將CRP及相關聯鎖定指令碼映射至UTXO。換言之,含有此指令碼之各UTXO將對應於與特定PUF裝置相關之恰好一個CRP。
接著存在關於如何將此等UTXO組織至交易中之幾個選項。最可能的選項如下: 1.       每交易一個CRP。 2.       每交易一個CRP集合。 3.       每交易一個PUF。
第一選項在一些狀況下可適用,諸如適用於極不頻繁使用之PUF,諸如用於更新意願(will),且具有多個CRP彼此並不明顯地連結的益處。此在需要極端隱私之情形中亦可能有用,此係因為一個CRP之取用及揭露可獨立於任何其他者而揭露。
下表1中之交易為第一選項之實例實施。可見,該交易僅包含單個輸入及輸出,且因此各CRP將含於不同交易中。當支出其輸出時,除用於稽核目的以外,此交易與身分系統之相關性亦被有效地終止。
Figure 02_image159
輸入 輸出
輸出點 指令碼 指令碼
Figure 02_image161
Figure 02_image163
 
Figure 02_image165
Figure 02_image167
 BSV
[Checksig
Figure 02_image169
] OP_RETURN <Rep(
Figure 02_image171
)>
表1:單個CRP映射至單個交易中之UTXO。
對於CRP取用之預期頻率顯著較高的使用案例,諸如銀行卡,可能更需要許多CRP各自映射至單個交易中之各別UTXO的第二選項。下表2中之交易展示可如何達成此選項。
應注意,有可能已由愛麗絲產生之輸入簽章可對整個輸出集合進行簽署。此提供自一個公開金鑰
Figure 02_image111
至許多UTXO及因此許多CRP之一對多連結,同時維持UTXO至相異CRP自身之一對一映射。亦假設各輸出/CRP具有其自身的相關聯公開金鑰(全部由愛麗絲擁有)以避免重複使用。
Figure 02_image173
輸入 輸出
輸出點 指令碼 指令碼
Figure 02_image161
Figure 02_image163
 
Figure 02_image165
Figure 02_image167
 BSV
[Checksig
Figure 02_image169
] OP_RETURN <Rep(
Figure 02_image171
)>
Figure 02_image167
 BSV
[Checksig
Figure 02_image175
] OP_RETURN <Rep(
Figure 02_image177
)>
Figure 02_image167
 BSV
[Checksig
Figure 02_image179
] OP_RETURN <Rep(
Figure 02_image181
)>
...
Figure 02_image167
 BSV
[Checksig
Figure 02_image183
] OP_RETURN <Rep(
Figure 02_image185
)>
表2:CRP集合映射至單個交易之各別UTXO
上文所展示之選項亦可與隨時間更新CRP集之實施例良好地整合,其中每次產生經更新集合時,皆可針對彼集合發出新交易。此外,吾人亦可經由並列的獨立(亦即,鏈上不相關)交易針對同一PUF同時產生及發出多個不同CRP集合。此對與多個不同受信任第三方(例如,不同銀行)建立身分可為有用的,使得該等身分皆經獨立地建立但仍由同一PUF錨定。
第三選項,其中單個交易用於表示單個PUF,僅為選項2之更具限制性的版本,其中更新為不可能的。此可適用於含PUF裝置被給予特定「壽命」之狀況,其中在向使用者發放新裝置之前,該含PUF裝置可僅用於預定數目次鑑認。 5.1.2. 與可支出 UTXO 配對
將CRP嵌入可支出UTXO內之替代例為簡單地將其與此等輸出 配對。在此狀況下,與現有數位憑證工作的差異在於,交易可由愛麗絲建構及簽署,此係因為其可能希望獨立於任何第三方對身分進行認證。
Figure 02_image173
輸入 輸出
輸出點 指令碼 指令碼
Figure 02_image161
Figure 02_image163
 
Figure 02_image165
Figure 02_image167
 BSV
OP_DUP OP_HASH160
Figure 02_image187
 OP_EQUALVERIFY OP_CHECKSIG
0 BSV OP_0 OP_RETURN <Rep(
Figure 02_image171
)>
Figure 02_image167
 BSV
OP_DUP OP_HASH160
Figure 02_image189
 OP_EQUALVERIFY OP_CHECKSIG
0 BSV OP_0 OP_RETURN <Rep(
Figure 02_image177
)>
...
Figure 02_image167
 BSV
OP_DUP OP_HASH160
Figure 02_image191
 OP_EQUALVERIFY OP_CHECKSIG
0 BSV OP_0 OP_RETURN <Rep(
Figure 02_image185
)>
表3:含有映射至CRP之可支出UTXO的交易。
在上圖中可見含有與
Figure 02_image015
個CRP相關之
Figure 02_image193
個輸出的實例交易,由此各可支出輸出可映射至CRP中之一者,且CRP表示自身已包括於對應的不可支出輸出(例如,OP_FALSE OP_RETURN)中。亦應注意,此處類似地應用將CRP組織至交易及UTXO中之三個可能變體。 5.1.3. 論述
CRP 管理之益處:將CRP映射至UTXO之概念可顯著改善先前章節之身分協定之使用者的CRP管理及處置。優點為:吾人可將CRP之儲存及查找部分地卸載至區塊鏈網路106及可促進自其之可靠擷取的服務提供者。
藉由將特定PUF之所有「即時」 CRP映射至UTXO,可藉由查詢UTXO集合之狀態以獲得關於當前可用於身分系統中之給定PUF之CRP的準確資訊來改善CRP更新程序。 利用吾人已描述之區塊鏈及UTXO-CRP映射慣例的簡單程序之實例如下:
1. 愛麗絲獲得PUF裝置且將CRP集合列舉為
Figure 02_image195
。 2.   愛麗絲產生如表2中所展示之交易
Figure 02_image197
且廣播至區塊鏈網路。 3.   愛麗絲隨時間取用多個CRP以向第三方鑑認其身分。 4.   愛麗絲現希望檢查其是否具有足夠的CRP來涵蓋其接下來一週的預期活動: 1.     愛麗絲查詢區塊鏈節點104或類似SPV之服務提供者,詢問
Figure 02_image197
之哪些UTXO當前未支出。 2.    區塊鏈節點或服務提供者以交易
Figure 02_image197
之仍未支出的輸出之數目作為回應。 5.   若傳回數目不足,則愛麗絲可與其受信任第三方執行身分更新程序,或簡單地為獨立建立身分列舉更多CRP。否則,愛麗絲不採取動作。
嵌入對比配對 將CRP嵌入可支出輸出內抑或簡單地將其與輸出配對的選擇使愛麗絲在區分此等狀況之二個不同益處之間進行選擇。
若CRP嵌入於可支出輸出內,則此激勵區塊鏈節點104,該等區塊鏈節點維護區塊鏈網路106以使得容易獲得此等輸出之資料。此意謂對愛麗絲之查詢的回應可更快,且更重要地,區塊鏈節點更有可能將此等交易輸出之原始資料伺服回給愛麗絲。
若如前述所論述,包括CRP之表示Rep(
Figure 02_image143
)使得其含有質詢、回應或其二者之原始(或混淆)資料,則此意謂愛麗絲將能夠自區塊鏈網路106擷取相關資訊。此允許愛麗絲替換本端儲存,且使用區塊鏈150操作更 輕量級系統,此係因為將資料嵌入可支出輸出中增加了其資料無論如何皆將具有高 可用性的可能性。
相比之下,若CRP僅與可支出輸出 配對,則愛麗絲可僅能夠判定多少CRP可用於其,但未必自比特幣節點擷取表示資料自身。此可意謂若愛麗絲不在本端維護其CRP集合,則其必須諮詢在區塊鏈節點網路106之外的代理。
使用雙雜湊 在上文的實例實施中,展示雙雜湊
Figure 02_image199
可用作一些
Figure 02_image201
之鏈上表示。以此方式使用雙雜湊之原因在於,其允許亦在鏈上揭露單雜湊,原則上就像一方知曉
Figure 02_image203
的知識證明,該知識證明又連接至
Figure 02_image201
此例如在PUF身分情形中可能有用,其中
Figure 02_image131
由愛麗絲在鏈上記錄為可由提供
Figure 02_image157
之第三方滿足的支出負擔,只要愛麗絲已與其共用
Figure 02_image073
之實際值即可。
多方簽署 此章節中詳述之交易可包括來自多個不同方之更多簽章以輔助愛麗絲認證PUF身分,此亦為合理的。舉例而言,可能需要愛麗絲及第三方身分提供者二者對CRP交易之輸入進行簽署,作為改善驗證者對愛麗絲身分之信任的方法。此在會簽者為可認證愛麗絲用於對區塊鏈交易進行簽署之公開金鑰的憑證授權機構的情況下尤其相關。作為僅多個簽章(亦即,「多簽署」)之替代例,多方可例如藉助於臨限簽章或金鑰劃分技術(例如,Shamir秘密共用)而包括於簽署程序中。 5.2. 使用交易之高效身分管理
可結合基於PUF之身分系統(諸如,先前呈現之彼等系統)使用區塊鏈的額外方式係作為撤銷由PUF裝置保護之身分金鑰或符記的高效手段。
在先前的數位憑證管理工作中,已知在鏈上發出及撤銷憑證,且此操作伴隨有對應的憑證驗證程序。考慮當愛麗絲在鏈上認證其基於PUF之身分時很樂意與憑證授權機構協作的情境。愛麗絲為其身分在鏈上註冊憑證之程序如下: 1.       憑證授權機構(CA)驗證愛麗絲之身分。 2.       CA創建憑證交易。此交易具有以下輸入及輸出: a.     輸入:CA之UTXO,其具有含有CA之簽章及公開金鑰的解除鎖定指令碼。 b.     輸出1:P2PKH鎖定指令碼。 c.     輸出2:含有愛麗絲之公開金鑰的OP_RETURN輸出。 3.       交易經廣播,且一旦交易被挖掘,CA便向愛麗絲提供交易ID
Figure 02_image205
此程序最終導致愛麗絲及憑證授權機構協作以產生由CA簽署之交易,該交易含有包括愛麗絲之公開金鑰上之憑證的一個不可支出輸出及CA可用於撤銷憑證之與憑證配對的可支出輸出。
本文中所揭示之實施例使用上文針對數位憑證所概述之方法與建立基於PUF之身分之方法(諸如,較早所描述之方法中之一者)的混合。此處添加至PUF身分系統之元素使得通用的受信任第三方(類似於CA)能夠藉由支出UTXO來「撤銷」CRP或相關公開金鑰。
受信任第三方撤銷愛麗絲之公開金鑰上之憑證的狀況係關於較早所論述之密碼編譯身分建立。
在鏈上儲存或認證CR對(CRP)之狀況下,本文中所揭示之實施例提供一旦CRP用於鑑認程序中便允許受信任第三方將其撤銷之方案。實例方法如下: 1.       愛麗絲及受信任第三方執行身分設置協定(例如,如較早所描述)。 2.       愛麗絲及受信任第三方現希望使用區塊鏈來管理在1中產生或現可在步驟1之後獲得的CRP: a.     愛麗絲創建將CRP映射至交易輸出之CRP映射交易
Figure 02_image197
。此展示於下表4中。 b.    愛麗絲及受信任第三方二者對
Figure 02_image197
進行簽署 3.     CRP映射交易
Figure 02_image197
在區塊鏈區塊中廣播及公佈。
Figure 02_image173
輸入 輸出
輸出點 指令碼 指令碼
Figure 02_image161
Figure 02_image163
 
Figure 02_image165
Figure 02_image207
 
Figure 02_image209
Figure 02_image167
 BSV
[Checksig
Figure 02_image211
] OP_RETURN <Rep(
Figure 02_image171
)>
Figure 02_image167
 BSV
[Checksig
Figure 02_image211
] OP_RETURN <Rep(
Figure 02_image177
)>
Figure 02_image167
 BSV
[Checksig
Figure 02_image211
] OP_RETURN <Rep(
Figure 02_image181
)>
...
Figure 02_image167
 BSV
[Checksig
Figure 02_image211
] OP_RETURN <Rep(
Figure 02_image185
)>
表4: 允許受信任第三方進行 CRP 撤銷 / 取用之 CRP 映射交易
在此程序中創建之映射交易展示於上表4中。此與先前在表2中所展示之CRP映射交易非常類似,其中差異在於受信任第三方及愛麗絲二者對輸入進行簽署,且映射至CRP之UTXO中之各者可藉由受信任第三方在未來交易中支出來撤銷。
此為有利的,此係因為其允許在無直接通訊之情況下處置CRP之撤銷,且TTP可代表使用者執行撤銷,此進一步減少愛麗絲在系統中之負擔且允許其身分管理變得甚至更輕量級。 6. 鑑認運算
本揭露內容提供一種系統及方法以及對應軟體,其用於使得能夠驗證聲稱已執行運算之目標方之身分,諸如在分散式運算情境中。
圖10展示可藉由目標方103T (稍後亦被稱作「工作者」)使用彼方之電腦裝備102T以使得能夠鑑認運算結果之方式執行運算而執行的方法。在本文中,鑑認運算之結果意謂驗證聲稱已執行運算之目標方之身分。
在步驟1010處,目標方103T至少獲得自藉由PUF模組603產生之回應導出的公開-私密金鑰對中之私密金鑰。PUF模組603可僅包含PUF 302,或包含PUF 302之基於擴展PUF之功能,諸如ePUF 501,如先前所論述。無論如何,回應係藉由PUF模組603使用PUF 301產生,此取決於輸入至PUF模組之質詢。公開-私密金鑰對包含私密金鑰及對應公開金鑰,該公開金鑰可用以驗證藉由使用私密金鑰對訊息進行簽署而創建的簽章。
在實施例中,目標方獲得公開金鑰及私密金鑰二者,例如此係因為金鑰對係在目標方之電腦裝備102T處產生,或其係由第三方(例如,較早所提及之第三方系統602)產生且發送至目標方103T。
使公開金鑰可用於驗證方103V。存在可實施此目標之多種方式。舉例而言,在實施例中,公開金鑰可儲存於驗證方103V可存取之公開金鑰儲存媒體中。例如,所討論之資料儲存媒體可實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。此可為較早所提及之第三方裝備602中之資料存放區601,或同一或不同第三方之分離系統。作為另一實例,使公開金鑰可用於驗證方103V所經由的資料儲存媒體包含同級間公佈媒體,諸如區塊鏈,其可為與較早所提及之區塊鏈相同的區塊鏈150或不同區塊鏈。公開金鑰可藉由目標方103T或代表目標方103T之受信任第三方(例如,第三方系統602之操作者)儲存於公開金鑰儲存媒體中。在區塊鏈之狀況下,「儲存」可意謂發送以由節點104儲存。
在其他替代例中,可將公開金鑰直接發送至驗證方103V,例如藉由經由諸如網際網路或行動蜂巢式網路之網路傳輸至驗證方103V。公開金鑰可藉由目標方103V或再次藉由代表目標方之第三方(例如,系統602之操作者)發送至驗證方103V。
在目標方接收運算請求之前的設置階段中,可執行公開金鑰之獲得,且使公開金鑰可用於驗證方。在由PUF模組603產生之回應用於產生金鑰對的狀況下,此設置階段可為較早所描述之設置階段702。
PUF模組603可在受信任第三方(例如,較早所論述之第三方系統602之操作者)之控制下(例如,為受信任第三方所擁有),該受信任第三方為目標方103T產生公開-私密金鑰對且至少將公開金鑰發送至目標方103T (例如,經由諸如網際網路或行動蜂巢式網路之網路,或藉由在實體上發送硬體鎖或其類似者)。
作為此情形之變體,公開金鑰之該獲得可包含:目標方103T自受信任第三方接收回應R,該受信任第三方已將質詢輸入至PUF模組603中以代表目標方103產生回應;及目標方103T接著在目標方之裝備102T處基於如自受信任第三方接收到之回應而產生公開-私密金鑰。
所討論之第三方可為使私密金鑰可用於目標方103T之同一第三方,或不同第三方。
或作為另一選項,PUF模組603可在發出方或驗證方103V之控制下(例如,為發出方或驗證方所擁有),該發出方或驗證方可將質詢輸入至PUF模組603以產生回應。發出方或驗證方可導出公開-私密金鑰對且將公開金鑰發送至目標方103T,或可將回應發送至目標方103T以供目標方103T導出公開-私密金鑰對。
在其他替代實施中,PUF模組603可在目標方103T之控制下(例如,為目標方所擁有),該目標方自身產生公開-私密金鑰對。在此狀況下,公開金鑰之該獲得包含:目標方103T自身執行質詢至PUF模組603之輸入,以便在本端產生回應且導出公開私密金鑰對。
在一些此等實施例中,目標方之電腦裝備102T可採用獨立目標裝置之形式。PUF模組603可與目標裝置102T併入同一外殼中,或PUF模組603可實施於藉由纜線而非網路連接至目標裝置102T之外部周邊裝置中。
在步驟1020處,目標方103T自發出方(例如,調測根據運算支付系統中之運算的一方)接收運算請求。發出方可為驗證方103V,或驗證方103V所代表之不同方。支付的發出方稍後亦被稱作外包商。
為接收運算請求,在實施例中,目標方103T可能必須存取電子廣告媒體以主動地輪詢所廣告請求。廣告媒體可實施於第三方伺服器裝備中,例如較早所描述之第三方裝備602的資料存放區601;或其可為同級間公佈媒體,諸如區塊鏈(例如,較早所描述之區塊鏈150)。電子廣告媒體可為與用於儲存公開金鑰及/或私密金鑰及使其分別可用於驗證方103V及目標方103T之儲存媒體相同的儲存媒體,或其可為不同媒體。
在另一變體中,發出方可將運算請求推送至目標方103T而目標方不必輪詢廣告媒體。例如,發出方可將請求廣播至包括目標方103T之多個潛在工作者,或可將目標請求特定地發送至目標方103T。
無論以何種手段接收到運算請求,在實施例中,目標方103T皆可將應答發送回至發出方以確認目標方103T已接受請求且將執行所請求運算。
在步驟1030處,目標方103T (在其電腦裝備102T上)執行在運算請求中指定之運算。此實際上可為如所討論之應用程式所需的任何運算,例如搜尋外星生命,或複雜數學問題之解決方案,或諸如癌症等之醫學病況的治療。該運算可為更廣泛的分散式運算應用程式之部分,其中目標電腦裝備102T僅為更廣泛運算中所涉及的多個不同方之多個電腦裝備中之一者,該所請求運算為該更廣泛運算之組成部分。
在步驟1040處,目標方103T對包含運算結果之訊息進行簽署。該訊息係用前文所提及之私密金鑰進行簽署。在一些實施例中,經簽署訊息亦可包含額外資訊,例如指示執行運算(例如,完成運算)之時間的時戳。在實施例中,經簽署訊息可包含待記錄於區塊鏈150上之區塊鏈交易的部分或全部。
訊息之簽署包含將訊息及私密金鑰輸入至密碼編譯簽署演算法中,該密碼編譯簽署演算法基於訊息及私密金鑰而產生簽章。此有時被稱作在訊息「上」進行簽署。此類演算法之各種實例自身在此項技術中為已知的。接著將簽章標誌至訊息上以形成訊息之經簽署版本。
在實施例中,目標方103T可對運算結果進行加密。此可包含僅對運算結果或對整個訊息(若該訊息不僅僅包含結果)進行加密。該加密可在簽署之前或之後應用。無論如何,加密皆係使用加密金鑰執行且需要對應解密金鑰來進行解密。各種合適的加密演算法自身在此項技術中為已知的。解密金鑰可為:對稱加密金鑰之金鑰,藉此加密金鑰及解密金鑰為同一金鑰(例如,AES);或不對稱方案之解密金鑰,藉此加密金鑰及解密金鑰不同(例如,RSA)。
在此等實施例中,自目標方103T或第三方(例如,第三方系統602之操作者),使解密金鑰可用於驗證方103V及/或發出方。在後一狀況下,此可為與執行所揭示方法之任何其他第三方操作之一方相同或不同的第三方。可經由解密金鑰儲存媒體(例如,第三方伺服器或同級間媒體,諸如區塊鏈)使解密金鑰可用於驗證方103V及/或發出方,或可將其直接發送至驗證方103V。在前一狀況下,此可為與用於私密金鑰、公開金鑰及/或廣告的媒體相同或不同的媒體。
在實施例中,驗證方及/或發出方可為唯一可存取解密金鑰之一或多方。替代地,其可為具有解密金鑰之多方的受限群組之一或多個成員。
在實施例中,可藉由將另一質詢輸入至PUF模組603中(與用於產生用於簽署之金鑰不同的質詢)來導出對稱加密/解密金鑰或不對稱金鑰對。此可藉由目標方103T、驗證方103V、發出方或受信任第三方執行。
在步驟1050處,輸出經簽署訊息以使其可用於驗證方103V (且在實施例中,亦可用於發出方,其可為同一方或不同方)。存在用於進行此操作之數種可能機制。在實施例中,目標方103T可簡單地將經簽署訊息直接傳輸至驗證方103V (且視情況,若為不同方,則亦傳輸至發出方),例如經由諸如網際網路或行動蜂巢式網路之網路。替代地,目標方103V可將經簽署訊息儲存(或使得儲存)於驗證方103V可存取(且視情況,若為不同方,則發出方亦可存取)之資料儲存媒體中。此資料儲存媒體可實施於第三方伺服器裝備(包含一或多個實體站點處之一或多個伺服器單元)中,例如較早所描述之第三方系統602的資料存放區601。或用於傳送經簽署訊息之資料儲存媒體可為公共的同級間媒體,諸如區塊鏈,例如較早所描述之區塊鏈150。無論如何,此可為與用於傳送廣告、公開金鑰及/或加密金鑰中之任一者的媒體相同的儲存媒體,或為不同媒體。在區塊鏈之狀況下,「儲存」可意謂發送以儲存於區塊鏈上,藉由直接發送至區塊鏈網路106之節點104或經由轉遞至節點上之一或多個中間方。
亦應注意,若驗證方103V及發出方(發出運算請求之一方)為不同方,則將經簽署訊息或運算結果傳達至發出方之手段不一定與用於將經簽署訊息傳達至驗證方之手段相同。或驗證方103V可將經簽署訊息或運算結果轉遞至發出方,或反之亦然。在另外其他變體中,目標方103T可將經簽署訊息或運算結果發送至又一取用方,該取用方為運算結果之取用者。
無論驗證方103V以何種手段獲得經簽署訊息及公開金鑰,驗證方103V可接著使用公開金鑰鑑認經簽署訊息(亦即,藉由測試訊息係使用對應於所討論之公開金鑰的私密金鑰進行簽署來驗證簽署者之身分)。用於進行此鑑認之各種合適的簽章鑑認演算法自身在此項技術中為已知的。在實施例中,驗證方可在鑑認之條件下(亦即,在驗證訊息係由目標方103T進行簽署之條件下)釋放向目標方之支付。作為另一替代或額外實例,在鑑認之情況下,驗證方103可僅將運算結果轉遞至發出方或取用方,或可僅將其包括於經核實回應之集合中。
在一個特定實施例中,目標方103T藉由將經簽署訊息包括於範本區塊鏈交易中及將範本交易發送至驗證方103V而將經簽署訊息傳達至驗證方103V。經簽署之訊息可包含範本交易之部分或全部。例如,運算結果可包括於目標交易之酬載中且接著目標方103T對範本交易進行簽署,或訊息可為經簽署且包括於範本交易之酬載中的更小內容(例如,僅為運算結果,或結果及時戳)。無論如何,當驗證方103V接收此訊息時,其接著驗證簽章,且在其條件下完成範本交易並轉遞該範本交易以記錄於區塊鏈150上。完成交易可包含至少添加驗證方103V之簽章。驗證方103V可將完成交易直接或經由轉遞至區塊鏈網路106上之一或多個中間方發送至區塊鏈網路之節點104。
應注意:儘管上文已關於不對稱公開-私密金鑰對進行描述,但此並非限制性的。更一般而言,本文中對公開金鑰及私密金鑰之任何提及可一般化為任何不對稱或對稱鑑認方案之密碼編譯金鑰。在簽署之狀況下,「公開金鑰」可包含不對稱公開-私密金鑰對中之公開金鑰或對稱鑑認方案之金鑰;且在驗證簽章之狀況下,「私密金鑰」可分別包含不對稱公開-私密金鑰對中之對應私密金鑰或對稱方案之相同金鑰。
用於簽署之「金鑰對」應擴展至「密碼編譯金鑰」以允許不對稱及對稱簽章方案。
在實施例中,所描述之技術可用於外包運算。舉例而言, 邊緣運算之概念自身在分散式網路及系統之內容背景中為熟知的,在邊緣運算中,需要大量運算資源之運算任務經委派且分散在許多 工作者實體當中。此在文獻中亦常常被稱為「 網格運算」或「 霧運算」。
此類型之外包運算亦通常在根據運算支付基礎上分散於工作者實體當中,以便對工作者將其運算資源貢獻給任務進行補償。將支付自 外包商引入至外包運算呈現二個挑戰: 1.       惡意工作者可能會嘗試提交不正確的運算以獲得利益;以及 2.       惡意外包商可能會忽視針對正確運算向誠實工作者進行支付。
已提議各種方案來解決此等問題,但許多方案限於特定類型之運算任務。此外,已在先前的工作中提議使用基於區塊鏈之支付系統來遞送支付。
在本文中所揭示之實施例中,提供使用區塊鏈150作為用於調節此類外包運算之基礎的技術,其中引入PUF裝置之使用作為將裝置身分繫結至正執行之運算的手段。此處的意圖為將證據及身分連結添加至此等操作以抑制惡意工作者及外包商之不誠實動作。 6.1 實例協定
如所論述,PUF裝置可用於完成作為邊緣運算應用之部分而執行的運算。此處的想法為亦需要負責運算所指派之運算結果的裝置來使用自PUF回應導出之密碼編譯金鑰對運算結果進行簽署。
此確保由在此狀況下為啟用PUF功能之裝置的工作者執行之運算的結果以密碼編譯方式連結至工作者裝置自身之身分。此允許以改善之可稽核度及透明度實施邊緣運算,此係因為所運算結果上之簽章在外包商與工作者之間具有爭議之狀況下可用作證據。
運算結果由裝置進行簽署之事實抑制工作者提供不正確的支付結果,此係因為此等不正確結果現將由可連結至在運算期間使用之裝置的金鑰進行簽署。
此外,此情形給予外包商的法律保證可允許其更快速地提供運算支付,而無需驗證運算自身之正確性,或需要等待多個不同工作者確證由第一工作者給出的解。此部分地係因為外包商能夠驗證結果上之簽章,即使其不能夠驗證結果自身亦如此。
如下給出用於在邊緣運算情境中使用PUF裝置之實例程序: 1.      外包商廣告工作
Figure 02_image213
。 2.      工作者接受工作*且在啟用PUF之裝置上運算解/結果
Figure 02_image215
: i.    藉由裝置運算結果
Figure 02_image215
。 ii.   基於PUF裝置之回應而產生簽署金鑰
Figure 02_image217
。 2.      在結果上產生簽章
Figure 02_image219
。 3.          工作者建構含有以下各者的比特幣交易: i.    結果之表示,例如純文字
Figure 02_image215
或使用PUF回應**進行加密。 ii.   結果上之簽章
Figure 02_image219
。 iii.  支付給工作者之支付輸出。 4.          工作者將部分簽署之交易發送至外包商。 5.          外包商對交易進行簽署以完成交易且作為運算支付廣播至比特幣網路。此僅在以下情況時才發生: i.    外包商能夠驗證簽章
Figure 02_image219
。 ii.    否則,外包商不進行簽署且交易未完成。在逾時時段之後將所抵押資金返回給外包商。
* 「接受工作」可涉及外包商與工作者之間的通訊。其亦可涉及產生需要外包商及驗證者二者之時間鎖定輸出。 ** 亦即,Enc(
Figure 02_image221
)。R無需與用於導出s = H(R)之值相同
上文的協定允許工作者在完成運算後獲得運算支付,且只要其向外包商提供有效簽章,外包商便能夠立即驗核該簽章。
在程序之初始部分中,特定而言在步驟2中,工作者及外包商可能有必要將資金抵押給多簽署(或類似)輸出,其將需要雙方參與簽署以將資金解除鎖定。此可藉由創建工作接受交易
Figure 02_image223
來實現,如下表A中所展示。 此交易將外包商之資金鎖定至需要外包商及工作者二者之簽章才能支出的輸出。作為此情境中之標準程序,其亦應創建根據合適的鎖定時間將資金發送回至外包商的退款交易
Figure 02_image225
Figure 02_image227
(
Figure 02_image229
)
輸入 輸出
輸出點 指令碼 指令碼
Figure 02_image231
Figure 02_image233
 
Figure 02_image235
Figure 02_image167
 BSV
[Checksig
Figure 02_image237
] [Checksig
Figure 02_image239
]
A 可用以發起邊緣運算工作之工作接受交易的實例。
在工作
Figure 02_image213
已初始化之後,工作者自由地工作以尋找解
Figure 02_image215
,其中吾人假設運算由啟用PUF之裝置執行。 一旦裝置已運算出解,則其必須接著產生彼結果上之簽章
Figure 02_image219
應注意,所簽署之訊息必須包括結果
Figure 02_image215
,但另外亦可包括其他資料,諸如時戳或臨時亂數。替代地,經簽署訊息可為含有結果
Figure 02_image215
之區塊鏈交易之部分。
用於對訊息進行簽署的金鑰必須自PUF裝置導出。舉例而言,若簽章為ECDSA簽章,則金鑰
Figure 02_image241
可自PUF對質詢
Figure 02_image071
之某一回應
Figure 02_image073
導出,且可根據定義為
Figure 02_image243
的EC公開金鑰驗證簽章。
工作者接著產生部分完成交易,該部分完成交易包括所運算結果
Figure 02_image215
之表示、結果上之簽章
Figure 02_image219
及為所提供之運算工作向工作者付報酬的輸出。此等部分完成交易必須接著發送回至外包商以完成(亦即,藉由其提供交易上其自身的簽章),以創建
Figure 02_image245
,該交易可接著廣播至區塊鏈網路106。
完成交易
Figure 02_image245
支出先前在步驟2期間抵押給外包商之外包商資金及工作者之公開金鑰。因此,此交易含有至少二個輸入簽章(或取決於至少二個公開金鑰之簽章),其中一個由外包商控制且一個由工作者控制。
結果之表示及結果上之簽章可包括在與向工作者支付之輸出分離的輸出中,諸如包括在OP_FALSE OP_RETURN輸出中。在替代實施中,簽章
Figure 02_image219
及表示可與支付包括於同一輸出中。此外,簽章
Figure 02_image219
可作為輸入簽章被包括,其中交易輸出中之結果的表示為由此輸入簽章進行簽署的訊息之部分。
Figure 02_image247
之二個可能變體分別展示於表B及C中。 在第一狀況下,結果上之簽章作為輸入被包括,且至工作者之支付輸出與結果之經加密版本分離。應注意,此處所使用的加密金鑰亦可自PUF回應
Figure 02_image073
導出,且此無需為用於
Figure 02_image217
之先前產生中的相同回應。
Figure 02_image249
輸入 輸出
輸出點 指令碼 指令碼
Figure 02_image251
Figure 02_image253
 
Figure 02_image255
Figure 02_image257
 
Figure 02_image259
Figure 02_image261
 BSV
OP_O OP_RETURN <Enc(
Figure 02_image263
)>
     
Figure 02_image167
BSV
[Checksig
Figure 02_image237
]
B 含有由負責原始運算之 PUF 進行簽署的 運算結果之交易的實例。此處,簽章為由區塊鏈節點驗證之 ECDSA 簽章。應注意, P work 可為與交易之輸入中之金鑰不同的公開金鑰 ( 亦由 外包商所有 ) 亦即,將存在二個金鑰
Figure 02_image217
Figure 02_image265
以用於增強隱私。
在可能
Figure 02_image245
之第二實例中,結果上之明確簽章包括於輸出中,但輸出與用於向工作者支付之輸出相同。
Figure 02_image249
輸入 輸出
輸出點 指令碼 輸出點 指令碼
Figure 02_image161
Figure 02_image267
 
Figure 02_image255
Figure 02_image257
 
Figure 02_image259
Figure 02_image167
 BSV
[Checksig
Figure 02_image237
]OP_RETURN <Enc(
Figure 02_image263
)> <
Figure 02_image269
C 含有由負責原始運算之 PUF 進行簽署的 運算結果之交易的替代實例。此處,簽章作為額外指令碼資料被包括。 6.2 實例情境
可利用此機制之實例情境為包含多個IoT裝置之家庭安全系統,其中一個裝置為智慧鎖且其他裝置為多個視訊攝影機。
安全系統依賴於智慧鎖基於由視訊攝影機記錄及分析之視訊而作出關於將門鎖定抑或解除鎖定之決策,此通常意謂鎖及視訊攝影機需要由同一實體製造,使得攝影機可經整合以將此運算作為服務提供至智慧鎖。
然而,在此情境中,可能需要藉由允許來自製造商A之智慧鎖結合皆由另一製造商B製得之視訊攝影機使用來改善靈活性。為達成此目的,製造商B之視訊攝影機經組配以俘獲及處理視訊,其中視訊之處理可涉及檢查急劇移動或執行面部辨識,作為在根據運算支付基礎上之製造商A之智慧鎖的服務。
當某人嘗試進入房屋時,智慧鎖將工作提交至視訊攝影機之網路以對門口之人員執行面部辨識。在第一次完成面部辨識任務後,成功進行此操作之視訊攝影機將結果作為經簽署比特幣交易之部分提交至智慧鎖。作為回應,智慧鎖驗證簽章且基於其準確性決定是否將門解除鎖定。
藉由涉及視訊攝影機之網路,此亦允許多個視訊攝影機製造商B、C、D等各自提供攝影機中之一者且競爭第一個執行面部辨識,其中僅驗證第一次成功完成。 7. 結論
一旦給定本文中之揭露內容,所揭示技術之其他變體或使用案例對於熟習此項技術者可變得顯而易見。本揭露內容之範圍不受所描述實施例限制而僅受隨附申請專利範圍限制。
舉例而言,上文的一些實施例已關於比特幣網路106、比特幣區塊鏈150及比特幣節點104進行了描述。然而,應瞭解,比特幣區塊鏈為區塊鏈150之一個特定實例,且以上描述通常可適用於任何區塊鏈。亦即,本發明絕不限於比特幣區塊鏈。更一般而言,上文對比特幣網路106、比特幣區塊鏈150及比特幣節點104之任何提及皆可分別用對區塊鏈網路106、區塊鏈150及區塊鏈節點104之提及來替換。區塊鏈、區塊鏈網路及/或區塊鏈節點可共用如上文所描述之比特幣區塊鏈150、比特幣網路106及比特幣節點104之所描述屬性中之一些或全部。
在本發明之較佳實施例中,區塊鏈網路106為比特幣網路,且比特幣節點104執行創建、公佈、傳播及儲存區塊鏈150之區塊151的所描述功能中之至少全部。不排除可存在僅執行此等功能中之一者或一些而非全部的其他網路實體(或網路元件)。亦即,網路實體可執行傳播及/或儲存區塊而不創建及公佈區塊之功能(前已述及,此等實體不被視為較佳比特幣網路106之節點)。
在本發明之其他實施例中,區塊鏈網路106可能並非比特幣網路。在此等實施例中,不排除節點可執行創建、公佈、傳播及儲存區塊鏈150之區塊151的功能中之至少一者或一些而非全部。舉例而言,在彼等其他區塊鏈網路上,「節點」可用於指網路實體,該網路實體經組配以創建及公佈區塊151,而非儲存及/或傳播彼等區塊151至其他節點。
甚至更一般而言,對上文「比特幣節點」 104一詞之任何提及可用「網路實體」或「網路元件」一詞來替換,其中此實體/元件經組配以執行創建、公佈、傳播及儲存區塊之角色中之一些或全部。此網路實體/元件之功能可以上文參考區塊鏈節點104所描述之相同方式實施於硬體中。
應瞭解,已僅作為實例來描述以上實施例。更一般而言,可提供根據以下陳述項中之任何一或多者的方法、設備或程式。
陳述項1。   一種執行運算之電腦實施方法,該方法包含藉由目標方之目標電腦裝備進行以下操作,該目標電腦裝備為待執行運算之電腦裝備:獲得自藉由PUF模組產生之回應導出的密碼編譯金鑰,該模組包含實體不可仿製之功能PUF,該回應已藉由基於PUF之PUF模組回應於輸入至PUF模組之對應質詢而產生,其中金鑰資訊包含密碼編譯金鑰,或對應公開金鑰亦可用於驗證方;自發出方接收指定待執行之運算的運算請求;回應於運算請求,執行運算以便產生運算結果;使用密碼編譯金鑰對包含運算結果之訊息進行簽署;以及藉由發送經簽署訊息以記錄於區塊鏈上而使經簽署訊息可用於驗證方。
陳述項2。   如陳述項1之方法,其中該發出方為驗證方。
陳述項3。   如陳述項1或2之方法,其中經簽署訊息之發送包含:目標方制訂包含經簽署訊息之範本區塊鏈交易;以及目標方將範本交易發送至驗證方,藉此使驗證方驗證訊息上之簽章,且取決於其,至少藉由使用驗證方之簽章進行簽署來完成範本交易,且轉遞完成交易以記錄於區塊鏈上。
陳述項4。   如陳述項3之方法,其中該訊息包含範本交易之至少部分。
陳述項5。   如陳述項3或4之方法,其中一旦記錄於區塊鏈上,該完成交易便針對運算向目標方支付。
陳述項6。   如陳述項5之方法,其中該完成交易藉由包含指向區塊鏈上之資金交易之輸出的輸入及將來自資金交易之輸出的發出方之至少一些資金指派給目標方的輸出來向目標方支付;其中資金交易之輸出包含逾時條件:若在指定逾時時段之後未指派給目標方,則使得能夠將資金轉移回至發出方。
陳述項7。   如前述陳述項中任一項之方法,其中在目標方接收運算請求之前的設置階段中,執行密碼編譯金鑰之獲得且使金鑰資訊可用於驗證方。
陳述項8。   如前述陳述項中任一項之方法,其中該獲得包含:自發出方、驗證方或受信任第三方接收回應,質詢已藉由發出方、驗證方或受信任第三方代表目標方輸入至PUF模組中以產生回應,且公開-私密金鑰對之產生係基於接收到之回應。
陳述項9。   如陳述項1至7中任一項之方法,其中該獲得包含:自發出方、驗證方或受信任第三方接收公開金鑰,質詢已藉由發出方、驗證方或受信任第三方代表目標方輸入至PUF中以產生回應且導出密碼編譯金鑰對。
陳述項10。 如陳述項8或9之方法,其中第三方使金鑰資訊可用於驗證方。
陳述項11。 如陳述項1至7中任一項之方法,其中該獲得包含:目標方執行質詢至PUF模組之輸入以產生回應且藉由目標方導出密碼編譯金鑰。
陳述項12。 如陳述項11之方法,其中目標電腦裝備採用獨立目標裝置之形式,且存在以下情況中之一者:PUF模組與目標裝置併入同一外殼中,或PUF模組實施於藉由纜線而非網路連接至目標裝置之外部周邊裝置中。
陳述項13。 如陳述項11或12或陳述項1至9中任一項之方法,其中該方法包含目標方使金鑰資訊可用於驗證方。
陳述項14。 如前述陳述項中任一項之方法,其中使金鑰資訊可用於驗證方包含:將金鑰資訊發送至驗證方。
陳述項15。 如陳述項1至13中任一項之方法,其中使金鑰資訊可用於驗證方包含:將連結至目標方或目標電腦裝備之身分的金鑰資訊儲存於驗證方可存取之金鑰資訊儲存媒體中。
陳述項16。 如陳述項15之方法,其中該金鑰資訊儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
陳述項17。 如陳述項16之方法,其中該金鑰資訊儲存媒體為區塊鏈或其他同級間公佈媒體。
陳述項18。 如前述陳述項中任一項之方法,其中密碼編譯金鑰包含不對稱公開-私密金鑰對中之私密金鑰,該不對稱公開-私密金鑰對包含私密金鑰及對應公開金鑰,金鑰公開-私密金鑰對係自該回應導出,其中可用於驗證方之金鑰資訊包含公開金鑰。
陳述項19。 如陳述項1至17中任一項之方法,其中密碼編譯金鑰包含對稱鑑認方案之金鑰,其中可用於驗證方之金鑰資訊亦包含該密碼編譯金鑰。
陳述項20。 如前述陳述項中任一項之方法,其包含對運算結果進行加密以便需要解密金鑰來進行解密,其中使運算結果僅能夠以加密形式可用於驗證方,且使解密金鑰可用於驗證方及/或發出方。
陳述項21。 如陳述項20之方法,其中加密包含在使用私密金鑰進行簽署之前對運算結果進行加密。
陳述項22。 如陳述項20之方法,其中加密包含在使用私密金鑰進行簽署之後對訊息進行加密。
陳述項23。 如陳述項20至22中任一項之方法,其中解密金鑰係自藉由PUF模組或另一PUF模組回應於由目標方、驗證方、發出方或受信任第三方輸入至PUF模組之另一質詢而產生的另一回應導出。
陳述項24。 如陳述項23之方法,其中該方法包含目標方輸入該另一回應以產生另一質詢,及導出解密金鑰。
陳述項25。 如陳述項20至24中任一項之方法,其包含目標方使解密金鑰可用於驗證方及/或發出方。
陳述項26。 如陳述項20至25中任一項之方法,其中使解密金鑰可用於驗證方及/或發出方包含:將解密金鑰發送至驗證方及/或發出方。
陳述項27。 如陳述項20至25中任一項之方法,其中使解密金鑰可用於驗證方及/或發出方包含:將解密金鑰儲存於驗證方及/或發出方可存取之解密金鑰儲存媒體中。
陳述項28。 如陳述項27之方法,其中解密金鑰儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
陳述項29。 如陳述項27之方法,其中解密金鑰儲存媒體為區塊鏈或其他同級間公佈媒體。
陳述項30。 如前述陳述項中任一項之方法,其中接收運算請求包含存取電子廣告媒體以擷取運算請求。
陳述項31。 如陳述項30之方法,其中該電子廣告媒體實施於第三方伺服器裝備或驗證方之電腦裝備中。
陳述項32。 如陳述項30之方法,其中該電子廣告媒體為區塊鏈或其他同級間公佈媒體。
陳述項33。 如前述陳述項中任一項之方法,其包含將接受信號自目標方發送至接受運算之驗證方。
陳述項34。 如前述陳述項中任一項之方法,其中目標電腦裝備為執行分散式運算之分散式運算系統中所涉及的多個電腦裝備中之一者,該運算為分散式運算之部分。
陳述項35。 如陳述項34之方法,其中分散式運算係在根據運算支付基礎上執行,其中目標方在驗證方基於金鑰資訊驗證目標方之簽章的條件下接收執行運算的支付。
陳述項36。 如前述陳述項中任一項之方法,其中訊息進一步包含指示在目標電腦裝備處執行運算之時間的時戳。
陳述項37。 如前述陳述項中任一項之方法,其中PUF模組包含PUF及判定性變換函數,且經組配以藉由以下操作產生回應:將基礎輸入輸入至PUF中以產生對應基礎輸出;以及輸入質詢且結合所產生基礎輸出而輸入至變換函數中以便產生回應,該變換函數為質詢及所產生基礎輸出之函數。
陳述項38: 一種電腦裝備,其包含:記憶體,其包含一或多個記憶體單元;以及處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在處理設備上運行之程式碼,該程式碼經組配以便在處於處理設備上時執行如前述陳述項中任一項之方法。
陳述項39。 一種電腦程式,其體現於非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如陳述項1至37中任一項之方法。
陳述項1A。   一種執行運算之電腦實施方法,該方法包含藉由目標方之目標電腦裝備進行以下操作,該目標電腦裝備為待執行運算之電腦裝備:至少獲得自藉由PUF模組產生之回應導出的公開-私密金鑰對中之私密金鑰,該模組包含實體不可仿製之功能PUF,該回應已藉由基於PUF之PUF模組回應於輸入至PUF模組之對應質詢而產生,其中公開-私密金鑰對包含私密金鑰及對應公開金鑰,其中使公開金鑰可用於驗證方;自發出方接收指定待執行之運算的運算請求;回應於運算請求,執行運算以便產生運算結果;使用私密金鑰對包含運算結果之訊息進行簽署;以及使經簽署訊息可用於驗證方。
陳述項2A。   如陳述項1A之方法,其中該發出方為驗證方。
陳述項3A。   如陳述項1A或2A之方法,其中使經簽署訊息可用包含:將經簽署訊息儲存於驗證方可存取之資料儲存媒體中。
陳述項4A。   如陳述項3A之方法,其中資料儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
陳述項5A。   如陳述項3A之方法,其中該資料儲存媒體為同級間公佈媒體。
陳述項6A。   如陳述項5A之方法,其中該同級間公佈媒體為區塊鏈。
陳述項7A。   如陳述項1A至6A中任一項之方法,其中使經簽署訊息可用於驗證方包含:目標方制訂包含經簽署訊息之範本區塊鏈交易;以及目標方將範本交易發送至驗證方,藉此使驗證方驗證訊息上之簽章,且取決於其,至少藉由使用驗證方之簽章進行簽署來完成範本交易,且轉遞完成交易以記錄於區塊鏈上。
陳述項8A。   如陳述項7A之方法,其中該訊息包含範本交易之至少部分。
陳述項9A。   如陳述項7A或8A之方法,其中一旦記錄於區塊鏈上,該完成交易便針對運算向目標方支付。
陳述項10A。 如陳述項9A之方法,其中該完成交易藉由包含指向區塊鏈上之資金交易之輸出的輸入及將來自資金交易之輸出的發出方之至少一些資金指派給目標方的輸出來向目標方支付;其中資金交易之輸出包含逾時條件:若在指定逾時時段之後未指派給目標方,則使得能夠將資金轉移回至發出方。
陳述項11A。  如陳述項1A至10A之方法,其中在目標方接收運算請求之前的設置階段中,執行公開金鑰之獲得且使公開金鑰可用於驗證方。
陳述項12A。 如陳述項1A至11A中任一項之方法,其中該獲得包含:自發出方、驗證方或受信任第三方接收回應,質詢已藉由發出方、驗證方或受信任第三方代表目標方輸入至PUF模組中以產生回應,且公開-私密金鑰對之產生係基於接收到之回應。
陳述項13A。 如陳述項1至11中任一項之方法,其中該獲得包含:自發出方、驗證方或受信任第三方接收公開金鑰,質詢已藉由發出方、驗證方或受信任第三方輸入至PUF中以產生回應且代表目標方導出公開-私密金鑰對。
陳述項14A。 如陳述項12A或13A之方法,其中第三方使公開金鑰可用於驗證方。
陳述項15A。 如陳述項1A至12A中任一項之方法,其中該獲得包含:目標方執行質詢至PUF模組之輸入以產生回應且藉由目標方導出公開私密金鑰對。
陳述項16A。 如陳述項15A之方法,其中目標電腦裝備採用獨立目標裝置之形式,且存在以下情況中之一者:PUF模組與目標裝置併入同一外殼中,或PUF模組實施於藉由纜線而非網路連接至目標裝置之外部周邊裝置中。
陳述項17A。 如陳述項15A或16A或陳述項12A之方法,其中該方法包含目標方使公開金鑰可用於驗證方。
陳述項18A。 如陳述項1A至17A中任一項之方法,其中使公開金鑰可用於驗證方包含:將公開金鑰發送至驗證方。
陳述項19A。 如陳述項1A至17A中任一項之方法,其中使公開金鑰可用於驗證方包含:將連結至目標方或電腦裝備之身分的公開金鑰儲存於驗證方可存取之公開金鑰儲存媒體中。
陳述項20A。 如陳述項19A之方法,其中公開金鑰儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
陳述項21A。 如陳述項20A之方法,其中公開金鑰儲存媒體為區塊鏈或其他同級間公佈媒體。
陳述項22A。 如陳述項1A至21A中任一項之方法,其包含對運算結果進行加密以便需要解密金鑰來進行解密,其中使運算結果僅能夠以加密形式可用於驗證方,且使解密金鑰可用於驗證方及/或發出方。
陳述項23A。 如陳述項22A之方法,其中加密包含在使用私密金鑰進行簽署之前對運算結果進行加密。
陳述項24A。 如陳述項22A之方法,其中加密包含在使用私密金鑰進行簽署之後對訊息進行加密。
陳述項25A。 如陳述項22A至24A中任一項之方法,其中解密金鑰係自藉由PUF模組或另一PUF模組回應於由目標方、驗證方、發出方或受信任第三方輸入至PUF模組之另一質詢而產生的另一回應導出。
陳述項26A。 如陳述項25A之方法,其中該方法包含目標方輸入該另一回應以產生另一質詢,及導出加密-解密金鑰對。
陳述項27A。 如陳述項22A至26A中任一項之方法,其包含目標方使解密金鑰可用於驗證方及/或發出方。
陳述項28A。 如陳述項22A至27A中任一項之方法,其中使解密金鑰可用於驗證方及/或發出方包含:將解密金鑰發送至驗證方及/或發出方。
陳述項29A。 如陳述項22A至27A中任一項之方法,其中使解密金鑰可用於驗證方及/或發出方包含:將解密金鑰儲存於驗證方及/或發出方可存取之解密金鑰儲存媒體中。
陳述項30A。 如陳述項29A之方法,其中解密金鑰儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
陳述項31A。 如陳述項29A之方法,其中解密金鑰儲存媒體為區塊鏈或其他同級間公佈媒體。
陳述項32A。 如陳述項1A至31A中任一項之方法,其中接收運算請求包含存取電子廣告媒體以擷取運算請求。
陳述項33A。 如陳述項32A之方法,其中該電子廣告媒體實施於第三方伺服器裝備或驗證方之電腦裝備中。
陳述項34A。 如陳述項32A之方法,其中該電子廣告媒體為區塊鏈或其他同級間公佈媒體。
陳述項35A。 如陳述項1A至34A中任一項之方法,其包含將接受信號自目標方發送至接受運算之驗證方。
陳述項36A。 如陳述項1A至35A中任一項之方法,其中目標電腦裝備為執行分散式運算之分散式運算系統中所涉及的多個電腦裝備中之一者,該運算為分散式運算之部分。
陳述項37A。 如陳述項36A之方法,其中分散式運算係在根據運算支付基礎上執行,其中目標方在驗證方基於公開金鑰驗證目標方之簽章的條件下接收執行運算的支付。
陳述項38A。 如陳述項1A至37A中任一項之方法,其中訊息進一步包含指示在目標電腦裝備處執行運算之時間的時戳。
陳述項39A。 如陳述項1A至38A中任一項之方法,其中PUF模組包含PUF及判定性變換函數,且經組配以藉由以下操作產生回應:將基礎輸入輸入至PUF中以產生對應基礎輸出;以及輸入質詢且結合所產生基礎輸出而輸入至變換函數中以便產生回應,該變換函數為質詢及所產生基礎輸出之函數。
陳述項40A。 一種電腦裝備,其包含:記憶體,其包含一或多個記憶體單元;以及處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在處理設備上運行之程式碼,該程式碼經組配以便在處於處理設備上時執行如陳述項1A至39A中任一項之方法。
陳述項41A。一種電腦程式,其體現於非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如陳述項1A至39A中任一項之方法。
100:系統 101:封包交換網路 102a,102b:電腦設備/裝置 102V,102T:電腦設備 103:使用者/驗證方/代理 103S:提交方 103T:目標方 103V:驗證方 103a:原始使用者/實體/愛麗絲/第一方 103b:新使用者/實體/鮑勃/第二方 104:第一區塊鏈節點/比特幣節點 105:用戶端應用程式/軟體 106:區塊鏈節點網路/同級間(P2P)網路/比特幣網路 150:區塊鏈 151:資料區塊 151n-1:先前創建區塊 151n:新區塊 152:先前交易/原始交易 152i:先前交易 152j:目前交易/新接收交易/新驗核交易 152S:儲存交易 152M:修改者交易 153:起源區塊(Gb) 154:有序集合/有序集區 155:區塊指標 201:標頭 202:輸入/輸入欄位 203:輸出欄位/未支出交易輸出 302:弱PUF組件/組成基礎PUF/弱PUF 402:處理器 404:介面邏輯 404':介面邏輯/介面邏輯組件/介面功能/介面邏輯模組 406:存取控制邏輯/控制邏輯模組/控制邏輯組件/存取控制元件 500:擴展PUF (ePUF) 502:變換函數 601:回應資料存放區 602:第三方電腦設備/受信任第三方系統 603:PUF模組 702:設置階段/設置 704:驗證階段/驗證 710,720,730,740,750,760,770,1010,1020,1030,1040,1050:步驟 802:資料元素/識別資訊 804:組合 806:識別資訊/識別資料 901:儲存資料/回應資料 901':回應資料/更新版本 C:質詢 Ci:次要質詢 Cm:主要質詢 Cw:主要質詢/基礎質詢 R:回應 Ri:次要回應 Rw:主要回應/基礎回應
為了輔助理解本揭露內容之實施例且展示此等實施例可如何付諸實施,僅作為實例參看附圖,在附圖中: 圖1為用於實施區塊鏈之系統的示意性方塊圖; 圖2示意性地說明可記錄於區塊鏈中之交易的一些實例; 圖3示意性地說明PUF之質詢及回應; 圖4為包含PUF之系統的示意性方塊圖; 圖5A為根據本文中所揭示之實施例的擴展PUF之示意性方塊圖; 圖5B為在非擴展操作模式中之擴展PUF的示意性方塊圖; 圖6為在分發質詢-回應對時涉及受信任第三方或公佈媒體的系統之示意性說明;以及 圖7為根據本文中所揭示之實施例的驗證程序之示意性流程圖; 圖8A至圖8C示意性地說明根據本文中所揭示之實施例的自主質詢產生質詢集合之方法; 圖9示意性地說明將回應資料記錄於鏈上之方法;以及 圖10為展示根據本文所揭示之實施例的一種用於使得能夠驗證主張已執行運算之一方之身分的方法之示意性流程圖。
1010,1020,1030,1040,1050:步驟

Claims (39)

  1. 一種執行一運算之電腦實施方法,該方法包含藉由一目標方之目標電腦裝備進行以下操作,該目標電腦裝備為待執行該運算之該電腦裝備: 獲得自藉由包含一實體不可仿製之功能PUF之PUF模組產生之一回應導出的一密碼編譯金鑰,該回應已基於該PUF由該PUF模組回應於輸入至該PUF模組之一對應質詢而產生,其中金鑰資訊包含該密碼編譯金鑰,或一對應公開金鑰亦可用於一驗證方; 自一發出方接收指定待執行之該運算的一運算請求; 回應於該運算請求,執行該運算以便產生一運算結果; 以該密碼編譯金鑰簽署包含該運算結果之一訊息;以及 藉由發送要記錄於一區塊鏈上之經簽署訊息而使該經簽署訊息可用於該驗證方。
  2. 如請求項1之方法,其中該發出方為該驗證方。
  3. 如請求項1或2之方法,其中該經簽署訊息之該發送包含: -該目標方制訂包含該經簽署訊息之一範本區塊鏈交易;以及 -該目標方將該範本交易發送至該驗證方,藉此使該驗證方驗證該訊息上之簽章,且取決於其,至少藉由簽署該驗證方之一簽章來完成該範本交易,且轉遞要記錄於該區塊鏈上之完成交易。
  4. 如請求項3之方法,其中該訊息包含該範本交易之至少部分。
  5. 如請求項3或4之方法,其中一旦記錄於該區塊鏈上,該完成交易便針對該運算向該目標方支付。
  6. 如請求項5之方法,其中該完成交易藉由包含指向該區塊鏈上之一資金交易之一輸出的一輸入及將來自該資金交易之該輸出的該發出方之至少一些資金指派給該目標方的一輸出來向該目標方支付;其中該資金交易之該輸出包含一逾時條件:若在一指定逾時時段之後未指派給該目標方,則使得能夠將該等資金轉移回至該發出方。
  7. 如前述請求項中任一項之方法,其中在該目標方接收該運算請求之前的一設置階段中,執行該密碼編譯金鑰之該獲得且使該金鑰資訊可用於該驗證方。
  8. 如前述請求項中任一項之方法,其中該獲得包含: 自該發出方、該驗證方或一受信任第三方接收該回應,該質詢已藉由該發出方、該驗證方或該受信任第三方代表該目標方輸入至該PUF模組中以產生該回應,且公開-私密金鑰對之產生係基於接收到之回應。
  9. 如請求項1至7中任一項之方法,其中該獲得包含: 自該發出方、該驗證方或一受信任第三方接收該公開金鑰,該質詢已藉由該發出方、該驗證方或該受信任第三方輸入至該PUF中以產生該回應且代表該目標方導出密碼編譯金鑰對。
  10. 如請求項8或9之方法,其中該第三方使該金鑰資訊可用於該驗證方。
  11. 如請求項1至7中任一項之方法,其中該獲得包含:該目標方執行該質詢至該PUF模組之該輸入以產生該回應且藉由該目標方導出該密碼編譯金鑰。
  12. 如請求項11之方法,其中該目標電腦裝備採用一獨立目標裝置之形式,且存在以下情況中之一者: -該PUF模組與該目標裝置併入同一外殼中,或 -該PUF模組實施於藉由一纜線而非一網路連接至該目標裝置之一外部周邊裝置中。
  13. 如請求項11或12或請求項1至9中任一項之方法,其中該方法包含該目標方使該金鑰資訊可用於該驗證方。
  14. 如前述請求項中任一項之方法,其中該使該金鑰資訊可用於該驗證方包含:將該金鑰資訊發送至該驗證方。
  15. 如請求項1至13中任一項之方法,其中該使該金鑰資訊可用於該驗證方包含:將連結至該目標方或該目標電腦裝備之一身分的該金鑰資訊儲存於該驗證方可存取之一金鑰資訊儲存媒體中。
  16. 如請求項15之方法,其中該金鑰資訊儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
  17. 如請求項16之方法,其中該金鑰資訊儲存媒體為一區塊鏈或其他同級間公佈媒體。
  18. 如前述請求項中任一項之方法,其中該密碼編譯金鑰包含一不對稱公開-私密金鑰對中之一私密金鑰,該不對稱公開-私密金鑰對包含該私密金鑰及一對應公開金鑰,金鑰公開-私密金鑰對係自該回應導出,其中可用於該驗證方之該金鑰資訊包含該公開金鑰。
  19. 如請求項1至17中任一項之方法,其中該密碼編譯金鑰包含一對稱鑑認方案之一金鑰,其中可用於該驗證方之該金鑰資訊亦包含該密碼編譯金鑰。
  20. 如前述請求項中任一項之方法,其包含對該運算結果進行加密以便需要一解密金鑰來進行解密,其中使該運算結果僅能夠以加密形式可用於該驗證方,且使該解密金鑰可用於該驗證方及/或該發出方。
  21. 如請求項20之方法,其中該加密包含在以該私密金鑰進行簽署之前對該運算結果進行加密。
  22. 如請求項20之方法,其中該加密包含在以該私密金鑰進行簽署之後對該訊息進行加密。
  23. 如請求項20至22中任一項之方法,其中該解密金鑰係自藉由該PUF模組或另一PUF模組回應於由該目標方、該驗證方、該發出方或一受信任第三方輸入至該PUF模組之另一質詢而產生的另一回應導出。
  24. 如請求項23之方法,其中該方法包含該目標方輸入該另一回應以產生該另一質詢,及導出該解密金鑰。
  25. 如請求項20至24中任一項之方法,其包含該目標方使該解密金鑰可用於該驗證方及/或該發出方。
  26. 如請求項20至25中任一項之方法,其中該使該解密金鑰可用於該驗證方及/或該發出方包含:將該解密金鑰發送至該驗證方及/或該發出方。
  27. 如請求項20至25中任一項之方法,其中該使該解密金鑰可用於該驗證方及/或該發出方包含:將該解密金鑰儲存於該驗證方及/或該發出方可存取之一解密金鑰儲存媒體中。
  28. 如請求項27之方法,其中該解密金鑰儲存媒體實施於包含一或多個實體站點處之一或多個伺服器單元的第三方伺服器裝備中。
  29. 如請求項27之方法,其中該解密金鑰儲存媒體為一區塊鏈或其他同級間公佈媒體。
  30. 如前述請求項中任一項之方法,其中該接收該運算請求包含存取一電子廣告媒體以擷取該運算請求。
  31. 如請求項30之方法,其中該電子廣告媒體實施於第三方伺服器裝備或該驗證方之電腦裝備中。
  32. 如請求項30之方法,其中該電子廣告媒體為一區塊鏈或其他同級間公佈媒體。
  33. 如前述請求項中任一項之方法,其包含將一接受信號自該目標方發送至接受該運算之該驗證方。
  34. 如前述請求項中任一項之方法,其中該目標電腦裝備為在執行分散式運算之一分散式運算系統中所涉及的多個電腦裝備中之一者,該運算為該分散式運算之部分。
  35. 如請求項34之方法,其中該分散式運算係在一根據運算支付基礎上執行,其中該目標方在該驗證方基於該金鑰資訊驗證該目標方之該簽章之條件下接收執行該運算的一支付。
  36. 如前述請求項中任一項之方法,其中訊息進一步包含指示在該目標電腦裝備處執行該運算之一時間的一時戳。
  37. 如前述請求項中任一項之方法,其中該PUF模組包含一PUF及一判定性變換函數,且經組配以藉由以下操作產生該回應: -將一基礎輸入輸入至該PUF中以產生一對應基礎輸出;以及 -輸入該質詢且結合所產生基礎輸出而輸入至該變換函數中以便產生該回應,該變換函數為該質詢及該所產生基礎輸出之一函數。
  38. 一種電腦裝備,其包含: 記憶體,其包含一或多個記憶體單元;以及 處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在該處理設備上運行之程式碼,該程式碼經組配以便在處於該處理設備上時執行如前述請求項中任一項之方法。
  39. 一種電腦程式,其體現於一非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如請求項1至37中任一項之方法。
TW110132900A 2020-09-30 2021-09-03 鑑認系統及方法 TW202217610A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2015541.2A GB2599416A (en) 2020-09-30 2020-09-30 Authentication system and method
GB2015541.2 2020-09-30

Publications (1)

Publication Number Publication Date
TW202217610A true TW202217610A (zh) 2022-05-01

Family

ID=73005643

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110132900A TW202217610A (zh) 2020-09-30 2021-09-03 鑑認系統及方法

Country Status (8)

Country Link
US (1) US20230336366A1 (zh)
EP (1) EP4169208A1 (zh)
JP (1) JP2023543456A (zh)
KR (1) KR20230073236A (zh)
CN (1) CN116235460A (zh)
GB (1) GB2599416A (zh)
TW (1) TW202217610A (zh)
WO (1) WO2022069133A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818733B (zh) * 2022-09-19 2023-10-11 林藎誠 共享服務加密系統及裝置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487380B (zh) * 2020-12-16 2024-04-05 江苏国科微电子有限公司 一种数据交互方法、装置、设备及介质
CN112906057B (zh) * 2021-03-18 2023-09-01 上海零数众合信息科技有限公司 一种可信构建链上隐私链上交易的计算方法
CN117278330B (zh) * 2023-11-21 2024-03-12 国网江西省电力有限公司电力科学研究院 一种电力物联网设备网络的轻量级组网与安全通信方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271759B2 (en) * 2018-09-05 2022-03-08 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure digital signatures using physical unclonable function devices with reduced error rates
WO2020178752A1 (en) * 2019-03-04 2020-09-10 nChain Holdings Limited Method of using a blockchain

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818733B (zh) * 2022-09-19 2023-10-11 林藎誠 共享服務加密系統及裝置

Also Published As

Publication number Publication date
US20230336366A1 (en) 2023-10-19
EP4169208A1 (en) 2023-04-26
GB2599416A (en) 2022-04-06
KR20230073236A (ko) 2023-05-25
CN116235460A (zh) 2023-06-06
GB202015541D0 (en) 2020-11-11
WO2022069133A1 (en) 2022-04-07
JP2023543456A (ja) 2023-10-16

Similar Documents

Publication Publication Date Title
US20230360047A1 (en) Verification system and method
US20230336366A1 (en) Authentication system and method
US20230379175A1 (en) Challenge-response protocol based on physically unclonable functions
US20240202718A1 (en) Blockchain based system and method
US20230362019A1 (en) Physically unclonable functions storing response values on a data store
US20240015033A1 (en) Physically unclonable functions
US20230370288A1 (en) Physically unclonable functions storing response values on a blockchain
TW202234269A (zh) 數位安全系統及方法