(57)【要約】機密のデータがホストコンピュータまたはネットワーク化された装置を出るときにはいつでも、データのセキュリティが適用されるようにホストベースのセキュリティを実行するアーキテクチャである。改良された方法およびアーキテクチャは速度、パワー消費、空間利用の理由で単一の集積回路302中に構成される。集積回路302内で、ハードウェア構成304、ネットワークプロセッサ実行306、ソフトウェア実行機能の組み合わせが与えられる。革新的なホストベースのセキュリティアーキテクチャはラインレートのＩＰＳｅｃ加速、ＴＣＰ加速、またはその両者を提供する。【選択図】図３
2005503699.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワーク化された装置と第２のネットワーク化された装置との間の通信のための終端間セキュリティを与える方法において、
第１の集積回路を前記第１のネットワーク化された装置に設け、前記第１の集積回路はＴＣＰオフロードとＩＰＳｅｃオフロードの少なくとも１つを前記第１のネットワーク化された装置の代わりに行い、
第２の集積回路を前記第２のネットワーク化された装置に設け、前記第２の集積回路はＴＣＰオフロードとＩＰＳｅｃオフロードの少なくとも１つを前記第２のネットワーク化された装置の代わりに行い、
前記第１の集積回路と前記第２の集積回路を通って前記第１のネットワーク化された装置と前記第２のネットワーク化された装置との間で前記通信をルート設定するステップを含んでおり、それによってＴＣＰ処理部分と、ＩＰＳｅｃ処理部分の少なくとも１つが前記第１のネットワーク化された装置と前記第２のネットワーク化された装置の代わりにそれぞれ前記第１の集積回路と前記第２の集積回路により行われることを可能にされている方法。
【請求項２】
前記通信は前記第１のネットワーク化された装置と前記第２のネットワーク化された装置間の長寿命の接続に関係している請求項１記載の方法。
【請求項３】
前記ＩＰＳｅｃオフロードはＩＰＳｅｃセキュリティ関連を含み、前記第１の集積回路は前記第１のネットワーク化された装置の代わりに前記ＩＰＳｅｃセキュリティ関連を実行する請求項２記載の方法。
【請求項４】
前記ＩＰＳｅｃセキュリティ関連はただ１つの暗号化／解読アルゴリズムが前記第１のネットワーク化された装置と前記第２のネットワーク化された装置との間の前記通信に関連するパケットで必要とされるように限定されている請求項３記載の方法。
【請求項５】
前記通信はブロック記憶に関係している請求項４記載の方法。
【請求項６】
前記ＩＰＳｅｃセキュリティ関連はただ１つの認証アルゴリズムが前記第１のネットワーク化された装置と前記第２のネットワーク化された装置との間の前記通信に関連するパケットで必要とされるように限定されている請求項３記載の方法。
【請求項７】
前記ＩＰＳｅｃセキュリティ関連はただ１つのカプセル化アルゴリズムが前記第１のネットワーク化された装置と前記第２のネットワーク化された装置との間の前記通信に関連するパケットで必要とされるように限定されている請求項３記載の方法。
【請求項８】
前記集積回路は少なくとも１つの埋設されたプロセッサと、少なくとも１つのネットワークプロトコルプロセッサと、ハードウェア論理回路を具備している請求項２記載の方法。
【請求項９】
前記ネットワークプロトコルプロセッサは前記第１のネットワーク化された装置の代わりに、ＥＳＰカプセル化と、ＥＳＰカプセル化解除と、セキュリティ関連ルックアップとの少なくとも１つを実行するように構成されている請求項８記載の方法。
【請求項１０】
前記第１の集積回路はｉＳＣＳＩコマンドパッケージを実行する請求項１記載の方法。
【請求項１１】
前記第１の集積回路は前記第１のネットワーク化された装置の代わりにＴＣＰカプセル化を実行する請求項１記載の方法。
【請求項１２】
前記第１の集積回路と前記２の集積回路を通る前記通信はインラインである請求項１記載の方法。
【請求項１３】
前記第１の集積回路から前記２の集積回路への通信のための終端間セキュリティを行い、前記第１のネットワーク化された装置の代わりにＴＣＰオフロードとＩＰＳｅｃオフロードを行う集積回路において、
第１のＴＣＰ加速タスクと第１のセキュリティタスクのうちの１つを行うハードウェア論理部分と、
前記ハードウェア論理部分と前記ネットワークプロトコルプロセッサを通るインラインパスに沿って前記通信が横断することを可能にするために前記ハードウェア論理部分へ結合され動作し、第２のＴＣＰ加速タスクと第２のセキュリティタスクとを行うネットワークプロトコルプロセッサと、
前記ハードウェア論理部分と、前記ネットワークプロトコルプロセッサと、埋設されたプロセッサとを通るインラインパスに沿って前記通信が横断することを可能にするために前記プロトコルプロセッサへ結合されて動作し、インターネットキー交換（ＩＫＥ）機能を行うように構成されている埋設されたプロセッサとを具備している集積回路。
【請求項１４】
終端間セキュリティパラダイムを使用して、コンピュータネットワークで他のネットワーク化装置と通信するように構成されているネットワーク化された装置において、
中央プロセッサと、
前記プロセッサを結合されているバスと、
前記バスに結合され、前記ネットワーク化された装置の代わりに、ＴＣＰオフロードとＩＰＳｅｃオフロードを行う集積回路を含んでいるネットワークインターフェースカードとを具備し、前記集積回路は、
第１のＴＣＰ加速タスクと第１のセキュリティタスクのうちの１つを行うハードウェア論理部分と、
前記ハードウェア論理部分と前記ネットワークプロトコルプロセッサを通るインラインパスに沿って前記ネットワーク化された装置と前記他のネットワーク化された装置との間で横断する通信を可能にするために前記ハードウェア論理部分へ結合されて動作し、第２のＴＣＰ加速タスクと第２のセキュリティタスクを行うネットワークプロトコルプロセッサと、
前記ハードウェア論理部分と、前記ネットワークプロトコルプロセッサと、埋設されたプロセッサとを通るインラインパスに沿って前記通信が横断することを可能にするために前記プロトコルプロセッサへ結合されて動作し、インターネットキー交換（ＩＫＥ）機能を行うように構成されている埋設されたプロセッサとを含んでいるネットワーク化された装置。
【請求項１５】
第１のネットワーク化された装置と、コンピュータネットワークにより第１のネットワーク化された装置に結合された他のネットワーク化された装置との間の通信のためにＴＣＰオフロードとＩＰＳｅｃオフロードとを行う回路において、
前記ＴＣＰオフロードと前記ＩＰＳｅｃオフロードは前記ネットワーク化された装置の中央プロセッサの代わりに前記回路により実行されることを特徴とする回路。
【請求項１６】
さらに、前記第１のネットワーク化された装置のバスと結合するためのインターフェースを具備している請求項１５記載の回路。
【請求項１７】
さらに、前記第１のネットワーク化された装置のバスと結合されるように構成されたネットワークインターフェースカードのバスと結合するためのインターフェースを具備している請求項１５記載の回路。
【請求項１８】
２つのネットワークノード間のデータ通信を行い、前記２つのネットワークノードの第１のネットワークノードに関連されるように構成され、データ通信中に前記２つのネットワークノード間のデータ通信パスに配置されている集積回路において、
前記第１のネットワークノードから前記２つのネットワークノードの１つである第２のネットワークノードへ送信されるパケットに対して第１の複数のＴＣＰ加速機能を実行し、前記パケットの第１の複数のセキュリティ機能を実行する埋設されたプロセッサと、
前記パケットに対して２の複数の前記ＴＣＰ加速機能を実行し、前記パケットに対して前記第２の複数の前記セキュリティ機能を実行し、前記第２の複数の前記ＴＣＰ加速機能は前記第１の複数の前記ＴＣＰ加速機能と異なっており、前記第２の複数の前記セキュリティ機能は前記第１の複数の前記セキュリティ機能と異なっている少なくとも１つのネットワークプロセッサと、
前記パケットに対して第３の複数の前記ＴＣＰ加速機能を実行し、前記パケットに対して前記第３の複数の前記セキュリティ機能を実行し、前記第３の複数の前記ＴＣＰ加速機能は前記第２の複数の前記ＴＣＰ加速機能および前記第１の複数の前記ＴＣＰ加速機能と異なっており、前記第３の複数の前記セキュリティ機能は前記第２の複数の前記セキュリティ機能および前記第１の複数の前記セキュリティ機能と異なっているハードウェア回路とを具備しており、
前記パケットは前記第１のネットワークノードから前記第２のネットワークノードへの前記データ通信期間中に、前記埋設されたプロセッサを横切り、その後前記少なくとも１つのネットワークプロセッサを通り、次に前記ハードウェア回路を実質上インラインで通過する集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信でセキュリティを実行するための装置および方法に関し、特にデータ通信応用でホストベースのセキュリティを実行するための装置および方法に関する。
【背景技術】
【０００２】
特に汎用およびインターネットにおけるデータネットワーク化の増加により、ビジネスおよび組織はそれらの通信の要求に対してコンピュータネットワークに依存することが増加している。今日では、多量のデータ、多くは重要なまたは秘密のデータが私設および公共のネットワークを横切ってコンピュータからコンピュータへ送信されることは共通のことになっている。
【０００３】
ユーザがデータ通信およびデータ記憶要求でコンピュータネットワークへの依存度が増加するほど、ネットワーク管理者はデータのセキュリティについてさらに関心が高まる。データパケットが１つのコンピュータから別のコンピュータへ送信されるとき、そのデータパケットは私設ネットワークと（インターネットなどの）公共ネットワークとの両者を横切る。ネットワークのホップ毎にデータパケットはデータパケットをその目的地の方向に対して適切な次のホップへ送るためにネットワークノード（ルータ、スイッチ、ブリッジ、ゲートアレイ等）により処理される。公共ネットワークノードとその公共ネットワークノードを相互接続する（光学的、有線または無線等の）公共ネットワーク通信媒体とは典型的に任意の１つのエンティティの制御下にはないので、データが公共ネットワークを横切るときはいつでも、固有のセキュリティの危険性が存在することが長期間にわたって認識されている。したがって、公共ネットワークにおけるデータセキュリティは長年にわたる研究および開発の焦点である。
【０００４】
説明を進めるため、図１はデータが公共ネットワークを横断するときのデータセキュリティを確実にするためのデータ通信構造を示している。図１に示されているセキュリティ構造はセキュリティが私設ネットワークの周辺またはエッジでデータに適用され、それによってデータが私設ネットワークを出て公共ネットワークに入るときにデータが許可されていないアクセスおよび／または不正行為に対して保護されることを確実にするので、永久セキュリティまたはネットワークエッジセキュリティとして知られている。
【０００５】
図１を参照すると、例示的な組織のイントラネットを表している私設ネットワーク102が示されている。私設ネットワーク102は例えば構内ネットワークまたは仮想私設ネットワーク中のコンピュータおよびワークステーションを表している複数のコンピュータ104、106、108を含んでいる。私設ネットワーク102はまた例えばメールサーバまたはデータ記憶設備を表すサーバ110も含んでいる。コンピュータ104、106、108が他のネットワークの設備をアクセスし、遠隔コンピュータが私設ネットワーク102の設備をアクセスすることを可能にするために、私設ネットワーク102に結合された仮想私設ネットワーク（ＶＰＮ）ゲートウェイ112が示されている。
【０００６】
周辺のセキュリティを実行するために、セキュリティ能力はＶＰＮゲートウェイで提供される。例えば私設ネットワーク102からのデータ通信は公共ネットワーク114に送出される前にＶＰＮゲートウェイ112で認証および／または暗号化される。類似のＶＰＮゲートウェイ132は他の私設ネットワーク134に関連するコンピュータ136のようなコンピュータ１つから送信されるデータを暗号化するために別の私設ネットワーク134と公共ネットワーク114との間で結合されて示されている。私設ネットワーク134のコンピュータ136が私設ネットワーク102のコンピュータ104と通信することを求めているならば、例えばコンピュータ136と104との間のデータ流はＶＰＮ112と132により認証される。認証が成功したならば、コンピュータ136からのデータパケットは私設ネットワーク134に関連するＶＰＮゲートウェイ132により暗号化され、コンピュータ104に送信される前に、私設ネットワーク102に関連するＶＰＮゲートウェイ112により解読されるまでこれらが公共ネットワーク114を横切るとき暗号化されたままの状態である。暗号化／解読はまたコンピュータ104からコンピュータ136へ送信されるデータパケットに対しても類似して行われる。したがって、公共ネットワーク114を横切るゲートウェイ132とゲートウェイ134間のデータ通信は秘密を保護される。
【０００７】
図１はまた例えば旅行会社の社員のラップトップコンピュータを表す遠隔コンピュータ140を示している。遠隔コンピュータ140は典型的に認証および／または暗号化／解読能力を含んでいるそれ自身のＶＰＮゲートウェイ機能が与えられている。典型的な場合には、私設ネットワーク140内で行われるための遠隔コンピュータ140からの遠隔アクセスは約５６Ｋｂｐｓのダイヤルアップ接続、約1Ｍビット／秒以下のＤＳＬ（デジタル加入者線）接続、または類似の速度のケーブルモデム接続のような比較的低速度の接続により実現される。高速度のデータ通信は問題ではないので、ＶＰＮゲートウェイ機能はハードウェア、ソフトウェア、またはその両者の組み合わせを使用して種々の通常の方法により遠隔コンピュータ140内で構成されることができる。
【０００８】
幾つかの構成では、私設ネットワーク内のある戦略的なサーバには同様にセキュリティ能力が与えられている。例えば私設ネットワーク102内のメールサーバ110には、メールサーバ110とのデータ通信が適切に暗号化され認証されることを確実にするための認証および／または暗号化／解読能力が与えられてもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
時間の経過で、周辺ベースのセキュリティ構造はセキュリティの脅威の１つの深刻な原因を解決できないことが学習されている。例えば、時間の経過で、所定の会社のネットワークで検出されたセキュリティ違反の大半は企業の私設ネットワーク自体内のユーザに追跡可能であることが学習されている。換言すると、データ通信は私設ネットワークを出ても、データが私設ネットワーク内の１つのコンピュータから同一の私設ネットワーク内の別のコンピュータへ送信されるとき、またはデータが私設ネットワークに接続されたコンピュータまたはサーバの１つに記憶されるときにデータセキュリティは妥協される大きな危険性が依然として存在する。このセキュリティの危険性の形態、即ち私設ネットワークの内部ユーザからのセキュリティリスクは周辺ベースのセキュリティ構造がネットワーク周囲を越えて送信されるデータのセキュリティだけを解決するので、周辺ベースのセキュリティ構造によっては解決されない。例えば私設ネットワーク102内等のネットワーク周辺内で、コンピュータ102とコンピュータ104との間のデータ通信は周辺ベースのセキュリティ方式では基本的に保護されない。
【００１０】
私設ネットワーク内のデータセキュリティの構造はさらに高いデータ速度に関連する技術的な問題によって複雑にされる。企業ネットワークおよび私設ネットワーク内のユーザは高速度のデータ通信を期待するように調整されている。例えば、ブロック記憶として知られている応用のクラスでは、データ記憶はネットワークのサーバを中心とし、個々のユーザのコンピュータは彼らがネットワークに接続されているときはいつでもネットワークに記憶されたデータをアクセスするためにｉＳＣＳＩ（基本的にＴＣＰにおけるＳＣＳＩ）のようなブロック記憶プロトコルを使用する。中央化されたデータ記憶はしばしば多数の利点を組織に与え、その中にはデータにおける中央化制御および管理、守るための記憶位置がほとんどないため改良されたデータセキュリティ、信頼性のある保管／消去機能をアーカイブし実行する能力などが存在する。明白に、この応用のクラスは、秘密保護接続に加えて、ユーザのコンピュータとネットワークデータ記憶設備間に非常に低い待ち時間と高い帯域幅接続を必要とする。これはデータの記憶がユーザの固有のコンピュータのハードドライブにローカルであるときに常に言えるように、データアクセスがほぼ遅延なしに行われることを期待するためにユーザが調節されているからである。ユーザのコンピュータとネットワークデータ記憶設備との間の接続が遅いならば、ユーザは単にデータ、さらに臨界的で感応するデータを彼ら固有のハードドライブに記憶する労力の少ない方法に戻るので、中央化されたデータ記憶は成功しない。
【００１１】
他方で、セキュリティ構造はセキュリティ規則の集約的数学特性および大きさのために、データ通信遅延を悪化する恐れがある。この理由で、特にブロック記憶などの帯域幅および待ち時間に敏感な応用で、内部セキュリティリスクを解決し、私設ネットワーク内で高いデータ速度の要求を満足するデータセキュリティに対する技術的に満足され、経済的な解決策は存在しない。
【課題を解決するための手段】
【００１２】
本発明は１実施形態では、機密のデータがホストコンピュータまたはネットワーク化された装置を出るときには常に、データのセキュリティが適用されるようにホストベースのセキュリティを実行するアーキテクチャに関する。さらに、本発明の１実施形態によれば、例えばｉＳＣＳＩプロトコルを使用するブロック記憶に関連するＴＣＰ加速タスクをオフロードし、および／またはホストベースのセキュリティ関連タスクをオフロードするための方法およびアーキテクチャが提供される。
【００１３】
１実施形態では、改良された方法およびアーキテクチャは速度、パワー消費、空間利用の理由で単一の集積回路で実行される。速度とフレキシブル性との両者を与えるために、ハードウェア構成、ネットワークプロセッサ構成、ソフトウェア実行機能の組み合わせが与えられる。１実施形態では、セキュリティ関連構成に関係するあるパラメータは、（１Ｇビット／秒のような）高いデータ通信速度で経済的なワイヤ速度セキュリティの実行を可能にするようにインテリジェントに限定されている。
【００１４】
１実施形態では、革新的なホストベースのセキュリティアーキテクチャはラインレートのＰＳｅｃ加速、ＴＣＰ加速、またはその両者を提供できる単一の集積回路を含んでいる。セキュリティ処理が実行されるターゲット環境は１よりも多数の形態を有することが認識されているので、ＩＫＥ機能はモジュールにされ、ホストシステム、ＩＰＳｅｃ／ＴＣＰオフロードＩＣ自体および／またはＩＰＳｅｃ／ＴＣＰオフロードＩＣの埋設されたプロセッサ部分で構成されることができる。
【００１５】
本発明のこれらおよび他の特徴を添付図面を伴って、以下の本発明の詳細な説明でさらに詳細に説明する。
【発明を実施するための最良の形態】
【００１６】
本発明を限定ではなく例示の目的で説明するが、添付図面の図では同一の参照符号は類似の素子を示している。
本発明を添付図面で示されているような、幾つかのその好ましい実施形態を参照して詳細に説明する。以下の説明では、多数の特別な詳細は本発明の理解を通して与えられるように説明されている。しかしながら、本発明はこれらの幾つかまたは全ての特別な詳細なしに実施できることが当業者には明白であろう。他の例では、よく知られた処理ステップおよび／または構造は本発明を不必要に不明瞭にしないために、詳細には説明しない。
【００１７】
私設ネットワークの内外での機密データの通信のためのデータセキュリティを充分に確実にするためここで本発明を考慮すると、データセキュリティは機密データがホストコンピュータまたはネットワーク化装置を出るときにはいつでも適用されなければならない。違った言い方をすると、機密データは周囲セキュリティ方式の場合のように私設ネットワークの周辺を出るときだけではなく、私設ネットワーク内でも秘密保護されなければならない。ホストベースのデータセキュリティとして知られているこのようなデータセキュリティ構成は、機密データを送信または受信するネットワーク中の各ホストでセキュリティ能力の提供を要求する。
【００１８】
図２は、ホストベースのセキュリティ構造の１構成を示す図である。図２を参照すると、各コンピュータ202、204、記憶装置206、遠隔コンピュータ208にはＩＰセキュリティカプセル化（ＥＳＰ）、および／またはこれらの各ネットワークノードから送信されまたはそこで受信される機密データの暗号化／解読を確認し実行するセキュリティ能力が設けられている。さらに、これらの各ネットワークノードでのセキュリティ構造は転送層セキュリティ（ＴＬＳ）をしのぐ。ＩＰ層で主に動作するＩＰＳｅｃと対照的に、転送層で動作するＴＬＳは高速度で低い待ち時間のネットワークでは適切ではないと考えられている。したがって、機密データがネットワークノードを出てネットワーク媒体（私設または公共にかかわりなく）に接触するときにはいつでも、その機密データは秘密保護にされる。私設ネットワークの周辺におけるセキュリティ実行装置としてのＶＰＮゲートウェイの役割はもはや必要ではない。
【００１９】
しかしながら、ホストベースのセキュリティ方法について挑戦が行われている。ネットワークセキュリティに精通する人によく知られているように、データ通信の認証、パケットのカプセル化、パケットの暗号化／解読に関係するタスクはかなりの計算処理を必要とする。ホストへ出力されるならば、このようなセキュリティ関連のタスクは特に１Ｇビット／秒のワイヤ速度以上のデータ通信ではホストのコンピュータ計算リソースを迅速に支配する。さらに、ネットワークが実行するネットワークベースのデータ記憶、特にブロック記憶では、ｉＳＣＳＩ関連のタスク、即ちＴＣＰパケットで転送するためのＳＣＳＩコマンドおよびデータをカプセル化し、カプセル化を解除することに関係するタスクはまたホストの多量の計算処理リソースを必要とすることが発見されている。１Ｇビット／秒以上のワイヤ速度では、典型的なホスト装置がホストの自分のＣＰＵを使用して、タイムリーな方法でＴＣＰ関連のタスクおよびセキュリティ関連のタスクの両者を処理することは実際的に不可能になる。したがって、本発明者はここで、経済的で高速度の装置がホスト装置の代わりにあるＴＣＰ関連のタスクとあるセキュリティ関連のタスクを処理するために生成されることができないならば、秘密保護ネットワークベースのデータ記憶のような応用が広く採択されることは困難であると考えている。
【００２０】
本発明の１つの特徴にしたがって、例えばｉＳＣＳＩプロトコルを使用してブロック記憶に関連するＴＣＰ加速タスクをオフロードし、ホストベースのセキュリティ関連のタスクをオフロードするための方法およびアーキテクチャが与えられている。この点では、ネットワークセキュリティの幾つかの基本的な概念を再検討することが有効である。
【００２１】
本発明の１つの応用では、インターネットプロトコルセキュリティまたはＩＰＳｅｃに準じたセキュリティ処理が行われる。ＩＰＳｅｃはこの実施形態ではインターネットエンジニアリングタスクフォース（ＩＥＴＦ）により規定されている文書およびプロトコルのファミリを指している。規定の基本的な集合は例えばRequest For Comments（RFC）文書2401乃至2412[RFC2401-RFC2412]に見られ、これらはここで参考文献とされている。例えばＲＦＣ２４０１にしたがって、ＩＰセキュリティアーキテクチャの基本コンポーネントはセキュリティプロトコル、セキュリティ関連、キー管理、認証および／または暗号化のアルゴリズムを含んでいる。
【００２２】
セキュリティプロトコルは認証ヘッダ（ＡＨ）とカプセル化セキュリティペイロード（ＥＳＰ）に関する。セキュリティ関連問題は、これらが何であり、どのように動作し、どのように管理されるかのような関連する処理を含んでいる。インターネットキー管理（ＩＫＥ）はマニュアルと自動のいずれかに特定されてもよい。本発明の説明の文脈では、ＩＰＳｅｃはセキュリティプロトコル、セキュリティ関係、キー管理を含んでいる。
【００２３】
認証および／または暗号化のための特別なアルゴリズムは特定のシステムで特定されてもよい。これらのアルゴリズムは典型的に連邦情報処理標準出版（ＦＩＰＳ  ＰＵＢＳ）で文書にされている米商務省標準技術局（ＮＩＳＴ）により作成され規定されている。
【００２４】
ＲＦＣ２４０１で説明されているように、セキュリティ処理には２つの公称上のデータベース、即ちセキュリティポリシーデータベースとセキュリティ関係データベースが関係されている。前者はホスト、セキュリティゲートウェイまたはＢＩＴＳまたはＢＩＴＷ  ＩＰＳｅｃから入来するかそこへ出力される全てのＩＰトラフィックの処置を決定するポリシーを特定する。後者のデータベースは各（アクチブ）セキュリティ関係に関連されるパラメータを含んでいる。
【００２５】
前述したように、ＴＣＰ／ＩＰイーサネットネットワークでのラインレート処理を実現するために主な障害が存在する。セキュリティ処理のＩＫＥとＩＰＳｅｃはＴＣＰ／ＩＰで必要とされるよりも大きな処理を付加する可能性がある。ラインレートが可能な秘密保護ＩＰＳｅｃネットワークの生成はソフトウェアではほぼ不可能である。特定されたハードウェアでさえも、伝統的なセキュリティポリシーは問題があり、高価である。
【００２６】
ＲＦＣ２４０１にしたがって、ＳＰＤは非ＩＰＳｅｃを含む全てのトラフィック（インバウンドおよびアウトバウンド）の処理中に検討されなければならない。（インバウンドまたはアウトバウンドトラフィックで）パケットに一致するＳＰＤにポリシーが発見されないならば、パケットは廃棄されなければならない。
【００２７】
ＳＰＤの例示的なエントリは以下のようである。
目的地ＩＰアドレス        ＊
目的地ＴＣＰポート番号    ３２６０
ソースＩＰアドレス        １０．２９．２．５
ソースＴＣＰポート番号    ＊
プロトコル                ＥＳＰ
暗号化アルゴリズム        ３ＤＥＳ−ＣＢＣ
認証アルゴリズム          ＨＭＡＣ−ＳＨＡ１
ＶＰＮゲートウェイでは、数千のこのようなエントリが存在する。さらに値はワイルドカード化され、範囲により特定され、特定されたＩＰアドレス等を含んでいる。各個々のパケットに適用するポリシーを決定するプロセスは挑戦的な問題である。“一致”を決定するために必要とされるコンピュータ処理は多数のＳＰＤエントリ比較を含んでいる。ほとんどのＶＰＮゲートウェイはこの問題に対処するための特定されたハードウェアを使用する。しかしながら、問題はほとんどの秘密保護ネットワークとして完全に解決されず、今日、ＩＰセキュリティが適用されるときそれらの潜在的なラインレートの一部で動作する。簡潔に言うと、セキュリティポリシーに関する問題は、高速度ネットワークが必要とするセキュリティでは、現在の解決策は高速でもなく、廉価でもない。これらは低速度で高価である。
【００２８】
改良された方法およびアーキテクチャは好ましくは速度、パワー消費、空間使用の理由で単一の集積回路中で実行される。これはＩＰＳｅｃに対する従来の方法と対照的であり、これは多数のアダプタにおける多数の集積回路、単一のアダプタ（ルックアサイド）における多数の集積回路、または単一のアダプタ（インライン）における多数の集積回路の使用を含んでいる。単一の集積回路方法は従来の方法の固有の設計の複雑さ、高い費用、設計の複雑さ、発熱を防止する。本発明のアーキテクチャとの組み合わせでは、単一の集積回路方法はＩＰＳｅｃ加速に対する従来技術の方法を使用して実現できない方法でラインレート処理を促進する。
【００２９】
速度とフレキシブル性との両者を提供するために、ハードウェア構成、ネットワークプロセッサ構成、ソフトウェア実行機能の組み合わせが与えられる。さらに方法およびアーキテクチャをさらに高いラインレート（例えば１０Ｇビット／秒以上）へスケール可能にするため、セキュリティカプセル化、暗号化／解読に関係するアルゴリズム等のある機能ブロックはモジュール的に規定されモジュール的に集積回路に構成され、それによってラインレートの増加と共に他の適切な機能ブロックによる迅速な置換を促す。
【００３０】
さらに、アーキテクチャは単一の集積回路がラインレートＩＰＳｅｃ加速、ＴＣＰ加速またはその両者を提供することを可能にする。集積回路は好ましくはＩＰＳｅｃとＴＣＰのオフロードを独立して処理する。１実施形態では、オフロードの順序は重要であることが認識される。例えば秘密保護接続および流れでは、ＩＰＳｅｃ関係は好ましくは最初にオフロードされ、それに続いてＴＣＰ接続のオフロードが行われる。ＴＣＰ接続のその後のオフロードは既存のＩＰＳｅｃセキュリティ関係を使用する。同様に“アンロード”接続のとき、動作は好ましくは反対の順序で行われる。即ちＴＣＰ接続はアップロードされ、その後ＩＰＳｅｃ関係がアップロードされる。
【００３１】
本発明の別の実施形態によれば、セキュリティ処理が実行されるターゲット環境は１よりも多数の形態を有することが認識される。例示的な形態は例えばホストシステムおよび、スイッチ、ルータ、および／またはゲートウェイ等の他のネットワーク装置を含んでいる。ホストシステムでは、ＩＫＥ処理をホストに委ね、ＩＰＳｅｃエンジンが集積回路中に存在することを可能にすることは有効である。他方で、ネットワーク装置では装置がＩＫＥのサポートのために必要なプロセッサを提供することは可能ではない。このためＩＫＥコンポーネントはＩＰＳｅｃ／ＴＣＰオフローディングＩＣ自体に存在し、さらに好ましくはＩＰＳｅｃ／ＴＣＰオフローディングＩＣの埋設されたプロセッサ部分に存在する。ＩＰＳｅｃ／ＴＣＰオフローディングＩＣの埋設されたプロセッサおよび他のブロックをここで以下説明する。
【００３２】
種々のオペレーティングシステム、ＯＳスタック組織、および潜在的な構造をサポートするための最大のフレキシブル性を与えるために、本発明のアーキテクチャは多機能装置のサポートを含んでいる。一般的に、オペレーティングシステム（ウィンドウズ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、ＨＰ／ＵＸ等）は典型的にＰＣＩ装置等のハードウェアアダプタを通る２つの主要なパス、即ち記憶スタックとネットワークスタックを有する。これらのスタックは独立して動作する傾向がある。提案された多機能装置は同時に装置にアクセスするために両者のオペレーティングシステムスタックに適合する。さらにまたは代わりに、多機能装置はＩＫＥとＩＰＳｅｃコンポーネントのフレキシブルな構造を可能にし、ＩＫＥ機能がターゲット環境がホストベースのとき、アウトボードで、またはホスト自体で実行されることを可能にする。
【００３３】
さらにデータ通信速度が増加すると、本発明者はここで伝統的なセキュリティポリシー構造がボトルネックからワイヤ速度のセキュリティ構造を表していると考慮する。経済的でワイヤ速度のセキュリティ構造をこれらの（１Ｇビット／秒以上として規定されている）高いデータ通信速度で実現するため、インテリジェントな方法でセキュリティ関係構造に関連するあるパラメータを限定することが重要である。そうでなければデータ通信は遅くされるか、異種であり、高価な高速度コンピュータ処理装置は伝統的で限定されていない状態のセキュリティポリシー構造を処理することに必要とされる。
【００３４】
セキュリティ関係問題をインテリジェントに限定することによって、あるとしたらごく少量の機能が妥協される。交換では、減少されたコンピュータ処理の要求は改良された方法およびアーキテクチャがさらに経済的で高いラインレートに対してスケール可能に実行されることを可能にする。これは結果的な集積回路をホストベースのセキュリティおよびネットワークベースの記憶が実行されるネットワークで使用するのに、実際的で経済的にする。
【００３５】
本発明は図面および以下の説明を参照して良好に理解されるであろう。図３は本発明の１実施形態にしたがって、高速度のＴＣＰ加速とデータセキュリティをホストベースのセキュリティ環境に設けるのに適した革新的なＴＣＰ加速およびセキュリティ（ＴＡＡＳ）集積回路を示している。本発明のＴＡＡＳは特に長寿命の接続用のセキュリティを与えるのに適切している。ここで使用される用語、長寿命の接続はデータ転送が行われなくても２つのホスト間で開いた状態のままの接続である。長寿命接続の１例はユーザコンピュータがネットワークベースのデータ記憶設備と接続しようと望むときに開かれる接続である。ユーザは常にデータを転送してはいないが、コンピュータは開いた状態である。対照的に、一時的な接続はデータ転送のバーストが完了するとすぐに、またはその直後に閉じる接続である。ブラウザは例えばサーバからユーザコンピュータへページの形態でデータを送信するために一時的な接続を使用する。
【００３６】
ＴＡＡＳ302はハードウェア回路部分（ＨＷ）304、１組のネットワークプロトコルプロセッサ（ＮＰＰ）306、１組の埋設されたプロセッサ（ＥＰ）308を含んでいる。ハードウェア部分304はある高速度のＴＣＰ加速とセキュリティ関連アスクを処理するように構成されている。他方で、ＮＰＰ306は僅かに遅い速度にもかかわらず、より大きい構造のフレキシブル性を与え、ＴＣＰ加速とセキュリティ関連タスクの異なるセットを処理するように構成されている。ＥＰ308はさらに遅い速度にもかかわらず、構造およびプログラミングでもっとも大きいフレキシブル性を与える。ＥＰ308はフレキシブル性が速度よりも重要であるＴＣＰ加速およびセキュリティ関連アスクを処理するために使用される。ＴＡＡＳ302の３つの主要な機能ブロック（即ちＨＷ304、ＮＰＰ306、ＥＰ308）間でＴＣＰ加速とセキュリティ関連タスクを分割することにより、データ送信速度と構造のフレキシブル性の両者を最適にすることが可能であり、これはＴＡＡＳが異なる速度および異なるホストで動作するように容易に向上および／または構成されることができる。
【００３７】
ハードウェア部分304は一時的なデータ記憶と命令の実行に必要なメモリ（通常ＲＡＭまたはＤＲＡＭ）に加えて、ギガビットＭＡＣエンジン（メディアアクセス制御装置）回路を含んでいる。一般的に、ハードウェア部分は多数のコンポーネント、即ち１以上の暗号化ハードウェア装置、１以上の認証ハードウェア装置、および随意選択的にＲＳＡ／ＤＨ加速装置を含んでいる。ＲＳＡ／ＤＨ加速装置は埋設されたプロセッサまたはホストでＩＫＥ処理をオフロードするために使用される。１実施形態では、ハードウェア部分はデータ流の暗号化を実行する３ＤＥＳ−ＣＢＣおよび認証を実行するＨＭＡＣ−ＳＨＡ１を含んでいるパケットのセキュリティ機能を与えるように構成されている。単一のチップ設計では、空間、複雑性、パワー要求の問題によりハードウェアアルゴリズム数を限定することが望ましい。３ＤＥＳ−ＣＢＣは３−ＤＥＳ  Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇを表し、データ流暗号化の広く知られた技術である。ＨＭＡＣ−ＳＨＡ１は広く知られたハッシュ認証技術を実行する。これらのセキュリティ機能の詳細は当業者によく知られており、ここでは簡潔性のために詳細に説明しない。
【００３８】
ＮＰＰ306はｉＳＣＳＩ関連およびＴＣＰ加速機能を含んでいる。これらのｉＳＣＳＩ関連機能はＴＣＰにわたって転送するためのＳＣＳＩコマンドおよびデータのパッケージングを処理する。ＮＰＰ306で行われるＴＣＰ加速は例えばＴＣＰカプセル化、セグメント化、混雑の制御、保証された順序付けられたパケット転送等を含んでいる。セキュリティ関連の機能に関しては、ＮＰＰ306はＩＰＳｅｃ加速、セキュリティヘッダカプセル化、セキュリティ加速／セキュリティポリシーデータベース（ＳＡ／ＳＰＤ）ルックアップを含んでいる。
【００３９】
セキュリティ関係（ＳＡ）はＩＰＳｅｃ制御ブロックをアクセスし適切なポインタを受信することを含んでいる。セキュリティポリシーデータベース（ＳＰＤ）ルックアップはアウトバウンドパケットとインバウンドパケットで異なっている。アウトバウンドパケットに対してはＳＰＤルックアップは典型的に適切なＩＰＳｅｃプロトコル制御ブロック（ＩＰＳｅｃ  ＰＣＢ）をアクセスするために（ＩＰソースアドレス、ＩＰ目的地アドレス、ＴＣＰソースアドレス、ＴＣＰ目的地アドレス等の）ＳＰＤセレクタを検索することを含んでいる。ＩＰＳｅｃ  ＰＣＢの情報に基づいて、パケットは廃棄され、通過を可能にされ、またはパケットに与えられる幾つかのセキュリティタイプを有する。ＩＰＳｅｃ  ＰＣＢの情報がセキュリティが保証されることを示すならば、正しいセキュリティ関連が出力されるパケットに対して得られるように、セキュリティ関連（ＳＡ）データベースに対するポインタが存在する。
【００４０】
インバウンドパケットは暗号化されてもよく、暗号化されなくてもよい。暗号化されたインバウンドパケットでは、ＳＰＩ（セキュリティプロトコルインデックス）はＩＰＳｅｃ  ＰＣＢを検索するために使用される。１実施形態では、ＳＰＩは応用可能なＩＰＳｅｃ  ＰＣＢに対するインデックスである。応用可能なＩＰＳｅｃ  ＰＣＢで特定されたセキュリティポリシーはその後解析され、インバウンドパケットを廃棄するためにインバウンドパケットの通過を可能にするか、またはポリシーの支配により必要とされるように任意の他のアクションを取るかを確認するためインバウンドパケットに対して比較される。暗号化されないインバウンドパケットに対しては、ＩＰ  ＰＣＢルックアップは応用可能なＩＰＳｅｃ  ＰＣＢを検索するために行われる。暗号化されたインバウンドパケットの場合のように、応用可能なＩＰＳｅｃ  ＰＣＢが一度検索されると、ここで特定されているセキュリティポリシーはその後解析され、インバウンドパケットを廃棄するためインバウンドパケットの通過を可能にするか、またはポリシーの支配により必要とされるように任意の他のアクションを取るかを確認するためインバウンドパケットに対して比較される。
【００４１】
ＮＰＰ306は基本的にネットワークプロトコル処理に良好に適した“マイクロエンジン”である。これらの多数のネットワークプロセッサのそれぞれは限定されたコードメモリと、スクラッチパッドデータメモリとを含んでいる。ＮＰＰはさらに大きい速度でパイプライン化される。１実施形態では、２Ｋ命令が各ネットワークプロセッサに与えられる。ＮＰＰにより与えられる利点は、最適にされた命令セットの使用、他のハードウェアコンポーネント（？？？？）へのフルアクセス、サイクルの効率を含んでいる。ＮＰＰ306は単一のネットワークプロトコルプロセッサと考えてもよく、または複数のネットワークプロトコルプロセッサであってもよい（与えられるＮＰＰ数は予測される特定の計算負荷、コードサイズ、所望される速度に基づいている）。当業者により認識されることができるように、これらの機能は時間にわたって認識を必要とする傾向があり、依然として汎用目的のプロセッサにより提供されることができるよりも非常に大きい速度を必要とする。ＮＰＰ306で実行されるようにマイクロコードでこれらの機能を実行することにより、比較的高い速度の利点が高い度合いのフレキシブル性で実現されることができる。
【００４２】
１実施形態では、ＩＰセキュリティ処理タスクは好ましくはＮＰＰにより処理される。例えば、ＥＳＰカプセル化、ＥＳＰデカプセル化、セキュリティ関連（ＳＡ）ルックアップ、およびセキュリティハードウェアとの統合等のタスクは好ましくはＮＰＰにより処理される。
【００４３】
埋設されたプロセッサ308は典型的なデスクトップまたはラップトップコンピュータ、或いは特に計算処理が拡張できない汎用目的の処理に適したプロセッサで見られるプロセッサに類似している。本発明の文脈では、埋設されたプロセッサ308は高速度を必要としないが、ＴＣＰ加速、ＩＰＳｅｃ、ｉＳＣＳＩオフロード等のサポートに必要とされる任意の他の動作を処理する。このような処理の例はサービス位置プロトコル（ＳＬＰ）または記憶名サービス（ｉＳＮＳ）などのような発見プロトコルの配備を含んでいる。ＥＰ308はまたＴＣＰ接続の設定をサポートし、分解する。さらにＥＰ308は証書処理、ＣＲＬ（証書取消しリスト）のチェック用の軽量登録簿アクセスプロトコル、キー交換等のようなインターネットキー交換（ＩＫＥ）機能をサポートする。ＩＫＥ機能は通信ラインの他方の端部の装置が本当にその装置自体であることを表していることを確認するためＩＫＥピア（peer）の認証を含んでいる。認証は例えばＲＳＡおよび／またはデジタル署名標準を使用する。ＩＫＥ機能はまた一度認証が実現されると、ＩＰＳｅｃ層のセキュリティ関連およびキー材料を与えることを含んでいる。これらの機能は高い程度のフレキシブル性と再プログラム能力を必要とするが、速度はもっとも重要な問題ではない。埋設されたプロセッサ（例えばＡＲＭプロセッサ）で実行されるためにファームウェアの形態でこれらの機能を実行することにより、高い程度のフレキシブル性が実現される。
【００４４】
勿論、ホストプロセッサ自体内のソフトウェアもまたあるタスクを処理するために使用されることができる。ハードウェア、マイクロコード、ファームウェア、ソフトウェアの範囲では、ホストプロセッサでのソフトウェアの実行は、ホストの貴重な処理リソースの使用を犠牲にして、再プログラミングと再構成を非常に容易にする。
【００４５】
図３はまたキー交換（ＩＫＥ）ブロック312を示している。ＩＫＥはＴＡＡＳ上でまたはホストにより実行されることができる。１実施形態では、ＲＳＡ／ＤＨなどのようなＴＡＡＳ処理機能によりホストはほとんどのＩＫＥ機能を処理することができる。ＴＡＡＳは多機能装置として機能するように構成されることができる。その多機能の役目を実現するために、データパス320と322はＴＡＡＳ302に設けられている。ｉＳＣＳＩパス320はＳＣＳＩコマンドおよびデータを伝播するためのパスを表している。ＴＯＥ／ＮＩＣパス322はＴＡＡＳ302がＮＩＣ（ネットワークインターフェースカード）処理を行い、ネイティブネットワーク処理を加速するためのタスクに関連するＴＯＥ（ＴＣＰオフロードエンジン）を実行することを可能にする。異なるデータパスを設けることにより、ホストが異なる独立した駆動装置を使用し、同時にＴＡＡＳに異なるタスクを行わせることが可能である。さらにほとんどのオペレーティングシステムは別々のネットワークスタックと別々の記憶スタックとを有する。ＴＡＡＳを別々の機能のための別々のデータパスを有する装置としてホストへ表すことによって、記憶スタックおよびネットワークスタックはより自然にＴＡＡＳにマップする。
【００４６】
１実施形態では、ＩＫＥブロック312はＴＡＡＳ302の代わりにホストに構成される。この場合、ＮＩＣパス322はホストのＩＫＥブロック312が通信パスの他の端部のＩＫＥピアを認証することを可能にするために使用される。認証が実現されると、ＩＫＥブロック312はキーイング材料とセキュリティ関連を与えることができる。全ての後続のデータパケットは秘密保護方法でｉＳＣＳＩパス320によりその後送信されることができる。
【００４７】
ＴＡＡＳ302の１つの重要な特徴はデータパケットの送信パスのインライン特性である。埋設されたプロセッサは、キーイング材料とＩＰＳｅｃ関連を含んでいるデータ流のＩＫＥの設定に使用される。その後、ＴＡＡＳへのデータパケット入力はネットワークプロセッサのセットおよびＴＡＡＳのハードウェア部分に構成されているＴＣＰ、ＩＰ、ＩＰＳｅｃ、ＭＡＣブロックにより実質上線形でインラインで処理される。
【００４８】
１実施形態では、ＮＰＰ306と埋設されたプロセッサ308との間のＡＰＩは埋設されたプロセッサ308またはホスト自体においてＩＫＥ機能を実行することを可能にする用に規定される。これはＩＫＥの機能の１つがＩＰＳｅｃセキュリティ関連およびキーイング材料を与えることであるためであり、これはＩＰＳｅｃ加速機能を実現するためにＮＰＰ306によって使用される。ＡＰＩ規定は通知機構を含んでおり、それによってＮＰＰ306で実行されるＩＰＳｅｃ加速ブロックは（埋設されたプロセッサ308またはホスト自体で構成される）ＩＫＥに特定の通信セッションでＩＰＳｅｃキーイング材料のリフレッシュが必要であることを通知できる。ＩＫＥがホスト中に構成されるならば、ＮＩＣパス322は通知のために使用され、またはｉＳＣＳＩパス320は規定されたメッセージを使用して使用される。
【００４９】
ＡＰＩを適切に規定することにより、埋設されたプロセッサ308またはホストソフトウェアがＩＫＥ機能をどのように処理するかに関するフレキシブル性が実現される。ホストでＩＫＥ機能を処理することがより望ましいときには時間があるので、（例えばセキュリティ関連数が埋設されたプロセッサ308により管理されることができるよりも多数であるとき）、これは有効である。他方で、埋設されたプロセッサ308でＩＫＥ機能を処理することがさらに望ましいときがある。例えばＴＡＡＳが実行される装置がホスト機能を与えることができないとき、例えばあるルータの場合のように、ＩＫＥはＴＡＡＳチップ内の埋設されたプロセッサにより容易に行われることができる。
【００５０】
図４は本発明の１特徴にしたがって、２つのホスト402と404間で送信されるパケットにセキュリティを適用するためにＩＰＳｅｃセキュリティ関係を生成するためのプロセスを示している。ホスト402と404間に長寿命の接続を設けるためにＴＣＰ加速およびセキュリティ関連タスクをオフロードするためにホスト402と404にそれぞれ結合された２つのＴＡＡＳ406と408が示されている。ホストまたはＴＡＡＳチップ自体から発信される接続リクエストを受信するとき、セキュリティ関連プロセスが開始する。図４を参照すると、ホスト404内のオペレーティングシステムが（ＬＵＮ論理装置番号として知られている）ネットワーク中の論理エンティティの１つとのＴＣＰ接続を設定しようとしていると仮定する。ホスト404内のオペレーティングシステムはオペレーティングシステムがそれに利用可能な全ての論理エンティティに対して問合せするとき、例えばスタートアップ期間中に利用可能な全ての論理エンティティの存在を知ることができる。オペレーティングシステムがＴＣＰ接続の設定を望んでいるＬＵＮがネットワークドライブであるならば、接続はＳＣＳＩコマンドおよびデータをカプセル化するＴＣＰ接続によりｉＳＣＳＩプロトコルを使用して行われる。接続リクエストはまたＴＡＡＳチップ自体から発生されてもよい。例えば、ＴＡＡＳはそれ自体、実行されるとき接続リクエストを発生するアプリケーションソフトウェアを実行してもよい。
【００５１】
接続リクエストはＴＣＰ論理装置410へ送信され、これはＴＣＰ接続を設定するように応答する。接続リクエストを含むパケットはＩＰＳｅｃ論理装置412へ送信され、これはこの新しいＴＣＰ接続リクエストについてセキュリティ関連がさらに存在しないことを決定する。結果的に、ＩＰＳｅｃ論理装置412はパケットを拒否して、セキュリティ関連が設定されながらＴＣＰを再試行させるか、またはＩＰＳｅｃ論理装置412がセキュリティ関連が設定されながらパケットを待ち行列することができる。
【００５２】
２つのホスト間のセキュリティ関連は２つのホスト間の少なくとも１つのＩＳＡＫＭＰ（インターネットセキュリティ関連およびキー管理プロトコル）関連を含んでいる。ＩＫＥピアとのＩＳＡＫＭＰセキュリティ関連がＩＫＥ層中で生じる。さらに２つのホスト間の各接続は１対のＩＰＳｅｃ関連を含んでおり、これはＩＰＳｅｃ層の関係に関する。ＩＰＳｅｃセキュリティ関連の対はインバウンドトラフィックの１つのＩＰＳｅｃセキュリティ関連と、アウトバウンドトラフィックの１つのＩＰＳｅｃセキュリティ関連とを含んでいる。さらに後述されるように、ＩＰＳｅｃ関連はＩＳＡＫＭＰ関連から得られるキーイング材料から得られ、セキュリティの妥協のリスクを最小にするために時間にわたってリフレッシュされる。
【００５３】
ＩＰＳｅｃ論理装置412がセキュリティ関連が存在しないことを決定したとき、それは接続リクエストに関する情報をＩＫＥ論理414へ送信し、これはネットワーク接続418によりＴＡＡＳ406内のＩＫＥピア416とのＩＳＡＫＭＰセキュリティ関連を設定するための接続リクエストに関する情報を使用する。ＩＳＡＫＭＰセキュリティ関連はとりわけターゲットホストがターゲットのホストであると想定されることを確証する。
【００５４】
一度ＩＳＡＫＭＰセキュリティ関連がＩＫＥピア414と416との間で設定されると、各ＩＫＥ論理装置は（例えば１Ｇビット／秒構成の３ＤＥＳ−ＣＢＣを使用して）ＩＰＳｅｃ関連を得るためにＩＳＡＫＭＰ関連からのキー材料を使用する。ＩＰＳｅｃセキュリティ関連の導出は、リクエストされた接続に適用されるための適切なセキュリティポリシーを決定するために（所定のＴＣＰ接続に対して衝突および／またはオーバーラップするポリシーを含んでいる）セキュリティポリシーデータベースの操作を必要とする。この導出は計算処理が集約的であり、（結果的なキーイング材料は接続から接続で変化するが）それ自体のアルゴリズムが接続から接続で変化しないので、本発明がハードウェアで（３ＤＥＳ−ＣＢＣ等の）ＩＰＳｅｃ関連導出アルゴリズムを実行することは異なる速度の利点を与える。（例えば１０Ｇビット／秒の接続で）さらに高い帯域幅が必要とされるならば、３ＤＥＳ−ＣＢＣ暗号化アルゴリズムはアドバンス暗号化標準（ＡＥＳ）カウンターモード等の高速度の、直列化ではない暗号化アルゴリズムにより置換され、ＨＭＡＣ−ＳＨＡ１認証アルゴリズムは例えばＡＥＳ  ＸＣＢＣ−ＭＡＣ（アドバンスト暗号化標準ＸテンションＣＢＣ−ＭＡＣ）により置換されてもよい。ＡＥＳ  ＸＣＢＣ−ＭＡＣに関する情報はＩＥＴＦ（インターネットエンジニアリングタスクフォース）、ＩＰＳｅｃワーキンググループ（ｗｗｗ．ｉｅｔｆ．ｏｒｇ）にコンタクトすることにより発見されることができる。ＡＥＳ  ＸＣＢＣ−ＭＡＣ情報も米商務省標準技術局（ＮＩＳＴ）で発見され、連邦情報処理標準出版（ＦＩＰＳ  ＰＵＢＳ）で文書にされている。
【００５５】
一度ＩＰＳｅｃセキュリティ関連の対がリクエストされたＴＣＰ接続に対して生成されると、ＩＰＳｅｃセキュリティキー材料はその後ＩＰＳｅｃ論理414によりインバウンドおよびアウトバウンドパケットに与えられる。勿論、セキュリティポリシーがＴＣＰ接続がゼロのセキュリティであることを示すならば、ＴＣＰ接続に関するパケットへセキュリティをその後与える必要はない。もっと典型的には、幾つかのセキュリティポリシーがＴＣＰ接続に適用される。以後、ホスト402と404との間のそのＴＣＰ接続のデータ通信はホストベースの構造下で秘密保護される。幾つかのアルゴリズムはオーバータイムには脆弱であるので（例えば３ＤＥＳ−ＣＢＣはいわゆる誕生日のアタックまたはビット漏洩に対して脆弱である）、ＩＰＳｅｃセキュリティキー材料はセキュリティの妥協を防止するために時間にわたってリフレッシュされてもよい。リフレッシュの頻度は部分的にアルゴリズムの強度、現在のＩＰＳｅｃセキュリティ関連を使用するデータの量等に基づいている。リフレッシュはＩＳＡＫＭＰキー材料を使用して、ＩＫＥ論理による新しいＩＰＳｅｃセキュリティ関連の導出を含んでいる。
【００５６】
前述したように、伝統的なセキュリティ関連技術は出力するデータパケットへ適切にセキュリティを与えるために多量の計算リソースを必要とする。本発明の１特徴によれば、セキュリティポリシー関連問題はセキュリティポリシー関連のタスクをより効率的に実行するように限定されている。本発明のこの特徴の説明を容易にするために、セキュリティポリシー関連の簡単な概要が役立つであろう。パケットが送出される必要があるとき、セキュリティが出力パケットへ与えられる必要があるか否かと、必要がある場合には、どの種類のセキュリティポリシーが適用するかを決定することが重要である。さらに、パケットに対するＩＰＳｅｃセキュリティ関連が存在するか否かと、存在するならば、出力パケットに対するＩＰＳｅｃセキュリティ関連を得ることを確実にすることが重要である。
【００５７】
セキュリティ関連問題が限定を解除される場合には、ある性能のボトルネックが存在する。第１に、適切なセキュリティポリシーを決定し、ＩＰＳｅｃセキュリティ関連が存在するか否かを確認し、正しいＩＰＳｅｃセキュリティ関連を獲得するプロセス全体は計算処理が高価である。これはセキュリティ関連の試験があらゆる出力パケットに対して行われなければならない（応用可能であるならば適用される）ためである。
【００５８】
セキュリティポリシーは典型的にセキュリティポリシーデータベースに記憶され、ソースアドレス、目的地アドレス、ソースポート番号、および／または目的地ポート番号によりインデックスされるので、出力パケットの適切なセキュリティポリシーの決定は挑戦的である。幾つかのポリシーはソースアドレスの範囲、目的地アドレスの範囲、ソースポート番号の範囲、目的地ポート番号の範囲または任意の他の基準から来るパケットへ適用される。セキュリティポリシーデータベースはまた、値のワイルドカードパラメータ、サブネット、範囲等をサポートする。正確に数百のセキュリティポリシーがワイルドカード、オーバーラップポリシー等により出力パケットに適用されることを単に発見するだけにセキュリティポリシーデータベースで特定の出力パケットのセキュリティポリシーを見出すことは異例ではない。さらに、セキュリティポリシーが適用すべき幾つかの予め規定された基準またはアルゴリズムに基づいて、全ての応用可能なポリシーを獲得し確認することが重要である。全てのこれらのタスクは勿論、多量の計算処理リソースを必要とする。
【００５９】
一度、正しいセキュリティポリシーが確認されると、別の検索がＩＰＳｅｃセキュリティ関連が存在するか否かを決定するために実行される必要がある。ＩＰＳｅｃセキュリティ関連が存在することが発見されるならば、ＩＰＳｅｃセキュリティ関連データベースの別の検索が出力パケットのＩＰＳｅｃセキュリティ関連を得るために必要である。
【００６０】
本発明の１特徴では、ある応用、例えば終端間セキュリティおよび／またはブロック記憶に対しては、暗号化、カプセル化、および／または認証に使用可能なアルゴリズムの数を限定できることが認識される。従来技術のセキュリティポリシーデータベースでは、暗号化／解読、カプセル化、および／または認証のための多数の異なるアルゴリズムが提供されることを想起する。これはセキュリティがＶＰＮゲートウェイ等のゲートウェイで実行されるとき、出力パケットに遭遇する毎に全ての可能性が説明されなければならない。
【００６１】
ここでは、ただ１つの暗号化／解読アルゴリズムが適用されるようにセキュリティポリシー構造が限定されることができるならば、ただ１つの認証アルゴリズムが適用され、および／またはただ１つのカプセル化アルゴリズムが適用されることが提案される。これは許容できないほどに限定的であるが、実際には、多数の応用は暗号化および／またはカプセル化および／または認証の１種類だけを必要とする。例えば終端間セキュリティの文脈では、ソースおよび／または目的地対は良好に規定される。したがって、ＩＰアドレスが範囲、サブネット等ではなくエンドポイントを特定しなければならないことを必要とすることは甚だしく限定的なことではない。ＴＣＰポートはワイルドカード化される可能性があるが、大きな効率がＩＰアドレスでより多くの特異性を必要とすることにより実現されることができる。
【００６２】
１実施形態では、ポリシーはインバウンドまたはアウトバウンドパケット転送に必要とされるポリシーチェック方法では非常に少ないように、狭く特別に規定される。例えばＥＳＰ、３ＤＥＳ−ＣＢＣ、およびＨＭＡＣ−ＳＨＡ１  ＩＰだけがＳＰＤエントリ中でそれぞれカプセル化、暗号化、認証のために使用されることが特定されてもよい。ＴＡＡＳチップ中で動作するＩＰＳｅｃマイクロエンジンでは、ポリシーは盲目的である。即ち、適切な連結構造とセキュリティ関連の存在はフローのためのポリシーが存在するか否かを決定するのに十分であり、通知された限定のためにただ１つのこのようなポリシーが存在する。したがって、出力パケットがセキュリティを必要とことが発見されるならば、セキュリティを必要とする全てのパケットが同一アルゴリズムのセットを使用して、暗号化され、認証され、および／またはカプセル化されるように問題が限定されるので、適切なセキュリティポリシーを調べる必要はない。
【００６３】
１実施形態では、セキュリティを所定のアウトバウンドパケットへ適用するか否かの決定でさえも不必要にされる。この場合、全ての出力パケットはセキュリティを必要とするように見られ、全てのパケットは同一方法を使用して、認証および／または解読、および／またはカプセル化されるので、対応するセキュリティポリシーを検索する必要はない。別の実施形態では、出力パケットは特定の出力パケットがセキュリティを必要とするか否かを確証するため個々に検査されデータベースに対して比較される。
【００６４】
本発明の１特徴にしたがって、出力パケットに関連するソースアドレス、目的地アドレス、ソースポート、および／または目的地ポートはＩＰＳｅｃセキュリティ関連データベース中へのインデックスとして直接使用される。１実施形態では、ＴＣＰ接続とＩＰＳｅｃセキュリティ関連の対との間にＩＰＳｅｃセキュリティ関連は１対１の対応が存在するように限定される。したがって、出力パケットに関係するソースアドレス、目的地アドレス、ソースポート、および／または目的地ポートの使用は必要とされるＩＰＳｅｃセキュリティ関連に直接的に導かれることができる。別の実施形態では、ＴＣＰ接続当り少数のＩＰＳｅｃ関連が可能にされる。したがってＩＰＳｅｃ関連データベースの検索はセキュリティ関連問題が限定されなかったときに発見される数千のＩＰＳｅｃ関連の代わりに所定の出力パケットの多数のＩＰＳｅｃセキュリティ関連になる。一度多数のＩＰＳｅｃ関連が得られると、任意の知られた技術が出力パケットで使用されるのに丁度適したＩＰＳｅｃセキュリティ関連を正確に指摘するために使用される。
【００６５】
セキュリティポリシー関連問題をインテリジェントに限定することによって、応用可能なセキュリティポリシーの検索タスクは消去される。付加的にまたは代わりに、出力パケットがセキュリティを必要とするか否かの決定タスクは除去される。付加的にまたは代わりに、ＴＣＰ接続当りの可能なＩＰＳｅｃセキュリティ関連数の限定は必要とされるＩＰＳｅｃセキュリティ関連を得るために必要とされる計算を少なくする。応用可能なセキュリティポリシーとＩＰＳｅｃ関連とを得るタスクを簡単にすることによって、本発明は（例えば１Ｇビット／秒以上の）高いデータ速度でさえもワイヤ速度でセキュリティを実行することを可能にする。ワイヤ速度でセキュリティを実行する能力は特に、頻繁なＩＫＥ処理、例えばＩＫＥピアの認証とキーイング材料の生成を必要としない長寿命の接続に関して特に応用可能である。
【００６６】
図５は、本発明の１実施形態にしたがって、マスターＩＰＳｅｃエンジンと複数のオフロードＩＰＳｅｃエンジンとを使用してＩＰセキュリティ処理をオフロードするシステムの機能ブロックを表している。マスターＩＰＳｅｃエンジンはＩＰＳｅｃセキュリティ関連のオフロードを分配し、ＩＰＳｅｃオフロード能力を呼び出す。好ましくはマスターＩＰＳｅｃエンジンは最初の接続設定を処理し、ＩＫＥ処理と同一のプロセッサに位置されている。
【００６７】
１実施形態では、プロトコル制御プロックがインバウンドおよびアウトバウンドトラフィックに関するセキュリティ関連情報を維持するためにＮＰＰにより使用される。図６は、１実施形態において、主要な機能コンポーネントとそれが維持されるのに必要とされる状態を示す図である。これは“記録レベル”情報であり、図はインバウンドおよびアウトバウンドトラフィックに対するＴＣＰ、ＩＰ、ＩＰＳｅｃ、ＳＡ制御ブロックの関係を示している。前述したように、ＰＣＢの組織および使用はＮＰＰにより維持される。
【００６８】
接続設定に関しては、ＴＣＰオフロードと共に動作するとき、ＩＰＳｅｃおよびＴＣＰ処理のオフロード順序は重要である。接続を設定するため、以下の事象の流れが適用される。第１に、アウトバウンドＴＣＰ接続リクエストはマスターＩＰＳｅｃエンジンにより受け取られる。セキュリティが必要とされるならば、ＴＣＰパケットは待ち行列され、マスターＩＰＳｅｃエンジンはセキュリティ設定のためにＩＫＥまでリクエストを手渡す。適切なセキュリティ関連がマスターＩＰＳｅｃエンジンに手渡され、セキュリティ関連がマスターＩＰＳｅｃエンジンにより特定のＩＰＳｅｃオフロードエンジンへオフロードされる。その後、待ち行列されたＴＣＰパケットが再度スタートされる。他方で、セキュリティが必要とされないならば、パケットは通過を可能にされる。ＴＣＰオフロードが所望されるならば、ＴＣＰオフロードはその後生じる。
【００６９】
ＩＰＳｅｃセキュリティ関連とＴＣＰ接続のオフロードは順番に実行されることが好ましい。ＩＰＳｅｃオフロードが最初に行われることが好ましく、その後ＴＣＰ接続がオフロードされる。同様に、“アンロード”接続のとき、動作は好ましくは逆の順序で行われる。ＴＣＰ接続はアップロードされ、その後、ＩＰＳｅｃ関連がアップロードされる。
【００７０】
既に存在するセキュリティ関連へＴＣＰ接続を付加することが可能である。図６に関して、多対１の関係がＴＣＰ  ＰＣＢとＩＰＳｅｃＰＣＢとの間に存在するので、１対１関係のみが存在する“逆ポインタ”を維持することが有効である。インバウンドパスでは、この条件が満たされないならば、ＴＣＢ  ＰＣＢルックアップが実行される。
【００７１】
１実施形態では、３つのＡＰＩ、即ちポリシーマネジャーＡＰＩ，マスターエンジンＡＰＩ、ＩＰＳｅｃ用のマスター／ＮＰＰオフロードＡＰＩが使用される。好ましくは、ポリシーマネージャＡＰＩとマスターＩＰＳｅｃエンジンＡＰＩは（例えば埋設されたプロセッサ中で）対で動作し、ＩＰＳｅｃ用のオフロードＡＰＩを使用してＮＰＰと通信する。
【００７２】
以上、本発明を幾つかの好ましい実施形態に関して説明したが、本発明の技術的範囲内に入る多くの変更、交換、均等物が存在する。ここで説明した多数の実施形態は別のものを使用するか、所定のシステムで共に使用されてもよいことに注意しなければならない。本発明の方法および装置を構成する多数の別の方法が存在することにも注意すべきである。それ故、特許請求の範囲は本発明の技術的範囲内に入る変更、交換、均等物を含むものとして解釈することを意図している。
【図面の簡単な説明】
【００７３】
【図１】データが公共ネットワークを横切るときのデータセキュリティを確実にするデータ通信構造の概略図。
【図２】ホストベースのセキュリティ構造の１構成の概略図。
【図３】本発明の１実施形態にしたがって、高速度のＴＣＰ加速とデータセキュリティをホストベースのセキュリティ環境に設けるのに適した革新的なＴＣＰ加速およびセキュリティ（ＴＡＡＳ）集積回路の概略図。
【図４】本発明の１特徴にしたがって、２つのホスト間で送信されるパケットに対してセキュリティを適用するためにＩＰＳｅｃセキュリティ関係を生成するためのプロセスを示す図。
【図５】本発明の１特徴にしたがって、マスターＩＰＳｅｃエンジンと複数のオフロードＩＰＳｅｃエンジンを使用してＩＰセキュリティ処理をオフロードするシステムの機能ブロック図。
【図６】１実施形態において、主要な機能コンポーネントとそれが維持されるのに必要とされる状態を示す図。
【図１】
2005503699.tif 000003
【図２】
2005503699.tif 000004
【図３】
2005503699.tif 000005
【図４】
2005503699.tif 000006
【図５】
2005503699.tif 000007
【図６】
2005503699.tif 000008
【国際公開パンフレット】
2005503699.tif 000009
2005503699.tif 000010
2005503699.tif 000011
2005503699.tif 000012
2005503699.tif 000013
2005503699.tif 000014
2005503699.tif 000015
2005503699.tif 000016
2005503699.tif 000017
2005503699.tif 000018
2005503699.tif 000019
2005503699.tif 000020
2005503699.tif 000021
2005503699.tif 000022
2005503699.tif 000023
2005503699.tif 000024
2005503699.tif 000025
2005503699.tif 000026
2005503699.tif 000027
2005503699.tif 000028
2005503699.tif 000029
2005503699.tif 000030
2005503699.tif 000031
2005503699.tif 000032
2005503699.tif 000033
2005503699.tif 000034
2005503699.tif 000035
2005503699.tif 000036
2005503699.tif 000037
2005503699.tif 000038
2005503699.tif 000039
2005503699.tif 000040
2005503699.tif 000041
2005503699.tif 000042
2005503699.tif 000043
2005503699.tif 000044
【国際調査報告】
2005503699.tif 000045