WO2017126434A1 - 秘匿決定木計算システム、装置、方法及びプログラム - Google Patents

秘匿決定木計算システム、装置、方法及びプログラム Download PDF

Info

Publication number
WO2017126434A1
WO2017126434A1 PCT/JP2017/001043 JP2017001043W WO2017126434A1 WO 2017126434 A1 WO2017126434 A1 WO 2017126434A1 JP 2017001043 W JP2017001043 W JP 2017001043W WO 2017126434 A1 WO2017126434 A1 WO 2017126434A1
Authority
WO
WIPO (PCT)
Prior art keywords
decision tree
shares
data
server device
secret
Prior art date
Application number
PCT/JP2017/001043
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 EP17741313.5A priority Critical patent/EP3407334A4/en
Priority to US16/067,237 priority patent/US10992462B2/en
Priority to JP2017562544A priority patent/JP6799012B2/ja
Priority to CN201780005990.XA priority patent/CN108475483B/zh
Publication of WO2017126434A1 publication Critical patent/WO2017126434A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • 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

  • This invention relates to a technique for returning a calculation result based on concealed data while keeping the data concealed.
  • a decision tree is a tree that is determined by a large number of nodes and edges.
  • the nodes are nodes in the hierarchy 0 called root nodes and leaf nodes. There are nodes that have no nodes below, and intermediate nodes that are other nodes. It is assumed that a conditional expression that determines whether to move to the left or right in the next hierarchy is determined for a node other than a leaf node, and a recommended value is determined for the leaf node.
  • server device S has a decision tree generated from the knowledge obtained through its own service so far .
  • the data of the user device U is known to the server device S
  • the decision tree of the server device S may be transferred to the user device U and the knowledge on the server device S side may be leaked. It was.
  • An object of the present invention is to provide a secret decision tree calculation system, device, method, and program for returning a calculated value to a user while keeping the user device data and the server device decision tree secret from each other.
  • n is a predetermined positive integer
  • k is a predetermined integer less than or equal to n
  • the user device receives the received n shares [out] 0 ,.
  • a value out corresponding to data D in a predetermined decision tree is restored using at least k of n ⁇ 1 .
  • the secret decision tree calculation device is the 0th server device to the (n-1) th server device of the secret decision tree calculation system.
  • the calculated value can be returned to the user device while keeping the user device data and the server device decision tree secret.
  • the block diagram for demonstrating the example of a secrecy decision tree calculation apparatus The flowchart for demonstrating the example of a secret decision tree calculation method. The figure which shows the example of a basic decision tree calculation protocol.
  • x ⁇ B indicates that if B is a set, it selects an element uniformly from B and assigns it to x. If B is an algorithm, it indicates that B's output is assigned to x. If B is a probability density function, For instance, it means sampling instance x according to its probability density function.
  • a predicate is a function whose output is ⁇ 0,1 ⁇ , and a predicate a> ? B is a predicate that returns 1 if a> b holds and 0 otherwise.
  • a decision tree is defined as a set of (h, M, m, R, L, ⁇ G i ⁇ i ⁇ mM , ⁇ out i ⁇ mM ⁇ i ⁇ m ).
  • h is the (deepest) height
  • M is the number of leaf nodes
  • m is the total number of nodes. Assume that each node is assigned a number from 0 to m-1, and each leaf node is assigned a number from mM to m-1.
  • R, L: Z m ⁇ Z m is a function that outputs the right and left nodes of the input node.
  • R (i) is a child node on the right side of node i
  • L (i) is a child node on the left side of node i
  • G i is a predicate corresponding to node i.
  • the predicates for each node are only comparison and integration judgment.
  • G i is in the form ⁇ ? B, and has a conditional expression ⁇ ? And a condition value b.
  • G ⁇ Comparison is written when the conditional expression of G is ⁇ ? ,> ?, ⁇ ?, ⁇ ?
  • Path (i) is an algorithm that takes leaf node i as input and outputs a set of all nodes that pass through to reach leaf node i from root node 0, and LR (i, j) Assume that a node j ⁇ path (i) is an input, and an algorithm that outputs right / left when a node one layer below j is right / left of j.
  • the multiplication protocol Mult is a protocol for generating a share [ab] i of the multiplication results in each server apparatus S i by using the secret-distributed values [a] i and [b] i of each server apparatus S i as input.
  • the protocol described in Reference 1 can be used as the multiplication protocol Mult.
  • the comparison protocol CompPub the public value, and a value [a] i that is secret sharing of the server device S i, as input predicates G ⁇ Comparison, predicate result to each server device S i share [G (a) ] is a protocol that generates i .
  • the protocol described in Reference 2 can be used as the comparison protocol CompPub.
  • comparison protocol CompPub may be realized by configuring an AND, OR, NOT circuit, etc. using the multiplication protocol and homomorphism.
  • the equality determination protocol EqPub the public value, and secret sharing value [a] i of each server device S i, as an input a predicate G ⁇ Equality, each server device S i to predicate results share [G ( a)] A protocol that generates i .
  • the protocol described in Reference 2 can be used.
  • the equality determination protocol EqPub may be realized by configuring an AND, OR, NOT circuit or the like using the multiplication protocol and homomorphism.
  • the secret decision tree calculation system includes, for example, a user apparatus U and a server apparatus group that is a secret decision tree calculation apparatus.
  • This server device group includes, for example, the 0th server device S 0 to the (n ⁇ 1) th server device S n ⁇ 1 .
  • the “server device S i ” in the above-described matter that is the basis of the present invention corresponds to the “i-th server device S i ”.
  • the “i-th server device S i ” may be abbreviated as “server device S i ”.
  • the decision tree is calculated while the data of the user apparatus U is kept secret, and the calculation result is returned to the user apparatus U.
  • Each device of the secret decision tree calculation system performs the process of each step in FIG. 2 to realize the secret decision tree calculation method.
  • the general flow in this embodiment is as follows.
  • Step S1 The user equipment U is secret sharing their data to the server device S i.
  • Step S2 Each server device Si performs secret cooperative calculation of the share of the value (for example, recommended value) corresponding to the data using the secret-distributed value and its own decision tree.
  • Step S3 the server S i is a value corresponding to the data to the user device U (e.g., recommended value) sends a share of the user device U to obtain a value corresponding to the restore share data.
  • the server S i is a value corresponding to the data to the user device U (e.g., recommended value) sends a share of the user device U to obtain a value corresponding to the restore share data.
  • the data of the user device U is only D, but a plurality of data of the user device U can be similarly configured. That is, a plurality of data may be secretly shared, and appropriate data may be referred to appropriately at each node.
  • FIG. 1 An example of a basic decision tree calculation protocol for realizing the processing of each step is shown in FIG. 1
  • n is a predetermined positive integer.
  • step S1 corresponds to “1:” of the basic decision tree calculation protocol of FIG.
  • N shares [out] 0 ,..., [Out] n ⁇ 1 corresponding to the value out are obtained by secret cooperative calculation and transmitted to the user apparatus U (step S2).
  • step S2 corresponds to the basic decision tree calculation protocol “2:” to “15:” in FIG.
  • the 0th server device S 0 to the (n ⁇ 1) th server device S n ⁇ 1 are configured such that, for each leaf node i of a predetermined decision tree, data D is transmitted from the root node of the predetermined decision tree to each leaf node thereof. 1 if the condition of each node up to i is satisfied, and 0 if the data D does not satisfy at least one condition of each node from the root node of the predetermined decision tree to each leaf node i.
  • the 0th server device S 0 to the (n ⁇ 1) th server device S n-1 perform secret cooperative calculation of the product sum of the value corresponding to each leaf node i of the predetermined decision tree and the flag i, and the calculation result Are n shares [out] 0 ,..., [Out] n ⁇ 1 of the value out corresponding to the data D in the predetermined decision tree.
  • This processing corresponds to “15:” of the basic decision tree calculation protocol of FIG.
  • User apparatus U corresponds to data D in a predetermined decision tree using at least k of the received n shares [out] 0 ,..., [Out] n ⁇ 1 based on a predetermined algorithm Rec.
  • the value out to be restored is restored (step S3).
  • k is a predetermined integer of n or less.
  • step S3 corresponds to “16:” of the basic decision tree calculation protocol of FIG.
  • step S1 to step S3 it is possible to return a recommendation result while concealing the data of the user device and the decision tree of the server device, thereby preventing leakage of unnecessary personal information. .
  • a flag that is “1 if user device data reaches this leaf node, 0 if not,” and flag and recommendation The final value share is generated by taking the product sum with the result.
  • the processing on the server device side does not change no matter which path of the decision tree personal information passes, and the data on the user device does not leak to the server device side.
  • each process in the secret decision tree calculation device is realized by a computer
  • the processing contents of the functions that the secret decision tree calculation device should have are described by a program. Then, by executing this program on a computer, each process is realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • each processing means may be configured by executing a predetermined program on a computer, or at least a part of these processing contents may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

