TW201843978A - 使用受信任硬體的安全動態臨限簽名方法 - Google Patents

使用受信任硬體的安全動態臨限簽名方法 Download PDF

Info

Publication number
TW201843978A
TW201843978A TW107113961A TW107113961A TW201843978A TW 201843978 A TW201843978 A TW 201843978A TW 107113961 A TW107113961 A TW 107113961A TW 107113961 A TW107113961 A TW 107113961A TW 201843978 A TW201843978 A TW 201843978A
Authority
TW
Taiwan
Prior art keywords
signature
group
computer
node
nodes
Prior art date
Application number
TW107113961A
Other languages
English (en)
Other versions
TWI754046B (zh
Inventor
湯瑪斯 崔維斯
Original Assignee
安地卡及巴布達商區塊鏈控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 安地卡及巴布達商區塊鏈控股有限公司 filed Critical 安地卡及巴布達商區塊鏈控股有限公司
Publication of TW201843978A publication Critical patent/TW201843978A/zh
Application granted granted Critical
Publication of TWI754046B publication Critical patent/TWI754046B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

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

Abstract

本發明之提供經由使用密碼編譯技術加強之增強安全性解決方法。並用於產生一橢圓曲線數位簽名演算法簽名(r,w)之方法及裝置。其方法包括:i)藉由一節點與其他節點形成簽名群組;ii)藉由該節點基於安全隨機數而獲得:a)該安全隨機數之乘法逆元素;及b)第一簽名分量r,其中該第一簽名分量係基於該安全隨機數及橢圓曲線產生器點而判定;iii)藉由該節點基於私用秘密份額、該安全隨機數之該乘法逆元素及該第一簽名分量而判定一部分簽名;iv)藉由該節點自該簽名群組之其他節點接收部分簽名;及v)藉由該節點判定及接收之部分簽名而產生第二簽名分量w。

Description

