JP7274155B2 - 計算システム及び計算方法 - Google Patents

計算システム及び計算方法 Download PDF

Info

Publication number
JP7274155B2
JP7274155B2 JP2021548064A JP2021548064A JP7274155B2 JP 7274155 B2 JP7274155 B2 JP 7274155B2 JP 2021548064 A JP2021548064 A JP 2021548064A JP 2021548064 A JP2021548064 A JP 2021548064A JP 7274155 B2 JP7274155 B2 JP 7274155B2
Authority
JP
Japan
Prior art keywords
row
random
bit
exclusive
distributed information
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.)
Active
Application number
JP2021548064A
Other languages
English (en)
Other versions
JPWO2021059417A1 (ja
Inventor
俊則 荒木
一真 大原
光 土田
潤 古川
ベンヤミン ピンカス
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021059417A1 publication Critical patent/JPWO2021059417A1/ja
Application granted granted Critical
Publication of JP7274155B2 publication Critical patent/JP7274155B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本開示は、計算システム及び計算方法に関する。
秘密計算法は、関連する主体に対して計算過程と結果を秘匿することができる技術である。データをクラウドのような第3者が管理する複数サーバに分散して保管することによって、データに対してあらゆる演算を実行することができる。秘密計算法を実行した場合、第3者には、データ、計算過程、及び計算結果を知られることがない。そのため、秘密計算法は、個人情報のような機微な情報に対する分析処理をアウトソースするために用いられる。
非特許文献1に記載の秘密計算法では、2-out-of 3複製型秘密分散法と呼ばれる方法を用いて分散された秘密情報について秘密計算を実行する方法が示されている。
2-out-of 3複製型秘密分散法は、秘密情報から3つの分散情報を生成する。2-out-of 3複製型秘密分散法は、3つの分散情報のうち、どの2つからでも秘密情報を復元できるが、1つからは秘密情報を一切復元できない方法である。
具体的には、nビットの秘密情報sを分散する場合、s=(s_1+s_2+s_3)mod 2mを満たすs_1,s_2,s_3を生成し、(s_1,s_2),(s_2,s_3),(s_3,s_1)を分散情報とする。2mは、2のm乗を示している。非特許文献1においては、このように分散された秘密情報に関する計算を、秘密情報を一切復元することなく実行可能な方法が示されている。非特許文献1においては、加減乗算が揃っており、任意の計算が実行可能である。加減算は各サーバが通信することなく実行可能であり、乗算は各サーバがmビットのデータを送受信することで実行可能である。m=1の場合、加算は排他的論理和演算となり、乗算は論理積演算となり、任意の論理演算が実行可能となる。
非特許文献1に記載の秘密計算法を用いた場合、1台のサーバが秘密計算の過程で送受信するデータからは入力、計算途中の値、出力が一切分からない。しかし、これはすべてのサーバが秘密計算法の手順に従っている場合に限られており、サーバが手順に従っているかどうかを判定する手段がない。
非特許文献2には、2-out-of 3複製型秘密分散法に関する秘密計算法であって、サーバが手順に従っていないこと(以降、不正と呼ぶ)を検知可能な方法が記載されている。この方法は、非特許文献1に記載の秘密計算法をベースに不正検知機能を付与しているが、乗算に関する通信量が7倍となっている。加減算に関して通信が発生しない点は、非特許文献1と変わらない。非特許文献2における不正検知の成功確率は、1-1/240となっており、mの値によらない。240は、2の40乗を示している。
非特許文献1及び非特許文献2には、加減乗算及び論理演算に関する秘密計算の方法が記載されている。これらによって任意の計算を実行することができるが、効率的とは限らない。例えば、効率的に計算を実行できない例として、表にまとめられたデータをシャッフルする処理などが挙げられる。
非特許文献3には、2-out-of 3複製型秘密分散法に関するシャッフルの秘密計算処理が記載されている。非特許文献3に記載されているプロトコルによれば、n個のmビットデータからなる表のシャッフルを、2n*mのデータの送受信を3ラウンド実行することで行える。この処理量は、テーブルのシャッフル処理を論理回路的に実現する場合に比べて非常に効率が良い。このシャッフルの秘密計算について、非特許文献3には、秘密情報sがsよりも大きな素数pを用いてs= (s_1+s_2+s_3) mod pを満たすs_1,s_2,s_3を用いて(s_1,s_2),(s_2,s_3),(s_3,s_1)を3台のサーバに配布する方法をベースに書かれている。ここで、pの代わりに2のm乗を用いても問題ない。
Toshinori Araki、 Jun Furukawa、 Yehuda Lindell、 Ariel Nof、 Kazuma Ohara、 "High-Throughput Semi-Honest Secure Three-Party Computation with an Honest Majority" Toshinori Araki、 Assi Barak、 Jun Furukawa、 Tamar Lichter、 Yehuda Lindell、 Ariel Nof、 Kazuma Ohara、 Adi Watzman、 Or Weinstein、 "Optimized Honest-Majority MPC for Malicious Adversaries - Breaking the 1 Billion-Gate Per Second Barrier" IEEE Symposium on Security and Privacy 2017、 p.843-862 濱田浩気、五十嵐大、千田浩司、高橋克己、「3パーティ秘匿関数計算上のランダム置換プロトコル」 CSS2010
しかし、非特許文献3に記載されているシャッフル秘密計算に関する不正検知方法は、pが素数であることを利用しているため、非特許文献1の方法には適用できない。p=2の場合には2つの方法は全く同一となるが、不正検知の方法の不正検知成功率はおよそ1-1/pであり、不正検知成功率を高くすることができない。
本開示の目的は、高い確率で不正を検知可能なシャッフルの秘密計算を可能とするため、2つの表の分散情報について、集合として同一の要素が分散されたものかどうかを判定することができる計算システム及び計算方法を提供することにある。
本開示の第1の態様にかかる計算システムは、秘密分散されたテーブルの分散値を保管するテーブル分散情報保管装置と、テーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成するランダム分散ビット生成手段と、テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、シャッフルの秘密計算処理を実行する秘密計算シャッフル手段と、テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成するランダムビット共有手段と、i=1,…,Kについて、シャッフル処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、シャッフル処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定する不正検出手段と、を備える不正検知機能付き秘密計算シャッフル装置と、を備える。
本開示の第2の態様にかかる計算方法は、テーブル分散情報補完装置に保管されているテーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成し、テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、シャッフルの秘密計算処理を実行し、テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成し、i=1,…,Kについて、シャッフル処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、シャッフル処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定する。
本開示により、高い確率で不正を検知可能なシャッフルの秘密計算を可能とするため、2つの表の分散情報について、集合として同一の要素が分散されたものかどうかを判定することができる計算システム及び計算方法を提供することができる。
実施の形態1にかかるシャッフル処理前のデータを示す図である。 実施の形態1にかかるシャッフル処理後のデータを示す図である。 実施の形態1にかかる不正検知処理に利用されるデータを示す図である。 実施の形態1にかかる計算システムの構成図である。 実施の形態1にかかる計算システムにおいて実行される処理の流れを示す図である。 実施の形態2にかかる計算システムの構成図である。 実施の形態2にかかる計算システムにおいて実行される処理の流れを示す図である。 それぞれの実施の形態にかかる不正検知機能付き秘密計算シャッフル装置または不正検知機能付き秘密計算ソート装置の構成図である。
(実施の形態1)
本開示が用いる秘密計算法に関する記法を説明する。多くの秘密計算法があるが、本開示は入力データを秘密分散という技術によって複数のデータに変換し、複数のサーバに分散して入力するタイプの秘密計算について説明する。秘密分散によって生成される複数のデータは、分散情報とよばれる。秘密計算法として、全てのサーバに保管されている分散情報を集めることによって元のデータを復元する方法がある。さらに、秘密計算法として、一定数以上のサーバに保管されている分散情報を集めた場合、元のデータを復元できるが、それよりも少ない数の分散情報を集めても元のデータが一切分からない方法などがある。
データaが秘密分散されている状態を[a]と表す。分散された値aとbに関する乗算の秘密計算を[a]*[b]、加算の秘密計算を[a]+[b]、減算の秘密計算を[a]-[b]と表す。
a及びbのうち、片方のデータが分散されていない場合にも秘密計算は実行可能であるため、片方のデータが分散されていない状態の秘密計算を、a*[b]、a+[b]、a-[b]と表す。このようなケースにおいて秘密計算の結果は分散された状態で得られる。例えばa*[b]であれば[a*b]の分散情報が得られる。
加算(a+[b]も含まれる)、減算(a-[b]も含まれる)、定数倍(a*[b]も含まれる)は、各サーバで計算できる。しかし、乗算([a]*[b])は、サーバ間で通信を行う必要があるため、加算や減算に比べて乗算の量や段数は、性能への影響が大きい。
以下、図面を参照して本開示の実施の形態について説明する。本開示において、シャッフルが正しく実行されたということは、シャッフルの前と後の表が集合として一致することとする。二つの表が集合として一致していれば、シャッフル処理前の表の行の順番を入れ替えることによってシャッフル処理後の表にすることができる。
はじめに、図1A及び図1Bを用いて、シャッフル前後におけるデータについて説明する。まず、n個のデータからなり、各データがmビットの表をAとする。表Aのi個目のデータをa_{i}と、a_{i}のjビット目をa_{i,j}とする。表Aは、図1Aに示されている。各ビットは、非特許文献1及び非特許文献2に記載の2-out-of 3複製型秘密分散法を用いて分散されているとする。また、各ビットは、ビットに関する秘密計算が実行でき、不正検知処理が適用でき、非特許文献3に記載のシャッフルの秘密計算が適用できるとする。
次に、表Aの各行の分散情報に対してKビットのランダムビットの分散情報をセキュリティパラメータとして、各a_{i}にK個ずつ連結する。i行目に連結するj番目のランダムビットr_{i}の分散前の値をr_{i,j}とする。分散前の値とは、復元処理を行うと、その値が復元されることを意味している。
ランダムビットの分散情報の生成方法は、非特許文献1に記載されている疑似乱数生成方法を用いる方法などで効率的に生成できるが、どのサーバも分散されている値を知ることができない方法であれば、どのような方法でも良い。
次に、非特許文献3の方法などによって、表Aに対してシャッフルの秘密計算を適用する。シャッフル適用後の表をBとし、表Bのi個目のデータをb_{i}とし、b_{i}のjビット目をb_{i,j}とする。表Bは、図1Bに示されている。各b_{i}にはKビットのランダムビットs_{i}の分散情報がK個連結されている。b_{i}に連結されているjビット目のランダムビットの分散前の値をs_{i.j}とする。シャッフルには、不正検知機能のない秘密計算法が用いられることに注意する。したがって、b_{i}やs_{i}は、サーバの不正な改ざんによって表Aにおいて対応する値と異なっている可能性がある。これらのデータは、すべてビット単位で分散されているので、改ざんされている場合にはデータとして反転しているとみなすことができる。
次に、サーバ間で協力して、mビットの乱数をK組生成する。i組目の乱数をc_iとし、c_{i}のjビット目をc_{i,j}とする。各c_{i}はそれぞれ不正検知処理に利用される。図1Cには、不正検知処理に利用される各c_{i}が示されている。c_{i,j}は、c_{i}を用いた不正検知処理において、表A及び表Bのj列目を使用することを指定する。K組のc_iの値は、シャッフルの後にランダムに決定されることが重要である。この乱数を生成する方法は、サーバ間で同一の乱数を共有することができればどのような方法でも良い。各サーバがランダムビットを選択して他のサーバに送信し、それらの排他的論理和を乱数とするといった方法が基本的である。これらの乱数は、分散値でも良いが、効率のために復元された値としている。
c_{k}を用いた不正検知は以下の式がk=1,…,Kに対してa_check_k=b_check_kが成立しているかをチェックすることで判定する。
Figure 0007274155000001
Figure 0007274155000002
c_{k,j}は、k組目のチェックにおいて、表のj列目を用いることを指定している。r_{i,k}は、k組目のa_check_kにおいて表のAのi行目を用いることを指定している。s_{i,k}は、k組目のb_check_kにおいて、表Bのi行目を用いることを指定している。
各行に割り振られた乱数はシャッフル処理が正しく実行された場合には対応関係は変わらないため、以上の式が成立する。
一方で改ざんによっていくつかのビットが反転させられている場合、すべての式を成立させることは困難である。これは、k回目のチェックにおいてi行が用いられることを指定するr_{i,k}やs_{i,k}が分散された形でサーバにも不明な方法で共有されることが要因である。さらに、どのj列が用いられるかを指定するc_{k,j}がシャッフルの後に決定されることからチェック式を成立させることが、改ざんがあった場合に全ての式を成立させることが困難となる要因である。
例えば、r_{i,k}及びs_{i,k}の不正検知処理において、c_{k,j}がランダムに選ばれずに、すべてが1であった場合を考える。この場合には、ある行を2か所反転させると反転した結果がもう一度反転し、チェック式が成立する。さらには表全体を偶数回反転させるとチェック式が成立することになる。
r_{i,k}及びs_{i,k}の不正検知処理において、c_{k,j}がランダムに設定されている場合に2か所反転させることを考える。この場合、チェック式のすべてが成立するためには、反転させた2か所がK回すべての不正検知判定において、「両方が用いられない」or「両方が用いられる」を満たさなければならなくなり、成立させることが困難となる。「両方」とは、反転させた2カ所の位置を示している。
なお、r_{i,k},a_{i,j},s_{i,k},及びb_{i,j}は、分散された状態であることに注意されたい。a_check_k及びb_check_kは、それぞれ秘密計算によって計算する。これらがすべて一致しているかどうかは、これらの値を復元することによって実行しても良い。しかし、これらの値がそれぞれの行の列に関する情報を漏らす可能性を考慮し、同等のことを確認可能である(a_check_1 XOR b_check_1 XOR 1)AND(a_check_2 XOR b_check_2 XOR 1)AND …AND (a_check_K XOR b_check_kK XOR 1)だけを復元してもよい。
また、この過程は、非特許文献2に記載されているような不正検知可能な秘密計算法を用いて、計算過程の不正の有無をチェックすることができる。以上の不正検知処理は、すべて基本的な論理演算によって構成されているためである。したがって、以上のチェックの過程に起こる不正は別途検知可能であり、もしもチェック式が成立していなかったとしたら、シャッフル処理過程に不正な処理が行われたことを表している。
以上の説明では、表を表すデータをビット毎に秘密分散可能であり、論理演算に関する不正検知機能を有する秘密計算法であれば、同じ方法を用いることができる。
また、シャッフル処理を例にとって説明を行ったが、ソート処理に応用することも可能である。その場合は、ソート処理後の表の分散情報について大小関係を調べる秘密計算を実行し、所望のソート(昇り順、下り順)が為されているかをチェックする必要がある。この処理は、不正検知機能付きの秘密計算で行う必要がある。
図2は、本開示の第1の実施の形態の構成を示すブロック図である。第1の実施の形態は、集合の一致を判定するプロトコルを用いて、不正検知機能付きの秘密計算シャッフル処理を行う形態である。
図2を参照すると、本開示の第1の実施の形態にかかる計算システムは、テーブルの分散情報を保管するテーブル分散値保管装置100と、不正検知機能付き秘密計算シャッフル装置200とからなる。
テーブル分散値保管装置100は、シャッフル前のテーブルの分散値及びシャッフル後のテーブルの分散値を保管する。
不正検知機能付き秘密計算シャッフル装置200は、シャッフル前テーブル分散値記憶手段201と、シャッフル前ランダム分散ビット列記憶手段202と、ランダム分散ビット列生成手段203と、シャッフル秘密計算手段204と、シャッフル後テーブル分散値記憶手段205と、シャッフル後ランダム分散ビット列記憶手段206と、ランダムビット共有手段207と、不正検知秘密計算手段208とを備える。
不正検知機能付き秘密計算シャッフル装置200は、テーブル分散情報保管装置100からシャッフル前のテーブルの分散情報を読み出して、
テーブル分散情報保管装置100にシャッフル後のテーブルの分散情報を記憶させる。なお、シャッフル前の分散情報を記憶する装置とシャッフル後の分散情報を記憶する装置は同じで装置であっても、異なる装置であっても良い。
シャッフル前テーブル分散情報記憶手段201は、テーブル分散情報保管装置100からシャッフルを行うテーブルの分散情報を読み出す。テーブルの行数はn、各レコードのビット長はmとする。i行目のデータのjビット目の分散情報を[a_{i,j}]とする。
シャッフル前ランダム分散ビット列記憶手段202は、ビット列の分散情報を記憶する。
ランダム分散ビット列生成手段203は、セキュリティパラメータKビットのランダムなビット列の分散情報をシャッフル前テーブル分散情報記憶装置201の記憶するテーブルの行数nに等しい数だけ生成し、シャッフル前ランダム分散ビット列記憶手段202に記憶させる。i個目のデータのjビット目の分散情報を[r_{i,j}]とする。
シャッフル秘密計算手段204は、シャッフル前テーブル分散情報記憶手段201の記憶するn行の分散情報とランダム分散ビット列記憶手段202の記憶するn個の分散情報とを連結されたテーブルの分散情報として、シャッフルの秘密計算を実行する。さらに、シャッフル秘密計算手段204は、
シャッフルの秘密計算結果の分散情報におけるテーブルの分散情報をシャッフル後シャッフル後テーブル分散情報記憶手段205に記憶させ、ランダム分散ビット列の分散情報をシャッフル後ランダム分散ビット列記憶手段206に記憶させる。
シャッフル後テーブル分散情報記憶手段205の記憶するi行目のデータのjビット目の分散情報を[b_{i,j}]とする。
シャッフル後ランダム分散ビット列手段206の記憶するi個目のデータのjビット目の分散情報を[s_{i,j}]とする。
ランダムビット共有手段207は、mビットの乱数をセキュリティパラメータK個と組合わせ、秘密計算を行うサーバ間で共有する。i組目の乱数のjビット目をc_{i,j}とする。
不正検知秘密計算手段208は、k=1、…Kについて、下記の式(1)を満たすことをチェックする。
Figure 0007274155000003
図3は、本開示の第1の実施の形態の動作を表すフローチャートである。
まず、不正検知機能知己秘密計算シャッフル装置200は、テーブル分散情報保管装置100から、シャッフル前のテーブルの分散情報を読み出し、シャッフル前テーブル分散情報記憶手段201に記憶させる。i行目のデータのjビット目の分散情報を[a_{i,j}]とする(ステップA-1)。
次に、ランダム分散ビット列生成手段203は、セキュリティパラメータKビットのランダムなビット列の分散情報をシャッフル前テーブル分散情報記憶手段201の記憶するテーブルの行数nに等しい数だけ生成する。ランダム分散ビット列生成手段203は、生成した分散情報をシャッフル前ランダム分散ビット列記憶手段202に記憶させる。i個目のデータのjビット目の分散情報を[r_{i,j}]とする(ステップA-2)。
次に、シャッフル秘密計算手段204は、シャッフル前テーブル分散情報記憶手段201の記憶する分散情報とシャッフル前ランダム分散ビット列記憶手段202の記憶する分散情報とを連結された値としてシャッフルの秘密計算処理を実行する。シャッフル秘密計算手段204は、シャッフルの秘密計算結果の分散情報におけるテーブルの分散情報をシャッフル後、シャッフル後テーブル分散情報記憶手段205に記憶させ、ランダム分散ビット列の分散情報をシャッフル後ランダム分散ビット列記憶手段206に記憶させる(ステップA-3)。
シャッフル後テーブル分散値記憶手段205の記憶するi行目のデータのjビット目の分散情報を[b_{i,j}]とする。シャッフル後ランダム分散ビット列手段206の記憶するi個目のデータのjビット目の分散情報を[s_{i,j}]とする。
次に、ランダムビット共有手段207は、テーブルの各要素のビット長をmとして、mビットの乱数をセキュリティパラメータK個と組合わせ、秘密計算を行うサーバ間で共有する。i組目の乱数のjビット目をc_{i,j}とする(ステップA-4)。
次に不正検知秘密計算手段208は、k=1,..,Kについて、式(1)を満たすことをチェックする(ステップA-5)。
(第2の実施の形態)
図4は、本開示の第2の実施の形態の構成を示すブロック図である。
第2の実施の形態は、集合の一致を判定するプロトコルを用いて、不正検知機能付きの秘密計算ソート処理を行う形態である。
図4を参照すると、本開示の第2の実施の形態はテーブルの分散情報を保管するテーブル分散値保管装置100と、不正検知機能付き秘密計算ソート装置300とからなる。
テーブル分散値保管装置100は、ソート前のテーブルの分散値及びソート後のテーブルの分散値を保管する。
不正検知機能付き秘密計算ソート装置300は、ソート前テーブル分散値記憶手段301と、ソート前ランダム分散ビット列記憶手段302と、ランダム分散ビット列生成手段303と、ソート秘密計算手段304と、ソート後テーブル分散値記憶手段305と、ソート後ランダム分散ビット列記憶手段306と、ランダムビット共有手段307と、不正検知秘密計算手段308と、ソート確認手段309を備える。
不正検知機能付き秘密計算ソート装置300は、テーブル分散情報保管装置100からソート前のテーブルの分散情報を読み出して、テーブル分散情報保管装置100にソート後のテーブルの分散情報を記憶させる。
なお、ソート前の分散情報を記憶する装置とソート後の分散情報を記憶する装置とは同じで装置であっても、異なる装置であっても良い。
ソート前テーブル分散情報記憶手段301は、テーブル分散情報保管装置100からソートを行うテーブルの分散情報を読み出す。テーブルの行数はn、各レコードのビット長はmとする。i行目のデータのjビット目の分散情報を[a_{i,j}]とする。
ソート前ランダム分散ビット列記憶手段302は、ビット列の分散情報を記憶する。
ランダム分散ビット列生成手段303は、セキュリティパラメータKビットのランダムなビット列の分散情報をソート前テーブル分散情報記憶装置301の記憶するテーブルの行数nに等しい数だけ生成し、ソート前ランダム分散ビット列記憶手段302に記憶させる。i個目のデータのjビット目の分散情報を[r_{i,j}]とする。
ソート秘密計算手段304は、ソート前テーブル分散情報記憶手段301の記憶するn行の分散情報とランダム分散ビット列記憶手段302の記憶するn個の分散情報を連結されたテーブルの分散情報として、ソートの秘密計算を実行する。
ソート秘密計算手段304は、ソートの秘密計算結果の分散情報におけるテーブルの分散情報をシャッフル後、シャッフル後テーブル分散情報記憶手段305に記憶させる。さらに、ソート秘密計算手段304は、ランダム分散ビット列の分散情報をソート後ランダム分散ビット列記憶手段306に記憶させる。
ソート後テーブル分散情報記憶手段305の記憶するi行目のデータのjビット目の分散情報を[b_{i,j}]とする。
ソート後ランダム分散ビット列手段306の記憶するi個目のデータのjビット目の分散情報を[s_{i,j}]とする。
ランダムビット共有手段307は、mビットの乱数をセキュリティパラメータK個と組合わせ、秘密計算を行うサーバ間で共有する。i組目の乱数のjビット目をc_{i,j}とする。
不正検知秘密計算手段308は、k=1、…Kについて、式(1)を満たすことを、秘密計算によってチェックする。
ソート確認手段309は、ソート後テーブル分散情報記憶手段305の記憶するテーブルにおいて、順序関係が、ソートが満たすべき順序になっているかを秘密計算によって確認する。
図5は、本開示の第2の実施の形態の動作を表すフローチャートである。
まず、不正検知機能付き秘密計算ソート装置300は、テーブル分散情報保管装置100から、ソート前のテーブルの分散情報を読み出し、ソート前テーブル分散情報記憶手段301に記憶させる。i行目のデータのjビット目の分散情報を[a_{i,j}]とする(ステップB-1)。
次に、ランダム分散ビット列生成手段303は、セキュリティパラメータKビットのランダムなビット列の分散情報をソート前テーブル分散情報記憶手段301の記憶するテーブルの行数nに等しい数だけ生成する。ランダム分散ビット列生成手段303は、生成した分散情報をソート前ランダム分散ビット列記憶手段302に記憶させる。i個目のデータのjビット目の分散情報を[r_{i,j}]とする(ステップB-2)。
次に、ソート秘密計算手段304は、ソート前テーブル分散情報記憶手段301の記憶する分散情報とソート前ランダム分散ビット列記憶手段302の記憶する分散情報を連結された値としてソートの秘密計算処理を実行する。ソート秘密計算手段304は、ソートの秘密計算結果の分散情報におけるテーブルの分散情報をソート後テーブル分散情報記憶手段305に記憶させ、ランダム分散ビット列の分散情報をソート後ランダム分散ビット列記憶手段306に記憶させる(ステップB-3)。
ソート後テーブル分散値記憶手段205の記憶するi行目のデータのjビット目の分散情報を[b_{i,j}]とする。ソート後ランダム分散ビット列手段206の記憶するi個目のデータのjビット目の分散情報を[s_{i,j}]とする。
次に、ランダムビット共有手段207は、テーブルの各要素のビット長をmとして、mビットの乱数をセキュリティパラメータK個と組合わせ、秘密計算を行うサーバ間で共有する。i組目の乱数のjビット目をc_{i,j}とする(ステップB-4)。
次に、不正検知秘密計算手段208は、k=1,..,Kについて、式(1)を満たすことをチェックする(ステップB-5)。
次に、ソート確認手段309は、ソート後テーブル分散情報記憶手段305の記憶するテーブルにおいて、順序関係がソートが満たす順序になっているかを秘密計算によってチェックする(ステップB-6)。
(第3の実施の形態)
実施の形態2において、ソート処理の代わりにテーブルの順序入れ替え処理に一般化した形態を実施の形態3とする。この場合、ソート関係確認装置309の代わりに、テーブルの順序入れ替え処理の正しさを確認する処理を行うことになる。例えば、テーブルの行を構成する一部が日付になっており、日付部分についてのみソートを行う場合などを想定している。論理式によって関係の正しさを判定できる限りにおいて有効である。
図6は、テーブル分散値保管装置100及び不正検知機能付き秘密計算ソート装置300(以下、テーブル分散値保管装置100等とする)の構成例を示すブロック図である。図6を参照すると、テーブル分散値保管装置100等は、ネットワーク・インターフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワーク・インターフェース1201は、通信システムを構成する他のネットワークノード装置と通信するために使用される。ネットワーク・インターフェース1201は、例えば、IEEE 802.3 seriesに準拠したネットワークインターフェースカード(NIC)を含んでもよい。もしくは、ネットワーク・インターフェース1201は、無線通信を行うために使用されてもよい。例えば、ネットワーク・インターフェース1201は、無線LAN通信、もしくは3GPP(3rd Generation Partnership Project)において規定されたモバイル通信を行うために使用されてもよい。
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートもしくはシーケンスを用いて説明されたテーブル分散値保管装置100等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/Oインタフェースを介してメモリ1203にアクセスしてもよい。
図6の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明されたテーブル分散値保管装置100等の処理を行うことができる。
図6を用いて説明したように、テーブル分散値保管装置100等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1又は複数のプログラムを実行する。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリを含む。磁気記録媒体は、例えばフレキシブルディスク、磁気テープ、ハードディスクドライブであってもよい。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)であってもよい。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
100 テーブル分散値保管装置
200 不正検知機能付き秘密計算シャッフル装置
201 シャッフル前テーブル分散値記憶手段
202 シャッフル前ランダム分散ビット列記憶手段
203 ランダム分散ビット列生成手段
204 シャッフル秘密計算手段
205 シャッフル後テーブル分散値記憶手段
206 シャッフル後ランダム分散ビット列記憶手段
207 ランダムビット共有手段
208 不正検知秘密計算手段
300 不正検知機能付き秘密計算ソート装置
301 ソート前テーブル分散値記憶手段
302 ソート前ランダム分散ビット列記憶手段
303 ランダム分散ビット列生成手段
304 ソート秘密計算手段
305 ソート後テーブル分散値記憶手段
306 ソート後ランダム分散ビット列記憶手段
307 ランダムビット共有手段
308 不正検知秘密計算手段
309 ソート確認手段

