TWI723665B - 基於恢復的公開金鑰進行認證 - Google Patents

基於恢復的公開金鑰進行認證 Download PDF

Info

Publication number
TWI723665B
TWI723665B TW108144488A TW108144488A TWI723665B TW I723665 B TWI723665 B TW I723665B TW 108144488 A TW108144488 A TW 108144488A TW 108144488 A TW108144488 A TW 108144488A TW I723665 B TWI723665 B TW I723665B
Authority
TW
Taiwan
Prior art keywords
node
public key
value
digital signature
computer
Prior art date
Application number
TW108144488A
Other languages
English (en)
Other versions
TW202040965A (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 TW202040965A publication Critical patent/TW202040965A/zh
Application granted granted Critical
Publication of TWI723665B publication Critical patent/TWI723665B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本文涉及電腦技術領域,尤其涉及一種認證方法及相應的裝置和系統。方法之一包括:第一節點從第二節點接收簽署訊息,其中,所述簽署訊息包括由所述第二節點生成的數位簽署;回應於接收到所述簽署訊息,第一節點從數位簽署中恢復一個或多個公開金鑰;回應於恢復所述一個或多個公開金鑰,所述第一節點確定所述一個或多個公開金鑰中的一個公開金鑰與驗證公開金鑰匹配;以及回應於確定所述一個或多個公開金鑰中的一個公開金鑰與所述驗證公開金鑰匹配,確定所述簽署訊息是可信的。

Description

基於恢復的公開金鑰進行認證
本文涉及電腦技術領域,尤其涉及一種認證方法及相應的裝置和系統。
分散式帳本系統(DLS),也可以被稱為共識網路和/或區塊鏈網路,使得參與實體能夠安全地並且不可篡改地儲存資料。在不引用任何特定用例的情況下,DLS通常被稱為區塊鏈網路。區塊鏈網路類型的範例可以包括公共區塊鏈網路、私有區塊鏈網路和聯盟區塊鏈網路。為選定的實體群組提供聯盟區塊鏈網路,所述實體控制共識處理,並且所述聯盟區塊鏈網路包括存取控制層。 橢圓曲線密碼系統(ECC)包括使用橢圓曲線密碼學的數位簽署演算法的變體。ECC演算法基於解決橢圓曲線離散對數問題,並且可以用於生成數位簽署。例如,假設用戶A想要向用戶B發送加密訊息,則用戶A可以首先創建私密金鑰-公開金鑰對,所述私密金鑰-公開金鑰對是透過基點從橢圓曲線計算的,所述橢圓曲線的參數是由用戶A和用戶B預先約定的。接著用戶A用其私密金鑰對該訊息簽署,並將簽署訊息發送給用戶B。在接收到簽署訊息時,用戶B可以透過使用用戶A的公開金鑰來驗證簽署。如果驗證成功,則用戶B可以確認在傳輸期間所接收的訊息沒有被篡改。ECC演算法的安全性源於難以解決對數問題。與RSA(Rivest-Shamir-Adleman)演算法相比,ECC演算法的金鑰長度更短,加解密過程更快,需要的計算儲存空間更小。例如,210位元ECC演算法的難度與2048位元RSA演算法相當。 當在區塊鏈相關應用中應用ECC演算法時,可能遇到問題。每個區塊鏈節點可以與一個以上公開金鑰相關聯。因此,在先前描述的範例中,如果節點A與一個以上公開金鑰相關聯,則為了驗證由節點A簽署的訊息,節點B必須嘗試節點A的每一個公開金鑰,從而導致更長的處理時間。需要一種繞開現有技術中的這些問題的技術。
本文描述了用於認證與區塊鏈網路相關聯的節點的技術。這些技術主要涉及從發送自區塊鏈網路節點的帳戶的數位簽署中恢復公開金鑰,並且透過將所恢復的公開金鑰與驗證公開金鑰進行比較來認證所述節點。 本文還提供了耦接到一個或多個處理器並且其上儲存有指令的一個或多個非暫態電腦可讀儲存媒體,當所述指令由所述一個或多個處理器執行時,所述指令將促使所述一個或多個處理器按照本文提供的方法的實施例執行操作。 本文還提供了用於實施本文提供的所述方法的系統。該系統包括一個或多個處理器以及耦接到所述一個或多個處理器並且其上儲存有指令的電腦可讀儲存媒體,當所述指令由所述一個或多個處理器執行時,所述指令將導致所述一個或多個處理器按照本文提供的方法的實施例執行操作。 應瞭解,依據本文的方法可以包括本文描述的態樣和特徵的任意組合。也就是說,根據本文的方法不限於本文具體描述的態樣和特徵的組合,還包括所提供的態樣和特徵的任意組合。 以下在圖式和描述中闡述了本文的一個或多個實施例的細節。根據說明書和圖式以及請求項,本文的其他特徵和優點將顯而易見。
本文描述了用於認證與區塊鏈網路相關聯的節點的技術。這些技術通常涉及從發送自區塊鏈網路節點的帳戶的數位簽署中恢復公開金鑰,以及透過將所恢復的公開金鑰與驗證公開金鑰進行比較來認證所述節點。 為了提供本文的實施例的進一步的背景,並且如上所述,分散式帳本系統(DLS),也可以被稱為共識網路(例如,由點對點節點組成)和區塊鏈網路,使得參與實體能夠安全地並且不可篡改地進行交易,並儲存資料。儘管術語區塊鏈通常與特定網路和/或用例相關聯,但是在不參考任何特定用例的情況下,本文中使用的區塊鏈通常是指DLS。 區塊鏈是以交易不可篡改的方式儲存交易的資料結構。因此,記錄在區塊鏈上的交易是可靠且可信的。區塊鏈包括一個或多個區塊。鏈中的每個區塊透過包括在鏈中緊鄰其之前的前一個區塊的加密雜湊值鏈接到該前一個區塊。每個區塊還包括時間戳記、其自身的加密雜湊值以及一個或多個交易。已經由區塊鏈網路中的節點驗證過的交易經雜湊處理並編碼至默克爾(Merkle)樹中。Merkle樹是一種資料結構,在該樹的葉節點處的資料經雜湊處理,且在該樹的每個分支中的所有雜湊值在該分支的根處級聯。沿著該樹持續該處理一直到整個樹的根,在整個樹的根處儲存了代表樹中所有資料的雜湊值。透過確定雜湊值是否與該樹的結構一致而可快速驗證該雜湊值是否為儲存在該樹中的交易的雜湊值。 儘管區塊鏈是用於儲存交易的分散式或至少部分分散式的資料結構,但是區塊鏈網路是透過廣播、驗證和確認交易等來管理、更新和維護一個或多個區塊鏈的計算節點的網路。如上所述,可以提供作為公有區塊鏈網路、私有區塊鏈網路或者聯盟區塊鏈網路的區塊鏈網路。在本文中參考聯盟區塊鏈網路進一步詳細描述本文的實施例。然而,可以預期,本文的實施例可以在任何適當類型的區塊鏈網路中實現。 通常,聯盟區塊鏈網路在參與實體之間是私有的。在聯盟區塊鏈網路中,共識處理由授權的節點集控制,該節點集可以被稱為共識節點,一個或多個共識節點由相應實體(例如,金融機構、保險公司)操作。例如,由10個實體(例如,金融機構、保險公司)組成的聯盟可以操作聯盟區塊鏈網路,每個實體操作聯盟區塊鏈網路中的至少一個節點。 在一些範例中,在聯盟區塊鏈網路內,提供全域區塊鏈作為跨所有節點複製的區塊鏈。也就是說,所有的共識節點相對於全域區塊鏈處於完全共識狀態。為了達成共識(例如,同意將區塊添加到區塊鏈),在聯盟區塊鏈網路內實施共識協定。例如,聯盟區塊鏈網路可以實施實用拜占庭容錯(PBFT)共識,下面將進一步詳細描述。 在本文中參考在參與實體之間公開的聯盟區塊鏈網路進一步詳細描述本文的實施方式。然而,可以預期,可以在任何適當類型的區塊鏈網路中實現本文的實施方式。 在此鑒於上述背景更詳細地描述了本文的實施方式。更具體地說,如上所述,本文的實施方式涉及提供一種能夠認證與區塊鏈網路相關聯的節點的方法。 具體地,在一些實施例中,所描述的技術從由區塊鏈節點發送的簽署中恢復公開金鑰,接著使用所恢復的金鑰認證該節點,其中使用ECC演算法簽署簽署。由於橢圓曲線函數的數學運算,可以從簽署中恢復一個或多個公開金鑰(例如,一個偶數金鑰和一個奇數金鑰)。在一些情況下,可以恢復兩個以上的金鑰。因此,所描述的技術還提供了一種可以從簽署確定正確公開金鑰的增強方案。在該增強方案中,第一區塊鏈節點使用由ECC演算法生成的其私密金鑰對訊息進行簽署,其中,所述簽署包括由ECC演算法所基於的橢圓曲線上的點確定的冗餘資訊。一旦第二區塊鏈節點接收到該簽署訊息,它就可以基於包括在簽署中的冗餘資訊恢復並確定與第一區塊鏈節點相關聯的正確公開金鑰。 除了上述範例之外,所描述的技術可以有益於使用區塊鏈技術的許多其他應用。 圖1是顯示了可用於執行本文實施例的環境100的範例的示圖。在一些範例中,環境100使得實體能夠參與聯盟區塊鏈網路102。環境100包括計算設備106、108和網路110。在一些範例中,網路110包括區域網路(LAN)、廣域網路(WAN)、網際網路或其組合,並且連接網站、用戶設備(例如,計算設備)和後端系統。在一些範例中,可以透過有線和/或無線通訊鏈路來存取網路110。在一些範例中,網路110使得能夠與聯盟區塊鏈網路102通訊或在聯盟區塊鏈網路102內部通訊成為可能。通常,網路110表示一個或多個通訊網路。在一些情況下,計算設備106、108可以是雲計算系統(未顯示)的節點,或者每個計算設備106、108可以是單獨的雲計算系統,其包括透過網路互連並且用作分散式處理系統的多個電腦。 在所描繪的範例中,計算系統106、108可以各自包括能夠作為節點參與至聯盟區塊鏈網路102中的任何適當的計算系統。計算設備的範例包括(但不限於)伺服器、桌上型電腦、筆記型電腦、平板電腦和智慧型手機。在一些範例中,計算系統106、108承載用於與聯盟區塊鏈網路102互動的一個或多個由電腦實施的服務。例如,計算系統106可以承載第一實體(例如,用戶A)的由電腦實施的、例如交易管理系統的服務,第一實體使用該交易管理系統管理其與一個或多個其他實體(例如,其他用戶)的交易。計算系統108可以承載第二實體(例如,用戶B)的由電腦實施的、例如交易管理系統的服務,第二實體使用該交易管理系統管理其與一個或多個其他實體(例如,其他用戶)的交易。在圖1的範例中,聯盟區塊鏈網路102被表示為節點的點對點網路(Peer-to-Peer network),並且計算系統106、108分別提供參與聯盟區塊鏈網路102的第一實體和第二實體的節點。 圖2描繪了根據本文的實施例的架構200的範例。所述架構200包括實體層202、承載服務層204和區塊鏈網路層206。在所描繪的範例中,實體層202包括三個參與者,參與者A、參與者B和參與者C,每個參與者具有各自的交易管理系統208。 在所描繪的範例中,承載服務層204包括用於每個交易管理系統208的介面210。在一些範例中,各個的交易管理系統208透過網路(例如,圖1的網路110)使用協定(例如,超文字傳輸安全協定(HTTPS))與各自的介面210通訊。在一些範例中,每個介面210提供各自的交易管理系統208與區塊鏈網路層206之間的通訊連接。更具體地,介面210與區塊鏈網路層206的區塊鏈網路212通訊。在一些範例中,使用遠端程序呼叫(RPC)進行介面210與區塊鏈網路層206之間的通訊。在一些範例中,介面210“承載”用於各自的交易管理系統208的區塊鏈網路節點。例如,介面210提供用於存取區塊鏈網路212的應用程式介面(API)。 如本文所述,提供作為對等網路的區塊鏈網路212,所述區塊鏈網路212包括在區塊鏈216中不可篡改地記錄資訊的多個節點214。儘管示意性地描繪了單一區塊鏈216,但是提供了區塊鏈216的多個副本,並且跨區塊鏈網路212維護區塊鏈216的多個副本。例如,每個節點214儲存區塊鏈的副本。在一些實施例中,區塊鏈216儲存與在參與聯盟區塊鏈網路的兩個或更多個實體之間執行的交易相關聯的資訊。 區塊鏈(例如,圖2的區塊鏈216)由一系列區塊組成,每個區塊儲存資料。資料的範例包括表示兩個或更多個參與者之間的交易的交易資料。雖然本文透過非限制性範例使用了“交易”,但是可以預期,任何適當的資料可以儲存在區塊鏈中(例如,檔案、圖像、視訊、音訊)。交易的範例可以包括(但不限於)有價物(例如,資產、產品、服務、貨幣)的交換。交易資料不可篡改地儲存在區塊鏈中。也就是說,交易資料不能改變。 在將交易資料儲存至區塊中之前,對交易資料進行雜湊處理。雜湊處理是將交易資料(作為字元串資料提供)轉換為固定長度雜湊值(也作為字元串資料提供)的處理。無法對雜湊值進行去雜湊處理(un-hash)以獲取交易資料。雜湊處理可確保即使交易資料輕微改變也會導致完全不同的雜湊值。此外,如上所述,雜湊值具有固定長度。也就是說,無論交易資料的大小如何,雜湊值的長度都是固定的。雜湊處理包括透過雜湊函數處理交易資料以生成雜湊值。雜湊函數的範例包括(但不限於)輸出256位元雜湊值的安全雜湊演算法(SHA)-256。 多個交易的交易資料被雜湊處理並儲存在區塊中。例如,提供了兩個交易的雜湊值,並對它們自身進行雜湊處理以提供另一個雜湊值。重複該處理,直到對於所有要儲存在區塊中的交易提供單一雜湊值為止。該雜湊值被稱為Merkle根雜湊值,並儲存在區塊的頭中。任何交易的更改都會導致其雜湊值發生變化,並最終導致Merkle根雜湊值發生變化。 透過共識協定將區塊添加到區塊鏈。區塊鏈網路中的多個節點參與共識協定,並競相將區塊添加到區塊鏈中。這種節點稱為共識節點。上面介紹的PBFT用作共識協定的非限制性範例。共識節點執行共識協定以將交易添加到區塊鏈,並更新區塊鏈網路的整體狀態。 更詳細地,共識節點生成區塊頭,對區塊中的所有交易進行雜湊處理,並將所得的雜湊值成對地組合以生成進一步的雜湊值,直到為區塊中的所有交易提供單一雜湊值(Merkle根雜湊值)。將此雜湊值添加到區塊頭中。共識節點還確定區塊鏈中最新區塊(即,添加到區塊鏈中的最後一個區塊)的雜湊值。共識節點還向區塊頭添加隨機數(nonce)和時間戳記。 通常,PBFT提供容忍拜占庭故障(例如,故障節點、惡意節點)的實用拜占庭狀態機複製。這透過在PBFT中假設將發生故障(例如,假設存在獨立節點故障和/或由共識節點發送的操縱訊息)而實現。在PBFT中,以包括主共識節點和備共識節點的順序提供共識節點。主共識節點被週期性地改變,透過由區塊鏈網路內的所有共識節點對區塊鏈網路的全域狀態達成一致,將交易添加到區塊鏈中。在該處理中,訊息在共識節點之間傳輸,並且每個共識節點證明訊息是從指定的對等節點(peer node)接收的,並驗證在傳輸期間訊息未被篡改。 在PBFT中,共識協定是在所有共識節點以相同的狀態開始的情況下分多個階段提供的。首先,客戶端向主共識節點發送呼叫服務操作(例如,在區塊鏈網路內執行交易)的請求。回應於接收到請求,主共識節點將請求多點傳播到備共識節點。備共識節點執行請求,並且各自向客戶端發送回復。客戶端等待直到接收到臨界值數量的回復。在一些範例中,客戶端等待直到接收到f+1個回復,其中f是區塊鏈網路內可以容忍的錯誤共識節點的最大數量。最終結果是,足夠數量的共識節點就將記錄添加到區塊鏈的順序達成一致,並且該記錄或被接受或被拒絕。 在一些區塊鏈網路中,用加密處理來維護交易的隱私。例如,如果兩個節點想要保持交易隱私,以使得區塊鏈網路中的其他節點不能看出交易的細節,則這兩個節點可以對交易資料進行加密處理。加密處理的範例包括但不限於對稱加密和非對稱加密。對稱加密是指使用單一金鑰既進行加密(從明文生成密文)又進行解密(從密文生成明文)的加密處理。在對稱加密中,同一金鑰可以用於多個節點,因此每個節點都可以對交易資料進行加密/解密。 非對稱加密使用金鑰對,每個金鑰對包括私密金鑰和公開金鑰,私密金鑰僅對於相應節點是已知的,而公開金鑰對於區塊鏈網路中的任何或所有其他節點是已知的。節點可以使用另一個節點的公開金鑰來加密資料,並且該加密的資料可以使用其他節點的私密金鑰被解密。例如,再次參考圖2,參與者A可以使用參與者B的公開金鑰來加密資料,並將加密資料發送給參與者B。參與者B可以使用其私密金鑰來解密該加密資料(密文)並提取原始資料(明文)。使用節點的公開金鑰加密的訊息只能使用該節點的私密金鑰解密。 非對稱加密用於提供數位簽署,這使得交易中的參與者能夠確認交易中的其他參與者以及交易的有效性。例如,節點可以對訊息進行數位簽署,而另一個節點可以根據參與者A的該數位簽署來確認該訊息是由該節點發送的。數位簽署還可以用於確保訊息在傳輸過程中不被篡改。例如,再次參考圖2,參與者A將向參與者B發送訊息。參與者A生成該訊息的雜湊值,接著使用其私密金鑰加密該雜湊值以提供作為加密雜湊值的數位簽署。參與者A將該數位簽署附加到該訊息上,並將該具有數位簽署的訊息發送給參與者B。參與者B使用參與者A的公開金鑰解密該數位簽署,並提取雜湊值。參與者B對該訊息進行雜湊處理並比較雜湊值。如果雜湊值相同,則參與者B可以確認該訊息確實來自參與者A,並且未被篡改。 圖3描述了根據本文的實施方式的從聯盟區塊鏈網路的第一節點向第二節點發送經簽署的訊息的處理300的範例。 為了說明的目的,在該範例中,假設用於對訊息進行簽署的ECC演算法是基於根據以下等式的橢圓曲線函數的一組SM2演算法:
Figure 02_image001
其中a和b表示有限域
Figure 02_image003
中定義
Figure 02_image005
之上的橢圓曲線E的預定義參數。 在305處,發送節點(下文中稱為“第一節點”)使用橢圓曲線上的基點根據以下等式創建私密金鑰-公開金鑰對:
Figure 02_image007
其中
Figure 02_image009
表示與第一節點相關聯的公開金鑰,
Figure 02_image011
表示與第一節點相關聯並對應於
Figure 02_image013
的私密金鑰;G表示橢圓曲線E上具有質數階的基點。 在一些實施方式中,每個交易在其具有有效簽署的情況下被儲存在區塊鏈中,並且只有有效金鑰才能生成有效簽署。例如,如果節點A想要請求來自節點B的付款,則節點A需要向節點B提交經簽署的請求及其公開金鑰。只有當節點B確認簽署有效時,它才向節點A發送付款。 在310處,第一節點根據以下等式使用隨機數計算橢圓曲線上的選定曲線點:
Figure 02_image015
其中R表示橢圓曲線上的選定點,
Figure 02_image017
分別表示R的x軸值和y軸值,k表示[1, n-1]中的隨機數,k是由隨機數生成器生成的,n表示基點G的度數。 在315處,第一節點使用其私密金鑰來對訊息的資料摘要簽署,其中簽署包括左部分值、右部分值和冗餘資訊,每個根據以下等式來確定:
Figure 02_image019
其中r表示SM2簽署的左部分值;e表示資料摘要,其中e是從第一節點的關聯帳戶發送的訊息M的雜湊值;並且s表示數位簽署的右部分值;recid表示包括在數位簽署中的冗餘資訊。 在一些實施方式中,第一節點使用雜湊函數創建訊息的資料摘要,並且使用其私密金鑰來對資料摘要進行加密簽署。 在一些情況下,除了左部分值和右部分值之外,簽署還包括基於選定曲線點的y軸值的同位性的冗餘資訊。因為冗餘資訊對於簽署是唯一的並且不能被改變,所以它可以進一步用於確定所恢復的公開金鑰。在320處,第一節點將經簽署的訊息發送到接收節點(“第二節點”)。 圖4描述了根據本文的實施方式的用於基於數位簽署來認證聯盟區塊鏈網路的節點的處理400的範例。 在405處,第二節點根據以下等式確定第一節點在生成簽署時使用的曲線點的x軸值和一個以上y軸值:
Figure 02_image021
其中xR 表示選定點R的x軸值,yR 表示選定點R的y軸值,p表示大於3的質數。 在一些情況下,如果由第一節點生成的xR 的值大於n,則根據以下等式確定xR 的值:
Figure 02_image023
在這種情況下,當xR 被生成時第一節點將xR 溢出的量加到recid。 在410處,第二節點基於包括在簽署中的冗餘資訊從所確定的一個以上y軸值中選擇y軸值。 因為從步驟405確定的y軸值之一是負的,而另一個是正的,所以在針對這兩個y軸值各自的調變操作之後產生的值具有不同的同位性。只有與冗餘資訊中的y軸值具有相同同位性的y軸值才能被確認為選定曲線點的正確y軸值。 在415處,第二節點根據以下等式基於所接收的簽署中的冗餘資訊確定第一節點的公開金鑰:
Figure 02_image025
其中
Figure 02_image027
表示與第二節點相關聯的公開金鑰。 在425處,第二節點透過將所確定的公開金鑰與第一節點的驗證公開金鑰進行比較來認證第一節點。 因為在區塊鏈網路中,節點的公開金鑰對區塊鏈網路內的其它節點開放,所以一旦第二節點從簽署中恢復公開金鑰,它就可以將所恢復的公開金鑰與區塊鏈網路已知的第一節點的其它公開金鑰進行比較。如果存在匹配,則第一節點被認證。否則,它指示經簽署的訊息不是從節點A發送的。 圖5是用於認證區塊鏈節點的處理500的範例的流程圖。為了方便起見,處理500將被描述為由位於一個或多個位置的一個或多個電腦的系統執行,並且根據本文被適當地程式化。例如,適當程式化的電腦實現的系統,例如圖1的電腦實現的系統100,可以執行處理500。 在502處,第一節點從第二節點接收簽署訊息。在一些實施方式中,第二節點可以使用與所述第二節點的關聯用戶相關聯的金鑰來對訊息進行簽署。 在一些實施方式中,簽署訊息包括由第二節點生成的數位簽署。在一些情況下,基於冗餘資訊生成數位簽署。在一些實施方式中,第一節點和第二節點屬諸如聯盟區塊鏈網路之類的區塊鏈網路,並且與第二節點相關聯的身份資訊對於第一區塊鏈節點是未知的。 在504處,回應於接收到簽署訊息,第一節點從數位簽署中恢復一個或多個公開金鑰。在一些情況下,基於冗餘資訊恢復公開金鑰。在一些實施方式中,驗證公開金鑰與在聯盟區塊鏈網路中註冊的被認證的節點相關聯。 在一些實施方式中,所述數位簽署是透過基於一組密碼演算法使用與第二節點相關聯的私密金鑰簽署的,其中所述一組密碼演算法基於根據等式(1)的橢圓曲線,並且所述私密金鑰根據等式(2)確定。 在一些實施方式中,數位簽署包括左部分值、右部分值和冗餘資訊,其中左部分值是根據等式(3)和等式(4)透過使用橢圓曲線上的選定點確定的,右部分值是根據等式(5)確定的,冗餘資訊是根據等式(6)確定的。 在506處,回應於恢復所述公開金鑰,確定所述一或多個公開金鑰之一與第一節點的驗證公開金鑰匹配。 在一些實施方式中,從數位簽署恢復公開金鑰包括:基於包括在數位簽署中的冗餘資訊的同位性確定公開金鑰。 在一些實施方式中,基於冗餘資訊的同位性確定公開金鑰包括:根據等式(7)確定橢圓曲線上的選定點的x軸值;根據等式(8)確定橢圓曲線上的選定點的一個以上y軸值;基於冗餘資訊從所確定的一個以上y軸值中選擇y軸值;以及根據等式(9)確定與第二節點相關聯的公開金鑰。 在508處,回應於確定所述一個或多個公開金鑰之一與驗證公開金鑰匹配,確定簽署訊息是可信的。 圖6是根據本文的實施例的裝置600的模組的範例的示圖。 裝置600可以是被配置為在區塊鏈網路中傳送資料的第一區塊鏈節點的實施例的範例,其中區塊鏈網路是聯盟區塊鏈網路。裝置600可對應於上述實施例,且裝置600包括以下:接收器或接收單元602,用於從第二區塊鏈節點接收簽署訊息,其中,所述簽署訊息包括由所述第二區塊鏈節點生成的數位簽署,所述數位簽署包括冗餘資訊;恢復器或恢復單元604,用於使用所述冗餘資訊從所述數位簽署中恢復公開金鑰;第一確定器或確定單元606,用於確定所恢復的公開金鑰與驗證公開金鑰匹配;以及第二確定器或確定單元608,用於確定所述簽署訊息是可信的。 在可選實施方式中,第一區塊鏈節點和第二區塊鏈節點屬聯盟區塊鏈網路,並且與第二區塊鏈節點相關聯的身份資訊對於第一區塊鏈節點是未知的。 在可選實施方式中,驗證公開金鑰與在聯盟區塊鏈網路中註冊的被認證的區塊鏈節點相關聯。 在可選實施方式中,所述數位簽署是透過基於一組密碼演算法使用與第二區塊鏈節點相關聯的私密金鑰簽署的,其中所述一組密碼演算法基於根據等式(1)的橢圓曲線,並且所述私密金鑰根據等式(2)確定。 在可選實施方式中,數位簽署包括左部分值、右部分值和冗餘資訊,其中,左部分值根據等式(3)和等式(4)使用橢圓曲線上的選定點確定,右部分值根據等式(5)確定,冗餘資訊根據等式(6)確定。 在可選實施方式中,恢復器或恢復單元604基於包括在數位簽署中的冗餘資訊的同位性確定公開金鑰。 在可選實施方式中,確定器或第一確定單元606用於基於冗餘資訊的同位性確定公開金鑰,包括:根據等式(7)確定橢圓曲線上的選定點的x軸值;根據等式(8)確定橢圓曲線上的選定點的一個以上y軸值;基於冗餘資訊從所確定的一個以上y軸值中選擇y軸值;以及根據等式(9)確定與第二節點相關聯的公開金鑰。 在前述實施例中顯示的系統、裝置、模組或單元可以透過使用電腦晶片或實體實現,或者可以透過使用具有特定功能的產品實現。典型實施例設備是電腦,並且電腦可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件接發設備、遊戲控制台、平板電腦、可穿戴設備或這些設備的任何組合。 對於裝置中各模組的功能和角色的實施過程,可以參考前述方法中相應步驟的實施過程。為了簡明,這裡省略了細節。 由於裝置實施例基本上與方法實施例相對應,因此對於相關部分,可以參考方法實施例中的相關描述。前述裝置實施例僅僅是範例。作為單獨部件描述的模組可以是實體上分離的或者可以不是實體上分離的,並且作為模組顯示的部件可以是實體模組或者可以不是實體模組,可以位於一個位置,或者可以分佈在多個網路模組上。可以基於實際需求選擇一些或所有模組,以實現本文的方案的目的。本領域的普通技術人員無需創造性勞動就可以理解和實現本發明的實施例。 再次參考圖6,它可以被解釋為顯示了用於認證區塊鏈節點的裝置的內部功能模組和結構。執行主體實質上可以是電子設備,並且所述電子設備包括:一個或多個處理器;以及儲存器,被配置為儲存所述一個或多個處理器的可執行指令。 本文中描述的技術產生一個或多個技術效果。在一些實施例中,從由區塊鏈節點發送的簽署中恢復一個以上公開金鑰,並且可以從恢復的公開金鑰中確定正確公開金鑰。在這樣的實施例中,接收節點可以使用所恢復的正確金鑰認證發送節點,而不是嘗試與發送節點相關聯的每個公開金鑰,從而減少處理時間。 所描述的主題的實施例可單獨地或組合地包括一個或多個特徵。 例如,在第一實施例中,電腦實現的方法包括:由第一節點從第二節點接收簽署訊息,其中,所述簽署訊息包括由所述第二節點生成的數位簽署;回應於接收到所述簽署訊息,由第一節點從數位簽署中恢復一個或多個公開金鑰;回應於恢復所述一個或多個公開金鑰,由所述第一節點確定所述一個或多個公開金鑰中的一個公開金鑰與驗證公開金鑰匹配;以及回應於確定所述一個或多個公開金鑰中的一個公開金鑰與所述驗證公開金鑰匹配,確定所述簽署訊息是可信的。 前述和其它描述的實施例可以各自可選地包括一個或多個以下特徵: 第一特徵,可與以下特徵中的任何特徵組合,指定第一區塊鏈節點和第二區塊鏈節點屬聯盟區塊鏈網路,並且與第二區塊鏈節點相關聯的身份資訊對於第一區塊鏈節點是未知的。 第二特徵,可與先前或以下特徵中的任何特徵組合,指定:所述驗證公開金鑰與在聯盟區塊鏈網路中註冊的被認證的區塊鏈節點相關聯。 第三特徵,可與先前或以下特徵中的任何特徵組合,指定:所述數位簽署是透過基於一組密碼演算法使用與第二區塊鏈節點相關聯的私密金鑰簽署的,其中所述一組密碼演算法基於根據等式(1)的橢圓曲線,並且所述私密金鑰根據等式(2)確定。 第四特徵,可與先前或以下特徵中的任何特徵組合,指定所述數位簽署包括左部分值、右部分值和冗餘資訊,其中,左部分值透過使用橢圓曲線上的選定點根據等式(3)和(4)確定,右部分值根據等式(5)確定,冗餘資訊根據等式(6)確定。 第五特徵,可與先前或以下特徵中的任何特徵組合,指定從所述數位簽署恢復所述公開金鑰包括:基於數位簽署中包括的冗餘資訊的同位性確定公開金鑰。 第六特徵,可與先前或以下特徵中的任何特徵組合,指定基於所述冗餘資訊的同位性確定所述公開金鑰包括:根據等式(7)確定橢圓曲線上的選定點的x軸值;根據等式(8)確定橢圓曲線上的選定點的一個以上y軸值;基於所述冗餘資訊從所確定的一個以上y軸值中選擇y軸值;以及根據等式(9)確定與第二節點相關聯的公開金鑰。 第七特徵,可與先前或以下特徵中的任何特徵組合,指定所述驗證公開金鑰與所述第二節點的關聯用戶相關聯。 本文中描述的主題、動作和操作的實施例可以在數位電子電路、有形體現的電腦軟體或韌體、電腦硬體中實現,包括本文中公開的結構及其結構等同物,或者它們中的一個或多個的組合。本文中描述的主題的實施可以實現為一個或多個電腦程式,例如,編碼在電腦程式載體上的一個或多個電腦程式指令模組,用於由資料處理執行或控制資料處理裝置的操作。例如,電腦程式載體可以包括一個或多個電腦可讀儲存媒體,其具有編碼或儲存在其上的指令。載體可以是有形的非暫態電腦可讀媒體,例如磁碟、磁光碟或光碟、固態硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)或其他媒體類型。替代地或另外地,載體可以是人工生成的傳播訊號,例如,機器生成的電、光或電磁訊號,其被生成以編碼資訊以便傳輸到合適的接收器裝置以供資料處理裝置執行。電腦儲存媒體可以是或部分是機器可讀儲存設備、機器可讀儲存基板、隨機或串列存取儲存器設備或它們中的一個或多個的組合。電腦儲存媒體不是傳播訊號。 電腦程式,也可以被稱為或描述為程式、軟體、軟體應用程式、app、模組、軟體模組、引擎、腳本或代碼,可以以任何形式的程式化語言編寫,包括編譯或解釋性語言、說明或程式性語言;它可以配置為任何形式,包括作為獨立程式,或者作為模組、組件、引擎、子程式或適合在計算環境中執行的其他單元,該環境可包括由通訊資料網路互聯的在一個或多個位置上的一個或多個電腦。 電腦程式可以但非必須對應於檔案系統中的檔案。電腦程式可以儲存在:檔案保存其他程式或資料的檔案的一部分中,例如,儲存在標記語言檔案中的一個或多個腳本;專用於所討論的程式的單一檔案;或者多個協調檔案,例如,儲存一個或多個模組、子程式或代碼部分的多個檔案。 舉例來說,用於執行電腦程式的處理器包括通用和專用微處理器,以及任何類型的數位電腦的任何一個或多個處理器。通常,處理器將從耦接到處理器的非暫態電腦可讀媒體接收用於執行的電腦程式的指令以及資料。 術語“資料處理裝置”包括用於處理資料的所有類型的裝置、設備和機器,包括例如可程式化處理器、電腦或者多處理器或電腦。資料處理裝置可以包括專用邏輯電路,例如FPGA(現場可程式化閘陣列)、ASIC(特殊應用積體電路)或GPU(圖形處理單元)。除了硬體,該裝置還可以包括為電腦程式創建執行環境的代碼,例如,構成處理器韌體、協定堆疊、資料庫管理系統、作業系統或者它們中的一個或多個的組合的代碼。 本文中描述的處理和邏輯流程可以由執行一個或多個電腦程式的一個或多個電腦或處理器執行,以透過對輸入資料進行運算並生成輸出來執行操作。處理和邏輯流程也可以由例如FPGA、ASIC或GPU的專用邏輯電路或專用邏輯電路與一個或多個程式化電腦的組合來執行。 適合於執行電腦程式的電腦可以基於通用和/或專用微處理器,或任何其他種類的中央處理單元。通常,中央處理單元將從唯讀儲存器和/或隨機存取儲存器接收指令和資料。電腦的元件可包括用於執行指令的中央處理單元以及用於儲存指令和資料的一個或多個儲存器設備。中央處理單元和儲存器可以補充有專用邏輯電路或集成在專用邏輯電路中。 通常,電腦還將包括或可操作地耦接至一個或多個大容量儲存設備,以從一個或多個儲存設備接收資料或將資料傳輸到一個或多個大容量儲存設備。儲存設備可以是,例如,磁碟、磁光碟或光碟,固態硬碟或任何其他類型的非暫態電腦可讀媒體。但是,電腦不需要具有這樣的設備。因此,電腦可以耦接到例如本地和/或遠端的一個或多個儲存器的一個或多個儲存器設備。例如,電腦可以包括作為電腦的整體部件的一個或多個本地儲存器,或者電腦可以耦接到雲網路中的一個或多個遠端儲存器。此外,電腦可以嵌入到另一個設備中,例如行動電話、個人數位助理(PDA)、移動音訊或視訊播放器、遊戲控制台、全球定位系統(GPS)接收器或例如通用串列匯流排(USB)快閃記憶體驅動器的可攜式儲存設備,僅舉幾例。 組件可以透過例如直接地或經由一個或多個中間組件彼此電連接或光連接而可交換地彼此“耦接”。如果其中一個組件集成到另一個組件中,則組件也可以彼此“耦接”。例如,集成到處理器中的儲存組件(例如,L2高速快取組件)被“耦接到”處理器。 為了提供與用戶的互動,本文中描述的主題的實施例可以在電腦上實現或配置為與該電腦通訊,該電腦具有:顯示設備(例如,LCD(液晶顯示器)監視器),用於向用戶顯示資訊;以及輸入設備,用戶可以透過該輸入設備向該電腦提供輸入,例如鍵盤和例如滑鼠、軌跡球或觸控板等的指針設備。其他類型的設備也可用於提供與用戶的互動;例如,提供給用戶的反饋可以是任何形式的感覺反饋,例如視覺反饋、聽覺反饋或觸覺反饋;並且可以接收來自用戶的任何形式的輸入,包括聲音、語音或觸覺輸入。另外,電腦可以透過向用戶使用的設備發送檔案和從用戶使用的設備接收檔案來與用戶互動;例如,透過回應於從用戶設備上的web瀏覽器接收的請求將網頁發送到用戶設備上的web瀏覽器,或者透過與在例如智慧型電話或電子平板電腦等的用戶設備上運行的應用程式(app)互動。此外,電腦可以透過向個人設備(例如,運行訊息應用的智慧型手機)輪流發送文字訊息或其他形式的訊息來並接收來自用戶的回應訊息來與用戶互動。 本文使用與系統、裝置和電腦程式組件有關的術語“配置為”。對於被配置為執行特定操作或動作的一個或多個電腦的系統,意味著系統已經在其上安裝了在運行中促使該系統執行所述操作或動作的軟體、韌體、硬體或它們的組合。對於被配置為執行特定操作或動作的一個或多個電腦程式,意味著一個或多個程式包括當被資料處理裝置執行時促使該裝置執行所述操作或動作的指令。對於被配置為執行特定操作或動作的專用邏輯電路,意味著該電路具有執行所述操作或動作的電子邏輯。 儘管本文包含許多具體實施細節,但這些不應被解釋為由請求項本身限定的對要求保護的範圍的限制,而是作為對特定實施例的具體特徵的描述。在本文單獨實施例的上下文中描述的某些特徵也可以在單一實施例中組合實現。相反,在單一實施例的上下文中描述的各種特徵也可以單獨地或以任何合適的子組合在多個實施例中實現。此外,儘管上面的特徵可以描述為以某些組合起作用並且甚至最初如此要求保護,但是在一些情況下,可以從要求保護的組合中刪除來自該組合的一個或多個特徵,並且可以要求保護指向子組合或子組合的變體。 類似地,雖然以特定順序在圖式中描繪了操作並且在請求項中敘述了操作,但是這不應該被理解為:為了達到期望的效果,要求以所示的特定順序或依次執行這些操作,或者要求執行所有顯示的操作。在某些情況下,多任務和並行處理可能是有利的。此外,上述實施例中的各種系統模組和組件的劃分不應被理解為所有實施例中都要求如此劃分,而應當理解,所描述的程式組件和系統通常可以一起集成在單一軟體產品中或打包成多個軟體產品。 已經描述了主題的特定實施例。其他實施例在以下請求項的範圍內。例如,請求項中記載的動作可以以不同的順序執行並且仍然實現期望的結果。作為一個範例,圖式中描繪的處理無需要求所示的特定順序或次序來實現期望的結果。在某些情況下,多任務和並行處理可能是有利的。
100:環境 102:聯盟區塊鏈網路 106:計算設備 108:計算設備 110:網路 200:架構 202:實體層 204:承載服務層 206:區塊鏈網路層 208:交易管理系統 210:介面 212:區塊鏈網路 214:節點 216:區塊鏈 300:處理 305~320:步驟 400:處理 405~415:步驟 500:處理 502~508:步驟 600:裝置 602:接收器或接收單元 604:恢復器或恢復單元 606:第一確定器或確定單元 608:第二確定器或確定單元
[圖1]是顯示可用於執行本文的實施例的環境的範例的示圖。 [圖2]是顯示根據本文的實施例的架構的範例的示圖。 [圖3]描述了根據本文的實施方式的由聯盟區塊鏈網路的節點生成數位簽署的處理的範例。 [圖4]描述了根據本文的實施方式的基於從聯盟區塊鏈網路節點的關聯帳戶發送的數位簽署來認證所述節點的處理的範例。 [圖5]描繪了可以根據本文的實施例執行的處理的範例。 [圖6]顯示了根據本文的實施例的裝置的模組的範例。 在各個圖式中,相同的圖式標記和名稱表示相同的元件。

Claims (6)

  1. 一種電腦實現的用於認證的方法,包括:第一節點從第二節點接收簽署訊息,其中,所述簽署訊息包括由所述第二節點生成的數位簽署中的冗餘資訊;回應於接收到所述簽署訊息,所述第一節點使用所述冗餘資訊從所述數位簽署中恢復一個或多個公開金鑰;回應於恢復所述一個或多個公開金鑰,所述第一節點確定所述一個或多個公開金鑰之一與驗證公開金鑰匹配;以及回應於確定所述一個或多個公開金鑰之一與所述驗證公開金鑰匹配,確定所述簽署訊息是可信的;其中,透過基於一組密碼演算法使用與所述第二節點相關聯的私密金鑰簽署所述數位簽署,所述一組密碼演算法基於根據以下等式的橢圓曲線:y 2=x 3+ax+b其中:a和b表示有限域F q 中定義F q 上的橢圓曲線E的預定義參數;所述私密金鑰根據以下等式確定:Q A =d A ×G其中:Q A 是所述公開金鑰; d A 表示與第二節點相關聯並對應於Q A 的私密金鑰;以及G表示所述橢圓曲線E上具有質數階的基點;其中,所述數位簽署包括左部分值、右部分值和所述冗餘資訊,其中所述左部分值是透過使用所述橢圓曲線上的選定點根據以下等式確定的:R=(x R ,y R )=k×G r=(e+x R )(mod n)其中:R表示所述橢圓曲線上的選定點,其中x R ,y R 分別表示R的x軸值和y軸值;k表示[1,n-1]中的隨機數,n表示基點G的度數;r表示所述數位簽署的左部分值;e表示從所述第二節點發送到所述第一節點的訊息M的雜湊值;根據以下等式確定所述右部分值:s=(1+d A )-1(k-rd A )(mod n)其中:s表示所述數位簽署的右部分值;以及根據以下等式確定所述冗餘資訊:
    Figure 108144488-A0305-02-0033-1
    其中recid表示包括在所述數位簽署中的所述冗餘資 訊;其中,從所述數位簽署中恢復所述公開金鑰包括:基於所述數位簽署中包括的所述冗餘資訊的同位性確定所述公開金鑰;其中,基於所述冗餘資訊的同位性確定所述公開金鑰包括:根據以下等式確定所述橢圓曲線上的所述選定點的x軸值:x R =(r-e)(mod n)其中:x R 表示所述選定點R的x軸值;根據以下等式確定所述橢圓曲線上的所述選定點的一個以上y軸值:
    Figure 108144488-A0305-02-0034-2
    其中:y R 表示所述選定點R的y軸值;p表示大於3的質數;基於所述冗餘資訊從所確定的一個以上y軸值中選擇y軸值;以及根據以下等式確定與所述第二節點相關聯的公開金鑰:Q A '=(r+s)-1(R-s * G) 其中:Q A '表示與所述第二節點相關聯的公開金鑰。
  2. 如請求項1所述的電腦實現的方法,其中,所述驗證公開金鑰與所述第二節點的關聯用戶相關聯。
  3. 如請求項1所述的電腦實現的方法,其中,所述第一節點和所述第二節點屬區塊鏈網路,並且與所述第二節點相關聯的身份資訊對於所述第一節點是未知的。
  4. 如請求項1所述的電腦實現的方法,其中,所述驗證公開金鑰與在所述聯盟區塊鏈網路中註冊的被認證的節點相關聯。
  5. 一種用於認證的系統,包括:一個或多個處理器;和一個或多個電腦可讀儲存器,所述電腦可讀儲存器耦接到所述一個或多個處理器並且其上儲存有指令,所述指令能夠由所述一個或多個處理器執行以執行請求項1至4中任一項所述的方法。
  6. 一種用於認證的裝置,所述裝置包括用於執行請求項1至4中任一項所述的方法的多個模組。
