(57)【要約】【課題】複数の通信装置がＩＰｓｅｃなどの通信に係る時限パラメータを互いに交換して通信を行い、かつ省電力のためにスリープモードで動作する場合に、該スリープモードの解除時にただちに通信を開始できるようにする。【解決手段】相手先通信装置との間で交換されるセキュリティアソシエーションを記憶する記憶手段と、省電力動作のためのスリープモードを開始する前に、前記記憶手段に記憶されたセキュリティアソシエーションを更新する更新手段と、前記更新手段によりセキュリティアソシエーションを更新した旨を前記相手先通信装置に通知する通知手段とを具備する。【選択図】図１
2006309438.tif 000002
【特許請求の範囲】
【請求項１】
相手先通信装置との間で交換されるセキュリティアソシエーションを記憶する記憶手段と、
省電力動作のためのスリープモードを開始する前に、前記記憶手段に記憶されたセキュリティアソシエーションを更新する更新手段と、
前記更新手段によりセキュリティアソシエーションを更新した旨を前記相手先通信装置に通知する通知手段とを具備することを特徴とする通信装置。
【請求項２】
相手先通信装置との間で交換され、ライフタイムを有するセキュリティアソシエーションを記憶する記憶手段と、
省電力動作のためのスリープモードを開始する前に、前記記憶手段に記憶されたセキュリティアソシエーションのライフタイムを調整する調整手段と、
前記調整手段により調整されたライフタイムを前記相手先通信装置に通知する通知手段とを具備することを特徴とする通信装置。
【請求項３】
前記調整手段は、前記記憶手段に記憶されたセキュリティアソシエーションのライフタイムに対し予定スリープ時間を加算する手段を含む請求項２記載の通信装置。
【請求項４】
前記調整手段は、前記記憶手段に記憶されたセキュリティアソシエーションのライフタイムに対し過去の通信ログに基づく一定時間を加算する手段を含む請求項２記載の通信装置。
【請求項５】
前記セキュリティアソシエーションはＩＰｓｅｃ通信に係る時限パラメータである請求項１記載の通信装置。
【請求項６】
相手先通信装置との間でセキュリティアソシエーションを交換するステップと、
交換されたセキュリティアソシエーションを記憶手段に記憶するステップと、
省電力動作のためのスリープモードを開始する前に、前記記憶手段に記憶されたセキュリティアソシエーションを更新する更新ステップと、
前記更新ステップによりセキュリティアソシエーションを更新した旨を前記相手先通信装置に通知する通知ステップとを具備することを特徴とする通信方法。
【請求項７】
相手先通信装置との間でライフタイムを有するセキュリティアソシエーションを交換するステップと、
交換されたセキュリティアソシエーションを記憶手段に記憶するステップと、
省電力動作のためのスリープモードを開始する前に、前記記憶手段に記憶されたセキュリティアソシエーションのライフタイムを調整する調整ステップと、
前記調整ステップにより調整されたライフタイムを前記相手先通信装置に通知する通知ステップとを具備することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信相手装置との間で相互にセキュリティアソシエーション（ＳＡ）を設定し、時限的なセキュリティパラメータを用いてＩＰｓｅｃなどのセキュアな通信を行う通信装置に関し、特に省電力動作モードを有するものに関する。
【背景技術】
【０００２】
ビルオートメーション（ＢＡ）ネットワークやファクトリオートメーション（ＦＡ）ネットワークなどにおいて使用される制御ネットワーク技術は、近年爆発的に普及したインターネット技術と時を同じく生まれたが、その多くはコスト制約などの要件に応じて独自の発展を遂げてきた。このため、これら制御ネットワーク技術は、インターネット技術とは異なる独自のプロトコル階層に基づく技術を利用している。
【０００３】
インターネット技術が広く普及し、社会的インフラの地位を確立したことにより、これら制御ネットワーク技術がＴＣＰやＵＤＰといったインターネット技術をトランスポートとして取り込むようになった。例えば、ＢＡＣｎｅｔ(Building Automation and Control network)やＭＯＤＢＵＳ  ＴＣＰ／ＩＰなどが典型的な例といえる。これらを「ＩＰ化された制御ネットワーク」と称する。
【０００４】
ＩＰ化された制御ネットワークでは、セキュリティの確保のためにＩＰｓｅｃと呼ばれる技術を利用するものが幾つか提案されている。ＩＰｓｅｃでは、予め、暗号鍵や、認証および暗号化アルゴリズムなどの関連パラメータを示すセキュリティアソシエーション（ＳＡ）を通信装置間で交換してから通信を開始する。このセキュリティアソシエーションは、セキュリティの見地から所定の生存期間（ライフタイム）が定められる時限パラメータであり、ライフタイムが過ぎると、再度、鍵交換プロトコルを起動してセキュリティアソシエーションの再設定を行うことが必要である。
【０００５】
さて、制御ネットワークを構成する通信装置は、必ずしも常時頻繁に通信を行うものばかりではなく、ごく希にしか通信しないものも存在する。そのような通信装置については、通信の準備のために常時通電されることが無用な電力消費になるので、省電力機能を備える場合がある。省電力機能が発動すると、装置の動作モードがスリープ（休眠又は待機）モードに遷移する。スリープの開始から一定時間が経過するか、外部からのトリガーを契機にウェイクアップすることにより、スリープモードは解除される。
【０００６】
このような省電力機能を備える通信装置では、スリープ期間中において、上記ＩＰｓｅｃに係るセキュリティアソシエーションのライフタイムが切れてしまうことが起こり得る。この場合、ウェイクアップしても、ただちに通信を開始することができない。セキュリティアソシエーションを改めて設定するには、ＩＫＥのような鍵交換プロトコルを再起動して折衝することが必要で、これには比較的長い計算時間を要するためである。したがって、通信の即時性を保持することができなくなるという問題点がある。
【０００７】
尚、下記特許文献１には、ネットワークに接続される端末等に通信パラメータを設定するための装置について記載されている。同特許文献１には、端末等の立ち上げモードを選択指定できるようにし、ネットワーク構成に変更がなく通信パラメータの初期値を各端末等に設定すればよい場合には、通信パラメータの変更に関する情報の送受を抑制することが記載されている。
【特許文献１】特開２０００−１１２８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、複数の通信装置がＩＰｓｅｃなどの通信に係る時限パラメータを互いに交換して通信を行い、かつ省電力のためにスリープモードで動作をする場合に、該スリープモードの解除時にただちに通信を開始できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一観点に係る通信装置は、相手先通信装置との間で交換されるセキュリティアソシエーションを記憶する記憶手段と、省電力動作のためのスリープモードを開始する前に、前記記憶手段に記憶されたセキュリティアソシエーションを更新する更新手段と、前記更新手段によりセキュリティアソシエーションを更新した旨を前記相手先通信装置に通知する通知手段とを具備する。
【発明の効果】
【００１０】
本発明によれば、ＩＰｓｅｃなどの通信に係る時限パラメータを相手先通信装置と互いに交換して通信を行い、かつ省電力のためにスリープモードで動作をする場合に、該スリープモードの解除時にただちに通信を開始できるような通信装置を提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施形態を説明する。図１は本発明の一実施形態に係る通信装置を示すブロック図である。この通信装置は、ビルオートメーション（ＢＡ）ネットワークやファクトリオートメーション（ＦＡ）ネットワークなど典型的な制御ネットワーク上に分散して配置される複数の機器（以下、「通信ノード」という）に相当する。各通信ノードはＩＰｓｅｃにより暗号化通信を行うものとする。図１に示されるように、通信ノードは、ＩＰｓｅｃ処理部１と、セキュリティアソシエーション（ＳＡ）テーブル２と、セキュリティポリシーデータベース（ＳＰＤ）３と、セキュリティパラメータテーブル４とを備える。
【００１２】
通信処理部５は、例えばＭＰＵ（マイクロプロセッサユニット）、主記憶装置、不揮発性記憶装置等を備えたコンピュータを構成する。ＩＰｓｅｃ処理部１は通信処理部５を通じてアプリケーションプログラム７から制御される。なお、アプリケーションプログラム７以外に、ＩＰｓｅｃ通信で用いられる鍵を管理するためのＩＰｓｅｃ鍵管理デーモン６を有する。
【００１３】
ＩＰｓｅｃは認証および秘匿性（暗号化）を含むセキュリティ上のサービス群を提供するものであり、ＲＦＣ２４０１に規定されている。ＩＰｓｅｃは認証ヘッダ（ＡＨ）、暗号ペイロード（ＥＳＰ）、および暗号鍵管理手続き等の幾つかのプロトコルに従って実行される。セキュリティアソシエーション（ＳＡ）はＩＰｓｅｃの実行の際に最も基本となるものである。「セキュリティアソシエーション」は二つの通信ノード間の関係を意味し、お互いのノードが安全に通信を行うことを目的とし、両者の合意の上で使用するセキュリティサービスを記述する。セキュリティアソシエーションは、セキュリティパラメータインデックス（ＳＰＩ）、宛先ＩＰアドレス、セキュリティプロトコル（ＡＨまたはＥＳＰ）の３つによって一意に特定される。各通信ノードは、現在通信中の相手ノード、あるいは既に通信を行った相手ノードの各々について一つのＳＡを保持している。各セキュリティアソシエーションには、予め決められた時間が経過すると無効になるようなライフタイムが設定される。通信ノード間でＩＰｓｅｃによる通信を開始するためには、該通信ノード間でセキュリティアソシエーションが交換されなければならない。
【００１４】
ＩＰｓｅｃによる通信で用いられる鍵交換のプロトコルとしては、KerberosベースのＫＩＮＫプロトコルを使ってもよいし、ＩＫＥ(Internet Key Exchange)を使ってもよい。本実施形態においては、通信ノードはインターネットを介してＩＰｓｅｃ通信を行うことを想定し、ＩＫＥが用いられるものとする。
【００１５】
図２は、ＩＰｓｅｃのパケット出力処理を示す概念図である。ＩＰｓｅｃ処理部１は、アプリケーションプログラム７から送信対象のデータを受け取り、パケット１０を構築した後、このパケット１０を送信する際のセキュリティポリシーを送信元アドレスと宛先アドレスに基づいてＳＰＤ３から探索する（ＳＰ探索）。次に、セキュリティポリシーの探索結果と、送信元アドレスおよび宛先アドレスとに基づいてＳＡテーブル２に対してセキュリティアソシエーションの探索を行い（ＳＡ探索）、ＩＰｓｅｃ通信に用いられる鍵や、セキュリティパラメータを得る。これら鍵やセキュリティパラメータを用いることにより、送信すべきパケット１０の送信出力にＩＰｓｅｃを適用する。
【００１６】
図３は、セキュリティアソシエーション（ＳＡ）テーブル、セキュリティポリシーデータベース（ＳＰＤ）、およびセキュリティパラメータテーブルを示す図である。ＳＡテーブル２には、通信相手ノードとの通信毎に作成されるセキュリティアソシエーション（ＳＡ）のエントリを格納する。各ＳＡは宛先アドレス（宛先IP-addr）、セキュリティプロトコル（IPsec-protocol）、セキュリティパラメータインデックス（ＳＰＩ）２０を有する。ＳＡに設定されるセキュリティプロトコルは、ＳＰＤ３に予め格納された幾つかのセキュリティプロトコルのいずれかに対応する。また、ＳＰＩ２０によって、当該ＳＡに対応するセキュリティパラメータがセキュリティパラメータテーブル４において特定される。セキュリティパラメータは、当該ＳＡのライフタイムを示すフィールド４１と、通信相手ノードがスリープであるか否かを表すフィールド４２とを有する。通信相手ノードがスリープ中にあるときは、フィールド４２にはその旨を表す値が設定される。
【００１７】
通信処理部５は、当該通信ノードにおいて通信処理部５への通電を一時的に停止することでスリープし、ウェイクアップにより該スリープを解除する省電力動作モードと、このような省電力動作を行わない通常動作モードとを有する。省電力動作モードに移行し、当該通信ノードがスリープする際には、その時点でのセキュリティアソシエーションに係るパラメータデータを不揮発性記憶装置に退避して保持することが必要である。
【００１８】
ここで、通信ノードのスリープには、そのウェイクアップの方法に関して、例えば次の二つのモードがある。
【００１９】
スリープモード１：予定されたスリープ時間が過ぎるとウェイクアップする。この場合、スリープ時間の推定が可能である。  
スリープモード２：不特定な相手ノードからのパケットによるトラップを受け、ウェイク・オン・パケット(Wake on packet)によりウェイクアップする。この場合、スリープ時間の推定はできない。
【００２０】
省電力動作モードによりスリープとウェイクアップを繰り返す通信ノードにおいて、ＩＰｓｅｃのセキュリティアソシエーションのような時限パラメータを使った通信を行う場合、ウェイクアップ時にただちに通信を開始できることが望ましい。そこで、本実施形態に係る通信ノードは、スリープを開始するにあたりセキュリティアソシエーションの更新あるいはそのライフタイムの設定を以下に説明するように制御する。なお、以下の制御例は、上記スリープモードの相違に応じて異なる。
【００２１】
［第１の方法：ＳＡを更新してからスリープ］  
図４は通信ノードＡと通信ノードＢとが通信を行っている際に、該通信ノードＡがスリープを開始してからウェイクアップするまでの動作手順であって、第１の方法に従い動作する場合のシーケンス図である。第１の方法は、通信ノードＡがスリープを開始する直前のステップＳ１において、セキュリティアソシエーション（ＳＡ）などのパラメータを最新のものに更新しておく、というものである。この更新によれば、更新された新たなセキュリティアソシエーションについて、新しいライフタイムが設定される。ステップＳ２では、セキュリティアソシエーションの更新を行った旨を通信相手である通信ノードＢに通信する。
【００２２】
図４から分かるように、更新前の、本来のライフタイムＬ１であれば、通信ノードＡがＳ３の時点でスリープを開始してからＳ４の時点でウェイクアップするまでの間に、該ライフタイムＬ１が終了し、Ｓ４のウェイクアップ後にはセキュリティアソシエーションを更新する必要が生じるために通信をただちに開始できない場合が考えられる。これに対し、スリープ前にセキュリティアソシエーションを更新しておく第１の方法の場合、通信ノードＡがＳ３の時点でスリープを開始してからＳ４の時点でウェイクアップするまでの間に、ライフタイムはライフタイムＬ２に事前に更新されているので、本来のライフタイムＬ１よりも時間的余裕がある。したがって、Ｓ４のウェイクアップの後にはセキュリティアソシエーションを更新することなくこれをそのまま用い、パラメータのリフレッシュを回避して通信をただちに開始できるようになる。この第１の方法は、スリープ時間が比較的短い通信ノードの場合に好適である。
【００２３】
（通信相手側の処理）  
通信ノードＡ側でセキュリティアソシエーションを更新したことにより新規のライフタイムが定まったならば、Ｓ２において通信ノードＡから通信相手である通信ノードＢに対してその旨が通知される。このとき、通信ノードＢは、該当するＳＡテーブル２のエントリにマークを付与する。このマークされたＳＡエントリに対しては、鍵の更新やＩＰｓｅｃのデッド・ピア・ディテクション（DPD: Dead peer detection）などの通信管理のためのパケット送出を一定期間だけ停止する（Ｓ５）。これにより、通信ノードＢが通信ノードＡに対して該パケットを送出し、スリープ中の通信ノードＡが不用意なパケットでウェイクアップしてしまうことを防ぐことができる。
【００２４】
［第２の方法：スリープモード１の場合］  
図５は通信ノードＡと通信ノードＢとが通信を行っている際に、該通信ノードＡがスリープを開始してからウェイクアップするまでの動作手順であって、第２の方法に従い動作する場合のシーケンス図である。第２の方法は、通信ノードＡがスリープを開始する直前のステップＳ１において、セキュリティアソシエーション（ＳＡ）などのライフタイムの値をスリープ時間を考慮して調整するというものである。上記第１の方法とは異なり、セキュリティアソシエーション（ＳＡ）自体の更新は行わない。
【００２５】
上記スリープモード１では、スリープ時間を推定可能である。そこで、現状のセキュリティアソシエーションのライフタイムＬ１の値に、推定されるスリープ時間の値を加算して調整後のライフタイムＬ２とする。ステップＳ２では、調整後のライフタイムＬ２を通信相手である通信ノードＢに通知する。調整後のライフタイムＬ２の値は、当該通信ノードＡが備えるセキュリティパラメータテーブル４に設定される一方、通信相手である通信ノードＢのセキュリティパラメータテーブル４においても設定される。
【００２６】
図５から分かるように、調整を行わない本来のライフタイムＬ１であれば、通信ノードＡがＳ３の時点でスリープを開始してからＳ４の時点でウェイクアップするまでの間に、該ライフタイムＬ１が終了し、Ｓ４のウェイクアップ後にはセキュリティアソシエーションを更新する必要が生じるために通信をただちに開始できない場合が考えられる。これに対し、スリープ前にセキュリティアソシエーションのライフタイムを調整する第２の方法の場合、通信ノードＡがＳ３の時点でスリープを開始してからＳ４の時点でウェイクアップするまでの間に、ライフタイムは延長されライフタイムＬ２として調整されることから、本来のライフタイムＬ１よりも時間的余裕がある。したがって、Ｓ４のウェイクアップの後にはセキュリティアソシエーションを更新することなくこれをそのまま用い、通信をただちに開始できるようになる。
【００２７】
（通信相手側の処理）  
上述した第１の方法と同様に、通信ノードＡ側で調整後のライフタイムが定まったならば、Ｓ２において通信ノードＡから通信相手である通信ノードＢに対してその旨が通知される。このとき、通信ノードＢは、該当するＳＡテーブル２のエントリにマークを付与する。このマークされたＳＡエントリに対しては、鍵の更新やＩＰｓｅｃのデッド・ピア・ディテクション（DPD: Dead peer detection）などの通信管理のためのパケット送出を一定期間だけ停止する（Ｓ５）。これにより、通信ノードＢが通信ノードＡに対して該パケットを送出し、スリープ中の通信ノードＡが不用意なパケットでウェイクアップしてしまうことを防ぐことができる。
【００２８】
［第３の方法：スリープモード２の場合］  
第３の方法は、スリープのモードが上記スリープモード２の場合である。スリープモード２では、スリープ時間が非決定的であり推定できない。そこで第３の方法では、上述した第１の方法を使ってセキュリティアソシエーション等の通信パラメータを最新のものに更新するとともに、過去の通信ログなどを元に一定時間をライフタイムに加えてからスリープする。ライフタイムに加える一定時間は、該通信ノードＡの過去の通信ログから算出する他、該通信ノードＡの種別・属性から決まる値としてもよい。例えば、エアコンのセンサノードの場合は加算時間を「３０分」とするが、滅多に使われないノードは「１ヶ月」とするなどである。
【００２９】
以上説明した本発明の実施形態によれば、制御ネットワークにおける各通信装置がＩＰｓｅｃなど通信に係る時限パラメータを保持した通信を実行し、かつ省電力化のために随時スリープおよびウェークアップを繰り返す場合に、ウェークアップ時に、時限パラメータの再設定を回避し、ただちに通信開始できるようになる。これにより通信ノードの省電力動作モードを有効に活用でき、かつ通信パラメータの更新などのオーバーヘッドを回避することで、通信の即時性を保持でき、幅広い分野での適用が可能になる。
【００３０】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係る通信装置を示すブロック図
【図２】ＩＰｓｅｃのパケット出力処理を示す概念図
【図３】セキュリティアソシエーション（ＳＡ）テーブル、セキュリティポリシーデータベース（ＳＰＤ）、およびセキュリティパラメータテーブルを示す図
【図４】通信ノードＡと通信ノードＢとが通信を行っている際に、該通信ノードＡがスリープを開始してからウェイクアップするまでの動作手順であって、第１の方法に従い動作する場合のシーケンス図
【図５】通信ノードＡと通信ノードＢとが通信を行っている際に、該通信ノードＡがスリープを開始してからウェイクアップするまでの動作手順であって、第２の方法に従い動作する場合のシーケンス図
【符号の説明】
【００３２】
１…ＩＰｓｅｃ処理部
２…セキュリティアソシエーション（ＳＡ）テーブル
３…セキュリティポリシーデータベース
４…セキュリティパラメータテーブル
５…通信処理部
６…ＩＰｓｅｃ鍵管理デーモン
７…アプリケーションプログラム
【図１】
2006309438.tif 000003
【図２】
2006309438.tif 000004
【図３】
2006309438.tif 000005
【図４】
2006309438.tif 000006
【図５】
2006309438.tif 000007