JP2005309846A - Database protection system - Google Patents

Database protection system Download PDF

Info

Publication number
JP2005309846A
JP2005309846A JP2004127047A JP2004127047A JP2005309846A JP 2005309846 A JP2005309846 A JP 2005309846A JP 2004127047 A JP2004127047 A JP 2004127047A JP 2004127047 A JP2004127047 A JP 2004127047A JP 2005309846 A JP2005309846 A JP 2005309846A
Authority
JP
Japan
Prior art keywords
server device
proxy server
data
information
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.)
Pending
Application number
JP2004127047A
Other languages
Japanese (ja)
Inventor
Mitsuru Nakakawaji
充 中川路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PROCUBE KK
WEB AGENT KK
Original Assignee
PROCUBE KK
WEB AGENT KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PROCUBE KK, WEB AGENT KK filed Critical PROCUBE KK
Priority to JP2004127047A priority Critical patent/JP2005309846A/en
Publication of JP2005309846A publication Critical patent/JP2005309846A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a database protection system by which personal information in a database is protected, particularly, the personal information is protected against a malicious system developer and a cost required for security is reduced. <P>SOLUTION: A proxy server 3 intercepting data transmitted and received between an application server 1 and client terminal equipment 2 runs: an encryption means encrypting a specified region in request data received from the client terminal equipment 2 based on information on a setting file 3a recorded key information and information on data to be concealed; and a decryption means decrypting a region encrypted by the encryption means in response data received from the application server. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、プロキシサーバ装置を用いて、アプリケーションサーバ装置がアクセスするデータベースの情報を保護するシステムに関し、特に、悪意のあるシステム開発者からもデータを守ることができるように構成されたデータベース保護システムに関する。   The present invention relates to a system for protecting database information accessed by an application server device using a proxy server device, and in particular, a database protection system configured to protect data from a malicious system developer. About.

ネットワーク技術の進歩に伴い、例えば病院や官公庁等の個人情報を取り扱う施設においても、ネットワークを介して種々の情報を提供するシステムが採用されつつある。このようなネットワークシステムの中核となるものの一つが、図5に示すような、アプリケーションサーバ装置100である。   Along with the advancement of network technology, for example, in facilities that handle personal information such as hospitals and government offices, a system that provides various information via a network is being adopted. One of the cores of such a network system is an application server apparatus 100 as shown in FIG.

図5のアプリケーションサーバ装置100は、クライアント端末装置101からの要求に応じて、データベース102にアクセスするWebアプリケーション103が動作するように構成されており、データベース102に種々の情報を蓄積しておくと、クライアント端末装置101から、データベース102を閲覧することができる。なお、図5の例では、クライアント端末装置101は、http(Hyper Text Transfer Protocol)の規定に従ったリクエストデータ104(HTTP Request)を送信し、これに対してアプリケーションサーバ装置100は、データベース102の問い合わせ結果を含むレスポンスデータ105(HTTP Response )を送信している。   The application server apparatus 100 of FIG. 5 is configured such that the Web application 103 that accesses the database 102 operates in response to a request from the client terminal apparatus 101, and various types of information are accumulated in the database 102. The database 102 can be browsed from the client terminal device 101. In the example of FIG. 5, the client terminal device 101 transmits request data 104 (HTTP Request) that complies with the specifications of http (Hyper Text Transfer Protocol). Response data 105 (HTTP Response) including the inquiry result is transmitted.

このようなアプリケーションサーバ装置100を利用したシステムでは、データベース102に登録した個人情報等が外部に流出すると、社会的信用の失墜、顧客の減少等、企業の損失は計り知れないものとなる。そこで、データベース102に不正にアクセスして個人情報等を漏洩しようとする悪意のある者から、データベース102に登録した情報をいかに保護するかが問題となる。   In such a system using the application server device 100, when personal information registered in the database 102 is leaked to the outside, corporate loss such as loss of social credibility and decrease in customers becomes immeasurable. Therefore, how to protect the information registered in the database 102 from a malicious person who tries to leak the personal information by illegally accessing the database 102 becomes a problem.

現在よく利用されている簡便な対策としては、OS又はデータベースの機能により、アクセス権のレベルの異なるユーザIDとパスワードを数種類設定し、個人情報等を含むデータは、最も強いアクセス権を有する特定のユーザIDの利用者でなければ、閲覧できないようにする方法がある。この場合、個人情報等へのアクセスも許可される特定のユーザIDは、システム管理者や一定のシステム開発者に与えられるケースが多い。   As a simple measure that is often used at present, several types of user IDs and passwords with different access right levels are set by the function of the OS or database, and data including personal information has a strongest access right. There is a method for preventing browsing unless the user has a user ID. In this case, a specific user ID that is permitted to access personal information is often given to a system administrator or a certain system developer.

また、上記のようなユーザIDによる本人認証では、データベースに対するセキュリティは高くなるが、一旦読み出されたデータ自身にはセキュリティ機能がなく、外部に漏洩する危険性があることから、例えば、特許文献1には、データベースのファイル自体に認証データを埋め込むことにより、表示の可否の認証を行うファイルセキュリティシステムが提案されている。
特開2002−149603号公報
Further, in the identity authentication using the user ID as described above, the security for the database is high, but the data itself once read does not have a security function and there is a risk of leakage to the outside. 1 proposes a file security system that authenticates whether or not display is possible by embedding authentication data in a database file itself.
JP 2002-149603 A

また、データ通信における秘匿性の保障等の目的から、データを暗号化して通信することも行われている。例えば、公開鍵暗号方式(PKI:Public Key Infrastructure )では暗号化と復号化で異なる一対の鍵を使用する。この一対の鍵は「秘密鍵」と「公開鍵」と呼ばれ、片方の鍵を使って暗号化したデータはそれと対になっているもう一方の鍵を使用しなければ復号化できない。   In addition, data is encrypted and communicated for the purpose of ensuring confidentiality in data communication. For example, a public key infrastructure (PKI) uses a pair of different keys for encryption and decryption. This pair of keys is called a “secret key” and a “public key”, and data encrypted using one key cannot be decrypted without using the other key paired therewith.

これにより、ユーザは、自己の秘密鍵を公開せずに保管しておけば暗号化の秘匿性を保障することができ、また、あるユーザの公開鍵を持っていれば、当該ユーザと暗号化データをのやり取りを行うことができる。例えば、XとYが通信をするときは、Xが、自己の秘密鍵と相手(Y)の公開鍵を用いて暗号化したデータは、Yが、相手(X)の公開鍵と自己の秘密鍵を用いることにより復号化することができる。   As a result, if the user keeps his / her private key without publishing it, the confidentiality of the encryption can be ensured, and if he / she has a public key of a certain user, the user can encrypt it. Data can be exchanged. For example, when X and Y communicate with each other, data encrypted by X using its own private key and the public key of the other party (Y) means that Y is the private key of the other party (X) and its own secret. It can be decrypted by using the key.

例えば、アプリケーションサーバ装置を含むローカルエリアネットワークとインターネットとの境界部分にファイアウォールを設け、クライアント端末装置とアプリケーションサーバ装置の間で送受信されるデータを暗号化し、データベースには復号化したデータを保存しているシステムも多く見受けられる。   For example, a firewall is provided at the boundary between the local area network including the application server device and the Internet, data transmitted and received between the client terminal device and the application server device is encrypted, and the decrypted data is stored in the database. Many systems are also found.

しかしながら、上記のようなユーザIDによる本人認証は、アクセス権のない者がデータベースにアクセスすることを拒否することはできるが、アクセス権を与えられたシステム開発者が悪意のある者に転じて個人情報を漏洩するケースに対しては、効果がない。実際のところ、最近、悪意のあるシステム開発者が個人情報を流出させる事件が多発している。また、上記のようなファイルセキュリティシステムや、データの暗号化技術についても、復号化に必要な認証データや秘密鍵の情報にアクセス可能なシステム開発者が悪意のある者となった場合、同様の問題がある。   However, the identity authentication by the user ID as described above can refuse access to the database by a person without access right, but the system developer who has been given access right turns into a malicious person and becomes an individual. It is not effective for cases where information is leaked. In fact, there have been many incidents of malicious system developers leaking personal information recently. In addition, regarding the above file security system and data encryption technology, if a system developer who can access the authentication data and secret key information necessary for decryption becomes a malicious person, the same There's a problem.

