(57)【要約】      （修正有）【課題】データがクライアントによってサーバーにアウトソーシングされるような、第三者によるデータの処理においても、データをセキュアに保つ方法を提供する。【解決手段】クライアントにおけるイベントに基づいてクライアントにおいてデータを生成する。ここで、各イベントは第１の次元、第２の次元、及び量に関連付けられる。第１の次元の間隔ごと及び第２の次元インスタンスごとに乱数値が生成される。各イベントの量は乱数値を用いて変更され、変更された量が求められる。変更された量を用いて第１の次元の間隔ごと及び第２の次元のインスタンスごとの現時点までの合計が求められ、第三者に送信される。このとき、第三者による変更された量及び現時点までの合計の正確な処理結果はクライアントによって受信し、復号化することができる。【選択図】図１Ａ
2014003602.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する方法であって、
イベントに基づいて前記データを生成するステップであって、該各イベントは第１の次元、第２の次元、及び量に関連付けられるものと、
前記第１の次元の間隔ごと及び前記第２の次元のインスタンスごとに乱数値を生成するステップと、
前記乱数値を用いて前記各イベントの前記量を変更するステップであって、変更された量を求めるものと、
前記変更された量を用いて前記第１の次元の間隔ごと及び前記第２の次元のインスタンスごとの現時点までの合計を求めるステップと、
前記変更された量及び前記現時点までの合計を信頼できない第三者に送信するステップと、
前記信頼できない第三者による前記変更された量及び前記現時点までの合計の正確な処理結果を受信するステップと、
を含み、
前記ステップはクライアントによってリアルタイムで実行される、データを処理する方法。
【請求項２】
前記結果は前記データに関する集約統計を含む、請求項１に記載の方法。
【請求項３】
前記結果は前記データに関する監査報告を含む、請求項１に記載の方法。
【請求項４】
前記信頼できない第三者は、ネットワークによって前記クライアントに接続されたサーバーである、請求項１に記載の方法。
【請求項５】
前記乱数値は暗号論的疑似乱数生成器によって生成される、請求項１に記載の方法。
【請求項６】
前記第２の次元におけるデータは暗号化される、請求項１に記載の方法。
【請求項７】
前記集約統計は重み付けされる、請求項２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、包括的にはデータをアウトソーシングすることに関し、より詳細には信頼できない第三者によってデータを処理することに関し、この処理は、データに関する集約統計及びデータに関する監査報告を求めることを含む。
【背景技術】
【０００２】
プライバシーを保護した保存
データが保存のためにクライアントによってサーバーにアウトソーシングされるとき、多くの場合に個々のデータエントリをセキュアな方法でサーバーから「隠す」ことが望ましい。換言すれば、サーバーは信頼できない第三者であり、データはサーバーに明らかにされない。
【０００３】
この理由は、クライアント情報のプライバシーを守るとともに、サーバーが、そのデータを取得及び生成するのに用いられたプロセスについての機密情報にアクセスすることを防止するためである。これらの理由によって、データは、多くの場合、サーバーにアウトソーシングする前に、セキュアな方法で変更される。
【０００４】
個々のデータエントリを「隠す」ことの別の理由は、サーバー又はサーバーにアクセスする任意の信頼できない第三者が、個々のデータを明らかにすることなくデータから(平均、分散、又は他の積率等の)集約測定値を計算することを可能にするためである。このようにして、機密データのプライバシーを保持しながら遠隔「グローバル」データ解析を可能にすることができる。
【０００５】
乱数生成
データを隠すための１つの情報理論的にセキュアな方法は、確率分布から取り出された乱数値をデータに加えるものである。例えば数値データの場合、プライバシーは、一様分布からサンプリングされた数値を用いてデータをマスキングすることによって得ることができる。これらの数値は、暗号論的擬似乱数生成器(ＣＳ−ＰＲＮＧ)を用いてサンプリングすることができる。ＣＳ−ＰＲＮＧは、シードを用いて擬似乱数列のビットを生成し、次に、このシードを用いて、所望の確率分布から数値を生成することができる。通常、これらの数値は整数である。
【０００６】
ＣＳ−ＰＲＮＧは２つの有利な特性に起因してＰＲＮＧよりも好ましい。
(１)ＣＳ−ＰＲＮＧによって出力される任意のビットを所与とすると、０．５を超える確率で多項式時間における次のビットを予測することが不可能である。
(２)ＣＳ−ＰＲＮＧが任意の時点において脅威にさらされている場合、その時点の前に生成されたシーケンスビットを再構成することは不可能である。
【０００７】
集約統計
データがサーバーから隠されても、多くの場合、サーバーが、データの一部についての概要情報を提供する集約統計を求めることを可能にすることが有益である。例えば、所与の日に所与のプリンターにおいて印刷されるページ数を求めることが望まれる場合がある。別の例として、所与の時間間隔の間、トレーダーによって実行される取引の総数を求めることが望まれる場合がある。
【０００８】
一般的な集約統計には、和、加重和、平均、加重平均、高次積率、加重高次積率等が含まれる。ランダム化応答等の技法は、個々のデータを隠すが、データに関する集約統計の推定値を求めることを可能にする。ランダム化応答は、応答の機密性を維持しながら、応答者が機密案件に応答することを可能にする方法である。
【０００９】
ランダム化応答を実施する簡単な方法は、データエントリをサーバーに送信する前に、乱数を用いて個々のデータエントリを付加的にマスキングすることである。マスキング値の分布を慎重に調整することによって、ストレージサーバーが集約統計の推定値を求めることが可能になる。しかしながら、個々のデータエントリを隠しながらサーバーが正確な集約統計を計算することを可能にするのは、特にクライアント側がデータ生成時にデータの限られたバッファリングしか実行することができないか又はバッファリングを全く実行することができない場合に非常に困難である。
【００１０】
監査
時に、クライアントは、サーバーに保存されたデータの一部に対して監査を行うことを望む場合がある。監査は、保存されたデータの一部を復元し、そのデータの完全性を検証することを指す。この情報は通常、監査報告に含まれる。監査報告を生成するために、クライアントは、変更されたデータのうちの幾つかをサーバーに要求することができる。監査報告を解釈できるようにするためには、報告内の変更されたデータをクライアントによって完全に元に戻せるべきである。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
この発明の実施の形態は、信頼できない第三者によるデータのセキュアな処理のための方法を提供する。本方法は暗号論的疑似乱数生成器を用いる。
【課題を解決するための手段】
【００１２】
実施の形態は、クライアントデータが信頼できないサーバーにアウトソーシングされて結果が生成されることを可能にする方法を提供する。この結果は、そのデータに関する正確な集約統計と、そのデータに関する監査報告と、を含むことができる。双方の場合に、サーバーは変更されたデータを処理して正確な結果を生成するのに対し、基礎となるデータ及び結果はサーバーに明らかにされない。
【発明の効果】
【００１３】
この発明は、サーバーが推定値又は近似値のみでなく正確な結果を求めることができるという意味で従来技術による方法と異なる。
【図面の簡単な説明】
【００１４】
【図１Ａ】この発明の実施の形態によるシステムのブロック図である。
【図１Ｂ】この発明の実施の形態が動作するイベント例の表である。
【図２】図１Ｂのイベント例の集約統計の表である。
【図３Ａ】図１Ｂのイベントに関する変更されたデータの表である。
【図３Ｂ】図１Ｂのイベントに関する変更されたデータの表である。
【図３Ｃ】図１Ｂのイベントに関する変更されたデータの表である。
【図４Ａ】図１Ｂのイベントに関する変更されたデータの表である。
【図４Ｂ】図１Ｂのイベントに関する変更されたデータの表である。
【図４Ｃ】図１Ｂのイベントに関する変更されたデータの表である。
【図５】各イベントのための正確な集約統計の表である。
【図６】この発明の実施の形態による、クライアントにおいてデータを変更してそのデータに関する正確な集約統計を生成するための方法の流れ図である。
【図７】この発明の実施の形態による、サーバーにおいて記憶されたクライアントデータに関する監査報告を生成するための方法の流れ図である。
【発明を実施するための形態】
【００１５】
この発明の実施の形態は、クライアント１０によって生成されたデータ５をサーバー２０において処理して結果２４を生成する方法を提供する。サーバーは信頼できない第三者であると仮定される。結果はデータに関する正確な集約統計２５又はデータに関する正確な監査報告２６とすることができる。クライアント及びサーバーはネットワーク２８によって接続される。
【００１６】
クライアントは、データがサーバーに明らかにされていないにもかかわらず、サーバーによってデータに関する正確な集約統計２５を求めることができるようにデータを変更する。通常、データはイベントに関する。各イベントは関連付けられた第１の次元、及び第２の次元、及び量を有する。クライアント及びサーバーは、メモリ及び入出力インターフェースに接続された、本方法のステップを実行するプロセッサを有する。
【００１７】
図１Ａに示すように、金融用途について実施の形態が説明される。この例では、イベントは取引であり、第１の次元は時刻であり、第２の次元はトレーダー名であり、量は株式である。この発明は任意のデータタイプに用いることができることを理解されたい。
【００１８】
例えば、小売環境では、イベントは商品の売上とすることができ、第１の次元は商品の種類とすることができ、第２の次元は売り手又は買い手の名前とすることができ、量は商品数である。
【００１９】
調査用途では、第１の次元は特定の回答タイプとすることができ、第２の次元は回答者とすることができ、量は回答値、例えば平均収入とすることができる。
【００２０】
データは更なる次元を含むことができることを理解すべきである。
【００２１】
金融用途では、データは、時刻(第１の次元)１０１において個々のトレーダー(第２の次元)１０２によって取り引きされた株式の量１０３を含む。第１の列は取引時刻を示す。第２の列は取引を実行中のトレーダーを挙げ、第３の列は株式のうちの取引された株式の量(１００単位)を挙げる。データはクライアントにおいてリアルタイムで生成される。
【００２２】
１時間ごとの時間間隔１０４、すなわち第１の次元の正確な統計を集約することが望ましい。さらに、データがサーバーに送信され、サーバーにおいてリアルタイムで保存され、それによってシステム障害に対するデータの損失が最小にされ、最新の結果が任意の時点で入手可能となる。
【００２３】
イベントが生じると、図１Ｂの表に行がリアルタイムで追加される。この発明の目的は、プライバシーを保護した方式でデータを変更し、このデータをリアルタイムで保存するためにサーバーに送信することである。また、サーバーがクライアントによって要求されたときに、変更されたデータに関する正確な集約統計を求めることを可能にし、クライアントが任意の時点において監査報告を要求することによってサーバーに保存されたデータを監査することを可能にすることも目的である。
【００２４】
図２は、生の(暗号化されていない)データ形式での集約統計、すなわち、トレーダーによって１時間間隔の間に取り引きされた株式の総量２０１の例を示している。他の統計、例えば、和、加重和、平均、加重平均、高次積率、加重高次積率等が可能である。
【００２５】
全てのデータがアウトソーシングされる場合、クライアントがデータに関する集約統計を求めることが困難となる。また、全てのデータが従来の方式でセキュアに変更された場合、サーバーがこのタスクを実行することが不可能である場合もある。
【００２６】
図３Ａ〜図３Ｃ及び図４Ａ〜図４Ｃは、この発明の実施の形態により、以下のステップを用いてデータをどのように変更することができるかを示している。
【００２７】
図６は、この発明の実施の形態による、クライアントによってデータを処理する一般的な方法を示し、図７はサーバーによって用いられる方法を示している。
【００２８】
方法ステップ
この例では、第１の次元は時間間隔であり、対象となる間隔は１時間である。他の時間間隔を単独で用いることもできるし、同時に用いることもできることを理解されたい。本方法のステップは、当該技術分野において既知のメモリ及び入出力インターフェースに接続されたプロセッサにおいて実行することができる。クライアントに１つのプロセッサが存在し、サーバーにおいて別のプロセッサが存在することができる。クライアント及びサーバーは、当該技術分野において既知のネットワーク２８を用いて互いに通信することができる。
【００２９】
乱数値の生成
６．１  図３Ａ並びに図６及び図７に示すように、各１時間間隔の開始時に、暗号論的疑似乱数生成器(ＣＳ−ＰＲＮＧ)を用いてトレーダーごとに少なくとも１つの乱数値(ＲＶ)１１１が生成される(５１０)。この例は株式の量に関係するので、乱数値は非負の整数である。換言すれば、第１の次元(時間間隔)及び関連付けられた第２の次元(トレーダー)のインスタンスごとに乱数が存在する。
【００３０】
１つの実施の形態では、乱数値は０とＸとの間で一様分布する。ここで、Ｘは大きな整数である。任意の日に取り引きされた株式の最大量が５０００である場合、Ｘ＝５０００／１００＝５０である。乱数値は他の数値又は非数値とすることができることに留意されたい。
【００３１】
量の変更
単一取引
６．２Ａ  図１Ｂに示すようにトレーダーのボブが１０：１４に７株を取り引きするとき、取り引きされた株式の量１０３に、そのトレーダー及び間隔の乱数値１１１、例えば図３Ａに示すように２が加えられ(５２０)、取り引きされた株式の変更された量１２１、例えば図４Ａに示すように９が得られる。
【００３２】
取引なし
６．２Ｂ  所与のトレーダーが特定の１時間の間隔中に取引を行わない場合、時刻１０１をランダムに選択し、取り引きされた株式の変更された量として乱数値１１１を入力し、その間隔の表内にそのトレーダーのランダム入力３０１を挿入する。例えば、チャーリーは午前１０時〜午前１１時に取引を一切行わない。チャーリーについて生成された乱数値は１３である。その１時間間隔において時刻、例えば図３Ａでは１０：４６がランダムに選択され、１３の乱数値が図４Ａにおいて株式の変更された量として用いられる。
【００３３】
複数取引
６．２Ｃ  トレーダーが１時間の間隔中に２つ以上の取引を実行する場合、ステップ１でのようにＣＳ−ＰＲＮＧを用いてそのトレーダーのための新たな乱数値を生成し、ステップ２でのように株式の変更された量を求める。例えば、デビッドは午前１１時と午前１２時との間に２つの取引、すなわち午前１１：１９に９株式及び午前１１：５９に４株式の取引を行う。この場合、２つの時刻のそれぞれにおいてデビッドのために乱数値が生成される。すなわち、図３Ａに示すように時刻午前１１：１９において量１１及び時刻午前１１：５９において量７が生成される。これは株式の真の量１０３に加えられ、株式の変更された量１２１が生成される。これは図４Ａに示すように、午前１１：１９において２０株であり、午前１１：５９において１１株である。
【００３４】
合計
間隔
６．３Ａ  図３Ｃに示すように、全てのトレーダーにわたって時間間隔ごとに乱数値の合計３０２が求められる(５３０)。時間間隔の終了時点において、この合計がサーバーに送信される。例えば、午前１０時〜午前１１時の時間間隔の全ての乱数値を加えることによって４８が得られる。このため、午前１１時に量４８がサーバーに送信される。この数は、この発明の実施の形態に従ってサーバーによって正確な集約統計を求めるのに用いることができる。
【００３５】
トレーダー
６．３Ｂ  図３Ｂに示すように、全ての時間間隔にわたってトレーダーごとに乱数値の合計３０３が求められる(３３０)。全ての時間間隔の終了時点において、この合計がサーバーに送信される。例えば、アリスに対する全ての乱数値を加えることによって５０が得られる。このため、すべての取引が完了する午後１時に数５０がサーバーに送信される。この数は、サーバーによって正確な集約統計を求めるのに用いる。
【００３６】
トレーダー名を隠したままにしておくことが望ましい場合、名前は暗号化される。例えば、名前「アリス」、「ボブ」、「チャーリー」、及び「デビッド」は、対称鍵暗号システム、公開鍵暗号システムを用いて暗号化することもできるし、Ａ＊＊＊、Ｂ＊＊＊、Ｃ＊＊＊、Ｄ＊＊＊等として匿名にすることもできる。
【００３７】
本方法の終了時点において、サーバーは以下の意味において隠された(暗号化された)データしか有しない。すなわち、所望の場合にトレーダー名が隠され、任意のタイムスタンプにおいて取り引きされた株式の量、したがって任意の所与の時間間隔において任意のトレーダーにおいて取り引きされた株式の量が隠される。本明細書において用いられるとき、「隠された」とは、データがサーバー、又はクライアントを除く任意の他者に明らかにされないようにクライアントによってセキュアな方法で暗号化されることを意味する。
【００３８】
サーバーにおいて隠されたデータから正確な集約統計を求める
上述したように、サーバーは変更されたデータを図４Ａに示す形態で保存する。これによって、サーバーが図５に示すように正確な統計を集約することが可能になる。名前及び量がサーバーから隠されているが、集約統計は正確である。
【００３９】
図７は、サーバーにおいて統計を集約するための方法を示している。
(３)  ７．１  図４Ａの全ての隠されたトレーダーごとに、各１時間の間隔において変更された取引量３０３を合算し(７１０)、図５の表内に入力する。
(４)  ７．２  時間間隔毎の乱数値を表内の行として入力する(７２０)。
(５)  ７．３  トレーダーの乱数値の合計を表内に列として入力する(７３０)。
(６)  ７．４  行ごとの総和を実行して(７４０)全ての時間間隔にわたって各トレーダーによって取り引きされた株式の集約量を得る。
(７)  ７．５  列ごとの総和を実行して(７５０)全てのトレーダーにわたって各時間間隔において取り引きされた株式の集約量を得る。
【００４０】
サーバーが隠された(暗号化された)正確な集約統計２５をクライアントに送信すると、クライアントは図５に示すように様々な乱数値を減算して正確な集約を復元することができる。同様の逆演算を監査報告について行うことができる。
【００４１】
正確性の証明
次に、量がランダム化されているにもかかわらず、変更された量を用いた集約統計が正確であることを検証する。
【００４２】
第１の次元にｉ人のトレーダーが存在し、第２の次元にｊ個の時間間隔が存在する。時間間隔ｊにおけるｋ番目の取引においてトレーダーｉによって取り引きされた株式の元の量はｘ(ｉ，ｊ，ｋ)である。時間間隔ｊにおけるｋ番目の取引についてトレーダーｉのためにＣＳ−ＰＲＮＧから得られた乱数値はｎ(ｉ，ｊ，ｋ)である。
【００４３】
次に、ｋ個のイベントの対象となる集約統計が、各トレーダーｉについて
【００４４】
【数１】
2014003602.tif 000003
【００４５】
によって与えられ、各時間間隔ｊについて
【００４６】
【数２】
2014003602.tif 000004
【００４７】
によって与えられる。
【００４８】
サーバーにおいて、図４Ａの値はｘ(ｉ，ｊ，ｋ)＋ｎ(ｉ，ｊ，ｋ)である。サーバーは図３Ｂ内の値も有し、これは各トレーダーｉについて
【００４９】
【数３】
2014003602.tif 000005
【００５０】
である。
【００５１】
サーバーは図３Ｃ内の値も有し、これは各時間間隔ｊについて
【００５２】
【数４】
2014003602.tif 000006
【００５３】
である。
【００５４】
集約統計を求めるために、サーバーは以下のステップを実行する。
１)所与のトレーダーによって全ての時間間隔にわたって取り引きされた株式の量は以下である。
【００５５】
【数５】
2014003602.tif 000007
【００５６】
(８)  ２．所与の時間間隔中に全てのトレーダーにわたって取り引きされた株式の量は以下である。
【００５７】
【数６】
2014003602.tif 000008
【００５８】
加重統計への拡張
本方法は、以下の形態の加重集約を求めるように拡張することができる。
各トレーダーｉについて
【００５９】
【数７】
2014003602.tif 000009
【００６０】
及び、各時間間隔ｊについて
【００６１】
【数８】
2014003602.tif 000010
【００６２】
ここで、重みａ(ｉ，ｊ，ｋ)及びｂ(ｉ，ｊ，ｋ)はサーバーに知られている。
【００６３】
加重集約は、図３Ｂ及び図３Ｃにおける値が求められる方法を変更することによって求められる。
【００６４】
詳細には、上記のＵｉの関係を用いて図３Ｂにおける値を得るか又は同等に図４Ｂにおける値を得る代わりに、以下の式を用いて値を求める。
各トレーダーｉについて
【００６５】
【数９】
2014003602.tif 000011
【００６６】
同様に、上記のＴｊの関係を用いて図３Ｃにおける値を得るか又は同等に図４Ｃにおける値を得る代わりに、以下の式を用いて値を求め、
各時間間隔ｊについて
【００６７】
【数１０】
2014003602.tif 000012
【００６８】
そして正確性の証明は上記と同じである。
【００６９】
ゼロ合計乱数値を用いる方式を上回る利点
始めはより単純に見える場合がある或る方法は、図３Ｂにおける量が全ゼロになるように、乱数値を正及び負となるように選択する。このため、全ての時間間隔にわたる所与のトレーダーの乱数値は加算するとゼロになり、全てのトレーダーにわたる所与の時間間隔の乱数値も加算するとゼロになる。利点として、サーバーによって集約統計を求めるのが容易である。図３Ｂ及び図３Ｃ内の全ての値がゼロである場合、全ての時間間隔において或るトレーダーによって取り引きされた株式の量は、全ての時間間隔におけるそのトレーダーの変更された株式の量を加算することによって得られる。さらに、所与の１時間の間隔において取り引きされた株式の量は、その時間間隔における全てのトレーダーの変更された株式の量を合算することによって得られる。
【００７０】
しかしながら、このより単純な方法は以下の不利な点を有する。
１．負の乱数値は望ましくない場合があり、真の値に関する情報を漏洩する場合がある。
２．乱数値が相殺されることを確実にするために、乱数値を生成するのに時間間隔の終了時点まで待機する必要があり、もはやリアルタイムの処理が可能でなく、これによってこの方法がシステム障害に対し脆弱となる。
【００７１】
例えば、午前１０：１５に取引が存在し、午後１１：２０まで他の取引が存在しない場合、クライアントは午前１１：００まで４５分待機して、午前１０時〜午前１１時の時間間隔において全ての他のトレーダーの全ての乱数値を相殺する、午前１０：１５の取引のための乱数値を生成しなくてはならない。これは、特にクライアントとサーバーとの間にネットワーク接続の損失が存在する場合、又は最終の取引に関する情報が失われる可能性がある電力損失が存在する場合に望ましくない場合がある。したがって、データが利用可能になったときに情報をリアルタイムで送信し処理することが望ましい。
【００７２】
乱数値は、全ての時間間隔にわたる所与のトレーダーについての全ての乱数値が合算するとゼロになり、全てのトレーダーにわたる所与の時間間隔内の全ての乱数値が合算するとゼロになるという判断基準を満たすように全て予め決めることができるように見える場合がある。これは、所与の時間間隔における所与のトレーダーによる取引が事前に知られていることを仮定する。しかしながら、実際は、取り引きされる株式の時刻及び量に関する事前の知識は存在しない。このため、乱数値の予め決められた行列を生成することは不可能である。
【００７３】
この発明は主に、それに基づいて集約測定値が求められることになるデータベースのデータエントリをサーバーからセキュアな状態で保持することに関する。これらの例には、取り引きされる株式の量、アクセスされるウェブページ数、電子メール内の或る特定の語の発生数、生体データ等が含まれる。
【００７４】
汎化、対称鍵暗号等を用いてトレーダー名、アドレス等のテキスト情報も隠すことができる。これらは完全にするために実施の形態例に含まれる。
【００７５】
監査
本明細書において説明される方法は、クライアントが任意の時点においてサーバーに保存された変更されたデータに対し監査を実行することも可能にする。監査はデータに対する幾つかのタイプの検査を含むことができる。本明細書において、監査とは、クライアントが監査報告内の元のデータの一部分を取り出し、必要に応じてデータの関数を求めることを可能にする動作を指す。
【００７６】
元のデータの部分、すなわち変更前の量を取り出すために、クライアントは、トレーダー名、アドレス等を暗号化するのに用いられた鍵を用いる。監査中、クライアントは特定の間隔について暗号化されたデータをサーバーに要求し、次に暗号化を逆に行い、トレーダー名、アドレス、及び他の英数字の文字列を復元する。
【００７７】
一方、この発明の主な焦点は、データがサーバーに送信される前にＣＳ−ＰＲＮＧを用いて変更されたデータの復元にある。本明細書において説明される方法はＣＳ−ＰＲＮＧを用いて各数値を個々に隠すので、クライアントがＣＳ−ＰＲＮＧのシード及び所望の数値に対応する時刻を有する限り、元の値を復元することが可能である。
【００７８】
元の量を取り出すために、クライアントは以下のステップを実行する。
１．監査報告においてサーバーから幾つかの又は全ての変更されたデータを取り出す。
２．適切なシード及び状態情報を用いてＣＳ−ＰＲＮＧを再実行して乱数値を再生する。状態情報の例は、監査されているデータに対応するタイムスタンプである。
３．監査報告における変更されたデータから乱数値を減算して元のデータを復元する。
【００７９】
暗号化を用いたセキュリティの増大
上記の実施の形態を僅かに変更して、ストレージサーバーが集約統計の正確な値ではなく、集約統計の加法シェア(additive share)しか計算することができないことを確実にすることができる。これは、復号鍵がクライアントにしか利用可能でない任意の対称暗号化方式又は非対称暗号化方式を用いてＵｉ及びＴｊの値を暗号化することによって達成される。これらの暗号化された値はサーバーに保存されるが、サーバーによって用いることができない。
【００８０】
この変更により、サーバーはもはや集約統計を計算することができない。なぜなら、サーバーは現時点までの総和からＵｉ及びＴｊの値を減算することができないためである。この方法は、サーバーによって計算される量が、真の集約統計の加法シェアであり、真の集約統計から概して独立していることを確実にする。
【００８１】
真の集約統計を計算するために、サーバーは加法シェアをクライアントに送信し、Ｕｉ及びＴｊの暗号化もクライアントに送信する。次に、クライアントはＵｉ及びＴｊを復号化し、上記で説明したようにＡ(trader i)及びＺ(trader j)によって与えられる集約統計を計算する。
【図１Ａ】
2014003602.tif 000013
【図１Ｂ】
2014003602.tif 000014
【図２】
2014003602.tif 000015
【図３Ａ】
2014003602.tif 000016
【図３Ｂ】
2014003602.tif 000017
【図３Ｃ】
2014003602.tif 000018
【図４Ａ】
2014003602.tif 000019
【図４Ｂ】
2014003602.tif 000020
【図４Ｃ】
2014003602.tif 000021
【図５】
2014003602.tif 000022
【図６】
2014003602.tif 000023
【図７】
2014003602.tif 000024
【手続補正書】
【提出日】平成25年7月26日(2013.7.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
図７は、サーバーにおいて統計を集約するための方法を示している。
(１)  ７．１  図４Ａの全ての隠されたトレーダーごとに、各１時間の間隔において変更された取引量３０３を合算し(７１０)、図５の表内に入力する。
(２)  ７．２  時間間隔毎の乱数値を表内の行として入力する(７２０)。
(３)  ７．３  トレーダーの乱数値の合計を表内に列として入力する(７３０)。
(４)  ７．４  行ごとの総和を実行して(７４０)全ての時間間隔にわたって各トレーダーによって取り引きされた株式の集約量を得る。
(５)  ７．５  列ごとの総和を実行して(７５０)全てのトレーダーにわたって各時間間隔において取り引きされた株式の集約量を得る。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
２)所与の時間間隔中に全てのトレーダーにわたって取り引きされた株式の量は以下である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2014003602.tif 000025
【外国語明細書】
2014003602.tif 000026
2014003602.tif 000027
2014003602.tif 000028
2014003602.tif 000029
2014003602.tif 000030
2014003602.tif 000031
2014003602.tif 000032
2014003602.tif 000033
2014003602.tif 000034
2014003602.tif 000035
2014003602.tif 000036
2014003602.tif 000037
2014003602.tif 000038
2014003602.tif 000039
2014003602.tif 000040
2014003602.tif 000041
2014003602.tif 000042
2014003602.tif 000043
2014003602.tif 000044
2014003602.tif 000045
2014003602.tif 000046
2014003602.tif 000047
2014003602.tif 000048
2014003602.tif 000049
2014003602.tif 000050
2014003602.tif 000051
2014003602.tif 000052
2014003602.tif 000053
2014003602.tif 000054