JP4722620B2 - 暗号化文書検索方法および暗号化文書検索システム - Google Patents

暗号化文書検索方法および暗号化文書検索システム Download PDF

Info

Publication number
JP4722620B2
JP4722620B2 JP2005238361A JP2005238361A JP4722620B2 JP 4722620 B2 JP4722620 B2 JP 4722620B2 JP 2005238361 A JP2005238361 A JP 2005238361A JP 2005238361 A JP2005238361 A JP 2005238361A JP 4722620 B2 JP4722620 B2 JP 4722620B2
Authority
JP
Japan
Prior art keywords
value
index
search
document
encrypted
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
Application number
JP2005238361A
Other languages
English (en)
Other versions
JP2007052698A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2005238361A priority Critical patent/JP4722620B2/ja
Publication of JP2007052698A publication Critical patent/JP2007052698A/ja
Application granted granted Critical
Publication of JP4722620B2 publication Critical patent/JP4722620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号化文書検索方法および暗号化文書検索システムに関する。
近年、様々なデータを電子データに変換し、オンラインで保管および管理することによって作業を効率化する試みが多くの企業でなされている。それに伴い、「データセンタ」事業と称される、データベースに必要な資材および環境を提供するサービスも出現している。
このような形態において、データベース環境を管理する管理者と実際にデータベースを利用する利用者とが異なることから、管理者によって利用者の機密情報が盗聴されることを防ぐために、利用者が保存するデータを暗号化することが考えられている。
ところが、データを暗号化した状態ではそのデータの内容が判別不能であるため、必要なデータを探し出すことが困難であり、このため、従来は、データを復号化して検索していた(例えば特許文献1参照)。また、暗号化データベースに蓄積されたデータを暗号化したまま検索可能とするためのインデックスの作成を行い、当該インデックスを参照することによって暗号化データベースの検索処理の高速化をはかった文書検索システムも出現している(例えば、特許文献2参照)。
特開2001−222555号公報 特開2005−134990号公報
上記した特許文献2に開示された技術によれば、文書が暗号化され蓄積された暗号化データベースを暗号化したまま検索できるため、検索処理の高速化ははかれるが、このとき、インデックス値が格納された別テーブルを参照するため、このインデックステーブルを検索するにあたり情報漏洩の恐れがある。また、インデックス値を更新管理する上でのシステム上の負荷に関しても課題として残っていた。
本発明は上記事情に基づいてなされたものであり、暗号化されたデータのインデックスを安全な方法で生成することにより機密性を高めながら検索処理の一層の高速化をはかることのできる暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システムを提供することを目的とする。
また、ユーザの検索履歴を使用してインデックスを動的に自動更新することで更新管理に対する負荷の削減をはかることのできる暗号化された文書のためのインデックス生成および検索方法ならびに暗号化文書検索システムを提供することも目的とする。
上述した課題を解決するために本発明の一態様は、センタ装置に文書が暗号化され登録される記憶装置を備え、前記センタ装置とはネットワークを介して接続される端末装置が、前記記憶装置に登録された文書を暗号化したまま検索することのできる暗号化文書検索システムにおける暗号化文書検索方法であって、前記端末装置が、文書のインデックスとして登録される単語を取り込んで暗号化のための演算を実行し、前記演算された結果得られるビット列を値nに変換し、前記インデックスの値のn番目のビットをONに設定することにより当該文書のブルームフィルタ(BF)値を得て、当該文書のインデックスとして前記センタ装置の記憶装置に登録するインデックス生成ステップを有し、前記センタ装置が、前記記憶装置を参照してインデックスであるBF値が類似するインデックス同士をグルーピングし、前記グルーピングの結果得られるグループのインデックス同士を更にグルーピングし、文書のBF値を階層化したインデックスツリーを生成するインデックスツリー生成ステップと、記端末装置から暗号化された検索キーワードを受信し、当該検索キーワードのインデックスとして当該検索キーワードのBF値を計算し、当該インデックスと前記インデックスツリーとの比較演算を行って前記検索キーワードの有無を判定し、前記インデックスに紐付けられた文書を返信する検索処理ステップと、前記検索処理ステップによる検索履歴を用いて前記インデックスツリー生成ステップにより生成されたインデックスツリーを再構成するインデックス更新ステップとを有し、前記検索処理ステップは、(1)前記暗号化された検索キーワードを受信して当該検索キーワードのBF値の計算を実行し、(2)最上位階層のBF値が検索キーワードのBF値を含むか否かを判定し、(3)含む場合、順次、次階層のBF値が検索キーワードのBF値を含むか否かを更に判定し、(4)最下位階層に至った場合、最下位階層のBF値が検索キーワードのBF値を含むときは、該当するグループの文書についてインデックス検索を行い、インデックス検索によりヒットした検索結果を回答し、(5)インデックス検索にてヒットしなかったときは、全文検索を行い、全文検索によりヒットした検索結果を回答し、前記インデックス更新ステップは、(1)前記全文検索の結果を前記検索履歴として参照して、前記検索処理ステップの前記全文検索によりヒットした単語のBFを計算し、(2)当該計算されたBFと閾値として設定される任意のハミング重みとを比較し、(3)当該閾値内にあるとき、当該計算されたBF値を、前記検索処理ステップの前記全文検索によりヒットした全文書のBFのそれぞれに対してOR演算することにより足し込んで得られる当該全文書のBF値を用いて、記インデックスツリー再構成することを特徴とする。
また、上記発明において、前記インデックス生成ステップは、(1)ユーザによって入力される単語を所定の共通鍵暗号を用いて暗号化し、(2)前記暗号化された単語にハッシュ関数演算を実行して任意のk種類のハッシュ値を得、(3)前記k種類のハッシュ値を値Mで除算して剰余Xを求め、当該Mビットのビット列の前記番目の位置のビットをONし、(4)文書を構成する全ての単語について前記(1)〜(3)の処理を実行し、その最終処理結果を前記文書のBFとして前記記憶装置にインデックス登録することを特徴とする。
また、上記発明において、前記インデックスツリー生成ステップは、(1)前記記憶装置に登録されたBF同士のハミング距離を計算して任意の閾値以内にあるBFをグルーピングし、(2)前記グルーピングの結果得られるグループのBF同士を(1)に従い更にグルーピングしてインデックスツリーを生成し、(3)前記グルーピングができなくなった階層における全てのBFをOR演算して最上位階層のBFを生成することを特徴とする。
また、上述した課題を解決するために本発明の他の態様は、文書が暗号化され登録される記憶装置を備え、前記記憶装置に登録された文書を暗号化したまま検索する暗号化文書検索システムであって、前記文書のインデックスとして登録される単語を受信して暗号化のための演算を実行し、前記演算された結果得られるビット列を値nに変換し、前記インデックスの値のn番目のビットをONに設定することにより当該文書のブルームフィルタ(BF)値を得て、当該文書のインデックスとして前記センタ装置の記憶装置に登録するインデックス生成部と、前記記憶装置を参照してインデックス値であるBF値が類似するインデックス同士をグルーピングし、前記グルーピングの結果得られるグループのインデックス同士を更にグルーピングし、文書のBF値を階層化したインデックスツリーを生成するインデックスツリー生成部と、暗号化された検索キーワードを受信し、当該検索キーワードのインデックスとして当該検索キーワードのBF値を計算し、当該インデックスと前記インデックスツリーとの比較演算を行って前記検索キーワードの有無を判定し、前記インデックスに紐付けられた文書を返信する検索処理部と、前記検索処理部による検索履歴を用いて前記インデックスツリー生成部により生成されたインデックスツリーを再構成するインデックス更新部とを備え、前記検索処理部は、(1)前記暗号化された検索キーワードを受信して当該検索キーワードのBF値の計算を実行し、(2)最上位階層のBF値が検索キーワードのBF値を含むか否かを判定し、(3)含む場合、順次、次階層のBF値が検索キーワードのBF値を含むか否かを更に判定し、(4)最下位階層に至った場合、最下位階層のBF値が検索キーワードのBF値を含むときは、該当するグループの文書についてインデックス検索を行い、インデックス検索によりヒットした検索結果を回答し、(5)インデックス検索にてヒットしなかったときは、全文検索を行い、全文検索によりヒットした検索結果を回答し、前記インデックス更新部は、(1)前記全文検索の結果を前記検索履歴として参照して、前記検索処理部の前記全文検索によりヒットした単語のBFを計算し、(2)当該計算されたBFと閾値として設定される任意のハミング重みとを比較し、(3)当該閾値内にあるとき、当該計算されたBF値を、前記検索処理部の前記全文検索によりヒットした全文書のBFのそれぞれに対してOR演算することにより足し込んで得られる当該全文書のBF値を用いて、記インデックスツリー再構成することを特徴とする。
また、上記発明において、前記インデックス生成部は、(1)ユーザによって入力される単語を所定の共通鍵暗号を用いて暗号化し、(2)前記暗号化された単語にハッシュ関数演算を実行して任意のk種類のハッシュ値を得、(3)前記k種類のハッシュ値を値Mで除算して剰余Xを求め、当該Mビットのビット列の前記番目の位置のビットをONし、(4)文書を構成する全ての単語について前記(1)〜(3)の処理を実行し、その最終処理結果を前記文書のBFとして前記記憶装置にインデックス登録することを特徴とする。
また、上記発明において、前記インデックスツリー生成部は、(1)前記記憶装置に登録されたBF同士のハミング距離を計算して任意の閾値以内にあるBFをグルーピングし、(2)前記グルーピングの結果得られるグループのBF同士を(1)に従い更にグルーピングしてインデックスツリーを生成し、(3)前記グルーピングができなくなった階層における全てのBFをOR演算して最上位階層のBFを生成することを特徴とする。
本発明によれば、ユーザにインデックス値として登録する単語を入力してもらってその単語を暗号化し、また、そのビット列をある長さにするために一方向性関数演算を施してある値に変換し、その各値に対応するビット位置をONしてインデックス値として登録することで、暗号化された文書のインデックスを安全な方法で生成することができ、このことにより、機密性を高めることができる。
また、センタ装置は、登録されたインデックスが類似するもの同士をグルーピングすることにより階層化してインデックスツリーを生成し、暗号化された検索キーワードを受信したときにそのインデックスとインデックスツリーとの比較演算を行い検索キーワードの有無を判定することにより検索処理の一層の高速化をはかることができる。更に、センタ装置がその検索結果を利用して、インデックスを自動更新することにより、ユーザの検索履歴を使用してインデックスを動的に更新することができ、更新管理に対する負荷の削減をはかることができる。
図1は、本発明の実施形態に係る暗号化文書検索システムのシテム構成の一例を示す図である。ここでは、ある会社が社内のある重要文書のデータベース管理をデータセンタに委託する場合の適用システムを想定している。
端末装置としてのユーザ端末12には、暗号化文書作成のためのプログラム(暗号化モジュール124)があらかじめインストールされており、LAN13(Local Area Network)経由で社内の管理サーバ12に接続されている。管理サーバ12は、ネットワークとしてのインターネット30を経由して、センタ装置としてのデータセンタ20(記憶装置としての暗号化DB22)に接続されている。
上記したシステム構成において、ユーザがユーザ端末12を操作し、ユーザI/F(インタフェース)122を用いて文書を作成してデータセンタ20に登録する場合、ユーザ端末12は、暗号化モジュール124を起動してその文書の暗号化を行い、通信モジュール123、インターネット30を経由してデータセンタ20をアクセスする。そして、データセンタ20の暗号化DB登録検索モジュール21を介して暗号化DB22にアップロードする。
一方、ユーザがキーワード検索を行う場合、ユーザ端末12を操作して検索キーワードの入力を行い、ユーザ端末12は、その検索キーワードを暗号化してインターネット30経由でデータセンタ20へ送信する。
データセンタ20では、DB登録検索モジュール21を起動し、このDB登録検索モジュール21は、暗号化DB22を検索して暗号化された状態でマッチング処理を行い、該当する文書を抽出して返信する。検索要求を発行したユーザ端末12は、返信されてきた文書を復号化モジュール125により復号化し、ユーザI/F122を介してユーザに提供する。
以下に詳細説明を行う。ここでは、文書は単語単位で暗号化されデータセンタ20の暗号化DB22に登録されるものとする。
まず、ユーザがユーザ端末12を操作することによりインデックスとして登録すべき単語を入力する。ユーザ端末12はその単語を暗号化し、さらに、そのビット列をある長さにするためハッシュ関数などの一方向性関数を通してある値nに変換し、kビットのインデックス値のn番目のビットをONする。同様の処理を、データセンタ20の暗号化DB22に登録する全ての単語に施し、各数値に対応するビット位置をONする。これを文書のインデックス値としてデータセンタ20の暗号化DB22に登録する。データセンタ20では、更に、インデックス値が類似するもの同士をグルーピングすることにより階層化する。また、検索結果を利用して、インデックスを自動更新する。
また、データセンタ20は、検索キーワードを受信し、図2に示すフローチャートに従いその検索処理を実行する。
すなわち、データセンタ20は、検索キーワードを受信してキャッシュチェックを行い直前の検索結果を参照する(S21、S22)。その結果、ヒット(HIT)した場合はキャッシュから文書を取得してユーザに結果を通知し(S27)、ヒットしなかった場合に暗号化DB22のインデックス検索が行われる(S23)。インデックス検索によりヒットした場合は対応する文書を取得してユーザに結果を通知し(S27)、ヒットしなかった場合は暗号化DB22を参照して全文検索を行う(S24)。そして、対応する文書を取得してユーザに結果を通知する。全文検索の場合、ヒットの有無に係らず結果がユーザに通知される(S25、S27)。なお、全文検索の後、インデックス検索により検索された文書内を全文検索してインデックスの自動更新が行われる(S26)。インデックスの自動更新については後に詳細に述べる。
図3は、本発明の実施形態に係る暗号化文書検索システムの構成を機能展開して示したブロック図である。
本発明実施形態に係る暗号化文書検索システムは、インデックス生成部211と、インデックスツリー生成部212と、インデックス記憶部213と、暗号化文書214と、検索要求受信部215と、検索処理部216と、インデックス更新部217で構成される。
インデックス生成部211は、文書のインデックスとして登録される単語を受信して暗号化のための演算を実行し、演算された結果得られるビット列を所定長の値nに変換して値のn番目のビットをONに設定し、インデックスとしてインデックス記憶部213に登録する機能を持つ。
また、インデックスツリー生成部212は、インデックス記憶部213を参照してインデックス値が類似するインデックス同士をグルーピングし、当該グルーピングの結果得られるグループのインデックス同士を更にグルーピングしてインデックスツリーを生成する機能を持つ。なお、各インデックスには配下の文書のIDが紐付けられており、暗号化文書214に登録される文書とは対応付けて管理される。
一方、検索要求受信部215は、暗号化された検索キーワードを受信して検索処理部216に引き渡す機能を持つ。検索処理部216は、インデックス生成部211と同じ手順に従ってインデックスを生成し、当該インデックスとインデックスツリー生成部212によって生成されるインデックスツリーとの比較演算を行って検索キーワードの有無を判定し、インデックスに紐付けられた文書を暗号化文書214から抽出して返信する機能を持つ。
インデックス更新部217は、検索処理部216による検索履歴を用いてインデックスツリー生成部212により生成されたインデックスツリーの再構成(インデックスの動的更新)する機能を持つ。詳細は後述する。
なお、図1に示す暗号化DB22は、図2に示すインデックス記憶部213と、暗号化文書部214から構成されるものとする。
以下、本発明の実施形態に係る暗号化文書検索システムの動作について、図4以降に示すフローチャートを参照しながら詳細に説明する。
まず、インデックス生成部211によるインデックス生成処理について、図4に示すフローチャートを参照しながら説明する。ここではインデックス作成に、局所的分散発見手法の一つとして知られているBloom Filter(以下、BFといいう)を利用するものとする。インデックス生成部211は、まず、ユーザによって入力された単語、あるいは検索キーワードを取込み(S41)、所定の共通鍵暗号で暗号化した後、K種類のハッシュ関数SHA−1(Secure Hash Algorithm-1:K通りの別の鍵を入力するMAC:Message Authentication Code)に入力し、K種類の160ビットのハッシュ値を得る(S42)。
次に、インデックス生成部211は、そのハッシュ値について、mod M演算を行い、剰余の値Xを求める(S43)。そして、Mビットにおけるビット列のXの位置(K種類計算されているはず)にビットをONする(S44)。
これを該当文書における全てのキーワードに対して実施し、都度ビットをONする(S45)。但し、既にビットがONしている位置はそのままにしておく。そして、全ての単語について同様の処理を行い、最終結果を当該文書のBFとしてデータセンタ20のインデックス記憶部213に登録する(S46)。なお、K,Mについては設定により変更可能とする。
次に、データセンタ20では、インデックスツリー生成部212を起動し、インデックス記憶部213に登録された文書のBFに対し、図5にフローチャートで示す処理を実行してBFの階層化処理を行う。
すなわち、インデックスツリー生成部212は、登録されているBF同士の類似度を判定するためにハミング距離を計算し(S51)、閾値T以内のBFをグルーピングする(S52)。グループのBFは、グループメンバーのBFを全てOR演算することにより求めることができる。このとき、ビットがONしていなければONする。続いて、同様の手順でグループのBFを更にグルーピングする(S53)。そして、グルーピングできなくなった段階で、全てのBFをOR演算し、ルートBFを生成する(S54)。ここでのルートBFは最上位階層とする。なお、閾値Tは任意に設定可能とする。また、各BFには、配下の文書のIDが紐付いていることは上記したとおりである。
キーワード検索は、データセンタ20の検索処理部216が、図6のフローチャートに示す手順を実行することにより実現される。
まず、ユーザ端末12がユーザによって入力される検索キーワードを、所定の共通鍵暗号で暗号化する。そして、暗号化した検索キーワードをデータセンタ20に送信する。データセンタ20では、暗号化された検索キーワードを検索要求受信部215が受信し、検索処理部216に引き渡す(S61)。このとき、検索処理部216は、インデックス生成部211で生成されるインデックスと同じ手順でそのBF値の計算を実行する(S62)。
続いて、最上位階層のルートBF値を参照し(S63)、送信されてきたBF値とOR演算し、更にその値にルートBF値を比較演算(XOR)して(S64)、オール“0”になるか否かを判定する(S65)。ここでは、ルートBF値に検索キーワードに相当するBF値が含まれるか否かを判定している。
ここで、オール“0”であれば、S66の処理に進み、オール“0”でなければ、検索キーワード無しとしてユーザに返信する(S69)。
S66の処理において、検索処理部216は、次階層のルートBF値を参照し、同様の手順で検索キーワードに相当するBF値が含まれるか否かを判定する(S64、S65)。ここで、オール“0”であれば、更に次階層のルートBF値を参照して階層展開が出来なくなるまでS64〜S66に従う処理を繰り返す。そして、最下位階層までいって(S67“Yes”)、そのルートBF値に検索キーワードに相当するBF値が含まれるか否かを判定し(S68)、オール“0”になった場合、該当するグループの文書全てについてインデックス検索を行う(S69)。そして、インデックス検索の結果、ヒットの有無を判定し(S70)、ヒットしなければ全文検索を行い(S71)、検索回答を行う(S72)。なお、検索回答はヒットの有無にかかわらず行われる。
なお、オール“0”となるグループが1つでもあれば、ユーザに返信せずに処理を継続する。図7に、上記した階層展開の模式図が示されている。図7中、Doc.はそれぞれのBFに紐付けられた文書、×印は、ルートBF値に検索キーワードに相当するBF値が含まれていないと判定されたケースを示している。
一方、インデックス更新処理は、インデックス更新部217が、図8に示すフローチャートに示す手順を実行することによって実現される。インデックス更新部217は、上記した全文検索によって検索された結果を利用することによりインデックスを更新(インデックスツリーの再構成)することができる。
具体的には、全文検索された単語WについてBF値を計算し(S81、S82)、ここで計算されたBF値を、上記の検索でヒットした全文書のBF値それぞれに対してOR演算することにより足し込み、BFの階層化構造であるインデックスツリーを再構成する(S84)。
なお、インデックス更新部217は、外部からある閾値U(ハミング重み)が設定されることで、その閾値Uと、各BF値とを比較することで、インデックス更新処理に制限を設けている(S83)。すなわち、インデックス更新部217は、各BFのハミング重みがUになるまでインデックスツリーの再構成を許可し、Uを超えた場合は、再構成を許可しないこととしている。また、上記したインデックス更新処理は、別プロセスとして、バッチ処理により実行される。
以上説明のように本発明は、ユーザにインデックス値として登録する単語を入力してもらってその単語を暗号化し、また、そのビット列をある長さにするために一方向性関数演算を施してある値に変換し、その各値に対応するビット位置をONしてインデックス値として登録するものであり、このことにより、暗号化された文書のインデックスを安全な方法で生成することができ、機密性を高めることができる。
また、データセンタ20(センタ装置)は、登録されたインデックスが類似するもの同士をグルーピングすることにより階層化してインデックスツリーを生成し、暗号化された検索キーワードを受信したときにそのインデックスとインデックスツリーとの比較演算を行い検索キーワードの有無を判定するものであり、ことにより検索処理の一層の高速化をはかることができる。更に、データセンタ20が、その検索結果を利用して、インデックスを自動更新することにより、ユーザの検索履歴を使用してインデックスを動的に更新することができ、更新管理に対する負荷の削減をはかることができる。
本発明の実施形態に係る暗号化文書検索システムのシステム構成の一例を示す図である。 本発明の実施形態に係る暗号化文書検索システムの動作を説明するために引用したフローチャートである。 本発明の実施形態に係る暗号化文書検索システムの構成を機能展開して示したブロック図である。 本発明の実施形態に係る暗号化文書検索システムの動作を説明するために引用したフローチャートである。 本発明の実施形態に係る暗号化文書検索システムの動作を説明するために引用したフローチャートである。 本発明の実施形態に係る暗号化文書検索システムの動作を説明するために引用したフローチャートである。 本発明の実施形態に係る暗号化文書検索システムの動作を説明するために引用した模式図である。 本発明の実施形態に係る暗号化文書検索システムの動作を説明するために引用したフローチャートである。
符号の説明
12…ユーザ端末、20…データセンタ、30…インターネット、21…DB登録検索モジュール、211…インデックス生成部、212…インデックスツリー生成部、213…インデックス記憶部、214…暗号化文書、215…検索要求受信部と、216…検索処理部、217…インデックス更新部

Claims (6)

  1. センタ装置に文書が暗号化され登録される記憶装置を備え、前記センタ装置とはネットワークを介して接続される端末装置が、前記記憶装置に登録された文書を暗号化したまま検索することのできる暗号化文書検索システムにおける暗号化文書検索方法であって、
    前記端末装置が、
    文書のインデックスとして登録される単語を取り込んで暗号化のための演算を実行し、前記演算された結果得られるビット列を値nに変換し、前記インデックスの値のn番目のビットをONに設定することにより当該文書のブルームフィルタ(BF)値を得て、当該文書のインデックスとして前記センタ装置の記憶装置に登録するインデックス生成ステップを有し、
    前記センタ装置が、
    前記記憶装置を参照してインデックスであるBF値が類似するインデックス同士をグルーピングし、前記グルーピングの結果得られるグループのインデックス同士を更にグルーピングし、文書のBF値を階層化したインデックスツリーを生成するインデックスツリー生成ステップと、
    記端末装置から暗号化された検索キーワードを受信し、当該検索キーワードのインデックスとして当該検索キーワードのBF値を計算し、当該インデックスと前記インデックスツリーとの比較演算を行って前記検索キーワードの有無を判定し、前記インデックスに紐付けられた文書を返信する検索処理ステップと、
    前記検索処理ステップによる検索履歴を用いて前記インデックスツリー生成ステップにより生成されたインデックスツリーを再構成するインデックス更新ステップと
    を有し、
    前記検索処理ステップは、
    (1)前記暗号化された検索キーワードを受信して当該検索キーワードのBF値の計算を実行し、(2)最上位階層のBF値が検索キーワードのBF値を含むか否かを判定し、(3)含む場合、順次、次階層のBF値が検索キーワードのBF値を含むか否かを更に判定し、(4)最下位階層に至った場合、最下位階層のBF値が検索キーワードのBF値を含むときは、該当するグループの文書についてインデックス検索を行い、インデックス検索によりヒットした検索結果を回答し、(5)インデックス検索にてヒットしなかったときは、全文検索を行い、全文検索によりヒットした検索結果を回答し、
    前記インデックス更新ステップは、
    (1)前記全文検索の結果を前記検索履歴として参照して、前記検索処理ステップの前記全文検索によりヒットした単語のBFを計算し、(2)当該計算されたBFと閾値として設定される任意のハミング重みとを比較し、(3)当該閾値内にあるとき、当該計算されたBF値を、前記検索処理ステップの前記全文検索によりヒットした全文書のBFのそれぞれに対してOR演算することにより足し込んで得られる当該全文書のBF値を用いて、記インデックスツリー再構成する
    ことを特徴とする暗号化文書検索方法。
  2. 前記インデックス生成ステップは、
    (1)ユーザによって入力される単語を所定の共通鍵暗号を用いて暗号化し、(2)前記暗号化された単語にハッシュ関数演算を実行して任意のk種類のハッシュ値を得、(3)前記k種類のハッシュ値を値Mで除算して剰余Xを求め、当該Mビットのビット列の前記番目の位置のビットをONし、(4)文書を構成する全ての単語について前記(1)〜(3)の処理を実行し、その最終処理結果を前記文書のBFとして前記記憶装置にインデックス登録することを特徴とする請求項1に記載の暗号化文書検索方法。
  3. 前記インデックスツリー生成ステップは、
    (1)前記記憶装置に登録されたBF同士のハミング距離を計算して任意の閾値以内にあるBFをグルーピングし、(2)前記グルーピングの結果得られるグループのBF同士を(1)に従い更にグルーピングしてインデックスツリーを生成し、(3)前記グルーピングができなくなった階層における全てのBFをOR演算して最上位階層のBFを生成することを特徴とする請求項2に記載の暗号化文書検索方法。
  4. 文書が暗号化され登録される記憶装置を備え、前記記憶装置に登録された文書を暗号化したまま検索する暗号化文書検索システムであって、
    前記文書のインデックスとして登録される単語を受信して暗号化のための演算を実行し、前記演算された結果得られるビット列を値nに変換し、前記インデックスの値のn番目のビットをONに設定することにより当該文書のブルームフィルタ(BF)値を得て、当該文書のインデックスとして前記センタ装置の記憶装置に登録するインデックス生成部と、
    前記記憶装置を参照してインデックス値であるBF値が類似するインデックス同士をグルーピングし、前記グルーピングの結果得られるグループのインデックス同士を更にグルーピングし、文書のBF値を階層化したインデックスツリーを生成するインデックスツリー生成部と、
    暗号化された検索キーワードを受信し、当該検索キーワードのインデックスとして当該検索キーワードのBF値を計算し、当該インデックスと前記インデックスツリーとの比較演算を行って前記検索キーワードの有無を判定し、前記インデックスに紐付けられた文書を返信する検索処理部と、
    前記検索処理部による検索履歴を用いて前記インデックスツリー生成部により生成されたインデックスツリーを再構成するインデックス更新部と
    を備え、
    前記検索処理部は、
    (1)前記暗号化された検索キーワードを受信して当該検索キーワードのBF値の計算を実行し、(2)最上位階層のBF値が検索キーワードのBF値を含むか否かを判定し、(3)含む場合、順次、次階層のBF値が検索キーワードのBF値を含むか否かを更に判定し、(4)最下位階層に至った場合、最下位階層のBF値が検索キーワードのBF値を含むときは、該当するグループの文書についてインデックス検索を行い、インデックス検索によりヒットした検索結果を回答し、(5)インデックス検索にてヒットしなかったときは、全文検索を行い、全文検索によりヒットした検索結果を回答し、
    前記インデックス更新部は、
    (1)前記全文検索の結果を前記検索履歴として参照して、前記検索処理部の前記全文検索によりヒットした単語のBFを計算し、(2)当該計算されたBFと閾値として設定される任意のハミング重みとを比較し、(3)当該閾値内にあるとき、当該計算されたBF値を、前記検索処理部の前記全文検索によりヒットした全文書のBFのそれぞれに対してOR演算することにより足し込んで得られる当該全文書のBF値を用いて、記インデックスツリー再構成する
    ことを特徴とする暗号化文書検索システム。
  5. 前記インデックス生成部は、
    (1)ユーザによって入力される単語を所定の共通鍵暗号を用いて暗号化し、(2)前記暗号化された単語にハッシュ関数演算を実行して任意のk種類のハッシュ値を得、(3)前記k種類のハッシュ値を値Mで除算して剰余Xを求め、当該Mビットのビット列の前記番目の位置のビットをONし、(4)文書を構成する全ての単語について前記(1)〜(3)の処理を実行し、その最終処理結果を前記文書のBFとして前記記憶装置にインデックス登録することを特徴とする請求項4に記載の暗号化文書検索システム。
  6. 前記インデックスツリー生成部は、
    (1)前記記憶装置に登録されたBF同士のハミング距離を計算して任意の閾値以内にあるBFをグルーピングし、(2)前記グルーピングの結果得られるグループのBF同士を(1)に従い更にグルーピングしてインデックスツリーを生成し、(3)前記グルーピングができなくなった階層における全てのBFをOR演算して最上位階層のBFを生成することを特徴とする請求項5に記載の暗号化文書検索システム。
