JP5388727B2 - 情報処理システム及び情報処理装置及びサーバ装置及び情報処理方法及びプログラム - Google Patents
情報処理システム及び情報処理装置及びサーバ装置及び情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP5388727B2 JP5388727B2 JP2009160755A JP2009160755A JP5388727B2 JP 5388727 B2 JP5388727 B2 JP 5388727B2 JP 2009160755 A JP2009160755 A JP 2009160755A JP 2009160755 A JP2009160755 A JP 2009160755A JP 5388727 B2 JP5388727 B2 JP 5388727B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- data
- search
- generation
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
さらに、複数のユーザによる検索を可能とする場合には、ユーザの加入・脱退に柔軟に対処するための技術が必要とされる。
これを実現するために、非特許文献1にて開示されている方式では、検索者が最新の秘密情報から過去全ての世代の秘密情報を導出し、これらとキーワードからトラップドア(検索用の情報)を世代数分計算し、全てのトラップドアをサーバに送信し、トラップドアを受け取ったサーバが検索・取得処理を行っていた。
このため、検索者にとって計算量・通信量が世代数に比例して増大するという課題がある。
複数の情報処理装置と、サーバ装置とを有する情報処理システムであって、
各情報処理装置は、
他の情報処理装置との間で共有され更新されていく秘密情報を更新の度に記憶する秘密情報記憶部と、
データの生成を指示するデータ生成指示と、データの検索を指示するデータ検索指示とを入力する指示入力部と、
前記データ生成指示の入力があった際に、前記データ生成指示の入力時点で最新の秘密情報である生成時秘密情報で第1の演算を行って、生成時第1演算値データを生成し、前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行部と、
前記第1演算実行部により生成された検索時第1演算値データを前記サーバ装置に送信する送信部とを有し、
前記サーバ装置は、
情報処理装置により生成された生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを登録データとして記憶する登録データ記憶部と、
情報処理装置から送信された検索時第1演算値データを受信する受信部と、
前記受信部により受信された検索時第1演算値データで第2の演算を行って、先行第1演算値データを先行世代の各々に対して生成する第2演算実行部と、
検索時第1演算値データ及び前記第2演算実行部により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の登録データとを用いてデータの検索を行うデータ検索部とを有することを特徴とする。
本実施の形態及び実施の形態2以降では、秘密情報やトラップドアの導出方法を工夫することで、サーバ装置が最新のトラップドアから過去のトラップドアを導出できるようにし、検索者が送信すべきトラップドアの数を削減して、結果として検索者の計算量・通信量を削減する情報処理システムについて説明する。
図1に示すように、複数の情報処理装置301が、ネットワーク101を介してサーバ装置201とグループ管理装置401に接続している。
各装置の詳細は後述するが、ここで、各装置の概要を説明する。
同じグループの情報処理装置301は、秘密情報(例えば、暗号鍵)を共有するとともに、例えば、新規ユーザの追加、既存ユーザの脱退等に伴って秘密情報が更新されていく。
秘密情報は、グループ管理装置401によりユーザの追加、脱退等に従って更新され、同じグループに属する情報処理装置301に更新後の秘密情報が配布される。
各情報処理装置301では、グループ管理装置401から新たな秘密情報が配布される度に過去の秘密情報に上書きして保存する。
なお、秘密情報は世代数により管理される(更新により世代数の値が1つ増える)。
各情報処理装置301は、ユーザから暗号データの生成を指示するデータ生成指示を入力した際に、データ生成指示の入力時点の最新世代の秘密情報(生成時秘密情報)を用いて、暗号化データとともに登録するキーワード(平文)(登録対象キーワード)に対して所定の第1の演算を行ってトラップドアを生成し、更にトラップドアに対して第3の演算を行って暗号化キーワードを生成する。暗号化キーワードは、サーバ装置201に対して内容を秘匿化できる。
トラップドアは、後述するデータ検索段階で、データ検索要求の送信元が正当なアクセス権限を有する情報処理装置301(グループに属している情報処理装置301)であることをサーバ装置201において認証可能にするためのデータであり、また、検索対象のキーワードの内容を秘匿化したままサーバ装置201において検索対象のキーワードを特定可能にするためのデータである。
トラップドアは第1演算値データの例であり、データ生成指示入力時に生成されるトラップドアは生成時第1演算値データの例である。
また、暗号化キーワードは、第3演算値データ及び登録暗号化キーワードの例である。
なお、トラップドア、第1の演算、第3の演算の詳細は後述する。
サーバ装置201では、キーワード(検索対象キーワード)から生成されたトラップドアから、当該キーワードに対応する暗号化キーワードを検索し、検索した暗号化キーワードに関連付けられている暗号化データを検索することになる。
なお、この時点で生成されるトラップドアは、検索時第1演算値データの例である。
そして、情報処理装置301では、トラップドアをサーバ装置201に送信する。
なお、このトラップドア(検索時第1演算値データ)に対してサーバ装置201において第2の演算を行うことにより、検索時秘密情報に先行する世代の秘密情報で第1の演算を行った場合に得られる歴代のトラップドア(先行第1演算値データ)を算出することができる。
なお、第2の演算では、第1の演算は行われない。すなわち、第1の演算を行わなくても、先行世代の秘密情報で第1の演算を行った場合に得られる歴代のトラップドア(先行第1演算値データ)を得ることができる。
そして、サーバ装置201では、生成した先行世代のトラップドアの各々に対して第3の演算を行って暗号化キーワードの候補(第3演算値データ)を導出し、いずれかの暗号化キーワード候補と一致する暗号化キーワードを検索し、検索した暗号化キーワードから検索対象の暗号化データを抽出し、抽出した暗号化データを情報処理装置301に送信する。
次に、図2〜図4を用いて、サーバ装置201、情報処理装置301及びグループ管理装置401の構成例を説明する。
図5は暗号化キーワード記憶領域211が記憶するデータの一例を表す。
図5に示すように、暗号化キーワード記憶領域211は、暗号化キーワードcを、対応する暗号化データのデータIDと、暗号化キーワードの生成に用いられた秘密情報の世代数と関連付けて記憶している。
なお、本実施の形態では、暗号化キーワードが登録データの例となり、登録データの例である暗号化キーワードを記憶している暗号化キーワード記憶領域211は登録データ記憶部の例である。
図6は暗号化データ記憶領域212が記憶するデータの一例を表す。
図6に示すように、暗号化データ記憶領域212は、情報処理装置301からの暗号化データdを、そのデータIDと関連付けて記憶する。
トラップドア生成部221は、第2演算実行部の例である。
比較部222は、データ検索部の例である。
通信部231は、受信部の例である。
パラメータの詳細は後述する。
図7は暗号鍵記憶領域311が記憶するデータの一例を表す。
本実施の形態では、秘密情報として暗号鍵を使用する例を説明する。
図7に示すように、暗号鍵記憶領域311は、暗号鍵kを、その世代数とともに記憶している。
暗号鍵記憶領域311は、秘密情報記憶部の例である。
トラップドア生成部321は、第1演算実行部の例である。
暗号化キーワード生成部322は、第3演算実行部の例である。
通信部331は、送信部の例である。
入力部324は、データ生成指示として、サーバ装置201に送信するデータを生成し、生成したデータをデータ暗号化部323で暗号化することを指示するコマンドを入力し、また、暗号化データとともにサーバ装置201に登録するキーワード(登録対象キーワード)を入力し、当該キーワードから暗号化キーワードを生成するよう指示するコマンドを入力する。
また、入力部324は、データ検索指示として、サーバ装置201に登録されている暗号化キーワード及び暗号化データを検索するよう指示するコマンドを入力し、また、暗号化データの検索に用いられるキーワード(検索対象キーワード)を入力し、当該キーワードからトラップドアを生成するよう指示するコマンドを入力する。
入力部324は、指示入力部の例である。
データ暗号化部323は、暗号鍵記憶領域311に記憶されている暗号鍵と異なる情報を用いてデータの暗号化を行う。
パラメータの詳細は後述する。
図8は暗号鍵記憶領域411が記憶するデータの一例を表す。
図8に示すように、暗号鍵記憶領域411は、暗号鍵kを、その世代数とともに記憶している。
グループ管理装置401は、パラメータp1、p2、N、e1、e2、qを以下のように決定し、このうちN、e1、e2、qを公開情報とする。
p1、p2として十分大きな素数を選び、N=p1×p2とする。e1、e2はZN *から、(p1−1)(p2−1)と互いに素となるようランダムに選択する。
qは世代数の最大値であり、世代の更新頻度やシステムの運用期間から適切に設定する。
また、適当な一方向性関数Fを選択し、公開情報とする。
まず、q世代目の暗号鍵kqを、ZN *からランダムに選択する。そして、それ以前の暗号鍵を、式(1)によって順次計算する。
kj−1=kj e1 modN 式(1)
なお、modはモジュロ演算子を表す。
こうして得られた全ての暗号鍵k1〜kqを、暗号鍵記憶領域411に格納する。
最後に、通信部431が、全ての正当な情報処理装置301に、1世代目の暗号鍵k1を送信する。
これは、暗号鍵の安全性が保たれる方式であれば、オフラインで行っても良いし、既存の鍵配送技術を用いてオンラインで行っても良い。
暗号鍵k1を受信した情報処理装置301は、この暗号鍵k1を、世代とともに暗号鍵記憶領域311に格納する。
また、別途、グループ管理装置401は、パラメータe1、e2、q、N及び一方向性関数Fを各情報処理装置301及びサーバ装置201に通知し、各情報処理装置301では、これらの値をパラメータ記憶領域312に記憶し、サーバ装置201では、これらの値をパラメータ記憶領域213に記憶する。
なお、パラメータe1、e2は、e1、e2とも表記する。
正当な情報処理装置301のグループに対し、ユーザの加入・脱退があった際に、暗号鍵の世代更新が必要となる場合がある。
この場合、以下のように世代更新を実施する。
i世代目からi+1世代目に更新する場合(ただしi+1≦q)、グループ管理装置401の通信部431が、全ての正当な情報処理装置301に、i+1世代目の暗号鍵ki+1を送信する。
これは、暗号鍵の安全性が保たれる方式であれば、オフラインで行っても良いし、既存の鍵配送技術を用いてオンラインで行っても良い。
ki+1を受信した情報処理装置301は、暗号鍵記憶領域311の内容を、世代i+1と暗号鍵ki+1で置き換える(秘密情報記憶ステップ)。
正当な情報処理装置301がデータをサーバ装置201に送信する場合、後に秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。
i世代目における具体的な手順を図11のデータフロー図、図17及び図18のフローチャートを参照しながら以下に述べる。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する(暗号化データをdxとする)。
次に、入力部324が、暗号化データdxに関連付けられる複数のキーワード(wxjとする)をユーザから入力する(S1702)。
次に、トラップドア生成部321が、複数のキーワード(wxj)に対し、それぞれトラップドアを生成する(S1703)。
具体的には、各キーワードwxjに対し、トラップドアtdxjを以下の式(2)に従って計算する(^はべき乗を表す。以下においても同様)。
tdxj=(ki×wxj^(e1 q−i))e2 modN 式(2)
kiは、データ生成指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
パラメータe1、e2、q、Nは、パラメータ記憶領域312に記憶されている。
また、上記の式(2)に従った演算が第1の演算に相当する。
cxj=F(idx、tdxj) 式(3)
一方向性関数Fの内容は、パラメータ記憶領域312に記憶されている。
また、上記の式(3)に従った演算が第3の演算に相当する。
正当な情報処理装置301は、現在もしくは過去の世代にサーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。
i世代目における具体的な手順を図12のデータフロー図、図19及び図20のフローチャートを参照しながら以下に述べる。
次に、トラップドア生成部321が、検索したいキーワードwに対応するトラップドアを生成する(S1902)(第1演算実行ステップ)。
具体的には、キーワードwに対し、トラップドアtdi(i世代目で生成されたトラップドア)を以下の式(4)に従って計算する。
tdi=(ki×w^(e1 q−i))e2 modN 式(4)
kiは、データ検索指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
また、上記の式(4)に従った演算は第1の演算に相当する。
tdj−1=tdj e1 modN 式(5)
なお、上記の式(5)に従った演算は第2の演算に相当する。
具体的には、暗号化キーワード記憶領域211の各行の世代、データID、暗号化キーワードの組(j、id、c)に対し、以下の式(6)の等式が成立するかを確認する。
c=F(id、tdj) 式(6)
つまり、比較部222は、式(6)に従って、暗号化キーワード記憶領域211に示されているデータIDと前述のS2002で生成されたトラップドアに対して一方向性関数Fを適用して暗号化キーワード候補を算出し、算出した暗号化キーワード候補が、暗号化キーワード記憶領域211の対応する行の暗号化キーワードに一致するか否かの照合を行う。
なお、一方向性関数Fの適用対象となるのは、世代数が一致しているデータIDとトラップドアである(暗号化キーワード記憶領域211に示されている世代数jとトラップドアtdjの世代数jが一致している)。
なお、上記の式(6)に従った演算は第3の演算に相当する。
なお、式(6)の等式が複数行において成立し、複数の暗号化データが抽出された場合は暗号化データの全て送信するようにしても、一部を送信するようにしても良い。
一方、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立であった場合は、情報処理装置301にその旨を送信する。
なお、存在しないキーワードを指定した場合の他、データ検索の要求元が正当なアクセス権限を有しない場合(正しい暗号鍵を有しない又は正しいパラメータを有しないので、適切なトラップドアを作成できない)に、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立となると考えられる。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する。
tdi−1=tdi e1 modN
=(ki×w^(e1 q−i))e1e2 modN
=(ki e1×w^(e1 q−(i−1)))e2 modN
=(ki−1×w^(e1 q−(i−1)))e2 modN
となり、これは情報処理装置301がi−1世代目に生成するトラップドアと一致する。
サーバ装置201が、受信した最新のトラップドアから過去のトラップドアを生成できるため、検索時に情報処理装置301が送信すべきトラップドアが削減でき、情報処理装置301の計算量や通信量の削減を達成できる。
例えば、暗号化データは別の装置が保持し、そこへのアクセスを可能とするためにデータIDだけを返すようにしても良い。
また、システム全体で現在の世代数の同期が取れている場合にも世代数の送信を行って、サーバ装置201が、S1801やS2001で、現在の世代に対応するデータを受信したときのみ格納・検索処理を続行し、そうでない場合は処理を中断するようにしても良い。
なお、このような運用については、実施の形態3で詳述する。
本実施の形態では、秘匿検索システム(図1)において、情報処理装置301が暗号鍵とキーワードからトラップドアを生成する際、双線形写像を利用する方式について述べる。なお、双線形写像とは、E(ga、hb)≡E(g、h)abを満たす関数Eのことであり、例えばWeilペアリングやTateペアリングなどが利用できる。
グループ管理装置401は、パラメータp1、p2、N、e1、qを以下のように決定し、このうちN、e1、qを公開情報とする。
p1、p2として十分大きな素数を選び、N=p1×p2とする。e1はZN *から、(p1−1)(p2−1)と互いに素となるようランダムに選択する。
qは世代数の最大値であり、世代の更新頻度やシステムの運用期間から適切に設定する。
また、適当な一方向性関数F、および双線形写像Eを選択し、公開情報とする。
まず、q世代目の暗号鍵kqを、ZN *からランダムに選択する。そして、それ以前の暗号鍵を、式(7)によって順次計算する。
kj−1=kj e1 modN 式(7)
こうして得られた全ての暗号鍵k1〜kqを、暗号鍵記憶領域411に格納する。
最後に、通信部431が、全ての正当な情報処理装置301に、1世代目の暗号鍵k1を送信する。
これは、暗号鍵の安全性が保たれる方式であれば、オフラインで行っても良いし、既存の鍵配送技術を用いてオンラインで行っても良い。
k1を受信した情報処理装置301は、この暗号鍵k1を、世代とともに暗号鍵記憶領域311に格納する。
また、実施の形態1と同様に、グループ管理装置401は、パラメータe1、q、N、一方向性関数F及び双線形写像Eを各情報処理装置301及びサーバ装置201に通知し、各情報処理装置301では、これらの値をパラメータ記憶領域312に記憶し、サーバ装置201では、これらの値をパラメータ記憶領域213に記憶する。
実施の形態1にて記述したものと同一であるため、説明は省略する。
正当な情報処理装置301がデータをサーバ装置201に送信する場合、後に秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。
i世代目における具体的な手順を図13のデータフロー図を参照して以下に述べる。
なお、フローチャートは、図17及び図18に示したとおりである。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する(暗号化データをdxとする)。
次に、入力部324が、暗号化データdxに関連付けられる複数のキーワード(wxjとする)をユーザから入力する(S1702)。
次に、トラップドア生成部321が、複数のキーワード(wxj)に対し、それぞれトラップドアを生成する(S1703)。
具体的には、各キーワードwxjに対し、トラップドアtdxjを以下の式(8)に従って計算する。
tdxj=E(ki、wxj) 式(8)
kiは、データ生成指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
上記の式(8)に従った演算が第1の演算に相当する。
cxj=F(idx、tdxj) 式(3)
上記の式(3)に従った演算が第3の演算に相当する。
正当な情報処理装置301は、現在もしくは過去の世代にサーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。
i世代目における具体的な手順を図14のデータフロー図を参照しながら以下に述べる。
なお、フローチャートは、図19及び図20に示すとおりである。
次に、トラップドア生成部321が、検索したいキーワードwに対応するトラップドアを生成する(S1902)(第1演算実行ステップ)。
具体的には、キーワードwに対し、トラップドアtdi(i世代目で生成されたトラップドア)を以下の式(9)に従って計算する。
tdi=E(ki、w) 式(9)
kiは、データ検索指示の入力時点で暗号鍵記憶領域311に保持されている最新世代の暗号鍵を意味する。
また、上記の式(9)に従った演算は第1の演算に相当する。
tdj−1=tdj e1 modN 式(5)
なお、上記の式(5)に従った演算は第2の演算に相当する。
具体的には、暗号化キーワード記憶領域211の各行の世代、データID、暗号化キーワードの組(j、id、c)に対し、以下の式(6)の等式が成立するかを確認する。
c=F(id、tdj) 式(6)
つまり、比較部222は、式(6)に従って、暗号化キーワード記憶領域211に示されているデータIDと前述のS2002で生成されたトラップドアに対して一方向性関数Fを適用して暗号化キーワード候補を算出し、算出した暗号化キーワード候補が、暗号化キーワード記憶領域211の対応する行の暗号化キーワードに一致するか否かの照合を行う。
なお、一方向性関数Fの適用対象となるのは、世代数が一致しているデータIDとトラップドアである(暗号化キーワード記憶領域211に示されている世代数jとトラップドアtdjの世代数jが一致している)。
なお、上記の式(6)に従った演算は第3の演算に相当する。
なお、式(6)の等式が複数行において成立し、複数の暗号化データが抽出された場合は暗号化データの全て送信するようにしても、一部を送信するようにしても良い。
一方、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立であった場合は、情報処理装置301にその旨を送信する。
なお、存在しないキーワードを指定した場合の他、データ検索の要求元が正当なアクセス権限を有しない場合(正しい暗号鍵を有しない又は正しいパラメータを有しないので、適切なトラップドアを作成できない)に、上記の式(6)の等式が暗号化キーワード記憶領域211のどの行においても不成立となると考えられる。
ここでは、正当な情報処理装置301だけが復号できるような、既存の暗号技術(グループ暗号技術)を利用する。
tdi−1=tdi e1 modN
=E(ki、w)e1 modN
=E(ki e1、w) modN
=E(ki−1、w) modN
となり、これは情報処理装置301がi−1世代目に生成するトラップドアと一致する。
サーバ装置201が、受信した最新のトラップドアから過去のトラップドアを生成できるため、検索時に情報処理装置301が送信すべきトラップドアが削減でき、情報処理装置301の計算量や通信量の削減を達成できる。
したがって、qの値を大きく設定しても、情報処理装置301の計算量には影響しないという利点がある。
また、実施の形態1でも述べたように、グループ管理装置401はkjからkj+1を導出可能であるため、初期設定にてk1のみを生成し、世代更新のたびに次の暗号鍵を導出することで、世代数の最大値という制限を設けることなく秘匿検索システムを運用することが可能となる。
例えば、暗号化データは別の装置が保持し、そこへのアクセスを可能とするためにデータIDだけを返すようにしても良い。
また、システム全体で現在の世代数の同期が取れている場合にも世代数の送信を行って、サーバ装置201が、S1801やS2001で、現在の世代に対応するデータを受信したときのみ格納・検索処理を続行し、そうでない場合は処理を中断するようにしても良い。
なお、このような運用については、実施の形態3で詳述する。
本実施の形態では、トラップドアを暗号化キーワードとして使う例を説明する。
本実施の形態では、トラップドアを暗号化キーワードとして使用するため、図3の構成に含まれていた暗号化キーワード生成部322を省略している。
他の構成要素は、図3に示したものと同様であり、説明を省略する。
なお、本実施の形態においても、サーバ装置201及びグループ管理装置401は、図2及び図4に示した構成のとおりである。
なお、サーバ装置201において、暗号化キーワード記憶領域211では、図10に示すように、暗号化キーワードとしてトラップドアtdを用い、トラップドアtdと、対応する暗号化データのデータIDと、トラップドアの生成に用いられた暗号鍵の世代数とを関連付けて記憶している。
なお、(1)グループ管理装置の初期設定及び(2)暗号鍵の世代更新は、実施の形態1及び実施の形態2に示したものと同様であるため、説明を省略し、以下では、(3)暗号化データの送信・格納及び(4)暗号化データの検索・取得を説明する。
正当な情報処理装置301がデータをサーバ装置201に送信する場合、後に秘匿検索が行えるよう、キーワードとデータを別々に暗号化したものを送信する。
i世代目における具体的な手順は図15のデータフロー図に示すとおりである。
なお、図15では、実施の形態1に示したべき乗剰余演算(式(2))を利用してトラップドアを生成する例を示しているが、実施の形態2に示した式(8)を用いることで、実施の形態2に示した双線形写像を利用することも可能である。
なお、本実施の形態では、図17のフローチャートからS1704の動作を省略し、S1705で送信する暗号化キーワードをトラップドアとする。図17の他の動作は、実施の形態1及び実施の形態2において説明したとおりである。
また、図18のフローチャートにおいて、S1801で受信する暗号化キーワード及びS1802で記憶する暗号化キーワードをトラップドアとする。
正当な情報処理装置301は、現在もしくは過去の世代にサーバ装置201に格納されたデータに対し、キーワードを指定して秘匿検索を行うことができる。
i世代目における具体的な手順は図16のデータフロー図に示すとおりである。
なお、図16では、情報処理装置301において、実施の形態1に示したべき乗剰余演算(式(4))を利用してトラップドアを生成する例を示しているが、実施の形態2に示した式(9)を用いることで、実施の形態2に示した双線形写像を利用することも可能である。
なお、情報処理装置301の動作は、図19のフローチャートに示すとおりである。
一方、サーバ装置201の動作では、図20のフローチャートのS2003の処理に代えて、S2002で導出された過去の世代のトラップドアのうちのいずれかと同じトラップドアが示されている行を暗号化キーワード記憶領域211(図10)において検索し、該当する行に示されているデータIDを抽出し(S2004)、抽出したデータIDをキーに暗号化データ記憶領域212を検索して暗号化データdを取得し(S2005)、通信部231が情報処理装置301に、キーワードwに対応する暗号化データdを送信する(S2006)。
その他の動作は、実施の形態1及び実施の形態2で説明したものと同様である。
図21は、実施の形態1〜3に示すサーバ装置201等のハードウェア資源の一例を示す図である。
なお、図21の構成は、あくまでもサーバ装置201等のハードウェア構成の一例を示すものであり、サーバ装置201等のハードウェア構成は図21に記載の構成に限らず、他の構成であってもよい。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜3で説明した「〜記憶領域」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
サーバ装置201等の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜3で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Claims (16)
- 複数の情報処理装置と、サーバ装置とを有する情報処理システムであって、
各情報処理装置は、
他の情報処理装置との間で共有され更新されていく秘密情報を更新の度に記憶する秘密情報記憶部と、
データの生成を指示するデータ生成指示と、データの検索を指示するデータ検索指示とを入力する指示入力部と、
前記データ生成指示の入力があった際に、前記データ生成指示の入力時点で最新の秘密情報である生成時秘密情報で第1の演算を行って、生成時第1演算値データを生成し、前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行部と、
前記第1演算実行部により生成された検索時第1演算値データを前記サーバ装置に送信する送信部とを有し、
前記サーバ装置は、
情報処理装置により生成された生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを登録データとして記憶する登録データ記憶部と、
情報処理装置から送信された検索時第1演算値データを受信する受信部と、
前記受信部により受信された検索時第1演算値データで第2の演算を行って、先行第1演算値データを先行世代の各々に対して生成する第2演算実行部と、
検索時第1演算値データ及び前記第2演算実行部により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の登録データとを用いてデータの検索を行うデータ検索部とを有することを特徴とする情報処理システム。 - 前記サーバ装置において、
前記第2演算実行部は、
前記検索時第1演算値データで第2の演算を行って、前記検索時秘密情報の1つ前の世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを生成し、以降、生成した先行第1演算値データで第2の演算を行う処理を繰返すことにより秘密情報の世代を順次遡って先行世代の各々の先行第1演算値データを生成することを特徴とする請求項1に記載の情報処理システム。 - 前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された生成時第1演算値データを登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の生成時第1演算値データとを用いてデータの検索を行うことを特徴とする請求項1又は2に記載の情報処理システム。 - 各情報処理装置において、
前記指示入力部は、
平文の登録対象キーワードを含み、前記サーバ装置に内容を秘匿する暗号化キーワードを登録対象キーワードから生成するよう指示するデータ生成指示と、平文の検索対象キーワードを含み、検索対象キーワードを用いて暗号化キーワードを検索するよう指示するデータ検索指示とを入力し、
前記第1演算実行部は、
前記データ生成指示の入力があった際に、前記生成時秘密情報と前記登録対象キーワードで第1の演算を行って、生成時第1演算値データとして登録暗号化キーワードを生成し、前記データ検索指示の入力があった際に、前記検索時秘密情報と検索対象キーワードで第1の演算を行って、検索時第1演算値データを生成し、
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された登録暗号化キーワードと登録暗号化キーワードに関連するID(Identification)情報とを対応付けて登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データのうちのいずれかと値が一致する登録暗号化キーワードに対応付けられているID情報を検索することを特徴とする請求項3に記載の情報処理システム。 - 各情報処理装置は、更に、
前記第1演算実行部により生成された生成時第1演算値データで第3の演算を行って第3演算値データを生成する第3演算実行部を有し、
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された第3演算値データを登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データの各々で第3の演算を行って各々の第1演算値データに対応する第3演算値データを生成し、生成した第3演算値データの少なくともいずれかと、前記登録データ記憶部内の第3演算値データとを用いてデータの検索を行うことを特徴とする請求項1〜4のいずれかに記載の情報処理システム。 - 各情報処理装置において、
前記指示入力部は、
平文の登録対象キーワードを含み、前記サーバ装置に内容を秘匿する暗号化キーワードを登録対象キーワードから生成するよう指示するデータ生成指示と、平文の検索対象キーワードを含み、検索対象キーワードを用いて暗号化キーワードを検索するよう指示するデータ検索指示とを入力し、
前記第1演算実行部は、
前記データ生成指示の入力があった際に、前記生成時秘密情報と前記登録対象キーワードで第1の演算を行って、生成時第1演算値データを生成し、前記データ検索指示の入力があった際に、前記検索時秘密情報と検索対象キーワードで第1の演算を行って、検索時第1演算値データを生成し、
前記第3演算実行部は、
前記第1演算実行部により生成された生成時第1演算値データで第3の演算を行って、第3演算値データとして登録暗号化キーワードを生成し、
前記サーバ装置において、
前記登録データ記憶部は、
情報処理装置により生成された登録暗号化キーワードと登録暗号化キーワードに関連するID(Identification)情報とを対応付けて登録データとして記憶し、
前記データ検索部は、
検索時第1演算値データ及び先行第1演算値データの各々で第3の演算を行って各々の第1演算値データに関連する第3演算値データを生成し、生成した第3演算値データのうちのいずれかと値が一致する登録暗号化キーワードに対応付けられているID情報を検索することを特徴とする請求項5に記載の情報処理システム。 - 前記情報処理装置において、
前記第1演算実行部は、
第1の演算として、べき乗剰余演算を行い、
前記サーバ装置において、
前記第2演算実行部は、
第2の演算として、べき乗剰余演算を行うことを特徴とする請求項1〜6のいずれかに記載の情報処理システム。 - 前記情報処理装置において、
前記第1演算実行部は、
生成時第1演算値データ又は検索時第1演算値データをtdiとし、生成時秘密情報又は検索時秘密情報をkiとし、生成時秘密情報又は検索時秘密情の世代数の値をiとし、キーワードをWとし、秘密情報の世代数の最大値をqとし、秘密情報の生成に用いられるパラメータをe1、e2及びNとした場合に、
tdi=(ki×w^(e1 q−i))e2 modN
(^はべき乗を表し、modはモジュロ演算子を表す)
により第1の演算を行って、生成時第1演算値データ又は検索時第1演算値データを生成し、
前記サーバ装置において、
前記第2演算実行部は、
生成対象の先行第1演算値データをtdj−1とし、先行第1演算値データtdj−1に対応する秘密情報の世代数の値をj−1とし、世代数j−1の秘密情報の1つ後の世代の秘密情報の世代数の値をjとし、世代数jの秘密情報に対応する第1演算値データをtdjとした場合に、
tdj−1=tdj e1 modN
により第2の演算を行って、先行第1演算値データを生成することを特徴とする請求項7に記載の情報処理システム。 - サーバ装置に接続される情報処理装置であって、
更新されていく秘密情報を更新の度に記憶する秘密情報記憶部と、
データの検索を指示するデータ検索指示を入力する指示入力部と、
前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行部と、
前記第1演算実行部により生成された検索時第1演算値データを前記サーバ装置に送信する送信部とを有することを特徴とする情報処理装置。 - 前記第1演算実行部は、
前記サーバ装置が前記検索時第1演算値データで第2の演算を行うと前記検索時秘密情報の1つ前の世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを生成でき、以降、生成された先行第1演算値データで第2の演算を行う処理を繰返すことにより秘密情報の世代を順次遡って先行世代の各々の先行第1演算値データを生成できる第1の演算を前記検索時秘密情報で行って、前記検索時第1演算値データを生成することを特徴とする請求項9に記載の情報処理装置。 - 秘密情報が更新される度に更新後の秘密情報を記憶する情報処理装置に接続されるサーバ装置であって、
情報処理装置が、データの生成を指示するデータ生成指示を入力した時点における最新の秘密情報である生成時秘密情報で第1の演算を行って生成した生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを、登録データとして記憶する登録データ記憶部と、
情報処理装置が、データの検索を指示するデータ検索指示を入力した時点における最新の秘密情報である検索時秘密情報で第1の演算を行って生成した検索時第1演算値データを、受信する受信部と、
前記受信部により受信された検索時第1演算値データで第2の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを、先行世代の秘密情報を用いた第1の演算を行わずに先行世代の各々に対して生成する第2演算実行部と、
検索時第1演算値データ及び前記第2演算実行部により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶部内の登録データとを用いてデータの検索を行うデータ検索部とを有することを特徴とするサーバ装置。 - 前記第2演算実行部は、
前記検索時第1演算値データで第2の演算を行って、前記検索時秘密情報の1つ前の世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを生成し、以降、生成した先行第1演算値データで第2の演算を行う処理を繰返すことにより秘密情報の世代を順次遡って先行世代の各々の先行第1演算値データを生成することを特徴とする請求項11に記載のサーバ装置。 - サーバ装置に接続される情報処理装置が行う情報処理方法であって、
更新されていく秘密情報を更新の度に記憶する秘密情報記憶ステップと、
データの検索を指示するデータ検索指示を入力する指示入力ステップと、
前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行ステップと、
前記第1演算実行ステップにより生成された検索時第1演算値データを前記サーバ装置に送信する送信ステップとを有することを特徴とする情報処理方法。 - 秘密情報が更新される度に更新後の秘密情報を記憶する情報処理装置に接続されるサーバ装置が行う情報処理方法であって、
情報処理装置が、データの生成を指示するデータ生成指示を入力した時点における最新の秘密情報である生成時秘密情報で第1の演算を行って生成した生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを、登録データとして記憶する登録データ記憶ステップと、
情報処理装置が、データの検索を指示するデータ検索指示を入力した時点における最新の秘密情報である検索時秘密情報で第1の演算を行って生成した検索時第1演算値データを、受信する受信ステップと、
前記受信ステップにより受信された検索時第1演算値データで第2の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを、先行世代の秘密情報を用いた第1の演算を行わずに先行世代の各々に対して生成する第2演算実行ステップと、
検索時第1演算値データ及び前記第2演算実行ステップにより生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶ステップにより記憶されている登録データとを用いてデータの検索を行うデータ検索ステップとを有することを特徴とする情報処理方法。 - サーバ装置に接続される情報処理装置に、
更新されていく秘密情報を更新の度に記憶する秘密情報記憶処理と、
データの検索を指示するデータ検索指示を入力する指示入力処理と、
前記データ検索指示の入力があった際に、前記データ検索指示の入力時点で最新の秘密情報である検索時秘密情報で第1の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを先行世代の秘密情報を用いた第1の演算を伴わない前記サーバ装置における第2の演算により導出可能な検索時第1演算値データを生成する第1演算実行処理と、
前記第1演算実行処理により生成された検索時第1演算値データを前記サーバ装置に送信する送信処理とを実行させることを特徴とするプログラム。 - 秘密情報が更新される度に更新後の秘密情報を記憶する情報処理装置に接続されるサーバ装置に、
情報処理装置が、データの生成を指示するデータ生成指示を入力した時点における最新の秘密情報である生成時秘密情報で第1の演算を行って生成した生成時第1演算値データ又は生成時第1演算値データに対して所定の演算がなされた後のデータを、登録データとして記憶する登録データ記憶処理と、
情報処理装置が、データの検索を指示するデータ検索指示を入力した時点における最新の秘密情報である検索時秘密情報で第1の演算を行って生成した検索時第1演算値データを、受信する受信処理と、
前記受信処理により受信された検索時第1演算値データで第2の演算を行って、前記検索時秘密情報に先行する先行世代の秘密情報で第1の演算を行った場合に得られる先行第1演算値データを、先行世代の秘密情報を用いた第1の演算を行わずに先行世代の各々に対して生成する第2演算実行処理と、
検索時第1演算値データ及び前記第2演算実行処理により生成された先行第1演算値データの少なくともいずれかと、前記登録データ記憶処理により記憶されている登録データとを用いてデータの検索を行うデータ検索処理とを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009160755A JP5388727B2 (ja) | 2009-07-07 | 2009-07-07 | 情報処理システム及び情報処理装置及びサーバ装置及び情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009160755A JP5388727B2 (ja) | 2009-07-07 | 2009-07-07 | 情報処理システム及び情報処理装置及びサーバ装置及び情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011018976A JP2011018976A (ja) | 2011-01-27 |
JP5388727B2 true JP5388727B2 (ja) | 2014-01-15 |
Family
ID=43596457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009160755A Expired - Fee Related JP5388727B2 (ja) | 2009-07-07 | 2009-07-07 | 情報処理システム及び情報処理装置及びサーバ装置及び情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5388727B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5441726B2 (ja) * | 2010-01-14 | 2014-03-12 | 三菱電機株式会社 | 情報処理システム及び管理装置及びサーバ装置及び情報処理装置 |
JP5442161B2 (ja) * | 2011-02-22 | 2014-03-12 | 三菱電機株式会社 | 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム |
WO2013047877A1 (ja) | 2011-09-30 | 2013-04-04 | 旭硝子株式会社 | リチウムイオン二次電池用正極活物質、およびその製造方法 |
US9311494B2 (en) | 2011-12-01 | 2016-04-12 | Hitachi, Ltd. | Secure search method and secure search device |
JP5800721B2 (ja) * | 2012-01-24 | 2015-10-28 | 三菱電機株式会社 | 検索装置、検索端末装置、データ登録装置、検索方法、検索プログラム、データ登録方法およびデータ登録プログラム |
JP6089881B2 (ja) * | 2013-03-28 | 2017-03-08 | 富士通株式会社 | データ検索方法、データ追加更新方法、データ検索プログラムおよび中継装置 |
WO2018138857A1 (ja) * | 2017-01-27 | 2018-08-02 | 三菱電機株式会社 | 検索装置、監視装置、監視方法および検索プログラム |
CN112784309B (zh) * | 2021-02-20 | 2022-08-23 | 青岛大学 | 数据安全管理方法、电子设备和存储介质 |
-
2009
- 2009-07-07 JP JP2009160755A patent/JP5388727B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011018976A (ja) | 2011-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5388727B2 (ja) | 情報処理システム及び情報処理装置及びサーバ装置及び情報処理方法及びプログラム | |
JP5679018B2 (ja) | データベース暗号化システムと方法及びプログラム | |
JP5963936B2 (ja) | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム | |
JP5420085B2 (ja) | データ処理装置及びデータ保管装置 | |
Tahir et al. | A new secure and lightweight searchable encryption scheme over encrypted cloud data | |
JP6048414B2 (ja) | データベース装置と方法及びプログラム | |
JP5084817B2 (ja) | 暗号文の索引付けおよび検索方法と装置 | |
Li et al. | Efficient keyword search over encrypted data with fine-grained access control in hybrid cloud | |
US9418238B2 (en) | Search system, search method of search system, and information processing device | |
Van Rompay et al. | Multi-user searchable encryption in the cloud | |
JP6770075B2 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム | |
Yang et al. | Flexible wildcard searchable encryption system | |
JP2010517448A (ja) | セキュアファイル暗号化 | |
JP2007114494A (ja) | 秘匿計算方法及び装置 | |
CN111753312B (zh) | 数据处理方法、装置、设备和*** | |
US10673627B2 (en) | Encryption device, search device, computer readable medium, encryption method, and search method | |
Ren et al. | Privacy-preserving ranked multi-keyword search leveraging polynomial function in cloud computing | |
Bandaru et al. | Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment | |
US8499357B1 (en) | Signing a library file to verify a callback function | |
KR101217491B1 (ko) | 공개키 기반의 키워드 검색 방법 | |
JP5441726B2 (ja) | 情報処理システム及び管理装置及びサーバ装置及び情報処理装置 | |
Tosun et al. | FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client | |
JP6381861B2 (ja) | 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム | |
JP5213839B2 (ja) | 暗号化転置インデックステーブルに対するk−匿名性更新のための方法および装置 | |
Sude et al. | Authenticated CRF based improved ranked multi-keyword search for multi-owner model in cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130826 |
|
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: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131008 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5388727 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |