(57)【特許請求の範囲】
【請求項１】
インターネットプロトコルセキュリティIPSecアクセラレーション方法であって、
インターネット鍵交換IKEモジュールによって、IPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成するステップと、
前記IKEモジュールによって、前記IKEリンクの確立セッションパケットをピアデバイスに送信し、かつ前記ピアデバイスとのセキュリティアソシエーションSAを確立するステップと、
前記IKEモジュールによって、リモートダイレクトメモリアクセスRDMAによって、前記SAをデータ転送モジュールに書き込むステップであって、前記IKEモジュールおよび前記データ転送モジュールは異なるデバイス内にあり、前記IKEモジュールはアクセラレータカード上に配置されている、ステップと
を含む方法。
【請求項２】
前記IKEモジュールは、前記アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ、IKEモジュールによって、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成する前記ステップは、
前記IKEモジュールによって、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、大数を生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットを生成するステップを含む、請求項1に記載の方法。
【請求項３】
インターネットプロトコルセキュリティIPSecアクセラレーション方法であって、
インターネット鍵交換IKEモジュールによって、IKEリンクの確立セッションパケットを受信するステップと、
前記IKEモジュールによって、IPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのセキュリティアソシエーションSAを確立するステップと、
前記IKEモジュールによって、リモートダイレクトメモリアクセスRDMAによって、前記SAをデータ転送モジュールに書き込むステップであって、前記IKEモジュールおよび前記データ転送モジュールは異なるデバイス内にあり、前記IKEモジュールはアクセラレータカード上に配置されている、ステップと
を含む、方法。
【請求項４】
前記IKEモジュールは、前記アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ前記IKEモジュールによって、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのSAを確立する前記ステップは、
前記IKEモジュールによって、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、大数を生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットの前記送信デバイスとの前記SAを確立するステップを含む、請求項3に記載の方法。
【請求項５】
インターネットプロトコルセキュリティIPSecアクセラレーション方法であって、
データ転送モジュールによって、インターネット鍵交換IKEモジュールによるセキュリティアソシエーションSAを書き込む動作を受け入れるステップであって、前記書き込みに使用される書き込み方式は、リモートダイレクトメモリアクセスRDMAであり、かつ前記データ転送モジュールおよび前記IKEモジュールは異なるデバイス内にある、ステップと、
前記データ転送モジュールによって、データパケットを受信するステップであって、前記データ転送モジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置される、ステップと、
前記データ転送モジュールによって、前記SAに従って、前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得るステップと、
前記データ転送モジュールによって、前記対象パケットを転送するステップと
を含む、方法。
【請求項６】
処理ユニットおよび送信ユニットを備えるインターネット鍵交換IKEモジュールであって、前記送信ユニットは、第1の送信サブユニットおよび第2の送信サブユニットを含み、
前記処理ユニットは、インターネットプロトコルセキュリティIPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成するように構成され、
前記第1の送信サブユニットは、前記IKEリンクの確立セッションパケットをピアデバイスに送信するように構成され、かつ前記IKEモジュールは、前記IKEリンクの確立セッションパケットを使用して、前記ピアデバイスとのセキュリティアソシエーションSAを確立し、かつ
前記第2の送信サブユニットは、リモートダイレクトメモリアクセスRDMAによって、前記SAをデータ転送モジュールに書き込むように構成され、前記IKEモジュールおよび前記データ転送モジュールは異なるデバイス内にあり、前記IKEモジュールはアクセラレータカード上に配置されている、IKEモジュール。
【請求項７】
前記IKEモジュールは、前記アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ前記処理ユニットは、
モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、大数を生成し、Diffie-Hellman鍵値を計算し、かつ前記IKEリンクの確立セッションパケットを生成するように特に構成された、請求項6に記載のIKEモジュール。
【請求項８】
インターネット鍵交換IKEモジュールであって、
IKEリンクの確立セッションパケットを受信するように構成された受信ユニットと、
インターネットプロトコルセキュリティIPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのセキュリティアソシエーションSAを確立するように構成された処理ユニットと、
リモートダイレクトメモリアクセスRDMAによって、前記SAをデータ転送モジュールに書き込むように構成された送信ユニットであって、前記IKEモジュールおよび前記データ転送モジュールは異なるデバイス内にあり、前記IKEモジュールはアクセラレータカード上に配置されている、送信ユニットと
を備えるインターネット鍵交換IKEモジュール。
【請求項９】
前記IKEモジュールは、前記アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ前記処理ユニットは、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、大数を生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットの前記送信デバイスとの前記セキュリティアソシエーションSAを確立するように特に構成された、請求項8に記載のIKEモジュール。
【請求項１０】
データ転送モジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、前記データ転送モジュールは、記憶ユニット、受信ユニット、処理ユニット、及び送信ユニットを具備し、
前記記憶ユニットは、インターネット鍵交換IKEモジュールによるセキュリティアソシエーションSAを書き込む動作を受け入れるように構成されており、前記書き込みに使用される書き込み方式は、リモートダイレクトメモリアクセスRDMAであり、かつ前記データ転送モジュールおよび前記IKEモジュールは異なるデバイス内にあり、
前記受信ユニットは、データパケットを受信するように構成され、
前記処理ユニットは、前記SAに従って、前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得るように構成され、
前記送信ユニットは、前記対象パケットを転送するように構成され
ている、データ転送モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、2015年2月5日に中国特許庁に提出された、「IPSEC ACCELERATION METHOD, APPARATUS, AND SYSTEM」という名称の中国特許出願第201510059986.4号に対する優先権を主張するものであり、また、その全体は、参照により本明細書に組み込まれる。
【０００２】
本発明の実施形態は、サイバーセキュリティ技術に関し、特に、インターネットプロトコルセキュリティ(英語:Internet Protocol Security、IPSecと略す)アクセラレーション方法、装置およびシステムに関する。
【背景技術】
【０００３】
ネットワークサービスの迅速な開発は、より高いネットワーク情報セキュリティを必要とする。インターネットエンジニアリングタスクフォース(英語:Internet Engineering Task Force、IETFと略す)は、通信セキュリティを確保するためにIPSecを開発した。
【０００４】
IPSecワークフローは2つの段階に分けられる。
【０００５】
第1段階は、インターネット鍵交換(英語:Internet Key Exchange Protocol、IKEと略す)リンクの確立である。IKEリンクの確立は、IPSecに対して、鍵交換とセキュリティーアソシエーション(英語:Security Association、SAと略す)確立の自動ネゴシエーションのサービスを提供する。IKEリンクの確立は、IKE SAペイロード交換、鍵交換(英語:Key Exchange、KEと略す)ペイロード、ノンス(英語:Nonce)ペイロード交換、共有鍵パラメータの計算、2つの通信パーティによる識別認証、IPSec SAペイロード交換、並びにIPSec SA検証アルゴリズムおよび暗号化アルゴリズムのネゴシエーション等を含む。
【０００６】
第2段階は、データ転送である。インターネットプロトコル(英語:Internet Protocol、IPと略す)パケットは、暗号化/復号化され、かつカプセル化/デカプセル化された後に転送される。
【０００７】
従来技術では、Linuxオペレーティングシステムプラットフォーム上で動作するオープンソース製品Openswanの鍵(英語:キー)管理ツールPlutoがIKEリンクの確立を実行するとき、シングルスレッドおよびシングルステートマシンは、ユーザモードにおいて、IKEリンクの確立のすべての作業を処理する。すなわち、次のIKEリンクの確立のためのパケットは、現在のIKEリンクの確立のためのすべてのパケットが処理された後にのみ受信され処理されることができる。これにより、Plutoへの負担が大きくなり、リンクの確立速度が低下する。さらに、IKEリンクの確立とデータ転送は、単一の仮想マシン(英語:Virtual Machine、VMと略す)またはホストによって完了される。仮想マシンまたはホストの処理能力には限界があるため、IKEリンクの確立に影響を与え、データ転送は遅くなる。
【発明の概要】
【課題を解決するための手段】
【０００８】
本発明の実施形態は、既存のIPSecにおけるIKEリンクの確立およびデータ転送が遅いという問題を解決するために、IPSecアクセラレーション方法、装置およびシステムを提供する。
【０００９】
第1の態様によれば、本発明の実施形態は、
インターネット鍵交換IKEモジュールによって、IPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成するステップと、
前記IKEモジュールによって、前記IKEリンクの確立セッションパケットをピアデバイスに送信し、かつ前記ピアデバイスとのセキュリティアソシエーションSAを確立するステップと、
前記IKEモジュールによって、前記SAをデータ転送モジュールに送信するステップであって、前記IKEモジュールおよび前記データ転送モジュールはディスクリートモジュールである、ステップと
を含む、インターネットプロトコルセキュリティIPSecアクセラレーション方法を提供する。
【００１０】
第1の態様によれば、第1の態様の第1の可能な実装方式において、前記IKEモジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ、IKEモジュールによって、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成する前記ステップは、
前記IKEモジュールによって、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットを生成するステップを含む。
【００１１】
第1の態様または第1の態様の第1の可能な実装方式によれば、第1の態様の第2の可能な実装方式において、前記IKEモジュールによって、前記SAをデータ転送モジュールに送信する前記ステップは、
前記IKEモジュールによって、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを前記データ転送モジュールに書き込むステップを含む。
【００１２】
第1の態様または第1の態様の第1の可能な実装方式によれば、第1の態様の第3の可能な実装方式において、前記IKEモジュールによって、前記SAをデータ転送モジュールに送信する前記ステップは、
前記IKEモジュールによって、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを制御モジュールに書き込み、かつ前記制御モジュールを使用して、前記SAを前記データ転送モジュールに転送するステップを含む。
【００１３】
第2の態様によれば、本発明の実施形態は、
インターネット鍵交換IKEモジュールによって、IKEリンクの確立セッションパケットを受信するステップと、
前記IKEモジュールによって、IPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのセキュリティアソシエーションSAを確立するステップと、
前記IKEモジュールによって、前記SAをデータ転送モジュールに送信するステップであって、前記IKEモジュールおよび前記データ転送モジュールは、ディスクリートモジュールである、ステップと
を含む、インターネットプロトコルセキュリティIPSecアクセラレーション方法を提供する。
【００１４】
第2の態様によれば、第2の態様の第1の可能な実装方式において、前記IKEモジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ前記IKEモジュールによって、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのSAを確立する前記ステップは、
前記IKEモジュールによって、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットの前記送信デバイスとの前記SAを確立するステップを含む。
【００１５】
第2の態様または第2の態様の第1の可能な実装方式によれば、第2の態様の第2の可能な実装方式において、前記IKEモジュールによって、前記SAをデータ転送モジュールに送信する前記ステップは、
前記IKEモジュールによって、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを前記データ転送モジュールに書き込むステップを含む。
【００１６】
第2の態様または第2の態様の第1の可能な実装方式によれば、第2の態様の第3の可能な実装方式において、前記IKEモジュールによって、前記SAをデータ転送モジュールに送信する前記ステップは、
前記IKEモジュールによって、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを制御モジュールに書き込み、かつ前記制御モジュールを使用して、前記SAを前記データ転送モジュールに転送するステップを含む
【００１７】
第3の態様によれば、本発明の実施形態は、
データ転送モジュールによって、データパケットを受信するステップであって、前記データ転送モジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置される、ステップと、
前記データ転送モジュールによって、セキュリティアソシエーションSAに従って、前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得るステップと、
前記データ転送モジュールによって、前記対象パケットを転送するステップと
を含む、インターネットプロトコルセキュリティIPSecアクセラレーション方法を提供する。
【００１８】
第3の態様によれば、第3の態様の第1の可能な実装方式において、前記データ転送モジュールによって、SAに従って、前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得る前記ステップの前に、当該方法は、
前記データ転送モジュールによって、インターネット鍵交換IKEモジュールによる前記SAを書き込む動作を受け入れるステップであって、前記書き込みに使用される書き込み方式は、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルであり、かつ前記データ転送モジュールおよび前記IKEモジュールは、ディスクリートモジュールである、ステップ
をさらに含む。
【００１９】
第4の態様によれば、本発明の実施形態は、
処理ユニットおよび送信ユニットを備えるインターネット鍵交換IKEモジュールであって、前記送信ユニットは、第1の送信サブユニットおよび第2の送信サブユニットを含み、
前記処理ユニットは、インターネットプロトコルセキュリティIPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成するように構成され、
前記第1の送信サブユニットは、前記IKEリンクの確立セッションパケットをピアデバイスに送信するように構成され、かつ前記IKEモジュールは、前記IKEリンクの確立セッションパケットを使用して、前記ピアデバイスとのセキュリティアソシエーションSAを確立し、かつ
前記第2の送信サブユニットは、前記SAをデータ転送モジュールに送信するように構成され、前記IKEモジュールおよび前記データ転送モジュールは、ディスクリートモジュールである、インターネット鍵交換IKEモジュールを提供する。
【００２０】
第4の態様によれば、第4の態様の第1の可能な実装方式において、前記IKEモジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ前記処理ユニットは、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、かつ前記IKEリンクの確立セッションパケットを生成するように特に構成される。
【００２１】
第4の態様または第4の態様の第1の可能な実装方式によれば、第4の態様の第2の可能な実装方式において、前記第2の送信サブユニットは、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを前記データ転送モジュールに書き込むように特に構成される。
【００２２】
第4の態様または第4の態様の第1の可能な実装方式によれば、第4の態様の第3の可能な実装方式において、前記第2の送信サブユニットは、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを制御モジュールに書き込み、かつ前記制御モジュールを使用して、前記SAを前記データ転送モジュールに転送するように特に構成される。
【００２３】
第5の態様によれば、本発明の実施形態は、
IKEリンクの確立セッションパケットを受信するように構成された受信ユニットと、
インターネットプロトコルセキュリティIPSec構成パラメータと、セキュリティポリシーデータベースSPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのセキュリティアソシエーションSAを確立するように構成された処理ユニットと、
前記SAを前記データ転送モジュールに送信するように構成された送信ユニットであって、前記IKEモジュールおよび前記データ転送モジュールは、ディスクリートモジュールである、送信ユニットと
を備える、インターネット鍵交換IKEモジュールを提供する。
【００２４】
第5の態様によれば、第5の態様の第1の可能な実装方式において、前記IKEモジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置され、かつ前記処理ユニットは、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットの前記送信デバイスとの前記セキュリティアソシエーションSAを確立するように特に構成される。
【００２５】
第5の態様または第5の態様の第1の可能な実装方式によれば、第5の態様の第2の可能な実装方式において、前記送信ユニットは、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを前記データ転送モジュールに書き込むように特に構成される。
【００２６】
第5の態様または第5の態様の第1の可能な実装方式によれば、第5の態様の第3の可能な実装方式において、前記送信ユニットは、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルによって、前記SAを制御モジュールに書き込み、かつ前記制御モジュールを使用して、前記SAを前記データ転送モジュールに転送するように特に構成される。
【００２７】
第6の態様によれば、本発明の実施形態は、
アクセラレータカードのフィールドプログラマブルゲートアレイFPGAチップ上に配置されるデータ転送モジュールであって、前記データ転送モジュールは、
データパケットを受信するように構成された受信ユニットと、
セキュリティアソシエーションSAに従って、前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得るように構成された処理ユニットと、
前記対象パケットを転送するように構成された送信ユニットと
を備える、データ転送モジュールを提供する。
【００２８】
第6の態様によれば、第6の態様の第1の可能な実装方式において、前記データ転送モジュールは、記憶ユニットをさらに備え、かつ
前記記憶ユニットは、インターネット鍵交換IKEモジュールによる前記SAを書き込む動作を受け入れるように構成され、前記書き込みに使用される書き込み方式は、リモートダイレクトメモリアクセスRDMAまたは予め設定されたプロトコルであり、かつ前記データ転送モジュールおよび前記IKEモジュールは、ディスクリートモジュールである。
【００２９】
第7の態様によれば、本発明の実施形態は、
第4の態様または第4の態様の第1から第3の可能な実装方式のいずれか1つによる前記IKEモジュール、および第6の態様または第6の態様の第1の可能な実装方式のいずれかによるデータ転送モジュールか、
第5の態様または第5の態様の第1から第3の可能な実装方式のいずれか1つによる前記IKEモジュール、および第6の態様または第6の態様の第1の可能な実装方式のいずれかによるデータ転送モジュールか、
第4の態様または第4の態様の第1から第3の可能な実装方式のいずれか1つによる前記IKEモジュール、第5の態様または第5の態様の第1から第3の可能な実装方式のいずれか1つによる前記IKEモジュール、および第6の態様または第6の態様の第1の可能な実装方式のいずれかによるデータ転送モジュール
を備える、インターネットプロトコルセキュリティIPSecアクセラレーションシステムを提供する。
【００３０】
本発明の実施形態において提供されるIPSecアクセラレーション方法、装置およびシステムによれば、IKEリンクの確立はIKEモジュールを使用して実装され、かつデータパケットはデータ転送モジュールを使用して転送され、前記IKEモジュールおよび前記データ転送モジュールは、互いに独立しており、異なるデバイスに別々に配置されてもよい。従って、2つのデバイスのパフォーマンスは互いに影響を及ぼさないため、IPSecの速度と柔軟性が向上し、既存のIPSecにおけるIKEリンクの確立とデータ転送が遅いという問題が解決される。
【図面の簡単な説明】
【００３１】
本発明の実施形態または従来技術の技術的解決策をより明確に説明するために、以下に、実施形態または従来技術を説明するために必要な添付図面を簡単に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示しており、当業者は創造的な努力なしにこれらの添付の図面からさらに他の図面を導き出すことができる。
【００３２】
【図１】本発明によるIPSecアクセラレーション方法の実施形態1のフローチャートである。
【図２】本発明によるIPSecアクセラレーションシステムの実施形態1において、IKEモジュールによって、PDMAを使用してSA/セキュリティポリシーをデータ転送モジュールに書き込む実施例の概略図である。
【図３】本発明によるIPSecアクセラレーション方法の実施形態2のフローチャートである。
【図４】本発明によるIPSecアクセラレーション方法の実施形態3のフローチャートである。
【図５】本発明によるIKEモジュールの実施形態1の概略構造図である。
【図６】本発明によるIKEモジュールの実施形態2の概略構造図である。
【図７】本発明によるデータ転送モジュールの実施形態1の概略構造図である。
【図８】本発明によるIPSecアクセラレーションシステムの実施形態1の概略構造図である。
【図９】本発明によるIPSecアクセラレーションシステムの実施形態2の概略構造図である。
【図１０】本発明によるIPSecアクセラレーション方法の実施形態4のフローチャートである。
【図１１】本発明によるIPSecアクセラレーション方法の実施形態5のフローチャートである。
【発明を実施するための形態】
【００３３】
本発明の実施形態の目的、技術的解決策、および利点をより明確にするために、本発明の実施形態における技術的解決策を、以下に、本発明の実施形態の添付の図面を参照して明確かつ十分に説明する。明らかに、説明される実施形態は、本発明の実施形態の一部ではあるがすべてではない。本発明の実施形態に基づいて当業者によって創作努力なしに得られる他のすべての実施形態は、本発明の保護範囲内に入るものとする。
【００３４】
本発明の実施形態の基本的な考え方は、データ転送から論理的にIKEリンクの確立を分離し、例えば、アクセラレータカード、仮想マシン、サーバおよびクラスター等の異なるデバイス上で物理的に制約なくIKEリンクの確立およびデータ転送を展開することである。これにより、IKEリンクの確立を早め、データ転送能力を向上することができる。さらに、高性能と柔軟性を確保することができる。
【００３５】
図1は、本発明によるIPSecアクセラレーション方法の実施形態1のフローチャートである。本発明の本実施形態は、IPSecアクセラレーション方法を提供する。当該方法は、IPSecアクセラレーション方法を実行する任意の装置によって実行されてもよく、当該装置は、ソフトウェアおよび/またはハードウェアを使用して実装されてもよい。図1に示されるように、当該方法は以下のステップを含む。
【００３６】
S101: IKEモジュールは、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従ってIKEリンクの確立セッションパケットを生成する。
【００３７】
SPDは、セキュリティポリシーデータベース(英語:Security Policy Database、SPDと略す)である。SPDは、少なくとも1つのセキュリティポリシー(英語:Security Policy、SPと略す)を含み、セキュリティポリシーは、データパケットに提供されるセキュリティサービスを決定する。セキュリティポリシーは、保護が必要なデータパケットの機能、どのようにデータパケットを保護するか、例えばデータパケットを保護するために使用される暗号アルゴリズムのようなデータパケット処理方法、およびデータパケットの送信エンドおよび受信エンドに関する情報を含む。
【００３８】
IPSec構成パラメータは、ゲートウェイIPアドレス、サブネットデバイスIPアドレス、IPSec作業モード(type)、カプセル化形式、IKE SA、およびIKE SAライフサイクルというパラメータを含むが、これらに限定されない。IPSec作業モードは、トンネルモード(tunnel)およびトランスポートモードを含む。
【００３９】
S102: 前記IKEモジュールは、IKEリンクの確立セッションパケットをピアデバイスに送信し、前記ピアデバイスとのSAを確立する。
【００４０】
前記IKEモジュールは、SPDに従ってピアデバイスとして、前記IKEリンクの確立セッションパケットを受信するデバイスを決定し、前記IKEリンクの確立セッションパケットを前記ピアデバイスに送信し、前記ピアデバイスとのIKEネゴシエーションをトリガし、それによってSAを得る。
【００４１】
具体的には、IKEリンクの確立は、第1段階のIKEネゴシエーションと第2段階のIKEネゴシエーションの2つの段階を含む。従って、SAはIKE SAとIPSec SAを含む。第1段階のIKEネゴシエーションはIKE SAを生成し、かつ第2段階のIKEネゴシエーションはIPSec SAを生成する。第2段階のIKEネゴシエーションはIKE SAの保護下で実行される。
【００４２】
S103: 前記IKEモジュールは、SAをデータ転送モジュールに送信し、前記IKEモジュールおよび前記データ転送モジュールは、ディスクリートモジュールである。
【００４３】
本実施形態において、前記IKEモジュールおよび前記データ転送モジュールは離散的であり、すなわち互いに独立している。従って、2つのモジュールは、1つのデバイスに統合されていてもよいし、異なるデバイスに別々に配置されていてもよい。すなわち、2つのモジュールは論理的に分離され、物理的に制約なく配置される。
【００４４】
前述のステップから、IKEモジュールがIKEリンクの確立を完了し、SAを得てもよいと分かる。さらに、データ転送モジュールは、SAに従ってデータパケット転送(データ転送)を実行する。
【００４５】
従来技術では、IKEリンクの確立とデータ転送の両方が単一の仮想マシンまたは物理マシンによって完了され、IPSec速度の低下を引き起こしている。
【００４６】
本発明のこの実施形態において、IKEリンクの確立機能を実装するように構成されたモジュールと、データ転送機能を実装するように構成されたモジュールが論理的に分離されている。すなわち、IKEリンクの確立はIKEモジュールを使用して実装され、データパケットはデータ転送モジュールを使用して転送される。前記IKEモジュールおよび前記データ転送モジュールは、互いに独立している。このようにして、IPSecセッションの確立を早めることができ、IPSec処理の柔軟性を高めることができる。前述の有益な効果は、高密度アクセスシナリオにおける無線ローカルエリアネットワーク(英語:Wireless Local Area Networks、WLANと略す)において比較的明白である。
【００４７】
前述の実施形態に基づいて、実装方式において、IKEモジュールは、アクセラレータカードのフィールドプログラマブルゲートアレイ(英語:Field-Programmable Gate Array、FPGAと略す)上に配置されてもよい。この実装方式において、S101は、前記IKEモジュールによって、モンゴメリ(Montgomery)アルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman(英語:diffie hellman、DHと略す)鍵値を計算し、前記IKEリンクの確立セッションパケットを生成することを含んでもよい。ゴーゴルは、例えば、1024ビット(bit)、または2048ビット等である。IKEモジュールは、アクセラレータカードのFPGAチップ上に配置され、ゴーゴル生成およびDHキー値計算等の時間消費を削減する。
【００４８】
さらに、Gx8072プロセッサでは、MiCAモジュールがIKEリンクの確立とデータパケットの転送を完了することに留意されたい。MiCAモジュールは、40Gbps IPSec/セキュア・ソケット・レイヤー(英語:Secure Sockets Layer、SSLと略す)プロトコル処理能力を有する。すべてのIPSec作業は、MiCAモジュールに配信され、MiCAモジュールによって完了される。実際のシナリオでは、IPSec機能だけが必要な場合、MiCAモジュールの他の属性は不要であり、リソースの浪費とコストの増加を引き起こす。さらに、MiCAモジュールはIPSecを処理し、IKEリンクの確立速度およびデータパケット転送帯域幅能力は固定値であり、必要に応じて増加させることはできない。本発明の本実施形態では、IKEモジュールはFPGAチップ上に配置されているため、IKEリンクの確立速度は必要に応じて変化することができ、従って必要に応じて増加させることができる。
【００４９】
この実装方式において、IKEモジュールは、アクセラレーションデバイスに配置される。アクセラレータカードのFPGAチップは、実施例に過ぎず、本発明はこれに限定されない。
【００５０】
さらに、S103は、前記IKEモジュールによって、リモートダイレクトメモリアクセス(英語:Remote Direct Memory Access、RDMAと略す)または予め設定されたプロトコルにより、SAを前記データ転送モジュールに書き込むステップを含んでもよい。例えば、SAは、データ転送モジュールのメモリに書き込まれる。あるいは、S103は、前記IKEモジュールによって、RDMAまたは予め設定されたプロトコルにより、SAを制御モジュールに書き込むステップと、前記制御モジュールを使用して、SAを前記データ転送モジュールに転送するステップを含んでもよい。任意選択で、IKEモジュールは、RDMAまたは予め設定されたプロトコルによって、セキュリティポリシーを前記データ転送モジュールにさらに書き込んでもよい。IKEモジュールがRDMAによりSAをデータ転送モジュールのメモリに書き込むことによってSAを送信するとき、送信速度は20Gbpsを超えることがある。
【００５１】
予め設定されたプロトコルの具体的な種類は、本発明では限定されない。例えば、SAは、任意のプライベートまたはパブリックプロトコルを使用することによって、IKEモジュールとデータ転送モジュールとの間で送信されてもよい。
【００５２】
図2に示されるように、RDMAは、IKEモジュール11がどのようにSA/セキュリティポリシーをデータ転送モジュール12に書き込むかを説明するための実施例として使用される。IKEモジュール11は、プロセッサ(例えば、CPU)111、プロセッサ111に接続されたメモリ(例えば、RAM)(図示せず)、ネットワークアダプタ(Network Interface Card、NICと略す)112を含む。データ転送モジュール12は、プロセッサ(例えば、CPU)121、プロセッサ121に接続されたメモリ(例えば、ランダムアクセスメモリRAM)(図示せず)、およびNIC 122を含む。ネットワークアダプタは、ネットワークインタフェースカードとも呼ばれる。RDMAプロセスは以下のとおりである。
【００５３】
S201: プロセッサ111は、バスおよびインタフェース規格(PCI-E)に従って、前記IKEモジュール11のメモリに設定されたSA/セキュリティポリシーをNIC 112に書き込む。
【００５４】
NIC 112に書き込まれるデータは、前記SA/セキュリティポリシーが記憶されるメモリ開始アドレスと、SA/セキュリティポリシーの長さ等を含む。
【００５５】
なお、本実施形態において、RDMAは、モジュール間のデータ送信を説明するための実施例として使用されており、従って、PCI-Eバスインタフェースが使用されている。他の予め設定されたプロトコル、例えばプロプライエタリプロトコルが使用される場合、バスインタフェースタイプは本発明において限定されず、PCI-Eバスインタフェースまたは他のバスインタフェースであってもよい。
【００５６】
S202: NIC 112は、RDMA書き込み要求をNIC 122に送信する。
【００５７】
RDMA書き込み要求はSA/セキュリティポリシーを搬送する。RDMA書き込み要求に対応する機能は、例えば、Write(local_buf、size、remote_addr)であり、local_bufは、SA/セキュリティポリシーがNIC 112内でバッファされる場所を表すために使用され、sizeは、SA/セキュリティポリシーの長さを表すために使用され、remote_addrはリモート宛先アドレス、すなわちSA/セキュリティポリシーがNIC 122に書き込まれるアドレスを表すために使用される。
【００５８】
S203: プロセッサ121は、PCI-Eダイレクトメモリアクセス(Direct Memory Access、DMAと略す)によって、データ転送モジュール12のメモリにNIC 122内のSA/セキュリティポリシーを書き込む。
【００５９】
従来技術では、PlutoがユーザモードからカーネルモードにSAを書き込むのに比較的時間がかかる。しかし、本実施形態では、IKEモジュールは、オペレーティングシステムに影響を与えることなく、SAをRDMAによってリモートデータ転送モジュールに迅速に転送する。このようにして、コンピュータの処理機能はほとんど使用されない。RDMAは外部メモリでの複製動作とテキスト交換動作を回避するので、メモリ帯域幅と中央処理ユニット(英語:Central Processing Unit、CPU)の期間がリリースされ、アプリケーションシステムのパフォーマンスを向上させることができる。
【００６０】
前述の実施形態において、前記IKEモジュールは、前記IKEリンクの確立セッションパケットを前記ピアデバイスに送信し、前記ピアデバイスとのSAを確立する。これに対応して、ピアデバイス側の対応するプロセスを以下で説明する。
【００６１】
図3は、本発明によるIPSecアクセラレーション方法の実施形態2のフローチャートである。本発明の本実施形態は、IPSecアクセラレーション方法を提供する。当該方法は、IPSecアクセラレーション方法を実行する任意の装置によって実行されてもよく(本実施形態において、実施例としてIKEモジュールを使用し説明する)、当該装置は、ソフトウェアおよび/またはハードウェアを使用して実装されてもよい。図3に示されるように、当該方法は以下のステップを含む。
【００６２】
S301: IKEモジュールは、IKEリンクの確立セッションパケットを受信する。
【００６３】
S302: 前記IKEモジュールは、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのSAを確立する。
【００６４】
S303: 前記IKEモジュールは、前記SAをデータ転送モジュールに送信する。前記IKEモジュールおよび前記データ転送モジュールは、ディスクリートモジュールである。
【００６５】
図3に示される実施形態と図1に示される実施形態はピアプロセスである。図1に示される実施形態は、IKEネゴシエーションを開始するエンドで実装され、図3に示される実施形態は、IKEネゴシエーションに応答するエンドで実装される。従って、図3の実施形態の実装原理および技術的効果は、図1の実施形態のそれらと同様であり、ここでは再度説明しない。
【００６６】
任意選択で、前記IKEモジュールは、アクセラレータカードのFPGAチップ上に配置される。S302は、前記IKEモジュールによって、モンゴメリアルゴリズムを使用して、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従って、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットの前記送信デバイスとの前記SAを確立するステップを含んでもよい。
【００６７】
実施形態において、S303は、前記IKEモジュールによって、RDMAまたは予め設定されたプロトコルによってSAを前記データ転送モジュールに書き込むステップを含んでもよい。
【００６８】
他の実施形態において、S303は、前記IKEモジュールによって、RDMAまたは予め設定されたプロトコルによって、SAを制御モジュールに書き込み、前記制御モジュールを使用して、SAを前記データ転送モジュールに転送するステップを含んでもよい。
【００６９】
前述の実施形態において、前記IKEモジュールは、前記SAを前記データ転送モジュールに送信する。これに対応して、データ転送モジュール側の処理フローを以下に説明する。
【００７０】
図4は、本発明によるIPSecアクセラレーション方法の実施形態3のフローチャートである。本発明の本実施形態は、IPSecアクセラレーション方法を提供する。当該方法は、IPSecアクセラレーション方法を実行する任意の装置によって実行されてもよく(本実施形態において、実施例としてデータ転送モジュールを使用し説明する)、当該装置は、ソフトウェアおよび/またはハードウェアを使用して実装されてもよい。図4に示されるように、当該方法は以下のステップを含む。
【００７１】
S401: データ転送モジュールはデータパケットを受信する。前記データ転送モジュールは、アクセラレータカードのFPGAチップ上に配置される。
【００７２】
S402: データ転送モジュールは、SAに従って前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得る。
【００７３】
S403: データ転送モジュールは、対象パケットを転送する。
【００７４】
シナリオでは、データ転送モジュールは、サブネットデバイスによって送信された第1のデータパケットを受信し、SAに従って第1のデータパケットに対して暗号化およびカプセル化処理を実行し、得られたパケットをピアデバイスに転送する。
【００７５】
他のシナリオでは、データ転送モジュールは、ピアデバイスによって送信された第2のデータパケットを受信し、SAに従って第2のデータパケットの復号化およびデカプセル化処理を実行し、得られたパケットをサブネットデバイスに転送する。
【００７６】
サブネットデバイスは、データ転送モジュールが組み込まれたデバイスによってサービスされるローカルエリアネットワークデバイスである。ピアデバイスは、ローカルエリアネットワークの外部にあり、データ転送モジュールが組み込まれているデバイスと通信するデバイスを含む。データパケットは、第1のデータパケットおよび第2のデータパケットを含む。対象パケットは、第1のデータパケットに対して暗号化およびカプセル化処理が実行されて得られたパケットと、第2のデータパケットに対して復号化およびデカプセル化処理が実行されたパケットとを含む。 
【００７７】
本実施形態と従来技術との違いは、本発明のデータ転送モジュールがアクセラレータカードのFPGAチップ上に配置されることである。このようにして、データ転送モジュールは、カプセル化セキュリティペイロード(英語:Encapsulation Security Payload、ESPと略す)プロトコルパケットまたは認証ヘッダ(英語:Authentication Header、AHと略す)プロトコルパケットを迅速に処理することができ、それによって、時間消費を削減し、IPSecのデータ転送処理を早め、IPSecアクセラレーションを実装する。すなわち、ESPプロトコルパケットとAHプロトコルパケットとがデータパケットに含まれる。
【００７８】
前述の実施形態において、S402の前に、IPSecアクセラレーション方法は、前記データ転送モジュールによって、前記IKEモジュールによるSAを書き込む動作を受け入れるステップをさらに含んでもよい。書き込みに使用される書き込み方式は、RDMAまたは予め設定されたプロトコルであり、前記データ転送モジュールおよび前記IKEモジュールは、ディスクリートモジュールである。
【００７９】
本発明の本実施形態では、IKEリンクの確立機能を実装するように構成されたモジュールと、データ転送機能を実装するように構成されたモジュールとが論理的に分離されている。すなわち、IKEリンクの確立はIKEモジュールを使用して実施され、データパケットはデータ転送モジュールを使用して転送される。前記IKEモジュールおよび前記データ転送モジュールは、互いに独立している。このようにして、IPSecセッションの確立を早めることができ、IPSec処理の柔軟性を高めることができる。前述の有益な効果は、高密度アクセスシナリオにおけるWLANにおいて比較的明らかである。さらに、従来技術では、PlutoがユーザモードからカーネルモードにSAを書き込むのに比較的時間がかかる。しかし、本実施形態では、IKEモジュールは、オペレーティングシステムに影響を及ぼすことなく、SAをRDMAによってリモートデータ転送モジュールに迅速に転送する。このようにして、コンピュータの処理機能はほとんど使用されない。RDMAは外部メモリでの複製動作とテキスト交換動作を回避するので、メモリ帯域幅とCPUの期間をリリースされ、アプリケーションシステムのパフォーマンスを向上させることができる。
【００８０】
図5は、本発明によるIKEモジュールの実施形態1の概略構造図である。本発明の本実施形態は、IKEモジュールを提供し、かつ当該モジュールは、ソフトウェアおよび/またはハードウェアを使用して実装されてもよい。図5に示されるように、IKEモジュール50は、処理ユニット51および送信ユニット52を備える。前記送信ユニット52は、第1の送信サブユニット521および第2の送信サブユニット522を備える。
【００８１】
前記処理ユニット51は、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、IKEリンクの確立セッションパケットを生成するように構成される。前記第1の送信サブユニット521は、前記IKEリンクの確立セッションパケットをピアデバイスに送信するように構成され、前記IKEモジュール50は、前記IKEリンクの確立セッションパケットを使用して、ピアデバイスとのSAを確立する。第2の送信サブユニット522は、前記SAをデータ転送モジュールに送信するように構成される(図示せず)。IKEモジュール50および前記データ転送モジュールは、ディスクリートモジュールである。
【００８２】
本実施形態における装置は、図1に示される方法の実施形態において技術的解決策を実装するように構成されてもよい。装置の実装原理および技術的効果は、図1に示される方法の実施形態におけるそれらと同様であり、ここでは再度説明しない。
【００８３】
任意選択で、前記IKEモジュール50は、アクセラレータカードのFPGAチップ上に配置される。処理ユニット51は、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従ってモンゴメリアルゴリズムを使用して、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットを生成するように特に構成されてもよい。
【００８４】
さらに、前記第2の送信サブユニット522は、RDMAまたは予め設定されたプロトコルによって、SAを前記データ転送モジュールに書き込むように特に構成されてもよい。あるいは、前記第2の送信サブユニット522は、RDMAまたは予め設定されたプロトコルによって、前記SAを制御モジュール(図示せず)に書き込み、かつ前記制御モジュールを使用して前記SAを前記データ転送モジュールに転送するように特に構成されてもよい。
【００８５】
図6は、本発明によるIKEモジュールの実施形態2の概略構造図である。本発明の本実施形態は、IKEモジュールを提供し、当該モジュールは、ソフトウェアおよび/またはハードウェアを使用して実装されてもよい。図6に示されるように、IKEモジュール60は、受信ユニット61、処理ユニット62および送信ユニット63を備える。
【００８６】
受信ユニット61は、IKEリンクの確立セッションパケットを受信するように構成される。前記処理ユニット62は、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのSAを確立するように構成される。前記送信ユニット63は、前記SAをデータ転送モジュール(図示せず)に送信するように構成される。前記IKEモジュールおよび前記データ転送モジュールは、ディスクリートモジュールである。
【００８７】
本実施形態における装置は、図3に示される方法の実施形態において技術的解決策を実装するように構成されてもよい。装置の実装原理および技術的効果は、図3に示される方法の実施形態におけるそれらと同様であり、ここでは再度説明しない。
【００８８】
さらに、前記IKEモジュール60は、アクセラレータカードのFPGAチップ上に配置されてもよい。前記処理ユニット62は、前記IPSec構成パラメータと、前記SPD内の前記セキュリティポリシーとに従ってモンゴメリアルゴリズムを使用して、IKEセッションリンク確立に必要なモジュラ乗算を同時に処理し、ゴーゴルを生成し、Diffie-Hellman鍵値を計算し、前記IKEリンクの確立セッションパケットの前記送信デバイスとの前記SAを確立するように特に構成されてもよい。
【００８９】
前記送信ユニット63は、RDMAまたは予め設定されたプロトコルによって、前記SAを前記データ転送モジュールに書き込むように特に構成されてもよい。あるいは、前記送信ユニット63は、RDMAまたは予め設定されたプロトコルによって、前記SAを制御モジュールに書き込み、かつ前記制御モジュールを使用して、前記SAを前記データ転送モジュールに転送するように特に構成されてもよい。
【００９０】
図7は、本発明によるデータ転送モジュールの実施形態1の概略構造図である。本発明の本実施形態は、データ転送モジュールを提供する。当該モジュールは、ソフトウェアおよび/またはハードウェアを使用して実装されてもよく、当該モジュールは、アクセラレータカードのFPGAチップ上に配置される。図7に示されるように、データ転送モジュール70は、受信ユニット71、処理ユニット72および送信ユニット73を備える。
【００９１】
受信ユニット71は、データパケットを受信するように構成される。前記処理ユニット72は、SAに従って、前記データパケットに対する暗号化/復号化アルゴリズムおよび認証方式の同時動作を実行し、対象パケットを得るように構成される。前記送信ユニット73は、対象パケットを転送するように構成される。
【００９２】
本実施形態における装置は、図4に示される方法の実施形態において技術的解決策を実装するように構成されてもよい。装置の実装原理および技術的効果は、図4に示される方法の実施形態におけるそれらと同様であり、ここでは再度説明しない。
【００９３】
任意選択で、前記データ転送モジュール70は、記憶ユニット(図示せず)をさらに備えてもよい。記憶ユニットは、IKEモジュールによってSAを書き込む動作を受け入れるように構成される。書き込みに使用される書き込み方式は、RDMAまたは予め設定されたプロトコルである。データ転送モジュールおよび前記IKEモジュールは、ディスクリートモジュールである。
【００９４】
図8は、本発明によるIPSecアクセラレーションシステムの実施形態1の概略構造図である。本発明の本実施形態は、IPSecアクセラレーションシステムを提供する。図8に示されるように、IPSecアクセラレーションシステム80は、IKEモジュール81およびデータ転送モジュール82を備える。前記IKEモジュール81および前記データ転送モジュール82は、異なるアクセラレーションデバイス(図示せず)上に独立して別々に配置される。IKEモジュール81とデータ転送モジュール82との間の接続は、有線接続または無線接続(例えば、ネットワーク接続)であってもよい。
【００９５】
前記IKEモジュール81は、IKEリンクの確立を実行するように構成される。データ転送モジュール82は、データパケットを転送するように構成される。
【００９６】
具体的には、IPSecアクセラレーションシステム80がIPSecのプロアクティブエンド(開始エンド)として機能するとき、IKEモジュール81は、具体的には、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、IKEリンクの確立セッションパケットを生成し、前記IKEリンクの確立セッションパケットをピアデバイスに送信し、ピアデバイスとのSAを確立し、SAを前記データ転送モジュール82に送信するように構成される。この場合、データ転送モジュール82は、サブネットデバイスによって送信された第1のデータパケットを受信し、SAに従って第1のデータパケットに対して暗号化及びカプセル化処理を実行し、得られたパケットを前記ピアデバイスに転送し；前記ピアデバイスによって送信された第2のデータパケットを受信し、SAに従って第2のデータパケットに対して復号化およびデカプセル化処理を実行し、得られたパケットを前記サブネットデバイスに転送するように構成される。サブネットデバイスは、データ転送モジュール82が組み込まれたデバイスによってサービスされるローカルエリアネットワークデバイスである。
【００９７】
IPSecアクセラレーションシステム80がIPSecのリアクティブエンド(非開始エンド)として機能するとき、IKEモジュール81は、具体的には、IKEリンクの確立セッションパケットを受信し、IPSec構成パラメータと、SPD内のセキュリティポリシーとに従って、前記IKEリンクの確立セッションパケットの送信デバイスとのSAを確立し、SAをデータ転送モジュール82に送信するように構成される。データ転送モジュール82は、送信デバイスによって送信された第1のデータパケットを受信し、SAに従って第1のデータパケットの復号化およびデカプセル化処理を実行し、得られたパケットをサブネットデバイスに転送し、サブネットデバイスによって送信された第2のデータパケットを受信し、前記SAに従って第2のデータパケットに対して暗号化及びカプセル化処理を実行し、得られたパケットを送信デバイスに転送するように構成される。サブネットデバイスは、データ転送モジュール82が組み込まれたデバイスによってサービスされるローカルエリアネットワークデバイスである。
【００９８】
当業者は、第1のデータパケットおよび第2のデータパケットのそれぞれを、ESPプロトコルパケット、またはAHプロトコルパケット等として理解することができる。本発明の任意の実施形態では、「第1」および「第2」は、異なるデータパケットを区別するためだけであり、データパケットの第1およびデータパケットの第2を示すのに使用されないことにも留意されたい。
【００９９】
従来技術では、IKEリンクの確立とデータ転送の両方が単一の仮想マシンまたは物理マシンによって完了され、IPSec速度の低下を引き起こしている。本発明の本実施形態では、IKEリンクの確立機能を実装するように構成されたモジュールと、データ転送機能を実装するように構成されたモジュールが論理的に分離されている。すなわち、IKEリンクの確立はIKEモジュールを使用して実装され、データパケットはデータ転送モジュールを使用して転送される。前記IKEモジュールおよび前記データ転送モジュールは、互いに独立しており、異なるアクセラレーションデバイスに別々に配置される。このようにして、IPSecセッションの確立を早めることができ、例えば、ゴーゴル生成とDH鍵値計算のための時間消費を減らすことができる。さらに、IPSec処理の柔軟性を高めることができる。前述の有益な効果は、高密度アクセスシナリオにおけるWLANにおいて比較的明らかである。
【０１００】
前述の実施形態において、前記データ転送モジュール82は、データパケットAH認証等の計算を実行するように構成されてもよい。データ転送モジュール82の具体的な機能については、例えば、従来技術におけるLinuxカーネルによるデータパケットの処理を参照し、詳細はここでは説明しない。
【０１０１】
図9は、本発明によるIPSecアクセラレーションシステムの実施形態2の概略構造図である。図9に示されるように、図8に示される実施形態に基づいてIPSecアクセラレーションシステム90は、分類モジュール91をさらに備えてもよい。分類モジュール91は、パケットを受信し、予め設定された分類ポリシーを検索し、パケットを配信するように構成されてもよい。受信されかつ配信されるパケットは、前記IKEリンクの確立セッションパケットおよびデータパケットを含む。
【０１０２】
具体的には、分類モジュール91は、予め設定された分類ポリシー、例えばアクセス制御リスト(Access Control List、ACLと略す)規則を検索する。ACL規則は、ソースIPアドレス、ソースポート、宛先IPアドレス、宛先ポート、およびパケットのプロトコル番号を含む。宛先アドレスがIKEモジュールで宛先ポート番号が500または4500のパケットがIKEモジュールに送信される。宛先アドレスがデータ転送モジュールであるパケットは、データ転送モジュールに送信される。図9を参照すると、この実施例は、具体的にACLに反映された場合、以下の内容で表現されてもよい:
条件1:宛先IPアドレスがIKEモジュールで宛先ポート番号が500のパケット；アクション1:第2のポートからIKEモジュール81への転送、
条件2:宛先IPアドレスがIKEモジュールで宛先ポート番号が4500のパケット；アクション2:第2のポートからIKEモジュール81への転送、および
条件3:宛先IPアドレスがIPSec保護サブネットデバイスのIPアドレスであるパケット；アクション3:第3のポートからデータ転送モジュール82への転送。
【０１０３】
さらに、IPSecアクセラレーションシステム90は、制御モジュール92をさらに備えてもよい。制御モジュール92は、IPSec構成パラメータを前記IKEモジュール81に送信するように構成されてもよい。任意選択で、制御モジュール92は、予め設定された分類ポリシーを分類モジュール91に送信するようにさらに構成されてもよい。また、分類モジュール91は、処理のために、上述していないパケットを制御モジュール92に送信する。
【０１０４】
図9に示される構造の実施形態に基づいて、いくつかの具体的な実施形態を使用して、本発明の実施形態におけるIPSecアクセラレーション方法について詳細な説明を以下に提供する。
【０１０５】
実施形態において、前記IKEモジュール81は、SAデータベースおよびセキュリティポリシーデータベースを維持する。図10は、本発明によるIPSecアクセラレーション方法の実施形態4のフローチャートである。図10に示されるように、当該方法は、以下のステップを含む。
【０１０６】
S1001: 制御モジュール92は、予め設定された分類ポリシーを分類モジュール91に送信する。
【０１０７】
S1002: 制御モジュール92は、IPSec構成パラメータを前記IKEモジュール81に送信する。
【０１０８】
S1001およびS1002は、任意選択のステップである。
【０１０９】
S1003: 分類モジュール91は、パケットを受信する。
【０１１０】
S1004: 分類モジュール91は、予め設定された分類ポリシーに従ってパケットの受信エンドを決定する。パケットの宛先アドレスがIKEモジュール81であり、パケットのポート番号が500または4500である場合、S1005からS1007が実行される。パケットの宛先アドレスがデータ転送モジュール82であ場合、S1008からS1009が実行される。他のパケットは、制御モジュール92に送信され、制御モジュール92は、例えばパケットを破棄する処理を実行する。
【０１１１】
S1005: 分類モジュール91は、パケットを前記IKEモジュール81に送信する。
【０１１２】
このステップにおいて、パケットは、IKEリンクの確立セッションパケットとして理解されてもよい。
【０１１３】
S1006: 前記IKEモジュール81は、パケットを使用しピアデバイスとのSAを確立する。
【０１１４】
S1007: 前記IKEモジュール81は、前記SA/セキュリティポリシーを前記データ転送モジュール82に送信する。
【０１１５】
S1008:分類モジュール91は、パケットを前記データ転送モジュール82に送信する。
【０１１６】
このステップにおいて、パケットは、例えば、上述した第1のデータパケットおよび第2のデータパケットのようなデータパケットとして理解されてもよい。
【０１１７】
S1009: データ転送モジュール82は、確立されたSAに従ってパケットを転送する。
【０１１８】
具体的には、データ転送モジュール82は、ピアデバイス(例えば、上述の送信デバイス)によって送信された第1のデータパケットを受信し、SAに従って第1のデータパケットに対して復号化およびデカプセル化処理を実行し、得られたパケットをサブネットデバイスに転送する。あるいは、データ転送モジュール82は、サブネットデバイスによって送信された第2のデータパケットを受信し、SAに従って第2のデータパケットに対して暗号化およびカプセル化処理を実行し、得られたパケットをピアデバイスに転送する。サブネットデバイスは、データ転送モジュール82が組み込まれたデバイスによってサービスされるローカルエリアネットワークデバイスである。
【０１１９】
前述の実施形態において、前記IKEモジュール81は、前記SAデータベースおよびセキュリティポリシーデータベースを維持する。
【０１２０】
他の実施形態において、前記制御モジュール92は、SAデータベースおよびセキュリティポリシーデータベースを維持する。図11は、本発明によるIPSecアクセラレーション方法の実施形態5のフローチャートである。図11に示されるように、当該方法は、以下のステップを含む。
【０１２１】
S111: 制御モジュール92は、予め設定された分類ポリシーを分類モジュール91に送信する。
【０１２２】
S112: 制御モジュール92は、IPSec構成パラメータを前記IKEモジュール81に送信する。
【０１２３】
S111およびS112は、任意選択のステップである。
【０１２４】
S113: 分類モジュール91は、パケットを受信する。
【０１２５】
S114: 分類モジュール91は、予め設定された分類ポリシーに従ってパケットの受信エンドを決定する。パケットの宛先アドレスがIKEモジュール81であり、パケットのポート番号が500または4500である場合、S115からS118が実行される。パケットの宛先アドレスがデータ転送モジュール82である場合、S119からS120が実行される。他のパケットは、制御モジュール92に送信され、制御モジュール92は、例えばパケットを破棄する処理を実行する。
【０１２６】
S115: 分類モジュール91は、パケットを前記IKEモジュール81に送信する。
【０１２７】
このステップにおいて、パケットは、IKEリンクの確立セッションパケットとして理解されてもよい。
【０１２８】
S116: 前記IKEモジュール81は、パケットを使用してピアデバイスとのSAを確立する。
【０１２９】
S117: 前記IKEモジュール81は、SAを前記制御モジュール92に送信する。
【０１３０】
S118: 制御モジュール92は、前記SAを前記データ転送モジュール82に送信する。
【０１３１】
S119: 分類モジュール91は、パケットを前記データ転送モジュール82に送信する。
【０１３２】
このステップにおいて、パケットは、例えば、上述した第1のデータパケットおよび第2のデータパケットのようなデータパケットとして理解されてもよい。
【０１３３】
S120: データ転送モジュール82は、確立されたSAに従ってパケットを転送する。
【０１３４】
本実施形態において、前記IKEモジュール81は、まず前記SAを前記制御モジュール92に送信し、次いで前記制御モジュール92は、前記SAを前記データ転送モジュール82に送信する。制御モジュール92は、前記SAデータベースを管理する。
【０１３５】
RDMAおよび/または予め設定されたプロトコルは、異なるモジュール間、例えば前記IKEモジュール81と前記データ転送モジュール82との間のSA送信、前記IKEモジュール81と前記制御モジュール92との間のSA送信、または前記制御モジュール92と前記データ転送モジュール82との間のSA送信といったデータ送信のために使用されてもよい。これは、本発明では限定されない。
【０１３６】
なお、本発明の実施形態におけるIPSecアクセラレーションシステムは、少なくとも以下の3つのタイプを含んでもよい。タイプ1:図5に示されるIKEモジュールおよび図7に示されるデータ転送モジュールが含まれる。タイプ2:図6に示される前記IKEモジュールおよび図7に示される前記データ転送モジュールが含まれる。タイプ3:図5に示される前記IKEモジュール、図6に示される前記IKEモジュール、および図7に示される前記データ転送モジュールが含まれる。
【０１３７】
当業者であれば、方法の実施形態のステップのすべてまたは一部が、関連するハードウェアに命令するプログラムによって実装され得ることを理解することができる。プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。プログラムが実行されると、方法の実施形態のステップが実行される。上記記憶媒体には、ROM、RAM、磁気ディスク、光ディスク等のプログラムコードを記憶可能な任意の媒体を含む。
【０１３８】
最後に、前述の実施形態は、本発明の技術的解決策を説明するためのものであって、本発明を限定するものではないことに留意すべきである。本発明は、前述の実施形態を参照して詳細に説明されているが、当業者であれば、本発明の実施形態の技術的解決策の範囲から逸脱することなく、前述の実施形態に記載された技術的解決策をさらに変更を加え、その一部またはすべての技術的特徴を均等に置換することができることは理解されるべきでる。
【符号の説明】
【０１３９】
１１  ＩＫＥモジュール
１２  データ転送モジュール
１１１  プロセッサ
１１２  ＮＩＣ
１２１  プロセッサ
１２２  ＮＩＣ
５０  ＩＫＥモジュール
５１  処理ユニット
５２  送信ユニット
５２１  第１の送信サブユニット
５２２  第２の送信サブユニット
６０  ＩＫＥモジュール
６１  受信ユニット
６２  処理ユニット
６３  送信ユニット
７０  データ転送モジュール
７１  受信ユニット
７２  処理ユニット
７３  送信ユニット
８０  IPSecアクセラレーションシステム
８１  ＩＫＥモジュール
８２  データ転送モジュール
９０  ＩＰＳｅｃアクセラレーションシステム
９１  分類モジュール
９２  制御モジュール
【図１】
0006617984.tif 000002
【図２】
0006617984.tif 000003
【図３】
0006617984.tif 000004
【図４】
0006617984.tif 000005
【図５】
0006617984.tif 000006
【図６】
0006617984.tif 000007
【図７】
0006617984.tif 000008
【図８】
0006617984.tif 000009
【図９】
0006617984.tif 000010
【図１０】
0006617984.tif 000011
【図１１】
0006617984.tif 000012