TW202234269A - 數位安全系統及方法 - Google Patents
數位安全系統及方法 Download PDFInfo
- Publication number
- TW202234269A TW202234269A TW111102445A TW111102445A TW202234269A TW 202234269 A TW202234269 A TW 202234269A TW 111102445 A TW111102445 A TW 111102445A TW 111102445 A TW111102445 A TW 111102445A TW 202234269 A TW202234269 A TW 202234269A
- Authority
- TW
- Taiwan
- Prior art keywords
- puf
- transaction
- response
- challenge
- blockchain
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 153
- 230000004044 response Effects 0.000 claims abstract description 420
- 230000007246 mechanism Effects 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims description 127
- 238000012545 processing Methods 0.000 claims description 32
- 230000009466 transformation Effects 0.000 claims description 15
- 230000000737 periodic effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000012795 verification Methods 0.000 description 70
- 238000013515 script Methods 0.000 description 60
- 238000003860 storage Methods 0.000 description 47
- 102100031051 Cysteine and glycine-rich protein 1 Human genes 0.000 description 32
- 238000004891 communication Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 19
- 230000008901 benefit Effects 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 18
- 238000013507 mapping Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 15
- 238000011835 investigation Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 239000000243 solution Substances 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 239000003607 modifier Substances 0.000 description 7
- 230000000644 propagated effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000704 physical effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000003245 working effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 102100027364 Cysteine-rich protein 3 Human genes 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
- G06F21/1078—Logging; Metering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
- G06F21/87—Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
- G07C5/085—Registering performance data using electronic data carriers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
根據本文中所揭露之一第一態樣,提供一種裝置,其包含:一PUF模組;及一或多個外層組件,其提供用於將一質詢輸入至該PUF模組及收回一回應的一不安全通道之至少部分。該PUF模組之內部邏輯包含一錄誌機制,其經配置以將該質詢及/或回應的一記錄自動地錄誌於一日誌媒體,例如一區塊鏈中。根據一第二態樣,提供一種方法,其包含:發送待記錄於一區塊鏈上之一第一訊息;提交一查詢,以檢查該第一訊息已在無操縱之情況下記錄於該區塊鏈上;在其條件下,發送待記錄於該區塊鏈上之一第二訊息傳遞交易。該第一態樣及該第二態樣可一起使用或獨立地使用。
Description
發明領域
本揭露內容之一個態樣係關於實體不可仿製功能PUF之領域。另一態樣係關於經由區塊鏈進行安全通訊。
發明背景
實體不可仿製功能(PUF)為一個技術術語,其係指包含判定性但不可預測之實體現象的功能。PUF有時亦稱作實體隨機功能。PUF接收被稱作「質詢」之輸入且取決於質詢及由PUF使用之實體現象而產生被稱作對應「回應」之輸出。PUF有時被分類成強及弱PUF。強PUF能夠針對大量不同質詢產生各別回應,通常能夠採用質詢之任何任意值。弱PUF可針對僅單個回應或少數回應而產生回應(通常,質詢無法採用任何任意值)。換言之,強PUF具有大量質詢-回應對(其具有大的質詢-回應空間),而弱PUF具有單個質詢-回應對或有限數目個質詢-回應對(小或有限的質詢-回應空間)。根據一個定義,弱PUF具有與質詢位元數線性增長的回應數,或更一般而言,回應數與質詢位元數或任何其他參數的增長不超過線性(換言之,弱PUF無法使其質詢-回應空間擴大,亦即充其量為線性擴大)。
強PUF之已知實例為光學PUF。舉例而言,光學PUF可包含雷射、光學感測器及固體光學媒體,該固體光學媒體中設置有氣泡或其他此類人工製品。雷射以可控角度照射穿過光學媒體以產生繞射或散射圖案(其為媒體中之氣泡或人工製品的效應)。感測器經配置以感測此圖案。質詢為雷射之角度,且回應係基於所感測圖案而產生。
弱PUF之實例為SRAM PUF。在此情況下,質詢正接通靜態隨機存取記憶體(SRAM)。歸因於自一個SRAM至另一SRAM之輕微製造差異,SRAM胞元將在通電時碰巧陷入0/1狀態之獨特模式,因此形成個別SRAM之特性指紋。PUF經組配以在通電時輸出此作為回應。
PUF可用作產生諸如供用於密碼編譯演算法(例如,用於對文件進行簽名或加密)中之密鑰的手段。PUF之另一應用為識別裝置,諸如併有PUF之電腦裝置。若先前已判定針對給定質詢之預期回應,則驗證方可稍後利用質詢對目標裝置進行質詢且檢查其是否給出預期回應,且藉此檢查目標裝置是否為與預期回應相關聯之裝置。
因為質詢回應空間有限,至弱PUF之輸入-輸出(i/o)介面往往會僅限於一方或限於數方(例如,僅一方或有限數目個受信任方可在實體上或法律上被授予對PUF之存取權,或至PUF之介面可受密碼保護,或類似者)。亦即,僅所討論之一或多方可存取提交質詢所需的至PUF之輸入及供收回回應之輸出。另一方面,對於強PUF,至強PUF之i/o介面可廣泛地用於大量或無限數目方,並非該等方中之全部皆必須為已知或受信任方。原因在於質詢回應空間足夠大以使得敵手無法列舉所有的質詢-回應對,且因此敵手自由存取PUF之能力不應由於允許列舉及欺騙PUF而損害其安全性,如弱PUF之狀況。
在不同技術領域中,區塊鏈係指一種形式之分散式資料結構,藉此在分散式同級間(P2P)網路(在下文稱作「區塊鏈網路」)中之多個節點中之各者處維護區塊鏈之複本且廣泛地公佈該等複本。區塊鏈包含資料區塊鏈,其中各區塊包含一或多個交易。除所謂的「coinbase交易」以外,各交易亦指回至序列中之先前交易,該序列可橫跨追溯至一或多個coinbase交易之一或多個區塊。下文進一步論述coinbase交易。經提交至區塊鏈網路之交易包括於新區塊中。新區塊係藉由通常稱作「挖掘(mining)」之程序創建,該程序涉及多個節點中之各者競爭以執行「工作量證明」,亦即,基於等待包括於區塊鏈之新區塊中的有序及經驗證之未決交易之經界定集合的表示而解決密碼編譯難題。應注意,可在一些節點處修剪區塊鏈,且可經由僅公佈區塊標頭來實現區塊之公佈。
區塊鏈中之交易可用於以下目的中之一或多者:傳送數位資產(亦即,數個數位代幣(token));對虛擬化分類帳或註冊表中之條目集合進行排序;接收及處理時戳條目;及/或按時間對索引指標進行排序。亦可利用區塊鏈以便對區塊鏈之頂部上的額外功能性分層。舉例而言,區塊鏈協定可允許將額外用戶資料或資料之索引儲存於交易中。對於可儲存於單個交易內之最大資料容量不存在預先指定之限制,且因此可併入愈來愈複雜之資料。舉例而言,此可用於將電子文件或音訊或視訊資料儲存於區塊鏈中。
區塊鏈網路之節點(其通常稱作「挖掘者」)執行稍後將更詳細描述之分散式交易登記及驗證程序。總之,在此程序期間,節點驗證交易且將其插入至區塊範本中,針對該區塊範本,該等交易嘗試識別有效的工作量證明解決方案。一旦找到有效解決方案,便將新區塊傳播至網路之其他節點,因此使得各節點能夠在區塊鏈上記錄新區塊。為了使交易記錄於區塊鏈中,用戶(例如,區塊鏈用戶端應用程式)將交易發送至網路之節點中之一者以供傳播。接收交易之節點可競相尋找將經驗證交易併入至新區塊中之工作量證明解決方案。各節點經組配以推行相同節點協定,其將包括用於待有效之交易的一或多個條件。無效交易將不被傳播或併入至區塊中。假定交易經驗證且藉此經接受至區塊鏈上,則交易(包括任何用戶資料)將因此在區塊鏈網路中之節點中之各者處保持被登記及索引化為不可變的公用記錄。
成功地解決工作量證明難題以創建最新區塊之節點通常獲得被稱為「coinbase交易」之新交易的獎勵,該新交易分配一定金額之數位資產,亦即,數個代幣。對無效交易之偵測及拒絕係藉由競爭節點之動作實行,該等競爭節點充當網路之代理且經激勵以報告且阻止非法行為。資訊之廣泛公佈允許用戶連續地審計節點之效能。對僅區塊標頭之公佈允許參與者確保區塊鏈之持續完整性。
在「基於輸出」之模型(有時稱作基於UTXO之模型)中,給定交易之資料結構包含一或多個輸入及一或多個輸出。任何可支出輸出皆包含一元素,該元素指定可自交易之進行序列中得出的一定金額之數位資產。可支出輸出有時稱作UTXO (「未支出交易輸出」)。輸出可進一步包含指定用於未來兌換輸出之條件的鎖定指令碼。鎖定指令碼係定義驗證及轉移數位代幣或資產所必需之條件的述語。交易(除coinbase交易以外)之各輸入包含指向先前交易中之此輸出的指標(亦即,參考),且可進一步包含用於解鎖所指向輸出之鎖定指令碼的解鎖指令碼。因此,考慮一對交易,將其稱為第一交易及第二交易(或「目標」交易)。第一交易包含至少一個輸出,其指定一定金額之數位資產且包含界定解鎖該輸出之一或多個條件的鎖定指令碼。第二目標交易包含至少一個輸入,其包含指向第一交易之輸出的指標及用於解鎖第一交易之輸出的解鎖指令碼。
在此模型中,當將第二目標交易發送至區塊鏈網路以在區塊鏈中傳播及記錄時,在各節點處應用之有效性準則中之一者將為解鎖指令碼滿足第一交易之鎖定指令碼中所定義的所有一或多個條件。另一準則將係第一交易之輸出尚未由另一較早有效之交易兌換。根據此等條件中之任一者發現目標交易為無效的任何節點將不會傳播該目標交易(作為有效交易,但可能登記無效交易),亦不將該目標交易包括於新區塊中以記錄於區塊鏈中。
交易模型之替代類型為基於帳戶之模型。在此情況下,各交易皆不會藉由返回參考一系列過去交易中之先前交易之UTXO來界定待轉移的金額,而是參考絕對帳戶餘額。所有帳戶之當前狀態由與區塊鏈分離之節點儲存,且不斷更新。
發明概要
PUF可嵌入於諸如事件資料記錄器、EDR (有時亦稱作「黑箱」記錄器)之裝置中。舉例而言,此可稍後在調查或法院程序期間使用以證明產生特定結果之裝置的身分。然而,存在一個潛在的問題,在於裝置可能易受對質詢或回應之惡意操縱影響,諸如阻斷服務攻擊或擾亂調查或程序。舉例而言,擾亂器可置放於裝置之輸入及/或輸出處,其將在輸入至裝置之前變換質詢或變換裝置輸出之回應,或惡意軟體可安裝於裝置上,其將在內部執行此的變換。將需要提供一種手段來證明此惡意操縱是否已發生。
根據本文中所揭露之一第一態樣,提供一種裝置,其包含:一PUF模組,及一或多個外層組件。該PUF模組包含一實體不可仿製功能PUF及內部PUF介面邏輯,其經配置以接收一輸入質詢且輸出作為該輸入質詢之一判定性功能的一輸出回應,該判定性功能包含該PUF。該一或多個外層組件提供用於將該輸入質詢輸入至該PUF模組之該內部介面邏輯及收回藉由該內部介面邏輯輸出之該輸出回應的一不安全通道之至少部分。該等外層組件中之至少一者易受一惡意程序對該輸入質詢及/或輸出回應之操縱影響,但包括該內部PUF介面邏輯之該PUF模組囊封於該裝置之一外殼內且與該一或多個外層組件分離,且因此受保護以免受該惡意程序之操縱。該內部PUF介面邏輯包含一錄誌機制,其經配置以將該輸入質詢及/或輸出回應的一記錄自動地錄誌於一日誌媒體中。
在實施例中,該日誌媒體可包含該裝置之一本端記憶體,例如作為一次寫入記憶體之一防篡改記憶體,及/或嵌入於該介面邏輯中之一記憶體。替代地,該日誌媒體可包含該裝置外部之一公開可存取媒體,例如一區塊鏈。
可在PUF裝置將記錄記錄於鏈上時或在任何其他發送方或裝置嘗試經由區塊鏈與接收方通訊時發生的另一潛在漏洞為可在發送方與區塊鏈之間攔截及操縱通訊。
根據本文中所揭露之一第二態樣,提供一種電腦實施方法,其包含藉由一第一實體進行以下操作:a)發送待記錄於一區塊鏈上之一第一訊息傳遞交易,該第一訊息傳遞交易包含一第一訊息,及將該第一訊息導向至一第二實體之各別資訊,使得該第二實體可識別該區塊鏈上之該第一訊息;b)提交一查詢,以檢查該第一訊息已在無操縱之情況下記錄於該區塊鏈上;及c)在根據該查詢判定該第一訊息已在無操縱之情況下記錄於該區塊鏈上的條件下,發送待記錄於該區塊鏈上之一第二訊息傳遞交易,該第二訊息傳遞交易包含一第二訊息,及將該第二訊息導向至該第二實體之各別資訊,使得該第二實體可識別該區塊鏈上之該第一訊息。
該第一態樣及該第二態樣可一起使用或彼此獨立地使用。
較佳實施例之詳細說明
用於人類及機器二者之諸如密鑰產生系統及隱私保護身分系統的系統之穩健性可藉由涉及實體不可仿製功能(PUF)來改良。此等可為彼此互動或與諸如區塊鏈之公共系統的多方及/或自主機器。
基於實體系統且藉由假設實體裝置之製造中的隨機、不可判定且不可重複之變化來保護的此等功能可用於強化在人類身分與其裝置之間建立的連結或另外為裝置自身建立不可偽造的唯一身分。
在文獻中,將PUF歸類成弱類型及強類型,根據其相異屬性進行歸類。在以下一些實施例中,提供一種通用延伸PUF (ePUF)架構,其用於描述具有二種此等類型之PUF之益處的實用PUF裝置;亦即,ePUF可產生待用於應用程式中之大量質詢-回應對,同時保持實用性及成本效益性以實施。
更一般而言,本文中揭露與PUF以及質詢-回應對之管理相關的各種態樣。可個別地使用或以任何組合使用此等不同態樣。此等包括例如:
I. 用於擴展PUF之質詢-回應空間之擴展PUF;
II. 用於藉由使用ePUF裝置建立人類及/或裝置身分之一組區塊鏈不可知協定;
III. 用於藉由利用區塊鏈來改良此等身分協定之架構;
IV. 用於質詢-回應對之輕量級儲存之技術;
V. 用於與基於PUF之模組一起使用之事件錄誌系統及方法;以及
VI. ePUF裝置對各種問題之一組新穎應用,諸如實施KYC以用於簡化付款驗證(SPV)程序及用於裝置之可驗證運算。
1. 實體不可仿製功能 (PUF)- 預備知識
術語實體
不可仿製功能(PUF)係指充當通用隨機功能之一類實體系統及裝置。此等PUF之唯一特徵在於其實體屬性,通常在亞微米尺度,其意謂各者可藉由用實體刺激探測彼等屬性來唯一地識別及驗證。
在高層級處,吾人可將PUF視為將質詢映射至回應之功能;質詢及回應之對通常被稱作
質詢 - 回應對(CRP)。吾人可使用以下記法來將此映射
描述為:
,
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、EPORM、快閃記憶體、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空間之大小為
。一般而言,弱PUF之質詢-回應空間被視為約
,其中
為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之情況。此類PUF亦據稱即使自知曉Φ
F之大子集的敵手之視角亦產生不可預測回應,此意謂強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與否則可能具有未受保護之回應介面之非受控強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. 實用性:文獻中已確認,產生實用又輕質之強PUF同時亦可與標準互補金屬氧化物半導體(CMOS)組件整合極具挑戰性。相比之下,諸如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具有大質詢空間
,其中弱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、EPORM、快閃記憶體、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『擴展』,因為其將唯一質詢空間
之大小自針對基礎弱PUF 302之
增加至實際上藉由選擇雜湊函數而非弱PUF之實體系統定界之
。
先前已探索實現將強PUF之大CRP空間與弱PUF自身之實用性組合的系統之想法。已知在組合操作中使用多個基於FPGA之弱PUF以產生具有強PUF之特性的系統。此處的意圖部分地為『擴展』基礎弱PUF之CRP空間。然而,此性質之現有構造在實踐中受限制。在上文所提及之FPGA設計的情況下,系統必須建置於FPGA上且仍受制於相對較小的CRP空間(
)。
本文中所揭露之ePUF設計經設計以極輕質,此係因為其僅需要將介面邏輯組件404'及密碼編譯雜湊函數(或其他此類變換函數) 502添加至現有弱PUF 302。舉例而言,若選擇SRAM PUF作為廣泛使用之弱PUF 302,則添加二個剩餘模組404'、502不應產生顯著的額外負荷,例如實施為軟體(例如,韌體)中之小型演算法或相對簡單之硬體電路系統片件。此外,ePUF 500之可能輸出的空間經擴展至所選雜湊或變換函數502的範圍,該範圍顯著大於上述範圍。舉例而言,若選擇SHA-256雜湊函數,則可能輸出(及因此,CRP)之空間立即增加至
,且不需要比嵌入雜湊函數模組自身更進一步地按比例調整硬體負荷。
圖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之詢問-回應對
的集合:
其中
為對應於弱PUF 302之基礎質詢及回應的特權CRP,且其中映射
由弱PUF之唯一物理屬性定義。該對
可在本文中被稱作ePUF之
基礎或主要對。相反地,該映射
由針對ePUF選擇之密碼編譯雜湊函數定義。圖5A至圖5B展示自ePUF 500提取回應,其中(圖5B)質詢僅為Cw且(圖5A)質詢亦包含Ci。
圖5A中所描繪之用於使用ePUF產生通用CRP的程序經設計以藉由擴展此基礎秘密配對來使用基礎質詢-回應對
,該擴展係藉由將此基礎秘密配對應用於任何其他任意質詢
來進行。用於自ePUF產生CRP之演算法可針對特定用途進行定製,其限制條件為該演算法以判定性方式利用基礎對
。表示為
之此演算法的簡單實例可書寫如下。
輸入: 1. 自用戶/用戶端獲得
。
2. 檢查
?
i. 若是:
1. 利用
探測弱PUF模組以獲得
2. 設置
ii. 若否:
1. 將
分離成
及
組件。
2. 利用
探測弱PUF模組以獲得
3. 將
及
發送至雜湊函數模組。
4. 運算
5. 設置
3. 返回
輸出:
函數
為用於使用密碼編譯雜湊函數
計算雜湊摘要之一般函數。函數
可以數種方式實施,諸如在簡單情況下藉由簡單地計算
,或其可藉由計算
來實施,其中值
已用作雜湊函數
之初始向量。無論如何,
之輸出皆取決於
及
二者。
圖5A及圖5B中之圖式展示ePUF 500可配備有任擇地包含
控制邏輯模組406之介面邏輯404'。在實施例中,存在在產生回應時採用的二個可能路徑,其中在質詢簡單地為
時使用圖5B之路徑,且在質詢為伴隨有
之新值
時使用圖5A之路徑。此為判定性的。
所揭露之ePUF設計可用於提供以下優點及/或其他優點中之任一者。
● 大CRP空間,其由所選雜湊函數之域及範圍界定。
● 將控制邏輯與PUF自身分離之靈活性。
● 弱PUF之安全原語。
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,或替代地,其可僅包含如先前關於圖3及圖4所描述之習知PUF 302或PUF加習知介面邏輯404。回應資料儲存器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之實際值(以明文或經加密)。替代地,第二較輕量方式為儲存可根據經預先判定之判定性質詢-導出函數f而導出質詢Ci的主質詢Cm。
此說明於圖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質詢之情況下,假設將質詢
提交至證明者之驗證者事先知曉預期回應
。此意謂設置程序在此情況下必須在愛麗絲與另一方之間建立CRP之集合(亦即,至少一個),其可用於導出愛麗絲與另一方之間的共用秘密,該共用秘密可用於稍後鑑認愛麗絲之身分。
假設愛麗絲與配備以建立身分之通用第三方建立此共用秘密,如先前所提及,且此第三方可能或可能並非為稍後與愛麗絲參與驗證程序之驗證方。在驗證方不同於身分建立第三方之情況下,假設驗證方可自第三方獲得用於共用秘密之相關CRP資訊。
此處的設置階段存在二個相異選項,該等選項係根據愛麗絲是否始終為存取PUF裝置之唯一一方或受信任第三方是否僅在設置階段期間亦可存取PUF裝置進行分類。
情況1:愛麗絲具有對PUF之唯一存取權
1. ePUF裝置經製造且分配給愛麗絲。
2. 愛麗絲藉由聯繫受信任第三方來申請將其身分連結至其ePUF裝置。
i. 第三方為愛麗絲建立識別帳戶且請求其身分之證明。
ii. 愛麗絲向第三方供應相關識別文件或憑證。
iii. 第三方驗證愛麗絲之身分。
3. 愛麗絲及第三方為設置程序之其餘部分建立安全通訊通道(例如,經由標準的迪菲-赫爾曼(Diffie-Hellman)密鑰交換):
i. 愛麗絲及第三方分別交換公用密鑰
。
ii. 愛麗絲及第三方獨立地建立暫時秘密以用於作為
之剩餘設置通訊。
iii. 愛麗絲及第三方開始經由例如AES加密通道之通道通訊,該通道由
保護。
4. 第三方經由安全通道向愛麗絲發送質詢
之集合。
5. 愛麗絲自ePUF裝置獲得回應
。
6. 愛麗絲經由安全通道向第三方發送回應
。
7. 第三方針對愛麗絲之身分賬戶儲存回應CRP集合
。
情況2:第三方在設置期間存取PUF
1. 第三方瞭解基礎對及雜湊函數。例如,ePUF裝置經製造且分配給受信任第三方*。
2. 第三方自裝置獲得基礎CRP
)。
3. 愛麗絲藉由聯繫第三方來申請身分連結之ePUF裝置。此可經由不安全通訊通道完成。
i. 第三方為愛麗絲建立識別帳戶且請求其身分之證明。
ii. 愛麗絲向第三方供應相關識別文件或憑證。
iii. 第三方驗證愛麗絲之身分,且將ePUF裝置及其基礎對
指派至愛麗絲賬戶。共用秘密為此CRP或為此CRP之衍生物。
4. 第三方將ePUF裝置發送至愛麗絲。
(*該裝置可首先分配給愛麗絲,且接著由愛麗絲發送。然而,在大多數情況下,將裝置直接分配給第三方將更有意義。例如,若裝置為智慧型轉帳卡,則該卡可自製造商發送至發卡行,且接著在PUF設置之後自發卡行發送至客戶愛麗絲。)
設置協定在愛麗絲與受信任第三方之間建立共用秘密,該共用秘密待用於稍後在驗證程序期間鑑認愛麗絲之身分(或含PUF裝置)。該等情況的相似之處亦在於其二者較佳涉及愛麗絲與受信任第三方之間的安全通訊。
然而,二種情況之間的相異之處在於,情況1藉由建立安全通訊通道來達成安全通訊,而情況2藉助於實體安全性來達成安全通訊。
分別在情況1及2下之二個協定之間應注意的另一差異在於,在情況2下,受信任第三方可在無PUF之情況下導出與愛麗絲一樣多的CRP,而在情況1下,此方必須儲存固定數目個對。
此為情況2優於用於利用PUF裝置設置用戶之現有協定的優點,此係因為其允許受信任第三方在遠端產生任意數目個CRP,而在現有協定中,受信任第三方可能需要與裝置製造商之任一終端用戶協作來實現此。在情況1下,若添加愛麗絲經由安全通道將基礎對
發送至鮑勃之步驟(相信第三方不會以惡意方式使用基礎對),則可達成相同技術優點。
應注意,在設置階段中使用安全通訊允許經由不安全通道傳輸未來通訊,諸如驗證程序。此具有以下益處:允許在具有較少技術限制之情況下進行驗證,諸如在驗證時需要二方均在線上,且僅在此一次性設置程序中需要額外的安全通訊額外負荷。
3.1.2. 驗證 :在遠端PUF驗證之模式中,前已述及,在設置階段中存在二個相異情況,該等情況反映於略有不同的遠端驗證協定中,如下文所詳述。
情況1:愛麗絲具有對PUF之唯一存取權
1. 鮑勃在設置期間自藉由愛麗絲及第三方建立之集合
獲得未使用的CRP,諸如
。
i. 若鮑勃亦為受信任第三方,則其簡單地自集合擷取元素。
ii. 若鮑勃並非受信任第三方,則其藉由為愛麗絲請求未使用的CRP來與第三方通訊。
2. 鮑勃將質詢
發送至愛麗絲。
3. 愛麗絲自其ePUF裝置獲得候選回應
且將其發送至鮑勃。
4. 鮑勃驗證是否
:
i. 若是,則驗證通過。
ii. 若否,則驗證未通過。
5. 該對
隨後藉由受信任第三方移除,留下剩餘質詢-回應對
之集合。
應注意,在步驟1.ii中,CRP之一次性性質確保任意鮑勃不可能使用特定CRP來『冒名頂替』愛麗絲,此係因為受信任第三方可簡單地監控各對在各給定情形中之使用且每次鑑認嘗試應使用新CRP。
情況2:第三方在設置期間存取PUF
1. 鮑勃為驗證產生新質詢
。此可隨機地或自一些其他資料(例如,已知KYC資料、生物特徵、影像)以判定性方式進行。
2. 鮑勃將質詢
發送至愛麗絲。
3. 愛麗絲自其ePUF裝置獲得候選回應
且將其發送至鮑勃。
4. 鮑勃獲得預期回應
。
i. 若鮑勃為受信任第三方,則其能夠直接藉由運算
*來計算回應。
ii. 若鮑勃並非受信任第三方,則其將
發送至第三方且請求回應
。
5. 鮑勃驗證是否
:
i. 若是,則驗證通過。
ii. 若否,則驗證未通過。
3.1.3. 更新 :亦可能需要指定在給定新CRP在驗證(及其他適用協定,諸如登入)中之一次性性質的情況下供愛麗絲及第三方建立新CRP的程序。
情況 1 : 愛麗絲具有對 PUF 之唯一存取權。在此情況下,建立另一安全通道以在愛麗絲與第三方之間傳輸質詢及回應,如在設置中。吾人假設愛麗絲具有形式
之至少一個剩餘CRP以建立形式
或類似者之共用秘密,或可自DH密鑰交換存取先前共用秘密
。
愛麗絲及第三方使用共用秘密
建立安全通訊通道。此可以許多方式導出,該協定對此不可知。
1. 第三方經由安全通道向愛麗絲發送質詢
之集合。
2. 愛麗絲自ePUF裝置獲得回應
。
3. 愛麗絲經由安全通道向第三方發送回應
。
4. 第三方針對愛麗絲之身分賬戶儲存回應CRP集合
。
應注意,步驟2至5至少與設置步驟4至7相同。
亦參見關於愛麗絲經由通道告知第三方(Cw, Rw)之先前評論。
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系統之分析(針對裝置身分),其中系統之管理員可能希望在本端明確地檢查特定裝置之回應。其亦可能與付款情境相關。
下文所概述之本端PUF驗證協定與先前遠端PUF驗證協定之間的相異之處在於,此本端協定並不假設驗證者事先已知曉ePUF之回應。換言之,在本端驗證程序期間產生的回應事先不可用於驗證者。
1.鮑勃基於所討論
之CRP獲得相關質詢
以提交至ePUF裝置。
2.鮑勃能夠存取ePUF裝置。
3.鮑勃使用ePUF裝置產生候選回應
。
4.鮑勃驗證是否
:
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. 第三方自愛麗絲獲得公用密鑰
,其中
為EC密鑰對。
ii. 第三方請求愛麗絲使用私用密鑰
對訊息
進行簽名(例如經由ECDSA)。
iii. 愛麗絲產生ECDSA簽名
,且將其發送至第三方。
iv. 第三方驗證簽名。
4.若簽名有效,則第三方針對愛麗絲之身分驗證密鑰
。
3.3.2 驗證 :在密碼編譯情況下,使用在先前詳述之密碼編譯設置階段期間建立的密碼編譯資訊來執行身分驗證。在此情況下,吾人採用以下實例:在設置期間根據愛麗絲之身分建立經驗證之EC不對稱密鑰對,且吾人現使用彼密鑰用於驗證。
然而,以下協定可簡單地藉由在適當時將現有的設置及驗證協定替換為任何其他密碼編譯方案而簡單地適用於彼等方案。此處的差異在於,使用ePUF裝置作為設置及驗證程序之安全密鑰產生器,此降低了持有者愛麗絲遭受惡意損害的風險。
1.鮑勃獲得身分連結資訊
,例如經驗證密鑰。
i. 若鮑勃為受信任第三方,則其自愛麗絲之帳戶簡單地擷取
。
ii. 若鮑勃並非受信任第三方,則其與第三方通訊且為愛麗絲請求經驗證之公用密鑰。
2. 鮑勃選擇供愛麗絲進行簽名之訊息
且發送至愛麗絲。
3. 愛麗絲經由訊息
產生簽名。
i. 若愛麗絲希望利用其經驗證密鑰進行簽名,則其產生簽名
。
ii. 若愛麗絲希望利用一次性衍生密鑰進行簽名,則其產生簽名
,其中
,且
為一些一次性資料。
4. 愛麗絲將簽名發送至鮑勃。此時,若鮑勃尚未知曉資料d,則愛麗絲亦可發送該資料。
5. 鮑勃使用
(及
,若適用)針對公用密鑰驗證簽名。
i. 若簽名驗證通過,則身分驗證通過。
ii. 若簽名驗證未通過,則身分驗證未通過。
若利用諸如EC或PGP密鑰之類似密碼編譯原語建立身分,則上述密碼編譯驗證程序亦可應用於獨立地建立之身分,如描述於先前章節中。
可簡單地假設,將在用於任何所需簽名之密鑰產生或現有程序所需之其他密碼編譯程序中涉及ePUF。
3.3.4. 撤銷 :類似地,此處不必規定特定撤銷協定,但遵從標準機制。再次,可假設ePUF將作為用於相關密碼編譯操作之密鑰產生器在背景涉及。
3.4. 獨立 PUF 機制
3.4.1 設置:在使用ePUF裝置建立身分之獨立情況下,考慮實體希望獨立於任何第三方建立人類身分或在封閉系統內建立裝置身分之情境。在此程序中所涉及之唯一一方為愛麗絲,其為ePUF裝置之『所有者』及稍後驗證期間的最終證明者。
情況1:愛麗絲建立人類身分
1. 愛麗絲獲得ePUF裝置。
2. 愛麗絲利用質詢
探測ePUF。
3. 愛麗絲自ePUF獲得回應
。
4. 愛麗絲使用該對
為其自身建立身分。
i. 愛麗絲可使用密碼編譯設置來建立未經驗證之身分密鑰
。
ii. 愛麗絲針對其身分發佈其身分密鑰。
5. 愛麗絲可能希望向其CRP發佈證明,諸如回應之雙雜湊
。
愛麗絲為其自身建立『自主權』身分之此情況在一定程度上有助於為僅其控制之裝置提供唯一且可再現之裝置識別符。然而,此身分系統中缺乏受信任第三方意謂驗證者稍後必須信任證明者身分與證明者裝置之間的連結。此可在現實世界中具有極其有限的應用。
情況2:愛麗絲為裝置建立身分
1. 愛麗絲獲得ePUF裝置。
2. 愛麗絲利用質詢
探測ePUF。
3. 愛麗絲自ePUF獲得回應
。
4. 愛麗絲使用該對
來為其系統內之裝置建立身分:
i. 愛麗絲將該對
映射至其裝置。
ii. 愛麗絲保存所有其裝置及CRP映射之資料庫。
5. 愛麗絲可能希望向其CRP發佈證明,諸如回應之雙雜湊
。
在吾人為裝置建立『自主權』身分之以上情況下,可見設計在封閉系統內可能非常有用,其中管理員僅希望識別彼系統內之不同裝置。此對於隨後向其他人認證亦可能有用。然而,取決於情境,在設置期間缺乏受信任第三方仍限制證明者說服外部驗證者裝置尚未改變。
應注意,情況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以供第三方儲存未來驗證。此外,因為ePUF自身充當質詢至回應之判定性偽隨機映射,所以回應將看起來相互不相關。因此,若受信任第三方必須服務大量用戶,則受信任第三方為其用戶或用戶端列表顯示及儲存CRP集合的負擔將很快呈現縮放問題。
圖8A說明根據本文中所揭露之實施例的自識別資料判定性地導出質詢。
根據此等實施例,為了解決受信任第三方之負擔的問題,主要在產生質詢
中處理CRP管理。此處之想法為應自單個主質詢或供導出主質詢之主資料以判定性方式(且可能亦以階層方式)導出質詢。此概念類似於使用分級判定性(HD)電子錢包來管理一次性比特幣(Bitcoin)密鑰,此係因為其經設計以允許受信任第三方(或另一相關方)僅使用主資料恢復所有相關質詢,該主資料在比特幣情境中稱為『電子錢包種子』。
在一些此等實施例中,愛麗絲(目標方103T)之識別資料806用作用於產生大範圍質詢之主資料以判定哪些CRP用於諸如先前章節中所提議之彼等身分系統的身分系統中。識別資料自身可包含不同資料元素802之組合804,但在組合時,其較佳具有以下屬性:
●
唯一性-識別資料對於其所屬之實體為唯一的;以及
●
秘密性-識別資料僅為其所屬的實體(或其所有者)所知。
識別資料之組成部分的簡單實例可包括護照號碼、國家保險號碼、名稱、出生日期或對安全問題(例如,母親之本姓)之回答,或在裝置識別之情況下的序號及製造資訊。然而,據感知,亦可使用藉由更先進的技術手段獲得的資料,諸如指紋或面部辨識資料,該資料可使用模糊魔術(fuzzy-magic)技術來提取以保持唯一性。
在實施例中,用作供導出質詢集合之主輸入的『識別資料』可包含多個上述資料。此操作之一個原因為確保資訊對儘可能多的受信任第三方保密,此係因為先前章節中之一些協定依賴於與第三方及/或外部驗證方共用質詢。在未經證明方愛麗絲同意之情況下,包含多個組分之識別資料對於任何第三方而言皆將更難完全複製。
用於使用識別資料以判定性方式產生CRP之機制展示於圖8A中。識別資料之組成部分首先藉由程序『A』(804)組合,該程序可為串接、逐位元運算(例如,互斥或(XOR))或任何其他相關組合操作,其中應注意,此操作可試圖藉由將原始資料轉換成混淆形式來保護隱私。
識別資料接著藉助於雜湊函數或類似程序變為主質詢
。最終,主質詢用於使用導出函數
判定性地導出一次性質詢
之序列。在實施例中,如圖8B中所展示,導出函數f()可包含雜湊函數及臨時亂數之注入,使得將各連續質詢產生為
,其中
充當臨時亂數。
圖8C展示另一特定實例,亦即,質詢(未描畫之回應)之階層式及判定性導出。可能需要以階層方式自主
導出一次性質詢
,如圖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-1之新區塊151n。創建工作量證明解決方案所需之例如呈雜湊形式的大量工作發信第一節點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以便針對各別方103為接收者之任何交易而查詢區塊鏈150 (或實際上檢驗區塊鏈150中之其他方之交易,此係由於在實施例中,區塊鏈150為部分地經由其公用可見性而提供交易信任之公用設施)。各電腦裝備102上之電子錢包功能經組配以根據交易協定來制定及發送交易152。如上文所闡述,各區塊鏈節點104運行軟體,該軟體經組配以根據區塊鏈節點協定來驗證交易152,且轉遞交易152以便在整個區塊鏈網路106中傳播該等交易。交易協定及節點協定彼此對應,且給定交易協定與給定節點協定相配,其一起實施給定交易模型。相同交易協定用於區塊鏈150中之所有交易152。相同節點協定由網路106中之所有節點104使用。
當給定方103,比如愛麗絲,希望發送待包括於區塊鏈150中之新交易152j時,其接著根據相關交易協定來制定新交易(使用其用戶端應用程式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中鎖定至愛麗絲的一定金額之數位資產且將此數位資產中之至少一些轉移至鮑勃。在圖2中,先前交易152i經標記為「
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之情況下為有效的。若
Tx
1 嘗試支出已由另一交易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、102b中之各者上的用戶端應用程式可分別包含額外通訊功能性。此額外功能性使得愛麗絲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之不可支出輸出中。例如,若使用指令碼協定(在如BTC或BCH之一些區塊鏈協定中,OP_RETURN之任何包括使得輸出不可支出,而在如BSV之其他協定中,需要OP_FALSE及OP_RETURN二者使得輸出不可支出),則此可藉助於OP_RETURN或繼之為OP_RETURN的OP_FALSE而變得不可支出。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
] OP_RETURN <Rep(
)>
其中[Checksig
]為標準的付款公用密鑰雜湊(P2PKH)鎖定指令碼,且Rep(
)為特定質詢-回應對
之表示。
此鎖定指令碼可簡單地藉由在支出交易上提供有效簽名
來解鎖,其中該簽名被視為對公用密鑰
有效。應注意,在驗證支出交易時將不會考慮在作業碼OP_RETURN之後的任何資料,且因此相對於區塊鏈驗證者,此資料可被視為任意且無格式的。
以上指令碼中在OP_RETURN程式碼之後的資料為質詢-回應對
之表示Rep(
)。取決於所討論之使用案例,可以各種方式進行此表示。然而,合理實例將為使用僅對擁有PUF之證明者愛麗絲已知之密鑰
加密CRP。在此情況下,吾人可具有以下表示中之任一者:
Rep(
)
Encrypt
,
Rep(
)
Encrypt
,
Rep(
)
Encrypt
。
此等表示將允許愛麗絲稍後分別擷取或證明包括於其UTXO中之質詢、回應或CRP。
額外指令碼負擔 :可擴展先前所展示之基本鎖定指令碼以便在未來支出輸出之輸入指令碼上包括額外條件。此額外條件之合理實例將為以下指令碼:
[Checksig
][Hash Puzzle
] OP_RETURN <Rep(
)>
其中[Hash Puzzle
]= OP_HASH160 <
> OP_EQUAL。應注意,可使用其他雜湊函數作業碼。除提供用於公用密鑰
之有效簽名以外,此經修改指令碼現需要支出者揭示質詢
之雜湊。此處之想法為在一些情境中,此可用作支出者知曉又與所討論之質詢
相關之資訊
的知識證明。
交易模型 :在已決定待使用之交易鎖定指令碼之準確結構的情況下,可接著做出關於如何結構化含有此等指令碼之交易作為儲存、認證及管理TLP之方式的選擇。
本文中揭露以一對一方式將CRP及相關聯鎖定指令碼映射至UTXO。換言之,含有此指令碼之每一UTXO將對應於與特定PUF裝置相關之準確一個CRP。
接著存在關於如何將此等UTXO組織至交易中之幾個選項。最可能的選項如下:
1. 每交易一個CRP。
2. 每交易一個CRP集合。
3. 每交易一個PUF。
第一選項在一些情況下可適用,諸如適用於極不頻繁使用之PUF,諸如用於更新意願(will),且具有多個CRP彼此並不明顯地連結之益處。此在需要極端隱私之情形中亦可能有用,此係因為一個CRP之耗用及揭示可獨立於任何其他者而揭示。
以下表1中之交易為第一選項之實例實施。可看到,交易僅包含單一輸入及輸出,且因此各CRP將含於不同交易中。當支出其輸出時,除用於稽核目的以外,此交易與身分系統之相關性亦被有效地終止。
表1:單個CRP映射至單個交易中之UTXO。
輸入 | 輸出 | ||
出點 | 指令碼 | 值 | 指令碼 |
BSV | [Checksig ] OP_RETURN <Rep( )> |
對於CRP耗用之預期頻率顯著較高的使用案例,諸如銀行卡,可能更需要許多CRP各自映射至單個交易中之各別UTXO的第二選項。以下表2中之交易展示可如何達成此選項。
應注意,有可能已由愛麗絲產生之輸入簽名可對整個輸出集合進行簽名。此提供自一個公用密鑰
至許多UTXO及因此許多CRP之一對多連結,同時維持UTXO至不同CRP自身之一對一映射。亦假設各輸出/CRP具有其自身相關聯公用密鑰(全部由愛麗絲擁有)以避免重複使用。
表2:CRP集合映射至單個交易之各別UTXO
輸入 | 輸出 | ||
出點 | 指令碼 | 值 | 指令碼 |
BSV | [Checksig ] OP_RETURN <Rep( )> | ||
BSV | [Checksig ] OP_RETURN <Rep( )> | ||
BSV | [Checksig ] OP_RETURN <Rep( )> | ||
... | |||
BSV | [Checksig ] OP_RETURN <Rep( )> |
上文所展示之選項亦可與隨時間更新CRP集合之實施例良好地整合,其中每次產生經更新集合時,皆可針對彼集合發出新交易。另外,吾人亦可經由並列的獨立(亦即,鏈上不相關)交易針對同一PUF同時產生及發出多個不同CRP集合。此對與多個不同受信任第三方(例如,不同銀行)建立身分可為有用的,使得該等身分皆經獨立地建立但仍由同一PUF錨定。
單個交易用於表示單個PUF之第三選項僅為選項2之更具限制性的版本,其中更新為不可能的。此可適用於含PUF裝置被給予特定「壽命」之情況,其中在向用戶發放新裝置之前,該含PUF裝置可僅用於預定數目次鑑認。
5.1.2. 與可支出 UTXO 配對
將CRP嵌入可支出UTXO內之替代例為簡單地將其與此等輸出
配對。在此情況下,與現有數位憑證工作之差異在於,交易可由愛麗絲建構及簽名,此係因為其可能希望獨立於任何第三方對身分進行認證。
表3:含有映射至CRP之可支出UTXO的交易。
輸入 | 輸出 | ||
出點 | 指令碼 | 值 | 指令碼 |
BSV | OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG | ||
0 BSV | OP_0 OP_RETURN <Rep( )> | ||
BSV | OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG | ||
0 BSV | OP_0 OP_RETURN <Rep( )> | ||
... | |||
BSV | OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG | ||
0 BSV | OP_0 OP_RETURN <Rep( )> |
在上圖中可見含有與
個CRP相關之
輸出的實例交易,藉以各可支出輸出可映射至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集合列舉為
。
2. 愛麗絲產生如表2中所展示之交易
且播送至區塊鏈網路。
3. 愛麗絲隨時間耗用多個CRP以向第三方鑑認其身分。
4. 愛麗絲現希望檢查其是否具有足夠的CRP來涵蓋其接下來一週之預期活動:
1. 愛麗絲查詢區塊鏈節點104或類似SPV之服務提供者,從而詢問
之哪些UTXO當前未支出。
2. 區塊鏈節點或服務提供者以仍未支出之交易
的輸出之數目作為回應。
5. 若返回數目不足,則愛麗絲可與其受信任第三方執行身分更新程序,或簡單地為獨立建立身分列舉更多CRP。否則,愛麗絲不採取動作。
嵌入對比配對 :將CRP嵌入可支出輸出內抑或簡單地將其與輸出配對的選擇使愛麗絲在區分此等情況之二個不同益處之間進行選擇。
若CRP嵌入於可支出輸出內,則此激勵區塊鏈節點104,該等區塊鏈節點維護區塊鏈網路106以使得容易獲得此等輸出之資料。此意謂對愛麗絲之查詢的回應可更快,且更重要地,區塊鏈節點更有可能將此等交易輸出之原始資料伺服回給愛麗絲。
若如先前所論述,包括CRP之表示Rep(
)使得其含有質詢、回應或二者之原始(或混淆)資料,則此意謂愛麗絲將能夠自區塊鏈網路106擷取相關資訊。此允許愛麗絲替換本端儲存,且利用區塊鏈150操作更
輕量之系統,此係因為資料在可支出輸出中之嵌入增大了其資料無論如何將具有高
可用性的可能性。
相比之下,若CRP僅與可支出輸出
配對,則愛麗絲可僅能夠判定多少CRP可用於其,但未必自比特幣節點擷取表示資料自身。此可意謂若愛麗絲不在本端維護其CRP集合,則其必須諮詢在區塊鏈節點網路106之外的代理。
多方簽名 :此章節中詳述之交易可包括來自多個不同方之更多簽名以輔助愛麗絲認證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
。
此程序最終導致愛麗絲及憑證授權機構協作以產生由CA簽名之交易,該交易含有包括愛麗絲之公用密鑰上之憑證的一個不可支出輸出及CA可用於撤銷憑證之與憑證配對的可支出輸出。
本文中所揭露之實施例使用上文針對數位憑證所概述之方法與建立基於PUF之身分之方法(諸如,較早所描述之方法中之一者)的混合。此處添加至PUF身分系統之元素使得通用的受信任第三方(類似於CA)能夠藉由支出UTXO來『撤銷』CRP或相關公用密鑰。
受信任第三方撤銷愛麗絲之公用密鑰上之憑證的情況係關於較早所論述之密碼編譯身分建立。
在鏈上儲存或認證CR對(CRP)之情況下,本文中所揭露之實施例提供一旦CRP用於鑑認程序中便允許受信任第三方將其撤銷之方案。實例方法如下:
1. 愛麗絲及受信任第三方執行身分設置協定(例如,如較早所描述)。
2. 愛麗絲及受信任第三方現希望使用區塊鏈來管理在1中產生或現可在步驟1之後獲得的CRP:
a. 愛麗絲創建CRP映射交易
,其將CRP映射至交易輸出。此展示於以下表4中。
b. 愛麗絲及受信任第三方二者對
進行簽名。
3. CRP映射交易
在區塊鏈區塊中廣播及發佈。
表4:
允許受信任第三方進行 CRP 撤銷 / 耗用之 CRP 映射交易。
輸入 | 輸出 | ||
出點 | 指令碼 | 值 | 指令碼 |
BSV | [Checksig ] OP_RETURN <Rep( )> | ||
BSV | [Checksig ] OP_RETURN <Rep( )> | ||
BSV | [Checksig ] OP_RETURN <Rep( )> | ||
... | |||
BSV | [Checksig ] OP_RETURN <Rep( )> |
在此程序中創建之映射交易展示於以上表4中。此與先前在表2中所展示之CRP映射交易非常類似,其中差異在於受信任第三方及愛麗絲二者對輸入進行簽名,且映射至CRP之UTXO中之各者可藉由受信任第三方在未來交易中支出來撤銷。
此為有利的,此係因為其允許在無直接通訊之情況下處置CRP之撤銷,且TTP可代表用戶執行撤銷,此進一步減少愛麗絲在系統中之負擔且允許其身分管理變得甚至更輕量級。
6. 事件日誌
圖10展示具有嵌入式PUF模組603之裝置1000之實例。在實施例中,此PUF模組603可包含先前所描述之ePUF 500,該ePUF包含PUF 302、變換函數502及介面邏輯404'。替代地,其可僅包含PUF 302及介面邏輯404' (但無變換函數502)。裝置1000進一步包含一或多個外層組件1002。此等組件可包含一或多個硬體及/或軟體組件。外層組件1002可包含例如用於在裝置1000與外部源之間通訊之外部介面。外部介面可包含例如用於形成至該裝置之有線連接的埠或用於形成無線連接的無線收發器。另外或替代地,外層組件1002可包含例如用於實施裝置之應用程式目的而在裝置1000之處理器上運行的應用程式。外層組件1002亦可包含實施於固定功能硬體中之一或多個組件。
藉助於實例,裝置1000可採用有時亦稱作黑箱記錄器之事件資料記錄器(EDR)的形式。舉例而言,此可為經設計以用於諸如汽車或飛機之載具中的EDR。在此情況下,外層組件1002可包含在裝置1000之處理器上運行的EDR應用程式。然而,應瞭解,此僅為一個實例,且在其他實施例中,裝置1000可替代地採取其他形式,諸如用於證明身分之通用電腦裝置或專用PUF裝置。
PUF模組603嵌入於裝置1000之外殼1001內(亦即內部),亦即由外殼1001完全囊封。PUF模組603實體上經組配以使得在不實體地分解裝置1000之情況下,除經由至介面邏輯404'之輸入以外,無存取經提供以影響PUF模組603之行為。在一些實施例中,外殼1001可包含實體鎖定,防止在不無合適密鑰或組合之情況下存取PUF模組603。替代地,外殼可永久地密封。
嵌入PUF模組603之外殼1001亦可將外層組件1002中之一或多者包覆於與PUF模組603相同之外殼1001內。在諸如用於形成至外部源之有線連接的埠之外部介面的情況下,介面可位於外殼1001與外部之間的實體介面處。在應用程式運行於裝置之處理器上的情況下,所討論之處理器可由外殼1001囊封,但可經由外部介面存取,包括用以接受來自外部源之外部輸入。
替代地或另外,囊封PUF模組603之外殼1001可包含裝置1000內之內部殼體,從而將PUF模組603在內部自外層組件分離。然而,此並非必需的,因為短暫論述之其他措施可被採用以實體上及/或邏輯地自外層組件1002分離PUF模組603。
PUF模組603之介面邏輯404'包含錄誌機制1004,其將稍後更詳細地論述。介面邏輯404'可任擇地亦包含如先前所論述之存取控制邏輯406。無論如何,包括錄誌機制1004及任何存取控制邏輯406之介面邏輯404'保持與外層組件1002分離,使得外層組件1002中之任一者的任何惡意操縱並不影響PUF模組603之內部工作。介面邏輯404'係以韌體或固定功能硬體電路系統(亦即專用電路系統)或韌體與固定功能硬體電路系統之組合實施。在韌體之情況下,出於當前目的,此意謂進行以下操作中之任一者的軟體(電腦可讀程式碼):i)寫入至永久記憶體(唯讀記憶體,ROM);或ii)儲存於記憶體中,該記憶體諸如藉由嵌入於與彼記憶體無外部介面的外殼1001中而實體上受保護以免於外部存取,而無需實體地拆卸該裝置;或iii)儲存於內容可僅經由受限程序而更新的記憶體中。舉例而言,在後一情況下,介面邏輯404'之硬體可以硬體組配,以便在操作者可呈現一或多個所需憑證(諸如,密碼、PIN、密碼編譯密鑰或生物特徵資訊)之情況下僅允許存取以更新儲存韌體之記憶體。
只要將此類限制置於適當位置,則上面儲存任何此類韌體之記憶體可採取任何合適形式,其包含採用一或多個儲存媒體(例如,磁性媒體,諸如磁碟或磁帶;或電子媒體,諸如ROM、EPROM、EEPORM、快閃記憶體、SRAM、DRAM等)之一或多個記憶體單元。上面運行任何韌體之處理器可包含一或多個處理單元(例如,通用處理器,諸如CPU,或特殊應用或加速器處理器,諸如GPU、DSP或密碼處理器)。另一選項為韌體可實施於諸如PGA或FPGA之可組配或可重組配電路系統中或可組配或可重組配電路系統(具有受限制存取以在FPGA情況下重新組配)。
在採用變換函數502之實施例中(如在ePUF 500之情況下),此亦可實施於硬體或韌體中。與上文針對PUF介面邏輯404'所給出之實施相同的註解亦適用於變換函數502。
在外層組件1002包含應用程式之情況下,上面儲存應用程式之記憶體可採取任何合適形式,其包含採用一或多個儲存媒體(例如,磁性媒體,諸如磁碟或磁帶;或電子媒體,諸如ROM、EPROM、EEPORM、快閃記憶體、SRAM、DRAM等)之一或多個記憶體單元。上面運行應用程式之處理器亦可採用任何合適形式,其包含一或多個處理單元(例如,通用處理器,諸如CPU,或特殊應用或加速器處理器,諸如GPU、DSP或密碼處理器)。另一選項為外層102之應用程式功能可部分或完全地實施於專用硬體電路系統中,或實施於諸如PGA或FPGA之可組配或可重組配電路系統中。
在實施例中,外層1002之應用程式運行於與PUF模組603之韌體分離的處理器上。在外層處理器上運行之軟體可經由外部介面更新,諸如藉由自網際網路下載更新或經由有線連接安裝更新。然而,韌體可能不可更新,或在一些實施例中,若操作者可呈現所需憑證,則韌體僅可為可更新的。另一選項為韌體運行於與應用程式相同之處理器上,但運行於安全處理器之特權域中(而應用程式運行於單獨應用程式域中)。舉例而言,介面邏輯404'之韌體可實施為安全內核之部分,例如儲存於ROM中。在此情況下,處理器經組配以便在啟動時藉由運行內核(特權域)開始,其可反過來將處理器週期委託給在應用程式空間(應用程式域)中運行之應用程式,但處理器經組配於硬體中,使得無應用程式程序可覆寫內核,亦不會自主地防止在委託的週期數之後返回內核的執行。用於實施此安全(特權)域之合適安全處理技術之細節本身將為熟習此項技術者所知。
無論實施何種方式,在操作中,介面邏輯404'自外層1002接收輸入質詢。舉例而言,此可包含自應用程式或經由外部介面或經由外部介面及應用程式接收輸入質詢。外層1002因此提供用於接收輸入質詢之通道的至少部分。輸入質詢之源可為運行於外層1002中的應用程式,或外部源。在後一情況下,外部源可為本端的,將輸入質詢直接輸入至裝置1000之外部介面;或遠端的,經由網路將輸入質詢發送至裝置1000之外部介面。輸入質詢之源可為人類用戶或另一裝置或系統,諸如外部電腦裝備。
介面邏輯404'使得PUF模組603取決於PUF 302而產生輸出回應。在PUF模組603採用ePUF 500之形式的情況下,如先前所論述,輸入質詢為次要質詢Ci且輸出回應為次要回應Ri。在此情況下,介面邏輯404'將次要質詢Ci輸入至變換函數502中,且將主要質詢Cw輸入至PUF 302中以使得其將主要回應Rw供應至PUF 302,從而產生次要回應Ri。再次參考關於ePUF之先前論述以用於進一步細節。
然而,在替代實施例中,PUF模組603無需採用ePUF 500之形式。舉例而言,PUF模組603可僅包含PUF 302及介面邏輯404'。在此情況下,介面邏輯404'僅將輸入質詢直接輸入至PUF 302中而無變換函數502,且自PUF 302收回輸出回應作為輸入質詢之直接函數。
無論如何,介面邏輯404'經配置以將輸出質詢返回至可包含與來源相同的用戶、裝置或系統之目的地,或不同目的地,或二者。目的地可包含外層1002中之應用程式。替代地或另外,目的地可包含外部目的地,經由外層1002之外部介面或經由應用程式及外部介面將輸出回應發送至外部目的地。在外部目的地之情況下,目的地可為本端的(直接接收回應)或遠端的(經由外部網路接收回應)。不管目的地為本端的還是遠端的,外層1002因此提供將輸出回應供應至目的地所經由的通道之至少部分。在外部目的地之情況下,目的地可包含人類用戶或另一裝置或系統(未展示),諸如外部電腦裝備。
在裝置1000中包括PUF模組603使得能夠驗證裝置1000或擁有裝置之一方的身分,或驗證由裝置產生之結果。
舉例而言,考慮以下情境,在先前受信任設置階段702中,在驗證方103V或受信任第三方服務202之情況下,裝置1000已將其回應R註冊至特定質詢C (例如,參見先前論述)。稍後,可能需要在調查或法院程序或其類似者期間證明在調查期間考慮的或作為該程序之部分呈現的候選裝置是否為與先前在受信任設置階段中註冊之裝置相同的裝置1000。為進行此操作,驗證方103V (例如,調查者、代理人或法院官員)可將在設置期間使用的同一質詢C輸入至裝置1000且判定其產生之候選結果R'是否與最初在設置階段中註冊之結果R相同。
在另一情境下,先前回應無需註冊為設置階段本身之部分。替代地,裝置1000可經組配以在某一事件發生時產生結果,且PUF模組603自該時間的回應R可連結或映射至結果。舉例而言,該結果可為或表示外層組件1002中之一者或藉由外層組件1002監控之系統的狀態。舉例而言,在裝置1000為EDR之實例中,該結果可為由正受監控之系統產生的信號,諸如汽車、飛機或船等之機載電腦。在一些此類實施例中,經輸入以產生回應R之質詢C可為與產生結果之情形相關的有意義的資料片段。例如,質詢可為來自載具之機載感測器,諸如汽車前部上的距離感測器的信號。對應結果可為應用藉由受EDR裝置1000監控之機載電腦施加之制動器的指令。外層1002中之EDR應用經組配以產生將結果連結或映射至回應R之標籤,且將結果及標籤記錄於EDR應用之記憶體位置中。視實施方案而定,可以數種可能方式產生標籤。舉例而言,標籤可為藉由使用R作為密碼編譯密鑰來產生以對結果進行簽名之密碼編譯簽名,或其可為基於R及結果之基於雜湊之訊息鑑認碼(HMAC)。數位簽名技術、HMAC及其類似者之細節本身為此項技術中已知的。
稍後,在調查或法院程序期間,可能需要證明所記錄結果是否實際上由特定EDR 1000產生。為進行此操作,將候選質詢C'輸入至PUF模組603中以產生對應候選回應R'。若所記錄標籤(例如,簽名或HMAC)係基於現產生之R'鑑認,則此證明由EDR產生所記錄結果。
舉例而言,考慮到來自愛麗絲之汽車之EDR的實例,該EDR已在諸如汽車事故之一些事故中有所涉及。質詢C可為例如來自汽車前部上之距離感測器之讀數。可基於C產生結果。在此實例中,其可能為來自機載電腦之應用制動器的決策,此係因為讀數過低(前方對象過近)。C亦輸入至PUF模組603 (例如ePUF)。PUF模組基於C及PUF 302產生回應R。R本身未必為有意義的。然而,例如藉由利用R對結果進行簽名或藉由計算HMAC (結果R)來產生簽名而將結果映射至R。更一般而言,質詢、結果或二者可取決於正受監控之系統的量測、條件或其他此類狀態(汽車或其他載具之機載電腦,抑或可藉由任何種類之EDR監控的任何其他系統)。舉例而言,質詢而非結果可取決於在結果並不取決於狀態之值的任何情況下之狀態。此情形之一個實例將為:若藉由EDR計算之結果僅僅為時戳或索引(例如,針對基本資料記錄目的),則意謂吾人不需要知曉量測結果或狀態之值,且時戳可自類似於系統時脈或遞增計數器之某物導出。
在實施例中,外層1002中之EDR應用將至少記錄經簽名結果,及簽名或HMAC。在一些此類實施例中,在C表示引起結果之真實資料的情況下,其亦可記錄C。例如,結果可為,應用制動器及C之機載電腦可為來自汽車前部之距離感測器的信號。稍後在汽車碰撞調查中或在法院或其類似者中,鮑勃手中具有EDR 1000,且想要展示現呈現為證明之所記錄結果實際上由愛麗絲之EDR產生。為進行此操作,鮑勃將已誘發結果(例如,輸入低距離讀數)之候選質詢C'經由外層1002輸入至PUF模組603中,且觀察回應R'。若所記錄簽名或HMAC係基於現產生之R'鑑認,則此證明由愛麗絲之EDR產生所記錄結果。因此,PUF模組603能夠檢查其實際上為在事件發生時存在之相同EDR,且其確實誘發給定C或外部條件下之某一結果。即使C並不取決於條件且僅結果取決於條件,仍有可能使用(C,R)鑑認HMAC,其中R為用於產生標籤之密鑰,例如HMAC密鑰或其類似者(無論C是否自該等條件導出或取決於該等條件)。此不僅可應用於汽車之EDR,而且更一般而言,應用於任何類型之EDR以用於監控任何種類之系統。
更一般而言,不存在需要強制性地記錄於外層1002中之一個特定事物。外層1002可任擇地輸出結果、回應、標籤,此等中之無一者或全部三者。舉例而言,黑箱記錄器不必需要在操作時發出任何東西,其只是像一個『只寫』系統,獲取質詢或量測結果等,直至稍後被調查為止。
無論實施如何,存在一個潛在問題,即質詢將經由外層組件1002中之至少一者(例如,應用程式及/或外部介面)輸入至PUF模組603;且對應回應,無論在哪個階段輸出,將經由外層組件1002中之至少一者輸出。此為在稍後調查/程序期間及在任何初始設置階段中或在最初產生結果時的情況。如所提及,外層組件形成用於接收輸入質詢及輸出輸出回應之不安全通道的至少部分。此為不管源及/或目的地是在裝置1000內部還是在其外部的情況。因此,此通道可能受到中間人(MiM)拒絕服務(DoS)攻擊,或可能甚至受到調查方(愛麗絲)之惡意行為,以阻止對其調查。舉例而言,某人可將擾亂器偷偷地安裝至EDR之外部介面,或其可已下載干擾EDR應用之一些惡意軟體。此等中之任一者可在輸入至PUF模組603之前操縱輸入質詢之值,或在由PUF 603輸出之後操縱輸出回應之值。此可在原始事件發生時(例如,當EDR在愛麗絲之汽車中時)或稍後在驗證時(在調查/程序期間)發生。在輸入質詢之源或輸出回應之目的地二者在裝置1000外部及遠離裝置1000的情況下,存在用於MiM攻擊之二個可能點:在源與接收質詢的一方之間,及在彼方與裝置1000之間。
可能不可能阻止此類攻擊本身,但期望能夠偵測到某一攻擊已發生。
為了解決此問題,根據本揭露內容,PUF模組603之介面邏輯404'包含錄誌機制1004。此經組態以便在輸入質詢C輸入至PUF模組603之介面邏輯404'且產生對應輸出回應R時將C及/或回應R之記錄自動地錄誌於日誌媒體1006中。亦即,將如輸入至介面邏輯404'之輸入質詢C及/或由介面邏輯404'輸出之輸出回應R記錄於日誌中。
C及/或R之記錄可包含C及/或R之明確值,無論以明文形式還是以加密形式。替代地,C及/或R之記錄可包含C及/或R之認證,其分別為不揭示其值之C及/或R之變換,例如C及/或R之雜湊或雙雜湊。在認證之情況下,此允許藉由將同一變換應用於候選值來針對認證檢查候選質詢C'及/或回應R'。任擇地,日誌亦可包括將結果R映射至此時產生之結果(例如,應用制動器之信號)的標籤。例如在實施例中,日誌可包括標籤及R自身。
PUF模組603實施為嵌入於裝置1000內之自含式模組,例如EDR (黑箱)。內部工作與EDR之內部組件之剩餘部分分離,在諸如硬體或自ROM及/或在安全域中運行之韌體的更安全環境中實施。因此,惡意方無法操縱在PUF模組603自身內發生之任何東西,因為此係由控制邏輯介導的,但此並不阻止PUF模組603饋入由操縱外層1002引起之經變換資訊或饋送至外層1002中之資訊。PUF模組603之內部邏輯1004對CR對之記錄提供用於證明此攻擊之手段。
日誌媒體1006可包含嵌入於介面邏輯404'中,如圖10中所展示,或至少在裝置1000內的內部記憶體。可使用任何合適的記憶體媒體,例如電子媒體,諸如EPROM、EEPROM、快閃記憶體、SRAM、DRAM;或甚至磁性媒體,諸如磁碟或磁帶等。在此等實施例中,記憶體經配置以受到保護以免於藉由除錄誌機制1006外之任何實體更改其內容。此可例如藉由使用以下來進行:一次寫入多次讀取(WORM)記憶體;或防篡改記憶體,例如經設計以保留任何篡改之證據,或僅允許由經授權方更改其內容(例如,記憶體可在硬體中經組態以僅允許對可呈現一或多個經辨識憑證(諸如,密碼、PIN、密鑰或生物特徵資訊)之一方進行寫入存取)。替代地或另外,日誌1006之記憶體可諸如藉由實體地嵌入於外殼,諸如裝置1000之外部外殼1001或甚至裝置1000內之PUF模組603的內部殼體中而實體上受保護免於篡改。在一些情況下,外殼可裝配有實體鎖,該實體鎖需要實體密鑰或組合打開。
在又一替代或額外選項中,日誌媒體1006可包含公開媒體。此可包含諸如區塊鏈之不可變公開媒體。然而,即使例如網頁上之公開的可變公共媒體亦提供一些安全性,因為更改日誌之任何嘗試是公開可見的。在此類實施例中,錄誌機制1004配備有至諸如網際網路或行動蜂巢式網路之網路的安全介面,以便使得其能夠上載錄誌至公共日誌媒體1006之C及/或R的記錄。
在日誌媒體1006位於裝置1000外部或甚至介面邏輯404'外部的實施例中,介面邏輯404'接著較佳地具備安全通道以將其記錄發送至媒體1006,以便防止C及/或R之記錄在裝置1000與媒體1006之間被操縱(或至少在發生情況下實現偵測)。此可簡單地藉由配置錄誌機制1004以基於任何已知密碼編譯簽名技術輸出錄誌於封包中之記錄以及基於記錄產生之密碼編譯簽名及錄誌機制1004之密鑰來實施。若區塊鏈交易152正用作包覆錄誌資料之封包(例如,將錄誌的記錄放於交易之輸出中,且將簽名包括於輸入中),則區塊鏈網路106提供針對此種攻擊之額外保護-若區塊鏈交易152將以改變由其輸入簽名進行簽名之訊息的任何方式改變,則交易將為無效的,且不使其位於鏈上。因此,只要日誌資料由輸入簽名進行簽名,則確保錄誌資料尚未在發佈中經篡改所需之所有資料為驗證其是否使其位於鏈上(例如,藉由提供默克爾證明)。
在一些實施例中,日誌媒體1006可包含本端內部記憶體及公共媒體二者。在一些此類實施例中,錄誌機制1004可經組配以便在產生輸出回應時將CR對(或正在錄誌之任何記錄)錄誌於本端記憶體中,而且每一時間段(例如,每小時、每天、每週等,取決於所使用頻率及本端記憶體大小)記錄一次,以週期性地將在最後一個時間段中錄誌之一批最近的CR對上載至公共媒體(例如區塊鏈)。任擇地,錄誌機制1004可在每次將一批上載至公共媒體時清除在本地儲存的CR對。此使得驗證方103V能夠藉由檢測本端日誌來即時地偵測可能的惡意行為。此可為合乎需要的,以便能夠一旦攻擊發生便偵測攻擊。但將日誌週期性地儲存至公共媒體亦藉由不必使每一CR對永久保持於本端日誌中而節省本端記憶體。其亦有助於保護免受對本端記憶體之攻擊,且此外,即使切斷驗證方至裝置1000之連接,日誌仍將對公共媒體可用。
在其他替代或額外實施例中,所錄誌的記錄可在由PUF模組603執行之各質詢-回應操作之後即時地寫入至區塊鏈。此可作為內部記憶體中本地錄誌之替代或補充而進行。其亦可作為對區塊鏈定期錄誌批量記錄之替代或補充而進行。
藉由實施之任何方式,使日誌媒體1006之內容可用於稍後在驗證階段期間,例如在調查或法院程序期間藉由驗證方103V讀取。
存在日誌可用於偵測之至少二個可能攻擊。第一種為在外層1002中或在源與裝置1000之外層之間操縱C。
一種針對此進行檢查之方式為驗證方103V (鮑勃)在調查或程序期間檢查日誌之行為,以檢查外層1002中之惡意軟體。若候選質詢C'在新的日誌條目C''中立即經變換,則驗證方103V知曉裝置當前受到感染且不可信任,且因此其證明無法被使用。
另一檢查為驗證方103V (鮑勃)檢查候選質詢C'是否等於錄誌於過去事件日誌中之輸入質詢C中之一者。若是,則所有係良好的,但若不是,此可能意謂以下中之任一者:事件沒有發生,輸入質詢之源(例如,汽車實例中之距離感測器)受到破壞,或輸入質詢在事件發生時經篡改。上下文資訊可用於消除前二種可能性。例如,證人可證明事件確實發生了(例如,汽車事故),且技術檢測可表明輸入質詢之源(例如,汽車距離感測器)仍在工作。
另一可能攻擊為在裝置之外層1002中或在外層1002與目的地之間操縱輸出回應。為偵測此情況,稍後在調查/程序期間,驗證方103V (鮑勃)將不僅鑑認與所討論之結果相關聯地記錄之標籤(例如,簽名或HMAC),而且檢查自事件發生時錄誌的回應R匹配現在產生之候選回應R'。若其並不匹配,則意謂已存在一些干擾且因此必須忽略證據(其不能以一種方式或另一種方式證明所記錄結果係或並非由愛麗絲之EDR或其類似者產生)。可在一般身分驗證之情況下執行類似檢查。
再次注意,C及/或R之記錄可為明確值或例如值之雜湊的認證。在前一情況下,檢查匹配簡單地包含檢查所記錄值是否等於候選值。但在認證之情況下,檢查匹配包含首先將同一變換(例如,雜湊)應用於候選值,且接著檢查經變換候選值匹配所記錄認證。
6.1 本端 PUF 系統
藉助於實例,事件日誌可在本端設置情況下發現特定應用程式(參見章節3.2)以防止與對應驗證情境相關之一種類型的中間人攻擊。考慮PUF模組603,例如EPUF 500,其經組配以接收質詢C,可能執行一些計算,且給出可包括計算結果及回應R之回應。
此情形之良好實例將為雜湊訊息鑑認碼(HMAC),其中PUF模組輸出包含HMAC (結果,R),其中回應R用作對稱HMAC密鑰,且訊息為所執行計算之結果。
然而,在此情形中,且在最終驗證將涉及向驗證者103V提供對PUF模組603之實體存取的情況下,PUF模組603亦產生其操作之日誌或記錄可為有益的。此情形之原因在於,對PUF模組603 (例如在IoT裝置上)與向裝置提交所需質詢C之合法所有者之間的不安全質詢執行MiM攻擊的攻擊者可能夠利用替代質詢C'來代替此,其將使得裝置產生回應R'而非R,且潛在地在計算中使用此,而所有者愛麗絲沒有意識到此情形已經發生。
錄誌機制1004可足以以攻擊將在驗證期間經揭示之方式來減輕此攻擊。日誌將影響特定PUF模組603自身之設計,因為吾等可包括用以產生日誌之處理元件及用以記錄日誌之裝置上儲存器1006,如圖10中所展示。
在一個可能實施中,設計中之通用處理器可執行用以產生結果之所要計算以及用以產生日誌之必要邏輯。此設置現意謂可沿著驗證程序記錄及使用由裝置執行之所有操作,以協調裝置可能出乎意料地表現的原因。
應注意,在『本端驗證』情境中,吾等假設在將來的驗證時間,驗證者103V將具有對PUF模組603裝置之完全存取以探測其回應。特徵在於錄誌系統之此替代設置為使得驗證者103V能夠偵測PUF模組603之所有者可能尚未偵測到的歷史中間人攻擊。亦應注意,在例如閉合IoT系統之情況下,驗證者及所有者可為同一方。
在下一章節中,吾等探究在實施例中,可如何具體地藉由將公共區塊鏈饋入至錄誌程序中來強化此錄誌系統。
6.2 PUF 完整性之基於區塊鏈之事件錄誌
本文中針對使用區塊鏈以強化基於PUF之身分系統所揭露之另一態樣在於提供對上文所提及之中間人攻擊的更穩健的緩解,其中吾等引入了內置至PUF裝置以記錄由裝置執行之操作的錄誌系統的概念。
此額外日誌意欲提供藉由修改所提交質詢C以形成經修改質詢C'來阻止任何一方,愛麗絲、鮑勃、TTP或以其他方式執行某種形式之中間人攻擊的手段,意謂由PUF裝置1000給出之回應R'實際上並不對應於預期正確回應R。
日誌藉由確保將偵測在傳輸中(亦即,在通訊期間)對質詢進行之任何修改來緩解此問題。然而,此基於如下假設:在上文所概述之調查重建構程序期間,在查詢日誌之前日誌本身未經篡改。
為解決此問題,實施例因此提供針對此類型之中間人攻擊之更穩固的解決方案,這種攻擊由惡意行動者在PUF裝置1000之壽命期間篡改及更改日誌本身之細節而進行。
為了達成此情形,將錄誌於裝置上之資料提交至區塊鏈150。較佳地,此應週期性地且可能在二個不同時間標度上進行,如圖11中所展示。
在此類實施例中,可首先在處理(i)時提交日誌之內容,藉此由PUF裝置接收之各操作(或由其接收之請求)觸發該裝置以將交易提交至含有此操作或請求之記錄的區塊鏈。如圖11中所展示,此可例如以結果之HMAC的形式進行,該結果可使用PUF自身對請求中之質詢的相關回應進行鍵控。替代地,結果可以類似方式經加密且寫入至區塊鏈。
此外,整個日誌可週期性地寫入至區塊鏈(ii),使得可清除裝置上儲存器(減小裝置之儲存開銷),且使得可在稍後時間點處將由機制(i)進行之較早認證與日誌之狀態進行比較。類似地,此錄誌可經由HMAC、加密或類似方式進行,且吾等並不將(i)或(ii)限於記錄之特定方法。可以任何合適方式將資料記錄於一或多個區塊鏈交易中。
藉由即時地且基於類似週期性檢查點而鏡像記錄於日誌中之結果,吾等可最小化由於惡意篡改裝置上錄誌系統而導致中間人攻擊未被偵測到的風險。此外,藉由謹慎地選擇第二形式之錄誌(ii)之週期性,系統應使得能夠識別可能發生此篡改之特定時間窗。此假設明確地依賴於吾等將區塊鏈用作可靠的時間戳伺服器。
7. 不安全通道上之安全通訊
以上描述已包括PUF裝置603可藉以安全地記錄區塊鏈150上之記錄的實施例。此想法可經擴展以允許任何發送實體(一方或裝置,無論PUF裝置或以其他方式)經由區塊鏈與接收者安全地通訊,即使發送者正在使用發送者與區塊鏈150之間的不安全通道。此上下文中之不安全(或不安全(insecure))意謂易受正發送之訊息的攔截及操縱影響。
圖12中說明潛在問題。下文將參考發送用戶愛麗絲103a及接收用戶鮑勃103b來描述,假設愛麗絲及鮑勃使用其相應電腦裝備102a、102b來執行其相應方法。然而,更一般而言,相同教示可適用於任何發送及接收實體,該等實體中之各者可為使用用戶裝備102之一或多個用戶的一方,或替代地,其可為自主裝置。
已知經由作為通訊媒體之區塊鏈150在二個實體之間進行通訊。如圖12中所展示,發送者愛麗絲發送待藉由對應區塊鏈網路106記錄於區塊鏈150上之交易的有效負載中的訊息M,使得接收者鮑勃可自區塊鏈150讀取訊息。例如,訊息M可藉由在鎖定指令碼中使用OP_RETURN或OP_PUSHDATA作業碼來包括於交易之輸出中。愛麗絲可自己制定交易且藉由將交易發送至區塊鏈網路106來發送訊息M,或可將訊息M發送至將訊息包裹於交易中且向前轉發至區塊鏈網路106的某一中間實體。
無論如何,發送者愛麗絲可能必須經由例如不使用加密之不安全通道1100朝向區塊鏈網路106發送訊息M。此通道可易受惡意方攔截影響,該惡意方可藉由在訊息M到達區塊鏈網路106之前將該訊息M變換成另一訊息M'或利用另一訊息M'替換該訊息M來操縱訊息M。即使通道1100經加密,但此亦不一定阻止惡意方操縱訊息(例如,儘管惡意方將不能夠告知原始訊息之含義,且可能不能夠制定有意義的替代訊息M',但此並不意謂該方仍不能發送無意義訊息M'作為拒絕服務攻擊之部分)。
圖13展示藉由提供一種機制來解決此潛在問題之配置,該機制使得愛麗絲偵測到已發生操縱且在彼情況下停止經由不安全通道發送任何進一步訊息。
愛麗絲以制定第一交易Tx(M
i=1)開始,該第一交易包含其希望發送至鮑勃之第一訊息M
i=1。訊息M
i可例如包括於基於輸出(例如基於UTXO)模型中之交易之輸出中,諸如藉由將其與OP_RETURN或OP_PUSHDATA一起包括於輸出之鎖定指定碼中。例如,其可包括於不可支出輸出中,諸如藉由使用OP_RETURN及OP_FALSE。交易係諸如藉由包括鮑勃之鮑勃可在鏈上識別之位址或鮑勃正在鏈上監視之旗標F而導向至鮑勃。愛麗絲亦對包括訊息之交易進行簽名。亦即,愛麗絲依據其密鑰及交易之至少包含訊息且包括交易中之簽名的一部分而產生簽名。用於對包括交易有效負載之交易進行簽名的方法本身為此項技術中已知的。
一旦形成,愛麗絲便將第一交易發送至區塊鏈網路106之節點104以記錄於區塊鏈150上之區塊151中。其可將交易直接地或經由一或多個中間方發送至節點104。無論如何,愛麗絲之電腦102a與節點104之間的交易路線包含一或多個不安全通道1100,如先前所論述。
為了偵測經由此通道對第一訊息之可能操縱,愛麗絲查詢區塊鏈150以檢查已記錄於鏈上之包括第一訊息的第一交易是否如所預期。其可藉由直接查詢區塊鏈網路106之節點104或將查詢提交至受信任中間服務來進行此操作。查詢可返回訊息、交易識別符或交易自身之複本,愛麗絲或受信任服務將與所發送之訊息、交易ID或交易進行比較。替代地,查詢可返回訊息、交易ID或交易之認證(諸如,其默克爾證明)。作為另一可能性,愛麗絲可檢查其自己的簽名。藉由實施之任何手段,查詢因此使得愛麗絲能夠檢查第一訊息是否已以其發送之形式記錄於鏈上。若否,則此指示第一訊息已經攔截及操縱。
第一訊息M
1可為愛麗絲意欲以如上文所描述之相同方式經由區塊鏈150發送至鮑勃的一系列訊息M
i中的第一個。然而,第二訊息M
2(或任何後續訊息)之發送以訊息在愛麗絲與區塊鏈150之間未經操縱的上述檢查為條件。若否,則愛麗絲將不發送第二訊息M
2或任何後續訊息(至少直至已解決安全性問題之源為止)。在實施例中,查詢及檢查以及其他訊息之阻斷可為藉由愛麗絲之電腦裝備102a自動實施的自動化步驟。愛麗絲亦可告知鮑勃偵測到之操縱,使得鮑勃知曉忽略第一訊息M
1。在一些實施例中,此告知步驟亦可為自動的。
若檢查返回否定結果,亦即基於該查詢判定訊息未經操縱,則愛麗絲可發送第二訊息M
2且潛在地發送另一訊息M
i=3, 4 …等。在細節上作必要修改後,以在第一交易中發送第一訊息之相同方式在第二交易Tx(M
2)中發送第二訊息M
2。第二交易Tx(M
2)不一定支出第一交易Tx(M
1),且不一定依賴於第一交易支出。因此,在基於輸出(例如,基於UTXO)之交易模型中,第二交易不一定具有指向第一交易之輸出的輸入(亦不具有第一交易與第二交易之間的支出圖中之任何交易之輸出)。換言之,該等交易正用於在有效負載中傳達訊息,且該檢查不僅相當於例如在發送支出第一交易之輸出的向前支出交易之前檢查其改變。
另一方面,檢查可返回肯定結果,亦即,基於該查詢,判定訊息已經操縱。換言之,在失敗路線中,愛麗絲得到之回應為「否,我沒有看到此交易」或「否,我對於此交易不具有默克爾證明」之形式,則此意味著愛麗絲之交易經攔截及改變,使得其在程序中失效且不能使其位於鏈上。在此情況下,愛麗絲不發送第二訊息M
2(或至少不經由相同通道)。在實施例中,此可為藉由在愛麗絲之電腦裝備102a上運行之軟體105a置放於第二訊息之發送上的自動區塊。
因此,提供一種確保所傳輸訊息之訊息完整性的驗證演算法之形式。若某人或某一裝置A想將訊息M傳輸至另一方B,但擔心該訊息M經攔截及改變,則其可使用此演算法來確信訊息未經修改。該方法使用區塊鏈作為傳輸者及接收者皆可自區塊鏈讀取之訊息的錨點,但其具有如下額外屬性:若A可自區塊鏈讀取,則其可確信自簽名那刻起沒有訊息被改變。簡而言之,演算法之實施例可如下操作或類似操作。
1. A方及B方想經由不安全通道傳輸。
2. A方建立訊息,在區塊鏈交易中封裝且對交易進行簽名。
3. A方將交易提交至區塊鏈網路。他們可接著查詢區塊鏈以證明尚未修改訊息。例如,他們可針對其交易請求默克爾證明-此作為鮑勃讀取正確訊息之令人信服的證明起作用。其在挖掘者(節點)缺乏信任之情況下工作,因為其使用工作量證明作為證明。
4. A方試圖針對他們所提交之交易驗證默克爾證明:
a. 若成功,則A方繼續傳輸後續訊息而無變化。
b. 否則,A方中止/重新提交(可能向不同挖掘者)/等,且可包括指示第一訊息不成功之新訊息。
簡而言之,此為A方提供一種基於例如默克爾證明之有效性而做出關於如何在通訊通道中進行之決策(步驟4)的方式。
在實施例中,對操縱之相同檢查可在細節上作必要修改後應用於第二交易作為用於發送第三交易之條件等。
在實施例中,一系列訊息M
i=1,2,3, …可包含有意義連結的內容,例如為相同整體通訊之不同封包(例如,書面文檔、視頻或聲音文件等)。
在實施例以及訊息M
i自身中,該系列中之各交易亦可包含相應旗標F
i。鮑勃可在其檢測區塊鏈150時使用此來識別意欲給他之訊息。替代地或另外,鮑勃之位址可包括於各交易中。
鮑勃可使用旗標F
i識別哪些訊息形成一系列之部分及其在該系列中之位置。在實施例中,旗標F
i可為索引值i之函數,其中索引i索引系列內各訊息之位置。用於此之函數可具有愛麗絲及鮑勃所預先已知之預定形式。
在一些此類實施例中,在傳送一系列訊息之前的初始設置階段中,愛麗絲及鮑勃可經由安全旁側通道107在該系列中建立第一旗標F
1。愛麗絲及鮑勃可具有設置臨時安全通道107之資源及能力,但他們可能不能夠稍後繼續使用該通道。舉例而言,安全通道107可為需要例如迪菲-赫爾曼密鑰交換之經加密通道,但愛麗絲及鮑勃可能不能夠在稍後通訊時使用此通道。舉例而言,若任一方將在傳送訊息時對儲存或裝置能力之存取有限,則此可為有用的。例如,也許鮑勃想『脫離柵格』且毀滅所有電子裝置,但仍可到達網際網路咖啡館且偶爾使用旗標檢查區塊鏈。益處為極強的隱私。另一實例為任一方需要在任何時候離線之情況。區塊鏈藉由允許通訊發生而有所幫助,不管接收者在發送訊息時是否在線。
設置階段可包含愛麗絲將第一旗標發送至鮑勃,或鮑勃將第一旗標發送至愛麗絲,或愛麗絲及鮑勃根據相互協定協商第一旗標。用於建立共用秘密之協定本身為此項技術中已知的。使各旗標F
i與索引i相關之函數亦可為系列中之第一旗標F
1或先前旗標F
i-1之函數。因此,安全通道107僅需要在初始設置階段中使用一次,且此後,因為愛麗絲及鮑勃二者知曉使各連續旗標F
i與索引i以及第一或先前旗標相關之函數的形式,所以愛麗絲及鮑勃可改為經由區塊鏈150安全地通訊,且僅鮑勃將能夠判定哪些訊息形成該系列之部分及其進入之次序。
無論是否使用旗標F,當鮑勃在區塊鏈150上識別意欲給他之訊息時,其亦可使用愛麗絲之公用密鑰鑑認簽名。然而,應注意,僅簽名未必提供所要程度之安全性,且因此除了使用簽名以外,在看到第二訊息之前查詢鏈之上述機制亦可為有用的。若訊息已經操縱,則在許多情況下,其將使交易無效且其將決不使交易處於鏈上。因此,在彼情況下,假設鮑勃知曉交易已由愛麗絲進行,則鮑勃看到交易剛剛出現就足以知曉訊息已使其『對於他』未經修改。僅僅在交易(很可能為輸入)中看到簽名及愛麗絲之公用密鑰還不足以確定愛麗絲創建了其,但若他自己驗證了簽名,則他就可確定了。因此,此最後步驟僅僅確證鮑勃知曉他認為給他之訊息的來源確實來自愛麗絲。然而,惡意方可利用以惡意方之公用密鑰進行有效簽名之另一交易替換愛麗絲之交易。此交易將由區塊鏈網路106驗證且記錄於鏈上。鮑勃可基於包括於彼交易中之公用密鑰而驗證簽名,但若他不知曉彼公用密鑰與愛麗絲之真實身分相關聯,則他仍不知曉訊息是否經攔截。亦即,不確定其為愛麗絲之公用密鑰意謂他無法確定訊息未經攔截。
8. 結論
一旦給定本文中之揭露內容,所揭露技術之其他變型或使用案例對於熟習此項技術者可變得顯而易見。本揭露內容之範疇不受所描述實施例限制而僅受隨附申請專利範圍限制。
舉例而言,以上一些實施例已關於比特幣網路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;以及一或多個外層組件,其提供用於將該輸入質詢輸入至該PUF模組之該內部介面邏輯及收回藉由該內部介面邏輯輸出之該輸出回應的一不安全通道之至少部分;其中該等外層組件中之至少一者易受一惡意程序對該輸入質詢及/或輸出回應之操縱影響,但包括該內部PUF介面邏輯之該PUF模組囊封於該裝置之一外殼內且與該一或多個外層組件分離,且因此受保護以免受該惡意程序之操縱;且其中該內部PUF介面邏輯包含一錄誌機制,其經配置以將該輸入質詢及/或輸出回應的一記錄自動地錄誌於一日誌媒體中。
陳述項2 如陳述項1之裝置,其中該內部介面邏輯部分或完全地實施於在該裝置之一處理器上運行之韌體中。
陳述項3 如陳述項2之裝置,其中該韌體部分或完全地儲存於唯讀記憶體ROM中。
陳述項4 如陳述項1或2之裝置,其中該韌體部分或完全地實施於一安全內核中。
陳述項5 如任一前述陳述項之裝置,其中該內部介面邏輯實施於固定功能硬體電路系統中。
陳述項6 如任一前述陳述項之裝置,其中該至少一個外層組件包含用於自該裝置外部之一源接收該輸入質詢及/或將該輸出回應供應至該裝置外部之一目的地的一外部介面,該至少一個外層組件易受其影響之該惡意程序包含對該源與該外部介面之間的該輸入質詢及/或輸出回應之攔截及操縱。
陳述項7 如陳述項6之裝置,其中該源位於該裝置本端,該外部介面可操作以在不經由一網路傳輸之情況下接收該輸入質詢。
陳述8 如陳述6之裝置,其中該源遠離該裝置,該外部介面可操作以經由一網路自該源接收該輸入質詢。
陳述項9 如陳述項6至8中任一項之裝置,其中該裝置包含一專用PUF裝置。
陳述項10 如陳述項1至8中任一項之裝置,其中該至少一個外層組件包含在該裝置之該外殼內的一處理器上運行之一應用程式,其中該應用程式經組配以產生該輸入質詢,該至少一個外層組件易受其影響之該惡意程序包含在與該應用程式相同之處理器上運行以操縱該輸入質詢之惡意軟體。
陳述項11 如陳述項10之裝置,其中該內部介面邏輯經配置以在與該應用程式分離之一處理器上運行。
陳述項12 如陳述項10之裝置,其中該內部介面邏輯經配置以在與該應用程式相同之處理器上但在一安全處理器之一特權域中運行,而該應用程式在一應用程式域中運行。
陳述項13 如陳述項10至12中任一項之裝置,其中該裝置包含一事件資料記錄器EDR,且該應用程式包含一EDR應用程式。
陳述項14 如陳述項13之裝置,其中該應用程式經組配以產生該EDR經組配以監測之一系統之一結果,且該EDR經組配以記錄該結果及將該輸出回應映射至該結果之一標籤。
陳述項15 如陳述項14之裝置,其中該標籤包含:一密碼簽名,其藉由利用該輸出回應對該結果進行簽名而產生;或一基於雜湊之訊息鑑認碼HMAC,其依據該結果及該輸出回應而產生。
陳述項16 如陳述項14或15之裝置,其中該輸入質詢包含由該應用程式使用之表示正被監測之該系統之一狀態的有意義資料。
陳述項17 如陳述項16之裝置,其中該結果取決於該資料。
陳述項18 如陳述項13至17中任一項之裝置,其中該EDR為一載具之一EDR,該EDR經組配以監測之該系統包含該載具之一系統。
陳述項19 如任一前述陳述項之裝置,其中該一或多個外層組件實施於與該PUF模組相同之外殼中。
陳述項20 如任一前述陳述項之裝置,其中該PUF模組包含一擴展PUF模組,其中該輸入質詢為一次要質詢,且該輸出回應為一次要回應;且該內部PUF介面邏輯經組配以將一質詢輸入至該PUF中以產生一主要回應,且將該次要回應判定為該主要回應及該次要質詢之一判定性變換。
陳述項21 如陳述項20之裝置,其中該判定性變換包含一雜湊函數。
陳述項22 如陳述項1至19中任一項之裝置,其中該介面邏輯經組配以將該輸入質詢直接輸入至該PUF且依據該輸入回應直接自該PUF接收該輸出回應。
陳述項23 如任一前述陳述項之裝置,其中該日誌媒體包含該裝置之一本端記憶體。
陳述項24 如陳述項23之裝置,其中該本端記憶體為作為一次寫入記憶體之一防篡改記憶體,及/或嵌入於該介面邏輯中。
陳述項25 如任一前述陳述項之裝置,其中該PUF介面邏輯經組配以錄誌該記錄之該日誌媒體包含:該裝置外部之一公開可存取媒體。
陳述項26 如陳述項25之裝置,其中該PUF介面邏輯經組配以錄誌該記錄之該公開可存取媒體包含:一區塊鏈。
陳述項27 如任一前述陳述項之裝置,其中該內部PUF介面邏輯經組配以回應於個別輸入質詢之輸入而即時地執行該記錄之該錄誌。
陳述項28 如任一前述陳述項之裝置,其中該內部PUF介面邏輯經組配以週期性地錄誌在一週期性時間窗之各例項期間所接收的任何輸入質詢及/或所產生的輸出回應。
陳述項29 如至少依附於陳述項23、25及27之陳述項28之裝置,其中該內部PUF介面邏輯經組配以回應於該個別輸入質詢之該輸入而將該記錄即時地錄誌於該本端記憶體中,且亦執行對該公開可存取媒體之週期性錄誌。
陳述項30 如陳述項29之裝置,其中該錄誌機制進一步經組配以一旦錄誌至該公開可存取媒體,就週期性地自該本端記憶體清除所錄誌之質詢及/或回應。
陳述項31 如陳述項25或依附於其之任一後續陳述之裝置,其中該錄誌機制經組配以回應於該個別輸入質詢之該輸入而將該記錄即時地記錄至該公開可存取媒體。
陳述項32 如任一前述陳述項之裝置,其中該內部PUF介面邏輯經組配以錄誌至少該輸入質詢之該記錄。
陳述項33 如任一前述陳述項之裝置,其中該內部PUF介面邏輯經組配以錄誌至少該輸出回應之該記錄。
陳述項34 如任一前述陳述項之裝置,其中錄誌機制經組配以針對其該錄誌將該記錄輸出於一封包中,該封包進一步包含基於應用於包含該記錄之該封包之至少部分的該錄誌機制之一密碼編譯密鑰而產生的一簽名。
陳述項35 如至少依附於陳述項26之陳述項34之裝置,其中該封包包含一區塊鏈交易,該記錄包括於該區塊鏈交易之一輸出中,且該簽名包括於該交易之一輸入中。
陳述項36 一種使用如任一前述陳述項之裝置之方法,該方法包含:在將該輸入質詢及/或輸出回應之該記錄已錄誌於該日誌媒體中之後,經由該外層之該不安全通道將一候選質詢輸入至該裝置以便使得該PUF模組產生一候選回應,且經由該不安全通道返回該候選回應;藉由對照錄誌於該日誌媒體中之原始輸入質詢的記錄而檢查該候選質詢,及/或藉由對照錄誌於該日誌媒體中之原始輸出回應的該記錄而檢查該候選回應來檢查操縱之證據。
陳述項37 如陳述項36之方法,其中該檢查至少包含:檢查該候選質詢匹配如記錄於該日誌媒體中之一輸入質詢之該記錄。
陳述項38 如陳述項36或37之方法,其中該內部PUF介面邏輯進一步經組配以錄誌該候選回應之一記錄,且該檢查至少包含:檢查所錄誌的該候選回應之記錄匹配如輸入至該裝置之該候選回應。
陳述項39 如陳述項35至38中任一項之方法,其中該檢查至少包含:檢查該候選回應匹配如記錄於該日誌媒體中之該原始輸出回應之該記錄。
陳述項40 如陳述項36至39中任一項之方法,其中該方法為使用如請求項14之裝置或如依附於其之任一裝置請求項的方法,該方法包含:驗證該裝置為藉由基於該候選結果而驗證該標籤來產生該結果之該裝置。
陳述項41 一種電腦裝備,其包含:記憶體,其包含一或多個記憶體單元;以及處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在該處理設備上運行之程式碼,該程式碼經組配以便在處於該處理設備上時執行如陳述項36至40中任一項之方法。
陳述項42 一種電腦程式,其體現於一非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如陳述項36至40中任一項之方法。
陳述項43 一種電腦實施方法,其包含藉由一第一實體進行以下操作:發送待記錄於一區塊鏈上之一第一訊息傳遞交易,該第一訊息傳遞交易包含一第一訊息,及將該第一訊息導向至一第二實體之各別資訊,使得該第二實體可識別該區塊鏈上之該第一訊息;提交一查詢,以檢查該第一訊息已在無操縱之情況下記錄於該區塊鏈上;以及在根據該查詢判定該第一訊息已在無操縱之情況下記錄於該區塊鏈上的條件下,發送待記錄於該區塊鏈上之一第二訊息傳遞交易,該第二訊息傳遞交易包含一第二訊息,及將該第二訊息導向至該第二實體之各別資訊,使得該第二實體可識別該區塊鏈上之該第一訊息。
陳述項44 如陳述項43之方法,其中該第一訊息傳遞交易包含指向一第一融資交易之一輸出的一輸入,且該第二訊息傳遞交易包含指向一第二融資交易之一輸出的一輸入且沒有指向該第一訊息傳遞交易之任何輸出的輸入。
陳述項45 如陳述項43或44之方法,其中:該第一訊息及該第二訊息為二個或更多個訊息之一序列中之連續訊息,各自在該序列內具有一相關聯索引,且各自藉由該第一實體在一各別訊息傳遞交易中發送以記錄於該區塊鏈上,各訊息傳遞交易包含使得該第二實體能夠識別該區塊鏈上之該訊息的各別資訊;各訊息中之該各別資訊包含為以下各者之一函數的一旗標:i)該相關聯索引,及ii)該序列中之第一旗標或一先前旗標,該函數之一形式為該第一實體及該第二實體中之各者已知;且該方法包含一初始設置階段,其中該第一實體及該第二實體同意該第一訊息之該旗標,藉此使得其能夠基於該函數之該形式、該第一旗標及各訊息之該索引而隨後使用訊息之該序列經由該區塊鏈進行通訊。
陳述項46 一種電腦裝備,其包含:記憶體,其包含一或多個記憶體單元;以及處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在該處理設備上運行之程式碼,該程式碼經組配以便在處於該處理設備上時執行如陳述項43至45中任一項之方法。
陳述項47 一種電腦程式,其體現於一非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如陳述項43至45中任一項之方法。
100:系統
101:封包交換網路
102,102a,102b,102T,102V:電腦裝備
103,103a,103b:用戶
103S:提交方
103T:目標方
103V:驗證方
104:區塊鏈節點,比特幣節點
105,105a:軟體
106:同級間網路,區塊鏈網路,比特幣網路
107:旁側通道
150:區塊鏈,比特幣區塊鏈
151:資料區塊鏈,區塊
151n,151n-1:區塊
152,152i,152j:交易
152M,152U:修改者交易
152S:儲存交易
153:起源區塊
154:有序集合,有序集區
155:區塊指標
201:標頭
202:輸入,輸入欄位,受信任第三方服務
203:輸出,輸出欄位
302:實體不可仿製功能
402:處理器
404,404':介面邏輯
406:存取控制邏輯,控制邏輯元件,控制邏輯模組
500:擴展實體不可仿製功能
502:變換函數,強PUF,模組
504:變換邏輯
601:回應資料儲存器
602:第三方電腦裝備,第三方系統
603:實體不可仿製功能模組,嵌入式PUF模組,PUF裝置
702:設置階段
704:驗證階段
710,720,730,740,750,760,770:步驟
802:識別資訊,資料元素
804:組合,程序A
806:識別資訊,識別資料
901,901':回應資料
903:PUF模組
1000:裝置,EDR
1001:外殼
1002:外層組件
1004:錄誌機制
1006:日誌媒體,錄誌機制,裝置上儲存器
1100:通道
C:質詢
C':候選質詢
C1:第一質詢
C2:第二質詢
Ci:次要質詢
Cm:主質詢
Cw:主要質詢
F,Fi,Fi-1:旗標
F1:第一旗標
M,M':訊息
M1,Mi=1:第一訊息
M2:第二訊息
R:回應,結果
R':候選結果,候選回應
Ri:次要回應
Rw:主要回應
為了輔助理解本揭露內容之實施例且展示此類實施例可如何付諸實施,僅藉助於實例參考隨附圖式,在隨附圖式中:
圖1為用於實施區塊鏈之系統的示意性方塊圖,
圖2示意性地說明可記錄於區塊鏈中之交易的一些實例,
圖3示意性地說明PUF之質詢及回應,
圖4為包含PUF之系統的示意性方塊圖,
圖5A為根據本文中所揭露之實施例之擴展PUF的示意性方塊圖,
圖5B為在非擴展操作模式中之擴展PUF的示意性方塊圖,
圖6為在分佈質詢-回應對時涉及受信任第三方或公共媒體之系統的示意性說明,
圖7為根據本文中所揭露之實施例之驗證程序的示意性流程圖,
圖8A至圖8C示意性地說明根據本文中所揭露之實施例的自主質詢產生質詢集合之方法,
圖9示意性地說明將回應資料記錄於鏈上之方法,
圖10為包含嵌入式PUF模組之裝置的示意性方塊圖,
圖11為展示將記錄錄誌於區塊鏈上之PUF裝置的示意性方塊圖,
圖12為展示經由不安全通道及區塊鏈進行通訊的示意性方塊圖,以及
圖13為對涉及不安全通道之通訊提供保護之系統的示意性方塊圖。
302:實體不可仿製功能
404':介面邏輯
406:存取控制邏輯
500:擴展實體不可仿製功能
502:變換函數
603:實體不可仿製功能模組
1000:裝置
1001:外殼
1002:外層組件
1004:錄誌機制
1006:日誌媒體
Ci:次要質詢
Cw:主要質詢
Ri:次要回應
Rw:主要回應
Claims (47)
- 一種裝置,其包含: 一實體不可仿製功能PUF模組,其包含一PUF及內部PUF介面邏輯,該內部PUF介面邏輯經配置以接收一輸入質詢且輸出作為該輸入質詢之一判定性功能的一輸出回應,該判定性功能包含該PUF;以及 一或多個外層組件,其提供用於將該輸入質詢輸入至該PUF模組之該內部介面邏輯及收回藉由該內部介面邏輯輸出之該輸出回應的一不安全通道之至少部分; 其中該等外層組件中之至少一者易受一惡意程序對該輸入質詢及/或輸出回應之操縱影響,但包括該內部PUF介面邏輯之該PUF模組囊封於該裝置之一外殼內且與該一或多個外層組件分離,且因此受保護以免受該惡意程序之操縱;且 其中該內部PUF介面邏輯包含一錄誌機制,其經配置以將該輸入質詢及/或輸出回應的一記錄自動地錄誌於一日誌媒體中。
- 如請求項1之裝置,其中該內部介面邏輯部分或完全地實施於在該裝置之一處理器上運行之韌體中。
- 如請求項2之裝置,其中該韌體部分或完全地儲存於唯讀記憶體ROM中。
- 如請求項1或2之裝置,其中該韌體部分或完全地實施於一安全內核中。
- 如任一前述請求項之裝置,其中該內部介面邏輯實施於固定功能硬體電路系統中。
- 如任一前述請求項之裝置,其中該至少一個外層組件包含用於自該裝置外部之一源接收該輸入質詢及/或將該輸出回應供應至該裝置外部之一目的地的一外部介面,該至少一個外層組件易受其影響之該惡意程序包含對該源與該外部介面之間的該輸入質詢及/或輸出回應之攔截及操縱。
- 如請求項6之裝置,其中該源位於該裝置本端,該外部介面可操作以在不經由一網路傳輸之情況下接收該輸入質詢。
- 如請求項6之裝置,其中該源遠離該裝置,該外部介面可操作以經由一網路自該源接收該輸入質詢。
- 如請求項6至8中任一項之裝置,其中該裝置包含一專用PUF裝置。
- 如請求項1至8中任一項之裝置,其中該至少一個外層組件包含在該裝置之該外殼內的一處理器上運行之一應用程式,其中該應用程式經組配以產生該輸入質詢,該至少一個外層組件易受其影響之該惡意程序包含在與該應用程式相同之處理器上運行以操縱該輸入質詢之惡意軟體。
- 如請求項10之裝置,其中該內部介面邏輯經配置以在與該應用程式分離之一處理器上運行。
- 如請求項10之裝置,其中該內部介面邏輯經配置以在與該應用程式相同之處理器上但在一安全處理器之一特權域中運行,而該應用程式在一應用程式域中運行。
- 如請求項10至12中任一項之裝置,其中該裝置包含一事件資料記錄器EDR,且該應用程式包含一EDR應用程式。
- 如請求項13之裝置,其中該應用程式經組配以產生該EDR經組配以監測之一系統之一結果,且該EDR經組配以記錄該結果及將該輸出回應映射至該結果之一標籤。
- 如請求項14之裝置,其中該標籤包含:一密碼簽名,其藉由利用該輸出回應對該結果進行簽名而產生;或一基於雜湊之訊息鑑認碼HMAC,其依據該結果及該輸出回應而產生。
- 如請求項14或15之裝置,其中該輸入質詢包含由該應用程式使用之表示正被監測之該系統之一狀態的有意義資料。
- 如請求項16之裝置,其中該結果取決於該資料。
- 如請求項13至17中任一項之裝置,其中該EDR為一載具之一EDR,該EDR經組配以監測之該系統包含該載具之一系統。
- 如任一前述請求項之裝置,其中該一或多個外層組件實施於與該PUF模組相同之外殼中。
- 如任一前述請求項之裝置,其中該PUF模組包含一擴展PUF模組,其中該輸入質詢為一次要質詢,且該輸出回應為一次要回應;且該內部PUF介面邏輯經組配以將一質詢輸入至該PUF中以產生一主要回應,且將該次要回應判定為該主要回應及該次要質詢之一判定性變換。
- 如請求項20之裝置,其中該判定性變換包含一雜湊函數。
- 如請求項1至19中任一項之裝置,其中該介面邏輯經組配以將該輸入質詢直接輸入至該PUF且依據該輸入回應直接自該PUF接收該輸出回應。
- 如任一前述請求項之裝置,其中該日誌媒體包含該裝置之一本端記憶體。
- 如請求項23之裝置,其中該本端記憶體為作為一次寫入記憶體之一防篡改記憶體,及/或嵌入於該介面邏輯中。
- 如任一前述請求項之裝置,其中該PUF介面邏輯經組配以錄誌該記錄之該日誌媒體包含:該裝置外部之一公開可存取媒體。
- 如請求項25之裝置,其中該PUF介面邏輯經組配以錄誌該記錄之該公開可存取媒體包含:一區塊鏈。
- 如任一前述請求項之裝置,其中該內部PUF介面邏輯經組配以回應於個別輸入質詢之輸入而即時地執行該記錄之該錄誌。
- 如任一前述請求項之裝置,其中該內部PUF介面邏輯經組配以週期性地錄誌在一週期性時間窗之各例項期間所接收的任何輸入質詢及/或所產生的輸出回應。
- 如至少依附於請求項23、25及27之請求項28之裝置,其中該內部PUF介面邏輯經組配以回應於該個別輸入質詢之該輸入而將該記錄即時地錄誌於該本端記憶體中,且亦執行對該公開可存取媒體之週期性錄誌。
- 如請求項29之裝置,其中該錄誌機制進一步經組配以一旦錄誌至該公開可存取媒體,就週期性地自該本端記憶體清除所錄誌之質詢及/或回應。
- 如請求項25或依附於其之任一後續請求項之裝置,其中該錄誌機制經組配以回應於該個別輸入質詢之該輸入而將該記錄即時地錄誌至該公開可存取媒體。
- 如任一前述請求項之裝置,其中該內部PUF介面邏輯經組配以錄誌至少該輸入質詢之該記錄。
- 如任一前述請求項之裝置,其中該內部PUF介面邏輯經組配以錄誌至少該輸出回應之該記錄。
- 如任一前述請求項之裝置,其中錄誌機制經組配以針對其該錄誌將該記錄輸出於一封包中,該封包進一步包含基於應用於包含該記錄之該封包之至少部分的該錄誌機制之一密碼編譯密鑰而產生的一簽名。
- 如至少依附於請求項26之請求項34之裝置,其中該封包包含一區塊鏈交易,該記錄包括於該區塊鏈交易之一輸出中,且該簽名包括於該交易之一輸入中。
- 一種使用如任一前述請求項之裝置之方法,該方法包含: 在該輸入質詢及/或輸出回應之該記錄已錄誌於該日誌媒體中之後,經由該外層之該不安全通道將一候選質詢輸入至該裝置以便使得該PUF模組產生一候選回應,且經由該不安全通道返回該候選回應; 藉由對照錄誌於該日誌媒體中之原始輸入質詢的記錄而檢查該候選質詢,及/或藉由對照錄誌於該日誌媒體中之原始輸出回應的該記錄而檢查該候選回應來檢查操縱之證據。
- 如請求項36之方法,其中該檢查至少包含:檢查該候選質詢匹配如記錄於該日誌媒體中之一輸入質詢之該記錄。
- 如請求項36或37之方法,其中該內部PUF介面邏輯進一步經組配以錄誌該候選回應之一記錄,且該檢查至少包含:檢查所錄誌的該候選回應之該記錄匹配如輸入至該裝置之該候選回應。
- 如請求項35至38中任一項之方法,其中該檢查至少包含:檢查該候選回應匹配如記錄於該日誌媒體中之該原始輸出回應之該記錄。
- 如請求項36至39中任一項之方法,其中該方法為使用如請求項14之裝置或如依附於其之任一裝置請求項的方法,該方法包含: 驗證該裝置為藉由基於該候選結果而驗證該標籤來產生該結果之該裝置。
- 一種電腦裝備,其包含: 記憶體,其包含一或多個記憶體單元;以及 處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在該處理設備上運行之程式碼,該程式碼經組配以便在處於該處理設備上時執行如請求項36至40中任一項之方法。
- 一種電腦程式,其體現於一非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如請求項36至40中任一項之方法。
- 一種電腦實施方法,其包含藉由一第一實體進行以下操作: 發送待記錄於一區塊鏈上之一第一訊息傳遞交易,該第一訊息傳遞交易包含一第一訊息,及發送將該第一訊息導向至一第二實體之各別資訊,使得該第二實體可識別該區塊鏈上之該第一訊息; 提交一查詢,以檢查該第一訊息已在無操縱之情況下記錄於該區塊鏈上;以及 在根據該查詢判定該第一訊息已在無操縱之情況下記錄於該區塊鏈上的條件下,發送待記錄於該區塊鏈上之一第二訊息傳遞交易,該第二訊息傳遞交易包含一第二訊息,及發送將該第二訊息導向至該第二實體之各別資訊,使得該第二實體可識別該區塊鏈上之該第一訊息。
- 如請求項43之方法,其中該第一訊息傳遞交易包含指向一第一融資交易之一輸出的一輸入,且該第二訊息傳遞交易包含指向一第二融資交易之一輸出的一輸入且沒有指向該第一訊息傳遞交易之任何輸出的輸入。
- 如請求項43或44之方法,其中: 該第一訊息及該第二訊息為二個或更多個訊息之一序列中之連續訊息,各自在該序列內具有一相關聯索引,且各自藉由該第一實體在一各別訊息傳遞交易中發送以記錄於該區塊鏈上,各訊息傳遞交易包含使得該第二實體能夠識別該區塊鏈上之該訊息的各別資訊; 各訊息中之該各別資訊包含為以下各者之一函數的一旗標:i)該相關聯索引,及ii)該序列中之第一旗標或一先前旗標,該函數之一形式為該第一實體及該第二實體中之各者已知;且 該方法包含一初始設置階段,其中該第一實體及該第二實體同意該第一訊息之該旗標,藉此使得其能夠基於該函數之該形式、該第一旗標及各訊息之該索引而隨後使用訊息之該序列經由該區塊鏈進行通訊。
- 一種電腦裝備,其包含: 記憶體,其包含一或多個記憶體單元;以及 處理設備,其包含一或多個處理單元,其中該記憶體儲存經配置以在該處理設備上運行之程式碼,該程式碼經組配以便在處於該處理設備上時執行如請求項43至45中任一項之方法。
- 一種電腦程式,其體現於一非暫時性電腦可讀媒體上且經組配以便在運行於一或多個處理器上時執行如請求項43至45中任一項之方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2102283.5A GB2604104A (en) | 2021-02-18 | 2021-02-18 | Digital security systems and methods |
GB2102283.5 | 2021-02-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202234269A true TW202234269A (zh) | 2022-09-01 |
Family
ID=75339284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111102445A TW202234269A (zh) | 2021-02-18 | 2022-01-20 | 數位安全系統及方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20240235857A9 (zh) |
EP (1) | EP4295343A1 (zh) |
JP (1) | JP2024506738A (zh) |
KR (1) | KR20230146596A (zh) |
CN (1) | CN116897381A (zh) |
GB (1) | GB2604104A (zh) |
TW (1) | TW202234269A (zh) |
WO (1) | WO2022175001A1 (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2384158A1 (en) * | 1999-09-10 | 2001-03-15 | David Solo | System and method for providing certificate validation and other services |
GB201721036D0 (en) * | 2017-12-15 | 2018-01-31 | Ttp Plc | Physically unclonable function device |
WO2020183035A1 (es) * | 2019-03-11 | 2020-09-17 | Signe,S.A. | Método de autenticación inclonable para verificación de identidad digital basado en dispositivos con chips de funciones físicamente inclonables |
-
2021
- 2021-02-18 GB GB2102283.5A patent/GB2604104A/en active Pending
-
2022
- 2022-01-18 KR KR1020237031362A patent/KR20230146596A/ko unknown
- 2022-01-18 WO PCT/EP2022/050955 patent/WO2022175001A1/en active Application Filing
- 2022-01-18 EP EP22704282.7A patent/EP4295343A1/en active Pending
- 2022-01-18 US US18/277,561 patent/US20240235857A9/en active Pending
- 2022-01-18 CN CN202280015675.6A patent/CN116897381A/zh active Pending
- 2022-01-18 JP JP2023549922A patent/JP2024506738A/ja active Pending
- 2022-01-20 TW TW111102445A patent/TW202234269A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
GB2604104A (en) | 2022-08-31 |
GB202102283D0 (en) | 2021-04-07 |
JP2024506738A (ja) | 2024-02-14 |
EP4295343A1 (en) | 2023-12-27 |
WO2022175001A1 (en) | 2022-08-25 |
US20240137228A1 (en) | 2024-04-25 |
CN116897381A (zh) | 2023-10-17 |
US20240235857A9 (en) | 2024-07-11 |
KR20230146596A (ko) | 2023-10-19 |
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 | |
TW202230397A (zh) | 實體不可仿製之功能 | |
US20230370288A1 (en) | Physically unclonable functions storing response values on a blockchain | |
TW202234269A (zh) | 數位安全系統及方法 |