JP6188832B2 - データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム - Google Patents

データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム Download PDF

Info

Publication number
JP6188832B2
JP6188832B2 JP2015562435A JP2015562435A JP6188832B2 JP 6188832 B2 JP6188832 B2 JP 6188832B2 JP 2015562435 A JP2015562435 A JP 2015562435A JP 2015562435 A JP2015562435 A JP 2015562435A JP 6188832 B2 JP6188832 B2 JP 6188832B2
Authority
JP
Japan
Prior art keywords
dsi
database
dcr
local agent
encrypted
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.)
Active
Application number
JP2015562435A
Other languages
English (en)
Other versions
JP2016511480A (ja
Inventor
ロドニアンスキー、レオニード
Original Assignee
インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation
インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation
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 US13/793,877 priority Critical patent/US9043593B2/en
Priority to US13/793,877 priority
Application filed by インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation, インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation filed Critical インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation
Priority to PCT/IB2014/059197 priority patent/WO2014140969A1/en
Publication of JP2016511480A publication Critical patent/JP2016511480A/ja
Application granted granted Critical
Publication of JP6188832B2 publication Critical patent/JP6188832B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Description

本出願は、一般に、改善されたデータ処理装置および方法に関し、より詳細には、安全なデータベース・サーバ・ティアを通じてセッション属性を伝播するためのメカニズムに関する。

現在の管理された情報環境は、セキュリティ能力のレベルを高め続けている。かつて、データを保護するための暗号操作は、時間の面でも計算の面でも高価であった。結果として、それらの暗号操作は、概して、非常に機密性の高い行政および財務に関連することのために確保されていた。プロセッサの速度が上がり、メモリの容量が増えるにつれて、かつては特殊で高価なハードウェアだけに限られていた暗号操作を実行する能力は、今や、多くのアプリケーションで当たり前になっている。通常の既製アプリケーションは、ソフトウェアに暗号化能力を組み込むことがもはや処理のボトルネックを生じないのでソフトウェアに暗号化能力を組み込む。

さらに、ネットワークの能力が上がり続け、ブロードバンド(例えば、ケーブル・モデム)インターネット・アクセスの使用が増え、WiFi能力(例えば、802.11b/g/n無線)の人気が高まるにつれて、送信される膨大な量のデータが、暗号化されていない送信(いわゆる「平文」)が機密情報を漏洩するますます高いリスクを冒すという認識を高める。送信中にほとんどまたはすべてのデータを暗号化することの知覚される不利益が最小限であるので、送信中にほとんどまたはすべてのデータを暗号化する傾向が高まっている。したがって、送信元と送信先との間を移動中のデータは、暗号化されることが多い。

米国特許出願第2010/0131758号 米国特許第7,426,512号

従って本発明の課題は、安全なデータベース・サーバ・ティアを通じたセッション属性の伝播を行うための、データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システムを提供することである。

1つの例示的な実施形態では、プロセッサおよびメモリを含むデータ処理システムにおいて、データベース・クライアント要求(database client request)を処理するための方法が、提供される。方法は、データ処理システムの安全でないアクセスのローカル・エージェント(local agent)によって、クライアント・コンピューティング・デバイスとデータ処理システムとの間のセッションの一部としてクライアント・コンピューティング・デバイスから暗号化されたデータベース・クライアント要求(DCR)を受信するステップを含む。

方法は、さらに、安全でないアクセスのローカル・エージェントによって、セッションに対応するデータベース・セッション情報(DSI)アドレスを取得するステップを含む。加えて、方法は、安全でないアクセスのローカル・エージェントによって、暗号化されたDCRの一部に基づいて第1の一意識別可能鍵(UIK:unique identifiable key)を生成するステップを含む。さらに、方法は、安全でないアクセスのローカル・エージェントによって、第1のUIKをDSIアドレスにマッピングするDSIマッピング・データ構造を生成するステップと、データ処理システムの安全なアクセスのローカル・エージェントによって、DSIマッピング・データ構造を用いて暗号化されたDCRを処理するステップとを含む。

その他の例示的な実施形態においては、コンピュータ可読プログラムを有するコンピュータが使用可能または読み取り可能な媒体を含むコンピュータ・プログラム製品が、提供される。コンピュータ可読プログラムは、コンピューティング・デバイスで実行されるときにコンピューティング・デバイスに方法の例示的な実施形態に関連して上で概説された操作のうちのさまざまな操作および操作の組み合わせを実行させる。

さらに別の例示的な実施形態においては、システム/装置が提供される。システム/装置は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリとを含み得る。メモリは、1つまたは複数のプロセッサによって実行されるときに1つまたは複数のプロセッサに方法の例示的な実施形態に関連して上で概説された操作のうちのさまざまな操作および操作の組み合わせを実行させる命令を含み得る。

本発明のこれらのおよびその他の特徴および利点は、本発明の例示的な実施形態の以下の詳細な説明に示されるか、または本発明の例示的な実施形態の以下の詳細な説明に鑑みて当業者に明らかになる。

本発明と、本発明の好ましい使用の形態、ならびにさらなる目的、および利点とは、添付の図面と併せて読まれるときに、例示的な実施形態の以下の詳細な説明を参照することによって最も深く理解されるであろう。

保護されたデータベース・アクセスで使用するのに好適な例示的な管理された情報環境のコンテキスト図である。 保護されていないデータベース・アクセスで使用するのに好適なデータ記憶および検索環境のコンテキスト図である。 1つの例示的な実施形態による安全なデータベース・システムの例示的なブロック図である。 1つの例示的な実施形態による暗号化されたデータベース・クライアント要求(DCR)からの一意識別可能鍵(UIK)の抽出、および現在のセッションに関するデータベース・セッション情報(DSI)アドレスとのUIKのマッピングを示す例示的な図である。 1つの例示的な実施形態による安全なデータベース・システムで暗号化されたデータベース・クライアント要求(DCR)を処理するための例示的な操作の概略を示す流れ図である。 例示的な実施形態の態様が実装され得る例示的なデータ処理システムのブロック図である。

例示的な実施形態は、安全なデータベース・サーバ・ティアを通じてセッション属性を伝播するためのメカニズムを提供する。上述のように、データの暗号化された送信が増え続けており、特にデータベース・アクセスに関連して広く行われている。つまり、データベース・アクセスは、保護されている(暗号化されている)か、または保護されていない(暗号化されていない)かのどちらかである可能性がある。用語、安全なおよび安全でないは、それらがローカル・エージェントに言及するために本明細書において使用されるとき、ローカル・エージェントがデータを暗号化する/復号するための暗号化エンジンと連携して動作するか否かを特定するように意図されており、保護されていないアクセスのローカル・エージェントは、平文または暗号化されていないデータに関連して動作し、一方、安全なアクセスのローカル・エージェントは、暗号化エンジンおよび暗号化されたデータに関連して動作する。データベースに対するアクセスの監視は、データベース・アクセスが保護されているかまたは保護されていないかに応じて異なる。

保護されたデータベース・アクセスのためのデータベース・アクセス監視メカニズムの例は、2010年5月27日に公開された「Nondestructive Interception of Secure Data in Transit」と題された米国特許出願第2010/0131758号に記載されている。米国特許出願第2010/0131758号のメカニズムによれば、クライアントの要求が、暗号化されるようにしてネットワークを介してインターフェースで受信される。暗号操作が、受信されたデータベース・クライアント要求(DCR)を復号し、データベース・サーバ応答(DSR:database server response)を暗号化するためにデータベース・サーバ・ティアで呼び出される。米国特許出願第2010/0131758号においてはデータベース・モニタ・エージェントと呼ばれる安全なアクセスのローカル・エージェント(LA1)が、データベース・サーバとクライアント・コンピューティング・デバイスとの間のデータの中心的なフローを途絶させることなく暗号操作による復号の後または暗号化の前に平文のDCRおよびDSRデータを傍受する。安全なアクセスのローカル・エージェント(LA1)は、傍受された平文のDCRおよびDSRデータをさらなる分析のために外部のデータベース・モニタに転送する。

図1は、保護されたデータベース・アクセスで使用するのに好適な例示的な管理された情報環境のコンテキスト図である。図1を参照すると、管理された情報環境100が、ネットワーク130を介してホスト120に結合されたユーザ・ノード110−1...110−n(集合的に110)を含む。概して、ユーザ・ノード110は、ホスト120と双方向通信するように動作するグラフィカル・ユーザ・インターフェース(GUI)112を有するPCまたはその他のローカル・コンピューティング・デバイスである。ホスト120は、相手のGUI112に結合されたホスト・アプリケーション112−1...112−n(集合的に122)を介してデータ・アクセスおよび検索サービスなどのサービスを提供する。ホスト・アプリケーション122は、ユーザ110へのサービスの配信を実行する命令を実行するための1つまたは複数のデータベース・サーバ・プロセス128への結合を含む。例示的な構成において、ホスト・アプリケーション122は、データベース126によってユーザ110にデータ・アクセスおよび検索サービスを提供するためのデータベース管理システム(DBMS)124に結合されたデータベース・サーバであり、したがって、プロセス128は、インターフェース125をDBMS124と結合する役割を担うデータベース・サーバまたはエージェント・プロセスである。

典型的なデータベース環境100は、データ・レベル・セキュリティ・メカニズム154を使用することが多い。そのようなデータ・レベル・セキュリティ・メカニズムは、呼び出すアプリケーション122の特権またはアクセス制御リストではなく、データベースへのおよびデータベースからのデータ・アクセス・トランザクション140、142に焦点を当てる。データ・レベル・セキュリティ・メカニズム154は、データ・レベル・セキュリティ・メカニズム(データベース・モニタ)154を実質的に定義する外部データベース・セキュリティ・モニタ150、データベース・モニタ・エージェント160、またはこれらの組み合わせを含み得る。

上で示されたように、データベース126のデータのセキュリティは、最も重要である。したがって、データベース・モニタ154は、インターフェースへのネットワーク接続を介したトランザクション140’を傍受することによるか、またはトランザクション140’’としてデータベース・エージェント152によってかのどちらかでデータ・アクセス・トランザクション140を傍受し、精査する。性能上の理由で、ホスト120からセキュリティ処理をオフロードするために、インターフェース125の前のネットワーク接続132上でアクセス・トランザクション140を捕捉することが求められることが多い。しかし、以下でさらに検討されるように、特定の状況は、ホスト120上の、本明細書においては安全なアクセスのローカル・エージェント(LA1)とも呼ばれるデータベース・モニタ・エージェント160も使用する。

上で検討されたように、多くのデータベース管理システム124は、アプリケーションのGUI112からデータベース126への移動の間の機密データ項目の露出を避けるためにデータ・アクセス・トランザクション140を暗号化する。データ・アクセス応答142が、同様に隠される可能性がある。しかし、データベース・モニタ124(安全なアクセスのローカル・エージェント(LA1))は、平文の(暗号化されていない)データに対して動作する。したがって、データベース・モニタ124は、暗号文から平文への移行に対応する傍受点172−1...172−4(集合的に172)を特定し、精査するために平文のトランザクション140’’を捕捉する。特定のDBMS124によって使用される暗号化に応じて、傍受点172は、いくつかの場所のうちの1つに現れる可能性がある。傍受点172−4として示されるDBMSのIPCの傍受(つまり、ポートの読み取りの監視)の場合、傍受点172−4は、矢印99を通ってインターフェース125からポート187に渡されるデータを読み取るためのポート187の読み取りによってトリガされる。通信は、インターフェース125から暗号化されて到着し、サービス・プロセス(SVC)158’が、暗号操作158を呼び出すことによってデータを復号する。そして、サービス・プロセス(SVC)158’は、以下でさらに検討される、実際に傍受が行われる場所であるDBMS124に暗号化されていないデータを渡す。

復号のための暗号操作158がインターフェース125から呼び出されるとき、概して、傍受ゾーン170−1に示されるソケットにおけるポートの読み取りによって、ネットワーク接続132からのデータベース・アクセス・トランザクション140をインターフェース125において傍受するために、プロセス間通信(IPC)メカニズムが使用される。傍受点172−1は、データベース・アクセス・トランザクション140を受信するためにDBMS124によって使用される所定のポートであり、所定のポートでトリガされる傍受を監視または確立することによって実現される。このようにして、データベース・トランザクション140に対応するポートを読むオペレーティング・システム(OS)呼び出しが、データベース・モニタがポートを読み、データを精査し、そのデータを意図されたようにDBMS124に渡す結果をもたらす。

傍受は、暗号操作に対する動的リンク・リスト(DLL:dynamicallylinked list)呼び出しが使用されるとき、ゾーン170−2で行われる。復号操作158に対応する呼び出しシグネチャ(call signature)が、ゾーン170−2において傍受点172−2で復号操作の前にデータベース・モニタの呼び出しシグネチャを挿入することによって優先される。DLL処理は、暗号操作158の元々意図されていたシグネチャ180の前にモニタのシグネチャ182とのリンクを履行する。データベース・モニタ152は、暗号操作158を呼び出し、トランザクション140を精査し、その後、制御を返す。

エンド・ツー・エンドの暗号化方式では、DBMSプロセス124自体が、静的リンクによる復号操作158に対する呼び出し172−3を含む。この場合、実行可能イメージの命令(メモリにあるマシン・エポード(machine epode))が、復号操作に対する呼び出し、典型的にはスタック呼び出しを特定するために調べられる。命令は、データベース・モニタ154に対する制御を延期する命令で置き換えられ、そのとき、延期する命令は、復号操作158を呼び出し、トランザクション140を精査する。

保護されていないデータベース・アクセスのためのデータベース・アクセス監視メカニズムの例は、2008年9月16日にRon Ben-Natanに発行された米国特許第7,426,512号に記載されている。‘512号特許に記載されているように、ローカル・クライアントが、プロセス間通信(IPC)メカニズムにアクセスの試みを送信する。IPC傍受メカニズムは、アクセスの試みを傍受し、そのアクセスの試みを安全でないアクセスのローカル・エージェント(LA2)に転送し、安全でないアクセスのローカル・エージェント(LA2)が、IPCメカニズムに問い合わせることによって、ローカルのアクセスの試みに対応するデータベース命令を決定する。そして、安全でないアクセスのローカル・エージェント(LA2)は、決定されたデータベース命令を、データベース・モニタによる分析およびさらなる操作のために外部のデータ・セキュリティ・デバイスに送信する。外部のデータ・セキュリティ・デバイスは、ネットワーク・スイッチ/タップを介したリモートのアクセスの試みも受信する。

図2は、保護されていないデータベース・アクセスで使用するのに好適なデータ記憶および検索環境のコンテキスト図である。図2を参照すると、環境200が、データ記憶および検索操作(データベース(DB)操作)のためのDBホスト204をリモート・ユーザ202に提供する。ユーザ202は、LAN、イントラネット、エクストラネット、またはインターネットなどの任意の好適なインターネットワーキング・インフラストラクチャである可能性があるアクセス・ネットワーク206を介してホスト204に接続する。DBホスト204は、データベース210、典型的にはディスク・アレイまたはディスク・ドライブなどの大容量ストレージ・デバイスの組に接続されたデータベース・サーバ208を含む。データベース208は、以下でさらに検討されるさまざまなアクセス方法によるユーザ202のアクセスのためのアプリケーション・プログラミング・インターフェース(API)として動作するDBアクセス・ゲートウェイ212を含む。

ユーザは、到着する要求216としてDBアクセス・ゲートウェイ212に配信するためにネットワーク206を通過するユーザ要求214またはデータベース・クライアント要求(DCR)の形態でデータベース208へのアクセスを開始する。データ・セキュリティ・デバイス220が、ネットワーク206からホスト204への経路上のスイッチ222、またはタップ、ルータ、もしくはブリッジなどのその他の接続デバイスによって接続される。データ・セキュリティ・デバイス220は、スイッチ222を通じて送信されたユーザ要求214を受信するためのDBモニタ224を含む。DBモニタ224は、到着するユーザ要求214を、所定のセキュリティまたはアクセス・ポリシーにしたがってDBモニタ224が分析する傍受されたアクセスの試み218として受信し、分析する。それから、データ・セキュリティ・デバイス220は、傍受されたアクセスの試み218を到着する要求216としてアクセス・ゲートウェイ(AG)212に渡す。

概して、データベース・サーバ208は、DBトラフィックの実質的な部分(ユーザ要求214)がネットワーク206を介して遠隔で到着し、したがって、データ・セキュリティ・デバイス220の下での精査を通ると予測する。しかし、データベース・アクセスの試みの一部は、ローカル・クライアント230からローカルで生じ、ローカルのアクセスの試み232としてホスト204で実行される。ローカルのアクセスの試み232は、プロセス間通信(IPC)メカニズム234を介してアクセス・ゲートウェイ212に到着する。そのようなローカルのアクセスの試み232は、スイッチ222を通過せず、したがって、そうではなく、データ・セキュリティ・デバイス220の精査を避けるように操作することができる可能性がある。

この欠点は、ローカルのアクセスの試み232を傍受し、傍受されたアクセスの試み242をローカル・エージェント(LA2)250に転送するためにIPC傍受240を使用することによって実質的に克服される。ローカル・エージェント(LA2)250は、IPCメカニズム234に問い合わせることによって、ローカルのアクセスの試み232に対応するデータベース命令252を決定する。そして、ローカル・エージェント(LA2)250は、決定されたデータベース命令252を、DBモニタ224による分析およびさらなる操作のためにデータ・セキュリティ・デバイス220に送信する。このようにして、データ・セキュリティ・デバイス220は、より完全に分析し、監視し、望ましくない可能性があるアクセスの試み232、216から守るために、DBサーバ208へのすべてのローカルおよびリモートのアクセスの試み232、216を受信する。

この場合、安全でないアクセスのローカル・エージェント(LA2)は、データベース・セッション情報(DSI)にアクセスすることができることに留意されたい。データベース・セッション情報(DSI)は、クライアント・コンピューティング・デバイスとデータベース・サーバとの間のセッションの確立を定義する情報である。そのようなDSIデータの例は、データベース・クライアント・プロセスのオペレーション・システムのユーザ、データベース・クライアント・プロセス識別子、端末識別子、データベース・クライアントのIPアドレス、ならびにデータベース・クライアントおよびデータベース・サーバのポートを含む。DSIデータは、侵入を検出する目的で分析する重要なデータである可能性がある。DSI情報は、プロセス間通信(IPC)メカニズムがオペレーティング・システム(OS)レベルの標準的なアプリケーション・プログラミング・インターフェース(API)を使用し、OSのプロセス識別子が安全でないアクセスのローカル・エージェント(LA2)に利用され得るので安全でないアクセスのローカル・エージェントに利用され得る。OSのプロセス識別子が利用され得るので、DSI情報は、標準的なOS呼び出しを用いて取得され得る。

明らかに、安全なデータベースはそのデータベースに記憶されたデータのより高いセキュリティを提供するが、‘758号米国特許出願に記載されているような安全なアクセスのローカル・エージェントの操作の欠点は、データベース・セッション情報(DSI)がデータベース・モニタ・エージェントまたはデータベース・セキュリティ・モニタに利用され得ないことである。これは、DSIがデータベース・ホスト・サーバ内のプロセスの実行フローに関与せず、データベース・モニタ・エージェントおよびデータベース・セキュリティ・モニタとは異なるレベル/ティアのオペレーティング・システムのレベル/ティアにおいてのみ利用可能であるデータ構造であることによる。ローカル・エージェントがデータベース・サーバ・ホストのローカルのローカル・クライアントからのみアクセスの試みを受信し、オペレーティング・システムおよびIPC APIと同じティア/レベルで動作し得るので、保護されていないデータベース・ローカル・エージェントの操作は、DSIデータにアクセスすることができるが、保護されたデータベース・ローカル・エージェントよりも安全性が劣る。

さらに、保護されていないデータベース・ローカル・エージェントは、一般に、安全なデータベース・アクセスが暗号化されるのでそれらの安全なデータベース・アクセスで使用され得ない。つまり、安全なデータベース・アクセスの場合、安全でないアクセスのローカル・エージェント(LA2)によって傍受され得るDCRおよびDSRが暗号化されており、それらのDCRおよびDSRが安全でないアクセスのローカル・エージェント(LA2)によって外部セキュリティ・デバイス(ESD)に転送されるときにESDによって分析され得ない。DCRおよびDSRは暗号化されるが、オペレーティング・システム・レベルから収集される、保護されていないローカル・エージェント(LA2)によってアクセスされ得るDSIデータは暗号化されない。同様に、安全なアクセスのローカル・エージェント(LA1)を用いると、DSIデータは、暗号操作の呼び出しの地点で利用可能でなく、さらなる分析のために安全なアクセスのローカル・エージェント(LA1)によってESDに転送され得ないが、DCRおよびDSRは、暗号操作による復号の後(DCR)および暗号化の前(DSR)に傍受されるので暗号化されておらず、さらなる分析のためにESDに転送され得る。

例示的な実施形態は、DSIおよび復号されたDCRデータがさらなる分析のために外部セキュリティ・デバイス(ESD)に提供されることを可能にするためにこれらのローカル・エージェントLA1およびLA2が一緒に利用され得るメカニズムを提供する。例示的な実施形態は、データベース・サーバ・ホストの暗号ティアで傍受された復号されたデータをデータベース・サーバ・ホストのデータベース・セッション属性にランタイムでマッピングする。これは、DSIデータが上で検討されたように他の状況であれば安全なアクセスのローカル・エージェントLA1に利用され得ないときに安全なアクセスのローカル・エージェントLA1に利用され得るようになることを可能にし、DCRおよびDSRが暗号化されるときに安全なデータベース・アクセスのためのデータベース・セッション識別情報が侵入を検出する分析および操作のためにESDに利用され得るようにされることに関連する問題を解決する。

例示的な実施形態のメカニズムを用いると、データベース・アクセスは安全であり、したがって、DCRおよびDSRが暗号化される。しかし、安全でないアクセスのローカル・エージェント(LA2)が、暗号化されたDCRと、暗号化されていない、つまり、平文のDSIデータとを傍受し、暗号化されたDCRデータを平文のDSIデータにマッピングするために使用される。例示的な実施形態は、データの暗号化のために使用される暗号鍵が各データベース・セッション、例えば、各SSLハンドシェイクに関して一意であり、したがって、異なるセッションからの同じデータベースの平文のデータが各データベース・セッションのために使用される一意の暗号鍵によって異なる暗号化されたデータをもたらすという観測に基づいて動作する。したがって、暗号化されたデータから抽出された十分に長いバイナリ列は、マルチスレッド化されたデータベース・セッション処理で一意識別可能鍵(UIK)としてそのバイナリ文字列を使用するために十分にランダムで一意である。したがって、IPCメカニズムと統合された安全でないアクセスのローカル・エージェント(LA2)のプロセス間通信(IPC)ティアで傍受された暗号化されたDCRデータが、そのようなUIKを用いて安全でないDSI情報にマッピングされる可能性があり、そしてさらに、その安全でないDSI情報がセッション識別子(SI)にマッピングされ得る。SIは、暗号レベル/ティアでセッション暗号コンテキスト(session cryptographic context)を特定するハンドルである。

結果として、安全なDCRを傍受し、暗号化されたDCRデータを復号して平文のDCRデータを生成する暗号操作を呼び出す安全なアクセスのローカル・エージェント(LA1)が、安全でないアクセスのローカル・エージェント(LA2)によって生成されたマッピングのおかげで平文のDSIデータを取得し得る。したがって、安全でないアクセスのローカル・エージェント(LA2)は、DCRから一意識別可能鍵(UIK)を抽出する。安全でないアクセスのローカル・エージェント(LA2)は、DSIマッピング・データ構造にUIKおよびDSIデータを記憶し、DSIマッピング・データ構造を安全なアクセスのローカル・エージェント(LA1)に利用され得るようにする。安全なアクセスのローカル・エージェント(LA1)は、その安全なアクセスのローカル・エージェント(LA1)に渡されたDCRからUIKを抽出し、UIKに基づいてDSIマッピング・データ構造内の探索動作を実行して対応するDSIデータを特定する。結果として、DSIデータが、安全なアクセスのローカル・エージェント(LA1)ティアでデータベース・セッションのために利用可能になる。そして、安全なアクセスのローカル・エージェント(LA1)は、平文のDSIデータおよび平文のDCRデータを外部セキュリティ・デバイス(ESD)に転送し得る。

当業者に理解されるであろうように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明の態様は、すべてハードウェアの実施形態、すべてソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはすべてが概して本明細書において「回路」、「モジュール」、もしくは「システム」と呼ばれることがあるソフトウェアの態様とハードウェアの態様とを組み合わせる実施形態の形態をとる可能性がある。さらに、本発明の態様は、コンピュータが使用可能なプログラム・コードを具現化する任意の1つまたは複数のコンピュータ可読媒体で具現化されたコンピュータ・プログラム製品の形態をとる可能性がある。

1つまたは複数のコンピュータ可読媒体の任意の組み合わせが、利用される可能性がある。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体である可能性がある。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体システム、装置、デバイス、またはこれらの任意の好適な組み合わせである可能性があるがこれらに限定されない。コンピュータ可読ストレージ媒体のより詳細な例(非網羅的なリスト)は、以下、すなわち、1つもしくは複数の配線を有する電気的な接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMもしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CDROM)、光ストレージ・デバイス、磁気ストレージ・デバイス、またはこれらの任意の好適な組み合わせを含む。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、もしくはデバイスによって、または命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを含むまたは記憶することができる任意の有形の媒体である可能性がある。