そのため、従来は、個人情報へのアクセス権を有する者によるデータ漏洩の問題に対しては、セキュリティポリシーを厳しくし、人の運用を徹底するしか対策がない状況であった。例えば、システム部門の部長が出社してIDカードを挿入しなければ、システム開発者であってもデータベースの個人情報には一切アクセスできないように設定したならば、その決められた運用を徹底する必要がある。   Therefore, conventionally, there has been a situation where there is only a countermeasure against the problem of data leakage by a person who has an access right to personal information by tightening the security policy and thoroughly operating the person. For example, if it is set so that even the system developer cannot access any personal information in the database unless the system department manager comes to the office and inserts an ID card, it is necessary to thoroughly implement the determined operation There is.

しかし、一般にアプリケーションサーバ装置においては、システム開発者はソフトウェアの改良、バックアップの採取、障害原因の解析などの目的で、頻繁にシステムに特権でアクセスする必要がある。そうすると、例えば、システム開発者が、バックアップの採取や障害原因の解析などの目的で休日出勤するときは、部長も休日出勤するようにしなければ、セキュリティポリシーは維持できない。この例からも容易に想像できるように、アプリケーションサーバ装置において、セキュリティポリシーを厳しくすることは、Webアプリケーションの開発やデータベースの利用上、制約が極めて多くなり、結果として、セキュリティにかけるコストを増大させるという問題があった。   However, in general, in an application server device, a system developer needs to frequently access the system with privileges for the purpose of improving software, collecting backups, and analyzing the cause of failure. Then, for example, when a system developer goes to work on a holiday for the purpose of collecting backups or analyzing the cause of failure, the security policy cannot be maintained unless the general manager is also on holiday. As can be easily imagined from this example, tightening the security policy in the application server device is extremely restrictive in terms of Web application development and database usage, resulting in an increase in security costs. There was a problem.

また、ファイアウォールを設け、ネットワークの部分のみ暗号化しているシステムは、個人情報を漏洩するのは、外部から侵入してくる者に限られるという前提に立つもので、内部の者がデータを漏洩する問題には全く対処できていない。また、従来は、データベースを含むアプリケーションサーバ装置側で認証データや秘密鍵の情報等を保存していたため、バックアップを頻繁に取る必要があるという問題もあった。   In addition, a system that has a firewall and encrypts only the network part is based on the premise that only individuals who intrude from the outside will leak personal information. The problem is not addressed at all. In addition, conventionally, since the application server apparatus side including the database stores authentication data, secret key information, and the like, there is a problem that frequent backup is required.

なお、アプリケーションサーバ装置上で動作する暗号化ソフトにより、アプリケーションがデータベースに書き込みするときに特定の項目のみ暗号化を行う方式は公知である。しかし、暗号化ソフトを利用した方式も、暗号化ソフトに対するアクセス権を有する悪意のあるシステム開発者からデータベースを守れない点は同じである上、既存のアプリケーションの処理を大きく変更しなければならないという問題があった。   A method of encrypting only a specific item when an application writes in a database by encryption software operating on the application server device is known. However, the method using encryption software is the same in that the database cannot be protected from malicious system developers who have access rights to the encryption software, and the processing of existing applications must be significantly changed. There was a problem.

本発明は、上記した従来の問題点に鑑みてなされたものであり、悪意のあるシステム開発者からデータベースを保護することが可能で、既存のアプリケーションの変更を最小限にし、しかも、セキュリティにかけるコストも低減できるデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、及び、データベース保護方法を提供することを目的としている。   The present invention has been made in view of the above-described conventional problems, can protect a database from malicious system developers, minimizes changes to existing applications, and is secure. It is an object of the present invention to provide a database protection system, a proxy server device, a database protection program, and a database protection method that can reduce costs.

本発明のデータベース保護システムは、アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するシステムであって、前記プロキシサーバ装置は、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、を備えていることを最も主要な特徴とする。   The database protection system of the present invention is a system that protects information of a database accessed by an application of the application server device using a proxy server device that intercepts data transmitted and received between the application server device and the client terminal device. The proxy server device is capable of accessing a setting file in which key information and information on data to be concealed are recorded, and in the request data received from the client terminal based on the information recorded in the setting file. Encryption means for encrypting the predetermined area, and decryption means for decrypting the area encrypted by the encryption means in response data to the request data received from the application server device. The The most important feature Rukoto.

また、本発明のプロキシサーバ装置は、アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するためのプロキシサーバ装置であって、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、を備えていることを最も主要な特徴とする。   The proxy server device of the present invention is a proxy server device for protecting database information accessed by the application of the application server device, and can access a setting file in which key information and information of data to be kept secret are recorded. And encryption means for encrypting a predetermined area in the request data received from the client terminal based on information recorded in the setting file, and a response to the request data received from the application server device The main feature is that it comprises decryption means for decrypting an area of the data encrypted by the encryption means.

また、本発明のデータベース保護プログラムは、アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置に、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する処理を行わせるためのプログラムであって、前記クライアント端末装置からのリクエストデータを受信するステップと、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、前記レスポンスデータ中の暗号化されている領域を復号化する復号化ステップと、前記クライアント端末に前記レスポンスデータを送信するステップと、を前記プロキシサーバ装置に行わせることを最も主要な特徴とする。   Further, the database protection program of the present invention performs processing for protecting information in a database accessed by an application of the application server device on a proxy server device that intercepts data transmitted and received between the application server device and the client terminal device. For receiving request data from the client terminal device, accessing a setting file in which key information and data to be concealed are recorded, and information recorded in the setting file An encryption step for encrypting a predetermined area in the request data received from the client terminal, transmitting the request data to the application server device, and the application server. Receiving response data for the request data from the server device, decrypting the encrypted data in the response data, and transmitting the response data to the client terminal. The most important feature is to let the proxy server device perform.

また、本発明のデータベース保護方法は、アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する方法であって、前記プロキシサーバ装置に、前記クライアント端末装置からのリクエストデータを受信するステップと、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、前記レスポンスデータ中の前記暗号化ステップにより暗号化された領域を復号化する復号化ステップと、前記クライアント端末に前記レスポンスデータを送信するステップと、を行わせることを最も主要な特徴とする。   The database protection method of the present invention is a method for protecting database information accessed by an application of the application server device using a proxy server device that intercepts data transmitted and received between the application server device and the client terminal device. The proxy server device receiving request data from the client terminal device, accessing a setting file in which key information and data to be kept secret are recorded, and recorded in the setting file. Based on the received information, an encryption step for encrypting a predetermined area in the request data received from the client terminal; a step for transmitting the request data to the application server device; and Receiving response data for the request data from the server device, decrypting the region encrypted by the encryption step in the response data, and transmitting the response data to the client terminal The most important feature is that

本発明によれば、暗号化及び復号化に必要な鍵情報はプロキシサーバ装置に記録され、秘匿すべきデータは、プロキシサーバ装置によって暗号化されてデータベースに記録されるため、個人情報等へのアクセス権を有するシステム開発者が悪意のある者となった場合でも、暗号化されたデータしか閲覧できず、重要なデータの漏洩を防止できるという効果が得られる。   According to the present invention, key information necessary for encryption and decryption is recorded in the proxy server device, and data to be concealed is encrypted by the proxy server device and recorded in the database. Even when the system developer having the access right becomes a malicious person, only encrypted data can be browsed, and an effect of preventing leakage of important data can be obtained.

また、プロキシサーバ装置は、アプリケーションやデータベースを有さないため、ソフトウェア改良、バックアップ、障害解析などの必要がなく、セキュリティポリシーを厳しくすることも容易となる。すなわち、本発明では、アプリケーションサーバ装置の方のセキュリティポリシーを必要以上に厳しくする必要がなくなり、結果として、セキュリティにかけるコストを低減することができる。   Further, since the proxy server device does not have an application or a database, there is no need for software improvement, backup, failure analysis, etc., and it becomes easy to tighten security policies. That is, in the present invention, it is not necessary to make the security policy of the application server device stricter than necessary, and as a result, the cost for security can be reduced.