Claims (7)

  1. 秘密分散されたテーブルの分散値を保管するテーブル分散情報保管装置と、
    テーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成するランダム分散ビット生成手段と、
    テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、シャッフルの秘密計算処理を実行する秘密計算シャッフル手段と、
    テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成するランダムビット共有手段と、
    i=1,…,Kについて、
    シャッフル処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、
    シャッフル処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定する不正検出手段と、を備える不正検知機能付き秘密計算シャッフル装置と、を備える計算システム。
  2. 秘密分散されたテーブルの分散値を保管するテーブル分散情報保管装置と、
    テーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成するランダム分散ビット生成手段と、
    テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、ソートの秘密計算処理を実行する秘密計算ソート手段と、
    テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成するランダムビット共有手段と、
    i=1,…,Kについて、
    ソート処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、
    ソート処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定する不正検出手段と、
    ソート処理後のテーブルのテーブル間の大小関係がソート処理として適切かを判定する秘密計算処理を実行するソート処理確認手段と、を有する不正検知機能付き秘密計算ソート装置と、を備える計算システム。
  3. 秘密分散されたテーブルの分散値を保管するテーブル分散情報保管装置と、
    テーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成するランダム分散ビット生成手段と、
    テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、順序入れ替えの秘密計算処理を実行する秘密計算順序入れ替え手段と、
    テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成するランダムビット共有手段と、
    i=1,…,Kについて、
    順序入れ替え処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、
    順序入れ替え処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定する不正検出手段と、
    順序入れ替え処理後のテーブルのテーブル間の順序関係が所望の入れ替え処理の条件に合致するかを判定する秘密計算処理を実行する順序入れ替え処理確認手段と、を有する不正検知機能付き秘密計算順序入れ替え装置と、を備える計算システム。
  4. 前記不正検出手段は、
    シャッフル、ソート、または、順序入れ替え前のi行目のデータのjビット目の分散情報を[a_{i,j}]とし、各行に対応するランダムデータのjビット目の分散情報を[r_{i,j}]とし、
    シャッフル、ソート、または、順序入れ替え後のi行目のデータのjビット目の分散情報を[b_{i,j}]とし、各行に対応するランダムデータのjビット目の分散情報を[s_{i,j}]とし、
    ランダムビット共有手段によって共有したi組目のランダムデータのjビット目をc_{i,j}とし、
    i=1,…,Kについて、
    Figure 0007274155000004
    を満たすことを秘密計算によって判定する、請求項1乃至3のいずれか1項に記載の計算システム。
  5. テーブル分散情報補完装置に保管されているテーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成し、
    テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、シャッフルの秘密計算処理を実行し、
    テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成し、
    i=1,…,Kについて、
    シャッフル処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、
    シャッフル処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定する、計算方法。
  6. テーブル分散情報保管装置に保管されているテーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成し、
    テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、ソートの秘密計算処理を実行し、
    テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成し、
    i=1,…,Kについて、
    ソート処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、
    ソート処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定し、
    ソート処理後のテーブルのテーブル間の大小関係がソート処理として適切かを判定する秘密計算処理を実行する計算方法。
  7. テーブル分散情報保管装置に保管されているテーブルの分散情報の各行に対して、セキュリティパラメータKビットのランダムな値の分散情報を対応させて生成し、
    テーブルの各行と対応するランダムな値の分散情報を一つの行とみなして、順序入れ替えの秘密計算処理を実行し、
    テーブルの長さと等しいビット長のランダムデータをセキュリティパラメータとしてK個生成し、
    i=1,…,Kについて、
    順序入れ替え処理をする前のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の、全ての行に対する排他的論理和が、
    順序入れ替え処理後のテーブルの各行についてi個目のランダムデータによって指定される位置のみの排他的論理和に各行のi個目のランダムビットを乗じた値の全ての行に対する排他的論理和が一致していることを秘密計算によって判定し、
    順序入れ替え処理後のテーブルのテーブル間の順序関係が所望の入れ替え処理の条件に合致するかを判定する秘密計算処理を実行する順序入れ替える、計算方法。
JP2021548064A 2019-09-26 2019-09-26 計算システム及び計算方法 Active JP7274155B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/037742 WO2021059417A1 (ja) 2019-09-26 2019-09-26 計算システム及び計算方法

Publications (2)

Publication Number Publication Date
JPWO2021059417A1 JPWO2021059417A1 (ja) 2021-04-01
JP7274155B2 true JP7274155B2 (ja) 2023-05-16

Family

ID=75165199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021548064A Active JP7274155B2 (ja) 2019-09-26 2019-09-26 計算システム及び計算方法

Country Status (3)

Country Link
US (1) US20220343027A1 (ja)
JP (1) JP7274155B2 (ja)
WO (1) WO2021059417A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021106143A1 (ja) * 2019-11-28 2021-06-03 日本電気株式会社 シャッフルシステム、シャッフル方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216512A1 (ja) 2017-05-25 2018-11-29 日本電信電話株式会社 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013142983A1 (en) * 2012-03-30 2013-10-03 Irdeto Canada Corporation Securing accessible systems using cross-linking
WO2016059870A1 (ja) * 2014-10-14 2016-04-21 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018216512A1 (ja) 2017-05-25 2018-11-29 日本電信電話株式会社 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
五十嵐 大 ほか3名,複数体上Activeモデルで秘匿性・正当性を保証する秘密分散ベース秘密計算と高速秘密計算ソートへの応用,2015年暗号と情報セキュリティシンポジウム概要集,電子情報通信学会,2015年01月20日,p.1-8
濱田 浩気 ほか3名,3パーティ秘匿関数計算上のランダム置換プロトコル,コンピュータセキュリティシンポジウム2010論文集,日本,一般社団法人情報処理学会,2010年10月12日,Vol.2010,No.9,p.561-566,ISSN 1344-0640