コンピュータ可読信号媒体は、例えば、ベースバンドで、または搬送波の一部としてコンピュータ可読プログラム・コードを具現化する伝播されるデータ信号を含み得る。そのような伝播される信号は、電磁的、光学的、またはこれらの任意の好適な組み合わせを含むがこれらに限定されないさまざまな形態のうちの任意の形態をとり得る。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、もしくはデバイスによって、または命令実行システム、装置、もしくはデバイスに関連して使用するためのプログラムを伝達、伝播、または搬送することができる任意のコンピュータ可読媒体である可能性がある。

コンピュータ可読媒体上に具現化されるコンピュータ・コードは、無線、有線、光ファイバ・ケーブル、無線周波数(RF)など、またはこれらの任意の好適な組み合わせを含むがこれらに限定されない任意の適切な媒体を用いて送信される可能性がある。

本発明の態様の操作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、またはC++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または同様のプログラミング言語などの通常の手続き型プログラミング言語とを含む1つまたは複数のプログラミング言語の任意の組み合わせで記述され得る。プログラム・コードは、すべてユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとしてユーザのコンピュータ上で部分的に、ユーザのコンピュータ上で部分的にかつ遠隔のコンピュータ上で部分的に、またはすべて遠隔のコンピュータもしくはサーバ上で実行され得る。最後の筋書きでは、遠隔のコンピュータが、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意の種類のネットワークを通じてユーザのコンピュータに接続され得るか、または外部コンピュータへの接続が(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)行われ得る。

