JP6034927B1 - 秘密計算システム、秘密計算装置、およびプログラム - Google Patents

秘密計算システム、秘密計算装置、およびプログラム Download PDF

Info

Publication number
JP6034927B1
JP6034927B1 JP2015147774A JP2015147774A JP6034927B1 JP 6034927 B1 JP6034927 B1 JP 6034927B1 JP 2015147774 A JP2015147774 A JP 2015147774A JP 2015147774 A JP2015147774 A JP 2015147774A JP 6034927 B1 JP6034927 B1 JP 6034927B1
Authority
JP
Japan
Prior art keywords
secret
query
sharing value
secret sharing
value
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
JP2015147774A
Other languages
English (en)
Other versions
JP2017028617A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015147774A priority Critical patent/JP6034927B1/ja
Priority to PCT/JP2016/071221 priority patent/WO2017018285A1/ja
Priority to EP16830390.7A priority patent/EP3330880B1/en
Priority to CN201680042855.8A priority patent/CN107851164B/zh
Priority to US15/745,595 priority patent/US10867018B2/en
Application granted granted Critical
Publication of JP6034927B1 publication Critical patent/JP6034927B1/ja
Publication of JP2017028617A publication Critical patent/JP2017028617A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • 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

Abstract

【課題】秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止する。【解決手段】秘密計算装置には、秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算を要求するクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。【選択図】図4

Description

本発明は、暗号技術を応用した情報セキュリティ技術に関し、特に、秘密計算技術に関する。
秘密分散値の改ざんを検知する技術として、検証可能秘密分散法(VSS: Verifiable secret sharing)がある(例えば、非特許文献1)。
岡本龍明,山本博資,「現代暗号−シリーズ/情報科学の数学」,産業図書株式会社,1998年6月30日,第2刷,pp.217−219.
しかし、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止する方法は知られていない。
本発明の課題は、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止することである。
秘密計算装置には、秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算を要求するクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。
これにより、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止できる。
図1は、実施形態の秘密計算システムの機能構成を例示したブロック図である。 図2Aは、実施形態の秘密計算装置の機能構成を例示したブロック図である。図2Bは、実施形態の整合性検証部の機能構成を例示したブロック図である。 図3は、実施形態の分析装置の機能構成を例示したブロック図である。 図4は、実施形態の処理を例示したシーケンス図である。 図5は、実施形態の整合性検証処理を例示したフロー図である。 図6Aおよび図6Bは、実施形態の処理を例示したフロー図である。 図7Aおよび図7Bは、実施形態の処理を例示するための概念図である。 図8Aおよび図8Bは、実施形態の処理を例示するための概念図である。 図9Aおよび図9Bは、実施形態の処理を例示するための概念図である。 図10Aおよび図10Bは、実施形態の処理を例示するための概念図である。
以下、本発明の実施形態を説明する。
[概要]
まず、実施形態の概要を説明する。
実施形態の秘密計算システムは、秘密計算の対象となる対象データの秘密分散値を出力する登録装置、複数個の秘密計算装置、およびクエリまたはクエリの秘密分散値を用いて秘密計算を要求する分析装置を有する。秘密計算装置のそれぞれには、登録装置から送られた対象データの秘密分散値が格納され、さらに分析装置から送られたクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。これにより、登録装置、登録装置から秘密計算装置までの間、または秘密計算装置で対象データの秘密分散値が改ざんされたり、分析装置、または分析装置から秘密計算装置までの間でクエリまたはクエリの秘密分散値が改ざんされたりしても、その改ざんによって秘密計算装置から不正な結果が出力されることを防止できる。
何れかの整合性検証が不合格であった場合、すべての対象データの秘密分散値の秘密計算装置への格納、および/または、すべてのクエリまたはクエリの秘密分散値の秘密計算装置への入力をやり直してもよい。あるいは、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の両方の整合性検証が合格であった一部の秘密計算装置のみが演算結果の秘密分散値を出力してもよい。後者の場合、複数個の秘密計算装置のうち整合性検証に合格した対象データの秘密分散値を格納するものを要素とする「第1集合」と、複数個の秘密計算装置のうち整合性検証に合格したクエリまたはクエリの秘密分散値が入力されたものを要素とする「第2集合」と、の「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。これにより、整合性検証が不合格であった場合の処理量を削減できる。
「第1集合」および「第2集合」の少なくとも一方が「全体集合」の真部分集合である場合、「共通部分」も「全体集合」の真部分集合である。秘密計算の内容によっては「全体集合」の真部分集合の秘密計算装置のみで秘密計算を実行できる場合(ケース1)もあれば、「全体集合」の秘密計算装置が協力しなければ秘密計算を実行できない場合(ケース2)もある。「ケース1」の場合には「共通部分」のみで秘密計算を行うことができるが、「ケース2」の場合には「共通部分」のみで秘密計算を行うことができず、整合性検証が不合格であった秘密計算装置と協力して秘密計算を行ったのでは、不正な結果が得られる可能性がある。そのため、「共通部分」に属する秘密計算装置が、「共通部分」の「補集合」(「全体集合」から「共通部分」を取り除いた集合)に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元してもよい。秘密計算の内容に応じ、対象データの秘密分散値およびクエリまたはクエリの秘密分散値が復元されてもよいし、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の何れかのみが復元されてもよい。これにより、「ケース2」の場合であっても「共通部分」のみで秘密計算を行うことができる。
「共通部分」の要素数が演算結果を復元するために必要な秘密分散値の個数以上である場合に、「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力してもよい。これにより、演算結果を復元するために必要な個数の「演算結果の秘密分散値」が得られないにもかかわらず、演算結果の秘密分散値の計算および通信が行われることと防止できる。「共通部分」に属する秘密計算装置が「共通部分」の要素数が演算結果を復元するために必要な秘密分散値の個数未満である場合には、対象データの秘密分散値の格納、および/または、クエリまたはクエリの秘密分散値の入力をやり直すか、エラー終了してもよい。
複数の秘密計算装置で行った整合性検証が不合格であった場合、それらの何れかの秘密計算装置の「データ」(対象データの秘密分散値、または、クエリもしくはクエリの秘密分散値)に改ざんがあったことは分かるが、どの「データ」が改ざんされたかは分からない。そのため、「全体集合」の「第1部分集合」での対象データの秘密分散値の整合性検証が不合格であった場合、「第1部分集合」の真部分集合を新たな「第1部分集合」として対象データの秘密分散値の整合性検証を行う再帰処理を行ってもよい。例えば、「第1部分集合」を複数の真部分集合に分割し、各真部分集合をそれぞれ新たな「第1部分集合」としてもよいし、「第1部分集合」の何れかの真部分集合のみを新たな「第1部分集合」としてもよい。同様に、「全体集合」の「第2部分集合」でのクエリまたはクエリの秘密分散値の整合性検証が不合格であった場合、「第2部分集合」の真部分集合を新たな「第2部分集合」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行ってもよい。例えば、「第2部分集合」を複数の真部分集合に分割し、各真部分集合をそれぞれ新たな「第2部分集合」としてもよいし、「第2部分集合」の何れかの真部分集合のみを新たな「第2部分集合」としてもよい。これにより、上述の「第1集合」および/または「第2集合」を効率的に特定できる。
「全体集合」の「第3部分集合」での対象データの秘密分散値の整合性検証が不合格であった場合、「第3部分集合」の真部分集合と「第3部分集合」の補集合(「全体集合」から「第3部分集合」を取り除いた集合)の部分集合との和集合を新たな「第3部分集合」として対象データの秘密分散値の整合性検証を行う再帰処理を行ってもよい。同様に、「全体集合」の「第4部分集合」でのクエリまたはクエリの秘密分散値の整合性検証が不合格であった場合、「第4部分集合」の真部分集合と「第4部分集合」の補集合(「全体集合」から「第4部分集合」を取り除いた集合)の部分集合との和集合を新たな「第4部分集合」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行ってもよい。これによっても、上述の「第1集合」および/または「第2集合」を効率的に特定できる。特に、「第3部分集合」で整合性検証が不合格であるが、新たな「第3部分集合」で整合性検証が合格であった場合、更新前の「第3部分集合」には含まれるが新たな「第3部分集合」には含まれない秘密計算装置の「データ」に改ざんがあることが分かる。そのため、この秘密計算装置を除いた集合で新たに整合性検証を行い、それが合格であれば、その集合を「第1集合」および/または「第2集合」としてもよい。これにより、「第1集合」および/または「第2集合」の要素数を増加させ、「共通部分」に属する秘密計算装置の数を増加させることができる。
秘密計算装置が、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行ってもよい。例えば、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報を対象として整合性検証が行われてもよい。これにより、整合性検証の処理を効率化できる。この場合、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行ってもよい。これにより、整合性検証の過程で、対象データおよびクエリの少なくとも一方が漏洩することを防止できる。
整合性検証方式に限定はない。例えば、非特許文献1に開示された方式が用いられてもよいし、その他の方式が用いられてもよい。例えば、秘密計算装置が「全体集合」の部分集合(全体集合またはその真部分集合)で得られた複数個の任意値の合成値sを得、合成値sの関数値を係数とし、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]を得、線形結合値[c]に応じた秘密分散値[d]を他の秘密計算装置に配送して整合性検証を行ってもよい。これにより、複数のデータの整合性検証をまとめて実行できるため、処理を効率化できる。この際、秘密計算装置が乱数秘密分散値[R]を得、乱数秘密分散値[R]で線形結合値[c]を撹乱させた秘密分散値[d]を得てもよい。これにより、整合性検証の過程で、対象データおよびクエリの少なくとも一方が漏洩することを防止できる。
以降、図面を参照しつつ、各実施形態を説明する。
[第1実施形態]
第1実施形態を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム1は、登録装置11、N個の秘密計算装置12−1,…,12−(N−1)、および分析装置13を有する。ただし、Nは2以上の整数であり、例えば3以上の整数である。登録装置11と秘密計算装置12−1,…,12−(N−1)とは、インターネット等の安全ではないネットワークを通じて通信可能に構成されている。同様に、秘密計算装置12−1,…,12−(N−1)と分析装置13とは、安全ではないネットワークを通じて通信可能に構成されている。なお、説明の便宜上、登録装置11および分析装置13がそれぞれ1個存在する例を示すが、これらの少なくとも一方が複数個存在していてもよい。
図2Aに例示するように、本形態の秘密計算装置12−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部123−n、秘密計算部124−n、および出力部125−nを有する。図2Bに例示するように、整合性検証部123−nは、例えば、任意値設定部1231−n、合成部1232−n、線形結合部1233−n、および検証部1236−nを有する。整合性検証部123−nは、さらに撹乱値設定部1234−nおよび撹乱部1235−nを有していてもよい。秘密計算装置12−nは、制御部120−nの制御のもとで各処理を実行する。秘密計算装置12−nの各部で得られたデータは、図示していない一時メモリに格納され、必要に応じて読み出されて各処理に利用される。図3に例示するように、分析装置13は、制御部130、分析依頼部131、出力部132、入力部133、記憶部134、および改ざん検知復元部135を有する。各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
<処理>
本形態の処理は「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
登録処理では、登録装置11が、秘密計算の対象となる対象データb,…,bM−1のそれぞれを秘密分散し、N個ずつの秘密分散値[b,…,[bN−1,…,[bM−1,…,[bM−1N−1を生成する。ただし、Mは1以上の整数であり、対象データb(ただし、m=0,…,M−1)のN個の秘密分散値を[b,…,[bN−1と表記する。本形態の秘密分散は(K,N)しきい値秘密分散方式に則って行われる。(K,N)しきい値秘密分散方式では、K個以上の秘密分散値を集めれば元データ(平文)を完全に復元できるが、K−1以下の秘密分散値からは元データの情報が全く得られない。(K,N)しきい値秘密分散方式の具体例は、Shamirの秘密分散方式(例えば、参考文献1「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」等参照)、またはその変形方式である。対象データの秘密分散値[b,…,[bM−1(ただし、n=0,…,N−1)は、それぞれ秘密計算装置12−nに送られる。対象データの秘密分散値[b,…,[bM−1は、秘密計算装置12−n(図2A)の入力部121−nに入力され、記憶部122−nに格納される(ステップS11)。
対象データの秘密分散値[b,…,[bM−1が記憶部122−nに格納されると、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、対象データの秘密分散値[b,…,[bM−1の整合性検証を行う。整合性検証は非特許文献1その他の公知方式によって行われてもよいし、後述する方式によって行われてもよい。これにより、登録装置11、または登録装置11から秘密計算装置12−nまでの間で行われた対象データの秘密分散値[b,…,[bM−1の改ざんが検知される。この整合性検証が合格であった場合、[b,…,[bM−1が記憶部122−nに保持される。一方、この整合性検証が不合格であった場合、[b,…,[bM−1が記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS12)。
「保管処理」
保管処理では、各秘密計算装置12−nが対象データの秘密分散値[b,…,[bM−1を記憶部122−nに保持する。この間、定期的または所定の契機で、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、対象データの秘密分散値[b,…,[bM−1の整合性検証を行ってもよい。これにより、秘密計算装置12−nで行われた対象データの秘密分散値[b,…,[bM−1の改ざんが検知される。この整合性検証が合格であった場合、[b,…,[bM−1が記憶部122−nに保持される。一方、この整合性検証が不合格であった場合、[b,…,[bM−1が記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS13)。
「分析処理」
分析処理では、まず分析装置13の分析依頼部131が、秘密計算を要求するクエリまたはクエリの秘密分散値を生成して出力する。クエリは秘密計算を要求する演算内容を表してもよいし、演算対象のデータを表してもよい。本形態では、分析依頼部131が出力するクエリまたはクエリの秘密分散値を[q,…,[qJ−1(ただし、n=0,…,N−1)と表現する。ただし、Jは1以上の整数である。[q(ただし、j=0,…,J−1)がクエリそのもの(元データ)である場合、[q=…=[qN−1である。[q(ただし、j=0,…,J−1)がクエリの秘密分散値である場合、[q,…,[qN−1は、クエリqのN個の秘密分散値である。出力部132は、クエリまたはクエリの秘密分散値[q,…,[qJ−1(ただし、n=0,…,N−1)を出力し、これらはそれぞれ秘密計算装置12−nに送られる。[q,…,[qJ−1は、秘密計算装置12−n(図2A)の入力部121−nに入力され、記憶部122−nに格納される(ステップS14)。
クエリまたはクエリの秘密分散値[q,…,[qJ−1が記憶部122−nに格納されると、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、クエリまたはクエリの秘密分散値[q,…,[qJ−1の整合性検証を行う。ここで、[qがクエリそのものであったとしても、[qを秘密分散値とみなして整合性検証を行うことができる。これにより、分析装置13、または分析装置13から秘密計算装置12−nまでの間で行われた[q,…,[qJ−1の改ざんが検知される。この整合性検証が合格である場合、[q,…,[qJ−1が記憶部122−nに保持される。一方、この整合性検証が不合格である場合、[q,…,[qJ−1が記憶部122−nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS15)。
[q,…,[qJ−1の整合性検証が合格の場合、秘密計算装置12−nの秘密計算部124−nは、記憶部122−nから、整合性検証に合格した[b,…,[bM−1および[q,…,[qJ−1を読み込む。秘密計算部124−nは、整合性検証に合格した[b,…,[bM−1を用い、整合性検証に合格した[q,…,[qJ−1に応じた秘密計算を行って演算結果の秘密分散値[r,…,[rW−1を得る。ただし、Wは1以上の整数である。本形態では、改ざん検知付秘密計算(例えば、参考文献2「五十嵐大, 千田浩司, 濱田浩気, 菊池亮, “非常に高効率なn≧2k-1 malicious モデル上秘密分散ベースマルチパーティ計算の構成法”, In SCIS2013, 2013.」等参照)によって秘密計算を行って演算結果の秘密分散値[r,…,[rW−1を得る。この計算過程でのK−1個以下の秘密計算装置12−nによる改ざんは、ここで検知できる。改ざんが検知された場合、この秘密計算を再び実行させるか、処理をエラー終了させる。改ざんが検知されなかった場合、演算結果の秘密分散値[r,…,[rW−1が出力部125−nに送られる(ステップS16)。出力部125−n(ただし、n=0,…,N−1)は、演算結果の秘密分散値[r,…,[rW−1を出力し、これらは分析装置13に送られる(ステップS17)。
演算結果の秘密分散値[r,…,[rW−1は、分析装置13(図3)の入力部133に入力され、記憶部134に格納される。演算結果の秘密分散値[r,…,[rW−1(ただし、n=0,…,N−1)は改ざん検知復元部135に送られる。改ざん検知復元部135はこれらの改ざん検知復元を行い(例えば、参考文献2参照)、演算結果r,…,rW−1を復元して出力する。秘密計算装置12−nまたは秘密計算装置12−nから分析装置13までの間での改ざんはここで検知される。改ざんが検知された場合、このステップS16以降の処理を再び実行させるか、処理をエラー終了させる。改ざんが検知されなかった場合、演算結果r,…,rW−1が出力される(ステップS18)。
<整合性検証の具体例>
図5を用いて整合性検証の具体例を示す。以下では、I個の秘密計算装置12−0〜12−(I−1)が協力し、[a,…,[aY−1(ただし、i=0,…,I−1)の整合性検証を行う場合に一般化して説明する。ただし、Yは1以上の整数であり、IはKよりも大きく、N以下の整数であり(N≧I>K。例えば、N≧I≧2)、{0,…,I−1}⊆{0,…,N−1}を満たす。[a,…,[aY−1の例は、対象データの秘密分散値[b,…,[bM−1、クエリまたはクエリの秘密分散値[q,…,[qJ−1である。
まず、秘密計算装置12−i(図2B)の整合性検証部123−iの任意値設定部1231−iが、任意値sを選択する。任意値sの例は、擬似乱数、乱数、または定数である。任意値sは記憶部122−iに格納されるとともに、出力部125−iに送られる(ステップS1201)。任意値sは出力部125−iから出力され、他の秘密計算装置12−i’(ただし、i’∈{0,…,I−1}かつi’≠i)に配送される(ステップS1202)。他の秘密計算装置12−i’から配送された任意値si’は入力部121−iに入力され、記憶部122−iに格納される(ステップS1203)。合成部1232−iは、記憶部122−iから任意値s,…,sI−1を読み込み、任意値s,…,sI−1の合成値s:=g(s,…,sI−1)を得る。ただし、「α:=β」は、αをβと定義することを意味する。g(・)は(・)の関数を表す。任意値s,…,sI−1に対して合成値sが一義的に定まるのであれば、どのようなg(・)が用いられてもよい。例えば、s:=s+…+sI−1などの任意値s,…,sI−1の線形結合を合成値sとしてもよいし、s:=s×…×sI−1などの任意値s,…,sI−1の積を合成値sとしてもよい。合成値sは記憶部122−iに格納される(ステップS1204)。
線形結合部1233−iは、記憶部122−iから合成値sおよび[a,…,[aY−1を読み込み、合成値sの関数値を係数z(ただし、y=0,…,Y−1)とし、[a,…,[aY−1(ただし、i=0,…,I−1)の線形結合値[c]:=z[a+…+zY−1[aY−1を得る。係数zは合成値sとyとによって定まる値z:=h(s,y)であってもよいし、合成値sのみに対して定まる値z:=h(s)であってもよい。ただし、h(・)は(・)の関数を表す。例えば、z:=sy+1であってもよいし、z:=s2y+1であってもよいし、z:=sであってもよい。線形結合値[c]は記憶部122−iに格納される(ステップS1205)。
検証部1236−iは、記憶部122−iから読み込んだ線形結合値[c]に応じた秘密分散値[d]を出力する。例えば、線形結合値[c]をそのまま秘密分散値[d]としてもよいし、[c]の関数値を秘密分散値[d]としてもよい。整合性検証部123−iが撹乱値設定部1234−iおよび撹乱部1235−iを含む場合、撹乱値設定部1234−iが乱数秘密分散値[R]を得、撹乱部1235−iが乱数秘密分散値[R]および線形結合値[c]を入力とし、乱数秘密分散値[R]で線形結合値[c]を撹乱させた秘密分散値[d]を得てもよい。例えば、撹乱値設定部1234−iが、生成した擬似乱数または乱数を乱数秘密分散値[R]とし、秘密計算によって[d]:=[c−R]を得てもよい。ただし、[c−R]は(K,N)しきい値秘密分散方式に則ったc−Rの秘密分散値である。秘密分散値[d]は記憶部122−iに格納されるとともに、出力部125−iに送られる(ステップS1206)。
秘密分散値[d]は出力部125−iから出力され、他の秘密計算装置12−i’(ただし、i’∈{0,…,I−1}かつi’≠i)に配送される(ステップS1207)。他の秘密計算装置12−i’から配送された秘密分散値[d]i’は入力部121−iに入力され、記憶部122−iに格納される(ステップS1208)。
検証部1236−nは、記憶部122−iからK個の秘密分散値[d]f(0),…,[d]f(K−1)を読み込み、ラグランジュ(Lagrange)補間によって他のI−K個の秘密分散値Df(K):=[d]f(K),…,Df(I−1):=[d]f(I−1)を復元し、記憶部122−iに格納する。なお、{f(0),…,f(I−1)}={0,…,I−1}を満たし、例えば、f(i)=iである(ステップS1209)。
検証部1236−nは、記憶部122−iから、ステップS1208で入力された[d]f(K),…,[d]f(N−1)と、ステップS1209で復元されたDf(K),…,Df(N−1)とを読み込み、これらを比較する。ここで、すべてのp=K,…,I−1についてDf(p)=[d]f(p)であるならば、検証部1236−nは、[a,…,[aY−1の整合性検証が合格である旨の結果を出力する(ステップS1211)。一方、何れかのpについてDf(p)≠[d]f(p)であるならば、検証部1236−nは、[a,…,[aY−1の整合性検証が不合格である旨の結果を出力する(ステップS1212)。
この整合性検証の具体例では、[a,…,[aY−1の整合性検証をまとめて実行できるため効率がよい。また、乱数秘密分散値[R]で線形結合値[c]を撹乱させた秘密分散値[d]を用いる場合には、ステップS1209で[a,…,[aY−1の復元値の情報が漏洩することを防止できる。
[第2実施形態]
第2実施形態では、前述の「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。以下では、既に説明した事項との相違点を中心に説明し、説明済みの事項についてはそれと同じ参照番号を流用して説明を簡略化する。
<構成>
図1に例示するように、本形態の秘密計算システム2は、登録装置11、N個の秘密計算装置22−1,…,22−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置22−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部223−n、秘密計算部224−n、および出力部125−nを有する。
<処理>
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
まず、登録装置11と秘密計算装置22−nとが、第1実施形態で説明したステップS11の処理を実行する。次に、第1実施形態のステップS12で説明したように、N個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが互いに通信し、対象データの秘密分散値[b,…,[bM−1の整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122−nから[b,…,[bM−1が削除されない。代わりに、N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる集合の真部分集合Sが選択され、真部分集合Sに属するNS1個(ただし、NS1>K)の秘密計算装置22−v(η)(ただし、η=0,…,NS1−1)の整合性検証部223−v(η)が互いに通信し、対象データの秘密分散値[bv(η),…,[bM−1v(η)の整合性検証を行う。なお、{v(0),…,v(NS1−1)}={0,…,NS1−1}を満たし、例えば、v(η)=ηである。この真部分集合Sでの整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I:=NS1とし、i:=v(η)とし、([a,…,[aY−1):=([bv(η),…,[bM−1v(η))とし、前述のステップS1201〜S1212の方法で整合性検証が行われてもよい。真部分集合Sに属するNS1個の秘密計算装置22−v(η)(ただし、η=0,…,NS1−1)での整合性検証が不合格である場合、別の真部分集合Sが選択され、選択された真部分集合Sでの整合性検証が実行される。真部分集合Sは、予め定められた基準に従って選択される。真部分集合Sの真部分集合が新たな真部分集合Sとされてもよいし、真部分集合Sの補集合が新たな真部分集合Sとされてもよいし、真部分集合Sの真部分集合と補集合との和集合が新たな真部分集合Sとされてもよい。この具体例は後述する。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合Sでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、対象データの秘密分散値[b,…,[bM−1が記憶部122−nに保持される。一方、真部分集合Sを所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合Sについて整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合Sの要素数がK未満であった場合、[b,…,[bM−1が記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS22)。
「保管処理」
保管処理でも、定期的または所定の契機で、ステップS22と同じ整合性検証が行われてもよい。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合Sでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、対象データの秘密分散値[b,…,[bM−1が記憶部122−nに保持される。一方、真部分集合Sを所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合Sについて整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合Sの要素数がK未満であった場合、[b,…,[bM−1が記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS23)。
「分析処理」
まず、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、第1実施形態のステップS15で説明したように、N個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが互いに通信し、クエリまたはクエリの秘密分散値を[q,…,[qJ−1の整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122−nから[q,…,[qJ−1が削除されない。代わりに、N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる集合の真部分集合Sが選択され、真部分集合Sに属するNS2個(ただし、NS2>K)の秘密計算装置22−u(ι)(ただし、ι=0,…,NS2−1)が互いに通信し、[qu(ι),…,[qJ−1u(ι)の整合性検証を行う。なお、{u(0),…,u(NS2−1)}={0,…,NS2−1}を満たし、例えば、u(ι)=ιである。この真部分集合Sでの整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I=NS2とし、i=u(ι)とし、([a,…,[aY−1)=([qu(ι),…,[qJ−1u(ι))とし、前述のステップS1201〜S1212の方法で整合性検証が行われてもよい。真部分集合Sに属するNS2個の秘密計算装置22−u(ι)(ただし、ι=0,…,NS2−1)での整合性検証が不合格である場合、別の真部分集合Sが選択され、選択された真部分集合Sでの整合性検証が実行される。真部分集合Sは、予め定められた基準に従って選択される。真部分集合Sの真部分集合が新たな真部分集合Sとされてもよいし、真部分集合Sの補集合が新たな真部分集合Sとされてもよいし、真部分集合Sの真部分集合と補集合との和集合が新たな真部分集合Sとされてもよい。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合Sでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、クエリまたはクエリの秘密分散値を[q,…,[qJ−1が記憶部122−nに保持される。一方、真部分集合Sを所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合Sについて整合性検証を行ってすべて不合格であった場合、または、合格となった真部分集合Sの要素数がK未満であった場合、[q,…,[qJ−1が記憶部122−nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS25)。
全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、N個の秘密計算装置22−0,…,22−(N−1)のうち、ステップS22,23での整合性検証に合格した対象データの秘密分散値[b,…,[bM−1を格納する秘密計算装置を要素とする「第1集合(UまたはS)」と、ステップS25での整合性検証に合格したクエリまたはクエリの秘密分散値[q,…,[qJ−1が入力された秘密計算装置を要素とする「第2集合(UまたはS)」と、の「共通部分(S12)」に属する秘密計算装置22−κ(ただし、κ∈{0,…,N−1})が秘密計算を行う。例えば、ステップS22,23,25で全体集合Uでの整合性検証が合格であった場合、U=S12となり、N個の秘密計算装置22−0,…,22−(N−1)が第1実施形態で説明したステップS16と同一の処理を行う(図7A)。例えば、ステップS22,23で真部分集合Sでの整合性検証が合格であり、ステップS25で真部分集合Sでの整合性検証が合格であったのであれば、真部分集合Sと真部分集合Sとの「共通部分(S12)」に属する秘密計算装置22−κ(ただし、κ∈{0,…,N−1})の秘密計算部224−κが、整合性検証に合格した[bκ,…,[bM−1κを用い、整合性検証に合格した[qκ,…,[qJ−1κに応じた秘密計算を行って演算結果の秘密分散値[rκ,…,[rW−1κを得る。本形態でも、改ざん検知付秘密計算(例えば、参考文献2)が用いられる(ステップS26)。その後、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS17およびS18と同じ処理を実行する。ただし、「共通部分(S12)」の要素数が演算結果を復元するために必要な秘密分散値の個数K以上である場合のみにステップS26,S17,S18の処理が実行され、そうでない場合に処理をエラー終了させてもよい。
<整合性検証対象となる真部分集合の更新例>
ステップS22,S23,S25で説明した整合性検証対象となる真部分集合の更新例を説明する。更新例1では、「全体集合(U)」の「第1部分集合(UまたはS)」での対象データの秘密分散値[bv(η),…,[bM−1v(η)の整合性検証が不合格であった場合、「第1部分集合(UまたはS)」の真部分集合を新たな「第1部分集合(S)」として対象データの秘密分散値[bv(η),…,[bM−1v(η)の整合性検証を行う再帰処理を行う。また、「全体集合(U)」の「第2部分集合(UまたはS)」でのクエリまたはクエリの秘密分散値[qu(ι),…,[qJ−1u(ι)の整合性検証が不合格であった場合、「第2部分集合(UまたはS)」の真部分集合を新たな「第2部分集合(S)」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行う。更新例2では、「全体集合(U)」の「第3部分集合(UまたはS)」での対象データの秘密分散値[bv(η),…,[bM−1v(η)の整合性検証が不合格であった場合、「第3部分集合(UまたはS)」の真部分集合と「第3部分集合(UまたはS)」の補集合の部分集合との和集合を新たな「第3部分集合S」として対象データの秘密分散値[bv(η),…,[bM−1v(η)の整合性検証を行う再帰処理を行う。「全体集合(U)」の「第4部分集合(UまたはS)」でのクエリまたはクエリの秘密分散値[qu(ι),…,[qJ−1u(ι)の整合性検証が不合格であった場合、「第4部分集合(UまたはS)」の真部分集合と「第4部分集合(UまたはS)」の補集合の部分集合との和集合を新たな「第4部分集合S」としてクエリまたはクエリの秘密分散値[qu(ι),…,[qJ−1u(ι)の整合性検証を行う再帰処理を行う。以下では、SおよびSを部分集合Sに一般化して説明する。
≪更新例1≫
図6Aに例示するように、更新例1では、まずN個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが、N個の秘密計算装置22−nの全体集合Uを集合系SETの元として設定する(SET:={U})(ステップS2201)。集合系SETの元である部分集合S∈SET(初期値は全体集合U)に属するN個(ただし、N>K)個の秘密計算装置22−e(ν)(ただし、ν=0,…,N−1)の整合性検証部223−e(ν)が互いに通信し、データ(対象データの秘密分散値、またはクエリもしくはクエリの秘密分散値)の整合性検証を行う。なお、{e(0),…,e(N−1)}={0,…,N−1}を満たし、例えば、e(ν)=νである(ステップS2202)。ここで、整合性検証に合格する部分集合Sが存在しないならば(ステップS2203)、整合性検証部223−e(ν)は整合性検証の継続条件を満たすかを判定する(ステップS2204)。継続条件の例は、「部分集合Sの更新回数が所定数以下である」「所定の部分集合の整合性検証が終了していない」などである。ここで、整合性検証の継続条件を満たさない場合、整合性検証部223−e(ν)は処理をエラー終了させる(ステップS2208)。一方、整合性検証の継続条件を満たす場合、整合性検証部223−e(ν)は、部分集合Sをその真部分集合に置換して集合系SETを更新する。例えば、図8Aの例では、SET:={SS1−1}のときに、部分集合S=SS1−1がその真部分集合SS1−2およびSS1−3に置換され、SET:={SS1−2,SS1−3}に更新される。図8Bの例では、SET:={SS1−2,SS1−3}のときに、SS1−2がその真部分集合SS1−4およびSS1−5に置換され、SS1−3がその真部分集合SS1−6およびSS1−7に置換される。集合系SETの更新後、ステップS2202に戻る(ステップS2205)。一方、ステップS2202で整合性検証に合格した部分集合Sが存在したならば(ステップS2203)、整合性検証部223−e(ν)は整合性検証に合格した部分集合Sの要素数|S|=NがK以上かを判定する(ステップS2206)。整合性検証に合格した何れかの部分集合Sの要素数|S|がK以上であれば、整合性検証部223−e(ν)はその部分集合Sを表す情報を出力する(ステップS2207)。そうでなければ、整合性検証部223−e(ν)は処理をエラー終了させる(ステップS2208)。
≪更新例2≫
図6Bに例示するように、更新例2では、図6Aの処理のステップS2205がステップS2215に置換される。ステップS2215では、整合性検証部223−e(ν)が、部分集合SをSの真部分集合A⊂Sと、Sの補集合Cの真部分集合B⊂Cと、の和集合A+Bに置換する。例えば、和集合A+Bは部分集合Sをシフトさせた集合である。例えば、図9Aおよび図9Bの例では、SET:={SS1−2,SS1−3}のときに、SS1−2が和集合SS1−4に置換され、SS1−3が和集合SS1−5に置換される。図9Aおよび図9Bの例では、SET:={SS1−4,SS1−5,SS1−6,SS1−7}のときに、SS1−4が和集合SS1−8に置換され、SS1−5が和集合SS1−9に置換され、SS1−6が和集合SS1−10に置換され、SS1−7が和集合SS1−11に置換される。
[第3実施形態]
第2実施形態では、「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が、「共通部分」の補集合に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元し、秘密計算を行う。
<構成>
図1に例示するように、本形態の秘密計算システム3は、登録装置11、N個の秘密計算装置32−1,…,32−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置32−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部223−n、秘密計算部324−n、出力部125−n、および分散値復元部326−n、を有する。
<処理>
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
登録装置11と秘密計算装置32−nとが、第1実施形態で説明したステップS11の処理を実行する。次に、秘密計算装置32−nが、第2実施形態で説明したステップS22の処理を実行する。
「保管処理」
秘密計算装置32−nが、第2実施形態で説明したステップS23の処理を実行する。
「分析処理」
まず、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、秘密計算装置32−nが、第2実施形態で説明したステップS25の処理を実行する。
全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、前述の「第1集合(UまたはS)」と「第2集合(UまたはS)」との「共通部分(S12)」に属する秘密計算装置32−κ(ただし、κ∈{0,…,N−1})の分散値復元部326−κが互いに通信を行い、「共通部分(S12)」の補集合に属する秘密計算装置32−θ(ただし、θ∈{0,…,N−1}かつθ≠κ)の対象データの秘密分散値[bθ,…,[bM−1θおよびクエリまたはクエリの秘密分散値[qθ,…,[qJ−1θを復元する。この復元は、例えばラグランジュ補間によって行われる。例えば、「共通部分(S12)」に属する信頼できる特定の秘密計算装置32−κ’の分散値復元部326−κ’に対し、「共通部分(S12)」に属するその他の秘密計算装置32−κの分散値復元部326−κが[bκ,…,[bM−1κおよび[qκ,…,[qJ−1κを送る。秘密計算装置32−κ’は、これらを用い、ラグランジュ補間によって、[bθ,…,[bM−1θおよび[qθ,…,[qJ−1θを復元し、記憶部122−κ’に格納する(ステップS35)。
「共通部分(S12)」に属する秘密計算装置32−κ(ただし、κ∈{0,…,N−1})は、整合性検証に合格した[bκ,…,[bM−1κを用い、整合性検証に合格した[qκ,…,[qJ−1κに応じた秘密計算を行って演算結果の秘密分散値[rκ,…,[rW−1κを得る。復元された[bθ,…,[bM−1θおよび[qθ,…,[qJ−1θを保持する秘密計算装置32−κは、さらに、復元された[bθ,…,[bM−1θを用い、復元された[qκ,…,[qJ−1κに応じた秘密計算を行って演算結果の秘密分散値[rθ,…,[rW−1θを得る。本形態でも、改ざん検知付秘密計算(例えば、参考文献2)が用いられる(ステップS26)。その後、分析装置13と秘密計算装置32−nとが、第1実施形態で説明したステップS17およびS18と同じ処理を実行する。ただし、[rθ,…,[rW−1θは、分析装置13に送られてもよいし、送られなくてもよい。「共通部分(S12)」の要素数が演算結果を復元するために必要な秘密分散値の個数K以上である場合のみにステップS35,S36,S17,S18の処理が実行され、そうでない場合に処理をエラー終了させてもよい。
[第4実施形態]
第4実施形態では、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行う。
<構成>
図1に例示するように、本形態の秘密計算システム4は、登録装置11、N個の秘密計算装置42−1,…,42−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置42−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部423−n、秘密計算部124−n、および出力部125−nを有する。
<処理>
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
登録装置11と秘密計算装置42−nとが、第1実施形態で説明したステップS11およびS12の処理を実行する。ただし、本形態ではステップS12の処理が省略されてもよい。
「保管処理」
秘密計算装置42−nが、第1実施形態で説明したステップS13の処理を実行する。ただし、本形態ではステップS13での整合性検証の処理が省略されてもよい。
「分析処理」
まず、分析装置13と秘密計算装置42−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、N個の秘密計算装置42−n(ただし、n=0,…,N−1)の整合性検証部423−nが互いに通信し、対象データの秘密分散値[b,…,[bM−1およびクエリまたはクエリの秘密分散値を[q,…,[qJ−1の整合性検証をまとめて行う。すなわち、整合性検証部423−nは、[b,…,[bM−1,[q,…,[qJ−1を対象として整合性検証をまとめて行う。例えば、整合性検証部423−nは、I:=Nとし、i:=nとし、Y:=M+Jとし、([a,…,[aY−1):=([b,…,[bM−1,[q,…,[qJ−1)とし、前述のステップS1201〜S1212の方法で整合性検証を行う。この場合も、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報([b,…,[bM−1,[q,…,[qJ−1)を撹乱させた情報の整合性検証が行われてもよい。この整合性検証が合格である場合、[b,…,[bM−1,[q,…,[qJ−1が記憶部122−nに保持される。一方、この整合性検証が不合格である場合、[b,…,[bM−1,[q,…,[qJ−1が記憶部122−nから削除され、ステップS11の処理に戻すか、処理をエラー終了させる(ステップS45)。その後、第1実施形態のステップS16〜S18の処理が実行される。
なお、第2実施形態または第3実施形態のステップS25の整合性検証に代え、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証がまとめて行われてもよい。すなわち、N個の秘密計算装置42−nの整合性検証部423−nでの整合性検証が不合格であった場合、N個の秘密計算装置42−n(ただし、n=0,…,N−1)からなる集合の真部分集合Sに属する秘密計算装置42−u(ι)の整合性検証部423−u(ι)が、[bu(ι),…,[bM−1u(ι),[qu(ι),…,[qJ−1u(ι)を対象として整合性検証を行ってもよい。
[その他の変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。また、上述した各演算は有限体上の演算であってもよいし、拡大体上の演算であってもよいし、環上の演算であってもよいし、その他の代数系上での演算であってもよい。また、改ざん検知付秘密計算に代えて、改ざん検知機能を持たない秘密計算が行われてもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1〜4 秘密計算システム
11 登録装置
12−n〜42−n 秘密計算装置
13 分析装置

Claims (10)

  1. 複数個の秘密計算装置を有し、
    前記秘密計算装置のそれぞれは、
    秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
    前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
    前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
    整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
    前記演算結果の秘密分散値を出力する出力部と、
    を有し、
    前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
    前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合であり、
    前記共通部分に属する前記秘密計算装置は、前記共通部分の補集合に属する秘密計算装置の前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を復元する復元部を有する、秘密計算システム。
  2. 請求項1の秘密計算システムであって、
    前記共通部分に属する前記秘密計算装置の前記出力部は、前記共通部分の要素数が前記演算結果を復元するために必要な秘密分散値の個数以上である場合に、前記演算結果の秘密分散値を出力する、秘密計算システム。
  3. 複数個の秘密計算装置を有し、
    前記秘密計算装置のそれぞれは、
    秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
    前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
    前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
    整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
    前記演算結果の秘密分散値を出力する出力部と、
    を有し、
    前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
    前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合であり、
    前記整合性検証部が、前記全体集合の第1部分集合での前記対象データの秘密分散値の整合性検証が不合格であった場合、前記第1部分集合の真部分集合を前記第1部分集合として前記対象データの秘密分散値の整合性検証を行う第1再帰処理を行う、および/または、前記全体集合の第2部分集合での前記クエリまたは前記クエリの秘密分散値の整合性検証が不合格であった場合、前記第2部分集合の真部分集合を前記第2部分集合として前記クエリまたは前記クエリの秘密分散値の整合性検証を行う第2再帰処理を行う、秘密計算システム。
  4. 複数個の秘密計算装置を有し、
    前記秘密計算装置のそれぞれは、
    秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
    前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
    前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
    整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
    前記演算結果の秘密分散値を出力する出力部と、
    を有し、
    前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
    前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合であり、
    前記整合性検証部が、前記全体集合の第3部分集合での前記対象データの秘密分散値の整合性検証が不合格であった場合、前記第3部分集合の真部分集合と前記第3部分集合の補集合の部分集合との和集合を前記第3部分集合として前記対象データの秘密分散値の整合性検証を行う第3再帰処理を行う、および/または、前記全体集合の第4部分集合での前記クエリまたは前記クエリの秘密分散値の整合性検証が不合格であった場合、前記第4部分集合の真部分集合と前記第4部分集合の補集合の部分集合との和集合を前記第4部分集合として前記クエリまたは前記クエリの秘密分散値の整合性検証を行う第4再帰処理を行う、秘密計算システム。
  5. 請求項1からの何れかの秘密計算システムであって、
    前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の整合性検証をまとめて行う、秘密計算システム。
  6. 請求項の秘密計算システムであって、
    前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行う、秘密計算システム。
  7. 複数個の秘密計算装置を有し、
    前記秘密計算装置のそれぞれは、
    秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
    前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
    前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
    整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
    前記演算結果の秘密分散値を出力する出力部と、
    を有し、
    前記整合性検証部は、
    前記複数個の秘密計算装置を要素とする全体集合の部分集合で得られた複数個の任意値の合成値sを得る合成部と、
    前記合成値sの関数値を係数とし、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]を得る線形結合部と、
    前記線形結合値[c]に応じた秘密分散値[d]を他の秘密計算装置に配送して整合性検証を行う検証部と、を含む、秘密計算システム。
  8. 請求項の秘密計算システムであって、
    前記整合性検証部は、
    乱数秘密分散値[R]を得る撹乱値設定部と、
    前記乱数秘密分散値[R]で前記線形結合値[c]を撹乱させた前記秘密分散値[d]を得る撹乱部と、を含む、秘密計算システム。
  9. 請求項1から8の何れかの前記秘密計算システムが有する秘密計算装置。
  10. 請求項の秘密計算装置としてコンピュータを機能させるためのプログラム。
JP2015147774A 2015-07-27 2015-07-27 秘密計算システム、秘密計算装置、およびプログラム Active JP6034927B1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015147774A JP6034927B1 (ja) 2015-07-27 2015-07-27 秘密計算システム、秘密計算装置、およびプログラム
PCT/JP2016/071221 WO2017018285A1 (ja) 2015-07-27 2016-07-20 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
EP16830390.7A EP3330880B1 (en) 2015-07-27 2016-07-20 Secure computation system, secure computation device, secure computation method, and program
CN201680042855.8A CN107851164B (zh) 2015-07-27 2016-07-20 秘密计算系统、秘密计算装置、秘密计算方法和存储介质
US15/745,595 US10867018B2 (en) 2015-07-27 2016-07-20 Secure computation system, secure computation device, secure computation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015147774A JP6034927B1 (ja) 2015-07-27 2015-07-27 秘密計算システム、秘密計算装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP6034927B1 true JP6034927B1 (ja) 2016-11-30
JP2017028617A JP2017028617A (ja) 2017-02-02

Family

ID=57419916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015147774A Active JP6034927B1 (ja) 2015-07-27 2015-07-27 秘密計算システム、秘密計算装置、およびプログラム

Country Status (5)

Country Link
US (1) US10867018B2 (ja)
EP (1) EP3330880B1 (ja)
JP (1) JP6034927B1 (ja)
CN (1) CN107851164B (ja)
WO (1) WO2017018285A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7457131B2 (ja) 2021-01-10 2024-03-27 グーグル エルエルシー プライバシーを守る機械学習ラベリング

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
MX2018010056A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Un metodo y sistema para asegurar software de computadora usando un cuadro hash distribuido y una cadena de bloques.
JP6515246B2 (ja) 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
BR112018016805A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método e sistema para transferência eficiente de criptomoeda associada com um pagamento em um blockchain que leva a um pagamento automatizado, método e sistema com base em contratos inteligentes
CN108780548B (zh) 2016-02-23 2022-08-05 区块链控股有限公司 将椭圆曲线加密用于个人装置安全以共享秘密
WO2017145006A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
AU2017222470B2 (en) 2016-02-23 2023-01-12 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
CN109314636B (zh) 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
CN116739778A (zh) 2016-02-23 2023-09-12 区块链控股有限公司 具有令牌化的基于区块链的交换
JP6511201B1 (ja) 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法
SG11201806713SA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd Blockchain-implemented method for control and distribution of digital content
CN114282928A (zh) * 2016-02-23 2022-04-05 恩链控股有限公司 基于区块链系统结合钱包管理系统的加密密钥存储和转移
MX2018010048A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Sistema universal de tokenizacion para criptomonedas basadas en cadena de bloques.
SG11201806784UA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd System and method for controlling asset-related actions via a blockchain
US11042358B2 (en) * 2016-08-18 2021-06-22 Nec Corporation Secure computation system, secure computation method, secure computation apparatus, distribution information generation apparatus, and methods and programs therefor
EP3651141B1 (en) * 2017-07-05 2021-12-08 Nippon Telegraph and Telephone Corporation Secure computing system, secure computing device, secure computing method, program, and recording medium
US11537726B2 (en) 2017-12-18 2022-12-27 Nippon Telegraph And Telephone Corporation Secret computation system and method
US20220271933A1 (en) * 2021-02-19 2022-08-25 Samsung Electronics Co., Ltd. System and method for device to device secret backup and recovery

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120002811A1 (en) * 2010-06-30 2012-01-05 The University Of Bristol Secure outsourced computation
US20120070000A1 (en) * 2010-09-22 2012-03-22 Alcatel-Lucent Usa Inc Securing Two-Party Computation Against Malicious Adversaries
US20120233460A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Server-aided multi-party protocols
WO2014052113A1 (en) * 2012-09-28 2014-04-03 Alcatel Lucent Input consistency verification for two-party secure function evaluation
JP2014137474A (ja) * 2013-01-17 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 改ざん検知装置、改ざん検知方法、およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625692A (en) 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
WO2002087145A1 (en) * 2001-03-16 2002-10-31 International Business Machines Corporation Method of verifiably sharing a secret in potentially asynchronous networks
US7187772B2 (en) * 2001-08-31 2007-03-06 Hewlett-Packard Development Company, L.P. Anonymous transactions based on distributed processing
EP3010174A1 (en) * 2006-11-07 2016-04-20 Security First Corp. Systems and methods for distributing and securing data
WO2009093603A1 (ja) * 2008-01-21 2009-07-30 Nippon Telegraph And Telephone Corporation 秘密計算システム
US8527758B2 (en) * 2009-12-09 2013-09-03 Ebay Inc. Systems and methods for facilitating user identity verification over a network
KR101456579B1 (ko) * 2010-07-23 2014-10-31 니폰 덴신 덴와 가부시끼가이샤 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체
CN103309902A (zh) * 2012-03-16 2013-09-18 多玩娱乐信息技术(北京)有限公司 一种社交网络中用户信息存储和查找的方法和装置
JP5885840B2 (ja) * 2012-07-05 2016-03-16 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
JP6008316B2 (ja) * 2012-08-24 2016-10-19 パナソニックIpマネジメント株式会社 秘密分散装置および秘密分散プログラム
US9111071B2 (en) * 2012-11-05 2015-08-18 Sap Se Expression rewriting for secure computation optimization
US9960919B2 (en) * 2013-01-08 2018-05-01 Bar-Ilan University Method for providing security using secure computation
US9286488B2 (en) * 2013-03-13 2016-03-15 Northrop Grumman Systems Corporation System and method for secure database queries
US9747456B2 (en) * 2013-03-15 2017-08-29 Microsoft Technology Licensing, Llc Secure query processing over encrypted data
US10114851B2 (en) * 2014-01-24 2018-10-30 Sachet Ashok Shukla Systems and methods for verifiable, private, and secure omic analysis
ES2949399T3 (es) * 2014-11-12 2023-09-28 Calctopia Ltd Computación segura multiparte en hojas de cálculo
JP6493522B2 (ja) * 2015-05-07 2019-04-03 日本電気株式会社 秘密計算データ利用システムと方法と装置並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120002811A1 (en) * 2010-06-30 2012-01-05 The University Of Bristol Secure outsourced computation
US20120070000A1 (en) * 2010-09-22 2012-03-22 Alcatel-Lucent Usa Inc Securing Two-Party Computation Against Malicious Adversaries
US20120233460A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Server-aided multi-party protocols
WO2014052113A1 (en) * 2012-09-28 2014-04-03 Alcatel Lucent Input consistency verification for two-party secure function evaluation
JP2014137474A (ja) * 2013-01-17 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 改ざん検知装置、改ざん検知方法、およびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Kaizan Kenchi Kinotsuki no Jitsuyoteki na Himitsu Keisan System MEVAL 2 [MEVAL2: A Practically Efficient MPC System with Unanimous Abort]", 2015 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU; 20-23/01/2015, 20 January 2015 (2015-01-20), JAPAN, pages 1 - 8, XP009508709 *
JPN6016031056; 千田浩司 他: 'クラウドビジネスを支えるセキュリティ基盤技術' NTT技術ジャーナル 第26巻 第3号, 20140301, p.67-70 *
JPN6016031057; 志村正法 他: '秘密分散データベースの構造演算を可能にするマルチパーティプロトコルを用いた関係代数演算' 情報処理学会論文誌 第51巻 第9号, 20100915, p.1563-1578, 一般社団法人情報処理学会 *
JPN6016031061; 桐淵直人 他: '定数ラウンド完全一致検索のための秘密計算プロトコル' 2014年暗号と情報セキュリティシンポジウム講演論文集 , 20140121, p.1-7 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7457131B2 (ja) 2021-01-10 2024-03-27 グーグル エルエルシー プライバシーを守る機械学習ラベリング

Also Published As

Publication number Publication date
EP3330880A1 (en) 2018-06-06
WO2017018285A1 (ja) 2017-02-02
CN107851164A (zh) 2018-03-27
US20180225431A1 (en) 2018-08-09
EP3330880A4 (en) 2019-02-20
EP3330880B1 (en) 2020-02-26
JP2017028617A (ja) 2017-02-02
CN107851164B (zh) 2021-06-08
US10867018B2 (en) 2020-12-15

Similar Documents

Publication Publication Date Title
JP6034927B1 (ja) 秘密計算システム、秘密計算装置、およびプログラム
Tan et al. A survey on proof of retrievability for cloud data integrity and availability: Cloud storage state-of-the-art, issues, solutions and future trends
Li et al. OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices
CN110800250B (zh) 受控加密私钥的发布
KR20190138803A (ko) 블록체인을 사용해서 데이터 레코드를 분산하기 위한 시스템 및 방법
KR20160030874A (ko) 행렬 인수분해에 기초한 등급 기여 사용자들에게로의 추천을 프라이버시-보호하기 위한 방법 및 시스템
KR20160041028A (ko) 프라이버시 보호 행렬 분해를 위한 방법 및 시스템
CN111556120A (zh) 基于区块链的数据处理方法、装置、存储介质及设备
KR102537774B1 (ko) 기밀 지식의 특화된 증명을 제공하는 시스템들 및 방법들
JP7201848B2 (ja) 時間データの取得または操作を防止しながらネットワークデータのシーケンスを生成すること
JP7155437B2 (ja) 暗号化されたネットワーク値の集約
JP6632959B2 (ja) 検証システム、検証方法及び検証プログラム
Tu et al. Privacy-preserving outsourced auditing scheme for dynamic data storage in cloud
Hwang et al. Data error locations reported by public auditing in cloud storage service
JP2023554148A (ja) 機密データのブロック
KR20220140759A (ko) 분류 정확도를 향상시키기 위한 기계 학습 모델링 데이터의 처리
CN111143381B (zh) 用于更新多层块链式结构中的信任点的方法及装置
Wei et al. Efficient dynamic replicated data possession checking in distributed cloud storage systems
Bezuidenhout et al. Permissionless blockchain systems as pseudo-random number generators for decentralized consensus
Mishra et al. Enabling efficient deduplication and secure decentralized public auditing for cloud storage: A redactable blockchain approach
JP2022177209A (ja) 複数の集約サーバを使用してデータ操作を防止すること
Duan et al. Practical distributed privacy-preserving data analysis at large scale
CN111159286B (zh) 用于生成多层块链式结构的方法及装置
Rao et al. Dynamic outsourced proofs of retrievability enabling auditing migration for remote storage security
CN116830181A (zh) 服务提供系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161028

R150 Certificate of patent or registration of utility model

Ref document number: 6034927

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150