Also Published As

Publication number Publication date
WO2021059417A1 (ja) 2021-04-01
JPWO2021059417A1 (ja) 2021-04-01
US20220343027A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
US11477017B2 (en) System and method for quantum-safe authentication, encryption, and decryption of information
Machida et al. A new arbiter PUF for enhancing unpredictability on FPGA
US9934400B2 (en) System and methods for encrypting data
US11240040B2 (en) Systems, devices, and methods for recording a digitally signed assertion using an authorization token
US11695783B2 (en) Systems, devices, and methods for determining a confidence level associated with a device using heuristics of trust
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
US10872172B2 (en) Apparatus and method for processing digital value
JP2018526865A5 (ja) トークンを提示又は検証する方法
Kumar et al. Intertwining logistic map and Cellular Automata based color image encryption model
CN106576047A (zh) 使密码操作免受恶意修改
JPWO2020165932A1 (ja) 情報処理装置、秘密計算方法及びプログラム
Chowdhury et al. Physical security in the post-quantum era: A survey on side-channel analysis, random number generators, and physically unclonable functions
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
JP7274155B2 (ja) 計算システム及び計算方法
Mouris et al. PLASMA: Private, Lightweight Aggregated Statistics against Malicious Adversaries
JPWO2018061391A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム
Wisiol et al. Why attackers lose: Design and security analysis of arbitrarily large XOR arbiter PUFs
Foreman et al. Practical randomness and privacy amplification
US11210428B2 (en) Long-term on-demand service for executing active-secure computations
Sedighi et al. T-pki for anonymous attestation in tpm
Goutsos Puf-based authority device scheme
Durai et al. Real Time Implementation of QFT-PUF Architecture for Data Secure System-on-Chip
Bilenko et al. TESTING OF THE RANDOM CODES GENERATOR OF EMBEDDED CRYPTO PROTECTION SYSTEM
Bhupatiraju et al. On the Viability of Distributed Consensus by Proof of Space
CN116232633A (zh) 一种基于量子动态令牌的身份认证方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230420

R150 Certificate of patent or registration of utility model

Ref document number: 7274155

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150