本発明の態様が、本発明の例示的な実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して以下で説明される。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方のブロックの組み合わせは、コンピュータ・プログラム命令によって実装され得ることが理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサによって実行される命令が、流れ図またはブロック図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施するための手段をもたらすように、多目的コンピュータ、専用コンピュータ、またはその他のプログラム可能なデータ処理装置のプロセッサに与えられてマシンを作り出すものである可能性がある。

これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶された命令が、流れ図またはブロック図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施する命令を含む製品をもたらすように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスを特定の方法で機能させることができるコンピュータ可読媒体に記憶される可能性もある。

コンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能な装置で実行される命令が、流れ図またはブロック図あるいはその両方の1つのブロックまたは複数のブロックで規定された機能/動作を実施するためのプロセスを提供するように、コンピュータで実施されるプロセスを生成するために、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスにロードされ、コンピュータ、その他のプログラム可能な装置、またはその他のデバイスで一連の動作のステップが実行されるものである可能性もある。

図面の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータ・プログラム製品のあり得る実装のアーキテクチャ、機能、および動作を示す。これに関連して、流れ図またはブロック図の各ブロックは、(1つまたは複数の)規定された論理的な機能を実装するための1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表す可能性がある。一部の代替的な実装においては、ブロックで示された機能が、図面に示された順序とは異なる順序で行われる可能性があることにも留意されたい。例えば、連続で示された2つのブロックが、実際には実質的に同時に実行される可能性があり、またはそれらのブロックが、関連する機能に応じて逆順に実行されることもあり得る。ブロック図または流れ図あるいはその両方の各ブロックと、ブロック図または流れ図あるいはその両方のブロックの組み合わせとは、規定された機能もしくは動作を実行する専用のハードウェアに基づくシステム、または専用のハードウェアとコンピュータ命令との組み合わせによって実装され得ることも認められるであろう。