JP2005238361A 2005-08-19 2005-08-19 暗号化文書検索方法および暗号化文書検索システム Expired - Fee Related JP4722620B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005238361A JP4722620B2 (ja) 2005-08-19 2005-08-19 暗号化文書検索方法および暗号化文書検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005238361A JP4722620B2 (ja) 2005-08-19 2005-08-19 暗号化文書検索方法および暗号化文書検索システム

Publications (2)

Publication Number Publication Date
JP2007052698A JP2007052698A (ja) 2007-03-01
JP4722620B2 true JP4722620B2 (ja) 2011-07-13

Family

ID=37917088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005238361A Expired - Fee Related JP4722620B2 (ja) 2005-08-19 2005-08-19 暗号化文書検索方法および暗号化文書検索システム

Country Status (1)

Country Link
JP (1) JP4722620B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048621A (ja) * 2007-07-26 2009-03-05 Ricoh Co Ltd データ提供装置、データ提供方法、及びプログラム
KR100903601B1 (ko) 2007-10-24 2009-06-18 한국전자통신연구원 암호화된 수치 데이터 검색 시스템 및 그 방법
WO2010038764A1 (ja) * 2008-10-01 2010-04-08 株式会社Icon 暗号化装置、暗号化方法およびプログラム
CN101739400B (zh) * 2008-11-11 2014-08-13 日电(中国)有限公司 生成索引的方法和装置以及检索方法和装置
US8131738B2 (en) 2008-12-30 2012-03-06 International Business Machines Corporation Search engine service utilizing hash algorithms
JP2010160659A (ja) * 2009-01-07 2010-07-22 Kodo Joho Gijutsu Kenkyusho:Kk データ検索のためのシステム、方法、端末装置、検索サーバ装置、ファイルサーバ装置、およびプログラム
JP2011081030A (ja) * 2009-10-02 2011-04-21 Tani Electronics Corp 検索型カラー暗号化ファイルの構成方法および検索型カラー暗号化ファイルシステム
CN102713996A (zh) * 2010-01-13 2012-10-03 三菱电机株式会社 隐匿检索系统以及公开参数生成装置以及加密装置以及用户秘密密钥生成装置以及查询发布装置以及检索装置以及计算机程序以及隐匿检索方法以及公开参数生成方法以及加密方法以及用户秘密密钥生成方法以及查询发布方法以及检索方法
WO2011086687A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 秘匿検索システム及び暗号処理システム
JP5359941B2 (ja) 2010-03-10 2013-12-04 富士通株式会社 データ管理装置及びデータ管理方法
US8560558B2 (en) 2010-04-28 2013-10-15 Fujitsu Limited Computer product, search apparatus, management apparatus, search method, and management method
WO2011145097A1 (en) * 2010-05-21 2011-11-24 Vaultive Ltd. System and method for secure use of messaging systems
WO2012004880A1 (ja) * 2010-07-08 2012-01-12 三菱電機株式会社 キーワード変換装置、キーワード変換プログラム、記録媒体及びキーワード変換方法
US9111106B2 (en) 2011-01-13 2015-08-18 Mitsubishi Electric Corporation Data processing apparatus and data storage apparatus
JP5716554B2 (ja) 2011-06-06 2015-05-13 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
WO2013054588A1 (ja) * 2011-10-11 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、データストア操作方法、データ構築装置、データ構築方法、データ結合装置、データ結合方法およびプログラム
US9311494B2 (en) 2011-12-01 2016-04-12 Hitachi, Ltd. Secure search method and secure search device
EP2808803B1 (en) 2012-01-25 2017-03-01 Mitsubishi Electric Corporation Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device
US20140331338A1 (en) * 2012-02-09 2014-11-06 Hitachi, Ltd. Device and method for preventing confidential data leaks
US9535658B2 (en) * 2012-09-28 2017-01-03 Alcatel Lucent Secure private database querying system with content hiding bloom filters
JP5991155B2 (ja) * 2012-11-13 2016-09-14 富士通株式会社 検索処理方法、データ生成方法及び情報処理装置
CN104995621B (zh) 2013-02-25 2018-06-05 三菱电机株式会社 服务器装置以及隐匿检索系统
WO2014141802A1 (ja) * 2013-03-12 2014-09-18 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
US9489501B2 (en) 2013-09-19 2016-11-08 Fujitsu Limited Authentication method, authentication device, and system
JP6208586B2 (ja) * 2014-01-16 2017-10-04 株式会社日立製作所 検索可能暗号処理システムおよび検索可能暗号処理方法
US10181168B2 (en) 2014-03-31 2019-01-15 Hitachi Kokusa1 Electric, Inc. Personal safety verification system and similarity search method for data encrypted for confidentiality
US20210081562A1 (en) * 2017-09-12 2021-03-18 Mitsubishi Electric Corporation Data processing apparatus, data processing method, and computer readable medium
US10585915B2 (en) * 2017-10-25 2020-03-10 International Business Machines Corporation Database sharding
JP6958241B2 (ja) 2017-10-31 2021-11-02 富士通株式会社 変更検出プログラム、変更検出方法および変更検出装置
CN108471417B (zh) * 2018-03-28 2021-05-04 湖南大学 一种云环境下基于层次属性的关键字查询方法
JP2021114037A (ja) * 2020-01-16 2021-08-05 株式会社エヌ・ティ・ティ・データ・セキスイシステムズ インデックス管理装置
CN113132085A (zh) * 2021-04-14 2021-07-16 上海同态信息科技有限责任公司 一种基于可搜索加密的密文查询方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198395A (ja) * 1996-01-16 1997-07-31 Fuji Xerox Co Ltd 文書検索装置
JP2002041567A (ja) * 2000-07-31 2002-02-08 Hitachi Ltd データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2003316819A (ja) * 2002-04-22 2003-11-07 Shinkichi Himeno オブジェクト分類検索装置及びそれを実行するためのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198395A (ja) * 1996-01-16 1997-07-31 Fuji Xerox Co Ltd 文書検索装置
JP2002041567A (ja) * 2000-07-31 2002-02-08 Hitachi Ltd データベース管理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2003316819A (ja) * 2002-04-22 2003-11-07 Shinkichi Himeno オブジェクト分類検索装置及びそれを実行するためのプログラム