本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法は、上記のとおりの構成のものであるが、本発明は、より望ましい実施の形態として、以下の構成を採用できる。   The database protection system, the proxy server device, the database protection program, and the database protection method of the present invention are configured as described above, but the present invention can adopt the following configurations as a more preferable embodiment.

先ず、前記データベース保護システム、前記プロキシサーバ装置、前記データベース保護プログラム、又は、前記データベース保護方法において、前記設定ファイルに記録された情報に基づいてリクエストデータ中の所定の領域を暗号化するときに、その暗号化する領域の前後にタグ文字列を挿入するとともに、前記復号化手段では、前記タグ文字列を文字列検索して、暗号化された領域を発見するようにすれば、データベースの項目の単位に依存せず、リクエストデータ中の任意の領域を暗号化及び復号化することができるので、好適である。   First, in the database protection system, the proxy server device, the database protection program, or the database protection method, when encrypting a predetermined area in request data based on information recorded in the setting file, If a tag character string is inserted before and after the area to be encrypted and the decryption means searches the character string of the tag character string to find the encrypted area, the database item It is preferable because an arbitrary area in the request data can be encrypted and decrypted without depending on the unit.

また、前記データベース保護システム、前記プロキシサーバ装置、前記データベース保護プログラム、又は、前記データベース保護方法において、前記リクエストデータがユーザ登録処理のリクエストであるとき、前記プロキシサーバ装置は、前記リクエストデータ中にユーザ情報に対する署名情報を記録する手段又はステップを実行するとともに、前記リクエストデータを受信した前記アプリケーションサーバ装置は、前記署名付きユーザ情報を署名情報記録ファイルに保存する手段又はステップを実行し、次に前記プロキシサーバ装置がログイン処理のリクエストデータを受信したとき、前記プロキシサーバ装置は、前記署名情報記録ファイルにアクセスして前記署名付きユーザ情報を取得するとともに、前記ログイン処理のリクエストデータの署名と一致するか否かを照合する手段又はステップを実行し、不一致であるときは、エラー処理を実行するように構成すれば、正規のユーザ登録処理を経ていない不正なログインをエラーとして排除できるので、好適である。   In the database protection system, the proxy server device, the database protection program, or the database protection method, when the request data is a request for user registration processing, the proxy server device includes a user in the request data. The application server apparatus that has received the request data executes the means or step for storing the signed user information in a signature information recording file, and executes the means or step for recording the signature information for the information. When the proxy server device receives the login processing request data, the proxy server device accesses the signature information recording file to acquire the signed user information, and the login processing request. If it is configured to execute error processing if it does not match, an unauthorized login that has not undergone regular user registration processing will result in an error. Therefore, it is preferable.

また、前記データベース保護システム、前記プロキシサーバ装置、前記データベース保護プログラム、又は、前記データベース保護方法において、前記リクエストデータがログイン処理のリクエストであるとき、前記プロキシサーバ装置は、セッションオブジェクトにユーザ情報を保存する手段又はステップを実行し、次に前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信したとき、前記プロキシサーバ装置は、前記セッションオブジェクトにユーザ情報が登録されているか否かを照合する手段又はステップを実行し、未登録であるときは、エラー処理を実行するように構成すれば、正規にセッション接続していない不正な操作を排除できるため、好適である。   In the database protection system, the proxy server device, the database protection program, or the database protection method, when the request data is a request for login processing, the proxy server device stores user information in a session object. Means for executing the means or step, and when the proxy server apparatus receives a request including data to be concealed next, the proxy server apparatus collates whether or not user information is registered in the session object. Alternatively, it is preferable to execute the step and execute the error processing when it is unregistered, because it is possible to eliminate an illegal operation not properly connected to the session.

さらに、前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信し、かつ、前記セッションオブジェクトにユーザ情報が登録されているとき、前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、リクエストデータ中の秘匿すべきデータにユーザIDを付与し、次に前記プロキシサーバ装置が前記復号化手段又はステップを実行するとき、前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、暗号化されたデータに付与されているユーザIDと一致しているか否かを照合し、不一致であるときは、エラー処理を実行するように構成すれば、暗号化時の利用者と復号化時の利用者の整合性をチェックすることで不正な操作を排除できるので、好適である。   Further, when the proxy server device receives a request including data to be kept confidential and user information is registered in the session object, the proxy server device acquires user information from the session object, and requests When a user ID is given to data to be concealed in data, and then the proxy server device executes the decrypting means or step, the proxy server device acquires user information from the session object and encrypts it. If it matches with the user ID assigned to the received data, and if it does not match, if it is configured to execute error processing, the user at the time of encryption and the use at the time of decryption It is preferable that the unauthorized operation can be eliminated by checking the consistency of the person.

さらに、前記プロキシサーバ装置が、前記アプリケーションサーバ装置上の公開相手一覧ファイルにアクセス可能であるとともに、前記復号化処理において、前記プロキシサーバ装置が前記セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合結果が不一致であるとき、前記プロキシサーバ装置は、前記公開相手一覧ファイルにアクセスして突き合わせし、ユーザIDが一致する公開相手が発見されたとき、復号化処理を行うように構成すれば、公開相手一覧ファイルに存在する特定の相手に対してのみ自己のデータを公開することも可能となる。   Further, the proxy server device can access a public partner list file on the application server device, and in the decryption process, the proxy server device is encrypted with the user information acquired from the session object. When the collation result of the user ID given to the data does not match, the proxy server device accesses and matches the public partner list file, and decrypts when the public partner with the matching user ID is found. If it is configured to perform the process, it is possible to publish its own data only to a specific partner existing in the disclosure partner list file.

また、前記データベース保護システム、又は、前記プロキシサーバ装置において、前記プロキシサーバ装置は、前記アプリケーションサーバ装置と異なる場所に設置してセキュリティレベルを高くする一方、前記アプリケーションサーバ装置のセキュリティレベルは、前記プロキシサーバ装置よりも低くするように構成すれば、セキュリティギャップが明確となり、全体としてセキュリティにかけるコストの低減が図れるので、望ましい。   In the database protection system or the proxy server device, the proxy server device is installed at a location different from the application server device to increase the security level, while the security level of the application server device is set to the proxy If it is configured to be lower than that of the server device, it is desirable because the security gap becomes clear and the cost for security can be reduced as a whole.

また、前記プロキシサーバ装置が鍵情報と前記設定ファイル以外にユーザデータを保存していないものであれば、プロキシサーバ装置のバックアップを頻繁に取る必要がなくなるので、好適である。   Further, if the proxy server device does not store user data other than the key information and the setting file, it is preferable that the proxy server device need not be backed up frequently.

なお、前記データベース保護プログラムは、例えばCD−ROM、DVD、磁気ディスク装置等、任意のコンピュータ読み取り可能な記憶媒体に記憶させることができる。   The database protection program can be stored in any computer-readable storage medium such as a CD-ROM, DVD, or magnetic disk device.

以下、本発明を添付図面に示す実施例に基づいて詳細に説明する。図1は、本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法の全体構成を示した概念図である。   Hereinafter, the present invention will be described in detail based on embodiments shown in the accompanying drawings. FIG. 1 is a conceptual diagram showing the overall configuration of a database protection system, a proxy server device, a database protection program, and a database protection method according to the present invention.

アプリケーションサーバ装置1は、クライアント端末装置2からの要求に応じて、データベース1aにアクセスするWebアプリケーション1bが起動するように構成されており、利用者は、クライアント端末装置2から、データベース1aに登録した種々の情報を閲覧することができる。   The application server device 1 is configured such that a Web application 1b that accesses the database 1a is activated in response to a request from the client terminal device 2, and the user registers in the database 1a from the client terminal device 2. Various information can be browsed.

