検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて前記ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値をサーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備えるクライアント装置。前記受信手段は、前記ハッシュ関数を前記サーバ装置から受信する、請求項1記載のクライアント装置。前記受信手段は、ブラウザに読込まれるスクリプトとして前記ハッシュ関数を受信する、請求項2記載のクライアント装置。クライアント装置から、ハッシュ値がマスク値でマスクされたインデックス及び前記マスク値を受信する受信手段と、前記マスク値でマスクされると受信したインデックスとなるハッシュ値に対応するデータの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備えるサーバ装置。前記送信手段は、ハッシュ値を生成するためのハッシュ関数を前記クライアント装置に送信する、請求項4記載のサーバ装置。各検索語に関するハッシュ値と、当該検索語に対応するデータとを管理する管理手段を更に備える、請求項4又は請求項5記載のサーバ装置。クライアント装置及びサーバ装置が通信する通信システムであって、前記クライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値を前記サーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備え、前記サーバ装置は、前記クライアント装置から、前記インデックス及び前記マスク値を受信する受信手段と、前記データの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える通信システム。クライアント装置が、検索語にハッシュ関数を適用してハッシュ値を求めるステップと、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるステップと、前記インデックス及び前記マスク値を前記クライアント装置がサーバ装置に送信するステップと、前記マスク値でマスクされると受信した前記インデックスとなるハッシュ値に対応するデータの一覧を生成するステップと、当該データの一覧を前記サーバ装置が前記クライアント装置に送信するステップと、当該データの一覧から、前記検索語のハッシュ値に対応するデータを特定するステップとを備える、通信方法。ここで、検索システムを用いた情報漏洩の類型として、検索サービスを利用する利用者の興味の対象が、検索に用いられる検索語により検索サービスを提供する提供者に漏れるという形がある。例えば株式情報や特許などの分野では、アクセスログの解析によりどの組織がどの分野に興味を持っているかといった情報サービス利用者の興味の対象がサービス提供者に把握されることにより、当該サービス提供者がビジネス上有利になる場合がある。このような情報漏洩のリスクは、検索サービス利用を躊躇させる1つの要因となっている。また、特許文献1記載の手法は、検索語そのものではなくインデックスを送信するシステムではあるが、あくまで暗号化された文書に対する検索を対象としているため、汎用性に欠ける。本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、検索サービスの汎用性を確保すると共に、検索サービスの利用者の興味が特定されにくいクライアント装置、サーバ装置、通信システム及び通信方法を提供することを目的の1つとする。本発明に係るクライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて前記ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値をサーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備える。本発明に係るサーバ装置は、クライアント装置から、ハッシュ値がマスク値でマスクされたインデックス及び前記マスク値を受信する受信手段と、前記マスク値でマスクされると受信したインデックスとなるハッシュ値に対応するデータの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える。本発明に係る通信システムは、クライアント装置及びサーバ装置が通信する通信システムであって、前記クライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値を前記サーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備え、前記サーバ装置は、前記クライアント装置から、前記インデックス及び前記マスク値を受信する受信手段と、前記データの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える。本発明に係る通信方法は、クライアント装置が、検索語にハッシュ関数を適用してハッシュ値を求めるステップと、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるステップと、前記インデックス及び前記マスク値を前記クライアント装置がサーバ装置に送信するステップと、前記マスク値でマスクされると受信した前記インデックスとなるハッシュ値に対応するデータの一覧を生成するステップと、当該データの一覧を前記サーバ装置が前記クライアント装置に送信するステップと、当該データの一覧から、前記検索語のハッシュ値に対応するデータを特定するステップとを備える。なお、本発明において、部とは、単に物理的手段を意味するものではなく、その部が有する機能をソフトウェアによって実現する場合も含む。また、1つの部が有する機能が2つ以上の物理的手段や装置により実現されても、2つ以上の部の機能が1つの物理的手段や装置により実現されても良い。本発明によれば、検索サービスの汎用性を確保すると共に、検索サービスの利用者の興味が特定されにくいクライアント装置、サーバ装置、通信システム及び通信方法を提供することができる。以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。実施形態図1乃至図4は、本発明の実施形態を説明するための図である。以下、これらの図を参照しながら実施形態を詳細に説明する。概要図1は、本発明に係る実施形態の通信システム1の概略構成を示す図である。図1に係る通信システム1は、例えばパーソナルコンピュータ等であるクライアント装置10と、検索サーバ20と、文書を格納するファイルサーバ30とから構成される。クライアント装置10、検索サーバ20、及びファイルサーバ30は、それぞれネットワークNに接続されており、相互にTCPTransmissionControlProtocol/IPInternetProtocol等により通信する。尚ここで、図1の例では、クライアント装置10は1台しか示されていないがこれに限るものではなく、また、ファイルサーバ30の数も、3台に限られるものではない。また、ネットワークNへの接続方法は、有線であるか無線であるかを問わない。検索サーバ20は、クライアント装置10からの要求に応じて検索サービスを提供するサーバである。ユーザ利用者は、クライアント装置10のユーザインタフェースを利用して検索語を入力する。クライアント装置10は、当該検索語に係る情報を検索サーバ20に送信し、検索サーバ20は当該情報に合致するデータをクライアント装置10に返す。以下に説明する実施形態では、ファイルサーバ30a乃至30cがそれぞれ文書を管理しており、検索サーバ20はそれらの文書にアクセスするためのURLUniformResourceLocatorに関するデータの検索サービスを提供しているものする。つまり、通信システム1は、ユーザがクライアント装置10に検索語を入力し、当該検索語からそれを含む文書を検索サーバ20で検索し、ファイルサーバ30から当該文書を取得することのできるシステムである。ここで、もし、クライアント装置10が検索語を直接検索サーバ20に送信すると、ユーザ利用者の興味が、検索サービスの提供者に漏洩してしまう。よって、特に株式情報や特許に関する検索サービスでは、ユーザが利用を躊躇する可能性がある。そこで、本実施液体の通信システム1では、利用者であるユーザが興味のある検索語そのものを検索サーバ20に提供しないことで、情報漏洩を抑制し、結果として検索サーバ20が提供する検索サービスの利用促進を図っている。通信システム1の動作の概要を、以下簡単に説明する。検索サーバ20は、後述するインデックス表205bを有している。このインデックス表205bは、各種検索語を予め定められたハッシュ関数205a後述に掛けたハッシュ値をキーとし、検索語と関連づいたデータ本実施形態では、各ファイルサーバ30が提供する文書の位置を値とするテーブルである。また検索サーバ20は、インデックス表205bのキーとなるハッシュ値を生成する為に使用するハッシュ関数205aをクライアント装置10に提供送信可能である。ユーザが検索したい検索語を入力すると、クライアント装置10は、検索サーバ20から取得したハッシュ関数205aを用いて、入力された検索語のハッシュ値を計算する。そして、クライアント装置10は、得られたハッシュ値を任意のマスク値を使ってマスクすることにより、検索に用いるインデックスを生成する。当該インデックスマスクされた検索語のハッシュ値は、マスク値と共に検索サーバ20に送信される。検索サーバ20は、インデックス表205bを参照して、テーブルのキーハッシュ値の中から、受信したインデックスと一致する複数の行のデータを利用者に返す。クライアント装置10は、当該複数行のデータのうち、検索語のハッシュ値にキーが一致する行のデータを最終検索結果とすることで、当該データが示す文書ファイルサーバ30が提供にアクセス可能となる。また、検索サーバ20で管理するデータは特に暗号化されたデータに特化したものではないので、各種検索サービスに汎用的に適用可能である。システム構成以下、通信システム1を構成する各装置のうち、特にクライアント装置10及び検索サーバ20の機能構成を、図2を参照しながら説明する。図2は、クライアント装置10及び検索サーバ20の概略構成を示す機能ブロック図である。前述の通り、ユーザの使用するクライアント装置10クライアントコンピュータと、検索サービスを提供する検索サーバ20とは、ネットワークNに接続されている。クライアント装置10は、ユーザインタフェース部101、ハッシュ演算部103、マスク演算部105、通信インタフェース部107、及びハッシュ値照合部109を含んでいる。ここで、クライアント装置10では、図示しないCPUCentralProcessingUnit等の演算処理装置上で、Webブラウザが動作する。ユーザインタフェース部101やハッシュ演算部103等の各構成は、当該Webブラウザが提供する機能読込んだスクリプトにより実行される機能も含むとして実現され得る。ここで、クライアント装置10を構成する各機能ブロックの実現方法は、本実施形態の方法に限られるものではなく、それぞれCPU等の演算処理装置上で動作するソフトウェアプログラムとしても、専用の半導体等で実現しても、或いはソフトウェアとハードウェアとを組み合わせて実現しても良い。更に、検索サーバ20から読込んだスクリプトにより実現される機能でも良い。この点、後述する検索サーバ20の各構成についても同様である。ユーザインタフェース部101は、検索サーバ20から通信インタフェース部107で受信した、HTMLHyperTextMarkupLanguage等で記載された文書情報に基づき、表示画面の生成や、ユーザから検索語の入力を受け付ける。この、検索サーバ20から受信する文書情報には、JavaScript登録商標等のスクリプトが埋め込まれており、本実施例では、検索サーバ20によってハッシュ関数205aがJavaScriptコードとして埋め込まれる。ハッシュ演算部103は、当該検索サーバ20から受信した情報に埋め込まれるJavaScriptコードとして受信したハッシュ関数205aに基づき、検索語検索に用いるキーワードをハッシュ化したハッシュ値を算出する。マスク演算部105は、ハッシュ演算部103で得られたハッシュ値を、任意のマスク値を用いてマスクする。通信インタフェース部107は、検索語のハッシュ値をマスク値でマスクして得られたインデックスと、マスクに用いたマスク値とを検索サーバ20へ送信する。また、通信インタフェース部107は、インデックス及びマスク値に基づく検索サーバ20への検索要求に対する応答として、検索結果であるデータの一覧を受信する。ハッシュ値照合部109は、得られたデータの一覧検索結果から、ハッシュ演算部103で算出したハッシュ値をキーとするデータを特定し、当該データを出力する。このとき、合わせて当該データに対応するURLにアクセスしてユーザインタフェース部101に出力するようにしても良い。検索サーバ20は、通信インタフェース部201と、検索部203と、記憶媒体205と、スクリプト生成部207とを有する。例えばHDDHardDiskDrive等である不揮発性の記憶媒体205には、ハッシュ関数205aとインデックス表205bとが記憶される。スクリプト生成部207は、記憶媒体205に格納されるハッシュ関数205aをJavaScriptコードとして文書情報に埋め込んで、通信インタフェース部201から送信する機能を有する。このハッシュ関数205aは、任意の文字列から無作為なハッシュ値を作り出す関数である。また、スクリプト生成部207は、検索部203で得られた検索結果データの一覧を、通信インタフェース部201を介してクライアント装置10へ送信する機能も有する。検索部203は、クライアント装置10から受信したインデックス及びマスク値を用いて、インデックス表205bを検索する。ここで、インデックス表205bは、検索に使用するキーワードをハッシュ関数205aによりハッシュ化したものをキーとし、キーワードを含むデータ本実施形態では、文書のURLを値とするテーブルである。インデックス表205bの具体例は、図3に示す。検索部203は、インデックス表205bの各キーのうち、受信したマスク値でマスクした結果が、受信したインデックスと一致する全てのデータデータの一覧を、検索結果としてスクリプト生成部207に出力する。検索の処理の流れ以下、図4を参照しながら、通信システム1における検索処理の流れを説明する。図4は、通信システム1における検索時の処理の流れを示すフローチャートである。尚、図4は一般化したフローチャートであるが、以下ではより具体的に、文字列NECを含む文書を検索する場合を例に説明する。まず、クライアント装置10は、検索サーバ20からハッシュ関数205aを取得する。すなわち、検索サーバ20は、ハッシュ関数205aをJavaScriptコードとして埋め込んだ文書情報をスクリプト生成部207で生成して通信インタフェース部201から送信しS401、クライアント装置10は当該文書情報を受信するS403。これにより、クライアント装置10はハッシュ関数205aを得られるので、ユーザインタフェース部101によりユーザから入力された検索語NECに対するハッシュ値をハッシュ演算部103で算出するS405。ここでは、検索語NECに対するハッシュ値を0x00012D6Cとする。マスク演算部105は、得られたハッシュ値0x00012D6Cに、任意のマスク値を用いてマスクしてインデックスを生成するS407。ここで、マスク値を0xFFFFFFF0とすると、マスク演算部105は、ハッシュ値0x00012D6Cとマスク値0xFFFFFFF0とのAND演算を行うことにより、インデックス0x00012D60を得ることができる。通信インタフェース部107は、S407での結果得られたインデックス0x00012D60と、マスク値0xFFFFFFF0とを検索サーバ20に送信するS409。検索サーバ20は、通信インタフェース部201で当該インデックスとマスク値とを受信するとS411、検索部203が、当該インデックスでインデックス表205bを検索するS413。より具体的に述べると、図3に例を示したインデックス表205bの各行のうち、マスク値0xFFFFFFF0でマスクするAND演算すると0x00012D60となるのは0x00012D60から0x00012D6Fまでの行である。これらの行を検索結果であるデータ一覧として、検索部203はスクリプト生成部207に渡す。スクリプト生成部207は当該データの一覧をHTML等の言語で書かれた文書情報に埋め込み、通信インタフェース部201から当該文書情報をクライアント装置10へ返信するS415。クライアント装置10の通信インタフェース部107が検索結果であるデータ一覧を受信するとS417、ハッシュ値照合部109は、当該一覧複数のデータの中から、ハッシュ演算部103でのハッシュ値に合致したデータを検索するS419。検索サーバ20から受信したデータ一覧には、0x00012D60から0x00012D6Fまでの行が含まれていたが、ハッシュ値照合部109はこの中から0x00012D6Cを含むデータを特定する。これにより、検索語を含む文書の位置URLが特定され、アクセス可能となるので、通信インタフェース部107は、当該文書を取得するS421。本実施形態の効果以上説明したように、本実施形態の通信システム1では、クライアント装置10は、ユーザが興味のある検索語そのものを検索サーバ20に送信することはない。よって、検索サービスを提供するサービス提供者に、ユーザが興味のある事項を知られることが無い。また、検索サーバ20からダウンロードしたハッシュ関数コードを読込むことにより、クライアント装置10はハッシュ関数205aが安全なものであることを検証することができる。そして、本実施形態では、検索語キーワードに対するハッシュ関数205aの計算を検索サーバ20側ではなくクライアント装置10側で行っているが、これは、元々検索サーバ20側で行っていた検索語のハッシュ値化をクライアント装置10側で行っているだけであるので、通信システム1全体としての計算負荷の増大はない。更に、本実施形態の通信システム1が提供する検索サービスは暗号化された文書に限るものではないので、本実施形態の手法は汎用性が高い。他の実施形態上述の実施形態では、検索サービスを例に説明を行ったが、これに限られるものではない。例えば、KVSKeyValueStoreのようなデータストアサービスにもそのまま適用することが可能である。また、上述の実施形態では、1の検索語を用いる場合を例に説明したが、複数の検索語を指定して全てを含む文書を検索するAND検索に応用することもできる。この場合には、それぞれの検索語に対応するインデックスを含む行を検索サーバ20で検索し、クライアント装置10側でAND計算を行えばよい。この場合、AND計算のための関数は、ハッシュ関数205aと同様に検索サーバ20から提供可能である。付記事項なお、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。尚、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。付記1検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて前記ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値をサーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備えるクライアント装置。付記2前記受信手段は、前記ハッシュ関数を前記サーバ装置から受信する、付記1記載のクライアント装置。付記3前記受信手段は、ブラウザに読込まれるスクリプトとして前記ハッシュ関数を受信する、付記2記載のクライアント装置。付記4クライアント装置から、ハッシュ値がマスク値でマスクされたインデックス及び前記マスク値を受信する受信手段と、前記マスク値でマスクされると受信したインデックスとなるハッシュ値に対応するデータの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備えるサーバ装置。付記5前記送信手段は、ハッシュ値を生成するためのハッシュ関数を前記クライアント装置に送信する、付記4記載のサーバ装置。付記6各検索語に関するハッシュ値と、当該検索語に対応するデータとを管理する管理手段を更に備える、付記4又は付記5記載のサーバ装置。付記7クライアント装置及びサーバ装置が通信する通信システムであって、前記クライアント装置は、検索語にハッシュ関数を適用してハッシュ値を求める演算手段と、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるマスク手段と、前記インデックス及び前記マスク値を前記サーバ装置に送信する送信手段と、前記インデックスに対応するデータの一覧を前記サーバ装置から受信する受信手段と、当該データの一覧から、前記ハッシュ値に対応するデータを特定する特定手段とを備え、前記サーバ装置は、前記クライアント装置から、前記インデックス及び前記マスク値を受信する受信手段と、前記データの一覧を生成する検索手段と、当該データの一覧を前記クライアント装置に送信する送信手段とを備える、通信システム。付記8クライアント装置が、検索語にハッシュ関数を適用してハッシュ値を求めるステップと、マスク値を用いて当該ハッシュ値をマスクしたインデックスを求めるステップと、前記インデックス及び前記マスク値を前記クライアント装置がサーバ装置に送信するステップと、前記マスク値でマスクされると受信した前記インデックスとなるハッシュ値に対応するデータの一覧を生成するステップと、当該データの一覧を前記サーバ装置が前記クライアント装置に送信するステップと、当該データの一覧から、前記検索語のハッシュ値に対応するデータを特定するステップとを備える、通信方法。