セキュリティ実施ポイントへのセキュリティ・アソシエーション情報の選択的ロードのための方法、装置、およびコンピュータ・プログラム
【課題】 セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための、方法、ネットワーク要素、およびコンピュータ・ストレージ・プログラム製品を提供する。
【解決手段】 少なくとも1つの暗号化データ・パケットが受信される。少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨が決定される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求が、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報が、通信ネットワーク・キー・サーバから受信される。
【解決手段】 少なくとも1つの暗号化データ・パケットが受信される。少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨が決定される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求が、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報が、通信ネットワーク・キー・サーバから受信される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、コンテンツ・ネットワーク・セキュリティの分野に関し、より具体的に言えば、通信パスにおける暗号化データのセキュリティ実施ポイント(security enforcement point)処理に関する。
【背景技術】
【0002】
グローバルにアクセス可能なコンピュータ・ネットワークに参加している情報技術者にとって、インターネット・セキュリティはますます関心の的となりつつある。特に、ブロードバンド・インターネット・アクセスの可用性および値ごろ感により、たとえ小規模企業内であっても、多くのコンピュータおよび小規模コンピュータ・ネットワークがインターネットへの継続的なアクセスを享受している。にもかかわらず、継続的で高速なアクセスに、コストがかからない訳ではない。具体的に言えば、これまではインターネットのセキュリティ・リスクから切り離されていたそれらのコンピュータおよびコンピュータ・ネットワークが、今や、悪意あるインターネット不正行為者の主要なターゲットとなっている。
【0003】
グローバル・インターネットにさらされているコンピューティング・デバイスの脆弱性に対処するために、情報技術者等は、セキュア通信を介してインターネット内のデータに真のエンド・ツー・エンド・セキュリティを提供しようとしている。当分野で「IPsec」として知られているインターネット・セキュリティ・プロトコルは、インターネットを介して使用するためのセキュア通信の一般的な形を表す。IPsecでは、インターネット内での通信パスを介したソース・ノードと宛先ノードとの間の通信を、セキュリティ・アソシエーション(「SA」)に従って管理することができる。SAは、IPsec処理を通信に適用する方法を定義する。IPsecは、RFCの中でもとりわけRFC4301に取って代わられたRequest for Comment(RFC)2401に定義されている。
【0004】
2つのIPsecエンドポイント間で定義されたセキュア通信パスは、しばしば、ファイアウォールなどの1つまたは複数のセキュリティ実施ポイントを組み込んでいる。セキュリティ実施ポイントは、しばしばIPsecセキュア通信パスの中に配置され、IPsec SA処理を実行しない。この状況では、セキュア通信パス内に配置されたセキュリティ実施ポイントには、トラバースIPsec SA内の暗号化データを検査する方法がないことになる。したがって、ほとんどのセキュリティ機能が、暗号化されていないクリアなテキスト・データへのアクセスを必要とするため、セキュアIPsec通信パス内のセキュリティ実施ポイントのセキュリティ機能は動作不能となる。現行のシステムは、一般に、セキュリティ実施ポイントに、いかなる暗号化アルゴリズムまたはセッション・キー情報も提供しないため、結果として、セキュリティ実施ポイントはそれらの機能を正しく実行することができない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、前述のような従来技術に伴う諸問題を克服する必要がある。
【課題を解決するための手段】
【0006】
したがって本発明は、第1の態様において、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための方法を提供し、SEPを伴うこの方法は、少なくとも1つの暗号化データ・パケットを受信すること、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨を決定すること、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信すること、および、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報を通信ネットワーク・キー・サーバから受信することを含む。
【0007】
さらにこの方法は、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットをドロップすること、および、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットを復号せずに、少なくとも1つの暗号化データ・パケットをSEPからその宛先に転送することのうちの、少なくとも1つを含むことができる。
【0008】
さらにこの方法は、SEPを使用して、通信ネットワーク・キー・サーバから受信したSA情報に関連付けられた後続の暗号化データ・パケットを復号することを、含むことができる。
【0009】
さらにこの方法は、復号に応答して、SA情報に関連付けられ、復号された、後続の暗号化データ・パケット上でセキュリティ機能を実行することを含むことができる。
【0010】
好ましくは、キー・サーバから受信したSA情報は、少なくとも、SAに関連付けられたセッション・キー・データを含む。
【0011】
さらにこの方法は、キー・サーバとの持続セキュア・セッションを確立することを含むことができる。
【0012】
好ましくは、キー・サーバに送信される要求は、少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む。
【0013】
第2の態様では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報をセキュリティ実施ポイント(「SEP」)に選択的にロードするための方法が提供され、キー・サーバでエンドポイント間にある1つまたは複数のエンド・ツー・エンドのセキュア通信パスに関するセキュリティ・アソシエーション(「SA」)を保持するこの方法は、第2のエンドポイントを備えたエンド・ツー・エンドのセキュア通信パスに関するSAを使用して、第1のエンドポイントからSAに関連付けられたSA情報を受信すること、SA情報をメモリに格納すること、少なくとも1つのSEPがSA内に権利(interest)を登録した旨を決定すること、および、SA情報を少なくとも1つのSEPに送信することを含む。
【0014】
好ましくは、第1のエンドポイントから受信されるSA情報は、SAに関連付けられたセッション・キー・データを含む。
【0015】
好ましくは、少なくとも1つのSEPに送信されるSA情報は、SAに関連付けられたセッション・キー・データを含む。
【0016】
さらにこの方法は、少なくとも1つのSEPとの持続セキュア・セッションを確立することを含む。
【0017】
さらにこの方法は、SA内に権利を登録するための要求を少なくとも1つのSEPから受信すること、および、少なくとも1つのSEPをSAに関してメモリに格納されたSA情報に関連付けることを、含むことができる。
【0018】
第3の態様では、セキュアなエンド・ツー・エンド通信パスにおいて暗号化データの検査が実行可能な装置、好ましくはネットワーク要素が提供され、ネットワーク要素は、メモリと、メモリに通信的に結合されたプロセッサと、メモリおよびプロセッサに通信的に結合されたデータ・トラフィック・マネージャとを備え、データ・トラフィック・マネージャは、少なくとも1つの暗号化データ・パケットを受信すること、少なくとも1つの暗号化データ・パケットを復号するためのセキュリティ・アソシエーション(「SA」)情報がローカルに存在しない旨を決定すること、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信すること、および、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報を通信ネットワーク・キー・サーバから受信することを、実行するように適合される。
【0019】
好ましくは、さらにデータ・トラフィック・マネージャは、通信ネットワーク・キー・サーバから受信したSA情報に関連付けられた後続の暗号化データ・パケットを復号すること、および、復号に応答して、SA情報に関連付けられ、復号された、後続の暗号化データ・パケット上でセキュリティ機能を実行することを、実行するように適合される。
【0020】
好ましくは、通信ネットワーク・キー・サーバに送信される要求は、少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む。
【0021】
好ましくは、さらにデータ・トラフィック・マネージャは、SA情報がローカルに存在しない旨の決定に応答して、少なくとも1つの暗号化データ・パケットをドロップすること、および、SA情報がローカルに存在しない旨の決定に応答して、少なくとも1つの暗号化データ・パケットを復号せずに、少なくとも1つの暗号化データ・パケットをその宛先に転送することを、実行するように適合される。
【0022】
第4の態様では、コンピュータ・システムにロードされ、そこで実行された場合、第1または第2の態様に従って方法のすべてのステップを当該コンピュータ・システムに実行させるためのコンピュータ・プログラム・コードを備える、コンピュータ・プログラムが提供される。
【0023】
第4の態様のコンピュータ・プログラムは、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするためのネットワーク要素に関する命令を含む、コンピュータ・ストレージ・プログラム製品の形で提供可能であり、コンピュータ・ストレージ・プログラム製品は、少なくとも1つの暗号化データ・パケットを受信するため、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がローカルに存在しない旨を決定するため、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信するため、および、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報を通信ネットワーク・キー・サーバから受信するための、命令を含む。
【0024】
さらにコンピュータ・ストレージ・プログラム製品は、通信ネットワーク・キー・サーバから受信したSA情報に関連付けられた後続の暗号化データ・パケットを復号するため、および、復号に応答して、SA情報に関連付けられ、復号された、後続の暗号化データ・パケット上でセキュリティ機能を実行するための命令を、含むことができる。
【0025】
好ましくは、キー・サーバに送信される要求は、少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む。
【0026】
さらにコンピュータ・ストレージ・プログラム製品は、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットをドロップするため、および、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットを復号せずに、少なくとも1つの暗号化データ・パケットをその宛先に転送するための命令を、含むことができる。
【0027】
一実施形態では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための方法が提供される。この方法は、少なくとも1つの暗号化データ・パケットを受信することを含む。この方法は、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨を決定することをさらに含む。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求が、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報が通信ネットワーク・キー・サーバから受信される。
【0028】
他の実施形態では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報をセキュリティ実施ポイント(「SEP」)に選択的にロードするための他の方法が提供される。この方法は、エンドポイント間にある1つまたは複数のエンド・ツー・エンドのセキュア通信パスに関するセキュリティ・アソシエーション(「SA」)を保持しているキー・サーバを含む。この方法は、第2のエンドポイントを備えたエンド・ツー・エンドのセキュア通信パスに関するSAを使用して、第1のエンドポイントからSAに関連付けられたSA情報を受信することをさらに含む。SA情報はメモリに格納される。少なくとも1つのSEPがSA内に権利を登録した旨を決定することをさらに含む。SA情報は少なくとも1つのSEPに送信される。
【0029】
さらに他の実施形態では、セキュアなエンド・ツー・エンド通信パスにおいて暗号化データを検査するためのネットワーク要素が開示される。ネットワーク要素は、メモリと、メモリに通信的に結合されたプロセッサとを含む。ネットワーク要素は、メモリおよびプロセッサに通信的に結合されたデータ・トラフィック・マネージャをさらに含む。データ・トラフィック・マネージャは、少なくとも1つの暗号化データ・パケットを受信するように適合される。さらにデータ・トラフィック・マネージャは、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨を決定するように適合される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求は、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報は、SAに関する通信ネットワーク・キー・サーバから受信される。
【0030】
他の実施形態では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための、コンピュータ・ストレージ・プログラム製品が提供される。コンピュータ・ストレージ・プログラム製品は、少なくとも1つの暗号化データ・パケットを受信するための命令を含む。コンピュータ・ストレージ・プログラム製品は、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がローカルに存在しない旨を決定するための命令をさらに含む。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求は、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報は、通信ネットワーク・キー・サーバから受信される。
【0031】
本発明の様々な実施形態の1つの利点は、セキュリティ実施ポイントが、セキュアなエンド・ツー・エンド通信パスにおけるトラバース暗号化データを検査できることである。言い換えれば、SEPは、実施ポイントを通過しているトラフィックを復号および検査することができるため、結果として、IPパケット・フィルタリング、侵入検出、ロード・バランシング、およびサービス品質(「QoS」)設定などの(ただし、これらに限定されない)セキュリティ・サービスを、クリア・テキスト(復号)パケット・ペイロードに適用することができる。たとえば、IPsecエンドポイント間で定義されたようなセキュア通信パス内に配置されたセキュリティ実施ポイント(「SEP」)は、キー・サーバを備えるセキュアな暗号化セッションを確立することができる。
【0032】
セキュアな暗号化セッションが確立されると、SEPがIPsecのカプセル化解除を実行する必要のあるSA情報の一部を、SEPにセキュアに提供することができる。次にセキュリティ実施ポイントは、たとえIPsecエンドポイント間に確立されたセキュア通信パスの中にセキュリティ実施が依然として存在する場合であっても、セキュリティ実施ポイントによって提供された1つまたは複数のセキュリティ機能を実行するように、対応するIPsecエンドポイントから発信されたトラバース・データをクリア・テキストに復号するために、受診されたIPsec SAをインストールすることができる。他の利点は、事前に構成されたネットワークのトポグラフィ知識が不要であること、および、SA分布がSAまたはSAファミリ内に明示的な権利を表したSEPにのみ限定されることである。
【0033】
次に、本発明の好ましい実施形態について、添付の図面を参照しながら単なる例として説明する。
【図面の簡単な説明】
【0034】
【図1】本発明の一実施形態に従った、ネットワーキング環境の一例を示すブロック図である。
【図2】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図3】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図4】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図5】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図6】本発明の一実施形態に従った、SA情報をキー・サーバに格納するためのSA記録フォーマットの一例を示す図である。
【図7】本発明の一実施形態に従った、情報処理システムの詳細図を示すブロック図である。
【図8】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データのセキュリティ実施ポイント検査のための、全体プロセスを示す動作流れ図である。
【図9】本発明の一実施形態に従った、暗号化IPsecパケットを復号するために、SA情報をSEPに選択的にロードするための様々なプロセスを示す動作流れ図である。
【図10】本発明の一実施形態に従った、暗号化IPsecパケットを復号するために、SA情報をSEPに選択的にロードするための様々なプロセスを示す動作流れ図である。
【図11】本発明の一実施形態に従った、暗号化IPsecパケットを復号するために、SA情報をSEPに選択的にロードするための様々なプロセスを示す動作流れ図である。
【発明を実施するための形態】
【0035】
本明細書で使用される「a」および「an」という用語は、1つまたはそれ以上として定義される。本明細書で使用される「複数」という用語は、2つまたはそれ以上として定義される。本明細書で使用される「他の」という用語は、少なくとも2つ目またはそれ以上として定義される。本明細書で使用される「含む」あるいは「有する」またはその両方の用語は、「備える」(すなわちオープン言語)として定義される。本明細書で使用される「結合された」という用語は、必ずしも直接ではなく、また必ずしも機械的にではないが、「接続された」として定義される。本明細書で使用される「プログラム」、「ソフトウェア・アプリケーション」、および他の同様の用語は、コンピュータ・システム上で実行するように設計された一連の命令として定義される。プログラム、コンピュータ・プログラム、またはソフトウェア・アプリケーションは、サブルーチン、関数、手順、オブジェクト方法、オブジェクト実装、実行可能アプリケーション、アプレット、サーブレット、ソース・コード、オブジェクト・コード、共有ライブラリ/動的ロード・ライブラリ、あるいは、コンピュータ・システム上で実行するように設計された他の一連の命令、またはそれらすべてを含むことができる。
【0036】
ネットワーク環境の例
図1は、セキュアなエンド・ツー・エンド通信パスにおける暗号化データのセキュリティ実施ポイント検査のために構成された、ネットワーク・データ処理システム100の一例を示すブロック図である。セキュアなエンド・ツー・エンド通信パスを確立するために使用されるプロトコルの1つが、前述のようなIPsecプロトコルである。しかしながら、本発明は、SSHおよびSSL/TLSなどの(しかしこれらに限定されない)他のネットワーク暗号化方式にも適用可能であることに留意されたい。IPsecでは、インターネット内での通信パスを介したソース・ノードと宛先ノードとの間の通信を、セキュリティ・アソシエーション(「SA」)に従って管理することができる。SAは、IPsec処理がどのように通信に適用されるかを定義するものである。IPsecは、RFCの中でもとりわけRFC4301によって取って代わられた、Request for Comment(RFC)に定義されている。
【0037】
IPsecでは、セキュリティ・ポリシー・データベース(「SPD」)のセキュリティ規則内でパケットの属性を突き合わせることによって、IPsec処理を伴うかまたはIPsec処理なしで、パケットの伝送が拒否されるか許可されるかが決定される。これを決定するために、それぞれがRFC2401に記載されたようなSAを参照するInternet Key Exchange(「IKE」)の一部として取り決められたセキュリティ・ポリシーの静的規則および動的規則の両方を、発信パケットおよび着信パケットの両方について、最も特異的な属性から最も特異的でない属性の順にフィルタリング検索することができる。セキュリティ規則内でのパケットの属性フィルタリングは、セキュア通信に携わるペア・ノードに関するソース・アドレスおよび宛先アドレスに基づくものとすることができる。
【0038】
IPsecは、セキュリティ・アソシエーション(「SA」)を確立するための2相手法を使用する。SAとは、エンドポイント間にセキュア・トンネルを作成するために、各エンドで認証あるいは暗号化またはその両方の技法を適用するための、2つのエンドポイント間の取り決めである。IPsec接続の第1相中に、第2相SAを取り決める際に使用可能なセキュア・トンネルを提供するためのSAが構築される。第2相中に、データ・トラフィックを保護するSAが取り決められる。
【0039】
具体的に言えば、図1は、コンピュータ通信ネットワーク110を介してサーバ108に通信的に結合された、1つまたは複数のクライアント・コンピューティング・デバイス102、104、106を示す。クライアント・コンピューティング・デバイス102、104、106のそれぞれは、デスクトップ・コンピュータ、ノートブック・コンピュータ、携帯電話、ハンドヘルド・コンピューティング・デバイス、サーバ、または他の同様のコンピューティング・デバイスとすることができる。また、クライアント・コンピューティング・デバイス102、104、106のそれぞれは、たとえばIPsecを使用するVPNトンネルの確立を通じた、サーバ108とのエンド・ツー・エンド・セキュア通信用に構成することができる。そのため、セキュア・サーバ112は、クライアント・コンピューティング・デバイス102、104、106のそれぞれに結合し、クライアント・コンピューティング・デバイス102、104、106に代わってサーバ108とのVPNトンネルを確立することができる。
【0040】
1つまたは複数のセキュリティ実施ポイント116、118を、エンド・ツー・エンド・セキュア通信パスの中でサーバ108に通信的に結合することができる。セキュリティ実施ポイント116、118は、パケット・フィルタリングおよび侵入検出から、ロード・バランシングおよびQoS管理に及ぶ、いくつかのセキュリティ機能のうちのいずれかを実行するように構成可能である。特に、図1に示されるように、セキュリティ実施ポイント116、118のそれぞれをキー・サーバ120に結合することができる。次に、キー・サーバ120をサーバ108に結合することができる。したがって、一実施形態では、キー・サーバ120は、セキュア・サーバ112によって確立されたサーバ108とのエンド・ツー・エンド・セキュア通信パスに関する、SA122のアウェアネス(awareness)を維持することができる。SEP116、118は直列に接続される必要がないことに留意されたい。
【0041】
以下に、セキュリティ実施ポイント116、118が、セキュアなエンド・ツー・エンド通信パス内のトラバース暗号化データをどのように検査可能であるかの概要を示す。一実施形態では、エンド・ツー・エンド・セキュア通信パスを、クライアント・コンピューティング・デバイス102、104、106のうちの1つとサーバ108との間に確立することができる。エンド・ツー・エンド・セキュア通信パスの確立中に、セキュア・サーバ108上のIKEデーモンは、キー・サーバ120へのエンド・ツー・エンド・セキュア通信パスに関するIPsec SAを提供することができる。一実施形態では、サーバ108に関するTCP/IPスタックにSAをロードする前、すなわちエンド・ツー・エンド・セキュア通信パスが実行可能となる前に、セキュリティ実施ポイント116、118のそれぞれとキー・サーバ120との間のVPNトンネルなどの長期存続可能なセキュア・リンクを介して、キー・サーバ120により、セキュリティ実施ポイント116、118のそれぞれにSAを提供することができる。この実施形態について、以下でより詳細に考察する。
【0042】
最終的に、キー・サーバ120はサーバ108への通知が可能であり、サーバ・コンピューティング・デバイス108はそのTCP/IPスタックにSAをロードすることができる。しかしながら、SAがエンドポイントに即時にインストールされた場合、実施ポイント116、118が未だに取り決め済みSAを有していない可能性があるため、潜在的にいくつかの暗号化パケットが実施ポイント116、118で復号できない可能性があることに留意されたい。この状況では、受信したパケットを廃棄するか、またはパケットを未検査とするように、実施ポイント116、118を構成することができる。
【0043】
その後、クリア・テキスト・ペイロード124を暗号化ペイロード126に変換し、エンド・ツー・エンド・セキュア通信パスを介してサーバ108に送信することが可能であり、ここで暗号化ペイロード128をクリア・テキストに復号することができる。しかしながら、エンド・ツー・エンド・セキュア通信パスに関してSA122によって提供される知識を通じて、関連付けられたセキュリティ機能を実行する際に使用するために、セキュリティ実施ポイント116、118のそれぞれで、それらの間の暗号化ペイロード128を復号することができる。結果として、中間に配置されたセキュリティ実施ポイント116、118は、クライアント・コンピューティング・デバイス102、104、106の知識を必要とすることなく、また、クライアント・コンピューティング・デバイス102、104、106またはサーバ108がセキュリティ実施ポイント116、118の知識を有する必要なく、復号されたクリア・テキスト上でセキュリティ機能を実行することができる。
【0044】
セキュリティ実施ポイントへのSA情報の選択的ロード
以下で、セキュアなエンド・ツー・エンド通信パス内のトラバース暗号化データが検査可能となるような、セキュリティ実施ポイントへのSA情報の選択的ロードについてより詳細に考察する。図6に示されたようなSAに関連付けられた情報を、キー・サーバ120に登録することができる。SEP116は、キー・サーバ120とのセッションを確立するため、結果として、SEP116が2つのエンドポイント(たとえばセキュア・サーバ112およびサーバ108)の間で所与のSAを介して送られるトラフィックを受信した場合、SEP116は、パケットを復号するためのSA情報にアクセスすることができる。
【0045】
具体的に言えば、本発明の様々な実施形態は、各SEP116、118とキー・サーバ120との間に存在する長期の暗号化セッションを使用して、SEPとキー・サーバ120との間でメッセージ・セットを交換する。このメッセージング交換により、SEP116、118は、その特定SAを介して送られているトラフィックを復号するために必要なSA情報を取得することができる。このメッセージング交換は、1)SEPに、認識していないIPsec(AHまたはESP)SAが提示された場合、2)SEPがすでに認識しているIKE SAの下で新しいIPsec(AHまたはESP)SAが取り決められた場合、および、3)新しいIKEセキュリティ・アソシエーションが使用中であるかまたは取り決め中であることをSEPが認識した場合(ただし、これらに限定されない)などの、様々な状況で発生可能である。IKEは、SAをセットアップするためにIPsecで使用されるInternet Key Exchangeプロトコルである。
【0046】
図2は、セキュア・エンド・ツー・エンド通信パスを介して送られている暗号化トラフィックを処理するための、1つまたは複数のSEPへのSA情報の選択的ロードの一例を示す。具体的に言えば、図2は、セキュア・エンド・ツー・エンド通信パスを介して互いに通信を試行している、既知のIPsecエンドポイント212およびリモートIPsecエンドポイント208を示す。図2では、エンドポイント212、208の間でIPsec第1相セッションまたはIKE SAがすでに確立されていること、および、既知のIPsecエンドポイント212とキー・サーバ220との間で暗号化セッションがセットアップされていることに留意されたい。また前述のように、移送レイヤ・セキュリティ(TLS)セッションを介するなど、SEP216とキー・サーバ220との間に、持続セキュア・セッションが確立されることも想定される。したがって図2では、エンド・ツー・エンド・セキュア通信パスは、IPsecエンドポイント212、208の両方の間のみならず、SEP 216およびキー・サーバ220と別々に存在する。
【0047】
一実施形態では、キー・サーバ220は、SAマネージャ230と、SAセッションに関連付けられた情報記録234を備えるデータベース232とを備える。たとえば図6は、データベース232によって維持されるタイプのSA情報記録234の一例を示す。一実施形態では、IPsecエンドポイント212、208は、新しいSAが正常に取り決められると、この情報をキー・サーバ220に送信する。次にキー・サーバ220は、この情報を将来参照するために、そのデータベース232に格納する。エンドポイント212、208からキー・サーバ220に伝送される情報は、エンドポイントID、I−Cookie、R−Cookie、およびIPsec SAグループID情報を備える、1次キー636を含むことができる。エンドポイントIDは、SA情報を伝送しているエンドポイントを固有に識別する。iCookie(イニシエータ)およびrCookie(レスポンダ)は、エンドポイント212、208のそれぞれによって、それらの第1相SAのエンドに割り当てられる値である。これにより、第2相SAを取り決めること、および第1相SAを固有に識別することができる。IPsec SAグループIDフィールドは、第2相SAのためにのみ読み込まれ(populate)、特定のエンドポイントが関連付けられている現在のSAグループを識別する。
【0048】
SA情報記録234は、すべてのSAに対して維持される補助データ638も含む。この補助データ638は、SAの作成時間、SAの存続期間、SAのライフ・サイズ、SAのローカル・セキュリティIPアドレス、SAのリモート・セキュリティIPアドレス、SAのインスタントID、およびSAタイプなどの、情報を含むことができる(ただし、これらに限定されない)。第1相SA情報640は、各SAについても同様に維持される。この第1相情報640は、IKEトンネルID、UDPエンキャップ(Encap)・ポート、ローカルIDタイプ、ローカルID長さ、リモートIDタイプ、リモートID長さ、ローカル識別子、およびリモート識別子などの情報を含むことができる(ただし、これらに限定されない)。SA情報記録234は、ある特定のフィールドに第2相SA情報642も読み込む。
【0049】
この第2相SA情報642は、IPsecトンネルID、ソース・データIPアドレス、宛先データIPアドレス、ソース・ポート低、ソース・ポート高、宛先ポート低、宛先ポート高、インバウンドAH SPI(セキュリティ・パラメータ・インデックス)、アウトバウンドAH SPI、インバウンドESP SPI、アウトバウンドESP SPI、認証アルゴリズム、暗号化アルゴリズム、認証キー長さ、暗号化キー長さ、認証セッション・キー、暗号化セッション・キー、および関与SEPのリストを含むことができる(ただし、これらに限定されない)。識別子、暗号化パラメータおよびキー、ならびに認証パラメータおよびキーを含む(ただし、これらに限定されない)、データベース232内に含まれる上記情報のサブセットは、関与SEPへと下方に送信される。これによりSEPは、それを通じて流れているトラフィックを復号することができる。このプロセスについて、以下でより詳細に説明する。
【0050】
図2に戻ると、SEP216は、エンドポイントから受信したデータ・トラフィックを管理および監視する、トラフィック・マネージャ244を含む。トラフィック・マネージャ244は、一実施形態では、データ・トラフィックに関連付けられたSA情報を分析するため、および、キー・サーバ220と通信するための、SAマネージャ246を含む。図2の例では、SEP216は、時間T1で、リモートIPsecエンドポイント208などのIPsecエンドポイントからデータ・トラフィックを受信する。トラフィック・マネージャ244は、データ・トラフィックを分析して、これがIPsecトラフィックであるかどうかを判別する。たとえば、リモートIPsecエンドポイント208は、IPsec SAを(認証ヘッダ(「AH」)またはカプセル化セキュリティ・ペイロード(「ESP」)と共に)SEP216に送信する。図2の例では、トラフィック・マネージャ244は、リモートIPsecエンドポイント208から受信したトラフィックがIPsecトラフィックであるものと判別する。トラフィック・マネージャ244は、IPsecトラフィック内のSPI/プロトコル/宛先IPアドレス情報などの情報を分析し、この情報に関連付けられたIPsec SAがこれを認識していないものと判別する。言い換えれば、SAマネージャ246は、この特定のSAに関するデータ・トラフィックを復号するために必要な情報を有していない。
【0051】
SEP216は、認識していないSAを検出すると、トラフィック(例えばデータ・パケット)を未検査で渡すか、またはパケットをドロップすることができる。SEP216は、これらのアクションのいずれかを実行するように事前に構成することができる。図2の例は、SEP216が時間T2でデータ・パケットをドロップし、それによって最終的に発信元エンドポイント(たとえば、リモートIPsecエンドポイント208)にパケットを再送させることになることを示す。トラフィック・マネージャ244が、データ・パケットをドロップするか、または未チェックで渡すことを可能にするかのいずれかを実行すると、SAマネージャ246は、時間T3でキー・サーバ220を照会し、この特定のSAに関するSA情報を有するかどうかを判別する。たとえば一実施形態では、SAマネージャ246は、SPI/プロトコル/宛先IPアドレス情報を含む「SA発見」というメッセージを、SEP216とキー・サーバ220との間に存在する暗号化セッションを介してキー・サーバ220に送信する。言い換えれば、SEP216は、キー・サーバ220で権利を登録するか、またはその特定のSAに関するSA情報を受信するためにキー・サーバ220に加入する。これによって、SEP216は、IPsecデータ・パケットを復号するために必要な情報を動的に獲得することができる。
【0052】
キー・サーバ220が、そのデータベース232内にこの特定SAに関するSA情報を有する場合、キー・サーバ220のSAマネージャ230は、そのデータベース232からSA情報を抽出し、時間T4で、IPsec SAコンテンツをSEP216に戻す。キー・サーバ220は、その構成済みポリシーに基づいて、他の動作も同様に実行することができる。たとえばキー・サーバ220は、このIPsec SAがそれの下で取り決められた、IKE SAのiCookie/rCookieを戻すことができる。IKE SAに関連付けられた他のトラフィックが、将来このSEP216を介して渡されることになる可能性が高いため、これはSEP216にとっての特典である。これにより、実質的に、関連付けられたIKE SAに関してSEP216からの暗黙の「SA権利登録」が構成される。
【0053】
この登録がキー・サーバ216で実行されると、関連付けられたIKE SAの下で取り決められた任意の新しいIPsec SAは、自動的にSEP216に送達される。一実施形態では、キー・サーバ220のSAマネージャ230は、SAおよび任意の関係SAに関するSEP加入/登録済み権利を管理および維持する。キー・サーバ220は、IKE SAに関連付けられたすべての他の既知のIPsec SAに関するSA情報を、それらのSAによって保護されているデータも同様にSEP216を通じて流れることになるものと予期して、戻すこともできる。
【0054】
キー・サーバ220からの「SA発見」応答メッセージを受信すると、SEP216はSAコンテンツ249をそのローカル・データベース248に格納する。この時点から、SEP216は、そのAHまたはESP SAを介してSEP216を通じて流れる任意のデータ・トラフィックをカプセル化解除するために、このSA内のキーを使用することができる。同様に、キー・サーバ220の構成済みポリシーに基づいて戻される任意の他のSA情報に関して、SEPのローカル・データベース248内に同様のエントリが作成される。
【0055】
図3は、セキュア・エンド・ツー・エンド通信パスを介して送られている暗号化トラフィックを処理するための、1つまたは複数のSEPへのSA情報の選択的ロードの他の例を示す。具体的に言えば、図3は、図2と同様のセキュア・エンド・ツー・エンド通信パスを介して互いに通信を試行している、既知のIPsecエンドポイント312およびリモートIPsecエンドポイント308を示す。図3では、エンドポイント312、308の間でIPsec第1相セッションまたはIKE SAがすでに確立されており、既知のIPsecエンドポイント312とキー・サーバ320との間で暗号化セッションがセットアップされている。図3では、前述のSEP316とキー・サーバ320との間の持続セキュア・セッションも存在する。
【0056】
図3のリモートIPsecエンドポイント308および既知のIPsecエンドポイント312は、時間T1で、すでに確立されたIKE SA(たとえばVPNトンネル)全体にわたって新しいIPsecSAを取り決める。取り決めが完了すると、既知のIPsecエンドポイント312は、時間T2で、新しいSPI/プロトコル/宛先IPアドレス情報、新しいSAコンテンツならびに関連付けられたiCookie/rCookie情報を備える「SA格納」メッセージを、それらの暗号化セッションを介してキー・サーバ320に送信する。このメッセージを受信すると、キー・サーバ320のSAマネージャ330は、図5に関して前述した形式でSAをそのローカル・データベース332に格納する。
【0057】
キー・サーバ320のSAマネージャ330は、その登録済み権利/加入者情報も分析し、新しいSA情報が選択的にロードされることになる任意のSEP316を識別する。SAマネージャ330が任意の関与SEP316を識別した場合、SAマネージャ330は、時間T3で、登録済み/加入者SEP316、318に「新規SA」メッセージを送信する。一実施形態では、「新規SA」メッセージは、新しいSPI/プロトコル/宛先IPアドレス情報、新しいSAコンテンツ、および関連付けられたiCookie、rCookie情報を含む(ただし、これらに限定されない)。この情報は、キー・サーバ320とSEP 316との間に存在する暗号化セッションを介して、SEP316に伝送される。
【0058】
このメッセージを受信すると、SEP316はそのローカル・データベース348にSAコンテンツ349を格納する。これによってSEP316は、その特定のIPsec SAを介してSEP316を通じて流れる任意のデータ・トラフィックをカプセル化解除するために、このSAでキーを使用することができる。言い換えれば、図3の例では、SA情報は、その特定のIPsec SAに関してSEP316でデータ・トラフィックが受信されるのに先立って、キー・サーバ320から関与SEP316に送信される。
【0059】
図4は、1つまたは複数のSEPへのSA情報の選択的ロードの他の例を示す。具体的に言えば、図4は、SEP416が、認識されていないイニシエータCookie(iCookie)および認識されていないレスポンダCookie(rCookie)を含むIKEメッセージを検出した場合、SEP416にSA情報を選択的にロードする方法を示す。SEP416は、新しいIKE SAの取り決め中、または認識されていないIKE SAの下での新しいIPsec SAの取り決め中のいずれかに、これらの認識されていないクッキーを検出することができる。SEP416は、認識されていないクッキーを検出した場合、(そのiCookie/rCookieによって識別された)SAにおけるその権利を示すメッセージをキー・サーバ420に送信する。その後、キー・サーバ420は、新しいIKE SAに関してそのローカル・データベース432内に新しいエントリを作成し、その特定のSA内で関与されるSEPのリストにSEP416を追加する。この時点から、IKE SAの下で確立された任意の新しいIPsec SAは自動的に関与SEP416に転送される。
【0060】
たとえば、図4は、時間T1で、リモートIPsecエンドポイント408(または既知のIPsecエンドポイント412)が、既知のIPsecエンドポイントとの第1相取り決めを開始することを示す。別の方法では、2つのIPsecエンドポイント412、408は、SEP416が認識していない(たとえば、iCookie/rCookieは認識されていない)IKE SAを使用して、第2相取り決めの一部としてIKEクイック・モード・メッセージを交換する。SEP416のSAマネージャ446は、新しいIKE SA識別子を検出し、ISAKMPヘッダからiCookie値およびrCookie値を抽出する。SEP416のSAマネージャ446は、時間T2で、それらの暗号化セッションを介して「SA権利登録」メッセージ内でキー・サーバ420にiCookie値およびrCookie値を送信する。その後、SEP416は、受信したデータ・パケットをターゲットのIPsecエンドポイントに転送する。
【0061】
キー・サーバ420がSEP416から登録要求を受信した場合、キー・サーバは、新しいIKE SAに関して、そのSAデータベース432内に新しいSAエントリを作成する。キー・サーバ420は、送信側SEP416が、この特定のIKE SAに関連付けられた任意のIPsec(AHまたはESP)SAに関与している旨も通知する。キー・サーバ420は、新しく登録されたIKE SAに関してある種の活動タイムアウトを実装し、結果として、正常に取り決めできなかったIKE SAが、最終的にキー・サーバ・データベース432から消去されるように選択できることに留意されたい。このクリーンアップの一部として、キー・サーバ420は、オプションで、すべての関与SEPにIKE SAがドロップされている旨の通知を送信することが可能であり、結果としてSEPはそれらのローカル・ストレージ448からもSAを除去することができる。
【0062】
図5は、図2に関して前述したプロセスの変形を示す。具体的に言えば、図5は、ネットワーク内でのIPルーティングの変更によって生じる、図2の例の特殊なケースを示す。図5では、ネットワークを介したパケットのルーティングが、理由のいかんに関わらず変更されるため、新しいSEP518は、その時点でそれを通じて流れているSAの知識を動的に獲得する。図2の場合と同様に、SEP、SEP518は、突然、未知のAHまたはESP SAに関するSPI/プロトコル/宛先IPアドレスに直面する(時間T1)。前述のように、パケットをドロップするかまたは許可するか(時間T2)のいずれかを選択しなければならず、その後SEP518は、認識されていないSAに関して知っているかどうかをキー・サーバに問い合わせる(T3)。キー・サーバ520がSAについて知っている場合、そのSAに関する情報を送信し、関連付けられたIKE SAおよび他の関連IPsec SAに関する情報も送信することができる。
【0063】
上記の例に加えて、キー・サーバ120は、IPsecエンドポイント間で発生するIKE再伝送の数を最小限にすることも可能であることに留意されたい。具体的に言えば、キー・サーバ120は、SEP116がIPsec SAを定位置に有することを保証するために、データ・トラフィックがそのSAを介して流れ始める前に、IKEピア間での最終クイック・モード・メッセージ交換を効果的に中断することができる。一実施形態では、キー・サーバ120は、IPsecエンドポイント108、112からの「SA格納」メッセージに応答する前に、「新規SA」メッセージをSEP116に送信することによって、これを実施する。キー・サーバ120は、SEP116への送信が完了するのを待つだけでよく、SEP116からの応答を待つ必要がないことに留意されたい。既知のIPsecエンドポイント112がイニシエータの場合、これは、既知のIPsecエンドポイントがクイック・モード・メッセージ3をそのピアに送信する前に発生する。既知のIPsecエンドポイント112がレスポンダの場合、これは、既知のIPsecエンドポイント112がクイック・モード・メッセージ4(コミット・ビット・サポートを使用する場合)またはメッセージ2(コミット・ビット・サポートなし)をそのピアに送信する前に発生する。
【0064】
本発明の前述の諸実施形態は、セキュア・エンド・ツー・エンド通信パスを介して送られているデータ・パケットを復号するために、SEPにSA情報を選択的にロードできるために有利であることを理解されよう。これにより、関与SEPは、データ・パケットを復号するため、および所望の動作を実行するために、SA情報を取得することができる。他の利点は、関与SEPのみにSA情報が選択的にロードされることである。これにより、情報を必要としないSEPにSA情報が不必要に解放されることがなく、それによってSA情報の脆弱性を減少させることができる。
【0065】
情報処理ノードの例
図7は、本発明の一実施形態に従った、SEP116またはキー・サーバ120などの情報処理ノード700のより詳細な図を示すブロック図である。以下の考察はSEP116に関するものであるが、前述のそれぞれのコンポーネントを除き、キー・サーバ120にも同様に適用可能であることに留意されたい。
【0066】
情報処理ノード700はコンピュータ702を含む。コンピュータ702は、メイン・メモリ706、大容量ストレージ・インターフェース708、端末インターフェース710、およびネットワーク・アダプタ・ハードウェア712に接続された、プロセッサ704を有する。システム・バス714はこれらのシステム・コンポーネントを相互接続する。大容量ストレージ・インターフェース708は、データ・ストレージ・デバイス716などの大容量ストレージ・デバイスを情報処理システム700に接続するために使用される。1つの特定タイプのデータ・ストレージ・デバイスが、ハード・ディスク・ドライブまたは他のストレージ・ドライブ、フラッシュ・メモリ、不揮発性メモリ、CD718またはDVD(図示せず)へデータを格納するためおよびそれらからデータを読み取るために使用可能な光ディスクなどの、コンピュータ読み取り可能メディアである。データ・ストレージ・デバイスの他の例は、ネットワーク要素としてNTFSタイプ・ファイル・システム動作をサポートするように構成された、データ・ストレージ・デバイスである。
【0067】
一実施形態では、メイン・メモリ706は、トラフィック・マネージャ244、SAマネージャ246、およびSAコンテンツ・データベース248(SAコンテンツ249を備える)を含む。メイン・メモリ706のそれぞれのコンポーネントは、メイン・メモリ706内に同時に常駐しているように示されているが、メイン・メモリ706内に常時、または同時に、完全に常駐している必要がないことは明らかである。一実施形態では、情報処理ノード700は、従来の仮想アドレッシング機構を使用して、メイン・メモリ706およびデータ・ストレージ・デバイス716などの複数のより小型のストレージ・エンティティにアクセスするのではなく、本明細書ではコンピュータ・システム・メモリと呼ばれる大型の単一ストレージ・エンティティにあたかもアクセスできるように、プログラムを挙動させることができる。「コンピュータ・システム・メモリ」という用語は、本明細書では一般に、情報処理ノード700の仮想メモリ全体を言い表すために使用されることに留意されたい。
【0068】
コンピュータ702について1つのCPU704のみが示されているが、複数のCPUを備えるコンピュータ・システムも等しく効果的に使用可能である。本発明の様々な実施形態は、それぞれが、CPU704から処理をオフロードするために使用される、別個の完全にプログラミングされたマイクロプロセッサを含む、インターフェースをさらに組み込む。端末インターフェース710は、コンピュータ702へのユーザ・インターフェースを提供するために、1つまたは複数の端末720をコンピュータ702に直接接続するために使用される。これらの端末720は、非インテリジェントであるかまたは完全にプログラム可能なワークステーションとすることが可能であり、システム管理者およびユーザが情報処理ノード700と通信できるようにするために使用される。端末720は、ビデオ・アダプタならびに、キーボード、ポインティング・デバイス、および他のデバイス/インターフェースのためのインターフェースを含む、コンピュータ702に接続され、端末I/F 710に含まれる端末インターフェース・ハードウェアによって制御される、ユーザ・インターフェースおよび周辺デバイスからなるものとすることもできる。
【0069】
メイン・メモリに含まれるオペレーティング・システム(図示せず)は、Linux、UNIX、Windows XP、およびWindows Server 2003オペレーティング・システムなどの(ただし、これらに限定されない)、好適なマルチタスキング・オペレーティング・システムである。本発明の様々な実施形態は、任意の他の好適なオペレーティング・システムを使用することが可能である。本発明のいくつかの実施形態は、オペレーティング・システムのコンポーネント(図示せず)の命令を、情報処理ノード700内に配置された任意のプロセッサ上で実行可能にする、オブジェクト指向フレームワーク機構などのアーキテクチャを使用する。ネットワーク・アダプタ・ハードウェア712は、ネットワーク110へのインターフェースを提供するために使用される。本発明の様々な実施形態は、現在のアナログあるいはデジタルまたはその両方の技術を含む任意のデータ通信接続を使用するか、または将来のネットワーキング機構を介して、動作するように適合可能である。
【0070】
本発明の諸実施形態について、完全に機能するコンピュータ・システムとの関連において説明しているが、当業者であれば、様々な実施形態が、たとえばCD718などのCDまたはDVD、CD‐ROM、または他の形の記録可能媒体を介して、あるいは、任意のタイプの電子伝送機構を介して、コンピュータ・ストレージ・プログラム製品として配布可能であることを理解されよう。一般に、コンピュータ・ストレージ・プログラム製品とは、メモリ・デバイスあるいはストレージ・デバイスあるいはコンピュータ読み取り可能メディア、またはそれらすべてに提供された、おそらくプログラムの一部として変数およびデータ構造を含む、プログラムを言い表すものである。
【0071】
暗号化データのSEP検査に関する動作流れ
図8は、セキュアなエンド・ツー・エンド通信パス内での暗号化データのセキュリティ実施ポイント検査のプロセスを示す、動作流れ図である。図8の動作流れ図は、ステップ802で開始され、直接ステップ804へと流れる。ステップ804で、他のIPsecエンドポイント108とのVPNトンネルのセットアップ中に、キー・サーバ120内で、IPsecエンドポイント112からIPsec SAを受信することができる。ステップ806で、第1の即時に配置されたセキュリティ実施ポイントを、エンド・ツー・エンド・セキュア通信パス内で識別することができる。SEP116が識別されると、ステップ808で、SEP116は、移送レイヤ・セキュリティ(TLS)セッションを介するなど、キー・サーバ120との持続セキュア・セッションを確立するため(すでに確立されていない場合)、結果としてエンド・ツー・エンド・セキュア通信パスは、IPsecエンドポイント108、112の間のみならず、SEP116およびキー・サーバ120とも別個に、存在することになる。
【0072】
ステップ810で、IPsecエンドポイント108、112の間のエンド・ツー・エンド・セキュア通信パスに関するIPsec SAを、キー・サーバ120とSEP116との間の別々のエンド・ツー・エンド・セキュア通信パス全体にわたって、SEP116に提供することができる。その後、ステップ812で、IPsecエンドポイント108、112の間で追加のSEPが依然として処理される場合、ステップ814で、次のSEPを取り出すことが可能であり、ステップ808から始まるプロセスが反復される。IPsecエンドポイント108、112の間で依然として処理されるSEPがない場合、ステップ816で、IPsecエンドポイント112に対して、エンド・ツー・エンド・セキュア通信パスに関するSAのインストールを完了する旨の信号を送信することが可能であり、SEP116は、IPsecエンドポイントに関するSAに組み込まれたセッション・キー知識により、IPsecエンドポイント108、112の間で伝送される暗号化データに対してセキュリティ機能を実行することができる。
【0073】
オプションで、SEP116に提供されるSAが、SEP116をトラバースする暗号化データ内のクリア・テキストにSEP116がアクセスできるようにする暗号化キーを含むことができる一方で、セッション認証キーを保留することができる。この点に関して、セッション認証キーを保留することにより、実質上、セッション認証キーなしでは、SEP116にはクリア・テキストのコンテンツを変更するための認証がないという点で、SEP116に提供された暗号化データから復号されるクリア・テキストは、事実上「読み取り専用」である。その逆に、セッション認証キーをSEP116に提供して、クリア・テキストの選択部分を削除またはブロックすることを含むクリア・テキストの変更を許可することができる。その後、ステップ818で制御流れは終了する。
【0074】
SEPにSA情報を選択的にロードするための動作流れ
図9〜図11は、SEPにSA情報を選択的にロードするための様々なプロセスを示す動作流れ図である。図9の動作流れ図は、ステップ902で開始され、直接ステップ904へと流れる。ステップ904で、エンドポイント・ノード112はSEP116にデータを伝送する。ステップ906で、SEP116はデータ・パケットを分析する。ステップ908で、SEP116は、受信したパケットがIPsecパケットであるかどうかを判別する。この判別の結果が否定的な場合、ステップ910で制御流れは終了する。この判別の結果が肯定的な場合、ステップ912で、SEP16は、受信したIPsecパケットに関するSA情報がローカルに使用可能であるかどうかを判別する。
【0075】
この判別の結果が肯定的である場合、ステップ914で、SEP116は、ローカルなSA情報を使用してIPsecパケットを復号する。ステップ916で、SEP116は、侵入検出などの様々な動作を実行する。その後、ステップ918で制御流れは終了する。この判別の結果が否定的な場合、ステップ920で、SEP116は、パケットをドロップするか、またはこれを未チェックで渡せるようにする。ステップ922で、SEP116は、受信したパケットに関連付けられたSAコンテンツに関する権利を登録する旨の要求を、1つまたは複数のキー・サーバ120に送信する。ステップ924で、キー・サーバ120はそのデータベース232を分析する。その後、ステップ926で、キー・サーバ120は、このIPsecパケットに関するSAコンテンツをローカルに有するかどうかを判別する。
【0076】
この判別の結果が否定的な場合、ステップ928で、キー・サーバ120は、IPsecパケットに関するSAコンテンツを有していない旨をSEP116に通知する。その後、ステップ930で制御流れは終了する。この判別の結果が肯定的な場合、ステップ932で、キー・サーバ120は、SA情報をSEP116へ送信する。ステップ934で、SEP116は情報をローカルに格納する。これによってSEPは、初期に受信したIPsecパケットのSAに関連付けられた任意の後続パケットを復号することができる。その後、ステップ936で制御流れは終了する。
【0077】
図10は、SEPにSA情報を選択的にロードするための他のプロセスを示す、他の動作流れ図である。図10の動作流れ図はステップ1002で開始され、直接ステップ1004へと流れる。ステップ1004で、エンドポイント・ノード112、108は、すでに確立されている既存のIKE SA全体にわたって新しいIPsec SAを取り決める。取り決めが完了した場合、ステップ1006で、エンドポイントのうちの1つがSA情報を格納のためにキー・サーバ120に送信する。ステップ1008で、キー・サーバ120はSA情報を受信する。ステップ1010で、キー・サーバ120はSA情報をデータベースに格納する。ステップ1012で、キー・サーバ120はそのデータベース232を分析し、新しく格納されたSA内に登録済みの権利を有するSEP116、118を識別する。
【0078】
ステップ1014で、キー・サーバ120は、識別されたSEP116、118にSA情報を送信する。ステップ1016で、SEP116、118は新しいSA情報を受信し、この情報をローカルに格納する。ステップ1016で、SEP116、118はこのSA情報を使用して、暗号化IPsecパケットを復号し、復号されたパケット上でそれらの内部動作を実行する。その後、ステップ1020で制御流れは終了する。
【0079】
図11は、SEPにSA情報を選択的にロードするための他のプロセスを示す他の動作流れ図である。図11の動作流れ図はステップ1102で開始され、直接ステップ1104へと流れる。ステップ1104で、IPsecエンドポイント108、112は、SEP116が認識していないSAを使用してSEP116を介してデータを伝送する。ステップ1106で、SEP116は、IPsecパケット・ヘッダからiCookie値およびrCookie値を抽出する。ステップ1108で、SEP116は、少なくともiCookie値およびrCookie値を備えるSA登録要求を作成する。ステップ1110で、SEP116は、SA登録要求を1つまたは複数のキー・サーバ120に送信する。ステップ1112で、SEP116は、受信したIPsecパケットをその宛先エンドポイントに転送する。ステップ1114で、キー・サーバ120は、SEP116によって識別されたSAに関するSAエントリをそのデータベース232内に作成する。ステップ1116で、キー・サーバ120は、SEP116によって識別されたIKE SAに関連付けられた任意のSAにSEPに関する権利を登録する。その後、ステップ1118で制御流れは終了する。
【0080】
限定しないことの例示
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現可能である。本発明の一実施形態に従ったシステムは、1コンピュータ・システム内での集中様式で、または、異なる要素がいくつかの相互接続されたコンピュータ・システム全体に拡散される分散様式で、実現可能である。任意の種類のコンピュータ・システム、または、本明細書に記載された方法を実施するように適合された他の装置が好適である。ハードウェアおよびソフトウェアの典型的な組み合わせは、ロードされ実行された場合に、本明細書で説明された方法を実施するようにコンピュータ・システムを制御するコンピュータ・プログラムを備えた、汎用コンピュータ・システムとすることができる。
【0081】
一般に、本発明の諸実施形態を実装するために実行されるルーチンは、オペレーティング・システム、あるいは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、または命令シーケンスの、一部として実装されるかどうかに関わらず、本明細書では「プログラム」と呼ばれる場合がある。コンピュータ・プログラムは、通常、ネイティブ・コンピュータによって機械読み取り可能形式および実行可能命令に変換されることになる、多数の命令からなる。またプログラムは、プログラムに対してローカルに常駐するか、あるいはメモリ内またはストレージ・デバイス上に常駐する、変数およびデータ構造からなる。加えて、本明細書で説明される様々なプログラムはアプリケーションに基づいて識別可能であり、本発明の特定の実施形態では、そのアプリケーションに関してそれらのプログラムが実装される。しかしながら、任意の特定プログラム用語は単に便宜上使用されており、本発明は、こうした用語によって識別されるかあるいは示唆される、またはその両方の、任意の特定アプリケーションで使用されることにのみ限定されるべきではないことを理解されたい。
【技術分野】
【0001】
本発明は、一般に、コンテンツ・ネットワーク・セキュリティの分野に関し、より具体的に言えば、通信パスにおける暗号化データのセキュリティ実施ポイント(security enforcement point)処理に関する。
【背景技術】
【0002】
グローバルにアクセス可能なコンピュータ・ネットワークに参加している情報技術者にとって、インターネット・セキュリティはますます関心の的となりつつある。特に、ブロードバンド・インターネット・アクセスの可用性および値ごろ感により、たとえ小規模企業内であっても、多くのコンピュータおよび小規模コンピュータ・ネットワークがインターネットへの継続的なアクセスを享受している。にもかかわらず、継続的で高速なアクセスに、コストがかからない訳ではない。具体的に言えば、これまではインターネットのセキュリティ・リスクから切り離されていたそれらのコンピュータおよびコンピュータ・ネットワークが、今や、悪意あるインターネット不正行為者の主要なターゲットとなっている。
【0003】
グローバル・インターネットにさらされているコンピューティング・デバイスの脆弱性に対処するために、情報技術者等は、セキュア通信を介してインターネット内のデータに真のエンド・ツー・エンド・セキュリティを提供しようとしている。当分野で「IPsec」として知られているインターネット・セキュリティ・プロトコルは、インターネットを介して使用するためのセキュア通信の一般的な形を表す。IPsecでは、インターネット内での通信パスを介したソース・ノードと宛先ノードとの間の通信を、セキュリティ・アソシエーション(「SA」)に従って管理することができる。SAは、IPsec処理を通信に適用する方法を定義する。IPsecは、RFCの中でもとりわけRFC4301に取って代わられたRequest for Comment(RFC)2401に定義されている。
【0004】
2つのIPsecエンドポイント間で定義されたセキュア通信パスは、しばしば、ファイアウォールなどの1つまたは複数のセキュリティ実施ポイントを組み込んでいる。セキュリティ実施ポイントは、しばしばIPsecセキュア通信パスの中に配置され、IPsec SA処理を実行しない。この状況では、セキュア通信パス内に配置されたセキュリティ実施ポイントには、トラバースIPsec SA内の暗号化データを検査する方法がないことになる。したがって、ほとんどのセキュリティ機能が、暗号化されていないクリアなテキスト・データへのアクセスを必要とするため、セキュアIPsec通信パス内のセキュリティ実施ポイントのセキュリティ機能は動作不能となる。現行のシステムは、一般に、セキュリティ実施ポイントに、いかなる暗号化アルゴリズムまたはセッション・キー情報も提供しないため、結果として、セキュリティ実施ポイントはそれらの機能を正しく実行することができない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、前述のような従来技術に伴う諸問題を克服する必要がある。
【課題を解決するための手段】
【0006】
したがって本発明は、第1の態様において、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための方法を提供し、SEPを伴うこの方法は、少なくとも1つの暗号化データ・パケットを受信すること、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨を決定すること、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信すること、および、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報を通信ネットワーク・キー・サーバから受信することを含む。
【0007】
さらにこの方法は、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットをドロップすること、および、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットを復号せずに、少なくとも1つの暗号化データ・パケットをSEPからその宛先に転送することのうちの、少なくとも1つを含むことができる。
【0008】
さらにこの方法は、SEPを使用して、通信ネットワーク・キー・サーバから受信したSA情報に関連付けられた後続の暗号化データ・パケットを復号することを、含むことができる。
【0009】
さらにこの方法は、復号に応答して、SA情報に関連付けられ、復号された、後続の暗号化データ・パケット上でセキュリティ機能を実行することを含むことができる。
【0010】
好ましくは、キー・サーバから受信したSA情報は、少なくとも、SAに関連付けられたセッション・キー・データを含む。
【0011】
さらにこの方法は、キー・サーバとの持続セキュア・セッションを確立することを含むことができる。
【0012】
好ましくは、キー・サーバに送信される要求は、少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む。
【0013】
第2の態様では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報をセキュリティ実施ポイント(「SEP」)に選択的にロードするための方法が提供され、キー・サーバでエンドポイント間にある1つまたは複数のエンド・ツー・エンドのセキュア通信パスに関するセキュリティ・アソシエーション(「SA」)を保持するこの方法は、第2のエンドポイントを備えたエンド・ツー・エンドのセキュア通信パスに関するSAを使用して、第1のエンドポイントからSAに関連付けられたSA情報を受信すること、SA情報をメモリに格納すること、少なくとも1つのSEPがSA内に権利(interest)を登録した旨を決定すること、および、SA情報を少なくとも1つのSEPに送信することを含む。
【0014】
好ましくは、第1のエンドポイントから受信されるSA情報は、SAに関連付けられたセッション・キー・データを含む。
【0015】
好ましくは、少なくとも1つのSEPに送信されるSA情報は、SAに関連付けられたセッション・キー・データを含む。
【0016】
さらにこの方法は、少なくとも1つのSEPとの持続セキュア・セッションを確立することを含む。
【0017】
さらにこの方法は、SA内に権利を登録するための要求を少なくとも1つのSEPから受信すること、および、少なくとも1つのSEPをSAに関してメモリに格納されたSA情報に関連付けることを、含むことができる。
【0018】
第3の態様では、セキュアなエンド・ツー・エンド通信パスにおいて暗号化データの検査が実行可能な装置、好ましくはネットワーク要素が提供され、ネットワーク要素は、メモリと、メモリに通信的に結合されたプロセッサと、メモリおよびプロセッサに通信的に結合されたデータ・トラフィック・マネージャとを備え、データ・トラフィック・マネージャは、少なくとも1つの暗号化データ・パケットを受信すること、少なくとも1つの暗号化データ・パケットを復号するためのセキュリティ・アソシエーション(「SA」)情報がローカルに存在しない旨を決定すること、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信すること、および、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報を通信ネットワーク・キー・サーバから受信することを、実行するように適合される。
【0019】
好ましくは、さらにデータ・トラフィック・マネージャは、通信ネットワーク・キー・サーバから受信したSA情報に関連付けられた後続の暗号化データ・パケットを復号すること、および、復号に応答して、SA情報に関連付けられ、復号された、後続の暗号化データ・パケット上でセキュリティ機能を実行することを、実行するように適合される。
【0020】
好ましくは、通信ネットワーク・キー・サーバに送信される要求は、少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む。
【0021】
好ましくは、さらにデータ・トラフィック・マネージャは、SA情報がローカルに存在しない旨の決定に応答して、少なくとも1つの暗号化データ・パケットをドロップすること、および、SA情報がローカルに存在しない旨の決定に応答して、少なくとも1つの暗号化データ・パケットを復号せずに、少なくとも1つの暗号化データ・パケットをその宛先に転送することを、実行するように適合される。
【0022】
第4の態様では、コンピュータ・システムにロードされ、そこで実行された場合、第1または第2の態様に従って方法のすべてのステップを当該コンピュータ・システムに実行させるためのコンピュータ・プログラム・コードを備える、コンピュータ・プログラムが提供される。
【0023】
第4の態様のコンピュータ・プログラムは、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするためのネットワーク要素に関する命令を含む、コンピュータ・ストレージ・プログラム製品の形で提供可能であり、コンピュータ・ストレージ・プログラム製品は、少なくとも1つの暗号化データ・パケットを受信するため、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がローカルに存在しない旨を決定するため、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信するため、および、少なくとも1つの暗号化データ・パケットに関連付けられたSA情報を通信ネットワーク・キー・サーバから受信するための、命令を含む。
【0024】
さらにコンピュータ・ストレージ・プログラム製品は、通信ネットワーク・キー・サーバから受信したSA情報に関連付けられた後続の暗号化データ・パケットを復号するため、および、復号に応答して、SA情報に関連付けられ、復号された、後続の暗号化データ・パケット上でセキュリティ機能を実行するための命令を、含むことができる。
【0025】
好ましくは、キー・サーバに送信される要求は、少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む。
【0026】
さらにコンピュータ・ストレージ・プログラム製品は、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットをドロップするため、および、SA情報がローカルに存在しないことに応答して、少なくとも1つの暗号化データ・パケットを復号せずに、少なくとも1つの暗号化データ・パケットをその宛先に転送するための命令を、含むことができる。
【0027】
一実施形態では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための方法が提供される。この方法は、少なくとも1つの暗号化データ・パケットを受信することを含む。この方法は、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨を決定することをさらに含む。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求が、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報が通信ネットワーク・キー・サーバから受信される。
【0028】
他の実施形態では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報をセキュリティ実施ポイント(「SEP」)に選択的にロードするための他の方法が提供される。この方法は、エンドポイント間にある1つまたは複数のエンド・ツー・エンドのセキュア通信パスに関するセキュリティ・アソシエーション(「SA」)を保持しているキー・サーバを含む。この方法は、第2のエンドポイントを備えたエンド・ツー・エンドのセキュア通信パスに関するSAを使用して、第1のエンドポイントからSAに関連付けられたSA情報を受信することをさらに含む。SA情報はメモリに格納される。少なくとも1つのSEPがSA内に権利を登録した旨を決定することをさらに含む。SA情報は少なくとも1つのSEPに送信される。
【0029】
さらに他の実施形態では、セキュアなエンド・ツー・エンド通信パスにおいて暗号化データを検査するためのネットワーク要素が開示される。ネットワーク要素は、メモリと、メモリに通信的に結合されたプロセッサとを含む。ネットワーク要素は、メモリおよびプロセッサに通信的に結合されたデータ・トラフィック・マネージャをさらに含む。データ・トラフィック・マネージャは、少なくとも1つの暗号化データ・パケットを受信するように適合される。さらにデータ・トラフィック・マネージャは、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がSEPにローカルに存在しない旨を決定するように適合される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求は、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報は、SAに関する通信ネットワーク・キー・サーバから受信される。
【0030】
他の実施形態では、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための、コンピュータ・ストレージ・プログラム製品が提供される。コンピュータ・ストレージ・プログラム製品は、少なくとも1つの暗号化データ・パケットを受信するための命令を含む。コンピュータ・ストレージ・プログラム製品は、少なくとも1つの暗号化データ・パケットを復号するためのSA情報がローカルに存在しない旨を決定するための命令をさらに含む。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求は、通信ネットワーク・キー・サーバに送信される。少なくとも1つの暗号化データ・パケットに関連付けられたSA情報は、通信ネットワーク・キー・サーバから受信される。
【0031】
本発明の様々な実施形態の1つの利点は、セキュリティ実施ポイントが、セキュアなエンド・ツー・エンド通信パスにおけるトラバース暗号化データを検査できることである。言い換えれば、SEPは、実施ポイントを通過しているトラフィックを復号および検査することができるため、結果として、IPパケット・フィルタリング、侵入検出、ロード・バランシング、およびサービス品質(「QoS」)設定などの(ただし、これらに限定されない)セキュリティ・サービスを、クリア・テキスト(復号)パケット・ペイロードに適用することができる。たとえば、IPsecエンドポイント間で定義されたようなセキュア通信パス内に配置されたセキュリティ実施ポイント(「SEP」)は、キー・サーバを備えるセキュアな暗号化セッションを確立することができる。
【0032】
セキュアな暗号化セッションが確立されると、SEPがIPsecのカプセル化解除を実行する必要のあるSA情報の一部を、SEPにセキュアに提供することができる。次にセキュリティ実施ポイントは、たとえIPsecエンドポイント間に確立されたセキュア通信パスの中にセキュリティ実施が依然として存在する場合であっても、セキュリティ実施ポイントによって提供された1つまたは複数のセキュリティ機能を実行するように、対応するIPsecエンドポイントから発信されたトラバース・データをクリア・テキストに復号するために、受診されたIPsec SAをインストールすることができる。他の利点は、事前に構成されたネットワークのトポグラフィ知識が不要であること、および、SA分布がSAまたはSAファミリ内に明示的な権利を表したSEPにのみ限定されることである。
【0033】
次に、本発明の好ましい実施形態について、添付の図面を参照しながら単なる例として説明する。
【図面の簡単な説明】
【0034】
【図1】本発明の一実施形態に従った、ネットワーキング環境の一例を示すブロック図である。
【図2】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図3】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図4】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図5】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、SA情報をSEPに選択的にロードするために構成されたネットワーク・データ処理システムの異なる例を示すブロック図である。
【図6】本発明の一実施形態に従った、SA情報をキー・サーバに格納するためのSA記録フォーマットの一例を示す図である。
【図7】本発明の一実施形態に従った、情報処理システムの詳細図を示すブロック図である。
【図8】本発明の一実施形態に従った、セキュアなエンド・ツー・エンド通信パスにおける暗号化データのセキュリティ実施ポイント検査のための、全体プロセスを示す動作流れ図である。
【図9】本発明の一実施形態に従った、暗号化IPsecパケットを復号するために、SA情報をSEPに選択的にロードするための様々なプロセスを示す動作流れ図である。
【図10】本発明の一実施形態に従った、暗号化IPsecパケットを復号するために、SA情報をSEPに選択的にロードするための様々なプロセスを示す動作流れ図である。
【図11】本発明の一実施形態に従った、暗号化IPsecパケットを復号するために、SA情報をSEPに選択的にロードするための様々なプロセスを示す動作流れ図である。
【発明を実施するための形態】
【0035】
本明細書で使用される「a」および「an」という用語は、1つまたはそれ以上として定義される。本明細書で使用される「複数」という用語は、2つまたはそれ以上として定義される。本明細書で使用される「他の」という用語は、少なくとも2つ目またはそれ以上として定義される。本明細書で使用される「含む」あるいは「有する」またはその両方の用語は、「備える」(すなわちオープン言語)として定義される。本明細書で使用される「結合された」という用語は、必ずしも直接ではなく、また必ずしも機械的にではないが、「接続された」として定義される。本明細書で使用される「プログラム」、「ソフトウェア・アプリケーション」、および他の同様の用語は、コンピュータ・システム上で実行するように設計された一連の命令として定義される。プログラム、コンピュータ・プログラム、またはソフトウェア・アプリケーションは、サブルーチン、関数、手順、オブジェクト方法、オブジェクト実装、実行可能アプリケーション、アプレット、サーブレット、ソース・コード、オブジェクト・コード、共有ライブラリ/動的ロード・ライブラリ、あるいは、コンピュータ・システム上で実行するように設計された他の一連の命令、またはそれらすべてを含むことができる。
【0036】
ネットワーク環境の例
図1は、セキュアなエンド・ツー・エンド通信パスにおける暗号化データのセキュリティ実施ポイント検査のために構成された、ネットワーク・データ処理システム100の一例を示すブロック図である。セキュアなエンド・ツー・エンド通信パスを確立するために使用されるプロトコルの1つが、前述のようなIPsecプロトコルである。しかしながら、本発明は、SSHおよびSSL/TLSなどの(しかしこれらに限定されない)他のネットワーク暗号化方式にも適用可能であることに留意されたい。IPsecでは、インターネット内での通信パスを介したソース・ノードと宛先ノードとの間の通信を、セキュリティ・アソシエーション(「SA」)に従って管理することができる。SAは、IPsec処理がどのように通信に適用されるかを定義するものである。IPsecは、RFCの中でもとりわけRFC4301によって取って代わられた、Request for Comment(RFC)に定義されている。
【0037】
IPsecでは、セキュリティ・ポリシー・データベース(「SPD」)のセキュリティ規則内でパケットの属性を突き合わせることによって、IPsec処理を伴うかまたはIPsec処理なしで、パケットの伝送が拒否されるか許可されるかが決定される。これを決定するために、それぞれがRFC2401に記載されたようなSAを参照するInternet Key Exchange(「IKE」)の一部として取り決められたセキュリティ・ポリシーの静的規則および動的規則の両方を、発信パケットおよび着信パケットの両方について、最も特異的な属性から最も特異的でない属性の順にフィルタリング検索することができる。セキュリティ規則内でのパケットの属性フィルタリングは、セキュア通信に携わるペア・ノードに関するソース・アドレスおよび宛先アドレスに基づくものとすることができる。
【0038】
IPsecは、セキュリティ・アソシエーション(「SA」)を確立するための2相手法を使用する。SAとは、エンドポイント間にセキュア・トンネルを作成するために、各エンドで認証あるいは暗号化またはその両方の技法を適用するための、2つのエンドポイント間の取り決めである。IPsec接続の第1相中に、第2相SAを取り決める際に使用可能なセキュア・トンネルを提供するためのSAが構築される。第2相中に、データ・トラフィックを保護するSAが取り決められる。
【0039】
具体的に言えば、図1は、コンピュータ通信ネットワーク110を介してサーバ108に通信的に結合された、1つまたは複数のクライアント・コンピューティング・デバイス102、104、106を示す。クライアント・コンピューティング・デバイス102、104、106のそれぞれは、デスクトップ・コンピュータ、ノートブック・コンピュータ、携帯電話、ハンドヘルド・コンピューティング・デバイス、サーバ、または他の同様のコンピューティング・デバイスとすることができる。また、クライアント・コンピューティング・デバイス102、104、106のそれぞれは、たとえばIPsecを使用するVPNトンネルの確立を通じた、サーバ108とのエンド・ツー・エンド・セキュア通信用に構成することができる。そのため、セキュア・サーバ112は、クライアント・コンピューティング・デバイス102、104、106のそれぞれに結合し、クライアント・コンピューティング・デバイス102、104、106に代わってサーバ108とのVPNトンネルを確立することができる。
【0040】
1つまたは複数のセキュリティ実施ポイント116、118を、エンド・ツー・エンド・セキュア通信パスの中でサーバ108に通信的に結合することができる。セキュリティ実施ポイント116、118は、パケット・フィルタリングおよび侵入検出から、ロード・バランシングおよびQoS管理に及ぶ、いくつかのセキュリティ機能のうちのいずれかを実行するように構成可能である。特に、図1に示されるように、セキュリティ実施ポイント116、118のそれぞれをキー・サーバ120に結合することができる。次に、キー・サーバ120をサーバ108に結合することができる。したがって、一実施形態では、キー・サーバ120は、セキュア・サーバ112によって確立されたサーバ108とのエンド・ツー・エンド・セキュア通信パスに関する、SA122のアウェアネス(awareness)を維持することができる。SEP116、118は直列に接続される必要がないことに留意されたい。
【0041】
以下に、セキュリティ実施ポイント116、118が、セキュアなエンド・ツー・エンド通信パス内のトラバース暗号化データをどのように検査可能であるかの概要を示す。一実施形態では、エンド・ツー・エンド・セキュア通信パスを、クライアント・コンピューティング・デバイス102、104、106のうちの1つとサーバ108との間に確立することができる。エンド・ツー・エンド・セキュア通信パスの確立中に、セキュア・サーバ108上のIKEデーモンは、キー・サーバ120へのエンド・ツー・エンド・セキュア通信パスに関するIPsec SAを提供することができる。一実施形態では、サーバ108に関するTCP/IPスタックにSAをロードする前、すなわちエンド・ツー・エンド・セキュア通信パスが実行可能となる前に、セキュリティ実施ポイント116、118のそれぞれとキー・サーバ120との間のVPNトンネルなどの長期存続可能なセキュア・リンクを介して、キー・サーバ120により、セキュリティ実施ポイント116、118のそれぞれにSAを提供することができる。この実施形態について、以下でより詳細に考察する。
【0042】
最終的に、キー・サーバ120はサーバ108への通知が可能であり、サーバ・コンピューティング・デバイス108はそのTCP/IPスタックにSAをロードすることができる。しかしながら、SAがエンドポイントに即時にインストールされた場合、実施ポイント116、118が未だに取り決め済みSAを有していない可能性があるため、潜在的にいくつかの暗号化パケットが実施ポイント116、118で復号できない可能性があることに留意されたい。この状況では、受信したパケットを廃棄するか、またはパケットを未検査とするように、実施ポイント116、118を構成することができる。
【0043】
その後、クリア・テキスト・ペイロード124を暗号化ペイロード126に変換し、エンド・ツー・エンド・セキュア通信パスを介してサーバ108に送信することが可能であり、ここで暗号化ペイロード128をクリア・テキストに復号することができる。しかしながら、エンド・ツー・エンド・セキュア通信パスに関してSA122によって提供される知識を通じて、関連付けられたセキュリティ機能を実行する際に使用するために、セキュリティ実施ポイント116、118のそれぞれで、それらの間の暗号化ペイロード128を復号することができる。結果として、中間に配置されたセキュリティ実施ポイント116、118は、クライアント・コンピューティング・デバイス102、104、106の知識を必要とすることなく、また、クライアント・コンピューティング・デバイス102、104、106またはサーバ108がセキュリティ実施ポイント116、118の知識を有する必要なく、復号されたクリア・テキスト上でセキュリティ機能を実行することができる。
【0044】
セキュリティ実施ポイントへのSA情報の選択的ロード
以下で、セキュアなエンド・ツー・エンド通信パス内のトラバース暗号化データが検査可能となるような、セキュリティ実施ポイントへのSA情報の選択的ロードについてより詳細に考察する。図6に示されたようなSAに関連付けられた情報を、キー・サーバ120に登録することができる。SEP116は、キー・サーバ120とのセッションを確立するため、結果として、SEP116が2つのエンドポイント(たとえばセキュア・サーバ112およびサーバ108)の間で所与のSAを介して送られるトラフィックを受信した場合、SEP116は、パケットを復号するためのSA情報にアクセスすることができる。
【0045】
具体的に言えば、本発明の様々な実施形態は、各SEP116、118とキー・サーバ120との間に存在する長期の暗号化セッションを使用して、SEPとキー・サーバ120との間でメッセージ・セットを交換する。このメッセージング交換により、SEP116、118は、その特定SAを介して送られているトラフィックを復号するために必要なSA情報を取得することができる。このメッセージング交換は、1)SEPに、認識していないIPsec(AHまたはESP)SAが提示された場合、2)SEPがすでに認識しているIKE SAの下で新しいIPsec(AHまたはESP)SAが取り決められた場合、および、3)新しいIKEセキュリティ・アソシエーションが使用中であるかまたは取り決め中であることをSEPが認識した場合(ただし、これらに限定されない)などの、様々な状況で発生可能である。IKEは、SAをセットアップするためにIPsecで使用されるInternet Key Exchangeプロトコルである。
【0046】
図2は、セキュア・エンド・ツー・エンド通信パスを介して送られている暗号化トラフィックを処理するための、1つまたは複数のSEPへのSA情報の選択的ロードの一例を示す。具体的に言えば、図2は、セキュア・エンド・ツー・エンド通信パスを介して互いに通信を試行している、既知のIPsecエンドポイント212およびリモートIPsecエンドポイント208を示す。図2では、エンドポイント212、208の間でIPsec第1相セッションまたはIKE SAがすでに確立されていること、および、既知のIPsecエンドポイント212とキー・サーバ220との間で暗号化セッションがセットアップされていることに留意されたい。また前述のように、移送レイヤ・セキュリティ(TLS)セッションを介するなど、SEP216とキー・サーバ220との間に、持続セキュア・セッションが確立されることも想定される。したがって図2では、エンド・ツー・エンド・セキュア通信パスは、IPsecエンドポイント212、208の両方の間のみならず、SEP 216およびキー・サーバ220と別々に存在する。
【0047】
一実施形態では、キー・サーバ220は、SAマネージャ230と、SAセッションに関連付けられた情報記録234を備えるデータベース232とを備える。たとえば図6は、データベース232によって維持されるタイプのSA情報記録234の一例を示す。一実施形態では、IPsecエンドポイント212、208は、新しいSAが正常に取り決められると、この情報をキー・サーバ220に送信する。次にキー・サーバ220は、この情報を将来参照するために、そのデータベース232に格納する。エンドポイント212、208からキー・サーバ220に伝送される情報は、エンドポイントID、I−Cookie、R−Cookie、およびIPsec SAグループID情報を備える、1次キー636を含むことができる。エンドポイントIDは、SA情報を伝送しているエンドポイントを固有に識別する。iCookie(イニシエータ)およびrCookie(レスポンダ)は、エンドポイント212、208のそれぞれによって、それらの第1相SAのエンドに割り当てられる値である。これにより、第2相SAを取り決めること、および第1相SAを固有に識別することができる。IPsec SAグループIDフィールドは、第2相SAのためにのみ読み込まれ(populate)、特定のエンドポイントが関連付けられている現在のSAグループを識別する。
【0048】
SA情報記録234は、すべてのSAに対して維持される補助データ638も含む。この補助データ638は、SAの作成時間、SAの存続期間、SAのライフ・サイズ、SAのローカル・セキュリティIPアドレス、SAのリモート・セキュリティIPアドレス、SAのインスタントID、およびSAタイプなどの、情報を含むことができる(ただし、これらに限定されない)。第1相SA情報640は、各SAについても同様に維持される。この第1相情報640は、IKEトンネルID、UDPエンキャップ(Encap)・ポート、ローカルIDタイプ、ローカルID長さ、リモートIDタイプ、リモートID長さ、ローカル識別子、およびリモート識別子などの情報を含むことができる(ただし、これらに限定されない)。SA情報記録234は、ある特定のフィールドに第2相SA情報642も読み込む。
【0049】
この第2相SA情報642は、IPsecトンネルID、ソース・データIPアドレス、宛先データIPアドレス、ソース・ポート低、ソース・ポート高、宛先ポート低、宛先ポート高、インバウンドAH SPI(セキュリティ・パラメータ・インデックス)、アウトバウンドAH SPI、インバウンドESP SPI、アウトバウンドESP SPI、認証アルゴリズム、暗号化アルゴリズム、認証キー長さ、暗号化キー長さ、認証セッション・キー、暗号化セッション・キー、および関与SEPのリストを含むことができる(ただし、これらに限定されない)。識別子、暗号化パラメータおよびキー、ならびに認証パラメータおよびキーを含む(ただし、これらに限定されない)、データベース232内に含まれる上記情報のサブセットは、関与SEPへと下方に送信される。これによりSEPは、それを通じて流れているトラフィックを復号することができる。このプロセスについて、以下でより詳細に説明する。
【0050】
図2に戻ると、SEP216は、エンドポイントから受信したデータ・トラフィックを管理および監視する、トラフィック・マネージャ244を含む。トラフィック・マネージャ244は、一実施形態では、データ・トラフィックに関連付けられたSA情報を分析するため、および、キー・サーバ220と通信するための、SAマネージャ246を含む。図2の例では、SEP216は、時間T1で、リモートIPsecエンドポイント208などのIPsecエンドポイントからデータ・トラフィックを受信する。トラフィック・マネージャ244は、データ・トラフィックを分析して、これがIPsecトラフィックであるかどうかを判別する。たとえば、リモートIPsecエンドポイント208は、IPsec SAを(認証ヘッダ(「AH」)またはカプセル化セキュリティ・ペイロード(「ESP」)と共に)SEP216に送信する。図2の例では、トラフィック・マネージャ244は、リモートIPsecエンドポイント208から受信したトラフィックがIPsecトラフィックであるものと判別する。トラフィック・マネージャ244は、IPsecトラフィック内のSPI/プロトコル/宛先IPアドレス情報などの情報を分析し、この情報に関連付けられたIPsec SAがこれを認識していないものと判別する。言い換えれば、SAマネージャ246は、この特定のSAに関するデータ・トラフィックを復号するために必要な情報を有していない。
【0051】
SEP216は、認識していないSAを検出すると、トラフィック(例えばデータ・パケット)を未検査で渡すか、またはパケットをドロップすることができる。SEP216は、これらのアクションのいずれかを実行するように事前に構成することができる。図2の例は、SEP216が時間T2でデータ・パケットをドロップし、それによって最終的に発信元エンドポイント(たとえば、リモートIPsecエンドポイント208)にパケットを再送させることになることを示す。トラフィック・マネージャ244が、データ・パケットをドロップするか、または未チェックで渡すことを可能にするかのいずれかを実行すると、SAマネージャ246は、時間T3でキー・サーバ220を照会し、この特定のSAに関するSA情報を有するかどうかを判別する。たとえば一実施形態では、SAマネージャ246は、SPI/プロトコル/宛先IPアドレス情報を含む「SA発見」というメッセージを、SEP216とキー・サーバ220との間に存在する暗号化セッションを介してキー・サーバ220に送信する。言い換えれば、SEP216は、キー・サーバ220で権利を登録するか、またはその特定のSAに関するSA情報を受信するためにキー・サーバ220に加入する。これによって、SEP216は、IPsecデータ・パケットを復号するために必要な情報を動的に獲得することができる。
【0052】
キー・サーバ220が、そのデータベース232内にこの特定SAに関するSA情報を有する場合、キー・サーバ220のSAマネージャ230は、そのデータベース232からSA情報を抽出し、時間T4で、IPsec SAコンテンツをSEP216に戻す。キー・サーバ220は、その構成済みポリシーに基づいて、他の動作も同様に実行することができる。たとえばキー・サーバ220は、このIPsec SAがそれの下で取り決められた、IKE SAのiCookie/rCookieを戻すことができる。IKE SAに関連付けられた他のトラフィックが、将来このSEP216を介して渡されることになる可能性が高いため、これはSEP216にとっての特典である。これにより、実質的に、関連付けられたIKE SAに関してSEP216からの暗黙の「SA権利登録」が構成される。
【0053】
この登録がキー・サーバ216で実行されると、関連付けられたIKE SAの下で取り決められた任意の新しいIPsec SAは、自動的にSEP216に送達される。一実施形態では、キー・サーバ220のSAマネージャ230は、SAおよび任意の関係SAに関するSEP加入/登録済み権利を管理および維持する。キー・サーバ220は、IKE SAに関連付けられたすべての他の既知のIPsec SAに関するSA情報を、それらのSAによって保護されているデータも同様にSEP216を通じて流れることになるものと予期して、戻すこともできる。
【0054】
キー・サーバ220からの「SA発見」応答メッセージを受信すると、SEP216はSAコンテンツ249をそのローカル・データベース248に格納する。この時点から、SEP216は、そのAHまたはESP SAを介してSEP216を通じて流れる任意のデータ・トラフィックをカプセル化解除するために、このSA内のキーを使用することができる。同様に、キー・サーバ220の構成済みポリシーに基づいて戻される任意の他のSA情報に関して、SEPのローカル・データベース248内に同様のエントリが作成される。
【0055】
図3は、セキュア・エンド・ツー・エンド通信パスを介して送られている暗号化トラフィックを処理するための、1つまたは複数のSEPへのSA情報の選択的ロードの他の例を示す。具体的に言えば、図3は、図2と同様のセキュア・エンド・ツー・エンド通信パスを介して互いに通信を試行している、既知のIPsecエンドポイント312およびリモートIPsecエンドポイント308を示す。図3では、エンドポイント312、308の間でIPsec第1相セッションまたはIKE SAがすでに確立されており、既知のIPsecエンドポイント312とキー・サーバ320との間で暗号化セッションがセットアップされている。図3では、前述のSEP316とキー・サーバ320との間の持続セキュア・セッションも存在する。
【0056】
図3のリモートIPsecエンドポイント308および既知のIPsecエンドポイント312は、時間T1で、すでに確立されたIKE SA(たとえばVPNトンネル)全体にわたって新しいIPsecSAを取り決める。取り決めが完了すると、既知のIPsecエンドポイント312は、時間T2で、新しいSPI/プロトコル/宛先IPアドレス情報、新しいSAコンテンツならびに関連付けられたiCookie/rCookie情報を備える「SA格納」メッセージを、それらの暗号化セッションを介してキー・サーバ320に送信する。このメッセージを受信すると、キー・サーバ320のSAマネージャ330は、図5に関して前述した形式でSAをそのローカル・データベース332に格納する。
【0057】
キー・サーバ320のSAマネージャ330は、その登録済み権利/加入者情報も分析し、新しいSA情報が選択的にロードされることになる任意のSEP316を識別する。SAマネージャ330が任意の関与SEP316を識別した場合、SAマネージャ330は、時間T3で、登録済み/加入者SEP316、318に「新規SA」メッセージを送信する。一実施形態では、「新規SA」メッセージは、新しいSPI/プロトコル/宛先IPアドレス情報、新しいSAコンテンツ、および関連付けられたiCookie、rCookie情報を含む(ただし、これらに限定されない)。この情報は、キー・サーバ320とSEP 316との間に存在する暗号化セッションを介して、SEP316に伝送される。
【0058】
このメッセージを受信すると、SEP316はそのローカル・データベース348にSAコンテンツ349を格納する。これによってSEP316は、その特定のIPsec SAを介してSEP316を通じて流れる任意のデータ・トラフィックをカプセル化解除するために、このSAでキーを使用することができる。言い換えれば、図3の例では、SA情報は、その特定のIPsec SAに関してSEP316でデータ・トラフィックが受信されるのに先立って、キー・サーバ320から関与SEP316に送信される。
【0059】
図4は、1つまたは複数のSEPへのSA情報の選択的ロードの他の例を示す。具体的に言えば、図4は、SEP416が、認識されていないイニシエータCookie(iCookie)および認識されていないレスポンダCookie(rCookie)を含むIKEメッセージを検出した場合、SEP416にSA情報を選択的にロードする方法を示す。SEP416は、新しいIKE SAの取り決め中、または認識されていないIKE SAの下での新しいIPsec SAの取り決め中のいずれかに、これらの認識されていないクッキーを検出することができる。SEP416は、認識されていないクッキーを検出した場合、(そのiCookie/rCookieによって識別された)SAにおけるその権利を示すメッセージをキー・サーバ420に送信する。その後、キー・サーバ420は、新しいIKE SAに関してそのローカル・データベース432内に新しいエントリを作成し、その特定のSA内で関与されるSEPのリストにSEP416を追加する。この時点から、IKE SAの下で確立された任意の新しいIPsec SAは自動的に関与SEP416に転送される。
【0060】
たとえば、図4は、時間T1で、リモートIPsecエンドポイント408(または既知のIPsecエンドポイント412)が、既知のIPsecエンドポイントとの第1相取り決めを開始することを示す。別の方法では、2つのIPsecエンドポイント412、408は、SEP416が認識していない(たとえば、iCookie/rCookieは認識されていない)IKE SAを使用して、第2相取り決めの一部としてIKEクイック・モード・メッセージを交換する。SEP416のSAマネージャ446は、新しいIKE SA識別子を検出し、ISAKMPヘッダからiCookie値およびrCookie値を抽出する。SEP416のSAマネージャ446は、時間T2で、それらの暗号化セッションを介して「SA権利登録」メッセージ内でキー・サーバ420にiCookie値およびrCookie値を送信する。その後、SEP416は、受信したデータ・パケットをターゲットのIPsecエンドポイントに転送する。
【0061】
キー・サーバ420がSEP416から登録要求を受信した場合、キー・サーバは、新しいIKE SAに関して、そのSAデータベース432内に新しいSAエントリを作成する。キー・サーバ420は、送信側SEP416が、この特定のIKE SAに関連付けられた任意のIPsec(AHまたはESP)SAに関与している旨も通知する。キー・サーバ420は、新しく登録されたIKE SAに関してある種の活動タイムアウトを実装し、結果として、正常に取り決めできなかったIKE SAが、最終的にキー・サーバ・データベース432から消去されるように選択できることに留意されたい。このクリーンアップの一部として、キー・サーバ420は、オプションで、すべての関与SEPにIKE SAがドロップされている旨の通知を送信することが可能であり、結果としてSEPはそれらのローカル・ストレージ448からもSAを除去することができる。
【0062】
図5は、図2に関して前述したプロセスの変形を示す。具体的に言えば、図5は、ネットワーク内でのIPルーティングの変更によって生じる、図2の例の特殊なケースを示す。図5では、ネットワークを介したパケットのルーティングが、理由のいかんに関わらず変更されるため、新しいSEP518は、その時点でそれを通じて流れているSAの知識を動的に獲得する。図2の場合と同様に、SEP、SEP518は、突然、未知のAHまたはESP SAに関するSPI/プロトコル/宛先IPアドレスに直面する(時間T1)。前述のように、パケットをドロップするかまたは許可するか(時間T2)のいずれかを選択しなければならず、その後SEP518は、認識されていないSAに関して知っているかどうかをキー・サーバに問い合わせる(T3)。キー・サーバ520がSAについて知っている場合、そのSAに関する情報を送信し、関連付けられたIKE SAおよび他の関連IPsec SAに関する情報も送信することができる。
【0063】
上記の例に加えて、キー・サーバ120は、IPsecエンドポイント間で発生するIKE再伝送の数を最小限にすることも可能であることに留意されたい。具体的に言えば、キー・サーバ120は、SEP116がIPsec SAを定位置に有することを保証するために、データ・トラフィックがそのSAを介して流れ始める前に、IKEピア間での最終クイック・モード・メッセージ交換を効果的に中断することができる。一実施形態では、キー・サーバ120は、IPsecエンドポイント108、112からの「SA格納」メッセージに応答する前に、「新規SA」メッセージをSEP116に送信することによって、これを実施する。キー・サーバ120は、SEP116への送信が完了するのを待つだけでよく、SEP116からの応答を待つ必要がないことに留意されたい。既知のIPsecエンドポイント112がイニシエータの場合、これは、既知のIPsecエンドポイントがクイック・モード・メッセージ3をそのピアに送信する前に発生する。既知のIPsecエンドポイント112がレスポンダの場合、これは、既知のIPsecエンドポイント112がクイック・モード・メッセージ4(コミット・ビット・サポートを使用する場合)またはメッセージ2(コミット・ビット・サポートなし)をそのピアに送信する前に発生する。
【0064】
本発明の前述の諸実施形態は、セキュア・エンド・ツー・エンド通信パスを介して送られているデータ・パケットを復号するために、SEPにSA情報を選択的にロードできるために有利であることを理解されよう。これにより、関与SEPは、データ・パケットを復号するため、および所望の動作を実行するために、SA情報を取得することができる。他の利点は、関与SEPのみにSA情報が選択的にロードされることである。これにより、情報を必要としないSEPにSA情報が不必要に解放されることがなく、それによってSA情報の脆弱性を減少させることができる。
【0065】
情報処理ノードの例
図7は、本発明の一実施形態に従った、SEP116またはキー・サーバ120などの情報処理ノード700のより詳細な図を示すブロック図である。以下の考察はSEP116に関するものであるが、前述のそれぞれのコンポーネントを除き、キー・サーバ120にも同様に適用可能であることに留意されたい。
【0066】
情報処理ノード700はコンピュータ702を含む。コンピュータ702は、メイン・メモリ706、大容量ストレージ・インターフェース708、端末インターフェース710、およびネットワーク・アダプタ・ハードウェア712に接続された、プロセッサ704を有する。システム・バス714はこれらのシステム・コンポーネントを相互接続する。大容量ストレージ・インターフェース708は、データ・ストレージ・デバイス716などの大容量ストレージ・デバイスを情報処理システム700に接続するために使用される。1つの特定タイプのデータ・ストレージ・デバイスが、ハード・ディスク・ドライブまたは他のストレージ・ドライブ、フラッシュ・メモリ、不揮発性メモリ、CD718またはDVD(図示せず)へデータを格納するためおよびそれらからデータを読み取るために使用可能な光ディスクなどの、コンピュータ読み取り可能メディアである。データ・ストレージ・デバイスの他の例は、ネットワーク要素としてNTFSタイプ・ファイル・システム動作をサポートするように構成された、データ・ストレージ・デバイスである。
【0067】
一実施形態では、メイン・メモリ706は、トラフィック・マネージャ244、SAマネージャ246、およびSAコンテンツ・データベース248(SAコンテンツ249を備える)を含む。メイン・メモリ706のそれぞれのコンポーネントは、メイン・メモリ706内に同時に常駐しているように示されているが、メイン・メモリ706内に常時、または同時に、完全に常駐している必要がないことは明らかである。一実施形態では、情報処理ノード700は、従来の仮想アドレッシング機構を使用して、メイン・メモリ706およびデータ・ストレージ・デバイス716などの複数のより小型のストレージ・エンティティにアクセスするのではなく、本明細書ではコンピュータ・システム・メモリと呼ばれる大型の単一ストレージ・エンティティにあたかもアクセスできるように、プログラムを挙動させることができる。「コンピュータ・システム・メモリ」という用語は、本明細書では一般に、情報処理ノード700の仮想メモリ全体を言い表すために使用されることに留意されたい。
【0068】
コンピュータ702について1つのCPU704のみが示されているが、複数のCPUを備えるコンピュータ・システムも等しく効果的に使用可能である。本発明の様々な実施形態は、それぞれが、CPU704から処理をオフロードするために使用される、別個の完全にプログラミングされたマイクロプロセッサを含む、インターフェースをさらに組み込む。端末インターフェース710は、コンピュータ702へのユーザ・インターフェースを提供するために、1つまたは複数の端末720をコンピュータ702に直接接続するために使用される。これらの端末720は、非インテリジェントであるかまたは完全にプログラム可能なワークステーションとすることが可能であり、システム管理者およびユーザが情報処理ノード700と通信できるようにするために使用される。端末720は、ビデオ・アダプタならびに、キーボード、ポインティング・デバイス、および他のデバイス/インターフェースのためのインターフェースを含む、コンピュータ702に接続され、端末I/F 710に含まれる端末インターフェース・ハードウェアによって制御される、ユーザ・インターフェースおよび周辺デバイスからなるものとすることもできる。
【0069】
メイン・メモリに含まれるオペレーティング・システム(図示せず)は、Linux、UNIX、Windows XP、およびWindows Server 2003オペレーティング・システムなどの(ただし、これらに限定されない)、好適なマルチタスキング・オペレーティング・システムである。本発明の様々な実施形態は、任意の他の好適なオペレーティング・システムを使用することが可能である。本発明のいくつかの実施形態は、オペレーティング・システムのコンポーネント(図示せず)の命令を、情報処理ノード700内に配置された任意のプロセッサ上で実行可能にする、オブジェクト指向フレームワーク機構などのアーキテクチャを使用する。ネットワーク・アダプタ・ハードウェア712は、ネットワーク110へのインターフェースを提供するために使用される。本発明の様々な実施形態は、現在のアナログあるいはデジタルまたはその両方の技術を含む任意のデータ通信接続を使用するか、または将来のネットワーキング機構を介して、動作するように適合可能である。
【0070】
本発明の諸実施形態について、完全に機能するコンピュータ・システムとの関連において説明しているが、当業者であれば、様々な実施形態が、たとえばCD718などのCDまたはDVD、CD‐ROM、または他の形の記録可能媒体を介して、あるいは、任意のタイプの電子伝送機構を介して、コンピュータ・ストレージ・プログラム製品として配布可能であることを理解されよう。一般に、コンピュータ・ストレージ・プログラム製品とは、メモリ・デバイスあるいはストレージ・デバイスあるいはコンピュータ読み取り可能メディア、またはそれらすべてに提供された、おそらくプログラムの一部として変数およびデータ構造を含む、プログラムを言い表すものである。
【0071】
暗号化データのSEP検査に関する動作流れ
図8は、セキュアなエンド・ツー・エンド通信パス内での暗号化データのセキュリティ実施ポイント検査のプロセスを示す、動作流れ図である。図8の動作流れ図は、ステップ802で開始され、直接ステップ804へと流れる。ステップ804で、他のIPsecエンドポイント108とのVPNトンネルのセットアップ中に、キー・サーバ120内で、IPsecエンドポイント112からIPsec SAを受信することができる。ステップ806で、第1の即時に配置されたセキュリティ実施ポイントを、エンド・ツー・エンド・セキュア通信パス内で識別することができる。SEP116が識別されると、ステップ808で、SEP116は、移送レイヤ・セキュリティ(TLS)セッションを介するなど、キー・サーバ120との持続セキュア・セッションを確立するため(すでに確立されていない場合)、結果としてエンド・ツー・エンド・セキュア通信パスは、IPsecエンドポイント108、112の間のみならず、SEP116およびキー・サーバ120とも別個に、存在することになる。
【0072】
ステップ810で、IPsecエンドポイント108、112の間のエンド・ツー・エンド・セキュア通信パスに関するIPsec SAを、キー・サーバ120とSEP116との間の別々のエンド・ツー・エンド・セキュア通信パス全体にわたって、SEP116に提供することができる。その後、ステップ812で、IPsecエンドポイント108、112の間で追加のSEPが依然として処理される場合、ステップ814で、次のSEPを取り出すことが可能であり、ステップ808から始まるプロセスが反復される。IPsecエンドポイント108、112の間で依然として処理されるSEPがない場合、ステップ816で、IPsecエンドポイント112に対して、エンド・ツー・エンド・セキュア通信パスに関するSAのインストールを完了する旨の信号を送信することが可能であり、SEP116は、IPsecエンドポイントに関するSAに組み込まれたセッション・キー知識により、IPsecエンドポイント108、112の間で伝送される暗号化データに対してセキュリティ機能を実行することができる。
【0073】
オプションで、SEP116に提供されるSAが、SEP116をトラバースする暗号化データ内のクリア・テキストにSEP116がアクセスできるようにする暗号化キーを含むことができる一方で、セッション認証キーを保留することができる。この点に関して、セッション認証キーを保留することにより、実質上、セッション認証キーなしでは、SEP116にはクリア・テキストのコンテンツを変更するための認証がないという点で、SEP116に提供された暗号化データから復号されるクリア・テキストは、事実上「読み取り専用」である。その逆に、セッション認証キーをSEP116に提供して、クリア・テキストの選択部分を削除またはブロックすることを含むクリア・テキストの変更を許可することができる。その後、ステップ818で制御流れは終了する。
【0074】
SEPにSA情報を選択的にロードするための動作流れ
図9〜図11は、SEPにSA情報を選択的にロードするための様々なプロセスを示す動作流れ図である。図9の動作流れ図は、ステップ902で開始され、直接ステップ904へと流れる。ステップ904で、エンドポイント・ノード112はSEP116にデータを伝送する。ステップ906で、SEP116はデータ・パケットを分析する。ステップ908で、SEP116は、受信したパケットがIPsecパケットであるかどうかを判別する。この判別の結果が否定的な場合、ステップ910で制御流れは終了する。この判別の結果が肯定的な場合、ステップ912で、SEP16は、受信したIPsecパケットに関するSA情報がローカルに使用可能であるかどうかを判別する。
【0075】
この判別の結果が肯定的である場合、ステップ914で、SEP116は、ローカルなSA情報を使用してIPsecパケットを復号する。ステップ916で、SEP116は、侵入検出などの様々な動作を実行する。その後、ステップ918で制御流れは終了する。この判別の結果が否定的な場合、ステップ920で、SEP116は、パケットをドロップするか、またはこれを未チェックで渡せるようにする。ステップ922で、SEP116は、受信したパケットに関連付けられたSAコンテンツに関する権利を登録する旨の要求を、1つまたは複数のキー・サーバ120に送信する。ステップ924で、キー・サーバ120はそのデータベース232を分析する。その後、ステップ926で、キー・サーバ120は、このIPsecパケットに関するSAコンテンツをローカルに有するかどうかを判別する。
【0076】
この判別の結果が否定的な場合、ステップ928で、キー・サーバ120は、IPsecパケットに関するSAコンテンツを有していない旨をSEP116に通知する。その後、ステップ930で制御流れは終了する。この判別の結果が肯定的な場合、ステップ932で、キー・サーバ120は、SA情報をSEP116へ送信する。ステップ934で、SEP116は情報をローカルに格納する。これによってSEPは、初期に受信したIPsecパケットのSAに関連付けられた任意の後続パケットを復号することができる。その後、ステップ936で制御流れは終了する。
【0077】
図10は、SEPにSA情報を選択的にロードするための他のプロセスを示す、他の動作流れ図である。図10の動作流れ図はステップ1002で開始され、直接ステップ1004へと流れる。ステップ1004で、エンドポイント・ノード112、108は、すでに確立されている既存のIKE SA全体にわたって新しいIPsec SAを取り決める。取り決めが完了した場合、ステップ1006で、エンドポイントのうちの1つがSA情報を格納のためにキー・サーバ120に送信する。ステップ1008で、キー・サーバ120はSA情報を受信する。ステップ1010で、キー・サーバ120はSA情報をデータベースに格納する。ステップ1012で、キー・サーバ120はそのデータベース232を分析し、新しく格納されたSA内に登録済みの権利を有するSEP116、118を識別する。
【0078】
ステップ1014で、キー・サーバ120は、識別されたSEP116、118にSA情報を送信する。ステップ1016で、SEP116、118は新しいSA情報を受信し、この情報をローカルに格納する。ステップ1016で、SEP116、118はこのSA情報を使用して、暗号化IPsecパケットを復号し、復号されたパケット上でそれらの内部動作を実行する。その後、ステップ1020で制御流れは終了する。
【0079】
図11は、SEPにSA情報を選択的にロードするための他のプロセスを示す他の動作流れ図である。図11の動作流れ図はステップ1102で開始され、直接ステップ1104へと流れる。ステップ1104で、IPsecエンドポイント108、112は、SEP116が認識していないSAを使用してSEP116を介してデータを伝送する。ステップ1106で、SEP116は、IPsecパケット・ヘッダからiCookie値およびrCookie値を抽出する。ステップ1108で、SEP116は、少なくともiCookie値およびrCookie値を備えるSA登録要求を作成する。ステップ1110で、SEP116は、SA登録要求を1つまたは複数のキー・サーバ120に送信する。ステップ1112で、SEP116は、受信したIPsecパケットをその宛先エンドポイントに転送する。ステップ1114で、キー・サーバ120は、SEP116によって識別されたSAに関するSAエントリをそのデータベース232内に作成する。ステップ1116で、キー・サーバ120は、SEP116によって識別されたIKE SAに関連付けられた任意のSAにSEPに関する権利を登録する。その後、ステップ1118で制御流れは終了する。
【0080】
限定しないことの例示
本発明は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせで実現可能である。本発明の一実施形態に従ったシステムは、1コンピュータ・システム内での集中様式で、または、異なる要素がいくつかの相互接続されたコンピュータ・システム全体に拡散される分散様式で、実現可能である。任意の種類のコンピュータ・システム、または、本明細書に記載された方法を実施するように適合された他の装置が好適である。ハードウェアおよびソフトウェアの典型的な組み合わせは、ロードされ実行された場合に、本明細書で説明された方法を実施するようにコンピュータ・システムを制御するコンピュータ・プログラムを備えた、汎用コンピュータ・システムとすることができる。
【0081】
一般に、本発明の諸実施形態を実装するために実行されるルーチンは、オペレーティング・システム、あるいは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、または命令シーケンスの、一部として実装されるかどうかに関わらず、本明細書では「プログラム」と呼ばれる場合がある。コンピュータ・プログラムは、通常、ネイティブ・コンピュータによって機械読み取り可能形式および実行可能命令に変換されることになる、多数の命令からなる。またプログラムは、プログラムに対してローカルに常駐するか、あるいはメモリ内またはストレージ・デバイス上に常駐する、変数およびデータ構造からなる。加えて、本明細書で説明される様々なプログラムはアプリケーションに基づいて識別可能であり、本発明の特定の実施形態では、そのアプリケーションに関してそれらのプログラムが実装される。しかしながら、任意の特定プログラム用語は単に便宜上使用されており、本発明は、こうした用語によって識別されるかあるいは示唆される、またはその両方の、任意の特定アプリケーションで使用されることにのみ限定されるべきではないことを理解されたい。
【特許請求の範囲】
【請求項1】
セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための方法であって、
少なくとも1つの暗号化データ・パケットを受信するステップと、
前記少なくとも1つの暗号化データ・パケットを復号するためのSA情報が前記SEPにローカルに存在しない旨を決定するステップと、
前記少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信するステップと、
前記少なくとも1つの暗号化データ・パケットに関連付けられた前記SA情報を前記通信ネットワーク・キー・サーバから受信するステップと、
を含む、SEPを伴う方法。
【請求項2】
前記SA情報がローカルに存在しないことに応答して、前記少なくとも1つの暗号化データ・パケットをドロップするステップと、
前記SA情報がローカルに存在しないことに応答して、前記少なくとも1つの暗号化データ・パケットを復号せずに、前記少なくとも1つの暗号化データ・パケットを前記SEPからその宛先に転送するステップと、
のうちの、少なくとも1つをさらに含む、請求項1に記載の方法。
【請求項3】
前記SEPを使用して、前記通信ネットワーク・キー・サーバから受信した前記SA情報に関連付けられた後続の暗号化データ・パケットを復号するステップをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記復号に応答して、前記SA情報に関連付けられ、復号された、前記後続の暗号化データ・パケット上でセキュリティ機能を実行するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記キー・サーバから受信した前記SA情報が、少なくとも、SAに関連付けられたセッション・キー・データを含む、前記請求項のいずれか一項に記載の方法。
【請求項6】
前記キー・サーバとの持続セキュア・セッションを確立するステップをさらに含む、前記請求項のいずれか一項に記載の方法。
【請求項7】
前記キー・サーバに送信される前記要求が、前記少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む、前記請求項のいずれか一項に記載の方法。
【請求項8】
セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報をセキュリティ実施ポイント(「SEP」)に選択的にロードするための方法であって、
第2のエンドポイントを備えたエンド・ツー・エンドのセキュア通信パスに関する前記SAを使用して、第1のエンドポイントからSAに関連付けられたSA情報を受信するステップと、
前記SA情報をメモリに格納するステップと、
少なくとも1つのSEPが前記SA内に権利を登録した旨を決定するステップと、
前記SA情報を前記少なくとも1つのSEPに送信するステップと、
を含む、キー・サーバでエンドポイント間にある1つまたは複数のエンド・ツー・エンドのセキュア通信パスに関するセキュリティ・アソシエーション(「SA」)を保持する方法。
【請求項9】
前記第1のエンドポイントから受信されるかまたは前記少なくとも1つのSEPに送信される前記SA情報が、前記SAに関連付けられたセッション・キー・データを含む、請求項8に記載の方法。
【請求項10】
前記少なくとも1つのSEPとの持続セキュア・セッションを確立するステップと、
前記SA内に権利を登録するための要求を前記少なくとも1つのSEPから受信するステップと、
前記少なくとも1つのSEPを前記SAに関してメモリに格納された前記SA情報に関連付けるステップと、
をさらに含む、請求項8または9に記載の方法。
【請求項11】
メモリと、
前記メモリに通信的に結合されたプロセッサと、
前記メモリおよび前記プロセッサに通信的に結合されたデータ・トラフィック・マネージャと、
を備える、セキュアなエンド・ツー・エンド通信パスにおいて暗号化データの検査が実行可能なネットワーク装置であって、前記データ・トラフィック・マネージャが、
少なくとも1つの暗号化データ・パケットを受信すること、
前記少なくとも1つの暗号化データ・パケットを復号するためのセキュリティ・アソシエーション(「SA」)情報がローカルに存在しない旨を決定すること、
前記少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信すること、および、
前記少なくとも1つの暗号化データ・パケットに関連付けられた前記SA情報を前記通信ネットワーク・キー・サーバから受信すること、
を実行するように適合された、ネットワーク装置。
【請求項12】
さらに前記データ・トラフィック・マネージャが、
前記通信ネットワーク・キー・サーバから受信した前記SA情報に関連付けられた後続の暗号化データ・パケットを復号すること、および、
前記復号に応答して、前記SA情報に関連付けられ、復号された、前記後続の暗号化データ・パケット上でセキュリティ機能を実行すること、
を、実行するように適合された、請求項11に記載のネットワーク装置。
【請求項13】
前記通信ネットワーク・キー・サーバに送信される前記要求が、前記少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む、請求項11または12に記載のネットワーク装置。
【請求項14】
さらに前記データ・トラフィック・マネージャが、
前記SA情報がローカルに存在しない旨の決定に応答して、前記少なくとも1つの暗号化データ・パケットをドロップすること、および、
前記SA情報がローカルに存在しない旨の決定に応答して、前記少なくとも1つの暗号化データ・パケットを復号せずに、前記少なくとも1つの暗号化データ・パケットをその宛先に転送すること、
を、実行するように適合された、請求項11から13のいずれか一項に記載のネットワーク装置。
【請求項15】
コンピュータ・システムにロードされ、そこで実行された場合、前記請求項1から10のいずれかに従った方法のすべてのステップを前記コンピュータ・システムに実行させるためのコンピュータ・プログラム・コードを備える、コンピュータ・プログラム。
【請求項1】
セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報を通信ネットワーク・セキュリティ実施ポイント(「SEP」)に選択的にロードするための方法であって、
少なくとも1つの暗号化データ・パケットを受信するステップと、
前記少なくとも1つの暗号化データ・パケットを復号するためのSA情報が前記SEPにローカルに存在しない旨を決定するステップと、
前記少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信するステップと、
前記少なくとも1つの暗号化データ・パケットに関連付けられた前記SA情報を前記通信ネットワーク・キー・サーバから受信するステップと、
を含む、SEPを伴う方法。
【請求項2】
前記SA情報がローカルに存在しないことに応答して、前記少なくとも1つの暗号化データ・パケットをドロップするステップと、
前記SA情報がローカルに存在しないことに応答して、前記少なくとも1つの暗号化データ・パケットを復号せずに、前記少なくとも1つの暗号化データ・パケットを前記SEPからその宛先に転送するステップと、
のうちの、少なくとも1つをさらに含む、請求項1に記載の方法。
【請求項3】
前記SEPを使用して、前記通信ネットワーク・キー・サーバから受信した前記SA情報に関連付けられた後続の暗号化データ・パケットを復号するステップをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記復号に応答して、前記SA情報に関連付けられ、復号された、前記後続の暗号化データ・パケット上でセキュリティ機能を実行するステップをさらに含む、請求項3に記載の方法。
【請求項5】
前記キー・サーバから受信した前記SA情報が、少なくとも、SAに関連付けられたセッション・キー・データを含む、前記請求項のいずれか一項に記載の方法。
【請求項6】
前記キー・サーバとの持続セキュア・セッションを確立するステップをさらに含む、前記請求項のいずれか一項に記載の方法。
【請求項7】
前記キー・サーバに送信される前記要求が、前記少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む、前記請求項のいずれか一項に記載の方法。
【請求項8】
セキュアなエンド・ツー・エンド通信パスにおける暗号化データの検査のために、セキュリティ・アソシエーション(「SA」)情報をセキュリティ実施ポイント(「SEP」)に選択的にロードするための方法であって、
第2のエンドポイントを備えたエンド・ツー・エンドのセキュア通信パスに関する前記SAを使用して、第1のエンドポイントからSAに関連付けられたSA情報を受信するステップと、
前記SA情報をメモリに格納するステップと、
少なくとも1つのSEPが前記SA内に権利を登録した旨を決定するステップと、
前記SA情報を前記少なくとも1つのSEPに送信するステップと、
を含む、キー・サーバでエンドポイント間にある1つまたは複数のエンド・ツー・エンドのセキュア通信パスに関するセキュリティ・アソシエーション(「SA」)を保持する方法。
【請求項9】
前記第1のエンドポイントから受信されるかまたは前記少なくとも1つのSEPに送信される前記SA情報が、前記SAに関連付けられたセッション・キー・データを含む、請求項8に記載の方法。
【請求項10】
前記少なくとも1つのSEPとの持続セキュア・セッションを確立するステップと、
前記SA内に権利を登録するための要求を前記少なくとも1つのSEPから受信するステップと、
前記少なくとも1つのSEPを前記SAに関してメモリに格納された前記SA情報に関連付けるステップと、
をさらに含む、請求項8または9に記載の方法。
【請求項11】
メモリと、
前記メモリに通信的に結合されたプロセッサと、
前記メモリおよび前記プロセッサに通信的に結合されたデータ・トラフィック・マネージャと、
を備える、セキュアなエンド・ツー・エンド通信パスにおいて暗号化データの検査が実行可能なネットワーク装置であって、前記データ・トラフィック・マネージャが、
少なくとも1つの暗号化データ・パケットを受信すること、
前記少なくとも1つの暗号化データ・パケットを復号するためのセキュリティ・アソシエーション(「SA」)情報がローカルに存在しない旨を決定すること、
前記少なくとも1つの暗号化データ・パケットに関連付けられたSA情報に関する要求を通信ネットワーク・キー・サーバに送信すること、および、
前記少なくとも1つの暗号化データ・パケットに関連付けられた前記SA情報を前記通信ネットワーク・キー・サーバから受信すること、
を実行するように適合された、ネットワーク装置。
【請求項12】
さらに前記データ・トラフィック・マネージャが、
前記通信ネットワーク・キー・サーバから受信した前記SA情報に関連付けられた後続の暗号化データ・パケットを復号すること、および、
前記復号に応答して、前記SA情報に関連付けられ、復号された、前記後続の暗号化データ・パケット上でセキュリティ機能を実行すること、
を、実行するように適合された、請求項11に記載のネットワーク装置。
【請求項13】
前記通信ネットワーク・キー・サーバに送信される前記要求が、前記少なくとも1つの暗号化データ・パケットに関連付けられたSAに関連付けられた、少なくともiCookie値およびrCookie値を含む、請求項11または12に記載のネットワーク装置。
【請求項14】
さらに前記データ・トラフィック・マネージャが、
前記SA情報がローカルに存在しない旨の決定に応答して、前記少なくとも1つの暗号化データ・パケットをドロップすること、および、
前記SA情報がローカルに存在しない旨の決定に応答して、前記少なくとも1つの暗号化データ・パケットを復号せずに、前記少なくとも1つの暗号化データ・パケットをその宛先に転送すること、
を、実行するように適合された、請求項11から13のいずれか一項に記載のネットワーク装置。
【請求項15】
コンピュータ・システムにロードされ、そこで実行された場合、前記請求項1から10のいずれかに従った方法のすべてのステップを前記コンピュータ・システムに実行させるためのコンピュータ・プログラム・コードを備える、コンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2011−508550(P2011−508550A)
【公表日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2010−540092(P2010−540092)
【出願日】平成20年12月4日(2008.12.4)
【国際出願番号】PCT/EP2008/066824
【国際公開番号】WO2009/080462
【国際公開日】平成21年7月2日(2009.7.2)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.UNIX
3.WINDOWS
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
【公表日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願日】平成20年12月4日(2008.12.4)
【国際出願番号】PCT/EP2008/066824
【国際公開番号】WO2009/080462
【国際公開日】平成21年7月2日(2009.7.2)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.UNIX
3.WINDOWS
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
[ Back to top ]