WO2024034124A1 - 端末装置、計算システム、計算方法、およびコンピュータ可読媒体 - Google Patents

端末装置、計算システム、計算方法、およびコンピュータ可読媒体 Download PDF

Info

Publication number
WO2024034124A1
WO2024034124A1 PCT/JP2022/030754 JP2022030754W WO2024034124A1 WO 2024034124 A1 WO2024034124 A1 WO 2024034124A1 JP 2022030754 W JP2022030754 W JP 2022030754W WO 2024034124 A1 WO2024034124 A1 WO 2024034124A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
calculation
servers
shares
terminal device
Prior art date
Application number
PCT/JP2022/030754
Other languages
English (en)
French (fr)
Inventor
武志 赤川
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2022/030754 priority Critical patent/WO2024034124A1/ja
Publication of WO2024034124A1 publication Critical patent/WO2024034124A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Definitions

  • the present disclosure relates to a terminal device, a calculation system, a calculation method, and a computer-readable medium.
  • Patent Document 1 describes that data to be subjected to secure calculation is secretly distributed and registered in a database.
  • one of the objectives of the embodiments disclosed in this specification is to provide a terminal device, a calculation system, and a calculation method that obtain calculation results in a realistic amount of time while concealing part of the data. and to provide programs.
  • the terminal device includes: a classification means for classifying data into first data to be secret shared and second data to be secret shared; a first registration means for generating a plurality of shares from the first data and registering the plurality of shares in a plurality of servers; second registration means for registering the second data in any of the plurality of servers; Acquisition means for acquiring calculation results of a secure calculation using the plurality of shares from the plurality of servers, and acquiring calculation results of the calculation using the second data from the server in which the second data is registered. It is equipped with and.
  • a calculation system includes: a terminal device; Equipped with multiple servers and The terminal device is Classifying the data into first data to be secret shared and second data to be secret shared, generating a plurality of shares from the first data, registering the plurality of shares in a plurality of servers, registering the second data in any of the plurality of servers; Obtaining the results of a secure computation performed using the plurality of shares from the plurality of servers, and obtaining the results of the computation performed using the second data from the server that registered the second data. do.
  • Classifying the data into first data to be secret shared and second data to be secret shared generating a plurality of shares from the first data, registering the plurality of shares in a plurality of servers, registering the second data in any of the plurality of servers;
  • a calculation result using the plurality of shares is obtained from the plurality of servers, and a calculation result using the second data is obtained from the server in which the second data is registered.
  • the non-transitory computer-readable medium includes: to the computer, a process of classifying data into first data whose secret is shared and second data whose secret is not shared; a process of generating a plurality of shares from the first data and registering the plurality of shares in a plurality of servers; a process of registering the second data in any of the plurality of servers; acquiring calculation results using the plurality of shares from the plurality of servers, and acquiring calculation results using the second data from the server in which the second data is registered;
  • the program is stored.
  • FIG. 1 is a block diagram showing the configuration of a terminal device according to a first embodiment.
  • FIG. 2 is a block diagram showing the configuration of a calculation system according to a second embodiment.
  • FIG. 2 is a block diagram showing the configuration of a client terminal according to a second embodiment.
  • 7 is a flowchart showing the flow of operations of the classification section.
  • FIG. 2 is a block diagram showing the configuration of a server according to a second embodiment. 7 is a diagram for explaining an example of a method of configuring a server according to a second embodiment.
  • FIG. 1 is a block diagram showing the configuration of a terminal device according to a first embodiment.
  • FIG. 2 is a block diagram showing the configuration of a calculation system according to a second embodiment.
  • FIG. 2 is a block diagram showing the configuration of a client terminal according to a second embodiment.
  • 7 is a flowchart showing the flow of operations of the classification section.
  • FIG. 2 is a block diagram showing the configuration of a server according
  • FIG. 1 is a block diagram showing the configuration of a terminal device 1 according to the first embodiment.
  • the terminal device 1 includes a classification section 11 , a first registration section 12 , a second registration section 13 , and an acquisition section 14 .
  • the terminal device 1 is connected to at least a plurality of servers (not shown) via a network (not shown).
  • the classification unit 11 classifies data into first data whose secret is shared and second data whose secret is not shared.
  • the classification unit 11 may classify the data based on at least one of the confidentiality of the data and the amount of calculation expected to process the data.
  • the first registration unit 12 generates multiple shares from the first data and registers the multiple shares in multiple servers. Multiple servers perform secure computation using multiple shares.
  • the second registration unit 13 registers the second data in one of the plurality of servers.
  • the server that has registered the second data performs calculations using the second data.
  • the acquisition unit 14 acquires the calculation results of the secure calculation using the plurality of shares from the plurality of servers, and acquires the calculation result of the calculation using the second data from the server in which the second data is registered.
  • the terminal device 1 includes a processor, a memory, and a storage device as components not shown. Further, the storage device stores a computer program in which the processing of the learning method according to the present embodiment is implemented. Then, the processor loads a computer program from the storage device into the memory and executes the computer program. Thereby, the processor realizes the functions of the classification section 11, the first registration section 12, the second registration section 13, and the acquisition section 14.
  • the classification unit 11, the first registration unit 12, the second registration unit 13, and the acquisition unit 14 may each be realized by dedicated hardware. Further, a part or all of each component of each device may be realized by a general-purpose or dedicated circuit, a processor, etc., or a combination thereof. These may be configured by a single chip or multiple chips connected via a bus. A part or all of each component of each device may be realized by a combination of the circuits and the like described above and a program. Further, as the processor, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an FPGA (Field-programmable Gate Array), etc. can be used.
  • a CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • FPGA Field-programmable Gate Array
  • each component of the terminal device 1 when a part or all of each component of the terminal device 1 is realized by a plurality of information processing devices, circuits, etc., the plurality of information processing devices, circuits, etc. may be centrally arranged or distributed. may be placed.
  • information processing devices, circuits, etc. may be realized as a client server system, a cloud computing system, or the like, in which each is connected via a communication network.
  • the functions of the terminal device 1 may be provided in a SaaS (Software as a Service) format.
  • SaaS Software as a Service
  • the terminal device 1 can obtain calculation results in a realistic amount of time while concealing some data.
  • FIG. 2 is a schematic diagram showing the configuration of the computing system 100 according to the second embodiment.
  • the computing system 100 includes a client terminal 2x, a client terminal 2y, a client terminal 2z, and a server group 3.
  • the client terminals 2x, 2y, and 2z are specific examples of the terminal device 1 described above.
  • the client terminal 2x is operated by a user belonging to organization X
  • the client terminal 2y is operated by a user belonging to organization Y
  • the client terminal 2z is operated by a user belonging to organization Z.
  • Organizations X, Y, and Z are, for example, pharmaceutical companies or chemical companies.
  • client terminals 2x, 2y, and 2z are not distinguished from each other, they will simply be referred to as client terminals 2.
  • the number of client terminals 2 is not limited to three.
  • the number of client terminals 2 may be one, two, or four or more.
  • calculations are performed based on data owned by one organization.
  • processing may be performed by linking data owned by a plurality of organizations.
  • the client terminal 2 and the server group 3 are connected via a network N so that they can communicate with each other.
  • the network may be wired or wireless.
  • the network may be, for example, a VPN (Virtual Private Network).
  • a plurality of shares generated from the above-mentioned first data are registered in the server group 3.
  • Server group 3 performs secure computation using multiple shares.
  • Second data is registered in one of the servers 31.
  • the server 31 in which the second data is registered performs calculations using the second data. Note that the number of servers 31 is not limited to three. However, in order to perform secure calculation, it is preferable that the number of servers 31 is three or more.
  • FIG. 3 is a block diagram showing the configuration of the client terminal 2.
  • the client terminal 2 includes a classification section 21 , a first registration section 22 , a second registration section 23 , a calculation request section 24 , an acquisition section 25 , and a selection section 26 .
  • the classification unit 21 classifies data into first data and second data.
  • the classification unit 21 is a specific example of the classification unit 11 described above.
  • the classification unit 21 may classify each of the plurality of item data included in the compound data set into first data and second data.
  • Compound data includes multiple records.
  • a plurality of item data eg, compound structure information, compound property information
  • the structure of a compound is expressed by a fixed-length bit string, and each bit of the bit string represents the presence or absence of a predetermined structure (eg, benzene ring).
  • the characteristic value eg, tensile strength value
  • the classification unit 21 may classify data based on at least one of the confidentiality of the data and the amount of calculation applied to the data.
  • Calculations applied to data include, for example, basic operations such as arithmetic operations, logical operations, and database processing, and more complex calculations (eg, machine learning). Additionally, the calculations applied to the data may be statistical calculations such as average, variance, maximum value, minimum value, etc.
  • the classification unit 21 classifies the data as first data when the confidentiality of the data is high or when the amount of calculation applied to the data is small. For example, when four arithmetic operations are applied to data, the amount of calculation for the four arithmetic operations is small, so the data may be classified as first data.
  • the classification unit 21 may classify the data as first data.
  • a calculation applied to the parameters of a machine learning model there is a calculation that integrates the parameters of multiple machine learning models.
  • Machine learning model integration involves low-computational processes such as arithmetic averaging. For example, in federated learning in which local models learned by multiple client terminals 2 are integrated to generate a global model, machine learning models are integrated.
  • FIG. 4 is a flowchart showing an example of the operation of the classification section 21. Steps S11 to S14 may be performed for each item data included in the data set.
  • the classification unit 21 of the client terminal 2 estimates the amount of calculation applied to the data (step S11).
  • the classification unit 21 determines whether the amount of calculation estimated in step S11 is large (step S12). For example, the classification unit 21 may determine whether the estimated amount of calculation is larger than a predetermined value. If the amount of calculation is large (YES in step S12), the classification unit 21 classifies the data as second data (step S13). If the amount of calculation is small (NO in step S12), the classification unit 21 classifies the data as first data (step S14).
  • the classification unit 21 may estimate the computation time when the computation applied to the data is performed by secret computation, and if the estimated computation time is longer than the specified time, the data may be classified as second data.
  • the classification unit 21 may cause the server group 3 to execute a secure calculation using a part of the data, and estimate the calculation time from the execution time.
  • the first registration unit 22 divides the first data into a plurality of shares (for example, three) and registers the plurality of shares in the server group 3.
  • the first registration unit 22 is a specific example of the first registration unit 12 described above.
  • the second registration unit 23 registers the second data in one of the plurality of servers 31.
  • the second registration unit 23 is a specific example of the second registration unit 13 described above.
  • the second registration unit 23 may register the second data in the server 31 selected by the selection unit 26, which will be described later.
  • the calculation requesting unit 24 requests the server group 3 or the server 31 that has registered the second data to perform calculation in response to user input to the client terminal 2.
  • the calculation target is the first data
  • the calculation requesting unit 24 requests the server group 3 to perform a secure calculation process (eg, four arithmetic operations).
  • the calculation request unit 24 transmits a calculation request indicating calculation details and data to be processed to the server group 3.
  • the calculation requesting unit 24 requests the server 31 that has registered the second data to perform a calculation process (eg, an operation more complicated than the four arithmetic operations).
  • the calculation request unit 24 transmits a calculation request indicating the calculation content and processing target to the server 4.
  • the server group 3 or the server 31 executes a predetermined process (eg, averaging) on the first data or the second data
  • the client terminal 2 does not need to issue a calculation request.
  • the server group 3 may integrate multiple pieces of first data at a predetermined timing. In this case, the client terminal 2 does not need to include the calculation requesting section 24.
  • the acquisition unit 25 acquires the calculation results of the secure calculation using multiple shares from the server group 3.
  • the acquisition unit 25 acquires the calculation result of the calculation using the second data from the server 31 that has registered the second data.
  • the acquisition unit 25 is a specific example of the acquisition unit 14 described above.
  • the client terminal 2 may display the obtained calculation results on a display device (not shown) such as a display or a monitor.
  • the selection unit 26 selects a server to register the second data from among the plurality of servers 31.
  • the selection unit 26 may collect the storage usage rate and CPU usage rate from each server 31, and select the server 31 with the lowest storage usage rate and CPU usage rate.
  • server 31 to be selected for each client terminal 2 may be determined in advance. In this case, the client terminal 2 does not need to include the selection unit 26.
  • the server 31 includes a shared storage section 311, a first calculation section 312, a storage section 313, and a second calculation section 314.
  • the share storage unit 311 is a storage that stores shares generated by the first registration unit 22 of the client terminal 2. A plurality of shares generated from one piece of first data are distributed and stored in the share storage units 311 of the plurality of servers 31.
  • the first calculation unit 312 performs secure calculation using the shares stored in the share storage unit 311.
  • the first calculation unit 312 may perform a secure calculation in response to a request from the client terminal 2, or may perform a predetermined secure calculation.
  • the target data is not known from the share, and calculations using the share can be said to be secret calculations.
  • the first calculation units 312 of the plurality of servers 31 may cooperate to perform multi-party calculation (MPC).
  • the first calculation unit 312 transmits the calculation result of the secure calculation to the client terminal 2.
  • the storage unit 313 is a storage that stores second data received from the client terminal 2.
  • the second calculation unit 314 performs calculation using the second data stored in the storage unit 313.
  • the second calculation unit 314 transmits the calculation result to the client terminal 2.
  • FIG. 6 is a diagram for explaining a configuration example of the server 31.
  • a first virtual server 301 and a second virtual server 302 are operating on the server 31.
  • the first virtual server 301 includes a shared storage section 311 and a first calculation section 312.
  • the second virtual server 302 includes a storage section 313 and a second calculation section 314.
  • the client terminal 2 transmits a first data registration request and a calculation request using the first data to the first virtual server 301.
  • the client terminal 2 then transmits a second data registration request and a calculation request using the second data to the second virtual server 302.
  • the calculation system according to the second embodiment can obtain calculation results in a realistic time while concealing some data.
  • the above-described program includes a group of instructions (or software code) for causing the computer to perform one or more functions described in the embodiments when loaded into the computer.
  • the program may be stored on a non-transitory computer readable medium or a tangible storage medium.
  • computer readable or tangible storage media may include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD - Including ROM, digital versatile disc (DVD), Blu-ray disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disc storage or other magnetic storage device.
  • the program may be transmitted on a transitory computer-readable medium or a communication medium.
  • transitory computer-readable or communication media includes electrical, optical, acoustic, or other forms of propagating signals.
  • a classification means for classifying data into first data to be secret shared and second data to be secret shared; a first registration means for generating a plurality of shares from the first data and registering the plurality of shares in a plurality of servers; second registration means for registering the second data in any of the plurality of servers; Acquisition means for acquiring calculation results of a secure calculation using the plurality of shares from the plurality of servers, and acquiring calculation results of the calculation using the second data from the server in which the second data is registered.
  • a terminal device equipped with and.
  • (Appendix 8) a terminal device; Equipped with multiple servers and The terminal device is Classifying the data into first data to be secret shared and second data to be secret shared, generating a plurality of shares from the first data, registering the plurality of shares on a plurality of servers, registering the second data in any of the plurality of servers; Obtaining the results of a secure computation performed using the plurality of shares from the plurality of servers, and obtaining the results of the computation performed using the second data from the server that registered the second data.
  • a calculation system. (Appendix 9) The calculation system according to appendix 8, wherein the data is classified based on at least one of the confidentiality of the data and the amount of calculation expected to process the data.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データの一部を秘匿化しつつ現実的な時間で計算結果を取得する端末装置、計算システム、計算方法、およびプログラムを提供する。端末装置(1)は、秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する分類部(11)と、第1のデータから複数のシェアを生成し、複数のシェアを複数のサーバに登録する第1の登録部(12)と、第2のデータを複数のサーバのいずれかに登録する第2の登録部(13)と、複数のサーバから、複数のシェアを用いた秘密計算の計算結果を取得し、第2のデータを登録したサーバから、第2のデータを用いた計算の計算結果を取得する取得部(14)とを備える。