秘匿決定木計算システムは、nを所定の正の整数として、データDをn個のシェア[D]j(j=0,…,n-1)に秘密分散し、n個のシェア[D]j(j=0,…,n-1)をそれぞれ第0サーバ装置から第n-1サーバ装置に送信するユーザ装置と、n個のシェア[D]j(j=0,…,n-1)を用いて所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1を秘密協調計算することにより得てユーザ装置に送信する第0サーバ装置から第n-1サーバ装置と、を含み、kをn以下の所定の整数として、ユーザ装置は、受信したn個のシェア[out]0,…,[out]n-1の中の少なくともk個を用いて所定の決定木におけるデータDに対応する値outを復元する。

Description

秘匿決定木計算システム、装置、方法及びプログラム
 この発明は、データを秘匿したまま、秘匿されたデータに基づいた計算結果を返答する技術に関する。
 近年、多数の購買履歴から知見を得て、ある個人が商品Aを買ったならば商品Bを推薦するといったデータマイニングや推定が行われている。そのような推定の一手法として、決定木を用いた方法がある。決定木として二分木を例に挙げて説明すると、決定木とは多数のノードと辺で決定される木であり、ノードには、根ノードと呼ばれる階層0のノード、葉ノードと呼ばれる、それよりも下にノードが無いようなノード、およびこれら以外のノードである中間ノードがある。葉ノード以外のノードには次の階層で左右どちらに遷移するかを定める条件式が定められており、葉ノードには推薦値が定められているものとする。
 決定木を用いてあるデータに対する推薦値を得るには、木の根ノードから順に、データが条件式を満足するか確認し、満足すれば右に、さもなければ左に遷移する処理を繰り返す。最終的にたどり着いた葉に対応する推薦値が、そのあるデータに対する推薦値となる。
 企業が何かしらの分析のために決定木を作成した場合、その決定木は企業の知見であるため、一般に公開することは難しい。
 ところで、近年パーソナルデータや医療データ等、個人に関するデータを利活用する動きが広まっている。これらのデータは機微性が高く、データを秘匿したまま処理を行うことが望ましい。
 ユーザ装置Uとサーバ装置Sの2 者がおり、ユーザ装置Uは自身のデータを持っており、サーバ装置Sは今までの自社サービスで得た知見等から生成した決定木を持っているとする。
 このようなとき、ユーザ装置Uのデータを入力として、サーバ装置Sの持つ決定木を用いて、推定結果を得ることを考える。
 これまで、決定木の計算には、決定木とデータの入力の両方が必要なため、ユーザ装置Sが自身のデータをサーバ装置Sに渡すこと又はサーバ装置Sの決定木をユーザ装置Uに渡すことのどちらかが必要であった。
 しかしながら、前者ではユーザ装置Uのデータがサーバ装置Sに知られてしまうし、後者ではサーバ装置Sの持つ決定木がユーザ装置Uに渡りサーバ装置S側の知見が漏えいしてしまう可能性があった。
 この発明の目的は、ユーザ装置のデータ及びサーバ装置の決定木を互いに秘匿したまま計算値をユーザに返答する秘匿決定木計算システム、装置、方法及びプログラムを提供することである。
 この発明の一態様による秘匿決定木計算システムは、nを所定の正の整数として、データDをn個のシェア[D]j(j=0,…,n-1)に秘密分散し、n個のシェア[D]j(j=0,…,n-1)をそれぞれ第0サーバ装置から第n-1サーバ装置に送信するユーザ装置と、n個のシェア[D]j(j=0,…,n-1)を用いて所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1を秘密協調計算することにより得てユーザ装置に送信する第0サーバ装置から第n-1サーバ装置と、を含み、kをn以下の所定の整数として、ユーザ装置は、受信したn個のシェア[out]0,…,[out]n-1の中の少なくともk個を用いて所定の決定木におけるデータDに対応する値outを復元する。
 この発明の一態様による秘匿決定木計算装置は、秘匿決定木計算システムの第0サーバ装置から第n-1サーバ装置である。
 ユーザ装置のデータ及びサーバ装置の決定木を互いに秘匿したまま計算値をユーザ装置に返答することができる。
秘匿決定木計算装置の例を説明するためのブロック図。 秘匿決定木計算方法の例を説明するための流れ図。 基本的な決定木計算プロトコルの例を示す図。
 まず、この発明の基礎となる事柄について説明する。
 [記法]
 x←Bは、Bが集合ならばBから一様ランダムに要素を選びxに代入することを指し、BがアルゴリズムならばBの出力をxに代入することを指し、Bが確率密度関数ならばその確率密度関数に従ったインスタンスxをサンプリングすることを指す。
 述語とは出力が{0,1}であるような関数であり、述語a>?bとはa>bが成り立つならば1を、そうでなければ0を返すような述語である。
 [決定木]
 決定木を(h,M,m,R,L,{Gi}i<m-M,{outi}m-M≦i<m)の組と定義する。hは(最も深い)高さ、Mは葉ノードの数、mは全ノード数である。各ノードには0からm-1まで番号が割り振られ、葉ノードにはm-Mからm-1までの番号が割り振られているとする。R,L:Zm→Zmは入力ノードの右、左ノードを出力する関数である。すなわち、R(i)はノードiの右側の子ノードであり、L(i)はノードiの左側の子ノードである。Giはノードiに対応する述語である。各ノードの述語は比較と統合判定のみとする。例えばGiは<?bのような形式であり、条件式<?と条件値bを持つ。記法の簡単にするため、Gの条件式が<?,>?,≦?,≧?のときG∈Comparison、Gの条件式が=?のときG∈Equalityと書く。outiは葉ノードiに対応する値(例えば、推薦値)である。
 また、path(i)は葉ノードiを入力とし、根ノード0から葉ノードiに到達するために通る全ノードの集合を出力するアルゴリズムとし、LR(i,j)は葉ノードiと途中のノードj∈path(i)を入力とし、jの1階層下のノードが、jの右/左の時にright/leftを出力するアルゴリズムとする。
 [秘密分散]
 秘密分散とは、ある決められた数(k,n)があるとして、以下の2つのアルゴリズムShare,Recの組である。
 Share:秘密aを入力とし、シェア[a]0,…,[a]n-1を出力する。
 Rec:シェア[a]i_0,…,[a]i_K-1を入力とし、秘密sを出力する。ここで、K≧kであり、jを整数として、i_jはijを意味するとする。
 また、準同型性としてb(-)[a]i=[b-a]iとなる演算(-)、[a]i(+)[b]i=[a+b]iとなる演算(+)、b(×)[a]i=[ab]iとなる演算(×)が存在するものとする。これらの演算(-)(+)(×)は既知の手法により実現することができる。
 [乗算プロトコル]
 乗算プロトコルMultとは、各サーバ装置Siの秘密分散された値[a]i,[b]iを入力として、各サーバ装置Siに乗算結果のシェア[ab]iを生成するプロトコルである。乗算プロトコルMultとして、例えば参考文献1に記載されたプロトコルを用いることができる。
 〔参考文献1〕Ivan Damgard and Jesper Buus Nielsen, "Scalable and unconditionally secure multiparty computation", In CRYPTO, pp.572-590, 2007.
 [公開値との比較,等号判定プロトコル]
 公開値との比較プロトコルCompPubとは、各サーバ装置Siの秘密分散された値[a]iと、述語G∈Comparisonを入力として、各サーバ装置Siに述語結果のシェア[G(a)]iを生成するプロトコルである。比較プロトコルCompPubとして、例えば参考文献2に記載されたプロトコルを用いることができる。
 〔参考文献2〕Ivan Damgard, Matthias Fitzi, Eike Kiltz, Jesper Buus Nielsen and Tomas Toft, "Unconditionally secure constant-rounds multi-party computation for equality, comparison, bits and exponentiation", In TCC, pp.285-304, 2006.
 また、乗算プロトコルと準同型性を利用してAND、OR、NOT回路等を構成することにより、比較プロトコルCompPubを実現してもよい。
 公開値との等号判定プロトコルEqPubとは、各サーバ装置Siの秘密分散された値[a]iと、述語G∈Equalityを入力として、各サーバ装置Siに述語結果のシェア[G(a)]iを生成するプロトコルである。例えば参考文献2に記載されたプロトコルを用いることができる。また、乗算プロトコルと準同型性を利用してAND、OR、NOT回路等を構成することにより、等号判定プロトコルEqPubを実現してもよい。
 [実施形態]
 以下、図面を参照して秘匿決定木計算システム、装置及び方法の一実施形態について説明する。
 秘匿決定木計算システムは、図1に示すように、ユーザ装置Uと秘匿決定木計算装置であるサーバ装置群を例えば備えている。このサーバ装置群は、第0サーバ装置S0から第n-1サーバ装置Sn-1から例えば構成されている。i=0,…,n-1として、上記説明したこの発明の基礎となる事柄における「サーバ装置Si」は、「第iサーバ装置Si」に対応している。以下の説明においても、「第iサーバ装置Si」のことを「サーバ装置Si」と略記することがある。
 この実施形態では、ユーザ装置Uのデータを秘匿したまま決定木が計算され、その計算結果がユーザ装置Uに返答される。
 秘匿決定木計算システムの各装置が、図2の各ステップの処理を行うことにより、秘匿決定木計算方法が実現される。この実施形態における大まかな流れは以下の通りである。
 ステップS1: ユーザ装置Uが自身のデータを各サーバ装置Siに秘密分散する。
 ステップS2:各サーバ装置Siは秘密分散された値と自身の決定木を用いてデータに対応する値(例えば、推薦値)のシェアを秘密協調計算する。
 ステップS3:各サーバ装置Siはユーザ装置Uにデータに対応する値(例えば、推薦値)のシェアを送り、ユーザ装置Uはシェアを復元しデータに対応する値を得る。
 簡単のためユーザ装置UのデータはDのみとしたが、ユーザ装置Uのデータが複数あるも同様に構成可能である。すなわち、複数のデータをそれぞれ秘密分散し、各ノードで適宜適切なデータを参照してもよい。
 以下、各ステップの処理について説明する。また、各ステップの処理を実現するための基本的な決定木計算プロトコルの例を図3に示す。
 <ステップS1>
 ユーザ装置は、所定のアルゴリズムShareに基づいて、データDをn個のシェア[D]j(j=0,…,n-1)に秘密分散し、上記n個のシェア[D]j(j=0,…,n-1)をそれぞれ第0サーバ装置から第n-1サーバ装置に送信する(ステップS1)。nは所定の正の整数である。
 ステップS1の処理は、図3の基本的な決定木計算プロトコルの「1:」に対応している。
 <ステップS2>
 第0サーバ装置S0から第n-1サーバ装置Sn-1は、受信したn個のシェア[D]j(j=0,…,n-1)を用いて所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1を秘密協調計算することにより得てユーザ装置Uに送信する(ステップS2)。
 ステップS2の処理は、図3の基本的な決定木計算プロトコルの「2:」から「15:」に対応している。
 具体的には、第0サーバ装置S0から第n-1サーバ装置Sn-1は、所定の決定木の各葉ノードiに対して、データDが所定の決定木の根ノードからその各葉ノードiに至るまでの各ノードの条件を満たす場合には1となり、データDが所定の決定木の根ノードからその各葉ノードiに至るまでの各ノードの少なくとも1個の条件を満たさない場合には0となるその各葉ノードiに対応するflagiをn個のシェア[D]j(j=0,…,n-1)を用いて秘密協調計算する。この処理は、図3の基本的な決定木計算プロトコルの「2:」から「14:」に対応している。
 そして、第0サーバ装置S0から第n-1サーバ装置Sn-1は、所定の決定木の各葉ノードiに対応する値とflagiとの積和を秘密協調計算し、その計算結果を上記所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1とする。この処理は、図3の基本的な決定木計算プロトコルの「15:」に対応している。
 <ステップS3>
 ユーザ装置Uは、所定のアルゴリズムRecに基づいて、受信したn個のシェア[out]0,…,[out]n-1の中の少なくともk個を用いて所定の決定木におけるデータDに対応する値outを復元する(ステップS3)。kは、n以下の所定の整数である。
 ステップS3の処理は、図3の基本的な決定木計算プロトコルの「16:」に対応している。
 上記のステップS1からステップS3の処理により、例えば、ユーザ装置のデータとサーバ装置の決定木を秘匿しつつリコメンド結果を返すことができ、不必要な個人に関する情報が漏洩するのを防ぐことができる。
 通常の決定木の計算の各ステップを秘密計算に置き換えただけでは、「決定木のどのパスを通ったのか」という情報がサーバにわかり、ひいては個人のデータの部分情報がサーバにわかってしまう可能性がある。
 これに対して、上記の実施形態では、全ての葉ノードに対して、「ユーザ装置のデータがこの葉ノードに到達するならば1、しなければ0」となるflagを計算し、flagと推薦結果との積和を取ることにより,最終的な値のシェアを生成している。この方法は、個人の情報が決定木のどのパスを通ったとしてもサーバ装置側の処理が変化せず、サーバ装置側にユーザ装置のデータの情報が漏れない。
 [プログラム及び記録媒体]
 秘匿決定木計算システム、装置及び方法において説明した処理は、記載の順にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 また、秘匿決定木計算装置における各処理をコンピュータによって実現する場合、秘匿決定木計算装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各処理がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 [変形例]
 その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。