使用受信任硬體的安全動態臨限簽名方法
本發明大體上係關於電腦實施安全性技術,包括使用密碼編譯簽名來保證經由電腦網路交換或傳輸之資源的安全且加強該等資源的安全性。本發明亦係關於分散式總帳(區塊鏈)技術,且更特定而言,係關於用於經由與數位總帳相關聯或經由數位總帳執行之交換或傳送來提供非集中式控制的方法及系統。本發明尤其適合但不限於允許群組之臨限數目個成員代表彼群組產生有效的密碼編譯簽名。
在此文件中,吾人使用術語「區塊鏈」來包括所有形式的基於電腦之電子分散式總帳。此等總帳包括但不限於區塊鏈及交易鏈技術、許可及未許可總帳、共用總帳及其變化。區塊鏈技術之最廣泛已知的應用係比特幣總帳,但已提議並開發出其他區塊鏈實施。雖然可出於方便及說明之目的而在本文中提及比特幣,但應注意,本發明不限於與比特幣區塊鏈一起使用,且替代區塊鏈實施及協定處於本發明之範圍內。
區塊鏈係基於共識之電子總帳,其實施為由區塊組成的基於電腦的非集中式的分散式系統,區塊又由交易及其他資訊組成。在比特幣之狀況下,每一交易係編碼區塊鏈系統中之參與者之間的數位資產之控制傳送的資料結構,且包括至少一個輸入及至少一個輸出。每一區塊含有先 前區塊之散列,使得該等區塊變為鏈接在一起以產生自一開始就已寫入至區塊鏈之所有交易的永久性不可變更之記錄。交易含有嵌入至其輸入及輸出中的被稱為指令碼的小型程式,其指定可如何及由誰存取交易之輸出。在比特幣平台上,此等指令碼係使用基於堆疊之指令碼處理語言來撰寫。
為了將交易寫入至區塊鏈,必須「驗證」交易。一些網路節點充當挖掘者(miner)且執行工作以確保每一交易有效,其中無效交易被網路拒絕。舉例而言,安裝於節點上之軟體用戶端對參考未用交易輸出(UTXO)之交易執行此驗證工作。驗證可藉由執行交易之鎖定及解除鎖定指令碼來執行。若鎖定及解除鎖定指令碼之執行評估為真,且若滿足某些其他條件,則交易有效且交易可寫入至區塊鏈。因此,為了使交易寫入至區塊鏈,該交易必須i)藉由在交易經驗證之情況下接收該交易的節點驗證,該節點將該交易中繼傳輸至網路中之其他節點;及ii)新增至藉由挖掘者建置之新區塊;及iii)經挖掘,亦即,新增至過去交易之公用總帳。當足夠數目個區塊經新增至區塊鏈以使交易實際上不可逆時,該交易被視為經確認。
區塊鏈協定有時提供多方簽名特徵,其在移除未用輸出(UTXO)上之負擔(encumbrance)之前需要來自數個節點或數方之簽名。舉例而言,比特幣之多重簽名特徵提供此功能性。多重簽名指令碼可設定條件,其中N個公用密鑰記錄於鎖定指令碼中且各自與N個公用密鑰中之各別者相關聯的至少M個私用密鑰必須提供簽名以釋放負擔,亦即,解除鎖定UTXO。此類簽名方法供應有利的安全性益處,且藉由實現對UTXO之鎖定或解除鎖定的更精細且複雜程度的控制來提供對UTXO的增強控制。然而,已知的多重簽名技術供應有限功能性,此係因為其不允許必須促成簽名產生之多方在鎖定指令碼經組態之後改變。因此,需要用於控制電子資源,諸如經由區塊鏈及其他網路傳送之彼等資源的改良安全性機制。
因此,根據本發明,提供一種如隨附申請專利範圍所定義之方法。
如下文將更詳細地描述,動態多方臨限簽名方法允許在單一公用密鑰下,但在每一群組成員持有一私用秘密之情況下控制待在參與者之群組當中共用的資源(例如,區塊鏈交易輸出UTXO)。需要參與者之臨限子集共同地進行簽名以便花用該輸出。有利地,描述數位簽名方法,其允許產生有效簽名而不需要促成簽名產生之參與者中之任一者顯露其各別私用秘密。受信任執行環境可用以向臨限簽名方法供應安全性。
有利地,描述用於以允許用於群組之單一公用密鑰保持相同的方式使參與者登入及除名的技術。受信任執行環境用以實現對群組成員之安全修改而不必改變用於該群組之單一公用密鑰。
因此,根據本發明,可提供一種電腦實施方法。其可描述為一種安全性或控制方法。該方法可經配置以保證資源之安全或控制資源。該方法可經配置以控制對資源之存取。受控制資源可係儲存於電腦或網路上或經由電腦或網路傳輸之電子資源、實體或項目。在一些狀況下,該資源可被稱作「數位資產」、「輸出」、「密碼貨幣之一部分」或「UTXO」。本發明可經配置以控制對資源之存取或傳送。本發明可經配置以鎖定或解除鎖定對資源之存取或控制。在一些狀況下,術語「花用」可用以指解除鎖定資源,亦即,准許控制或存取該資源。
該方法可係密碼編譯加強方法。另外或替代地,其可描述為用於產生橢圓曲線數位簽名演算法簽名之方法。該簽名可包含第一簽名分量r及第二簽名分量w。該方法可藉由諸如區塊鏈網路之網路中的一或多個節點實施。
該方法可包括:i)藉由一節點與其他節點形成一簽名群組;ii)藉由該節點基於一安全隨機數而獲得:a)該安全隨機數之一乘法逆元素;及b)第一簽名分量r,其中該第一簽名分量係基於該安全隨機數及一橢圓曲線產生器點而判定;iii)藉由該節點基於一私用秘密份額、該安全隨機數之該乘法逆元素及該第一簽名分量而判定一部分簽名;iv)藉由該節點自該簽名群組之其他節點接收部分簽名;及v)藉由該節點基於經判定及接收之部分簽名而產生第二簽名分量w。
該方法可包含使用簽名控制經由一電腦實施網路對一資源之存取或傳送。此網路可係一區塊鏈網路。
在一些實施中,獲得包括產生該乘法逆元素及該第一簽名分量。該方法亦可包括將該乘法逆元素發送至該等其他節點。
在一些實施中,獲得包括佈建與該節點之一受信任執行環境(TEE)相關聯的一指定位址空間(enclave)以產生該安全隨機數。
在一些實施中,獲得包含自該等其他節點中之一者接收該乘法逆元素及該第一簽名分量。
在一些實施中,該方法包括在形成該簽名群組之前發信參與分散式簽名產生之一意圖。
在一些實施中,該部分簽名係在與該節點之一受信任執行環境相關聯的一指定位址空間內判定。
在一些實施中,該部分簽名係藉由執行拉格朗日內插來判定。
在一些實施中,該第二簽名分量係在與一受信任執行環境相關聯之一指定位址空間內產生,且該方法進一步包括在產生該第二簽名分量之後,將橢圓曲線數位簽名演算法自該指定位址空間發送至該節點之一 主機部分。
在一些實施中,該方法進一步包括將該簽名新增至一區塊鏈交易及將其廣播至一區塊鏈網路。
在一些實施中,該方法進一步包括在形成該簽名群組之前,基於自一群組之複數個現存成員接收到之秘密份額資料而獲得該秘密份額。
在一些實施中,該秘密份額係在與該節點之一受信任執行環境相關聯的一指定位址空間內判定。
在一些實施中,該部分簽名vi判定為:v i =k -1 rb i s i mod p,其中b i 係一拉格朗日內插係數,k -1係該安全隨機數之該乘法逆元素,s i 係該秘密份額,r係該第一簽名分量且p係一階數。
根據本發明,可提供一種電子裝置。上文關於本發明之方法所描述的任何特徵亦可適用於根據本發明配置之裝置。該裝置可經配置以實施或執行上文所描述之方法的任何實施例。該電子裝置包括一介面裝置、耦接至該介面裝置之一處理器及耦接至該處理器之一記憶體。該記憶體可具有儲存於其上之電腦可執行指令,該等指令在經執行時組態該處理器以執行本文中所描述之方法。
根據本發明,可提供一種電腦可讀儲存媒體。該電腦可讀儲存媒體包括電腦可執行指令,該等指令在經執行時組態一處理器以執行本文中所描述之方法。
100‧‧‧區塊鏈網路
102‧‧‧節點
104‧‧‧挖掘者
110‧‧‧群組
200‧‧‧電子裝置
210‧‧‧處理器
220‧‧‧記憶體
230‧‧‧介面裝置
240‧‧‧匯流排
250‧‧‧TEE
300‧‧‧初始化群組之方法
302-308‧‧‧步驟
400‧‧‧登入方法
402-408‧‧‧步驟
500‧‧‧將成員除名之方法
502-504‧‧‧步驟
600‧‧‧產生ECDSA簽名之實例方法
602-608‧‧‧步驟
P 1 ‧‧‧參與者
P 2 ‧‧‧參與者
P 3 ‧‧‧參與者
P 4 ‧‧‧參與者
E 1 ‧‧‧指定位址空間
E 2 ‧‧‧指定位址空間
E 3 ‧‧‧指定位址空間
E 4 ‧‧‧指定位址空間
圖1說明實例區塊鏈網路之方塊圖。
圖2說明可充當區塊鏈網路中之節點的實例電子裝置之方塊圖。
圖3係初始化群組之方法的信號圖。
圖4係加入先前已初始化之群組的方法之信號圖。
圖5係將群組之成員除名的方法之信號圖。
圖6係產生用於群組之簽名的方法之信號圖。
本發明係關於改良安全性解決方法。此等解決方法可用於增強電腦網路上之受控制資源的安全性。在以下說明性實施例,吾人使用例如比特幣之區塊鏈網路作為吾人的實例網路。區塊鏈可用以在網路上之節點之間傳送對諸如符記或密碼貨幣之一部分的電子資源之控制。僅為方便起見,吾人可在下文將受控制資源稱作「數位資產」。然而,此在任何方面不應被視為限制性的,且不應解譯為意謂任何特定類型之資產。本發明具有除區塊鏈交易之益處及應用以外的益處及應用,且不限於與面向財務之內容背景相關的用途,而具有更廣適用性。下文所提供之區塊鏈實例僅係出於說明而提供。
區塊鏈網路
首先將參看圖1,其以方塊圖形式說明與區塊鏈相關聯的實例區塊鏈網路100。區塊鏈網路可係公用區塊鏈網路,其係任何人可在無邀請或無其他成員同意之情況下加入的同級間開放式成員資格網路。運行區塊鏈網路100操作所根據之區塊鏈協定之執行個體的分散式電子裝置可參與區塊鏈網路100。此類分散式電子裝置可被稱作節點102。舉例而言,區塊鏈協定可係比特幣協定。
運行區塊鏈協定且形成區塊鏈網路100之節點102的電子裝置可屬於各種類型,包括例如電腦,諸如桌上型電腦、膝上型電腦、平板 電腦;伺服器;行動裝置,諸如智慧型手機;可穿戴式電腦,諸如智慧型手錶;或其他電子裝置。
區塊鏈網路100之節點102使用可包括有線及無線通信技術之合適通信技術彼此耦接。此通信遵循與區塊鏈相關聯之協定。舉例而言,在區塊鏈係比特幣區塊鏈之情況下,可使用比特幣協定。
節點102維護區塊鏈上之所有交易的(可能全域)總帳。該總帳係非集中式的分散式總帳。每一節點102可儲存全域總帳之完整複本或部分複本。在由工作證明保證安全之區塊鏈的狀況下,由節點102進行的影響全域總帳之交易係藉由其他節點102證實,使得維持全域總帳之有效性。當區塊鏈係基於工作證明之區塊鏈時,區塊亦藉由檢查隨區塊提交之工作證明來證實。
節點102中之至少一些作為區塊鏈網路100之挖掘者104操作。圖1之區塊鏈網路100係工作證明區塊鏈,其中挖掘者104執行昂貴計算以便促進區塊鏈上之交易。舉例而言,工作證明區塊鏈可能需要挖掘者解決密碼編譯問題。在比特幣中,挖掘者104找到臨時亂數,使得區塊標頭藉由SHA-256散列至小於由當前難度定義之值的數。工作證明演算法所需之散列能力意謂在已在交易上挖掘某數目個區塊之後,該交易被視為實際上不可逆。解決密碼編譯問題之挖掘者104建立用於區塊鏈之新區塊且將新區塊廣播至其他節點102。其他節點102證實挖掘者104實際上已解決密碼編譯問題,且因此在接受應將區塊新增至區塊鏈之前已表明足夠工作證明。該區塊係藉由節點102之共識來新增至區塊鏈(亦即,至分散式全域總帳)。
由挖掘者104建立之區塊包括已由節點102廣播至區塊鏈之交易(TX)。舉例而言,該區塊可包括自與節點102中之一者相關聯的位址 至與節點102中之另一者相關聯的位址的交易。以此方式,該區塊充當自一個位址至另一位址之傳送的記錄。請求交易包括於區塊中之一方藉由使用對應於其公用密鑰之私用密鑰對請求進行簽名來證明其經授權以起始傳送(例如,在比特幣之狀況下,花用輸出)。可僅在該請求經有效簽名之情況下將傳送新增至區塊。
在比特幣之狀況下,存在公用密鑰與位址之間的一對一對應。亦即,每一公用密鑰與單一位址相關聯。因此,本文中對將受控制資源(例如,數位資產)傳送至公用密鑰(例如,支付至公用密鑰中)或自公用密鑰傳送受控制資源及將數位資產傳送至與彼公用密鑰相關聯之位址或自該位址傳送數位資產的任何提及係指共同操作。
節點102中之一些可能未作為挖掘者而操作,且可替代地作為驗證節點而參與。交易驗證可涉及檢查簽名,確認對有效UTXO之參考等。
圖1之實例包括六個節點102,其中之三個作為挖掘者104而參與。實務上,節點102或挖掘者104之數目可不同。在許多區塊鏈網路中,節點102及挖掘者104之數目可遠大於圖1中所說明之數目。
如將在下文中解釋,各種節點102可協作以形成群組110,該群組可在臨限簽名方法下協作地產生數位簽名。在所說明之實例中,三個節點102經展示為參加群組110。然而,群組110成員之實際數目可大得多。
下文將更詳細地論述用於加入、離開及參與群組110之技術。
作為節點操作之電子裝置
圖2係說明可充當同級間區塊鏈網路100(圖1)中之節點 102(圖1)的實例電子裝置200之組件的方塊圖。實例電子裝置200亦可被稱作處理裝置。電子裝置可採取各種形式,包括例如桌上型電腦、膝上型電腦、平板電腦、伺服器、諸如智慧型手機之行動裝置、諸如智慧型手錶之可穿戴式電腦或另一類型之形式。
電子裝置200包括處理器210、記憶體220及介面裝置230。此等組件可直接地或間接地耦接至彼此,且可彼此通信。舉例而言,處理器210、記憶體220及介面裝置230可經由匯流排240彼此通信。記憶體220儲存包含機器可讀指令及資料之電腦軟體程式,其用於執行本文中所描述之功能。舉例而言,記憶體可包括處理器可執行指令,該等指令在由處理器210執行時使電子裝置執行本文中所描述之方法。處理器可執行指令可包括在由處理器210執行時使電子裝置實施與區塊鏈網路100(圖1)相關聯之協定的指令。舉例而言,該等指令可包括用於實施比特幣協定之指令。
記憶體220可儲存區塊鏈網路100(圖1)或其部分之全域總帳。亦即,記憶體220可儲存區塊鏈之所有區塊或該等區塊之一部分,諸如最近區塊或一些區塊中之資訊之一部分。
雖然記憶體220在圖2中藉由單一區塊說明,但實務上,電子裝置200可包括多個記憶體組件。記憶體組件可屬於各種類型,包括例如RAM、HDD、SSD、隨身碟等。不同類型之記憶體可適合於不同目的。另外,雖然記憶體220說明為與處理器210分離,但處理器210可包括嵌入式記憶體。
如圖2中所說明,處理器210可包括諸如受信任執行環境TEE 250之安全區域。TEE 250係隔離之執行環境,其向電子裝置200提供額外安全性,諸如隔離之執行、受信任應用程式之完整性及資產機密性。TEE 250提供執行空間,其保證就機密性及完整性而言,載入TEE 250內 部之電腦指令及資料受到保護。TEE 250可用以保護諸如密鑰之重要資源的完整性及機密性。TEE 250至少部分地在硬體層級處實施,使得保護在TEE 250內執行之指令及資料以免由電子裝置200之剩餘部分及諸如電子裝置之擁有者的外部方進行存取及操縱。保證TEE 250內之資料及計算的安全以免操作包括TEE 250之節點102的一方進行操作。
TEE 250可操作以執行個體化指定位址空間(enclave),且接著一次一個地新增記憶體之頁面,同時累積地散列。亦可對遠端機器(其可係開發者機器或另一機器)進行類似操作,使得遠端機器判定及儲存預期之散列。因此,指定位址空間之內容可藉由任何遠端機器證實以確保指定位址空間正運行核准之演算法。此證實可藉由比較散列來執行。當指定位址空間經完全建置時,其被鎖定。有可能在TEE 250中運行程式碼且將秘密發送至程式碼,但無法改變該程式碼。最終散列可藉由認證密鑰簽名,且可使最終散列可用於資料擁有者以在資料擁有者將任何秘密發送至指定位址空間之前證實該散列。
指定位址空間實體上係安全的以免經由主機系統之架構(包括主體系統之系統記憶體、BIOS及作業系統)進行存取。因此,指定位址空間允許軟體在由不受信任的一方擁有及控制之遠端電腦上的安全及可證實執行。在指定位址空間上執行之程序的記憶體僅對彼程序係可存取的,且僅可在指定位址空間軟體正運行時存取。若記憶體內容係自指定位址空間傳輸至遠端電腦或主體系統本身,則記憶體內容經加密。指定位址空間資料之解密依賴於僅可用於散列至特定值之程式碼的密鑰。若指定位址空間程式碼經修改,則其將不再能夠存取此等密鑰。因此,無法修改指定位址空間程式碼以存取其資料。
另外,TEE 250可實現遠端認證,其可由節點102(圖1)使 用以向其他節點102證明TEE 250可靠且正運行用於由群組110實施之協定的核准之電腦可執行指令。藉由運行特定程式碼片段及發送指定位址空間內部的藉由用於指定位址空間之內部認證密鑰進行簽名的程式碼之散列,遠端認證可藉由TEE 250提供。有效地,遠端認證允許TEE 250之指定位址空間向任何遠端系統證明該指定位址空間正執行散列至特定值之電腦可執行指令。
遠端認證使得在安全指定位址空間內運行之程式碼能夠自該指定位址空間獲得經簽名憑證:該程式碼正藉由指定位址空間頁面快取記憶體之給定散列在彼指定位址空間內執行。指定位址空間頁面快取記憶體之散列可被稱作引用(quote),且指定位址空間頁面快取記憶體係受保護記憶體之區段,所指明程式碼及資料在此程式碼之執行期間存在於該區段中。
TEE 250可裝備有安全隨機數產生器,其在TEE 250之指定位址空間內部,該安全隨機數產生器可用以產生私用密鑰、隨機挑戰或其他隨機資料。TEE 250亦可經組態以自外部記憶體讀取資料且可經組態以將資料寫入至外部記憶體。此資料可藉由僅保持於指定位址空間內部之秘密密鑰加密。(「隨機」在本文中可解譯為包括「偽隨機」)。
舉例而言,可使用Intel軟體防護擴充(SGX)來實施TEE 250。SGX支援遠端認證。諸如Intel認證服務(IAS)之第三方認證服務可證明此等經簽名聲明源自符合SGX規格之可靠CPU。
電子裝置200充當區塊鏈網路100(圖1)中之節點102(圖1),且可加入及以其他方式參加群組110(圖1)。如將在下文中解釋,群組成員(其在本文中亦可被稱作參與者或節點)協作以產生有效簽名,從而解除鎖定與群組公用密鑰相關聯之負擔。
臨限簽名
群組110可係許可或非許可群組。區塊鏈網路100(圖1)中之任何節點102(圖1)(亦即,監視及儲存區塊鏈中之資訊之至少一部分的任何節點)可加入群組110。
群組110與可被稱作群組公用密鑰之公用密鑰相關聯。此群組公用密鑰可控制對傳送至群組公用密鑰之諸如符記、密碼貨幣等資源的存取且負擔該等資源。舉例而言,交易之鎖定指令碼可使用群組公用密鑰鎖定資源,使得此等資源無法在無群組110核准之情況下傳送或「花用」。
群組110可根據臨限簽名方法操作。更特定而言,受群組公用密鑰控制(負擔)之資源可在作為群組成員之至少臨限數目個節點協作以產生有效簽名時被解除鎖定(亦即,可移除負擔)。該簽名在橢圓曲線數位簽名演算法(ECDSA)下有效。ECDSA係密碼編譯演算法,其用於比特幣及其他區塊鏈網路中以確保資源可僅由其合法的擁有者花用,且本文中所描述之臨限簽名方法允許由群組之臨限數目個節點產生有效ECDSA簽名。
為使群組成員能夠協作地產生有效簽名,成員節點持有以分散方式產生之私用秘密(亦即,在節點本身處產生之私用秘密)。如下文將更詳細地描述,此等私用秘密可用以產生用於交易之有效簽名而成員節點不必向其他成員節點顯露其私用秘密。因此,提供用於控制對資源之存取的改良安全性機制。
現將描述允許成員節點加入及離開群組而不必改變群組公用密鑰之臨限簽名方法。區塊鏈網路100(圖1)中之複數個節點102(圖1)可實施如本文中所描述之臨限簽名方法協定。此等節點102可包括儲存於記憶體220(圖2)中之實施臨限簽名方法協定的電腦可執行指令。此等指令在由處理器210(圖2)執行時使節點102(諸如,參看圖2所描述之類型的電子裝置200)執行臨限簽名方法協定之一或多個方法。此等方法可包括圖3 至圖6之初始化群組之方法300、登入方法400、將成員除名之方法500及產生ECDSA簽名之實例方法600中之任一者或組合。該等方法可藉由一節點協同與其他群組成員相關聯之其他節點執行。
群組初始化
現參看圖3,說明初始化群組之方法300。群組經初始化以供與臨限簽名方法一起使用。亦即,群組經初始化以允許成員節點協作地產生有效數位簽名,從而移除數位資產之負擔。由有效數位簽名移除之負擔係基於群組公用密鑰之負擔。
圖3說明藉由彼此協作之複數個節點執行的方法。更特定而言,待作為群組成員之每一節點執行下文所描述之初始化群組之方法300的操作。此等節點在以下描述中可被稱作參與者P i 或成員。最初,在執行初始化群組之方法300中涉及n個參與者(亦即,i=1、2、......n個)之群組U。在所說明之實例中,該群組由三個節點(亦即,n=3)形成。然而,不同數目個節點可用以形成群組。執行初始化群組之方法300之節點各自包括實施SGX指定位址空間E i 之經證明TEE。
在執行初始化群組之方法300之前,待形成群組之節點102彼此建立安全通信通道且皆同意簽名臨限值(t+1)。每一節點及指定位址空間可在建立安全通道(例如,使用迪非-海爾曼(Diffie-Hellman)交換)之後私密地進行點對點通信,且亦可將資訊安全地廣播至其他參與者。參與者亦共同地判定橢圓曲線產生器點G及階數p。下文所描述之操作係使用此橢圓曲線產生器點G及階數P執行。舉例而言,對mod p之參考描述根據此階數p執行之取模運算。在通信設置之後,節點接著根據下文所描述之初始化群組之方法300執行無分發者(dealer)多項式產生。
在步驟302處,參與者P i 中之每一者佈建其指定位址空間 E i 以產生隨機次數t多項式f i (x),其中x係多項式函數之變數。隨機次數t多項式係次數為t之多項式(在整數有限域中,mod P),其中任意選擇多項式之係數中之每一者。
在步驟304處,執行認證使得每一指定位址空間向其他指定位址空間中之每一者確認其正運行核准之初始化指令集。在認證期間,每一指定位址空間可將引用發送至其他指定位址空間中之每一者,且每一指定位址空間因此自其他指定位址空間中之每一者接收引用。評估此等所接收之引用中之每一者以判定認證是否成功。
在步驟304處,每一指定位址空間E i 將點f i (j)mod p安全地發送至其他指定位址空間E j 中之每一者,其中j=1、......n。因此,在步驟304處,每一指定位址空間E i 自其他指定位址空間接收點。
在步驟306處,每一指定位址空間判定秘密份額s i 。更特定而言,在步驟306處,每一指定位址空間E i 對所有所接收點進行求和f 1(i)+f 2(i)+…+f n (i)mod p以判定共用多項式f(x)。亦即,共用多項式係所有參與者任意產生多項式之總和。秘密份額接著判定為s i =f(i)mod p,其係多項式f(x)mod p上之P i 點(亦即,x=i的點),其中
其中a k 係多項式之項的係數(a 0係常數項及共用秘密),且x係多項式之變數。
因此,每一秘密份額係判定為所有其他參與者之隨機多項式的點(亦即,值)之總和。每一參與者僅具有共用多項式上之不同點且因此多項式及共用秘密(a 0)可藉由t+1個點重建構(藉由內插)。
在步驟306處,每一秘密份額s i 在其各別指定位址空間E i 中 保證安全。每一指定位址空間E i 亦可向其他指定位址空間認證其已執行核准之指令以便產生秘密份額。因此,可在步驟306處執行遠端認證以確保適當地產生秘密份額。
一旦產生秘密份額,便可在步驟308處產生群組公用密鑰(其係橢圓曲線公用密鑰)。在步驟308處,拉格朗日內插可用以判定對應於共用秘密a 0之群組公用密鑰。更特定而言,群組U之參與者P i (其中i=1、......、t+1)各自佈建其指定位址空間E i 以基於拉格朗日內插係數、橢圓曲線產生器點及其秘密份額而計算各別公用密鑰份額。亦即,公用密鑰份額可計算為b i s i ×G, 其中b i 係拉格朗日內插係數,其判定為G係橢圓曲線產生器點,且s i 係用於參與者P i 之秘密份額(亦即,其係共用多項式上之P i 點)。
在步驟308期間,藉由參與者將公用密鑰份額廣播至所有其他參與者。遠端認證可用以確認已適當地產生公用密鑰份額。
在接收所有公用密鑰份額後(亦即,在自其他參與者中之每一者接收公用密鑰份額之後),每一參與者可基於所接收之公用密鑰份額而計算群組公用密鑰A。更特定而言,群組公用密鑰可判定為所有公用密鑰份額之總和:
值得注意地,初始化階段以不可信任方式進行且不存在單點失敗,此係因為不存在受信任分發者。在指定位址空間內執行多項式產生及後續處理保護允許除名(下文將參看圖5進行描述)之秘密份額保持安全。
在群組已起始之後加入群組
現參看圖4,說明登入方法400(enrolment)。可執行登入方法400以允許節點加入已初始化以與臨限簽名方法一起使用的預先存在的群組而不必發出新的群組公用密鑰。登入方法400係在群組已初始化(此初始化可根據圖3之初始化群組之方法300進行)之後執行。
圖4說明藉由彼此協作之複數個節點執行的方法。更特定而言,作為現存群組成員之節點執行下文所描述之登入方法400的至少一些操作,且預期成員執行登入方法400之至少一些操作。預期成員(其可指明為P n+1 )係試圖登入群組之節點。
在執行登入方法400之前,參與者(t+1個)之至少臨限群組向彼此發信其希望登入預期成員。此等參與者形成登入群組U E 。組成登入群組之節點與預期成員建立安全通信通道。預期成員亦可向登入群組之節點鑑定其本身。
在圖4之實例中,登入群組U E 包括三個節點(亦即,n=3)。然而,不同數目個節點可用以形成登入群組,只要形成登入群組之節點之數目至少係節點之臨限數目(t+1)即可。在所說明之實例中,預期成員P n+1 表示為P 4 。執行登入方法400之節點各自包括實施SGX指定位址空間E i 之經證明TEE。
在步驟402處,預期成員P 4 將認證引用提供至登入群組U E 之所有成員以確認該預期成員正運行經鑑定協定。此認證引用由登入群組成員接收,且登入群組成員中之每一者評估認證引用以確認預期成員正運行核准之協定。
在步驟404處,登入群組成員各自將其自身的秘密份額s i 分裂成多個部分。更特定而言,每一參與者P i (其中i=1、......、t+1)佈建其指定位址空間E i 以將其秘密份額s i 乘以藉由新點(n+1)判定之拉格朗 日內插係數。亦即,經修改秘密份額可判定為:
每一指定位址空間E i 接著產生安全隨機數以將每一分裂成t+1個部分(使得所有此等部分之總和係),其可被稱作秘密份額部分:
在圖4中,下標s(例如,ss,1)用以指示份額si已分裂成t+1個部分。
每一指定位址空間E i 持留秘密份額部分s i,i 且與登入群組U E 之其他t個指定位址空間交換剩餘的秘密份額部分,使得每一指定位址空間E i 接著具有以下秘密份額部分:s i,1 ,s i,2 ,...,s i,t+1
每一指定位址空間E i 接著將自U E 之所有其他成員接收到的所有秘密份額部分加至由彼指定位址空間E i 持留之秘密份額部分s i,i 以獲得秘密份額總和v j
在步驟406處,每一指定位址空間E i 接著將秘密份額資料發送至預期成員之指定位址空間E n+1。更特定而言,在步驟406處,登入群組參與者P i 中之每一者接著佈建其相關聯之指定位址空間E i 以將此秘密份額總和v j 私密地傳輸至預期成員之指定位址空間E n+1。預期成員之指定位址空間E n+1自所有登入群組成員接收此等秘密份額總和且接著(在步驟408處)藉由判定所有所接收之秘密份額總和的總和來建構新秘密份額s n+1:
在所說明之實例中,由於n等於3,因此新秘密份額指示為s 4
因此,預期成員已基於自群組之複數個現存成員接收到的秘密份額資料而獲得新秘密份額。更特定而言,預期成員已基於來自群組之至少臨限值個現存成員的秘密份額資料而獲得新秘密份額。
作為額外確認步驟,初始化群組之方法300之步驟308可在登入方法400之步驟406之後執行以產生群組公用密鑰。參與者可接著確認群組公用密鑰尚未自其先前值改變(亦即,實行在圖4之登入方法400之前的值)。
自群組除名
群組成員可偶爾自群組除名。如本文中所使用,除名係指自群組中之成員資格釋放或移除成員。此除名可在被除名成員請求時或在其他成員請求時(例如,若根據所定義標準,待除名之成員尚未參與群組活動)發生。現參看圖5,說明將成員除名之方法500。該方法可藉由節點102協同群組之其他節點102執行。該方法可用以將成員除名而不修改群組公用密鑰。因此,本發明提供改良之密碼編譯安全方法,其相較於在先前技術內先前可能已進行之方法提供對資源的增強控制。
為實行除名,臨限值(n-1)個現存群組成員協作以執行圖5之將成員除名之方法500。更特定而言,保留在群組中之所有群組成員參加圖5之將成員除名之方法500。然而,待除名之群組成員不參與該方法。在一些情況下,一次可將多於一個群組成員除名,只要除名者之數目d n 小於或等於現存群組成員之數目與用於臨限簽名方法之臨限值之間的差,亦即,d n n-(t+1)。
亦即,不離開群組之群組成員之數目必須至少等於用於臨限 簽名方法之臨限值t+1
在圖5之實例中,將修改四個成員之現存群組以排除參與者中之一者P 4 使得僅保留三個群組成員。
在執行圖5之將成員除名之方法500之前,參與者P i (i=1......、n-1)彼此通信以發信撤銷群組參與者P n 之份額的共識且形成除名群組U D 。遠端認證可用以確保除名群組U D 之所有指定位址空間正操作核准之除名指令集。更特定而言,除名群組之每一成員確認除名群組之其他成員正操作核准之除名指令集。
在步驟502處,除名群組U D 中之每一參與者P i 執行多項式產生及共用。更特定而言,除名群組U D 中之每一參與者P i 佈建其指定位址空間E i 以產生隨機次數t多項式f i 0(x),其中a 0=f i 0(0)=0。
在步驟502處,每一指定位址空間E i (i=1、......、n-1)接著將其新的隨機多項式f i 0(j)上之每一點j安全地發送至每一其他指定位址空間E j (j=1、......、n-1)。指定位址空間中之每一者藉由遠端認證來鑑定其他指定位址空間。
在步驟504處,每一指定位址空間E i (i=1、......、n-1)產生新秘密份額。更特定而言,每一指定位址空間E i 接著將所有所接收點(i)(j=1、......、n-1 | ji)加至其初始秘密份額s i 以判定新秘密份額。舉例而言,新秘密份額可判定為:
作為額外確認步驟,初始化群組之方法300之步驟308可在將成員除名之方法500之步驟504之後執行以產生群組公用密鑰。參與者可接著確認群組公用密鑰尚未自其先前值改變(亦即,實行在圖5之將成員 除名之方法500之前的值)。
在步驟504處,可用新秘密份額覆寫先前秘密份額,從而有效地使待除名之參與者P n 之指定位址空間中的秘密份額無效。因此,該成員現自群組除名。
值得注意地,在將成員除名之方法500期間,方法之安全性僅依賴於n-t個參與者,其用新值可證實地覆寫其到期密鑰份額。因此,需要突破臨限值(t+1)個指定位址空間,才會影響安全性。即使除名之參與者(其現已無任何事物可失去)可能夠突破其自身的指定位址空間以恢復其密鑰份額,只要至少n-t個指定位址空間正確地操作,則彼份額在共謀攻擊中便無用處。
簽名產生
由群組成員持有的秘密份額可用以允許產生用於交易之有效ECDSA簽名。更特定而言,至少臨限數目個秘密份額可用以允許群組參與者產生有效簽名。該簽名可應用於花用先前由群組公用密鑰負擔之數位資產的交易。亦即,有效簽名移除先前置放於資源上之負擔。ECDSA簽名包括兩個分量:第一分量r及第二分量w。
現參看圖6,說明產生ECDSA簽名之實例方法600。產生ECDSA簽名之實例方法600可藉由節點102協同先前形成群組之其他節點102執行。先前可已使用上文所描述之技術定義群組之成員(亦即,協作地執行產生ECDSA簽名之實例方法600之節點)。
在執行該方法之前,群組中之複數個參與者(亦即,成員)可向其他參與者發信其希望參與分散式簽名產生以對特定交易Tx進行授權。亦即,節點可發信參與針對交易Tx之分散式簽名產生的意圖。交易Tx係將花用由群組公用密鑰負擔之輸出的交易。亦即,交易之效應將係自輸出 移除基於群組公用密鑰之負擔。舉例而言,交易Tx可由群組參與者中之一者提議。
一旦臨限值個參與者已發信參與意圖,簽名群組便由一節點協同其他節點形成。在所說明之實例中,簽名群組包括三個參與者(亦即,三個節點)。然而,簽名群組可包括不同數目個節點。
在步驟602處,形成簽名群組之判定用於交易Tx之散列z。該散列判定為:z=H(Tx),其中H表示散列函數。該散列係由簽名群組之共識判定。舉例而言,該散列可由簽名群組之參與者中之一者提議,且其他成員可確認其同意該散列。
在步驟604處,形成簽名群組之節點基於安全隨機數k獲得:a)安全隨機數之乘法逆元素k -1;及b)第一簽名分量r。第一簽名分量r係基於安全隨機數k及橢圓曲線產生器點G而判定。更特定而言,在步驟604處,參與者中之每一者,例如P 1佈建其指定位址空間E 1(其與作為參與者P 1之節點的受信任環境相關聯)以產生安全隨機數k並計算此安全隨機數之乘法逆元素k -1,且亦計算第一簽名分量r。第一簽名分量r可判定為:r=(k×G) x mod p
在步驟604處,計算此安全隨機數之乘法逆元素k -1及第一簽名分量r的指定位址空間E 1,將此等值(例如,此安全隨機數之乘法逆元素k -1及第一簽名分量r)發送至與簽名群組中之其他參與者相關聯的指定位址空間E 2、......、E t+1。發送此等值之指定位址空間E 1在遠端認證該等值之完整性且該等值已使用核准之指令集產生。不產生此等值之指定位址空間E 2、......、E t+1自產生此等值之指定位址空間E 1接收該等值且確認該等值之完整性(例如,藉由確認用以產生此等值之指令集係核准之指令集)。
在步驟606處,簽名群組之每一節點基於私用秘密份額、安 全隨機數之乘法逆元素及第一簽名分量而判定部分簽名v i 。部分簽名v i 係在每一節點之指定位址空間內產生。舉例而言,用於簽名群組之指定位址空間E i (i=1、......、t+1)將部分簽名計算為:v i =k -1 rb i s i mod p, 其中b i 係拉格朗日內插係數,其判定為k -1係安全隨機數之乘法逆元素,s i 係用於參與者P i 之秘密份額(其先前已使用上文所描述之技術獲得),r係第一簽名分量且p係階數。
因此,部分簽名之判定可涉及執行拉格朗日內插。
在步驟606處,用於簽名群組之指定位址空間E i (i=1、......、t+1)中之每一者將其部分簽名v i 安全地廣播至用於簽名群組之其他指定位址空間,使得每一節點(且更具體而言,每一指定位址空間)自簽名群組之其他節點接收部分簽名。
在步驟608處,簽名群組之每一節點(且更具體而言,每一指定位址空間)可基於在步驟606處判定及接收之部分簽名而產生第二簽名分量w。舉例而言,第二簽名分量可判定為: 其中z係交易散列
在步驟608處,簽名群組之每一節點可將包括第一簽名分量及第二簽名分量之ECDSA簽名自其指定位址空間發送至節點之主機部分(亦即,節點之並非指定位址空間的一部分),且該節點可根據交易散列z及群組公用密鑰A證實該簽名。
簽名群組中之任何參與者可接著將簽名新增至對應交易且將其廣播至區塊鏈網路。
上文所描述之簽名方法的安全性取決於暫時私用密鑰之 值,其係安全隨機數k,該安全隨機數由一個指定位址空間產生且秘密地分散至簽名群組中之其他指定位址空間,保持隱藏。若此值被藉由突破指定位址空間中之僅一者來提取,則共用私用密鑰可經交易之簽名判定且可接著用以對完全不同的交易進行簽名。然而,此操作之影響最小,此係因為指定位址空間之實體突破必須出現在極小時間窗內:區塊鏈上之交易的確認時間。
應注意,上文所提及之實施例說明而非限制本發明,且熟習此項技術者將能夠設計許多替代實施例而不背離本發明之如由所附申請專利範圍定義的範圍。在申請專利範圍中,置放於圓括號中之任何參考符號不應被視為限制申請專利範圍。詞「包含(comprising及comprises)」及其類似者並不排除除任何請求項或說明書中整體列出之彼等元件或步驟外的元件或步驟之存在。在本說明書中,「包含(comprises及comprising)」意謂「包括或由……組成」。對元件之單數參考並不排除對此類元件之複數參考,且反之亦然。本發明可藉助於包含若干相異元件之硬體且藉助於經合適程式化之電腦實施。在列舉若干構件之裝置請求項中,此等構件中之若干構件可由硬體之同一個項目體現。在相互不同之附屬請求項中敍述某些措施之純粹實情並不指示不能有利地使用此等措施之組合。

Claims (15)

  1. 一種使用受信任硬體的安全動態臨限簽名之電腦實施安全性方法,其包含以下步驟:產生包含一第一簽名分量r及一第二簽名分量w之一橢圓曲線數位簽名演算法簽名,該產生步驟包含:藉由一節點與其他節點形成一簽名群組;藉由該節點基於一安全隨機數而獲得:a)該安全隨機數之一乘法逆元素;及b)該第一簽名分量r,其中該第一簽名分量係基於該安全隨機數及一橢圓曲線產生器點而判定;藉由該節點基於一私用秘密份額、該安全隨機數之該乘法逆元素及該第一簽名分量而判定一部分簽名;藉由該節點自該簽名群組之其他節點接收部分簽名;及藉由該節點基於經判定及接收之部分簽名而產生該第二簽名分量w。
  2. 如申請專利範圍第1項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該獲得步驟包含產生該乘法逆元素及該第一簽名分量且其中該方法進一步包含將該乘法逆元素發送至該等其他節點。
  3. 如申請專利範圍第2項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該獲得步驟包含佈建與該節點之一受信任執行環境相關聯的一指定位址空間以產生該安全隨機數。
  4. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該獲得步驟包含自該等其他節點中之一者接收該乘法逆元素及該第一簽名分量。
  5. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其進一步包含在形成該簽名群組之前發信參與分 散式簽名產生之一意圖。
  6. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該部分簽名係在與該節點之一受信任執行環境相關聯的一指定位址空間內判定。
  7. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該部分簽名係藉由執行拉格朗日內插來判定。
  8. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該第二簽名分量係在與一受信任執行環境相關聯之一指定位址空間內產生,且其中該方法進一步包括在產生該第二簽名分量之後,將橢圓曲線數位簽名演算法自該指定位址空間發送至該節點之一主機部分。
  9. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其進一步包含將簽名新增至一交易及將其廣播至一區塊鏈網路。
  10. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其進一步包含在形成該簽名群組之前,基於自一群組之複數個現存成員接收到之秘密份額資料而獲得秘密份額。
  11. 如申請專利範圍第10項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該秘密份額係在與該節點之一受信任執行環境相關聯的一指定位址空間內判定。
  12. 如前述申請專利範圍任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法,其中該部分簽名v i經判定為: v i = k -1 rb i s i mod p,其中 b i 係一拉格朗日內插係數, k -1係該安全隨機數之該乘法逆元素, s i 係該秘密份額, r係該第一簽名分量,且 p係一階數。
  13. 一種電腦可讀儲存媒體,其包含電腦可執行指令,該等指令在經執行時組態一處理器以執行如申請專利範圍第1項至第12項中任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法。
  14. 一種電子裝置,其包含:一介面裝置;一處理器,其耦接至該介面裝置;一記憶體,其耦接至該處理器,該記憶體具有儲存於其上之電腦可執行指令,該等指令在經執行時組態該處理器以執行如申請專利範圍第1項至第12項中任一項所述之使用受信任硬體的安全動態臨限簽名之電腦實施方法。
  15. 如申請專利範圍第14項所述之電子裝置,其中該處理器包括一受信任執行環境,且其中該等電腦可執行指令係在該受信任執行環境內執行。
TW107113961A 2017-05-05 2018-04-25 使用受信任硬體的安全動態臨限簽名方法 TWI754046B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??1707168.9 2017-05-05
GB1707168.9 2017-05-05
GBGB1707168.9A GB201707168D0 (en) 2017-05-05 2017-05-05 Computer-implemented system and method

Publications (2)

Publication Number Publication Date
TW201843978A true TW201843978A (zh) 2018-12-16
TWI754046B TWI754046B (zh) 2022-02-01

Family

ID=59065506

Family Applications (2)

Application Number Title Priority Date Filing Date
TW107113961A TWI754046B (zh) 2017-05-05 2018-04-25 使用受信任硬體的安全動態臨限簽名方法
TW110145773A TWI793899B (zh) 2017-05-05 2018-04-25 使用受信任硬體的安全動態臨限簽名方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW110145773A TWI793899B (zh) 2017-05-05 2018-04-25 使用受信任硬體的安全動態臨限簽名方法

Country Status (7)

Country Link
US (2) US11228447B2 (zh)
EP (2) EP3619884B1 (zh)
JP (2) JP7272960B2 (zh)
CN (2) CN116112184A (zh)
GB (1) GB201707168D0 (zh)
TW (2) TWI754046B (zh)
WO (1) WO2018203186A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3725029B1 (en) * 2017-12-15 2023-07-12 nChain Licensing AG Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
US12093908B2 (en) * 2018-03-22 2024-09-17 NEC Laboratories Europe GmbH System and method for secure transaction verification in a distributed ledger system
GB2576081A (en) * 2018-06-03 2020-02-05 Vvow Company Ltd Peer-to-peer cryptocurrency and crypto asset trading platform
US11444779B2 (en) 2018-08-02 2022-09-13 Paypal, Inc. Techniques for securing application programming interface requests using multi-party digital signatures
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
KR102150814B1 (ko) 2018-11-27 2020-09-02 알리바바 그룹 홀딩 리미티드 정보 보호를 위한 시스템 및 방법
US11127002B2 (en) 2018-11-27 2021-09-21 Advanced New Technologies Co., Ltd. System and method for information protection
EP3549303B1 (en) 2018-11-27 2021-05-26 Advanced New Technologies Co., Ltd. System and method for information protection
ES2833552T3 (es) 2018-11-27 2021-06-15 Advanced New Technologies Co Ltd Sistema y método para la protección de información
SG11201902773VA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US10795644B2 (en) 2019-01-08 2020-10-06 Moac Blockchain Tech Inc Decentralized random number generator
TWI689194B (zh) * 2019-01-22 2020-03-21 開曼群島商現代財富控股有限公司 基於無分派者秘密共享的門檻式簽章系統及其方法
EP3696670A1 (en) 2019-02-13 2020-08-19 UVUE Limited Distributed computation system and method of operation thereof
DE112020001814T5 (de) * 2019-04-01 2021-12-30 Intel Corporation Privatsphärengeschützte autonome attestierung
JP6869374B2 (ja) * 2019-04-26 2021-05-12 アドバンスド ニュー テクノロジーズ カンパニー リミテッド トラステッド実行環境のための分散型鍵管理
GB201907396D0 (en) 2019-05-24 2019-07-10 Nchain Holdings Ltd Hash function attacks
CN110336673B (zh) * 2019-06-03 2022-03-08 江苏科技大学 一种基于隐私保护的区块链设计方法
CN110224813B (zh) * 2019-06-17 2021-02-09 北京瑞策科技有限公司 基于区块链的出块方法及装置
WO2021034302A1 (en) * 2019-08-16 2021-02-25 Hewlett-Packard Development Company, L.P. Remote commands
CN110380869B (zh) * 2019-08-27 2022-04-08 郑州师范学院 一种安全多方签名方法、装置、服务器及介质
GB2587201A (en) * 2019-09-17 2021-03-24 Nchain Holdings Ltd Multi-criteria blockchain protocol
US11134112B2 (en) 2019-11-21 2021-09-28 Visa International Service Association Secure multi-party random bit generation
CN113055177B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
CN111064581B (zh) * 2019-12-28 2022-11-08 西安工业大学 一种有连接能力的隐私保护方法及系统
CN111327426B (zh) * 2020-01-21 2021-06-25 腾讯科技(深圳)有限公司 数据共享方法及相关装置、设备及系统
CN111277412B (zh) * 2020-02-18 2023-03-24 暨南大学 基于区块链密钥分发的数据安全共享系统及方法
WO2021225573A1 (en) * 2020-05-04 2021-11-11 Hewlett-Packard Development Company, L.P. Partial signatures based on environmental characteristics
EP3955110A1 (en) * 2020-08-12 2022-02-16 UVUE Limited Distributed computing system and method of operation thereof
WO2022051706A1 (en) * 2020-09-06 2022-03-10 David Chaum Computation mixing
US11632244B2 (en) * 2020-09-14 2023-04-18 Paypal, Inc. Techniques for single round multi-party computation for digital signatures
CN112799636B (zh) * 2021-04-14 2021-08-27 北京百度网讯科技有限公司 随机数生成方法、装置、设备和存储介质
US20220408245A1 (en) * 2021-06-21 2022-12-22 Motional Ad Llc Session key generation for autonomous vehicle operation
US11792644B2 (en) * 2021-06-21 2023-10-17 Motional Ad Llc Session key generation for autonomous vehicle operation
WO2023048711A1 (en) * 2021-09-22 2023-03-30 Visa International Service Association Threshold secret share generation for distributed symmetric cryptography
CN114070556B (zh) * 2021-11-15 2023-07-25 成都卫士通信息产业股份有限公司 一种门限环签名方法、装置、电子设备及可读存储介质
CN116915416B (zh) * 2023-09-14 2023-12-15 北京信安世纪科技股份有限公司 一种证书签名方法、装置以及一种证书获取方法、装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625692A (en) 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
CA2228185C (en) 1997-01-31 2007-11-06 Certicom Corp. Verification protocol
US7599491B2 (en) * 1999-01-11 2009-10-06 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
TW424371B (en) * 1999-02-26 2001-03-01 Qic Systems Corp Group signature method for group message transmission in unsafe communication channel
JP3560860B2 (ja) * 1999-07-23 2004-09-02 株式会社東芝 秘密分散システム、装置及び記憶媒体
US7249259B1 (en) 1999-09-07 2007-07-24 Certicom Corp. Hybrid signature scheme
US7167565B2 (en) * 2001-03-06 2007-01-23 Arcot Systems, Inc. Efficient techniques for sharing a secret
US7581107B2 (en) * 2004-05-28 2009-08-25 International Business Machines Corporation Anonymity revocation
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem based on shared knowledge
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
CA2592875C (en) * 2005-01-18 2016-09-06 Certicom Corp. Accelerated verification of digital signatures and public keys
US7602907B2 (en) * 2005-07-01 2009-10-13 Microsoft Corporation Elliptic curve point multiplication
EP2076799A4 (en) * 2006-09-08 2011-03-09 Certicom Corp AUTHENTICATED HIGH FREQUENCY IDENTIFICATION AND KEY DISTRIBUTION SYSTEM THEREFOR
EP2080314A2 (en) * 2006-10-25 2009-07-22 Spyrus, Inc. Method and system for deploying advanced cryptographic algorithms
US8139763B2 (en) * 2007-10-10 2012-03-20 Spansion Llc Randomized RSA-based cryptographic exponentiation resistant to side channel and fault attacks
KR101712850B1 (ko) * 2010-03-31 2017-03-07 이르데토 비.브이. 화이트 박스로부터 암호화설비를 보호하는 시스템 및 그 방법
JP2013539295A (ja) * 2010-10-15 2013-10-17 サーティコム コーポレーション メッセージ復元を伴うデジタル署名の認証された暗号化
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
GB2490483B (en) * 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
ES2400894B1 (es) * 2011-05-13 2014-03-11 Telefónica, S.A. Procedimiento para una firma digital múltiple
JP5447544B2 (ja) * 2012-01-27 2014-03-19 沖電気工業株式会社 委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システム
DE102012221288A1 (de) * 2012-11-21 2014-05-22 Siemens Aktiengesellschaft Verfahren, Vorrichtung und Dienstleistungsmittel zur Authentifizierung eines Kunden für eine durch ein Dienstleistungsmittel zu erbringende Dienstleistung
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
WO2015160839A1 (en) * 2014-04-17 2015-10-22 Hrl Laboratories, Llc A method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ecdsa) based digital signatures with proactive security
US9946858B2 (en) * 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9602290B2 (en) * 2014-10-16 2017-03-21 Infineon Technologies Ag System and method for vehicle messaging using a public key infrastructure
US9798559B2 (en) * 2014-12-27 2017-10-24 Mcafee, Inc. Trusted binary translation
US20160321434A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Digital content rights transactions using block chain systems
FR3035986B1 (fr) * 2015-05-06 2018-07-27 Morpho Procede de generation d'une signature de message a partir d'un jeton de signature chiffre a l'aide d'une fonction de chiffrement homomorphique
US20170109735A1 (en) * 2015-07-14 2017-04-20 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
GB2543359B (en) * 2015-10-16 2020-04-01 Samsung Electronics Co Ltd Methods and apparatus for secure communication
US10135622B2 (en) * 2016-06-03 2018-11-20 Intel Corporation Flexible provisioning of attestation keys in secure enclaves
US10540652B2 (en) * 2016-11-18 2020-01-21 Intel Corporation Technology for secure partitioning and updating of a distributed digital ledger
US11165565B2 (en) * 2016-12-09 2021-11-02 Microsoft Technology Licensing, Llc Secure distribution private keys for use by untrusted code
US10372945B2 (en) * 2017-01-24 2019-08-06 Microsoft Technology Licensing, Llc Cross-platform enclave identity

Also Published As

Publication number Publication date
JP7544357B2 (ja) 2024-09-03
US20200145231A1 (en) 2020-05-07
JP2023099091A (ja) 2023-07-11
EP3619884A1 (en) 2020-03-11
JP2020518850A (ja) 2020-06-25
JP7272960B2 (ja) 2023-05-12
US12034865B2 (en) 2024-07-09
CN110603783B (zh) 2023-02-28
CN110603783A (zh) 2019-12-20
EP3985916A1 (en) 2022-04-20
TW202215812A (zh) 2022-04-16
US20220247572A1 (en) 2022-08-04
TWI754046B (zh) 2022-02-01
US11228447B2 (en) 2022-01-18
WO2018203186A1 (en) 2018-11-08
TWI793899B (zh) 2023-02-21
CN116112184A (zh) 2023-05-12
GB201707168D0 (en) 2017-06-21
EP3619884B1 (en) 2022-01-12

Similar Documents

Publication Publication Date Title
TWI793899B (zh) 使用受信任硬體的安全動態臨限簽名方法
JP7289298B2 (ja) 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法
JP7454035B2 (ja) ブロックチェーンにより実装される方法及びシステム
TWI840358B (zh) 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法
KR102151904B1 (ko) 블록체인 네트워크에서 사용을 위한 필드 프로그래밍가능 게이트 어레이 기반 신뢰 실행 환경
WO2021073170A1 (zh) 数据提供和融合的方法及装置
KR102580509B1 (ko) 복수의 스토리지 노드를 통해 대규모 블록체인의 안전한 저장을 가능하게 하는 컴퓨터 구현 시스템 및 방법
CN110999204A (zh) 区块链实施的事件锁加密的方法和系统
WO2018214133A1 (zh) 基于区块链的fido认证方法、装置及系统
JP2020524421A (ja) トラステッド実行環境のための分散型鍵管理
WO2024139083A1 (zh) 一种基于零知识的门限身份认证方法、装置及云计算系统
KR101389981B1 (ko) 퍼블릭 클라우드 스토리지 서비스를 위한 데이터 위임 및 엑세스 방법
US12113893B2 (en) Non-custodial tool for data encryption and decryption with decentralized data storage and recovery
CN110709874B (zh) 用于区块链网络的凭证生成与分发方法和系统
CN110709875B (zh) 在区块链网络中节点间建立可信点对点通信的方法和系统
CN117375910A (zh) 一种基于不可信云fpga的可信通信方法及系统
CN118400126A (zh) 基于智能合约的分布式安全动态访问控制方法
CN118842577A (zh) 使用低熵密码授权区块链交易的计算机实现的系统和方法