(57)【特許請求の範囲】
【請求項１】
アクセスを許可する範囲を示すアクセス範囲Ｘと、登録を許可する範囲を示す登録範囲Ｘ’とを入力として、前記アクセス範囲Ｘと前記登録範囲Ｘ’とが設定され鍵Ｋが暗号化された暗号文ＣＴＸと、前記鍵Ｋとを生成する暗号化部と、
前記アクセス範囲Ｘと前記登録範囲Ｘ’と前記暗号化部によって生成された前記暗号文ＣＴＸとの組を鍵サーバに登録する鍵登録部と、
属性Ｙ’と範囲を示す範囲情報Ｘ＊とを前記鍵サーバに送信して、前記範囲情報Ｘ＊と同じ範囲を示すアクセス範囲Ｘが設定され、かつ、登録を許可する範囲に前記属性Ｙ’を含む登録範囲Ｘ’が設定された暗号文ＣＴＸを取得する暗号文取得部と、
前記暗号文取得部によって取得された前記暗号文ＣＴＸを、前記属性Ｙ’が設定された復号鍵ｓｋＹ’によって復号して鍵Ｋを生成する復号部と、
前記復号部によって生成された前記鍵Ｋと検索用のキーワードｗとを入力として、検索用のタグｔを生成するタグ生成部と、
前記タグ生成部によって生成された前記タグｔを検索サーバに登録するタグ登録部と
を備える登録端末。
【請求項２】
前記タグ登録部は、前記アクセス範囲Ｘと前記タグｔとの組を前記検索サーバに登録する
請求項１に記載の登録端末。
【請求項３】
アクセスを許可する範囲を示すアクセス範囲Ｘと、登録を許可する範囲を示す登録範囲Ｘ’と、前記アクセス範囲Ｘと前記登録範囲Ｘ’とが設定され鍵Ｋが暗号化された暗号文ＣＴＸとの組を登録端末から取得して、記憶装置に記憶する暗号文取得部と、
属性Ｙ’と範囲を示す範囲情報Ｘ＊とを登録端末から取得して、前記範囲情報Ｘ＊と同じ範囲を示すアクセス範囲Ｘが設定され、かつ、登録を許可する範囲に前記属性Ｙ’を含む登録範囲Ｘ’が設定された前記組を抽出する属性判定部と、
前記属性判定部によって前記組に含まれる暗号文ＣＴＸを、前記登録端末に送信する暗号文送信部と
を備える鍵サーバ。
【請求項４】
登録端末と、検索端末と、鍵サーバと、検索サーバとを備える検索システムであり、
前記登録端末は、
アクセスを許可する範囲を示すアクセス範囲Ｘと、登録を許可する範囲を示す登録範囲Ｘ’とを入力として、前記アクセス範囲Ｘと前記登録範囲Ｘ’とが設定され鍵Ｋが暗号化された暗号文ＣＴＸと、前記鍵Ｋとを生成する暗号化部と、
前記アクセス範囲Ｘと前記登録範囲Ｘ’と前記暗号化部によって生成された前記暗号文ＣＴＸとの組を前記鍵サーバに登録する鍵登録部と、
属性Ｙ’と範囲を示す範囲情報Ｘ＊とを前記鍵サーバに送信して、前記範囲情報Ｘ＊と同じ範囲を示すアクセス範囲Ｘが設定され、かつ、登録を許可する範囲に前記属性Ｙ’を含む登録範囲Ｘ’が設定された暗号文ＣＴＸを取得する暗号文取得部と、
前記暗号文取得部によって取得された前記暗号文ＣＴＸを、前記属性Ｙ’が設定された復号鍵ｓｋＹ’によって復号して鍵Ｋを生成する復号部と、
前記復号部によって生成された前記鍵Ｋと検索用のキーワードｗとを入力として、検索用のタグｔを生成するタグ生成部と、
前記タグ生成部によって生成された前記タグｔを前記検索サーバに登録するタグ登録部と
を備え、
前記検索端末は、
属性Ｙを前記鍵サーバに送信して、アクセスを許可する範囲に前記属性Ｙを含むアクセス範囲Ｘが設定された暗号文ＣＴＸを取得する暗号文取得部と、
前記暗号文取得部によって取得された前記暗号文ＣＴＸを、前記属性Ｙが設定された復号鍵ｓｋＹによって復号して鍵Ｋを生成する復号部と、
前記復号部によって生成された鍵Ｋと検索用のキーワードｗ’とを入力として、検索用のトラップドアｔ’を生成するトラップドア生成部と、
前記トラップドア生成部によって生成された前記トラップドアｔ’を前記検索サーバに送信して、前記キーワードｗ’に対応するデータを取得するデータ取得部と
を備える検索システム。
【請求項５】
アクセスを許可する範囲を示すアクセス範囲Ｘと、登録を許可する範囲を示す登録範囲Ｘ’とを入力として、前記アクセス範囲Ｘと前記登録範囲Ｘ’とが設定され鍵Ｋが暗号化された暗号文ＣＴＸと、前記鍵Ｋとを生成する暗号化処理と、
前記アクセス範囲Ｘと前記登録範囲Ｘ’と前記暗号化処理によって生成された前記暗号文ＣＴＸとの組を鍵サーバに登録する鍵登録処理と、
属性Ｙ’と範囲を示す範囲情報Ｘ＊とを前記鍵サーバに送信して、前記範囲情報Ｘ＊と同じ範囲を示すアクセス範囲Ｘが設定され、かつ、登録を許可する範囲に前記属性Ｙ’を含む登録範囲Ｘ’が設定された暗号文ＣＴＸを取得する暗号文取得処理と、
前記暗号文取得処理によって取得された前記暗号文ＣＴＸを、前記属性Ｙ’が設定された復号鍵ｓｋＹ’によって復号して鍵Ｋを生成する復号処理と、
前記復号処理によって生成された前記鍵Ｋと検索用のキーワードｗとを入力として、検索用のタグｔを生成するタグ生成処理と、
前記タグ生成処理によって生成された前記タグｔを検索サーバに登録するタグ登録処理と
をコンピュータに実行させる登録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを暗号化した状態で検索可能な秘匿検索技術に関する。
【背景技術】
【０００２】
秘匿検索技術には、大別して公開鍵型の秘匿検索方式と共通鍵型の秘匿検索方式とがあり、それぞれメリットとデメリットとがある。
公開鍵型の秘匿検索方式は、アクセス制御が可能であるというメリットがある。しかし、公開鍵型の秘匿検索方式は、共通鍵型の秘匿検索方式に比べて低速であるというデメリットがある。一方、共通鍵型の秘匿検索方式は、公開鍵型の秘匿検索方式に比べて高速であるというメリットがある。しかし、共通鍵型の秘匿検索方式は、アクセス制御ができないというデメリットがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１１／１３８１９０号明細書
【特許文献２】特開２０１１−２３２４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アクセス制御が可能であり、かつ、共通鍵型の秘匿検索方式と同様に高速な秘匿検索方式は実現されていない。
この発明は、アクセス制御が可能であり、かつ、処理速度を早くすることが可能な秘匿検索方式を実現することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る登録端末は、
アクセスを許可する範囲を示すアクセス範囲Ｘを入力として、前記アクセス範囲Ｘが設定され鍵Ｋが暗号化された暗号文ＣＴＸと、前記鍵Ｋとを生成する暗号化部と、
前記アクセス範囲Ｘと前記暗号化部によって生成された前記暗号文ＣＴＸとの組を鍵サーバに登録する鍵登録部と、
前記鍵Ｋと検索用のキーワードｗとを入力として、検索用のタグｔを生成するタグ生成部と、
前記タグ生成部によって生成された前記タグｔを検索サーバに登録するタグ登録部と
を備える。
【発明の効果】
【０００６】
この発明では、アクセス範囲Ｘと暗号文ＣＴＸとの組を鍵サーバに登録するとともに、タグｔを検索サーバに登録する。
これにより、検索端末は、アクセス範囲Ｘに基づき復号可能な暗号文ＣＴＸを取得することにより、利用可能な鍵Ｋを得ることができる。したがって、アクセス制御を実現できる。また、検索端末は、鍵Ｋに基づき検索する際に検索サーバへ送信する情報であるトラップドアを生成することにより、共通鍵型の秘匿検索方式により、検索処理を実行できる。したがって、共通鍵型の秘匿検索方式と同様に高速に検索処理を実行できる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１に係る秘匿検索システム１の構成図。
【図２】実施の形態１に係る登録端末１０の構成図。
【図３】実施の形態１に係る検索端末２０の構成図。
【図４】実施の形態１に係る鍵サーバ３０の構成図。
【図５】実施の形態１に係る検索サーバ４０の構成図。
【図６】実施の形態１に係る秘匿検索システム１の動作の説明図。
【図７】実施の形態１に係る登録処理のフローチャート。
【図８】実施の形態１に係る検索処理のフローチャート。
【図９】変形例１に係る鍵生成処理のフローチャート。
【図１０】変形例１に係るデータ取得処理のフローチャート。
【図１１】変形例３に係る登録端末１０の構成図。
【図１２】変形例３に係る検索端末２０の構成図。
【図１３】変形例３に係る鍵サーバ３０の構成図。
【図１４】変形例３に係る検索サーバ４０の構成図。
【図１５】実施の形態２に係る検索サーバ４０の構成図。
【図１６】実施の形態２に係る秘匿検索システム１の動作の説明図。
【図１７】実施の形態３に係る登録端末１０の構成図。
【図１８】実施の形態３に係る秘匿検索システム１の動作の説明図。
【図１９】実施の形態３に係る登録処理のフローチャート。
【発明を実施するための形態】
【０００８】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る秘匿検索システム１の構成を説明する。
秘匿検索システム１は、１台以上の登録端末１０と、１台以上の検索端末２０と、鍵サーバ３０と、検索サーバ４０とを備える。登録端末１０と、鍵サーバ３０及び検索サーバ４０とは、伝送路９１を介して接続されている。また、検索端末２０と、鍵サーバ３０及び検索サーバ４０とは、伝送路９１を介して接続されている。
【０００９】
図２を参照して、実施の形態１に係る登録端末１０の構成を説明する。
登録端末１０は、プロセッサ１１と、メモリ１２と、ストレージ１３と、通信インタフェース１４とのハードウェアを備える。プロセッサ１１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１０】
登録端末１０は、機能構成要素として、暗号化部１１１と、鍵登録部１１２と、タグ生成部１１３と、タグ登録部１１４とを備える。登録端末１０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ１３には、登録端末１０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ１１によりメモリ１２に読み込まれ、プロセッサ１１によって実行される。これにより、登録端末１０の各機能構成要素の機能が実現される。
【００１１】
図３を参照して、実施の形態１に係る検索端末２０の構成を説明する。
検索端末２０は、プロセッサ２１と、メモリ２２と、ストレージ２３と、通信インタフェース２４とのハードウェアを備える。プロセッサ２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１２】
検索端末２０は、機能構成要素として、要求受付部２１１と、暗号文取得部２１２と、復号部２１３と、トラップドア生成部２１４と、データ取得部２１５とを備える。検索端末２０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ２３には、検索端末２０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ２１によりメモリ２２に読み込まれ、プロセッサ２１によって実行される。これにより、検索端末２０の各機能構成要素の機能が実現される。
【００１３】
図４を参照して、実施の形態１に係る鍵サーバ３０の構成を説明する。
鍵サーバ３０は、プロセッサ３１と、メモリ３２と、ストレージ３３と、通信インタフェース３４とのハードウェアを備える。プロセッサ３１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１４】
鍵サーバ３０は、機能構成要素として、暗号文取得部３１１と、属性判定部３１２と、暗号文送信部３１３とを備える。鍵サーバ３０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ３３には、鍵サーバ３０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ３１によりメモリ３２に読み込まれ、プロセッサ３１によって実行される。これにより、鍵サーバ３０の各機能構成要素の機能が実現される。
【００１５】
図５を参照して、実施の形態１に係る検索サーバ４０の構成を説明する。
検索サーバ４０は、プロセッサ４１と、メモリ４２と、ストレージ４３と、通信インタフェース４４とのハードウェアを備える。プロセッサ４１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１６】
検索サーバ４０は、機能構成要素として、タグ取得部４１１と、トラップドア取得部４１２と、タグ抽出部４１３とを備える。検索サーバ４０の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ４３には、検索サーバ４０の各機能構成要素の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ４１によりメモリ４２に読み込まれ、プロセッサ４１によって実行される。これにより、検索サーバ４０の各機能構成要素の機能が実現される。
【００１７】
プロセッサ１１，２１，３１，４１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１１，２１，３１，４１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１８】
メモリ１２，２２，３２，４２は、データを一時的に記憶する記憶装置である。メモリ１２，２２，３２，４２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１９】
ストレージ１３，２３，３３，４３は、データを保管する記憶装置である。ストレージ１３，２３，３３，４３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ１３，２３，３３，４３は、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記憶媒体であってもよい。
【００２０】
通信インタフェース１４，２４，３４，４４は、外部の装置と通信するためのインタフェースである。通信インタフェース１４，２４，３４，４４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００２１】
＊＊＊動作の説明＊＊＊
図６から図８を参照して、実施の形態１に係る秘匿検索システム１の動作を説明する。
実施の形態１に係る秘匿検索システム１の動作は、実施の形態１に係る秘匿検索方法に相当する。また、実施の形態１に係る秘匿検索システム１の動作は、実施の形態１に係る秘匿検索プログラムの処理に相当する。
実施の形態１に係る秘匿検索システム１の動作は、登録処理と検索処理とを含む。実施の形態１に係る登録処理は、実施の形態１に係る登録方法に相当する。また、実施の形態１に係る登録処理は、実施の形態１に係る登録プログラムの処理に相当する。実施の形態１に係る検索処理は、実施の形態１に係る検索方法に相当する。また、実施の形態１に係る検索処理は、実施の形態１に係る検索プログラムの処理に相当する。
【００２２】
図６及び図７を参照して、実施の形態１に係る登録処理を説明する。
（ステップＳ１１：暗号化処理）
登録端末１０の暗号化部１１１は、アクセスを許可する範囲を示すアクセス範囲Ｘの入力を受け付ける。アクセス範囲Ｘは、具体例としては、属性の論理式によって表される。アクセス範囲Ｘは、登録端末１０の利用者によって入力装置が操作され入力される。
【００２３】
暗号化部１１１は、受け付けられたアクセス範囲Ｘを入力として、アクセス範囲Ｘが設定され鍵Ｋが暗号化された暗号文ＣＴＸと、鍵Ｋとを生成する。
具体的には、暗号化部１１１は、アクセス制御が可能な公開鍵暗号方式のＫＥＭ（Ｋｅｙ  Ｅｎｃａｐｓｕｌａｔｉｎｇ  Ｍｅｃｈａｎｉｓｍ）機能を用いて、暗号文ＣＴＸと、鍵Ｋとを生成する。例えば、暗号化部１１１は、特許文献２に記載された関数型暗号方式のＥｎｃアルゴリズムを用いて、暗号文ＣＴＸと鍵Ｋとを生成する。この場合、例えば、暗号化部１１１は、アクセス範囲Ｘを属性集合Γとし、値１をメッセージｍとして入力し、Ｅｎｃアルゴリズムを実行して、要素ｃ０及び要素ｃｔを暗号文ＣＴＸとして生成し、要素ｃｄ＋１を鍵Ｋとして生成する。
【００２４】
（ステップＳ１２：鍵登録処理）
登録端末１０の鍵登録部１１２は、ステップＳ１１で受け付けられたアクセス範囲Ｘと、ステップＳ１１で生成された暗号文ＣＴＸとの組を鍵サーバ３０に登録する。
具体的には、鍵登録部１１２は、アクセス範囲Ｘと暗号文ＣＴＸとの組を、伝送路９１を介して鍵サーバ３０に送信する。すると、鍵サーバ３０の暗号文取得部３１１は、送信されたアクセス範囲Ｘと暗号文ＣＴＸとの組を取得して、ストレージ３３に書き込む。これにより、ストレージ３３にアクセス範囲Ｘと暗号文ＣＴＸとの組が蓄積される。
【００２５】
（ステップＳ１３：タグ生成処理）
登録端末１０のタグ生成部１１３は、検索用のキーワードｗの入力を受け付ける。キーワードｗは、任意の文字列である。キーワードｗは、登録端末１０の利用者によって入力装置が操作され入力される。
【００２６】
タグ生成部１１３は、ステップＳ１１で生成された鍵Ｋと、受け付けられた検索用のキーワードｗとを入力として、検索用のタグｔを生成する。
具体的には、タグ生成部１１３は、鍵Ｋとキーワードｗとを入力として、共通鍵型の秘匿検索方式におけるタグ生成アルゴリズムを用いて、検索用のタグｔを生成する。例えば、タグ生成部１１３は、鍵Ｋとキーワードｗとを入力として、ハッシュ関数Ｈを計算して、検索用のタグｔを生成する。共通鍵型の秘匿検索方式としては、部分一致検索可能な方式であってもよい。
【００２７】
（ステップＳ１４：タグ登録処理）
登録端末１０のタグ登録部１１４は、ステップＳ１３で生成されたタグｔを検索サーバ４０に登録する。
具体的には、タグ登録部１１４は、タグｔを、伝送路９１を介して検索サーバ４０に送信する。すると、検索サーバ４０のタグ取得部４１１は、送信されたタグｔを取得して、ストレージ４３に書き込む。これにより、ストレージ４３にタグｔが蓄積される。
【００２８】
なお、ステップＳ１３でタグ生成部１１３は、メッセージｍの入力を受け付け、メッセージｍを鍵Ｋを用いて共通鍵暗号方式により暗号化して暗号文Ｃを生成してもよい。そして、ステップＳ１４でタグ登録部１１４は、タグｔと暗号文Ｃとの組を検索サーバ４０に登録してもよい。
【００２９】
図６及び図８を参照して、実施の形態１に係る検索処理を説明する。
（ステップＳ２１：暗号文取得処理）
検索端末２０の暗号文取得部２１２は、属性Ｙを鍵サーバ３０に送信して、アクセスを許可する範囲に属性Ｙを含むアクセス範囲Ｘが設定された暗号文ＣＴＸを取得する。属性Ｙは、検索端末２０の利用者の属性である。
具体的には、暗号文取得部２１２は、属性Ｙを伝送路９１を介して鍵サーバ３０に送信する。すると、鍵サーバ３０の属性判定部３１２は、ストレージ３３に記憶されたアクセス範囲Ｘと暗号文ＣＴＸとの組から、アクセス範囲Ｘに属性Ｙが含まれる組を抽出する。鍵サーバ３０の暗号文送信部３１３は、抽出された組の暗号文ＣＴＸを伝送路９１を介して検索端末２０に送信する。暗号文送信部３１３は、複数の組が抽出されている場合には、各組の暗号文ＣＴＸを送信する。暗号文取得部２１２は、送信された暗号文ＣＴＸを取得する。
【００３０】
（ステップＳ２２：復号処理）
検索端末２０の復号部２１３は、ステップＳ２１で取得された暗号文ＣＴＸを、属性Ｙが設定された復号鍵ｓｋＹによって復号して鍵Ｋを生成する。
具体的には、復号部２１３は、ステップＳ１１で用いられた公開鍵暗号方式の復号アルゴリズムを用いて、暗号文ＣＴＸを復号鍵ｓｋＹによって復号する。図７のステップＳ１１で特許文献２に記載された関数型暗号方式のＥｎｃアルゴリズムが用いられた場合には、復号部２１３は、特許文献２に記載された関数型暗号方式のＤｅｃアルゴリズムを用いて、暗号文ＣＴＸを復号鍵ｓｋＹによって復号する。この場合、例えば、復号部２１３は、要素ｋ＊０，．．．，ｋ＊Ｌを復号鍵ｓｋＹとし、暗号文ＣＴＸである要素ｃ０及び要素ｃｔと、要素ｋ＊０，．．．，ｋ＊Ｌとのペアリング演算を計算して、セッション鍵Ｋを鍵Ｋとして生成する。
【００３１】
（ステップＳ２３：要求受付処理）
検索端末２０の要求受付部２１１は、検索用のキーワードｗ’を含む検索要求の入力を受け付ける。キーワードｗ’は、任意の文字列である。キーワードｗ’は、検索端末２０の利用者によって入力装置が操作され入力される。
【００３２】
（ステップＳ２４：トラップドア生成処理）
トラップドア生成部２１４は、ステップＳ２２で生成された鍵Ｋと、ステップＳ２３で受け付けられた検索用のキーワードｗ’とを入力として、検索用のトラップドアｔ’を生成する。
具体的には、トラップドア生成部２１４は、鍵Ｋとキーワードｗ’とを入力として、共通鍵型の秘匿検索方式におけるトラップドア生成アルゴリズムを用いて、検索用のトラップドアｔ’を生成する。例えば、トラップドア生成部２１４は、鍵Ｋとキーワードｗ’とを入力として、図７のステップＳ１３で用いられたハッシュ関数Ｈを計算して、検索用のトラップドアｔ’を生成する。
【００３３】
（ステップＳ２５：データ取得処理）
検索端末２０のデータ取得部２１５は、ステップＳ２４で生成されたトラップドアｔ’を検索サーバ４０に送信して、キーワードｗ’に対応するデータを取得する。
具体的には、データ取得部２１５は、トラップドアｔ’を、伝送路９１を介して検索サーバ４０に送信する。すると、検索サーバ４０のトラップドア取得部４１２は、送信されたトラップドアｔ’を取得する。検索サーバ４０のタグ抽出部４１３は、記憶装置であるストレージ４３に記憶されたタグｔから、トラップドアｔ’に対応するタグｔを抽出する。例えば、タグ抽出部４１３は、トラップドアｔ’と一致するタグｔを抽出する。そして、タグ抽出部４１３は、抽出されたタグｔに関するデータを、伝送路９１を介して検索端末２０に送信する。
タグｔに関するデータとは、具体例としては、タグｔの識別子である。また、タグｔに関するデータは、抽出されたタグｔの個数であってもよい。また、タグｔに関するデータは、タグｔと暗号文Ｃとの組が検索サーバ４０に登録されている場合には、タグｔに関する暗号文Ｃであってもよい。
【００３４】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係る秘匿検索システム１では、登録端末１０はアクセス範囲Ｘと暗号文ＣＴＸとの組を鍵サーバ３０に登録するとともに、タグｔを検索サーバ４０に登録しておく。そして、検索端末２０は、鍵サーバ３０から属性Ｙに対応した暗号文ＣＴＸを取得して鍵Ｋを生成し、鍵Ｋでトラップドアｔ’を生成して検索サーバ４０に送信してデータを取得する。
これにより、実施の形態１に係る秘匿検索システム１では、アクセス制御を実現しつつ、検索処理の速度を早くすることができる。具体的には、検索端末２０が取得できる鍵Ｋは、属性Ｙが設定された復号鍵ｓｋＹで復号可能な鍵Ｋに限定される。したがって、アクセス制御が実現される。また、タグｔとトラップドアｔ’とは、共通鍵型の秘匿検索方式におけるアルゴリズムで生成されている。したがって、タグｔとトラップドアｔ’との生成処理、及び、タグｔとトラップドアｔ’とのマッチング処理は、共通鍵型の秘匿検索方式と同じ速度になる。
【００３５】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、検索処理を１つの一連の処理とした。しかし、検索処理は、鍵生成処理と、データ取得処理との２つの処理に分けてもよい。
【００３６】
図９を参照して、変形例１に係る鍵生成処理を説明する。
鍵生成処理は、要求受付部２１１によって検索要求が受け付けられたタイミングとは異なる任意のタイミングに実行される。例えば、鍵生成処理は、定期的に実行される。
ステップＳ３１からステップＳ３２の処理は、図８のステップＳ２１からステップＳ２２の処理に対応する。つまり、ステップＳ３１で暗号文取得部２１２は、要求受付部２１１によって検索要求が受け付けられたタイミングとは異なる任意のタイミングに、暗号文ＣＴＸを取得する。そして、ステップＳ３２で復号部２１３は、取得された暗号文ＣＴＸを、復号鍵ｓｋＹによって復号して鍵Ｋを生成し、生成された鍵Ｋを記憶装置であるストレージ２３に記憶しておく。
【００３７】
図１０を参照して、変形例１に係るデータ取得処理を説明する。
データ取得処理は、要求受付部２１１によって検索要求が受け付けられたタイミングに実行される。
ステップＳ４１からステップＳ４３の処理は、図８のステップＳ２３からステップＳ２５の処理に対応する。つまり、ステップＳ４１で要求受付部２１１は、検索要求を受け付ける。すると、ステップＳ４２でトラップドア生成部２１４は、記憶装置であるストレージ２３に記憶された鍵Ｋと検索用のキーワードｗ’とを入力として、検索用のトラップドアｔ’を生成する。そして、ステップＳ４３でデータ取得部２１５は、トラップドアｔ’を検索サーバ４０に送信して、キーワードｗ’に対応するデータを取得する。
【００３８】
ステップＳ３２で鍵Ｋを生成する処理は、公開鍵暗号方式の復号処理であり、処理時間がかかる。そのため、検索要求が受け付けられてから実行すると、検索要求が受け付けられてからデータを取得するまでの応答時間が長くなってしまう。そこで、時間がかかる復号処理を含む鍵生成処理を、検索要求が受け付けられる前に実行しておく。これにより、応答時間を短くすることができる。
【００３９】
＜変形例２＞
実施の形態１では、アクセス範囲Ｘと暗号文ＣＴＸとの組は、鍵サーバ３０のストレージ３３に記憶された。しかし、アクセス範囲Ｘと暗号文ＣＴＸとの組は、鍵サーバ３０の外部の記憶装置に記憶されてもよい。
同様に、実施の形態１では、タグｔは、検索サーバ４０のストレージ４３に記憶された。しかし、タグｔは、検索サーバ４０の外部の記憶装置に記憶されてもよい。
【００４０】
＜変形例３＞
実施の形態１では、登録端末１０と検索端末２０と鍵サーバ３０と検索サーバ４０との各機能構成要素の機能がソフトウェアで実現された。しかし、変形例３として、登録端末１０と検索端末２０と鍵サーバ３０と検索サーバ４０との各機能構成要素の機能はハードウェアで実現されてもよい。この変形例３について、実施の形態１と異なる点を説明する。
【００４１】
図１１を参照して、変形例３に係る登録端末１０の構成を説明する。
各機能構成要素の機能がハードウェアで実現される場合、登録端末１０は、プロセッサ１１とメモリ１２とストレージ１３とに代えて、電子回路１５を備える。電子回路１５は、登録端末１０の各部の機能とメモリ１２とストレージ１３との機能とを実現する専用の電子回路である。
【００４２】
図１２を参照して、変形例３に係る検索端末２０の構成を説明する。
各機能構成要素の機能がハードウェアで実現される場合、検索端末２０は、プロセッサ２１とメモリ２２とストレージ２３とに代えて、電子回路２５を備える。電子回路２５は、検索端末２０の各部の機能とメモリ２２とストレージ２３との機能とを実現する専用の電子回路である。
【００４３】
図１３を参照して、変形例３に係る鍵サーバ３０の構成を説明する。
各機能構成要素の機能がハードウェアで実現される場合、鍵サーバ３０は、プロセッサ３１とメモリ３２とストレージ３３とに代えて、電子回路３５を備える。電子回路３５は、鍵サーバ３０の各部の機能とメモリ３２とストレージ３３との機能とを実現する専用の電子回路である。
【００４４】
図１４を参照して、変形例３に係る検索サーバ４０の構成を説明する。
各機能構成要素の機能がハードウェアで実現される場合、検索サーバ４０は、プロセッサ４１とメモリ４２とストレージ４３とに代えて、電子回路４５を備える。電子回路４５は、検索サーバ４０の各部の機能とメモリ４２とストレージ４３との機能とを実現する専用の電子回路である。
【００４５】
電子回路１５，２５，３５，４５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
登録端末１０の各部の機能を１つの電子回路１５で実現してもよいし、登録端末１０の各部の機能を複数の電子回路１５に分散させて実現してもよい。同様に、検索端末２０の各部の機能を１つの電子回路２５で実現してもよいし、検索端末２０の各部の機能を複数の電子回路２５に分散させて実現してもよい。同様に、鍵サーバ３０の各部の機能を１つの電子回路３５で実現してもよいし、鍵サーバ３０の各部の機能を複数の電子回路３５に分散させて実現してもよい。同様に、検索サーバ４０の各部の機能を１つの電子回路４５で実現してもよいし、検索サーバ４０の各部の機能を複数の電子回路４５に分散させて実現してもよい。
【００４６】
＜変形例４＞
変形例４として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、登録端末１０の各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。同様に、検索端末２０と鍵サーバ３０と検索サーバ４０とについても、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
【００４７】
プロセッサ１１，２１，３１，４１とメモリ１２，２２，３２，４２とストレージ１３，２３，３３，４３と電子回路１５，２５，３５，４５とを、処理回路という。つまり、登録端末１０と検索端末２０と鍵サーバ３０と検索サーバ４０との各部の機能は、処理回路により実現される。
【００４８】
実施の形態２．
実施の形態２は、タグｔとトラップドアｔ’とのマッチングの前に、処理対象とするタグｔを属性Ｙで絞り込む点が実施の形態１と異なる。実施の形態２では、この異なる点を説明し、同一の点については説明を省略する。
【００４９】
＊＊＊構成の説明＊＊＊
図１５を参照して、実施の形態２に係る検索サーバ４０の構成を説明する。
検索サーバ４０は、機能構成要素として、属性抽出部４１４を備える点が図５に示す検索サーバ４０と異なる。属性抽出部４１４は、他の機能構成要素と同様に、ソフトウェア又はハードウェアで実現される。
【００５０】
＊＊＊動作の説明＊＊＊
図７及び図８と、図１６とを参照して、実施の形態２に係る秘匿検索システム１の動作を説明する。
【００５１】
図１６及び図７を参照して、実施の形態２に係る登録処理を説明する。
ステップＳ１１からステップＳ１３の処理は、実施の形態１と同じである。
【００５２】
（ステップＳ１４：タグ登録処理）
登録端末１０のタグ登録部１１４は、ステップＳ１１で受け付けられたアクセス範囲Ｘと、ステップＳ１３で生成されたタグｔとの組を検索サーバ４０に登録する。
【００５３】
図１６及び図８を参照して、実施の形態２に係る検索処理を説明する。
ステップＳ２１からステップＳ２４の処理は、実施の形態１と同じである。
【００５４】
（ステップＳ２５：データ取得処理）
検索端末２０のデータ取得部２１５は、属性Ｙと、ステップＳ２４で生成されたトラップドアｔ’の組を検索サーバ４０に送信して、キーワードｗ’に対応するデータを取得する。
具体的には、データ取得部２１５は、属性Ｙとトラップドアｔ’との組を、伝送路９１を介して検索サーバ４０に送信する。すると、検索サーバ４０のトラップドア取得部４１２は、送信された属性Ｙとトラップドアｔ’との組を取得する。検索サーバ４０の属性抽出部４１４は、記憶装置であるストレージ４３に記憶されたアクセス範囲Ｘとタグｔとの組から、トラップドア取得部４１２によって取得された組に含まれる属性Ｙを、アクセスを許可する範囲に含むアクセス範囲Ｘを含む組を抽出する。タグ抽出部４１３は、属性抽出部４１４によって抽出された組から、トラップドア取得部４１２によって取得された組に含まれるトラップドアｔ’に対応するタグｔを含む組を抽出する。そして、タグ抽出部４１３は、抽出されたタグｔに関するデータを、伝送路９１を介して検索端末２０に送信する。
【００５５】
＊＊＊実施の形態２の効果＊＊＊
以上のように、実施の形態２に係る秘匿検索システム１では、登録端末１０はアクセス範囲Ｘとタグｔとの組を検索サーバ４０に登録しておく。そして、検索端末２０は、属性Ｙとトラップドアｔ’との組を検索サーバ４０に送信する。すると、検索サーバ４０は、アクセス範囲Ｘと属性Ｙとで処理対象のタグｔを絞り込んだ上で、トラップドアｔ’に対応するタグｔを抽出する。
これにより、実施の形態２に係る秘匿検索システム１では、実施の形態１に比べ検索処理の速度を早くすることができる。つまり、実施の形態１では、検索端末２０の利用者がアクセス権限を持たないタグｔについても、トラップドアｔ’とのマッチング処理の対象になっていた。しかし、実施の形態２では、トラップドアｔ’とのマッチング処理の前に、属性Ｙによりタグｔを絞り込んでおく。属性Ｙによるタグｔの絞り込みは、アクセス範囲Ｘによってタグｔを整列する等しておけば、高速に行うことが可能である。したがって、検索処理の速度を早くすることができる。
【００５６】
実施の形態３．
実施の形態３は、同じアクセス範囲Ｘを指定する場合に同じ鍵Ｋを用いてタグｔが生成される点が実施の形態１，２と異なる。実施の形態３では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態３では、実施の形態１に機能を追加した場合を説明する。しかし、実施の形態２に機能を追加することも可能である。
【００５７】
＊＊＊構成の説明＊＊＊
図１７を参照して、実施の形態３に係る登録端末１０の構成を説明する。
登録端末１０は、暗号文取得部１１５と、復号部１１６とを備える点が、図２に示す登録端末１０と異なる。暗号文取得部１１５と、復号部１１６とは、他の機能構成要素と同様に、ソフトウェア又はハードウェアで実現される。
【００５８】
＊＊＊動作の説明＊＊＊
図１８及び図１９を参照して、実施の形態３に係る秘匿検索システム１の動作を説明する。
【００５９】
図１８及び図１９を参照して、実施の形態３に係る登録処理を説明する。
（ステップＳ５１：暗号文取得処理）
登録端末１０の暗号化部１１１は、範囲情報Ｘ＊の入力を受け付ける。範囲情報Ｘ＊は、後述するステップＳ５６で生成されるタグｔのアクセス範囲Ｘとなる範囲である。範囲情報Ｘ＊は、具体例としては、属性の論理式によって表される。範囲情報Ｘ＊は、登録端末１０の利用者によって入力装置が操作され入力される。
【００６０】
登録端末１０の暗号文取得部１１５は、属性Ｙ’と範囲を示す範囲情報Ｘ＊とを鍵サーバ３０に送信して、登録を許可する範囲に属性Ｙ’を含む登録範囲Ｘ’が設定された暗号文ＣＴＸを取得する。属性Ｙ’は、登録端末１０の利用者の属性である。登録範囲Ｘ’は、鍵Ｋを用いてタグｔを登録することを許可する範囲を示す。登録範囲Ｘ’は、具体例としては、属性の論理式によって表される。
具体的には、暗号文取得部１１５は、属性Ｙ’を伝送路９１を介して鍵サーバ３０に送信する。すると、鍵サーバ３０の属性判定部３１２は、ストレージ３３に記憶されたアクセス範囲Ｘと登録範囲Ｘ’と暗号文ＣＴＸとの組から、範囲情報Ｘ＊と同じ範囲を示すアクセス範囲Ｘが設定され、かつ、登録範囲Ｘ’に属性Ｙ’が含まれる組を抽出する。なお、後述するように、鍵サーバ３０には、アクセス範囲Ｘと登録範囲Ｘ’と暗号文ＣＴＸとの組が登録されている。鍵サーバ３０の暗号文送信部３１３は、抽出された組の暗号文ＣＴＸを伝送路９１を介して登録端末１０に送信する。暗号文取得部１１５は、送信された暗号文ＣＴＸを取得する。
【００６１】
（ステップＳ５２：取得判定処理）
登録端末１０の暗号文取得部１１５は、ステップＳ５２で暗号文ＣＴＸが取得されたか否かを判定する。
暗号文取得部１１５は、暗号文ＣＴＸが取得された場合には、処理をステップＳ５３に進める。一方、暗号文取得部１１５は、暗号文ＣＴＸが取得されなかった場合には、処理をステップＳ５４に進める。
【００６２】
（ステップＳ５３：復号処理）
登録端末１０の復号部１１６は、ステップＳ５１で取得された暗号文ＣＴＸを、属性Ｙ’が設定された復号鍵ｓｋＹ’によって復号して鍵Ｋを生成する。具体的な処理は、復号鍵ｓｋＹ’を用いる点を除き、図８のステップＳ２２と同じである。
【００６３】
（ステップＳ５４：暗号化処理）
登録端末１０の暗号化部１１１は、登録を許可する範囲を示す登録範囲Ｘ’の入力を受け付ける。登録範囲Ｘ’は、登録端末１０の利用者によって入力装置が操作され入力される。
【００６４】
暗号化部１１１は、アクセス範囲Ｘ（＝範囲情報Ｘ＊）と登録範囲Ｘ’とを入力として、アクセス範囲Ｘ及び登録範囲Ｘ’が設定され鍵Ｋが暗号化された暗号文ＣＴＸと、鍵Ｋとを生成する。
具体的には、暗号化部１１１は、図７のステップＳ１１と同様に、アクセス制御が可能な公開鍵暗号方式のＫＥＭ機能を用いて、暗号文ＣＴＸと、鍵Ｋとを生成する。この際、暗号化部１１１は、アクセス範囲Ｘと登録範囲Ｘ’とがＯＲ条件で結ばれた条件を暗号文ＣＴＸの復号条件として設定する。つまり、暗号文ＣＴＸは、アクセス範囲Ｘが示す範囲に含まれる属性と、登録範囲Ｘ’が示す範囲に含まれる属性との少なくともいずれかの属性が設定された復号鍵によって復号可能である。
【００６５】
（ステップＳ５５：鍵登録処理）
【００６６】
登録端末１０の鍵登録部１１２は、ステップＳ５１で受け付けられたアクセス範囲Ｘ（＝範囲情報Ｘ＊）と、ステップＳ５４で受け付けられた登録範囲Ｘ’と、ステップＳ５４で生成された暗号文ＣＴＸとの組を鍵サーバ３０に登録する。
具体的には、鍵登録部１１２は、アクセス範囲Ｘと登録範囲Ｘ’と暗号文ＣＴＸとの組を、伝送路９１を介して鍵サーバ３０に送信する。すると、鍵サーバ３０の暗号文取得部３１１は、送信されたアクセス範囲Ｘと登録範囲Ｘ’と暗号文ＣＴＸとの組を取得して、ストレージ３３に書き込む。これにより、ストレージ３３にアクセス範囲Ｘと登録範囲Ｘ’と暗号文ＣＴＸとの組が蓄積される。
【００６７】
（ステップＳ５６：タグ生成処理）
登録端末１０のタグ生成部１１３は、検索用のキーワードｗの入力を受け付ける。キーワードｗは、任意の文字列である。キーワードｗは、登録端末１０の利用者によって入力装置が操作され入力される。
タグ生成部１１３は、ステップＳ５３又はステップＳ５４で生成された鍵Ｋと、受け付けられた検索用のキーワードｗとを入力として、検索用のタグｔを生成する。具体的な処理は、図７のステップＳ１３と同じである。
【００６８】
（ステップＳ５７：タグ登録処理）
登録端末１０のタグ登録部１１４は、ステップＳ５６で生成されたタグｔを検索サーバ４０に登録する。具体的な処理は、図７のステップＳ１４と同じである。
【００６９】
＊＊＊実施の形態３の効果＊＊＊
以上のように、実施の形態３に係る秘匿検索システム１では、登録端末１０は同じアクセス範囲Ｘを指定する場合に同じ鍵Ｋを用いてタグｔを生成する。
これにより、実施の形態３に係る秘匿検索システム１では、検索端末２０は、１つのアクセス範囲Ｘについて１つの暗号文ＣＴＸを復号すれば済む。つまり、実施の形態１では、検索端末２０は、１つのアクセス範囲Ｘについて複数の暗号文ＣＴＸを復号しなければならない場合があった。暗号文ＣＴＸの復号は計算量が多く、処理時間がかかった。しかし、実施の形態３では、検索端末２０は、１つのアクセス範囲Ｘについて１つの暗号文ＣＴＸを復号すれば済むため、鍵Ｋの生成の速度を早くすることができる。
【００７０】
例えば、図１８において、登録端末１０Ｍがタグｔを登録するときには、アクセス範囲Ｘに対応する鍵Ｋがなかったとする。この場合には、登録端末１０Ｍは、鍵Ｋを生成し、鍵Ｋを暗号化した暗号文ＣＴＸを鍵サーバ３０に登録するとともに、鍵Ｋによりタグｔを生成して検索サーバ４０に登録する。
その後、登録端末１０Ｎがアクセス範囲Ｘを指定して別のタグｔを登録する場合、登録端末１０Ｎは鍵サーバ３０から暗号文ＣＴＸを取得することにより、登録端末１０Ｍによって生成された鍵Ｋを得る。そして、登録端末１０Ｎは、登録端末１０Ｍによって生成された鍵Ｋによりタグｔを生成して検索サーバ４０に登録する。
このように、登録端末１０Ｍ及び登録端末１０Ｎが同じ鍵Ｋによりタグｔを生成することができる。その結果、検索端末２０は、１つのアクセス範囲Ｘについて１つの暗号文ＣＴＸを復号すれば済む。
【符号の説明】
【００７１】
１  秘匿検索システム、１０  登録端末、１１  プロセッサ、１２  メモリ、１３  ストレージ、１４  通信インタフェース、１５  電子回路、１１１  暗号化部、１１２  鍵登録部、１１３  タグ生成部、１１４  タグ登録部、１１５  暗号文取得部、１１６  復号部、２０  検索端末、２１  プロセッサ、２２  メモリ、２３  ストレージ、２４  通信インタフェース、２５  電子回路、２１１  要求受付部、２１２  暗号文取得部、２１３  復号部、２１４  トラップドア生成部、２１５  データ取得部、３０  鍵サーバ、３１  プロセッサ、３２  メモリ、３３  ストレージ、３４  通信インタフェース、３５  電子回路、３１１  暗号文取得部、３１２  属性判定部、３１３  暗号文送信部、４０  検索サーバ、４１  プロセッサ、４２  メモリ、４３  ストレージ、４４  通信インタフェース、４５  電子回路、４１１  タグ取得部、４１２  トラップドア取得部、４１３  タグ抽出部、４１４  属性抽出部、９１  伝送路。
【要約】
登録端末（１０）は、アクセス範囲（Ｘ）が設定され鍵Ｋが暗号化された暗号文（ＣＴＸ）と、鍵（Ｋ）との組を鍵サーバ（３０）に登録するとともに、鍵（Ｋ）と検索用のキーワード（ｗ）とから生成された検索用のタグ（ｔ）を検索サーバ（４０）に登録する。検索端末（２０）は、アクセスを許可する範囲に属性（Ｙ）を含むアクセス範囲（Ｘ）が設定された暗号文（ＣＴＸ）を取得し、暗号文（ＣＴＸ）を、属性（Ｙ）が設定された復号鍵（ｓｋＹ）によって復号して鍵（Ｋ）を生成する。検索端末（２０）は、鍵（Ｋ）と検索用のキーワード（ｗ’）とから検索用のトラップドア（ｔ’）を生成して、検索サーバ（４０）に送信し、キーワード（ｗ’）に対応するデータを取得する。【図１】
0006362811.tif 000002
【図２】
0006362811.tif 000003
【図３】
0006362811.tif 000004
【図４】
0006362811.tif 000005
【図５】
0006362811.tif 000006
【図６】
0006362811.tif 000007
【図７】
0006362811.tif 000008
【図８】
0006362811.tif 000009
【図９】
0006362811.tif 000010
【図１０】
0006362811.tif 000011
【図１１】
0006362811.tif 000012
【図１２】
0006362811.tif 000013
【図１３】
0006362811.tif 000014
【図１４】
0006362811.tif 000015
【図１５】
0006362811.tif 000016
【図１６】
0006362811.tif 000017
【図１７】
0006362811.tif 000018
【図１８】
0006362811.tif 000019
【図１９】
0006362811.tif 000020