Claims (5)

  1.  nを所定の正の整数として、データDをn個のシェア[D]j(j=0,…,n-1)に秘密分散し、上記n個のシェア[D]j(j=0,…,n-1)をそれぞれ第0サーバ装置から第n-1サーバ装置に送信するユーザ装置と、
     上記n個のシェア[D]j(j=0,…,n-1)を用いて所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1を秘密協調計算することにより得て上記ユーザ装置に送信する上記第0サーバ装置から第n-1サーバ装置と、を含み、
     kをn以下の所定の整数として、上記ユーザ装置は、受信したn個のシェア[out]0,…,[out]n-1の中の少なくともk個を用いて上記所定の決定木におけるデータDに対応する値outを復元する、
     秘匿決定木計算システム。
  2.  請求項1の秘匿決定木計算システムにおいて、
     上記第0サーバ装置から第n-1サーバ装置は、上記所定の決定木の各葉ノードiに対して、上記データDが上記所定の決定木の根ノードからその各葉ノードiに至るまでの各ノードの条件を満たす場合には1となり、上記データDが上記所定の決定木の根ノードからその各葉ノードiに至るまでの各ノードの少なくとも1個の条件を満たさない場合には0となるその各葉ノードiに対応するflagiを上記n個のシェア[D]j(j=0,…,n-1)を用いて秘密協調計算し、上記所定の決定木の各葉ノードiに対応する値とflagiとの積和を秘密協調計算し、その計算結果を上記所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1とする、
     秘匿決定木計算システム。
  3.  請求項1の秘匿決定木計算システムの上記第0サーバ装置から第n-1サーバ装置である秘匿決定木計算装置。
  4.  ユーザ装置が、nを所定の正の整数として、データDをn個のシェア[D]j(j=0,…,n-1)に秘密分散し、上記n個のシェア[D]j(j=0,…,n-1)をそれぞれ第0サーバ装置から第n-1サーバ装置に送信するステップと、
     上記第0サーバ装置から第n-1サーバ装置が、上記n個のシェア[D]j(j=0,…,n-1)を用いて所定の決定木におけるデータDに対応する値outのn個のシェア[out]0,…,[out]n-1を秘密協調計算することにより得て上記ユーザ装置に送信するステップと、
     ユーザ装置が、kをn以下の所定の整数として、受信したn個のシェア[out]0,…,[out]n-1の中の少なくともk個を用いて上記所定の決定木におけるデータDに対応する値outを復元するステップと、
     を含む秘匿決定木計算方法。
  5.  請求項3の秘匿決定木計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2017/001043 2016-01-18 2017-01-13 秘匿決定木計算システム、装置、方法及びプログラム WO2017126434A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP17741313.5A EP3407334A4 (en) 2016-01-18 2017-01-13 CONFIDENTIAL DECISION TREE CALCULATION SYSTEM, DEVICE, PROCESS AND PROGRAM
US16/067,237 US10992462B2 (en) 2016-01-18 2017-01-13 Concealed-decision-tree computation system, apparatus, method, and program
JP2017562544A JP6799012B2 (ja) 2016-01-18 2017-01-13 秘匿決定木計算システム、装置、方法及びプログラム
CN201780005990.XA CN108475483B (zh) 2016-01-18 2017-01-13 隐匿决定树计算系统、装置、方法以及记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016007174 2016-01-18
JP2016-007174 2016-01-18

Publications (1)

Publication Number Publication Date
WO2017126434A1 true WO2017126434A1 (ja) 2017-07-27

Family

ID=59362247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/001043 WO2017126434A1 (ja) 2016-01-18 2017-01-13 秘匿決定木計算システム、装置、方法及びプログラム

Country Status (5)

Country Link
US (1) US10992462B2 (ja)
EP (1) EP3407334A4 (ja)
JP (1) JP6799012B2 (ja)
CN (1) CN108475483B (ja)
WO (1) WO2017126434A1 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0404419D0 (en) * 2004-02-27 2004-03-31 Intelligent Textiles Ltd Electrical components and circuits constructed as textiles
JP2007135170A (ja) * 2005-10-12 2007-05-31 Hitachi Ltd 電子データ送受信方法
JP2007300157A (ja) * 2006-04-27 2007-11-15 Toshiba Corp 秘密分散システム、装置及びプログラム
ATE463016T1 (de) * 2006-06-13 2010-04-15 Ibm Verfahren, system und rechnerprogramm zum sicheren speichern von daten
EP2482218A3 (en) * 2006-12-05 2012-10-31 Security First Corporation Improved storage backup method using a secure data parser
US8964988B2 (en) * 2010-07-23 2015-02-24 Nippon Telegraph And Telephone Corporation Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, secret sharing method, program and recording medium
US8429421B2 (en) * 2010-12-17 2013-04-23 Microsoft Corporation Server-side encrypted pattern matching
JP4860779B1 (ja) * 2011-07-08 2012-01-25 株式会社野村総合研究所 データ分散保管システム
JP5821040B2 (ja) * 2012-03-27 2015-11-24 株式会社日立ソリューションズ データ管理装置、データ分割装置およびデータ復元装置
FR3021777B1 (fr) * 2014-06-03 2018-08-17 Morpho Stockage distribue securise par calcul multipartite
US9787647B2 (en) * 2014-12-02 2017-10-10 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BARNI M., ET AL.: "Privacy-Preserving ECG Classification With Branching Programs and Neural Networks", IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, vol. 6, no. 2, June 2011 (2011-06-01), pages 452 - 468, XP011322756 *
BOST R.,ET AL.: "Machine Learning Classification over Encrypted Data", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH (IACR), 12 January 2015 (2015-01-12), pages 1 - 34, XP061017629, [retrieved on 20170130] *
RYO KIKUCHI ET AL.: "Kaizan Kenchi Kino Tsuki no Jitsuyoteki na Himitsu Keisan System MEVAL2", 2015 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2015), 20 January 2015 (2015-01-20), pages 1 - 8, XP009508709 *
SAMET SAEED, ET AL.: "Privacy Preserving ID3 using Gini Index over Horizontally Partitioned Data", PROCEEDINGS OF THE 6TH IEEE /ACS INTERNATIONAL CONFERENCE ON COMPUTER SYSTEMS AND APPLICATIONS (AICCSA 2008), 22 April 2008 (2008-04-22), pages 645 - 651, XP031245007 *
See also references of EP3407334A4 *