したがって、例示的な実施形態は、多くの異なる種類のデータ処理環境で利用され得る。例示的な実施形態の特定の要素および機能を説明するための文脈を与えるために、図1および2は、以降、例示的な実施形態の態様が実装され得る例示的な環境として与えられる。図1および2は例であるに過ぎず、本発明の態様または実施形態が実装され得る環境に関するいかなる限定も断言または示唆するように意図されていないことを理解されたい。示される環境に対する多くの変更が、本発明の思想および範囲から逸脱することなくなされ得る。

図3は、1つの例示的な実施形態による安全なデータベース・システムの例示的なブロック図である。図3に示されるように、データベース・サーバ・ホスト300は、安全でないアクセスのローカル・エージェント(LA2)320と安全なアクセスのローカル・エージェント(LA1)350との両方を含む。これらのエージェントは、上で図1および2に示された対応するエージェントと同様であるが、DSIマッピング・データ・ストレージ340のエントリを生成し、利用するように本明細書に記載のさらなる操作および機能を実装するための論理によって拡張されている。したがって、図3はこれらのローカル・エージェントをローカル・エージェントLA1およびLA2と呼ぶが、これは、図1および2の参照および相関を分かりやすくするためになされているのであり、単純にこれらのローカル・エージェントLA1およびLA2が図1および2に示されたローカル・エージェントと同じローカル・エージェントであると明言または示唆するように意図されていない。それらのローカル・エージェントは同様であるが、例示的な実施形態のメカニズムを実装するために大きく修正されている。

図3に示されるように、図2に関連して上で説明されたのと同様にして、保護されていないローカル・エージェント(LA2)320が、低レベルのプロセス間通信APIを提供するソフトウェアであるプロセス間通信(IPC)メカニズム324を介してローカル・クライアント326からデータベース・アクセス要求を受信する。既に説明されたように、IPC傍受322が、そのようなデータベース・アクセス要求を傍受し、それらのデータベース・アクセス要求を処理のために安全でないアクセスのローカル・エージェント(LA2)320に転送する。

安全でないアクセスのローカル・エージェント(LA2)320は、データベース・クライアント要求(DCR)を復号するか、またはDCRに対するデータベース・サーバ応答(DSR)を暗号化するための暗号機能を呼び出すかまたは実施するように構成されないという意味で「安全でない」と言われ、実際には、IPC324およびIPC傍受322と統合される可能性がある。安全でないアクセスのローカル・エージェント(LA2)320は、図2のローカル・エージェント250と比較されるとき、データベース・サーバ・ホスト300のローカルになく、データベース・クライアント310のようにデータベース・サーバ・ホスト300の外部にある可能性があるクライアントからDCRを受信するための論理を含むようにさらに拡張される。そのようなDCRは、スイッチ、ルータなどのルーティング・メカニズム(図示せず)を含む1つまたは複数のデータ・ネットワークを介して受信され得る。したがって、データベース360のデータのセキュリティを保証するために、そのようなDCR、およびデータベース・サーバ・ホスト300から送り返される対応するDSRが暗号化される。したがって、データベース360は、例えば、暗号エンジン352によって提供される暗号プロセスがデータベース・サーバ・ホスト300に送信されているデータおよびデータベース・サーバ・ホスト300から送信されているデータを保護するために使用される安全なデータベースである。

保護されていないローカル・エージェント(LA2)320は、暗号エンジン352を呼び出すように構成されず、したがって、受信された暗号化されたDCRを処理のために平文の(復号された)DCRに変換することができない。したがって、保護されていないローカル・エージェント(LA2)320は、復号されたDCRをバックエンドのデータベース360に提供するか、またはデータベースへのアクセスをログに記録すること、そのような要求されたアクセスを遮断/許可する動作を実行すること、もしくはデータベース360からDSRで返されたデータを修正することなどのさらなる分析およびセキュリティ操作のために外部セキュリティ・デバイス370に提供する目的で、暗号化されたDCRに対する機能を実行することができない。

しかし、例示的な実施形態によれば、保護されていないローカル・エージェント(LA2)320は、暗号化されたDCRに基づいて一意識別可能鍵(UIK)を抽出または生成するためのさらなる論理を含む。この論理は、DCRの暗号化されたデータのサブセットをUIKとして取得する。つまり、データベースとの各セッションのために使用される暗号鍵がそのセッションに対して一意であると考えられるので、DCRのデータのしかるべく十分に長いサブセットは、そのセッションに対して一意になる。言い換えると、2つの異なるセッションがデータベース・サーバ・ホスト300に同じ正確な要求を送った場合、少なくとも、各セッションのために使用される一意の暗号/復号鍵のために、暗号化されたDCRは異なる。

UIKは、いくつかの異なる方法で抽出または生成され得る。DCR内の指定された位置の暗号化されたDCRの一部を単純に抽出することが、DCRからUIKを抽出するための基礎として使用される可能性がある。特定の実装に依存して、UIKは、さまざまなサイズを有する可能性があり、したがって、暗号化されたDCRの異なるサブセットである可能性がある。例えば、1つの例示的な実施形態において、UIKは、暗号化されたDCRの8バイトのサブセットまたは部分である可能性がある。したがって、UIKは、暗号化されたDCRから抽出されたデータの暗号化されたパターンであり、クライアント・コンピューティング・デバイスとデータベース・サーバ・ホスト300との間の特定のセッションに対して一意である。

暗号化されたDCRから保護されていないローカル・エージェント(LA2)320によって抽出されるUIKは、クライアント・コンピューティング・デバイス310とデータベース・サーバ・ホスト300との間のセッションに関するデータベース・セッション情報(DSI)と相互に関連付けられる。この相互の関連付けは、UIKと、DSIデータ・ストレージ330に記憶されたセッションに関する実際のDSIデータを指すDSIアドレスとの間でなされる。DSIアドレスへのUIKのマッピングは、安全でないアクセスのローカル・エージェント(LA2)320によってDSIマッピング・データ・ストレージ340のエントリに記憶される。したがって、DSIマッピング・データ・ストレージ340は、UIKによって特定された暗号化されたDCRを、セッションに関するDSIデータ・ストレージ330の暗号化されていないDSIにマッピングすることを可能にする。

図3の説明では、データベース・クライアント310などのクライアント・コンピューティング・デバイスがデータベース・クライアント・コンピューティング・デバイス310とデータベース・サーバ・ホスト300との間のセッションを設定するための知られているハンドシェイク動作を実施すると仮定されることを理解されたい。このハンドシェイク動作の一部として、データベース・セッション情報(DSI)が、クライアント・コンピューティング・デバイスのそれぞれとのセッションのそれぞれに関して集められ、DSIデータ・ストア330に記憶される。上述のように、このDSIデータは、データベース・クライアント・プロセスのオペレーティング・システムのユーザ、データベース・クライアント・プロセスid、端末id、データベース・クライアントのIPアドレス、データベース・サーバのポート、またはクライアント・コンピューティング・デバイス310とデータベース・サーバ・ホスト300との間の接続を定義するその他の情報などの情報を含む可能性がある。このデータは、オペレーティング・システム・レベルで集められ、したがって、概して、暗号エンジン352および安全なアクセスのローカル・エージェント(LA1)350が動作するデータベース・サーバ・ホスト300の暗号またはセキュリティ・レベルに利用され得ない。

安全でないアクセスのローカル・エージェント(LA2)320の動作に再び戻ると、安全でないアクセスのローカル・エージェント(LA2)320は、暗号エンジン352の暗号プロセスを呼び出すかまたは暗号エンジン352の暗号プロセスの呼び出しを傍受することができないので、暗号化されたDCRの復号を実行することができない。対照的に、データベース・サーバは、安全なアクセスのローカル・エージェント(LA1)350を呼び出し、受信された暗号化されたDCRを安全なアクセスのローカル・エージェント(LA1)350に与える。安全なアクセスのローカル・エージェント(LA1)350は、図1のローカル・エージェント160と同様であるが、暗号化されたDCRからUIKを抽出し、UIKに基づいてDSIマッピング・データ・ストレージ340内の探索動作を実行して暗号化されていない(平文の)DSIデータに関するDSIアドレスを取得するための論理を含むように拡張される。したがって、安全なアクセスのローカル・エージェント(LA1)は、当技術分野で広く知られている方法で復号されたDCRを生成するために、暗号エンジン352の暗号プロセスを呼び出して受信された暗号化されたDCRを復号する。

暗号プロセスがデータベース・サーバによって呼び出されているのと実質的に同時に、安全なアクセスのローカル・エージェント(LA1)350は、呼び出しを傍受し、安全でないアクセスのローカル・エージェント(LA2)320によって行われたのと同様の方法で暗号化されたDCRからUIKを抽出する。したがって、安全でないアクセスのローカル・エージェント(LA2)320と安全なアクセスのローカル・エージェント(LA1)350との両方が、暗号化されたDCRからUIKを抽出するために同じ論理を実装する。結果として、安全でないアクセスのローカル・エージェント(LA2)320によって抽出されるUIKと、安全なアクセスのローカル・エージェント(LA1)350によって抽出されるUIKとは、同一であるべきであり、それによって、DSIマッピング・データ・ストレージ340におけるDSIアドレス情報の探索を可能にする。

安全なアクセスのローカル・エージェント(LA1)350によって抽出される抽出されたUIKに基づいて、安全なアクセスのローカル・エージェント(LA1)350は、DSIマッピング・データ・ストレージ340内の探索動作を実行し、UIKに対応するDSIアドレスを取得する。したがって、暗号エンジン352によって実行される暗号化されたDCRの復号と、抽出されたUIKに基づくDSIマッピング・データ・ストレージ340からのDSIアドレスの取得とのおかげで、安全なアクセスのローカル・エージェント(LA1)350は、復号されたDCRと、取得されたDSIアドレスによって指し示されたDSIデータ・ストレージ330の暗号化されていないDSIデータとの両方にアクセスすることができる。したがって、安全なアクセスのローカル・エージェント(LA1)350は、復号されたDCRをデータベース360に転送し、その結果、要求されたデータが、データベース360から取得される可能性があり、対応するデータベース・サーバ応答(DSR)が、そのようなDSRが侵入の検出などが原因でセキュリティ・メカニズムによって遮断されないと仮定して、当技術分野で広く知られている方法でデータベース・クライアント310に返される可能性がある。

加えて、安全なアクセスのローカル・エージェント(LA1)350は、復号されたDCRおよび平文のDSIデータをさらなる分析およびセキュリティ操作のために外部セキュリティ・デバイス(ESD)370に転送する。つまり、ESD370は、DCRおよびDSIデータを処理して、データベース・システムからの確立されたいずれかのセキュリティ・ポリシーがDCRによって破られているかどうかを判定する。たびたび、そのような判定を行うために、セキュリティ・ポリシーが破られるか否かに関係がある可能性があるクライアント・コンピューティング・デバイス310、および使用されている接続の種類などについての情報を与えるDSIデータを有することが重要である。例えば、データベースは、例えば、ユーザAliceによってのみ、かつインターネット・プロトコル・アドレス192.168.1.175を有するコンピュータからのみテーブルがアクセスされ得るという関連するセキュリティ・ポリシーを有するテーブル「SECRET INFORMATION」を記憶する可能性がある。つまり、ESD370は、「ユーザがAliceではないか、またはクライアントのipアドレスが192.168.1.175ではない場合、警告を発する」という形の規則を有する可能性がある。

実行され得るセキュリティ操作は、例えば、データベース・システムが要求されたデータをDSRで返すことを許すこと、またはセキュリティ・ポリシーの違反が起こる場合に要求されたデータを返すことを遮断することを含む可能性がある。さらに、セキュリティ操作は、より高度である可能性があり、データベース・クライアント310に返されるデータを匿名化する可能性、データベース・クライアント310に返される前に返されるデータを修正する可能性、別のロケーションにデータをリダイレクトする可能性、データベース・クライアント要求を任意のセキュリティ・ポリシー違反についての情報と一緒にログ・データ構造に記録する可能性、またはセキュリティ・ポリシー違反が起こる場合に権限のある個人に通知を送信する可能性などがある。セキュリティ・ポリシーが破られるか否かに基づいて実行され得る任意の好適なセキュリティ操作は、例示的な実施形態の思想および範囲を逸脱することなく使用され得る。

したがって、上述の操作を要約すると、暗号化されたDCRがデータベース・サーバ・ホスト300によって受信されるとき、その暗号化されたDCRは安全でないアクセスのローカル・エージェント(LA2)320によって受信され、安全でないアクセスのローカル・エージェント(LA2)320は、UIKを抽出し、UIKをセッションに関するDSIアドレスに相互に関連付け、UIKをDSIアドレスにマッピングするためのDSIマッピング・データ・ストレージ340のDSIマッピング・データ構造のエントリを生成する。暗号化されたDCRは、安全なアクセスのローカル・エージェント(LA1)350に渡され、安全なアクセスのローカル・エージェント(LA1)350は、やはりUIKを生成し、DSIマッピング・データ構造内でUIKの探索を実行してDSIアドレスを取得し、暗号エンジン352を呼び出してDCRを復号する。そして、安全なアクセスのローカル・エージェント(LA1)350は、復号されたDCRおよびDSIをESD370に与え、復号されたDCRをデータベース360に与える。これは、DSIデータが従来技術のメカニズムにおいて他の状況であれば利用され得ないときに安全なアクセスのローカル・エージェント(LA1)350を介してESD370にアクセス可能になるようにされることを可能にする。

上述のように、例示的な実施形態の主な特徴のうちの1つは、暗号化されたデータベース・クライアント要求(DCR)から一意識別可能鍵(UIK)を抽出する能力である。図4は、1つの例示的な実施形態による暗号化されたデータベース・クライアント要求(DCR)からの一意識別可能鍵(UIK)の抽出、および現在のセッションに関するデータベース・セッション情報(DSI)アドレスとのUIKのマッピングを示す例示的な図である。図4において、要素410は、暗号化されたデータを表すシンボルの列を有する暗号化されたデータベース・クライアント要求(DCR)パケットを表す。示された特定の例において、列の一部「17 03 01 00 36」は、トランスポート・レイヤ・セキュリティ(TLS)の一部であり、データが暗号化されることを示す。加えて、TLSプロトコルによれば、ヘッダ・オフセットは、暗号化されたデータの始まりがデータ・パケットのバイト6にあることを示す5バイトである。この特定の例において、鍵は、暗号化されたデータの最初の8バイトから抽出される8バイトの鍵であるように選択される。これは、データ・パケットの一部412に対応する。

したがって、UIK420は、DSIアドレスとのマッピングで使用するためにDCRデータ・パケット420から安全でないアクセスのローカル・エージェント(LA2)によって抽出される。この例の目的のために、集められるDSIデータは以下を含むと仮定される。
DSIアドレス: 0x8057779
OSユーザ: admin
DBクライアント・プロセスID:53871
TERMINAL ID: tty05
データベース・クライアントIPアドレス:192.168.2.26
データベース・クライアント・ポート: 13756
データベース・サーバ・ポート: 4100

安全でないアクセスのローカル・エージェント(LA2)は、UIK/DSIアドレスの対:(0x5a31720a71c4b65c, 0x8057779)をマッピングするDSIマッピング・データ構造(DSI_MAP)のエントリを生成する。

図4の要素430は、DCRを復号し、DSIアドレスを取得し、復号されたDCRおよびDSIデータをESDに与えるときに安全なアクセスのローカル・エージェント(LA1)によって実施され得る擬似コードを示す。図4の要素430に示されるように、安全なアクセスのローカル・エージェント(LA1)は、暗号化されたDCRの復号を初期化し、DSI_MAPデータ構造からDSIを取得し、DSIアドレスを現在のセッション情報(SI)にマッピングする。その後、安全なアクセスのローカル・エージェント(LA1)は、DSIが利用可能であり、DSIデータがSI情報と相互に関連付けられているのが初めてである場合、DSIデータおよび平文のDCRをESDにプッシュする(そのような相互の関連付けは、初回にのみ実行される必要があり、この相互の関連付けは、その後の操作で再利用され得る)。DSIが利用可能でない場合、平文のDCRのみがESDに送信される。

図5は、1つの例示的な実施形態による安全なデータベース・システムで暗号化されたデータベース・クライアント要求(DCR)を処理するための例示的な操作の概略を示す流れ図である。図5に示されるように、操作は、安全でないアクセスのローカル・エージェント(LA2)において暗号化されたデータベース・クライアント要求(DCR)を受信することによって始まる(ステップ510)。セッションに関するデータベース・セッション情報(DSI)アドレスが、安全でないアクセスのローカル・エージェント(LA2)によって受信される(ステップ520)。安全でないアクセスのローカル・エージェント(LA2)は、暗号化されたDCRから一意識別可能鍵(UIK)を抽出し(ステップ530)、UIKをDSIアドレスにマッピングするDSIマッピング・データ構造のエントリを記憶する(ステップ540)。そして、暗号化されたDCRが、安全でないアクセスのローカル・エージェントによって安全なアクセスのローカル・エージェントに渡される(ステップ550)。

安全なアクセスのローカル・エージェントは、暗号化されたDCRに基づいてUIKを生成し(ステップ560)、DSIマッピング・データ構造内でUIKの探索を実行して対応するDSIアドレスを特定する(ステップ570)。DSIアドレスが、一致するUIKに基づいてDSIマッピング・データ構造から取得され(ステップ580)、DCRが、復号される(ステップ590)。復号されたDCRおよび平文のDSIデータが、外部セキュリティ・デバイスに出力される(ステップ600)。そして、外部セキュリティ・デバイスが、復号されたDCRおよびDSIに基づいて分析およびセキュリティ操作を実行する(ステップ610)。そして、操作は終了する。

したがって、例示的な実施形態は、安全なデータベース・サーバを通じて外部セキュリティ・デバイスにデータベース・セッション情報でセッション属性を伝播するためのメカニズムを提供する。例示的な実施形態は、知られているアーキテクチャにおいてそのようなセッション属性が安全なデータベース・サーバのセキュリティ・ティアまたはレベルに利用され得ないことに関連する問題を克服する。例示的な実施形態は、安全なアクセスのローカル・エージェントがこれらのセッション属性にアクセスし、それらのセッション属性を復号されたデータベース・クライアント要求と一緒に外部セキュリティ・デバイスに与えることを可能にする。

上述のように、例示的な実施形態は、すべてハードウェアの実施形態、すべてソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素との両方を含む実施形態の形態をとる可能性があることを理解されたい。1つの例示的な実施形態において、例示的な実施形態のメカニズムは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアまたはプログラム・コードで実装される。

プログラム・コードの記憶または実行あるいはその両方に好適なデータ処理システムが、システム・バスを通じてメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量ストレージと、実行中に大容量ストレージからコードが取得されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的な記憶を行うキャッシュ・メモリとを含み得る。

(キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない)入力/出力またはI/Oデバイスが、直接か、または介在するI/Oコントローラを通じてかのどちらかでシステムに結合される可能性がある。介在するプライベートまたはパブリック・ネットワークを通じてデータ処理システムがその他のデータ処理システムまたは遠隔のプリンタもしくはストレージ・デバイスに結合されるようになることを可能にするために、ネットワーク・アダプタもシステムに結合される可能性がある。モデム、ケーブル・モデム、およびイーサネット(R)・カードは、現在利用可能な種類のネットワーク・アダプタのほんの一部である。

図6は、例示的な実施形態の態様が実装され得る例示的なデータ処理システムのブロック図である。データ処理システム600は、本発明の例示的な実施形態に関するプロセスを実装するコンピュータが使用可能なコードまたは命令が配置され得る、図3のデータベース・サーバ・ホスト300などのコンピュータの一例である。

示された例において、データ処理システム600は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(NB/MCH)602ならびにサウス・ブリッジおよび入力/出力(I/O)コントローラ・ハブ(SB/ICH)604を含むハブ・アーキテクチャを使用する。処理ユニット606、メイン・メモリ608、およびグラフィックス・プロセッサ610が、NB/MCH602に接続されている。グラフィックス・プロセッサ610は、アクセラレーテッド・グラフィックス・ポート(AGP)を通じてNB/MCH602に接続され得る。

示された例においては、ローカル・エリア・ネットワーク(LAN)アダプタ612が、SB/ICH604に接続する。オーディオ・アダプタ616、キーボードおよびマウス・アダプタ620、モデム622、読み出し専用メモリ(ROM)624、ハード・ディスク・ドライブ(HDD)626、CD−ROMドライブ630、ユニバーサル・シリアル・バス(USB)ポートおよびその他の通信ポート632、ならびにPCI/PCIeデバイス634が、バス638およびバス640を通じてSB/ICH604に接続する。PCI/PCIeデバイスは、例えば、イーサネット(R)・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のPCカードを含み得る。PCIがカード・バス・コントローラを使用する一方、PCIeは使用しない。ROM624は、例えば、フラッシュ基本入出力システム(BIOS)である可能性がある。

HDD626およびCD−ROMドライブ630は、バス640を通じてSB/ICH604に接続する。HDD626およびCD−ROMドライブ630は、例えば、インテグレーテッド・デバイス・エレクトロニクス(IDE:integrated drive electronics)またはシリアル・アドバンスド・テクノロジー・アタッチメント(SATA:serial advanced technology attachment)インターフェースを使用する可能性がある。スーパーI/O(SIO)デバイス636が、SB/ICH604に接続される可能性がある。

オペレーティング・システムが、処理ユニット606で実行される。オペレーティング・システムは、図6のデータ処理システム600内のさまざまな構成要素を調整し、制御する。サーバとして、データ処理システム600は、例えば、Advanced Interactive Executive(AIX(R))オペレーティング・システムまたはLINUX(R)オペレーティング・システムを実行するIBM(R)eServer(商標)System p(R)コンピュータ・システムである可能性がある。データ処理システム600は、処理ユニット606の複数のプロセッサを含む対称型マルチプロセッサ(SMP)システムである可能性がある。あるいは、単一プロセッサ・システムが使用される可能性がある。Java(R)プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムと連携して実行される可能性があり、データ処理システム600で実行されるJava(R)プログラムまたはアプリケーションからオペレーティング・システムに対する呼び出しを行う。

オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムに関する命令は、HDD626などのストレージ・デバイスに置かれており、処理ユニット606によって実行するためにメイン・メモリ608にロードされ得る。本発明の例示的な実施形態のためのプロセスは、例えばメイン・メモリ608、ROM624などのメモリ、または例えば1つもしくは複数の周辺デバイス626および630に置かれる可能性があるコンピュータが使用可能なプログラム・コードを用いて処理ユニット606によって実行され得る。

図6に示されるバス638またはバス640などのバス・システムは、1つまたは複数のバスで構成される可能性がある。言うまでもなく、バス・システムは、ファブリックまたはアーキテクチャに接続された異なる構成要素またはデバイス間のデータの転送を行う任意の種類の通信ファブリックまたはアーキテクチャを使用して実装される可能性がある。図6のモデム622またはネットワーク・アダプタ612などの通信ユニットは、データを送受信するために使用される1つまたは複数のデバイスを含み得る。メモリは、例えば、メイン・メモリ608、ROM624、または図6のNB/MCH602に見られるようなキャッシュである可能性がある。

当業者は、図6のハードウェアが実装に応じて変わり得ることを理解するであろう。フラッシュ・メモリ、等価な不揮発性メモリ、または光ディスク・ドライブなどのその他の内部ハードウェアまたは周辺デバイスが、図6に示されたハードウェアに加えて、またはそれらのハードウェアの代わりに使用される可能性がある。また、例示的な実施形態のプロセスは、上述のSMPシステム以外のマルチプロセッサ・データ処理システムに適用され得る。

本発明の説明が、例示および説明を目的として示されており、網羅的であるように、または開示された形態の本発明に限定されるように意図されていない。多くの変更および改変が、当業者に明らかであろう。実施形態は、本発明の原理、実際の応用を最も良く説明し、考えられる特定の用途に適するさまざまな変更を加えたさまざまな実施形態に関して他の当業者が本発明を理解することを可能にするために選択され、説明された。

Claims (12)

  1. プロセッサおよびメモリを含むデータ処理システムにおいて、データベース・クライアント要求を処理するための方法であって、
    前記データ処理システムの安全でないアクセスのローカル・エージェントによって、クライアント・コンピューティング・デバイスと前記データ処理システムとの間のセッションの一部として前記クライアント・コンピューティング・デバイスから暗号化されたデータベース・クライアント要求(DCR)を受信するステップと、
    前記安全でないアクセスのローカル・エージェントによって、前記セッションに対応するデータベース・セッション情報(DSI)アドレスを取得するステップと、
    前記安全でないアクセスのローカル・エージェントによって、前記暗号化されたDCRの一部に基づいて第1の一意識別可能鍵(UIK)を生成するステップと、
    前記安全でないアクセスのローカル・エージェントによって、前記第1のUIKを前記DSIアドレスにマッピングするDSIマッピング・データ構造を生成するステップと、
    前記データ処理システムの安全なアクセスのローカル・エージェントによって、前記DSIマッピング・データ構造を用いて前記暗号化されたDCRを処理するステップと
    を含む、方法。
  2. 前記DSIマッピング・データ構造を用いて前記暗号化されたDCRを処理するステップが、
    前記安全なアクセスのローカル・エージェントによって、前記暗号化されたDCRを復号するための暗号プロセスを呼び出すステップと、
    前記安全なアクセスのローカル・エージェントによって、前記暗号プロセスの呼び出しを傍受することに応じて、前記DSIマッピング・データ構造に基づいて前記セッションに関する前記DSIアドレスを取得するステップと
    を含む、請求項1に記載の方法。
  3. 前記DSIマッピング・データ構造に基づいて前記セッションに関する前記DSIアドレスを取得するステップが、
    前記安全なアクセスのローカル・エージェントによって、前記暗号化されたDCRに基づいて第2のUIKを生成するステップと、
    前記第2のUIKに基づいて前記DSIマッピング・データ構造内の探索動作を実行して、前記第2のUIKに一致する一致UIKを有する前記DSIマッピング・データ構造の一致エントリを特定するステップと、
    前記DSIマッピング・データ構造の前記一致エントリからDSIアドレスを取得するステップと
    を含む、請求項2に記載の方法。
  4. 前記DSIマッピング・データ構造を用いて前記暗号化されたDCRを処理するステップが、前記DSIアドレスを用いて前記セッションに関するDSIデータを取得するステップをさらに含む、請求項3に記載の方法。
  5. 前記DSIマッピング・データ構造を用いて前記暗号化されたDCRを処理するステップが、
    復号されたDCR、および前記DSIアドレスに対応する前記DSIデータをセキュリティ・デバイスに転送するステップであって、前記セキュリティ・デバイスが、前記復号されたDCRおよび前記DSIデータをセキュリティ・ポリシー違反に関して分析する、前記転送するステップをさらに含む、請求項4に記載の方法。
  6. 前記セキュリティ・デバイスが、前記復号されたDCRおよび前記DSIデータの分析の結果に基づいて1つまたは複数のセキュリティ操作を実行する、請求項5に記載の方法。
  7. 前記1つまたは複数のセキュリティ操作が、前記データ処理システムから前記クライアント・コンピューティング・デバイスへの応答を認可すること、前記データ処理システムから前記クライアント・コンピューティング・デバイスへの応答を遮断すること、前記データ処理システムからの応答を修正すること、前記DCRの処理の通知をユーザに送信すること、または前記DCRの前記処理に対応するログのエントリを生成することのうちの少なくとも1つを含む、請求項6に記載の方法。
  8. 前記暗号化されたDCRの一部に基づいて前記第1のUIKを生成するステップが、
    前記暗号化されたDCRの一部を前記セッションに対して一意の暗号化されたパターンとして抽出するステップと、
    前記暗号化されたDCRの抽出された一部を前記第1のUIKとして記憶するステップと
    を含む、請求項1ないし7のいずれか一項に記載の方法。
  9. 請求項1〜8の何れか1項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
  10. 請求項9に記載の前記コンピュータ・プログラムをコンピュータ可読ストレージ媒体に記録した、コンピュータ可読ストレージ媒体。
  11. データ処理システムであって、
    請求項1〜8の何れか1項に記載の各ステップをハードウェアによって構成した手段を含む、データ処理システム。
  12. データベース・システムであって、
    データベース・サーバ・ホスト・システムと、
    前記データベース・サーバ・ホスト・システムに結合されたデータベース・ストレージ・デバイスと、
    前記データベース・サーバ・ホスト・システムに結合された外部セキュリティ・デバイスと
    を含み、前記データベース・サーバ・ホスト・システムが、安全でないアクセスのローカル・エージェント、安全なアクセスのローカル・エージェント、および暗号エンジンを実装するように構成され、前記データベース・サーバ・ホスト・システムが、
    前記安全でないアクセスのローカル・エージェントによって、クライアント・コンピューティング・デバイスとデータ処理システムとの間のセッションの一部として前記クライアント・コンピューティング・デバイスから暗号化されたデータベース・クライアント要求(DCR)を受信し、
    前記安全でないアクセスのローカル・エージェントによって、前記セッションに対応するデータベース・セッション情報(DSI)アドレスを取得し、
    前記安全でないアクセスのローカル・エージェントによって、前記暗号化されたDCRの一部に基づいて第1の一意識別可能鍵(UIK)を生成し、
    前記安全でないアクセスのローカル・エージェントによって、前記第1のUIKを前記DSIアドレスにマッピングするDSIマッピング・データ構造を生成し、
    前記データ処理システムの安全なアクセスのローカル・エージェントによって、前記DSIマッピング・データ構造内の探索動作を実行することと、前記暗号化されたDCRに基づいて前記安全なアクセスのローカル・エージェントによって生成された第2のUIKを用いて前記DSIアドレスを取得することと、前記DSIアドレスに対応する平文のDSIデータ、および前記暗号化されたDCRに基づいて前記暗号エンジンによって生成された復号されたDCRをセキュリティ・ポリシー違反を検出する処理のために前記外部セキュリティ・デバイスに与えることとによって前記DSIマッピング・データ構造を用いて前記暗号化されたDCRを処理する
    ようにさらに構成される、データベース・システム。
JP2015562435A 2013-03-11 2014-02-24 データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム Active JP6188832B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/793,877 US9043593B2 (en) 2013-03-11 2013-03-11 Session attribute propagation through secure database server tiers
US13/793,877 2013-03-11
PCT/IB2014/059197 WO2014140969A1 (en) 2013-03-11 2014-02-24 Session attribute propagation through secure database server tiers

Publications (2)

Publication Number Publication Date
JP2016511480A JP2016511480A (ja) 2016-04-14
JP6188832B2 true JP6188832B2 (ja) 2017-08-30

Family

ID=51489386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015562435A Active JP6188832B2 (ja) 2013-03-11 2014-02-24 データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム

Country Status (6)

Country Link
US (1) US9043593B2 (ja)
JP (1) JP6188832B2 (ja)
CN (1) CN105009138B (ja)
DE (1) DE112014001229B4 (ja)
GB (1) GB2526743B (ja)
WO (1) WO2014140969A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246935B2 (en) 2013-10-14 2016-01-26 Intuit Inc. Method and system for dynamic and comprehensive vulnerability management
US9313281B1 (en) 2013-11-13 2016-04-12 Intuit Inc. Method and system for creating and dynamically deploying resource specific discovery agents for determining the state of a cloud computing environment
US9501345B1 (en) 2013-12-23 2016-11-22 Intuit Inc. Method and system for creating enriched log data
US9323926B2 (en) 2013-12-30 2016-04-26 Intuit Inc. Method and system for intrusion and extrusion detection
US9325726B2 (en) 2014-02-03 2016-04-26 Intuit Inc. Method and system for virtual asset assisted extrusion and intrusion detection in a cloud computing environment
US9245117B2 (en) 2014-03-31 2016-01-26 Intuit Inc. Method and system for comparing different versions of a cloud based application in a production environment using segregated backend systems
US9276945B2 (en) 2014-04-07 2016-03-01 Intuit Inc. Method and system for providing security aware applications
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US9374389B2 (en) 2014-04-25 2016-06-21 Intuit Inc. Method and system for ensuring an application conforms with security and regulatory controls prior to deployment
US9900322B2 (en) 2014-04-30 2018-02-20 Intuit Inc. Method and system for providing permissions management
US9319415B2 (en) 2014-04-30 2016-04-19 Intuit Inc. Method and system for providing reference architecture pattern-based permissions management
US9330263B2 (en) 2014-05-27 2016-05-03 Intuit Inc. Method and apparatus for automating the building of threat models for the public cloud
US9866581B2 (en) 2014-06-30 2018-01-09 Intuit Inc. Method and system for secure delivery of information to computing environments
US9473481B2 (en) 2014-07-31 2016-10-18 Intuit Inc. Method and system for providing a virtual asset perimeter
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
US10154041B2 (en) * 2015-01-13 2018-12-11 Microsoft Technology Licensing, Llc Website access control
CN106209407B (zh) * 2015-05-07 2020-03-10 阿里巴巴集团控股有限公司 进行会话备份的方法与设备
US9888014B2 (en) 2015-09-29 2018-02-06 International Business Machines Corporation Enforcing security for sensitive data on database client hosts

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986060B1 (en) 2000-05-23 2006-01-10 Oracle International Corp. Method and apparatus for sharing a security context between different sessions on a database server
US6816455B2 (en) 2001-05-09 2004-11-09 Telecom Italia S.P.A. Dynamic packet filter utilizing session tracking
US8392553B2 (en) * 2003-04-29 2013-03-05 University Of Strathclyde Remote monitoring by tracking, storing, and analyzing user interactions with an operating system of a data processing device
US7426512B1 (en) 2004-02-17 2008-09-16 Guardium, Inc. System and methods for tracking local database access
US7657737B2 (en) * 2005-02-28 2010-02-02 International Business Machines Corporation Method for mapping an encrypted https network packet to a specific url name and other data without decryption outside of a secure web server
US8141100B2 (en) 2006-12-20 2012-03-20 International Business Machines Corporation Identifying attribute propagation for multi-tier processing
US8495367B2 (en) 2007-02-22 2013-07-23 International Business Machines Corporation Nondestructive interception of secure data in transit
JP2008219454A (ja) * 2007-03-05 2008-09-18 Hitachi Ltd 通信内容監査支援システム
US8700892B2 (en) * 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
US8583666B2 (en) 2010-12-08 2013-11-12 International Business Machines Corporation Identity propagation through application layers using contextual mapping and planted values
EP2792104A4 (en) * 2011-12-21 2015-09-23 Ssh Comm Security Oyj Automated access, key, certificate, and credential management
US8677121B2 (en) 2012-07-31 2014-03-18 Hewlett-Packard Development Company, L.P. Monitoring encrypted session properties

Also Published As

Publication number Publication date
GB201516908D0 (en) 2015-11-11
GB2526743B (en) 2017-11-08
CN105009138A (zh) 2015-10-28
GB2526743A (en) 2015-12-02
DE112014001229B4 (de) 2019-04-04
US20140258715A1 (en) 2014-09-11
WO2014140969A1 (en) 2014-09-18
DE112014001229T5 (de) 2016-01-07
US9043593B2 (en) 2015-05-26
CN105009138B (zh) 2017-08-22
JP2016511480A (ja) 2016-04-14

Similar Documents

Publication Publication Date Title
AU2017200969B2 (en) Path scanning for the detection of anomalous subgraphs and use of dns requests and host agents for anomaly/change detection and network situational awareness
US9882876B2 (en) System and method for redirected firewall discovery in a network environment
JP6106780B2 (ja) マルウェア解析システム
US10097536B2 (en) Space-time separated and jointly evolving relationship-based network access and data protection system
Khan A survey of security issues for cloud computing
US10609046B2 (en) Unwanted tunneling alert system
US9832227B2 (en) System and method for network level protection against malicious software
US10367830B2 (en) Security action of network packet based on signature and reputation
Lee et al. On security and privacy issues of fog computing supported Internet of Things environment
US9294442B1 (en) System and method for threat-driven security policy controls
US9893897B2 (en) Encrypted data inspection in a network environment
Mollah et al. Security and privacy challenges in mobile cloud computing: Survey and way ahead
EP3014813B1 (en) Rootkit detection by using hardware resources to detect inconsistencies in network traffic
US20180077160A1 (en) Client/server security by executing instructions and rendering client application instructions
US20180152436A1 (en) Reliable selection of security countermeasures
US9516062B2 (en) System and method for determining and using local reputations of users and hosts to protect information in a network environment
Virvilis et al. Trusted Computing vs. Advanced Persistent Threats: Can a defender win this game?
JP2016136735A (ja) プロトコルフィンガープリント取得および評価相関のためのシステム、装置、プログラム、および方法
US20190334950A1 (en) Private key operations
KR101811325B1 (ko) 네트워크 환경에서의 악성 스크립트 언어 코드의 검출
Cabaj et al. Software-defined networking-based crypto ransomware detection using HTTP traffic characteristics
US10541975B2 (en) Data computation in a multi-domain cloud environment
US9560059B1 (en) System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
Cabaj et al. Using software-defined networking for ransomware mitigation: the case of cryptowall
US8800024B2 (en) System and method for host-initiated firewall discovery in a network environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170207

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170801

R150 Certificate of patent or registration of utility model

Ref document number: 6188832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150