TWI719435B - 安全多方計算協定的輸入獲取方法和裝置 - Google Patents
安全多方計算協定的輸入獲取方法和裝置 Download PDFInfo
- Publication number
- TWI719435B TWI719435B TW108110468A TW108110468A TWI719435B TW I719435 B TWI719435 B TW I719435B TW 108110468 A TW108110468 A TW 108110468A TW 108110468 A TW108110468 A TW 108110468A TW I719435 B TWI719435 B TW I719435B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- ciphertext
- server
- server end
- party computing
- Prior art date
Links
Images
Classifications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/602—Providing cryptographic facilities or services
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/3239—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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- 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/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Telephonic Communication Services (AREA)
Abstract
本說明書實施例提供了一種獲取安全多方計算協定的輸入的方法和裝置,安全多方計算協定的參與方包括第一伺服器端,第一伺服器端為第一對象的伺服器端,安全多方計算協定基於第一對象的第一資料進行計算,其中,第一資料被儲存在第二伺服器端中,第二伺服器端是權威機構的伺服器端,所述方法在第二伺服器端執行,包括:從第一伺服器端接收關於第一資料的資料請求;基於資料請求,透過預先從第一伺服器端接收的公開金鑰對第一資料進行同態加密,以產生第一密文,其中,公開金鑰為所述第一對象的同態加密公開金鑰;基於第一密文獲取驗證資料,驗證資料用於驗證待驗證密文是否與第一資料對應;以及將驗證資料發送給第一伺服器端。
Description
本說明書實施例涉及密碼學技術領域,更具體地,涉及獲取安全多方計算協定的輸入的方法和裝置。
一個實體(個人或企業、組織)在進行申請貸款、申請簽證、報稅等業務時,通常需要提供自身的隱私資料(年齡、存款、性別、收入)給另一實體(或多個實體甚至公眾),以供另一實體(或多個實體甚至公眾)計算/評估。前一實體可稱為證明方,後一實體可稱為校驗方。證明方提供資料時可能撒謊,因此需要一個或多個實體(背書方)提供證明,如銀行背書方提供的存款證明、政府背書方提供的身份證/營業執照等。
證明方在將其隱私資料交給校驗方計算/評估時,證明方會擔憂隱私洩露。而如果採用另一方式,把計算/評估方法交給證明方,證明方只向校驗方提供計算結果,則存在證明方造假的可能,證明方可能使用虛假的資料來進行計算,可能沒有忠實按照提供的計算方法進行計算。
為解決上述資料隱私與資料可信的矛盾,現有技術結合使用了零知識證明、雜湊、數位簽章和區塊鏈技術。背書方在存證證明方資料時,在區塊鏈帳本中記錄資料的雜湊值和其對該雜湊值的數位簽章。為防止資料取值空間太小帶來的窮舉攻擊,雜湊時使用了亂數。背書方給證明方發送的存證憑證包含雜湊值、雜湊時所用的亂數、記錄在區塊鏈帳本中的位置,可選還包括雜湊值的數位簽章。證明方給校驗方發送的存證憑證包含雜湊值、記錄在區塊鏈帳本中的位置,可選還包括雜湊值的數位簽章。然後,透過零知識證明技術,校驗方可以校驗證明方在計算函數f過程中使用的資料與存證憑證中的雜湊值匹配,且證明方在計算中沒有用其他函數來替代f,忠實執行了f函數。從而校驗方最終獲得可信的計算結果。該過程需要強功能的零知識證明技術,需要的計算和儲存資源較多。
因此,需要一種更有效的獲取安全多方計算協定的輸入的方案。
本說明書實施例旨在提供更有效的獲取安全多方計算協定的輸入的方法和裝置,以解決現有技術中的不足。
為實現上述目的,本說明書一個方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第二伺服器端執行,包括:
從所述第一伺服器端接收關於所述第一資料的資料請求;
基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰;
基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應;以及
將所述驗證資料發送給所述第一伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第一伺服器端執行,包括:
向所述第二伺服器端發送關於所述第一資料的資料請求;
獲取與所述第一資料對應的第二密文,其中,所述第二密文是透過預先產生的所述第一對象的公開金鑰獲取的同態加密密文;
從所述第二伺服器端接收根據透過根據上述任一項獲取安全多方計算協定的輸入的方法獲取的驗證資料;以及
將所述第二密文和所述驗證資料發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第一伺服器端執行,包括:
向所述第二伺服器端發送關於所述第一資料的資料請求;
從所述第二伺服器端接收儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置;以及
將所述帳本位置發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述方法在所述第一伺服器端執行,包括:
透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文;
透過在區塊鏈中對所述密文進行存證,獲取區塊鏈中存證所述密文的帳本位置;以及
將所述密文和所述帳本位置發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述方法在所述第一伺服器端執行,包括:
透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文;
透過在區塊鏈中存入所述密文、和所述第一對象對所述密文的數位簽章,獲取區塊鏈中儲存所述密文和所述數位簽章的帳本位置,其中所述數位簽章由所述第一伺服器端產生;以及
將所述帳本位置發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第三伺服器端執行,包括:
從所述第一伺服器端接收透過根據上述在第一伺服器端執行的方法獲取的所述第二密文和所述驗證資料;
使用所述驗證資料驗證所述第二密文,以判定所述第二密文是否與所述第一資料對應;以及
在判定所述第二密文與所述第一資料對應的情況中,判定以所述第二密文作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第三伺服器端執行,包括:
從所述第一伺服器端接收儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置;以及
從所述帳本位置獲取所述第一密文,以作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述方法在所述第三伺服器端執行,包括:
從所述第一伺服器端接收透過根據上述在第一伺服器端執行的方法獲取的所述密文和所述帳本位置;
使用所述帳本位置驗證所述密文,以判定所述密文是否與所述第一資料對應;以及
在判定所述密文與所述第一資料對應的情況中,判定以所述密文作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第一伺服器端中,所述方法在所述第三伺服器端執行,包括:
從所述第一伺服器端接收透過根據在第一伺服器端執行的方法獲取的所述帳本位置;以及
從所述帳本位置獲取所述密文,以作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第二伺服器端實施,包括:
接收單元,組態為,從所述第一伺服器端接收關於所述第一資料的資料請求;
產生單元,組態為,基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰;
獲取單元,組態為,基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應;以及
發送單元,組態為,將所述驗證資料發送給所述第一伺服器端。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述資料請求中包括用於對所述第一資料進行同態加密的亂數,其中所述產生單元還組態為,透過預先從所述第一伺服器端接收的公開金鑰和所述亂數對所述第一資料進行同態加密,以產生第一密文。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述發送單元還組態為,將所述驗證資料和所述第一密文發送給所述第一伺服器端。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述獲取單元還組態為,透過在區塊鏈中對所述第一密文進行存證,獲取區塊鏈中存證所述第一密文的帳本位置作為所述驗證資料。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第一伺服器端實施,包括:
第一發送單元,組態為,向所述第二伺服器端發送關於所述第一資料的資料請求;
獲取單元,組態為,獲取與所述第一資料對應的第二密文,其中,所述第二密文是透過預先產生的所述第一對象的公開金鑰獲取的同態加密密文;
接收單元,組態為,從所述第二伺服器端接收根據透過根據上述在第二伺服器端執行的任一項方法獲取的驗證資料;以及
第二發送單元,組態為,將所述第二密文和所述驗證資料發送給所述第三伺服器端。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述獲取單元還組態為,從所述第二伺服器端接收透過上述在第二伺服器端執行的方法產生的所述第一密文作為所述第二密文。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述第一伺服器端儲存有所述第一資料,以及,其中,所述獲取單元還組態為,在本地透過所述公開金鑰和本地產生的亂數對所述第一資料進行同態加密,以獲取所述第二密文,其中,在關於所述第一資料的資料請求中包括所述亂數。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第一伺服器端執行,包括:
第一發送單元,組態為,向所述第二伺服器端發送關於所述第一資料的資料請求;
接收單元,組態為,從所述第二伺服器端接收透過儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置;以及
第二發送單元,組態為,將所述帳本位置發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述裝置在所述第一伺服器端執行,包括:
加密單元,組態為,透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文;
存證單元,組態為,透過在區塊鏈中對所述密文進行存證,獲取區塊鏈中存證所述密文的帳本位置;以及
發送單元,組態為,將所述密文和所述帳本位置發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述裝置在所述第一伺服器端實施,包括:
加密單元,組態為,透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文;
存入單元,組態為,透過在區塊鏈中存入所述密文、和所述第一對象對所述密文的數位簽章,獲取區塊鏈中儲存所述密文和所述數位簽章的帳本位置,其中所述數位簽章由所述第一伺服器端產生;以及
發送單元,組態為,將所述帳本位置發送給所述第三伺服器端。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第三伺服器端實施,包括:
接收單元,組態為,從所述第一伺服器端接收透過根據上述在第一伺服器端執行的方法獲取的所述第二密文和所述驗證資料;
驗證單元,組態為,使用所述驗證資料驗證所述第二密文,以判定所述第二密文是否與所述第一資料對應;以及
判定單元,組態為,在判定所述第二密文與所述第一資料對應的情況中,判定以所述第二密文作為所述安全多方計算協定的輸入。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述驗證資料為透過儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置,其中,在所述帳本位置儲存有透過在第二伺服器端執行的方法獲取的所述第一密文,
其中,所述驗證單元還包括:
獲取子單元,組態為,透過所述帳本位置,獲取所述第一密文;以及
判定子單元,組態為,判定所述第二密文與所述第一密文是否相同。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述驗證資料為透過儲存所述第一密文的雜湊值、和所述權威機構對所述第一密文的雜湊值的數位簽章的所述帳本位置,在所述帳本位置儲存有透過第二伺服器端基於所述密文產生的所述第一密文的雜湊值,
其中,所述驗證單元包括:
通獲取子單元,組態為,過所述帳本位置,獲取所述第一密文的雜湊值;以及
判定子單元,組態為,判定所述第二密文與所述雜湊值是否匹配。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述驗證資料為所述權威機構對所述第一密文的數位簽章,
其中,所述驗證單元還包括:
判定子單元,組態為,判定所述第二密文與所述數位簽章是否匹配。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第三伺服器端實施,包括:
接收單元,組態為,從所述第一伺服器端接收儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置;以及
獲取單元,組態為,從所述帳本位置獲取所述第一密文,以作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述裝置在所述第三伺服器端實施,包括:
接收單元,組態為,從所述第一伺服器端接收透過在第一伺服器端執行的方法獲取的所述密文和所述帳本位置;
驗證單元,組態為,使用所述帳本位置驗證所述密文,以判定所述密文是否與所述第一資料對應;以及
判定單元,組態為,在判定所述密文與所述第一資料對應的情況中,判定以所述密文作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第一伺服器端中,所述裝置在所述第三伺服器端實施,包括:
接收單元,組態為,從所述第一伺服器端接收透過在第一伺服器端執行的方法獲取的所述帳本位置;以及
獲取單元,組態為,從所述帳本位置獲取所述密文,以作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行代碼,所述處理器執行所述可執行代碼時,實現上述任一項獲取安全多方計算協定的輸入的方法。
本方案中透過對同態加密密文的背書,結合使用多方安全計算協定,解決了資料隱私和資料可信的矛盾,且避免使用了功能強大的零知識證明技術,避免了零知識證明技術帶來的昂貴計算和儲存消耗。另外,本發明能解決使用多證明方資料進行評估的資料造假問題。
下面將結合圖式描述本說明書實施例。
圖1示出了根據本說明書實施例的安全多方計算的場景示意圖。如圖1所示,安全多方計算的參與方包括第一伺服器端11和第三伺服器端13,第一伺服器端11為證明方伺服器端,證明方例如為個人、企業、組織等,第三伺服器端13為校驗方伺服器端,校驗方可以為對證明方提供服務的個人、企業、組織等。該場景中還包括第二伺服器端12,其例如為銀行、稅務局等權威機構的伺服器端,其中儲存有所述證明方的資料。在第一伺服器端11與第三伺服器端13執行安全多方計算協定(MPC協定)之前,首先,第一伺服器端11向第二伺服器端12發送資料請求,該資料請求包括對證明方特定資料的密文的請求、對證明方特定資料的背書證明的請求等。第二伺服器端在接收到上述資料請求之後,使用證明方預先提供的證明方同態加密公開金鑰對所述特定資料加密,以產生同態加密密文,並基於該同態加密密文產生驗證資料,所述驗證資料用於證明待驗證的密文與所述特定資料是否對應。然後,第二伺服器端將所述密文和驗證資料發送給第一伺服器端。
第一伺服器端11將接收的密文和驗證資料發送給第三伺服器端13。第三伺服器端13用所述驗證資料驗證所述密文,當判定所述密文與所述特定資料對應時,判定該密文為安全多方計算協定的輸入,當判定密文與所述特定資料不對應時,則終止所述MPC協定。
圖1所示的安全多方計算的場景只是示意性的,本說明書實施例的場景不限於圖1所示。例如,第一伺服器端11可自己產生第一資料的密文,而不需要從第二伺服器端接收密文。又例如,第三伺服器端可自己從區塊鏈下載可信密文,而不用從第一伺服器端接收密文。另外,安全多方計算不限於兩方,而可以包括任意數目的參與方。證明方也可以從多個背書方獲取背書證明。另外,證明方可以自身為背書方,即,自己為自己背書,證明方也同時可以是校驗方。
圖2示出了根據本說明書實施例一種獲取安全多方計算協定的輸入的方法。所述安全多方計算協定的參與方包括第一伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端。所述方法在所述第二伺服器端執行,包括:
在步驟S202,從所述第一伺服器端接收關於所述第一資料的資料請求;
在步驟S204,基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰;
在步驟S206,基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應;以及
在步驟S208,將所述驗證資料發送給所述第一伺服器端。
首先,在步驟S202,從所述第一伺服器端接收關於所述第一資料的資料請求。例如,第一伺服器端為個人或企業的伺服器端,其例如如圖1所示與第三伺服器端執行PMC協定,其中,第三伺服器端例如為評估機構、貸款機構、保險公司等。第一伺服器端與第三伺服器端透過執行MPC協定,使得第三伺服器端獲得對第一對象(所述個人或企業)的評估結果,同時相對於第三伺服器端保護所述第一對象的隱私資料。第二伺服器端例如為銀行的伺服器端,其中儲存有所述第一對象的資料,如年齡、性別、存款、收入等等。所述資料請求指定了將要處理的資料(即所述第一資料)。例如,所述第一資料為第一對象的存款,第一伺服器端在資料請求中對該存款資料進行指定。所述資料請求還可以包括對資料的加密處理方式的指定,即,指定透過第一對象的公開金鑰對該資料進行同態加密。另外,所述資料請求還可以包括對第二伺服器端應發回的內容的指定,例如,指定發回所述資料的密文和所述密文的驗證資料,或者所述密文的驗證資料等等。
在步驟S204,基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰。在根據資料請求判定對第一資料的進行特定加密之後,第二伺服器端從自身儲存單元中獲取第一資料和第一對象的公開金鑰,使用第一對象的公開金鑰對第一資料進行同態加密,從而獲取第一密文。這裡,透過第一伺服器端預先產生了第一對象的同態加密公開金鑰、私密金鑰對,並且第一伺服器端在產生所述公私密金鑰對之後,將其中的公開金鑰發送給第二伺服器端,以用於實施根據本說明書實施例的方法。
在一個實施例中,所述第一伺服器端也儲存有所述第一資料。第一伺服器透過自身的同態加密公開金鑰、所述第一資料、以及本地產生的亂數對第一資料進行同態加密,以獲得第二密文。從而,第一伺服器端在向第二伺服器端發送所述資料請求時,在所述資料請求中包括所述亂數。從而第二伺服器端可透過預先從所述第一伺服器端接收的公開金鑰和所述亂數對所述第一資料進行同態加密,以產生第一密文。即,透過發送所述亂數,以保證在第二伺服器端產生的第一密文與在第一伺服器端產生的第二密文是一致的,以用於執行後續的方法。
在步驟S206,基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應。
在一個實施例中,所述驗證資料為區塊鏈中由所述權威機構存證所述第一密文的帳本位置。例如,第二伺服器端在產生所述第一密文之後,產生權威機構對第一密文的數位簽章,並將所述第一密文和所述數位簽章存入到區塊鏈中。具體是,第二伺服器端使用權威機構的私密金鑰對所述第一密文進行計算,以產生加密資料,作為權威機構對該第一密文的數位簽章。透過權威機構的數位簽章,即示出了權威機構對如下內容的背書證明:第一密文是透過第一伺服器端的公開金鑰對第一資料進行同態加密所獲取的密文。另外,透過區塊鏈中其它節點以所述權威機構的公開金鑰對權威機構的數位簽章進行驗證達成共識,並將該第一密文與數位簽章存入到區塊鏈中,保證了第一密文的不被篡改和完整性,同時,保證了數位簽章的真實性。因此,透過獲取所述帳本位置,可從該位置獲取所述第一密文,透過將該第一密文與待驗證的密文進行比對,從而可判斷待驗證的密文是否與所述第一資料對應。即,該帳本位置可以作為驗證資料,用於驗證待驗證的密文是否與第一資料對應。
其中,所述第二伺服器端還可以將第一密文的雜湊值、和所述權威機構對所述雜湊值的數位簽章存入區塊鏈中,從而獲取區塊鏈中儲存所述雜湊值的帳本位置。同樣地,權威機構透過其數位簽章對該雜湊值進行了背書證明,也即,對其對應的第一密文進行了背書證明。從而,透過獲取所述帳本位置,可從該位置獲取第一密文的雜湊值,透過將待驗證密文的雜湊值與該第一密文的雜湊值進行比對,從而可判斷待驗證密文是否與第一資料對應。
在一個實施例中,所述驗證資料為透過所述第二伺服器端產生的所述權威機構對所述第一密文的數位簽章。具體地,第二伺服器端在如上所述產生所述第一密文之後,使用權威機構的私密金鑰對所述第一密文進行計算,從而產生加密資料作為該權威機構對該第一密文的數位簽章。該數位簽章可透過所述權威機構的公開金鑰進行驗證,並且可保證第一密文的不可篡改和完整性,體現了權威機構對第一密文的背書證明。從而,透過獲取該數位簽章,使用權威機構的公開金鑰,驗證待驗證密文與該數位簽章是否匹配,從而可判定待驗證密文是否與第一資料對應。
在步驟S208,將所述驗證資料發送給所述第一伺服器端。
在一個實施例中,例如如上述對步驟S204中的描述,第一伺服器端在本地自己產生了第二密文,從而第二伺服器端只需要將所述驗證資料發送給所述第一伺服器端,以用於後續的方法。在另一個實施例中,在第二伺服器端產生第一密文之後,將第二伺服器端產生的亂數發送給第一伺服器端,從而第一伺服器端可利用該亂數和本機存放區的第一資料,在本地產生與第一資料對應的第一密文,即,第二伺服器端需要將所述驗證資料和用於產生所述第一密文的亂數發送給所述第一伺服器端。在另一個實施例中,第二伺服器端將所述第一密文和所述驗證資料發送給所述第一伺服器端,以用於後續的方法。
圖3示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法的流程圖。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端。所述方法在所述第一伺服器端執行,包括以下步驟S302-S306。
在步驟S302,向所述第二伺服器端發送關於所述第一資料的資料請求。該步驟中的資料請求的具體描述可參考上述對圖2中步驟S202的描述,在此不再贅述。
在步驟S304,獲取與所述第一資料對應的第二密文,其中,所述第二密文是透過預先產生的所述第一對象的公開金鑰獲取的同態加密密文。
在第一伺服器端,預先產生第一對象的一對用於對資料進行同態加密的公私密金鑰對。並且,第一伺服器端預先將其中的公開金鑰發送給第二伺服器端,以用於本實施例方法的實施。
在一個實施例中,從所述第二伺服器端接收上述第一密文作為該第二密文。其中所述第一密文由所述第二伺服器端透過預先從所述第一伺服器端接收的所述公開金鑰對所述第一資料進行同態加密而產生。
在一個實施例中,所述第一伺服器端本機存放區有所述第一資料。所述第一伺服器端在本地透過所述公開金鑰和亂數對所述第一資料進行同態加密,以獲取所述第二密文。在該情況中,在上述關於所述第一資料的資料請求中包括所述亂數,以使得第二伺服器端可根據所述公開金鑰和該亂數產生所述第一密文。從而使得第一密文與第二密文是相同的密文。
在另一個實施例中,所述第一伺服器端本機存放區有所述第一資料。第二伺服器端在透過第一對象的公開金鑰和第二伺服器端本地產生的第二亂數產生所述第一密文之後,將該第二亂數發送給第一伺服器端。從而第一伺服器使用所述公開金鑰和所述第二亂數在本地產生所述第二密文。
在步驟S306,從所述第二伺服器端接收透過圖2所示的方法獲取的驗證資料。如上文所述,透過上述在第二伺服器端執行的方法獲取的驗證資料包括:區塊鏈中對所述第一密文進行存證的帳本位置、以及所述權威機構對所述第一密文的數位簽章。
在步驟S308,將所述第二密文和所述驗證資料發送給所述第三伺服器端。透過將第二密文和驗證資料發送給第三伺服器端,第三伺服器端可使用驗證資料如上所述對第二密文進行驗證,以判定所述第二密文是否與第一資料對應。從而,在所述第二密文與第一資料對應的情況中,可判定以該第二密文作為所述MPC協定的輸入。即該第二密文是可信的輸入,對應於第一對象的真實資料。
圖4示出了根據本說明書另一個實施例的一種獲取安全多方計算協定的輸入的方法的流程圖。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端。所述方法在所述第一伺服器端執行,包括以下步驟S402-S406。
在步驟S402,向所述第二伺服器端發送關於所述第一資料的資料請求。該步驟中的資料請求的具體描述可參考上述對圖2中步驟S202的描述,在此不再贅述。
在步驟S404,從所述第二伺服器端獲取透過圖2所示的方法獲取的區塊鏈中的帳本位置,其中,在所述帳本位置儲存有與所述第一資料對應的第一密文、和所述權威機構對所述第一密文的數位簽章。參考上文對圖2步驟S206的描述,透過由第二伺服器端對本地的第一資料進行加密以獲取第一密文,對該第一密文產生數位簽章,並將第一密文和數位簽章存入區塊鏈中,即第二伺服器端對該第一密文進行了背書證明,所述帳本位置儲存的第一密文是與第一資料對應的可信密文。
在步驟S406,將所述帳本位置發送給所述第三伺服器端。透過將所述帳本位置發送給所述第三伺服器端,第三伺服器端從該帳本位置可直接下載與第一資料對應的可信密文,從而可將其作為MPC協定的輸入。
圖5示出了根據本說明書另一個實施例的一種獲取安全多方計算協定的輸入的方法的流程圖。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算。其中,所述第一資料被儲存在所述第一伺服器端中。該實施例與前述實施例不同在於,所述第一對象既是待評估對象,也是權威機構,其為自己背書。例如,第一伺服器端是銀行的伺服器端,即第一伺服器端同時也是第二伺服器端。所述方法在所述第一伺服器端執行,包括以下步驟S502-S506。
在步驟S502,透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文。即,第一伺服器端使用第一對象的同態加密公開金鑰對本地的第一資料進行同態加密,從而在本地產生與所述第一資料對應的密文。
在步驟S504,透過在區塊鏈中對所述密文進行存證,獲取區塊鏈中存證所述密文的帳本位置。這裡,與上文對圖2中的步驟S206的相應描述類似,這裡的帳本位置即為上述步驟S206中驗證資料的一種情況。所不同的是,在圖2所示實施例中,由第二伺服器端進行在區塊鏈中對所述密文進行存證。在該實施例中,由於第一對象既是待評估對象,又是權威機構,即,第一伺服器端同時充當第二伺服器端。因此,在該實施例中,由第一伺服器端進行對所述密文的存證。對存證的具體過程的描述可參考上文對步驟S206的描述,在此不再贅述。
在步驟S506,將所述密文和所述帳本位置發送給所述第三伺服器端。該步驟的具體實施可參考上文對圖3中步驟S308的描述,在此不再贅述。
在該實施例中,透過由第一伺服器端將密文存證到區塊鏈中,從而進行第一對象對自身的背書。其中,可透過區塊鏈中的共識對第一對象的資料密文進行共識驗證,並保證該密文的不可篡改性,從而增加了所述密文的可信度。
圖6示出了根據本說明書另一個實施例的一種獲取安全多方計算協定的輸入的方法。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中。該實施例與圖5所示實施例類似,即,所述第一對象既是待評估對象,也是權威機構,即第一伺服器端同時也是第二伺服器端。不同的是,在該實施例中,與圖3所示實施例類似地,第三伺服器端透過從所述帳本位置獲取密文。所述方法在所述第一伺服器端執行,包括以下步驟S602-S606。
在步驟S602,透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文。該步驟的具體實施可參考上文對圖5步驟S502的描述,在此不再贅述。
在步驟S604,透過在區塊鏈中儲存所述密文、和所述第一對象對所述密文的數位簽章,獲取區塊鏈中儲存所述密文和所述數位簽章的帳本位置,其中所述數位簽章由所述第一伺服器端產生。這裡,第一伺服器端透過將所述密文及第一對象對該密文的數位簽章存入到區塊鏈中,使得在區塊鏈中對該密文及其數位簽章進行了共識驗證,並保證了該密文的不可篡改性。
在步驟S606,將所述帳本位置發送給所述第三伺服器端。透過將所述帳本位置發送給第三伺服器端,第三伺服器端可從區塊鏈中下載所述經過共識的密文,從而,確保了密文的可信性。
圖7示出了根據說明書另一個實施例的獲取安全多方計算協定的輸入的方法。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端。所述方法在所述第三伺服器端執行,包括以下步驟S702-S706。
首先,在步驟S702,從所述第一伺服器端接收透過圖3所示的方法獲取的第二密文和驗證資料。這裡,對第二密文和驗證資料的具體描述可參考上述對圖3中步驟S304和S306的描述,在此不再贅述。
在步驟S704,使用所述驗證資料驗證所述第二密文,以判定所述第二密文是否與所述第一資料對應。
在一個實施例中,所述驗證資料為儲存上述第一密文的帳本位置。在該情況中,使用所述驗證資料驗證所述第二密文包括:透過所述帳本位置,獲取所述第一密文;以及判定所述第二密文與所述第一密文是否相同。在第二密文與第一密文相同的情況中,可判定第二密文與所述第一資料對應。
在一個實施例中,所述驗證資料為儲存上述第一密文的雜湊值的帳本位置。在該情況中,使用所述驗證資料驗證所述第二密文包括:透過所述帳本位置,獲取所述第一密文的雜湊值;以及判定所述第二密文與所述雜湊值是否匹配,即判定第二密文的雜湊值是否與所述第一密文的雜湊值相同。在第二密文與所述雜湊值匹配的情況中,可判定第二密文與所述第一資料對應。
在一個實施例中,所述驗證資料為上述權威機構對所述第一密文的數位簽章,在該情況中,使用所述驗證資料驗證所述第二密文包括:判定所述第二密文與所述數位簽章是否匹配。具體是,第三伺服器端使用預先從第二伺服器端獲取的權威機構的公開金鑰對所述數位簽章進行解密獲得第一報文摘要,使用預先從第二伺服器端獲取的雜湊函數從所述第二密文計算出第二報文摘要。如果第二報文摘要與所述第一報文摘要相同,可判定第二密文與所述數位簽章匹配,即,可判定第二密文與所述第一資料對應。
在步驟S706,在判定所述第二密文與所述第一資料對應的情況中,判定以所述第二密文作為所述安全多方計算協定的輸入。在判定第二密文與第一資料對應的情況中,也就是判定了第二密文是透過第一對象的公開金鑰對第一資料進行同態加密所獲取的密文,因此可用於MPC協定,並確保透過MPC協定獲取真實可信的結果。
圖8示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端。所述方法在所述第三伺服器端執行,包括以下步驟S802-S804。
首先,在步驟S802,從所述第一伺服器端接收上述區塊鏈中儲存所述第一密文的所述帳本位置。
在步驟S804,從所述帳本位置獲取所述第一密文,以作為所述安全多方計算協定的輸入。
該實施例與圖7所示實施例不同在於,在該實施例中,直接從區塊鏈帳本位置下載獲取所述第一密文作為圖7所示實施例中第二密文,從而不需要從第一伺服器端接收所述第二密文。由於第一密文為經權威機構背書證明的與所述第一資料對應的密文,並且是透過第一對象的公開金鑰進行同態加密所獲取的密文,因此可用於第一伺服器端與第三伺服器端之間的MPC協定,並且可確保獲取真實可信的計算結果。
圖9示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中。所述方法在所述第三伺服器端執行,包括以下步驟S902-S906。
首先,在步驟S902,從所述第一伺服器端接收透過圖5所示方法獲取的所述密文、和區塊鏈中存證所述密文的帳本位置。對所述密文和所述帳本位置的具體描述可參考上述對圖5中步驟S502和S504的描述,在此不再贅述。
在步驟S904,使用所述帳本位置驗證所述密文,以判定所述密文是否與所述第一資料對應。該步驟的具體實施可參考上文對圖7中步驟S704的描述中的相應描述,在此不再贅述。
在步驟S906,判定所述密文與所述第一資料對應的情況中,判定以所述密文作為所述安全多方計算協定的輸入。該步驟的具體實施可參考上文對圖7中步驟S706的描述,在此不再贅述。
該實施例所示方法與圖7所示方法不同在於,在該實施例中,透過由第一伺服器端將密文存證到區塊鏈中,從而進行第一對象對自身的背書。其中,可透過區塊鏈中的共識對第一對象的資料密文進行共識驗證,並保證該密文的不可篡改性,從而增加了所述密文的可信度。
圖10示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法。所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第一伺服器端中。所述方法在所述第三伺服器端執行,包括以下步驟S1002-S1004。
首先,在步驟S1002,從所述第一伺服器端接收透過圖6所示的方法獲取的區塊鏈中儲存所述密文的帳本位置。
在步驟S1004,從所述帳本位置獲取所述密文,以作為所述安全多方計算協定的輸入。
該實施例與圖9所示實施例不同在於,在該實施例中,直接從區塊鏈帳本位置下載獲取所述密文,從而不需要從第一伺服器端接收所述密文。由於所述密文為經權威機構背書證明的與所述第一資料對應的密文,並且是透過第一對象的公開金鑰進行同態加密所獲取的密文,因此可用於第一伺服器端與第三伺服器端之間的MPC協定,並且可確保獲取真實可信的計算結果。
圖11示出了根據本說明書實施例的方法時序圖。圖11包括第I部分和第II部分,其中第I部分對應於第一伺服器端從權威機構的第二伺服器端獲取驗證資料的情況,第II部分對應於第一伺服器端自己準備驗證資料(即不需要權威機構的第二伺服器端)的情況。在第I部分,首先,第一伺服器端向第二伺服器端發送資料請求,第二伺服器端根據資料請求準備第一密文及驗證資料,並將驗證資料發送給第一伺服器端,可選地,將第一密文也發送給第一伺服器端。然後,第一伺服器端將第二密文(可選)和驗證資料發送給第三伺服器端。從而第三伺服器端透過以所述驗證資料驗證所述第二密文,以判定是否以第二密文作為所述MPC協定的輸入。這裡第二密文可以是從第二伺服器端獲取的第一密文,也可以是透過本地的公開金鑰和第一資料在本地產生的密文。可選地,第一伺服器端僅將驗證資料發送給第三伺服器端,該驗證資料為權威機構在區塊鏈中存證所述第一密文的帳本位置,從而,第三伺服器端可直接從所述帳本位置下載所述第一密文,以用於MPC協定。
在第II部分,第一伺服器端在本地產生第一資料的同態加密密文,並將該密文存入區塊鏈中,以獲取區塊鏈中儲存所述密文的帳本位置作為所述驗證資料。然後,第一伺服器端將密文(可選)和所述帳本位置發送給第三伺服器端。從而,第三伺服器端透過所述帳本位置驗證所述密文,以判定是否以所述密文作為MPC協定的輸入。可選地,第一伺服器端僅將所述帳本位置發送給第三伺服器端,從而所述第三伺服器端可直接從所述帳本位置下載所述密文作為所述MPC協定的輸入。
在上述多個實施例中,示出了在第一伺服器端、第二伺服器端和第三伺服器端之間、或者在第一伺服器端與第三伺服器端之間進行的獲取MPC協定的輸入的方法,其中MPC協定的參與方包括第一伺服器端和第三伺服器端。然而,上述實施例並不限定本發明的範圍。
在一個實施例中,第一伺服器端可從兩個以上的權威機構(例如銀行和稅務局)的伺服器端獲取驗證資料和密文(可選),在該情況中,第一伺服器端可與每個權威機構的伺服器端執行例如圖3所示的方法,以分別獲取MPC協定的輸入。
在一個實施例中,第一伺服器端與第三伺服器端執行的方法可互換,即第一伺服器端的證明方也可以是校驗方,第三伺服器端的校驗方也可以是證明方,例如合作的兩方互相對對方進行評估,因此,在其之間將執行兩次根據上述實施例的方法,一次由一方作為證明方,另一方作為校驗方,另一次雙方互換角色。兩次方法的執行可同時進行,也可順序進行。兩次執行的方法可以相同,也可以不同(例如一次執行圖3所示的方法,一次執行圖4所示的方法)。
在一個實施例中,第三伺服器端(校驗方)對兩個以上的證明方伺服器端進行密文的驗證,以分別獲取來自各個證明方的對MPC協定的輸入。在該情況中,第三伺服器端與每個所述證明方伺服器端分別執行例如圖3所示的方法,以分別獲取MPC協定的輸入。
在一個實施例中,第一伺服器端(證明方)向多個校驗方伺服器端提供第一資料的密文及其驗證資料。在該情況中,第一伺服器端可將透過上述實施例所示的方法獲取的密文及其驗證資料發送給各個校驗方伺服器端,以分別獲取各個校驗方伺服器端對應的MPC協定的輸入。
圖12示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1200,所述安全多方計算協定的參與方包括第一伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第二伺服器端實施,包括:
接收單元121,組態為,從所述第一伺服器端接收關於所述第一資料的資料請求;
產生單元122,組態為,基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰;
獲取單元123,組態為,基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應;以及
發送單元124,組態為,將所述驗證資料發送給所述第一伺服器端。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述資料請求中包括用於對所述第一資料進行同態加密的亂數,其中所述產生單元還組態為,透過預先從所述第一伺服器端接收的公開金鑰和所述亂數對所述第一資料進行同態加密,以產生第一密文。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述發送單元還組態為,將所述驗證資料和所述第一密文發送給所述第一伺服器端。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述獲取單元還組態為,透過在區塊鏈中對所述第一密文進行存證,獲取區塊鏈中存證所述第一密文的帳本位置作為所述驗證資料。
圖13示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1300,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第一伺服器端實施,包括:
第一發送單元131,組態為,向所述第二伺服器端發送關於所述第一資料的資料請求;
獲取單元132,組態為,獲取與所述第一資料對應的第二密文,其中,所述第二密文是透過預先產生的所述第一對象的公開金鑰獲取的同態加密密文;
接收單元133,組態為,從所述第二伺服器端接收根據透過圖2所示方法獲取的驗證資料;以及
第二發送單元134,組態為,將所述第二密文和所述驗證資料發送給所述第三伺服器端。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述獲取單元還組態為,從所述第二伺服器端接收透過圖2所示方法產生的所述第一密文作為所述第二密文。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述第一伺服器端儲存有所述第一資料,以及,其中,所述獲取單元還組態為,在本地透過所述公開金鑰和本地產生的亂數對所述第一資料進行同態加密,以獲取所述第二密文,其中,在關於所述第一資料的資料請求中包括所述亂數。
圖14示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1400,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第一伺服器端執行,包括:
第一發送單元141,組態為,向所述第二伺服器端發送關於所述第一資料的資料請求;
接收單元142,組態為,從所述第二伺服器端接收儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置;以及
第二發送單元143,組態為,將所述帳本位置發送給所述第三伺服器端。
圖15示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1500,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述裝置在所述第一伺服器端執行,包括:
加密單元151,組態為,透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文;
存證單元152,組態為,透過在區塊鏈中對所述密文進行存證,獲取區塊鏈中存證所述密文的帳本位置;以及
發送單元153,組態為,將所述密文和所述帳本位置發送給所述第三伺服器端。
圖16示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1600,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述裝置在所述第一伺服器端實施,包括:
加密單元161,組態為,透過使用預先產生的所述第一對象的公開金鑰對所述第一資料進行同態加密,獲取與所述第一資料對應的密文;
存入單元162,組態為,透過在區塊鏈中存入所述密文、和所述第一對象對所述密文的數位簽章,獲取區塊鏈中儲存所述密文和所述數位簽章的帳本位置,其中所述數位簽章由所述第一伺服器端產生;以及
發送單元163,組態為,將所述帳本位置發送給所述第三伺服器端。
圖17示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1700,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第三伺服器端實施,包括:
接收單元171,組態為,從所述第一伺服器端接收透過圖3所示方法獲取的所述第二密文和所述驗證資料;
驗證單元172,組態為,使用所述驗證資料驗證所述第二密文,以判定所述第二密文是否與所述第一資料對應;以及
判定單元173,組態為,在判定所述第二密文與所述第一資料對應的情況中,判定以所述第二密文作為所述安全多方計算協定的輸入。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述驗證資料為儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置,其中,在所述帳本位置儲存有透過圖2所示方法獲取的所述第一密文,
其中,所述驗證單元包括:
第一獲取子單元1721,組態為,透過所述帳本位置,獲取所述第一密文;以及
第一判定子單元1722,組態為,判定所述第二密文與所述第一密文是否相同。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述驗證資料為儲存所述第一密文的雜湊值、和所述權威機構對所述第一密文的雜湊值的數位簽章的所述帳本位置,
其中,所述驗證單元還包括:
第二獲取子單元1723,組態為,過所述帳本位置,獲取所述第一密文的雜湊值;以及
第二判定子單元1724,組態為,判定所述第二密文與所述雜湊值是否匹配。
在一個實施例中,在所述獲取安全多方計算協定的輸入的裝置中,所述驗證資料為所述權威機構對所述第一密文的數位簽章,
其中,所述驗證單元還包括:
第三判定子單元1725,組態為,判定所述第二密文與所述數位簽章是否匹配。
圖18示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1800,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第三伺服器端實施,包括:
接收單元181,組態為,從所述第一伺服器端接收儲存所述第一密文和所述權威機構對所述第一密文的數位簽章的所述帳本位置;以及
獲取單元182,組態為,從所述帳本位置獲取所述第一密文,以作為所述安全多方計算協定的輸入。
圖19示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1900,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在所述第一伺服器端中,所述裝置在所述第三伺服器端實施,包括:
接收單元191,組態為,從所述第一伺服器端接收透過圖5所示方法獲取的所述密文和所述帳本位置;
驗證單元192,組態為,使用所述帳本位置驗證所述密文,以判定所述密文是否與所述第一資料對應;以及
判定單元193,組態為,在判定所述密文與所述第一資料對應的情況中,判定以所述密文作為所述安全多方計算協定的輸入。
圖20示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置2000,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第一伺服器端中,所述裝置在所述第三伺服器端實施,包括:
接收單元201,組態為,從所述第一伺服器端接收透過圖6所示方法獲取的所述帳本位置;以及
獲取單元202,組態為,從所述帳本位置獲取所述密文,以作為所述安全多方計算協定的輸入。
本說明書另一方面提供一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行代碼,所述處理器執行所述可執行代碼時,實現上述任一項獲取安全多方計算協定的輸入的方法。
本方案中透過對同態加密密文的背書,結合使用多方安全計算協定,解決了資料隱私和資料可信的矛盾,且避免使用了功能強大的零知識證明技術,避免了零知識證明技術帶來的昂貴計算和儲存消耗。另外,本發明能解決使用多證明方資料進行評估的資料造假問題。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
本領域普通技術人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及演算法步驟,能夠以電子硬體、電腦軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執軌道,取決於技術方案的特定應用和設計約束條件。本領域普通技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的範圍。
結合本文中所公開的實施例描述的方法或演算法的步驟可以用硬體、處理器執軌道的軟體模組,或者二者的結合來實施。軟體模組可以置於隨機記憶體(RAM)、記憶體、唯讀記憶體(ROM)、電可程式設計ROM、電可擦除可程式設計ROM、暫存器、硬碟、抽取式磁碟、CD-ROM、或技術領域內所公知的任意其它形式的儲存介質中。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
11‧‧‧第一伺服器端
12‧‧‧第二伺服器端
13‧‧‧第三伺服器端
S202、S204、S206、S208、S302、S304、S306、S308、S402、S404、S406、S502、S504、S506、S602、S604、S606、S702、S704、S706、S802、S804、S902、S904、S906、S1002、S1004‧‧‧步驟
1200、1300、1400、1500、1600、1700、1800、1900、2000‧‧‧裝置
121‧‧‧接收單元
122‧‧‧產生單元
123‧‧‧獲取單元
124‧‧‧發送單元
131‧‧‧第一發送單元
132‧‧‧獲取單元
133‧‧‧接收單元
134‧‧‧第二發送單元
141‧‧‧第一發送單元
142‧‧‧接收單元
143‧‧‧第二發送單元
151‧‧‧加密單元
152‧‧‧存證單元
153‧‧‧發送單元
161‧‧‧加密單元
162‧‧‧存入單元
163‧‧‧發送單元
171‧‧‧接收單元
172‧‧‧驗證單元
1721‧‧‧第一獲取子單元
1722‧‧‧第一判定子單元
1723‧‧‧第二獲取子單元
1724‧‧‧第二判定子單元
1725‧‧‧第三判定子單元
173‧‧‧判定單元
181‧‧‧接收單元
182‧‧‧獲取單元
191‧‧‧接收單元
192‧‧‧驗證單元
193‧‧‧判定單元
201‧‧‧接收單元
202‧‧‧獲取單元
透過結合圖式描述本說明書實施例,可以使得本說明書實施例更加清楚:
圖1示出了根據本說明書實施例的安全多方計算的場景示意圖;
圖2示出了根據本說明書實施例一種獲取安全多方計算協定的輸入的方法的流程圖;
圖3示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法的流程圖;
圖4示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法的流程圖;
圖5示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法的流程圖;
圖6示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法的流程圖;
圖7示出了根據說明書另一實施例的獲取安全多方計算協定的輸入的方法;
圖8示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法;
圖9示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法;
圖10示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的方法;
圖11示出了根據本說明書實施例的方法時序圖;
圖12示出了根據本說明書實施例的一種獲取安全多方計算協定的輸入的裝置1200;
圖13示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1300;
圖14示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1400;
圖15示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1500;
圖16示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1600;
圖17示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1700;
圖18示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1800;
圖19示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置1900;以及
圖20示出了根據本說明書另一實施例的一種獲取安全多方計算協定的輸入的裝置2000。
Claims (33)
- 一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第二伺服器端執行,包括:從所述第一伺服器端接收資料請求,其中所述資料請求指定由所述第一對象指明之將要處理的所述第一資料,其中所述資料請求中還包括用於對所述第一資料進行同態加密的亂數;基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰;基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應;以及將所述驗證資料發送給所述第一伺服器端。
- 如申請專利範圍第1項所述的獲取安全多方計算協定的輸入的方法,其中透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文包括,透過預先從所述第一伺服器端接收的公開金鑰和所 述亂數對所述第一資料進行同態加密,以產生第一密文。
- 如申請專利範圍第1項所述的獲取安全多方計算協定的輸入的方法,其中,將所述驗證資料發送給所述第一伺服器端包括,將所述驗證資料和所述第一密文發送給所述第一伺服器端。
- 如申請專利範圍第1項所述的獲取安全多方計算協定的輸入的方法,其中,基於所述第一密文獲取驗證資料包括,透過在區塊鏈中對所述第一密文進行存證,獲取區塊鏈中存證所述第一密文的帳本位置作為所述驗證資料。
- 如申請專利範圍第4項所述的獲取安全多方計算協定的輸入的方法,其中,在區塊鏈中對所述第一密文進行存證包括,在所述帳本位置儲存所述第一密文和所述權威機構對所述第一密文的數位簽章,其中所述數位簽章由所述第二伺服器端產生。
- 如申請專利範圍第4項所述的獲取安全多方計算協定的輸入的方法,其中,在區塊鏈中對所述第一密文進行存證包括,在所述帳本位置儲存所述第一密文的雜湊值、和所述權威機構對所述第一密文的雜湊值的數位簽章,其中所述第一密文的雜湊值由所述第二伺服器端基於所述第一密文產生,所述數位簽章由所述第二伺服器端產生。
- 如申請專利範圍第1項所述的獲取安全多方計算協定的輸入的方法,其中,基於所述第一密文獲取驗證資料包括,產生所述權威機構對所述第一密文的數位簽章,作為所述驗證資料。
- 一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第一伺服器端執行,包括:向所述第二伺服器端發送關於所述第一資料的資料請求;獲取與所述第一資料對應的第二密文,其中,所述第二密文是透過預先產生的所述第一對象的公開金鑰獲取的同態加密密文;從所述第二伺服器端接收根據透過如申請專利範圍第1-7項中任一項所述的方法獲取的驗證資料;以及將所述第二密文和所述驗證資料發送給所述第三伺服器端。
- 如申請專利範圍第8項所述的獲取安全多方計算協定 的輸入的方法,其中,獲取與所述第一資料對應的第二密文包括,從所述第二伺服器端接收透過如申請專利範圍第1項所述的方法產生的所述第一密文作為所述第二密文。
- 如申請專利範圍第8項所述的獲取安全多方計算協定的輸入的方法,其中,所述第一伺服器端儲存有所述第一資料,以及,其中,獲取與所述第一資料對應的第二密文包括,在本地透過所述公開金鑰和本地產生的亂數對所述第一資料進行同態加密,以獲取所述第二密文,其中,在關於所述第一資料的資料請求中包括所述亂數。
- 一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第一伺服器端執行,包括:向所述第二伺服器端發送資料請求,其中所述資料請求指定由所述第一對象指明之將要處理的所述第一資料,其中所述資料請求中還包括用於對所述第一資料進行同態加密的亂數;從所述第二伺服器端接收透過如申請專利範圍第5項所述的方法獲取的所述帳本位置;以及 將所述帳本位置發送給所述第三伺服器端。
- 一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第三伺服器端執行,包括:從所述第一伺服器端接收透過如申請專利範圍第8項所述的方法獲取的所述第二密文和所述驗證資料;使用所述驗證資料驗證所述第二密文,以判定所述第二密文是否與所述第一資料對應;以及在判定所述第二密文與所述第一資料對應的情況中,判定以所述第二密文作為所述安全多方計算協定的輸入。
- 如申請專利範圍第12項所述的獲取安全多方計算協定的輸入的方法,其中,所述驗證資料為透過如申請專利範圍第5項所述的方法獲取的所述帳本位置,其中,在所述帳本位置儲存有透過如申請專利範圍第1項所述的方法獲取的所述第一密文,其中,使用所述驗證資料驗證所述第二密文包括:透過所述帳本位置,獲取所述第一密文;以及判定所述第二密文與所述第一密文是否相同。
- 如申請專利範圍第12項所述的獲取安全多方計算協定的輸入的方法,其中,所述驗證資料為透過如申請專利範圍第6項所述的方法獲取的所述帳本位置,在所述帳本位置儲存有透過如申請專利範圍第6項所述的方法獲取的所述第一密文的雜湊值,其中,使用所述驗證資料驗證所述第二密文包括:透過所述帳本位置,獲取所述第一密文的雜湊值;以及判定所述第二密文與所述雜湊值是否匹配。
- 如申請專利範圍第12項所述的獲取安全多方計算協定的輸入的方法,其中,所述驗證資料為透過如申請專利範圍第7項所述的方法獲取的所述數位簽章,其中,使用所述驗證資料驗證所述第二密文包括:判定所述第二密文與所述數位簽章是否匹配。
- 一種獲取安全多方計算協定的輸入的方法,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述方法在所述第三伺服器端執行,包括: 從所述第一伺服器端接收透過如申請專利範圍第5項所述的方法獲取的所述帳本位置;以及從所述帳本位置獲取所述第一密文,以作為所述安全多方計算協定的輸入。
- 一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第二伺服器端實施,包括:接收單元,組態為,從所述第一伺服器端接收資料請求,其中所述資料請求指定由所述第一對象指明之將要處理的所述第一資料,其中所述資料請求中還包括用於對所述第一資料進行同態加密的亂數;產生單元,組態為,基於所述資料請求,透過預先從所述第一伺服器端接收的公開金鑰對所述第一資料進行同態加密,以產生第一密文,其中,所述公開金鑰為所述第一對象的同態加密公開金鑰;獲取單元,組態為,基於所述第一密文獲取驗證資料,所述驗證資料用於驗證待驗證密文是否與所述第一資料對應;以及發送單元,組態為,將所述驗證資料發送給所述第一伺服器端。
- 如申請專利範圍第17項所述的獲取安全多方計算協定的輸入的裝置,其中所述產生單元還組態為,透過預先從所述第一伺服器端接收的公開金鑰和所述亂數對所述第一資料進行同態加密,以產生第一密文。
- 如申請專利範圍第17項所述的獲取安全多方計算協定的輸入的裝置,其中,所述發送單元還組態為,將所述驗證資料和所述第一密文發送給所述第一伺服器端。
- 如申請專利範圍第17項所述的獲取安全多方計算協定的輸入的裝置,其中,所述獲取單元還組態為,透過在區塊鏈中對所述第一密文進行存證,獲取區塊鏈中存證所述第一密文的帳本位置作為所述驗證資料。
- 如申請專利範圍第20項所述的獲取安全多方計算協定的輸入的裝置,其中,在區塊鏈中對所述第一密文進行存證包括,在所述帳本位置儲存所述第一密文和所述權威機構對所述第一密文的數位簽章,其中所述數位簽章由所述第二伺服器端產生。
- 如申請專利範圍第20項所述的獲取安全多方計算協定的輸入的裝置,其中,在區塊鏈中對所述第一密文進行存證包括,在所述帳本位置儲存所述第一密文的雜湊值、和 所述權威機構對所述第一密文的雜湊值的數位簽章,其中所述第一密文的雜湊值由所述第二伺服器端基於所述第一密文產生,所述數位簽章由所述第二伺服器端產生。
- 如申請專利範圍第20項所述的獲取安全多方計算協定的輸入的裝置,其中,基於所述第一密文獲取驗證資料包括,產生所述權威機構對所述第一密文的數位簽章,作為所述驗證資料。
- 一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第一伺服器端實施,包括:第一發送單元,組態為,向所述第二伺服器端發送資料請求,其中所述資料請求指定由所述第一對象指明之將要處理的所述第一資料,其中所述資料請求中還包括用於對所述第一資料進行同態加密的亂數;獲取單元,組態為,獲取與所述第一資料對應的第二密文,其中,所述第二密文是透過預先產生的所述第一對象的公開金鑰獲取的同態加密密文;接收單元,組態為,從所述第二伺服器端接收根據透 過如申請專利範圍第1-7項中任一項所述的方法獲取的驗證資料;以及第二發送單元,組態為,將所述第二密文和所述驗證資料發送給所述第三伺服器端。
- 如申請專利範圍第24項所述的獲取安全多方計算協定的輸入的裝置,其中,所述獲取單元還組態為,從所述第二伺服器端接收透過如申請專利範圍第1項所述的方法產生的所述第一密文作為所述第二密文。
- 如申請專利範圍第24項所述的獲取安全多方計算協定的輸入的裝置,其中,所述第一伺服器端儲存有所述第一資料,以及,其中,所述獲取單元還組態為,在本地透過所述公開金鑰和本地產生的亂數對所述第一資料進行同態加密,以獲取所述第二密文,其中,在關於所述第一資料的資料請求中包括所述亂數。
- 一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第一伺服器端執行,包括: 第一發送單元,組態為,向所述第二伺服器端發送資料請求,其中所述資料請求指定由所述第一對象指明之將要處理的所述第一資料,其中所述資料請求中還包括用於對所述第一資料進行同態加密的亂數;接收單元,組態為,從所述第二伺服器端接收透過如申請專利範圍第5項所述的方法獲取的所述帳本位置;以及第二發送單元,組態為,將所述帳本位置發送給所述第三伺服器端。
- 一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第三伺服器端實施,包括:接收單元,組態為,從所述第一伺服器端接收透過如申請專利範圍第8項所述的方法獲取的所述第二密文和所述驗證資料;驗證單元,組態為,使用所述驗證資料驗證所述第二密文,以判定所述第二密文是否與所述第一資料對應;以及判定單元,組態為,在判定所述第二密文與所述第一 資料對應的情況中,判定以所述第二密文作為所述安全多方計算協定的輸入。
- 如申請專利範圍第28項所述的獲取安全多方計算協定的輸入的裝置,其中,所述驗證資料為透過如申請專利範圍第5項所述的方法獲取的所述帳本位置,其中,在所述帳本位置儲存有透過如申請專利範圍第1項所述的方法獲取的所述第一密文,其中,所述驗證單元包括:第一獲取子單元,組態為,透過所述帳本位置,獲取所述第一密文;以及第一判定子單元,組態為,判定所述第二密文與所述第一密文是否相同。
- 如申請專利範圍第28項所述的獲取安全多方計算協定的輸入的裝置,其中,所述驗證資料為透過如申請專利範圍第6項所述的方法獲取的所述帳本位置,在所述帳本位置儲存有透過如申請專利範圍第6項所述的方法獲取的所述第一密文的雜湊值,其中,所述驗證單元還包括:第二獲取子單元,組態為,透過所述帳本位置,獲取所述第一密文的雜湊值;以及第二判定子單元,組態為,判定所述第二密文與所述雜湊值是否匹配。
- 如申請專利範圍第28項所述的獲取安全多方計算協定的輸入的裝置,其中,所述驗證資料為透過如申請專利範圍第7項所述的方法獲取的所述數位簽章,其中,所述驗證單元還包括:第三判定子單元,組態為,判定所述第二密文與所述數位簽章是否匹配。
- 一種獲取安全多方計算協定的輸入的裝置,所述安全多方計算協定的參與方包括第一伺服器端和第三伺服器端,所述第一伺服器端為第一對象的伺服器端,所述安全多方計算協定基於所述第一對象的第一資料進行計算,其中,所述第一資料被儲存在第二伺服器端中,所述第二伺服器端是權威機構的伺服器端,所述裝置在所述第三伺服器端實施,包括:接收單元,組態為,從所述第一伺服器端接收透過如申請專利範圍第5項所述的方法獲取的所述帳本位置;以及獲取單元,組態為,從所述帳本位置獲取所述第一密文,以作為所述安全多方計算協定的輸入。
- 一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行代碼,所述處理器執行所述可 執行代碼時,實現申請專利範圍第1-16項中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715295.9A CN110661610B (zh) | 2018-06-29 | 2018-06-29 | 安全多方计算协议的输入获取方法和装置 |
CN201810715295.9 | 2018-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202001658A TW202001658A (zh) | 2020-01-01 |
TWI719435B true TWI719435B (zh) | 2021-02-21 |
Family
ID=67297409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108110468A TWI719435B (zh) | 2018-06-29 | 2019-03-26 | 安全多方計算協定的輸入獲取方法和裝置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11625490B2 (zh) |
EP (1) | EP3673609B8 (zh) |
CN (1) | CN110661610B (zh) |
ES (1) | ES2851148T3 (zh) |
PL (1) | PL3673609T3 (zh) |
TW (1) | TWI719435B (zh) |
WO (1) | WO2020006319A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146407B2 (en) * | 2018-04-17 | 2021-10-12 | Digicert, Inc. | Digital certificate validation using untrusted data |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
US11245536B2 (en) * | 2019-04-16 | 2022-02-08 | Meta Platforms, Inc. | Secure multi-party computation attribution |
WO2021087073A1 (en) | 2019-10-30 | 2021-05-06 | Via Science, Inc. | Secure outsourcing of a multiplication |
CN111222165B (zh) * | 2020-01-10 | 2022-09-23 | 北京百度网讯科技有限公司 | 基于区块链的多方计算方法、装置、设备和介质 |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
CN111611609B (zh) * | 2020-04-07 | 2023-05-23 | 布比(北京)网络技术有限公司 | 基于安全多方计算与区块链的风险数据分享方法及系统 |
US11816212B2 (en) * | 2020-04-15 | 2023-11-14 | Inferati Inc. | Large scale zero trust malware detection |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111711645A (zh) * | 2020-08-19 | 2020-09-25 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN112132578B (zh) * | 2020-09-16 | 2022-05-06 | 建信金融科技有限责任公司 | 一种基于区块链的高效交易处理方法、追踪方法及装置 |
US20220107738A1 (en) * | 2020-10-06 | 2022-04-07 | Kioxia Corporation | Read controller and input/output controller |
US11799643B2 (en) * | 2021-01-19 | 2023-10-24 | Bank Of America Corporation | Collaborative architecture for secure data sharing |
US11271716B1 (en) * | 2021-01-28 | 2022-03-08 | Emtruth, Inc. | Blockchain-based data management of distributed binary objects |
CN112925853B (zh) * | 2021-03-08 | 2022-08-02 | 山东审核通信息科技有限公司 | 基于区块链的可信数据交换方法、装置、终端设备和介质 |
US20230325891A1 (en) * | 2022-04-12 | 2023-10-12 | Truist Bank | Graphical user interface program executable to transform enterprise patron needs met data |
US20240080191A1 (en) * | 2022-09-01 | 2024-03-07 | International Business Machines Corporation | Collaborative computation across blockchain networks |
CN115543392B (zh) * | 2022-11-30 | 2023-03-17 | 北京百度网讯科技有限公司 | 可信程序升级方法、装置、设备及存储介质 |
CN116611094B (zh) * | 2023-06-13 | 2024-07-05 | 上海零数众合信息科技有限公司 | 基于安全多方计算的充电网络数据获取方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
US9774578B1 (en) * | 2016-05-23 | 2017-09-26 | Accenture Global Solutions Limited | Distributed key secret for rewritable blockchain |
CN107528688A (zh) * | 2017-09-30 | 2017-12-29 | 矩阵元技术(深圳)有限公司 | 一种基于加密委托技术的区块链密钥保管及恢复方法、装置 |
US20180139054A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Providing computation services with privacy |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6851053B1 (en) | 1999-03-02 | 2005-02-01 | Microsoft Corporation | Multiparty conference authentication |
US7370199B2 (en) | 2004-01-28 | 2008-05-06 | Microsoft Corporation | System and method for n-way authentication in a network |
EP2120393A1 (en) | 2008-05-14 | 2009-11-18 | Nederlandse Centrale Organisatie Voor Toegepast Natuurwetenschappelijk Onderzoek TNO | Shared secret verification method |
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
US8539220B2 (en) * | 2010-02-26 | 2013-09-17 | Microsoft Corporation | Secure computation using a server module |
US8648694B2 (en) | 2010-12-29 | 2014-02-11 | Sasken Communication Technologies Ltd. | Multiparty controlled remote security lock system |
US9509506B2 (en) | 2011-09-30 | 2016-11-29 | Los Alamos National Security, Llc | Quantum key management |
AU2013243768B2 (en) | 2012-04-01 | 2017-12-21 | Payfone, Inc. | Secure authentication in a multi-party system |
EP3036864A1 (en) | 2013-08-19 | 2016-06-29 | Lynxguard Ltd. | Multiparty secret protection system |
EP2860905A1 (en) | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
US9602508B1 (en) | 2013-12-26 | 2017-03-21 | Lookout, Inc. | System and method for performing an action based upon two-party authorization |
EP3050011B1 (en) | 2014-05-02 | 2017-09-20 | Barclays Bank Plc. | Transaction authentication |
CN105337736B (zh) | 2014-06-30 | 2018-10-30 | 华为技术有限公司 | 全同态消息认证方法、装置及系统 |
FR3027177B1 (fr) | 2014-10-13 | 2016-11-04 | Morpho | Procede d'authentification d'un dispositif client aupres d'un serveur a l'aide d'un element secret |
US10333696B2 (en) * | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
US9614670B1 (en) | 2015-02-05 | 2017-04-04 | Ionic Security Inc. | Systems and methods for encryption and provision of information security using platform services |
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 |
US10791123B2 (en) | 2015-11-25 | 2020-09-29 | Yaron Gvili | Selectivity in privacy and verification with applications |
AU2017223129A1 (en) | 2016-02-23 | 2018-07-12 | nChain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
WO2017195886A1 (ja) * | 2016-05-13 | 2017-11-16 | 日本電気株式会社 | 認証システム、認証方法およびプログラム |
US9887975B1 (en) | 2016-08-03 | 2018-02-06 | KryptCo, Inc. | Systems and methods for delegated cryptography |
CN106372868B (zh) * | 2016-09-06 | 2020-02-18 | 联动优势科技有限公司 | 一种对写入区块链的交易数据的验证方法和装置 |
US11070378B1 (en) * | 2016-11-07 | 2021-07-20 | Wells Fargo Bank, N.A. | Signcrypted biometric electronic signature tokens |
CN107196918B (zh) * | 2017-04-27 | 2020-10-30 | 北京小米移动软件有限公司 | 一种匹配数据的方法和装置 |
US10885158B2 (en) | 2017-06-05 | 2021-01-05 | Duality Technologies, Inc. | Device, system and method for token based outsourcing of computer programs |
US10944546B2 (en) * | 2017-07-07 | 2021-03-09 | Microsoft Technology Licensing, Llc | Blockchain object interface |
US11063744B2 (en) | 2017-10-20 | 2021-07-13 | Sap Se | Document flow tracking using blockchain |
CN108023894B (zh) * | 2017-12-18 | 2020-09-11 | 苏州优千网络科技有限公司 | 基于区块链的签证信息系统及其处理方法 |
US20210089676A1 (en) * | 2018-02-16 | 2021-03-25 | Ecole Polytechnique Fédérale De Lausanne Epfl-Tto | Methods and systems for secure data exchange |
US20190361917A1 (en) * | 2018-05-25 | 2019-11-28 | Bao Tran | Smart device |
US10289816B1 (en) * | 2018-06-08 | 2019-05-14 | Gsfm Llc | Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment |
-
2018
- 2018-06-29 CN CN201810715295.9A patent/CN110661610B/zh active Active
-
2019
- 2019-03-26 TW TW108110468A patent/TWI719435B/zh active
- 2019-06-27 EP EP19740262.1A patent/EP3673609B8/en active Active
- 2019-06-27 WO PCT/US2019/039629 patent/WO2020006319A1/en active Search and Examination
- 2019-06-27 US US16/455,685 patent/US11625490B2/en active Active
- 2019-06-27 ES ES19740262T patent/ES2851148T3/es active Active
- 2019-06-27 PL PL19740262T patent/PL3673609T3/pl unknown
-
2020
- 2020-02-07 US US16/784,421 patent/US10831903B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9774578B1 (en) * | 2016-05-23 | 2017-09-26 | Accenture Global Solutions Limited | Distributed key secret for rewritable blockchain |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
US20180139054A1 (en) * | 2016-11-14 | 2018-05-17 | International Business Machines Corporation | Providing computation services with privacy |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN107528688A (zh) * | 2017-09-30 | 2017-12-29 | 矩阵元技术(深圳)有限公司 | 一种基于加密委托技术的区块链密钥保管及恢复方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020006319A1 (en) | 2020-01-02 |
CN110661610B (zh) | 2020-11-03 |
US10831903B2 (en) | 2020-11-10 |
EP3673609B8 (en) | 2021-03-10 |
TW202001658A (zh) | 2020-01-01 |
US11625490B2 (en) | 2023-04-11 |
US20200004973A1 (en) | 2020-01-02 |
US20200175180A1 (en) | 2020-06-04 |
PL3673609T3 (pl) | 2021-07-26 |
CN110661610A (zh) | 2020-01-07 |
ES2851148T3 (es) | 2021-09-03 |
EP3673609B1 (en) | 2020-11-18 |
EP3673609A1 (en) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI719435B (zh) | 安全多方計算協定的輸入獲取方法和裝置 | |
JP6908700B2 (ja) | 情報保護のためのシステム及び方法 | |
RU2719451C1 (ru) | Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования | |
JP6841911B2 (ja) | 情報保護用のシステム及び方法 | |
CN109359974B (zh) | 区块链交易方法及装置、电子设备 | |
RU2735439C2 (ru) | Система и способ для защиты информации | |
Li et al. | Privacy preserving cloud data auditing with efficient key update | |
JP6515246B2 (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
CN113014392B (zh) | 基于区块链的数字证书管理方法及系统、设备、存储介质 | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
WO2020119258A1 (zh) | 一种数据处理方法和装置 | |
JP2019537744A (ja) | 情報保護用のシステム及び方法 | |
CN108418680A (zh) | 一种基于多方安全计算技术的区块链密钥恢复方法、介质 | |
JP2021529397A (ja) | ブロックチェーンアドレスおよび所有者の検証のためのシステムおよび方法 | |
JP2019506103A (ja) | 信頼できるアイデンティティを管理する方法 | |
CN111162912B (zh) | 一种适用于区块链的验证方法、装置及存储介质 | |
WO2023160090A1 (zh) | 证明生成方法及装置、电子设备、存储介质 | |
Skudnov | Bitcoin clients | |
WO2023160097A1 (zh) | 证明生成方法及装置、电子设备、存储介质 | |
TW202318833A (zh) | 臨界簽章方案 | |
CN116232578A (zh) | 一种融合量子密钥分发的多方协同签名系统、方法及设备 | |
Marcedone et al. | Minimizing trust in hardware wallets with two factor signatures | |
Mangipudi et al. | Towards automatically penalizing multimedia breaches | |
CN116070287A (zh) | 一种多方在线电子合约签订以及防篡改可溯源方法 | |
CN112950356B (zh) | 基于数字身份的个人贷款处理方法及系统、设备、介质 |