特許第5716712号(P5716712)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

<>
  • 特許5716712-パケット転送装置及び方法 図000002
  • 特許5716712-パケット転送装置及び方法 図000003
  • 特許5716712-パケット転送装置及び方法 図000004
  • 特許5716712-パケット転送装置及び方法 図000005
  • 特許5716712-パケット転送装置及び方法 図000006
  • 特許5716712-パケット転送装置及び方法 図000007
  • 特許5716712-パケット転送装置及び方法 図000008
  • 特許5716712-パケット転送装置及び方法 図000009
  • 特許5716712-パケット転送装置及び方法 図000010
  • 特許5716712-パケット転送装置及び方法 図000011
  • 特許5716712-パケット転送装置及び方法 図000012
  • 特許5716712-パケット転送装置及び方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5716712
(24)【登録日】2015年3月27日
(45)【発行日】2015年5月13日
(54)【発明の名称】パケット転送装置及び方法
(51)【国際特許分類】
   H04L 12/853 20130101AFI20150423BHJP
   H04L 12/865 20130101ALI20150423BHJP
【FI】
   H04L12/853
   H04L12/865
【請求項の数】6
【全頁数】21
(21)【出願番号】特願2012-163794(P2012-163794)
(22)【出願日】2012年7月24日
(65)【公開番号】特開2014-27350(P2014-27350A)
(43)【公開日】2014年2月6日
【審査請求日】2013年12月5日
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100064908
【弁理士】
【氏名又は名称】志賀 正武
(74)【代理人】
【識別番号】100108578
【弁理士】
【氏名又は名称】高橋 詔男
(74)【代理人】
【識別番号】100089037
【弁理士】
【氏名又は名称】渡邊 隆
(74)【代理人】
【識別番号】100094400
【弁理士】
【氏名又は名称】鈴木 三義
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(72)【発明者】
【氏名】宮田 宏
【審査官】 小林 秀和
(56)【参考文献】
【文献】 特開2011−142441(JP,A)
【文献】 特開2005−012468(JP,A)
【文献】 特開2010−283612(JP,A)
【文献】 国際公開第2010/142354(WO,A1)
【文献】 国際公開第2004/059923(WO,A2)
【文献】 特開2006−005425(JP,A)
【文献】 特開2007−173959(JP,A)
【文献】 特開2008−263421(JP,A)
【文献】 特開2008−236275(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/853
G06F 21/64
H04L 9/32
H04L 12/865
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して送信されてくるパケットを送信先に向けて転送するパケット転送装置において、
前記パケットのヘッダに格納された通信品質制御情報を認証するための認証情報を格納する拡張ヘッダが前記パケットに付加されている場合に、該認証情報の評価を行う評価部と、
前記拡張ヘッダが前記パケットに付加されていない場合に、少なくとも予め規定された通信品質制御情報を用いて前記認証情報を演算する演算部と、
前記拡張ヘッダが前記パケットに付加されていない場合に、前記予め規定された通信品質制御情報が前記ヘッダに追加され、前記演算部で演算された前記認証情報を格納する拡張ヘッダが付加されたパケットを、前記送信先に向けて転送すべきパケットとして生成するパケット処理部と、
前記評価部によって前記認証情報が正当であると評価された場合に、前記通信品質制御情報を用いた通信品質制御を実施して前記送信先に向けた前記パケットの転送を行い、前記拡張ヘッダが前記パケットに付加されていない場合に、前記予め規定された通信品質制御情報を用いた通信品質制御を実施して前記パケット処理部で生成されたパケットを前記送信先に向けて転送する転送部と
を備えることを特徴とするパケット転送装置。
【請求項2】
予め配布された秘密共有鍵を記憶する記憶部を備えており、
前記評価部は、前記記憶部に記憶された秘密共有鍵と少なくとも前記パケットのヘッダに格納された通信品質制御情報とを用いて演算される情報に基づいて前記認証情報の評価を行い、
前記演算部は、前記記憶部に記憶された秘密共有鍵と少なくとも前記予め規定された通信品質制御情報とを用いて前記認証情報を演算する
ことを特徴とする請求項1記載のパケット転送装置。
【請求項3】
前記拡張ヘッダには、前記パケットの送信順を示すシーケンス番号が格納されており、
前記シーケンス番号が同一であるパケットが複数送信されてきた場合に、前記パケットを破棄する
ことを特徴とする請求項1又は請求項2記載のパケット転送装置。
【請求項4】
前記拡張ヘッダには、前記認証情報の演算に用いられるパケット毎に値が異なる数値情報が格納されており、
前記評価部は、前記拡張ヘッダに格納された前記数値情報を用いて前記認証情報の評価を行う
ことを特徴とする請求項1から請求項3の何れか一項に記載のパケット転送装置。
【請求項5】
前記数値情報は、前記パケットの送信順を示すシーケンス番号、及び前記パケット毎に値が異なる乱数の少なくとも一方であることを特徴とする請求項4記載のパケット転送装置。
【請求項6】
ネットワークを介して送信されてくるパケットを送信先に向けて転送するパケット転送方法であって、
前記パケットのヘッダに格納された通信品質制御情報を認証するための認証情報を格納する拡張ヘッダが前記パケットに付加されているか否かを判断する第1ステップと、
前記第1ステップで前記拡張ヘッダが前記パケットに付加されていると判断された場合に、前記認証情報の評価を行う第2ステップと、
前記第2ステップで前記認証情報が正当であると評価された場合に、前記通信品質制御情報を用いた通信品質制御を実施して前記送信先に向けた前記パケットの転送を行う第3ステップと
前記第1ステップで前記拡張ヘッダが前記パケットに付加されていないと判断された場合に、少なくとも予め規定された通信品質制御情報を用いて前記認証情報を演算する第4ステップと、
前記予め規定された通信品質制御情報が前記ヘッダに追加され、前記第4ステップで演算された前記認証情報を格納する拡張ヘッダが付加されたパケットを生成する第5ステップと、
前記予め規定された通信品質制御情報を用いた通信品質制御を実施して前記第5ステップで生成されたパケットを前記送信先に向けて転送する第6ステップと
を有することを特徴とするパケット転送方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット転送装置及び方法に関する。
【背景技術】
【0002】
周知の通り、インターネットに代表されるIPネットワークは、基本的には、ベストエフォート型のネットワーク(通信品質について最善を尽くすもののその品質が保証されないネットワーク)である。このようなベストエフォート型のネットワークでは、送信されたパケットが届くという保証が必ずしもないため、パケットの到達時間や到達間隔が保証されてはいない。しかしながら、音声通信や動画配信等のサービスではリアルタイム性(伝送遅延(レイテンシー)が殆ど生じないこと)が要求されるため、パケットの到達時間や到達間隔がある程度は保証される必要がある。このため、IPネットワークでは、上述したベストエフォート型の通信を基本としつつも、ある通信において特定のトラフィックの優先度を上げ、或いは一定の通信速度を保つためにQoS(Quality of Service)なる通信品質制御技術が用いられている。
【0003】
ここで、上記のQoS技術の代表的なものとしては、以下の非特許文献1に開示されているDiffServ(Differentiated Services)や、以下の非特許文献2に開示されているRSVP(Resource Reservation Protocol)が挙げられる。上記のDiffServは、パケットの特定フィールド(例えば、IPv6に準拠したパケットのヘッダ内におけるDSCP(Differentiated Service Code Point)フィールド)に格納される値に応じてパケットの優先的な取り扱いを制御する技術である。また、上記のRSVPは、IPネットワークにおける送信先までの帯域を予約しておき、予約した帯域を用いてパケットを送信することで、IPネットワークにおける通信経路の品質を保証する技術である。尚、以下の特許文献1には、このようなQoS技術を用いてIPパケット転送における時間揺らぎを軽減する技術が開示されている。
【0004】
尚、上述のQoS技術は、インターネットに限らず、リアルタイム性が要求されるネットワークで用いられる。例えば、プラントや工場等において構築される分散制御システム(DCS:Distributed Control System)の一部をなすネットワークにおいても用いられることがある。この分散制御システムは、フィールド機器と呼ばれる現場機器(測定器、操作器)と、これらの管理及び制御を行う管理装置とが有線又は無線のネットワークを介して接続されたシステムであり、工業プロセスにおける各種の状態量(例えば、圧力、温度、流量等)を高精度に制御する必要があることからリアルタイム性が重要視される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−211233号公報
【非特許文献】
【0006】
【非特許文献1】RFC2474、Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers
【非特許文献2】RFC2205、Resource ReSerVation Protocol (RSVP) Version 1 Functional Specification
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、上述したDiffServやRSVP等のQoS技術は、パケットに格納された値を用いて優先度の制御や帯域制御を行うものであるため、パケットに正しい値が格納されていることを大前提としている。ここで、上述したDiffServで用いられる値(ヘッダのDSCPフィールドに格納される値)は、パケットの送信元である送信元機器、或いは送信元機器からのパケットを最初に転送するルータ(第1ホップルータ)によって格納される。また、上述したRSVPで用いられる値(ヘッダや上位プロトコルに含まれる送信元アドレス、送信先アドレス、送信元ポート、送信先ポート、プロトコル等の情報)は、送信元機器によって格納される。これら送信元機器及び第1ホップルータ以外の機器は、送信されてきたパケットに格納された値が正しい値であることを前提として優先度の制御や帯域制御を行う。
【0008】
従って、例えば、悪意のある第三者が、上述した送信元機器に相当する機器をネットワークに接続して操作し、誤った値が格納されたパケットをネットワークに送信させることで、ネットワークに障害が引き起こされる可能性が考えられるという問題がある。具体的には、例えば最も高い優先度に相当する値が格納されたパケットや、障害を起こしたい通信を特定する情報(送信元アドレス、送信先アドレス、送信元ポート、送信先ポート、プロトコル等)が格納されたパケットを偽造して送信すれば、本来優先されるべきパケットの到達時間を遅らせる、損失を招くといった攻撃を容易に行うことが可能になるという問題がある。
【0009】
本発明は上記事情に鑑みてなされたものであり、偽造パケットによる影響を防止することができるパケット転送装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明のパケット転送装置は、ネットワーク(N)を介して送信されてくるパケットを送信先に向けて転送するパケット転送装置(20a〜20c)において、前記パケットのヘッダ(H1、H11)に格納された通信品質制御情報を認証するための認証情報が前記ヘッダに格納されている場合に、該認証情報の評価を行う評価部(23)と、前記評価部によって前記認証情報が正当であると評価された場合に、前記通信品質制御情報を用いた通信品質制御を実施して前記送信先に向けた前記パケットの転送を行う転送部(24)とを備えることを特徴としている。
この発明によると、パケットのヘッダに格納された認証情報(パケットのヘッダに格納された通信品質制御情報を認証するための情報)が評価部によって評価され、評価部によって認証情報が正当であると評価された場合に、転送部によって通信品質制御情報を用いた通信品質制御が実施されて送信先に向けたパケットの転送が行われる。
また、本発明のパケット転送装置は、前記パケットのヘッダに前記認証情報が格納されていない場合に、少なくとも予め規定された通信品質制御情報(C2)を用いて前記認証情報を演算する演算部(25)と、前記予め規定された通信品質制御情報と前記演算部で演算された前記認証情報とが前記ヘッダに追加されたパケットを、前記転送先に向けて転送すべきパケットとして生成するパケット処理部(22)とを備えることを特徴としている。
また、本発明のパケット転送装置は、前記転送部が、前記予め規定された通信品質制御情報を用いた通信品質制御を実施して、前記パケット処理部で生成されたパケットを前記送信先に向けて転送することを特徴としている。
また、本発明のパケット転送装置は、予め配布された秘密共有鍵(K1)を記憶する記憶部(26)を備えており、前記評価部が、前記記憶部に記憶された秘密共有鍵と少なくとも前記パケットのヘッダに格納された通信品質制御情報とを用いて演算される情報に基づいて前記認証情報の評価を行い、前記演算部が、前記記憶部に記憶された秘密共有鍵と少なくとも前記予め規定された通信品質制御情報とを用いて前記認証情報を演算することを特徴としている。
本発明のパケット転送方法は、ネットワーク(N)を介して送信されてくるパケットを送信先に向けて転送するパケット転送方法であって、前記パケットのヘッダ(H1、H11)に格納された通信品質制御情報を認証するための認証情報が前記ヘッダに格納されているか否かを判断する第1ステップ(S22)と、前記第1ステップで前記認証情報が前記ヘッダに格納されていると判断された場合に、前記認証情報の評価を行う第2ステップ(S25)と、前記第2ステップで前記認証情報が正当であると評価された場合に、前記通信品質制御情報を用いた通信品質制御を実施して前記送信先に向けた前記パケットの転送を行う第3ステップ(S28、S29)とを有することを特徴としている。
また、本発明のパケット転送方法は、前記第1ステップで前記認証情報が前記ヘッダに格納されていないと判断された場合に、少なくとも予め規定された通信品質制御情報(C2)を用いて前記認証情報を演算する第4ステップ(S37)と、前記予め規定された通信品質制御情報と前記第4ステップで演算された前記認証情報とが前記ヘッダに追加されたパケットを生成する第5ステップ(S38)と、前記予め規定された通信品質制御情報を用いた通信品質制御を実施して、前記第5ステップで生成されたパケットを前記送信先に向けて転送する第6ステップ(S28、S29)とを有することを特徴としている。
【発明の効果】
【0011】
本発明によれば、パケットのヘッダに格納された認証情報(パケットのヘッダに格納された通信品質制御情報を認証するための情報)を評価部が正当であると評価した場合に、転送部が通信品質制御情報を用いた通信品質制御を実施して送信先に向けたパケットの転送を行うため、偽造パケットによる影響を防止することができるという効果がある。
【図面の簡単な説明】
【0012】
図1】本発明の第1実施形態によるパケット転送装置が用いられる通信システムの全体構成を示すブロック図である。
図2】通信システムに設けられるフィールド機器の要部構成を示すブロック図である。
図3】本発明の第1実施形態によるパケット転送装置としてのルータの要部構成を示すブロック図である。
図4】本発明の第1実施形態で用いられるパケットの基本フォーマットを示す図である。
図5】本発明の第1実施形態で用いられるパケットの第1拡張フォーマットを示す図である。
図6】本発明の第1実施形態で用いられるパケットの第2拡張フォーマットを示す図である。
図7】本発明の第1実施形態におけるフィールド機器の動作を示すフローチャートである。
図8】本発明の第1実施形態によるパケット転送装置としてのルータの動作を示すフローチャートである。
図9】本発明の第2実施形態で用いられるパケットのフォーマットを示す図である。
図10】本発明の第2実施形態で用いられるパケットの他のフォーマットを示す図である。
図11】本発明の第3実施形態で用いられるパケットのフォーマットを示す図である。
図12】本発明の第3実施形態で用いられるパケットの他のフォーマットを示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態によるパケット転送装置及び方法について詳細に説明する。
【0014】
〔第1実施形態〕
〈通信システムの全体構成〉
図1は、本発明の第1実施形態によるパケット転送装置が用いられる通信システムの全体構成を示すブロック図である。図1に示す通り、通信システム1は、フィールド機器10、ルータ20a〜20c(パケット転送装置)、及びコントローラ30を備えており、フィールド機器10とコントローラ30との間で、ルータ20a〜20cによって構成されるネットワークNを介した通信が可能である。
【0015】
尚、図1に示す通信システム1は、プラントや工場等において構築される分散制御システム(DCS)の基礎をなすものである。また、図1では、理解を容易にするために、ネットワークNに1つのフィールド機器10のみが接続され、ネットワークNが3つのルータ20a〜20cから構成されている例を図示しているが、これらフィールド機器及びルータの数は任意である。
【0016】
フィールド機器10は、例えば流量計や温度センサ等のセンサ機器、流量制御弁や開閉弁等のバルブ機器、ファンやモータ等のアクチュエータ機器、その他のプラントや工場の現場に設置される機器である。フィールド機器10は、その動作がコントローラ30によって制御され、測定対象(例えば、流量、温度、弁の開度、モータの回転数等)の測定を行い、その測定結果をコントローラ30に送信する。このフィールド機器10は、ネットワークNに対して有線接続或いは無線接続される。
【0017】
ルータ20a〜20cは、フィールド機器10及びコントローラ30が接続されるネットワークNを構成するものであり、ネットワークNを介して送信されてくるパケットを送信先に向けて転送する。例えば、フィールド機器10から送信されてくるパケットを、コントローラ30に向けて転送する。ここで、ルータ20a〜20cは、互いに有線接続されていても良く、互いに無線接続されていても良い。
【0018】
尚、本実施形態では、理解を容易にするために、ルータ20a〜20cが、図1に示す通りフィールド機器10とコントローラ30との間で直列状に接続されているものとする。このため、フィールド機器10に接続されるルータ20a及びコントローラ30に接続されるルータ20cは、ネットワークNの末端に配置されるルータ(所謂、エッジルータ)ということができる。
【0019】
コントローラ30は、ネットワークNを介してフィールド機器10を制御するとともに、フィールド機器10の制御によって得られた各種データを、ネットワークNを介して収集する。
【0020】
〈フィールド機器の構成〉
図2は、通信システムに設けられるフィールド機器の要部構成を示すブロック図である。図2に示す通り、フィールド機器10は、測定部11、通信部12、パケット処理部13、暗号処理部14、メモリ15、及び制御部16を備えており、コントローラ30の制御の下で、前述した測定対象の測定結果が含まれるパケットの送信等を行う。
【0021】
測定部11は、前述した測定対象の測定を行い、その測定結果を示す測定データを制御部16に出力する。通信部12は、制御部16の制御の下で、ネットワークNを介して送信されてくるパケットを受信するとともに、コントローラ30宛のパケットをネットワークNに送信する。パケット処理部13は、制御部16の制御の下で、通信部12で送受信されるパケットに関する処理を行う。例えば、通信部12で受信されたパケットから特定データの抽出等を行うとともに、通信部12を介して送信すべきパケット(測定部11の測定結果が格納されたパケット)の生成を行う。
【0022】
ここで、パケット処理部13は、パケットに設けられる本来のヘッダ(基本ヘッダ)を拡張したヘッダである拡張ヘッダを生成する拡張ヘッダ生成部13aを備える。この拡張ヘッダは、QoS技術(通信品質制御技術)で用いられる通信品質制御情報(具体的には、DiffServで用いられるDSCP値、或いはRSVPで用いられる値)を認証するためのメッセージ認証コード(認証情報)等が格納されるヘッダである。尚、パケット処理部13で生成されるパケットのフォーマットの詳細については後述する。
【0023】
暗号処理部14は、メモリ15に格納された秘密共有鍵K1を用いて、上記のメッセージ認証コードを演算する。具体的に、暗号処理部14は、送信すべきパケット(拡張ヘッダが追加されていないパケット)と秘密共有鍵K1とを用いて演算(例えば、HMAC−SHA1、HMAC−MD5等の演算)を行い、HMAC(Keyed-Hashing for Message Authentication Code)なるメッセージ認証コードを演算する。
【0024】
メモリ15は、上記の秘密共有鍵K1とQoS技術で用いられる通信品質制御情報C1と)を記憶する。ここで、秘密共有鍵K1は、フィールド機器10及びルータ20a〜20cで共有される秘密鍵であり、例えばコントローラ30から配布される。また、通信品質制御情報C1は、フィールド機器10から送信されるパケットの優先度の制御や帯域制御を行うための情報(具体的には、DiffServで用いられるDSCP値、或いはRSVPで用いられる値)であり、例えばコントローラ30によって予め設定され、或いは予め作業者によりフィールド機器10に手動設定される。
【0025】
尚、図2では説明を簡単にするために図示を簡略化しているが、通信品質制御情報C1は、通信品質制御を行う上で必要となる各種情報が格納されるテーブルに格納される。具体的に、このテーブルは、DiffServの場合には、「送信元アドレス」、「送信先アドレス」、「利用プロトコル」、「送信元ポート」、「送信先ポート」、及び「DSCP値(通信品質制御情報C1)」等が格納される複数のレコードを有するテーブルである。
【0026】
制御部16は、フィールド機器10の動作を統括して制御する。例えば、通信部12、パケット処理部13、及び暗号処理部14を制御して、パケットの送受信制御を行う。ここで、制御部16は、パケットの送信制御を行う際に、メモリ15に記憶された通信品質制御情報C1を送信すべきパケットに含めて拡張ヘッダを付加するか否かの制御を行う。尚、拡張ヘッダを付加する場合には、制御部16は、拡張ヘッダに格納するメッセージ認証コードを暗号処理部14に演算させる制御を行う。
【0027】
〈パケット転送装置の構成〉
図3は、本発明の第1実施形態によるパケット転送装置としてのルータの要部構成を示すブロック図である。図3に示す通り、ルータ20a〜20cは、通信部21a,21b、パケット処理部22、評価部23、転送部24、暗号処理部25(演算部)、及びメモリ26(記憶部)を備えており、ネットワークNを介して送信されてくるパケットを送信先に向けて転送する。
【0028】
通信部21a,21bは、ネットワークNを介して送信されてくるパケットを受信するとともに、ネットワークNに対してパケットを送信する。例えば、ネットワークNを介してフィールド機器10からコントローラ30にパケットが送信される場合には、ルータ20a〜20cに設けられた通信部21aはフィールド機器10からネットワークNを介して送信されてきたパケットを受信し、ルータ20a〜20cに設けられた通信部21bはコントローラ30宛のパケットをネットワークNに送信する。尚、図3では、理解を容易にするために、2つの通信部21a,21bを備える構成を図示しているが、通信部21a,21bをまとめて1つにしても良い。
【0029】
パケット処理部22は、通信部21a,21bで送受信されるパケットに関する処理を行う。例えば、通信部21a,21bで受信されたパケットから特定データの抽出等を行うとともに、通信部21a,21bを介して送信すべきパケットの生成を行う。このパケット処理部22は、フィールド機器10に設けられたパケット処理部13と同様に、パケットに設けられる本来のヘッダ(基本ヘッダ)を拡張したヘッダである拡張ヘッダ(メッセージ認証コード等が格納されるヘッダ)を生成する拡張ヘッダ生成部22aを備える。尚、パケット処理部22で生成されるパケットのフォーマットの詳細については後述する。
【0030】
評価部23は、通信部21a,21bで受信されたパケットのヘッダに格納された通信品質制御情報C1を認証するためのメッセージ認証コードがヘッダ(拡張ヘッダ)に格納されている場合に、そのメッセージ認証コードの評価を行う。具体的には、受信されたパケット(拡張ヘッダが除かれたパケット)と秘密共有鍵K1とを用いたメッセージ認証コードの演算を暗号処理部25に行わせ、受信されたパケットの拡張ヘッダに格納されているメッセージ認証コードと暗号処理部25で得られたメッセージ認証コードとが一致するか否かを判断する。尚、評価部23は、両メッセージ認証コードが一致した場合に、受信されたパケットの拡張ヘッダに格納されているメッセージ認証コードが正当であると評価する。
【0031】
転送部24は、パケットの転送制御を行う。具体的に、通信部21a,21bで受信されたパケットの拡張ヘッダに格納されているメッセージ認証コードが正当であると評価部23によって評価された場合には、受信されたパケットのヘッダに格納された通信品質制御情報C1を用いた通信品質制御を実施して、受信したパケットを送信先に向けて転送する。これに対し、通信部21a,21bで受信されたパケットにメッセージ認証コードが格納された拡張ヘッダが無い場合には、メモリ26に記憶された通信品質制御情報C2を用いた通信品質制御を実施して、パケット処理部22で生成されたパケットを送信先に向けて転送する。尚、パケット処理部22で生成されるパケットは、ヘッダ(基本ヘッダ)に通信品質制御情報C2が含まれ、通信品質制御情報C2を認証するメッセージ認証コードが格納されたヘッダ(拡張ヘッダ)が追加されたパケットである。
【0032】
暗号処理部25は、フィールド機器10に設けられた暗号処理部14と同様に、メモリ26に格納された秘密共有鍵K1を用いて、上記のメッセージ認証コードを生成する。メモリ26は、秘密共有鍵K1とQoS技術で用いられる通信品質制御情報C2(予め規定された通信品質制御情報)とを記憶する。ここで、秘密共有鍵K1は、フィールド機器10のメモリ15に記憶される秘密共有鍵K1と同じものであり、例えばコントローラ30から配布される。また、通信品質制御情報C2は、受信したパケットを転送する際の優先度の制御や帯域制御を行うための情報(具体的には、DiffServで用いられるDSCP値、或いはRSVPで用いられる値)であり、例えばコントローラ30によって予め設定され、或いは予め作業者によりルータ20a〜20cに手動設定される。この通信品質制御情報C2は、フィールド機器10のメモリ15に記憶される通信品質制御情報C1と同じものであっても良く、異なるものであっても良い。
【0033】
尚、図3では説明を簡単にするために図示を簡略化しているが、通信品質制御情報C2は、図2に示した通信品質制御情報C1と同様に、通信品質制御を行う上で必要となる各種情報が格納されるテーブルに格納される。具体的に、このテーブルは、DiffServの場合には、「送信元アドレス」、「送信先アドレス」、「利用プロトコル」、「送信元ポート」、「送信先ポート」、及び「DSCP値(通信品質制御情報C2)」等が格納される複数のレコードを有するテーブルである。
【0034】
〈パケットのフォーマット〉
図4は、本発明の第1実施形態で用いられるパケットの基本フォーマットを示す図である。本実施形態で用いられるパケットは、IPv6(Internet Protocol Version 6)に準拠したパケットであり、基本ヘッダH1、TCP/UDP(Transmission Control Protocol / User Datagram Protocol)ヘッダH2、及びペイロードPからなる。基本ヘッダH1には、パケットの転送に必要となる各種情報が格納され、TCP/UDPヘッダH2には、TCP/UDPで処理を行うために必要となる各種情報が格納され、ペイロードPには、送信される各種データ(例えば、フィールド機器10で測定された測定データ)が格納される。
【0035】
ここで、基本ヘッダH1は、「バージョン(Version)」、「トラフィッククラス(Traffic Class)」、「フローラベル(Flow Label)」、「ペイロード長(Payload Length)」、「次ヘッダ(Next Header)」、「ホップリミット(Hop Limit)」、「送信元アドレス(Source Address)」、及び「送信先アドレス(Destination Address)」の8つのフィールドからなる。これらのフィールドのうち、「トラフィッククラス」フィールドは、パケットの優先度を示す情報が格納される8ビット長のフィールドである。
【0036】
具体的に、上記の「トラフィッククラス」フィールドには、QoS技術の一種であるDiffServによる優先度の制御に用いられる情報であるDSCP値が格納される6ビット長のDSCPフィールドが設けられている。尚、「トラフィッククラス」フィールドにおけるDSCPフィールドを除く残りの2ビットは、ECN(Explicit Congestion Notification:明示的輻輳通知)に使用される。
【0037】
DiffServによる優先度の制御が行われる場合には、図2に示すフィールド機器10のメモリ15に格納された通信品質制御情報C1、或いは図3に示すルータ20a〜20cのメモリ26に格納された通信品質制御情報C2として上記のDSCP値が用いられる。このため、フィールド機器10からは、DSCPフィールドに通信品質制御情報C1が格納されたパケットが送信されることがある。また、詳細は後述するが、DSCPフィールドに通信品質制御情報C2が格納されたパケットがルータ20a〜20cによって転送されることもある。
【0038】
図5は、本発明の第1実施形態で用いられるパケットの第1拡張フォーマットを示す図である。図5に示すフォーマットのパケットは、QoS技術で用いられる通信品質制御情報(DSCP値等)の偽造防止対策が施されたパケットであり、例えばフィールド機器10で生成される。尚、フィールド機器10において、通信品質制御情報の偽造防止を実施する旨の設定がなされていない場合には、図4に示すパケット(基本のフォーマットのパケット)が生成される。
【0039】
図5に示すパケットは、図4に示すパケットと同様にIPv6に準拠したパケットであって、図4に示すパケットの基本ヘッダH1とTCP/UDPヘッダH2との間に拡張ヘッダH11が追加されたパケットである。この拡張ヘッダH11は、パケットがルータ20a〜20cを通過するごとに処理されなければならない情報が指定されたヘッダ(所謂、ホップ・バイ・ホップ・オプションヘッダ)である。
【0040】
図5に示す通り、拡張ヘッダH11は、「次ヘッダ」フィールドF11、「ヘッダ長」フィールドF12、及び「オプション」フィールドF13からなる。「次ヘッダ」フィールドF11は、拡張ヘッダH11に続く次のヘッダ(TCP/UDPヘッダH2)の種類を示す情報が格納されるフィールドである。「ヘッダ長」フィールドF12は、拡張ヘッダH11に内おける「ヘッダ長」フィールドF12以降の長さが格納されるフィールドである。「オプション」フィールドF13は、通信品質制御情報の偽造防止に必要となる情報が格納されるフィールドである。
【0041】
具体的に、「オプション」フィールドF13には、「識別子」、「データ長」、及び「メッセージ認証コード」が一組にされたオプション情報Q1が格納される。ここで、オプション情報Q1中の「識別子」は、オプション情報Q1中に「メッセージ認証コード」が含まれる旨を示す識別子である。オプション情報Q1中の「データ長」は、オプション情報Q1に含まれる「メッセージ認証コード」のデータ長である。オプション情報Q1中の「メッセージ認証コード」は、通信品質制御情報(具体的には、図4に示す基本ヘッダH1のDSCPフィールドに格納されるDSCP値、或いはRSVPで用いられる値)を認証するための認証情報(HMAC)である。この「メッセージ認証コード」が通信品質制御情報(DSCP値等)の偽造防止に用いられる。
【0042】
図6は、本発明の第1実施形態で用いられるパケットの第2拡張フォーマットを示す図である。図6に示すフォーマットのパケットは、図5に示すパケットと同様に、QoS技術で用いられる通信品質制御情報(DSCP値等)の偽造防止対策が施されたパケットであり、エッジルータとしてのルータ20a,20cで生成される。尚、図5に示すフォーマットのパケットが送信されてきた場合には、ルータ20a,20cでのパケット生成(図6に示すパケットの生成)は行われない。
【0043】
図6にパケットは、図4に示すパケットの基本ヘッダH1の前に、拡張ヘッダH11及び基本ヘッダH10が追加されたパケットであり、いわば図4に示すパケットに拡張ヘッダH11が付加されたパケットが、基本ヘッダH10によってカプセル化されたパケットである。拡張ヘッダH11は、図5に示した拡張ヘッダH11と同じものであり、「オプション」フィールドF13に「メッセージ認証コード」等が格納されたホップ・バイ・ホップ・オプションヘッダである。
【0044】
基本ヘッダH10は、ネットワークNの内部(ルータ20aとルータ20cとの間)でパケットを転送するために必要となる各種情報が格納され、図4に示す基本ヘッダH1と同様に、「バージョン」〜「送信先アドレス」フィールドからなる。但し、基本ヘッダH10は、ネットワークNの内部のみでパケットを転送するために用いられるものであるため、「送信元アドレス」フィールド及び「送信先アドレス」フィールドには、エッジルータ(ルータ20a,20c)のアドレスが格納される。
【0045】
〈通信システムの動作〉
次に、通信システム1の動作について説明する。尚、以下では理解を容易にするために、QoS技術の一種であるDiffServによる優先度の制御が行われつつ、フィールド機器10で生成されたパケットがコントローラ30に送信される際の動作について説明する。図7は、本発明の第1実施形態におけるフィールド機器の動作を示すフローチャートである。また、図8は、本発明の第1実施形態によるパケット転送装置としてのルータの動作を示すフローチャートである。
【0046】
ここで、本実施形態における通信システム1の動作は、フィールド機器10で生成されるパケットに、DiffServで用いられるDSCP値(通信品質制御情報C1)を認証するためのメッセージ認証コード(HMAC)が含まれている場合の動作(以下、第1動作という)と、含まれていない場合の動作(以下、第2動作という)とに大別される。以下、これら第1,第2動作について順に説明する。
【0047】
[第1動作]
まず、コントローラ30に送信すべきパケットを生成する処理がフィールド機器10で行われる(ステップS11)。具体的には、制御部16によってパケット処理部13が制御され、基本ヘッダH1の「送信元アドレス」,「送信先アドレス」フィールドに、フィールド機器10及びコントローラ30のアドレスがそれぞれ格納され、DSCPフィールドにDSCP値(通信品質制御情報C1)が格納されたパケット(図4に示す基本フォーマットのパケット)が生成される。尚、生成されるパケットのペイロードPには、例えば測定部11の測定結果を示す測定データが格納される。
【0048】
次に、コントローラ30に送信すべきパケットが、DSCP値(通信品質制御情報C1)の偽造防止が必要なパケットであるか否かがフィールド機器10の制御部16で判断される(ステップS12)。具体的には、通信品質制御情報の偽造防止を実施する旨がフィールド機器10に設定されているか否かが制御部16で判断される。第1動作においては、かかる旨の設定がなされているため、ステップS12の判断結果は「YES」になる。
【0049】
すると、制御部16によってメモリ15及び暗号処理部14が制御され、対象となるパケット(DSCPフィールドにDSCP値が書き込まれたパケット)と秘密共有鍵K1とを用いてメッセージ認証コード(HMAC)が演算される(ステップS13)。
【0050】
メッセージ認証コードが演算されると、制御部16によってパケット処理部13の拡張ヘッダ生成部13aが制御され、図5に示す通り、演算されたメッセージ演算コード等が「オプション」フィールドF13に格納された拡張ヘッダH11がパケットに付加される(ステップS14)。以上の処理が終了すると、制御部16によって通信部12が制御され、拡張ヘッダH11が付加されたパケットがコントローラ30に向けて送信される(ステップS15)。
【0051】
フィールド機器10からコントローラ30に向けて送信されたパケットは、まずルータ20aに入力される。ルータ20aに入力されたパケットは、図3に示す通信部21aで受信されてパケット処理部22に出力される(ステップS21)。パケットが受信されると、パケット処理部22において、メッセージ認証コード(HMAC)が格納された拡張ヘッダH11の有無が判断される(ステップS22:第1ステップ)。第1動作においては、メッセージ認証コード(HMAC)が格納された拡張ヘッダH11が付加されたパケットがフィールド機器10から送信されるため、ステップS22の判断結果は「YES」になる。
【0052】
すると、拡張ヘッダH11に格納されたメッセージ認証コード(HMAC)がパケット処理部22によって読み出されて評価部23に出力される(ステップS23)。パケット処理部22からのメッセージ認証コード(HMAC)が評価部23に入力されると、暗号処理部25において、パケットの拡張ヘッダH11を除いた残りの部分と秘密共有鍵K1とを用いてメッセージ認証コード(HMAC)が演算される(ステップS24)。
【0053】
次に、受信したパケットの拡張ヘッダH11に格納されたメッセージ認証コード(HMAC)の正当性が評価部23で評価される。具体的には、受信したパケットの拡張ヘッダH11に格納されたメッセージ認証コード(HMAC)と暗号処理部25で演算されたメッセージ認証コード(HMAC)とが一致するか否かが評価部23によって判断される(ステップS25:第2ステップ)。仮に、両メッセージ認証コード(HMAC)が一致しないと評価部23によって判断された場合(判断結果が「NO」の場合)には、受信したパケットを破棄する処理がパケット処理部22で行われ(ステップS26)、図8に示す一連の処理が終了する。
【0054】
これに対し、両メッセージ認証コード(HMAC)が一致すると評価部23によって判断された場合(ステップS25の判断結果が「YES」の場合)には、受信したパケットが自ノード宛であるか否かが転送部24で判断される(ステップS27)。ここでは、受信したパケットの基本ヘッダH1に含まれる「送信先アドレス」フィールドに、コントローラ30のアドレスが格納されており、ルータ20a宛ではないため、ステップS27の判断結果は「NO」になる。
【0055】
すると、転送部24によってQoS処理が実施される(ステップS28:第3ステップ)。具体的には、受信したパケットの基本ヘッダH1内におけるDSCPフィールドに格納されたDSCP値(通信品質制御情報C1)に基づいて、転送部24がDiffServによる優先度の制御を実施する。そして、転送部24によってパケット処理部22が制御され、パケットが通信部21bに出力されてコントローラ30に向けて送信される(ステップS29:第3ステップ)。
【0056】
ルータ20aからコントローラ30に向けて送信されたパケットは、ルータ20b及びルータ20cで順次転送が行われた後にコントローラ30で受信される。パケットを受信したルータ20b及びルータ20cでは、ルータ20aで行われた処理と同様の処理が行われる。つまり、パケットの拡張ヘッダH11に格納されたメッセージ認証コード(HMAC)の正当性が評価され、正当であると評価された場合にはQoS処理が実施された上でパケットの転送処理が行われ、正当ではないと評価された場合にはパケットを破棄する処理が行われる。このように、DSCP値(通信品質制御情報C1)が偽造された虞のあるパケットは、ルータ20a〜20cの何れかで破棄されるため、偽造パケットによる影響を防止することができる。
【0057】
[第2動作]
まず、第1動作と同様に、コントローラ30に送信すべきパケットを生成する処理がフィールド機器10で行われる(ステップS11)。次に、コントローラ30に送信すべきパケットが、DSCP値(通信品質制御情報C1)の偽造防止が必要なパケットであるか否かがフィールド機器10の制御部16で判断される(ステップS12)。具体的には、通信品質制御情報の偽造防止を実施する旨がフィールド機器10に設定されているか否かが制御部16で判断される。第2動作においては、かかる旨の設定がなされていないため、ステップS12の判断結果は「NO」になる。すると、制御部16によって通信部12が制御され、図4に示す基本フォーマットのパケット(拡張ヘッダH11が付加されていないパケット)がコントローラ30に向けて送信される(ステップS15)。
【0058】
尚、フィールド機器10が、通信品質制御情報の偽造防止を実施する機能を有しないものである場合には、上記のステップ12の処理が省略され、ステップS11,S15の処理のみが行われる。つまり、コントローラ30に送信すべきパケットを生成する処理が行われ(ステップS11)、図4に示す基本フォーマットのパケット(拡張ヘッダH11が付加されていないパケット)がコントローラ30に向けて送信される(ステップS15)。
【0059】
フィールド機器10からコントローラ30に向けて送信されたパケットは、まずルータ20aに入力される。ルータ20aに入力されたパケットは、図3に示す通信部21aで受信されてパケット処理部22に出力される(ステップS21)。パケットが受信されると、パケット処理部22において、メッセージ認証コード(HMAC)が格納された拡張ヘッダH11の有無が判断される(ステップS22)。第2動作においては、拡張ヘッダH11が付加されていないパケット(図4に示す基本フォーマットのパケット)がフィールド機器10から送信されるため、ステップS22の判断結果は「NO」になる。
【0060】
すると、受信したパケットが、本来的には上記の拡張ヘッダH11が必要なパケットであるか否かがルータ20aのパケット処理部22で判断される(ステップS31)。具体的には、パケットに拡張ヘッダH11が付加されているべき旨を示す情報が、メモリ26に記憶されたテーブル(通信品質制御情報C2が格納されているテーブル)内に格納されているか否かがパケット処理部22で判断される。仮に、受信したパケットが、拡張ヘッダH11が必要なパケットであると判断した場合(判断結果が「YES」の場合)には、偽造された可能性が高いため、受信したパケットを破棄する処理がパケット処理部22で行われ(ステップS32)、図8に示す一連の処理が終了する。
【0061】
これに対し、受信したパケットが、拡張ヘッダH11が必要なパケットではないと判断した場合(判断結果が「NO」の場合)には、受信したパケットが、DSCP値(通信品質制御情報C2)の偽造防止が必要なパケットであるか否かがルータ20aのパケット処理部22で判断される(ステップS33)。具体的には、当該パケットに通信品質制御情報の偽造防止を実施する旨がルータ20aに設定されているか否かがパケット処理部22で判断される。第2動作においては、かかる旨の設定がなされているため、ステップS33の判断結果は「YES」になる。
【0062】
すると、パケット処理部22において、受信したパケットをカプセル化する処理(エンキャプスレーション)が行われる(ステップS34)。具体的には、図6に示す基本ヘッダH1、TCP/UDPヘッダH2、及びペイロードPからなるパケットに対して、新たな基本ヘッダH10を付加する処理が行われる。ここで、基本ヘッダH10は、ネットワークNの内部(ルータ20aとルータ20cとの間)でパケットを転送するために用いられるものであるため、基本ヘッダH10の「送信元アドレス」,「送信先アドレス」フィールドには、ルータ20a及びルータ20cのアドレスがそれぞれ格納される。
【0063】
次いで、パケット処理部22において、パケットに付加された新たな基本ヘッダH10のDSCPフィールドに、DSCP値(通信品質制御情報C2)を書き込む処理が行われる(ステップS35)。続いて、パケット処理部22において、もとの基本ヘッダH1のDSCPフィールドに、DSCP値(通信品質制御情報C2)を書き込む処理が行われる(ステップS36)。尚、ステップS35,S36の処理は何れが先に行われても良い。
【0064】
以上の処理が終了すると、暗号処理部25において、パケット処理部22で生成されたパケット(カプセル化されてDSCP値(通信品質制御情報C2)が書き込まれたパケット)と秘密共有鍵K1とを用いてメッセージ認証コード(HMAC)が演算される(ステップS37:第4ステップ)。メッセージ認証コードが演算されると、パケット処理部22の拡張ヘッダ生成部22aによって、図6に示す拡張ヘッダH11(メッセージ演算コード等が「オプション」フィールドF13に格納された拡張ヘッダH11)が生成されて、カプセル化されたパケットに付加される(ステップS38:第5ステップ)。
【0065】
以上の処理が終了すると、転送部24によってQoS処理が実施される(ステップS28:第6ステップ)。具体的には、生成されたパケットの基本ヘッダH10におけるDSCPフィールドに格納されたDSCP値(通信品質制御情報C2)に基づいて、転送部24がDiffServによる優先度の制御を実施する。そして、転送部24によってパケット処理部22が制御され、パケットが通信部21bに出力されてコントローラ30に向けて送信される(ステップS29:第6ステップ)。
【0066】
尚、仮に当該パケットに対し通信品質制御情報の偽造防止を実施する旨がルータ20aに設定されていない場合には、ステップS33の判断結果が「NO」になり、受信したパケットの基本ヘッダH1のDSCPフィールドにDSCP値(通信品質制御情報C2)を書き込む処理がパケット処理部22によって行われる(ステップS39)。そして、転送部24によってQoS処理が実施され(ステップS28)、基本ヘッダH1にDSCP値(通信品質制御情報C2)が書き込まれたパケットが通信部21bに出力されてコントローラ30に向けて送信される(ステップS29)。
【0067】
ルータ20aからコントローラ30に向けて送信されたパケットは、ルータ20b及びルータ20cで順次受信される。ここで、ルータ20aからコントローラ30に向けて送信されたパケットに、メッセージ認証コード(HMAC)が格納された拡張ヘッダH11が付加されている場合には、ルータ20b,20cでは、前述した第1動作で説明したルータ20aで行われる処理と同様の処理が行われる。
【0068】
つまり、パケットの拡張ヘッダH11に格納されたメッセージ認証コード(HMAC)の正当性が評価され、正当であると評価された場合にはQoS処理が実施された上でパケットの転送処理が行われ、正当ではないと評価された場合にはパケットを破棄する処理が行われる。このように、DSCP値(通信品質制御情報C2)が偽造された虞のあるパケットは、ルータ20a〜20cの何れかで破棄されるため、偽造パケットによる影響を防止することができる。
【0069】
ここで、ルータ20aからコントローラ30に向けて送信されたパケットは、基本ヘッダH10によってカプセル化されたものであり、基本ヘッダH10の「送信先アドレス」フィールドにはルータ20cのアドレスが格納される。このため、ルータ20aからコントローラ30に向けて送信されたパケットを受信したルータ20cの転送部24は、そのパケットが自ノード宛てであると判断する。
【0070】
これにより、図8中におけるステップS27の判断結果が「YES」になり、パケット処理部22においてカプセル化を解除する処理(デキャプスレーション)が行われる(ステップS40)。具体的には、図6に示す基本ヘッダH10と拡張ヘッダH11を削除する処理を行う。以上の処理が終了すると、転送部24によってQoS処理が実施され(ステップS28)、図4に示す基本フォーマットのパケットがルータ20cからコントローラ30送信される(ステップS29)。
【0071】
以上の通り、本実施形態では、メッセージ認証コードが格納された拡張ヘッダH11が付加されているパケットをルータ20a〜20cが受信した場合には、拡張ヘッダH11に格納されたメッセージ認証コードの正当性を評価し、正当であると評価した場合にはQoS処理を実施した上でパケットの転送処理を行い、正当ではないと評価した場合にはパケットを破棄する処理を行っている。このため、DSCP値(通信品質制御情報C1,C2)が偽造された虞のあるパケットは、ルータ20a〜20cの何れかで破棄されるため、偽造パケットによる影響を防止することができる。
【0072】
また、メッセージ認証コードが格納された拡張ヘッダH11が付加されていないパケットをエッジルータ(ルータ20a)が受信した場合には、本来的に拡張ヘッダH11が必要なパケットではないと判断したときに、パケットの基本ヘッダH1,H10に通信品質制御情報C2を書き込むとともに、メッセージ認証コードが格納された拡張ヘッダH11をパケットに付加するようにしている。このため、メッセージ認証コードが格納された拡張ヘッダH11が付加されていないパケットが送信されてきた場合であっても、偽造パケットによる影響を防止することができる。
【0073】
〔第2実施形態〕
上述した第1実施形態は、メッセージ認証コードが格納された拡張ヘッダH11をパケットに付加し、パケットのヘッダに格納される通信品質制御情報が偽造されたものであるか否かを判別することによって、偽造パケットによる影響を防止するものであった。この第1実施形態は、偽造パケットによる影響を防止するには極めて有効であるものの、正当パケットを悪用した行為(例えば、拡張ヘッダH11が付加された正当パケットを保存し、保存したパケットを繰り返し送信し続けるという行為)による影響を防止することはできない。本実施形態は、このような不正行為による影響を防止するものである。
【0074】
図9は、本発明の第2実施形態で用いられるパケットのフォーマットを示す図である。図9に示す通り、本実施形態で用いられるパケットは、図5に示すパケットと同様に、基本ヘッダH1、拡張ヘッダH11、TCP/UDPヘッダH2、及びペイロードPからなる。但し、拡張ヘッダH11の「オプション」フィールドF13に格納される情報が追加されている点が図5に示すパケットとは相違する。
【0075】
具体的に、拡張ヘッダH11の「オプション」フィールドF13には、「識別子」、「データ長」、及び「メッセージ認証コード」が一組にされたオプション情報Q1に加えて、「識別子」、「データ長」、及び「シーケンス番号」が一組にされたオプション情報Q2が格納される。ここで、オプション情報Q2中の「識別子」は、オプション情報Q2中に「シーケンス番号」が含まれる旨を示す識別子である。オプション情報Q2中の「データ長」は、オプション情報Q2に含まれる「シーケンス番号」のデータ長である。オプション情報Q2中の「シーケンス番号」は、送信先に向けて順次送信される一群のパケットの送信順を示す番号である。
【0076】
図9に示すパケットは、図2に示すフィールド機器10のパケット処理部13又は図3に示すルータ20a,20cのパケット処理部22で生成される。このような「シーケンス番号」が格納された拡張ヘッダH11をパケットに付加し、同一の「シーケンス番号」が格納されたパケットが複数送信されてきた場合には、それらのパケットを破棄することで、前述した正当パケットを悪用した不正行為による影響を防止することができる。
【0077】
図10は、本発明の第2実施形態で用いられるパケットの他のフォーマットを示す図である。上述した図9に示すパケットは、「メッセージ認証コード」を含むオプション情報Q1と「シーケンス番号」を含むオプション情報Q2とが同じ拡張ヘッダH11に格納されたものであった。これに対し、図10に示すパケットは、2つの拡張ヘッダH11,H12が付加されており、「メッセージ認証コード」を含むオプション情報Q1が拡張ヘッダH11に格納され、「シーケンス番号」を含むオプション情報Q2が拡張ヘッダH12に格納されたものである。尚、上記の拡張ヘッダH12に含まれる「シーケンス番号」を用いて「メッセージ認証コード」を演算しても良い。
【0078】
〔第3実施形態〕
QoS技術の一種であるDiffServによる優先度の制御が行われる環境において、同一のDSCP値(通信品質制御情報)が用いられることによって優先度が一定に設定され、且つ、ペイロードPに格納されるデータが同一である場合には、各パケットの拡張ヘッダH11に格納されるメッセージ認証コード(HMAC)は同じものになる。このため、このメッセージ認証コードを取得して、不正パケットの拡張ヘッダに格納すれば、パケットの偽装が可能になると考えられる。本実施形態は、このようなパケットの偽装を防止するものである。
【0079】
図11は、本発明の第3実施形態で用いられるパケットのフォーマットを示す図である。図11に示す通り、本実施形態で用いられるパケットは、図9に示すパケットと同様に、基本ヘッダH1、拡張ヘッダH11、TCP/UDPヘッダH2、及びペイロードPからなる。但し、拡張ヘッダH11の「オプション」フィールドF13に格納される情報が追加されている点が図9に示すパケットとは相違する。
【0080】
具体的に、拡張ヘッダH11の「オプション」フィールドF13には、「識別子」、「データ長」、及び「メッセージ認証コード」が一組にされたオプション情報Q1、「識別子」、「データ長」、及び「シーケンス番号」が一組にされたオプション情報Q2に加えて、「識別子」、「データ長」、及び「乱数」が一組にされたオプション情報Q3が格納される。ここで、オプション情報Q3中の「識別子」は、オプション情報Q3中に「乱数」が含まれる旨を示す識別子である。オプション情報Q3中の「データ長」は、オプション情報Q3に含まれる「乱数」のデータ長である。オプション情報Q3中の「乱数」は、各パケットの拡張ヘッダH11に含まれる「メッセージ認証コード」の値をパケット毎に異ならせるためものである。
【0081】
つまり、本実施形態では、パケット毎に異なる乱数を用いて「メッセージ認証コード」を演算することよって、「メッセージ認証コード」の値をパケット毎に異ならせている。ここで、ルータ20a〜20cの各々でメッセージ認証コードの正当性を評価する際に、「メッセージ認証コード」の演算の際に用いた乱数が必要になることから、拡張ヘッダH11に「乱数」を格納している。尚、オプション情報Q2に含まれる「シーケンス番号」もパケット毎に異なる値であることから、「乱数」とともに、或いは「乱数」を用いずに「シーケンス番号」を用いて「メッセージ認証コード」を演算しても良い。
【0082】
図11に示すパケットは、図2に示すフィールド機器10のパケット処理部13又は図3に示すルータ20aのパケット処理部22で生成される。このような「乱数」を用いて「メッセージ認証コード」が演算されることによって、各パケットの拡張ヘッダH11に格納される「メッセージ認証コード」は互いに異なる値になるため、前述したパケットの偽装を防止することができる。
【0083】
図12は、本発明の第3実施形態で用いられるパケットの他のフォーマットを示す図である。上述した図11に示すパケットは、「メッセージ認証コード」を含むオプション情報Q1、「シーケンス番号」を含むオプション情報Q2、及び「乱数」を含むオプション情報Q3が同じ拡張ヘッダH11に格納されたものであった。これに対し、図12に示すパケットは、2つの拡張ヘッダH11,H12が付加されており、「メッセージ認証コード」を含むオプション情報Q1が拡張ヘッダH11に格納され、「シーケンス番号」を含むオプション情報Q2及び「乱数」を含むオプション情報Q3が拡張ヘッダH12に格納されたものである。尚、本実施形態で用いられるパケットは、拡張ヘッダH11,H12に加えてもう1つの拡張ヘッダが付加されており、「メッセージ認証コード」を含むオプション情報Q1、「シーケンス番号」を含むオプション情報Q2、及び「乱数」を含むオプション情報Q3が互いに異なる拡張ヘッダに格納されたものであっても良い。
【0084】
以上、本発明の実施形態によるパケット転送装置及び方法について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上述した実施形態では、拡張ヘッダを除くパケット全体を対象としてメッセージ認証コードを演算する例について説明したが、基本ヘッダH1及びTCP/UDPヘッダH2のみを対象としてメッセージ認証コードを演算しても良い。また、通信品質制御情報のみを対象としてメッセージ認証コードを演算しても良い。例えば、DiffServで用いられるDSCP値、或いはRSVPで用いられる値(送信元アドレス、送信先アドレス、送信元ポート、送信先ポート等)である。
【0085】
また、前述した実施形態では、受信したパケットの拡張ヘッダH11に格納されたメッセージ認証コード(HMAC)が正当なものではないと評価した場合に、ルータ20a〜20cは、パケットを廃棄する処理を行っていた。しかしながら、ルータ20a〜20cは、パケットを廃棄する処理と、パケットを廃棄しつつICMP(Internet Control Message Protocol:インターネット制御通知プロトコル)エラーメッセージを送信する処理とを選択可能であるのが望ましい。
【0086】
また、前述した実施形態において、ルータ20aで生成されるパケットは、図6に示すパケット(図4に示すパケットに拡張ヘッダH11を付加したパケットを、基本ヘッダH10でカプセル化したパケット)であった。しかしながら、ルータ20aによって生成されるパケットは、図5に示すパケット(フィールド機器10で生成されるパケット)と同様のパケットであっても良い。
【0087】
また、前述した実施形態では、フィールド機器10及びルータ20a〜20cが、秘密共有鍵K1を用いた演算(ハッシュ演算)を行ってメッセージ認証コードを求める例について説明した。しかしながら、通信品質制御情報の完全性が担保できるのであれば、秘密共有鍵K1を用いた演算以外の方法でメッセージ認証コードを求めるようにしても良い。尚、フィールド機器10とルータ20との間、及び、ルータ20cとコントローラ30との間は、1ホップであることが望ましいが、これらの間に複数のルータが介在しても良い。その場合、本提案とは別の手法を用いてその間の信頼性を担保することが望ましい。
【0088】
また、上記実施形態では、IPv6に準拠したパケットの拡張ヘッダH11にメッセージ認証コードが格納される例について説明したが、メッセージ認証コードの格納先は、IPv6に準拠したパケットの拡張ヘッダH11に限られる訳ではない。例えば、イーサネット(登録商標)で用いられるMAC(Media Access Control)フレームにメッセージ認証コードを格納することもできる。
【0089】
また、ネットワークNがネットワークスイッチによって構成されている場合にも本発明を適用することができる。かかる場合には、MACヘッダにメッセージ認証コードを格納することができる。また、ルータ20a〜20cは、単一のハードウェアとして実現されている必要はなく、複数のハードウェアに分散されていても良い。例えば、OpenFlow対応のネットワークスイッチであっても良い。このようなネットワークスイッチを用いる場合には、IPv6に準拠したパケットの拡張ヘッダH11及びMACヘッダの何れにもフレームメッセージ認証コードを格納することができる。
【0090】
更に、上記実施形態では、プラントや工場等において構築される分散制御システム(DCS)の基礎をなす通信システム1について説明したが、本発明はこのような通信システム1以外の通信システム(例えば、ITS(Intelligent Transport System:高度道路交通システム)、送電網、医療ネットワーク)にも適用可能である。
【符号の説明】
【0091】
20a〜20c ルータ
22 パケット処理部
23 評価部
24 転送部
25 暗号処理部
26 メモリ
C1 通信品質制御情報
C2 通信品質制御情報
H1 基本ヘッダ
H11 拡張ヘッダ
K1 秘密共有鍵
N ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12