(57)【要約】【課題】盗聴によって認証用識別情報が第三者に知られた場合でも、管理対象装置への不正な設定を防ぐこと。【解決手段】ネットワーク管理プロトコルとしてＳＮＭＰｖ１、ＳＮＭＰｖ２ｃを用いる。管理装置は、共通鍵を用いてＳＥＴリクエストのメッセージ認証情報を算出し、メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成し、認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを送信する。管理対象装置は、ＳＥＴリクエストを受信すると認証用ＶａｒＢｉｎｄの有無を調べ、認証用ＶａｒＢｉｎｄが無い場合にはパケットを廃棄し、認証用ＶａｒＢｉｎｄがある場合には、認証用ＶａｒＢｉｎｄ内のメッセージ認証情報がメッセージ認証情報キャッシュ内に存在するか調べ、存在する場合には、リプレイ攻撃と判定し異常終了を返す。【選択図】図１
2012220975.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク管理プロトコルとしてＳＮＭＰを用いて、管理装置と管理対象装置とがネットワークを介して、ＳＮＭＰメッセージを送受信するネットワーク管理システムであって、
前記管理装置は、
共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出し、該メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成し、該認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成処理部と、
前記ＳＮＭＰメッセージ生成処理部で作成したＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信部と
を備え、
前記管理対象装置は、
前記管理装置からのパケットを受信するパケット受信部と、
前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べ、無ければ前記パケットを廃棄するＳＮＭＰメッセージ解析処理部と、
既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュと、
前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が前記メッセージ認証情報キャッシュ内に存在するか調べ、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、前記ＳＮＭＰメッセージ解析処理部に異常終了を返す認証ＭＩＢモジュールと
を備えるネットワーク管理システム。
【請求項２】
前記認証ＭＩＢモジュールは、
前記メッセージ認証情報が前記メッセージ認証情報キャッシュ内に含まれていなかった場合には、受信したパケットの送信元アドレスに対応する共通鍵を用いて、認証用ＶａｒＢｉｎｄを除いたＳＮＭＰメッセージのメッセージ認証情報を算出し、
前記認証用ＶａｒＢｉｎｄに含まれていたメッセージ認証情報と前記ＭＩＢモジュールが算出したメッセージ認証情報とが一致するか調べ、両者が不一致の場合には、ＳＮＭＰメッセージが改ざんされたと判断して、前記ＳＮＭＰメッセージ解析処理部に異常終了を返し、
両者が一致した場合には、前記ＳＮＭＰメッセージが改ざんされておらず、前記管理装置からの正当なＳＮＭＰメッセージであると判断し、前記メッセージ認証情報キャッシュに前記メッセージ認証情報を追加して、前記ＳＮＭＰメッセージ解析処理部に正常終了を返す請求項１に記載のネットワーク管理システム。
【請求項３】
前記認証ＭＩＢモジュールは、前記ＳＮＭＰメッセージ解析処理部から受け取ったパケットがＳＥＴリクエスト以外の場合には何もしないで、前記ＳＮＭＰメッセージ解析処理部に正常終了を返す請求項１又は２に記載のネットワーク管理システム。
【請求項４】
前記ＳＮＭＰメッセージ解析処理部は、いずれか一つでも異常終了を返せば、ＳＥＴリクエスト全体をエラーとしてＳＥＴ処理を無効にする請求項１〜３のいずれかに記載のネットワーク管理システム。
【請求項５】
ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理対象装置とＳＮＭＰメッセージを送受信する管理装置であって、
共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出し、該メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成し、該認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成処理部と、
前記ＳＮＭＰメッセージ生成処理部で作成したＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信部と
を備える管理装置。
【請求項６】
ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理装置とＳＮＭＰメッセージを送受信する管理対象装置であって、
前記管理装置からのパケットを受信するパケット受信部と、
前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べ、無ければ前記パケットを廃棄するＳＮＭＰメッセージ解析処理部と、
既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュと、
前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が前記メッセージ認証情報キャッシュ内に存在するか調べ、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、前記ＳＮＭＰメッセージ解析処理部に異常終了を返す認証ＭＩＢモジュールと
を備える管理対象装置。
【請求項７】
ネットワーク管理プロトコルとしてＳＮＭＰｖ１、ＳＮＭＰｖ２ｃを用いて、管理装置と管理対象装置とがネットワークを介して、ＳＮＭＰメッセージを送受信するネットワーク管理方法であって、
前記管理装置が、共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出する第１の算出ステップと、
前記管理装置が、前記メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成する作成ステップと、
前記管理装置が、前記認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成ステップと、
前記管理装置が、前記ＳＮＭＰメッセージ生成ステップで作成したＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信ステップと、
前記管理対象装置が、前記管理装置からのパケットを受信するパケット受信ステップと、
前記管理対象装置が、前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べる有無調査ステップと、
前記管理対象装置が、前記認証用ＶａｒＢｉｎｄが無い場合には、前記パケットを廃棄する廃棄ステップと、
前記管理対象装置が、前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が、既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュ内に存在するか調べる第１のメッセージ認証情報調査ステップと、
前記管理対象装置が、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、異常終了を返す第１の異常終了ステップと
を有するネットワーク管理方法。
【請求項８】
ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理対象装置とＳＮＭＰメッセージを送受信する管理装置のコンピュータに対し、
共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出する算出ステップと、
前記メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成する作成ステップと、
前記認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成ステップと、
前記ＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信ステップと、
を実行させるためのコンピュータプログラム。
【請求項９】
ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理装置とＳＮＭＰメッセージを送受信する管理対象装置のコンピュータに対し、
前記管理装置からのパケットを受信するパケット受信ステップと、
前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べる有無調査ステップと、
前記認証用ＶａｒＢｉｎｄが無い場合には、前記パケットを廃棄する廃棄ステップと、
前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が、既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュ内に存在するか調べる第１のメッセージ認証情報調査ステップと、
前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、異常終了を返す第１の異常終了ステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク管理プロトコルの技術に関する。
【背景技術】
【０００２】
ネットワーク管理プロトコルとして、広く使用されているＳＮＭＰ（Simple Network Management Protocol）ｖ１、ＳＮＭＰｖ２ｃでは、認証用の識別情報（コミュニティ名）が、暗号化されていない原文のままネットワーク上を流れる。このため、第三者によってＳＮＭＰメッセージを盗聴されると、不正に取得されたコミュニティ名によって管理対象装置の情報を不正に取得、または設定されてしまう問題があった。特に、装置に対する不正な設定は、サービスをダウンさせてしまうなど深刻な問題を引き起こす可能性があり、重要な問題である。
【０００３】
ＳＮＭＰｖ１、ｖ２ｃに対して、セキュリティを向上させる方法がいくつか考えられている。例えば、特許文献１に開示された技術では、コミュニティ名、もしくは、ＳＮＭＰメッセージ全体を暗号化している。また、特許文献２に開示された技術では、コミュニティ名を動的に生成することで、一度使用したコミュニティ名を何度も使用できないようにしている。また、ＳＮＭＰｖ３では、プロトコルとして認証機能を強化し、かつＳＮＭＰメッセージの暗号化を具備するようになった。
【０００４】
なお、ＳＮＭＰｖ１は、ＲＦＣ１１５５〜１１５７、ＳＮＭＰｖ２ｃは、ＲＦＣ１９０１、３４１６、ＳＮＭＰｖ３は、ＲＦＣ３４１１〜３４１８で標準化されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１２２６５０号公報
【特許文献２】特開２００３−３１６６７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に開示された技術では、コミュニティ名、もしくは、ＳＮＭＰメッセージ全体を暗号化しているため、運用時に発生した問題を解決する場合、可読性が悪化するという問題がある。
また、特許文献２に開示された技術では、動的に生成されたコミュニティ名が原文のままネットワーク上を流れるため、コミュニティ名が盗聴されると、不正な操作が可能となってしまうという問題がある。また、管理装置は、管理対象装置が動的に生成したコミュニティ名を要求・取得する必要があり、そのためのネットワークトラヒックが増加してしまうという問題がある。
【０００７】
また、ＳＮＭＰｖ３では、従来のＳＮＭＰｖ１、ｖ２ｃと比較して、仕様が複雑になっており、プロトコル処理に時間がかかるという問題がある。また、ＳＮＭＰｖ３とＳＮＭＰｖ１、ｖ２ｃとでは、全体のフレームワークや、パケットフォーマットも異なり、互換性がない。ゆえに、既存のＳＮＭＰｖ１、ｖ２ｃ処理機能を活用できないため、ＳＮＭＰｖ３の導入にはコストがかかるという問題がある。
【０００８】
上記事情に鑑み、本発明は、盗聴によって認証用識別情報が第三者に知られた場合でも、管理対象装置への不正な設定を防ぐことを可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の一態様は、ネットワーク管理プロトコルとしてＳＮＭＰを用いて、管理装置と管理対象装置とがネットワークを介して、ＳＮＭＰメッセージを送受信するネットワーク管理システムであって、前記管理装置は、共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出し、該メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成し、該認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成処理部と、前記ＳＮＭＰメッセージ生成処理部で作成したＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信部とを備え、前記管理対象装置は、前記管理装置からのパケットを受信するパケット受信部と、前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べ、無ければ前記パケットを廃棄するＳＮＭＰメッセージ解析処理部と、既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュと、前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が前記メッセージ認証情報キャッシュ内に存在するか調べ、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、前記ＳＮＭＰメッセージ解析処理部に異常終了を返す認証ＭＩＢモジュールと、を備える。
【００１０】
本発明の一態様は、ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理対象装置とＳＮＭＰメッセージを送受信する管理装置であって、共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出し、該メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成し、該認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成処理部と、前記ＳＮＭＰメッセージ生成処理部で作成したＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信部と、を備える。
【００１１】
本発明の一態様は、ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理装置とＳＮＭＰメッセージを送受信する管理対象装置であって、前記管理装置からのパケットを受信するパケット受信部と、前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べ、無ければ前記パケットを廃棄するＳＮＭＰメッセージ解析処理部と、既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュと、前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が前記メッセージ認証情報キャッシュ内に存在するか調べ、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、前記ＳＮＭＰメッセージ解析処理部に異常終了を返す認証ＭＩＢモジュールと、を備える。
【００１２】
本発明の一態様は、ネットワーク管理プロトコルとしてＳＮＭＰｖ１、ＳＮＭＰｖ２ｃを用いて、管理装置と管理対象装置とがネットワークを介して、ＳＮＭＰメッセージを送受信するネットワーク管理方法であって、前記管理装置が、共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出する第１の算出ステップと、前記管理装置が、前記メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成する作成ステップと、前記管理装置が、前記認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成ステップと、前記管理装置が、前記ＳＮＭＰメッセージ生成ステップで作成したＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信ステップと、前記管理対象装置が、前記管理装置からのパケットを受信するパケット受信ステップと、前記管理対象装置が、前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べる有無調査ステップと、前記管理対象装置が、前記認証用ＶａｒＢｉｎｄが無い場合には、前記パケットを廃棄する廃棄ステップと、前記管理対象装置が、前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が、既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュ内に存在するか調べる第１のメッセージ認証情報調査ステップと、前記管理対象装置が、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、異常終了を返す第１の異常終了ステップと、を有する。
【００１３】
本発明の一態様は、ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理対象装置とＳＮＭＰメッセージを送受信する管理装置のコンピュータに対し、共通鍵を用いて、ＳＥＴリクエストのメッセージ認証情報を算出する算出ステップと、前記メッセージ認証情報を含む認証用ＶａｒＢｉｎｄを作成する作成ステップと、前記認証用ＶａｒＢｉｎｄを含むＳＮＭＰメッセージを作成するＳＮＭＰメッセージ生成ステップと、前記ＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信するパケット送信ステップと、を実行させるためのコンピュータプログラムである。
【００１４】
本発明の一態様は、ネットワーク管理プロトコルとしてＳＮＭＰを用いて、ネットワークを介して、管理装置とＳＮＭＰメッセージを送受信する管理対象装置のコンピュータに対し、前記管理装置からのパケットを受信するパケット受信ステップと、前記パケットがＳＥＴリクエストであれば、認証用ＶａｒＢｉｎｄの有無を調べる有無調査ステップと、前記認証用ＶａｒＢｉｎｄが無い場合には、前記パケットを廃棄する廃棄ステップと、前記認証用ＶａｒＢｉｎｄがある場合には、前記認証用ＶａｒＢｉｎｄ内の前記メッセージ認証情報が、既に認証で使用したメッセージ認証情報が記憶されているメッセージ認証情報キャッシュ内に存在するか調べる第１のメッセージ認証情報調査ステップと、前記メッセージ認証情報がメッセージ認証情報キャッシュ内に存在する場合には、リプレイ攻撃と判定し、異常終了を返す第１の異常終了ステップと、を実行させるためのコンピュータプログラムである。
【発明の効果】
【００１５】
本発明により、盗聴によって認証用識別情報が第三者に知られた場合でも、管理対象装置への不正な設定を防ぐことが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第一実施形態によるネットワーク管理システムの構成を示すブロック図である。
【図２】本発明の第二実施形態によるネットワーク管理システムの全体構成を示したブロック図である。
【図３】パケットの構成を示す概念図である。
【図４】ＳＮＭＰメッセージの構成を示す概念図である。
【図５】ＰＤＵの構成を示す概念図である。
【図６】ＶａｒＢｉｎｄの構成を示す概念図である。
【図７】第二実施形態による管理装置１００の機能的構成を示すブロック図である。
【図８】第二実施形態による、管理装置１００内に具備する共通鍵テーブル１４１の一例を示す概念図である。
【図９】第二実施形態による管理対象装置２００の機能的構成を示すブロック図である。
【図１０】第二実施形態による、管理対象装置２００が備える共通鍵テーブル２４２の一例を示す概念図である。
【図１１】第二実施形態による管理装置１００がＳＮＭＰメッセージを送信するまでの動作を説明するためのフローチャートである。
【図１２】第二実施形態による管理対象装置２００が管理装置１００から受信したＳＮＭＰメッセージを処理する動作を説明するためのフローチャートである。
【図１３】第二実施形態による、認証ＭＩＢモジュール２４１の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
まず、ネットワーク管理システムの概略について説明する。ネットワーク管理システムは、ＳＮＭＰｖ１やＳＮＭＰｖ２ｃのエージェント機能を具備する装置に対する設定用ＳＮＭＰメッセージ（ＳＥＴリクエスト）に関して、ＳＮＭＰのプロトコル処理部分の改変を小さく留めた上で、セキュリティを向上させる。具体的には、ネットワーク管理システムでは、セキュリティ向上のために以下の事項が実現される。
【００１８】
（ａ）従来のコミュニティ名による認証方法に加え、ＳＮＭＰメッセージのＭＡＣ（Message Authentication Code）による認証を使用する。なお、コミュニティ名とは、ＳＮＭＰが管理するネットワークシステムの範囲を表す識別情報であり、認証に用いられる識別情報（認証用識別情報）でもある。
（ｂ）上記（ａ）における認証において、ＭＡＣの性質上、ＳＮＭＰメッセージの改ざんを検知できる。
（ｃ）リプレイ攻撃に備え、認証済みＭＡＣのキャッシュを用意することで、同一ＭＡＣのＳＮＭＰメッセージは受け付けないようにする。
【００１９】
［第一実施形態］
図１は、第一実施形態によるネットワーク管理システムの構成を示すブロック図である。図１において、管理装置１００と管理対象装置２００は、互いに共通する秘密鍵（共通鍵）１０１を保持する。管理対象装置２００は、認証ＭＩＢ（Management Information Base）モジュール２４１を持ち、認証用ＯＩＤ（Object IDentifer）を持ったインタフェースを具備する。通常、認証ＭＩＢモジュール２４１は、ＳＮＭＰのプロトコル処理部（図示略）とは独立している。また、第一実施形態では、認証はＳＮＭＰｖ１／ＳＮＭＰｖ２ｃの機能のみで実現している。また、対向装置に設定したい内容を含むＳＥＴリクエストのパケットに認証情報を含んでいる。
【００２０】
管理装置１００は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、管理プログラムを実行する。管理装置１００の機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されても良い。管理プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。
管理対象装置２００は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、管理対象プログラムを実行する。管理対象装置２００の機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。管理対象プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。
【００２１】
管理装置１００は、共通鍵１０１を使用して、コミュニティ名１１及びその他ＶａｒＢｉｎｄ（Variable-Bindings）１３の組み合わせを含むＳＥＴリクエストから、ＳＥＴリクエストのＭＡＣ（Message Authentication Code：メッセージ認証符号）を計算する。ＭＡＣは、メッセージ認証情報の一例である。また、管理装置１００は、コミュニティ名１１と、ＶａｒＢｉｎｄ（Variable-Bindings、ＯＩＤとそのＯＩＤのオブジェクトに設定したい値のペア）として、認証用ＶａｒＢｉｎｄ（認証用ＯＩＤと算出したＭＡＣのペア）１２と、その他ＶａｒＢｉｎｄ１３とを含めた認証付ＳＥＴリクエスト１０を作成して、管理対象装置２００に送信する。
【００２２】
上記により、ＳＥＴリクエスト１０が第三者に盗聴され、コミュニティ名１１が知られても、第三者は共通鍵１０１を知らないため、正しいＭＡＣを計算することができず、認証可能な認証付ＳＥＴリクエストを作成できない。
続いて、以下の処理により、リプレイ攻撃を防ぐことが可能となっている。
管理対象装置２００内のＳＮＭＰメッセージ解析処理部２３０は、受信した認証付ＳＥＴリクエスト１０内のＶａｒＢｉｎｄに、認証用ＶａｒＢｉｎｄ１２が含まれているかを調べ、含まれていない場合には、ＳＥＴリクエストである判別して廃棄し、含まれている場合には、認証用ＶａｒＢｉｎｄ１２を認証ＭＩＢモジュール２４１で処理する。
【００２３】
認証ＭＩＢモジュール２４１は、認証用ＶａｒＢｉｎｄ１２内のＭＡＣがＭＡＣキャッシュ２４３に含まれているかを調べる。ＭＡＣキャッシュ２４３は、既に認証で使用したＭＡＣが記憶されている。ＳＮＭＰの仕様上、ＳＮＭＰメッセージ内のリクエストＩＤは、メッセージ毎に異なるため、ＭＡＣは常に異なる。
【００２４】
したがって、認証用ＶａｒＢｉｎｄ１２内のＭＡＣがＭＡＣキャッシュ２４３に含まれていた場合には、ＳＮＭＰメッセージ解析処理部２３０に異常終了を返す。このように、第三者が認証付ＳＥＴリクエスト１０を盗聴し、変更無しで再送しても、ＭＡＣキャッシュ２４３による検査でＳＥＴリクエストは失敗する。
【００２５】
続いて、以下の処理により、認証付ＳＥＴリクエスト１０の認証を行う。
受信した認証付ＳＥＴリクエスト１０のＭＡＣを共通鍵１０１で算出して、認証用ＶａｒＢｉｎｄ１２内のＭＡＣと比較する。双方のＭＡＣが一致した場合には、ＳＮＭＰメッセージ解析処理部２３０に正常終了を返す（認証完了）。これに対して、双方のＭＡＣが一致しなかった場合には、ＳＮＭＰ解析処理部２３０に異常終了を返す（認証失敗）。
【００２６】
ＳＮＭＰの仕様上、ＳＮＭＰメッセージ解析処理部２３０は、ＭＩＢモジュールのうち、どれか一つでも異常終了を返せば、ＳＥＴリクエスト全体をエラーとしてＳＥＴ処理を無効にする。そのため、上述したように、認証ＭＩＢモジュール２４１が異常終了を返すことで、装置への設定を失敗させることができる。
上述した第一実施形態によれば、盗聴によってコミュニティ名が第三者に知られた場合でも、管理対象装置への不正な設定を防ぐことができる。
【００２７】
［第二実施形態］
図２は、本発明の第二実施形態によるネットワーク管理システムの全体構成を示したブロック図である。図２において、ネットワーク管理システムは、１つの管理装置１００と３つの管理対象装置２００−１〜２００−３（以下、総称して管理対象装置２００ともいう）と、ネットワーク３００とを備える。図２では、管理装置１００を１つとしているが複数あってもよい。また、管理対象装置２００−１〜２００−３も３つとしているが４つ以上であってもよい。
【００２８】
管理装置１００は、ネットワーク３００を介して、管理対象装置２００−１〜２００−３の監視、及び設定を行う。管理対象装置２００−１〜２００−３は、管理装置１００からの指示に基づき、自身が保有する情報をネットワーク３００を介して、管理装置１００に通知する。また、管理対象装置２００−１〜２００−３は、管理装置１００からの指示に基づき、自身が保有する情報を更新して自身の動作を変更する。
【００２９】
ここで、管理対象装置２００−１〜２００−３として、例えば、ルータ、スイッチングハブ、パーソナルコンピュータ、プリンタ、テレビなどがある。ネットワーク３００は、例えば、ＬＡＮ（Local Area Network）などである。
【００３０】
管理装置１００と管理対象装置２００−１〜２００−３との間の管理情報（例えば、ＭＩＢ）のやりとりには、ネットワーク管理プロトコルとして標準化されたＳＮＭＰが用いられる。ＳＮＭＰは、ネットワークに接続された装置をネットワーク経由で監視したり、設定したりするためのプロトコルである。管理装置１００と管理対象装置２００−１〜２００−３との間は、パケットの送受信によって管理情報のやり取りが行われる。
【００３１】
図３は、パケットの構成を示す概念図である。図３において、パケット２４０には、送信元アドレス２５１と、あて先アドレス２５２と、ＳＮＭＰメッセージ２５３が含まれている。送信元アドレス２５１は、パケット２４０を送信した装置のアドレスである。あて先アドレス２５２は、パケット２４０の送信先のアドレスである。例えば、ＩＰネットワークでは、パケット２４０は、ＩＰパケット、送信元アドレス２５１は、送信元ＩＰアドレス、あて先アドレス２５２は、あて先ＩＰアドレスである。
ＳＮＭＰメッセージ２５３の詳細は、ＲＦＣ１１５７、１９０１、３４１７で規定されている。以下、本発明で必要な部分のみを説明する。
【００３２】
図４は、ＳＮＭＰメッセージの構成を示す概念図である。図４において、ＳＮＭＰメッセージ２５３は、バージョンヘッダ２６１、コミュニティ名２６２、ＰＤＵ（Protocol Data Unit）２６３で構成される。バージョンヘッダ２６１は、ＳＮＭＰのバージョンを表し、ＳＮＭＰｖ１であれば数値“０”、ＳＮＭＰｖ２ｃであれば数値“１”である。
【００３３】
コミュニティ名２６２は、ネットワーク管理者のみが知る識別情報で、管理装置１００、及び管理対象装置２００にそれぞれ設定されている。管理対象装置２００は、コミュニティ名２６２を照合して、ＳＮＭＰメッセージが正当なネットワーク管理者からであるか否かを判断する。コミュニティ名２６２は、例えば、文字列で“ｐｕｂｌｉｃ”や、“ｐｒｉｖａｔｅ”などである。
なお、本実施形態は、ＳＮＭＰｖ１、ｖ２ｃのセキュリティを向上するためのものだが、ＳＮＭＰのバージョンは、“０”、“１”以外でもよい。
【００３４】
図５は、ＰＤＵの構成を示す概念図である。ＰＤＵ２６３は、ＰＤＵ種別２７１、リクエストＩＤ２７２、エラーステータス、エラーインデクス、複数個のＶａｒＢｉｎｄ２７３、…で構成される。ＰＤＵ種別２７１は、管理装置１００が管理対象装置２００に対する制御の種類を指定するために使われるフィールドである。ＰＤＵ種別２７１は、管理対象装置２００が管理装置１００から受け取った制御に対する応答であることを伝えるためにも用いられる。設定の場合には、ＳＥＴを指定し、応答の場合には、ＲＥＳＰＯＮＳＥを指定する。ＳＥＴのＳＮＭＰメッセージをＳＥＴリクエストという。ＲＥＳＰＯＮＳＥのＳＮＭＰメッセージをレスポンスという。
【００３５】
リクエストＩＤ２７２は、管理装置１００が管理対象装置２００に送信したＳＮＭＰメッセージ２５３に対する、管理対象装置２００から管理装置１００へのレスポンスを区別するための識別子で整数値である。例えば、ＳＮＭＰメッセージ作成のたびに基準値からインクリメントしても良いし、毎回乱数でも良い。
ＶａｒＢｉｎｄ２７３は、操作したいＯＩＤとそのＯＩＤのオブジェクトに設定したい値のペアにしたものである。ＶａｒＢｉｎｄ２７３は、ＰＤＵ２６３内に複数あってもよい。
【００３６】
図６は、ＶａｒＢｉｎｄの構成を示す概念図である。ＶａｒＢｉｎｄ２７３は、ＯＩＤ２８１と、設定値２８２で構成される。ＯＩＤ２８１は、管理対象装置２００が持つ管理情報毎の識別ＩＤである。設定値２８２は、ＳＥＴリクエストのとき、ＯＩＤ２８１に設定したい値を指定するために用いる。
【００３７】
ＯＩＤ２８１とその設定値２８２の仕様は、ＲＦＣなどで定義された標準ＭＩＢや、ベンダー独自のＭＩＢがある。例えば、ＲＦＣ３４１８で定義されているＳＮＭＰｖ２−ＭＩＢでは、ＯＩＤ“．１．３．６．１．２．１．１．６（ｓｙｓＬｏｃａｔｉｏｎ）”は、管理対象装置２００の物理的な設置場所情報のＯＩＤであり、設定値には２５６文字未満の文字列（例えば、“Ｃｈｉｂａ”など）を使用するように定義されている。
【００３８】
図７は、第二実施形態による管理装置１００の機能的構成を示すブロック図である。なお、図１に対応する部分には同一の符号を付けて説明を省略する。図７において、管理装置１００は、パケット送受信部１１０と、ＳＮＭＰメッセージ生成処理部１２０と、ＳＮＭＰメッセージ解析処理部１３０と、不揮発性装置１４０と、不揮発性装置１４０内に記憶している共通鍵テーブル１４１とを備える。
【００３９】
共通鍵テーブル１４１は、ネットワーク３００上の管理対象装置２００のアドレスと対応させた共通鍵１０１を記憶する。パケット送受信部１１０は、ＳＮＭＰメッセージ生成処理部１２０から受け取ったＳＮＭＰメッセージ２５３とあて先アドレスとからパケット２４０を作成して送信する。また、パケット送受信部１１０は、管理対象装置２００から受信したパケット２４０をＳＮＭＰメッセージ解析処理部１３０に処理させる。
【００４０】
ＳＮＭＰメッセージ生成処理部１２０は、ＳＮＭＰメッセージ２５３を作成してパケット送受信部６１１０に処理させる機能を持つ。但し、認証付ＳＥＴリクエスト作成時は、共通鍵テーブル１４１から取得した共通鍵１０１でＳＥＴリクエストのＭＡＣを求め、認証用ＶａｒＢｉｎｄを作成して、ＳＮＭＰメッセージ２５３に付与する機能を持つ。
【００４１】
ＭＡＣは、例えば、ＨＭＡＣ（Keyed-Hashing for MAC）を使用する。ハッシュ関数は、ＳＨＡ１（Secure Hash Algorithm1）や、ＭＤ５（Message Digest algorithm 5）などを使用する。ＨＭＡＣは、ＲＦＣ２１０４、ＳＨＡ１は、ＦＩＰＳ１８０−１、ＭＤ５は、ＲＦＣ１３２１で標準化されている。
ＳＮＭＰメッセージ解析処理部１３０は、パケット送受信部１１０から受け取った内容を管理者に通知する。
【００４２】
図８は、第二実施形態による、管理装置１００内に具備する共通鍵テーブル１４１の一例を示す概念図である。共通鍵テーブル１４１内の共通鍵１０１は、各アドレスに対する認証付ＳＥＴリクエストを作成する場合に求めるＭＡＣに使用する鍵である。例えば、アドレスが“ＡＤＤＲ１”である装置（ここでは、管理対象装置２００のこと）に対するＳＥＴリクエストのＭＡＣ算出に使用する共通鍵１０１は、“ＣＫ（１）”である。共通鍵ＣＫ（１）、ＣＫ（２）、・・・、ＣＫ（ｎ）は、すべて同じでも良い。なお、共通鍵テーブル１４１では、管理装置１００自身のアドレスに対する共通鍵も管理できる。共通鍵テーブル１４１では、アドレスを“ＡＤＤＲＭ”、共通鍵を“ＣＫ（Ｍ）”で表している。
【００４３】
図９は、第二実施形態による管理対象装置２００の機能的構成を示すブロック図である。図９において、管理対象装置２００は、パケット送受信部２１０と、ＳＮＭＰメッセージ生成処理部２２０と、ＳＮＭＰメッセージ解析処理部２３０と、不揮発性装置２５０と、不揮発性装置２５０内に記憶している共通鍵テーブル２４２と、記憶装置２６０と、記憶装置２６０内に記憶しているＭＡＣキャッシュ２４３と、ＭＩＢモジュール２３１とを備える。ＭＩＢモジュール２３１は、通常、複数存在し、その中の１つとして認証ＭＩＢモジュール２４１を備える。
【００４４】
共通鍵テーブル２４２は、ネットワーク３００上の管理装置１００のアドレスと対応させた共通鍵を記憶する。パケット送受信部２１０は、ＳＮＭＰメッセージ生成処理部２２０から受け取ったＳＮＭＰメッセージとあて先アドレスとからパケットを作成して送信する。また、パケット送受信部２１０は、受信したパケットをＳＮＭＰメッセージ解析処理部２３０に処理させる。
【００４５】
ＳＮＭＰメッセージ解析処理部２３０は、パケットがＳＥＴリクエスト（ＳＥＴリクエストまたは認証付ＳＥＴリクエスト）であれば、認証用ＶａｒＢｉｎｄの有無を調べ、無ければパケットを廃棄する。一方、認証用ＶａｒＢｉｎｄがある場合には、ＳＮＭＰメッセージ内の各ＶａｒＢｉｎｄに対応しているＭＩＢモジュール２３１にパケットを処理させ、その応答を待つ。特に、認証用ＶａｒＢｉｎｄの場合には、認証ＭＩＢモジュール２４１にパケットを処理させる。
【００４６】
例えば、ＶａｒＢｉｎｄのＯＩＤが“．１．３．６．１．２．１．１．６”の場合には、ＳＮＭＰｖ２−ＭＩＢモジュールに処理させ、ＶａｒＢｉｎｄのＯＩＤが認証用ＯＩＤの場合（ＶａｒＢｉｎｄが認証用ＶａｒＢｉｎｄの場合）には、認証ＭＩＢモジュール２４１に処理させる。
【００４７】
ＳＮＭＰメッセージ解析処理部２３０は、各ＭＩＢモジュール２３１からの応答を受け取り、全て正常終了であれば解析結果を正常とする。各ＭＩＢモジュール２３１のうち、一つ以上のＭＩＢモジュールから異常終了を受け取ると、解析結果を異常とする。
【００４８】
ＳＮＭＰの仕様上（ＲＦＣ１１５７，３４１６）、解析結果が異常の場合、ＳＮＭＰメッセージ解析処理部２３０は、ＳＮＭＰメッセージによる処理を無効にしなければならない。例えば、ＯＩＤ“．１．３．６．１．２．１．１．６”は、２５６文字未満の文字列を指定する必要がある。このため、ＳＥＴリクエストの中が、このＯＩＤに対して２５６文字以上の文字列の設定を要求するＶａｒＢｉｎｄを持つと、ＳＮＭＰｖ２−ＭＩＢモジュールは、異常終了をＳＮＭＰメッセージ解析処理部２３０に返す。異常終了を受け取ったＳＮＭＰメッセージ解析処理部２３０は、他のＶａｒＢｉｎｄの設定内容を無効にする。
【００４９】
ＳＮＭＰメッセージ解析処理部２３０は、解析結果と、レスポンス生成に必要な情報（例えば、各ＶａｒＢｉｎｄや、異常終了したＶａｒＢｉｎｄの位置など）と、パケット内の送信元アドレス（管理装置１００のアドレス）をあて先アドレスとして、ＳＮＭＰメッセージ生成処理部２２０に処理させる。
【００５０】
ＭＩＢモジュール２３１は、ＳＮＭＰメッセージ解析処理部２３０から受け取ったＶａｒＢｉｎｄを定義に従って処理し、その結果をＳＮＭＰメッセージ解析処理部２３０に返す。ＭＩＢモジュール２３１の動作仕様は、ＲＦＣなどで定義された個々のＭＩＢ定義に従う。例えば、ＯＩＤ“．１．３．６．１．２．１．１．６”の動作は、ＲＦＣ３４１８に、ＩＰの情報を管理するＩＰ−ＭＩＢは、ＲＦＣ４２９３、ＬＬＤＰの管理情報ＬＬＤＰ−ＭＩＢは、ＩＥＥＥ８０２．１ＡＢ−２００５等に定義されている。
【００５１】
認証ＭＩＢモジュール２４１は、ＳＮＭＰメッセージ解析処理部２３０から受け取ったパケットがＳＥＴリクエスト（ＳＥＴリクエストまたは認証付ＳＥＴリクエスト）以外の場合には何もしないで、ＳＮＭＰメッセージ解析処理部２３０に正常終了を返す。一方、認証ＭＩＢモジュール２４１は、ＳＮＭＰメッセージ解析処理部２３０から受け取ったパケットが認証付ＳＥＴリクエストの場合には、認証用ＶａｒＢｉｎｄ内の設定値（ＭＡＣ−Ｍとする）がＭＡＣキャッシュ２４３内に含まれているか検査する。
【００５２】
認証ＭＩＢモジュール２４１は、ＭＡＣ−ＭがＭＡＣキャッシュ２４３内に含まれていた場合には、リプレイ攻撃と考え、ＳＮＭＰメッセージ解析処理２３０に異常終了を返す。一方、認証ＭＩＢモジュール２４１は、ＭＡＣ−ＭがＭＡＣキャッシュ２４３内に含まれていなかった場合には、共通鍵テーブル２４２を参照して、受信したパケットの送信元アドレスに対応する共通鍵１０１を用いて、認証用ＶａｒＢｉｎｄを除いたＳＮＭＰメッセージのＭＡＣを、管理装置１００と同じ方法で算出する（このＭＡＣをＭＡＣ−１とする）。
【００５３】
認証ＭＩＢモジュール２４１は、ＭＡＣ−ＭとＭＡＣ−１とが一致するか調べ、ＭＡＣ−１とＭＡＣ−Ｍとが不一致の場合には、ＳＮＭＰメッセージが改ざんされたと判断して、ＳＮＭＰメッセージ解析処理部２３０に異常終了を返す。一方、認証ＭＩＢモジュール２４１は、ＭＡＣ−１とＭＡＣ−Ｍとが一致すれば、ＳＮＭＰメッセージが改ざんされておらず、管理装置１００からの正当なＳＮＭＰメッセージであると判断し、ＭＡＣキャッシュ２４３にＭＡＣ−１を追加して、ＳＮＭＰメッセージ解析処理部２３０に正常終了を返す。
【００５４】
図１０は、第二実施形態による、管理対象装置２００が備える共通鍵テーブル２４２の一例を示す概念図である。共通鍵テーブル２４２における、共通鍵１０１は、各アドレスに対するＭＡＣを算出するために使用する鍵である。例えば、図１０では、アドレスが“ＡＤＤＲＭ”である装置（ここでは管理装置１００のこと）に対して、ＭＡＣの算出に使用する共通鍵は、“ＣＫ（Ｍ）”である。共通鍵ＣＫ（１）、ＣＫ（２）、…、ＣＫ（ｎ）は、すべて同じでも良い。なお、共通鍵テーブル２４２では、管理対象装置２００自身のアドレスに対する共通鍵も管理できる。図１０では、アドレスを“ＡＤＤＲ１”、共通鍵を“ＣＫ（１）”で表している。
管理装置１００のアドレスが“ＡＤＤＲＭ”、管理対象装置２００のアドレスが“ＡＤＤＲ１”であれば、管理装置１００内の共通鍵テーブル１４１の“ＣＫ（１）”と管理対象装置２００内の共通鍵テーブル２４２の“ＣＫ（Ｍ）”は同じものである。
【００５５】
ＭＡＣキャッシュ２４３は、認証ＭＩＢモジュール２４１が認証に成功したＭＡＣの履歴を記憶している。該ＭＡＣの履歴は、認証ＭＩＢモジュール２４１が新たに認証するとき、認証用ＶａｒＢｉｎｄ内のＭＡＣが過去に認証で使用したＭＡＣと一致するかを検索するために用いられる。ＭＡＣキャッシュ２４３は、どのような実装でも良い。例えば、管理対象装置２００が再開するまで記憶してもよいし、保存後一定時間が経ったＭＡＣは削除するようにしてもよいし、あらかじめＭＡＣキャッシュ２４３のサイズを決めて、空きサイズが不足すれば、古いＭＡＣを削除するようにしてもよい。なお、記憶装置２６０は、不揮発性、揮発性どちらでも良い。
【００５６】
ＳＮＭＰメッセージ生成処理部２２０は、ＳＮＭＰメッセージ解析処理部２３０から解析結果、レスポンス生成に必要な情報、あて先アドレス（管理装置１００のアドレス）を受け取り、レスポンスを作成して、レスポンスとあて先アドレスとをパケット送受信部２１０に処理させる。
【００５７】
次に、第二実施形態によるネットワーク管理システムの動作について説明する。
図１１は、第二実施形態による管理装置１００がＳＮＭＰメッセージを送信するまでの動作を説明するためのフローチャートである。まず、管理装置１００において、管理者による操作、あるいは定期的な情報収集に基づいて、ＳＮＭＰメッセージ生成処理部１２０に対して、管理対象装置２００に対するＳＮＭＰメッセージの作成を要求する（ステップＳ１０１）。
【００５８】
次に、管理者は、管理対象装置２００のアドレス、バージョン２６１、コミュニティ名２６２、ＰＤＵ種別２７１、ＶａｒＢｉｎｄ２７３を、ＳＮＭＰメッセージ生成処理部１２０に与える。ＳＮＭＰメッセージ生成処理部１２０は、適当な乱数などをリクエストＩＤ２７２にしてＳＮＭＰメッセージＩ１１０を作成する（ステップＳ１０２）。リクエストＩＤ２７２は、他のＳＮＭＰメッセージのリクエストＩＤと異なれば何でも良い。
【００５９】
次に、ＳＮＭＰメッセージ生成処理部１２０は、作成したＳＮＭＰメッセージＩ１１０のＰＤＵ種別２７１がＳＥＴか否かを検査する（ステップＳ１０３）。そして、ＳＥＴの場合には（ステップＳ１０３のＹＥＳ）、ＳＮＭＰメッセージ生成処理部１２０は、認証用ＶａｒＢｉｎｄの作成処理を行う（ステップＳ１０４〜Ｓ１０７へ進む）。一方、ＳＥＴでは無い場合には（ステップＳ１０３のＮＯ）、何もせず、パケット作成の準備をする（ステップＳ１０８へ進む）。
【００６０】
まず、ＰＤＵ種別２７１がＳＥＴである場合について説明する。ＳＮＭＰメッセージ生成処理部１２０は、共通鍵テーブル１４１から、管理者が指定した管理装置２００のアドレスに対応する共通鍵Ｉ１０１を取得する（ステップＳ１０４）。例えば、共通鍵テーブル１４１において、管理対象装置２００のアドレスが“ＡＤＤＲ１”であれば、取得する共通鍵Ｉ１０１は“ＣＫ（１）”である。
【００６１】
次に、ＳＮＭＰメッセージ生成処理部１２０は、取得した共通鍵Ｉ１０１“ＣＫ（１）”で、ステップＳ１０２で作成したＳＮＭＰメッセージＩ１１０のＭＡＣを計算する（ステップＳ１０５）。次に、ＳＮＭＰメッセージ生成処理部１２０は、求めたＭＡＣと認証用ＯＩＤとで認証用ＶａｒＢｉｎｄを作成する（ステップＳ１０６）。その後、ＳＮＭＰメッセージ生成処理部１２０は、作成した認証用ＶａｒＢｉｎｄを、ステップＳ１０２で作成したＳＮＭＰメッセージＩ１１０に付け加え、認証付ＳＮＭＰメッセージＩ１１１を作成する（ステップＳ１０７）。
【００６２】
次に、ＰＤＵ種別２７１がＳＥＴでは無い場合（ステップＳ１０３のＮＯ）、あるいは、上記ステップＳ１０７が終了すると、ＳＮＭＰメッセージ生成処理部１２０は、管理者から受け取った管理対象装置２００のアドレスをあて先アドレスにして、ＳＮＭＰメッセージをパケット送受信部１１０に供給してパケット作成を要求する（ステップＳ１０８）。
【００６３】
パケット送受信部１１０に処理させるＳＮＭＰメッセージは、ステップＳ１０３でＮＯだった場合には、ＳＮＭＰメッセージＩ１１０、ステップＳ１０３でＹＥＳだった場合には、ＳＮＭＰメッセージＩ１１１になる。
【００６４】
パケット送受信部１１０は、管理装置１００のアドレスを送信元アドレスとして、ＳＮＭＰメッセージ生成処理部１２０から受け取ったＳＮＭＰメッセージ（Ｉ１１０またはＩ１１１）と、あて先アドレスとからパケットＩ１１２を作成する（ステップＳ１０９）。パケット送受信部１１０は、パケットＩ１１２を管理対象装置２００に送信する（ステップＳ１１０）。
【００６５】
次に、図１２は、第二実施形態による管理対象装置２００が管理装置１００から受信したＳＮＭＰメッセージを処理する動作を説明するためのフローチャートである。まず、パケット送受信部２１０は、管理装置１００から受信したパケットＩ１１２を受信し、ＳＮＭＰメッセージ解析処理部２３０に処理させる（ステップＳ２０１）。次に、ＳＮＭＰメッセージ解析処理部２３０は、パケット受信部２１０から受け取ったパケットＩ１１２のＰＤＵ種別がＳＥＴか否かを調べる（ステップＳ２０２）。
【００６６】
そして、ＰＤＵ種別がＳＥＴだった場合には（ステップＳ２０２のＹＥＳ）、パケットＩ１１２中のＶａｒＢｉｎｄに認証用ＶａｒＢｉｎｄがあるか否かを調べる（ステップＳ２０３）。そして、ＶａｒＢｉｎｄに認証用ＶａｒＢｉｎｄがない場合には（ステップＳ２０３のＮＯ）、パケットＩ１１２を廃棄する（ステップＳ２０４）。
【００６７】
一方、ＰＤＵ種別がＳＥＴではなかった場合（ステップＳ２０２のＮＯ）、もしくは、認証用ＶａｒＢｉｎｄがあった場合には（ステップＳ２０３のＹＥＳ）、ＳＮＭＰメッセージ解析処理部２３０は、各ＶａｒＢｉｎｄに対応したＭＩＢモジュール２３１にパケットＩ１１２を処理させ、結果を待つ（ステップＳ２０５）。特に、認証用ＶａｒＢｉｎｄは、認証ＭＩＢモジュール２４１にパケットＩ１１２を処理させ、処理の結果を待つ。なお、認証ＭＩＢモジュール２４１の動作については後述する。
【００６８】
次に、ＳＮＭＰメッセージ解析処理部２３０は、異常終了を返したＭＩＢモジュールがあるかを調べる（ステップＳ２０６）。調べる対象は、ＭＩＢモジュール２３１と認証ＭＩＢモジュール２４１である。そして、異常終了を返したＭＩＢモジュールがない場合には（ステップＳ２０６のＮＯ）、解析結果（正常終了）と、レスポンス作成に必要な情報と、あて先アドレス（パケットＩ１１２の送信元アドレス）とを、ＳＮＭＰメッセージ生成処理部２２０に処理させるべく、正常終了用のレスポンスの作成を要求する（ステップＳ２０７）。
【００６９】
一方、異常終了を返したＭＩＢモジュールがあった場合には（ステップＳ２０６のＹＥＳ）は、ＳＮＭＰの仕様（ＲＦＣ１１５７，３４１６）に従って、ＳＮＭＰメッセージによる処理を無効にする（ステップＳ２０８）。ＳＮＭＰメッセージ解析処理部２３０は、解析結果（異常終了）、レスポンス生成に必要な情報（例えば、各ＶａｒＢｉｎｄや異常終了したＶａｒＢｉｎｄの位置など）と、あて先アドレス（パケットＩ１１２の送信元アドレス）とを、ＳＮＭＰメッセージ生成処理部２２０に処理させるべく、異常終了用のレスポンスの作成を要求する（ステップＳ２０９）。
【００７０】
異常終了、正常終了いずれの場合も、ＳＮＭＰメッセージ生成処理部２２０は、ＳＮＭＰメッセージ解析処理部２３０から受け取った解析結果（正常終了または異常終了）、レスポンス情報からレスポンスを作成する（ステップＳ２１０）。ＳＮＭＰメッセージ生成処理部８２２０は、作成したレスポンスをあて先アドレスと共にパケット送受信部８２１０に供給し、パケット作成を要求する（ステップＳ２１１）。
【００７１】
パケット送受信部２１０は、管理対象装置２００のアドレスを送信元アドレスとして、ＳＮＭＰメッセージ生成処理部２２０から受け取ったレスポンスと、あて先アドレスとからパケットを作成する（ステップＳ２１２）。パケット送受信部２１０は、作成したパケットを管理装置１００に送信する（ステップＳ２１３）。
【００７２】
図１３は、第二実施形態による、認証ＭＩＢモジュール２４１の動作を説明するためのフローチャートである。認証ＭＩＢモジュール２４１は、ＳＮＭＰメッセージ解析処理部２３０からパケットＩ１１２を受け取る（Ｓ３０１）。次に、認証ＭＩＢモジュール２４１は、ＳＮＭＰメッセージ解析処理部２３０から受け取ったパケットＩ１１２のＰＤＵ種別がＳＥＴか否かを調べる（ステップＳ３０２）。そして、ＰＤＵ種別がＳＥＴではない場合には（ステップＳ３０２のＮＯ）、ＳＮＭＰメッセージ解析処理部２３０に正常終了を返す（ステップＳ３０３）。
【００７３】
一方、ＰＤＵ種別がＳＥＴである場合には（ステップＳ３０２のＹＥＳ）、認証ＭＩＢモジュール２４１は、パケットＩ１１２から認証用ＶａｒＢｉｎｄ内の設定値（ＭＡＣ−Ｍとする）を取り出し、ＭＡＣキャッシュ２４３に同じ値がないか検索する（ステップＳ３０４）。次に、認証ＭＩＢモジュール２４１は、ＭＡＣ−ＭがＭＡＣキャッシュ２４３内に含まれているかを調べる（ステップＳ３０５）。
【００７４】
そして、ＭＡＣ−ＭがＭＡＣキャッシュ２４３内に含まれている場合には（ステップＳ３０５のＹＥＳ）、認証ＭＩＢモジュール２４１は、ＳＮＭＰメッセージ解析処理部２３０に異常終了を返す（ステップＳ３０６）。
【００７５】
一方、ＭＡＣ−ＭがＭＡＣキャッシュ２４３内に含まれていない場合には（ステップＳ３０５のＮＯ）、認証ＭＩＢモジュール２４１は、共通鍵テーブル２４２を参照して、パケットＩ１１２の送信元アドレスに対応する共通鍵Ｉ１０１を取得する（ステップＳ３０７）。例えば、共通鍵テーブル２４２において、パケットＩ１１２の送信元アドレスが“ＡＤＤＲＭ”であれば、共通鍵Ｉ１０１は“ＣＫ（Ｍ）”である。
【００７６】
次に、認証ＭＩＢモジュール２４１は、パケットＩ１１２から、認証用ＶａｒＢｉｎｄを除いたＳＮＭＰメッセージＩ１１１を取り出す（ステップＳ３０８）。次に、共通鍵Ｉ１０１を使ってＳＮＭＰメッセージＩ１１１のＭＡＣを計算する（ステップＳ３０９）。これをＭＡＣ−１とする。ＭＡＣは、管理装置１００と同じ方法（Ｓ１０５）で算出する。
【００７７】
次に、認証ＭＩＢモジュール２４１は、ＭＡＣ−ＭとＭＡＣ−１とが一致するかを調べる（ステップＳ３１０）。そして、ＭＡＣ−ＭとＭＡＣ−１とが一致しない場合には（ステップＳ３１０のＮＯ）は、ＳＮＭＰメッセージ解析処理部２３０に異常終了を返す（ステップＳ３１１）。一方、ＭＡＣ−ＭとＭＡＣ−１とが一致した場合には（ステップＳ３１０のＹＥＳ）、ＭＡＣキャッシュ２４３にＭＡＣ−１を登録する（ステップＳ３１２）。そして、ＳＮＭＰメッセージ解析処理部２３０に正常終了を返す（ステップＳ３１３）。
以上のようにして、認証ＭＩＢモジュール２４１は、ＳＮＭＰメッセージ解析処理部２３０に異常終了か、正常終了を返す。
【００７８】
上述した第二実施形態によれば、以下の効果が得られる。
（１）管理装置１００がＳＥＴリクエストに認証用ＶａｒＢｉｎｄを付与すること、
（２）管理対象装置２００内のＳＮＭＰメッセージ解析処理部２３０が受信したＳＮＭＰメッセージ内に認証用ＶａｒＢｉｎｄが存在するかを検査すること、
（３）認証ＭＩＢモジュール２４１において、認証用ＶａｒＢｉｎｄ内の設定値（ＭＡＣ）と同じＭＡＣがＭＡＣキャッシュ２４３に含まれるか検査すること、
（４）認証ＭＩＢモジュール２４１が再計算したＭＡＣと認証用ＶａｒＢｉｎｄ内の設定値（ＭＡＣ）とが一致するかを検査すること、
（５）ＭＡＣ認証処理の大部分を、ＳＮＭＰのプロトコル処理とは独立した認証ＭＩＢモジュール２４１で実現すること、
により、以下の効果を奏する。
【００７９】
上記（１）、（２）、（４）より、管理対象装置２００に対するＳＥＴリクエストにおいてＭＡＣによる認証を行える。これにより、盗聴によってコミュニティ名が第三者に知られても不正なＳＥＴリクエストによって管理対象装置２００に設定することを防ぐことができる。
上記（１）、（２）、（４）より、管理対象装置２００に対するＳＥＴリクエストにおいてのＭＡＣによる認証で、第三者によるＳＥＴリクエストの改ざんを検知できる。
【００８０】
上記（１）、（２）、（３）より、同じＭＡＣのＳＥＴリクエストを受け付けないようになる。これにより、過去に認証できたＳＥＴリクエストと同じＳＥＴリクエストを第三者が管理対象装置２００に送ったとしても、管理対象装置２００は、その設定を受け付けないようにできる。
上記（５）より、ＭＡＣによる認証で失敗したとき（同じＭＡＣがＭＡＣキャッシュ２４３内にあった場合、ＭＡＣが不一致の場合）、認証が失敗したことをレスポンスで管理装置１００に通知できる。
【００８１】
上記（５）より、管理対象装置２００のＳＮＭＰプロトコル処理実装の改修をほとんど必要とせず、他のプロトコル処理実装に置き換えたとしても、容易に移植できる。
なお、上述した第一、第二実施形態では、認証にＭＡＣを使用したが、公開鍵・秘密鍵によるデジタル署名も使用できる。
【００８２】
また、上述した第一、第二実施形態では、ＳＥＴリクエストの認証のみであったが、管理対象装置２００が自発的に管理装置１００へ通知するＴＲＡＰ、ＩＮＦＯＲＭリクエストについても応用できる。
そのためには、管理対象装置２００のＳＮＭＰメッセージ生成処理部２２０が、管理装置１００のように、ＴＲＡＰ、ＩＮＦＯＲＭリクエストのＳＮＭＰメッセージの認証用ＶａｒＢｉｎｄを、ＳＮＭＰメッセージに付与して管理装置１００に送信するようにする。一方、管理装置１００は、受信したＴＲＡＰ、ＩＮＦＯＲＭリクエストを、管理対象装置２００のＳＮＭＰメッセージ解析処理部２３０、認証ＭＩＢモジュール２４１と同様に認証処理行う必要がある。
【００８３】
また、例えば、特許文献１の技術と組み合わせて、暗号化と本発明による認証とでの運用も可能である。さらに、特許文献２の技術と組み合わせて、動的なコミュニティ名と本発明による認証とでの運用も可能である。
【００８４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８５】
１０…認証付ＳＥＴリクエスト，  １１…コミュニティ名，  １２…認証用ＶａｒＢｉｎｄ，  １３…その他ＶａｒＢｉｎｄ，  １００…管理装置，  １０１…共通鍵，  １１０…パケット送受信部，  １２０…ＳＮＭＰメッセージ生成処理部，  １３０…ＳＮＭＰメッセージ解析処理部，  １４０…不揮発性記憶，  ２００，２００−１〜２００−３…管理対象装置，  ２１０…パケット送受信部，  ２２０…ＳＮＭＰメッセージ生成処理部，  ２３０…ＳＮＭＰメッセージ解析処理部，  ２３１…ＭＩＢモジュール，  ２４０…パケット，  ２４１…認証ＭＩＢモジュール，  ２４２…共通鍵テーブル，  ２４３…ＭＡＣキャッシュ，  ２５０…不揮発性装置，  ２５１…あて先アドレス，  ２５２…送信元アドレス，  ２５３…ＳＮＭＰメッセージ，  ２６１…バージョンヘッダ，  ２６２…コミュニティ名，  ２６３…ＰＤＵ，  ２７１…ＰＤＵ種別，  ２７２…リクエストＩＤ，  ２７３…ＶａｒＢｉｎｄ
【図１】
2012220975.tif 000003
【図２】
2012220975.tif 000004
【図３】
2012220975.tif 000005
【図４】
2012220975.tif 000006
【図５】
2012220975.tif 000007
【図６】
2012220975.tif 000008
【図７】
2012220975.tif 000009
【図８】
2012220975.tif 000010
【図９】
2012220975.tif 000011
【図１０】
2012220975.tif 000012
【図１１】
2012220975.tif 000013
【図１２】
2012220975.tif 000014
【図１３】
2012220975.tif 000015