Also Published As

Publication number Publication date
EP3407334A1 (en) 2018-11-28
US10992462B2 (en) 2021-04-27
JP6799012B2 (ja) 2020-12-09
CN108475483B (zh) 2021-07-13
JPWO2017126434A1 (ja) 2018-10-11
US20190013935A1 (en) 2019-01-10
EP3407334A4 (en) 2019-07-31
CN108475483A (zh) 2018-08-31

Similar Documents

Publication Publication Date Title
EP3506550B1 (en) Providing security against user collusion in data analytics using random group selection
Xie et al. Crypto-nets: Neural networks over encrypted data
Liu et al. Towards practical privacy-preserving decision tree training and evaluation in the cloud
US20160020904A1 (en) Method and system for privacy-preserving recommendation based on matrix factorization and ridge regression
KR20160041028A (ko) 프라이버시 보호 행렬 분해를 위한 방법 및 시스템
Niu et al. Toward verifiable and privacy preserving machine learning prediction
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
Teo et al. DAG: a general model for privacy-preserving data mining
Zhao et al. CORK: A privacy-preserving and lossless federated learning scheme for deep neural network
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
Seshadreesan et al. Bounds on entanglement distillation and secret key agreement for quantum broadcast channels
Block et al. Secure computation with constant communication overhead using multiplication embeddings
Zhang et al. PPNNP: A privacy-preserving neural network prediction with separated data providers using multi-client inner-product encryption
Loukopoulos et al. Secure multiparty computation with a dishonest majority via quantum means
Jung et al. PDA: semantically secure time-series data analytics with dynamic user groups
Yarter et al. Implementation and analysis of quantum homomorphic encryption
Sharma et al. Big data protection via neural and quantum cryptography
Liu et al. Secure and fast decision tree evaluation on outsourced cloud data
Chaudhury et al. AC 0 Constructions of Secret Sharing Schemes–Accommodating New Parties
WO2017126434A1 (ja) 秘匿決定木計算システム、装置、方法及びプログラム
JP6474741B2 (ja) 秘匿決定木計算システム、装置、方法及びプログラム
CN114358323A (zh) 联邦学习环境中基于第三方高效皮尔森系数计算方法
Gladkov et al. SNS-Based Secret Sharing Scheme for Security of Smart City Communication Systems
Shah et al. Secure featurization and applications to secure phishing detection
Bozdemir et al. PRIDA: PRIvacy-preserving Data Aggregation with multiple data customers

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: 17741313

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017562544

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017741313

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017741313

Country of ref document: EP

Effective date: 20180820