Description

端末装置、計算システム、計算方法、およびコンピュータ可読媒体
 本開示は、端末装置、計算システム、計算方法、およびコンピュータ可読媒体に関する。
 データを暗号化した状態で計算を実行する秘密計算技術が知られている。特許文献1には、秘密計算の対象となるデータを秘密分散してデータベースに登録することが記載されている。
国際公開第2016/181904号
 秘密計算は計算に必要なコストが大きいため、組織が所有するデータの全てを秘密計算の対象にすることは困難である。
 そこで、本明細書に開示される実施形態が達成しようとする目的の1つは、データの一部を秘匿化しつつ、現実的な時間で計算結果を取得する端末装置、計算システム、計算方法、およびプログラムを提供することである。
 本開示の第1の態様にかかる端末装置は、
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する分類手段と、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録する第1の登録手段と、
 前記第2のデータを前記複数のサーバのいずれかに登録する第2の登録手段と、
 前記複数のサーバから、前記複数のシェアを用いた秘密計算の計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算の計算結果を取得する取得手段と
 を備えている。
 本開示の第2の態様にかかる計算システムは、
 端末装置と、
 複数のサーバと
 を備え、
 前記端末装置は、
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類し、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録し、
 前記第2のデータを、前記複数のサーバのいずれかに登録し、
 前記複数のサーバから、前記複数のシェアを用いて実行された秘密計算の結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いて実行された計算結果を取得する。
 本開示の第3の態様にかかる計算方法では、
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類し、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録し、
 前記第2のデータを前記複数のサーバのいずれに登録し、
 前記複数のサーバから、前記複数のシェアを用いた計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算結果を取得する。
 本開示の第4の態様にかかる非一時的なコンピュータ可読媒体では、
 コンピュータに、
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する処理と、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録する処理と、
 前記第2のデータを前記複数のサーバのいずれかに登録する処理と、
 前記複数のサーバから、前記複数のシェアを用いた計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算結果を取得する処理と
 を実行させるためのプログラムが格納される。
 本開示によれば、一部のデータを秘匿化しつつ、現実的な時間で計算結果を取得する端末装置、計算システム、計算方法、およびプログラムを提供できる。
