JP2021111973A - ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム - Google Patents

ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム Download PDF

Info

Publication number
JP2021111973A
JP2021111973A JP2021002357A JP2021002357A JP2021111973A JP 2021111973 A JP2021111973 A JP 2021111973A JP 2021002357 A JP2021002357 A JP 2021002357A JP 2021002357 A JP2021002357 A JP 2021002357A JP 2021111973 A JP2021111973 A JP 2021111973A
Authority
JP
Japan
Prior art keywords
business data
blockchain
target
ciphertext
trusted
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2021002357A
Other languages
English (en)
Other versions
JP7209750B2 (ja
Inventor
モン、ヤン
Yang Meng
チェン、ハオトン
Haodong Chen
ソン、ユイシアオ
Yuxiao Song
ワン、ホイ
Hui Wang
リー、シアンミン
Xiangmin Li
ツァオ、チンチー
Jingqi Cao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021111973A publication Critical patent/JP2021111973A/ja
Application granted granted Critical
Publication of JP7209750B2 publication Critical patent/JP7209750B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供する。【解決手段】参加者装置によって実行されるターゲットサーバ選択方法であって、ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップと、ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得するステップと、ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、ビジネスデータハッシュ結果をブロックチェーンに書き込むようにブロックチェーンノードに指示するステップと、ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示するステップと、を含む。【選択図】図2

Description

本出願の実施形態は、コンピュータ技術の分野に関し、具体的にはブロックチェーン技術に関し、特にブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラムに関する。
ブロックチェーンは分散データ保存、ポイントツーポイント伝送、コンセンサスメカニズム、暗号化アルゴリズムなどのコンピュータ技術の新しい応用モードである。ブロックチェーンの分散トランザクション処理プロセスは、1つのブロック生成ノードがトランザクション処理を行うのが一般的である。
インターネット技術の急速な発展に伴い、企業間でデータを共有する必要があるが、企業間でデータを共有しながらデータの安全性をどのように保護するかは重要な課題となる。
共有データの信憑性(すなわち信頼性)を向上させるために、ブロックチェーンを介して共有データの証明として保存することができる。しかし、ブロックチェーンの公開性により、ブロックチェーンにおけるデータの安全性が保証されない。
本出願の実施形態は、ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラムを提案し、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
第1の態様では、本出願の実施形態は、ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップと、前記ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得するステップと、前記ビジネスデータハッシュ結果をブロックチェーンノードに送信し、前記ビジネスデータハッシュ結果をブロックチェーンに書き込むように前記ブロックチェーンノードに指示するステップと、前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、前記ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するステップと、を含み、参加者装置によって実行されるブロックチェーンに基づくマルチパーティ計算方法を提供する。
本出願の実施形態では、ビジネスデータを暗号化してビジネスデータ暗号文を取得し、ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得し、ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、ビジネスデータハッシュ結果をブロックチェーンに書き込むようにブロックチェーンノードに指示し、ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示する。このように、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
また、本出願の上記実施形態に係るブロックチェーンに基づくマルチパーティ計算方法は、以下のような付加的な技術的特徴を有していてもよい。
オプションとして、ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップの前に、前記ターゲットトラステッド計算モジュールとのインタラクションにより、ターゲット乱数を決定するステップと、前記ターゲット乱数を用いてキーを暗号化し、キー暗号文を取得するステップと、前記キー暗号文を前記ターゲットトラステッド計算モジュールに送信して、前記ターゲット乱数を用いて前記キー暗号文を復号してキーを取得するように前記ターゲットトラステッド計算モジュールに指示するステップと、をさらに含み、ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップは、キーを用いて前記ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップを含む。
上記出願の一実施形態は、ターゲット乱数を決定し、ターゲット乱数を用いてキーを暗号化することにより、キーの漏洩をなくし、プライバシーデータの安全性を向上させることができるという利点または有益な効果がある。
オプションとして、前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信するステップの前に、必要なターゲットトラステッドアルゴリズム情報を含むサーバ選択要求をブロックチェーンノードに送信するステップと、ターゲットトラステッドアルゴリズムをサポートする候補サーバ登録情報をブロックチェーンノードから取得するステップと、前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するステップと、をさらに含む。
オプションとして、前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するステップは、候補サーバへのトラステッド環境検証を行うように前記トラステッド計算検証者に指示するための、前記候補サーバ登録情報を含む前記候補サーバのトラステッド環境検証要求を、トラステッド計算検証者に送信するステップと、トラステッド環境検証に合格した候補サーバから前記ターゲットサーバを選択するステップと、を含む。
上記出願の一実施形態は、トラステッド環境検証に合格した候補サーバからターゲットサーバを選択することにより、マルチパーティ計算の安全性を向上させることができるという利点または有益な効果がある。
オプションとして、前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信するステップの後に、ターゲット乱数を用いてマルチパーティ計算結果を暗号化することによって取得されたマルチパーティ計算結果暗号文を前記ターゲットトラステッド計算モジュールから取得するステップと、前記ターゲット乱数を用いて前記マルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得するステップと、をさらに含む。
第2の態様では、本出願の実施形態はさらに、参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を、参加者装置から受信するステップと、前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得するステップと、トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得するステップと、を含み、サーバによって実行されることを特徴とする、ブロックチェーンに基づくマルチパーティ計算方法を提供する。
第3の態様では、本出願の実施形態はさらに、ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果を、参加者装置から受信するステップと、前記ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、受信したビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するステップと、を含み、ブロックチェーンノードによって実行されることを特徴とする、ブロックチェーンに基づくマルチパーティ計算方法を提供する。
第4の態様では、本出願の実施形態はさらに、ビジネスデータを暗号化してビジネスデータ暗号文を取得するように構成されたデータ暗号化モジュールと、前記ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得するように構成されたハッシュ処理モジュールと、前記ビジネスデータハッシュ結果をブロックチェーンノードに送信し、前記ビジネスデータハッシュ結果をブロックチェーンに書き込むように前記ブロックチェーンノードに指示するように構成された第1の送信モジュールと、前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、前記ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するように構成された暗号文送信モジュールと、を含み、参加者装置に配置されていることを特徴とする、ブロックチェーンに基づくマルチパーティ計算装置を提供する。
第5の態様では、本出願の実施形態はさらに、参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を、参加者装置から受信するように構成された暗号文受信モジュールと、前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得するように構成された結果取得モジュールと、トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得するように構成されたマルチパーティ計算モジュールと、を含み、サーバに配置されているブロックチェーンに基づくマルチパーティ計算装置を提供する。
第6の態様では、本出願の実施形態はさらに、ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果を、参加者装置から受信するように構成された結果受信モジュールと、前記ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、受信したビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するように構成された第2の送信モジュールと、を含み、ブロックチェーンノードに配置されているブロックチェーンに基づくマルチパーティ計算装置を提供する。
第7の態様では、本出願の実施形態はさらに、少なくとも1つのプロセッサ及び前記少なくとも1つのプロセッサと通信可能に接続された記憶装置を含み、前記記憶装置に前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサが本出願の実施形態のいずれかに記載のブロックチェーンに基づくマルチパーティ計算方法を実施する電子機器を提供する。
第8の態様では、本出願の実施形態はさらに、コンピュータ命令が記憶されている非一時的コンピュータ可読記憶媒体であって、前記コンピュータ命令はコンピュータに本出願の実施形態のいずれかに記載のブロックチェーンに基づくマルチパーティ計算方法を実施させるためのものである非一時的コンピュータ可読記憶媒体を提供する。
第9の態様では、本出願の実施形態は、コンピュータプログラムであって、前記コンピュータプログラムがプロセッサにより実行されると、本出願の実施形態のいずれかに記載のブロックチェーンに基づくマルチパーティ計算方法を実施する、コンピュータプログラムを提供する。
上記オプションの形態が有する他の効果について、具体的な実施形態を参照しながら以下に説明する。
図面は、本技術案をよりよく理解するためのものであり、本出願への限定を構成しない。
本出願の実施形態に係るターゲットサーバ選択の概略フローチャートである。 本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法の概略フローチャートである。 本出願の実施形態によって提供されるもう1種のブロックチェーンに基づくマルチパーティ計算方法の概略フローチャートである。 本出願の実施形態によって提供されるさらなる1種のブロックチェーンに基づくマルチパーティ計算方法の概略フローチャートである。 本出願の実施形態によって提供されるさらなる1種のブロックチェーンに基づくマルチパーティ計算方法の概略フローチャートである。 本出願の実施形態によって提供される1つの具体的な実施形態の参加者装置、ブロックチェーンノード、およびサーバ間のシグナリングインタラクションの概略図である。 本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算装置の概略構成図である。 本出願の実施形態によって提供されるもう1種のブロックチェーンに基づくマルチパーティ計算装置の概略構成図である。 本出願の実施形態によって提供されるさらなる1種のブロックチェーンに基づくマルチパーティ計算装置の概略構成図である。 本出願の実施形態によって提供される電子機器の概略構成図である。
以下、図面を参照して本出願の例示的な実施形態について説明する。理解を容易にするために、本出願の実施形態の様々な詳細について説明するが、それらは例示的なものにすぎないとみなされるべきである。したがって、当業者であれば、ここに記載された実施形態について本出願の範囲および趣旨から逸脱することなく、様々な変更および修正を行うことができることを認識できるであろう。同様に、以下の説明では、明確かつ簡略化にするために、公知の機能および構造の説明を省略する。
以下、図面を参照して、本出願の実施形態に開示されるブロックチェーンに基づくマルチパーティ計算方法、装置、機器、および媒体について説明する。まず、本出願の実施形態に開示されるブロックチェーンに基づくマルチパーティ計算方法について、実行主体が参加者装置であることを例に説明する。ここで、参加者装置の数は少なくとも2つであり、各参加者装置によって実行される動作は類似または同様である。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法において、参加者装置によって送信されたビジネスデータ暗号文をターゲットサーバを介してマルチパーティ計算するプロセスを明確に説明するために、まず、本出願の実施形態がブロックチェーンノードにおいてターゲットサーバを選択することについて説明する。
図1は本出願の実施形態によって提供されるターゲットサーバ選択の概略フローチャートである。本出願の実施形態は、ブロックチェーンに基づくマルチパーティ計算装置によって実行されることができる。この装置はソフトウェアおよび/またはハードウェアによって実施されることができ、参加者装置に配置されることができる。この方法は以下のステップ(S101〜S103)を含む。
S101:必要なターゲットトラステッドアルゴリズム情報を含むサーバ選択要求をブロックチェーンノードに送信する。
S102:ターゲットトラステッドアルゴリズムをサポートする候補サーバ登録情報をブロックチェーンノードから取得する。
ここで、必要なターゲットトラステッドアルゴリズム情報は、トラステッドアルゴリズムの名称であり得る。本出願の実施形態では、トラステッドアルゴリズムは、線形回帰アルゴリズムまたは他のアルゴリズムであり得る。ここでは具体的に限定されない。
ブロックチェーンネットワークは、異なるサーバ(協力者)間のメッセージバスとして、異なるサーバの登録情報を有する。したがって、参加者装置がマルチパーティ計算を実行する必要がある場合、ブロックチェーンネットワーク内のブロックチェーンノードにサーバ選択要求を送信することにより、ブロックチェーンノードがサーバ選択要求に基づいて登録された複数のサーバから候補サーバを選択するようにすることができる。
ここで、ブロックチェーンノードは、参加者装置によって送信されたサーバ選択要求を受信し、サーバ選択要求を解析することにより、要求に含まれている必要なターゲットトラステッドアルゴリズム情報を取得する。そして、このターゲットトラステッドアルゴリズム情報に基づいて、複数のサーバの登録情報の中で、どのサーバが上記ターゲットトラステッドアルゴリズムをサポートするかを調べる。少なくとも1つのサーバが上記ターゲットトラステッドアルゴリズムをサポートする場合、少なくとも1つのサーバを候補サーバとする。上記ターゲットトラステッドアルゴリズムをサポートするサーバがない場合、「候補サーバなし」というプロンプトメッセージを参加者装置に送信することにより、参加者装置がターゲットトラステッドアルゴリズムを調整してサーバを再選択するか、選択動作を終了させるようにする。
さらに、候補サーバが確定された後、ブロックチェーンノードは、候補サーバ登録情報を参加者装置に送信することにより、参加者装置によるターゲットサーバの選択が可能となる。
S103:前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択する。
例えば、ブロックチェーンノードによって送信された候補サーバ登録情報を取得した後、参加者装置は、候補サーバ登録情報に基づいて、候補サーバからターゲットサーバを選択することができる。
具体的には、参加者装置は、トラステッド計算検証者(Intel Attestation Service、略称:IAS)に候補サーバのトラステッド環境検証要求を送信することにより、IASが候補サーバについてトラステッド環境検証を行うようにする。そして、IASからフィードバックされた候補サーバ検証結果に基づいて、検証に合格した候補サーバをターゲットサーバとして選択する。ここで、トラステッド環境検証要求は候補サーバ登録情報を含む。本出願の実施形態において、IASが候補サーバについて検証を行うとは、候補サーバのハードウェア情報を検証することである。
なお、IASはIntelが提供するSGX検証サービスであり、プログラムがSGXハードウェア環境上で動作しているかどうか、およびそのプログラムが改ざんされているかどうかを検証するために利用可能である。
すなわち、前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するステップは、前記候補サーバの、前記候補サーバ登録情報を含むトラステッド環境検証要求をトラステッド計算検証者に送信することにより、候補サーバについてトラステッド環境検証を行うように前記トラステッド計算検証者に指示するステップと、トラステッド環境検証に合格した候補サーバから前記ターゲットサーバを選択するステップと、を含む。
本出願の実施形態によって提供される技術案は、ブロックチェーンノードにサーバ選択要求を送信し、ブロックチェーンノードから返された候補サーバ登録情報に基づいてターゲットサーバを選択することにより、その後にターゲットサーバにビジネスデータを送信し、ターゲットサーバがビジネスデータに基づいてマルチパーティ計算を行うことが可能となる。
以上の説明から、本出願の実施形態の参加者装置は、ブロックチェーンネットワーク内のブロックチェーンノードにサーバ選択要求を送信することにより、ブロックチェーンノードから返された候補サーバ登録情報に基づいて、ターゲットサーバを選択することが分かる。ターゲットサーバが選択された後、本出願の実施形態は、選択されたターゲットサーバに基づいてマルチパーティ計算を行うことができる。以下、図2を参照して、本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法において、参加者によって送信されたビジネスデータに基づいてマルチパーティ計算を行うプロセスについて説明する。
図2に示すように、この方法は、以下のステップ(S201〜S204)を含むことができる。
S201:ビジネスデータを暗号化してビジネスデータ暗号文を取得する。
本出願の実施形態では、ビジネスデータは、企業が経営しているビジネスに基づいて確定される。すなわち、異なるビジネスに対して異なるビジネスデータがある。例えば、ビジネスがソフトウェア開発であれば、ビジネスデータは研究データなどである。
ブロックチェーンはブロック情報をネットワーク全体に放送するという特徴を持っているため、参加者装置がプライバシービジネスデータの計算を行う必要がある場合に、データの漏洩を起こしやすい。本出願の実施形態は、データの漏洩を回避するために、ビジネスデータを暗号化することができる。
例えば、参加者装置は、キーを用いてビジネスデータを暗号化し、ビジネスデータ暗号文を取得することができる。ここで、キーは、ブロックチェーンネットワークにおける参加者装置のブロックチェーンプライベートキーとすることができる。
しかしながら、ターゲットサーバ内のターゲットトラステッド計算モジュールは、参加者装置がどのようなキーを用いてビジネスデータを暗号化したかを知ることができないため、ビジネスデータ暗号文を復号することができず、ビジネスデータを取得することができない。
これに対して、本出願の実施形態では、ビジネスデータを暗号化する前に、参加者装置がまずターゲットサーバ内のターゲットトラステッド計算モジュールとキーインタラクションを行う。これにより、ターゲットトラステッド計算モジュールは、参加者装置がどのようなキーを用いてビジネスデータを暗号化したかを知ることができるため、対応するキーを用いてビジネスデータの暗号文を復号し、ビジネスデータを取得することができる。
具体的には、参加者装置は、ターゲットサーバ内のターゲットトラステッド計算モジュールにキーインタラクション要求を送信することにより、ターゲットトラステッド計算モジュールと交渉してターゲット乱数を確定することができる。ターゲット乱数が確定された後、参加者装置は、自身のブロックチェーンパブリックキーをターゲット乱数を用いて暗号化し、ブロックチェーンパブリックキー暗号文を取得する。そして、ターゲットトラステッド計算モジュールにブロックチェーンパブリックキー暗号文を送信する。これにより、ターゲットトラステッド計算モジュールは受信したブロックチェーンパブリックキー暗号文をターゲット乱数を用いて復号し、ブロックチェーンパブリックキーを取得する。これにより、参加者装置とターゲットトラステッド計算モジュールとの間のキーが合意される。
ここで、ターゲット乱数を確定するとは、具体的に、ターゲットトラステッド計算モジュールは、参加者装置によって送信されたキーインタラクション要求を受信した後、ターゲットサーバ内のターゲットアントラステッド workerを介して参加者装置にN個の乱数を送信する(ターゲットworkerもこれらのN個の乱数を知っている)。ここで、ターゲットトラステッド計算モジュールはM個の乱数を保持しており、これらのM個の乱数はN個の乱数に関連付けられている。参加者装置は、ターゲットトラステッド計算モジュールによって送信されたN個の乱数を受信した後、N個の乱数に基づいて予め設定された規則に従ってM個の乱数を導出して、M個の乱数をN個の乱数と共にターゲット乱数とすることができるが、ターゲットworkerはM個の乱数を知らない。
すなわち、ターゲット乱数は、参加者装置とターゲットトラステッド計算モジュールのみによって知られ、ターゲットサーバ内のターゲットworkerはターゲット乱数を知らないため、その後のデータ漏洩が起こらない。
すなわち、本出願の実施形態では、ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップの前に、前記ターゲットトラステッド計算モジュールとのインタラクションにより、ターゲット乱数を確定するステップと、前記ターゲット乱数を用いてキーを暗号化し、キー暗号文を取得するステップと、前記キー暗号文を前記ターゲットトラステッド計算モジュールに送信することにより、前記ターゲット乱数を用いて前記キー暗号文を復号し、キーを取得するように前記ターゲットトラステッド計算モジュールに指示するステップと、をさらに含む。
S202:前記ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得する。
例えば、ビジネスデータ暗号文を取得した後、参加者装置は、ビジネスデータ暗号文をハッシュ処理して、ビジネスデータハッシュ結果を取得することにより、その後のビジネスデータ暗号文の改ざん検証が可能となる。
S203:前記ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、前記ビジネスデータハッシュ結果をブロックチェーンに書き込むように前記ブロックチェーンノードに指示する。
ここで、ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、ブロックチェーンノードがビジネスデータハッシュ結果をブロックチェーンに書き込むようにし、ビジネスデータの証明として保存する。
S204:前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、前記ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示する。
あるいは、ターゲットサーバ内のターゲットトラステッド計算モジュールはビジネスデータ暗号文を受信した後、参加者装置から取得したキーに基づいてビジネスデータ暗号文を復号し、ビジネスデータを取得することができる。さらに、ターゲットトラステッド計算モジュールは、取得したビジネスデータに基づいて、自身とインタラクションする参加者装置のビジネスデータハッシュ結果をブロックチェーンから検索し、次いで、ヒットしたビジネスデータハッシュ結果を用いてビジネスデータを検証することにより、ビジネスデータが改ざんされているかどうかを判定することもできる。検証に合格した場合、ビジネスデータが改ざんされていないことを示し、このとき、ターゲットトラステッド計算モジュールは取得したビジネスデータに基づいてマルチパーティ計算を行って、マルチパーティ計算結果を取得することができる。
さらに、参加者装置が前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信するステップの後に、ターゲット乱数を用いてマルチパーティ計算結果を暗号化することによって取得されたマルチパーティ計算結果暗号文を前記ターゲットトラステッド計算モジュールから取得するステップと、前記ターゲット乱数を用いて前記マルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得するステップと、をさらに含む。
すなわち、本出願の実施形態では、ターゲット乱数を用いてキーを暗号化することにより、キーの漏洩を回避することができる。また、ターゲットトラステッド計算モジュールがビジネスデータに基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得した後、ターゲット乱数を用いてマルチパーティ計算結果を暗号化することにより、マルチパーティ計算結果の漏洩を回避することができる。これにより、データの安全性と信頼性を向上させることができる。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法は、ビジネスデータを暗号化してビジネスデータ暗号文を取得し、ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得し、ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、ビジネスデータハッシュ結果をブロックチェーンに書き込むようにブロックチェーンノードに指示し、ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示する。このように、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
以下、本出願の実施形態によって開示されるブロックチェーンに基づくマルチパーティ計算方法について、実行主体がサーバであることを例に説明する。
図3は本出願の実施形態によって提供されるもう1種のブロックチェーンに基づくマルチパーティ計算方法の概略フローチャートである。本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法は、ブロックチェーンに基づくマルチパーティ計算装置によって実行されることができる。この装置は、ソフトウェアおよび/またはハードウェアによって実装されることができ、サーバに配置されることができる。この方法は、以下のステップ(S301〜S303)を含む。
S301:参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を参加者装置から受信する。
S301を実行する前に、サーバがサポートされているトラステッドアルゴリズム情報を含むサーバ登録情報をブロックチェーンノードに送信することにより、前記サーバ登録情報をブロックチェーンに書き込むようにブロックチェーンノードに指示する。これにより、参加者装置によるターゲットサーバの選択が可能となる。
S302:前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得する。
S303:トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得する。
例えば、サーバは、参加者装置によって送信されたビジネスデータ暗号文を受信した後、トラステッド計算モジュールを介して、参加者装置から取得したキーに基づいて、ビジネスデータ暗号文を復号し、ビジネスデータを取得する。そして、ビジネスデータに基づいて、参加者装置のビジネスデータハッシュ結果をブロックチェーンから検索する。さらに、ヒットしたビジネスデータハッシュ結果を用いてビジネスデータを検証することにより、ビジネスデータが改ざんされているかどうかを判定する。検証に合格した場合、ビジネスデータが改ざんされていないことを示し、このとき、自身のトラステッド計算モジュールが受信したビジネスデータに基づいてマルチパーティ計算を行うことにより、マルチパーティ計算結果を取得することができる。
ここで、トラステッド計算モジュールを介してビジネスデータに基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得する際に、具体的には参加者装置に必要なターゲットトラステッドアルゴリズムに基づいて計算を行う。
なお、本出願の実施形態は、トラステッド計算モジュールを介して、ビジネスデータ暗号文を復号してビジネスデータを取得するステップの前に、前記トラステッド計算モジュールと参加者装置間のインタラクションにより、ターゲット乱数を決定するステップと、前記ターゲット乱数を用いてキーを暗号化することによって取得されたキー暗号文を参加者装置から取得するステップと、前記トラステッド計算モジュールを介して、前記ターゲット乱数を用いて前記キー暗号文を復号し、キーを取得するステップと、をさらに含む。
したがって、トラステッド計算モジュールを介して、前記ビジネスデータ暗号文を復号してビジネスデータを取得するステップが、トラステッド計算モジュールを介して、前記キーを用いて前記ビジネスデータキーを復号し、ビジネスデータを取得するステップを含む。
上記キーの取得と参加者装置に適用されるブロックチェーンに基づくマルチパーティ計算方法の実施形態におけるキーの取得とは実装原理が同様である。詳細は上記実施形態を参照することができ、ここではその説明を省略する。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法は、参加者装置によって送信されたビジネスデータ暗号文を受信し、ブロックチェーンからビジネスデータハッシュ結果を取得し、次いで、トラステッド計算モジュールを介して、ビジネスデータ暗号文およびビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うことにより、マルチパーティ計算結果を取得する。これによって、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
別の実施形態では、サーバはトラステッド計算モジュールを介して、ビジネスデータ暗号文およびビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得した後、マルチパーティ計算結果を参加者装置に送信することにより、参加者装置がマルチパーティ計算結果を取得するようにすることができる。以下、図4を参照して、本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法における上記状況について説明する。
図4に示すように、この方法は、以下のステップ(S401〜S405)を含むことができる。
S401:参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を参加者装置から受信する。
S402:前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得する。
S403:トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得する。
S404:前記マルチパーティ計算結果を暗号化してマルチパーティ計算結果暗号文を取得する。
ここで、参加者装置と交渉して確定したターゲット乱数を用いて、マルチパーティ計算結果を暗号化し、マルチパーティ計算結果暗号文を取得する。
S405:トラステッド計算モジュールを介して、前記マルチパーティ計算結果暗号文を前記参加者装置に送信することにより、前記マルチパーティ計算結果暗号文を復号してマルチパーティ計算結果を取得するように前記参加者装置に指示する。
例えば、マルチパーティ計算結果暗号文を参加者装置に送信することにより、参加者装置がマルチパーティ計算結果暗号文を受信した後、ターゲット乱数に基づいてマルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得するようにする。これにより、マルチパーティ計算結果の漏洩を効果的に防止することができる。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法では、トラステッド計算モジュールを介して、ビジネスデータ暗号文およびビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得した後、参加者装置と交渉して確定したターゲット乱数を用いてマルチパーティ計算結果を暗号化し、マルチパーティ計算結果暗号文を取得し、マルチパーティ計算結果暗号文を参加者装置に送信する。さらに、参加者装置はターゲット乱数に基づいてマルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得する。これにより、マルチパーティ計算結果の漏洩を効果的に防止し、データの安全性を向上させることができる。
以下、本出願の実施形態によって開示されるブロックチェーンに基づくマルチパーティ計算方法について、実行主体がブロックチェーンノードであることを例に説明する。
図5は本出願の実施形態によって提供されるさらなる1種のブロックチェーンに基づくマルチパーティ計算方法の概略フローチャートである。本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法は、ブロックチェーンに基づくマルチパーティ計算装置によって実行されることができる。この装置は、ソフトウェアおよび/またはハードウェアによって実装されることができ、ブロックチェーンノードに配置されることができる。この方法は、以下のステップ(S501〜S502)を含む。
S501:ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果を参加者装置から受信する。
S501を実行する前に、少なくとも2つのサーバはブロックチェーンにサーバ登録情報を送信することにより、登録を実現する。ここで、サーバ登録情報は、サーバのネットワークアドレス、ブロックチェーンパブリックキー、サポートされているトラステッドアルゴリズム情報などを含む。ブロックチェーンノードは少なくとも2つのサーバによって送信されたサーバ登録情報を受信すると、サーバ登録情報をブロックチェーンに書き込み、その後の参加者装置への候補サーバの提供が可能となる。
さらに、参加者装置によって送信されたサーバ選択要求を取得した場合には、ブロックチェーンからターゲットトラステッドアルゴリズム情報をサポートする候補サーバを検索し、候補サーバ登録情報を取得することができる。そして、候補サーバ登録情報を参加者装置に送信することにより、参加者装置が候補サーバ登録情報に基づいて候補サーバからターゲットサーバを選択するようにする。
なお、参加者装置が候補サーバからターゲットサーバを選択するプロセスの詳細については、参加者装置に適用されるブロックチェーンに基づくマルチパーティ計算方法の実施形態を参照することができる。ここでは、これ以上説明しない。
例えば、本出願の実施形態では、ブロックチェーンノードは、参加者装置によって送信されたビジネスデータハッシュ結果を受信し、そのビジネスデータハッシュ結果をブロックチェーンに書き込むことにより、ビジネスデータの証明として保存する。
S502:前記ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、受信したビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示する。
ここで、ターゲットサーバは、参加者装置によって送信されたビジネスデータ暗号文を受信した後、トラステッド計算モジュールを介して、参加者装置から取得したキーに基づいて、ビジネスデータ暗号文を復号してビジネスデータを取得する。また、ビジネスデータに基づいて、ビジネスデータハッシュ結果取得要求をブロックチェーンに送信することにより、ブロックチェーンノードがビジネスデータハッシュ結果をターゲットサーバに送信するようにする。さらに、ターゲットサーバは、ヒットしたビジネスデータハッシュ結果を用いて、ビジネスデータを検証し、ビジネスデータが改ざんされているか否かを判定する。検証に合格した場合、ビジネスデータが改ざんされていないことを示し、このとき、自身のトラステッド計算モジュールが受信したビジネスデータに基づいてマルチパーティ計算を行うことにより、マルチパーティ計算結果を取得することができる。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法は、参加者装置によって送信されたビジネスデータハッシュ結果を受信し、ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、受信したビジネスデータ暗号文およびビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示する。これによって、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
以下、上記実施形態のブロックチェーンに基づくマルチパーティ計算方法について具体的に説明する。詳細は図6を参照されたい。図6は、本出願の実施形態によって提供される1つの具体的な実施形態の参加者装置、ブロックチェーンノード、サーバ間のシグナリングインタラクションの概略図である。
本実施形態では、参加者装置がX個あり、それぞれX1、X2、…、Xnであり、ブロックチェーンノードがYであり、サーバがZ個あり、それぞれZ1、Z2、…、Znであるとすると、参加者装置、ブロックチェーンノード、サーバ間のインタラクションプロセスは以下のとおりである。
S601:サーバZ1、Z2、…、Znは、ブロックチェーンノードYにサーバ登録情報を送信する。
ここで、サーバ登録情報は、サポートされているトラステッドアルゴリズム情報を含む。
S602:ブロックチェーンノードYは、受信したサーバ登録情報をブロックチェーンに書き込む。
S603:参加者装置X1、X2、…、Xnは、ブロックチェーンノードYにサーバ選択要求を送信する。
ここで、サーバ選択要求は、必要なターゲットトラステッドアルゴリズム情報を含む。
S604:ブロックチェーンノードYは、参加者装置に必要なターゲットトラステッドアルゴリズム情報に基づいて、ターゲットトラステッドアルゴリズムをサポートする候補サーバZ1およびZ2をブロックチェーンから検索する。
S605:ブロックチェーンノードYは、候補サーバZ1およびZ2の登録情報を参加者装置X1、X2、…、Xnに送信する。
S606:参加者装置X1、X2、…、Xnは、候補サーバZ1およびZ2の登録情報をトラステッド計算検証者Wに送信する。
S607:参加者装置X1、X2、…、Xnは、トラステッド計算検証者Wからフィードバックされた検証結果を受信し、検証に合格した候補サーバZ1をターゲットサーバとして選択する。
S608:参加者装置X1、X2、…、Xnは、ターゲットサーバZ1にキーインタラクション要求を送信する。
S609:ターゲットサーバZ1は、受信したキーインタラクション要求に応じて、参加者装置X1、X2、…、XnにN個の乱数を送信する。
S610:参加者装置X1、X2、…、Xnは、受信したN個の乱数に基づいてM個の関連付けられた乱数を導出することにより、M個の乱数とN個の乱数に基づいてターゲット乱数を取得する。
S611:参加者装置X1、X2、…、Xnは、それぞれのキーをターゲット乱数で暗号化してキー暗号文を取得し、キー暗号文をターゲットサーバZ1に送信する。
S612:参加者装置X1、X2、…、Xnは、ビジネスデータを暗号化してビジネスデータ暗号文を取得し、ビジネスデータ暗号文をハッシュ処理してビジネスデータハッシュ結果を取得する。
S613:参加者装置X1、X2、…、Xnは、ビジネスデータハッシュ結果をブロックチェーンノードYに送信することにより、ブロックチェーンノードYがビジネスデータハッシュ結果をブロックチェーンに書き込むようにする。
S614:ブロックチェーンノードYは、受信したビジネスデータハッシュ結果をブロックチェーンに書き込む。
S615:参加者装置X1、X2、…、Xnは、それぞれのビジネスデータ暗号文をターゲットサーバZ1に送信する。
S616:ターゲットサーバZ1は、参加者装置X1、X2、…、Xnによって送信されたキーを用いて、受信したビジネスデータ暗号文を復号し、ビジネスデータを取得する。
ここで、ビジネスデータは少なくとも2つある。
S617:ターゲットサーバZ1は、ビジネスデータに基づいて、それぞれのビジネスデータに対応するビジネスデータハッシュ結果をブロックチェーンから取得して検証する。
S618:ターゲットサーバZ1は、ビジネスデータが検証に合格した場合、参加者装置X1、X2、…、Xnによって送信されたビジネスデータに基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得する。
S619:ターゲットサーバZ1は、ターゲット乱数を用いてマルチパーティ計算結果を暗号化し、マルチパーティ計算結果暗号文を取得する。
S620:ターゲットサーバZ1は、マルチパーティ計算結果暗号文を参加者装置X1、X2、…、Xnに送信することにより、参加者装置X1、X2、…、Xnがターゲット乱数を用いてマルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得するようにする。
上記実施形態によって提供されたブロックチェーンに基づくマルチパーティ計算方法によれば、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
図7は、本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算装置の概略構成図である。ブロックチェーンに基づくマルチパーティ計算方法は、ソフトウェアおよび/またはハードウェアによって実施されることができ、参加者装置に配置されることができる。図7に示すように、本実施形態によって開示されるブロックチェーンに基づくマルチパーティ計算装置700は、ビジネスデータを暗号化してビジネスデータ暗号文を取得するように構成されたデータ暗号化モジュール710と、前記ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得するように構成されたハッシュ処理モジュール720と、前記ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、前記ビジネスデータハッシュ結果をブロックチェーンに書き込むように前記ブロックチェーンノードに指示するように構成された第1の送信モジュール730と、前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、前記ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するように構成された暗号文送信モジュール740と、を含む。
本出願のオプションの実施形態として、装置700は、前記ターゲットトラステッド計算モジュールとのインタラクションにより、ターゲット乱数を決定するように構成された第1の決定モジュールと、前記ターゲット乱数を用いてキーを暗号化し、キー暗号文を取得するように構成されたキー暗号化モジュールと、前記キー暗号文を前記ターゲットトラステッド計算モジュールに送信することにより、前記ターゲット乱数を用いて前記キー暗号文を復号し、キーを取得するように前記ターゲットトラステッド計算モジュールに指示するように構成された第3の送信モジュールと、をさらに含む。
したがって、データ暗号化モジュール710は、具体的には、前記ビジネスデータをキーを用いて暗号化し、ビジネスデータ暗号文を取得するように構成されている。
本出願のオプションの実施形態として、装置700は、必要なターゲットトラステッドアルゴリズム情報を含むサーバ選択要求をブロックチェーンノードに送信するように構成された要求送信モジュールと、ターゲットトラステッドアルゴリズムをサポートする候補サーバ登録情報をブロックチェーンノードから取得するように構成された情報取得モジュールと、前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するように構成された選択モジュールと、をさらに含む。
本出願のオプションの実施形態として、選択モジュールは、具体的には、前記候補サーバの、前記候補サーバ登録情報を含むトラステッド環境検証要求をトラステッド計算検証者に送信することにより、前記候補サーバについてトラステッド環境検証を行うように前記トラステッド計算検証者に指示し、トラステッド環境検証に合格した候補サーバから前記ターゲットサーバを選択するように構成されている。
本出願のオプションの実施形態として、装置700は、ターゲット乱数を用いてマルチパーティ計算結果を暗号化することによって取得されたマルチパーティ計算結果暗号文を前記ターゲットトラステッド計算モジュールから取得するように構成された結果暗号文取得モジュールと、前記ターゲット乱数を用いて前記マルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得するように構成された結果暗号文復号モジュールと、をさらに含む。
なお、参加者装置に適用されるブロックチェーンに基づくマルチパーティ計算方法の実施形態に関する上記説明は、実装原理が同様である本実施形態のブロックチェーンに基づくマルチパーティ計算装置にも適用可能である。ここではこれ以上説明しない。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算装置は、ビジネスデータを暗号化してビジネスデータ暗号文を取得し、ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得し、ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、ビジネスデータハッシュ結果をブロックチェーンに書き込むようにブロックチェーンノードに指示し、ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示する。これによって、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
図8は、本出願の実施形態によって提供されるもう1種のブロックチェーンに基づくマルチパーティ計算装置の概略構成図である。このブロックチェーンに基づくマルチパーティ計算装置は、ソフトウェアおよび/またはハードウェアの方法によって実装されることができ、サーバに配置されることができる。図8に示すように、本実施形態によって開示されるブロックチェーンに基づくマルチパーティ計算装置800は、参加者装置によって送信された、参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を受信するように構成された暗号文受信モジュール810と、前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得するように構成された結果取得モジュール820と、トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得するように構成されたマルチパーティ計算モジュール830と、を含むことができる。
本出願のオプションの実施形態として、マルチパーティ計算モジュール830は、トラステッド計算モジュールを介して、前記ビジネスデータ暗号文を復号してビジネスデータを取得するように構成されたデータ復号ユニットと、前記ビジネスデータハッシュ結果に基づいて前記ビジネスデータを検証するように構成されたデータ検証ユニットと、を含む。
本出願のオプションの実施形態として、マルチパーティ計算モジュール830は、前記ターゲット乱数を用いてキーを暗号化することによって取得されたキー暗号文を参加者装置から取得するように構成された第2の決定ユニットと、前記トラステッド計算モジュールを介して、前記ターゲット乱数を用いて前記キー暗号文を復号し、キーを取得するように構成されたキー取得ユニットと、をさらに含む。
したがって、データ復号ユニットは、具体的には、トラステッド計算モジュールを介して、前記キーを用いて前記ビジネスデータキーを復号し、ビジネスデータを取得するように構成されている。
本出願のオプションの実施形態として、前記装置800は、前記マルチパーティ計算結果を暗号化してマルチパーティ計算結果暗号文を取得するように構成された結果暗号化モジュールと、トラステッド計算モジュールを介して、前記マルチパーティ計算結果暗号文を前記参加者装置に送信することにより、前記マルチパーティ計算結果暗号文を復号してマルチパーティ計算結果を取得するように前記参加者装置に指示するように構成された結果暗号文送信モジュールと、をさらに含む。
本出願のオプションの実施形態として、前記装置800は、サポートされているトラステッドアルゴリズム情報を含むサーバ登録情報をブロックチェーンノードに送信することにより、前記サーバ登録情報をブロックチェーンに書き込むようにブロックチェーンノードに指示するように構成された第4の送信モジュールをさらに含む。
なお、サーバに適用されるブロックチェーンに基づくマルチパーティ計算方法の実施形態に関する上記説明は、実装原理が同様である本実施形態のブロックチェーンに基づくマルチパーティ計算装置にも適用可能である。ここではこれ以上説明しない。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算装置は、参加者装置によって送信されたビジネスデータ暗号文を受信し、ブロックチェーンからビジネスデータハッシュ結果を取得し、次いで、トラステッド計算モジュールを介して、ビジネスデータ暗号文およびビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うことにより、マルチパーティ計算結果を取得する。これによって、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
図9は本出願の実施形態によって提供されるさらなる1種のブロックチェーンに基づくマルチパーティ計算装置の概略構成図である。ブロックチェーンに基づくマルチパーティ計算装置は、ソフトウェアおよび/またはハードウェアの方法によって実装されることができ、ブロックチェーンノード内に配置されることができる。図9に示すように、本実施形態によって開示されるブロックチェーンに基づくマルチパーティ計算装置900は、参加者装置によって送信された、ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果を受信するように構成された結果受信モジュール910と、前記ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、受信したビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するように構成された第2の送信モジュール920と、を含む。
本出願のオプションの実施形態として、前記装置900は、サポートされているトラステッドアルゴリズム情報を含むサーバ登録情報を候補サーバから取得するように構成された登録情報取得モジュールと、前記サーバ登録情報をブロックチェーンに書き込むように構成された登録情報書き込みモジュールと、をさらに含む。
本出願のオプションの実施形態として、前記装置900は、前記参加者装置に必要なターゲットトラステッドアルゴリズム情報を含むサーバ選択要求を前記参加者装置から取得するように構成された選択要求取得モジュールと、前記ターゲットトラステッドアルゴリズムをサポートする候補サーバ登録情報をブロックチェーンから検索するように構成された検索モジュールと、
前記候補サーバ登録情報を前記参加者装置に送信することにより、前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するように前記参加者装置に指示するように構成された第5の送信モジュールと、をさらに含む。
なお、ブロックチェーンノードに適用されるブロックチェーンに基づくマルチパーティ計算方法の上記実施形態の説明は、実装原理が同様であるブロックチェーンに基づくマルチパーティ計算装置にも適用可能である。ここではこれ以上説明しない。
本出願の実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算装置は、参加者装置によって送信されたビジネスデータハッシュ結果を受信し、ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、受信したビジネスデータ暗号文およびビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示する。このようにすると、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
本出願の実施形態によれば、本出願はまた、電子機器および可読記憶媒体を提供する。
図10は、本出願の一実施形態に係るブロックチェーンに基づくマルチパーティ計算方法の電子機器のブロック図である。電子機器は、ラップトップ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、および他の適切なコンピュータのような様々な形態のデジタルコンピュータを表すことが意図されている。電子機器はまた、個人デジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、および他の同様の計算装置のような様々な形態のモバイルデバイスを表すことができる。本明細書に示す構成要素、それらの接続および関係、ならびにそれらの機能は、あくまでも一例に過ぎず、本明細書に記載されたおよび/または要求される本出願の実装を限定することは意図されていない。
図10に示すように、電子機器は、1つ以上のプロセッサ1001と、メモリ1002と、高速インターフェースおよび低速インターフェースを含む各構成要素を接続するためのインターフェースとを備える。各構成要素は、異なるバスで互いに接続されており、共通マザーボードに実装されていてもよく、必要に応じて他の方法で実装されていてもよい。プロセッサは、インターフェースに結合された表示装置などの外部入出力装置上にGUIのグラフィック情報を表示するために、メモリまたはメモリ上に格納された命令を含む電子機器内で実行される命令を処理することができる。他の実施形態では、複数のプロセッサおよび/または複数のバスは、必要に応じて、複数のメモリおよび複数のメモリと共に使用されてもよい。同様に、複数の電子機器を接続することができ、各装置は、部分的に必要な動作を(例えば、サーバアレイ、ブレードサーバのセット、またはマルチプロセッサシステムとして)提供することができる。図10では、1つのプロセッサ1001を例に挙げている。
メモリ1002は、本出願によって提供される非一時的コンピュータ可読記憶媒体である。メモリは、少なくとも1つのプロセッサに、本出願によって提供される参加者装置に適用されるブロックチェーンに基づくマルチパーティ計算方法を実行させるために、少なくとも1つのプロセッサによって実行可能な命令を格納する。本出願の非一時的コンピュータ可読記憶媒体は、本出願によって提供されるブロックチェーンに基づくマルチパーティ計算方法をコンピュータに実行させるためのコンピュータ命令を記憶する。
メモリ1002は、非一時的コンピュータ可読記憶媒体として、本出願の実施形態におけるブロックチェーンに基づくマルチパーティ計算方法に対応するプログラム、命令、およびモジュール(例えば、図7に示すデータ暗号化モジュール710、ハッシュ処理モジュール720、第1の送信モジュール730、および暗号文送信モジュール740)のような非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能プログラム、およびモジュールの格納に使用することができる。プロセッサ1001は、メモリ1002に記憶された非一時的ソフトウェアプログラム、命令、およびモジュールを実行することにより、サーバの様々な機能アプリケーションおよびデータ処理を実行する。すなわち、上記本実施形態によって提供されるブロックチェーンに基づくマルチパーティ計算方法を実施する。
メモリ1002は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションを記憶することができるプログラム記憶領域、および、ブロックチェーンに基づくマルチパーティ計算方法に基づく電子機器の使用によって生成されたデータなどを記憶することができるデータ記憶領域を含むことができる。さらに、メモリ1002は、高速ランダムアクセスメモリを含むことができ、少なくとも1つのディスク記憶装置、フラッシュメモリデバイス、または他の非一時的固体記憶装置のような非一時的メモリを含むこともできる。いくつかの実施形態では、メモリ1002は、任意に、ブロックチェーンに基づくマルチパーティ計算方法に基づく電子機器にネットワークを介して接続することができる、プロセッサ1001に対して遠隔設定されたメモリを含むことができる。上記ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、移動通信網、およびそれらの組み合わせを含むが、これらに限定されない。
ブロックチェーンに基づくマルチパーティ計算方法に基づく電子機器は、入力装置1003および出力装置1004をさらに含むことができる。プロセッサ1001、メモリ1002、入力装置1003、および出力装置1004は、バスを介してまたはその他の方式で接続されることができる。図10はバスを介して接続される例である。
入力装置1003は、入力された数字または文字情報を受信し、ブロックチェーンに基づくマルチパーティ計算方法の電子機器のユーザ設定および機能制御に関するキー信号入力、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングレバー、1つまたは複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置を生成することができる。出力装置1004は、表示装置、補助照明デバイス(例えば、LED)、触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。この表示装置は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、およびプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態では、表示装置はタッチスクリーンであってもよい。
本明細書に記載されたシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実装されることができる。これらの様々な実施形態は、1つまたは複数のコンピュータプログラム内に実装されることを含むことができる。この1つまたは複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行および/または解釈されることができる。このログラマブルプロセッサは、専用プログラマブルプロセッサであっても汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、この記憶システム、この少なくとも1つの入力装置、およびこの少なくとも1つの出力装置にデータおよび命令を送信することができる。
これらの計算プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、かつ高度なプロセスおよび/またはオブジェクト指向プログラミング言語、および/またはアセンブリ言語/機械語を用いて実施されることができる。本明細書で使用されるように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、および/または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を意味し、機械可読信号として機械命令を受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するための任意の信号を意味する。
ユーザとのインタラクションを提供するために、本明細書に記載されたシステムおよび技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを有するコンピュータ上で実施されることができる。ユーザは、キーボードおよびポインティングデバイスを介して入力をコンピュータに提供することができる。他の種類のデバイスはまた、ユーザとのインタラクションを提供するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態のセンサフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であり得る。ユーザからの入力は、任意の形態(音響入力、音声入力、または触覚入力を含む)で受信されることができる。
本明細書に記載されたシステムおよび技術は、バックグラウンド構成要素を含む計算システム(例えば、データサーバとして)、またはミドルウェア構成要素を含む計算システム(例えば、アプリケーションサーバ)、またはフロントエンド構成要素を含む計算システム(例えば、グラフィカルユーザインターフェースまたはウェブブラウザを有するユーザコンピュータ。ユーザは、グラフィカルユーザインターフェースまたはウェブブラウザを介して、本明細書に記載されたシステムおよび技術の実施形態とインタラクションすることができる)、またはそのようなバックグラウンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組み合わせを含む計算システムにおいて実装されることができる。システムの構成要素は、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、およびブロックチェーンネットワークを含む。
コンピュータシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは通常、互いに離れており、通信ネットワークを介してインタラクションする。クライアントとサーバの関係は、対応するコンピュータ上で、互いにクライアント・サーバ関係を有するコンピュータプログラムを動作させることによって生成される。
本出願の実施形態の技術案によれば、ビジネスデータを暗号化してビジネスデータ暗号文を取得し、ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得し、ビジネスデータハッシュ結果をブロックチェーンノードに送信することにより、ビジネスデータハッシュ結果をブロックチェーンに書き込むようにブロックチェーンノードに指示し、ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信することにより、ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うようにターゲットトラステッド計算モジュールに指示する。このようにすると、マルチパーティ計算データの安全性と信頼性を両立させた解決策を提供することにより、データの安全性と信頼性を保証することが可能となる。
上記様々な形態のプロセスを用いて、ステップを再順序付け、追加、または削除することができることを理解されたい。例えば、本出願に記載されている各ステップは、並列に実行されても順次に実行されても異なる順序で実行されてもよく、本出願によって開示される技術案の所望の効果を達成さえできれば、本明細書では制限されない。
上記具体的な実施形態は、本出願の保護範囲の制限を構成するものではない。当業者であれば、設計要求および他の要因に応じて、様々な修正、組み合わせ、再組合、および代替が可能であることが認識すべきである。本出願の趣旨および原則内で行われる任意の修正、同等の置換、および改善などは、すべて本出願の保護範囲内に含まれるべきである。

Claims (19)

  1. ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップと、
    前記ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得するステップと、
    前記ビジネスデータハッシュ結果をブロックチェーンノードに送信し、前記ビジネスデータハッシュ結果をブロックチェーンに書き込むように前記ブロックチェーンノードに指示するステップと、
    前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、前記ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するステップと、を含み、
    参加者装置によって実行されることを特徴とするブロックチェーンに基づくマルチパーティ計算方法。
  2. ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップの前に、
    前記ターゲットトラステッド計算モジュールとのインタラクションにより、ターゲット乱数を決定するステップと、
    前記ターゲット乱数を用いてキーを暗号化し、キー暗号文を取得するステップと、
    前記キー暗号文を前記ターゲットトラステッド計算モジュールに送信して、前記ターゲット乱数を用いて前記キー暗号文を復号してキーを取得するように前記ターゲットトラステッド計算モジュールに指示するステップと、をさらに含み、
    ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップは、キーを用いて前記ビジネスデータを暗号化してビジネスデータ暗号文を取得するステップを含むことを特徴とする、請求項1に記載の方法。
  3. 前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信するステップの前に、
    必要なターゲットトラステッドアルゴリズム情報を含むサーバ選択要求をブロックチェーンノードに送信するステップと、
    ターゲットトラステッドアルゴリズムをサポートする候補サーバ登録情報をブロックチェーンノードから取得するステップと、
    前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するステップと、をさらに含むことを特徴とする、請求項1に記載の方法。
  4. 前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するステップは、
    前記候補サーバへのトラステッド環境検証を行うように前記トラステッド計算検証者に指示するための、前記候補サーバ登録情報を含む前記候補サーバのトラステッド環境検証要求を、トラステッド計算検証者に送信するステップと、
    トラステッド環境検証に合格した候補サーバから前記ターゲットサーバを選択するステップと、を含むことを特徴とする、請求項3に記載の方法。
  5. 前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信するステップの後に、
    ターゲット乱数を用いてマルチパーティ計算結果を暗号化することによって取得されたマルチパーティ計算結果暗号文を前記ターゲットトラステッド計算モジュールから取得するステップと、
    前記ターゲット乱数を用いて前記マルチパーティ計算結果暗号文を復号し、マルチパーティ計算結果を取得するステップと、をさらに含むことを特徴とする、請求項2に記載の方法。
  6. 参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を、参加者装置から受信するステップと、
    前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得するステップと、
    トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得するステップと、を含み、
    サーバによって実行されることを特徴とする、ブロックチェーンに基づくマルチパーティ計算方法。
  7. トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うステップは、
    トラステッド計算モジュールを介して、前記ビジネスデータ暗号文を復号してビジネスデータを取得するステップと、
    前記ビジネスデータハッシュ結果に基づいて前記ビジネスデータを検証するステップと、を含むことを特徴とする、請求項6に記載の方法。
  8. トラステッド計算モジュールを介して、前記ビジネスデータ暗号文を復号してビジネスデータを取得するステップの前に、
    前記トラステッド計算モジュールと参加者装置間のインタラクションにより、ターゲット乱数を決定するステップと、
    前記ターゲット乱数を用いてキーを暗号化することによって取得されたキー暗号文を参加者装置から取得するステップと、
    前記トラステッド計算モジュールを介して、前記ターゲット乱数を用いて前記キー暗号文を復号してキーを取得するステップと、をさらに含み、
    トラステッド計算モジュールを介して、前記ビジネスデータ暗号文を復号してビジネスデータを取得するステップは、
    前記トラステッド計算モジュールを介して、前記キーを用いて前記ビジネスデータキーを復号してビジネスデータを取得するステップを含むことを特徴とする、請求項7に記載の方法。
  9. マルチパーティ計算結果を取得するステップの後に、
    前記マルチパーティ計算結果を暗号化してマルチパーティ計算結果暗号文を取得するステップと、
    前記マルチパーティ計算結果暗号文を復号してマルチパーティ計算結果を取得するように前記参加者装置に指示するための前記マルチパーティ計算結果暗号文を、トラステッド計算モジュールを介して前記参加者装置に送信するステップと、をさらに含むことを特徴とする、請求項6に記載の方法。
  10. 参加者装置によって送信されたビジネスデータ暗号文を受信するステップの前に、
    サポートされているトラステッドアルゴリズム情報を含むサーバ登録情報をブロックチェーンノードに送信して、前記サーバ登録情報をブロックチェーンに書き込むようにブロックチェーンノードに指示するステップをさらに含むことを特徴とする、請求項6に記載の方法。
  11. ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果を、参加者装置から受信するステップと、
    前記ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、受信したビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するステップと、を含み、
    ブロックチェーンノードによって実行されることを特徴とする、ブロックチェーンに基づくマルチパーティ計算方法。
  12. ビジネスデータハッシュ結果を参加者装置から受信するステップの前に、
    サポートされているトラステッドアルゴリズム情報を含むサーバ登録情報を候補サーバから取得するステップと、
    前記サーバ登録情報をブロックチェーンに書き込むステップと、をさらに含むことを特徴とする、請求項11に記載の方法。
  13. 前記サーバ登録情報をブロックチェーンに書き込むステップの後に、
    前記参加者装置に必要なターゲットトラステッドアルゴリズム情報を含むサーバ選択要求を参加者装置から取得するステップと、
    前記ターゲットトラステッドアルゴリズムをサポートする候補サーバ登録情報をブロックチェーンから検索するステップと、
    前記候補サーバ登録情報を前記参加者装置に送信し、前記候補サーバ登録情報に基づいて候補サーバから前記ターゲットサーバを選択するように前記参加者装置に指示するステップと、をさらに含むことを特徴とする、請求項12に記載の方法。
  14. ビジネスデータを暗号化してビジネスデータ暗号文を取得するように構成されたデータ暗号化モジュールと、
    前記ビジネスデータ暗号文をハッシュ処理し、ビジネスデータハッシュ結果を取得するように構成されたハッシュ処理モジュールと、
    前記ビジネスデータハッシュ結果をブロックチェーンノードに送信し、前記ビジネスデータハッシュ結果をブロックチェーンに書き込むように前記ブロックチェーンノードに指示するように構成された第1の送信モジュールと、
    前記ビジネスデータ暗号文をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、前記ビジネスデータ暗号文およびブロックチェーン内のビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するように構成された暗号文送信モジュールと、を含み、
    参加者装置に配置されていることを特徴とする、ブロックチェーンに基づくマルチパーティ計算装置。
  15. 参加者装置のビジネスデータを暗号化することによって取得されたビジネスデータ暗号文を、参加者装置から受信するように構成された暗号文受信モジュールと、
    前記ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果をブロックチェーンから取得するように構成された結果取得モジュールと、
    トラステッド計算モジュールを介して、前記ビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行い、マルチパーティ計算結果を取得するように構成されたマルチパーティ計算モジュールと、を含み、
    サーバに配置されていることを特徴とする、ブロックチェーンに基づくマルチパーティ計算装置。
  16. ビジネスデータ暗号文をハッシュ処理することによって取得されたビジネスデータハッシュ結果を、参加者装置から受信するように構成された結果受信モジュールと、
    前記ビジネスデータハッシュ結果をターゲットサーバ内のターゲットトラステッド計算モジュールに送信し、受信したビジネスデータ暗号文および前記ビジネスデータハッシュ結果に基づいてマルチパーティ計算を行うように前記ターゲットトラステッド計算モジュールに指示するように構成された第2の送信モジュールと、を含み、
    ブロックチェーンノードに配置されていることを特徴とする、ブロックチェーンに基づくマルチパーティ計算装置。
  17. 少なくとも1つのプロセッサ及び前記少なくとも1つのプロセッサと通信可能に接続された記憶装置を含み、
    前記記憶装置に前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサが請求項1〜13のいずれか1項に記載のブロックチェーンに基づくマルチパーティ計算方法を実施することを特徴とする、電子機器。
  18. コンピュータ命令が記憶されている非一時的コンピュータ可読記憶媒体であって、
    前記コンピュータ命令はコンピュータに請求項1〜13のいずれか1項に記載のブロックチェーンに基づくマルチパーティ計算方法を実施させるためのものであることを特徴とする、非一時的コンピュータ可読記憶媒体。
  19. コンピュータプログラムであって、
    前記コンピュータプログラムがプロセッサにより実行されると、請求項1〜13のいずれか一項に記載のブロックチェーンに基づくマルチパーティ計算方法を実現する、コンピュータプログラム。
JP2021002357A 2020-01-10 2021-01-08 ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム Active JP7209750B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010026601.5 2020-01-10
CN202010026601.5A CN111222165B (zh) 2020-01-10 2020-01-10 基于区块链的多方计算方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
JP2021111973A true JP2021111973A (ja) 2021-08-02
JP7209750B2 JP7209750B2 (ja) 2023-01-20

Family

ID=70829379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021002357A Active JP7209750B2 (ja) 2020-01-10 2021-01-08 ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11909886B2 (ja)
EP (1) EP3849132A1 (ja)
JP (1) JP7209750B2 (ja)
KR (1) KR102487137B1 (ja)
CN (1) CN111222165B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434344B (zh) * 2020-11-26 2022-04-29 中国南方电网有限责任公司 一种基于计算机取证的数据证据防篡改方法、装置和系统
CN115470512A (zh) * 2021-06-11 2022-12-13 支付宝(杭州)信息技术有限公司 针对隐私计算进行多方算法协商的方法、装置及系统
CN113660385A (zh) * 2021-08-12 2021-11-16 珠海奔图电子有限公司 信息收集方法、通信装置、服务器、系统及存储介质
CN113901425B (zh) * 2021-09-16 2022-12-16 医渡云(北京)技术有限公司 一种多方安全求交集的方法、装置、存储介质及设备
CN114036551A (zh) * 2021-10-22 2022-02-11 杭州趣链科技有限公司 隐私数据的数据处理方法、装置、计算机设备及介质
CN114205155B (zh) * 2021-12-07 2023-09-15 四川启睿克科技有限公司 一种基于安全多方计算的供应商风险评估系统及方法
CN113987554B (zh) * 2021-12-23 2022-04-08 支付宝(杭州)信息技术有限公司 获取数据授权的方法、装置及系统
CN114928447B (zh) * 2022-02-10 2024-04-30 北京轻信科技有限公司 基于分布式身份的数据管理方法和系统
CN114679319B (zh) * 2022-03-25 2023-08-18 南京邮电大学 基于区块链的分布式数据同步加密方法
CN114615282B (zh) * 2022-05-10 2022-08-23 富算科技(上海)有限公司 多方安全计算方法、电子设备及可读存储介质
CN115065461A (zh) * 2022-05-13 2022-09-16 浪潮云信息技术股份公司 安全多方计算方法、系统及计算机可读介质
CN115065611B (zh) * 2022-06-08 2023-09-26 上海万向区块链股份公司 数据安全多方协同计算的监控和验证方法及系统
CN115086065B (zh) * 2022-07-12 2024-01-19 北斗星通智联科技有限责任公司 一种基于区块链的数据同步方法、装置、电子设备及介质
CN115396439A (zh) * 2022-08-24 2022-11-25 广东卓启云链科技有限公司 一种基于区块链的任务处理方法、装置、设备和存储介质
CN115396091A (zh) * 2022-08-25 2022-11-25 太保科技有限公司 一种基于sgx技术的安全计算方法及装置
CN115361229A (zh) * 2022-10-17 2022-11-18 太极计算机股份有限公司 一种政府公共数据的安全分享方法以及系统
CN115412364B (zh) * 2022-10-19 2023-03-24 北京融数联智科技有限公司 一种无需第三方的多方安全求交集的方法、系统和介质
CN115965388B (zh) * 2022-12-30 2023-12-22 国网数字科技控股有限公司 基于区块链的产业链金融密态溯源方法、装置及相关设备
CN116151627B (zh) * 2023-04-04 2023-09-01 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备
CN116488922B (zh) * 2023-05-09 2024-04-05 武汉市启视传媒有限公司 一种基于区块链的电商数据传输方法及装置
CN116956258B (zh) * 2023-09-21 2023-12-05 杭州锘崴信息科技有限公司 数据运营中数据计算的计算要素认证方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019176264A (ja) * 2018-03-27 2019-10-10 Kddi株式会社 登録装置、管理システム、登録方法及び登録プログラム
US20200004973A1 (en) * 2018-06-29 2020-01-02 Alibaba Group Holding Limited Method and apparatus for obtaining input of secure multiparty computation protocol
JP2020021048A (ja) * 2018-08-03 2020-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America データ流通方法、認証サーバ及びデータ構造

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177518A1 (en) * 2004-02-10 2005-08-11 Brown Collie D. Electronic funds transfer and electronic bill receipt and payment system
US20070288472A1 (en) * 2006-06-09 2007-12-13 Rivera Paul G Transaction processing system and method
CN102202046B (zh) * 2011-03-15 2012-10-17 北京邮电大学 面向网络化操作系统的可信任虚拟运行平台
KR20130085491A (ko) 2011-12-09 2013-07-30 한국전자통신연구원 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법
US9736147B1 (en) * 2013-04-08 2017-08-15 Titanium Crypt, Inc. Artificial intelligence encryption model (AIEM) with device authorization and attack detection (DAAAD)
US9830467B1 (en) * 2014-04-14 2017-11-28 Michael Harold System, method and apparatus for securely storing data on public networks
US10721058B2 (en) * 2015-08-04 2020-07-21 Charlie Housholder Ultra-secure blockchain enabled analytics
US10785033B2 (en) * 2015-09-04 2020-09-22 Nec Corporation Method for storing an object on a plurality of storage nodes
CN111213171B (zh) * 2017-10-12 2023-05-23 三星电子株式会社 用于安全离线支付的方法和装置
US11177961B2 (en) * 2017-12-07 2021-11-16 Nec Corporation Method and system for securely sharing validation information using blockchain technology
KR102067882B1 (ko) * 2017-12-29 2020-02-11 부경대학교 산학협력단 블록체인 기반 데이터 접근 제어 시스템 및 방법
CN109101822B (zh) * 2018-07-10 2021-01-29 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109241016B (zh) * 2018-08-14 2020-07-07 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
WO2020049357A1 (en) * 2018-09-06 2020-03-12 Bank Of Montreal Systems and methods for encryption of data on a blockchain
US11196569B2 (en) * 2018-09-12 2021-12-07 Bitclave Pte. Ltd. Systems and methods for accuracy and attestation of validity of data shared in a secure distributed environment
US11227057B2 (en) * 2018-11-08 2022-01-18 International Business Machines Corporation Membership access management of a database
CN109660358B (zh) * 2019-01-08 2022-04-08 余炀 一种基于区块链及安全执行环境的数据流通方法
CN111066019B (zh) * 2019-05-15 2023-05-16 创新先进技术有限公司 处理存储在区块链网络中的数据元素
WO2019228571A2 (en) * 2019-09-12 2019-12-05 Alibaba Group Holding Limited Log-structured storage systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019176264A (ja) * 2018-03-27 2019-10-10 Kddi株式会社 登録装置、管理システム、登録方法及び登録プログラム
US20200004973A1 (en) * 2018-06-29 2020-01-02 Alibaba Group Holding Limited Method and apparatus for obtaining input of secure multiparty computation protocol
JP2020021048A (ja) * 2018-08-03 2020-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America データ流通方法、認証サーバ及びデータ構造

Also Published As

Publication number Publication date
US11909886B2 (en) 2024-02-20
KR20210090563A (ko) 2021-07-20
CN111222165A (zh) 2020-06-02
US20210218576A1 (en) 2021-07-15
KR102487137B1 (ko) 2023-01-10
JP7209750B2 (ja) 2023-01-20
EP3849132A1 (en) 2021-07-14
CN111222165B (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
JP7209750B2 (ja) ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム
CN108632284B (zh) 基于区块链的用户数据授权方法、介质、装置和计算设备
EP3916604B1 (en) Method and apparatus for processing privacy data of block chain, device, storage medium and computer program product
US20220021534A1 (en) Location aware cryptography
US20210351938A1 (en) Method and apparatus for sharing data based on blockchain network, device, and medium
US8631461B2 (en) Dynamic data-protection policies within a request-reply message queuing environment
JP2021189431A5 (ja)
US8458208B2 (en) Automated data source assurance in distributed databases
EP3855382B1 (en) Method, apparatus, medium and program for performing review based on blockchain
CN111737366A (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US10686769B2 (en) Secure key caching client
JP2020088421A (ja) 通信装置、通信方法、および通信プログラム
US11411715B2 (en) System and method for generating scalable group key based on homomorphic encryption with trust server
JP2022071827A (ja) トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
CN113612597A (zh) 数据计算方法、装置、系统及电子设备
US10333699B1 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
GB2590239A (en) Secure operations on encrypted data
CN109995773B (zh) 数据处理方法和装置
CN114244515B (zh) 基于Hypervisor的虚拟机通信方法、装置、可读存储介质及电子设备
CN114244630B (zh) 一种通信方法、装置、设备以及存储介质
CN111368309B (zh) 信息处理方法、系统及设备
US11647013B1 (en) Encryption of data via public key cryptography with certificate verification of target
KR102625088B1 (ko) 데이터 공유 장치 및 방법
US11743293B2 (en) Remote attestation transport layer security and split trust encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221206

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221206

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221215

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230110

R150 Certificate of patent or registration of utility model

Ref document number: 7209750

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150