3は、本発明のプロキシサーバ装置を示しており、本発明のデータベース保護プログラム3aは、このプロキシサーバ装置3上で動作する。本発明のデータベース保護システム及びデータベース保護方法は、プロキシサーバ装置3を用いてアプリケーションサーバ装置1とクライアント端末装置2の間で送受信されるデータをインターセプトし、所定のデータの暗号化、復号化を行うものである。なお、3bは、暗号化、復号化を行うのに必要な鍵情報や秘匿すべきデータの項目名の情報等を記録する設定ファイルを示している。   Reference numeral 3 denotes a proxy server device of the present invention, and the database protection program 3a of the present invention operates on the proxy server device 3. The database protection system and the database protection method of the present invention intercept data transmitted and received between the application server device 1 and the client terminal device 2 using the proxy server device 3, and encrypt and decrypt predetermined data. Is. Reference numeral 3b denotes a setting file that records key information necessary for encryption and decryption, item name information of data to be concealed, and the like.

図1の例では、クライアント端末装置2は、http(Hyper Text Transfer Protocol)の規定に従ったリクエストデータ4a(HTTP Request)を送信している。リクエストデータ4aがデータベースの更新処理であった場合、これをインターセプトしたプロキシサーバ装置3は、データベース保護プログラム3aが、設定ファイル3bの情報に基づいて必要に応じてリクエストデータ4a中の所定の領域を暗号化し、その後、リクエストデータ4b(HTTP Request)をアプリケーションサーバ装置1に送信する。アプリケーションサーバ装置1は、データベース1aを更新し、データベース1aに暗号化されたデータを格納する。   In the example of FIG. 1, the client terminal device 2 transmits request data 4a (HTTP Request) that complies with the provisions of http (Hyper Text Transfer Protocol). When the request data 4a is a database update process, the proxy server device 3 that intercepts the request data 4a uses the database protection program 3a to set a predetermined area in the request data 4a as needed based on the information in the setting file 3b. After that, the request data 4b (HTTP Request) is transmitted to the application server device 1. The application server device 1 updates the database 1a and stores the encrypted data in the database 1a.

次に、リクエストデータ4aが、参照処理であった場合、アプリケーションサーバ装置1は、Webアプリケーション1bが、データベース1aから暗号化された状態のデータを読み出し、レスポンスデータ4c(HTTP Response )を送信する。これをインターセプトしたプロキシサーバ装置3は、データベース保護プログラム3aが、設定ファイル3bの情報に基づいて暗号化された所定の領域を復号化し、その後、レスポンスデータ4d(HTTP Response )をクライアント端末装置2に送信する。従って、クライアント端末装置2に表示されるデータは、復号化された状態のものとなっている。   Next, when the request data 4a is a reference process, the application server apparatus 1 reads the encrypted data from the database 1a and transmits the response data 4c (HTTP Response). In the proxy server device 3 that intercepts this, the database protection program 3a decrypts the predetermined area encrypted based on the information in the setting file 3b, and then sends the response data 4d (HTTP Response) to the client terminal device 2. Send. Therefore, the data displayed on the client terminal device 2 is in a decrypted state.

本発明によれば、暗号化及び復号化に必要な鍵情報はプロキシサーバ装置3の設定ファイル3bに記録され、個人情報等の秘匿すべきデータは、プロキシサーバ装置3によって暗号化されてデータベース1aに記録されるため、個人情報等へのアクセス権を有するシステム開発者が悪意のある者となった場合でも、暗号化されたデータしか閲覧できず、重要なデータの漏洩を防止できるという効果が得られる。   According to the present invention, key information necessary for encryption and decryption is recorded in the setting file 3b of the proxy server device 3, and data to be kept secret such as personal information is encrypted by the proxy server device 3 and stored in the database 1a. Therefore, even if a system developer who has the right to access personal information becomes a malicious person, only encrypted data can be viewed, and leakage of important data can be prevented. can get.

また、プロキシサーバ装置3は、アプリケーションやデータベースを有さないため、セキュリティポリシーを厳しくすることも容易である。すなわち、本発明では、アプリケーションサーバ装置1のセキュリティポリシーを必要以上に厳しくする必要がなくなり、結果として、セキュリティにかけるコストを低減することができる。特に、プロキシサーバ装置3を、アプリケーションサーバ装置1とは異なる場所に設置してセキュリティレベルを高くする一方、アプリケーションサーバ装置1のセキュリティレベルは、プロキシサーバ装置3よりも低くするように構成すれば、セキュリティギャップが明確となり、全体としてセキュリティにかけるコストの低減が図れる。なお、プロキシサーバ装置3は、設定ファイル3b以外にユーザデータを保存していないため、バックアップを頻繁に取る必要がないという利点もある。   Further, since the proxy server device 3 does not have an application or a database, it is easy to tighten the security policy. That is, in the present invention, it is not necessary to make the security policy of the application server device 1 stricter than necessary, and as a result, the cost for security can be reduced. In particular, if the proxy server device 3 is installed at a location different from the application server device 1 to increase the security level, the security level of the application server device 1 is configured to be lower than that of the proxy server device 3. The security gap becomes clear and the overall cost of security can be reduced. Since the proxy server device 3 does not store user data other than the setting file 3b, there is an advantage that it is not necessary to make frequent backups.

次に、図2〜図4を参照して、本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法の処理を、さらに詳細に説明する。   Next, processing of the database protection system, proxy server device, database protection program, and database protection method of the present invention will be described in more detail with reference to FIGS.

プロキシサーバ装置3は、クライアント端末装置2から、リクエストデータを受信し(#1)、Cookie情報から現在セッションを接続している相手の情報が格納されているセッションオブジェクトを取得する(#2)。   The proxy server device 3 receives the request data from the client terminal device 2 (# 1), and acquires a session object in which information of the other party currently connected to the session is stored from Cookie information (# 2).

プロキシサーバ装置3の設定ファイル3aには、暗号化に必要となる鍵情報のほか、ログイン処理の要求であることを示すログインURLの情報と、秘匿すべきデータが含まれていることを示す秘匿情報URLの情報と、ユーザー登録処理であることを示すユーザ登録URLの情報が記録されている(#3−2)。プロキシサーバ装置3のデータベース保護プログラム3aは、クライアント端末装置2からリクエストデータを受信すると、上記各URLの情報と一致するか否かを照合する(#3)。   The setting file 3a of the proxy server device 3 includes, in addition to key information necessary for encryption, information on a login URL indicating a request for login processing and confidential information indicating that data to be confidential is included. Information of information URL and information of user registration URL indicating user registration processing are recorded (# 3-2). When the database protection program 3a of the proxy server device 3 receives the request data from the client terminal device 2, the database protection program 3a checks whether or not it matches the information of each URL (# 3).

最初に、本発明の最も基本的な処理について説明する。データベース保護プログラム3aは、リクエストデータが秘匿情報URLと一致するときは、設定ファイル3aから、鍵情報と秘匿すべきデータの項目名の情報を取得し、リクエストデータ中の所定の領域を暗号化する(図2の#17(A1))。このとき、データベース保護プログラム3aは、暗号化する領域の前後に、タグ文字列を挿入する。   First, the most basic processing of the present invention will be described. When the request data matches the confidential information URL, the database protection program 3a acquires the key information and the item name information of the data to be confidential from the setting file 3a, and encrypts a predetermined area in the request data. (# 17 (A1) in FIG. 2). At this time, the database protection program 3a inserts a tag character string before and after the area to be encrypted.

次にプロキシサーバ装置3が、アプリケーションサーバ装置2からレスポンスデータを受信したとき、データベース保護プログラム3aは、図3に示すように、タグ文字列を文字列検索し(#20(A3))、タグ文字列が存在するときは、暗号化されたデータが存在するため、復号化手段を実行する(#25(A2))。このように本発明では、暗号化する領域の前後にタグ文字列を挿入するように構成したので、データベースの項目の単位に依存せず、リクエストデータ中の任意の領域を暗号化及び復号化することができる。   Next, when the proxy server device 3 receives the response data from the application server device 2, the database protection program 3a searches for the tag character string as shown in FIG. 3 (# 20 (A3)), and the tag When there is a character string, since there is encrypted data, decryption means is executed (# 25 (A2)). As described above, in the present invention, since the tag character string is inserted before and after the area to be encrypted, any area in the request data is encrypted and decrypted without depending on the unit of the database item. be able to.

次に、図2に戻り、本発明のデータベース保護プログラムの処理を時系列に従ってさらに詳細に説明する。
先ず、受信したリクエストデータが、ユーザ登録URLと一致している場合、リクエストデータ中には、ユーザ登録に必要となるパスワードの情報が含まれている。設定ファイル3には、パスワードのデータが含まれる項目名の情報が記録されており、データベース保護プログラム3aは、鍵を使用してパスワードの情報をハッシュする(#4)。
Next, returning to FIG. 2, the processing of the database protection program of the present invention will be described in more detail in time series.
First, when the received request data matches the user registration URL, the request data includes password information necessary for user registration. The setting file 3 records item name information including password data, and the database protection program 3a hashes the password information using a key (# 4).

本発明では、パスワードをハッシュ(#4)した後、リクエストデータ中にユーザ名とパスワードからなるユーザ情報に対する署名情報を追加して記録する処理を実行し(#5(B1))、この署名付きのユーザ情報を、アプリケーションサーバ装置1側で署名情報記録ファイルに保存するようにしている(#6(B2))。これらは、後述するように、悪意のシステム開発者が正規のユーザ登録処理を経ずにログインを行うことを排除するために必要な処理である。   In the present invention, after the password is hashed (# 4), the signature data for the user information consisting of the user name and password is added and recorded in the request data (# 5 (B1)), and this signature is added. Is stored in a signature information recording file on the application server device 1 side (# 6 (B2)). As will be described later, these are processes necessary for eliminating a malicious system developer from logging in without going through a regular user registration process.

次に、受信したリクエストデータが、ログインURLと一致している場合について説明する。この場合、データベース保護プログラム3aは、アプリケーションサーバ装置1より、上記署名付きユーザ情報を取得する(#7(B3))。すなわち、アプリケーションサーバ装置1には、上記署名付きユーザ情報を返却する機能を付加するようにしている(#7−2)。   Next, a case where the received request data matches the login URL will be described. In this case, the database protection program 3a acquires the signed user information from the application server device 1 (# 7 (B3)). That is, a function for returning the signed user information is added to the application server device 1 (# 7-2).

ここで、本発明では、受信したリクエストデータの署名と、アプリケーションサーバ装置1で保存していた署名を照合し、不一致の場合には、エラー処理(#9)を実行する。このように、図2において(B1)〜(B4)の符号を付けた、#5(B1)、#6(B2)、#7(B3)、#8(B4)の4つのステップを設けたので、本発明では、正規のユーザ登録処理を経ていない不正なログイン処理をエラーとし、悪意のあるシステム開発者からデータベースを保護することができる。   Here, in the present invention, the signature of the received request data and the signature stored in the application server device 1 are collated, and if they do not match, error processing (# 9) is executed. In this way, four steps of # 5 (B1), # 6 (B2), # 7 (B3), and # 8 (B4), which are labeled (B1) to (B4) in FIG. 2, are provided. Therefore, in the present invention, an unauthorized login process that has not undergone a regular user registration process is regarded as an error, and the database can be protected from a malicious system developer.

一方、署名が一致する場合、データベース保護プログラム3aは、鍵を用いてリクエストデータ中のパスワードの部分をハッシュする(#10)。そして、パスワードが一致するか否かを照合し(#11)、不一致である場合には、不正な処理と考えられるため、エラー処理を実行する(#9)。   On the other hand, if the signatures match, the database protection program 3a hashes the password portion in the request data using the key (# 10). Then, it is verified whether or not the passwords match (# 11). If the passwords do not match, error processing is executed (# 9) because it is considered an illegal process.

また、本発明では、リクエストデータがログインURLであるとき、セッションオブジェクトにユーザ情報を保存する(#12(C1))。次に、リクエストデータが秘匿情報URLと一致するとき、データベース保護プログラム3aは、セッションオブジェクトにユーザ情報が存在するか否かを照合し(#13(C2))、存在しない場合には、エラー処理を実行する(#14)。ここでセッションオブジェクトにユーザ情報が存在しないケースは、正規のセッション接続処理を経ていない不正な処理と考えられるからである。   In the present invention, when the request data is a login URL, user information is stored in the session object (# 12 (C1)). Next, when the request data matches the confidential information URL, the database protection program 3a checks whether or not user information exists in the session object (# 13 (C2)). Is executed (# 14). This is because the case where the user information does not exist in the session object is considered to be an unauthorized process that has not undergone a normal session connection process.

このように、図2において(C1)〜(C2)の符号を付けた、#12(C1)、#13(C2)の2つのステップを設けたので、本発明では、悪意のシステム開発者が正規のセッション接続処理を経ずに不正な処理を行っても、これをエラーとして排除することができる。なお、復号化処理の方でも、図3に示すように、セッションオブジェクトにユーザ情報が存在するか否かを照合し(#22(C3))、存在しない場合には、エラー処理を実行するように構成しても良い(#27)。   As described above, since the two steps # 12 (C1) and # 13 (C2) with reference numerals (C1) to (C2) in FIG. 2 are provided, in the present invention, the malicious system developer Even if unauthorized processing is performed without passing through regular session connection processing, this can be eliminated as an error. Also in the decryption process, as shown in FIG. 3, it is checked whether or not user information exists in the session object (# 22 (C3)), and if it does not exist, error processing is executed. (# 27).

また、図2の#13(C2)において、セッションオブジェクトにユーザ情報があるときは、データベース保護プログラム3aは、そのセッションオブジェクトからユーザ情報を取得し(#15(D1))、リクエストデータ中の秘匿すべきデータに所有者としてユーザIDを追加して記録する(#16(D2))。その後、データベース保護プログラム3aは、秘匿すべきデータの領域を鍵で暗号化し(#17(A1))、リクエストデータをアプリケーションサーバ装置1に向けて送信する(#18)。   Also, in # 13 (C2) of FIG. 2, when there is user information in the session object, the database protection program 3a acquires the user information from the session object (# 15 (D1)), and the confidentiality in the request data The user ID is added as an owner to the data to be recorded and recorded (# 16 (D2)). Thereafter, the database protection program 3a encrypts the data area to be concealed with the key (# 17 (A1)), and transmits the request data to the application server apparatus 1 (# 18).

次に、図3においてプロキシサーバ装置3は、アプリケーションサーバ装置1からレスポンスデータを受信すると(#19)、前述したようにタグ文字列を検索し(#20)、タグ文字列があるか否かを判断する(#21)。タグ文字列がないときは、復号化の必要のないデータであるため、クライアント端末装置2に送信する処理にジャンプする(#26)。一方、タグ文字列が存在するときは、復号化手段の実行に先立ち、セッションオブジェクトにユーザ情報があるか否かをチェックする(#22(C3))。これは、前述したように、正規のセッション接続処理を経ているか否かのチェックである。   Next, in FIG. 3, when the proxy server device 3 receives the response data from the application server device 1 (# 19), the proxy server device 3 searches for the tag character string as described above (# 20), and whether there is a tag character string or not. Is determined (# 21). If there is no tag character string, it is data that does not need to be decrypted, so the process jumps to the process of transmitting to the client terminal device 2 (# 26). On the other hand, when the tag character string exists, it is checked whether or not there is user information in the session object prior to execution of the decryption means (# 22 (C3)). As described above, this is a check as to whether or not a normal session connection process has been performed.

ここで、データベース保護プログラム3aは、セッションオブジェクトにユーザ情報が登録されているとき、セッションオブジェクトからユーザ情報を取得し(#23(D3))、これが、図2の#16(D2)で暗号化したデータに付与したユーザIDと一致しているか否かを照合し(#24(D4))、不一致であるときは、エラー処理を実行する(#27)。   Here, when the user information is registered in the session object, the database protection program 3a acquires the user information from the session object (# 23 (D3)), and this is encrypted by # 16 (D2) in FIG. It is checked whether or not it matches the user ID assigned to the data (# 24 (D4)). If they do not match, error processing is executed (# 27).

このように、図2〜図3において(D1)〜(D4)の符号を付けた、#15(D1)、#16(D2)、#23(D3)、#24(D4)の4つのステップを設けたので、本発明では、暗号化時の利用者と復号化時の利用者の整合性をチェックすることで、悪意のあるシステム開発者の不正な操作を排除することができる。   In this way, four steps # 15 (D1), # 16 (D2), # 23 (D3), and # 24 (D4), which are labeled (D1) to (D4) in FIGS. In the present invention, by checking the consistency between the user at the time of encryption and the user at the time of decryption, an unauthorized operation by a malicious system developer can be eliminated.

なお、本発明では、図3の#29の部分を、図4のように拡張すれば、アプリケーションサーバ装置1上の公開相手一覧ファイルに存在する特定の相手に対してのみ自己のデータを公開することも可能となる。すなわち、セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合し、その結果が不一致であったとき(#29−2)、データベース保護プログラム3aは、アプリケーションサーバ装置1から秘匿情報の所有者に関する署名付きユーザ情報を取得し(#30)、署名確認を行い(#31)、不一致であるときは、エラー処理を実行する(#35)。一方、署名が一致するときは、公開相手一覧ファイルにアクセスして突き合わせし(#32(E1))、ユーザIDが一致する公開相手が発見されたときは(#33(E2))、復号化処理を実行する(#34(E3))。   In the present invention, if the portion of # 29 in FIG. 3 is expanded as shown in FIG. 4, its own data is disclosed only to a specific partner existing in the public partner list file on the application server device 1. It is also possible. That is, when the user information acquired from the session object is collated with the user ID assigned to the encrypted data and the result is inconsistent (# 29-2), the database protection program 3a The signed user information related to the owner of the confidential information is acquired from the device 1 (# 30), the signature is confirmed (# 31), and if they do not match, error processing is executed (# 35). On the other hand, when the signatures match, the public partner list file is accessed and matched (# 32 (E1)), and when a public partner with a matching user ID is found (# 33 (E2)), decryption is performed. Processing is executed (# 34 (E3)).

このように、図4において(E1)〜(E3)の符号を付けた、#32(E1)、#33(E2)、#34(E3)の3つのステップを設けたので、本発明では、事前に公開相手一覧ファイルに登録しておいた特定の相手に対してのみ自己のデータを公開することが可能となる。   In this way, since the three steps # 32 (E1), # 33 (E2), and # 34 (E3) with the symbols (E1) to (E3) in FIG. 4 are provided, in the present invention, It becomes possible to publish own data only to a specific partner who is registered in the public partner list file in advance.

以上説明したように、本発明によれば、暗号化及び復号化に必要な鍵情報はプロキシサーバ装置に記録され、秘匿すべきデータは、プロキシサーバ装置によって暗号化されてデータベースに記録されるため、個人情報等へのアクセス権を有するシステム開発者が悪意のある者となった場合でも、暗号化されたデータしか閲覧できず、重要なデータの漏洩を防止することができる。また、既存のアプリケーションの変更は最小限にすることができる。   As described above, according to the present invention, key information necessary for encryption and decryption is recorded in the proxy server device, and data to be concealed is encrypted by the proxy server device and recorded in the database. Even when a system developer who has access rights to personal information or the like becomes a malicious person, only encrypted data can be viewed, and leakage of important data can be prevented. Also, changes to existing applications can be minimized.

また、プロキシサーバ装置は、アプリケーションやデータベースを有さないため、ソフトウェア改良、バックアップ、障害解析などの必要がなく、セキュリティポリシーを厳しくすることも容易となる。すなわち、本発明では、アプリケーションサーバ装置の方のセキュリティポリシーを必要以上に厳しくする必要がなくなり、結果として、セキュリティにかけるコストを低減することができる。   Further, since the proxy server device does not have an application or a database, there is no need for software improvement, backup, failure analysis, etc., and it becomes easy to tighten security policies. That is, in the present invention, it is not necessary to make the security policy of the application server device stricter than necessary, and as a result, the cost for security can be reduced.

なお、本実施例では、1つのアプリケーションサーバ装置のデータをインターセプトする場合の例を開示したが、本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法は、1つのプロキシサーバ装置が、複数のアプリケーションサーバ装置のデータをインターセプトするように構成して、それぞれ同様の暗号化処理を行うようにしても良い。このように、複数のアプリケーションサーバ装置の暗号化処理を1つのプロキシサーバ装置に集約させれば、セキュリティコスト低減の効果はさらに大きなものとなる。   In this embodiment, an example in which data of one application server device is intercepted is disclosed. However, the database protection system, the proxy server device, the database protection program, and the database protection method of the present invention are one proxy server device. However, the data of a plurality of application server devices may be intercepted, and the same encryption processing may be performed respectively. In this way, if the encryption processing of a plurality of application server devices is consolidated into one proxy server device, the effect of reducing the security cost is further increased.

本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法は、例えばシステム開発業者により生産、販売され、産業上、利用されるものである。   The database protection system, proxy server device, database protection program, and database protection method of the present invention are produced and sold by, for example, a system developer and used industrially.

本発明の全体構成を示す概念図である。It is a conceptual diagram which shows the whole structure of this invention. 本発明の暗号化処理のフローチャート図である。It is a flowchart figure of the encryption process of this invention. 本発明の復号化処理のフローチャート図である。It is a flowchart figure of the decoding process of this invention. 公開相手一覧を利用する場合の本発明のフローチャート図である。It is a flowchart figure of this invention in the case of using a public partner list. 従来のアプリケーションサーバ装置の構成を説明する図である。It is a figure explaining the structure of the conventional application server apparatus.

符号の説明Explanation of symbols

1 アプリケーションサーバ装置
1a データベース
1b アプリケーション
2 クライアント端末装置
3 プロキシサーバ装置
3a 設定ファイル
DESCRIPTION OF SYMBOLS 1 Application server apparatus 1a Database 1b Application 2 Client terminal apparatus 3 Proxy server apparatus 3a Setting file

Claims (17)

アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するシステムであって、
前記プロキシサーバ装置は、
鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、
前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、
前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、
を備えていることを特徴とするデータベース保護システム。
A system for protecting database information accessed by an application of the application server device using a proxy server device that intercepts data transmitted and received between the application server device and the client terminal device,
The proxy server device
It is possible to access a setting file that records key information and data information that should be kept secret,
An encryption means for encrypting a predetermined area in the request data received from the client terminal based on the information recorded in the setting file;
Decryption means for decrypting an area encrypted by the encryption means in response data to the request data received from the application server device;
A database protection system characterized by comprising:
アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するためのプロキシサーバ装置であって、
鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、
前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、
前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、
を備えていることを特徴とするプロキシサーバ装置。
A proxy server device for protecting database information accessed by an application of an application server device,
It is possible to access a setting file that records key information and data information that should be kept secret,
An encryption means for encrypting a predetermined area in the request data received from the client terminal based on the information recorded in the setting file;
Decryption means for decrypting an area encrypted by the encryption means in response data to the request data received from the application server device;
A proxy server device comprising:
前記暗号化手段において、前記設定ファイルに記録された情報に基づいてリクエストデータ中の所定の領域を暗号化するときに、その暗号化する領域の前後にタグ文字列を挿入するとともに、
前記復号化手段では、前記タグ文字列を文字列検索して、暗号化された領域を発見することを特徴とする請求項1記載のデータベース保護システム、又は、請求項2記載のプロキシサーバ装置。
In the encryption means, when encrypting a predetermined area in the request data based on the information recorded in the setting file, a tag character string is inserted before and after the area to be encrypted,
3. The database protection system according to claim 1, or the proxy server device according to claim 2, wherein the decrypting means searches the tag character string for a character string to find an encrypted area.
前記リクエストデータがユーザ登録処理のリクエストであるとき、
前記プロキシサーバ装置は、前記リクエストデータ中にユーザ情報に対する署名情報を記録する手段を実行するとともに、前記リクエストデータを受信した前記アプリケーションサーバ装置は、前記署名付きユーザー情報を署名情報記録ファイルに保存する手段を実行し、
次に前記プロキシサーバ装置がログイン処理のリクエストデータを受信したとき、
前記プロキシサーバ装置は、前記署名情報記録ファイルにアクセスして前記署名付きユーザ情報を取得するとともに、前記ログイン処理のリクエストデータの署名と一致するか否かを照合する手段を実行し、不一致であるときは、エラー処理を実行することを特徴とする請求項1記載のデータベース保護システム、又は、請求項2記載のプロキシサーバ装置。
When the request data is a request for user registration processing,
The proxy server device executes means for recording signature information for user information in the request data, and the application server device that has received the request data stores the signed user information in a signature information recording file. Implement means,
Next, when the proxy server device receives request data for login processing,
The proxy server device obtains the signed user information by accessing the signature information recording file, and executes means for checking whether or not it matches the signature of the request data of the login process. 3. The database protection system according to claim 1, or the proxy server device according to claim 2, wherein error processing is executed.
前記リクエストデータがログイン処理のリクエストであるとき、
前記プロキシサーバ装置は、セッションオブジェクトにユーザ情報を保存する手段を実行し、
次に前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信したとき、
前記プロキシサーバ装置は、前記セッションオブジェクトにユーザ情報が登録されているか否かを照合する手段を実行し、未登録であるときは、エラー処理を実行することを特徴とする請求項1記載のデータベース保護システム、又は、請求項2記載のプロキシサーバ装置。
When the request data is a request for login processing,
The proxy server device executes means for storing user information in a session object;
Next, when the proxy server device receives a request including data to be concealed,
2. The database according to claim 1, wherein the proxy server device executes means for checking whether user information is registered in the session object, and executes error processing when the user information is not registered. The proxy server apparatus according to claim 2 or a protection system.
請求項5記載のデータベース保護システム、又は、プロキシサーバ装置において、前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信し、かつ、前記セッションオブジェクトにユーザ情報が登録されているとき、
前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、リクエストデータ中の秘匿すべきデータにユーザIDを付与し、
次に前記プロキシサーバ装置が前記復号化手段を実行するとき、
前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、暗号化されたデータに付与されているユーザIDと一致しているか否かを照合し、不一致であるときは、エラー処理を実行することを特徴とするデータベース保護システム、又は、プロキシサーバ装置。
The database protection system or the proxy server device according to claim 5, wherein when the proxy server device receives a request including data to be concealed and user information is registered in the session object,
The proxy server device acquires user information from the session object, gives a user ID to data to be concealed in request data,
Next, when the proxy server device executes the decryption means,
The proxy server device acquires user information from the session object, checks whether or not it matches a user ID assigned to the encrypted data, and executes error processing if they do not match A database protection system or a proxy server device.
前記プロキシサーバ装置は、前記アプリケーションサーバ装置上の公開相手一覧ファイルにアクセス可能であるとともに、
前記復号化処理において、前記プロキシサーバ装置が前記セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合結果が不一致であるとき、
前記プロキシサーバ装置は、前記公開相手一覧ファイルにアクセスして突き合わせし、ユーザIDが一致する公開相手が発見されたとき、復号化処理を行うことを特徴とする請求項6記載のデータベース保護システム、又は、プロキシサーバ装置。
The proxy server device can access a public partner list file on the application server device,
In the decryption process, when the user information acquired from the session object by the proxy server device does not match the verification result of the user ID assigned to the encrypted data,
The database protection system according to claim 6, wherein the proxy server device accesses and matches the public partner list file, and performs decryption processing when a public partner with a matching user ID is found. Or a proxy server device.
前記プロキシサーバ装置は、前記アプリケーションサーバ装置と異なる場所に設置してセキュリティレベルを高くする一方、前記アプリケーションサーバ装置のセキュリティレベルは、前記プロキシサーバ装置よりも低くしたことを特徴とする請求項1乃至7の何れかに記載のデータベース保護システム、又は、プロキシサーバ装置。   2. The proxy server device according to claim 1, wherein the proxy server device is installed at a different location from the application server device to increase a security level, while the security level of the application server device is lower than that of the proxy server device. 8. The database protection system or the proxy server device according to any one of 7. 前記プロキシサーバ装置は、鍵情報と前記設定ファイル以外にユーザデータを保存していないことを特徴とする請求項1乃至8の何れかに記載のデータベース保護システム、又は、プロキシサーバ装置。   9. The database protection system or proxy server apparatus according to claim 1, wherein the proxy server apparatus stores no user data other than key information and the setting file. アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置に、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する処理を行わせるためのプログラムであって、
前記クライアント端末装置からのリクエストデータを受信するステップと、
鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、 前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、
前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、
前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、
前記レスポンスデータ中の暗号化されている領域を復号化する復号化ステップと、
前記クライアント端末に前記レスポンスデータを送信するステップと、
を前記プロキシサーバ装置に行わせるためのデータベース保護プログラム。
A program for causing a proxy server device that intercepts data transmitted and received between an application server device and a client terminal device to perform processing for protecting database information accessed by an application of the application server device,
Receiving request data from the client terminal device;
A step of accessing a setting file in which key information and information of data to be concealed are recorded; and a cipher for encrypting a predetermined area in the request data received from the client terminal based on the information recorded in the setting file Step,
Transmitting the request data to the application server device;
Receiving response data for the request data from the application server device;
A decryption step of decrypting an encrypted area in the response data;
Transmitting the response data to the client terminal;
A database protection program for causing the proxy server device to perform
アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する方法であって、
前記プロキシサーバ装置に、
前記クライアント端末装置からのリクエストデータを受信するステップと、
鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、 前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、
前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、
前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、
前記レスポンスデータ中の前記暗号化ステップにより暗号化された領域を復号化する復号化ステップと、
前記クライアント端末に前記レスポンスデータを送信するステップと、
を行わせることを特徴とするデータベース保護方法。
A method for protecting database information accessed by an application of the application server device using a proxy server device that intercepts data transmitted and received between the application server device and the client terminal device,
In the proxy server device,
Receiving request data from the client terminal device;
A step of accessing a setting file in which key information and information of data to be concealed are recorded; and a cipher for encrypting a predetermined area in the request data received from the client terminal based on the information recorded in the setting file Step,
Transmitting the request data to the application server device;
Receiving response data for the request data from the application server device;
A decryption step of decrypting the region encrypted by the encryption step in the response data;
Transmitting the response data to the client terminal;
A database protection method, characterized by:
前記暗号化ステップにおいて、前記設定ファイルに記録された情報に基づいてリクエストデータ中の所定の領域を暗号化するときに、その暗号化する領域の前後にタグ文字列を挿入するとともに、
前記復号化ステップでは、前記タグ文字列を文字列検索して、暗号化された領域を発見することを特徴とする請求項10記載のデータベース保護プログラム、又は、請求項11記載のデータベース保護方法。
In the encryption step, when encrypting a predetermined area in the request data based on the information recorded in the setting file, a tag character string is inserted before and after the area to be encrypted,
The database protection program according to claim 10 or the database protection method according to claim 11, wherein in the decryption step, the tag character string is searched for a character string to find an encrypted area.
前記リクエストデータがユーザ登録処理のリクエストであるとき、
前記プロキシサーバ装置に、前記リクエストデータ中にユーザ情報に対する署名情報を記録するステップを実行させ、
前記リクエストデータを受信した前記アプリケーションサーバ装置が、前記署名付きユーザ情報を署名情報記録ファイルに保存した後、次に前記プロキシサーバ装置がログイン処理のリクエストデータを受信したとき、
前記プロキシサーバ装置に、前記署名情報記録ファイルにアクセスして署名付きユーザ情報を取得させるとともに、前記ログイン処理のリクエストの署名と一致するか否かを照合するステップを実行させ、不一致であるときは、エラー処理のステップを実行させることを特徴とする請求項10記載のデータベース保護プログラム、又は、請求項11記載のデータベース保護方法。
When the request data is a request for user registration processing,
Causing the proxy server device to execute a step of recording signature information for user information in the request data;
When the application server device that has received the request data stores the signed user information in a signature information recording file, and then the proxy server device receives request data for login processing,
When the proxy server device accesses the signature information recording file to acquire signed user information and executes a step of checking whether or not it matches the signature of the request for the login process. 12. The database protection program according to claim 10, or the database protection method according to claim 11, wherein an error processing step is executed.
前記リクエストデータがログイン処理のリクエストであるとき、
前記プロキシサーバ装置に、セッションオブジェクトにユーザ情報を保存するステップを実行させ、
次に前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信したとき、
前記プロキシサーバ装置に、前記セッションオブジェクトにユーザ情報が登録されているか否かを照合するステップを実行させ、未登録であるときは、エラー処理のステップを実行させることを特徴とする請求項10記載のデータベース保護プログラム、又は、請求項11記載のデータベース保護方法。
When the request data is a request for login processing,
Causing the proxy server device to execute a step of storing user information in a session object;
Next, when the proxy server device receives a request containing data to be concealed,
11. The proxy server device is caused to execute a step of checking whether or not user information is registered in the session object, and when not registered, an error processing step is executed. The database protection program of Claim 11 or the database protection method of Claim 11.
請求項14記載のデータベース保護プログラム、又は、データベース保護方法において、前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信し、かつ、前記セッションオブジェクトにユーザ情報が登録されているとき、
前記プロキシサーバ装置に、前記セッションオブジェクトからユーザ情報を取得し、リクエストデータ中の秘匿すべきデータにユーザIDを付与するステップを実行させ、
次に前記プロキシサーバ装置が前記復号化手段を実行するとき、
前記プロキシサーバ装置に、前記セッションオブジェクトからユーザ情報を取得し、暗号化されたデータに付与されているユーザIDと一致しているか否かを照合するステップを実行させ、不一致であるときは、エラー処理のステップを実行させることを特徴とするデータベース保護プログラム、又は、データベース保護方法。
15. The database protection program or the database protection method according to claim 14, wherein the proxy server device receives a request including data to be concealed and user information is registered in the session object.
Causing the proxy server device to acquire user information from the session object, and to execute a step of assigning a user ID to data to be concealed in request data;
Next, when the proxy server device executes the decryption means,
The proxy server device acquires user information from the session object, and executes a step of checking whether or not the user ID assigned to the encrypted data matches, and if it does not match, an error occurs. A database protection program or a database protection method characterized by causing a processing step to be executed.
前記プロキシサーバ装置は、公開相手一覧ファイルにアクセス可能であるとともに、
前記復号化処理において、前記プロキシサーバ装置が前記セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合結果が不一致であるとき、
前記プロキシサーバ装置に、前記公開相手一覧ファイルにアクセスして突き合わせし、ユーザIDが一致する公開相手が発見されたとき、復号化処理を行うステップを実行させることを特徴とする請求項15記載のデータベース保護プログラム、又は、データベース保護方法。
The proxy server device can access a public partner list file,
In the decryption process, when the user information acquired from the session object by the proxy server device does not match the verification result of the user ID assigned to the encrypted data,
16. The proxy server device according to claim 15, wherein the proxy server device accesses and matches the public partner list file, and executes a step of performing decryption processing when a public partner with a matching user ID is found. Database protection program or database protection method.
請求項10、12、13、14、15、16の何れかに記載のデータベース保護プログラムを記録したコンピュータ読み取り可能な記憶媒体。
A computer-readable storage medium in which the database protection program according to any one of claims 10, 12, 13, 14, 15, and 16 is recorded.
JP2004127047A 2004-04-22 2004-04-22 Database protection system Pending JP2005309846A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004127047A JP2005309846A (en) 2004-04-22 2004-04-22 Database protection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004127047A JP2005309846A (en) 2004-04-22 2004-04-22 Database protection system

Publications (1)

Publication Number Publication Date
JP2005309846A true JP2005309846A (en) 2005-11-04

Family

ID=35438540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004127047A Pending JP2005309846A (en) 2004-04-22 2004-04-22 Database protection system

Country Status (1)

Country Link
JP (1) JP2005309846A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097420A (en) * 2006-10-13 2008-04-24 Chugoku Electric Power Co Inc:The Information management system and information management method
JP2008177821A (en) * 2007-01-18 2008-07-31 Hitachi Ltd Concealing method for making information confidential, and apparatus for making information confidental
JP2009129010A (en) * 2007-11-20 2009-06-11 Hitachi Ltd Information processor, information processing system, and information processing method
JP2011065334A (en) * 2009-09-16 2011-03-31 Fujitsu Ltd Relay device, communication relay program, and communication relay method
JP2014092801A (en) * 2012-10-31 2014-05-19 Science Park Corp Network system, management method of electronic data for network system, program therefor and storage medium for program
US8925046B2 (en) 2012-05-21 2014-12-30 Fujitsu Limited Device, method, and recording medium
JP2020502896A (en) * 2016-12-16 2020-01-23 アマゾン・テクノロジーズ、インコーポレイテッド Secure distribution of sensitive data over content distribution networks
US10979403B1 (en) 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement
US11159498B1 (en) 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4731443B2 (en) * 2006-10-13 2011-07-27 中国電力株式会社 Information management system and information management method
JP2008097420A (en) * 2006-10-13 2008-04-24 Chugoku Electric Power Co Inc:The Information management system and information management method
JP2008177821A (en) * 2007-01-18 2008-07-31 Hitachi Ltd Concealing method for making information confidential, and apparatus for making information confidental
JP2009129010A (en) * 2007-11-20 2009-06-11 Hitachi Ltd Information processor, information processing system, and information processing method
JP4734311B2 (en) * 2007-11-20 2011-07-27 株式会社日立製作所 Information processing system, confidential data management device, and program
JP2011065334A (en) * 2009-09-16 2011-03-31 Fujitsu Ltd Relay device, communication relay program, and communication relay method
US8925046B2 (en) 2012-05-21 2014-12-30 Fujitsu Limited Device, method, and recording medium
JP2014092801A (en) * 2012-10-31 2014-05-19 Science Park Corp Network system, management method of electronic data for network system, program therefor and storage medium for program
JP2020502896A (en) * 2016-12-16 2020-01-23 アマゾン・テクノロジーズ、インコーポレイテッド Secure distribution of sensitive data over content distribution networks
US10887291B2 (en) 2016-12-16 2021-01-05 Amazon Technologies, Inc. Secure data distribution of sensitive data across content delivery networks
JP7036494B2 (en) 2016-12-16 2022-03-15 アマゾン・テクノロジーズ、インコーポレイテッド Secure data distribution of sensitive data over content delivery networks
US11159498B1 (en) 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service
US10979403B1 (en) 2018-06-08 2021-04-13 Amazon Technologies, Inc. Cryptographic configuration enforcement

Similar Documents

Publication Publication Date Title
CN110799941B (en) Anti-theft and tamper-proof data protection
US9813444B2 (en) Reliable selection of security countermeasures
US5864683A (en) System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
CN109923548A (en) Method, system and the computer program product that encryption data realizes data protection are accessed by supervisory process
EP1860590B1 (en) Posture-based data protection
US6173402B1 (en) Technique for localizing keyphrase-based data encryption and decryption
JP5270694B2 (en) Client computer, server computer thereof, method and computer program for protecting confidential file
KR100615021B1 (en) Contents distributing/receiving method
Kesh et al. A framework for analyzing e‐commerce security
US20110296164A1 (en) System and method for providing secure network services
KR20030036787A (en) System for establishing an audit trail to protect objects distributed over a network
WO2002023798A1 (en) System for protecting objects distributed over a network
KR101373542B1 (en) System for Privacy Protection which uses Logical Network Division Method based on Virtualization
CN105740725A (en) File protection method and system
KR100440037B1 (en) Document security system
JP5380063B2 (en) DRM system
KR101042234B1 (en) Method for protecting from unauthorized reading a classified digital document using location authentication in client document protection program
JP2005309846A (en) Database protection system
Raisian et al. Security issues model on cloud computing: A case of Malaysia
WO2019235450A1 (en) Information processing device, information processing method, information processing program, and information processing system
JP2007201685A (en) Secure information-content disclosure method using certification authority
JP2008035449A (en) Data distributing method using self-decryption file and information processing system using the same
WO2018034192A1 (en) Information processing device, information processing method, and storage medium
Halcrow Demands, solutions, and improvements for Linux filesystem security
Fataniya A Survey of Database Security Challenges, Issues and Solution