実施形態1にかかる端末装置の構成を示すブロック図である。 実施形態2にかかる計算システムの構成を示すブロック図である。 実施形態2にかかるクライアント端末の構成を示すブロック図である。 分類部の動作の流れを示すフローチャートである。 実施形態2にかかるサーバの構成を示すブロック図である。 実施形態2にかかるサーバの構成方法の一例を説明するための図である。
<実施形態1>
 図1は、実施形態1にかかる端末装置1の構成を示すブロック図である。端末装置1は、分類部11、第1の登録部12、第2の登録部13、および取得部14を備えている。端末装置1は、ネットワーク(不図示)を介して少なくとも複数のサーバ(不図示)に接続されている。
 分類部11は、秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する。分類部11は、データの秘匿性およびデータの処理に想定される計算量の少なくともいずれかに基づいてデータを分類してもよい。
 第1の登録部12は、第1のデータから複数のシェアを生成し、複数のシェアを複数のサーバに登録する。複数のサーバは、複数のシェアを用いた秘密計算を行う。
 第2の登録部13は、第2のデータを複数のサーバのいずれかに登録する。第2のデータを登録したサーバは、第2のデータを用いた計算を行う。
 取得部14は、複数のサーバから、複数のシェアを用いた秘密計算の計算結果を取得し、第2のデータを登録したサーバから、第2のデータを用いた計算の計算結果を取得する。
 なお、端末装置1は、図示しない構成としてプロセッサ、メモリ、および記憶装置を備えるものである。また、当該記憶装置には、本実施形態にかかる学習方法の処理が実装されたコンピュータプログラムが記憶されている。そして、当該プロセッサは、記憶装置からコンピュータプログラムを前記メモリへ読み込ませ、当該コンピュータプログラムを実行する。これにより、前記プロセッサは、分類部11、第1の登録部12、第2の登録部13、および取得部14の機能を実現する。
 または、分類部11、第1の登録部12、第2の登録部13、および取得部14は、それぞれが専用のハードウェアで実現されていてもよい。また、各装置の各構成要素の一部又は全部は、汎用または専用の回路(circuitry)、プロセッサ等やこれらの組合せによって実現されもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。また、プロセッサとして、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(field-programmable gate array)等を用いることができる。
 また、端末装置1の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。また、端末装置1の機能がSaaS(Software as a Service)形式で提供されてもよい。
 実施形態1にかかる端末装置1は、一部のデータを秘匿化しつつ、現実的な時間で計算結果を取得できる。
<実施形態2>
 図2は、実施形態2にかかる計算システム100の構成を示す概略図である。計算システム100は、クライアント端末2x、クライアント端末2y、クライアント端末2z、およびサーバ群3を備える。クライアント端末2x、2y、および2zは、上述した端末装置1の具体例である。
 クライアント端末2xは組織Xに属するユーザによって操作され、クライアント端末2yは組織Yに属するユーザによって操作され、クライアント端末2zは組織Zに属するユーザによって操作される。組織X、Y、およびZは、例えば、医薬品事業者や化学品事業者である。以下では、クライアント端末2x、2y、および2zを互いに区別しない場合、単にクライアント端末2と言う。
 クライアント端末2の数は3つに限られない。クライアント端末2の数は、1つであってもよく、2つであってもよく、4つ以上であってもよい。クライアント端末2の数が1つの場合、1つの組織が所有するデータを基に計算が行われる。クライアント端末2の数が複数の場合、複数の組織が所有するデータを連携させて処理が行われてもよい。
 クライアント端末2と、サーバ群3とはネットワークNを介して相互に通信可能に接続されている。ネットワークは有線であっても無線であってもよい。ネットワークは、例えば、VPN(Virtual Private Network)であってもよい。
 サーバ群3には、上述した第1のデータから生成された複数のシェアが登録される。サーバ群3は、複数のシェアを用いた秘密計算を行う。サーバ31のいずれかには、第2のデータが登録される。第2のデータが登録されたサーバ31は、第2のデータを用いた計算を行う。なお、サーバ31の数は3つに限られるものではない。ただし、秘密計算を実行する上ではサーバ31の数が3つ以上であることが好ましい。
 図3は、クライアント端末2の構成を示すブロック図である。クライアント端末2は、分類部21、第1の登録部22、第2の登録部23、計算要求部24、取得部25、および選択部26を備えている。
 分類部21は、第1のデータと第2のデータにデータを分類する。分類部21は、上述した分類部11の具体例である。分類部21は、化合物のデータセットに含まれる複数の項目データの各々を第1のデータと第2のデータに分類してもよい。化合物のデータは複数のレコードを含む。各レコードには、複数の項目データ(例:化合物の構造情報、化合物の特性情報)が並べられる。化合物の構造は固定長のビット列などで表現され、ビット列の各ビットは所定の構造(例:ベンゼン環)の有無などを表す。特性値(例:引張強度の値)は、実験により得られた値であってもよく、シミュレーションや理論計算により得られた値であってもよい。
 分類部21は、データの秘匿性およびデータに適用される計算の計算量の少なくともいずれかに基づいてデータを分類してもよい。データに適用される計算は、例えば、四則演算、論理演算、データベース処理などの基本演算や、より複雑な計算(例:機械学習)である。また、データに適用される計算は、平均、分散、最大値、最小値などの統計計算であってもよい。分類部21は、データの秘匿性が高い場合や、データに適用される計算の計算量が小さい場合、そのデータを第1のデータに分類する。例えば、データに四則演算が適用される場合、四則演算の計算量は小さいため、そのデータは第1のデータに分類されてもよい。
 分類部21は、データが機械学習モデルのパラメータである場合、そのデータを第1のデータに分類してもよい。機械学習モデルのパラメータに適用される計算として、複数の機械学習モデルのパラメータを統合する計算がある。機械学習モデルの統合では、算術平均などの計算量が低い処理が行われる。例えば、複数のクライアント端末2で学習させたローカルモデルを統合しグローバルモデルを生成する連合学習では、機械学習モデルの統合が行われる。
 図4は、分類部21の動作の一例を示すフローチャートである。ステップS11~ステップS14は、データセットに含まれる項目データごとに行われてもよい。
 まず、クライアント端末2の分類部21は、データに適用される計算の計算量を推定する(ステップS11)。次に、分類部21は、ステップS11で推定した計算量が大きいか否かを判定する(ステップS12)。例えば、分類部21は、推定した計算量が所定値よりも大きいかを判定してもよい。計算量が大きい場合(ステップS12のYES)、分類部21は、データを第2のデータに分類する(ステップS13)。計算量が小さい場合(ステップS12のNO)、分類部21は、データを第1のデータに分類する(ステップS14)。
 分類部21は、データに適用される計算を秘密計算で実行した場合の計算時間を推定し、推定した計算時間が指定時間より大きい場合、そのデータを第2のデータに分類してもよい。分類部21は、データの一部を用いた秘密計算をサーバ群3に実行させ、実行時間から計算時間を推定してもよい。
 図3に戻り、第1の登録部22は、第1のデータを複数個(例:3つ)のシェアに分け、複数のシェアをサーバ群3に登録する。第1の登録部22は、上述した第1の登録部12の具体例である。
 第2の登録部23は、第2のデータを複数のサーバ31のいずれかに登録する。第2の登録部23は、上述した第2の登録部13の具体例である。第2の登録部23は、後述する選択部26が選択したサーバ31に第2のデータを登録してもよい。
 計算要求部24は、クライアント端末2へのユーザ入力に応じて、サーバ群3または第2のデータを登録したサーバ31に計算の実行を要求する。計算対象が第1のデータである場合、計算要求部24は、サーバ群3に対して秘密計算処理(例:四則演算)を要求する。計算要求部24は、計算内容および処理対象データを示す計算要求をサーバ群3に送信する。計算対象が第2のデータである場合、計算要求部24は、第2のデータを登録したサーバ31に対して計算処理(例:四則演算より複雑な演算)を要求する。計算要求部24は、計算内容および処理対象を示す計算要求をサーバ4に送信する。
 なお、サーバ群3やサーバ31が、第1のデータや第2のデータに対して予め定められた処理(例:平均化)を実行する場合、クライアント端末2は計算要求を行う必要はない。例えば、連合学習を行う場合、サーバ群3が所定のタイミングで複数の第1のデータを統合してもよい。この場合、クライアント端末2は、計算要求部24を備えていなくてもよい。
 取得部25は、サーバ群3から、複数のシェアを用いた秘密計算の計算結果を取得する。取得部25は、第2のデータを登録したサーバ31から、第2のデータを用いた計算の計算結果を取得する。取得部25は、上述した取得部14の具体例である。クライアント端末2は、取得した計算結果をディスプレイやモニタなどの表示装置(不図示)に表示させてもよい。
 選択部26は、複数のサーバ31の中から、第2のデータを登録するサーバを選択する。選択部26は、各サーバ31からストレージの使用率やCPU使用率を収集し、ストレージの使用率やCPU使用率が低いサーバ31を選択してもよい。
 なお、クライアント端末2ごとに選択するサーバ31が予め定められていてもよい。この場合、クライアント端末2は、選択部26を備えていなくてもよい。
 次に、図5を参照してサーバ31について説明する。サーバ31は、シェア記憶部311、第1の計算部312、記憶部313、および第2の計算部314を備えている。
 シェア記憶部311は、クライアント端末2の第1の登録部22で生成されたシェアを記憶するストレージである。一つの第1のデータから生成された複数のシェアは、複数のサーバ31のシェア記憶部311に分散記憶される。
 第1の計算部312は、シェア記憶部311に記憶されたシェアを用いて秘密計算を行う。第1の計算部312は、クライアント端末2からの要求に応じて秘密計算を実行してもよく、所定の秘密計算を実行してもよい。シェアからは対象データを知られることがなく、シェアを用いた計算は秘密計算と言える。複数のサーバ31の第1の計算部312が協調してマルチパーティ計算(MPC)を行ってもよい。第1の計算部312は、秘密計算の計算結果をクライアント端末2に送信する。
 記憶部313は、クライアント端末2から受け取った第2のデータを記憶するストレージである。
 第2の計算部314は、記憶部313に記憶された第2のデータを用いて計算を行う。第2の計算部314は、計算結果をクライアント端末2に送信する。
 図6は、サーバ31の構成例を説明するための図である。サーバ31上では、第1の仮想サーバ301および第2の仮想サーバ302が動作している。第1の仮想サーバ301は、シェア記憶部311および第1の計算部312を備えている。第2の仮想サーバ302は、記憶部313および第2の計算部314を備えている。クライアント端末2は、第1のデータの登録要求および第1のデータを用いた計算要求を第1の仮想サーバ301に送信する。そして、クライアント端末2は、第2のデータの登録要求および第2のデータを用いた計算要求を第2の仮想サーバ302に送信する。
 実施形態2にかかる計算システムは、一部のデータを秘匿化しつつ、現実的な時間で計算結果を取得できる。
 なお、上述したプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する分類手段と、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録する第1の登録手段と、
 前記第2のデータを前記複数のサーバのいずれかに登録する第2の登録手段と、
 前記複数のサーバから、前記複数のシェアを用いた秘密計算の計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算の計算結果を取得する取得手段と
 を備える端末装置。
 (付記2)
 前記分類手段は、前記データの秘匿性、および前記データに適用される計算の計算量の少なくともいずれかに基づいて前記データを分類する
 付記1に記載の端末装置。
 (付記3)
 各サーバ上で、前記シェアを用いた秘密計算を実行する第1の仮想サーバと、前記第2のデータを用いた計算を実行する第2の仮想サーバとが動作する
 付記1または2のいずれかに記載の端末装置。
 (付記4)
 前記複数のサーバの中から、前記第2のデータを登録するサーバを選択する選択手段
 を備える付記1から3のいずれか1項に記載の端末装置。
 (付記5)
 前記分類手段は、機械学習モデルのパラメータを前記第1のデータに分類する
 付記1から4のいずれか1項に記載の端末装置。
 (付記6)
 前記分類手段は、化合物のデータセットに含まれる各項目データを第1のデータまたは第2のデータに分類する
 付記1から5のいずれか1項に記載の端末装置。
 (付記7)
 指定時間の入力を受け付ける入力手段を備え、
 前記分類手段は、前記データに適用される計算を秘密計算で実行した場合の計算時間を推定し、前記計算時間が指定時間より大きい場合、前記データを前記第2のデータに分類する
 付記1から6のいずれか1項に記載の端末装置。
 (付記8)
 端末装置と、
 複数のサーバと
 を備え、
 前記端末装置は、
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類し、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録し、
 前記第2のデータを、前記複数のサーバのいずれかに登録し、
 前記複数のサーバから、前記複数のシェアを用いて実行された秘密計算の結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いて実行された計算結果を取得する
 計算システム。
 (付記9)
 前記データの秘匿性、および前記データの処理に想定される計算量の少なくともいずれかに基づいて前記データを分類する
 付記8に記載の計算システム。
 (付記10)
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類し、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録し、
 前記第2のデータを前記複数のサーバのいずれかに登録し、
 前記複数のサーバから、前記複数のシェアを用いた計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算結果を取得する
 計算方法。
 (付記11)
 コンピュータに、
 秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する処理と、
 前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録する処理と、
 前記第2のデータを前記複数のサーバのいずれかまに登録する処理と、
 前記複数のサーバから、前記複数のシェアを用いた計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算結果を取得する処理と
 を実行させるためのプログラムを格納する非一時的なコンピュータ可読媒体。