Also Published As

Publication number Publication date
JP2007052698A (ja) 2007-03-01

Similar Documents

Publication Publication Date Title
JP4722620B2 (ja) 暗号化文書検索方法および暗号化文書検索システム
Ge et al. Towards achieving keyword search over dynamic encrypted cloud data with symmetric-key based verification
Du et al. Privacy-preserving indexing and query processing for secure dynamic cloud storage
CN112800088A (zh) 基于双向安全索引的数据库密文检索系统及方法
Awad et al. Chaotic searchable encryption for mobile cloud storage
Tang et al. Phrase search over encrypted data with symmetric encryption scheme
CN111026788A (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
Negi et al. Pystin: Enabling Secure LBS in Smart Cities With Privacy-Preserving Top-$ k $ Spatial–Textual Query
Kermanshahi et al. Geometric range search on encrypted data with forward/backward security
CN113157735A (zh) 一种区块链存储数据的查询方法及装置
Handa et al. A cluster based multi-keyword search on outsourced encrypted cloud data
Peng et al. LS-RQ: A lightweight and forward-secure range query on geographically encrypted data
Ananthi et al. FSS-SDD: fuzzy-based semantic search for secure data discovery from outsourced cloud data
Krishna et al. Dynamic cluster based privacy-preserving multi-keyword search over encrypted cloud data
CN110098924B (zh) 一种支持可搜索透明加密的层级密钥生成方法及系统
Wang et al. Fault-tolerant Verifiable Keyword Symmetric Searchable Encryption in Hybrid Cloud.
CN115310125A (zh) 一种加密数据检索系统、方法、计算机设备及存储介质
CN115913725A (zh) 基于异或加密链的前向安全动态可搜索加密方法及系统
Abdulsada et al. Efficient multi-keyword similarity search over encrypted cloud documents
Zhou et al. Integrity preserving multi-keyword searchable encryption for cloud computing
CN109582818B (zh) 一种基于可搜索加密的曲库云检索方法
Raghavendra et al. DRSMS: Domain and range specific multi-keyword search over encrypted cloud data
Zhao et al. Searchable symmetric encryption supporting queries with multiple-character wildcards
Handa et al. An efficient approach for secure information retrieval on cloud

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110303

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4722620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees