(57)【要約】【課題】複雑で高コストな装置を用いることなく、データベースサーバの運用者に対してユーザが検索、閲覧したデータの情報を秘匿しつつ高速なデータベース検索を実現できるデータベース検索システムおよび検索方法を提供することである。【解決手段】クライアント端末１００に設けたハッシュ値生成部１０２により、クライアント端末１００のマンマシン部１０１に入力された検索キーワードを所定のハッシュ関数に基づいてハッシュ値に変換し、暗号化されたデータと検索キーワードのハッシュ値とを互いに対応付けてＤＢサーバ２００のサーバ側記憶部２０３に格納しておき、マンマシン部１０１に検索クエリとして検索キーワードが入力されたときに、該検索キーワードのハッシュ値でサーバ側記憶部２０３を検索して該サーバ側記憶部２０３から検索キーワードに対応した所望のデータを取得する。【選択図】図１
2015118603.tif 000002
【特許請求の範囲】
【請求項１】
データベースサーバと、該データベースサーバと通信可能に設けられたクライアント端末と、を備えたデータベース検索システムであって、
前記クライアント端末は
データの選択および検索キーワードの入力を受け付けるマンマシン部と、
前記マンマシン部に入力された検索キーワードを所定のハッシュ関数に基づいてハッシュ値に変換するハッシュ値生成部と、を有し、
前記データベースサーバは、
前記マンマシン部により選択されたデータを暗号化したデータと前記検索キーワードのハッシュ値とを格納するサーバ側記憶部と、
前記検索キーワードのハッシュ値で前記サーバ側記憶部を検索して該サーバ側記憶部から所望のデータを取得するデータ取得部と、を有することを特徴とするデータベース検索システム。
【請求項２】
前記ハッシュ値生成部が、前記マンマシン部により選択されたデータを暗号化する機能を有する、請求項１に記載のデータベース検索システム。
【請求項３】
前記クライアント端末が、前記マンマシン部により選択されるデータを保持する端末側記憶部を有する、請求項１または２に記載のデータベース検索システム。
【請求項４】
データベースサーバと、該データベースサーバと通信可能に設けられたクライアント端末と、を備えたデータベース検索システムにおけるデータベース検索方法であって、
前記クライアント端末のマンマシン部により、データの選択および検索キーワードの入力を受け付ける入力受付け工程と、
前記マンマシン部に入力された検索キーワードを、前記クライアント端末に設けられたハッシュ値生成部により所定のハッシュ関数に基づいてハッシュ値に変換するハッシュ値生成工程と、
前記マンマシン部によりデータの選択および検索キーワードの入力が受け付けられたときに、暗号化されたデータと検索キーワードのハッシュ値とを互いに対応付けて前記データベースサーバのサーバ側記憶部に格納するデータ格納工程と、
前記マンマシン部に検索クエリとして検索キーワードが入力されたときに、該検索キーワードのハッシュ値で前記サーバ側記憶部を検索して該サーバ側記憶部から所望のデータを取得するデータ取得工程と、を有することを特徴とするデータベース検索方法。
【請求項５】
前記ハッシュ値生成工程において、前記ハッシュ値生成部により前記マンマシン部により選択されたデータが暗号化される、請求項４に記載のデータベース検索方法。
【請求項６】
前記入力工程において、前記クライアント端末に設けられた端末側記憶部に保持されたデータの中から前記サーバ側記憶部に格納するデータが選択される、請求項４または５に記載のデータベース検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーワード検索によりデータベースサーバから所望のデータを取得するデータベース検索システム及び検索方法に関し、特に、データベースサーバ側にデータの情報を開示することなくユーザ側でデータの検索、取得が可能なものに関する。
【背景技術】
【０００２】
従来から、様々な情報を電子データ化し、これをデータベースに蓄積しておき、必要に応じてクライアント端末からデータベースにオンラインでアクセスしてキーワード検索により所望のデータを取得するようにしたデータベース検索システムが知られている。
【０００３】
このようなデータベース検索システムでは、あるユーザがそのユーザ自身のデータベースを構築する際に、他の事業者が提供するデータベースサーバを利用する場合がある。しかしながら、他の事業者が提供するデータベースサーバを利用すると、例えば個人情報が含まれるデータなど、データベースサーバに格納するデータによっては、データベースサーバのユーザがどのような情報を検索、閲覧しているかをサーバの運用者に知られたくないケースが多々存在する。そのため、データベースサーバ側にデータの情報を開示することなく、ユーザがデータベース内のデータを検索、取得することを可能とするプライバシー保護データベース検索技術が必要となる。
【０００４】
例えば、このようなプライバシー保護データベース検索技術として、秘密計算を利用することにより、データベースに格納するデータや検索条件等の情報を暗号化したままデータの検索を行うことができるようにした技術が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】「秘密計算による化合物データベースの検索技術」、［online］、産総研（独立行政法人産業技術総合研究所）、［平成２５年１２月１３日検索］、インターネット〈http://www.aist.go.jp/aist_j/press_release/pr2011/pr20111101/pr20111101.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に記載される検索技術は、そのアルゴリズムが複雑であることから、検索スピードの低下や高い処理能力を有する機器が求められるという問題点を有しており、その計算コストが高くなることから単純な一致検索を行うシステムへの適用は困難であった。
【０００７】
本発明は、このような課題に鑑みてなされたものであり、本発明の目的は、複雑で高コストな装置を用いることなく、データベースサーバの運用者に対してユーザが検索、閲覧したデータの情報を秘匿しつつ高速なデータベース検索を実現できるデータベース検索システムおよび検索方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明のデータベース検索システムは、データベースサーバと、該データベースサーバと通信可能に設けられたクライアント端末と、を備えたデータベース検索システムであって、前記クライアント端末はデータの選択および検索キーワードの入力を受け付けるマンマシン部と、前記マンマシン部に入力された検索キーワードを所定のハッシュ関数に基づいてハッシュ値に変換するハッシュ値生成部と、を有し、前記データベースサーバは、前記マンマシン部により選択されたデータを暗号化したデータと前記検索キーワードのハッシュ値とを格納するサーバ側記憶部と、前記検索キーワードのハッシュ値で前記サーバ側記憶部を検索して該サーバ側記憶部から所望のデータを取得するデータ取得部と、を有することを特徴とする。
【０００９】
本発明のデータベース検索方法は、データベースサーバと、該データベースサーバと通信可能に設けられたクライアント端末と、を備えたデータベース検索システムにおけるデータベース検索方法であって、前記クライアント端末のマンマシン部により、データの選択および検索キーワードの入力を受け付ける入力受付け工程と、前記マンマシン部に入力された検索キーワードを、前記クライアント端末に設けられたハッシュ値生成部により所定のハッシュ関数に基づいてハッシュ値に変換するハッシュ値生成工程と、前記マンマシン部によりデータの選択および検索キーワードの入力が受け付けられたときに、暗号化されたデータと検索キーワードのハッシュ値とを互いに対応付けて前記データベースサーバのサーバ側記憶部に格納するデータ格納工程と、前記マンマシン部に検索クエリとして検索キーワードが入力されたときに、該検索キーワードのハッシュ値で前記サーバ側記憶部を検索して該サーバ側記憶部から所望のデータを取得するデータ取得工程と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データ格納時には、データに付す検索キーワードをクライアント端末側でハッシュ値に変換し、暗号化されたデータと検索キーワードのハッシュ値とを対応付けてデータベースサーバのサーバ側記憶部に格納し、データ検索時には、検索クエリとして入力された検索キーワードをクライアント端末側でハッシュ値に変換し、このハッシュ値でサーバ側記憶部を検索するようにしたので、複雑で高コストな装置を用いることなく、操作ログを閲覧可能なデータベースサーバの運用者に対してユーザが検索、閲覧したデータの情報を秘匿しつつ高速なデータベース検索を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態であるデータベース検索システムの構成を概略で示すブロック図である。
【図２】ＤＢサーバの記憶部に格納されるデータテーブルの一例を示す図である。
【図３】ＤＢサーバにデータを格納する手順を示すフローチャート図である。
【図４】ＤＢサーバから所望のデータを取得する手順を示すフローチャート図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施の形態であるデータベース検索システム及び検索方法について、図面を参照しつつ詳細に例示説明する。
【００１３】
図１に示すように、本発明の一実施の形態であるデータベース検索システムは、クライアント端末１００とデータベースサーバ２００（以下、ＤＢサーバ２００とする）とを備えている。クライアント端末１００は、マンマシン部１０１、ハッシュ値生成部１０２、端末側記憶部１０３および通信部１０４を備え、ＤＢサーバ２００は、入力部２０１、データ取得部（情報取得部）２０２、サーバ側記憶部２０３および通信部２０４を備えている。
【００１４】
クライアント端末１００は、例えばＣＰＵ（中央演算処理装置）を備えたパーソナルコンピュータで構成するのが好ましいが、ＣＰＵを備えた電子機器であれば、パーソナルコンピュータに限らず、例えばタブレット端末、携帯電話（スマートフォン）等の他の電子機器により構成することもできる。上記のように、クライアント端末１００は、マンマシン部１０１、ハッシュ値生成部１０２、端末側記憶部１０３および通信部１０４を備えている。
【００１５】
マンマシン部１０１は、マンマシンインターフェースとも呼ばれるものであり、例えばディスプレイ（モニタ）やキーボード、マウス等のポインティングデバイス等を含んで構成される。マンマシン部１０１は、端末側記憶部１０３に保持されたデータの中からＤＢサーバ２００のサーバ側記憶部２０３に格納するデータの選択や検索キーワードの入力などのユーザの操作を受け付けることができる。また、マンマシン部１０１は、端末側記憶部１０３やサーバ側記憶部に格納されているデータの情報や入力された検索キーワード等の情報を、例えばディスプレイに表示するなどしてユーザに伝達することができる。
【００１６】
マンマシン部１０１は、ユーザによるデータの選択操作を受け付けると、該データを端末側記憶部１０３から取得してハッシュ値生成部１０２に渡す。また、マンマシン部１０１は、ユーザにより検索キーワードが入力されると、この検索キーワードをハッシュ値生成部１０２に渡す。
【００１７】
ハッシュ値生成部１０２は、例えばＣＰＵを備えたクライアント端末１００上で動作するソフトウェア処理として行われる構成とすることができ、図１では、そのソフトウェアの機構ブロックを抽象化して示す。
【００１８】
ハッシュ値生成部１０２は、マンマシン部１０１から検索キーワードを受け取り、この検索キーワードを所定のハッシュ関数に基づいてハッシュ化つまりハッシュ値に変換して通信部１０４に渡す。ハッシュ関数（Hash関数）とは、与えられた原文から固定長の疑似乱数を生成する演算手法であり、不可逆な一方向性を有するものである。マンマシン部１０１に入力された検索キーワードをハッシュ関数で演算することにより、この検索キーワードのハッシュ値（Hash値）を得ることができる。ハッシュ関数としては任意のものを用いることができるが、データ格納時とデータ検索時とで同一のハッシュ関数が用いられる。
【００１９】
また、ハッシュ値生成部１０２は、マンマシン部１０１からＤＢサーバ２００に格納するデータを受け取り、このデータを任意の方式で暗号化して通信部１０４に渡す。つまり、本実施の形態では、ハッシュ値生成部１０２は、ＤＢサーバ２００に格納するデータを暗号化する機能を有している。また、ハッシュ値生成部１０２は、ＤＢサーバ２００から送られてきた暗号化されたデータを、元のデータに復元してマンマシン部１０１に渡すことができる。なお、データの暗号化は種々の方式で行うことができる。
【００２０】
端末側記憶部１０３は、例えば半導体メモリ等で構成することができ、ＤＢサーバ２００への格納対象となるデータを保持することができる。また、端末側記憶部１０３はクライアント端末１００を動作させるためのプログラム等を記憶するとともにワークメモリとしても機能する構成とすることもできる。なお、端末側記憶部１０３のデータテーブルの構成は、ＤＢサーバ２００への格納対象となるデータを保持することができれば、種々の構成とすることができる。
【００２１】
通信部１０４は、ハッシュ値生成部１０２より依頼を受けて、ハッシュ値生成部１０２から渡された暗号化されたデータ及び検索キーワードのハッシュ値をＤＢサーバ２００に向けて送信する。例えば、通信部１０４は、データ格納時には、ハッシュ値生成部１０２から渡された暗号化されたデータ及び検索キーワードのハッシュ値をセットとしてＤＢサーバ２００に向けて送信する。一方、データ検索時には、通信部１０４は、ハッシュ値生成部１０２から渡された検索キーワードのハッシュ値のみをＤＢサーバ２００に向けて送信する。また、通信部１０４は、ＤＢサーバ２００から送信された暗号化されたデータを受信することができる。
【００２２】
通信部１０４は、無線、有線等の種々の構成とすることができる。また、通信部１０４は、インターネット等のコンピュータネットワークを介してＤＢサーバ２００と通信する構成とすることができる。
【００２３】
次に、ＤＢサーバ２００の構成について説明する。ＤＢサーバ２００は、ファイルサーバとしての機能を有するものであり、例えばＣＰＵ（中央演算処理装置）を備えたパーソナルコンピュータにより構成することができる。上記のように、ＤＢサーバ２００は、入力部２０１、データ取得部（情報取得部）２０２、サーバ側記憶部２０３および通信部２０４を備えている。
【００２４】
入力部２０１及びデータ取得部２０２は、ＣＰＵを備えたＤＢサーバ２００上で動作するソフトウェア処理として行われるものであり、図１では、そのソフトウェアの機構ブロックを抽象化して示す。
【００２５】
入力部２０１は、クライアント端末１００の通信部１０４から暗号化されたデータ及び検索キーワードのハッシュ値がセットでＤＢサーバ２００に送信されてきたときに、暗号化されたデータ及び検索キーワードのハッシュ値を受け取り、これらを対応付けてサーバ側記憶部２０３に格納する。つまり、ＤＢサーバ２００にデータを格納するため、クライアント端末１００のマンマシン部１０１によりＤＢサーバ２００に格納するデータが選択されるとともに検索キーワードの入力が受け付けられたときには、暗号化されたデータと検索キーワードのハッシュ値とが入力部２０１に入力され、入力部２０１はこれらの暗号化されたデータ及び検索キーワードのハッシュ値を互いに対応付けてサーバ側記憶部２０３に格納する。
【００２６】
データ取得部２０２は、クライアント端末１００の通信部２０４から検索キーワードのハッシュ値のみが送信されてきたときに、このハッシュ値を受け取り、該ハッシュ値でサーバ側記憶部２０３を検索する。つまり、ＤＢサーバ２００から所望のデータを検索、取得するため、クライアント端末１００のマンマシン部１０１に検索クエリとして検索キーワードが入力されたときに、この検索キーワードのハッシュ値生成部１０２によるハッシュ値がデータ取得部２０２に入力され、このハッシュ値に基づいてデータ取得部２０２はサーバ側記憶部２０３を検索する。
【００２７】
データ取得部２０２は、マンマシン部１０１に入力された検索キーワードのハッシュ値に基づいてサーバ側記憶部２０３を検索することにより、このハッシュ値と同一のハッシュ値を有するデータつまり検索キーワードに対応した所望のデータをサーバ側記憶部２０３から取得することができる。そして、データ取得部２０２は、検索により取得したデータを通信部２０４に渡す。
【００２８】
サーバ側記憶部２０３は、例えば半導体メモリ等で構成することができ、クライアント端末１００から送られてきた暗号化されたデータおよび検索キーワードのハッシュ値を格納する。サーバ側記憶部２０３に格納された複数の暗号化されたデータおよびハッシュ値はデータテーブル２１０として保持される。本実施の形態においては、サーバ側記憶部２０３が保持するデータテーブル２１０は、例えば、ＩＤ番号、氏名、住所、住所のハッシュ値、病歴、病歴のハッシュ値を含むものとすることができる。この場合、住所および病歴を検索キーワードとしてデータの検索を行うことができる。
【００２９】
なお、１つのデータに付する検索キーワード（ハッシュ値）の数は１に限らず、例えば図２に示すように１つのデータに対して２つの検索キーワード（ハッシュ値）を設定するなど、１つのデータに付する検索キーワード（ハッシュ値）の数は任意に設定することができる。
【００３０】
通信部２０４は、クライアント端末１００の通信部１０４と同様に、無線、有線等の種々の構成とすることができる。また、通信部２０４は、インターネット等のコンピュータネットワークを介してクライアント端末１００の通信部１０４と通信可能となっており、クライアント端末１００より送信された暗号化されたデータ及び検索キーワードのハッシュ値を受け取ることができる。通信部２０４は、暗号化されたデータと検索キーワードのハッシュ値とをセットで受け取ったときには、これらのデータおよびハッシュ値を入力部２０１に渡し、クライアント端末１００のマンマシン部１０１に検索クエリとして入力された検索キーワードのハッシュ値のみを受け取ったときには、このハッシュ値をデータ取得部２０２に渡す。また、通信部２０４は、データ取得部２０２より暗号化されたデータを受け取り、このデータをクライアント端末１００に向けて送信する。
【００３１】
次に、本発明の一実施の形態であるデータベース検索方法におけるシーケンス例について、図３、図４に示すフローチャート図に基づいて説明する。図３はＤＢサーバにデータを格納する手順を示すフローチャート図であり、図４はＤＢサーバから所望のデータを取得する手順を示すフローチャート図である。
【００３２】
本発明のデータベース検索システムおよびデータベース検索方法では、クライアント端末１００のマンマシン部１０１を操作することにより、端末側記憶部１０３に保持されたデータの中から選択した所望のデータをＤＢサーバ２００に格納することができるとともに、検索キーワードを用いたキーワード検索によりＤＢサーバ２００から所望のデータを取得することができる。
【００３３】
まず、図３に基づいて、端末側記憶部１０３に保持されているデータをＤＢサーバ２００に格納する手順について説明する。
【００３４】
ユーザにより、クライアント端末１００のマンマシン部１０１に対してデータ格納のための操作が行われると、ステップＳ（１−１）として、マンマシン部１０１は、ユーザから、ＤＢサーバ２００に格納するデータの選択及び該データの検索キーワードの入力を受け付ける（入力受付け工程）。そして、マンマシン部１０１は、ユーザにより選択されたデータを端末側記憶部１０３から取得し、このデータと検索キーワードとをハッシュ値生成部１０２に渡す。
【００３５】
マンマシン部１０１に入力される検索キーワードは、ＤＢサーバ２００に格納するデータに対応した任意のキーワードに設定することができる。
【００３６】
次に、ステップＳ（１−２）において、クライアント端末１００のハッシュ値生成部１０２は、マンマシン部１０１からＤＢサーバ２００に格納するデータ及びこのデータの検索キーワードを受け取り、このデータを任意の方式で暗号化するとともに検索キーワードを所定のハッシュ関数に基づいてハッシュ値に変換する（ハッシュ値生成工程）。そして、ハッシュ値生成部１０２は、暗号化されたデータと検索キーワードのハッシュ値（ハッシュ化された検索キーワード）とを通信部１０４に渡す。
【００３７】
クライアント端末１００の通信部１０４は、ステップＳ（１−３）において、ハッシュ値生成部１０２より依頼を受けて、暗号化されたデータ及び検索キーワードのハッシュ値をＤＢサーバ２００に送信する。
【００３８】
ＤＢサーバ２００の通信部２０４は、ステップＳ（１−４）において、クライアント端末１００より送信されてきた暗号化されたデータ及び検索キーワードのハッシュ値を受信し、これらを入力部２０１に渡す。
【００３９】
ＤＢサーバ２００の入力部２０１は、通信部２０４から暗号化されたデータ及び検索キーワードのハッシュ値を受け取り、ステップＳ（１−５）において、暗号化されたデータ及び検索キーワードのハッシュ値を対応付け、これら両者をセットでサーバ側記憶部２０３に格納する（データ格納工程）。このとき、サーバ側記憶部２０３に格納されるデータは、図２に示すようなデータテーブル２１０に保持される。
【００４０】
このような手順により、端末側記憶部１０３に保持されたデータの中から選択した所望のデータと、このデータに対応した検索キーワードのハッシュ値とをＤＢサーバ２００のサーバ側記憶部２０３（データテーブル２１０）に格納することができる。このとき、サーバ側記憶部２０３に格納されるデータはクライアント端末１００の側で暗号化され、検索キーワードはクライアント端末１００の側でハッシュ化されているので、データおよび検索キーワードの情報はＤＢサーバ２００の運用者に対して秘匿されている。
【００４１】
次に、図４に基づいて、ＤＢサーバ２００から所望のデータをキーワード検索により取得する手順について説明する。
【００４２】
ＤＢサーバ２００から所望のデータを取得する際には、ユーザはクライアント端末１００のマンマシン部１０１に、取得したいデータに対応した検索キーワードを検索クエリとして入力する。ユーザにより検索クエリとして検索キーワードが入力されると、マンマシン部１０１は、ステップＳ（２−１）として、ユーザからの検索キーワードの入力を受け付け、この検索キーワードをハッシュ値生成部１０２に渡す。
【００４３】
ハッシュ値生成部１０２は、検索クエリとして入力された検索キーワードをマンマシン部１０１から受け取ると、ステップＳ（２−２）において、この検索キーワードを所定のハッシュ関数に基づいてハッシュ値に変換し、このハッシュ値を通信部１０４に渡す。なお、ハッシュ値生成部１０２は、データ格納時と同一のハッシュ関数を用いて検索キーワードをハッシュ値に変換する。したがって、データ格納時とデータ検索時で同一の検索キーワードが入力されれば、そのハッシュ値も同一である。
【００４４】
通信部１０４は、ステップＳ（２−３）において、ハッシュ値生成部１０２より依頼を受けて検索キーワードのハッシュ値をＤＢサーバ２００に送信する。
【００４５】
ＤＢサーバ２００の通信部２０４は、ステップＳ（２−４）において、クライアント端末１００より検索キーワードのハッシュ値（ハッシュ化された検索キーワード）を受信し、このハッシュ値をデータ取得部２０２に渡す。
【００４６】
データ取得部２０２は、通信部２０４より検索キーワードのハッシュ値を受け取り、ステップＳ（２−５）において、このハッシュ値でサーバ側記憶部２０３を検索して、このハッシュ値に対応するハッシュ値とセットで格納されているデータ、つまり検索対象となる所望のデータを取得する（データ取得工程）。そして、データ取得部２０２は、検索によりサーバ側記憶部２０３から取得した暗号化されたデータを通信部２０４に渡す。
【００４７】
通信部２０４は、ステップＳ（２−６）において、データ取得部２０２より受け取った暗号化されたデータをクライアント端末１００に送信する。
【００４８】
クライアント端末１００の通信部１０４は、ステップＳ（２−７）において、ＤＢサーバ２００から暗号化されたデータを受信する。ユーザは、クライアント端末１００がＤＢサーバ２００から取得したデータを、例えばマンマシン部１０１のディスプレイ等に表示してその内容を閲覧することができる。
【００４９】
このような手順により、キーワード検索によってＤＢサーバ２００から所望のデータを取得することができる。このとき、サーバ側記憶部２０３に格納されるデータは暗号化され、データ取得部２０２においてサーバ側記憶部２０３の検索に用いられる検索キーワードはクライアント端末１００の側でハッシュ化されているので、データおよび検索キーワードの情報はＤＢサーバ２００の運用者に対して秘匿されている。
【００５０】
以上説明した通り、本発明では、データ格納時には、暗号化されたデータに、クライアント端末１００の側で検索キーワードのハッシュ値を付し、この暗号化されたデータとハッシュ値とを対応付けてセットでＤＢサーバ２００に格納し、データ検索時には、検索クエリとして入力された検索キーワードをデータ格納時と同一のハッシュ関数でハッシュ値に変換し、このハッシュ値に基づいてＤＢサーバ２００のサーバ側記憶部２０３を検索するようにしたので、ＤＢサーバ２００側において、データを暗号化し、検索キーワードをハッシュ化して、操作ログを閲覧可能なＤＢサーバ２００の運用者に対してユーザが検索、閲覧したデータの情報を秘匿してプライバシーを保護することができる。
【００５１】
また、本発明では、クライアント端末１００に、検索キーワードをハッシュ値に変換するハッシュ値生成部１０２を設けるだけの簡単な構成で、ＤＢサーバ２００の運用者に対してユーザが検索、閲覧したデータの情報を秘匿することができるので、複雑で高コストな装置を用いることなく高速なデータベース検索を実現することができる。
【００５２】
本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００５３】
例えば、前記実施の形態では、クライアント端末１００に端末側記憶部１０３を設け、この端末側記憶部１０３に保持したデータをＤＢサーバ２００に格納するようにしているが、これに限らず、例えばインターネット等のコンピュータネットワークを介してクライアント端末１００と通信可能な別の記憶媒体等に保持されたデータの中から、ＤＢサーバ２００に格納するデータを選択し、これをＤＢサーバ２００に格納する構成とすることもできる。
【００５４】
また、前記実施の形態では、クライアント端末１００から暗号化されたデータと検索キーワードのハッシュ値がセットで送信されてきたときに該データおよびハッシュ値を入力部２０１に渡し、クライアント端末１００から検索キーワードのハッシュ値のみが送信されてきたときに該ハッシュ値をデータ取得部２０２に渡すようにしているが、例えば、データ格納時かデータ検索時かを識別可能なフラグ等をデータやハッシュ値等に付して、通信部２０４が受信したデータやハッシュ値の渡し先を設定する構成とすることもできる。
【符号の説明】
【００５５】
１００  クライアント端末
１０１  マンマシン部
１０２  ハッシュ値生成部
１０３  端末側記憶部
１０４  通信部
２００  データベースサーバ
２０１  入力部
２０２  データ取得部
２０３  サーバ側記憶部
２０４  通信部
２１０  データテーブル
【図１】
2015118603.tif 000003
【図２】
2015118603.tif 000004
【図３】
2015118603.tif 000005
【図４】
2015118603.tif 000006