1  端末装置
100  計算システム
2、2x、2y、2z  クライアント端末
11、21  分類部
12、22  第1の登録部
13、23  第2の登録部
24  計算要求部
14、25  取得部
26  選択部
3、30  サーバ群
31、4  サーバ
311  シェア記憶部
312  第1の計算部
313  記憶部
314  第2の計算部
301  第1の仮想サーバ
302  第2の仮想サーバ
N  ネットワーク

Claims (11)

  1.  秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する分類手段と、
     前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録する第1の登録手段と、
     前記第2のデータを前記複数のサーバのいずれかに登録する第2の登録手段と、
     前記複数のサーバから、前記複数のシェアを用いた秘密計算の計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算の計算結果を取得する取得手段と
     を備える端末装置。
  2.  前記分類手段は、前記データの秘匿性、および前記データに適用される計算の計算量の少なくともいずれかに基づいて前記データを分類する
     請求項1に記載の端末装置。
  3.  各サーバ上で、前記シェアを用いた秘密計算を実行する第1の仮想サーバと、前記第2のデータを用いた計算を実行する第2の仮想サーバとが動作する
     請求項1または2のいずれかに記載の端末装置。
  4.  前記複数のサーバの中から、前記第2のデータを登録するサーバを選択する選択手段
     を備える請求項1から3のいずれか1項に記載の端末装置。
  5.  前記分類手段は、機械学習モデルのパラメータを前記第1のデータに分類する
     請求項1から4のいずれか1項に記載の端末装置。
  6.  前記分類手段は、化合物のデータセットに含まれる各項目データを第1のデータまたは第2のデータに分類する
     請求項1から5のいずれか1項に記載の端末装置。
  7.  指定時間の入力を受け付ける入力手段を備え、
     前記分類手段は、前記データに適用される計算を秘密計算で実行した場合の計算時間を推定し、前記計算時間が指定時間より大きい場合、前記データを前記第2のデータに分類する
     請求項1から6のいずれか1項に記載の端末装置。
  8.  端末装置と、
     複数のサーバと
     を備え、
     前記端末装置は、
     秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類し、
     前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録し、
     前記第2のデータを、前記複数のサーバのいずれかに登録し、
     前記複数のサーバから、前記複数のシェアを用いて実行された秘密計算の結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いて実行された計算結果を取得する
     計算システム。
  9.  前記データの秘匿性、および前記データの処理に想定される計算量の少なくともいずれかに基づいて前記データを分類する
     請求項8に記載の計算システム。
  10.  秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類し、
     前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録し、
     前記第2のデータを前記複数のサーバのいずれかに登録し、
     前記複数のサーバから、前記複数のシェアを用いた計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算結果を取得する
     計算方法。
  11.  コンピュータに、
     秘密分散される第1のデータと秘密分散されない第2のデータとにデータを分類する処理と、
     前記第1のデータから複数のシェアを生成し、前記複数のシェアを複数のサーバに登録する処理と、
     前記第2のデータを前記複数のサーバのいずれかまに登録する処理と、
     前記複数のサーバから、前記複数のシェアを用いた計算結果を取得し、前記第2のデータを登録したサーバから、前記第2のデータを用いた計算結果を取得する処理と
     を実行させるためのプログラムを格納する非一時的なコンピュータ可読媒体。
