[go: up one dir, main page]

JP2005309846A - データベース保護システム - Google Patents

データベース保護システム 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
English (en)
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/ja
Publication of JP2005309846A publication Critical patent/JP2005309846A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 データベースの個人情報を保護するシステムであって、特に、悪意のあるシステム開発者からも個人情報を保護することが可能で、しかも、セキュリティにかけるコストも低減できるデータベース保護システムを提供する。
【解決手段】 アプリケーションサーバ装置1とクライアント端末装置2の間で送受信されるデータをインターセプトするプロキシサーバ装置3は、鍵情報と秘匿すべきデータの情報を記録した設定ファイル3aの情報に基づいて、クライアント端末2から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、アプリケーションサーバ装置1から受信したレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段を実行する。
【選択図】 図1


Description

本発明は、プロキシサーバ装置を用いて、アプリケーションサーバ装置がアクセスするデータベースの情報を保護するシステムに関し、特に、悪意のあるシステム開発者からもデータを守ることができるように構成されたデータベース保護システムに関する。
ネットワーク技術の進歩に伴い、例えば病院や官公庁等の個人情報を取り扱う施設においても、ネットワークを介して種々の情報を提供するシステムが採用されつつある。このようなネットワークシステムの中核となるものの一つが、図5に示すような、アプリケーションサーバ装置100である。
図5のアプリケーションサーバ装置100は、クライアント端末装置101からの要求に応じて、データベース102にアクセスするWebアプリケーション103が動作するように構成されており、データベース102に種々の情報を蓄積しておくと、クライアント端末装置101から、データベース102を閲覧することができる。なお、図5の例では、クライアント端末装置101は、http(Hyper Text Transfer Protocol)の規定に従ったリクエストデータ104(HTTP Request)を送信し、これに対してアプリケーションサーバ装置100は、データベース102の問い合わせ結果を含むレスポンスデータ105(HTTP Response )を送信している。
このようなアプリケーションサーバ装置100を利用したシステムでは、データベース102に登録した個人情報等が外部に流出すると、社会的信用の失墜、顧客の減少等、企業の損失は計り知れないものとなる。そこで、データベース102に不正にアクセスして個人情報等を漏洩しようとする悪意のある者から、データベース102に登録した情報をいかに保護するかが問題となる。
現在よく利用されている簡便な対策としては、OS又はデータベースの機能により、アクセス権のレベルの異なるユーザIDとパスワードを数種類設定し、個人情報等を含むデータは、最も強いアクセス権を有する特定のユーザIDの利用者でなければ、閲覧できないようにする方法がある。この場合、個人情報等へのアクセスも許可される特定のユーザIDは、システム管理者や一定のシステム開発者に与えられるケースが多い。
また、上記のようなユーザIDによる本人認証では、データベースに対するセキュリティは高くなるが、一旦読み出されたデータ自身にはセキュリティ機能がなく、外部に漏洩する危険性があることから、例えば、特許文献1には、データベースのファイル自体に認証データを埋め込むことにより、表示の可否の認証を行うファイルセキュリティシステムが提案されている。
特開2002−149603号公報
また、データ通信における秘匿性の保障等の目的から、データを暗号化して通信することも行われている。例えば、公開鍵暗号方式(PKI:Public Key Infrastructure )では暗号化と復号化で異なる一対の鍵を使用する。この一対の鍵は「秘密鍵」と「公開鍵」と呼ばれ、片方の鍵を使って暗号化したデータはそれと対になっているもう一方の鍵を使用しなければ復号化できない。
これにより、ユーザは、自己の秘密鍵を公開せずに保管しておけば暗号化の秘匿性を保障することができ、また、あるユーザの公開鍵を持っていれば、当該ユーザと暗号化データをのやり取りを行うことができる。例えば、XとYが通信をするときは、Xが、自己の秘密鍵と相手(Y)の公開鍵を用いて暗号化したデータは、Yが、相手(X)の公開鍵と自己の秘密鍵を用いることにより復号化することができる。
例えば、アプリケーションサーバ装置を含むローカルエリアネットワークとインターネットとの境界部分にファイアウォールを設け、クライアント端末装置とアプリケーションサーバ装置の間で送受信されるデータを暗号化し、データベースには復号化したデータを保存しているシステムも多く見受けられる。
しかしながら、上記のようなユーザIDによる本人認証は、アクセス権のない者がデータベースにアクセスすることを拒否することはできるが、アクセス権を与えられたシステム開発者が悪意のある者に転じて個人情報を漏洩するケースに対しては、効果がない。実際のところ、最近、悪意のあるシステム開発者が個人情報を流出させる事件が多発している。また、上記のようなファイルセキュリティシステムや、データの暗号化技術についても、復号化に必要な認証データや秘密鍵の情報にアクセス可能なシステム開発者が悪意のある者となった場合、同様の問題がある。
そのため、従来は、個人情報へのアクセス権を有する者によるデータ漏洩の問題に対しては、セキュリティポリシーを厳しくし、人の運用を徹底するしか対策がない状況であった。例えば、システム部門の部長が出社してIDカードを挿入しなければ、システム開発者であってもデータベースの個人情報には一切アクセスできないように設定したならば、その決められた運用を徹底する必要がある。
しかし、一般にアプリケーションサーバ装置においては、システム開発者はソフトウェアの改良、バックアップの採取、障害原因の解析などの目的で、頻繁にシステムに特権でアクセスする必要がある。そうすると、例えば、システム開発者が、バックアップの採取や障害原因の解析などの目的で休日出勤するときは、部長も休日出勤するようにしなければ、セキュリティポリシーは維持できない。この例からも容易に想像できるように、アプリケーションサーバ装置において、セキュリティポリシーを厳しくすることは、Webアプリケーションの開発やデータベースの利用上、制約が極めて多くなり、結果として、セキュリティにかけるコストを増大させるという問題があった。
また、ファイアウォールを設け、ネットワークの部分のみ暗号化しているシステムは、個人情報を漏洩するのは、外部から侵入してくる者に限られるという前提に立つもので、内部の者がデータを漏洩する問題には全く対処できていない。また、従来は、データベースを含むアプリケーションサーバ装置側で認証データや秘密鍵の情報等を保存していたため、バックアップを頻繁に取る必要があるという問題もあった。
なお、アプリケーションサーバ装置上で動作する暗号化ソフトにより、アプリケーションがデータベースに書き込みするときに特定の項目のみ暗号化を行う方式は公知である。しかし、暗号化ソフトを利用した方式も、暗号化ソフトに対するアクセス権を有する悪意のあるシステム開発者からデータベースを守れない点は同じである上、既存のアプリケーションの処理を大きく変更しなければならないという問題があった。
本発明は、上記した従来の問題点に鑑みてなされたものであり、悪意のあるシステム開発者からデータベースを保護することが可能で、既存のアプリケーションの変更を最小限にし、しかも、セキュリティにかけるコストも低減できるデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、及び、データベース保護方法を提供することを目的としている。
本発明のデータベース保護システムは、アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するシステムであって、前記プロキシサーバ装置は、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、を備えていることを最も主要な特徴とする。
また、本発明のプロキシサーバ装置は、アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するためのプロキシサーバ装置であって、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、を備えていることを最も主要な特徴とする。
また、本発明のデータベース保護プログラムは、アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置に、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する処理を行わせるためのプログラムであって、前記クライアント端末装置からのリクエストデータを受信するステップと、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、前記レスポンスデータ中の暗号化されている領域を復号化する復号化ステップと、前記クライアント端末に前記レスポンスデータを送信するステップと、を前記プロキシサーバ装置に行わせることを最も主要な特徴とする。
また、本発明のデータベース保護方法は、アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する方法であって、前記プロキシサーバ装置に、前記クライアント端末装置からのリクエストデータを受信するステップと、鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、前記レスポンスデータ中の前記暗号化ステップにより暗号化された領域を復号化する復号化ステップと、前記クライアント端末に前記レスポンスデータを送信するステップと、を行わせることを最も主要な特徴とする。
本発明によれば、暗号化及び復号化に必要な鍵情報はプロキシサーバ装置に記録され、秘匿すべきデータは、プロキシサーバ装置によって暗号化されてデータベースに記録されるため、個人情報等へのアクセス権を有するシステム開発者が悪意のある者となった場合でも、暗号化されたデータしか閲覧できず、重要なデータの漏洩を防止できるという効果が得られる。
また、プロキシサーバ装置は、アプリケーションやデータベースを有さないため、ソフトウェア改良、バックアップ、障害解析などの必要がなく、セキュリティポリシーを厳しくすることも容易となる。すなわち、本発明では、アプリケーションサーバ装置の方のセキュリティポリシーを必要以上に厳しくする必要がなくなり、結果として、セキュリティにかけるコストを低減することができる。
本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法は、上記のとおりの構成のものであるが、本発明は、より望ましい実施の形態として、以下の構成を採用できる。
先ず、前記データベース保護システム、前記プロキシサーバ装置、前記データベース保護プログラム、又は、前記データベース保護方法において、前記設定ファイルに記録された情報に基づいてリクエストデータ中の所定の領域を暗号化するときに、その暗号化する領域の前後にタグ文字列を挿入するとともに、前記復号化手段では、前記タグ文字列を文字列検索して、暗号化された領域を発見するようにすれば、データベースの項目の単位に依存せず、リクエストデータ中の任意の領域を暗号化及び復号化することができるので、好適である。
また、前記データベース保護システム、前記プロキシサーバ装置、前記データベース保護プログラム、又は、前記データベース保護方法において、前記リクエストデータがユーザ登録処理のリクエストであるとき、前記プロキシサーバ装置は、前記リクエストデータ中にユーザ情報に対する署名情報を記録する手段又はステップを実行するとともに、前記リクエストデータを受信した前記アプリケーションサーバ装置は、前記署名付きユーザ情報を署名情報記録ファイルに保存する手段又はステップを実行し、次に前記プロキシサーバ装置がログイン処理のリクエストデータを受信したとき、前記プロキシサーバ装置は、前記署名情報記録ファイルにアクセスして前記署名付きユーザ情報を取得するとともに、前記ログイン処理のリクエストデータの署名と一致するか否かを照合する手段又はステップを実行し、不一致であるときは、エラー処理を実行するように構成すれば、正規のユーザ登録処理を経ていない不正なログインをエラーとして排除できるので、好適である。
また、前記データベース保護システム、前記プロキシサーバ装置、前記データベース保護プログラム、又は、前記データベース保護方法において、前記リクエストデータがログイン処理のリクエストであるとき、前記プロキシサーバ装置は、セッションオブジェクトにユーザ情報を保存する手段又はステップを実行し、次に前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信したとき、前記プロキシサーバ装置は、前記セッションオブジェクトにユーザ情報が登録されているか否かを照合する手段又はステップを実行し、未登録であるときは、エラー処理を実行するように構成すれば、正規にセッション接続していない不正な操作を排除できるため、好適である。
さらに、前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信し、かつ、前記セッションオブジェクトにユーザ情報が登録されているとき、前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、リクエストデータ中の秘匿すべきデータにユーザIDを付与し、次に前記プロキシサーバ装置が前記復号化手段又はステップを実行するとき、前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、暗号化されたデータに付与されているユーザIDと一致しているか否かを照合し、不一致であるときは、エラー処理を実行するように構成すれば、暗号化時の利用者と復号化時の利用者の整合性をチェックすることで不正な操作を排除できるので、好適である。
さらに、前記プロキシサーバ装置が、前記アプリケーションサーバ装置上の公開相手一覧ファイルにアクセス可能であるとともに、前記復号化処理において、前記プロキシサーバ装置が前記セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合結果が不一致であるとき、前記プロキシサーバ装置は、前記公開相手一覧ファイルにアクセスして突き合わせし、ユーザIDが一致する公開相手が発見されたとき、復号化処理を行うように構成すれば、公開相手一覧ファイルに存在する特定の相手に対してのみ自己のデータを公開することも可能となる。
また、前記データベース保護システム、又は、前記プロキシサーバ装置において、前記プロキシサーバ装置は、前記アプリケーションサーバ装置と異なる場所に設置してセキュリティレベルを高くする一方、前記アプリケーションサーバ装置のセキュリティレベルは、前記プロキシサーバ装置よりも低くするように構成すれば、セキュリティギャップが明確となり、全体としてセキュリティにかけるコストの低減が図れるので、望ましい。
また、前記プロキシサーバ装置が鍵情報と前記設定ファイル以外にユーザデータを保存していないものであれば、プロキシサーバ装置のバックアップを頻繁に取る必要がなくなるので、好適である。
なお、前記データベース保護プログラムは、例えばCD−ROM、DVD、磁気ディスク装置等、任意のコンピュータ読み取り可能な記憶媒体に記憶させることができる。
以下、本発明を添付図面に示す実施例に基づいて詳細に説明する。図1は、本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法の全体構成を示した概念図である。
アプリケーションサーバ装置1は、クライアント端末装置2からの要求に応じて、データベース1aにアクセスするWebアプリケーション1bが起動するように構成されており、利用者は、クライアント端末装置2から、データベース1aに登録した種々の情報を閲覧することができる。
3は、本発明のプロキシサーバ装置を示しており、本発明のデータベース保護プログラム3aは、このプロキシサーバ装置3上で動作する。本発明のデータベース保護システム及びデータベース保護方法は、プロキシサーバ装置3を用いてアプリケーションサーバ装置1とクライアント端末装置2の間で送受信されるデータをインターセプトし、所定のデータの暗号化、復号化を行うものである。なお、3bは、暗号化、復号化を行うのに必要な鍵情報や秘匿すべきデータの項目名の情報等を記録する設定ファイルを示している。
図1の例では、クライアント端末装置2は、http(Hyper Text Transfer Protocol)の規定に従ったリクエストデータ4a(HTTP Request)を送信している。リクエストデータ4aがデータベースの更新処理であった場合、これをインターセプトしたプロキシサーバ装置3は、データベース保護プログラム3aが、設定ファイル3bの情報に基づいて必要に応じてリクエストデータ4a中の所定の領域を暗号化し、その後、リクエストデータ4b(HTTP Request)をアプリケーションサーバ装置1に送信する。アプリケーションサーバ装置1は、データベース1aを更新し、データベース1aに暗号化されたデータを格納する。
次に、リクエストデータ4aが、参照処理であった場合、アプリケーションサーバ装置1は、Webアプリケーション1bが、データベース1aから暗号化された状態のデータを読み出し、レスポンスデータ4c(HTTP Response )を送信する。これをインターセプトしたプロキシサーバ装置3は、データベース保護プログラム3aが、設定ファイル3bの情報に基づいて暗号化された所定の領域を復号化し、その後、レスポンスデータ4d(HTTP Response )をクライアント端末装置2に送信する。従って、クライアント端末装置2に表示されるデータは、復号化された状態のものとなっている。
本発明によれば、暗号化及び復号化に必要な鍵情報はプロキシサーバ装置3の設定ファイル3bに記録され、個人情報等の秘匿すべきデータは、プロキシサーバ装置3によって暗号化されてデータベース1aに記録されるため、個人情報等へのアクセス権を有するシステム開発者が悪意のある者となった場合でも、暗号化されたデータしか閲覧できず、重要なデータの漏洩を防止できるという効果が得られる。
また、プロキシサーバ装置3は、アプリケーションやデータベースを有さないため、セキュリティポリシーを厳しくすることも容易である。すなわち、本発明では、アプリケーションサーバ装置1のセキュリティポリシーを必要以上に厳しくする必要がなくなり、結果として、セキュリティにかけるコストを低減することができる。特に、プロキシサーバ装置3を、アプリケーションサーバ装置1とは異なる場所に設置してセキュリティレベルを高くする一方、アプリケーションサーバ装置1のセキュリティレベルは、プロキシサーバ装置3よりも低くするように構成すれば、セキュリティギャップが明確となり、全体としてセキュリティにかけるコストの低減が図れる。なお、プロキシサーバ装置3は、設定ファイル3b以外にユーザデータを保存していないため、バックアップを頻繁に取る必要がないという利点もある。
次に、図2〜図4を参照して、本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法の処理を、さらに詳細に説明する。
プロキシサーバ装置3は、クライアント端末装置2から、リクエストデータを受信し(#1)、Cookie情報から現在セッションを接続している相手の情報が格納されているセッションオブジェクトを取得する(#2)。
プロキシサーバ装置3の設定ファイル3aには、暗号化に必要となる鍵情報のほか、ログイン処理の要求であることを示すログインURLの情報と、秘匿すべきデータが含まれていることを示す秘匿情報URLの情報と、ユーザー登録処理であることを示すユーザ登録URLの情報が記録されている(#3−2)。プロキシサーバ装置3のデータベース保護プログラム3aは、クライアント端末装置2からリクエストデータを受信すると、上記各URLの情報と一致するか否かを照合する(#3)。
最初に、本発明の最も基本的な処理について説明する。データベース保護プログラム3aは、リクエストデータが秘匿情報URLと一致するときは、設定ファイル3aから、鍵情報と秘匿すべきデータの項目名の情報を取得し、リクエストデータ中の所定の領域を暗号化する(図2の#17(A1))。このとき、データベース保護プログラム3aは、暗号化する領域の前後に、タグ文字列を挿入する。
次にプロキシサーバ装置3が、アプリケーションサーバ装置2からレスポンスデータを受信したとき、データベース保護プログラム3aは、図3に示すように、タグ文字列を文字列検索し(#20(A3))、タグ文字列が存在するときは、暗号化されたデータが存在するため、復号化手段を実行する(#25(A2))。このように本発明では、暗号化する領域の前後にタグ文字列を挿入するように構成したので、データベースの項目の単位に依存せず、リクエストデータ中の任意の領域を暗号化及び復号化することができる。
次に、図2に戻り、本発明のデータベース保護プログラムの処理を時系列に従ってさらに詳細に説明する。
先ず、受信したリクエストデータが、ユーザ登録URLと一致している場合、リクエストデータ中には、ユーザ登録に必要となるパスワードの情報が含まれている。設定ファイル3には、パスワードのデータが含まれる項目名の情報が記録されており、データベース保護プログラム3aは、鍵を使用してパスワードの情報をハッシュする(#4)。
本発明では、パスワードをハッシュ(#4)した後、リクエストデータ中にユーザ名とパスワードからなるユーザ情報に対する署名情報を追加して記録する処理を実行し(#5(B1))、この署名付きのユーザ情報を、アプリケーションサーバ装置1側で署名情報記録ファイルに保存するようにしている(#6(B2))。これらは、後述するように、悪意のシステム開発者が正規のユーザ登録処理を経ずにログインを行うことを排除するために必要な処理である。
次に、受信したリクエストデータが、ログインURLと一致している場合について説明する。この場合、データベース保護プログラム3aは、アプリケーションサーバ装置1より、上記署名付きユーザ情報を取得する(#7(B3))。すなわち、アプリケーションサーバ装置1には、上記署名付きユーザ情報を返却する機能を付加するようにしている(#7−2)。
ここで、本発明では、受信したリクエストデータの署名と、アプリケーションサーバ装置1で保存していた署名を照合し、不一致の場合には、エラー処理(#9)を実行する。このように、図2において(B1)〜(B4)の符号を付けた、#5(B1)、#6(B2)、#7(B3)、#8(B4)の4つのステップを設けたので、本発明では、正規のユーザ登録処理を経ていない不正なログイン処理をエラーとし、悪意のあるシステム開発者からデータベースを保護することができる。
一方、署名が一致する場合、データベース保護プログラム3aは、鍵を用いてリクエストデータ中のパスワードの部分をハッシュする(#10)。そして、パスワードが一致するか否かを照合し(#11)、不一致である場合には、不正な処理と考えられるため、エラー処理を実行する(#9)。
また、本発明では、リクエストデータがログインURLであるとき、セッションオブジェクトにユーザ情報を保存する(#12(C1))。次に、リクエストデータが秘匿情報URLと一致するとき、データベース保護プログラム3aは、セッションオブジェクトにユーザ情報が存在するか否かを照合し(#13(C2))、存在しない場合には、エラー処理を実行する(#14)。ここでセッションオブジェクトにユーザ情報が存在しないケースは、正規のセッション接続処理を経ていない不正な処理と考えられるからである。
このように、図2において(C1)〜(C2)の符号を付けた、#12(C1)、#13(C2)の2つのステップを設けたので、本発明では、悪意のシステム開発者が正規のセッション接続処理を経ずに不正な処理を行っても、これをエラーとして排除することができる。なお、復号化処理の方でも、図3に示すように、セッションオブジェクトにユーザ情報が存在するか否かを照合し(#22(C3))、存在しない場合には、エラー処理を実行するように構成しても良い(#27)。
また、図2の#13(C2)において、セッションオブジェクトにユーザ情報があるときは、データベース保護プログラム3aは、そのセッションオブジェクトからユーザ情報を取得し(#15(D1))、リクエストデータ中の秘匿すべきデータに所有者としてユーザIDを追加して記録する(#16(D2))。その後、データベース保護プログラム3aは、秘匿すべきデータの領域を鍵で暗号化し(#17(A1))、リクエストデータをアプリケーションサーバ装置1に向けて送信する(#18)。
次に、図3においてプロキシサーバ装置3は、アプリケーションサーバ装置1からレスポンスデータを受信すると(#19)、前述したようにタグ文字列を検索し(#20)、タグ文字列があるか否かを判断する(#21)。タグ文字列がないときは、復号化の必要のないデータであるため、クライアント端末装置2に送信する処理にジャンプする(#26)。一方、タグ文字列が存在するときは、復号化手段の実行に先立ち、セッションオブジェクトにユーザ情報があるか否かをチェックする(#22(C3))。これは、前述したように、正規のセッション接続処理を経ているか否かのチェックである。
ここで、データベース保護プログラム3aは、セッションオブジェクトにユーザ情報が登録されているとき、セッションオブジェクトからユーザ情報を取得し(#23(D3))、これが、図2の#16(D2)で暗号化したデータに付与したユーザIDと一致しているか否かを照合し(#24(D4))、不一致であるときは、エラー処理を実行する(#27)。
このように、図2〜図3において(D1)〜(D4)の符号を付けた、#15(D1)、#16(D2)、#23(D3)、#24(D4)の4つのステップを設けたので、本発明では、暗号化時の利用者と復号化時の利用者の整合性をチェックすることで、悪意のあるシステム開発者の不正な操作を排除することができる。
なお、本発明では、図3の#29の部分を、図4のように拡張すれば、アプリケーションサーバ装置1上の公開相手一覧ファイルに存在する特定の相手に対してのみ自己のデータを公開することも可能となる。すなわち、セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合し、その結果が不一致であったとき(#29−2)、データベース保護プログラム3aは、アプリケーションサーバ装置1から秘匿情報の所有者に関する署名付きユーザ情報を取得し(#30)、署名確認を行い(#31)、不一致であるときは、エラー処理を実行する(#35)。一方、署名が一致するときは、公開相手一覧ファイルにアクセスして突き合わせし(#32(E1))、ユーザIDが一致する公開相手が発見されたときは(#33(E2))、復号化処理を実行する(#34(E3))。
このように、図4において(E1)〜(E3)の符号を付けた、#32(E1)、#33(E2)、#34(E3)の3つのステップを設けたので、本発明では、事前に公開相手一覧ファイルに登録しておいた特定の相手に対してのみ自己のデータを公開することが可能となる。
以上説明したように、本発明によれば、暗号化及び復号化に必要な鍵情報はプロキシサーバ装置に記録され、秘匿すべきデータは、プロキシサーバ装置によって暗号化されてデータベースに記録されるため、個人情報等へのアクセス権を有するシステム開発者が悪意のある者となった場合でも、暗号化されたデータしか閲覧できず、重要なデータの漏洩を防止することができる。また、既存のアプリケーションの変更は最小限にすることができる。
また、プロキシサーバ装置は、アプリケーションやデータベースを有さないため、ソフトウェア改良、バックアップ、障害解析などの必要がなく、セキュリティポリシーを厳しくすることも容易となる。すなわち、本発明では、アプリケーションサーバ装置の方のセキュリティポリシーを必要以上に厳しくする必要がなくなり、結果として、セキュリティにかけるコストを低減することができる。
なお、本実施例では、1つのアプリケーションサーバ装置のデータをインターセプトする場合の例を開示したが、本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法は、1つのプロキシサーバ装置が、複数のアプリケーションサーバ装置のデータをインターセプトするように構成して、それぞれ同様の暗号化処理を行うようにしても良い。このように、複数のアプリケーションサーバ装置の暗号化処理を1つのプロキシサーバ装置に集約させれば、セキュリティコスト低減の効果はさらに大きなものとなる。
本発明のデータベース保護システム、プロキシサーバ装置、データベース保護プログラム、データベース保護方法は、例えばシステム開発業者により生産、販売され、産業上、利用されるものである。
本発明の全体構成を示す概念図である。 本発明の暗号化処理のフローチャート図である。 本発明の復号化処理のフローチャート図である。 公開相手一覧を利用する場合の本発明のフローチャート図である。 従来のアプリケーションサーバ装置の構成を説明する図である。
符号の説明
1 アプリケーションサーバ装置
1a データベース
1b アプリケーション
2 クライアント端末装置
3 プロキシサーバ装置
3a 設定ファイル

Claims (17)

  1. アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するシステムであって、
    前記プロキシサーバ装置は、
    鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、
    前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、
    前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、
    を備えていることを特徴とするデータベース保護システム。
  2. アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護するためのプロキシサーバ装置であって、
    鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセス可能であるとともに、
    前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化手段と、
    前記アプリケーションサーバ装置から受信した前記リクエストデータに対するレスポンスデータ中の、前記暗号化手段により暗号化された領域を復号化する復号化手段と、
    を備えていることを特徴とするプロキシサーバ装置。
  3. 前記暗号化手段において、前記設定ファイルに記録された情報に基づいてリクエストデータ中の所定の領域を暗号化するときに、その暗号化する領域の前後にタグ文字列を挿入するとともに、
    前記復号化手段では、前記タグ文字列を文字列検索して、暗号化された領域を発見することを特徴とする請求項1記載のデータベース保護システム、又は、請求項2記載のプロキシサーバ装置。
  4. 前記リクエストデータがユーザ登録処理のリクエストであるとき、
    前記プロキシサーバ装置は、前記リクエストデータ中にユーザ情報に対する署名情報を記録する手段を実行するとともに、前記リクエストデータを受信した前記アプリケーションサーバ装置は、前記署名付きユーザー情報を署名情報記録ファイルに保存する手段を実行し、
    次に前記プロキシサーバ装置がログイン処理のリクエストデータを受信したとき、
    前記プロキシサーバ装置は、前記署名情報記録ファイルにアクセスして前記署名付きユーザ情報を取得するとともに、前記ログイン処理のリクエストデータの署名と一致するか否かを照合する手段を実行し、不一致であるときは、エラー処理を実行することを特徴とする請求項1記載のデータベース保護システム、又は、請求項2記載のプロキシサーバ装置。
  5. 前記リクエストデータがログイン処理のリクエストであるとき、
    前記プロキシサーバ装置は、セッションオブジェクトにユーザ情報を保存する手段を実行し、
    次に前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信したとき、
    前記プロキシサーバ装置は、前記セッションオブジェクトにユーザ情報が登録されているか否かを照合する手段を実行し、未登録であるときは、エラー処理を実行することを特徴とする請求項1記載のデータベース保護システム、又は、請求項2記載のプロキシサーバ装置。
  6. 請求項5記載のデータベース保護システム、又は、プロキシサーバ装置において、前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信し、かつ、前記セッションオブジェクトにユーザ情報が登録されているとき、
    前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、リクエストデータ中の秘匿すべきデータにユーザIDを付与し、
    次に前記プロキシサーバ装置が前記復号化手段を実行するとき、
    前記プロキシサーバ装置は、前記セッションオブジェクトからユーザ情報を取得し、暗号化されたデータに付与されているユーザIDと一致しているか否かを照合し、不一致であるときは、エラー処理を実行することを特徴とするデータベース保護システム、又は、プロキシサーバ装置。
  7. 前記プロキシサーバ装置は、前記アプリケーションサーバ装置上の公開相手一覧ファイルにアクセス可能であるとともに、
    前記復号化処理において、前記プロキシサーバ装置が前記セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合結果が不一致であるとき、
    前記プロキシサーバ装置は、前記公開相手一覧ファイルにアクセスして突き合わせし、ユーザIDが一致する公開相手が発見されたとき、復号化処理を行うことを特徴とする請求項6記載のデータベース保護システム、又は、プロキシサーバ装置。
  8. 前記プロキシサーバ装置は、前記アプリケーションサーバ装置と異なる場所に設置してセキュリティレベルを高くする一方、前記アプリケーションサーバ装置のセキュリティレベルは、前記プロキシサーバ装置よりも低くしたことを特徴とする請求項1乃至7の何れかに記載のデータベース保護システム、又は、プロキシサーバ装置。
  9. 前記プロキシサーバ装置は、鍵情報と前記設定ファイル以外にユーザデータを保存していないことを特徴とする請求項1乃至8の何れかに記載のデータベース保護システム、又は、プロキシサーバ装置。
  10. アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置に、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する処理を行わせるためのプログラムであって、
    前記クライアント端末装置からのリクエストデータを受信するステップと、
    鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、 前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、
    前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、
    前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、
    前記レスポンスデータ中の暗号化されている領域を復号化する復号化ステップと、
    前記クライアント端末に前記レスポンスデータを送信するステップと、
    を前記プロキシサーバ装置に行わせるためのデータベース保護プログラム。
  11. アプリケーションサーバ装置とクライアント端末装置の間で送受信されるデータをインターセプトするプロキシサーバ装置を用いて、前記アプリケーションサーバ装置のアプリケーションがアクセスするデータベースの情報を保護する方法であって、
    前記プロキシサーバ装置に、
    前記クライアント端末装置からのリクエストデータを受信するステップと、
    鍵情報と秘匿すべきデータの情報を記録した設定ファイルにアクセスするステップと、 前記設定ファイルに記録された情報に基づいて、前記クライアント端末から受信したリクエストデータ中の所定の領域を暗号化する暗号化ステップと、
    前記アプリケーションサーバ装置に前記リクエストデータを送信するステップと、
    前記アプリケーションサーバ装置から前記リクエストデータに対するレスポンスデータを受信するステップと、
    前記レスポンスデータ中の前記暗号化ステップにより暗号化された領域を復号化する復号化ステップと、
    前記クライアント端末に前記レスポンスデータを送信するステップと、
    を行わせることを特徴とするデータベース保護方法。
  12. 前記暗号化ステップにおいて、前記設定ファイルに記録された情報に基づいてリクエストデータ中の所定の領域を暗号化するときに、その暗号化する領域の前後にタグ文字列を挿入するとともに、
    前記復号化ステップでは、前記タグ文字列を文字列検索して、暗号化された領域を発見することを特徴とする請求項10記載のデータベース保護プログラム、又は、請求項11記載のデータベース保護方法。
  13. 前記リクエストデータがユーザ登録処理のリクエストであるとき、
    前記プロキシサーバ装置に、前記リクエストデータ中にユーザ情報に対する署名情報を記録するステップを実行させ、
    前記リクエストデータを受信した前記アプリケーションサーバ装置が、前記署名付きユーザ情報を署名情報記録ファイルに保存した後、次に前記プロキシサーバ装置がログイン処理のリクエストデータを受信したとき、
    前記プロキシサーバ装置に、前記署名情報記録ファイルにアクセスして署名付きユーザ情報を取得させるとともに、前記ログイン処理のリクエストの署名と一致するか否かを照合するステップを実行させ、不一致であるときは、エラー処理のステップを実行させることを特徴とする請求項10記載のデータベース保護プログラム、又は、請求項11記載のデータベース保護方法。
  14. 前記リクエストデータがログイン処理のリクエストであるとき、
    前記プロキシサーバ装置に、セッションオブジェクトにユーザ情報を保存するステップを実行させ、
    次に前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信したとき、
    前記プロキシサーバ装置に、前記セッションオブジェクトにユーザ情報が登録されているか否かを照合するステップを実行させ、未登録であるときは、エラー処理のステップを実行させることを特徴とする請求項10記載のデータベース保護プログラム、又は、請求項11記載のデータベース保護方法。
  15. 請求項14記載のデータベース保護プログラム、又は、データベース保護方法において、前記プロキシサーバ装置が秘匿すべきデータを含むリクエストを受信し、かつ、前記セッションオブジェクトにユーザ情報が登録されているとき、
    前記プロキシサーバ装置に、前記セッションオブジェクトからユーザ情報を取得し、リクエストデータ中の秘匿すべきデータにユーザIDを付与するステップを実行させ、
    次に前記プロキシサーバ装置が前記復号化手段を実行するとき、
    前記プロキシサーバ装置に、前記セッションオブジェクトからユーザ情報を取得し、暗号化されたデータに付与されているユーザIDと一致しているか否かを照合するステップを実行させ、不一致であるときは、エラー処理のステップを実行させることを特徴とするデータベース保護プログラム、又は、データベース保護方法。
  16. 前記プロキシサーバ装置は、公開相手一覧ファイルにアクセス可能であるとともに、
    前記復号化処理において、前記プロキシサーバ装置が前記セッションオブジェクトから取得したユーザ情報と、暗号化されたデータに付与されているユーザIDの照合結果が不一致であるとき、
    前記プロキシサーバ装置に、前記公開相手一覧ファイルにアクセスして突き合わせし、ユーザIDが一致する公開相手が発見されたとき、復号化処理を行うステップを実行させることを特徴とする請求項15記載のデータベース保護プログラム、又は、データベース保護方法。
  17. 請求項10、12、13、14、15、16の何れかに記載のデータベース保護プログラムを記録したコンピュータ読み取り可能な記憶媒体。
JP2004127047A 2004-04-22 2004-04-22 データベース保護システム Pending JP2005309846A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004127047A JP2005309846A (ja) 2004-04-22 2004-04-22 データベース保護システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004127047A JP2005309846A (ja) 2004-04-22 2004-04-22 データベース保護システム

Publications (1)

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

Family

ID=35438540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004127047A Pending JP2005309846A (ja) 2004-04-22 2004-04-22 データベース保護システム

Country Status (1)

Country Link
JP (1) JP2005309846A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097420A (ja) * 2006-10-13 2008-04-24 Chugoku Electric Power Co Inc:The 情報管理システムおよび情報管理方法
JP2008177821A (ja) * 2007-01-18 2008-07-31 Hitachi Ltd 情報秘匿化方法、および情報秘匿装置
JP2009129010A (ja) * 2007-11-20 2009-06-11 Hitachi Ltd 情報処理装置、情報処理システム、および情報処理方法
JP2011065334A (ja) * 2009-09-16 2011-03-31 Fujitsu Ltd 中継装置、通信中継プログラム、および通信中継方法
JP2014092801A (ja) * 2012-10-31 2014-05-19 Science Park Corp ネットワークシステム、ネットワークシステム用電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体
US8925046B2 (en) 2012-05-21 2014-12-30 Fujitsu Limited Device, method, and recording medium
JP2020502896A (ja) * 2016-12-16 2020-01-23 アマゾン・テクノロジーズ、インコーポレイテッド コンテンツ配信ネットワークを介した機密データの安全なデータ配給
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 (ja) * 2006-10-13 2011-07-27 中国電力株式会社 情報管理システムおよび情報管理方法
JP2008097420A (ja) * 2006-10-13 2008-04-24 Chugoku Electric Power Co Inc:The 情報管理システムおよび情報管理方法
JP2008177821A (ja) * 2007-01-18 2008-07-31 Hitachi Ltd 情報秘匿化方法、および情報秘匿装置
JP2009129010A (ja) * 2007-11-20 2009-06-11 Hitachi Ltd 情報処理装置、情報処理システム、および情報処理方法
JP4734311B2 (ja) * 2007-11-20 2011-07-27 株式会社日立製作所 情報処理システム、秘匿データ管理装置、およびプログラム
JP2011065334A (ja) * 2009-09-16 2011-03-31 Fujitsu Ltd 中継装置、通信中継プログラム、および通信中継方法
US8925046B2 (en) 2012-05-21 2014-12-30 Fujitsu Limited Device, method, and recording medium
JP2014092801A (ja) * 2012-10-31 2014-05-19 Science Park Corp ネットワークシステム、ネットワークシステム用電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体
JP2020502896A (ja) * 2016-12-16 2020-01-23 アマゾン・テクノロジーズ、インコーポレイテッド コンテンツ配信ネットワークを介した機密データの安全なデータ配給
US10887291B2 (en) 2016-12-16 2021-01-05 Amazon Technologies, Inc. Secure data distribution of sensitive data across content delivery networks
JP7036494B2 (ja) 2016-12-16 2022-03-15 アマゾン・テクノロジーズ、インコーポレイテッド コンテンツ配信ネットワークを介した機密データの安全なデータ配給
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 (zh) 防盗和防篡改的数据保护
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
US9813444B2 (en) Reliable selection of security countermeasures
CN101079882B (zh) 基于态势的数据保护
US6173402B1 (en) Technique for localizing keyphrase-based data encryption and decryption
JP5270694B2 (ja) 機密ファイルを保護するためのクライアント・コンピュータ、及びそのサーバ・コンピュータ、並びにその方法及びコンピュータ・プログラム
CN109923548A (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
KR100615021B1 (ko) 콘텐츠 배포/수신 방법
CN104239820B (zh) 一种安全存储设备
US20110296164A1 (en) System and method for providing secure network services
KR20030036787A (ko) 네트워크를 통하여 분배되는 객체를 보안화하기 위한 감사추적 구축용 시스템
KR101373542B1 (ko) 가상화 기반 논리적 망 분리 기법을 이용한 개인정보 보호 시스템
EP1323258A1 (en) System for protecting objects distributed over a network
CN102483792A (zh) 用于共享文档的方法和装置
CN105740725A (zh) 一种文件保护方法与系统
JP5380063B2 (ja) Drmシステム
KR100440037B1 (ko) 문서보안 시스템
KR101042234B1 (ko) 위치 인증을 통한 사용자 프로그램의 기밀문서 판독 방지방법
JP2005309846A (ja) データベース保護システム
WO2019235450A1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
Raisian et al. Security issues model on cloud computing: A case of Malaysia
JP2007201685A (ja) 認証機関を用いたセキュアな情報コンテンツ公開方法
JP2008035449A (ja) 自己復号ファイルによるデータ配布方法および該方法を用いた情報処理システム
WO2018034192A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
Halcrow Demands, solutions, and improvements for Linux filesystem security