TW108144488A 2019-03-15 2019-12-05 基於恢復的公開金鑰進行認證 TWI723665B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
WOPCT/CN2019/078382 2019-03-15
PCT/CN2019/078382 WO2019101240A2 (en) 2019-03-15 2019-03-15 Authentication based on a recoverd public key

Publications (2)

Publication Number Publication Date
TW202040965A TW202040965A (zh) 2020-11-01
TWI723665B true TWI723665B (zh) 2021-04-01

Family

ID=66631235

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108144488A TWI723665B (zh) 2019-03-15 2019-12-05 基於恢復的公開金鑰進行認證

Country Status (6)

Country Link
US (1) US10659233B1 (zh)
EP (1) EP3607483B1 (zh)
CN (1) CN110612700B (zh)
SG (1) SG11201909013RA (zh)
TW (1) TWI723665B (zh)
WO (1) WO2019101240A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111066285B (zh) * 2019-05-31 2023-06-30 创新先进技术有限公司 基于sm2签名恢复公钥的方法
KR102396737B1 (ko) 2019-11-06 2022-05-10 알리페이 (항저우) 인포메이션 테크놀로지 씨오., 엘티디. 공유 블록체인 데이터 저장 우선 순위화
CN111182525B (zh) * 2019-12-25 2022-09-02 中国联合网络通信集团有限公司 一种存储数据的方法和装置
CN113128999B (zh) * 2019-12-31 2024-04-12 航天信息股份有限公司 一种区块链隐私保护方法及装置
CN111047324B (zh) * 2020-03-16 2020-08-04 支付宝(杭州)信息技术有限公司 用于更新区块链节点处的公钥集合的方法及装置
CN112184441B (zh) * 2020-09-29 2024-01-19 平安科技(深圳)有限公司 数据处理方法、装置、节点设备及存储介质
CN112231767B (zh) * 2020-10-16 2024-06-25 海尔优家智能科技(北京)有限公司 请求信息的处理方法及装置、存储介质、电子装置
CN112560113B (zh) * 2020-12-24 2024-06-07 珠海格力电器股份有限公司 一种节点签名管理方法、***、电子设备及存储介质
CN113067703B (zh) * 2021-03-19 2022-09-20 上海摩联信息技术有限公司 终端设备数据上链方法及***
CN113112269B (zh) * 2021-04-09 2023-11-28 杭州复杂美科技有限公司 多重签名方法、计算机设备和存储介质
CN113158176B (zh) * 2021-06-02 2022-08-02 工业信息安全(四川)创新中心有限公司 基于sm2签名的公钥解析方法、装置、设备及存储介质
CN113572617B (zh) * 2021-07-20 2023-05-26 广州炒米信息科技有限公司 基于联盟链的分布式节点间身份认证方法
CN113794558B (zh) * 2021-09-16 2024-02-27 烽火通信科技股份有限公司 一种XMSS算法中的L-tree计算方法、装置及***
CN113904854B (zh) * 2021-10-13 2024-01-02 筹远(上海)信息科技有限公司 一种基于商密算法的区块链数据加密方法及装置
CN114567448B (zh) * 2022-04-29 2022-08-02 华南师范大学 一种协同签名方法以及协同签名***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034382A1 (en) * 2008-08-05 2010-02-11 Irdeto Access B.V. Signcryption scheme based on elliptic curve cryptography
EP3376705A1 (en) * 2017-03-17 2018-09-19 Koninklijke Philips N.V. Elliptic curve point multiplication device and method in a white-box context

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150006900A1 (en) * 2013-06-27 2015-01-01 Infosec Global Inc. Signature protocol
US9672499B2 (en) * 2014-04-02 2017-06-06 Modernity Financial Holdings, Ltd. Data analytic and security mechanism for implementing a hot wallet service
CN109478280B (zh) * 2016-07-29 2023-08-22 区块链控股有限公司 区块链实现的方法和***
US10505744B2 (en) * 2017-06-29 2019-12-10 Intel Corporation Technologies for robust computation of elliptic curve digital signatures
CN108683646B (zh) * 2018-04-28 2021-03-16 厦门美图之家科技有限公司 一种认证方法及计算设备
CN109377198B (zh) * 2018-12-24 2022-03-11 上海金融期货信息技术有限公司 一种基于联盟链多方共识的签约***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034382A1 (en) * 2008-08-05 2010-02-11 Irdeto Access B.V. Signcryption scheme based on elliptic curve cryptography
EP3376705A1 (en) * 2017-03-17 2018-09-19 Koninklijke Philips N.V. Elliptic curve point multiplication device and method in a white-box context

Also Published As

Publication number Publication date
US10659233B1 (en) 2020-05-19
TW202040965A (zh) 2020-11-01
CN110612700B (zh) 2021-06-22
WO2019101240A2 (en) 2019-05-31
EP3607483A4 (en) 2020-05-27
WO2019101240A3 (en) 2021-09-10
EP3607483B1 (en) 2021-07-07
SG11201909013RA (en) 2019-10-30
CN110612700A (zh) 2019-12-24
EP3607483A2 (en) 2020-02-12

Similar Documents

Publication Publication Date Title
TWI723665B (zh) 基於恢復的公開金鑰進行認證
US11196556B2 (en) Method for restoring public key based on SM2 signature
EP3685334B1 (en) Improving integrity of communications between blockchain networks and external data sources
US10791107B2 (en) Performing a change of primary node in a distributed system
EP3560142B1 (en) Performing a recovery process for a network node in a distributed system
EP3566392B1 (en) Achieving consensus among network nodes in a distributed system
CN111066046B (zh) 抗重放攻击认证协议
US11394584B2 (en) Asynchronous processing of blockchain blocks
EP3679534B1 (en) Managing blockchain-based centralized ledger systems