(57)【要約】通信ネットワークにおける認証および／またはアクセス許可のためのシステム及び装置。ソースノード（１０、１２、１４、１６、１８）は、セッション確立、データベースアクセスまたはアプリケーションアクセス等のネットワークサービスの要求を開始する。既知のネットワークリソース、許可されたユーザ、および／またはソース情報は、デバイスおよび／またはユーザに依存させることができるアクセスポリシールールと共に、ネットワークポータル（５０）において、データベースに格納される。ソースノード（１０、１２、１４、１６、１８）は、該要求を発信するユーザを示すユーザ識別子、および／または該要求がそこから発信されるハードウェアを示すソース識別子を含むパケットヘッダを構成することができる。それらの識別子のうちの少なくとも一方は、宛先ノードへの送信のための同期パケットと共に含まれている。通信ネットワーク内の機器またはファイアウォール（７０）は、受信し、認証し、該パケットを、その指定された宛先へ解放する前に、リソースアクセスが許可されるか否かを判断する。
2006510328.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ識別子及びソース識別子に基づくデータを含むパケットを生成する第１のノード（１０、１２、１４、１５、１８）と、
前記パケットを受信し、前記パケットの前記ユーザ識別子及びソース識別子のために定義された許可ポリシーに基づいて、前記パケットを宛先に解放すべきか否かを判断する第２のノード（７０）と、
前記第２のノードが、前記パケットを第３のノードに解放した場合に、前記パケットを受信して処理する第３のノード（９０、９２、９４）とによって特徴付けられるシステム。
【請求項２】
前記パケットが、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）フォーマットで定義された同期（ＳＹＮ）パケットである、請求項１に記載のシステム。
【請求項３】
前記第１、第２及び第３のノードのうちの少なくとも１つが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡまたは他のコンピューティングデバイスを含む、請求項１に記載のシステム。
【請求項４】
前記第１のノードと前記第２のノードが、インターネットを介して接続されている、請求項１に記載のシステム。
【請求項５】
前記第２のノードと前記第３のノードが、インターネットを介して接続されている、請求項１に記載のシステム。
【請求項６】
前記ユーザ識別子が、前記パケットを発信するノードのユーザのユーザ名に基づいている、請求項１に記載のシステム。
【請求項７】
前記ソース識別子が、前記パケットを発信するノードの媒体アクセス制御（ＭＡＣ）アドレスに基づいている、請求項１に記載のシステム。
【請求項８】
前記許可ポリシーが、さらに、前記パケットの宛先によって表わされるリソースに基づいて定義されている、請求項１に記載のシステム。
【請求項９】
前記リソースがアプリケーションである、請求項１に記載のシステム。
【請求項１０】
前記許可ポリシーが、さらに、前記パケットの宛先に基づいて定義されている、請求項１に記載のシステム。
【請求項１１】
前記第２のノードは、前記パケットがドロップされた場合、前記失敗したアクセスの試みのレコードを生成する、請求項１に記載のシステム。
【請求項１２】
前記第２のノードは、前記パケットがドロップされた場合、管理者に前記失敗したアクセスの試みを通知する、請求項１に記載のシステム。
【請求項１３】
パケットのヘッダ内のユーザ識別子及びソース識別子のうちの少なくとも一方に基づくデータを含むノード（１０、１２、１４、１６、１８）によって特徴付けられる装置。
【請求項１４】
前記ユーザ識別子を識別するデータが、前記パケットのシーケンス番号フィールドに含まれている、請求項１３に記載の装置。
【請求項１５】
前記ソース識別子を識別するデータが、前記パケットの肯定応答フィールドに含まれている、請求項１３に記載の装置。
【請求項１６】
前記肯定応答フィールド内のデータが、ゼロでない値を有する、請求項１３に記載の装置。
【請求項１７】
前記ノードが、前記ユーザ識別子及びソース識別子の少なくとも一方を変換して、前記パケットのヘッダに含めるためのデータを生成する、請求項１３に記載の装置。
【請求項１８】
前記ノードが、巡回冗長検査（ＣＲＣ）アルゴリズムを用いて、前記ユーザ識別子及びソース識別子の少なくとも一方を変換する、請求項１７に記載の装置。
【請求項１９】
前記変換されたユーザ識別子を表わすデータが、前記パケットのシーケンス番号フィールドに含まれている、請求項１７に記載の装置。
【請求項２０】
前記ノードが、第１のキー索引を前記変換されたユーザ識別子に添付して、前記パケットのシーケンス番号フィールドに含めるためのデータを生成する、請求項１９に記載の装置。
【請求項２１】
前記変換されたソース識別子を表わすデータが、前記パケットの肯定応答フィールドに含まれている、請求項２０に記載の装置。
【請求項２２】
前記ノードが、第２のキー索引を前記変換されたソース識別子に添付して、前記パケットの肯定応答フィールドに含めるためのデータを形成する、請求項２１に記載の装置。
【請求項２３】
前記肯定応答フィールドに含まれているデータが、ゼロでない値を有する、請求項２２に記載の装置。
【請求項２４】
前記ノードが、キー索引を前記変換されたソース識別子に添付して、前記パケットの肯定応答フィールドに含めるためのデータを生成する、請求項１７に記載の装置。
【請求項２５】
前記ユーザ識別子及びソース識別子の少なくとも一方が、前記パケットのヘッダの肯定応答フィールドに含まれているゼロでない値を有する、請求項１３に記載の装置。
【請求項２６】
前記ユーザ識別子は、前記ソースノードから宛先ノードへ前記パケットを送信することにより、ネットワークを介して前記宛先ノードと通信を始めるソースノードに関連するユーザを表わす、請求項１３に記載の装置。
【請求項２７】
前記ユーザ識別子が、前記ユーザのユーザ名を含む、請求項２６に記載の装置。
【請求項２８】
前記ソース識別子によって識別されるノードは、前記ソースノードから前記宛先ノードへ前記パケットを送信することにより、ネットワークを介して前記宛先ノードと通信を始めるソースノードである、請求項１３に記載の装置。
【請求項２９】
前記ソース識別子が、前記ソースノードの媒体アクセス制御（ＭＡＣ）アドレスに基づいている、請求項２８に記載の装置。
【請求項３０】
前記ソースノードが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ、または他のコンピューティングデバイスを含む、請求項２８に記載の装置。
【請求項３１】
前記パケットが、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）フォーマットを有する、請求項１３に記載の装置。
【請求項３２】
前記パケットが、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）で、ソースノードと宛先ノードの間の通信を始めるのに用いられる同期（ＳＹＮ）パケットである、請求項１３に記載の装置。
【請求項３３】
ユーザ識別子を変換し、第１のキー索引を前記ユーザ識別子に添付し、前記変換されたユーザ識別子と、添付された第１のキー索引とを、パケットのヘッダの第１のフィールドに含めるノード（１０、１２、１４、１６、１８）によって特徴付けられる装置。
【請求項３４】
前記ユーザ識別子が、前記パケットを用いて、別のノードとの通信を始めるノードのユーザのユーザ名を含む、請求項３３に記載の装置。
【請求項３５】
前記ユーザ名が巡回冗長検査（ＣＲＣ）アルゴリズムを受けて、変換されたユーザ識別子が生成される、請求項３３に記載の装置。
【請求項３６】
前記ノードが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ、または他のコンピューティングデバイスを含む、請求項３３に記載の装置。
【請求項３７】
前記パケットが同期（ＳＹＮ）パケットである、請求項３３に記載の装置。
【請求項３８】
前記第１のフィールドが、シーケンス番号フィールドを含む、請求項３３に記載の装置。
【請求項３９】
前記ノードがさらに、ソース識別子を変換し、第２のキー索引を前記ソース識別子に添付し、前記変換されたソース識別子及び添付された第２のキー索引を、前記パケットヘッダの第２のフィールドに含める、請求項３３に記載の装置。
【請求項４０】
前記ソース識別子は、前記パケットを用いて別のノードとの通信を開始するノードを識別する、請求項３９に記載の装置。
【請求項４１】
前記ソース識別子は、媒体アクセス制御（ＭＡＣ）アドレスである、請求項３９に記載の装置。
【請求項４２】
前記ノードが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ、または他のコンピューティングデバイスのうちの少なくとも１つを含む、請求項３９に記載の装置。
【請求項４３】
前記ソース識別子が巡回冗長検査（ＣＲＣ）アルゴリズムを受けて、変換されたソース識別子が生成される、請求項３９に記載の装置。
【請求項４４】
前記パケットが同期（ＳＹＮ）パケットである、請求項３９に記載の装置。
【請求項４５】
前記第２のフィールドが、肯定応答フィールドを含む、請求項３９に記載の装置。
【請求項４６】
前記ノードは、前記変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって識別された第１のキーを用いて、前記セッション識別子を暗号化し、前記暗号化されたセッション識別子に基づいてハッシュを生成し、前記ハッシュの少なくとも一部を格納する、請求項３９に記載の装置。
【請求項４７】
前記ノードは、そこで変換が実行される前記ソースノードから宛先ノードへ、前記変換されたユーザ識別子及びソース識別子を含む前記パケットを送信する、請求項４６に記載の装置。
【請求項４８】
前記ノードは、前記送信されたパケットに応答して、前記宛先ノードから肯定応答パケットを受取る、請求項４７に記載の装置。
【請求項４９】
前記ノードは、前記肯定応答パケットの少なくとも１つのフィールドからデータを抽出し、前記肯定応答パケットからのデータを前記ハッシュと比較し、前記抽出したデータとハッシュが一致しない場合に、前記肯定応答パケットをドロップさせ、前記抽出したデータとハッシュが一致した場合に、前記肯定応答パケットの処理を続行する、請求項４６に記載の装置。
【請求項５０】
前記ノードは、そこで変換が実行される前記ソースノードから宛先ノードへ、前記変換されたユーザ識別子及びソース識別子を表わすデータを含むパケットを送信する、請求項３３に記載の装置。
【請求項５１】
前記ノードは、前記送信されたパケットに応答して、前記宛先ノードから肯定応答パケットを受取る、請求項５０に記載の装置。
【請求項５２】
前記パケットが、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）で、ソースノードと宛先ノードの間の通信を始めるのに用いられる同期（ＳＹＮ）パケットである、請求項３３に記載の装置。
【請求項５３】
変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引を有するヘッダを備えたパケットを生成し、前記変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって識別された第１のキーを用いて、前記セッション識別子を暗号化し、前記セッション識別子に基づいてハッシュを生成し、前記ハッシュの少なくとも１部を格納するノード（１０、１２、１４、１６、１８）によって特徴付けられる装置。
【請求項５４】
前記ノードはさらに、そこで変換が実行される前記ソースノードから宛先ノードへ、前記変換されたユーザ識別子及びソース識別子を含むパケットを送信する、請求項５３に記載の装置。
【請求項５５】
前記ノードはさらに、前記送信されたパケットに応答して、前記宛先ノードから肯定応答パケットを受取る、請求項５４に記載の装置。
【請求項５６】
前記ノードはさらに、前記パケットからデータを抽出し、前記パケットからのデータを前記ハッシュと比較し、前記抽出したデータとハッシュが一致しない場合に、前記パケットをドロップさせ、前記抽出したデータとハッシュが一致した場合に、前記パケットの処理を続行する、請求項５３に記載の装置。
【請求項５７】
前記パケットが、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）で、ソースノードと宛先ノードの間の通信を始めるのに用いられる同期（ＳＹＮ）パケットである、請求項５３に記載の装置。
【請求項５８】
パケットのヘッダからのユーザ識別子及びソース識別子のうちの少なくとも一方に基づいてデータを抽出するノード（７０）によって特徴付けられる装置。
【請求項５９】
前記データが、前記パケットのヘッダから抽出される、請求項５８に記載の装置。
【請求項６０】
前記パケットが同期（ＳＹＮ）パケットである、請求項５８に記載の装置。
【請求項６１】
前記ユーザ識別子が、前記パケットを発信するユーザのユーザ名から得られる、請求項５８に記載の装置。
【請求項６２】
前記ソース識別子が、前記パケットを発信するノードと関連付けられた媒体アクセス制御（ＭＡＣ）アドレスから得られる、請求項５８に記載の装置。
【請求項６３】
前記データが、変換されたユーザ識別子を含む、請求項５８に記載の装置。
【請求項６４】
前記変換されたユーザ識別子が、巡回冗長検査（ＣＲＣ）アルゴリズムを用いて生成される、請求項６３に記載の装置。
【請求項６５】
前記データが、変換されたソース識別子を含む、請求項５８に記載の装置。
【請求項６６】
前記変換されたソース識別子が巡回冗長検査（ＣＲＣ）アルゴリズムを用いて生成される、請求項６５に記載の装置。
【請求項６７】
前記パケットから抽出されたデータが、キーを識別する少なくとも１つのキー索引を含む、請求項５８に記載の装置。
【請求項６８】
変換されたユーザ識別子、第１のキー索引、変換されたソース識別子及び第２のキー索引を有するパケットを受取り、パケットから変換されたユーザ識別子、第１のキー索引、変換されたソース識別子及び第２のキー索引を抽出し、前記変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって識別された第１のキーを用いて、前記セッション識別子を暗号化し、前記セッション識別子に基づいてハッシュを生成するノード（７０）によって特徴付けられる装置。
【請求項６９】
前記パケットが、第１のノードから発信し、かつ第２のノードで受信される同期（ＳＹＮ）パケットであり、前記ノードがさらに、前記第２のノードから前記第１のノードへの送信のための応答パケットに含めるために、前記ハッシュの少なくとも一部を含む、請求項６８に記載の装置。
【請求項７０】
前記ハッシュの一部が、前記ハッシュの下位の６４ビットを含む、請求項６８に記載の装置。
【請求項７１】
前記ユーザ識別子が、巡回冗長検査（ＣＲＣ）アルゴリズムを用いて変換される、請求項６８に記載の装置。
【請求項７２】
前記暗号化が、ＤＥＳアルゴリズムを用いて実行される、請求項６８に記載の装置。
【請求項７３】
前記ハッシュが、ＳＨＡ−１アルゴリズムを用いて生成される、請求項６８に記載の装置。
【請求項７４】
パケットを受取り、前記パケットからユーザ識別子及びソース識別子を抽出し、前記ユーザ識別子及びソース識別子に基づいて許可ポリシーをチェックして、前記ユーザ及びソースを許可して、前記パケットが示す宛先へ流すか否かを判断し、前記チェックが、前記パケットが前記ポリシーによって許可されて、その宛先へ流されることを示している場合、前記パケットを解放し、前記許可ポリシーが、前記パケットが、その宛先へ流されるのを許可されていないことを示す場合、前記パケットをドロップさせるノード（７０）によって特徴付けられる装置。
【請求項７５】
前記パケットが同期（ＳＹＮ）パケットである、請求項７４に記載のノード。
【請求項７６】
前記ユーザ識別子が、前記パケットを発信するノードのユーザのユーザ名に基づいている、請求項７４に記載のノード。
【請求項７７】
前記ソース識別子が、前記パケットを発信するノードの媒体アクセス制御（ＭＡＣ）アドレスに基づいている、請求項７４に記載のノード。
【請求項７８】
前記ソース識別子許可ポリシーがさらに、前記パケットの宛先によって表わされるリソースに基づいて定義される、請求項７４に記載のノード。
【請求項７９】
前記リソースがアプリケーションである、請求項７４に記載のノード。
【請求項８０】
前記ノードは、前記パケットがドロップされた場合に、前記失敗したアクセスの試みのレコードを生成する、請求項７４に記載のノード。
【請求項８１】
前記ノードは、前記パケットがドロップされた場合に、前記失敗したアクセスの試みを管理者に通知する、請求項７４に記載のノード。
【請求項８２】
前記ノードは、変換されたユーザ識別子、第１のキー索引、変換されたソース識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって表わされる前記第１のキーを用いて、前記セッション識別子を暗号化し、前記セッション識別子に基づいてハッシュを生成し、前記ハッシュを、受信したパケットを発信するノードへの送信のための応答パケットに含め、前記応答パケットを、前記受信パケットを発信するノードに送信する、請求項７４に記載のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
（技術分野）
本発明は、一般に、ネットワークセキュリティに関する。より具体的には、本発明は、信頼できる通信を提供し、かつコンピュータ通信ネットワークへの侵入が発生するのを防ぐシステム及び方法に関する。
【０００２】
（背景技術）
当分野の現在の状態において、通信ネットワークセキュリティへの一般的なアプローチは、アタッカー（attacker）が現れた後に、アタッカーアクティビティの発生を識別する試みである。これは、各パケットフローのインフラストラクチャインスペクション（infrastructure inspection）及びパケットレベルでのステートフルインスペクション（state-full inspection）を要する。このワークの全てを実行した後、それらのアプローチのほとんどは、単に、数千ものアクティブブリーチ（active breaches）に関する警告メッセージを生成する。セキュリティにおける他のアプローチは、パーソナルな暗号鍵及び鍵認証を用いる。セッションレベル制御での試みを実行できるそれらのアプローチは、追加情報を各パケットに付加する必要性と共に、サービス品質（Quality of Service；QOS）パフォーマンスインパクトに関連するさらなる懸念及び限界を伴い、そのため、パケットを調べることにより、侵入者は、どこでどのように新たなパケットを変えるかに関する明白なピクチャを有する。現在の状況において、ＱＯＳは、ネットワークインフラストラクチャの全体のスループット及びパフォーマンスに関連している。また、たいていのコーポレートセキュリティアプローチは、アンチウイルス、署名認証及びネットワークアドレス変換（Network Address Translation；NAT）の実施も含む。ＮＡＴは、ローカルエリアネットワークが、内部トラヒックに対してインターネットプロトコル（Internet Protocol；IP）アドレスの一つのセットを用い、外部トラヒックに対して、アドレスの第２のセットを用いることを可能にする。ハッカーアクティビティを識別するフローベースの論理を適用する新しい試みが行われている。しかし、以前のものと同様に、それらの新たなアプローチも、依然として、「侵入後の」認識に依存している。今日の高速回線速度に遅れない改良が行われているが、侵入検知は、なお、単に検知であって、防止ではない。
【０００３】
ネットワークセキュリティは、今日、ネットワーク管理者にとって、最も重要なものである。サイバー攻撃は、より頻繁に起こり、かつ広まってきている。テロ組織による計画的なサイバー攻撃は、現代社会が依存することになるインフラストラクチャを大混乱に陥れる可能性がある。攻撃の一般的な方法は、ネットワークパケットのスニッフィング（sniffing）、インターネットプロトコル（IP）なりすまし（spoofing）、パスワード攻撃、サービス不能攻撃（denial of Service attacks）及びアプリケーション層攻撃を含む。これら全ての方法は、該ネットワークへのアクセスを得ることを必要とし、また、従来技術において、ネットワーク侵入の全ての形態を防ぐ包括的な解決法はない。
【０００４】
インターネットを介して安全なプライベート通信を提供しようとする最新の試みは、インターネットプロトコルセキュリティ（Internet Protocol Security；IPSec）である。このフレームワークは、プライベート通信ネットワークにおける同位のデバイス間に、機密性、完全性及び認証性を与えるために、暗号化技術を用いる。ＩＰＳｅｃプロトコルは、暗号化技術を用いて、メッセージパケットのデータを保護するＴＣＰ／ＩＰプロトコルに対するセキュリティ拡張のセットである。主な変換タイプは、認証ヘッダ（authentication header；AH）変換と、ＥＳＰ（Encapsulating Security Payload）変換である。ＡＨ変換は、データの送信者の認証を実行できる。ＥＳＰ変換は、送信者とデータの暗号化の認証を実行できる。両方のタイプの変換も、トランスポートモードまたはトンネルモードのいずれかにおいて作成される。トランスポートモードにおける変換は、元のパケットＩＰヘッダが、変換されたパケットのためのＩＰヘッダになることを意味する。トンネルモードにおける変換は、該パケットが、新たなＩＰヘッダの後に添付されることを意味する。ＡＨ変換及びＥＳＰ変換は、共に、追加のヘッダ、すなわち、ＡＨヘッダまたはＥＳＰヘッダをメッセージパケットに付加する。ＩＫＥ（Internet Key Exchange）を含む分離鍵プロトコルを選択することができる。セッション鍵は、安全な通信を提供するために、通信ピア間で交換しなければならない。ＩＰＳｅｃは、ネットワークセキュリティのある態様を扱うが、それは、全ての種類の攻撃に対する解決策ではない。ＡＨ変換の利用は、データの機密性を保護せず、ＥＳＰ変換の利用は、データの機密性を保護するが、鍵交換、パケットオーバーヘッドを増加させる追加ヘッダの使用及び実際のデータペイロードの暗号化を要する。
【０００５】
ネットワークへの侵入を実際に防ぎ、かつ該ネットワーク内のデバイス間に、信頼できる通信を提供するネットワークセキュリティを実現できる改良された方法及びシステムに対する要望がある。
【０００６】
（発明の開示）
本発明は、アクセス制御及びユーザセッション層セキュリティフレームワークを提供する。本発明は、新たな及び現在のコンピューティングリソースへの所望されない接続を防ぐ。本発明は、未知のデバイスおよび／またはユーザが、インフラストラクチャとの通信接続を確立するのを防ぐ。本発明は、未知のデバイスおよび／またはユーザが、共用アプリケーションリソースとセッションを確立するのを防ぐ。本発明は、既知のユーザが、その担当領域の実行に必要ないアプリケーションリソースへのアクセスを得ることを防ぐ。
【０００７】
本発明は、侵入が発生したことを、ネットワーク管理者に単に警告するのではなく、従来の侵入検知システムとは異なる方法で侵入を防ぐ。本発明により用いられる技術は、ビジネスプロセスを使用可能な技術利用につなげる第１のセキュリティアプローチであり、それにより、異常なアクセス及びセッション確立を防ぐ。本発明は、実時間プロトコル処理を介した認証を用いる。
【０００８】
本発明は、ハードウェア及びユーザセッションレベルでの許可された認証を必要とし、それによって、ハードウェアアクセスをユーザが要求するサービスにつなげる。それらのレベルでの認められた許可を安全にすることにより、予想外のまたは未知のハードウェアデバイスは、ネットワークインフラストラクチャと通信することを阻止され、それにより、「楽な」侵入に関連する脅威を防ぐ。また、アプリケーションリソースは、どこのユーザセッションを許可するかを制御することにより安全にされ、それによって、「内部の者」が、許可されていないリソース及びデータへのアクセスを得ることを防止する。
【０００９】
本発明は、通信プロトコルの延長処理による通信確立の開始を防ぐ。このアプローチは、未知の「アクティブな」利用またはフローを検知するという現在の方法とは違って、判断のポイントを、接続確立の最前線におく。また、本発明は、利用の端末間フローに関連する全てのパケットの「ステートフル」インスペクションに対する必要性をなくし、それによって、一般的に侵入検知と関連するパフォーマンス負担を低下させる。
【００１０】
本発明の２つの主要なコンポーネントは、個別ユーザのワークステーション及びネットワークリソースに付加される「キーマスター（Key Master）」ソフトウェアコンポーネントと、現行のファイアウォールデバイスに付加することができる、あるいは、信頼できる仮想ネットワーク内の独立した機器として作動することができる「ゲートキーパ（Gate Keeper）」コンポーネントである。該キーマスターソフトウェアは、パケットを宛先ノードへ送信する前の、同期パケットのための「変換された」パケットヘッダを構成する。該ゲートキーパコンポーネントは、保護された信頼できる仮想ネットワークに関連する全てのパケットフローを阻止する、インライン機器またはソフトウェアモジュールである。該コンポーネントは、送信ノードから受信した最初の同期パケットを処理し、さらなる遅延なく、他の全てのパケットを開放する。該同期パケットは、既知のハードウェア及び既知のユーザが、アクセスできるネットワークリソースに対するサービスを要求することを保障するために検査される。この検査は、受信した同期パケットにおける変換されたパケットヘッダの検査によって実行される。該同期パケットに含まれる情報は、ネットワークポータルにおける関係データベース管理システムに格納されたアクセス方策プロファイルと比較される。ネットワークサービスへのアクセスに対する要求を許可するかまたは拒否するかの判断は、それらの比較に基づいて行われる。接続要求の受信終了時に、受信ノードにおけるキーマスターソフトウェアは、まず、パケット種別を識別し、パケットヘッダフィールドを評価して、該パケットの処理を継続するか否かを判断する。認証及び検証は、パケットヘッダフィールドのデータを抽出して変換し、該データを、上位のプロトコル層スタックプロセスへ流すことによって実行される。宛先ノードにおけるキーマスターソフトウェアは、発信ノード及び宛先ノードに、接続の終了が通知されるまで、該接続の残り全体にわたって、会話モードに切り換わる。
【００１１】
本発明は、添付図面と共に、例示的な実施形態の以下の詳細な説明を読むことによってより良く理解される。
【００１２】
（発明を実施するための最良の形態）
本発明の以下の詳細な説明は、その最良の現時点で既知の実施形態における本発明の使用可能な教示として記載されている。当業者は、記載した実施形態に対して、多くの変化が可能であると共に、本発明の有益な結果を得ることができることを明確に理解するであろう。また、本発明の所望の恩恵は、他の特徴を用いることなく、本発明の特徴のうちのいくつかを選択することによって得られることも、はっきりと理解されるであろう。従って、当業者は、本発明に対する多くの変更及び調節が可能であり、ある状況においては望ましい可能性もあり、本発明の一部であることを明確に理解するであろう。従って、本発明の範囲は、特許請求の範囲によって定義されているため、以下の説明は、本発明の原理の例証として記載され、かつ本発明を限定するものではない。
【００１３】
本発明の目的は、侵入者が接続を確立しようとするときに、侵入者を識別することにより、該侵入が発生する前に侵入を防ぐことである。この新しいアプローチは、外部の侵入者を扱うプリエンプティブ（pre-emptive）な方法論を与えるだけではなく、内部の侵入者も扱う。外部の侵入者は、企業のインフラストラクチャ内に設けられたリソースに接続しようとする「外部」からまたはオフネットから発進するデバイスとして定義される。内部の侵入者は、無許可の内部リソースへの接続を試みている、該インフラストラクチャ内に接続されたデバイスである。
【００１４】
今日利用可能な他の解決法とは違って、本発明は、サービスに対する各要求を、該要求の個別の実行と関連付け、パケットのタグ付けまたは変更を行うことなく、可用性ルールをユーザの識別に適用する。本発明は、プロトコル動作の通常の特徴を用い、該プロトコルがどのように作用して、認証ユーザレベルセキュリティを提供するかを開発する。このアプローチは、パケットレベルデータの異常な構造を要求することなく、通信の安全な方法を与える。
【００１５】
好ましくない通信の防止は、単に、通信を始めることを可能にしないことによって、最も良く作用する。例として、地方の電話会社が、好ましくない電話使用を防ごうとする場合、該電話会社は、単に、ダイアルトーンを除去する。ダイアルトーンを受信しない場合、通信回路を開くことができない。電話と同様に、コンピュータは、宛先のアドレスまたはデバイスに対する仮想回線の閉止に依存する。要求時に能力を形成する知的判断を施すことにより、好ましくないまたは許可できない接続閉止を、それが始まる前に終了させることができる。
【００１６】
全てのフロー関連パケットの継続的なステートフルインスペクションに対する要求がない場合、このアプローチのためのリソース及び遅延要求は、従来のアプローチよりも減る。接続に対する要求の始動時に、知的判断能力を施すことにより、最初の数パケットのみを検査すればよい。最初の接続設定中の全ての接続指向プロトコルの初期接続手順は、サービスに対する要求に関する十分な情報を提供し、形成する接続を認めて可能にするか否か、または、該要求を終了させ停止させるか否かを判断する。これらの接続処理手順は、防衛高度研究企画庁（Defense Advanced Research Projects Agency；DARPA）によって公表されたＲＦＣ（Request For Comments）７９３及びその他の企画による伝送制御プロトコル（Transmission Control Protocol；TCP）として十分に確立されている。また、接続が確立された後、最初の数パケットに保持されている情報は、認められた接続要求の本質を判断するために、および、ユーザの意図の本質を明確に理解するために、検査することもできる。例として、サービス不能攻撃は、２つのノード間の双方向フローの最初の５つのパケットのインタラクションを評価することによって識別することができる。本発明の上記システムが、一旦、最初のインタラクションを損傷として認識すると、該システムは、該接続を自動的に終了させる。
【００１７】
ウイルスをベースとする送信を無効にする署名またはアンチウイルス使用可能方法は、本発明の該システム内に、アンチウイルス使用可能ソフトウェアを含めることにより、完全にサポートすることができる。この追加的な特徴は、ネットワーク・アソシエーツ（Network Associates）（マカフィー・セキュリティ・プロダクツ（McAfee Security Products））やノートン・ユーティリティーズ（Norton Utilities）等のアンチウイルスソフトウェアベンダーとの直接的なパートナーシップによって利用可能となる。
【００１８】
以下の接続シナリオは、本発明によって処理される。
【００１９】
１．他のインターセプトソフトウェア使用可能デバイスに接続するインターセプトソフトウェア使用可能デバイス。
【００２０】
２．非インターセプトソフトウェア使用可能デバイスに接続するインターセプトソフトウェア使用可能デバイス。
【００２１】
３．インターセプトソフトウェア使用可能デバイスに接続する非インターセプトソフトウェア使用可能デバイス。
【００２２】
４．他の非インターセプト使用可能デバイスに接続する非インターセプトソフトウェア使用可能デバイス。
【００２３】
シナリオ１は、会社のアプリケーションホストに接続する内部デバイスとして説明することができる。発信ノードは、信頼できる企業体内にあるアプリケーションホストとの接続を要求する。接続に対する該要求は、該企業内を流れて、ファイアウォールがある場合、すでにデータセンターを保護している該企業のファイアウォールによって評価される。インターセプトソフトウェアプログラムは、接続要求を調べて、該要求を実行するデバイスが既知のノードであり、かつ認証されたユーザが、該要求されたアプリケーションを使用する許可を有することを保障する。それが一旦、クリアされると、該要求は、そのホストの宛先への経路を継続する。そして、該ホストの宛先は、発信ノードに戻って応答する。該ノードのインターセプトソフトウェアに、インターセプトソフトウェア使用可能または許可されたデバイスに実際に接続されたことを知らせるキーインジケータは、この応答の範囲内にあり、それによって、会話の継続を可能にする。
【００２４】
シナリオ２は、非インターセプトソフトウェア使用可能ホストに接続するインターセプトソフトウェア使用可能デバイスとして説明することができる。このシナリオは、内部に設けられたホスト及び遠隔ホストの両方に等しく適用される。どちらの場合においても、「ゲートキーパ」ソフトウェアプログラムがコンプライアンスを評価する。上記発信ノードの要求は、装置またはファイアウォール内での実行として実施されるゲートキーパソフトウェアプログラムによって評価され、従って選択されたホストに接続する許可が保証される。該応答は、インターセプトソフトウェア使用可能デバイスによって提供されるキーインジケータを含まない。ワークステーション内で実行する該インターセプトソフトウェアは、非インターセプトソフトウェア使用可能デバイスに接続されて、なお会話を継続していることを認識する。接続に対する各元の要求は、まず、装置または保護されたファイアウォール内での実行として実装されたゲートキーパソフトウェアによって評価されるため、許可された要求のみが、該接続を完了できる。
【００２５】
シナリオ３は、インターセプトソフトウェア使用可能デバイスに接続しようとする非インターセプトソフトウェア使用可能デバイスを説明する。また、このシナリオは、内部及び外部の両方のデバイスを扱う。まず、内部デバイスについて考察する。全ての他の内部発信要求と同様に、装置として、またはファイアウォール内での実行として実施されるゲートキーパソフトウェアは、該内部デバイスからの要求を評価する。該ゲートキーパソフトウェアは、該要求するデバイスが、既知のインターセプトソフトウェア使用可能デバイスではないことを認識し、該要求に対して除外ポリシーを適用することにより、ゲートキーパソフトウェアは、該要求を許可すべきか否かを判断する。許可した場合、ゲートキーパソフトウェアは、受信デバイスに、該要求がクリアされ、応答するように許可されたことを知らせる。該要求が、該除外ポリシーを理解できない場合には、ゲートキーパは、該要求を無効にして、該要求を終了させる。このアプローチは、非許可接続が、上記保護されたホストに達するのを防ぐ。該要求デバイスが、ネットワーク（オフネット）の外部から入ってきた場合、該ゲートキーパソフトウェアは、同様の方法で、該除外ポリシーを処理する。しかし、このシナリオは、不適切に該企業に挿入されている内部デバイスを含んで、該ゲートキーパソフトウェアまたはファイアウォールを迂回することもできる。この場合、発信デバイスは、要求によって、目的のデバイス（サーバ）に到達することとなる。しかし、インターセプトソフトウェア使用可能サーバは、該要求を終了させるか、あるいは、不適切な応答によって、該発信デバイスに戻って応答する。接続は、切断された接続の通常の処理におけるＩＰプロトコルによって終了される。
【００２６】
シナリオ４は、他の非インターセプトソフトウェア使用可能デバイスと接続する非インターセプトソフトウェア使用可能デバイスを説明する。保護された全ての内部の企業デバイスが、インターセプトソフトウェア使用可能であることを要求することにより、未知のデバイスが、信頼できる仮想ネットワークを保護する上記ゲートキーパ内のインターセプトソフトウェア検査を通過することはない。建物内で使用されるワールドワイドウェブ（ＨＴＴＰ）及びメール転送プロトコル（ＳＭＴＰ）サーバ等の「外部の」または全体的な可用性に対する要求を有する企業は、外部通信能力を有するだけの専用ドメインまたは仮想ＬＡＮ（virtual local area Network；VLAN）を備えることができる。
【００２７】
（システムアーキテクチャ）
本発明のインターセプトソリューションのシステムアーキテクチャは、次のコンポーネント、すなわち、ポータル、キーマスターソフトウェア、ゲートキーパソフトウェア及びインターセプトマネジメントコンソールを含む。図１は、本発明のシステムアーキテクチャを図で示したものである。該図は、スイッチ２０及びルータ３０を介して企業ネットワーク４０に接続されたユーザ１０、１２、１４、１６、１８を示す。企業ネットワーク４０は、デバイスとユーザとの間のネットワーク通信のための伝送制御プロトコル／インターネットプロトコル（Transmission Control Protocol/Internet Protocol；TCP/IP）を用いたワイドエリアネットワークとすることができる。企業ネットワーク４０の内部には、ルータ６０と、ファイアウォールサーバまたはゲートキーパ機器７０と、スイッチ８０と、サーバ９０、９２と、メインフレーム９４とがある。インターネットポータル５０及びインターセプトマネジメントコンソール５４も図示されており、以下に説明する。主関係データベース管理システム（Relational Database Management System；RDBMS）及びポリシーマネージャソフトウェアは、インターセプトポータル５０にインストールされている。キーマスターソフトウェアは、保護サーバ９０、メインフレーム９４及びエンドユーザワークステーション１０、１２、１４、１６及び１８にインストールされている。ゲートキーパソフトウェアは、該企業ネットワーク内の選択された信頼できる仮想ネットワーク（Trusted Virtual Network；TVN）を保護する機器として実施することができる。
【００２８】
インターセプトポータル５０は、初期のキー生成及び登録の中心点である。ユーザ１０、１２、１４、１６及び１８は、ポータル５０に認証されて、該ユーザの各ノードのための固有のソフトウェアパッケージ（例えば、キーマスターソフトウェア）を受取る。調整プロセス中に、ユーザ１０、１２、１４、１６及び１８は、ネットワーク管理者によって構成されるネットワークアクセスに用いられる単一のログインを用いて、ポータル５０によって認証される。ポータル５０は、プライマリドメインコントローラ（Primary Domain Controller；PDC）を用いてこの認証を確認し、「キーマスター」ビルドを続けるか、あるいは、該試みを終了する。ＰＤＣは、ユーザアカウント及びセキュリティ情報の読書きディクレクトリを維持する、ウィンドウズＮＴネットワーク内のサーバである。該ＰＤＣは、メンバーが該ネットワークにログインする際に、ユーザ名及びパスワードを認証する。該キーマスターが、一旦、ビルドされると、ポータル５０は、マネジメントコンソール５４に該追加を転送して、該追加を知らせる。そして、インターセプト管理者は、目的のインタフェースを用いて、ユーザプロファイルへの追加的な許可セットをドラッグ・アンド・ドロップする。該ユーザプロファイルが、一旦、更新されると、ユーザ１０、１２、１４、１６及び１８は、全ての認可されたリソースへアクセス可能となる。
【００２９】
キーマスター及びゲートキーパは、現行のファイアウォール７０や１０、１２、１４、１６及び１８等のエンドノードに簡単に付加することができるソフトウェアモジュールである。該ファイアウォールまたは機器７０内で、ゲートキーパソフトウェアは、接続に対する最初の要求を制御することにより、好ましくないアクセスに対する個々のセッション層保護を実行できる。ノードキーマスターソフトウェアは、各ユーザ１０、１２、１４、１６及び１８及びデバイスのための固有識別子を与え、それによって、ゲートキーパの、誰がサービスを要求しているか、および何のサービスが要求されているかの完全な認識を可能にする。
【００３０】
上記インターセプトソフトウェア（キーマスター及びゲートキーパ）は、好ましくないユーザ及び許可されていない要求が接続されることを防ぐことにより、リソースを悪用する能力を防ぐ。該インターセプトソフトウェアは、現在のフローを終了させるのではなく、接続全体を防ぐ。好ましくない接続が継続的に要求されている間、インターセプトソフトウェアは、該要求を集合エリアへ転送し、そこでは、セキュリティ要員が、該接続を「バックスルー（back-through）」して、該侵入者を突きとめることができる。該侵入者には、突き止められていることは分からず、従って、回避手段は、該侵入者によって攻撃されることはない。
【００３１】
（変換プロセス／再構成プロセス）
インターセプトフレームワークの２つの重要な要素は、変換のプロセス及び再構成のプロセスである。変換は、誰がユーザであるか、該ユーザが、使用されているシステムを利用し、かつ継続中の接続のアクティブセッションを使用することを試みていることを記述する隠れユーザ識別子（User IDentifiers；UID）及びシステム識別子（System  IDentifiers；SID）の値及びアライメントを個別に変えるプロセスである。再構成は、該変換された識別子を逆にして、各識別子の真の値を生成するプロセスである。そして、それらの「真の」識別子は、アクセスポリシー及び使用性ポリシーを守らせるのに用いられる。変換の目的は、使用可能な識別子の変換がオープンネットワークに及ぶのを防ぐメカニズムを提供することである。該識別子が転送される前に、上記インターセプトソフトウェア及びＴＣＰ／ＩＰスタックによって用いられる識別子を変換することにより、潜在的な侵入者は、実際に処理されていることではなく、通信していることを理解するのみである。
【００３２】
変換は、各識別子の元の値を変える特定の方法で、キーを適用することによりなされる。これらの変化は、該元の値及び該ビットの順序付けに影響を及ぼす。変換キーは、各々が２５６の固有キーを含む２つのキーテーブルから任意に選択される。該２つのテーブルは、それぞれ、汎用キー索引（General Key Index；GKI）及びセッションキー索引（Session Key Index；SKI）と呼ぶ。各キーは、その値を示す関連付けられたキー索引番号を有する。キー索引は、新たな接続要求があるたびに、上記キーマスターソフトウェアによって任意に選択される。
【００３３】
上記ＧＫＩテーブルは、識別子の値を変えるのに用いられる２５６のキーを保持している。例として、１２３４５６７８９０の「実際の」値を有するＵＩＤを考えると、ＧＫＩキー索引番号が、任意に選択され（１５７）、関連するキーが、該ＧＫＩテーブルから抽出される。一旦、このキーを用いて変換されると、該ＵＩＤ識別子の値は、ここで、５６７２３４８９０１に変わる（すなわち、変換される）。そして、該ＧＫＩ索引番号は、該変換されたＵＩＤに添付されて、５６７２３４８９０１１５７が生成される。
【００３４】
次に、キー索引は、ＳＫＩテーブルから選択される（例えば、７８）。該ＳＫＩテーブルは、接続が生きている間に、各識別子のビットを再順序付けするのに用いられる２５６のキーを保持している。上記の結果として生じた番号５６７２３４８９０１１５７を例として挙げると、該ＳＫＩキーが適用されて、該番号を２３１９０５７５４７１８６に変換する。そして、この結果として生じた番号は、ＴＣＰ／ＩＰ同期（SYNchronization；SYN）パケットヘッダ内の変換された初期シーケンス番号（Initial Sequence   Number；ISN）として用いられる。
【００３５】
上述したように、インターセプトキーマスターソフトウェアは、使用されているシステム（ＳＩＤ）も識別する。上記の実施例を続けると、算出されたＳＩＤは、６７８９０１２３４５である。該変換されたＵＩＤ番号を再順序付けするのに用いられる該ＳＫＩ索引番号が添付されて、６７８９０１２３４５７８が生成される。そして、この番号は、第３のキーを用いて再順序付けされて、上記ＳＹＮパケットヘッダに含まれる最終的な肯定応答（ACKnowledgment；ACK）番号３０７２８１５８４６９７が生成される。
【００３６】
上記ゲートキーパ機器（ソフトウェア）が上記ＳＹＮパケットを阻止し、かつそのヘッダ情報を解析した場合、該ＳＹＮ番号及びＡＣＫ番号が抽出される。該ソフトウェアは、上記第３のキーを用いて該ＡＣＫ番号を再構成して、該ＳＩＤ及びＳＫＩを生成する。該ＳＫＩは、抽出されて該ＩＳＮを再構成するのに用いられ、変換されたＵＩＤ及びＧＫＩが生成される。該ＧＫＩは、該ＵＩＤを再構成するのに用いられて、実際のＵＩＤが生成される。
【００３７】
一旦、上記ＳＹＮパケットが、その宛先に到達すると、上記ＴＣＰ／ＩＰスタックプログラムは、通常、該ＳＹＮパケットを解析すること及び処理することを始める。しかし、該プログラムが、ＴＣＰヘッダデータを確認するプロセスを始める前に、該プログラムは、上記第３のキーを用いて上記ＡＣＫ番号を再構成して、該ＳＩＤ及びＳＫＩを生成する。該プログラムは、該ＳＫＩを蓄積し、該ＳＫＩを用いて、該接続の持続期間中に入ってくる全てのパケット及び出ていく全てのパケットを変換／再構成する。
【００３８】
（キーテーブル）
上述したように、２つの性質が異なるキーテーブルまたは配列（ＧＫＩ、ＳＫＩ）がある。各テーブルは、２５６の１２８ビットキーと、各々に対する索引（ポインタ）を含む。それらのテーブルは、２つの方法のうちの１つで管理されかつ更新される。最初に、両テーブルには、通信ネットワーク内での実施の前に、２５６全てのキーがあらかじめ含まれている。その後、それらのテーブル内に保持されたキーは、キー発生器によって生成される新たなキー値を自動的に再び含むことができる。この自動テーブル機能は、該ネットワークの所有者の要求に基づいてスケジュールすることができ、かつ該ネットワークのインターセプトソフトウェア管理者によって実行することができる。
【００３９】
インターセプトソフトウェアインタフェース及び管理コンソールプログラムの一部として、上記管理者は、選択可能な機能（「キーテーブルメンテナンス」）オプションを用いることができる。このオプションは、上記テーブルをスケジュールして更新し、ゲートキーパ機器及びキーマスター使用可能ユーザを更新するのに必要なレプリケーションサービスを実行する。
【００４０】
上記のインターセプト方式は、ＴＣＰ、ＵＤＰ（User Datagram Protocol）等の通信プロトコルの通常の動作態様を利用する。コネクション型トランスポートプロトコル及びコネクションレス型トランスポートプロトコルの簡単な説明を、次の項に記載する。
【００４１】
（コネクション型プロトコル）
ＴＣＰ／ＩＰ、ＩＰＸ／ＳＰＸ（Internetwork Packet Exchange/Sequenced Packet Ｅｘｃｈａｎｇｅ）等のコネクション型プロトコルは、接続を確立するための初期接続手順イベントに依存する。ＴＣＰホスト間の接続確立は、３方向ハンドシェーク（three-way handshake）メカニズムを用いて実行される。３方向ハンドシェークは、両側が、初期シーケンス番号に同意できるようにすることにより、接続の両端を同期させる。このメカニズムは、データを送信する準備ができ、かつ他方側も送信する準備ができていることを分かっていることを保障する。このことは、パケットが、セッション確立中に、またはセッション終了後に送信されない、あるいは再送信されないようにするために必要である。各ホストは、送信されている及び受信されているストリーム内のバイトを追跡するのに用いられるシーケンス番号を任意に選択する。第１のホスト（ホストＡ）は、接続要求を示す初期シーケンス番号（Initial Sequence Number；ISN）及びＳＹＮビットセットを有するパケットを送信することにより、接続を開始する。第２のホスト（ホストＢ）は、該ＳＹＮを受信し、該シーケンス番号を記録し、（ＡＣＫ＝ＩＳＮＡ＋１内で）該ＳＹＮに応答することにより返す。該第２のホストは、それ自体の初期シーケンス番号（ＩＳＮＢ）を含む。ＡＣＫ＝２０は、該ホストがバイト０〜１９をすでに受信し、かつ次のバイト２０を求めていることを意味する。この方法は、フォワード肯定応答と呼ばれている。次に、該第１のホストは、該第２のホストが、該第１のホストが受信するのを求めている次のバイトが、ＡＣＫ＝ＩＳＮＢ＋１であることを示すフォワード肯定応答によってすでに送信している全てのバイトに応答する。次いで、データ転送を始めることができる。要求しているユーザに関する情報を調べることにより、上記インターセプト方式は、各要求者が、接続が完了する前に、許可可能な接続を要求していることを保障する。加えて、該インターセプト方式は、該要求者の意図を識別し、彼が「通常の」または「容認できる」サービスを求めていることを保障する。
【００４２】
ＴＣＰパケットのフィールド及び全体のフォーマットを図２Ａに示す。ソースポートフィールド及び宛先ポートフィールドは、上位層ソース及び宛先プロセスがＴＣＰサービスを受けるポイントを特定する。シーケンス番号フィールドは、通常、現在のメッセージのデータの最初のバイトに割当てられた番号を指定する。接続確立段階において、このフィールドは、これからの送信に使用される初期シーケンス番号を識別するのにも用いられる。肯定応答番号フィールドは、パケットの送信者が受信するのを求めているデータの次のバイトのシーケンス番号を含む。データオフセットフィールドは、ＴＣＰヘッダにおける３２ビットワードの数を表わす。フラグフィールドは、接続確立に使用されるＳＹＮ及びＡＣＫビット、及び接続終了に使用されるＦＩＮビットを含む様々な制御情報を収容する。ウィンドウフィールドは、送信者の受信ウィンドウのサイズを指定する。これは、入ってくるデータのために使用可能なバッファスペースを表わす。チェックサムフィールドは、ヘッダがデータ送信中に損傷したか否かを表わす。
【００４３】
（コネクションレス型プロトコル）
ＵＤＰ、マルチキャスト及びその他プロトコルは、接続を確立するハンドシェーク法を利用しない。ＵＤＰは、インターネットプロトコルファミリーに属するコネクションレス型トランスポート層プロトコルである。ＵＤＰは、基本的には、ＩＰと上位層プロセスとの間のインタフェースである。ＵＤＰプロトコルポートは、それぞれ単一のデバイス上で実行する多数のアプリケーションを識別する。より高い層のプロトコルが、エラー及びフロー制御を実行できる場合のような、ＴＣＰの信頼性メカニズムが必要でない状況において有用である。ＵＤＰは、ネットワークファイルシステム（Network File System；NFS）、簡易ネットワーク管理プロトコル（Simple Network Management Protocol；SNMP）、ドメインネームシステム（Domain Name System；DNS）を含むいくつかの周知のアプリケーション層プロトコルのためのトランスポートプロトコルである。ＵＤＰパケットフォーマットは、図２Ｂに示す４つのフィールドを含む。該４つのフィールドは、ソース及び宛先ポート、長さ及びチェックサムフィールドを含む。放送型フローは、単方向様式で作動し、それに伴って、上記インターセプト方式は、コネクションレス型プロトコルを用いた識別子とは異なる固有識別子を設けるが、それでもなお、放送ストリームをプールし、かつ該ストリームの初期パケットを確認することにより、好ましくないフローを防ぐ。
【００４４】
ハードウェア及びユーザセッションセキュリティを可能にする２つのレベルのデバイス認証及び識別がある。第一に、特定のデバイスに関する情報は、キーマスターソフトウェアに維持される。この情報は、該ハードウェアの説明を維持し、該デバイスが使用されるたびに確認される。この情報を、該キーマスターソフトウェア内に配置することにより、該ソフトウェア自体は、コピーすることができず、かつ他のデバイスに配置することができない。認証が成功しない場合、ネットワーク接続性は許可されない。第二に、固有識別子は、該デバイスが、ユーザによって使用されるたびに生成される。この情報は、個別に送信されて、通常のパケット構造の一部となる。全ての固有識別子及び他の固有データポイントは、一緒に計算されて、該要求の初期シーケンス番号（ＩＳＮ）を構成する。通信するホストは、接続初期設定中に、ＩＳＮを交換する。各ホストは、２つのカウンタ、すなわち、シーケンス及び肯定応答を設定する。ユーザを識別する固有キーは、該ＩＳＮ内に保持されており、許可を与えるのに用いられる。通常のプロトコルオペランドを用いて、認証された識別子を保持することにより、パケット構造に対する変更は必要なく、従って、侵入者は、非インターセプトソフトウェア使用可能パケットと、インターセプトソフトウェア使用可能パケットの違いに気付かないこととなる。単に、該インターセプトソフトウェアがどのように作動するかの完全な知識を有することにより、ＩＳＮ計算に用いられる全てのデータポイントの識別及び使用する正確な数式は、ほぼ確実な侵害になる可能性がある。
【００４５】
この初期パケットは、固有識別子と共に、通常、その宛先に流されるが、該宛先に向かう途中に、該パケットは、ゲートキーパ使用可能機器またはファイアウォールによってピックアップされる。該ゲートキーパソフトウェアは、特に、同期（ＳＹＮ）パケットを阻止し、該ＩＳＮに対して逆のアルゴリズムを実行し、暗号化された識別子を、完全ユーザ名（ＦＱＵＮ）に関連付ける。アプリケーション識別子及び宛先識別子も識別される。そして、該ソフトウェアは、可用性ルールをそれらの識別子に適用して、該ＳＹＮをその宛先へ転送するか、あるいは、該要求を拒否してドロップする。該ＳＹＮフラグは、ＴＣＰ接続を確立する場合にのみ設定される。
【００４６】
上記インターセプトシステムソフトウェアの２つの主要なコンポーネントは、インターセプトソフトウェア使用可能ファイアウォールまたは機器（ゲートキーパ）と、インターセプトソフトウェア使用可能ノード（キーマスター）である。
【００４７】
キーマスターモジュールは、図１に示すユーザワークステーション１０、１２、１４、１６、１８や、サーバ９０、メインフレーム９４等のネットワークリソースに付加することができるソフトウェアコンポーネントである。ゲートキーパモジュールは、現行のファイアウォールデバイスに付加することができる、あるいは、図１に示す独立型機器７０として作動することができるソフトウェアコンポーネントである。ソフトウェアソリューションとして、投資及び現行のファイアウォールの配置を推進することができる。
【００４８】
図３は、キーマスター及びゲートキーパインターセプトソフトウェアの主要な機能の高レベルビューを示す。プロセスブロック２００及び２１０は、ネットワーク接続の発信ノードにおいて、該キーマスターソフトウェアによって実行される機能を表わす。プロセスブロック２２０、２３０及び２４０は、ネットワーク宛先が指定された阻止されたパケットに対して、該ゲートキーパソフトウェアによって実行される機能を表わす。プロセスブロック２５０、２６０及び２７０は、ネットワーク接続の受信端（宛先ノード）において実行されるキーマスターソフトウェアの機能を表わす。プロセスブロック２００に示すように、発信局（ソースノード）は、ネットワークサービスを要求する。キーマスターソフトウェアは、全ての使用可能なノード、ワークステーション、サーバ及び中間デバイスにロードされて実行される。該キーマスターソフトウェアは、認証の第１のレベル及びインターセプト使用可能パケットの構造に対して責任を負う。プロトコルの技術者を強化すると、該キーマスターソフトウェアは、ハードウェア及びユーザの両方の識別及び確認の方法を実行できる。これは、プロセスブロック２１０に示されており、該ブロックは、システム識別（System IDentification；SID）を認証する機能、ＳＹＮパケットを構成して送信する機能、セッションＧＫＩ／ＳＫＩを使用する機能を表わしている。
【００４９】
一実施形態における上記ゲートキーパは、保護された信頼できる仮想ネットワーク（ＴＶＮ）に関連する全てのパケットフローを阻止するインライン機器である。ＴＶＮに流される、あるいはＴＶＮから流される各パケットは、実時間で検査される。初期のＳＹＮパケットのみが処理され、他の全ては、さらなる遅延を伴うことなく解放される。プロセスブロック２３０において、ＧＫＩ／ＳＫＩが抽出され、ＡＣＫ及びＩＳＮが認証され、ポリシー許可がチェックされる。ＳＹＮパケットは、既知のハードウェア及び既知のユーザが、使用を許可されているシステム及び機器からサービスを要求していることを保障するために調査される。インターセプトＳＹＮパケットに保持された情報を用いて、プロファイルが該要求と比較される。それらの個々のプロファイルを参照することにより、接続要求を許可するかまたは許可しないかの判断を行うことができる。該パケットは、プロセスブロック２４０に示すように、解放またはドロップされる。
【００５０】
接続の受信端において、該受信ノードは、該ＳＹＮパケットを受け入れて、インターセプト、すなわち受信プロセスを開始する。このことは、プロセス２５０に、該ＳＹＮを、その宛先ノードに到達させている状態で示されている。パケット種別（ＳＹＮ）の識別後、ＡＣＫフィールドが評価されて、該パケットをさらに処理するかの判断がなされる。プロセスブロック２６０に示すように、ＳＫＩが抽出されて、ＳＹＮ／ＡＣＫを構成するのに用いられる。認証及び確認は、ＩＳＮ及びＡＣＫデータを抽出して転送し、該データを上位層スタックプロセスに流すことにより実行される。宛先ノードは、プロセスブロック２７０において、ＳＹＮ／ＡＣＫを発信ノードに送信する。上記キーマスターソフトウェアは、ＦＩＮ／ＡＣＫプロセスが、該発信ノード及び宛先ノードの両方に会話の終了を知らせるまで、該接続の残り時間の全てを会話モードに切り替える。
【００５１】
ＳＹＮが、一旦、インターセプト方式で保護されたホストによって受信されると、該ホストは、その通常の方法で応答する。しかし、プロトコルオペランドは、もう一度変更される。この変更は、宛先デバイスが、どのように該ＩＳＮに応答するかに注力される。上記インターセプト方式は、標準的なＩＳＮ＋１ではなく、インターセプト使用可能変換アルゴリズムを用いて、該フローの順序付けを変更する。接続要求が、非インターセプト方式使用可能デバイスから発信されている場合、プロトコル初期接続手順の通常のルールは、該接続を終了させ、それによって侵入を防ぐ。
【００５２】
上記ゲートキーパソフトウェアは、以下のコンポーネントを含む。
【００５３】
・パケット取込み器（grabber）
・プロトコルファクトリ
・パケット構文解析系（parser）
・トランスフォーマー
・イベントブローカ
・リダイレクタ（Re-director）
・データストア
・メッセージブローカ
上記パケット取込み器は、任意の所与の接続要求においてもＳＹＮパケットのみを選択することに責任を負う。該パケット取込み器は、ＳＹＮパケットを識別して、それらをさらなる処理のためのプロトコルファクトリへ送る。ＳＹＮパケットのみが取り込まれる。
【００５４】
上記プロトコルファクトリは、プロトコルを識別して、パケット構文解析機能のための適切な構文解析系を呼び出す。
【００５５】
上記パケット構文解析系は、該ＳＹＮパケットに関する特定のヘッダ及びフレーム情報を選択する。そして、該構文解析系は、参照機能を実行し、上記トランスフォーマーを呼び出すことにより、許可及びキー識別を確認する。該パケット構文解析系は、該接続を可能にする、該接続要求を終了させる、あるいは、該要求をインターセプトシステムコンソールに転送する判断を行う。該パケット構文解析系は、上記データストアを判断サポートツールとして用いる。
【００５６】
上記トランスフォーマーは、固有キーデータを含む変換された識別子を逆計算する。このキーデータは、要求を行うユーザを識別する。上記パケット構文解析系が決行／中止の判断を実行できるように、このデータにルールが適用される。
【００５７】
上記イベントブローカは、上記パケット構文解析系により指示されたような動作を実行し、接続を可能にするか、該接続要求をドロップするか、またはリダイレクションを要求する。また、該イベントブローカは、要求及びそれらの動作を記録する。
【００５８】
上記リダイレクタは、上記イベントブローカからデータを受取り、該データを規定の多数の場所へ向ける。上記データストアは、キー識別子及び許可を維持するのに用いられる。該データストアは、上記メッセージブローカによって自動的に更新される。
【００５９】
該メッセージブローカは、全ての既知のインターセプトソフトウェア使用可能機器またはファイアウォールが現時点の最新の情報を採り入れたポリシーデータを有するように、変更されたデータの同期レプリケーションを提供する。
【００６０】
キーマスターソフトウェアは、単なるデバイスドライバソフトウェアである。該ソフトウェアは、固有ＳＹＮシーケンス番号及び肯定応答（ＡＣＫ）番号の生成及び解釈を制御する技法を変更する。該ソフトウェアは、ディジタルキー及び固定数式を用いて、固有の３２ビットシーケンス番号及びＡＣＫ番号を生成する。該シーケンス番号には、アクティブセッションのための識別子及びユーザＩＤが保持されている。肯定応答番号には、ハードウェアの識別子及び変換キーが保持されている。インターセプトソフトウェアは、固有番号を生成するが、該番号は、該番号のプロトコル使用に関するインターネット技術標準化委員会（Internet Engineering Task Force；IETF）のＲＦＣ（Request For Comments）規格に準拠する。従って、通常のインフラストラクチャ動作及びパケットの受け渡しに対する変更は必要ない。
【００６１】
新たなインターセプトシステム使用可能ユーザを調整するために、ユーザは、インターセプトシステムデータストアを追加し、かつ生成された固有キーマスター（ＳＩＤ）を有することが必要である。該キーマスターソフトウェアは、該ＳＩＤの一部として埋め込まれた元の媒体アクセス制御ハードウェア（Media Access Control hardware；MAC）アドレスを用い、要求しているワークステーションの現在のＭＡＣアドレスが、登録されたアドレスと同じか否かを判断する。該ＳＩＤは、ユーザのワークステーションのＭＡＣアドレスに、（ミリ秒で測定された）該加算の実際のタイムスタンプを加えることにより生成される。
【００６２】
この比較は、未知のデバイスが、配線クロゼット等の信頼できる場所に接続されることを防ぐ。加えて、この比較は、上記キーマスターＳＩＤの違法なコピーが、好ましくないシステムにインストールされるのを防ぐ。ＭＡＣアドレス比較が失敗した場合、キーマスターソフトウェアは、管理者にその旨知らせて、接続性を許可しない。
【００６３】
ユーザのワークステーションが使用可能になった場合、彼は、アプリケーションリソースを使用することができる。該ユーザが、接続のための要求を生成した場合、上記キーマスターソフトウェアは、すでに変換されて任意に選択されたＧＫＩが加えられたＵＩＤの２４ビットＣＲＣを含む固有ＳＹＮ／ＩＳＮを生成する。該ＵＩＤは、ドメイン名を加えた完全ユーザ名（Fully Qualified User   Name；FQUN）である。これは、該ユーザＩＤ名（例えば、ｄｓｈａｙ）及び認証されたドメイン名をとって、２４ビットの数値を計算することによって算出される。ＣＲＣは、該ＵＩＤをとって、通常の巡回冗長検査（Cyclic Redundancy Check；CRC）を演算する。
【００６４】
そして、それらの数字は、固有ＳＹＮ／ＩＳＮを生成する変換アルゴリズムを用いて結合され算出される。また、キーマスターソフトウェアは、アクティブなネットワークインタフェースカードのＭＡＣアドレス及び格納されたタイムスタンプをとって、２４ビットのＣＲＣ数値を生成することにより、固有ＳＩＤを算出する。そして、任意に選択されたＳＫＩが、この２４ビットの数字に結合されて、結果として生じる３２ビットの数字が変換されて、ＡＣＫ番号が生成される。固有に生成されたシーケンス番号及びＡＣＫ番号は、３２ビット長であるため、該番号は、ＴＣＰ／ＩＰプロトコルを管理するＲＦＣによって指定されたどの必要条件も変更しない。
【００６５】
そして、完全なＳＹＮパケットは、通常は、ネットワークを介して流され、その宛先へ向けられる。しかし、該パケットがその宛先アドレスに到達する前に、該パケットは、上記ゲートキーパソフトウェアによってピックアップされる。これは、ＡＣＫ番号を評価することによって始まる。該ＡＣＫ番号が、ゼロ値を含む場合、該要求は、信頼できない要求として認識されて、除外ポリシーによって処理される。該除外ポリシーは、信頼できない要求ソースのためにあらかじめ存在したポリシーを確認するために適用される。該除外要求が許可された場合、ゲートキーパは、使用可能な受信デバイスによって理解される固有の識別可能なＡＣＫ番号を割当て、除外ポリシーがない場合には、該要求はドロップされる。該要求が、除外として識別されない場合（ゼロでないＡＣＫ番号）、該要求は、使用可能要求として処理される。通常の使用可能ＳＹＮパケットとして、ゲートキーパは、受信したＡＣＫ番号を再構成してＳＩＤ及びＳＫＩを生成する。そして、該ＳＫＩは、ＩＳＮを再構成するのに用いられ、変換されたＵＩＤ及びＧＫＩを生成する。そして、該ＧＫＩは、ＵＩＤを再構成するのに用いられて、実際のＵＩＤが生成される。次いで、該プロセスを続けて、ゲートキーパは、該ＵＩＤを確認し、適用するポリシーのレベルを選択する。該ＵＩＤに対して他のポリシーが定義されていない場合、該パケットは解放される。しかし、ポリシーの追加的なレベルが定義されている場合、ゲートキーパは、各ポリシーコンポーネントを確認する。それらのポリシーコンポーネントは、ＳＩＤを確認することにより、ハードウェアデバイスの認証を、宛先ポート識別子を確認することによりアプリケーション認証を、あるいは、全てのコンポーネントを含むどのような組み合わせも含むことができる。
【００６６】
この情報の組み合わせから、以下のこと、すなわち、
・既知のデバイスから来るインターセプトシステム使用可能要求パケット、
・接続に対する要求を行うユーザの識別、及び
・該ユーザが行きたいところ（宛先）及び該ユーザがしたいこと（リソース）
が分かる。
【００６７】
許可のセット（すなわち、ポリシー）は、各個別のユーザに対して評価することができる。ユーザ「ｄｓｈａｙ」が、彼の通常のドメインに対して認証された場合、上記インターセプトシステムは、上記データストア内のユーザを認識することができ、彼を、彼の制限内で作業できるようにする。該ユーザ（ｄｓｈａｙ）が、他の誰かのワークステーションを使用する必要がある場合には、彼は、やはり、インターセプトシステム使用可能ノードを探す必要がある。さらに、該ユーザは、やはり、彼の通常のドメインを認証しなければならず、ＰＤＣまたは該インターセプトシステムのいずれかによって認識される。上述したように、ＰＤＣは、メンバーがネットワークにログインしたときに、ユーザ名及びパスワードを認証する。メンバーは、１つのドメインにログインするだけで、該ネットワーク内の全てのリソースにアクセスできる。
【００６８】
図４は、ネットワーク接続サービスのために、エンドユーザからの要求を制御する、上記キーマスターソフトウェア内で実施される処理論理を示す。処理は論理ブロック４００で始まり、ユーザは、ネットワークサービスへの接続を要求するＴＣＰ／ＩＰオープンコールを実行する。オペレーティングシステムの観点から、サービスを要求するエンドユーザのワークステーションは、ＴＣＰサービスプログラムに、要求パケット（ＳＹＮ）をビルドするのに必要な機能をスタートさせる新たな接続要求を開くように、及び送信のためのパケットを準備するように要求する。
【００６９】
ＴＣＰプロトコルは、データを交換することができる前に、２つのデバイス間の制御された接続の確立を必要とする。ＲＦＣ７９３によって規定されているように、この接続プロセスは、該接続が、両デバイスによって共用される起点を有することができるように、要求デバイスが初期シーケンス番号（ＩＳＮ）を送信することを要する。上述したように、ＩＳＮは、スタックによって任意に生成される３２ビットの整数である。インターセプターは、それによってこの数字が生成され、かつ前に計算されたＵＩＤを保持するＩＳＮを生成する方法の制御を行う。そして、該ＵＩＤは、要求パケットが、その宛先で受信される前に、該要求を行う個々のユーザを識別するのに用いられる。
【００７０】
接続要求が処理される前に、上記キーマスターソフトウェアは、要求マシンの識別（ＳＩＤ）及びユーザアカウント識別（ＵＩＤ）を得る。すでに格納された元のタイムスタンプと共に、ネットワークインタフェースカード（Network Interface Card；ＮＩＣ）のＭＡＣアドレスを取得することにより、２４ビットの変換ＳＩＤが生成される。この処理ステップは、論理ブロック４０４によって表わされている。上記キーマスターソフトウェア内に設けられているこの機能の呼び出しは、上記オープンコールの前に実行され、それによって、該機能は、進行／停止状態を制御する。接続要求を阻止することにより、侵入者がネットワークに接続する前に、認証判断を行うことができる。
【００７１】
判断ブロック４０６において、接続を要求するマシン（すなわち、ワークステーション）が、登録プロセスまたは「調整」中に許可された同じマシンであるか否かに関する判断がなされる。計算されたＳＩＤのＭＡＣアドレス部を、該マシンの実際のＭＡＣアドレスと比較することにより、該キーマスターソフトウェアは、該マシンが、調整中に使用された同じマシンであるか否かを判断することができる。該キーマスターソフトウェアが、すでに他のマシンにコピーされている場合、あるいは、アクセス要求が、既知のネットワークインタフェースカード（ＮＩＣ）に結合されている場合には、セッション値は、格納された値とマッチせず、該要求は終了させられることとなる。判断ブロック４０６において、認証チェックが失敗した場合、該キーマスターソフトウェアは、デフォルトの使用不可能動作モードになって、保護されたシステムへのアクセスを防ぐ。また、該キーマスターソフトウェアは、セキュリティ管理者に、論理ブロック４０８に示すように、失敗した接続しようとする試みを通知する。このメッセージは、ポータルＲＤＢＭＳ内のイベントデータベースに報告されて格納される。この情報は、無許可のイベントを識別し、かつ追跡するのに用いることができる。例えば、これは、そのような無許可のアクセスの試みによって引き起こされる脅威を検知して、該脅威に対して対抗手段をとる際に、ネットワーク管理者にとって有用となる可能性がある。また、そのような無許可のアクセスの試みのレコードは、そのような無許可のアクセスの試みに関連するサイバー犯罪の調査にとって有用となる可能性がある。また、そのようなレコードは、例えば、犯罪の告発時に力となるように、横領未遂、侵入または他の犯罪の法的証拠として利用することもできる。
【００７２】
上記キーマスターソフトウェアは、変換キーからなる２つの配列を含む。各配列は、該キーの値と関連付けられている索引ポインタを有する。そのような索引ポインタは、ＧＫＩ及びＳＫＩと呼ばれる。現時点の好適な実施形態において、セッション及び汎用キーの配列は、２５６の異なるキー値と、対応する索引ＧＫＩ及びＳＫＩを含む。索引ＧＫＩ及びＳＫＩは、長さが８ビットであり、該キーは、長さが２５６ビットである。しかし、当業者は、該配列のサイズ及び該索引ＧＫＩ及びＳＫＩのビット長、及びそれらの関連するキーを、本発明の範囲を逸脱することなく、実質的にどのような使用可能な長さにも設定することができることを理解するであろう。ＵＩＤが算出された後、ＧＫＩ及びＳＫＩが、変換ステップのために選択される。この処理ステップは、論理ブロック４１０に表わされている。前に算出されたＵＩＤは、論理ブロック４１２に示すように変換される。より具体的には、（「ＣＲＣ−２４」として知られている）２４ビット巡回冗長検査等のハッシュアルゴリズムが、該ＵＩＤから２４ビットのハッシュを生成するのに用いられる。
【００７３】
論理ブロック４１４に示すように、ＧＫＩは、結果として生じた変換ＵＩＤに付加される。論理ブロック４１６においては、ＳＩＤが変換される。より具体的には、該ＳＩＤは、ＣＲＣ−２４等のハッシュアルゴリズムを受けて、その結果として生じるハッシュは、変換後のＳＩＤを構成する。選択されたＳＫＩは、論理ブロック４１８に示すように、該ＳＩＤから計算された変換ハッシュに添付される。変換されたＵＩＤ及び添付されたＧＫＩは、ステップ４２０に示すように、ＳＹＮパケットのＩＳＮフィールドに挿入される。該変換されたＳＩＤ及び添付されたＳＫＩは、ステップ４２２において、ＳＹＮパケットのＡＣＫフィールドに入れられる。それによって、該ＳＹＮパケットは、ソースノードから宛先ノードへの送信の準備ができる。
【００７４】
該ソースノードが該ＳＹＮパケットに肯定応答したときに、該ソースノードが該宛先ノードを認証できるように、該ソースノードは、ステップ４２４〜ステップ４３０を実行する。これらのステップの結果は、該ＳＹＮパケットと共に、該ソースから宛先ノードへ送信されないが、それらのステップは、該ＳＹＮパケットに肯定応答する該宛先ノードからの応答メッセージを認証できるようにする該ソースノードによって実行される。ステップ４２４において、該ソースノードは、３２ビットの変換されたＵＩＤと添付されたＧＫＩ、及び３２ビットのＳＩＤと添付されたＳＫＩを連結することによってセッション識別子を生成して、６４ビットのセッション識別子を形成する。このセッション識別子は、暗号化ルーチンを用いて該ＧＫＩにより参照されるキー値を用いて暗号化され、該暗号化ルーチンは、例えば、周知のＤＥＳ１アルゴリズムとすることができる。ステップ４２８において、上記ソースノードは、周知のＳＨＡ１処理手順等のハッシュルーチンを実行して、１９２ビットの結果を生成する。この１９２ビットの下位の６４ビットは、後の検索のために格納され、かつ上記宛先ノードからの応答メッセージの同じフィールドと比較される。ステップ４３２において、該ソースノードは、該ソースノードからのＳＹＮパケットを該宛先ノードを送信して、該宛先ノードとの通信を開始する。
【００７５】
上記ゲートキーパソフトウェアによって実行される認証プロセスに関連する処理論理を図５に示す。図１に示すように、ゲートキーパ７０は、インラインのアクティブデバイスである。該デバイスは、典型的なファイアウォールと同様のサービスを実行する。該デバイスは、ネットワーク回路上を双方向で流れる全てのパケットを受取り、各パケットを調査し、さらなる処理のために特定のパケットのみを選択し、他の全てのパケットを解放する。該ゲートキーパソフトウェアのための処理論理は、図５に示されている多数の処理ブロックに記述されている。それらのプロセスブロックは、乱雑なパケットの収集、プロトコル識別及びパケット識別、構文解析及びフェッチング、変換／再変換、認証確認、接続動作及び通知を含む。乱雑モードで実行する場合、保護された回路に送信される全てのパケットは、入力バッファに捕獲されて、該バッファ内に配置される。プロトコル識別は、該パケット内のＩＰヘッダデータを評価することによって実行される。該プロトコル種別コードが、一旦、ＴＣＰと識別されると、該パケットヘッダは、再び、アクティブＳＹＮフラグのために評価される。該パケットがＳＹＮパケットである場合、該パケットは、さらに処理される。該パケットがＳＹＮパケットではない場合には、該パケットは、直ちに解放されて、その宛先へ送信される。
【００７６】
処理は、論理ブロック５００において、ノードからパケットフローを受信するステップで始まる。ステップ５０２において、受信したパケットが構文解析される。判断ブロック５０４においては、該パケットがＴＣＰパケットであるか否かを判断するために、テストが行われる。次いで、該パケットがＴＣＰパケットである場合には、判断ブロック５０６において、該パケットがＳＹＮパケットであるか否かを判断するために、テストが行われる。該パケットがＳＹＮパケットではない場合には、該パケットは、ステップ５０８に示すように解放される。該パケットが、ＳＹＮフラグセットを有するＴＣＰパケットであると、一旦宣言されると、ＡＣＫフィールドが確認される。判断ブロック５１２において、該ＡＣＫフィールドが、ゼロより大きな値を有する場合、該ＡＣＫの値及び抽出されたＳＩＤ／ＳＫＩは、論理ブロック５１６に示すように再構成される。該ＡＣＫフィールドが、ゼロの値を有する場合には、論理ブロック５１４に示すように、除外ルーチンが実行される。パフォーマンス除外ルーチンに関連するさらなる詳細を図６に示す。論理ブロック５１６における再構成プロセスに続いて、ＩＳＮが再構成される。再構成されたＩＳＮは、論理ブロック５１８に示すように、変換されたＵＩＤ及びＧＫＩを明らかにする。その結果として生じるＵＩＤは、論理ブロック５２４において確認される。これが、悪い索引番号であると分かった場合、接続要求はドロップされる。そして、該結果として生じるＵＩＤは、既知の全てのユーザプロファイルを含むデータストア内でサーチされる。判断ブロック５２６では、該ＵＩＤが見つかったか否かを判断するためのテストが行われる。該ＵＩＤが見つかった場合、該ＵＩＤは、次の処理ブロック、すなわち、さらなる認証のための論理ブロック５３２へ流される。該結果として生じるＵＩＤが見つからない場合（判断ブロック５２６）、該接続要求はドロップされ（論理ブロック５２８）、ブロック５３０に示すように、メッセージが管理者へ送られる。
【００７７】
上記ＵＩＤが見つかった後（判断ブロック５２６からのＹＥＳ経路）、論理ブロック５３２において、ＵＩＤプロセスポリシーが検査される。この検査は、上記ゲートキーパソフトウェアに、このユーザに対する実際のポリシーのレベルを知らせる。該プロセスは、ポリシーの５つのレベルのフラグを立てて、各ユーザに適用する。それらのポリシーは、ユーザ（Ｕ）の検査、ハードウェア（Ｈ）、要求されたアプリケーション（Ａ）、要求された宛先（Ｄ）及びポリシー全くなし（Ｎ）を設定する。判断ブロック５３４においては、ユーザのために定義されたハードウェアまたは要求アプリケーションポリシーがあるか否かを判断するために、テストが行われる。ハードウェアポリシーが定義されている場合には、論理ブロック５３６に示すように、ＳＩＤが確認される。該ＳＩＤは、要求を行うソースノードを識別する。判断ブロック５３８においては、該ＳＩＤが見つかっているか否かを判断するために、テストが実行される。該ＳＩＤが見つかっていない場合には、該要求はドロップされ（論理ブロック５４０）、ブロック５４２において、メッセージが管理者へ送られる。判断ブロック５３８におけるテストが通ると、該パケットは、論理ブロック５４６に示すように、該宛先に解放される。判断ブロック５３４において、アプリケーションポリシーが定義され、宛先ポートが確認される（論理ブロック５４８）。判断ブロック５５０においては、ユーザが、要求されたアプリケーションにアクセスするのを許可するか否かを判断するために、テストが行われる。該ユーザがそのように許可された場合には、該パケットは、論理ブロック５６０に示すように、宛先へ解放される。そうでない場合には、該要求がドロップされ（論理ブロック５２８）、論理ブロック５３０に示すように、メッセージが管理者へ送られる。ハードウェアポリシーも要求されたアプリケーションポリシーもユーザに対して定義されない場合には、判断ブロック５４４において、要求された宛先ポリシーがあるか、または、ユーザに対して、全くポリシーが定義されていないかを判断するために、テストが行われる。要求された宛先ポリシーが定義されている場合、論理ブロック５５２において、宛先ポートが確認される。宛先ポートがユーザに対してアクセス可能な場合、論理ブロック５６０に示すように、該パケットは、該宛先へ解放される。判断ブロック５５４において、該宛先ポートがユーザに対して使用可能でない場合、該要求はドロップされ（論理ブロック５５６）、ブロック５５８に示すように、メッセージが管理者へ送られる。
【００７８】
図６は、「除外実行」プロセスに関連する処理論理を示す。ＡＣＫフィールドに保持されている値がゼロである場合、上記ゲートキーパソフトウェアは、該パケットが、信頼できないソースから発信されていることを識別する。除外ルーチンは、選択された信頼できないソースアクセスを示す要求のため実行される。発信ソースアドレスは、確認ソースアドレス論理ブロック６００において、ＩＰ層から抽出される。そして、抽出されたソースアドレスは、判断ブロック６０２に示すように、除外テーブルによって確認される。このテストが失敗した場合、該接続要求はドロップされ（論理ブロック６０４）、論理ブロック６０６において、メッセージが管理者へ送られる。該抽出されたソースアドレスが、判断ブロック６０２において、アドレスでないと確認された場合には、要求された宛先は、該ＩＰ層の宛先アドレスを抽出することによって確認される。このことは、論理ブロック６０８に示されている。そして、該抽出された宛先アドレスは、判断ブロック６１０において、除外テーブルによって確認される。該テストが失敗した場合、該要求は、論理ブロック６０４においてドロップされる。該抽出された宛先アドレスが、判断ブロック６１０において確認された場合、該パケットは、ＴＣＰ層から宛先ポート番号を抽出し、論理ブロック６１２において、アプリケーション要求を確認することにより、さらにテストされる。次いで、該宛先ポート番号は、判断ブロック６１４に示すように、該除外テーブルで確認される。該テストが失敗した場合、該要求は、論理ブロック６０４においてドロップされる。判断ブロック６１４において、該テストが通った場合、該要求は、送信の準備に入る。この変換は、論理ブロック６１６において、固有初期ＡＣＫ番号（Initial ACK Number；IACK）の生成を伴って発生する。この固有番号は、宛先ノードにおいて、上記キーマスターソフトウェアにより、認識されゲートキーパ誘導番号として認証されることになる。次に、論理ブロック６１８に示すように、ＳＫＩが選択される。次いで、該選択されたＳＫＩは、論理ブロック６２０において、ＩＡＣＫに付加される。その結果として生じる番号は、論理ブロック６２２において変換されて、論理ブロック６２４において、ＡＣＫとして格納される。論理ブロック６２６において、ＳＹＮパケットが、最終的に再組み立てされて、ＣＨＥＣＫＳＵＭが再計算される。そして、該ＳＹＮパケットは、論理ブロック６２８に示すように解放される。
【００７９】
図７は、ゲートキーパ機器７０からパケットを受信した後の、宛先ノードからの呼設定及び応答に関連する処理論理を示す。処理は、判断ブロック７００において、入ってくるパケットがＳＹＮパケットであるか否かを判断するテストを伴って、始まる。該入ってくるパケットは、設定されるＳＹＮフラグのために検査され、テストされる。該ＳＹＮフラグを該パケットに設定する場合、設定処理が必要となる。該ＳＹＮフラグが設定されない場合には、該パケットは、ＳＹＮパケットではなく、該パケットは、確立された接続に関連していると考えられ、別の方法で処理される（図８参照）。該ＳＹＮフラグが設定されると、判断ブロック７０２において、ＡＣＫフィールドがゼロに等しいか否かを判断するために、テストが実行される。このテストは、接続を確立する信頼できないノードから保護する。該ＡＣＫフィールドがゼロである場合、該パケットは、論理ブロック７０４においてドロップされ、ブロック７０６において、メッセージが管理者へ送られる。該ＡＣＫフィールドがゼロでない場合には、さらなる接続設定処理が実行される。該ＡＣＫは、論理ブロック７０８において、静的ルーチンを用いて再構成され、ＳＩＤは、該再構成されたＡＣＫ番号から抽出される。該ＳＩＤは、ステップ７１２において、該ＳＩＤが、該パケットが除外であり、かつ通常の方法で処理すべきではないことを示す特別な値を有するか否かを判断するために評価される。該ＡＣＫが除外でない場合、ステップ７１４において、通常の処理が進み、該ＳＫＩは、該ＡＣＫフィールドから抽出され、ステップ７１６において、バッファに格納される。ステップ７１８において、ＩＳＮが再構成されて、変換されたＵＩＤ及びＧＫＩが復元されて、該ＩＳＮは、ステップ７２０において、該バッファに格納される。ステップ７２０に続いて、処理は、ステップ７２２に進み、ここで、該ＡＣＫフィールドがゼロにされる。別法として、ステップ７１２の判断が、該ＡＣＫフィールドが、該パケットが除外であることを示していることが確立している場合、ステップ７２４において、宛先ノードは、ステップ７２４における全ての変換プロセスを止めて、ステップ７２２に進み、そこで、ＳＹＮパケットのＡＣＫフィールドがゼロにされる。ステップ７２６において、該ＡＣＫは、記憶装置に格納される。ステップ７２８において、該パケットの通常のＴＣＰ／ＩＰスタックプロセスが、該宛先ノードによって実行されて、通信を開始するソースノードに宛先が決められた肯定応答メッセージが生成される。ステップ７３０において、該宛先ノードは、出力パケットに対して、セッション変換ルーチンを実施する。図７のステップ７３０は、図４のステップ４２４〜ステップ４３０と同じ処理を含み、応答パケットの対応するフィールドのための新たなＩＳＮ及びＡＣＫ値を生成する。これらの新たな値は、ハッカーの一般的な方法である、接続が設定されている場合の該接続のハイジャックを有効に防ぐ。ステップ７３２において、宛先ノードは、ｔｃｐ＿ｓｅｎｄ（）機能を実行することにより、応答パケットをソースノードに送信する。
【００８０】
図８は、接続が確立された後に実行される非ＳＹＮパケット処理フローを示す。ステップ８００において、パケットを受信するノードは、該パケットが、確立された接続に関連しているか否かを判断する。該ノードは、ＩＳＮ及びＡＣＫフィールドの値を、該ノードにおいて、セッションのためにすでに格納されている対応する値と比較することにより、この事を判断することができる。それらの値が一致した場合、該パケット通信は、現在の接続と関連している。逆に、それらの値が一致しない場合、該パケットは、現在のどの接続とも関連しておらず、該パケットは、ステップ８０２においてドロップされる。該パケットが、現在の接続と関連していない場合、ステップ８０４において、該パケットは、セッション変換を用いて再構成される。ステップ８０６において、シーケンス番号が、該パケットから抽出されて格納され、ステップ８０８において、肯定応答番号が該パケットから抽出されて格納される。ステップ８１０において、該ノードは、該パケットの通常のＴＣＰ／ＩＰスタック処理を実行する。ステップ８１２において、該ノードは、ＧＫＩ及びＳＫＩによって表わされるセッションキーを用いて、通常のスタック処理から生じたシーケンス番号及びＡＣＫ番号を変換する。応答パケットは、該スタックによって、送信バッファに入力され、変換されたシーケンス及びＡＣＫ値を有する応答パケットが、ステップ８１４において、反対側のノードに送信される。
【００８１】
本発明は、ハードウェア、ソフトウェア、または、ハードウェアとソフトウェアの組み合わせで実現することができる。どのような種類のコンピュータシステム、あるいは、本明細書に記載した上記方法を実行するのに適合した他の装置も適している。ハードウェアとソフトウェアの典型的な組み合わせは、ロードされ、実行されたときに、該コンピュータシステムが、本明細書に記載した上記方法を実行するように該コンピュータシステムを制御するコンピュータプログラムを有する汎用コンピュータシステムとすることができる。また、本発明の技術は、コンピュータプログラムプロダクトに組み込むこともでき、該コンピュータプログラムプロダクトは、本明細書に記載した該方法の実施を可能にする特徴の一部または全てを備え、かつコンピュータシステムにロードされた場合、それらの方法を実行することができる。
【００８２】
本文脈におけるコンピュータプログラムとは、情報処理能力を有するシステムに、直接、または、次のこと、すなわち、ａ）別の言語、コードまたは表記法への変換、ｂ）異なるマテリアル形式での再生のいずれかまたは両方が発生した後に、特定の機能を実行させようとする命令のセットの、いずれかの言語、コードまたは表記法での任意の表現を意味する。また、コンピュータプログラムは、半導体チップまたはカード、ネットワーク機器、ルータ、スイッチ、サーバ、ファイアウォール、及びネットワークコンピュータ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ及びハンドヘルドデバイス等の顧客のデバイスを含む電子デバイスに組み込まれたハードワイヤード命令を含む。具体的には、プロトコルまたはパケットレベルで実行される多数の機能は、特定用途向けＩＣ（Application Specific Integrated Circuits；ASIC）に組み込むことができる。このような機能は、パケットの構文解析またはルーティングを含むことができる。また、本発明は、リナックスオペレーティングシステム及びシリコンベースのデータストレージを有するシングルボードコンピュータ（ＳＢＣ）に組み込むこともできる。多数のボードを（ルータ筐体内のルータブレードと同様の）「ブレード」として、筐体内にスロット状に設けて、多数のゲートキーパ機器を形成することができる。
【００８３】
本発明が、ネットワークセキュリティの文脈を越えた用途を有することを理解すべきである。例えば、ユーザおよび／またはソース識別子をパケットヘッダに含めることができるということが、該パケットヘッダ内で識別されるユーザおよび／またはソースに基づく、受信ノードによるパケット通信のルーティング及びスイッチングを可能にする。このようなルーティングおよび／またはスイッチングは、パケット通信において一般的である、宛先によるルーティングに加えることができ、または、該宛先によるルーティングの代わりとすることができる。従って、パケットヘッダに、ユーザおよび／またはソース識別子を含むという能力が、開示した発明の用途及び使用を大幅に広げていることを理解すべきである。
【００８４】
どの特許請求の範囲のどのミーンプラスファンクション要素の対応する構造、材料、動作及び均等物も、具体的に請求したような他の特許請求の範囲要素と共に、該機能を実行するどのような構造、材料または動作も含むことを意図している。
【００８５】
本発明を、その好適な実施形態に関して詳しく示しかつ記載してきたが、当業者は、本発明の趣旨及び範囲を逸脱することなく、形態及び細部の様々な他の変形が可能であることを理解するであろう。
【００８６】
（産業上の利用可能性）
上記開示した装置及びシステムは、コンピュータ、ネットワークセキュリティ、パケット通信、プライバシ（例えば、消費者、従業員、または患者のプライバシ）に関連する産業を含む多くの産業、及びその他多くの産業において、幅広い産業上の利用可能性を有する。
【図面の簡単な説明】
【００８７】
【図１】例示的な実施形態に係る本発明の実施のためのシステムアーキテクチャを示す。
【図２Ａ】ＴＣＰパケットのフィールド及び全体のフォーマットを示す。
【図２Ｂ】ＵＤＰパケットのフィールド及びフォーマットを示す。
【図３】本発明の例示的な実施形態に係るキーマスター及びゲートキーパインターセプトソフトウェアのためのプロセスフローにおける主要な機能の高レベルビューを示す。
【図４】本発明の例示的な実施形態に係るネットワーク接続サービスの要求に関連する処理論理を示す。
【図５】本発明の例示的な実施形態に係る通信ネットワークへの侵入を防ぐゲートキーパ認証プロセスに関連する処理論理を示す。
【図６】本発明の例示的な実施形態に係る「実効除外」に関連する処理論理を示す。
【図７】本発明の例示的な実施形態に係る宛先における呼設定及び応答に関連する処理論理を示す。
【図８】本発明の例示的な実施形態に係る、２つのノード間に接続が確立された後のパケットフローに関連する処理論理を示す。
【図１】
2006510328.tif 000003
2006510328.tif 000004
【図２Ｂ】
2006510328.tif 000005
【図３】
2006510328.tif 000006
【図４】
2006510328.tif 000007
【図５】
2006510328.tif 000008
【図６】
2006510328.tif 000009
【図７】
2006510328.tif 000010
【図８】
2006510328.tif 000011
【手続補正書】
【提出日】平成17年8月8日(2005.8.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザ識別子及びソース識別子に基づくデータを備えるヘッダを含む伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットを生成する第１のノード（１０、１２、１４、１５、１８）と、
前記ＴＣＰ／ＩＰパケットを受信し、前記パケットヘッダの前記ユーザ識別子及びソース識別子のために定義された許可ポリシーに基づいて、前記ＴＣＰ／ＩＰパケットを宛先に解放すべきか否かを判断する第２のノード（７０）と、
前記第２のノードが、前記パケットを第３のノードに解放した場合に、前記ＴＣＰ／ＩＰパケットを受信して処理する第３のノード（９０、９２、９４）とによって特徴付けられるシステム。
【請求項２】
前記パケットが、ＴＣＰ／ＩＰで定義された同期（ＳＹＮ）パケットである、請求項１に記載のシステム。
【請求項３】
前記第１、第２及び第３のノードのうちの少なくとも１つが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡまたは他のコンピューティングデバイスを含む、請求項１に記載のシステム。
【請求項４】
前記第１のノードと前記第２のノードが、インターネットを介して接続されている、請求項１に記載のシステム。
【請求項５】
前記第２のノードと前記第３のノードが、インターネットを介して接続されている、請求項１に記載のシステム。
【請求項６】
前記ユーザ識別子が、前記ＴＣＰ／ＩＰパケットを発信するノードのユーザのユーザ名に基づいている、請求項１に記載のシステム。
【請求項７】
前記ソース識別子が、前記ＴＣＰ／ＩＰパケットを発信するノードの媒体アクセス制御（ＭＡＣ）アドレスに基づいている、請求項１に記載のシステム。
【請求項８】
前記許可ポリシーが、さらに、前記ＴＣＰ／ＩＰパケットの宛先によって表わされるリソースに基づいて定義されている、請求項１に記載のシステム。
【請求項９】
前記リソースがアプリケーションである、請求項１に記載のシステム。
【請求項１０】
前記許可ポリシーが、さらに、前記ＴＣＰ／ＩＰパケットの宛先に基づいて定義されている、請求項１に記載のシステム。
【請求項１１】
前記第２のノードは、前記ＴＣＰ／ＩＰパケットがドロップされた場合、前記失敗したアクセスの試みのレコードを生成する、請求項１に記載のシステム。
【請求項１２】
前記第２のノードは、前記ＴＣＰ／ＩＰパケットがドロップされた場合、管理者に前記失敗したアクセスの試みを通知する、請求項１に記載のシステム。
【請求項１３】
伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットのヘッダ内のユーザ識別子及びソース識別子のうちの少なくとも一方に基づくデータを含むノード（１０、１２、１４、１６、１８）によって特徴付けられる装置。
【請求項１４】
前記ユーザ識別子を識別するデータが、前記ＴＣＰ／ＩＰパケットのシーケンス番号フィールドに含まれている、請求項１３に記載の装置。
【請求項１５】
前記ソース識別子を識別するデータが、前記ＴＣＰ／ＩＰパケットの肯定応答フィールドに含まれている、請求項１３に記載の装置。
【請求項１６】
前記肯定応答フィールド内のデータが、ゼロでない値を有する、請求項１３に記載の装置。
【請求項１７】
前記ノードが、前記ユーザ識別子及びソース識別子の少なくとも一方を変換して、前記ＴＣＰ／ＩＰパケットのヘッダに含めるためのデータを生成する、請求項１３に記載の装置。
【請求項１８】
前記ノードが、巡回冗長検査（ＣＲＣ）アルゴリズムを用いて、前記ユーザ識別子及びソース識別子の少なくとも一方を変換する、請求項１７に記載の装置。
【請求項１９】
前記変換されたユーザ識別子を表わすデータが、前記ＴＣＰ／ＩＰパケットのシーケンス番号フィールドに含まれている、請求項１７に記載の装置。
【請求項２０】
前記ノードが、第１のキー索引を前記変換されたユーザ識別子に添付して、前記ＴＣＰ／ＩＰパケットのシーケンス番号フィールドに含めるためのデータを生成する、請求項１９に記載の装置。
【請求項２１】
前記変換されたソース識別子を表わすデータが、前記ＴＣＰ／ＩＰパケットの肯定応答フィールドに含まれている、請求項２０に記載の装置。
【請求項２２】
前記ノードが、第２のキー索引を前記変換されたソース識別子に添付して、前記ＴＣＰ／ＩＰパケットの肯定応答フィールドに含めるためのデータを形成する、請求項２１に記載の装置。
【請求項２３】
前記肯定応答フィールドに含まれているデータが、ゼロでない値を有する、請求項２２に記載の装置。
【請求項２４】
前記ノードが、キー索引を前記変換されたソース識別子に添付して、前記ＴＣＰ／ＩＰパケットの肯定応答フィールドに含めるためのデータを生成する、請求項１７に記載の装置。
【請求項２５】
前記ユーザ識別子及びソース識別子の少なくとも一方が、前記ＴＣＰ／ＩＰパケットのヘッダの肯定応答フィールドに含まれているゼロでない値を有する、請求項１３に記載の装置。
【請求項２６】
前記ユーザ識別子は、前記ソースノードから宛先ノードへ前記ＴＣＰ／ＩＰパケットを送信することにより、ネットワークを介して前記宛先ノードと通信を始めるソースノードに関連するユーザを表わす、請求項１３に記載の装置。
【請求項２７】
前記ユーザ識別子が、前記ユーザのユーザ名を含む、請求項２６に記載の装置。
【請求項２８】
前記ソース識別子によって識別されるノードは、前記ソースノードから前記宛先ノードへ前記ＴＣＰ／ＩＰパケットを送信することにより、ネットワークを介して前記宛先ノードと通信を始めるソースノードである、請求項１３に記載の装置。
【請求項２９】
前記ソース識別子が、前記ソースノードの媒体アクセス制御（ＭＡＣ）アドレスに基づいている、請求項２８に記載の装置。
【請求項３０】
前記ソースノードが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ、または他のコンピューティングデバイスを含む、請求項２８に記載の装置。
【請求項３１】
前記ＴＣＰ／ＩＰパケットが、ＴＣＰ／ＩＰで、ソースノードと宛先ノードの間の通信を始めるのに用いられる同期（ＳＹＮ）パケットである、請求項１３に記載の装置。
【請求項３２】
ユーザ識別子を変換し、第１のキー索引を前記ユーザ識別子に添付し、前記変換されたユーザ識別子と、添付された第１のキー索引とを、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットのヘッダの第１のフィールドに含めるノード（１０、１２、１４、１６、１８）によって特徴付けられる装置。
【請求項３３】
前記ユーザ識別子が、前記ＴＣＰ／ＩＰパケットを用いて、別のノードとの通信を始めるノードのユーザのユーザ名を含む、請求項３２に記載の装置。
【請求項３４】
前記ユーザ名が巡回冗長検査（ＣＲＣ）アルゴリズムを受けて、変換されたユーザ識別子が生成される、請求項３２に記載の装置。
【請求項３５】
前記ノードが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ、または他のコンピューティングデバイスを含む、請求項３２に記載の装置。
【請求項３６】
前記パケットが同期（ＳＹＮ）パケットである、請求項３２に記載の装置。
【請求項３７】
前記第１のフィールドが、シーケンス番号フィールドを含む、請求項３２に記載の装置。
【請求項３８】
前記ノードがさらに、ソース識別子を変換し、第２のキー索引を前記ソース識別子に添付し、前記変換されたソース識別子及び添付された第２のキー索引を、前記パケットヘッダの第２のフィールドに含める、請求項３２に記載の装置。
【請求項３９】
前記ソース識別子は、前記ＴＣＰ／ＩＰパケットを用いて別のノードとの通信を開始するノードを識別する、請求項３８に記載の装置。
【請求項４０】
前記ソース識別子は、媒体アクセス制御（ＭＡＣ）アドレスである、請求項３８に記載の装置。
【請求項４１】
前記ノードが、デスクトップコンピュータ、ラップトップコンピュータ、ＰＤＡ、または他のコンピューティングデバイスのうちの少なくとも１つを含む、請求項３８に記載の装置。
【請求項４２】
前記ソース識別子が巡回冗長検査（ＣＲＣ）アルゴリズムを受けて、変換されたソース識別子が生成される、請求項３８に記載の装置。
【請求項４３】
前記パケットが同期（ＳＹＮ）パケットである、請求項３８に記載の装置。
【請求項４４】
前記第２のフィールドが、肯定応答フィールドを含む、請求項３８に記載の装置。
【請求項４５】
前記ノードは、前記変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって識別された第１のキーを用いて、前記セッション識別子を暗号化し、前記暗号化されたセッション識別子に基づいてハッシュを生成し、前記ハッシュの少なくとも一部を格納する、請求項３８に記載の装置。
【請求項４６】
前記ノードは、そこで変換が実行される前記ソースノードから宛先ノードへ、前記変換されたユーザ識別子及びソース識別子を含む前記パケットを送信する、請求項４５に記載の装置。
【請求項４７】
前記ノードは、前記送信されたＴＣＰ／ＩＰパケットに応答して、前記宛先ノードから肯定応答ＴＣＰ／ＩＰパケットを受取る、請求項４６に記載の装置。
【請求項４８】
前記ノードは、前記肯定応答ＴＣＰ／ＩＰパケットの少なくとも１つのフィールドからデータを抽出し、前記肯定応答ＴＣＰ／ＩＰパケットからのデータを前記ハッシュと比較し、前記抽出したデータとハッシュが一致しない場合に、前記肯定応答ＴＣＰ／ＩＰパケットをドロップさせ、前記抽出したデータとハッシュが一致した場合に、前記肯定応答ＴＣＰ／ＩＰパケットの処理を続行する、請求項４５に記載の装置。
【請求項４９】
前記ノードは、そこで変換が実行される前記ソースノードから宛先ノードへ、前記変換されたユーザ識別子及びソース識別子を表わすデータを含む前記ＴＣＰ／ＩＰパケットを送信する、請求項３２に記載の装置。
【請求項５０】
前記ノードは、前記送信されたＴＣＰ／ＩＰパケットに応答して、前記宛先ノードから肯定応答ＴＣＰ／ＩＰパケットを受取る、請求項４９に記載の装置。
【請求項５１】
前記ＴＣＰ／ＩＰパケットが、ＴＣＰ／ＩＰで、ソースノードと宛先ノードの間の通信を始めるのに用いられる同期（ＳＹＮ）パケットである、請求項３２に記載の装置。
【請求項５２】
変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引を有するヘッダを備えた伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットを生成し、前記変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって識別された第１のキーを用いて、前記セッション識別子を暗号化し、前記セッション識別子に基づいてハッシュを生成し、前記ハッシュの少なくとも１部を格納するノード（１０、１２、１４、１６、１８）によって特徴付けられる装置。
【請求項５３】
前記ノードはさらに、そこで変換が実行される前記ソースノードから宛先ノードへ、前記変換されたユーザ識別子及びソース識別子を含む前記ＴＣＰ／ＩＰパケットを送信する、請求項５２に記載の装置。
【請求項５４】
前記ノードはさらに、前記送信されたＴＣＰ／ＩＰパケットに応答して、前記宛先ノードから肯定応答パケットを受取る、請求項５３に記載の装置。
【請求項５５】
前記ノードはさらに、前記ＴＣＰ／ＩＰパケットからデータを抽出し、前記パケットからのデータを前記ハッシュと比較し、前記抽出したデータとハッシュが一致しない場合に、前記ＴＣＰ／ＩＰパケットをドロップさせ、前記抽出したデータとハッシュが一致した場合に、前記ＴＣＰ／ＩＰパケットの処理を続行する、請求項５２に記載の装置。
【請求項５６】
前記パケットが、ＴＣＰ／ＩＰで、ソースノードと宛先ノードの間の通信を始めるのに用いられる同期（ＳＹＮ）パケットである、請求項５２に記載の装置。
【請求項５７】
伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットのヘッダからのユーザ識別子及びソース識別子のうちの少なくとも一方に基づいてデータを抽出するノード（７０）によって特徴付けられる装置。
【請求項５８】
前記ＴＣＰ／ＩＰパケットが同期（ＳＹＮ）パケットである、請求項５７に記載の装置。
【請求項５９】
前記ユーザ識別子が、前記ＴＣＰ／ＩＰパケットを発信するユーザのユーザ名から得られる、請求項５７に記載の装置。
【請求項６０】
前記ソース識別子が、前記ＴＣＰ／ＩＰパケットを発信するノードと関連付けられた媒体アクセス制御（ＭＡＣ）アドレスから得られる、請求項５７に記載の装置。
【請求項６１】
前記データが、変換されたユーザ識別子を含む、請求項５７に記載の装置。
【請求項６２】
前記変換されたユーザ識別子が、巡回冗長検査（ＣＲＣ）アルゴリズムを用いて生成される、請求項６１に記載の装置。
【請求項６３】
前記データが、変換されたソース識別子を含む、請求項５７に記載の装置。
【請求項６４】
前記変換されたソース識別子が巡回冗長検査（ＣＲＣ）アルゴリズムを用いて生成される、請求項６３に記載の装置。
【請求項６５】
前記ＴＣＰ／ＩＰパケットから抽出されたデータが、キーを識別する少なくとも１つのキー索引を含む、請求項５７に記載の装置。
【請求項６６】
変換されたユーザ識別子、第１のキー索引、変換されたソース識別子及び前記ＴＣＰ／ＩＰパケットのヘッダ内の第２のキー索引を有する伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットを受取り、前記ＴＣＰ／ＩＰパケットから変換されたユーザ識別子、第１のキー索引、変換されたソース識別子及び第２のキー索引を抽出し、前記変換されたユーザ識別子、第１のキー索引、変換されたセッション識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって識別された第１のキーを用いて、前記セッション識別子を暗号化し、前記セッション識別子に基づいてハッシュを生成するノード（７０）によって特徴付けられる装置。
【請求項６７】
前記ＴＣＰ／ＩＰパケットが、第１のノードから発信し、かつ第２のノードで受信される同期（ＳＹＮ）パケットであり、前記ノードがさらに、前記第２のノードから前記第１のノードへの送信のための応答ＴＣＰ／ＩＰパケットに含めるために、前記ハッシュの少なくとも一部を含む、請求項６６に記載の装置。
【請求項６８】
前記ハッシュの一部が、前記ハッシュの下位の６４ビットを含む、請求項６６に記載の装置。
【請求項６９】
前記ユーザ識別子が、巡回冗長検査（ＣＲＣ）アルゴリズムを用いて変換される、請求項６６に記載の装置。
【請求項７０】
前記暗号化が、ＤＥＳアルゴリズムを用いて実行される、請求項６６に記載の装置。
【請求項７１】
前記ハッシュが、ＳＨＡ−１アルゴリズムを用いて生成される、請求項６６に記載の装置。
【請求項７２】
伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）パケットを受取り、前記ＴＣＰ／ＩＰパケットのヘッダからユーザ識別子及びソース識別子を抽出し、前記ユーザ識別子及びソース識別子に基づいて許可ポリシーをチェックして、前記ユーザ及びソースを許可して、前記ＴＣＰ／ＩＰパケットが示す宛先へ流すか否かを判断し、前記チェックが、前記ＴＣＰ／ＩＰパケットが前記ポリシーによって許可されて、その宛先へ流されることを示している場合、前記ＴＣＰ／ＩＰパケットを解放し、前記許可ポリシーが、前記ＴＣＰ／ＩＰパケットが、その宛先へ流されるのを許可されていないことを示す場合、前記ＴＣＰ／ＩＰパケットをドロップさせるノード（７０）によって特徴付けられる装置。
【請求項７３】
前記パケットが同期（ＳＹＮ）パケットである、請求項７２に記載のノード。
【請求項７４】
前記ユーザ識別子が、前記パケットを発信するノードのユーザのユーザ名に基づいている、請求項７２に記載のノード。
【請求項７５】
前記ソース識別子が、前記パケットを発信するノードの媒体アクセス制御（ＭＡＣ）アドレスに基づいている、請求項７２に記載のノード。
【請求項７６】
前記ソース識別子許可ポリシーがさらに、前記パケットの宛先によって表わされるリソースに基づいて定義される、請求項７２に記載のノード。
【請求項７７】
前記リソースがアプリケーションである、請求項７２に記載のノード。
【請求項７８】
前記ノードは、前記パケットがドロップされた場合に、前記失敗したアクセスの試みのレコードを生成する、請求項７２に記載のノード。
【請求項７９】
前記ノードは、前記パケットがドロップされた場合に、前記失敗したアクセスの試みを管理者に通知する、請求項７２に記載のノード。
【請求項８０】
前記ノードは、変換されたユーザ識別子、第１のキー索引、変換されたソース識別子及び第２のキー索引に基づいてセッション識別子を生成し、前記第１のキー索引によって表わされる前記第１のキーを用いて、前記セッション識別子を暗号化し、前記セッション識別子に基づいてハッシュを生成し、前記ハッシュを、受信したパケットを発信するノードへの送信のための応答ＴＣＰ／ＩＰパケットに含め、前記応答ＴＣＰ／ＩＰパケットを、前記受信ＴＣＰ／ＩＰパケットを発信するノードに送信する、請求項７２に記載のノード。
【誤訳訂正書】
【提出日】平成17年8月8日(2005.8.8)
【誤訳訂正１】
【訂正対象書類名】図面
【訂正対象項目名】図１
【訂正方法】追加
【訂正の内容】
【図１】
2006510328.tif 000012
【誤訳訂正２】
【訂正対象書類名】図面
【訂正対象項目名】図２Ａ
【訂正方法】追加
【訂正の内容】
【図２Ａ】
2006510328.tif 000013
【国際調査報告】
2006510328.tif 000014
2006510328.tif 000015
2006510328.tif 000016