JP7455287B2 - 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム - Google Patents
秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム Download PDFInfo
- Publication number
- JP7455287B2 JP7455287B2 JP2023559065A JP2023559065A JP7455287B2 JP 7455287 B2 JP7455287 B2 JP 7455287B2 JP 2023559065 A JP2023559065 A JP 2023559065A JP 2023559065 A JP2023559065 A JP 2023559065A JP 7455287 B2 JP7455287 B2 JP 7455287B2
- Authority
- JP
- Japan
- Prior art keywords
- salt
- registered
- keyword
- disclosure
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims description 30
- 150000003839 salts Chemical class 0.000 claims description 200
- 238000004364 calculation method Methods 0.000 claims description 121
- 238000009826 distribution Methods 0.000 claims description 57
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
そこで、確率的暗号に基づく検索可能暗号技術において、キーワードから確定的に求めた値である開示ビットを用いて、タグとトラップドアとの比較空間を削減する高速化法が存在する。当該高速化法において、開示ビットが長いほど比較空間が小さくなるために高速化効果が大きくなる。しかしながら、開示ビットが長いほど開示ビットの頻度分布とキーワードの頻度分布とが近づくため、開示ビットが長いほど頻度分析攻撃に対するリスクが上昇するという課題がある。なお、開示ビットが短い場合において、頻度分析攻撃に対するリスクは小さいものの比較空間があまり小さくならないために高速化効果が小さい。
しかしながら、特許文献1が開示する技術によれば、キーワードの出現頻度が事前に必要であるという課題がある。
確率的暗号に基づく検索可能暗号技術を採用する秘匿検索システムであって、
秘匿検索される少なくとも1つのデータと、前記少なくとも1つのデータの各々に対応する少なくとも1つのキーワードとを秘匿検索サーバ装置に登録し、前記秘匿検索サーバ装置に登録した各キーワードと、前記秘匿検索サーバ装置に登録した各キーワードに対応するソルトとを用いて確定的に計算されたデータの一部であって、外部に開示するデータである開示ビットを開示する登録クライアント装置であって、
前記秘匿検索サーバ装置に登録するキーワードである登録キーワードに対応するソルトを決定ソルトとして決定する開示ビット計算部
を備え、
前記開示ビット計算部は、前記登録クライアント装置が既に開示している開示ビットと、前記登録キーワードと前記決定ソルトとを用いて計算した開示ビットとから成る分布の偏りの大きさを考慮して前記決定ソルトを決定する登録クライアント装置
を備える。
以下、本実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施の形態に係る秘匿検索システム1の構成例を示している。秘匿検索システム1は、確率的暗号に基づく検索可能暗号技術を採用し、また、本図に示すように、秘匿検索サーバ装置10と、登録クライアント装置20と、検索クライアント装置30と、ソルト表管理装置40とを備える。秘匿検索システム1が備える各装置は、ネットワーク50を介して通信可能に接続されている。秘匿検索システム1が備える各装置は複数存在してもよい。秘匿検索システム1が備える少なくとも2つの装置は、適宜一体的に構成されていてもよい。
登録データ入力部110は、登録データ212を受け付け、受け付けた登録データ212を登録データテーブル101に登録する。
登録データ212は、開示ビットと、暗号化キーワードと、暗号化データとから成るデータである。開示ビットは、外部に開示しているデータである。暗号化キーワードは、暗号化データを検索する際に用いられるデータであって、暗号化されたキーワード200である。暗号化データは、暗号化されたデータ201である。
登録データテーブル101は、開示ビットと、暗号化キーワードと、暗号化データとから成るデータを管理する。登録データテーブル101は複数のデータを管理してもよい。
記憶部120は、登録データテーブル101を記憶する。
検索データ入力部130は、検索データ307を受け付け、受け付けた検索データ307をデータ検索部140に送る。
検索データ307は、開示ビットと暗号化キーワードとから成るデータであって、登録データテーブル101に登録されているデータを検索する際に用いられるデータである。
データ検索部140は、検索データ入力部130から検索データ307を受け取り、受け取った検索データ307に対応するデータを登録データテーブル101から検索し、検索した結果を示す検索結果309を生成し、生成した検索結果309を検索結果出力部150に送る。
検索結果出力部150は、データ検索部140から検索結果309を受け取り、受け取った検索結果309を外部に出力する。
データ入力部220は、データ201とキーワード200とを受け付け、受け付けたデータ201とキーワード200とを記憶部230に記録する。
データ201は、秘匿検索サーバ装置10に登録するデータであり、平文のデータである。
キーワード200は、データ201を検索するためのキーワードであり、平文のデータである。
記憶部230は、データ201と、キーワード200と、開示ビット用秘密鍵204と、開示ビット長205と、ソルト表206と、頻度分布表207と、秘匿検索用暗号鍵208とを記憶する。
開示ビット用秘密鍵204は、開示ビットを計算する際に用いられる秘密鍵を示すデータである。
開示ビット長205は、開示ビットのデータサイズを示すデータである。
ソルト表206は、開示ビット211を計算する際に用いられるソルトの一覧を示すデータである。ソルト表206において、キーワードごとにキーワードに対応するソルトがまとめられていてもよい。なお、ソルト表206は秘匿検索サーバ装置10には開示されない。
頻度分布表207は、開示ビット頻度分布表とも呼ばれ、登録クライアント装置20が開示した開示ビットの頻度分布を示すデータである。
秘匿検索用暗号鍵208は、データ201とキーワード200とを暗号化する際に用いられる暗号鍵である。
開示ビット計算部240は、頻度分布表207を参照し、キーワード200と、開示ビット用秘密鍵204と、ソルト表206に示されているソルトとを用いて開示ビット211を計算する。また、開示ビット計算部240は、秘匿検索サーバ装置10に登録するキーワード200である登録キーワードに対応するソルトを決定ソルトとして決定する。この際、開示ビット計算部240は、登録クライアント装置20が既に開示している開示ビットと、登録キーワードと決定ソルトとを用いて計算した開示ビットとから成る分布の偏りの大きさを考慮して決定ソルトを決定する。開示ビット計算部240は、ソルト表管理装置40の記憶部420が登録キーワードに対応するソルトとして管理しているソルトに基づいて決定ソルトを決定してもよい。開示ビット計算部240は、ソルト表管理装置40の記憶部420が登録キーワードに対応するソルトとして管理しているソルト以外のソルトを決定ソルトとして決定してもよい。開示ビット計算部240は、登録クライアント装置20が登録するキーワード200の出現頻度が既知である場合において、既知である出現頻度に基づいて、開示ビット計算部240が決定ソルトとして決定するソルトの候補を計算してもよい。登録クライアント装置20が登録するキーワード200の出現頻度が既知であることには、登録クライアント装置20が登録するキーワード200の出現頻度が推定可能であることが含まれる。
登録データ生成部250は、キーワード200とデータ201と秘匿検索用暗号鍵208とを用いて暗号化キーワードと暗号化データとを生成する。また、登録データ生成部250は、開示ビット計算部240から開示ビット211を受け取り、受け取った開示ビット211と、生成した暗号化キーワード及び暗号化データとを用いて登録データ212を生成し、生成した登録データ212をデータ登録要求部260に送る。
データ登録要求部260は、登録データ生成部250から登録データ212を受け取り、受け取った登録データ212を秘匿検索サーバ装置10に送信し、登録データ212を登録することを秘匿検索サーバ装置10に要求する。
ソルト表登録要求部270は、記憶部230が記憶しているソルト表206をソルト表管理装置40に出力する。
キーワード入力部310は、キーワード200を受け付け、受け付けたキーワード200を記憶部320に記憶し、また、受け付けたキーワード200を開示ビット計算部330に送る。
記憶部320は、キーワード200と、開示ビット用秘密鍵204と、開示ビット長205と、ソルト表206と、秘匿検索用暗号鍵208と、秘匿検索用復号鍵209とを記憶する。
秘匿検索用復号鍵209は、検索結果309を復号する際に用いられる復号鍵を示すデータである。
開示ビット計算部330は、キーワード入力部310からキーワード200を受け取り、受け取ったキーワード200と、開示ビット用秘密鍵204とを用いて開示ビット305を計算する。なお、開示ビット計算部330は、秘匿検索サーバ装置10に登録されているデータ201を検索する際に、秘匿検索サーバ装置10に登録されている各キーワード200に対応するソルトの全てを用いてもよい。この際、メモリの使用量削減を目的として、記憶部320は、ソルト表206の代わりに、秘匿検索サーバ装置10に登録されている各キーワード200に対応するソルトの全てを重複なく記憶していてもよい。
検索データ生成部340は、キーワード200と秘匿検索用暗号鍵208とを用いて暗号化キーワードを生成する。また、検索データ生成部340は、開示ビット計算部330から開示ビット305を受け取り、受け取った開示ビット305と、生成した暗号化キーワードとを用いて検索データ307を生成し、生成した検索データ307を検索要求部350に送る。
検索要求部350は、検索データ生成部340から検索データ307を受け取り、受け取った検索データ307を秘匿検索サーバ装置10に送信し、検索データ307に対応するデータを検索することを秘匿検索サーバ装置10に要求する。また、検索要求部350は、送信した検索データ307に対応する検索結果309を秘匿検索サーバ装置10から受け取り、受け取った検索結果309を検索結果出力部360に送る。
検索結果出力部360は、検索要求部350から検索結果309を受け取り、秘匿検索用復号鍵209を用いて受け取った検索結果309を復号することによりデータ201を生成し、生成したデータ201を出力する。
ソルト表要求部370は、ソルト表要求データ301をソルト表管理装置40に送信する。また、ソルト表要求部370は、送信したソルト表要求データ301に対応するソルト表206をソルト表管理装置40から受け取り、受け取ったソルト表206を記憶部320に記録する。
ソルト表要求データ301は、ソルト表206を要求していることを示すデータである。ソルト表要求データ301は、ソルト表管理装置40が管理しているソルト表206に示されているソルトのうちあるキーワードに対応するソルトのみを要求していることを示す情報であってもよく、ソルト表管理装置40が管理しているソルト表206に示されているソルトを重複なく要求していることを示す情報であってもよい。
ソルト表入力部410は、登録クライアント装置20からソルト表206を受け取り、受け取ったソルト表206を記憶部420に記録する。ソルト表入力部410は、登録クライアント装置20が登録するキーワード200の出現頻度が既知である場合において、既知である出現頻度に基づいて、開示ビット計算部240が決定ソルトとして決定するソルトの候補を計算してもよい。
記憶部420は、ソルト表206を記憶する。また、記憶部420は秘匿検索サーバ装置10に登録されている各キーワード200に対応するソルトを管理する。
ソルト表出力部430は、検索クライアント装置30からソルト表要求データ301を受け取り、受け取ったソルト表要求データ301に対応するソルト表206であって、記憶部420が記憶しているソルト表206を、ソルト表要求データ301を送信した検索クライアント装置30に送信する。
登録クライアント装置20は、プロセッサ91を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ91の役割を分担する。
メモリ92及び補助記憶装置93は一体的に構成されていてもよい。
メモリ92及び補助記憶装置93の機能は、他の記憶装置によって実現されてもよい。
秘匿検索システム1が備える登録クライアント装置20以外の各装置のハードウェア構成は、登録クライアント装置20のハードウェア構成と同様であってもよい。
秘匿検索システム1を構成する各装置の動作手順は、秘匿検索方法に相当する。また、秘匿検索システム1を構成する各装置の動作を実現するプログラムは、秘匿検索プログラムに相当する。秘匿検索プログラムは、秘匿検索システム1を構成する各装置において動作するプログラムの総称である。
以下、本開示の特徴的な動作例を主に説明する。以下で説明する動作に加え、秘匿検索システム1は公知の技術を適宜採用して動作する。
開示ビット計算部240に、頻度分布表207が入力される。なお、記憶部230が記憶している頻度分布表207を開示ビット計算部240が参照することができる場合、開示ビット計算部240は本ステップをスキップしてもよい。
参照した頻度分布表207にエントリがない場合、開示ビット計算部240はステップS103に進む。それ以外の場合、開示ビット計算部240はステップS104に進む。
開示ビット計算部240は、最大頻度がないことと、最小頻度がないことを示す情報を出力する。
開示ビット計算部240は、頻度分布表207が示す頻度から最大頻度を特定する。
開示ビット計算部240は、頻度分布表207が示す頻度から最小頻度を特定する。
開示ビット計算部240は、特定した最大頻度及び最小頻度を出力する。なお、開示ビット計算部240は、特定した最大頻度及び最小頻度を開示ビット計算部240の内部において出力してもよい。
開示ビット計算部240は、頻度分布表207が示す最大頻度及び最小頻度を取得する。開示ビット計算部240は、本ステップにおいて図7に示す処理を実行する。
開示ビット計算部240に、登録するキーワード200と、開示ビット用秘密鍵204と、開示ビット長205と、ソルト表206と、頻度分布表207とが入力される。なお、記憶部230が記憶しているこれらのデータを開示ビット計算部240が参照することができる場合、開示ビット計算部240は本ステップをスキップしてもよい。
開示ビット計算部240は、ソルト表206から登録するキーワード200に対応するソルトを取得し、取得したソルトを用いてソルトリストを生成する。
開示ビット計算部240は、ソルトの値として0を代入し、開示ビットがないものとする。
本フローチャートの処理においてまだ選択していないソルトがステップS203において生成したソルトリストにある場合、開示ビット計算部240はステップS206に進む。それ以外の場合、開示ビット計算部240はステップS207に進む。
開示ビット計算部240は、ソルトリストが含むソルトのうち、本フローチャートの処理においてまだ選択していないソルトのいずれかを選択ソルトとして選択する。
開示ビット計算部240は、ソルトリストに新たなソルトを追加する。ここで、新たなソルトはソルトリストが含んでいるソルトと重複しないソルトとする。開示ビット計算部240は新たなソルトを選択ソルトとして選択する。
開示ビット計算部240は、選択ソルトと登録するキーワード200とを用いて変換キーワードを計算する。変換キーワードは、選択ソルトと登録するキーワード200との論理和であってもよく、登録するキーワード200の任意の位置にソルトを追加したものであってもよい。具体例として、登録するキーワード200が「AAA」でありソルトが「1」である場合において、変換キーワードは、「AAA1」であっても、「1AAA」であっても、「A1AA」であってもよい。
開示ビット計算部240は、計算した変換キーワードと、開示ビット用秘密鍵204と、開示ビット長205とを用いて開示ビットを計算する。開示ビット計算部240は、変換キーワードと、開示ビット用秘密鍵204とを用いて求めたデータのうち、開示ビット長205の長さの連続するビットを開示ビットとする。
開示ビット計算部240は、頻度分布表207から、計算した開示ビットに対応する頻度を取得する。
ステップS210において頻度を取得することができなかった場合、又はソルトリストに新たなソルトを追加した場合、開示ビット計算部240はステップS217に進む。それ以外の場合、開示ビット計算部240はステップS212に進む。
ステップS210において取得した頻度が最大頻度以上である場合、開示ビット計算部240はステップS213に進む。それ以外の場合、開示ビット計算部240はステップS214に進む。
開示ビット計算部240は、開示ビットがないものとする。なお、開示ビット計算部240は、本ステップを実行した後に他のソルトを選択するか、ソルトリストに新たなソルトを追加する。
最大頻度と最小頻度とが等しい場合、即ち、頻度分布表207に示されている開示ビットの頻度分布が一様分布である場合、開示ビット計算部240はステップS215に進む。それ以外の場合、開示ビット計算部240はステップS217に進む。
頻度分布表207のエントリの数が開示ビット空間のサイズよりも小さい場合、開示ビット計算部240はステップS216に進む。それ以外の場合、開示ビット計算部240はステップS217に進む。なお、開示ビット空間のサイズは、開示ビット長205をcとしたとき2^cである。
開示ビット計算部240は開示ビットがないものとする。なお、開示ビット計算部240は、本ステップを実行した後にソルトリストに新たなソルトを追加する。
開示ビットがない場合、開示ビット計算部240はステップS205に進む。それ以外の場合、開示ビット計算部240はステップS218に進む。
ステップS207において新たなソルトを追加した場合、開示ビット計算部240はステップS219に進む。それ以外の場合、開示ビット計算部240はステップS221に進む。
開示ビット計算部240は、ソルト表206のエントリのうち登録するキーワード200に対応するエントリに新たなソルトを追加する。
ソルト表登録要求部270は、ソルト表206を出力する。
ステップS209において計算した開示ビットに対応するエントリが頻度分布表207にない場合、開示ビット計算部240はステップS222に進む。それ以外の場合、開示ビット計算部240はステップS223に進む。なお、当該開示ビットに対応する変換キーワードに対応するソルトは決定ソルトに当たる。
開示ビット計算部240は、頻度分布表207において、ステップS209において計算した開示ビットに対応する頻度を0とする。
開示ビット計算部240は、頻度分布表207において、ステップS209において計算した開示ビットに対応する頻度に1を加算する。
開示ビット計算部240は、ステップS223において修正した頻度分布表207と、ステップS209において計算した開示ビットとを出力する。開示ビット計算部240は、記憶部230が記憶している頻度分布表207を、ステップS223において修正した頻度分布表207に更新してもよい。
開示ビット計算部240は、ソルトを仮で割り当てて開示ビットの出現頻度を確認する。具体的には、ソルトs1を用いて開示ビットを計算する場合、当該開示ビットを開示すると登録クライアント装置20が開示している開示ビットの頻度分布の偏りが比較的大きくなる。そのため、この場合において頻度分析攻撃を受けるリスクが高くなる。一方、ソルトs2を用いて開示ビットを計算する場合、当該開示ビットを開示しても登録クライアント装置20が開示している開示ビットの頻度分布の偏りが比較的小さいままである。そのため、この場合において頻度分析攻撃を受けるリスクが低いままである。
従って、本例において、開示ビット計算部240は登録キーワード「AAA」に対して使用するソルトをソルトs2に決定する。
なお、フローチャートを用いて最大頻度及び最小頻度に基づいて開示ビット計算部240が開示ビットの頻度分布の偏りの大きさを判断する具体例を説明したが、開示ビット計算部240は分散の大きさ等の他の指標に基づいて開示ビットの頻度分布の偏りの大きさを判断してもよい。また、開示ビット計算部240は、開示ビットの頻度分布の偏りの大きさが最小になるよう(具体例として、開示ビットの頻度分布が一様になるよう)ソルトを選択する必要はなく、開示ビットの頻度分布の偏りの大きさがある許容範囲内に収まるようソルトを選択してもよい。
そこで、まず、開示ビット計算部240は、新たなソルトとしてソルトs3を用いて登録キーワード「AAA」に対応する開示ビットを計算し、当該開示ビットを開示した場合における登録クライアント装置20が開示している開示ビットの頻度分布を求める。求めた頻度分布において偏りが比較的大きいため、開示ビット計算部240はソルトs3を選択しない。
次に、開示ビット計算部240は、新たなソルトとしてソルトs4を用いて登録キーワード「AAA」に対応する開示ビットを計算し、当該開示ビットを開示した場合における登録クライアント装置20が開示している開示ビットの頻度分布を求める。求めた頻度分布において偏りが比較的小さいため、開示ビット計算部240は、登録キーワード「AAA」に対応するソルトとしてソルトs4を選択する。
なお、ソルト表206にソルトを1つ追加する具体例を示したが、ソルト表206に複数のソルトを追加してもよい。
開示ビット計算部330に、開示ビット長205と、検索するキーワード200と、ソルト表206とが入力される。なお、記憶部320が記憶している頻度分布表207を開示ビット計算部330が参照することができる場合、開示ビット計算部330は本ステップをスキップしてもよい。
開示ビット計算部330は、ソルト表206から検索するキーワード200に対応するソルトを取得し、取得したソルトを用いてソルトリストを生成する。
生成したソルトリストが空である場合、開示ビット計算部330はステップS311に進む。それ以外の場合、開示ビット計算部330はステップS304に進む。
開示ビット計算部330は、ソルトの値として0を代入し、開示ビットリストがないものとする。
開示ビット計算部330は、ソルトリストが含むソルトのうち、本フローチャートの処理においてまだ選択していないソルトのいずれかを選択ソルトとして選択する。
開示ビット計算部330は、選択ソルトと検索するキーワード200とを用いて変換キーワードを計算する。変換キーワードの計算方法はステップS208で説明した通りである。ただし、登録クライアント装置20による登録時と検索クライアント装置30による検索時との間で変換キーワードの計算方法が一致していなければならない。
開示ビット計算部330は、計算した変換キーワードと、開示ビット用秘密鍵204と、開示ビット長205とを用いて開示ビットを計算する。
開示ビット計算部330は、計算した開示ビットを開示ビットリストに追加する。
本フローチャートの処理においてまだ選択していないソルトがソルトリストにある場合、開示ビット計算部330はステップS305に進む。それ以外の場合、開示ビット計算部330はステップS310に進む。
開示ビット計算部330は、開示ビットリストを出力する。
検索するキーワード200に対応するデータが秘匿検索サーバ装置10に登録されていないため、開示ビット計算部330は、キーワード200に対応するデータを検索せずに本フローチャートの処理を終了する。
まず、開示ビット計算部330は、ソルト表206を参照し、検索キーワード「AAA」に対応する全てのソルトの各々を用いて検索キーワード「AAA」に対応する各開示ビットを計算する。
次に、検索要求部350は、計算した各開示ビットを示す検索データ307を秘匿検索サーバ装置10に送信する。
次に、検索データ入力部130は検索データ307を受け取り、受け取った検索データ307をデータ検索部140に送る。
次に、データ検索部140は、検索データ307を受け取り、検索クエリにおいて、受け取った検索データ307に示される各開示ビットと、登録データテーブル101に登録されている各開示ビットとをバイナリ比較することによって開示ビットを絞り込む。ここで、絞り込んだ開示ビットに対応するタグは検索キーワード「AAA」に対応するトラップドアに当たる。なお、バイナリ比較に要する時間は非常に短いため、開示ビットの比較数が増えても高速化効果は維持される。
以上のように、実施の形態1によれば、確率的暗号に基づく検索可能暗号技術において、キーワードの出現頻度を事前に必要とせずに、高速化効果を維持しつつ頻度分析攻撃に対するリスクを小さくすることができる。
また、特許文献1が開示する技術に対して実施の形態1を適用する場合を考える。この場合において、既に開示している開示ビットの出現頻度に応じてキーワードに付与するソルトを調整する。この際、開示ビット空間内でソルトを調整してもよい。そのため、この場合において、キーワードを不要に分割することを防ぐことができる。即ち、特許文献1が開示する技術に実施の形態1を適用することにより、変換キーワード数を削減することができる。
なお、特許文献1が開示する技術には当該技術を開示ビットに対して適用すると、変換キーワードに置換しても開示ビットの頻度分布に偏りが生じる可能性があるという課題がある。しかしながら、特許文献1が開示する技術に実施の形態1を適用することにより当該課題は解消される。
<変形例1>
図17は、本変形例に係る登録クライアント装置20のハードウェア構成例を示している。
登録クライアント装置20は、プロセッサ91、プロセッサ91とメモリ92、プロセッサ91と補助記憶装置93、あるいはプロセッサ91とメモリ92と補助記憶装置93とに代えて、処理回路98を備える。
処理回路98は、登録クライアント装置20が備える各部の少なくとも一部を実現するハードウェアである。
処理回路98は、専用のハードウェアであってもよく、また、メモリ92に格納されるプログラムを実行するプロセッサであってもよい。
登録クライアント装置20は、処理回路98を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路98の役割を分担する。
プロセッサ91とメモリ92と補助記憶装置93と処理回路98とを、総称して「プロセッシングサーキットリー」という。つまり、登録クライアント装置20の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
秘匿検索システム1が備える登録クライアント装置20以外の各装置についても、本変形例と同様の構成であってもよい。
実施の形態1について説明したが、本実施の形態のうち、複数の部分を組み合わせて実施しても構わない。あるいは、本実施の形態を部分的に実施しても構わない。その他、本実施の形態は、必要に応じて種々の変更がなされても構わず、全体としてあるいは部分的に、どのように組み合わせて実施されても構わない。
なお、前述した実施の形態は、本質的に好ましい例示であって、本開示と、その適用物と、用途の範囲とを制限することを意図するものではない。フローチャート等を用いて説明した手順は、適宜変更されてもよい。
Claims (9)
- 確率的暗号に基づく検索可能暗号技術を採用する秘匿検索システムであって、
秘匿検索される少なくとも1つのデータと、前記少なくとも1つのデータの各々に対応する少なくとも1つのキーワードとを秘匿検索サーバ装置に登録し、前記秘匿検索サーバ装置に登録した各キーワードと、前記秘匿検索サーバ装置に登録した各キーワードに対応するソルトとを用いて確定的に計算されたデータの一部であって、前記秘匿検索サーバ装置に開示するデータである開示ビットを開示する登録クライアント装置であって、
前記秘匿検索サーバ装置に登録するキーワードである登録キーワードに対応するソルトを決定ソルトとして決定する開示ビット計算部
を備え、
前記開示ビット計算部は、前記登録クライアント装置が既に開示している開示ビットと、前記登録キーワードと前記決定ソルトとを用いて計算した開示ビットとから成る分布の偏りの大きさに基づいて前記決定ソルトを決定する登録クライアント装置
を備える秘匿検索システム。 - 前記秘匿検索システムは、さらに、
前記秘匿検索サーバ装置に登録されている各キーワードに対応するソルトを記憶する記憶部
を備えるソルト表管理装置
を備える請求項1に記載の秘匿検索システム。 - 前記開示ビット計算部は、前記ソルト表管理装置の記憶部が前記登録キーワードに対応するソルトとして記憶しているソルトに基づいて前記決定ソルトを決定する請求項2に記載の秘匿検索システム。
- 前記開示ビット計算部は、前記ソルト表管理装置の記憶部が前記登録キーワードに対応するソルトとして記憶しているソルト以外のソルトを前記決定ソルトとして決定する請求項3に記載の秘匿検索システム。
- 前記ソルト表管理装置は、さらに、
前記登録クライアント装置が登録するキーワードの出現頻度が既知である場合において、既知である出現頻度に基づいて、前記開示ビット計算部が前記決定ソルトとして決定するソルトの候補を計算するソルト表入力部
を備える請求項2から4のいずれか1項に記載の秘匿検索システム。 - 前記開示ビット計算部は、前記登録クライアント装置が登録するキーワードの出現頻度が既知である場合において、既知である出現頻度に基づいて、前記開示ビット計算部が前記決定ソルトとして決定するソルトの候補を計算する請求項1から4のいずれか1項に記載の秘匿検索システム。
- 前記秘匿検索システムは、さらに、
前記秘匿検索サーバ装置に登録されているデータを検索する開示ビット計算部
を備える検索クライアント装置であって、
前記開示ビット計算部は、前記秘匿検索サーバ装置に登録されているデータを検索する際に、前記秘匿検索サーバ装置に登録されている各キーワードに対応するソルトの全てを用いて前記開示ビットを計算する検索クライアント装置
を備える請求項1から6のいずれか1項に記載の秘匿検索システム。 - 確率的暗号に基づく検索可能暗号技術を採用する秘匿検索システムにおいて、秘匿検索される少なくとも1つのデータと、前記少なくとも1つのデータの各々に対応する少なくとも1つのキーワードとを秘匿検索サーバ装置に登録し、前記秘匿検索サーバ装置に登録した各キーワードと、前記秘匿検索サーバ装置に登録した各キーワードに対応するソルトとを用いて確定的に計算されたデータの一部であって、前記秘匿検索サーバ装置に開示するデータである開示ビットを開示するコンピュータである登録クライアント装置が実行する秘匿検索方法であって、
前記登録クライアント装置の開示ビット計算部が、前記秘匿検索サーバ装置に登録するキーワードである登録キーワードに対応するソルトを決定ソルトとして決定し、
前記開示ビット計算部は、前記登録クライアント装置が既に開示している開示ビットと、前記登録キーワードと前記決定ソルトとを用いて計算した開示ビットとから成る分布の偏りの大きさに基づいて前記決定ソルトを決定する秘匿検索方法。 - 確率的暗号に基づく検索可能暗号技術を採用する秘匿検索システムにおいて、秘匿検索される少なくとも1つのデータと、前記少なくとも1つのデータの各々に対応する少なくとも1つのキーワードとを秘匿検索サーバ装置に登録し、前記秘匿検索サーバ装置に登録した各キーワードと、前記秘匿検索サーバ装置に登録した各キーワードに対応するソルトとを用いて確定的に計算されたデータの一部であって、前記秘匿検索サーバ装置に開示するデータである開示ビットを開示するコンピュータである登録クライアント装置が実行する秘匿検索プログラムであって、
前記秘匿検索サーバ装置に登録するキーワードである登録キーワードに対応するソルトを決定ソルトとして決定する開示ビット計算処理であって、
前記登録クライアント装置が既に開示している開示ビットと、前記登録キーワードと前記決定ソルトとを用いて計算した開示ビットとから成る分布の偏りの大きさに基づいて前記決定ソルトを決定する開示ビット計算処理
を前記登録クライアント装置に実行させる秘匿検索プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/046136 WO2023112176A1 (ja) | 2021-12-14 | 2021-12-14 | 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2023112176A1 JPWO2023112176A1 (ja) | 2023-06-22 |
JP7455287B2 true JP7455287B2 (ja) | 2024-03-25 |
Family
ID=86773800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023559065A Active JP7455287B2 (ja) | 2021-12-14 | 2021-12-14 | 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7455287B2 (ja) |
WO (1) | WO2023112176A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012115031A1 (ja) | 2011-02-22 | 2012-08-30 | 三菱電機株式会社 | 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム |
WO2017122696A1 (ja) | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
JP2020004199A (ja) | 2018-06-29 | 2020-01-09 | ソニー株式会社 | 情報処理装置および情報処理方法 |
-
2021
- 2021-12-14 WO PCT/JP2021/046136 patent/WO2023112176A1/ja active Application Filing
- 2021-12-14 JP JP2023559065A patent/JP7455287B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012115031A1 (ja) | 2011-02-22 | 2012-08-30 | 三菱電機株式会社 | 検索システム、検索システムの検索方法、情報処理装置、検索プログラム、対応キーワード管理装置および対応キーワード管理プログラム |
WO2017122696A1 (ja) | 2016-01-14 | 2017-07-20 | 三菱電機株式会社 | 秘匿検索システム、秘匿検索方法及び秘匿検索プログラム |
JP2020004199A (ja) | 2018-06-29 | 2020-01-09 | ソニー株式会社 | 情報処理装置および情報処理方法 |
Non-Patent Citations (1)
Title |
---|
森 郁海, 他,確率的暗号ベースの検索可能暗号を用いた全文検索の高速化検討,情報処理学会研究報告,情報処理学会,2021年03月08日,Vol. 2021-CSEC-92, No. 14,pp. 1-7,ISSN 2188-8655 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023112176A1 (ja) | 2023-06-22 |
WO2023112176A1 (ja) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6292594B2 (ja) | 重複排除に基づくデータセキュリティ | |
JP5296365B2 (ja) | 暗号化キーの管理及び自動生成のためのシステム、方法、及びコンピュータ・プログラム | |
JP5963936B2 (ja) | サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム | |
EP3382576B1 (en) | Secret search system, secret search method, and secret search program | |
JP6910477B2 (ja) | 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム | |
US20040064485A1 (en) | File management apparatus and method | |
US20220358054A1 (en) | Protection of data in memory of an integrated circuit using a secret token | |
JP6632780B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
Sangeetha et al. | Multi keyword searchable attribute based encryption for efficient retrieval of health Records in Cloud | |
JP6289768B2 (ja) | 暗号化装置、暗号化プログラム及び暗号化方法 | |
US9218296B2 (en) | Low-latency, low-overhead hybrid encryption scheme | |
JP7455287B2 (ja) | 秘匿検索システム、秘匿検索方法、及び、秘匿検索プログラム | |
US11902418B2 (en) | Registration device, search operation device, and data management device | |
JP6672451B2 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
US10936757B2 (en) | Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium | |
Sude et al. | Authenticated CRF based improved ranked multi-keyword search for multi-owner model in cloud computing | |
Borges | Practical Isolated Searchable Encryption in a Trusted Computing Environment | |
JP7466800B2 (ja) | 情報処理システム、情報処理方法、および、情報処理プログラム | |
Gampala et al. | A study on privacy preserving searching approaches on encrypted data and open challenging issues in cloud computing | |
Vishal Reddy et al. | SecHDFS-AWS: A Novel Approach to Design Efficient and Secure Data Storage Model Over HDFS Enabled Amazon Cloud | |
Mori et al. | Determination of Parameters Balancing between Security and Search Performance on Searchable Encryption | |
Gnana Jeslin et al. | for Convenient Big Data Management in Cloud Backup Systems. Symmetry 2022, 14, 1392 | |
JP2024021523A (ja) | ソフトウェア情報管理装置、ソフトウェア情報管理方法 | |
Shammas et al. | MDSAPI: A solution for customers to access heterogeneous multiple datastore | |
Reddy et al. | Security Challenges in Cloud Storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230926 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231128 |
|
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: 20240213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240312 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7455287 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |