JP2002297606A - Method and system for access to database enabling concealment of inquiry contents - Google Patents

Method and system for access to database enabling concealment of inquiry contents

Info

Publication number
JP2002297606A
JP2002297606A JP2001321741A JP2001321741A JP2002297606A JP 2002297606 A JP2002297606 A JP 2002297606A JP 2001321741 A JP2001321741 A JP 2001321741A JP 2001321741 A JP2001321741 A JP 2001321741A JP 2002297606 A JP2002297606 A JP 2002297606A
Authority
JP
Japan
Prior art keywords
data
search
server
query
database
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.)
Granted
Application number
JP2001321741A
Other languages
Japanese (ja)
Other versions
JP4006214B2 (en
Inventor
Itaru Nishizawa
格 西澤
Kazutomo Ushijima
一智 牛嶋
Takahiko Shintani
隆彦 新谷
Original Assignee
Hitachi Ltd
株式会社日立製作所
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
Priority to JP2001-17827 priority Critical
Priority to JP2001017827 priority
Application filed by Hitachi Ltd, 株式会社日立製作所 filed Critical Hitachi Ltd
Priority to JP2001321741A priority patent/JP4006214B2/en
Publication of JP2002297606A publication Critical patent/JP2002297606A/en
Application granted granted Critical
Publication of JP4006214B2 publication Critical patent/JP4006214B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a method and a system for database access which enable a user to use information providing service while concealing a desired retrieval condition to be concealed. SOLUTION: A data relay server 100 connected between a client computer 10 and a database server 119 generates an inquiry message by ciphering a retrieval condition specified by the client computer and sends the message to the database server. The database server ciphers a specific data item that the retrieval condition read out of the database 126 specifies, retrieves service information meeting the retrieval condition by matching ciphered data against one another, and sends the retrieval result as an answer to the data relay server.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION
【0001】[0001]
【発明の属する技術分野】本発明は、データベースのア
クセス方法およびシステムに関し、更に詳しくは、ユー
ザもしくはアプリケーションプログラムから与えられた
データ検索のための問合せの内容をデータベースの管理
者に隠蔽可能にしたデータベースアクセス方法およびデ
ータ検索システム、特にデータ中継サーバとデータベー
ス・サーバシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and system for accessing a database, and more particularly, to a database in which the contents of a query for data retrieval given from a user or an application program can be hidden from a database administrator. The present invention relates to an access method and a data search system, particularly to a data relay server and a database server system.
【0002】[0002]
【従来の技術】インターネットをはじめとするネットワ
ーク技術の進歩と普及により、多数の計算機がネットワ
ークに接続されるようになっている。これに伴い、様々
な情報をネットワーク経由でユーザに提供する情報提供
サービスが広く利用されつつある。例えば、特許情報検
索サービスや遺伝子配列情報検索サービスがその好例で
ある。
2. Description of the Related Art With the advancement and spread of network technologies such as the Internet, many computers have been connected to networks. Along with this, an information providing service for providing various information to a user via a network has been widely used. For example, a patent information search service and a gene sequence information search service are good examples.
【0003】これらの情報提供サービスを利用するユー
ザは、様々な計算機(端末)からネットワーク経由で、
情報サービスを提供する計算機をアクセスする。以下の
説明では、ユーザが操作する計算機(端末)をクライア
ント計算機、情報サービスを提供する計算機をサーバ計
算機またはDBサーバと呼ぶこととする。現状では、ク
ライアント計算機としては、ワークステーション、パー
ソナルコンピュータ、小型の携帯端末や携帯電話が利用
され、サーバ計算機としては、メインフレームやUNI
X(登録商標)サーバ、PCサーバが利用されることが
多い。
[0003] Users who use these information providing services are provided by various computers (terminals) via a network.
Access a computer that provides information services. In the following description, a computer (terminal) operated by a user is called a client computer, and a computer that provides an information service is called a server computer or a DB server. At present, workstations, personal computers, small portable terminals and mobile phones are used as client computers, and mainframes and UNIs are used as server computers.
X (registered trademark) servers and PC servers are often used.
【0004】上述した情報提供サービスへのアクセスに
おいて、各ユーザは、クライアント計算機上で専用のソ
フトウェアやWEBブラウザを利用する。一方、情報サ
ービスを提供するサーバ計算機上でのデータ管理および
検索は、データベース管理システム(以下、DBMS)
によって行われるのが普通である。
[0004] In accessing the information providing service described above, each user uses dedicated software or a WEB browser on the client computer. On the other hand, data management and retrieval on a server computer that provides an information service is performed by a database management system (hereinafter, DBMS).
It is usually done by
【0005】情報提供サービスへのアクセスにおいて、
例えば、遺伝子配列情報や特許情報を検索する場合に、
ユーザにとっては、誰が、どのような条件で情報にアク
セスしたかを隠蔽できること、すなわち、アクセスの匿
名性と、検索内容の秘密性が保持されることが望まし
い。これは、遺伝子配列検索や特許キーワード検索等に
おいては、問合せで指定された条件自体が機密の対象と
なるため、これらの機密を隠蔽したまま情報検索を行う
ことが、製品開発や研究開発を進める上で重要となるか
らである。
In accessing an information providing service,
For example, when searching for gene sequence information or patent information,
It is desirable for the user to be able to hide who accessed the information under what conditions, that is, to maintain the anonymity of the access and the confidentiality of the search content. This is because, in gene sequence search and patent keyword search, the conditions specified in the query are subject to confidentiality. Therefore, performing information search while concealing these confidentialities will promote product development and R & D. It is important above.
【0006】従来のセキュリティ技術では、例えば、
(1)ネットワーク上での盗聴に対する通信情報の保
護、(2)不正アクセスを防止するためのサーバ側での
ユーザ認証などが実現されている。
In the conventional security technology, for example,
(1) Protection of communication information against eavesdropping on the network, (2) User authentication on the server side to prevent unauthorized access, and the like are realized.
【0007】また、これらのセキュリティ実現方法とし
ては、互いに通信するクライアント計算機とサーバ計算
機間で、例えば、SSL(Secure Socket Layer)など
の暗号化プロトコルを用いる方法や、図13に示すよう
に、クライアント計算機10から、暗号化した問合せ2
02をネットワーク203経由で情報サービスを提供す
るサーバ計算機205に転送し、上記サーバ計算機20
5では、ネットワークインタフェース部206で受信し
た上記暗号化問合せ202を問合せ復号部210に送
り、問合せ復号部210で上記暗号化問合せを復号し、
DBMS208が、復号化された問い合わせ条件に従っ
てデータベース211を検索する方式が知られている。
検索結果207は、必要に応じて暗号化された後、上記
ネットワークインタフェース206とネットワーク20
3を経由して、クライアント計算機10に返送される。
[0007] The security can be realized by, for example, using an encryption protocol such as SSL (Secure Socket Layer) between a client computer and a server computer that communicate with each other, or as shown in FIG. From the computer 10, the encrypted query 2
02 to the server computer 205 which provides the information service via the network 203, and
In 5, the encrypted inquiry 202 received by the network interface unit 206 is sent to the inquiry decryption unit 210, and the encrypted inquiry is decrypted by the inquiry decryption unit 210.
A method is known in which the DBMS 208 searches the database 211 according to the decrypted query condition.
The search result 207 is encrypted if necessary, and then the network interface 206 and the network
3 and is returned to the client computer 10.
【0008】しかしながら、上述した従来の方法では、
問合せ内容202が、ネットワーク上では暗号化された
状態で転送されているものの、サーバ計算機205内で
は問合せ内容を復号化した状態で検索処理を実行してい
るため、ユーザが機密にしたい検索内容がサーバ計算機
に対して隠蔽されていない。そのため、機密情報である
検索内容が、悪意を持つサーバ側の管理者に漏洩する危
険性がある。すなわち、従来のネットワークを経由した
データベースアクセスでは、サーバが信用できることを
前提として、情報のセキュリティが保証されており、問
合せで指定される検索条件自体が機密の対象となる場合
に、これらの機密をユーザ以外の他人に隠蔽したまま検
索を行うことは困難であった。
However, in the conventional method described above,
Although the query content 202 is transmitted in an encrypted state on the network, the search process is executed in the server computer 205 in a state where the query content is decrypted. It is not hidden from the server computer. For this reason, there is a risk that search contents, which are confidential information, may leak to a malicious server-side administrator. In other words, in conventional database access via a network, the security of information is guaranteed on the assumption that the server can be trusted. If the search conditions specified in the query are subject to confidentiality, these confidential It has been difficult to perform a search while hiding it from others other than the user.
【0009】特開平11−259512号の「データ検
索システム」(文献1)では、ユーザから入力された問
合せの条件に対し、(1)予め登録された機密項目に関
する条件を削除し、(2)条件値の包含関係(概念階
層)を利用して条件値を類似語または上位概念語に置き
換え、(3)入力された検索条件を分割し、(4)デー
タ検索装置とデータ検索サーバとの間に設置した代行サ
ーバにデータ検索サーバへのアクセスを代行させること
により、検索サーバのデータベーストレースの履歴デー
タからユーザの所在や検索条件等の機密が漏れるのを保
護するシステムを提供している。
Japanese Patent Application Laid-Open No. H11-259512 discloses a "data search system" (Reference 1). In response to a query condition input by a user, (1) a condition relating to a confidential item registered in advance is deleted, and (2) Using the inclusion relation (concept hierarchy) of the condition value, the condition value is replaced with a similar word or a broader concept word, (3) the input search condition is divided, and (4) the data search device and the data search server A system is provided in which a proxy server installed in the server is made to perform access to the data search server, thereby protecting the confidential information such as the location of the user and search conditions from the history data of the database trace of the search server.
【0010】上記文献1に開示された従来技術によれ
ば、ユーザの機密情報の一部はサーバに対して隠蔽が可
能となるが、検索条件がサーバに取得されるという問題
があり、例えば、人名や遺伝子配列などの検索条件の値
を包含関係によって他の用語へ置き換えることが困難な
分野では、検索条件を十分に隠蔽できないという問題が
あった。
According to the conventional technique disclosed in the above-mentioned document 1, a part of the user's confidential information can be hidden from the server, but there is a problem that the search condition is acquired by the server. In a field where it is difficult to replace the value of a search condition such as a person's name or a gene sequence with another term due to the inclusion relation, there is a problem that the search condition cannot be sufficiently hidden.
【0011】特開昭64−14665号の「住民基本台
帳ファイル方式」(文献2)では、住民基本台帳データ
の入力時に、住民基本台帳データを暗号化し、暗号化さ
れたデータをデータファイルに格納することにより、悪
意を持つ者が住民台帳ファイルをアクセスして個人情報
を取得するのを防止している。上記文献2に開示された
従来技術では、住民台帳ファイルの登録データとユーザ
の問合せデータとのマッチングを行う際に、データファ
イルに格納された暗号化データを復号処理しており、ユ
ーザの問合せはサーバ側では隠蔽されていない。従っ
て、サーバの管理者に悪意がある場合には、その問合せ
内容を知られてしまうという問題がある。
In the "Basic Resident Register File System" of Japanese Patent Application Laid-Open No. 64-14665 (Reference 2), when the basic resident register data is input, the basic resident register data is encrypted and the encrypted data is stored in a data file. This prevents a malicious party from accessing the resident register file and acquiring personal information. In the related art disclosed in the above-mentioned Reference 2, when matching the registration data of the resident register file with the inquiry data of the user, the encrypted data stored in the data file is decrypted. It is not hidden on the server side. Therefore, there is a problem that if the server administrator has malicious intent, the contents of the inquiry will be known.
【0012】特開平11−272681号の「個人情報
の記録方法およびその記録媒体」(文献3)では、上記
文献2の方式に関して、データ復号化に伴う検索処理効
率が低下し、暗号化の方法によっては検索不可の条件が
生ずる問題があると理解した上で、(1)個人情報を、
基本データ項目を格納するための基本情報ファイルと、
それ以外のデータを格納するための属性情報ファイル群
に分割し、(2)個人情報を特定する個人コードとして
上記2つのファイル間の関連付ける特殊なコードを使用
し、(3)必要に応じて上記個人コードを暗号化するこ
とにより、ファイルデータ全体を暗号化する必要のない
個人情報の記録方法が提案されている。しかしながら、
この従来技術でも、文献2の技術と同様に、ユーザが指
定する検索条件は暗号化されないため、サーバ側で上記
条件が漏洩する危険を伴う。
In Japanese Patent Application Laid-Open No. 11-272681, "Personal Information Recording Method and Recording Medium" (Reference 3), the retrieval processing efficiency associated with data decryption is reduced with respect to the method of Reference 2, and the encryption method is used. Understand that there is a problem that some search conditions may not be available, and (1)
A basic information file for storing basic data items,
The data is divided into attribute information files for storing other data, (2) a special code for associating the two files with each other is used as a personal code for specifying personal information, and There has been proposed a method for recording personal information that does not require encrypting the entire file data by encrypting the personal code. However,
In this conventional technique, similarly to the technique of Reference 2, since the search condition specified by the user is not encrypted, there is a risk that the above condition is leaked on the server side.
【0013】米国特許5963642号、“METHOD AND APPARA
TUS FOR SECURE STORAGE OF DATA”(文献4)では、デ
ータベースに格納するデータ自体をビットマップ化し、
ユーザの問合せは同様のビットマップに変換して検索す
ることにより、上記問合せを復号することなく検索を行
うようにしている。しかしながら、上記文献4に開示さ
れた従来技術では、サーバに蓄積されるデータの全てを
予めビットマップにエンコードしておく必要があり、既
存のデータベースに対して本方式を適用するのは困難で
ある。
US Pat. No. 5,963,642, “METHOD AND APPARA
TUS FOR SECURE STORAGE OF DATA ”(Reference 4) converts the data stored in the database into bitmaps,
The user's query is converted to a similar bitmap and searched, so that the search is performed without decoding the query. However, in the conventional technique disclosed in the above-mentioned Document 4, it is necessary to encode all the data stored in the server into a bitmap in advance, and it is difficult to apply this method to an existing database. .
【0014】[0014]
【発明が解決しようとする課題】上述したように、従来
技術によれば、クライアント計算機から、ネットワーク
を介して、サーバ計算機上で稼動する情報提供サービス
を利用する場合に、クライアント計算機でユーザが入力
した機密にすべき検索条件を隠蔽したまま、情報サービ
スを受けることは困難であった。
As described above, according to the prior art, when using an information providing service running on a server computer from a client computer via a network, the user inputs data at the client computer. It was difficult to receive an information service while hiding the confidential search conditions.
【0015】本発明の第1の目的は、ユーザが機密にし
たい検索条件を隠蔽したまま、情報提供サービスを利用
できるデータベースアクセス方法およびシステムを提供
することである。本発明の第2の目的は、情報検索条件
を隠蔽したまま情報サービスを提供できるプロトコルを
提供することである。更に、本発明の第3の目的は、ユ
ーザが保護したい検索条件を隠蔽して情報提供サービス
を実現できるデータ中継サーバおよびデータベース検索
サーバを提供することである。
[0015] A first object of the present invention is to provide a database access method and system that can use an information providing service while hiding a search condition that a user wants to keep confidential. A second object of the present invention is to provide a protocol that can provide an information service while hiding information search conditions. Further, a third object of the present invention is to provide a data relay server and a database search server capable of concealing search conditions that a user wants to protect and realizing an information providing service.
【0016】[0016]
【課題を解決するための手段】上記目的を達成するた
め、本発明では、検索条件に含まれる秘匿すべきデータ
項目を暗号化した暗号化問合せをサーバ計算機に送信
し、サーバ計算機では、上記暗号化された検索条件を復
号化することなく、検索対象となるデータを上記秘匿デ
ータ項目と同様に暗号化しながら、暗号化データマッチ
ングによってデータ検索することを特徴とする。
In order to achieve the above object, according to the present invention, an encryption query in which a data item to be concealed included in a search condition is encrypted is transmitted to a server computer. The data search is performed by encrypted data matching while decrypting the search target data in the same manner as the secret data item without decrypting the encrypted search condition.
【0017】本発明の他の特徴は、ユーザが入力した問
合せを他の問合せと連結したり、1つの問合せを複数の
問合せに分割する等の問合せ変換を行い、変換された問
合せをDBサーバに送信することによって、DBサーバ
に履歴データとして残る問合せの内容とユーザが入力し
た問合せ内容との対応関係を変えることにある。
Another feature of the present invention is that a query input by a user is concatenated with another query, query conversion such as dividing one query into a plurality of queries is performed, and the converted query is transmitted to a DB server. The transmission is to change the correspondence between the content of the query remaining as history data in the DB server and the query content input by the user.
【0018】上記問合せ変換は、クライアント計算機と
DBサーバの間に接続されたデータ中継サーバによって
行われる。例えば、1つの問合せを第1、第2の問合せ
に分割した場合、第1の問合せは、クライアント計算機
からの問合せを受信した第1のデータ中継サーバからD
Bサーバに送信され、第2の問合せは、上記第1のデー
タ中継サーバと協調して動作する第2のデータ中継サー
バを介して上記DBサーバに送信される。この場合、第
2の問合せに対する検索結果は、第2のデータ中継サー
バを介して第1のデータ中継サーバに転送される。検索
条件の暗号化に加えて、このように問合せ内容の変換と
DBサーバに対する問合せの要求元の分散を行うことに
より、DBサーバ管理者によるユーザ機密情報の分析を
困難にすることができる。
The query conversion is performed by a data relay server connected between the client computer and the DB server. For example, when one query is divided into a first query and a second query, the first query is D from the first data relay server that has received the query from the client computer.
The second inquiry transmitted to the B server is transmitted to the DB server via the second data relay server operating in cooperation with the first data relay server. In this case, the search result for the second query is transferred to the first data relay server via the second data relay server. In addition to the encryption of the search condition, the conversion of the content of the inquiry and the distribution of the request source of the inquiry to the DB server in this way make it difficult for the DB server administrator to analyze the user confidential information.
【0019】[0019]
【発明の実施の形態】本発明の情報提供サービスを実現
する計算機ネットワークシステムは、ユーザからデータ
検索要求(問合せ)を受け付ける少なくとも1つのクラ
イアント計算機(以下、クライアントと言う)と、クラ
イアントからの検索要求に従って情報サービス用のデー
タベースを検索する少なくとも1つのサーバ計算機(以
下、DBサーバという)と、各クライアントを所望のD
Bサーバに接続するためのネットワークと、クライアン
トとDBサーバとの間に位置し、クライアントからの検
索要求を修飾してDBサーバに転送する少なくとも1つ
のデータ中継サーバとからなる。
DESCRIPTION OF THE PREFERRED EMBODIMENTS A computer network system for realizing an information providing service according to the present invention comprises at least one client computer (hereinafter, referred to as a client) for receiving a data search request (query) from a user, and a search request from a client. At least one server computer (hereinafter, referred to as a DB server) for searching a database for an information service in accordance with
It comprises a network for connecting to the B server, and at least one data relay server that is located between the client and the DB server and that modifies a search request from the client and transfers it to the DB server.
【0020】上記データ中継サーバの基本的な構成は、
クライアントからの問合せを解析する問合せ解析部と、
解析した問合せの一部を暗号化する暗号化問合せ生成部
と、DBサーバがデータベースから読み出し特定属性の
データを暗号化するための暗号化プログラムを生成する
暗号化プログラム生成部と、暗号化された問合せを含
み、必要に応じて暗号化プログラムが追加された問合せ
メッセージを生成し、適切なDBサーバに送信するため
の問合せメッセージ生成部と、DBサーバから受信した
検索結果に対して、必要に応じて再検索や複数の検索結
果の統合処理を行う検索結果処理部とを含む。
The basic configuration of the data relay server is as follows:
A query analysis unit for analyzing a query from the client,
An encrypted query generation unit for encrypting a part of the analyzed query; an encryption program generation unit for generating an encryption program for reading data from the database by the DB server and encrypting data of a specific attribute; A query message generation unit for generating a query message including a query and adding an encryption program as necessary, and transmitting the query message to an appropriate DB server; And a search result processing unit for performing a search again and an integration process of a plurality of search results.
【0021】上記データ中継サーバは、上記問合せ解析
部から出力された複数の問合せを1つの結合問合せに変
換したり、上記問合せ解析部から出力された1つの問合
せを該データ中継サーバと協調する他のデータ中継サー
バに分配するために、複数の分配問合せに変換する問合
せ変換部とを含んでもよい。また、上記データ中継サー
バは、DBサーバのデータベース蓄積データの一部をコ
ピーとして保持するためのキャッシュデータベースと、
クライアントからの問合せに応答して上記キャッシュデ
ータベースでデータ検索する検索実行部とを備えてもよ
い。
The data relay server converts a plurality of queries output from the query analysis unit into one combined query, and converts one query output from the query analysis unit into cooperation with the data relay server. And a query conversion unit that converts the data into a plurality of distribution queries in order to distribute to a plurality of data relay servers. Further, the data relay server includes: a cache database for holding a part of the database storage data of the DB server as a copy;
A search execution unit that searches for data in the cache database in response to an inquiry from the client.
【0022】本発明が適用されるDBサーバは、ユーザ
に提供すべきデータを保持するデータベースと、上記デ
ータベースを管理し、問合せを受け付けるデータ管理・
検索部と、問合せ内容に応じて上記データベースからデ
ータを読み出すデータアクセス部とを含む。上記データ
管理検索部は、受け付けた問合せが示す検索条件の一部
が暗号化されていた場合に、データ中継サーバもしくは
暗号化プログラムサーバから受け取った暗号化プログラ
ムを上記データアクセス部に渡す。この場合、上記デー
タアクセス部は、上記暗号化された検索条件に対応する
属性もつ蓄積データを暗号化しながら読み出し、これに
よって、暗号化データマッチングによる検索条件との一
致検出が行われる。
A DB server to which the present invention is applied includes a database for holding data to be provided to a user, and a data management and management system for managing the database and receiving an inquiry.
It includes a search unit and a data access unit that reads data from the database according to the content of the inquiry. The data management search unit passes the encrypted program received from the data relay server or the encrypted program server to the data access unit when a part of the search condition indicated by the received query is encrypted. In this case, the data access unit reads out the stored data having the attribute corresponding to the encrypted search condition while encrypting the data, thereby detecting the match with the search condition by encrypted data matching.
【0023】図1は、本発明による計算機ネットワーク
システムの1実施形態を示す。図1では、クライアント
計算機10(10Aと10B)が、ネットワーク21を
介してデータ中継サーバ100−1に接続されている。
データ中継サーバ100−1は、ネットワーク22を介
して、互いに協調する他のデータ中継サーバ100−2
に接続されており、これらのデータ中継サーバは、ネッ
トワーク23を介してBDサーバ11に接続されてい
る。データ中継サーバ100−2は、データ中継サーバ
100−1と同様に、図示しない複数のクライアント計
算機と接続される。上記ネットワーク21は、例えば、
イーサネット(登録商標)、光ファイバまたはFDDI
で接続されるローカルエリアネットワーク(LAN)、
もしくはLANよりも低速なインターネットを含んだワ
イドエリアネットワーク(WAN)でも差し支えない。
FIG. 1 shows an embodiment of a computer network system according to the present invention. In FIG. 1, the client computers 10 (10A and 10B) are connected to the data relay server 100-1 via the network 21.
The data relay server 100-1 is connected to another data relay server 100-2 which cooperates with each other via the network 22.
These data relay servers are connected to the BD server 11 via the network 23. Like the data relay server 100-1, the data relay server 100-2 is connected to a plurality of client computers (not shown). The network 21 is, for example,
Ethernet, optical fiber or FDDI
Local area network (LAN) connected by
Alternatively, a wide area network (WAN) including the Internet, which is slower than a LAN, may be used.
【0024】通常、ユーザは、クライアント計算機10
上で稼動する専用プログラムもしくはブラウザを利用し
て、データベースシステムに対して問合せを発行し、上
記問合せに対する結果を取得しているため、以降の説明
では、問合せの発行元と最終結果の取得先をクライアン
ト計算機10と考えることとする。
Normally, the user operates the client computer 10
Since a query is issued to the database system using the dedicated program or browser running on the above and the result of the above query is obtained, in the following description, the issuer of the query and the destination of the final result will be described. It is assumed that the client computer 10 is used.
【0025】クライアント計算機10は、例えば、
(株)日立製作所のHitachiFLORAなどのパ
ーソナルコンピュータや(株)日立製作所のHitac
hi3500ワークステーションなどの任意のコンピュ
ータシステム、(株)日立製作所のPersonaなど
の携帯端末、もしくは問合せインタフェースを持つ携帯
電話でも差し支えない。
The client computer 10 is, for example,
Personal computers such as HitachiFLORA of Hitachi, Ltd. and Hitac of Hitachi, Ltd.
An arbitrary computer system such as a hi3500 workstation, a portable terminal such as Persona of Hitachi, Ltd., or a portable telephone having an inquiry interface may be used.
【0026】また、クライアント計算機が接続されるデ
ータ中継サーバ100−1、100−2と、情報提供サ
ービスを行うDBサーバ119は、例えば、(株)日立
製作所のHitachi3500ワークステーションな
ど、任意のコンピュータシステムによって構成される。
さらに、DBサーバ119上で情報提供サービスのため
に稼動するデータ管理検索部124は、例えば、(株)
日立製作所のHiRDB、オラクル(Oracle)社
のOracle8、IBM社DB2など、汎用データベ
ース・マネージメントシステム(DBMS)製品で差し
支えない。
Further, the data relay servers 100-1 and 100-2 to which the client computers are connected and the DB server 119 for providing the information providing service are provided by an arbitrary computer system such as a Hitachi 3500 workstation of Hitachi, Ltd. Composed of
Further, the data management search unit 124 operating for the information providing service on the DB server 119 is, for example,
General purpose database management system (DBMS) products such as Hitachi HiRDB, Oracle's Oracle8, and IBM's DB2 can be used.
【0027】データ中継サーバ100−1、100−2
間を結ぶネットワーク22と、これらのデータ中継サー
バとDBサーバ119を接続するネットワーク23は、
例えば、イーサネット、光ファイバまたはFDDIで接
続されるローカルエリアネットワーク(LAN)、もし
くはLANよりも低速なインターネットを含んだワイド
エリアネットワーク(WAN)でも差し支えない。
Data relay server 100-1, 100-2
A network 22 that connects them, and a network 23 that connects these data relay servers and the DB server 119,
For example, a local area network (LAN) connected by Ethernet, optical fiber, or FDDI, or a wide area network (WAN) including the Internet, which is slower than the LAN, may be used.
【0028】ここでは、ネットワーク21、22、23
が、互いに独立したネットワークとなっているが、これ
らは同一のネットワークであってもよい。データ中継サ
ーバ100−1には、2つのクライアント計算機が接続
されているが、クライアント計算機の数は任意である。
また、ネットワーク22に接続されるデータ中継サーバ
の数も任意である。
Here, the networks 21, 22, 23
Are independent networks, but these may be the same network. Two client computers are connected to the data relay server 100-1, but the number of client computers is arbitrary.
Further, the number of data relay servers connected to the network 22 is also arbitrary.
【0029】本実施例では、クライアント計算機が、例
えば、小型の携帯端末や携帯電話等のように、記憶装置
容量、計算能力あるいはバッテリー能力の制限から、余
分な処理能力を装備できない場合を考慮して、クライア
ント計算機とDBサーバの間にデータ中継サーバを配置
しているが、以下に説明するデータ中継サーバの機能の
一部または全部をクライアント計算機に備えても差し支
えない。
In this embodiment, a case is considered in which the client computer cannot be equipped with an extra processing capacity due to the limitation of the storage device capacity, calculation capacity or battery capacity, such as a small portable terminal or a mobile phone. Although the data relay server is arranged between the client computer and the DB server, some or all of the functions of the data relay server described below may be provided in the client computer.
【0030】本発明では、クライアント10A(または
10B)から発行された問合せメッセージ103は、デ
ータ中継サーバ100−1で受信され、検索条件の一部
を暗号化した後、暗号化問合せ115として、DBサー
バ119に転送される。この時、必要に応じてデータ中
継サーバ100−1で暗号化プログラム116が生成さ
れ、暗号化問合せ115と共にDBサーバ119に転送
される。
According to the present invention, the inquiry message 103 issued from the client 10A (or 10B) is received by the data relay server 100-1, and after encrypting a part of the search condition, the encrypted inquiry 115 The data is transferred to the server 119. At this time, the encryption program 116 is generated in the data relay server 100-1 as needed, and transferred to the DB server 119 together with the encryption inquiry 115.
【0031】DBサーバ119は、ネットワーク23に
接続されたネットワークインタフェース120と、デー
タ管理検索部124と、データベース126からなり、
上記問合せ115に応答してデータ検索を行い、検索結
果を示す応答メッセージ118をデータ中継サーバ10
0−1に送信する。データ中継サーバ100−1は、応
答メッセージ118が示す検索結果について所定の処理
を施し、問合せ103に対応した検索結果104とし
て、要求元のクライアント計算機10Aに送信する。
The DB server 119 comprises a network interface 120 connected to the network 23, a data management search unit 124, and a database 126.
A data search is performed in response to the inquiry 115, and a response message 118 indicating the search result is sent to the data relay server 10.
Send to 0-1. The data relay server 100-1 performs predetermined processing on the search result indicated by the response message 118, and transmits the result to the requesting client computer 10A as the search result 104 corresponding to the inquiry 103.
【0032】図2は、データ中継サーバ100−1の詳
細な構成を示すブロック図、図3は、問合せメッセージ
103の内容を示す。クライアント計算機から発行され
る問合せメッセージ103は、データ部に、クライアン
トID11と、セキュリティ優先度12と、問合せ内容
13とを含み、これにネットワーク21の通信プロトコ
ルによって決まる所定のヘッダ情報が付された構成とな
っている。
FIG. 2 is a block diagram showing a detailed configuration of the data relay server 100-1, and FIG. The inquiry message 103 issued from the client computer includes a client ID 11, a security priority 12, and an inquiry content 13 in a data portion, and a predetermined header information determined by a communication protocol of the network 21 is added thereto. It has become.
【0033】問合せ内容13は、例えば、データベース
から選択すべきデータの属性(データ項目名)13S
と、アクセスすべきファイル名13Fと、検索条件13
Wとを含む。検索条件13Wは、検索すべきデータエン
トリを特定するために複数の定義13w−1〜13W−
nと、各定義と対応して用意された秘匿表示13E−1
〜13E−nとを含む。
The query content 13 is, for example, an attribute (data item name) 13S of data to be selected from the database.
, File name 13F to be accessed, and search condition 13
W. The search condition 13W includes a plurality of definitions 13w-1 to 13W- in order to specify a data entry to be searched.
n and confidential display 13E-1 prepared corresponding to each definition
To 13E-n.
【0034】クライアント計算機10Aが発行した問合
せ103は、ネットワークインタフェース101で受信
され、問合せ解析部106によって解析され、データ中
継サーバ100−1が備えるキャッシュデータベース1
28の蓄積データで検索処理が可能か否かが判定され
る。上記解析および判定には、例えば、特開平01−1
09758号(特願平11−285164)公報に開示
された部分レプリカを利用した方法を適用すればよい。
The query 103 issued by the client computer 10A is received by the network interface 101 and analyzed by the query analysis unit 106, and the cache database 1 of the data relay server 100-1 is provided.
It is determined whether search processing is possible with the stored data of 28. For the analysis and determination, see, for example,
A method using a partial replica disclosed in Japanese Patent Application No. 09758 (Japanese Patent Application No. 11-285164) may be applied.
【0035】キャッシュデータベース128の蓄積デー
タで検索処理が可能であれば、検索部113によってキ
ャッシュデータベース128から検索条件に適合したデ
ータが検索される。検索結果は、検索結果処理部111
によって応答メッセージに編集され、ネットワークイン
タフェース101を介して、要求元のクライアント計算
機に送信される。データ中継サーバ100−1にキャッ
シュデータベースが存在しない場合、または上記キャッ
シュデータベースの蓄積データでは問合せに回答できな
いと判定された場合は、問合せメッセージ103は問合
せ変換部107に送られる。
If a search process can be performed on the data stored in the cache database 128, the search unit 113 searches the cache database 128 for data that matches the search conditions. The search result is stored in the search result processing unit 111
The message is edited into a response message, and transmitted to the requesting client computer via the network interface 101. If there is no cache database in the data relay server 100-1, or if it is determined that the inquiry cannot be answered with the data stored in the cache database, the inquiry message 103 is sent to the inquiry conversion unit 107.
【0036】問合せ変換部107の動作を図6のフロー
チャートを参照して説明する。問合せ変換部107で
は、問合せを受け付けた(ステップ602)後、問合せ
連結を行うか否かを判定する(ステップ603)。問合
せ連結とは、問合せ内容を秘匿するために、複数の問合
せを連結して1つの問合せに変換するための処理を意味
し、同一クライアント計算機から発行された問合せのみ
ならず、異なるクライアント計算機から発行された問合
せも、連結の対象となる。
The operation of the inquiry conversion unit 107 will be described with reference to the flowchart of FIG. After receiving the query (step 602), the query conversion unit 107 determines whether or not to perform query concatenation (step 603). Query concatenation refers to a process for concatenating a plurality of queries and converting them into one query in order to keep the contents of the query confidential, and is not only a query issued from the same client computer but also issued from a different client computer. The inquired query is also subject to consolidation.
【0037】例えば、DBサーバ119上の情報提供シ
ステムによって提供されるデータが顧客の貯蓄額であ
り、データベース126に、図7の(A)に示すよう
に、顧客ID802と対応して、預金口座が登録された
銀行支店名803と、貯蓄額804とを示す貯蓄残高表
801が記憶されている場合を想定する。
For example, the data provided by the information providing system on the DB server 119 is the savings amount of the customer, and the data is stored in the database 126 in correspondence with the customer ID 802 as shown in FIG. It is assumed that a savings balance table 801 indicating the bank branch name 803 in which is stored and the savings amount 804 is stored.
【0038】今、クライアント計算機10Aから図7の
(B)に示す問合せQ1(805)が発行され、クライ
アント計算機10Bから図7の(C)に示す問合せQ2
(806)が発行されたとする。この場合、Q1とQ2
の連結問合せは、例えば、図7Dに807で示すよう
に、Q1の選択対象項目(属性)である{顧客ID、支
店、貯蓄額}と、Q2の選択対象項目である{顧客I
D、貯蓄額}の和集合である{顧客ID、支店、貯蓄
額}を選択対象項目とし、問合せQ1の検索条件{貯蓄
額>=1,000,000}と問合せQ2の検索条件{貯蓄額<
=10,000}との論理和を検索条件としたものとなる。問
合せ連結を行うか否かは、連結可能な別の問合せメッセ
ージが受信済みとなっているか否かで判定される。
Now, an inquiry Q1 (805) shown in FIG. 7B is issued from the client computer 10A, and an inquiry Q2 shown in FIG. 7C is issued from the client computer 10B.
It is assumed that (806) has been issued. In this case, Q1 and Q2
7D, for example, as shown by 807 in FIG. 7D, the selection target item (attribute) of Q1 {customer ID, branch, savings amount} and the selection target item of Q2 {customer I
D, the savings amount}, which is the union of {customer ID, branch, savings amount}, is selected, and the search condition of the inquiry Q1 {savings amount> = 1,000,000} and the search condition of the inquiry Q2 {savings amount <
= 10,000} as the search condition. Whether or not to perform the inquiry connection is determined based on whether or not another inquiry message that can be connected has been received.
【0039】問合せ連結の要否判定の後、問合せ分配を
行うか否かを判定する(ステップ604、605)。問
合せ分配とは、問合せの発行元ユーザと問合せ内容との
関係をDBサーバ119側のデータ提供システムから隠
蔽するために、一つの問合せを複数の問合せに分割し、
互いに協調する複数のデータ中継サーバからDBサーバ
119に問合せを送信することを意味している。
After the necessity determination of the query connection, it is determined whether or not the query distribution is performed (steps 604 and 605). The query distribution is to divide one query into a plurality of queries in order to hide the relationship between the user who issued the query and the content of the query from the data providing system on the DB server 119 side,
This means that an inquiry is transmitted to the DB server 119 from a plurality of data relay servers cooperating with each other.
【0040】例えば、図7の(D)に示した連結問合せ
807が分配対象問合せとなり、データ中継サーバ10
0−2がデータ中継サーバ100−1と協調して分配問
合せメッセージをDBサーバ119に転送する場合を仮
定する。この場合、問合せ807を、例えば、図7の
(E)に示す分配問合せDQ1(808)と、図7の
(F)に示す分配問合せDQ2(809)に分割し、分
配問合せDQ1はデータ中継サーバ100−1からDB
サーバ119に送信し、分配問合せDQ2は、データ中
継サーバ100−2を介して、DBサーバ119に送信
する。
For example, the connection query 807 shown in FIG.
It is assumed that 0-2 cooperates with the data relay server 100-1 to transfer the distribution inquiry message to the DB server 119. In this case, the query 807 is divided into, for example, a distribution query DQ1 (808) shown in FIG. 7E and a distribution query DQ2 (809) shown in FIG. 100-1 to DB
The data is transmitted to the server 119, and the distribution inquiry DQ2 is transmitted to the DB server 119 via the data relay server 100-2.
【0041】このようにすれば、問合せ807に対する
検索結果のうち、支店=新宿となっているレコードは、
分配問合せDQ1に対する応答としてデータ中継サーバ
100−1が受信し、それ以外のレコードは、分配問合
せDQ2に対する応答としてデータ中継サーバ100−
2で受信し、データ中継サーバ100−1に転送するこ
とになる。このように1つの問合せを複数の分配問合せ
に分割することにより、問合せ807が示す検索条件と
発行元をDBサーバ119上で稼動する情報提供システ
ムから隠蔽することが可能となる。
In this way, among the search results for the inquiry 807, the record in which branch = Shinjuku is
The data relay server 100-1 receives the response as a response to the distribution inquiry DQ1, and records other than that are received as a response to the distribution inquiry DQ2.
2 and transferred to the data relay server 100-1. By dividing one query into a plurality of distribution queries in this way, it is possible to hide the search condition and issue source indicated by the query 807 from the information providing system running on the DB server 119.
【0042】分配の対象となる問合せは、連結前のもの
でも差し支えない。また、問合せ分配の要否は、受信し
た問合せメッセージ103のセキュリティ優先度12に
よって判定され、セキュリティ優先度12が問合せの秘
匿を指示していなければ、問合せ分配は行われない。
Inquiries to be distributed may be those before connection. The necessity of query distribution is determined based on the security priority 12 of the received query message 103. If the security priority 12 does not instruct concealment of the query, the query distribution is not performed.
【0043】問合せ変換部107では、問合せ連結と問
合せ分配の両方を行う(ステップ603と604の判定
結果がYes)場合は、連結・分配問合せを生成し(ス
テップ607)、図5に示す検索管理テーブル114に
新たなエントリを登録(ステップ610)した後、問合
せ変換処理を終了する。
When both the query concatenation and the query distribution are performed (the determination results in steps 603 and 604 are Yes), the query conversion unit 107 generates a concatenation / distribution query (step 607), and performs the search management shown in FIG. After registering a new entry in the table 114 (step 610), the query conversion process ends.
【0044】問合せ連結は行うが、問合せ分配は行わな
い(ステップ604の判定結果がNo)場合は、連結問
合せを生成(ステップ606)した後、ステップ610
を実行する。問合せ連結を行わず(ステップ603がN
o)、問合せ分配のみを行う(ステップ605がYe
s)場合は、分配問合せを生成(ステップ608)した
後、ステップ610を実行する。問合せ連結も問合せ分
配も行わない(ステップ605がNo)場合は、問合せ
変換を行うことなくステップ610を実行する。
When the query is linked but the query distribution is not performed (No in step 604), a linked query is generated (step 606), and then step 610 is performed.
Execute No query concatenation (step 603 is N
o), perform only query distribution (step 605 is Ye)
In the case of s), after generating a distribution inquiry (step 608), step 610 is executed. When neither query concatenation nor query distribution is performed (No in Step 605), Step 610 is executed without performing query conversion.
【0045】検索管理テーブル114には、図5に示す
ように、データ中継サーバ100−1で受信した問合せ
メッセージまたは送出される問合せメッセージと対応し
た複数のエントリEN−1、EN−2、・・・が登録され
る。各エントリは、クライアントID1141と、元の
問合せ内容1142と、変換された問合せ内容1143
と、問合せ変換の種類を示す変換タイプ1144と、後
述する暗号化問合せ生成部108で暗号化された検索定
義と元の検索定義との関係が1:1の関係にあるか否か
を示す1:1変換フラグ1145とを含む。
As shown in FIG. 5, in the search management table 114, a plurality of entries EN-1, EN-2,... Corresponding to the inquiry message received or transmitted by the data relay server 100-1.・ Is registered. Each entry includes a client ID 1141, original query content 1142, and converted query content 1143.
And a conversion type 1144 that indicates the type of query conversion, and 1 that indicates whether the relationship between the search definition encrypted by the encrypted query generation unit 108 described below and the original search definition is 1: 1. 1: 1 conversion flag.
【0046】2つの問合せメッセージM1とM2が連結
された場合は、メッセージM1に対応するエントリEN
−1と、メッセージM2に対応するエントリEN−2
が、フィールド1143に同一の内容を含む。1つの問
合せメッセージM1の内容が2つのメッセージm1、m
2に分配された場合は、フィールド1142に同一の内
容を含む2つのエントリEN−1とEN−2が生成さ
れ、エントリEN−1のフィールド1143にはメッセ
ージm1、エントリEN−2のフィールド1143には
メッセージm2が設定される。
When two inquiry messages M1 and M2 are linked, the entry EN corresponding to the message M1
-1 and an entry EN-2 corresponding to the message M2
Contain the same content in field 1143. The content of one inquiry message M1 is two messages m1, m
2, the two entries EN-1 and EN-2 including the same contents are generated in the field 1142, the message m1 is stored in the field 1143 of the entry EN-1, and the message m1 is stored in the field 1143 of the entry EN-2. Is set to the message m2.
【0047】他のデータ中継サーバ100―2から分配
問合せメッセージを受信した場合は、例えば、受信メッ
セージに含まれるクライアントIDと、受信メッセージ
のヘッダに含まれる送信元(データ中継サーバ100―
2)のアドレスとの関係が、図示しない転送メッセージ
管理テーブルに記憶される。
When the distribution inquiry message is received from another data relay server 100-2, for example, the client ID included in the received message and the transmission source (data relay server 100-
The relationship with the address in 2) is stored in a transfer message management table (not shown).
【0048】図2に戻って、問合せ変換部107で処理
された問合せは、暗号化問合せ生成部108に転送さ
れ、問合せ内容の一部が暗号化される。また、上記問合
せ内容の暗号化に、DBサーバにとって新しい暗号化方
法が使用された場合は、暗号化プログラム生成部109
によって、上記暗号化方法に対応する暗号化プログラム
を生成される。暗号化された問合せと、暗号化プログラ
ムは、問合せメッセージ生成部110によって、DBサ
ーバ119宛の暗号化問合せメッセージに編集される。
暗号化問合せメッセージは、ネットワークインタフェー
ス部112を介して、ネットワーク23に送信され、D
Bサーバ119で受信される。
Returning to FIG. 2, the query processed by query converter 107 is transferred to encrypted query generator 108, and a part of the query content is encrypted. If a new encryption method for the DB server is used to encrypt the above inquiry, the encryption program generation unit 109
Thus, an encryption program corresponding to the encryption method is generated. The encrypted query and the encrypted program are edited by the query message generator 110 into an encrypted query message addressed to the DB server 119.
The encryption inquiry message is transmitted to the network 23 via the network
The B server 119 receives it.
【0049】暗号化問合せ生成部108と暗号化プログ
ラム生成部109の動作を、図8、図9および図10を
参照して説明する。暗号化問合せ生成部108は、図8
に示すように、問合せ変換部107から問合せメッセー
ジを受け付けると(ステップ402)、問合せ条件の中
に隠蔽対象項目が存在するか否かを判定する(ステップ
403)。隠蔽対象項目の有無は、クライアント10
(10A、10B)から受信された図3の問合せメッセ
ージ103において、検索定義毎に設けられた秘匿表示
13E−1〜13E−nをチェックすることによって判
定できる。
The operations of the encrypted query generator 108 and the encrypted program generator 109 will be described with reference to FIGS. 8, 9 and 10. The encrypted query generation unit 108
As shown in (3), when an inquiry message is received from the inquiry conversion unit 107 (step 402), it is determined whether or not there is an item to be concealed in the inquiry condition (step 403). The client 10
3 can be determined by checking the confidential displays 13E-1 to 13E-n provided for each search definition in the inquiry message 103 of FIG. 3 received from (10A, 10B).
【0050】隠蔽対象項目が存在しなければ、問合せの
暗号化と暗号化プログラムの生成を行うことなく、暗号
化問合せ生成部108の処理を終了する。隠蔽対象項目
が存在した場合は、秘匿表示13E−iで指定された条
件定義13W−iが示すデータを所定の暗号化関数fe
()に従って暗号化し、暗号化データと上記暗号化関数
とを含む暗号化問合せを生成する(ステップ404)。
If the concealment target item does not exist, the process of the encrypted query generation unit 108 ends without encrypting the query and generating the encrypted program. If there is an item to be concealed, the data indicated by the condition definition 13W-i specified in the concealment display 13E-i is transferred to a predetermined encryption function fe.
An encryption query including the encrypted data and the encryption function is generated according to () (step 404).
【0051】例えば、DBサーバ119が、図9の
(A)に示す遺伝子配列表901をデータベース126
に保持しており、暗号化問合せ生成部108が、図9の
(B)に示すように、配列構造=‘atcg’を検索条
件として含む問合せメッセージQ3(905)を受信し
たと仮定する。配列構造=‘atcg’は、問合せメッ
セージQ3の最初の条件定義13W−1に記述される。
もし、秘匿表示13E−1が、条件定義13W−1の秘
匿を指示していた場合、データ“atcg”が隠蔽対象
項目となる。
For example, the DB server 119 stores the gene sequence table 901 shown in FIG.
It is assumed that the encrypted query generation unit 108 receives the query message Q3 (905) including the array structure = 'atcg' as a search condition, as shown in FIG. 9B. The array structure = 'atcg' is described in the first condition definition 13W-1 of the inquiry message Q3.
If the concealment display 13E-1 instructs the concealment of the condition definition 13W-1, the data "atcg" is the concealment target item.
【0052】この場合、ステップ404では、隠蔽対象
項目として指定されたデータ“atcg”を所定の暗号
化関数fe()で暗号化し、例えば、図9の(C)に示
すように、配列構造=“@2aSzE”を検索条件と
し、SELECT文で指定される取得対象データに新たなデー
タ項目として「配列構造」を追加した暗号化問合せQ4
(906)を生成する。これは、暗号化前のデータ値
“atcg”と、暗号化後のデータ値“@2aSzE”
とが1:1の関係にあることが保証されない場合に、D
Bサーバから受け取った検索結果に対して、データ中継
サーバ側で配列構造=“atcg”を検索条件として、
再検索する必要があるからである。
In this case, in step 404, the data “atcg” designated as the item to be concealed is encrypted with a predetermined encryption function fe (). For example, as shown in FIG. An encryption query Q4 in which “$ 2aSzE” is used as a search condition and “array structure” is added as a new data item to the acquisition target data specified in the SELECT statement
(906) is generated. This is because the data value before encryption “atcg” and the data value after encryption “$ 2aSzE”
Are not guaranteed to have a 1: 1 relationship,
For the search result received from the B server, the data relay server side uses the array structure = “atcg” as a search condition,
This is because it is necessary to search again.
【0053】隠蔽対象となった検索条件が「=」(等号
条件)、もしくは「≠」(非等号)を含む場合は、元の
データ値を任意の暗号化関数で変換できる。ただし、隠
蔽対象となった検索条件が「<」、「≦」、「>」、も
しくは「≧」のように不等号を含む場合は、大小関係を
保持できる暗号化方法を用いる必要がある。
When the search condition to be concealed includes “=” (equals condition) or “≠” (not equals), the original data value can be converted by an arbitrary encryption function. However, when the search condition to be concealed includes an inequality sign such as “<”, “≦”, “>”, or “≧”, it is necessary to use an encryption method capable of maintaining the magnitude relation.
【0054】検索条件を暗号化(暗号化問合せを生成)
した場合は、暗号化プログラム生成が必要か否かを判定
する(ステップ405)。データ中継サーバ100−1
が、暗号化プログラムサーバ129に登録された既存の
暗号化プログラムを利用する場合、または、ステップ4
04で使用した暗号化プログラムがDBサーバ側に既に
通知済みとなっている場合は、暗号化プログラムの生成
は不要となる。この場合は、暗号化プログラムを生成す
ることなく、ステップ407に進む。
Encrypt search conditions (generate encrypted query)
If so, it is determined whether or not encryption program generation is necessary (step 405). Data relay server 100-1
Uses an existing encryption program registered in the encryption program server 129, or
If the encryption program used in step 04 has already been notified to the DB server, it is not necessary to generate the encryption program. In this case, the process proceeds to step 407 without generating an encryption program.
【0055】DBサーバに暗号化プログラムを通知する
必要があれば、暗号化プログラム生成部109と共同し
て、暗号化プログラムを生成(ステップ406)した
後、ステップ407を実行する。ステップ407では、
検索管理テーブル114の1:1変換フラグ・フィール
ド1145に、1:1変換の有無、すなわち、暗号化前
のデータと暗号化後のデータとが1:1の関係にあるか
否かを示すフラグ値を記録する。
If it is necessary to notify the DB server of the encryption program, an encryption program is generated in cooperation with the encryption program generation unit 109 (step 406), and then step 407 is executed. In step 407,
A flag indicating whether 1: 1 conversion is performed, that is, whether data before encryption and data after encryption have a 1: 1 relationship is set in a 1: 1 conversion flag field 1145 of the search management table 114. Record the value.
【0056】図10を用いて暗号化プログラムについて
説明する。隠蔽対象項目(隠蔽対象属性)をTc、暗号
化に利用する関数をfe()、暗号化前のデータ値をv
b、暗号化後のデータ値をvaと表記すると、暗号化に
よる問合せ条件の変換は、模式的に図10のようにな
る。この時、暗号化プログラム生成部109によって生
成される暗号化プログラムは、DBサーバ119のデー
タ管理検索部(DBMS)124に含まれるデータアク
セス部125で使用されるもので、暗号化関数fe()
に相当するデータ変換処理を行うためのプログラムであ
る。
The encryption program will be described with reference to FIG. The concealment target item (concealment target attribute) is Tc, the function used for encryption is fe (), and the data value before encryption is v
b, if the data value after encryption is expressed as va, the conversion of the query condition by encryption is schematically shown in FIG. At this time, the encryption program generated by the encryption program generation unit 109 is used by the data access unit 125 included in the data management search unit (DBMS) 124 of the DB server 119, and the encryption function fe ()
Is a program for performing data conversion processing corresponding to.
【0057】上記暗号化プログラムは、DBMS124
が、例えば、(株)日立製作所のHiRDBのように、
プラグインインタフェースを持っている場合には、上記
インタフェース仕様を満足するプログラムでよい。ま
た、DBMSがその内部にあるプログラミング言語の実
行エンジンを搭載している場合には、上記プログラミン
グ言語で記述したプログラムでも差し支えない。
The above-mentioned encryption program is stored in the DBMS 124
However, for example, like HiRDB of Hitachi, Ltd.,
If it has a plug-in interface, a program that satisfies the above interface specifications may be used. Further, when the DBMS has an execution engine of a programming language included therein, a program described in the above programming language may be used.
【0058】図2に戻って、暗号化問合せ生成部108
は、検索条件の一部を暗号化し、必要に応じて取得対象
データ項目が変更された問合せメッセージを、暗号化に
適用した関数識別子(暗号化プログラム識別子)と共
に、DB問合せメッセージ生成部110に渡す。検索条
件を暗号化しなかった場合は、問合せ変換部107から
受信した問合せメッセージが、DB問合せメッセージ生
成部110に渡される。また、暗号化プログラムが生成
された場合は、暗号化プログラム生成部109からDB
問合せメッセージ生成部110に、暗号化プログラムが
渡される。
Returning to FIG. 2, encrypted query generation unit 108
Transmits a query message in which a part of the search condition is encrypted and the acquisition target data item is changed as necessary, together with the function identifier (encryption program identifier) applied to the encryption, to the DB inquiry message generation unit 110. . If the search condition is not encrypted, the inquiry message received from the inquiry conversion unit 107 is passed to the DB inquiry message generation unit 110. When the encryption program is generated, the encryption program
The encrypted program is passed to the inquiry message generator 110.
【0059】DB問合せメッセージ生成部110は、暗
号化問合せ生成部108からの受信データに基づいて、
例えば、図4に示すように、データ部にクライアントI
D:11と、暗号化された問合せ内容14と、暗号化関
数識別子15とを含むDBサーバ119宛の問合せメッ
セージ(DB問合せメッセージ)115を作成し、ネッ
トワークインタフェース部112を介して、DBサーバ
119に送出する。暗号化プログラムが生成された場合
は、DB問合せメッセージ115に暗号化プログラム1
6が加わる。
Based on the data received from encrypted query generator 108, DB query message generator 110
For example, as shown in FIG.
D: an inquiry message (DB inquiry message) 115 addressed to the DB server 119 including the inquiry contents 14 and the encrypted function identifier 15 and the encrypted function identifier 15 is created, and the DB server 119 is transmitted via the network interface unit 112. To send to. When the encryption program has been generated, the DB inquiry message 115 includes the encryption program 1
6 is added.
【0060】DB問合せメッセージ生成部110は、暗
号化問合せ生成部108からの受信メッセージが、直前
の受信メッセージと同一のクライアントIDをもってい
た場合、これを分配問合せ用のメッセージと判断し、予
め指定されている協調サーバ、例えば、データ中継サー
バ100−2宛に送信する。
If the received message from the encrypted inquiry generating unit 108 has the same client ID as the immediately preceding received message, the DB inquiry message generating unit 110 determines that this is a message for distribution inquiry and is designated in advance. Is transmitted to the associated cooperative server, for example, the data relay server 100-2.
【0061】次に、DBサーバ119で行われる問合せ
処理について、図1と図11を参照して説明する。DB
サーバ119では、ネットワークインタフェース部12
0で受信したDB問合せメッセージ115を、DBMS
124によって解析し(ステップ502)、DB問合せ
メッセージに暗号化プログラム16が含まれていた場合
は、これをデータアクセス部125に設定する。
Next, an inquiry process performed by the DB server 119 will be described with reference to FIGS. DB
In the server 119, the network interface unit 12
0, the DB inquiry message 115 received by the DBMS
Analysis is performed by 124 (step 502), and if the DB inquiry message includes the encryption program 16, this is set in the data access unit 125.
【0062】DBMS124は、DB問合せメッセージ
115中の暗号化された検索条件に該当するデータが、
DBサーバ119側(データベース126)に、上記検
索条件と照合可能な暗号化データとして存在しているか
否かをチェックする(ステップ505)。
The DBMS 124 stores the data corresponding to the encrypted search condition in the DB inquiry message 115 as follows:
It is checked on the DB server 119 side (database 126) whether or not the data exists as encrypted data that can be compared with the search condition (step 505).
【0063】暗号化データが既に存在する場合は、DB
MS124は、データアクセス部125にDB問合せメ
ッセージの検索条件が示す隠蔽対象項目の読出しを指令
し、上記暗号化済みデータを利用して、上記DB問合せ
メッセージが要求するデータ検索処理を実行する(ステ
ップ506)。暗号化済みデータが存在しない場合は、
DBMS124は、DB問合せメッセージの検索条件が
示す隠蔽対象項目と暗号化関数識別子15を指定して、
データアクセス部125にデータエントリの読出しを指
令する。
If the encrypted data already exists, the DB
The MS 124 instructs the data access unit 125 to read the concealment target item indicated by the search condition of the DB inquiry message, and executes the data search processing requested by the DB inquiry message using the encrypted data (step). 506). If there is no encrypted data,
The DBMS 124 specifies the concealment target item indicated by the search condition of the DB inquiry message and the encryption function identifier 15,
The data access unit 125 is instructed to read the data entry.
【0064】データアクセス部125は、データベース
126からの読み出しデータのうち、隠蔽対象項目につ
いては、上記暗号化関数識別子15と対応した暗号化プ
ログラムで暗号化し、その他のデータ項目は、通常のデ
ータ形式で出力する。DBMS208は、データベース
からの読出しデータを問合せメッセージの検索条件に従
って判定し、隠蔽対象項目については暗号化データを検
索条件と比較しながら、検索条件に適合するデータレコ
ードを検索する(ステップ507)。
The data access unit 125 encrypts the items to be concealed in the data read from the database 126 with an encryption program corresponding to the encryption function identifier 15, and converts the other data items into a normal data format. To output. The DBMS 208 determines the data read from the database according to the search condition of the inquiry message, and searches for a data record that satisfies the search condition while comparing the encrypted data with the search condition for the concealment target item (step 507).
【0065】例えば、問合せメッセージ115が、検索
条件として、図9の(C)に示した暗号化問合せQ4と
暗号化プログラムfe1()を含む場合、DBMS12
4では、問合せQ4に含まれる暗号化データを復号化す
ることなく検索処理を実行し、データベース126に蓄
積された遺伝子配列表901から配列構造904を読み
出す時、データアクセス部125に配列構造の蓄積デー
タを関数fe1()で暗号化した形で出力させ、検索条
件が示す配列構造=’@2aSzE’に合致するレコー
ドを検索する。
For example, when the inquiry message 115 includes the encrypted inquiry Q4 and the encrypted program fe1 () shown in FIG.
4, a search process is executed without decrypting the encrypted data included in the query Q4, and when the sequence structure 904 is read from the gene sequence table 901 stored in the database 126, the sequence structure is stored in the data access unit 125. The data is output in a form encrypted by the function fe1 (), and a record that matches the array structure indicated by the search condition = “$ 2aSzE” is searched.
【0066】DBMS208は、検索結果を含む応答メ
ッセージを生成し(ステップ508)、該応答メッセー
ジを問合せメッセージ115の送信元であるデータ中継
サーバ100−1または100−2に送出して(ステッ
プ509)、問合せ処理を終了する。DBMS124で
生成された応答メッセージは、図1に記号18と118
で示すように、ネットワークインタフェース120を介
して、ネットワークにデータ中継サーバに転送される。
The DBMS 208 generates a response message including the search result (step 508), and sends the response message to the data relay server 100-1 or 100-2, which is the transmission source of the inquiry message 115 (step 509). Then, the inquiry processing ends. The response message generated by the DBMS 124 is shown in FIG.
As shown by, the data is transferred to the data relay server via the network interface 120 to the network.
【0067】尚、検索結果に含まれるデータ綱目のう
ち、暗号化されていないデータ項目をDBMS124で
自動的に暗号化した形で、上記応答メッセージを生成す
るようにしてもよい。また、実施例では、問合せメッセ
ージ115によって検索条件と暗号化プログラムとを同
時に送信したが、問合せメッセージ115では検索条件
と暗号化に適用した関数識別子のみを送信し、DBサー
バ119側で、上記関数識別子と対応する暗号化プログ
ラムを既に保持しているか否かをチェックし、必要な暗
号化プログラムを保持していない場合に、DBサーバ1
19から問合せメッセージ115の送信元サーバ100
−1または100−2に暗号化プログラムの送信を要求
するようにしてもよい。
The response message may be generated in such a manner that the unencrypted data items among the data items included in the search result are automatically encrypted by the DBMS 124. Further, in the embodiment, the search condition and the encryption program are transmitted simultaneously by the inquiry message 115, but only the search condition and the function identifier applied to the encryption are transmitted in the inquiry message 115, and the DB server 119 side transmits the function It is checked whether or not the encryption program corresponding to the identifier is already stored. If the necessary encryption program is not stored, the DB server 1
19, the source server 100 of the inquiry message 115
-1 or 100-2 may be requested to transmit the encrypted program.
【0068】データ中継サーバ100−1は、ネットワ
ークインタフェース112を介して受け取った応答メッ
セージ(検索結果)を検索結果処理部111で処理す
る。図12は、上記検索結果処理部111で実行する検
索結果処理ルーチン701を示す。
The data relay server 100-1 processes the response message (search result) received via the network interface 112 in the search result processing unit 111. FIG. 12 shows a search result processing routine 701 executed by the search result processing unit 111.
【0069】検索結果処理部111では、受信した応答
メッセージに含まれるクライアントIDに基づいて転送
メッセージ管理テーブルを参照し、上記応答メッセージ
が、他の協調サーバから依頼された問合せに対する回答
か否かを判定する(ステップ702)。受信した応答メ
ッセージが他の協調サーバから依頼された問合せに対す
る回答メッセージであれば、転送メッセージ管理テーブ
ルが指定するデータ中継サーバのアドレス宛に上記応答
メッセージを転送して(ステップ703)、このルーチ
ンを終了する。
The search result processing unit 111 refers to the transfer message management table based on the client ID included in the received response message, and determines whether or not the response message is a response to the inquiry requested from another cooperative server. A determination is made (step 702). If the received response message is a response message to the inquiry requested by another cooperative server, the response message is transferred to the address of the data relay server specified by the transfer message management table (step 703), and this routine is executed. finish.
【0070】受信した応答メッセージが、データ中継サ
ーバ100−1で生成した問合せに対する回答であった
場合、上記受信応答メッセージに含まれるクライアント
IDに基づいて、図5に示した検索管理テーブル114
を参照し、検索結果に暗号化されたデータ項目が含まれ
ているか否かをチェックする(ステップ704)。暗号
化されたデータ項目が含まれていた場合、暗号化された
データ項目を復号化処理する(ステップ705)。
When the received response message is a response to the inquiry generated by the data relay server 100-1, based on the client ID included in the received response message, the search management table 114 shown in FIG.
, It is checked whether or not the search result includes an encrypted data item (step 704). If an encrypted data item is included, the encrypted data item is decrypted (step 705).
【0071】次に、検索管理テーブル114を参照し
て、上記受信応答メッセージが連結問合せに対する回答
か否かをチェックする(ステップ706)。もし、上記
受信応答メッセージが連結問合せに対する回答であれ
ば、検索管理テーブル114の元の問合せ内容1142
が示す連結変換前の検索条件を適用して再検索を実行
し、各クライアント計算機から発行された問合せに対す
る正しい検索結果を生成する(ステップ710)。この
後、再検索結果に含む要求元クライアント計算機宛の応
答メッセージを作成し(ステップ712)、ネットワー
クインタフェース101を介して応答メッセージをネッ
トワーク21に送信する(ステップ713)。
Next, with reference to the search management table 114, it is checked whether or not the reception response message is a response to the connection inquiry (step 706). If the reception response message is a response to the connection inquiry, the original inquiry content 1142 of the search management table 114
A re-search is executed by applying the search condition before the concatenation conversion indicated by (1), and a correct search result for the query issued from each client computer is generated (step 710). Thereafter, a response message addressed to the requesting client computer included in the re-search result is created (step 712), and the response message is transmitted to the network 21 via the network interface 101 (step 713).
【0072】上記受信応答メッセージが連結問合せに対
する回答でなかった場合は、上記受信応答メッセージが
分配問合せに対する回答か否かをチェックする(ステッ
プ707)。上記受信応答メッセージが分配問合せに対
する回答の場合、分配問合せに対する全ての回答(検索
結果)が揃ったか否かをチェックし(ステップ70
8)、全ての回答が揃っていた場合は、ステップ710
で、検索管理テーブル114の元の問合せ内容1142
が示す分配変換前の検索条件を適用して再検索を実行す
る。分配問合せに対する全ての回答が揃っていなけれ
ば、ワークメモリ上に用意された分配問合せ検索結果の
一時保存領域に検索結果を記憶し(ステップ709)、
このルーチンを終了する。ステップ708で行うチェッ
クは、上記分配問合せ検索結果の一時保存領域を参照し
て行われる。
If the received response message is not a response to the connection inquiry, it is checked whether the received response message is a response to the distribution inquiry (step 707). If the reception response message is a response to the distribution inquiry, it is checked whether all the responses (search results) to the distribution inquiry are completed (step 70).
8) If all answers have been collected, step 710
The original query content 1142 of the search management table 114
The search is executed again by applying the search condition before the distribution conversion indicated by. If all the answers to the distribution query are not prepared, the search result is stored in the temporary storage area of the distribution query search result prepared on the work memory (step 709),
This routine ends. The check performed in step 708 is performed with reference to the temporary storage area of the distribution query search result.
【0073】ステップ707の判定結果がNOの場合、
検索結果が、問合せ変換部107による変換処理が行わ
れなかった問合せに対する回答であることを意味してい
る。この場合、問合せの検索条件に適用した暗号化関数
が1:1変換用のものであったか否かをチェックする
(ステップ711)。
If the decision result in the step 707 is NO,
This means that the search result is a response to the query for which the conversion process by the query conversion unit 107 has not been performed. In this case, it is checked whether the encryption function applied to the search condition of the query is for 1: 1 conversion (step 711).
【0074】暗号化関数が1:1変換用でなかった場
合、値の異なる2以上のデータが、暗号化によって同一
値のデータとなることを意味しており、暗号化された検
索条件で得られた検索結果は、暗号化しない検索条件で
得られる検索結果よりも大きな解集合となっている。こ
の場合は、DBサーバから通知された検索結果に対し
て、検索管理テーブル114の元の問合せ内容1142
が示す暗号化前の検索条件を適用して再検索を実行し
(ステップ710)、クライアント計算機から発行され
た問合せに対する正しい検索結果を生成する。
If the encryption function is not for one-to-one conversion, it means that two or more data having different values become the same value data by encryption. The obtained search result is a larger solution set than the search result obtained under the search condition without encryption. In this case, the original query content 1142 of the search management table 114 is added to the search result notified from the DB server.
A re-search is executed by applying the pre-encryption search condition indicated by (1) (step 710), and a correct search result for the query issued from the client computer is generated.
【0075】暗号化関数が1:1変換用のものであった
場合は、DBサーバから通知された検索結果に従って、
要求元のクライアント計算機宛の応答メッセージを作成
し(ステップ712)、応答メッセージをネットワーク
21に送信する(ステップ713)。
If the encryption function is for 1: 1 conversion, according to the search result notified from the DB server,
A response message addressed to the requesting client computer is created (step 712), and the response message is transmitted to the network 21 (step 713).
【0076】以上の実施例から明らかなように、本発明
によれば、ユーザ問合せに含まれる機密条件の秘匿を高
度に保証した情報提供サービスを提供できる。また、本
発明により、各クライアント計算機のユーザは、自らが
保護したい条件を隠蔽したまま、情報提供サービスを受
けることができ、悪意のあるDBサーバの管理者から利
用者の機密を保護することができる。
As is clear from the above embodiment, according to the present invention, it is possible to provide an information providing service in which confidentiality of confidential conditions included in a user inquiry is highly assured. Further, according to the present invention, the user of each client computer can receive the information providing service while hiding the conditions that he / she wants to protect, and can protect the confidentiality of the user from the malicious DB server administrator. it can.
【0077】[0077]
【発明の効果】本発明によるデータ中継サーバは、例え
ば、ユーザからの問合せを、該問合せに含まれる機密条
件の秘匿を保証できる情報提供サーバにのみ選択的に転
送する問合せ仲介サービス方法に応用できる。また、本
発明のデータ中継サーバは、例えば、複数の情報提供サ
ーバからのサービス課金情報を収集して、対価をまとめ
て支払っておき、上記課金情報をクライアント毎に配分
して、各クライアントに課金する情報サービスにも応用
できる。
The data relay server according to the present invention can be applied to, for example, an inquiry mediation service method for selectively transferring an inquiry from a user only to an information providing server capable of guaranteeing confidentiality of confidential conditions included in the inquiry. . In addition, the data relay server of the present invention collects, for example, service billing information from a plurality of information providing servers, collects and pays a fee, allocates the billing information to each client, and charges each client. It can also be applied to information services.
【図面の簡単な説明】[Brief description of the drawings]
【図1】本発明のデータベース・アクセスシステムの全
体構成の1例を示す図。
FIG. 1 is a diagram showing an example of the overall configuration of a database access system according to the present invention.
【図2】図1に示したデータ中継サーバ100−1の構
成を示すブロック図。
FIG. 2 is a block diagram showing a configuration of a data relay server 100-1 shown in FIG.
【図3】図1に示したクライアント計算機10(10
A、10B)からデータ中継サーバ100−1に送信さ
れる問合せメッセージの1実施例を示す図。
FIG. 3 shows a client computer 10 (10
A, 10B) is a diagram showing an example of an inquiry message transmitted from the data relay server 100-1 to the data relay server 100-1.
【図4】図1に示したデータ中継サーバ100−1から
DBサーバ119に送信される問合せメッセージの1実
施例を示す図。
FIG. 4 is a view showing one embodiment of an inquiry message transmitted from the data relay server 100-1 shown in FIG. 1 to the DB server 119;
【図5】データ中継サーバ100−1が備える検索管理
テーブルの構成を示す図。
FIG. 5 is a diagram showing a configuration of a search management table provided in the data relay server 100-1.
【図6】データ中継サーバ100−1の問合せ変換部1
07の機能を示すフローチャート。
FIG. 6 is a query converter 1 of the data relay server 100-1.
7 is a flowchart showing a function of the control unit 07.
【図7】DBサーバ119が備えるデータベースの内容
の1例(A)と、上記データベースに対する2つの問合
せQ1、Q2の1例(B、C)と、問合せ変換部107
で生成される連結問合せの1例(D)および分配問合せ
の1例(E、F)を示す図。
FIG. 7 shows an example (A) of the contents of a database provided in the DB server 119, an example (B, C) of two queries Q1 and Q2 for the database, and a query conversion unit 107.
FIG. 9 is a diagram showing an example (D) of a connection query and one example (E, F) of a distribution query generated in FIG.
【図8】データ中継サーバ100−1の暗号化問合せ生
成部108の機能を示すフローチャート。
FIG. 8 is a flowchart showing the function of the encrypted query generation unit of the data relay server 100-1.
【図9】データベースの内容の1例(A)と、上記デー
タベースに対する問合せQ3の1例(B)と、問合せQ
3から得られる暗号化問合せの1例(C)を示す図。
FIG. 9 shows an example (A) of the contents of a database, an example (B) of a query Q3 to the database, and a query Q
FIG. 6 is a diagram showing an example (C) of an encrypted query obtained from No. 3;
【図10】データ中継サーバ100−1の暗号化プログ
ラム生成部109で生成される暗号化プログラムを説明
するための図。
FIG. 10 is a view for explaining an encryption program generated by an encryption program generation unit 109 of the data relay server 100-1.
【図11】DBサーバ119で実行される問合せ処理の
1例を示すフローチャート。
FIG. 11 is a flowchart illustrating an example of an inquiry process performed by the DB server 119;
【図12】データ中継サーバ100−1の検索結果処理
部111の機能を示すフローチャート。
FIG. 12 is a flowchart showing functions of a search result processing unit 111 of the data relay server 100-1.
【図13】暗号化問合せを利用した従来のデータ検索シ
ステムを説明するための図。
FIG. 13 is a view for explaining a conventional data search system using an encrypted inquiry.
【符号の説明】[Explanation of symbols]
10:クライアント計算機、21、22、23:ネット
ワーク、 100:データ中継サーバ、101、112:ネットワ
ークインタフェース、 106:問合せ解析部、107:問合せ変換部、10
8:暗号化問合せ生成部、 109:暗号化プログラム生成部、100:DB問合せ
メッセージ生成部、 111:検索結果処理部、113:検索部、114:検
索管理テーブル、 119:DBサーバ、120:ネットワークインタフェ
ース、 124:データ管理検索部、129:暗号化プログラム
サーバ。
10: client computer, 21, 22, 23: network, 100: data relay server, 101, 112: network interface, 106: query analyzer, 107: query converter, 10
8: encrypted query generation unit, 109: encrypted program generation unit, 100: DB inquiry message generation unit, 111: search result processing unit, 113: search unit, 114: search management table, 119: DB server, 120: network Interface, 124: data management search unit, 129: encryption program server.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 新谷 隆彦 東京都国分寺市東恋ヶ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B017 AA07 BA07 CA16 5B075 KK07 ND20 PQ05 QP10 QS20 5B082 GA08 GA11 HA08 5J104 AA01 PA07  ────────────────────────────────────────────────── ─── Continuing on the front page (72) Inventor Takahiko Shintani 1-280 Higashi Koigakubo, Kokubunji-shi, Tokyo F-term in Central Research Laboratory, Hitachi, Ltd. 5B017 AA07 BA07 CA16 5B075 KK07 ND20 PQ05 QP10 QS20 5B082 GA08 GA11 HA08 5J104 AA01 PA07

Claims (11)

    【特許請求の範囲】[Claims]
  1. 【請求項1】クライアント計算機から受信したデータベ
    ースの問合せ要求に従って、通信ネットワークを介して
    データベースサーバをアクセスするデータ中継サーバに
    おいて、 クライアント計算機から受信した問合せ要求に含まれる
    検索条件データを暗号化するための第1手段と、 上記第1手段で暗号化され検索条件を含む上記データベ
    ースサーバ宛の問合せメッセージを生成するための第2
    手段と、 上記第2手段で生成された問合せメッセージを上記通信
    ネットワークに送信するための第3手段と、 上記通信ネットワークを介して、上記データベースサー
    バから、暗号化データマッチングによって検索された上
    記暗号化検索条件に適合したデータを検索結果として受
    信するための第4手段と、 上記第4手段で受信された検索結果に基づいてクライア
    ント計算機宛の応答メッセージを生成し、問合せ要求元
    のクライアントに転送するための第5手段とを有するこ
    とを特徴とするデータ中継サーバ。
    A data relay server for accessing a database server via a communication network in accordance with a database inquiry request received from a client computer, for encrypting search condition data included in the inquiry request received from the client computer. A first means, and a second means for generating an inquiry message addressed to the database server including the search condition encrypted by the first means.
    Means, third means for transmitting the inquiry message generated by the second means to the communication network, and the encryption searched by the encrypted data matching from the database server via the communication network. Fourth means for receiving data conforming to the search condition as a search result, and generating a response message addressed to the client computer based on the search result received by the fourth means, and transferring the response message to the client which has issued the inquiry request A data relay server comprising:
  2. 【請求項2】前記クライアント計算機から受信した問合
    せ要求が、検索結果として回答すべきデータ項目を指定
    しており、前記第2手段で生成される問合せメッセージ
    が、検索結果として回答すべきデータ項目として、前記
    クライアント計算機からの問合せ要求で指定されたデー
    タ項目の他に、前記暗号化された検索条件と対応するデ
    ータ項目を含むことを特徴とする請求項1に記載のデー
    タ中継サーバ。
    2. An inquiry request received from the client computer specifies a data item to be answered as a search result, and the inquiry message generated by the second means is a data item to be answered as a search result. 2. The data relay server according to claim 1, further comprising, in addition to the data item specified by the inquiry request from the client computer, a data item corresponding to the encrypted search condition.
  3. 【請求項3】前記第2手段で生成された問合せメッセー
    ジが、前記検索条件を暗号化するための暗号化プログラ
    ムの識別情報を含むことを特徴とする請求項1に記載の
    データ中継サーバ。
    3. The data relay server according to claim 1, wherein the inquiry message generated by the second means includes identification information of an encryption program for encrypting the search condition.
  4. 【請求項4】前記第2手段で生成された問合せメッセー
    ジが、前記検索条件を暗号化するための暗号化プログラ
    ムを含むことを特徴とする請求項1に記載のデータ中継
    サーバ。
    4. The data relay server according to claim 1, wherein the inquiry message generated by the second means includes an encryption program for encrypting the search condition.
  5. 【請求項5】前記第5手段が、前記第4手段で受信され
    た検索結果を前記クライアント計算機から受信した問い
    合わせ要求に含まれる検索条件で再検索するための手段
    を有し、前記クライアント計算機宛の応答メッセージ
    が、上記再検索の結果を示すことを特徴とする請求項2
    に記載のデータ中継サーバ。
    5. The fifth means has means for re-searching a search result received by the fourth means with a search condition included in an inquiry request received from the client computer, wherein the search result is addressed to the client computer. 3. The response message of claim 2 indicates a result of the re-search.
    2. The data relay server according to 1.
  6. 【請求項6】異なるクライアント計算機から受信した少
    なくとも2つの問合せ要求をまとめて1つの連結問合せ
    に変換し、該連結問合せを前記第1手段に供給するため
    の第6手段を有し、前記第5手段が、前記データベース
    サーバから受信した上記連結問合せに対する検索結果の
    中から、上記各クライアント計算機が発行した元の問合
    せが示す検索条件に適合したデータを再検索し、各クラ
    イアント計算機宛の応答メッセージを生成することを特
    徴とする請求項1または請求項2に記載のデータ中継サ
    ーバ。
    6. A sixth means for converting at least two query requests received from different client computers into one concatenated query collectively and supplying said concatenated query to said first means, Means for re-searching, from the search results for the linked query received from the database server, data matching the search condition indicated by the original query issued by each client computer, and sending a response message addressed to each client computer. The data relay server according to claim 1, wherein the data relay server generates the data.
  7. 【請求項7】クライアント計算機から受信した1つの問
    合せ要求を少なくとも2つの分配問合せに変換し、該分
    配問合せを前記第1手段に供給するための第6手段を有
    し、 前記第2手段が、前記第1手段で暗号化された検索条件
    を含む分配問合せのうちの1つを前記データベースサー
    バ宛の問合せメッセージに変換し、他方の分配問合せを
    予め指定された他のデータ中継サーバ宛の問合せメッセ
    ージに変換し、 前記第5手段が、前記データベースサーバから受信した
    上記一方の分配問合せに対する検索結果と、上記他のデ
    ータ中継サーバから受信した上記他方の分配問合せに対
    する検索結果の中から、上記クライアント端末が発行し
    た元の問合せが示す検索条件に適合したデータを再検索
    し、クライアント端末宛の応答メッセージを生成するこ
    とを特徴とする請求項1または請求項2に記載のデータ
    中継サーバ。
    7. A sixth means for converting one inquiry request received from a client computer into at least two distribution queries and supplying the distribution inquiry to the first means, wherein the second means comprises: One of the distribution queries including the search condition encrypted by the first means is converted into a query message addressed to the database server, and the other distribution query is a query message addressed to another data relay server designated in advance. Wherein the fifth means selects the client terminal from a search result for the one distribution query received from the database server and a search result for the other distribution query received from the other data relay server. Re-search for data that matches the search conditions indicated by the original query issued by, and generate a response message addressed to the client terminal. Data relay server according to claim 1 or claim 2, characterized in that.
  8. 【請求項8】通信ネットワークから受信した問い合わせ
    メッセージに応答して情報検索を実行するデータベース
    サーバであって、サービス情報を蓄積したデータベース
    と、上記データベースから、上記問い合わせメッセージ
    が指定する検索条件に適合したサービス情報を検索する
    データベース管理システムとからなり、 上記データベース管理システムが、上記問い合わせメッ
    セージが暗号化された検索条件データを含むとき、上記
    データベースから読み出された上記検索条件に含まれる
    特定のデータ項目を暗号化し、暗号化データ間のマッチ
    ングによって上記検索条件に適合したサービス情報を検
    索するための手段と、上記問合せメッセージの送信元宛
    に、検索されたサービス情報を含む応答メッセージを送
    信するための手段とを備えることを特徴とするデータベ
    ースサーバ。
    8. A database server for executing an information search in response to an inquiry message received from a communication network, wherein the database server stores service information and a search condition specified by the inquiry message from the database. A database management system for searching for service information, wherein the database management system, when the inquiry message includes encrypted search condition data, a specific data item included in the search condition read from the database Means for searching for service information that meets the above search conditions by matching between encrypted data, and transmitting a response message including the searched service information to the transmission source of the inquiry message. Having means A database server characterized by the following.
  9. 【請求項9】前記問合せメッセージが暗号化プログラム
    の識別情報を含み、 前記検索手段が、前記データベースから読み出された特
    定のデータ項目を上記識別情報で指定された暗号化プロ
    グラムによって暗号化することを特徴とする請求項8に
    記載のデータベースサーバ。
    9. The query message includes identification information of an encryption program, and the search means encrypts a specific data item read from the database by the encryption program specified by the identification information. The database server according to claim 8, wherein:
  10. 【請求項10】クライアントが指定した検索条件の少な
    くとも一部を暗号化し、 データベースを備えたサーバに、上記少なくとも一部が
    暗号化された検索条件を含む問合せメッセージを送信
    し、 上記サーバにおいて、上記データベースから読み出され
    た 上記検索条件に含まれる特定のデータ項目を暗号化
    し、暗号化データ間のマッチングによって上記検索条件
    に適合したサービス情報を検索し、 上記サーバから上記問合せメッセージの送信元に、検索
    結果として上記検索条件に適合したサービス情報を送信
    することを特徴とするデータベースのアクセス方法。
    10. Encrypting at least a part of a search condition designated by a client, transmitting an inquiry message including the at least partly encrypted search condition to a server provided with a database, Encrypt a specific data item included in the search condition read from the database, search for service information that matches the search condition by matching between encrypted data, and send the inquiry message from the server to the transmission source of the inquiry message. A method of accessing a database, comprising transmitting service information that meets the above search conditions as a search result.
  11. 【請求項11】前記問合せメッセージの送信元におい
    て、前記サーバから受信した検索結果を前記クライアン
    トが指定した検索条件に従って再検索するステップを含
    み、上記サーバから受信した検索結果には、前記暗号化
    された検索条件に対応するデータ項目が含まれているこ
    とを特徴とする請求項10に記載のデータベースのアク
    セス方法。
    11. The method according to claim 11, further comprising the step of re-searching the search result received from the server in accordance with a search condition specified by the client at the source of the inquiry message, wherein the search result received from the server includes 11. The database access method according to claim 10, wherein data items corresponding to the retrieved search conditions are included.
JP2001321741A 2001-01-26 2001-10-19 Data search system, data relay server, database server, and database access method Expired - Fee Related JP4006214B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001-17827 2001-01-26
JP2001017827 2001-01-26
JP2001321741A JP4006214B2 (en) 2001-01-26 2001-10-19 Data search system, data relay server, database server, and database access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001321741A JP4006214B2 (en) 2001-01-26 2001-10-19 Data search system, data relay server, database server, and database access method

Publications (2)

Publication Number Publication Date
JP2002297606A true JP2002297606A (en) 2002-10-11
JP4006214B2 JP4006214B2 (en) 2007-11-14

Family

ID=26608324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001321741A Expired - Fee Related JP4006214B2 (en) 2001-01-26 2001-10-19 Data search system, data relay server, database server, and database access method

Country Status (1)

Country Link
JP (1) JP4006214B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124520A (en) * 2005-10-31 2007-05-17 Ntt Data Corp Data searching system, information processing apparatus, data searching method and program
JP2007226635A (en) * 2006-02-24 2007-09-06 Victor Co Of Japan Ltd Server device and client device of remote desktop system
CN100365617C (en) * 2003-07-10 2008-01-30 华为技术有限公司 Dosage statistic module and dosage statistic method
JP2009537907A (en) * 2006-05-13 2009-10-29 シーエフピーエイチ, エル.エル.シー. Products and processes for using order data and related data
JP2010033197A (en) * 2008-07-25 2010-02-12 Internatl Business Mach Corp <Ibm> Search device using disclosed search engine, search method, and search program
WO2010024116A1 (en) 2008-08-26 2010-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Search device, search method and search program using open search engine
JP2011118621A (en) * 2009-12-02 2011-06-16 Nec Corp Mobile communication terminal system, information retrieval transmission method to be used for the same and information retrieval transmission program
KR101104845B1 (en) * 2010-09-08 2012-01-16 (주)소만사 Safe communication system between database and client using db vpn and the method thereof
US8131738B2 (en) 2008-12-30 2012-03-06 International Business Machines Corporation Search engine service utilizing hash algorithms
KR101120814B1 (en) 2004-02-11 2012-03-23 마이크로소프트 코포레이션 Systems and methods that optimize row level database security
US8285629B2 (en) 2007-11-15 2012-10-09 Cfph, Llc Trading system products and processes
WO2014092180A1 (en) * 2012-12-13 2014-06-19 日本電気株式会社 Intermediate server, database query processing method and program
US10121199B1 (en) 2017-06-23 2018-11-06 Cfph, Llc Distributed trading network and interface
US10887291B2 (en) 2016-12-16 2021-01-05 Amazon Technologies, Inc. Secure data distribution of sensitive data across content delivery networks
US10979403B1 (en) 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100365617C (en) * 2003-07-10 2008-01-30 华为技术有限公司 Dosage statistic module and dosage statistic method
KR101120814B1 (en) 2004-02-11 2012-03-23 마이크로소프트 코포레이션 Systems and methods that optimize row level database security
JP2007124520A (en) * 2005-10-31 2007-05-17 Ntt Data Corp Data searching system, information processing apparatus, data searching method and program
JP2007226635A (en) * 2006-02-24 2007-09-06 Victor Co Of Japan Ltd Server device and client device of remote desktop system
US9064256B2 (en) 2006-05-13 2015-06-23 Cfph, Llc Products and processes for utilizing order data and related data
JP2009537907A (en) * 2006-05-13 2009-10-29 シーエフピーエイチ, エル.エル.シー. Products and processes for using order data and related data
US10636091B2 (en) 2007-11-15 2020-04-28 Cfph, Llc Trading system products and processes
US10262366B2 (en) 2007-11-15 2019-04-16 Cfph, Llc Trading system products and processes
US8285629B2 (en) 2007-11-15 2012-10-09 Cfph, Llc Trading system products and processes
US8768819B2 (en) 2007-11-15 2014-07-01 Cfph, Llc Multicomputer distributed processing of large block trading data
US11023971B2 (en) 2007-11-15 2021-06-01 Cfph, Llc Large block trading
JP2010033197A (en) * 2008-07-25 2010-02-12 Internatl Business Mach Corp <Ibm> Search device using disclosed search engine, search method, and search program
US9195744B2 (en) 2008-07-25 2015-11-24 International Business Machines Corporation Protecting information in search queries
WO2010024116A1 (en) 2008-08-26 2010-03-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Search device, search method and search program using open search engine
US8150823B2 (en) 2008-08-26 2012-04-03 International Business Machines Corporation Private searching on a public search engine
JP2012514244A (en) * 2008-12-30 2012-06-21 インターナショナル・ビジネス・マシーンズ・コーポレーション Search engine service using hash algorithm
US8131738B2 (en) 2008-12-30 2012-03-06 International Business Machines Corporation Search engine service utilizing hash algorithms
JP2011118621A (en) * 2009-12-02 2011-06-16 Nec Corp Mobile communication terminal system, information retrieval transmission method to be used for the same and information retrieval transmission program
KR101104845B1 (en) * 2010-09-08 2012-01-16 (주)소만사 Safe communication system between database and client using db vpn and the method thereof
JPWO2014092180A1 (en) * 2012-12-13 2017-01-12 日本電気株式会社 Intermediate server, database query processing method and program
US9767294B2 (en) 2012-12-13 2017-09-19 Nec Corporation Intermediate server, database query processing method and program
WO2014092180A1 (en) * 2012-12-13 2014-06-19 日本電気株式会社 Intermediate server, database query processing method and program
US10887291B2 (en) 2016-12-16 2021-01-05 Amazon Technologies, Inc. Secure data distribution of sensitive data across content delivery networks
US10121199B1 (en) 2017-06-23 2018-11-06 Cfph, Llc Distributed trading network and interface
US10922752B2 (en) 2017-06-23 2021-02-16 Cfph, Llc Distributed trading network and interface
US10979403B1 (en) 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement

Also Published As

Publication number Publication date
JP4006214B2 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
US7228416B2 (en) Database access method and system capable of concealing the contents of query
JP4685782B2 (en) Method and apparatus for encrypting database columns
US7873168B2 (en) Secret information management apparatus and secret information management system
US20160217274A1 (en) System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software
US7010697B2 (en) System for dynamically encrypting information for secure internet commerce and providing embedded fulfillment software
US6169805B1 (en) System and method of operation for providing user&#39;s security on-demand over insecure networks
US9600677B2 (en) Database apparatus, method, and program
US20030208680A1 (en) System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software
US20030005333A1 (en) System and method for access control
US20040010699A1 (en) Secure data management techniques
JP4006214B2 (en) Data search system, data relay server, database server, and database access method
CN108123800B (en) Key management method, key management device, computer equipment and storage medium
JP2003508995A (en) System and method for securely storing, transferring and retrieving content-referenced information
US20040205348A1 (en) Identification information creating apparatus, identification information resolving apparatus, information system utilizing the apparatuses, controlling method and program thereof
JPH09179768A (en) File ciphering system and file deciphering system
CN101002417A (en) System and method for dis-identifying sensitive information and assocaites records
JP2002278970A (en) Document managing system
US7930560B2 (en) Personal information management system, personal information management program, and personal information protecting method
JP4594078B2 (en) Personal information management system and personal information management program
JP5140026B2 (en) Database processing method, database processing program, and encryption apparatus
EP0518466B1 (en) Data processing system with cryptographic facility
JP3925635B2 (en) Information distribution system and information distribution method
JP2003296331A (en) Data retrieval method and system, retrieval keyword generation device and its computer program
JP5969681B1 (en) Confidential information management system
JPH11331145A (en) Information sharing system, information preserving device, information processing method and recording medium therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees