JP2000315997A - 暗号通信方法及びノード装置 - Google Patents

暗号通信方法及びノード装置

Info

Publication number
JP2000315997A
JP2000315997A JP12393799A JP12393799A JP2000315997A JP 2000315997 A JP2000315997 A JP 2000315997A JP 12393799 A JP12393799 A JP 12393799A JP 12393799 A JP12393799 A JP 12393799A JP 2000315997 A JP2000315997 A JP 2000315997A
Authority
JP
Japan
Prior art keywords
packet
encryption
processing
identifier
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP12393799A
Other languages
English (en)
Inventor
Yoshihiro Oba
義洋 大場
Kazuo Nogami
和男 野上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP12393799A priority Critical patent/JP2000315997A/ja
Publication of JP2000315997A publication Critical patent/JP2000315997A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 復号化ノード側におけるパケットの順序保証
を考慮した暗号処理の並列化を可能とする暗号通信方法
を提供すること。 【解決手段】 暗号側ノード1は、同一の暗号化アルゴ
リズム・鍵情報を適用して暗号処理を行うべきパケット
に、そのパケットヘッダの特定の1個以上のフィールド
をハッシュキーとして得たハッシュ値毎に異なる識別子
(SPI)を付与する。順序保証を必要とするパケット
には同一の識別子が割り当てられる。暗号側ノード1
は、該識別子に基づいて並列実行可能な複数の暗号処理
装置7の一つを選択し、パケットを暗号化して復号側ノ
ード2に向けて送信する。復号側ノード2は、暗号側ノ
ード1から受信したパケットに付与された識別子(SP
I)に基づいて並列実行可能な複数の暗号処理装置8の
一つを選択し、該識別子により示される暗号化アルゴリ
ズム・鍵情報を用いて該パケットを復号化する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケットを暗号処
理して通信する暗号通信方法及び暗号通信を行うノード
装置に関する。
【0002】
【従来の技術】パケットをFIFO(First−In
First−Out)オーダで処理し且つパケットが
入力されてから出力されるまでの系内時間が一定でない
ようなパケット処理系を複数配置して、それらの間で並
列処理を行うシステム(可変処理時間並列処理システ
ム)を考える。
【0003】このような可変処理時間並列処理システム
では、複数のパケットを並列に処理する結果、系に入る
前と後とでパケットの順序逆転が生じる可能性がある。
したがって、並列処理する場合には、パケットの順序逆
転を防ぐために、(1)システムの出口において、複数
のパケット処理系の間でパケット順序の並べ替えを行う
方法、または、(2)順序保存が必要なパケットは同一
のパケット処理系で処理する方法、のいずれかの方法が
とられる。
【0004】上記(1)の方法は、高度に並列化できる
反面、並列処理システムの出口でパケットのキューイン
グやソーティングといった複雑な処理が必要となるた
め、通常は(2)の方法が使用される。
【0005】上記(2)の方法による並列化を行うシス
テムの一例として、文献「インターネットドラフト“d
raft−ietf−ospf−omp−02.tx
t”」に開示されたものがある。この文献には、あるノ
ードからある宛先ネットワークプレフィクスに対する経
路が複数存在し、これらの経路のいずれも使用可能な
「マルチパスフォワーディング」の方法が述べられてい
る。同文献では、概略的には、複数の経路のそれぞれを
上記可変処理時間並列処理システムにおける1つのパケ
ット処理系とみなし、パケットヘッダ中の送信元アドレ
スと宛先アドレスとの組からハッシュ値を計算し、ハッ
シュ値が同じパケットは同じ経路で転送することにより
(すなわち同じパケット処理系で処理することによ
り)、パケットの順序保証を考慮した並列処理を実現し
ている。
【0006】以下、上記のようなパケット処理の並列化
を、パケットの暗号処理(暗号化や復号化)に適用した
場合の問題点について説明する。
【0007】図20において、101,111は暗号化
側ノード(アドレスE1,E3)、102は復号化側ノ
ード(アドレスE2)、109,110,119はホス
ト(H1,H2,H3)、105,106,115はノ
ードE1,2,3側のネットワーク(の集合)、10
7,108は暗号処理装置である。暗号化側ノードは複
数の暗号化装置を持ち、復号化側ノードは複数の復号化
装置を持つ。なお、一般に、暗号化装置と復号化装置は
両者が組になって1つの暗号処理装置を構成する。
【0008】ここで、1つの暗号処理装置を1つのパケ
ット処理系とみなすと、このパケット処理系におけるパ
ケット処理時間は、パケット長が大きいほど暗号処理
(暗号化や復号化)に長時間を要する。このため、複数
の暗号処理装置を用いてパケットの暗号処理の並列化を
行うシステムは、1つの可変処理時間並列処理システム
を形成するとみなすとことができる。
【0009】そこで、図20のシステムを見てみると、
暗号化側ノードにおける複数の暗号処理装置(SP)を
並列化した場合、これが1つの可変処理時間並列処理シ
ステムに該当し、同様に、復号化側ノードにおける複数
の暗号処理装置(SP)を並列化した場合、これが1つ
の可変処理時間並列処理システムに該当する。
【0010】この場合、暗号化側ノードでは、上記マル
チパスフォワーディングの場合と同様に、パケットのヘ
ッダ情報から計算されたハッシュ値をもとに、パケット
の順序保証を考慮した並列化が期待できる。
【0011】ところが、文献「インターネットRFC2
401」で定義されるIPsecのトンネルモードのよ
うに、(暗号化前の)パケットのヘッダも暗号化するよ
うな場合には、復号化側においては、パケットのヘッダ
情報は暗号化されており参照できないため、ハッシュ値
を計算できず、パケットの順序保証を考慮した復号化処
理の並列化を行うことができないという問題点があっ
た。
【0012】
【発明が解決しようとする課題】上記のように、暗号通
信において、1つの暗号処理装置を1つのパケット処理
系とみなした可変処理時間並列処理システムを考えた場
合、IPsecのトンネルモードのように(暗号化前
の)パケットのヘッダも暗号化するような方式では、復
号化側において、パケットのヘッダ情報を参照できない
ため、パケットの順序保証を考慮した復号化処理/認証
処理の並列化を行うことができないという問題点があっ
た。
【0013】本発明は、上記事情を考慮してなされたも
ので、復号化ノード側におけるパケットの順序保証を考
慮した暗号処理の並列化を可能とする暗号通信方法及び
ノード装置を提供することを目的とする。
【0014】
【課題を解決するための手段】本発明(請求項1)は、
送信側ノード装置と並列実行可能な複数の暗号処理装置
を備えた受信側ノード装置との間でパケットを暗号処理
して通信する暗号通信方法において、前記送信側ノード
装置は、同一の暗号化アルゴリズムおよび鍵情報を適用
して暗号処理を行うべき複数のパケットに、そのパケッ
トが属するグループ毎に異なる識別子を付与し、前記暗
号化アルゴリズムおよび鍵情報を適用して第1の暗号処
理を施した、前記識別子のパケットを前記受信側ノード
装置に向けて送信し、前記受信側ノード装置は、前記送
信側ノード装置から受信したパケットに付与された前記
識別子に基づいて、前記複数の暗号処理装置のうちの一
つを選択し、前記識別子により示される暗号化アルゴリ
ズムおよび鍵情報を適用した、該パケットに対する前記
第1の暗号処理に対応する第2の暗号処理を、選択され
た前記暗号処理装置を用いて行うことを特徴とする。
【0015】第1の暗号処理は、例えば、暗号化および
または認証情報付与であり、第2の暗号処理は、例え
ば、復号化およびまたは認証である。識別子は、例え
ば、セキュリティパラメータインデックス(SPI)で
ある。暗号処理装置は、送信側においては、例えば、暗
号化およびまたは認証情報付与の機能を有し、受信側に
おいては、例えば、復号化およびまたは認証の機能を有
する。識別子が同一のパケットは、同一の暗号処理装置
で処理される。また、識別子が異なるパケットは並列処
理することができる。
【0016】好ましくは、前記暗号側ノード装置は、前
記パケットの識別子に基づいて、並列実行可能な複数の
暗号処理装置のうちから、該パケットを処理させるもの
を選択するようにしてもよい。
【0017】好ましくは、前記暗号側ノード装置は、順
序保証を必要とする同一のパケットストリームに所属す
るパケットには同一の識別子を割り当てるするようにし
てもよい。
【0018】好ましくは、前記暗号側ノード装置は、前
記パケットのパケットヘッダに含まれる特定の1個以上
のフィールドをハッシュキーとして得たハッシュ値に対
応して前記異なる識別子を割り当てるようにしてもよ
い。
【0019】好ましくは、前記ハッシュキーとして選択
可能なフィールドは、送信元アドレス、宛先アドレス、
プロトコル番号、送信元ポート番号、宛先ポート番号の
任意の組み合わせであるようにしてもよい。
【0020】好ましくは、同一の暗号化アルゴリズムお
よび鍵情報が適用されるパケットストリームを規定する
パケットヘッダの特定の1個以上のフィールドと、前記
ハッシュキーとして使用されるパケットヘッダの特定の
1個以上のフィールドとを異ならせるようにしてもよ
い。
【0021】好ましくは、前記送信側ノード装置と前記
受信側ノード装置との間で、前記識別子と適用すべき暗
号化アルゴリズムおよび鍵情報との間の関係に関する設
定をプロトコルで自動的に行ってもよい。
【0022】好ましくは、前記識別子を記入する前記パ
ケットの暗号化されないヘッダ内のフィールド(例え
ば、SPIフィールド)を、適用すべき暗号化アルゴリ
ズムおよび鍵情報を特定可能な情報を記述する第1のフ
ィールドおよび前記ハッシュ値を記述する第2のフィー
ルドの少なくとも2つのフィールドに分割するようにし
てもよい。あるいは、好ましくは、前記ハッシュ値を示
す情報を、前記パケットの暗号化されないヘッダ内の、
前記暗号化アルゴリズムおよび鍵情報を示す情報を記入
するフィールド(例えば、SPIフィールド)以外の部
分(例えば、TOSフィールド、Priority C
lassフィールド、フローラベルフィールド、Lab
el Stack EntryのExpフィールド)に
記入するようにしてもよい。なお、上記のいずれの場合
においても、好ましくは、前記送信側ノード装置と前記
受信側ノード装置との間で、前記フィールドに記述する
値(前者では前記第1のフィールドに記述する値のみで
よい、後者では該第1のフィールドに相当する前記フィ
ールドに記述する値)と適用すべき暗号化アルゴリズム
および鍵情報との対応に関する設定をプロトコルで自動
的に行ってもよい。また、好ましくは、前者の場合にお
いて、前記暗号側ノード装置と前記復号側ノード装置と
の間で、前記識別子と適用すべき暗号化アルゴリズムお
よび鍵情報との対応に関する設定をプロトコルで自動的
に行う場合に、前記第1のフィールドと前記第2のフィ
ールドとのフィールド境界の情報をも該プロトコルで交
換するようにしてもよい。上記のいずれの場合において
も、ハッシュ値を示す情報を記述するフィールド(前者
では前記第2のフィールド、後者では例えばTOSフィ
ールド等の当該フィールド)に記述する個々の値(すな
わち、個々のハッシュ値)についてネゴシエーションす
ることは不要となる。また、暗号化アルゴリズムや鍵情
報等の設定や特定とは独立して、複数の暗号処理装置へ
の処理の割付が可能となる(暗号化時、復号化時に、パ
ケットの順序保証を考慮した暗号処理の並列化が可能と
なる)。
【0023】好ましくは、前記暗号側ノード装置と前記
復号側ノード装置との間で、前記識別子と適用すべき暗
号化アルゴリズムおよび鍵情報との対応に関する設定を
プロトコルで自動的に行う場合に、並列処理が可能な暗
号処理装置の台数に関するネゴシエーションをも行い、
前記暗号側ノード装置および前記復号側ノード装置の両
方の暗号処理装置の台数の情報を用いて、取り得るハッ
シュ値の範囲を決定するようにしてもよい。例えば、
(例えば、両者の暗号処理装置の数の最小公倍数−1を
ハッシュ値の範囲とするようにしてもよい。
【0024】好ましくは、並列して配置する複数の暗号
処理装置は、並列配置が可能な任意のパケット処理装置
と組にしてもよい。
【0025】好ましくは、暗号処理とレイヤ3のパケッ
トフォワーディングテーブル検索処理とをペアにして並
列処理するようにしてもよい。あるいは、暗号装置とフ
ォワーディングテーブル検索装置とを1つのパケット処
理装置とし、それらを複数配置して1つの並列処理シス
テムを構成してもよい。
【0026】好ましくは、前記暗号側ノード装置におけ
る暗号処理は暗号化およびまたは認証情報付与であり、
前記復号側ノード装置における暗号処理は復号化および
または認証であるようにしてもよい。例えば、IPse
cの場合には、暗号化はESPにより可能であり、認証
はESPあるいはAHにより可能である。
【0027】また、本発明は、例えばIPsecに適用
可能であり、またその他、IPsecのSA識別情報に
相当する情報をパケットに付加するような任意のレイヤ
のセキュリティプロトコルに対して適用可能である。
【0028】本発明(請求項12)は、パケットを暗号
処理して送信するノード装置において、同一の暗号化ア
ルゴリズムおよび鍵情報を適用して暗号処理を行うべき
複数のパケットに、当該複数のパケットのうちの一部の
パケットとその他の一部のパケットとで異なる識別子を
割り当てる割当手段と、前記暗号化アルゴリズムおよび
鍵情報を適用して暗号処理を施したパケットに、前記識
別子を暗号化せずに付加する手段とを備えたことを特徴
とする。
【0029】好ましくは、前記割当手段は、順序保証を
必要とする同一のパケットストリームに所属するパケッ
トには同一の識別子を割り当てるようにしてもよい。
【0030】好ましくは、前記割当手段は、前記パケッ
トのパケットヘッダに含まれる特定の1個以上のフィー
ルドをハッシュキーとして得たハッシュ値に対応して前
記異なる識別子を割り当てるようにしてもよい。
【0031】本発明(請求項15)は、第1の暗号処理
を施されたパケットを受信し、該パケットに対して該第
1の暗号処理に対応する第2の暗号処理を施すノード装
置において、パケットに付与されている識別子と、該パ
ケットに適用する暗号化アルゴリズムおよび鍵情報とを
対応付けて記憶する記憶手段と、パケットに対して前記
第2の暗号処理を施すための、並列実行可能な複数の暗
号処理手段と、受信した前記第1の暗号処理を施された
パケットに含まれる前記識別子に基づいて、前記複数の
暗号処理手段のうちから、該パケットを処理すべきもの
を選択する手段と、前記識別子をもとに前記記憶手段を
参照して、選択された前記暗号処理手段が前記パケット
に適用すべき暗号化アルゴリズムおよび鍵情報を特定す
る手段とを備えたことを特徴とする。
【0032】好ましくは、前記識別子は、順序保証を必
要とする同一のパケットストリームに所属するパケット
に対しては、同一の値が割り当てられるようにしてもよ
い。
【0033】好ましくは、前記識別子は、同一の暗号化
アルゴリズムおよび鍵情報を適用すべきパケットであっ
ても、該パケットのパケットヘッダの特定の1個以上の
フィールドをハッシュキーとして得たハッシュ値が異な
るパケットに対しては、異なる値が割り当てられるよう
にしてもよい。
【0034】本発明(請求項16)は、他のノード装置
との間で、自装置が送信側または受信側となって、暗号
処理されたパケットを通信するノード装置において、自
装置が送信側となる場合に、同一の暗号化アルゴリズム
および鍵情報を適用して暗号処理を行うべき複数のパケ
ット群のそれぞれのパケットに、その群毎に異なる識別
子を付与する手段と、自装置が受信側となる場合に、受
信したパケットに付与された前記識別子に基づいて並列
実行可能な複数の暗号処理装置のうちの一つを選択し、
該識別子により示される暗号化アルゴリズムおよび鍵情
報を用いた該パケットに対する暗号処理を該選択された
前記暗号処理装置により行う手段とを備えたことを特徴
とする。
【0035】本発明(請求項17)は、パケットに第1
の暗号処理を施して送信し、受信した第1の暗号処理を
施されたパケットに対して該第1の暗号処理に対応する
第2の暗号処理を施すノード装置において、自装置が前
記第1の暗号処理を施して送信すべきパケットであっ
て、同一の暗号化アルゴリズムおよび鍵情報を適用して
暗号処理を行うべき複数のパケット群のそれぞれのパケ
ットに、その群毎に異なる識別子を付与する手段と、パ
ケットに付与される識別子と、該パケットに適用する暗
号化アルゴリズムおよび鍵情報とを対応付けて記憶する
記憶手段と、暗号処理して送信すべきパケットに対して
前記第1の暗号処理を施すための、並列実行可能な複数
の第1の暗号処理手段と、受信した前記第1の暗号化を
施されたパケットに対して前記第2の暗号処理を施すた
めの、並列実行可能な複数の第2の暗号処理手段と、前
記第1の暗号処理を施して送信すべきパケットの前記識
別子に基づいて、前記複数の第1の暗号処理装置のうち
から、該パケットを処理させるものを選択する手段と、
受信した前記第1の暗号処理を施されたパケットに含ま
れる前記識別子に基づいて、前記複数の第2の暗号処理
手段のうちから、該パケットを処理すべきものを選択す
る手段と、受信した前記第1の暗号処理を施されたパケ
ットに含まれる前記識別子をもとに前記記憶手段を参照
して、該パケットに適用する暗号化アルゴリズムおよび
鍵情報を特定する手段とを備えたことを特徴とする。
【0036】好ましくは、順序保証を必要とする同一の
パケットストリームに所属するパケットには同一の識別
子を割り当てるようにしてもよい。
【0037】好ましくは、前記パケットのパケットヘッ
ダの特定の1個以上のフィールドをハッシュキーとして
得たハッシュ値に対応して異なる識別子を割り当てるよ
うにしてもよい。
【0038】好ましくは、前記暗号処理装置は、ネット
ワークレイヤのパケットフォワーディングテーブルの検
索処理を行う手段を含むようにしてもよい。
【0039】好ましくは、前記第1および第2の暗号処
理手段の少なくとも一方は、ネットワークレイヤのパケ
ットフォワーディングテーブルの検索処理を行う手段を
含むようにしてもよい。
【0040】また、本発明のノード装置は、ルータと暗
号処理装置とが一体となっていてもよく、またルータと
暗号処理装置とが独立していてもよい。ノードと暗号処
理装置とが独立の場合には、それらはネットワークを介
して接続してもよく、さらに複数のルータで1つ以上の
暗号処理装置を共有してもよい。
【0041】なお、装置に係る本発明は方法に係る発明
としても成立し、方法に係る本発明は装置に係る発明と
しても成立する。
【0042】また、装置または方法に係る本発明は、コ
ンピュータに当該発明に相当する手順を実行させるため
の(あるいはコンピュータを当該発明に相当する手段と
して機能させるための、あるいはコンピュータに当該発
明に相当する機能を実現させるための)プログラムを記
録したコンピュータ読取り可能な記録媒体としても成立
する。
【0043】本発明において、送信側ノード装置では、
暗号処理するパケットに適用する暗号化アルゴリズムお
よび鍵情報を決定する処理を行う。このためには、例え
ば、ある暗号化アルゴリズムおよび鍵情報が適用される
パケットフローを規定するセレクタを利用することがで
きる。使用可能なセレクタとしては、(a)パケットの
宛先アドレスまたは宛先アドレスのリスト、(b)パケ
ットの送信元アドレスまたは送信元アドレスのリスト、
(c)プロトコル番号、(d)送信ポート番号と受信ポ
ート番号、などがある。
【0044】送信側ノード装置・受信側ノード装置間を
転送される暗号化パケットには、少なくとも前記識別子
(例えば、セキュリティパラメータインデックス(SP
I))が付加される。この識別子は、暗号化アルゴリズ
ムおよび鍵情報と関連付けられる。また、この識別子
は、暗号化せずにパケットに付加されて、送信側から受
信側へ伝えられる。
【0045】本発明では、送信側ノード装置は、同一の
暗号化アルゴリズムおよび鍵情報を持つパケットであっ
ても、他の基準によって、異なる識別子を割り当てるこ
とが可能である。例えば、パケットのパケットヘッダの
特定の1個以上のフィールドをハッシュキーとして得た
ハッシュ値に対応して異なる識別子を割り当てることが
できる。その際、順序保証を必要とする同一のパケット
ストリームに所属するパケットには同一の識別子を割り
当てる。
【0046】さて、本発明では、受信側ノード装置は、
並列実行可能な複数の暗号処理装置を備えており、送信
側ノード装置から受信した暗号化等されたパケットを復
号化等する場合には、該パケットに付与された識別子に
基づいて該複数の暗号処理装置のうちの一つを選択し、
該識別子により示される暗号化アルゴリズムおよび鍵情
報による該パケットに対する復号化等を、該選択した暗
号処理装置を用いて行う。
【0047】また、並列実行可能な複数の暗号処理装置
を備えている送信側ノード装置でも、識別子に基づいて
該複数の暗号処理装置のうちの一つを選択するようにす
ることができる。
【0048】本発明によれば、パケットに暗号化せずに
付加されている上記識別子に基づいて該パケットを処理
する暗号処理装置を選択するので、同一の識別子が割り
当てられたパケットは同一の暗号処理装置で処理される
ことになり、同一の識別子を割り当てたパケットについ
て順序保証することが可能となる。
【0049】例えば、順序保証を必要とする同一のパケ
ットストリームに所属するパケットに同一の識別子を割
り当てれば、それらパケットを順序保証することができ
る。
【0050】また、例えば、順序保証を必要としないパ
ケット間には異なる識別子を割り当てることができる。
そして、識別子の異なるパケットは、異なる暗号処理装
置に振り分けることができるので、パケットの順序保証
を確保した上で、並列処理を行うことができる。
【0051】また、本発明では、同じ暗号化アルゴリズ
ム・鍵情報を適用すべきパケットであっても、順序保証
を必要としないパケット間には異なる識別子を割り当て
ることができるようにしているので、処理の並列性をよ
り高めることができる。例えば、ある暗号化アルゴリズ
ム・鍵情報を適用すべきパケットが多量になった場合で
も、処理を分散させることができる。また、同じ鍵情報
を使用することができるので、鍵が少なくて済む、セレ
クタが簡単になる、という利点もある。
【0052】
【発明の実施の形態】以下、図面を参照しながら発明の
実施の形態を説明する。
【0053】まず、本実施形態の基本的な事項について
説明する。
【0054】暗号側ノードおよびまたは復号側ノードと
しての機能を有するようなノードを総称して、「暗号処
理ノード」と呼ぶものとする。また、暗号側ノードにお
ける暗号化処理や認証情報付与処理および復号側ノード
における復号化処理や認証情報に基づく認証処理等を総
称して、「暗号処理」と呼ぶものとする。また、1種類
または数種類の暗号処理を行う機能を有する装置を総称
して、「暗号処理装置」と呼ぶものとする。
【0055】順序保証が必要なパケットとは、例えば、
送信元アドレス、宛先アドレス、送信ポート番号、受信
ポート番号、プロトコル番号の全てが同一のパケットス
トリームに属するパケットである。
【0056】本実施形態では、IPsec(インターネ
ットRFC2401)を具体例に利用して説明する。
【0057】本実施形態では、暗号側ノード(送信側ノ
ード)と復号側ノード(受信側ノード)との間を転送さ
れる暗号化パケットには、そのパケットに適用する「セ
キュリティアソシエーション」を識別するための「セキ
ュリティアソシエーション識別情報(以下、SA識別情
報と略記する)」が付加される。
【0058】本実施形態では、「セキュリティアソシエ
ーション(SA:SecurityAssociati
on;以下、SAと略記することもある)」の内容に
は、セキュリティプロトコル、暗号化アルゴリズム、鍵
情報が含まれる。本実施形態では、SA識別情報は、
「セキュリティパラメータインデックス(SPI:Se
curity Parameter Index)」、
「そのパケットが復号化されるべきノードのアドレス
(すなわちIPsecのトンネルモードにおけるトンネ
ル出口のノードのアドレス)」、「セキュリティプロト
コル」の3つ情報の組からなる。
【0059】また、本実施形態では、暗号側ノードにお
いて、暗号化するパケットに適用するセキュリティアソ
シエーションを決定する処理を行うが、このために、あ
るセキュリティアソシエーションが適用されるパケット
フローを規定する「セレクタ」を利用する。使用可能な
セレクタとしては、(a)パケットの宛先アドレスまた
は宛先アドレスのリスト、(b)パケットの送信元アド
レスまたは送信元アドレスのリスト、(c)プロトコル
番号、(d)送信ポート番号と受信ポート番号、などが
ある。例えば、(a)の場合、同じ宛先アドレスを持つ
パケットを一纏まりとして、それらに同じセキュリティ
アソシエーションを適用することにする。なお、詳しく
は後述するように、SAの内容が同一のパケットには同
一のSA識別情報が付されるようにする方法の他に、S
Aの内容が同一のパケットの間でさらに他の基準によっ
て(例えばハッシュを使って)、パケットを異なるSA
識別情報(SPIが異なるもの)に振り分ける方法があ
る(後者の方法は、例えば、セキュリティアソシエーシ
ョンが同じパケットを複数の暗号処理装置に分散させる
ことができるようにする目的で使用する)。
【0060】また、SAの内容およびSA識別情報に含
まれる5種類の情報の組み合わせ方に対する制約につい
て、例えば、1SPIのみ異なる組み合わせを使用可能
とする方法、使用可能としない方法、2異なる(トンネ
ル出口)ノードアドレスに対して同じSPIを重複して
割り当て可能とする方法、可能としない方法、3異なる
セキュリティプロトコルに対して同じSPIを重複して
割り当て可能とする方法、可能としない方法、などが幾
つかの制約が考えられるが、どのような制約を課すかに
よっては、SA識別情報の一部(例えばSPI)のみで
SAを特定できる場合がある。復号側ノードでは、パケ
ットを復号化する際に、(暗号化されたもとのパケット
ヘッダ内に書き込まれている情報を使用することなし
に)そのパケットに適用するSAを特定する処理を行う
が、本実施形態では、暗号化パケットに暗号化されずに
付加されているSPIのみでSAを特定する場合の例を
中心に説明する。
【0061】また、暗号処理ノード(暗号側ノードおよ
びまたは復号側ノードとしての機能を有するノード)
は、パケットを暗号処理(暗号化・復号化)する暗号処
理装置を複数備えており、暗号処理する際に、各パケッ
トを暗号処理させる暗号処理装置を選択する処理を行う
が(特に復号側ノードでは暗号化されたもとのパケット
ヘッダ内に書き込まれている情報を使用することなしに
該選択を行う必要がある)、本実施形態では、パケット
に暗号化されずに付加されるSPIのみで該パケットを
暗号処理させる暗号処理装置を特定する場合の例を中心
に説明する。
【0062】本実施形態では、順序保証する必要のある
パケットは、必ず同一の暗号処理装置で暗号処理される
ので、確実に順序が保証される。また、暗号処理ノード
が有する複数の暗号処理装置の処理の並列性を高めるこ
とが可能となる。
【0063】ところで、本実施形態では、同じセキュリ
ティプロトコル、暗号化アルゴリズム、鍵情報を用い、
かつ、SA識別情報が異なるようなSAを複数持つよう
な構成も可能である。このとき、SA識別情報が異なる
パケットは、異なる暗号処理装置を用いて並列に暗号処
理を行うことが可能である。
【0064】また、本実施形態では、(同一のトンネル
出口ノードアドレスに対して、)同じセキュリティプロ
トコル、暗号化アルゴリズム、鍵情報を用い、かつセキ
ュリティパラメータインデックス(SPI)が異なるよ
うなセキュリティアソシエーション(SA)を複数もつ
ような構成も可能である。このとき、SPIが異なるパ
ケットは、異なる暗号処理装置を用いて並列に暗号処理
を行うことが可能である(ただし、SA識別情報すなわ
ちSAが異なっていても、SPIが同じになる場合があ
る;トンネル出口ノードアドレスかセキュリティプロト
コルが異なる)。このとき、(1)パケットのヘッダ情
報から、セキュリティプロトコル、暗号化アルゴリズ
ム、鍵情報を決定するとともにハッシュ値を計算し、ハ
ッシュ値が異なるパケットには異なるSPIを割り当て
るようにする方法、(2)SPIをSA識別用のフィー
ルドと、ハッシュ値用のフィールドの少なくとも2つの
サブフィールドに分割する方法などが考えられる。
【0065】ハッシュ値を計算する際に使用するハッシ
ュキーは、SAのセレクタと異なり、かつ、ハッシュ値
が異なるパケット間で順序保証が必要ないようなものを
選ぶのが好ましい。(2)の場合には、2つのサブフィ
ールドの境界は暗号化側と復号化側のノードの設定によ
り変更可能である。また、ISAKMPなどのセキュリ
ティアソエーションや鍵情報をネゴシエーションするプ
ロトコルを用いて境界の情報を暗号化側と復号化側のノ
ード間で交換してもよい。
【0066】これにより、セキュリティプロトコル、暗
号化アルゴリズム、鍵情報を1種類しか使用しない場合
にも、暗号化時、復号化時の両方でパケットの順序保証
を考慮した暗号処理の並列化が可能となる。
【0067】このような方法は、IPsecのトンネル
モードの場合に、あるトンネルに対して単一のセキュリ
ティプロトコル、暗号化アルゴリズム、鍵情報のみ定義
する場合、すなわち、1個のセレクタのみ定義する場合
に、セレクタの数が多い場合に比べ、セキュリティアソ
シエーションを決定するのにかかる検索時間を大幅に減
らしつつ暗号処理の高速化が期待できる。
【0068】さて、以下では、本暗号通信システムの全
体的な構成例を幾つか示し、さらにノードの構成や処理
手順について説明する。
【0069】なお、以下では、セキュリティプロトコル
が暗号化ペイロードである場合(送信側で暗号化を行
い、受信側で復号化を行う場合)を中心に説明するが、
セキュリティプロトコルが認証ヘッダの場合(送信側で
認証情報付与を行い、受信側で認証を行う場合)、およ
びセキュリティプロトコルが認証情報つきの暗号化ペイ
ロードである場合(送信側で暗号化および認証情報付与
を行い、受信側で認証および復号化を行う場合)も基本
的には同様である(基本的には暗号処理の内容が変わる
だけである)。
【0070】まず、本暗号通信システムの第1の構成例
について説明する。
【0071】第1の構成例では、IPsecにおいて、
セキュリティアソシエーション(SA)が複数種類存在
する場合の暗号処理の並列化の例を示す。
【0072】図1に、本発明を適用する通信ネットワー
クの一例を示す。
【0073】図1のネットワークにおいて、1は暗号化
側ノード(アドレスをE1とする)(以下、ノードE1
と記述する)、2は復号化側ノード(アドレスをE2と
する)(以下、ノードE2と記述する)、9〜11はホ
スト(アドレスをそれぞれH11,H2,H12とす
る)、5はノードE1側のネットワーク(の集合)(以
下、Site1と記述する)、6はノードE2側のネッ
トワーク(の集合)(以下、Site2と記述する)、
7,8は暗号処理装置(SP:Securitypro
cessor)、3,4はセキュリティデータベース
(SD:Security Database)であ
る。
【0074】なお、図1において、他の暗号処理ノード
やネットワークやホストが存在してもよい。また、暗号
処理ノードは、複数の他の暗号処理ノードに接続されて
いる場合において、接続される暗号処理ノード毎に異な
るアドレスを持ってもよい。
【0075】図1において、ノードE1をトンネルの入
口とし、ノードE2をトンネルの出口とするIPsec
トンネルが存在するものとする。すなわち、ノードE1
は、Site2に属するホスト宛のパケットは、必要で
あればIPsecで暗号化して“宛先アドレス=E2”
としてIPパケットにカプセル化して送信する。また、
ノードE2は、IPsecトンネルを介してノードE1
から転送されてきた“宛先アドレス=E2”とする暗号
化カプセル化パケットを受信し、必要であれば復号化
(およびデカプセル化)を行う。
【0076】セキュリティデータベース(SD)は、I
Psecの場合には、論理的に、セキュリティポリシー
データベース(SPD:Security Polic
yDatabase)と、セキュリティアソシエーショ
ンデータベース(SAD:Security Asso
ciation Database)との2つに分かれ
る。SPDは、パケットを暗号化してトンネル上に転送
するか、または暗号化せずにトンネル上に転送するか、
または廃棄するか、についての情報を含むデータベース
である。一方、SADは、パケットを暗号化する場合に
用いる暗号化のパラメータ情報(使用する暗号化アルゴ
リズム、鍵情報、SPIなど)を含むデータベースであ
る。本実施形態では、SPDとSADとを一つのデータ
ベースとして構成した例を用いているが、SPDとSA
Dとを別々のデータベースとして構成しても構わない。
【0077】図2に、ノードE1やノードE2が管理す
るセキュリティデータベース(SD)の一例を示す。
【0078】図2では、まず、トンネル出口のノードの
アドレスとセレクタとセキュリティポリシーとを参照す
ると、トンネル出口のノードのアドレスがE2であるよ
うなパケットのうち、送信元アドレスがH11またはH
12のパケットが暗号化されてトンネル上で転送され、
その他のSite2に属するパケットは暗号化されずに
トンネル上に転送され、トンネル出口のノードのアドレ
スがE2以外であるようなパケットは廃棄されることに
なる。
【0079】また、暗号化して転送するパケットについ
ては、トンネルの出口がノードE2であるようなパケッ
トのうち、送信元アドレスがH11のパケットは、セキ
ュリティプロトコル=ESP(Encapsulati
ng Security Payload)、暗号化ア
ルゴリズム=A1、鍵=K1、SPI=100のセキュ
リティアソシエーション(SA)にマッピングされるこ
とになる。一方、トンネルの出口がノードE2であるよ
うなパケットのうち、送信元アドレスがH12のパケッ
トは、セキュリティプロトコル=ESP、暗号化アルゴ
リズム=A2、鍵=K2、SPI=200のセキュリテ
ィアソシエーション(SA)にマッピングされることに
なる。
【0080】暗号処理装置7は、少なくとも、暗号側ノ
ードにとって必要な暗号処理機能を有する。暗号処理装
置8は、少なくとも、復号側ノードにとって必要な暗号
処理機能を有する。なお、ノードE1およびノードE2
はいずれも暗号側ノードとしても復号側ノードとしても
機能できるようにするのが好ましく、この場合には、暗
号処理装置7と暗号処理装置8とは同じものであり、暗
号側ノードに必要な暗号処理機能と復号側ノードに必要
な暗号処理機能の両方を有する。
【0081】ノードE1は複数の暗号処理装置7を持っ
ており、これらの暗号処理装置同士は並列に暗号化処理
を行うことができるものとする。同様に、ノードE2は
複数の暗号処理装置8を持っており、これらの暗号処理
装置同士は並列に復号化処理を行うことができるものと
する。
【0082】本実施形態では、各パケットに対応するS
PIに基づいて、該パケットを処理すべき暗号処理装置
を複数のうちから選択する。例えば、図3に示すよう
に、ノードE1では、パケットを暗号化する際に、SP
I=100のパケットとSPI=200のパケットと
を、異なる暗号処理装置に割り振って暗号化させる。同
様に、ノードE2では、暗号化されたパケットを復号化
する際に、SPI=100のパケットとSPI=200
のパケットとを、異なる暗号処理装置に割り振って復号
化させる。もちろん、各暗号処理装置は、ノードE1が
使用する暗号化アルゴリズムに対応する復号化アルゴリ
ズムおよび鍵を使用する。
【0083】ここで、図2および図3の例においてトン
ネル出口のノードのアドレスをE2とし、送信元アドレ
スをH11/H12とするパケットを暗号通信する場合
の手順の一例を示す。
【0084】まず、ノードE1では、図2を参照し(セ
レクタに基づいて)、トンネル出口のノードのアドレス
をE2とし、送信元アドレスをH11とする該パケット
を、セキュリティプロトコルESP、暗号化アルゴリズ
ムA1、鍵情報K1によって暗号化し、SPI=100
として、送信する。
【0085】また、トンネル出口のノードのアドレスを
E2とし、送信元アドレスをH12とする該パケット
を、セキュリティプロトコルESP、暗号化アルゴリズ
ムA2、鍵情報K2によって暗号化し、SPI=200
として、送信する。
【0086】その際、SPI=100であるパケット
は、#1の暗号処理装置で処理し、SPI=100であ
るパケットは、#2の暗号処理装置で処理する。
【0087】ノードE2では、トンネル出口のノードの
アドレスをE2とし、SPI=100とするパケット
を、セキュリティプロトコルESP、暗号化アルゴリズ
ムA1、鍵情報K1によって復号化する。
【0088】また、トンネル出口のノードのアドレスを
E2とし、SPI=200とするパケットを、セキュリ
ティプロトコルESP、暗号化アルゴリズムA2、鍵情
報K2によって復号化する。
【0089】その際、SPI=100であるパケット
は、#1の暗号処理装置で処理し、SPI=100であ
るパケットは、#2の暗号処理装置で処理する。
【0090】なお、SPIによって暗号処理装置を決定
する場合、SPIの種類が暗号処理装置の個数より多く
てもよい。この場合、複数種類のSPIのパケットを同
じ番号の暗号処理装置に重複して割り振ればよい。ま
た、割り振り方にも種々の方法が考えられる。
【0091】また、暗号側ノードの持つ暗号処理装置の
個数と復号側ノードの持つ暗号処理装置の個数とは、同
数でなくても構わない。また、暗号側ノードと復号側ノ
ードとの間の暗号通信において使用する暗号処理装置の
個数は、暗号側ノードと復号側ノードとで異なっても構
わない。
【0092】また、上記では、セキュリティパラメータ
インデックス(SPI)のみを参照して、複数の暗号処
理装置にパケットを振り分ける場合を示したが、SA識
別情報(トンネル出口アドレス、SPI、セキュリティ
プロトコル)全体を見て複数の暗号処理装置にパケット
を振り分けることも可能である。
【0093】また、SPIのみでセキュリティアソシエ
ーションSAを識別できるようにするために、SA識別
情報の(トンネル出口アドレス、セキュリティプロトコ
ル)の組が異なるセキュリティアソシエーション間でS
PIの重複を許さないようにした場合には、暗号処理装
置においてSPIのみ参照するだけで、セキュリティア
ソシエーション(セキュリティプロトコル、暗号化アル
ゴリズム、鍵情報)を一意に決めることが可能である。
【0094】また、各パケットの複数の暗号処理装置に
対する割り振り方法として、暗号側ノードと復号側ノー
ドとでは異なる方法を用いてもかなわない(暗号側ノー
ドでは、SPIによらない方法を用いることも可能であ
る)。
【0095】次に、本暗号通信システムの第2の構成例
について説明する。
【0096】ここでは、IPsecにおいて、(同一の
トンネル出口ノードアドレスに対して、)セキュリティ
パラメータインデックス(SPI)は互いに異なるが、
セキュリティプロトコルと暗号化アルゴリズムと鍵情報
は全て同一であるような複数のセキュリティアソシエー
ションの設定を許容し、それらセキュリティアソシエー
ション間で暗号化処理の並列化を行う場合について説明
する。また、ここでは、パケット内に記述されて転送さ
れるSPIにハッシュ値を埋め込まない場合の例を示
す。
【0097】ネットワーク構成は図1の例と同様であ
る、図4に、この場合のノードE1とノードE2が管理
するセキュリティデータベース(SD)の一例を示す。
なお、図4では、説明を簡単にするために、「指定なし
(全てのパケット)」という内容のセレクタを用いてい
る。
【0098】図4の内容によれば、トンネル出口のノー
ドのアドレスがE2であるようなパケットは、(セレク
タを指定なしとしているので)すべて暗号化されてトン
ネル上で転送される。トンネルの出口のノードのアドレ
スがE2以外であるようなパケットは廃棄される。
【0099】また、トンネル出口のノードのアドレスが
E2であるようなパケットは、後述する基準によって、
「セキュリティプロトコル=ESP、暗号化アルゴリズ
ム=A1、鍵=K1、SPI=100のセキュリティア
ソシエーション(SA)」と、「セキュリティプロトコ
ル=ESP、暗号化アルゴリズム=A1、鍵=K1、S
PI=200のセキュリティアソシエーション(S
A)」とのいずれかにマッピングされる。
【0100】同一のセレクタに対して複数のセキュリテ
ィパラメータインデックス(SPI)が割当て可能な場
合には、振り分けの基準としては、次のようなものが考
えられる。例えば、まず、セレクタ毎に、Hの各々の値
に対して、1つのSPIを対応させておく。そして、暗
号化することになったパケットについて、その暗号化前
のIPパケットヘッダおよびまたはIPペイロードのフ
ィールドの全部または一部の情報を用いて、そのパケッ
トのハッシュ値(H)を計算する。これによって、パケ
ットがマッチしたセレクタと、計算されたHの値とか
ら、使用するSPIが一意に定まる。
【0101】図4においては、「指定なし」のセレクタ
に対して、ハッシュ値H=0にはSPI=100が対応
し、ハッシュ値H=1にはSPI=200が対応する。
【0102】ただし、図4において、ハッシュ値Hのフ
ィールドは復号化側のセキュリティデータベース(S
D)には必要ない。
【0103】このとき、図3に示すように、ノードE1
では、パケットを暗号化する場合に、SPI=100の
パケットとSPI=200のパケットは、異なる暗号処
理装置SPで暗号化を行う。このとき、両方の暗号処理
装置は、同じ暗号化アルゴリズムおよび鍵を使用する。
【0104】同様に、ノードE2では、暗号化されたパ
ケットを復号化する場合に、SPI=100のパケット
とSPI=200のパケットは、異なる暗号処理装置S
Pで復号化を行う。このとき、両方の暗号処理装置は、
同じ暗号化アルゴリズムおよび鍵を使用する。
【0105】なお、セキュリティパラメータインデック
ス(SPI)と暗号処理装置(SP)との対応情報は、
セキュリティデータベース(SD)内に保持してもよい
し、セキュリティデータベース(SD)外に保持しても
よい。
【0106】ところで、ハッシュキーとしては、あるセ
レクタにマッチするパケットの中で複数のハッシュ値H
が計算され得るようなもので、Hの値が異なるパケット
間では順序保証の必要がないようなものを選択する。図
5にこの条件を満たすようなセレクタとハッシュキーの
組合わせの一例を示す。なお、本実施形態では、図5の
5番目のエントリのハッシュキーを使用して、ハッシュ
キーとして送信元アドレスを使用している。
【0107】図5の最初のエントリは、セレクタは宛先
アドレスまたは宛先アドレスのリスト(あるいは連続し
た値であるときには宛先アドレスのレンジでもよい)で
あり、このとき、ハッシュキーとして、送信元アドレス
が使用される。
【0108】2番目のエントリは、セレクタは送信元ア
ドレスまたは送信元アドレスのリスト(あるいは連続し
た値であるときには送信元アドレスのレンジでもよい)
であり、このとき、ハッシュキーとして、宛先アドレス
が使用される。
【0109】3番目のエントリは、セレクタは送信元ア
ドレスと宛先アドレスの組であり、このとき、ハッシュ
キーとして、送信元ポート番号と宛先ポート番号の組が
使用される。
【0110】4番目のエントリは、セレクタは送信元ポ
ート番号と宛先ポート番号の組であり、このとき、ハッ
シュキーとして、送信元アドレスと宛先アドレスの組が
使用される。
【0111】5番目のエントリは、セレクタはトンネル
の出口アドレスであり、このとき、ハッシュキーとし
て、上記ハッシュキーの任意の組合わせが使用される。
【0112】あるハッシュキーからハッシュ値Hを計算
する方法は、例えば、 H = K mod N とする。ここで、Kは、与えられたハッシュキーを1バ
イトごとのブロックに区切り、各ブロックを加算するこ
とにより得られた1バイトの符号なし整数値であり、N
は、ハッシュ値の最大値である。
【0113】次に、本暗号通信システムの第3の構成例
について説明する。
【0114】ここでは、IPsecにおいて、(同一の
トンネル出口ノードアドレスに対して、)セキュリティ
パラメータインデックス(SPI)は互いに異なるが、
セキュリティプロトコルと暗号化アルゴリズムと鍵情報
は全て同一であるような複数のセキュリティアソシエー
ションの設定を許容し、それらセキュリティアソシエー
ション間で暗号化処理の並列化を行う場合において、パ
ケット内に記述されて転送されるSPIにハッシュ値を
埋め込む場合について説明する。
【0115】まず、図6に、セキュリティパラメータイ
ンデックスSPIのフォーマットを示す。
【0116】セキュリティパラメータインデックスSP
Iは、「SA識別用フィールド」と、「ハッシュフィー
ルド」とに分割される。両フィールドの境界は可変であ
るが、暗号化側のノードと復号化側のノードで同じ設定
にするなどして、境界が分かるようにする。
【0117】次に、このセキュリティパラメータインデ
ックス(SPI)を用いた暗号処理を行うIPsecネ
ットワークの例を示す。
【0118】ネットワーク構成は図1の例と同様であ
る。
【0119】図7に、ノードE1やノードE2が管理す
るセキュリティデータベース(SD)の一例を示す。
【0120】図7では、まず、トンネル出口のノードの
アドレスがE2であるようなパケットは、すべて暗号化
されてトンネル上で転送され、トンネル出口のノードの
アドレスがE2以外であるようなパケットは廃棄され
る。
【0121】また、トンネルの出口がノードE2である
ようなパケットは、セキュリティプロトコル=ESP、
暗号化アルゴリズム=A1、鍵=K1を持ち、SPIが
異なる、複数のセキュリティアソシエーション(SA)
のいずれかにマッピングされる。
【0122】ここで、一例として、ハッシュフィールド
長N=2ビットとし、SPIのSA識別用フィールド値
=100とすると、i=0、1、2、3の4種類のハッ
シュ値が使用可能であり、その結果、4種類のSPI=
100×(2)+i=100×4+i(0≦i<4)
のいずれかにマッピングされる。
【0123】4種類のSPI=100×4+i(0≦i
<4)のいずれかにマッピングされるパケットの暗号化
前のIPパケットヘッダおよびまたはIPペイロードの
フィールドの全部または一部の情報から、第2の構成例
のところで説明したものと同様にして計算されたハッシ
ュ値をHとすると、このパケットには、SPI=400
+Hがマッピングされる。
【0124】このとき、ノードE1において2台の暗号
処理装置を使用するものとすると、例えば、図8に示す
ように、SPI=4のパケットとSPI=5のパケット
を#1の暗号処理装置SPで暗号化処理し、SPI=6
のパケットとSPI=7のパケットを#2の暗号処理装
置SPで暗号化処理する。同様に、ノードE1において
2台の暗号処理装置を使用するものとすると、SPI=
4のパケットとSPI=5のパケットを#1の暗号処理
装置SPで復号化処理し、SPI=6のパケットとSP
I=7のパケットを#2の暗号処理装置SPで復号化処
理する。
【0125】次に、本暗号通信システムの第4の構成例
について説明する。
【0126】ここでは、IPsecのトンネルモードに
おいて、SPI以外のフィールドにハッシュ値を埋め込
む場合について説明する。
【0127】IPv4の場合には、「インターネットR
FC791」にて規定されるIPv4ヘッダの「Typ
e of Serviceフィールド」にハッシュ値を
入れる。
【0128】IPv6の場合には、「インターネットR
FC2460」にて規定されるIPv6ヘッダの「Tr
affic Classフィールド」または「Flow
Labelフィールド」にハッシュ値を入れる。
【0129】また、IPsecトンネルがMPLS(M
ulti−Protocol Label Switc
hing)のラベルスイッチングパスで実現される場合
には、「インターネットドラフトdraft−ietf
−mpls−label−encaps−03.tx
t」にて指定されるMPLSラベルヘッダの「Exp
(Experimental Use)ビット」にハッ
シュ値を入れる。
【0130】このとき、図9に示されるように、第2の
構成例のところで説明したものと同様にしてハッシュ値
Hが計算され、該ハッシュ値Hが上記フィールドに埋め
込まれ、ノードE1,E2では、H=0または1のパケ
ットとH=2または3のパケットとを異なる暗号処理装
置で処理する。
【0131】なお、ここではハッシュ値のみで処理する
暗号処理装置(SP)を決定するが、ハッシュ値とSP
I値の両方を用いて処理する暗号処理装置(SP)を決
定してもよい。
【0132】次に、SPIの値から各暗号処理装置(S
P)への暗号処理の振り分け方法について説明する。
【0133】図10に、SPIにハッシュ値を埋め込ま
ない場合の振り分け方法の一例を、図11にSPIにハ
ッシュ値を埋め込む場合の振り分け方法の一例を、図1
2にSPI以外のフィールドにハッシュ値を埋め込む場
合の振り分け方法の一例をそれぞれ示す。
【0134】暗号側と復号側の各ノードにおいて、並列
化する各暗号処理装置(SP)には、番号がついている
ものとする。
【0135】図10において、SPI=aのパケットは
番号1の暗号処理装置で、SPI=b1,b2のパケッ
トは番号2の暗号処理装置で、SPI=b3のパケット
は番号3の暗号処理装置で処理される。
【0136】図11において、SA識別フィールド=a
のパケットは、番号(H modM1)の暗号処理装置
で処理され、SA識別フィールド=bのパケットは、番
号(M1 + (H mod M2))の暗号処理装置
で処理される。ここで、M1、M2は、それぞれ、SA
識別フィールド=a、bのパケットが使用可能な暗号処
理装置の数を表し、ハッシュ値HはSPIのハッシュフ
ィールドの値を表す。
【0137】図12においては、SPIのハッシュフィ
ールドのみで暗号処理装置の振り分けが行われる。すな
わち、ハッシュフィールドHのパケットは、番号(H
mod M)の暗号処理装置で処理される。ここで、M
は、暗号処理ノードが使用可能な暗号処理装置の数を表
す。
【0138】図10と図11のいずれの方法を用いて
も、例えば、アルゴリズムが異なるセキュリティアソシ
エーション間では暗号処理装置を共有せず、アルゴリズ
ムが同じ各セキュリティアソシエーションの中で暗号処
理装置を共有するような制御が可能である。また、図1
2の方法を用いると、すべてのセキュリティアソシエー
ションの間で暗号処理装置を共有することが可能にな
る。
【0139】次に、暗号化側パケット処理、復号化側パ
ケット処理の手順について説明する。
【0140】図13に、本発明による暗号化側パケット
処理のフローチャートを示す。また、図14に、本発明
による復号化側パケット処理のフローチャートを示す。
【0141】なお、図13および図14において、セキ
ュリティプロトコルが認証ヘッダの場合には、「暗号
化」=「認証情報付与」、「復号化」=「認証」と置き
換えて本フローチャートを適用する。また、セキュリテ
ィプロトコルが認証情報つきの暗号化ペイロードである
場合には、「暗号化」=は「暗号化および認証情報付
与」、「復号化」=「認証および復号化」と置き換えて
同じフローチャートを適用する。
【0142】まず、図13を参照しながら、暗号化側パ
ケット処理の手順について説明する。
【0143】Pを暗号化前のパケット、E1をパケット
Pの暗号化側のノード(トンネルの入口ノード)のアド
レス、E2をパケットPの復号化側のノードのアドレス
とする(ステップS11,S12)。
【0144】まず、ステップS13で、セキュリティデ
ータベースSDを検索し、パケットPにベストマッチす
るセレクタを探し、これをSとする(マッチするセレク
タが見つからなければ、Sとして空の値(NULL)が
返される)。次に、セレクタSに関するセキュリティポ
リシーをPoとする(SがNULLなら、Po=“廃
棄”となるものとする)。
【0145】セキュリティポリシーPoが“廃棄”であ
れば(ステップS14)、パケットPを廃棄して(ステ
ップS15)、処理を終了する。
【0146】セキュリティポリシーPoが“非暗号化”
であれば(ステップS14)、パケットP’:=パケッ
トPとし(ステップS16)、パケットP’を、宛先ア
ドレス=E2、送信元アドレス=E1のIPパケットに
カプセル化して送信する(ステップS22)。
【0147】セキュリティポリシーPoが“暗号化”で
あれば(ステップS14)、PrをセレクタSに対する
セキュリティプロトコルとし、またA=(セレクタS、
アドレスE2、セキュリティプロトコルPr)とし(ス
テップS17)、パケットPにセレクタS用のハッシュ
関数を適用したときのハッシュ値Hを計算する(ステッ
プS18)。次に、Aが使用可能なセキュリティパラメ
ータインデックスSPIのうち、ハッシュ値Hに対応す
る値Iを選択する(ステップS19)。
【0148】最後に、MをSPI値Iに対して使用され
る暗号処理装置SPの番号として(ステップS20)、
番号Mの暗号処理装置SPにおいて、パケットPを、A
が使用する暗号化アルゴリズムおよび鍵を用いて暗号化
し(ステップS21)、暗号化後のパケットP’を、宛
先アドレス=E2、送信元アドレス=E1のIPパケッ
トにカプセル化して送信する(ステップS22)。
【0149】次に、図14を参照しながら、復号化側パ
ケット処理の手順について説明する。
【0150】PをIPカプセル化されたペイロード、E
2をパケットPに対する復号化側ノード(トンネル出口
ノード)のアドレス、PrをパケットPのヘッダ中のプ
ロトコル番号から決定されるセキュリティプロトコルと
する(ステップS31)。
【0151】セキュリティプロトコルPrがAH(認証
ヘッダ)またはESP(暗号化ペイロード)のいずれで
もなければ(ステップS32)、パケットP’:=パケ
ットPとし、またSをパケットP’にベストマッチする
セレクタ、PoをセレクタSに対するポリシーとし(ス
テップS33,S34)、ポリシーPoが“非暗号化”
でなければ、パケットP’を廃棄し(ステップS35,
S37)、ポリシーPoが“非暗号化”であれば、パケ
ットP’を次段ルータに送信する(ステップS35,S
38)。
【0152】一方、ステップS32で、セキュリティプ
ロトコルPrがAH(認証ヘッダ)またはESP(暗号
化ペイロード)のいずれかであれば、パケットPはセキ
ュリティパラメータインデックスSPIの情報を含むの
で、IをパケットPに対するSPIとし、またA=(S
PI値I、アドレスE2、セキュリティプロトコルP
r)、MをSPI値Iに対して適用される暗号処理装置
SPの番号として(ステップS39)、番号Mの暗号処
理装置SPにおいて、パケットPを、セキュリティアソ
シエーションAが使用する復号化アルゴリズムおよび鍵
を用いて復号化し、復号化後のパケットP’とする(ス
テップS40)。
【0153】復号化に成功した場合には(ステップS4
1)、次に、SPI値Iに対するセレクタをS、パケッ
トP’にベストマッチするセレクタをS’、セレクタS
に対するポリシーをPoとし(ステップS42)、S=
S’かつPo=“暗号化”であれば、パケットP’を次
段ルータに送信し(ステップS36,S38)、そうで
なければ(セキュリティポリシーに反するパケットであ
るとみなされるため)、パケットP’を廃棄する(ステ
ップS36,S37)。
【0154】もしステップS40での復号化に失敗した
場合には(ステップS41)、パケットP’を廃棄して
(ステップS37)、処理を終了する。
【0155】なお、図13および図14において、SA
識別情報=(トンネル出口アドレス、SPI、セキュリ
ティプロトコル)を見て異なる暗号処理装置SPにパケ
ットを振り分ける場合には、「M:=Iが使用する暗号
処理装置SPの番号」の部分が「M:=Aが使用する暗
号処理装置SPの番号」に置き換えられる。
【0156】次に、暗号処理ノードの構成について説明
する。
【0157】図15に、図13(暗号側)および図14
(復号側)の両方動作を実現するノードの構成例を示
す。
【0158】本暗号処理ノードは、パケット入力部2
1、ヘッダ解析部22、自ノード宛パケット処理部2
3、セキュリティプロセッサ振分け部(SP振分け部)
24、セキュリティデータベース(SD)25、復号化
セキュリティプロセッサ(以下、復号化SP)26、復
号化側セキュリティポリシー決定部27、フォワーディ
ング処理部28、パケット出力部29、暗号化側セキュ
リティポリシー決定部30、ハッシュ計算部31、暗号
化セキュリティプロセッサ(以下、暗号化SP)32、
カプセル化ヘッダ付加部33を備えている。
【0159】なお、暗号化SPと復号化SPとを組にし
て設ける場合には、その1組がこれまでの1つの暗号処
理装置に相当する。暗号化SPと復号化SPとを独立に
設ける場合には、個々の暗号化SPや復号化SPがこれ
までの暗号処理装置に相当する(ここでは、前者とす
る)。
【0160】本暗号処理ノードは、パケット入力部21
からパケットを受信すると、ヘッダ解析部22にて宛先
アドレスのチェックを行う。
【0161】まず、宛先アドレスが自ノードアドレスで
ある場合について説明する。
【0162】この場合、プロトコルIDフィールドが、
セキュリティプロトコルまたはIPカプセル化を表すも
のでなければ、自ノード宛パケット処理部23にてプロ
トコルIDフィールドにて示される上位レイヤプロトコ
ル処理を行う。
【0163】一方、プロトコルIDフィールドがセキュ
リティプロトコルを示すものであれば、SP振分け部2
4にパケットを渡す。
【0164】パケットを受けたSP振分け部24では、
セキュリティデータベース(SD)25を検索し、受信
パケットのペイロード部に書かれているセキュリティパ
ラメータインデックス(SPI)にマッチするエントリ
があれば、そのエントリに対して使用される暗号化アル
ゴリズム、鍵情報を用いて、SPIから一意に決定され
る復号化SP26にてペイロードの復号化処理を行う。
【0165】次に、復号化側セキュリティポリシー決定
部27において、上記復号化処理により得られるパケッ
トのヘッダとセキュリティデータベース(SD)25の
内容とから、パケットをフォワード可能かどうかを決定
する。可能であれば、フォワーディング処理部28にて
出力インターフェースを決め、パケット出力部29から
パケットを出力する。
【0166】続いて、宛先アドレスが自ノードアドレス
でない場合について説明する。
【0167】この場合、まず、暗号化側セキュリティポ
リシー決定部30にて、セキュリティデータベース(S
D)25の検索を行う。
【0168】もし、受信パケットのヘッダ情報にマッチ
するようなセキュリティデータベースのエントリ(SD
エントリ)がなければ、パケットを廃棄する。
【0169】一方、そのようなSDエントリがある場合
には、もし、パケットを暗号化する必要がなく且つカプ
セル化する必要がなければ、フォワーディング処理部2
8にて出力インターフェースを決め、パケット出力部2
9からパケットを出力する。
【0170】また、もし、パケットを暗号化する必要が
なく且つカプセル化する必要があれば、カプセル化ヘッ
ダ付加部33にてカプセル化ヘッダを付加した後、フォ
ワーディング処理部28にて出力インターフェースを決
め、パケット出力部29からパケットを出力する。
【0171】もし、パケットを暗号化する必要があれ
ば、受信パケットのヘッダ情報をもとにハッシュ計算部
31にてハッシュを計算し、ハッシュ値から一意に決ま
る暗号化SP32において、受信パケットにマッチした
SDエントリにて指定される暗号化アルゴリズム鍵を用
いて、パケットの暗号化を行う。その後、カプセル化ヘ
ッダ付加部33にてカプセル化ヘッダを付加した後、フ
ォワーディング処理部28にて出力インターフェースを
決め、パケット出力部29からパケットを出力する。
【0172】なお、上記では、図13(暗号側)および
図14(復号側)の両方動作を実現するノードの構成例
を示したが、図13(暗号側)または図14(復号側)
のいずれか一方のみを実現するノードを構成することも
可能である。
【0173】次に、暗号処理ノードのハード構成につい
て説明する。
【0174】図16に、本暗号処理ノードの構成とし
て、並列処理を行うセキュリティプロセッサをノード内
に配置した場合のハード構成の一例を示す。
【0175】図16において、暗号処理ノードは、スイ
ッチ部41、ネットワークインターフェース部42、内
部処理インターフェース部43、および(CPU441
+メモリ442を含む)中央処理部44を備える。
【0176】なお、スイッチ部41を用いるかわりに、
内部バスを用いることにより、スイッチ部41、ネット
ワークインターフェース部42、内部処理インターフェ
ース部43、および中央処理部44間のデータ転送を実
現してもよい。
【0177】各ネットワークインターフェース部42
は、セキュリティデータベースSDおよびフォワーディ
ングテーブルFWを持つ。また、各内部処理インターフ
ェース部43は、セキュリティプロセッサ部(暗号処理
装置に相当)SPおよびフォワーディングテーブルFW
を持つ。中央処理部44は、自ノード宛のIPパケット
のうちペイロードがIPのPDUでないもの(IP−i
n−IPでないもの)に対する処理および、フォワーデ
ィングテーブルFW、セキュリティデータベースSD、
セキュリティプロセッサ部SPの管理を行う。
【0178】本暗号処理ノードは、パケットをネットワ
ークインターフェース部42から受信した場合には、ま
ず、パケットの宛先アドレスが自ノードのアドレスと一
致するかどうかを調べ、一致しない場合には、以下の処
理を行う。
【0179】まず、ネットワークインターフェース部4
2内のフォワーディングテーブルFWを参照してトンネ
ル出口のアドレスを決定する。次に、セキュリティデー
タベースSDを参照し、セキュリティパラメータインデ
ックスSPI、および処理すべき内部処理インターフェ
ース部43を決定した後、受信パケット、トンネル出口
のアドレス、SA識別情報、およびSPIを、スイッチ
部41を通して、決定した内部処理インターフェース部
43に送信する。
【0180】内部処理インターフェース部43では、ト
ンネル出口のアドレスをキーに内部処理インターフェー
ス部43内のフォワーディングテーブルFWを参照し
て、指定されたトンネル出口アドレスに対する出力ネッ
トワークインターフェース部42を決定する。次に、必
要であれば受信パケットをセキュリティプロセッサ部S
Pで暗号化処理した後、宛先アドレス=トンネル出口ア
ドレス、送信元アドレス=出力ネットワークインターフ
ェース部42のネットワークアドレスとしたパケットヘ
ッダを付加し、スイッチ部441を通して、出力ネット
ワークインターフェース部42に送信する。
【0181】出力ネットワークインターフェース部42
は、スイッチ部41から出力されたパケットに対して、
レイヤ2処理を行った後、これを外部に出力する。
【0182】一方、ノードがパケットをネットワークイ
ンターフェース部42から受信した場合に、パケットの
宛先アドレスが自ノードのアドレスと一致する場合に
は、以下の処理を行う。
【0183】まず、ペイロードがIPのPDUでない場
合には、パケットを中央処理部41に送信する。そうで
なければ、セキュリティデータベースSDを参照し、S
A識別情報および処理すべき内部処理インターフェース
部43を決定した後、受信パケットのペイロード、SP
I(受信パケットがSPIを持たなければNULL値と
なる)を、スイッチ部41を通して、決定した内部処理
インターフェース部43に送信する。
【0184】内部処理インターフェース部43では、必
要であればペイロードをセキュリティプロセッサ部SP
で復号化処理した後、復号化後のペイロード(=暗号化
前のPDU)の先頭部に存在する暗号化前のパケットヘ
ッダの宛先アドレスをキーに、内部処理インターフェー
ス部43内のフォワーディングテーブルFWを参照し
て、指定された宛先アドレスに対する出力ネットワーク
インターフェース部42を決定し、スイッチ部41を通
して、出力ネットワークインターフェース部42に送信
する。
【0185】出力ネットワークインターフェース部42
は、スイッチ部41から出力された復号化後のペイロー
ド(=暗号化前のPDU)、レイヤ2処理を行った後、
これを外部に出力する。
【0186】次に、図17に、本暗号処理ノードの構成
として、並列処理を行うセキュリティプロセッサをノー
ド内に配置した場合のハード構成のもう一つの例を示
す。
【0187】図17において、暗号処理ノードは、スイ
ッチ部61、ネットワークインターフェース部62、セ
キュリティプロセッサ部(暗号処理装置に相当)63、
中央処理部64を備えている。また、中央処理部64
は、CPU6411とメモリ6412を含むユニット6
41と、1組または複数組のセキュリティデータベース
SDおよびフォワーディングテーブルFW6421を含
むユニット642を持つ。
【0188】なお、スイッチ部61を用いるかわりに、
内部バスを用いることにより、スイッチ部61、ネット
ワークインターフェース部62、内部処理インターフェ
ース部63、および中央処理部64間のデータ転送を実
現してもよい。
【0189】中央処理部64は、自ノード宛のIPパケ
ットのうちペイロードがIPのPDUでないもの(IP
−in−IPでないもの)に対する処理、および、フォ
ワーディングテーブルFW、セキュリティデータベース
SD、セキュリティプロセッサ部SPの管理を行う。
【0190】暗号処理ノードは、パケットをネットワー
クインターフェース部62から受信した場合には、ま
ず、スイッチ部61を通して中央処理部64に受信パケ
ットを転送する。
【0191】中央処理部64では、まず、パケットの宛
先アドレスが自ノードのアドレスと一致するかどうかを
調べ、一致しない場合には、フォワーディングテーブル
FWを参照してトンネル出口のアドレスを決定する。次
に、セキュリティデータベースSDを参照し、セキュリ
ティパラメータインデックスSPI、および処理すべき
セキュリティプロセッサ部SPを決定した後、受信パケ
ット、およびSPIを、スイッチ部61を通して、決定
したセキュリティプロセッサ部SPに送信する。
【0192】セキュリティプロセッサ部SPでは、必要
であれば受信パケットを暗号化処理した後、SPIとと
もにスイッチ部61を通して中央処理部64に送信す
る。
【0193】中央処理部64は、SPIからトンネルの
出口ノードのアドレスを求め、宛先アドレス=トンネル
出口アドレス、送信元アドレス=出力ネットワークイン
ターフェース部62のネットワークアドレスとしたパケ
ットヘッダを付加し、スイッチ部61を通して、出力ネ
ットワークインターフェース部62に送信する。
【0194】出力ネットワークインターフェース部62
は、スイッチ部61から出力されたパケットに対して、
レイヤ2処理を行った後、これを外部に出力する。
【0195】一方、中央処理部64において、パケット
の宛先アドレスが自ノードのアドレスと一致する場合に
は、ペイロードがIPのPDUでない場合にはパケット
をCPUに渡す。そうでなければ、セキュリティデータ
ベースSDを参照し、セキュリティパラメータインデッ
クスSPI、および処理すべきセキュリティプロセッサ
部SPとを決定した後、受信パケットのペイロード、S
PI(受信パケットがSPIを持たなければNULL値
となる)を、スイッチ部61を通して、決定したセキュ
リティプロセッサ部SPに送信する。
【0196】セキュリティプロセッサ部SPでは、ペイ
ロードを、必要であれば復号化処理後、スイッチ部を通
して、中央処理部64に送信する。
【0197】中央処理部64は、スイッチ部61から出
力されたペイロードをパケットのPDUとみなし、その
パケットのヘッダの宛先アドレスをキーにフォワーディ
ングテーブルFWを参照して、指定された宛先アドレス
に対する出力ネットワークインターフェース部62を決
定し、スイッチ部61を通して、出力ネットワークイン
ターフェース部62に送信する。
【0198】出力ネットワークインターフェース部62
は、スイッチ部61から出力されたパケットに対してレ
イヤ2処理を行った後、これを外部に出力する。
【0199】次に、本実施形態のようなセキュリティパ
ラメータインデックス(SPI)の使用方法を可能にす
るセキュリティアソシエーション(SA)の確立方法に
ついて説明する。
【0200】図18に、この場合のセキュリティアソシ
エーションの確立手順の一例を示す。
【0201】図18において、暗号化側ノードE1と復
号化側ノードE2は、SPI=100,200に対し
て、同じセキュリティプロトコル“ESP”、同じ暗号
化アルゴリズム“3DES”、同じ鍵情報“X”を持つ
ように、2つのデータ転送用のセキュリティアソシエー
ション(SA)を確立することを目的とする。このと
き、SPI=100のパケットと、SPI=200のパ
ケットは、並列処理が可能である。
【0202】まず、ノードE1は、上記データ転送用の
セキュリティアソシエーションをセキュア且つ自動的に
確立するために使われるISAKMPセッション用のセ
キュリティアソシエーションを確立する。
【0203】暗号化側ノードは、まず、上記データ転送
用セキュリティアソシエーションを確立するためのIS
AKMP用のセキュリティアソシエーションを確立する
ために、(Hdr, SA−NP(proto,alg
o,SPI); KE; ID)を持つISAKMPパ
ケットを送信する。ここで、HdrはISAKMPパケ
ットヘッダ、SA−NPは1個以上のプロポーザル・ペ
イロードとトランスフォーム・ペイロードを持つSAネ
ゴシエーション・ペイロード、protoはセキュリテ
ィプロトコル、algoは暗号化アルゴリズム、KEは
鍵情報、IDはセレクタの識別情報を表す。
【0204】ノードE2は、これに対する応答として、
(Hdr, SA−NP(proto,algo,SP
I); KE; ID; AUTH)を返す。
【0205】ここで、AUTHはノードE2に対する認
証情報である。
【0206】次に、ノードE1は、これに対する応答と
して、(Hdr, AUTH)を返す。ここで、A
UTHはノードE2に対する認証情報である。また、“
”つきのフィールドは暗号化されていることを示す。
【0207】上記手続きによりISAKMPセッション
用のセキュリティアソシエーションを確立すると、デー
タ転送用のセキュリティアソシエーションを同様の手続
きにより行う。ここで、既にISAKMP用のセキュリ
ティアソシエーションが確立しているため、データ転送
用のセキュリティアソシエーションに使用されるパケッ
トのすべてのフィールドは暗号化されている。
【0208】なお、本実施形態では、セキュリティアソ
シエーション確立時に、ISAKMPパケットにセキュ
リティプロセッサ部の数に関する情報(並列度)を含め
てもよい。これは、上記並列度を、ISAKMPのVe
ndor IDペイロードに含めることにより可能とな
る。この情報は、ハッシュ関数を計算する際に利用され
る。例えば、暗号化側ノードの並列度がMで、復号化側
ノードの並列度がNの場合には、ハッシュ値の個数をL
=LCM(M,N)の最小公倍数に設定すれば、パケッ
トが取るハッシュ値が平均的に均一になるようにパケッ
トが到着していれば、どの暗号化ノード、復号化側ノー
ドの両方で、均一に複数の暗号処理プロセッサ部に暗号
処理を分散させることができる。
【0209】また、本実施形態では、セキュリティアソ
シエーション確立時に、セキュリティパラメータインデ
ックスSPIをSA識別用のフィールドと、ハッシュ値
用のフィールドの2つのサブフィールドに分割する場合
に、2つのサブフィールドの境界に関する情報(例え
ば、SA識別情報の長さ)をISAKMPパケットに含
めてもよい。これは、上記フィールド境界に関する情報
情報を、ISAKMPのVendor IDペイロード
に含めることにより可能となる。
【0210】次に、本発明で使用される暗号化パケット
のフォーマットについて説明する。
【0211】図19に、本発明で使用される暗号化パケ
ットのフォーマットを示す。(a)がセキュリティプロ
トコルがAHの場合であり、(b)がESPの場合であ
る。
【0212】(a),(b)において、オリジナルのI
PヘッダおよびオリジナルのIPペイロードの部分が、
暗号化される前および復号化された後のIPパケットに
対応し、それ以外の部分が、暗号化パケットで新たに付
加された部分である。また、(a)においては、オリジ
ナルのIPヘッダおよびオリジナルのIPペイロードの
部分が暗号化され、(b)においては、それらに加えて
パディング等の部分も暗号化される。
【0213】なお、セキュリティプロトコルは、新IP
ヘッダ(IPカプセル化する際に付与されるヘッダ)の
中のプロトコル番号で指定される。IPv4、IPv6
ともに図19のようなフォーマットを使用する。ただ
し、IPv6の場合には、ESPは拡張ヘッダとして扱
われるのに対し、IPv4の場合には、ペイロードとし
て扱われる。
【0214】また、AH、ESPともに、シーケンス番
号のためのフィールドを持つ。これは、SA識別情報が
異なればシーケンス番号空間が異なることを表す。した
がって、本発明において、同じセキュリティプロトコ
ル、暗号化アルゴリズム、鍵情報に対して、複数のSA
識別情報を割り当てる場合には、これらのSA識別情報
は異なるシーケンス番号空間を持つ。
【0215】なお、本実施形態で使用するハッシュ値
は、様々な算術演算、ビット単位の操作、テーブルによ
る変換、それらを組み合わせたもの等による変換により
求めた値で代用することもできる。この変換は、入力値
に対して確定的に演算値が定まり、入力値の種類よりも
少ない(もしくは非常に少ない)種類の複数の演算値を
取るものであって、複数種類の入力値がなるべく均等に
分散して複数種類の演算値に振り分けられるようなもの
が好ましい。
【0216】また、ルータと暗号処理ノードとは一体と
なっていてもよく、またルータと暗号処理ノードが独立
であってもよい。ルータと暗号処理ノードとが独立の場
合には、それらはネットワークを介して接続してもよ
く、さらに複数のルータで1つ以上の暗号処理ノードを
共有してもよい。
【0217】また、本発明は、IPsecだけでなく、
SA識別情報をパケットに付加するような任意のレイヤ
のセキュリティプロトコルに対して適用可能である。
【0218】また、本発明は、暗号側と復号側で異なる
鍵情報を用いる方式にも適用可能である。この場合に
は、セキュリティパラメータインデックス(SPI)等
に暗号側で使用する鍵情報と復号側で使用する鍵情報を
対応付ければよい。
【0219】なお、以上の各機能は、ソフトウェアとし
ても実現可能である。
【0220】また、本実施形態は、コンピュータに所定
の手段を実行させるための(あるいはコンピュータを所
定の手段として機能させるための、あるいはコンピュー
タに所定の機能を実現させるための)プログラムを記録
したコンピュータ読取り可能な記録媒体としても実施す
ることもできる。
【0221】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0222】
【発明の効果】本発明によれば、送信側ノード装置で
は、同一の暗号化アルゴリズムおよび鍵情報を適用して
暗号処理を行うべき複数種類のパケットに、その種類毎
に異なる識別子を付与し、受信側ノード装置では、受信
したパケットに付与された識別子に基づいて複数の暗号
処理装置のうちの一つを選択するようにしたので、順序
保証を必要とするパケットについてその順序保証を可能
にするとともに、処理の並列性を高めることができる。
【図面の簡単な説明】
【図1】本発明を適用する通信ネットワークの一例を示
す図
【図2】本発明の一実施形態に係るセキュリティデータ
ベースの構成例を示す図
【図3】同実施形態に係る動作の一例を説明するための
【図4】同実施形態に係るセキュリティデータベースの
他の構成例を示す図
【図5】同実施形態に係るセレクタとハッシュキーとの
対応について説明するための図
【図6】同実施形態に係るセキュリティパラメータイン
デックスのフォーマット例を示す図
【図7】同実施形態に係るセキュリティデータベースの
さらに他の構成例を示す図
【図8】同実施形態に係る動作の他の例を説明するため
の図
【図9】同実施形態に係る動作のさらに他の例を説明す
るための図
【図10】同実施形態に係る暗号処理の振り分け方法の
一例を説明するための図
【図11】同実施形態に係る暗号処理の振り分け方法の
他の例を説明するための図
【図12】同実施形態に係る暗号処理の振り分け方法の
さらに他の例を説明するための図
【図13】同実施形態に係る暗号化側パケット処理の手
順の一例を示すフローチャート
【図14】同実施形態に係る復号化側パケット処理の手
順の一例を示すフローチャート
【図15】同実施形態に係るノード装置の構成例を示す
【図16】同実施形態に係るノード装置のハードウェア
構成の一例を示す図
【図17】同実施形態に係るノード装置のハードウェア
構成の他の例を示す図
【図18】同実施形態に係るセキュリティアソシエーシ
ョンの確立手順の一例を示す図
【図19】同実施形態に係る暗号化パケットのフォーマ
ット例を示す図
【図20】従来の暗号通信について説明するための図
【符号の説明】
1…暗号化側ノード 2…復号化側ノード 9〜11…ホスト 5,6…ネットワーク 7,8…暗号処理装置 3,4,25…セキュリティデータベース 21…パケット入力部 22…ヘッダ解析部 23…自ノード宛パケット処理部 24…セキュリティプロセッサ振分け部 26…復号化セキュリティプロセッサ 27…復号化側セキュリティポリシー決定部 28…フォワーディング処理部 29…パケット出力部 30…暗号化側セキュリティポリシー決定部 31…ハッシュ計算部 32…暗号化セキュリティプロセッサ 33…カプセル化ヘッダ付加部 41,61…スイッチ部 42,62…ネットワークインターフェース部 43…内部処理インターフェース部 44,64…中央処理部 63…セキュリティプロセッサ部 441,6411…CPU 442,6412…メモリ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5J104 AA01 AA16 AA20 AA35 BA04 EA24 EA26 NA02 NA12 PA07 5K030 GA15 HB16 LA07 LB05 LD19 LE03 LE14 9A001 CC06 EE03 LL03

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】送信側ノード装置と並列実行可能な複数の
    暗号処理装置を備えた受信側ノード装置との間でパケッ
    トを暗号処理して通信する暗号通信方法において、 前記送信側ノード装置は、 同一の暗号化アルゴリズムおよび鍵情報を適用して暗号
    処理を行うべき複数のパケットに、そのパケットが属す
    るグループ毎に異なる識別子を付与し、 前記暗号化アルゴリズムおよび鍵情報を適用して第1の
    暗号処理を施した、前記識別子のパケットを前記受信側
    ノード装置に向けて送信し、 前記受信側ノード装置は、 前記送信側ノード装置から受信したパケットに付与され
    た前記識別子に基づいて、前記複数の暗号処理装置のう
    ちの一つを選択し、 前記識別子により示される暗号化アルゴリズムおよび鍵
    情報を適用した、該パケットに対する前記第1の暗号処
    理に対応する第2の暗号処理を、選択された前記暗号処
    理装置を用いて行うことを特徴とする暗号通信方法。
  2. 【請求項2】前記送信側ノード装置は、前記パケットの
    識別子に基づいて、並列実行可能な複数の暗号処理装置
    のうちから、該パケットを処理させるものを選択するこ
    とを特徴とする請求項1に記載の暗号通信方法。
  3. 【請求項3】前記送信側ノード装置は、順序保証を必要
    とする同一のパケットストリームに所属するパケットに
    は同一の識別子を割り当てることを特徴とする請求項1
    または2に記載の暗号通信方法。
  4. 【請求項4】前記送信側ノード装置は、前記パケットの
    パケットヘッダに含まれる特定の1個以上のフィールド
    をハッシュキーとして得たハッシュ値に対応して前記異
    なる識別子を割り当てることを特徴とする請求項1に記
    載の暗号通信方法。
  5. 【請求項5】同一の暗号化アルゴリズムおよび鍵情報が
    適用されるパケットストリームを規定するパケットヘッ
    ダの特定の1個以上のフィールドと、前記ハッシュキー
    として使用されるパケットヘッダの特定の1個以上のフ
    ィールドとを異ならせることを特徴とする請求項4に記
    載の暗号通信方法。
  6. 【請求項6】前記識別子を記入する前記パケットの暗号
    化されないヘッダ内のフィールドを、適用すべき暗号化
    アルゴリズムおよび鍵情報を特定可能な情報を記述する
    第1のフィールドおよび前記ハッシュ値を記述する第2
    のフィールドの少なくとも2つのフィールドに分割する
    ことを特徴とする請求項4または5に記載の暗号通信方
    法。
  7. 【請求項7】前記送信側ノード装置と前記受信側ノード
    装置との間で、前記識別子と適用すべき暗号化アルゴリ
    ズムおよび鍵情報との対応に関する設定をプロトコルで
    自動的に行う場合に、前記第1のフィールドと前記第2
    のフィールドとのフィールド境界の情報をも該プロトコ
    ルで交換することを特徴とする請求項6に記載の暗号通
    信方法。
  8. 【請求項8】前記ハッシュ値を示す情報を、前記パケッ
    トの暗号化されないヘッダ内の、前記暗号化アルゴリズ
    ムおよび鍵情報を示す情報を記入するフィールド以外の
    部分に記入することを特徴とする請求項4または5に記
    載の暗号通信方法。
  9. 【請求項9】前記送信側ノード装置と前記受信側ノード
    装置との間で、前記識別子と適用すべき暗号化アルゴリ
    ズムおよび鍵情報との対応に関する設定をプロトコルで
    自動的に行う場合に、並列処理が可能な暗号処理装置の
    台数に関するネゴシエーションをも行い、前記送信側ノ
    ード装置および前記受信側ノード装置の両方の暗号処理
    装置の台数の情報を用いて、取り得るハッシュ値の範囲
    を決定することを特徴とする請求項4ないし8のいずれ
    か1項に記載の暗号通信方法。
  10. 【請求項10】暗号処理とレイヤ3のパケットフォワー
    ディングテーブル検索処理とをペアにして並列処理する
    ことを特徴とする請求項1ないし9のいずれか1項に記
    載の暗号通信方法。
  11. 【請求項11】前記送信側ノード装置における暗号処理
    は暗号化およびまたは認証情報付与であり、前記受信側
    ノード装置における暗号処理は復号化およびまたは認証
    であることを特徴とする請求項1ないし10に記載の暗
    号通信方法。
  12. 【請求項12】パケットを暗号処理して送信するノード
    装置において、 同一の暗号化アルゴリズムおよび鍵情報を適用して暗号
    処理を行うべき複数のパケットに、当該複数のパケット
    のうちの一部のパケットとその他の一部のパケットとで
    異なる識別子を割り当てる割当手段と、 前記暗号化アルゴリズムおよび鍵情報を適用して暗号処
    理を施したパケットに、前記識別子を暗号化せずに付加
    する手段とを備えたことを特徴とするノード装置。
  13. 【請求項13】前記割当手段は、順序保証を必要とする
    同一のパケットストリームに所属するパケットには同一
    の識別子を割り当てることを特徴とする請求項12に記
    載のノード装置。
  14. 【請求項14】前記割当手段は、前記パケットのパケッ
    トヘッダに含まれる特定の1個以上のフィールドをハッ
    シュキーとして得たハッシュ値に対応して前記異なる識
    別子を割り当てることを特徴とする請求項12または1
    3に記載のノード装置。
  15. 【請求項15】第1の暗号処理を施されたパケットを受
    信し、該パケットに対して該第1の暗号処理に対応する
    第2の暗号処理を施すノード装置において、 パケットに付与されている識別子と、該パケットに適用
    する暗号化アルゴリズムおよび鍵情報とを対応付けて記
    憶する記憶手段と、 パケットに対して前記第2の暗号処理を施すための、並
    列実行可能な複数の暗号処理手段と、 受信した前記第1の暗号処理を施されたパケットに含ま
    れる前記識別子に基づいて、前記複数の暗号処理手段の
    うちから、該パケットを処理すべきものを選択する手段
    と、 前記識別子をもとに前記記憶手段を参照して、選択され
    た前記暗号処理手段が前記パケットに適用すべき暗号化
    アルゴリズムおよび鍵情報を特定する手段とを備えたこ
    とを特徴とするノード装置。
  16. 【請求項16】他のノード装置との間で、自装置が送信
    側または受信側となって、暗号処理されたパケットを通
    信するノード装置において、 自装置が送信側となる場合に、同一の暗号化アルゴリズ
    ムおよび鍵情報を適用して暗号処理を行うべき複数のパ
    ケット群のそれぞれのパケットに、その群毎に異なる識
    別子を付与する手段と、 自装置が受信側となる場合に、受信したパケットに付与
    された前記識別子に基づいて並列実行可能な複数の暗号
    処理装置のうちの一つを選択し、該識別子により示され
    る暗号化アルゴリズムおよび鍵情報を用いた該パケット
    に対する暗号処理を該選択された前記暗号処理装置によ
    り行う手段とを備えたことを特徴とするノード装置。
  17. 【請求項17】パケットに第1の暗号処理を施して送信
    し、受信した第1の暗号処理を施されたパケットに対し
    て該第1の暗号処理に対応する第2の暗号処理を施すノ
    ード装置において、 自装置が前記第1の暗号処理を施して送信すべきパケッ
    トであって、同一の暗号化アルゴリズムおよび鍵情報を
    適用して暗号処理を行うべき複数のパケット群のそれぞ
    れのパケットに、その群毎に異なる識別子を付与する手
    段と、 パケットに付与される識別子と、該パケットに適用する
    暗号化アルゴリズムおよび鍵情報とを対応付けて記憶す
    る記憶手段と、 暗号処理して送信すべきパケットに対して前記第1の暗
    号処理を施すための、並列実行可能な複数の第1の暗号
    処理手段と、 受信した前記第1の暗号化を施されたパケットに対して
    前記第2の暗号処理を施すための、並列実行可能な複数
    の第2の暗号処理手段と、 前記第1の暗号処理を施して送信すべきパケットの前記
    識別子に基づいて、前記複数の第1の暗号処理装置のう
    ちから、該パケットを処理させるものを選択する手段
    と、 受信した前記第1の暗号処理を施されたパケットに含ま
    れる前記識別子に基づいて、前記複数の第2の暗号処理
    手段のうちから、該パケットを処理すべきものを選択す
    る手段と、 受信した前記第1の暗号処理を施されたパケットに含ま
    れる前記識別子をもとに前記記憶手段を参照して、該パ
    ケットに適用する暗号化アルゴリズムおよび鍵情報を特
    定する手段とを備えたことを特徴とするノード装置。
  18. 【請求項18】前記第1および第2の暗号処理手段の少
    なくとも一方は、ネットワークレイヤのパケットフォワ
    ーディングテーブルの検索処理を行う手段を含むことを
    特徴とする請求項17に記載のノード装置。
JP12393799A 1999-04-30 1999-04-30 暗号通信方法及びノード装置 Pending JP2000315997A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12393799A JP2000315997A (ja) 1999-04-30 1999-04-30 暗号通信方法及びノード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12393799A JP2000315997A (ja) 1999-04-30 1999-04-30 暗号通信方法及びノード装置

Publications (1)

Publication Number Publication Date
JP2000315997A true JP2000315997A (ja) 2000-11-14

Family

ID=14873056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12393799A Pending JP2000315997A (ja) 1999-04-30 1999-04-30 暗号通信方法及びノード装置

Country Status (1)

Country Link
JP (1) JP2000315997A (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438180B1 (ko) * 2001-12-26 2004-07-01 엘지전자 주식회사 선택적인 암호화기능을 갖는 tcp/ip기반 네트워크용고속 암/복호화 장치 및 방법
JP2004532543A (ja) * 2001-03-14 2004-10-21 ジェムプリュス ホストプラットフォームにおけるパケットトラフィックを保護する携帯用デバイス
JP2004343731A (ja) * 2003-04-24 2004-12-02 Matsushita Electric Ind Co Ltd 暗号化パケット処理装置、方法、プログラム及びプログラム記録媒体
JP2005025739A (ja) * 2003-06-30 2005-01-27 Microsoft Corp セキュリティプロトコルの自動ネゴシエーションのためのシステムおよび方法
JP2005142915A (ja) * 2003-11-07 2005-06-02 Sharp Corp 通信端末装置、サーバ装置、通信システムおよびプログラム
JP2007140566A (ja) * 2002-01-04 2007-06-07 Avaya Technology Corp 効率的なパケット暗号化方法
JP2009510858A (ja) * 2005-09-29 2009-03-12 パナソニック株式会社 拡張システム・アーキテクチャにおけるポリシ制御
EP2150025A1 (en) 2008-07-29 2010-02-03 Fujitsu Limited IP network communication method having security function, and communication system
US7869597B2 (en) 2005-11-21 2011-01-11 International Business Machines Corporation Method and system for secure packet communication
JP2012506170A (ja) * 2008-10-20 2012-03-08 アルカテル−ルーセント ネットワークセキュリティ方法および装置
US8726022B2 (en) 2002-11-06 2014-05-13 China Iwncomm Co., Ltd Method for the access of the mobile terminal to the WLAN and for the data communication via the wireless link securely
JP2014110466A (ja) * 2012-11-30 2014-06-12 Toshiba Corp 通信装置、通信方法およびコンピュータプログラム
JP2015515210A (ja) * 2012-03-30 2015-05-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上
JP2016177141A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 暗号化装置、暗号化方法、暗号化プログラム、データ構造、及び、暗号化システム
JP2016536678A (ja) * 2013-10-10 2016-11-24 中興通訊股▲ふん▼有限公司Zte Corporation ネットワーク管理セキュリティ認証方法、装置、システム及びコンピュータ記憶媒体
WO2021095179A1 (ja) * 2019-11-13 2021-05-20 日本電信電話株式会社 振り分け装置、振り分け方法、振り分けプログラム
CN115941600A (zh) * 2023-03-14 2023-04-07 鹏城实验室 报文分流方法、***与计算机可读存储介质

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250624B2 (en) 2001-03-14 2012-08-21 Gemalto Sa Portable device for securing packet traffic in a host platform
JP2004532543A (ja) * 2001-03-14 2004-10-21 ジェムプリュス ホストプラットフォームにおけるパケットトラフィックを保護する携帯用デバイス
KR100438180B1 (ko) * 2001-12-26 2004-07-01 엘지전자 주식회사 선택적인 암호화기능을 갖는 tcp/ip기반 네트워크용고속 암/복호화 장치 및 방법
JP2007140566A (ja) * 2002-01-04 2007-06-07 Avaya Technology Corp 効率的なパケット暗号化方法
US8726022B2 (en) 2002-11-06 2014-05-13 China Iwncomm Co., Ltd Method for the access of the mobile terminal to the WLAN and for the data communication via the wireless link securely
JP2004343731A (ja) * 2003-04-24 2004-12-02 Matsushita Electric Ind Co Ltd 暗号化パケット処理装置、方法、プログラム及びプログラム記録媒体
JP4551112B2 (ja) * 2003-04-24 2010-09-22 パナソニック株式会社 暗号化パケット処理装置、方法、プログラム及びプログラム記録媒体
JP2005025739A (ja) * 2003-06-30 2005-01-27 Microsoft Corp セキュリティプロトコルの自動ネゴシエーションのためのシステムおよび方法
JP2005142915A (ja) * 2003-11-07 2005-06-02 Sharp Corp 通信端末装置、サーバ装置、通信システムおよびプログラム
JP4564739B2 (ja) * 2003-11-07 2010-10-20 シャープ株式会社 サーバ装置および通信システム
JP2009510858A (ja) * 2005-09-29 2009-03-12 パナソニック株式会社 拡張システム・アーキテクチャにおけるポリシ制御
US8842681B2 (en) 2005-09-29 2014-09-23 Panasonic Intellectual Property Corporation Of America Policy control in the evolved system architecture
US7869597B2 (en) 2005-11-21 2011-01-11 International Business Machines Corporation Method and system for secure packet communication
US8300822B2 (en) 2005-11-21 2012-10-30 International Business Machines Corporation System for secure packet communication
EP2150025A1 (en) 2008-07-29 2010-02-03 Fujitsu Limited IP network communication method having security function, and communication system
JP2012506170A (ja) * 2008-10-20 2012-03-08 アルカテル−ルーセント ネットワークセキュリティ方法および装置
JP2015515210A (ja) * 2012-03-30 2015-05-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 盗聴に対するIPsec通信のパフォーマンス及びセキュリティの向上
JP2014110466A (ja) * 2012-11-30 2014-06-12 Toshiba Corp 通信装置、通信方法およびコンピュータプログラム
JP2016536678A (ja) * 2013-10-10 2016-11-24 中興通訊股▲ふん▼有限公司Zte Corporation ネットワーク管理セキュリティ認証方法、装置、システム及びコンピュータ記憶媒体
JP2016177141A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 暗号化装置、暗号化方法、暗号化プログラム、データ構造、及び、暗号化システム
WO2021095179A1 (ja) * 2019-11-13 2021-05-20 日本電信電話株式会社 振り分け装置、振り分け方法、振り分けプログラム
JPWO2021095179A1 (ja) * 2019-11-13 2021-05-20
JP7239016B2 (ja) 2019-11-13 2023-03-14 日本電信電話株式会社 振り分け装置、振り分け方法、振り分けプログラム
CN115941600A (zh) * 2023-03-14 2023-04-07 鹏城实验室 报文分流方法、***与计算机可读存储介质

Similar Documents

Publication Publication Date Title
US6438612B1 (en) Method and arrangement for secure tunneling of data between virtual routers
US6996842B2 (en) Processing internet protocol security traffic
JP2000315997A (ja) 暗号通信方法及びノード装置
JP4685855B2 (ja) 高速送信IPsec処理のための2つの並列エンジン
US8595479B2 (en) Aggregation of cryptography engines
US20210400029A1 (en) Path selection for data packets encrypted based on an ipsec protocol
US7826614B1 (en) Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US20080267177A1 (en) Method and system for virtualization of packet encryption offload and onload
US8175271B2 (en) Method and system for security protocol partitioning and virtualization
US10104050B2 (en) Authenticated group context in transitive IP network domains
JP2005522924A (ja) パケット処理方法およびパケット処理システム
AU2013266624A1 (en) Multi-tunnel virtual private network
WO2009021428A1 (fr) Dispositif de protection sécurisé et procédé permettant le transfert de messages
JP2004104542A (ja) ネットワーク、IPsec設定サーバ装置、IPsec処理装置及びそれらに用いるIPsec設定方法
WO2010020151A1 (zh) 报文处理方法、装置和***
US7239634B1 (en) Encryption mechanism in advanced packet switching system
EP3541007B1 (en) Cryptographic communication apparatus, cryptographic communication system, cryptographic communication method and computer-readable medium
US11088992B2 (en) Context specific keys
US7644187B2 (en) Internet protocol based encryptor/decryptor two stage bypass device
JP6529694B2 (ja) 転送装置および通信ネットワーク
US11665202B2 (en) Method device and system for policy based packet processing
WO2012126432A2 (zh) 数据传输的方法、设备和***
CN106209401A (zh) 一种传输方法及装置
Vajaranta et al. Feasibility of FPGA accelerated IPsec on cloud
US20080175242A1 (en) Internet Protocol Based Encryptor/Decryptor Bypass Device