PCT/JP2022/030754 2022-08-12 2022-08-12 端末装置、計算システム、計算方法、およびコンピュータ可読媒体 WO2024034124A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/030754 WO2024034124A1 (ja) 2022-08-12 2022-08-12 端末装置、計算システム、計算方法、およびコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/030754 WO2024034124A1 (ja) 2022-08-12 2022-08-12 端末装置、計算システム、計算方法、およびコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2024034124A1 true WO2024034124A1 (ja) 2024-02-15

Family

ID=89851326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/030754 WO2024034124A1 (ja) 2022-08-12 2022-08-12 端末装置、計算システム、計算方法、およびコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2024034124A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235425A (ja) * 2013-05-30 2014-12-15 ケイレックス・テクノロジー株式会社 情報分散システム及び情報分散ストレージシステム
JP2016178550A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 秘密情報分散システム、情報処理装置および情報処理プログラム
JP2016186782A (ja) * 2014-06-27 2016-10-27 パナソニックIpマネジメント株式会社 データ処理方法及びデータ処理装置
WO2021140574A1 (ja) * 2020-01-07 2021-07-15 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235425A (ja) * 2013-05-30 2014-12-15 ケイレックス・テクノロジー株式会社 情報分散システム及び情報分散ストレージシステム
JP2016186782A (ja) * 2014-06-27 2016-10-27 パナソニックIpマネジメント株式会社 データ処理方法及びデータ処理装置
JP2016178550A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 秘密情報分散システム、情報処理装置および情報処理プログラム
WO2021140574A1 (ja) * 2020-01-07 2021-07-15 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "NEC conducts demonstration experiment on predictive model construction for drug discovery using federated learning technology and secure computation technology", NEC CORPORATION, 11 March 2022 (2022-03-11), XP093138402, Retrieved from the Internet <URL:https://jpn.nec.com/press/202203/20220311_01.html> [retrieved on 20240306] *

Similar Documents

Publication Publication Date Title
US10831454B2 (en) Method and apparatus for executing device monitoring data-based operations
US20180063171A1 (en) Non-transitory computer-readable recording medium storing cyber attack analysis support program, cyber attack analysis support method, and cyber attack analysis support device
CN110717076B (zh) 节点管理方法、装置、计算机设备及存储介质
US9229758B2 (en) Passive monitoring of virtual systems using extensible indexing
US20190342170A1 (en) Auto-determining and installing missing components to a to-be-managed device by a single execution of unique device setup command
CN112527848B (zh) 基于多数据源的报表数据查询方法、装置、系统及存储介质
US20220239681A1 (en) Methods for public cloud database activity monitoring and devices thereof
US20160088499A1 (en) Systems and methods to create message traffic
US11483342B2 (en) Utilizing web application firewall and machine learning to detect command and control
US20170324802A1 (en) System and Method to Access Aggregated Metric Data in a Computer Network
JP7292368B2 (ja) デバイスからの属性および位置シグネチャを使用してデバイスを識別する方法、その方法のための一意に生成された識別子のサーバ、およびその方法のための命令シーケンスを記憶する非一時的コンピュータ可読記憶媒体
JPWO2019043804A1 (ja) ログ分析装置、ログ分析方法及びプログラム
US9471779B2 (en) Information processing system, information processing device, monitoring device, monitoring method
WO2024034124A1 (ja) 端末装置、計算システム、計算方法、およびコンピュータ可読媒体
CN110928941A (zh) 一种数据分片抽取方法及装置
JP6988827B2 (ja) 異常識別システム、方法及びプログラム
EP3718284A1 (en) Extending encrypted traffic analytics with traffic flow data
US20170286181A1 (en) Deployment and execution of sensing and computational tasks in a network of computing devices
JPWO2009025039A1 (ja) システム分析プログラム、システム分析方法およびシステム分析装置
CN115037790A (zh) 异常注册识别方法、装置、设备及存储介质
KR102081492B1 (ko) 사이버 위협 정보에 대한 통합 표현 규격 데이터 생성 방법 및 장치
US11899793B2 (en) Information processing apparatus, control method, and program
KR101886147B1 (ko) 사이버 위협 인텔리전스 데이터 분석 방법 및 그 장치
CN112650649A (zh) 报表监控方法、装置、计算机可读存储介质及电子设备
US20210385235A1 (en) Security analysis assistance apparatus, security analysis assistance method, and computer-readable recording medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22955039

Country of ref document: EP

Kind code of ref document: A1