ネットワーク管理装置、ネットワーク管理方法、ならびにネットワーク管理方法を実行するプログラム
【課題】 SNMPの通信の削減をする。
【解決手段】 SNMPV3による通信の前に、機器固有情報から鍵情報の一例である図8に示す情報を生成する。管理ユーティリティ303は、画像処理装置1020を識別するSNMPエンジンIDを取得する。さらに、管理ユーティリティ303は、SNMPエンジンIDが前記機器固有情報に対応するものかを判断する。SNMPエンジンIDがIPアドレスはMACアドレスそのものであるかを判定する。又は、SNMPエンジンIDが、それらのアドレスに対して所定のエンコード処理をしたものかどうかを判定する。SNMPエンジンIDが機器固有情報に対応するものであると管理ユーティリティ303が判断した場合に、前記SNMPエンジンIDを保持する。そして、管理ユーティリティ303は、生成した鍵情報を用いてSNMPで通信を行う。これらの処理はコンピュータ101で実行される。
【解決手段】 SNMPV3による通信の前に、機器固有情報から鍵情報の一例である図8に示す情報を生成する。管理ユーティリティ303は、画像処理装置1020を識別するSNMPエンジンIDを取得する。さらに、管理ユーティリティ303は、SNMPエンジンIDが前記機器固有情報に対応するものかを判断する。SNMPエンジンIDがIPアドレスはMACアドレスそのものであるかを判定する。又は、SNMPエンジンIDが、それらのアドレスに対して所定のエンコード処理をしたものかどうかを判定する。SNMPエンジンIDが機器固有情報に対応するものであると管理ユーティリティ303が判断した場合に、前記SNMPエンジンIDを保持する。そして、管理ユーティリティ303は、生成した鍵情報を用いてSNMPで通信を行う。これらの処理はコンピュータ101で実行される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークデバイスを管理する方法、該方法を適用可能な装置、制御プログラム等に関するものである。
【背景技術】
【0002】
ネットワーク管理プロトコルとして、SNMP(Simple Network Management Protocol)が近年注目されている。SNMPには、例えばSNMPv1とSNMPv3の2つのバージョンが存在する。特にSNMPv3は、通信時の認証や暗号化などのセキュリティ機能が強化されている。そのため、セキュリティに関心の高い昨今では、プリンタなどのネットワークデバイスや、それらを管理するユーティリティソフトのSNMPv3対応が進んでいる。
【0003】
SNMPv3では、送受信する装置間でSNMPエンジンによって認証・暗号化通信を行う。SNMPエンジンは、ユニークなSNMPエンジンIDと呼ばれる識別子によって識別され、SNMPメッセージの認証・暗号化やネットワーク上への送受信などを行う。SNMPv3の認証・暗号化仕様については、RFC3414で定義されているユーザベース・セキュリティ・モデル(SNMPv3USM)を用いるのが一般的である。SNMPv3USMでは、まずメッセージ送信前に周辺装置からSNMPエンジンIDを取得する。そして、取得したSNMPエンジンIDとパスワードを用いて認証・暗号化用の秘密鍵を生成し、認証・暗号化通信を行う。
【0004】
しかし、SNMPv3に限らず、認証・暗号化通信においては、毎回通信時にパラメータを取得して認証・暗号化用の鍵を生成すると、通信処理時間が長くなってしまうという問題がある。
【0005】
そこで従来は、認証・暗号化通信において、毎回通信時にパラメータを取得して鍵を生成するのではなく、初回通信時に取得した鍵やパラメータをキャッシュして次回以降の通信で利用する方式が提案されていた(特開2000−278258号公報、特開2005−085090号公報)。
【0006】
この方法は、鍵やパラメータがいつ取得及び生成しても変化しない場合に有効である。よって、この方法に拠れば、セキュリティを保ちながら通信処理時間を短縮することができる。
【非特許文献1】RFC3414,”User−Based Security Model(USM) for Version 3 of the Simple Network Management Protocol(SNMPv3)”
【特許文献1】特開2000−278258号公報
【特許文献2】特開2005−085090号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、SNMPv3USMにおいて通信時に取得する必要があるSNMPエンジンIDは、固有値であるMACアドレスだけではなく、動的に変化する可能性のあるIPアドレスや文字列・バイト列、ベンダー定義値なども取り得る。RFC3414にもその旨定義されている。このため、その時々のエンジンIDにどの種別の値がセットされているかは取得するまで分からない。SNMPエンジンIDに使われている種別によっては毎回取得するたびに同じ値が入っている保証もない。また、認証・暗号化に利用する鍵は、取得したSNMPエンジンIDより生成される。よって、従来技術のように初回通信時にキャッシュしたSNMPエンジンIDや鍵情報を次回通信時に利用することはできない。そのため、毎回通信時にSNMPエンジンIDを取得し、鍵生成する必要がある。このため、通信時間のスループットが長くなってしまっていた。
【課題を解決するための手段】
【0008】
上述の課題を解決するために、本発明は、例えば、通信の際に鍵情報を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するネットワーク管理装置において、前記周辺装置から機器固有情報を取得する手段と、SNMPで通信する前に、前記機器固有情報を用いて複数の鍵情報の候補を生成する手段と、前記周辺装置のSNMPエンジンIDを取得する手段と、前記SNMPエンジンIDが前記機器固有情報に対応するものかを判断する判断手段と、前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断手段が判断した場合に、前記SNMPエンジンIDを保持し、前記鍵情報の候補の中から選択された、前記機器固有情報に対応する鍵情報を用いてSNMPで通信を行う通信手段と、を有することを特徴とするネットワーク管理装置を開示する。
【発明の効果】
【0009】
本発明の一つの側面によれば、ネットワーク管理プロトコルにおける認証又は暗号化通信の前に、事前にSNMPエンジンIDの可能性がある値を取得した段階で鍵候補を生成しておくことで、通信時の鍵生成処理を削減することができるという有利な効果がある。
【0010】
また、本発明の別の側面によれば、SNMPエンジンIDの取得回数も削減するので、通信処理時間を短縮することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施するための形態の一例について、図面を参照して説明する。
【0012】
<<システム構成>>
図1は、本発明における一実施形に係るネットワーク管理システムの全体構成を示す図である。図1において、ネットワーク管理システムはネットワーク100により互いに接続されたコンピュータ101と画像処理装置102(被管理装置)から構成される。ネットワーク管理装置はネットワーク上に2台以上存在しても良い。
【0013】
ネットワーク100は、TCP/IPネットワークが構築可能で、ネットワーク経由で通信機器を監視・制御するSNMPプロトコルが利用可能であればよい。例えば、LANなどが挙げられる。
【0014】
コンピュータ101および画像処理装置102については、ハードウェア構成とソフトウェア構成に分けて説明する。画像処理装置は、画像処理を行う装置である。例えば、画像処理装置102は、プリンタ、ファクシミリ、スキャナ、及びこれらの複合機等が考えられる。図では、プリンタである場合の一例を示す。画像処理装置102は、本発明のネットワークデバイスの一例である。105はクライアントコンピュータであり、コンピュータ101内の管理ユーティリティ303と通信して各種情報をウェブブラウザで表示できる。
【0015】
画像処理装置102は本発明の周辺装置の一例である。
【0016】
<コンピュータ101のハードウェア構成>
図2に、コンピュータ101のハードウェア構成を示す。209は入力手段の一例であるキーボードや、マウスを制御する部分である。DC208は、表示手段の一例であるディスプレイを制御するコントローラである。
【0017】
コンピュータ101は汎用コンピュータにより構成される。システムバス200は、コンピュータを構成する各要素を接続する役割を持つ。CPU(中央演算装置)201は、コンピュータ全体の制御および演算処理等を行う。RAM(ランダムアクセスメモリ)202は、様々な処理ごとに各々のプログラムおよびデータがロードされ、実行される領域である。ROM(読み出し専用メモリ)203は、システム起動プログラム等の記憶領域である。DKC(外部記憶装置制御部)204は、HD(ハードディスク)207などの外部記憶装置の制御を行う。HD207は、プログラムおよびデータを記憶させておき、実行時必要に応じて参照またはRAMへロードする。
【0018】
コンピュータ101は、CPUが基本I/OプログラムおよびOSを実行している状態で動作する。基本I/OプログラムはROMに書き込まれており、OSはHDに書き込まれている。そしてコンピュータ部の電源がONされたときに、基本I/Oプログラム中のイニシャルプログラムロード機能により、HDからOSがRAMに書き込まれ、OSの動作が開始される。ネットワークI/F205は、ネットワークへ接続しネットワーク通信を行う。入出力I/F206は、キーボードやディスプレイなどに接続され、データの入出力を行う。105のクライアントコンピュータも基本的には同じ構成である。
【0019】
<コンピュータ101のソフトウェア構成>
続いて、図3に、ネットワーク管理装置の一例であるコンピュータ101のソフトウェア構成を示す。コンピュータ101は、基本I/OプログラムおよびOSが実行状態にあることが前提で、Webサーバサービス、DBサーバサービス、管理ユーティリティ303から構成される。これらのソフトウェアはプログラムとして図2のHD207に書き込まれている。図3に記載のソフトウェア301、302、303、310,311,313,312は、図2のCPU201を用いてRAM202に書き込まれ実行される。
【0020】
Webサーバサービス301は、クライアントコンピュータのWebブラウザからHTTPによるGETリクエストを受け取ると、HD207に保存されたWebページデータを返信するサービスを提供する。Webサーバサービスによって、外部からネットワーク経由でコンピュータ101へ接続することができる。なお、外部からコンピュータ101の管理ユーティリティ303へ接続する必要がない場合、Webサーバサービスは無くてもよい。
【0021】
DBサーバサービス302は、管理ユーティリティ303の利用するデータを格納し、格納されたデータを取得するサービスを提供する。DBサーバサービスはコンピュータ101内でなく、ネットワークで接続された他のコンピュータ上に構成されていてもよい。管理ユーティリティ303内で独自にデータの格納・取得を行う場合は、DBサーバサービスは無くてもよい。
【0022】
管理ユーティリティ303は、ネットワーク接続された画像処理装置102と通信を行う。管理ユーティリティ303のユーザインタフェースとしてはウェブブラウザが利用できる。そして、画像処理装置102の設定の変更や状態監視などを行うソフトウェアである。この状態監視は、一定期間ごとであっても良い。管理ユーティリティ303は、探索モジュール310、デバイス情報設定モジュール311、認証情報管理モジュール313などの各機能モジュールと、SNMPエンティティ312から構成される。なお、本実施例ではSNMPv3通信を行うモジュールの例としてデバイス情報設定モジュールを挙げているが、SNMP通信を行うモジュールであれば他機能のモジュールでもよい。探索モジュール310は、ネットワーク接続された画像処理装置を探索する機能を持つ。デバイス情報設定モジュール311は、既に探索済みのネットワーク接続された画像処理装置102などの設定情報をネットワーク経由で変更する機能を持つ。図1の複数の画像処理装置とSNMPv3で通信する場合、後述の認証情報管理モジュールが保存した認証情報を使用して通信を行う。認証情報管理モジュール313は、既に探索済みのネットワーク接続された画像処理装置について、ユーザが入力したSNMPv3パスワードを保存する機能を持つ。SNMPエンティティ312は、コマンド送信アプリケーションとSNMPエンジンから構成され、SNMPプロトコルにおける管理機能を実現する。コマンド送信アプリケーション320は、画像処理装置102を含むネットワーク機器の管理情報の取得・設定機能を持つ。SNMPエンジン321は、ユニークなSNMPエンジンIDによって識別され、SNMPメッセージの認証・暗号化やネットワーク上への送受信などを行う。105のクライアントコンピュータも基本的には同じ構成を持っていてもよい。ただし、ウェブブラウザのみが搭載されていても良い。
【0023】
<画像処理装置のハードウェア構成>
図4に、画像処理装置の例として、MFP(Multifunction Printer、多機能プリンタ)のハードウェア構成を示す。前述のとおり、画像処理装置にはMFP以外のものも含む(単機能プリンタ、FAXなど)。
画像処理装置102は、操作部、プリンタ、スキャナ、制御ユニットから構成される。制御ユニット(Controller Unit)400は、ネットワークに接続され、コンピュータ101との間で通信を行う。操作部401、プリンタ402、スキャナ403は制御ユニットに接続され制御される。なお、画像処理装置には上記スキャナを有さないものも含まれる。
【0024】
制御ユニットは、CPU、RAM、操作部I/F、ネットワークI/F、ROM、HDD、イメージバスI/F、システムバス、画像バス、ラスタイメージプロセッサ、デバイスI/F、スキャナ画像処理部、プリンタ画像処理部から構成される。なお、上記構成のうち、スキャナおよびスキャナ画像処理部はなくてもよい。CPU410は、制御ユニット全体を制御するコントローラである。RAM411は、CPU410が動作するために使用するシステムワークメモリである。また、RAMは、画像データを一時記憶するための画像メモリでもある。操作部I/F412は、操作部との間のインタフェースをつかさどり、操作部に表示すべき画像データを操作部に対して出力する。また、使用者が操作部を介して入力した情報を、CPUに伝える役割を果たす。ネットワークI/F413は、ネットワークとの接続と、ネットワークへの情報の入出力をつかさどる。ROM414はブートROMであり、システムのブートプログラムが格納されている。HDD415は、ハードディスクドライブであり、システムソフトウェア、画像データを格納する。イメージバスI/F416は、システムバス417と画像データを高速で転送する画像バス418とを接続し、データ構造を変換するバスブリッジである。画像バス418は、PCIバスまたはIEEE1394で構成される。ラスタイメージプロセッサ(RIP)419は、ネットワークから送信されたPDLコマンドをビットマップイメージに展開する。デバイスI/F部420は、画像入出力デバイスであるプリンタ402やスキャナ403と制御ユニットとを接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部421は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部422は、プリント出力画像データに対して、プリンタの性能に応じた補正、解像度変換等を行う。
【0025】
<画像処理装置のソフトウェア構成>
続いて、図5に、画像処理装置のソフトウェア構成を示す。画像処理装置はSNMPエンティティとMIBから構成される。これらのソフトウェアはプログラムとしてHDD15に記憶されている。CPU410により、これらのソフトウェアはRAM411に書き込まれ実行される。SNMPエンティティ500は、SNMPエンジンとコマンド応答アプリケーションから構成され、SNMPプロトコルにおける管理機能を実現する。SNMPエンジン510は、ユニークなSNMPエンジンIDによって識別され、SNMPメッセージの認証・暗号化やネットワーク上への送受信などを行う。コマンド応答アプリケーション511は、コンピュータ101から受信した画像処理装置の管理情報取得・設定要求コマンドに対して、MIBオブジェクトにアクセスする。そして、アクセスしたMIBオブジェクトをコンピュータ101に対して応答する機能を持つ。MIBオブジェクト501は、管理情報構造(SMI)などで定義された、画像処理装置の管理情報を定義するオブジェクトである。例えば、プリンタステータス、エラー、プリンタの識別子、ジョブの情報、給紙排紙トレーの構成情報等、多彩な情報をオブジェクトとして定義できる。
【0026】
ネットワークI/F部にSNMPエンティティを実装してもよい。
【0027】
<<コンピュータ101の動作>>
次に、コンピュータ101の動作に関して説明する。コンピュータ101の動作は大きく分けて、画像処理装置の探索、認証情報の登録、画像処理装置の設定変更の動作からなる。
【0028】
<探索時の動作>
まず、コンピュータ101の管理ユーティリティ303が、探索モジュールを利用してネットワーク上から管理対象とする画像処理装置102を探索する。探索モジュールは任意のプロトコルで、ネットワーク接続された画像処理装置のIPアドレスとMACアドレスを取得するコマンドをブロードキャストアドレスで送信する。プロトコルは、管理対象とする画像処理装置のIPアドレスとMACアドレスが取得できれば、SNMPv1でもSNMPv3でもSLP(Service Location Protocol)でも何でもよい。
【0029】
SNMPv3の場合は、探索モジュールがSNMPエンティティのコマンド送信アプリケーションを使って、SNMPエンジンIDを取得するコマンドをブロードキャスト送信する。するとコマンド送信アプリケーションがSNMPエンジンを使って認証なし・暗号化なしのSecurity Levelでパケットを送信する。画像処理装置側のSNMPエンジン510は、SNMPエンジン510がSNMPエンジンID取得要求のパケットを受信する。すると、SNMPエンジン510は、パケットの応答としてSNMPエンジンIDを送信する。コンピュータ101側のSNMPエンジンが応答を受信した場合、その応答を送信した画像処理装置102が、ネットワーク上の管理対象デバイスとなる。その後は管理対象の画像処理装置102に任意のプロトコルでMACアドレス取得コマンドを送信してMACアドレスを取得する。
【0030】
<認証情報登録時の動作>
探索によってコンピュータ101の管理対象となった画像処理装置のうち、SNMPv3対応のものについては通信時に認証情報が必要になる。そこで、図6の認証情報登録画面で、ユーザに認証情報を入力してもらう。すなわち、管理ユーティリティ303の図6の画面をクライアントコンピュータ105のディスプレイに表示する。そして、クライアントコンピュータ105のキーボードやマウスにより入力された認証情報を取得する。
【0031】
図6は、クライアントコンピュータ105からコンピュータ101の管理ユーティリティ303にWebブラウザでアクセスした際に、クライアントコンピュータ105のディスプレイに表示した認証情報登録画面の例を示す。図6の例では、SNMPv3対応の画像処理装置がリストアップされ、各画像処理装置について認証情報を入力しコンピュータ101に登録できるようになっている。600はWebブラウザのUIである。601はSNMPv3対応の画像処理装置の名称である。図1の102乃至104に対応する。602はSNMPv3対応の画像処理装置のIPアドレスである。603はSNMPv3の認証情報であるユーザ名の入力欄である。604は同様にSNMPv3の認証情報である認証パスワード、605は認証に用いるハッシュアルゴリズム、606は暗号化パスワード、607はコンテキスト名の入力欄である。更新ボタン608を押すと、各欄に入力された認証情報をクライアントコンピュータ105からコンピュータ101に対して送信する。そして、コンピュータ101がその認証情報をDBサーバサービス302に保存する。キャンセルボタン609を押すと認証情報の登録をクライアントコンピュータ105はキャンセルする。なお、認証情報のパラメータについては、必ずしも603から607までの全項目を入力させる必要はない。場合に応じてコンテキスト名は入力させずにシステムで固定の値を使用する、等のカスタマイズを行ってもよい。もちろん、本例のように個々の画像処理装置ごとに認証情報を管理せずに、管理している画像処理装置すべてに同じ認証情報を登録し、クライアントコンピュータ105からコンピュータ101へ送信してもよい。図7に、図6で更新ボタンが押された際の、コンピュータ101における認証情報登録の処理の流れを示す。図6の画面は前述のとおりクライアントコンピュータ105上に表示される。クライアントコンピュータ105のマウスやキーボードを使って、更新指示が入力される。この指示は更新608がユーザにより押下されることに応答して、クライアントコンピュータ105からコンピュータ101へ送信される。この際送信されるのは、図6の画面を介した全ての入力である。これらの入力は、コンピュータ101の管理ユーティリティ303により受信され、処理される。この情報の受信により、図7の処理を管理ユーティリティ303が開始する。
【0032】
S700で、既に画像処理装置の探索が行われたかを確認する。未探索の場合は、認証情報は保存する必要が無いので処理を終了する。探索済みの場合、S701で探索済みの画像処理装置の情報をDBサーバサービス302から取得する。そしてS702で画像処理装置がSNMPv3対応デバイスかを判定する。
【0033】
画像処理装置102がSNMPv3対応デバイスでないと判定された場合、認証情報を保存する必要がないので処理を終了する。SNMPv3対応デバイスと判定された場合は、S703で、ユーザが入力した認証情報をDBへ保存する。なお、保存された認証情報は、SNMPv3で画像処理装置102と通信を行う際に使用される。S704で、保存された認証情報が、以前保存された認証情報から変更されているかを判定する。認証情報が変更されたと判定された場合、S705で認証情報と画像処理装置情報を元にSNMPv3通信用の鍵候補を生成する。そしてS706で生成した鍵候補をDBに保存する。S702からS706までを、管理対象となっているすべてのSNMPv3対応の画像処理装置102に関して行う。認証情報が変更されていないと判定された場合は、その画像処理装置に関する認証情報の登録処理を終了する。
【0034】
S705で説明した鍵候補の生成方法の詳細例を図8に示す。まず、画像処理装置102等のIPアドレスとMACアドレスから、SNMPエンジンID候補801を生成する。SNMPエンジンID候補はRFC3411に記載されたSNMPエンジンIDの定義を元に生成する。先頭ビット802は”1”がSNMPv3形式を表す。企業番号803は4バイトの企業番号を入力する。種別804は識別データ805の種別を表す1バイトデータである。”1”がIPv4アドレス、”2”がIPv6アドレス、”3”がMACアドレスを表す。識別データ805には、画像処理装置情報の内、種別804に相当する情報が入る。そして、パスワード800とSNMPエンジンID候補802を元に、SNMPv3USMで定義されたローカル秘密鍵生成方式を使って鍵候補806を生成する。
【0035】
<画像処理装置102の設定変更時の動作>
管理ユーティリティ303は、画像処理装置102の探索および正しい認証情報の保存が終わると、画像処理装置102とSNMPv3プロトコルによる通信が可能になる。SNMPv3通信の例として、今回は画像処理装置102の設定変更処理を挙げて説明する。図9に、管理ユーティリティ303が画像処理装置102の設定を変更する際の処理の流れを示す。
【0036】
S900で設定項目入力画面を表示し、画像処理装置102の変更する設定項目をユーザに入力させる。クライアントコンピュータ105からコンピュータ101の管理ユーティリティ303にWebブラウザでアクセスして表示した設定項目入力画面の例を図10に示す。1000はデバイス情報の設定項目欄、1001は通信設定の設定項目欄である。各項目のチェックボックスを選択してテキストボックスに変更する値を設定し、更新ボタン1002を押すと設定が変更される。すなわち、図10の各フィールドに入力された内容が、クライアントコンピュータ105からコンピュータ101へと送信される。その後、すぐに図9の処理が開始する。キャンセルボタン1003を押すと設定変更をキャンセルする。図9は管理ユーティリティ303の処理である。図10では、デバイス名、設置場所、管理社名、管理者連絡先、管理者コメント、サービス担当者名、サービス担当者連絡先、サービス担当者コメントを入力可能である。また、フレームタイプ、DHCPやBOOTP、RARP,サブネットマスク、ゲートウェイアドレス、LPD印刷、や各種サーバのアドレスや名前が入力可能である。ここで、特に重要な情報はIPアドレスである。この情報は個別の設定画面にて別途入力でき、他の情報と同様に、303から画像処理装置102に対して指示に応じて送信される。
【0037】
設定変更項目の入力後、S901でDB302から画像処理装置102の情報を取得する。ここで取得する情報はIPアドレスなど、管理ユーティリティ303が画像処理装置102と通信を行うのに必要な情報である。そして、S902で画像処理装置102がSNMPv3対応デバイスかどうかを判定する。もしSNMPv3対応デバイスでないと判定されれば、S904でSNMPv3以外の通信可能なプロトコルを使って画像処理装置102の設定を変更して終了する。
【0038】
もし画像処理装置102がSNMPv3対応デバイスと判定された場合は、S903で画像処理装置102の設定を行う。S903のSNMPv3による設定変更処理の流れを、さらに細かく図11に示す。
【0039】
まず、S1100で、画像処理装置102のSNMPエンジンと通信を行うためのSNMPエンジンIDを取得する。SNMPv3USMでは、NoAuth/NoPrivのセキュリティレベルでSNMPリクエストメッセージを送信することでSNMPエンジンIDを取得できる。なお、その際にはmsgAuthoritative EngineID・msgUserNameの長さを0にし、varBindListを空にする必要がある。そして、S1101とS1102で取得したSNMPエンジンIDの種別がMACアドレスもしくはIPアドレスかどうかを判定する。もしSNMPエンジンIDがMACアドレスと判定されれば、S1107に進み、S706で生成した鍵候補のうち、MACアドレスを元に生成した鍵候補をDB302から取得する。もしSNMPエンジンIDがIPアドレスと判定されれば、S1108に進み、同様にIPアドレスを元に生成した鍵候補をDBから取得する。MACアドレスやIPアドレスは、基本的に通信中に変動しない。(IPアドレスは外部から変更される場合があるが、通信中に変更された場合は画像処理装置102と通信不可となるので、再探索が必要となる。)そこでS1109で、取得したSNMPエンジンIDと鍵候補を利用して、画像処理装置102の設定変更を行うリクエストすべての送信を行う。これにより、リクエスト送信時に毎回SNMPエンジンIDの取得と鍵生成を行う必要が無くなり、通信処理時間を短縮することができる。もしSNMPエンジンIDがMACアドレスでもIPアドレスでもない場合は、SNMPエンジンIDは変動する可能性があるので、毎回リクエスト送信時にSNMPエンジンIDの取得と鍵生成を行う。S1103でSNMPエンジンIDを取得し、S1104でエンジンIDが更新されているかを判定する。もしSNMPエンジンIDが更新されていると判定されれば、S1105でDBから取得した認証情報とSNMPエンジンIDを利用して鍵を生成してからS1106へ進む。SNMPエンジンIDが更新されていないと判定されれば、そのままS1106へ進む。そしてS1106でSNMPエンジンIDと鍵を利用してリクエストを送信する。
【0040】
なお、本実施例では、MACアドレスおよびIPアドレスを画像処理装置102固有の変動しない値として扱ったが、SNMPエンジンIDの種別が文字列やバイト列の場合でも、同様に機器固有情報として扱ってもよい。また、IPアドレスを変動する情報とし、
MACアドレスを変動しない機器固有情報として扱うことも可能である。
【0041】
次に、SNMPエンジンIDがIPアドレスで、かつコンピュータ101がSNMPv3で通信中にIPアドレスを変更する場合について説明する。
【0042】
なお、システム構成は最初の実施形態と同様である。また、探索および認証情報登録時のコンピュータ101の動作についても、最初の実施形態と同様の処理をする。
【0043】
<画像処理装置102の設定変更時の動作>
コンピュータ101による画像処理装置102の設定変更時の動作についても、図9までは最初の実施形態と同様である。最初の実施形態と異なる部分を説明する。ここでは、図9におけるS903の内容について図12で説明する。
【0044】
図12は、コンピュータ101上の管理ユーティリティ303がSNMPv3プロトコルで画像処理装置102の設定を変更する際の詳細な処理の流れを示す。下記は303での処理である。S1100からS1109については、図11と同じなので説明を省略する。S1200は、SNMPエンジンIDがIPアドレスの場合に、リクエストを送信した後の処理になり、送信されたリクエストがIPアドレスを変更する内容かどうかを判定する。もし送信リクエストがIPアドレスを変更する内容と判定された場合、S1201で、変更後のIPアドレスを使ってSNMPエンジンIDを更新する。そして、S1202で更新後のSNMPエンジンIDとDB302から取得した認証情報を使って鍵候補を再生成する。次回以降の送信リクエストからは、変更後のIPアドレスと、更新したSNMPエンジンIDと鍵候補を使って、送信を行う。これにより、コンピュータ101が送信リクエストの途中で、画像処理装置102のIPアドレスを自ら変更した場合も、残りの送信リクエストが正しく画像処理装置102のSNMPエンジンに送信される。もし送信リクエストがIPアドレスを変更する内容ではないと判定された場合は、S1103に進む。S1103以降は図11と同様の処理になるので、説明は省略する。鍵候補を生成して、S1200で旧い鍵と取り替えるタイミングは、IPアドレスの設定変更を確実に確認してからにするとよい。すなわち、仮の鍵候補として用意し、変更を確認してから旧い鍵候補を消去するようにすると良い。
【0045】
一番先に説明した実施形態では、画像処理装置102の探索後、認証情報登録時に鍵候補を生成し、SNMPv3通信の初回通信時にSNMPエンジンIDの取得と鍵候補から利用する鍵の選択をおこなった。本実施形態では、認証情報登録時にSNMPエンジンIDを事前取得し、鍵を生成してキャッシュしておく方法を説明する。
【0046】
なお、システム構成ならびに、探索時のコンピュータ101の動作については、最初の実施形態と同様のため省略する。
【0047】
<認証情報登録時の動作>
図13は、コンピュータ101における認証情報登録の処理の流れを示す。なおS700からS705は、最初の実施形態の図7と同じなので省略する。ユーザ入力された認証情報が更新されると、S1300で画像処理装置102のSNMPエンジンのSNMPエンジンIDを取得する。SNMPエンジンIDの取得方法は最初の実施形態のS1100と同様である。そして、S1301で取得したSNMPエンジンIDがMACアドレスもしくはIPアドレスかどうかを判定する。もしSNMPエンジンIDがMACアドレスかIPアドレスであると判定されれば、S1302においてSNMPv3通信で認証・暗号化に利用する鍵を生成する。鍵の生成方法は最初の実施形態の図8と同様である。そしてS1303で、生成した鍵をDB302に保存する。
【0048】
<画像処理装置102の設定変更時の動作>
画像処理装置102の設定変更時におけるコンピュータ101の動作は最初の実施形態と同様である。また、SNMPv3での通信までは最初の実施形態と同様である。最初に説明した実施例と異なる部分を中心に説明する。図9におけるS903の内容について、図14で説明する。
【0049】
図14は、コンピュータ101によるSNMPv3での画像処理装置102の設定変更処理を示す。S1400で、既に認証情報登録時にSNMPエンジンIDと鍵がDB302に保存されているかどうかを判定する。もしDBにSNMPエンジンIDと鍵が保存されていると判定されれば、S1103からS1106でSNMPエンジンIDを取得し、エンジンIDが更新されていれば鍵を生成する。そしてSNMPエンジンIDと鍵を使ってSNMPv3でリクエスト送信を行う。これを全送信リクエストについて繰り返す。一方、もしDBにSNMPエンジンIDと鍵が保存されていないと判定された場合は、S1401でSNMPエンジンIDを、S1402で鍵をDBから取得する。そして、取得したSNMPエンジンIDと鍵を利用して、S1403でSNMPv3による認証・暗号化通信で全リクエストを送信する。
【0050】
その他の実施例を説明する。最初の実施例では、コンピュータ101が画像処理装置102を探索してから、認証情報の登録を行い、その上で画像処理装置102の設定変更を行った。本実施例では、画像処理装置102を探索し、認証情報登録時に鍵候補を生成した後でIPアドレスが変更された場合に鍵候補を更新する方法について説明する。
【0051】
なお、システム構成ならびに、認証情報登録、設定変更時のコンピュータ101の動作については、最初の実施例と同様のため省略する。本実施例では、画像処理装置探索時の、コンピュータ101の動作についてのみ図15にて説明する。
【0052】
まずS1500で、ネットワーク上の画像処理装置102の探索を行う。探索方法は最初の実施形態で説明したとおりである。次にS1501で、探索された画像処理装置102が新規に探索されたデバイスかどうかを判定する。もし新規に探索されたと判定された場合は、S1503に進む。既に探索されたことのあるデバイスと判定された場合は、S1502でIPアドレスが以前の探索結果から変更されていないかを判定する。IPアドレスの変更が無いと判定されれば、鍵候補の再生成の必要は無いので、そのまま処理を終了する。もしIPアドレスが変更されていると判定された場合は、S1503へ進む。そしてS1503では認証情報が登録されているかを判定する。もし認証情報が登録されていると判定されれば、S1504で鍵候補を再生成し、S1505で再生成した鍵をDB302へ保存する。以上の処理で、画像処理装置102が探索され、認証情報登録時に鍵候補が生成された後でIPアドレスが変更されても、再探索時に鍵候補が自動で再生成される。以上は303での処理である。
【0053】
最後の実施例について説明する。最初の実施形態では、SNMPエンジンIDの種別がMACアドレスもしくはIPアドレスの場合に、SNMPエンジンIDと事前生成した鍵候補をキャッシュして使用した。本実施例では、SNMPエンジンID種別のベンダー定義可能領域を利用して通信処理の高速化を図る例を示す。
【0054】
図8におけるSNMPエンジンID801において、種別804はRFC3411で定義されている。RFC3411では、種別値が128から255まではベンダー定義可能と定義されている。そこで、本実施例では図17に示すように、画像処理装置102とコンピュータ101が利用するSNMPエンジンIDの種別におけるベンダー定義領域を、固定値領域と変動値領域で分割する。これにより、コンピュータ101と画像処理装置102がSNMPv3プロトコルで通信する際に、毎回SNMPエンジンIDを取得する必要があるかどうかを画像処理装置102からコンピュータ101に通知する。
【0055】
次に、コンピュータ101によるSNMPv3での画像処理装置102の設定変更の流れを図16に示す。なお、画像処理装置102ならびにコンピュータ101が図17のSNMPエンジンID設定を利用していることと、予め探索と認証情報登録が完了していることが前提となる。
【0056】
まずS1600で、SNMPエンジンIDを取得する。エンジンIDの取得方法は最初の実施形態のS1100と同様である。そしてS1601で、取得したSNMPエンジンIDの種別がベンダー定義領域かを判定する。もしベンダー定義領域でないと判定されれば、S1603からS1606で、毎回リクエスト送信時にSNMPエンジンIDを取得し、エンジンIDが更新されていれば鍵生成を行う。そしてSNMPエンジンIDと鍵を使ってSNMPv3でリクエストを送信する。もしベンダー定義領域と判定されたら、S1602でエンジンIDの種別が固定値を示す領域かどうかを判定する。もし固定値であると判定されれば、S1607で一回鍵を生成したら、あとは生成した鍵とSNMPエンジンIDを利用してS1608でリクエストの送信を行う。一方、もしSNMPエンジンIDの種別が変動値と判定されれば、S1603からS1606で、毎回リクエスト送信時にSNMPエンジンIDを取得し、エンジンID更新時には鍵生成を行い、リクエストを送信する。以上のように、SNMPエンジンIDの種別フィールドにおけるベンダー定義領域を利用して、SNMPエンジンIDを毎回通信ごとに取得する必要があるかどうかを判別する。それによって、SNMPエンジンIDの取得と鍵生成の回数を削減することができ、通信処理時間を短縮することができる。すなわち、ベンダー定義領域において、エンジンIDをどの領域に固定値を格納し、どの領域に固定値でない値を格納するかを予め定めておく、そして、エンジンIDがどの領域から取得されるかで固定値か固定値でないかを決定するものとする。
【0057】
以上説明したように、通信の際に鍵を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するコンピュータ101が開示された。
【0058】
周辺装置の一例である画像処理装置102乃至104から機器固有情報の一例である機器固有情報を取得する管理ユーティリティ303が開示された。SNMPエンジンIDとして、MACアドレスやIPアドレスなどがあげられる。
【0059】
SNMPV3による通信の前に、機器固有情報から鍵情報の一例である図8に示す情報を生成する。そして、管理ユーティリティ303は、画像処理装置1020を識別するSNMPエンジンIDを取得する。さらに、管理ユーティリティ303は、SNMPエンジンIDが前記機器固有情報に対応するものかを判断する。例えば、SNMPエンジンIDがIPアドレスはMACアドレスそのものであるかを判定する。又は、SNMPエンジンIDが、それらのアドレスに対して所定のエンコード処理をしたものかどうかを判定する。
【0060】
さらに、SNMPエンジンIDが機器固有情報に対応するものであると管理ユーティリティ303が判断した場合に、前記SNMPエンジンIDを保持する。そして、管理ユーティリティ303は、生成した鍵情報を用いてSNMPで通信を行う。これらの処理はネットワーク管理装置の一例であるコンピュータ101で実行される。
【0061】
SNMPエンジンIDが機器固有情報に対応するものであると管理ユーティリティ303が判断し、かつ周辺装置に対して前記機器固有情報を変更する要求が送信された場合に、保持している前記鍵候補を管理ユーティリティ303は更新する。
【0062】
管理ユーティリティ303が取得したSNMPエンジンIDが変動値か固定値かを判断する。
【0063】
管理ユーティリティ303は、SNMPエンジンIDが固定値の場合に、通信セッション完了までSNMPエンジンIDを保持し、そのSNMPエンジンIDを用いて鍵情報を生成し、鍵情報を利用してSNMPで通信を行うようにしてもよい。
【0064】
管理ユーティリティ303は、画像処理装置102に設定されている設定情報を更新する指示を受け付ける。
【0065】
管理ユーティリティ303は、受け付けられた指示が、IPアドレスの変更を指示するものであるか否かを判定する。
【0066】
SNMPエンジンIDがIPアドレスである場合、管理プログラムがIPアドレスの変更を指示するものであると判定した場合は、次の処理をする。すなわち管理ユーティリティ303は、変更前のIPアドレスを用いて生成された鍵候補を用いてSNMPによるIPアドレスの設定処理を実行する。さらに、管理ユーティリティ303は、変更後のIPアドレスを用いて鍵候補を再生成する。一方、管理ユーティリティ303がIPアドレスの変更を指示するものではないと判定した場合は、次の処理をする。すなわち、管理ユーティリティ303は、変更前の鍵候補でSNMPによる設定処理を実行して鍵候補を再生成しないようにする。
【0067】
本実施形態における各図に示す処理が、外部からインストールされるプログラムによって、コンピュータ101などにより遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【0068】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ(図示省略)からダウンロードすることで、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0069】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0070】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0071】
【図1】本実施形態のシステム構成の一例を示す図である。
【図2】図1のコンピュータ101ハードウェア構成の一例を示す図である。
【図3】図1のコンピュータ101のソフトウェア構成の一例を示す図である。
【図4】図1の画像処理装置102のハードウェア構成の一例を示す図である。
【図5】画像処理装置102のソフトウェア構成の一例を示す図である。
【図6】認証情報入力画面の一例を示す図である。
【図7】認証情報登録フローチャートの一例を示す図である。
【図8】鍵生成方法の一例を示す図である。
【図9】画像処理装置102の設定変更フローチャートの一例を示す図である。
【図10】設定項目入力画面の一例を示す図である。
【図11】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図12】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図13】認証情報登録の処理の流れの一例を示す図である。
【図14】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図15】探索時フローチャートの一例を示す図である。
【図16】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図17】SNMPエンジンID種別分類表の一例を示す図である。
【技術分野】
【0001】
本発明は、ネットワークデバイスを管理する方法、該方法を適用可能な装置、制御プログラム等に関するものである。
【背景技術】
【0002】
ネットワーク管理プロトコルとして、SNMP(Simple Network Management Protocol)が近年注目されている。SNMPには、例えばSNMPv1とSNMPv3の2つのバージョンが存在する。特にSNMPv3は、通信時の認証や暗号化などのセキュリティ機能が強化されている。そのため、セキュリティに関心の高い昨今では、プリンタなどのネットワークデバイスや、それらを管理するユーティリティソフトのSNMPv3対応が進んでいる。
【0003】
SNMPv3では、送受信する装置間でSNMPエンジンによって認証・暗号化通信を行う。SNMPエンジンは、ユニークなSNMPエンジンIDと呼ばれる識別子によって識別され、SNMPメッセージの認証・暗号化やネットワーク上への送受信などを行う。SNMPv3の認証・暗号化仕様については、RFC3414で定義されているユーザベース・セキュリティ・モデル(SNMPv3USM)を用いるのが一般的である。SNMPv3USMでは、まずメッセージ送信前に周辺装置からSNMPエンジンIDを取得する。そして、取得したSNMPエンジンIDとパスワードを用いて認証・暗号化用の秘密鍵を生成し、認証・暗号化通信を行う。
【0004】
しかし、SNMPv3に限らず、認証・暗号化通信においては、毎回通信時にパラメータを取得して認証・暗号化用の鍵を生成すると、通信処理時間が長くなってしまうという問題がある。
【0005】
そこで従来は、認証・暗号化通信において、毎回通信時にパラメータを取得して鍵を生成するのではなく、初回通信時に取得した鍵やパラメータをキャッシュして次回以降の通信で利用する方式が提案されていた(特開2000−278258号公報、特開2005−085090号公報)。
【0006】
この方法は、鍵やパラメータがいつ取得及び生成しても変化しない場合に有効である。よって、この方法に拠れば、セキュリティを保ちながら通信処理時間を短縮することができる。
【非特許文献1】RFC3414,”User−Based Security Model(USM) for Version 3 of the Simple Network Management Protocol(SNMPv3)”
【特許文献1】特開2000−278258号公報
【特許文献2】特開2005−085090号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、SNMPv3USMにおいて通信時に取得する必要があるSNMPエンジンIDは、固有値であるMACアドレスだけではなく、動的に変化する可能性のあるIPアドレスや文字列・バイト列、ベンダー定義値なども取り得る。RFC3414にもその旨定義されている。このため、その時々のエンジンIDにどの種別の値がセットされているかは取得するまで分からない。SNMPエンジンIDに使われている種別によっては毎回取得するたびに同じ値が入っている保証もない。また、認証・暗号化に利用する鍵は、取得したSNMPエンジンIDより生成される。よって、従来技術のように初回通信時にキャッシュしたSNMPエンジンIDや鍵情報を次回通信時に利用することはできない。そのため、毎回通信時にSNMPエンジンIDを取得し、鍵生成する必要がある。このため、通信時間のスループットが長くなってしまっていた。
【課題を解決するための手段】
【0008】
上述の課題を解決するために、本発明は、例えば、通信の際に鍵情報を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するネットワーク管理装置において、前記周辺装置から機器固有情報を取得する手段と、SNMPで通信する前に、前記機器固有情報を用いて複数の鍵情報の候補を生成する手段と、前記周辺装置のSNMPエンジンIDを取得する手段と、前記SNMPエンジンIDが前記機器固有情報に対応するものかを判断する判断手段と、前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断手段が判断した場合に、前記SNMPエンジンIDを保持し、前記鍵情報の候補の中から選択された、前記機器固有情報に対応する鍵情報を用いてSNMPで通信を行う通信手段と、を有することを特徴とするネットワーク管理装置を開示する。
【発明の効果】
【0009】
本発明の一つの側面によれば、ネットワーク管理プロトコルにおける認証又は暗号化通信の前に、事前にSNMPエンジンIDの可能性がある値を取得した段階で鍵候補を生成しておくことで、通信時の鍵生成処理を削減することができるという有利な効果がある。
【0010】
また、本発明の別の側面によれば、SNMPエンジンIDの取得回数も削減するので、通信処理時間を短縮することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施するための形態の一例について、図面を参照して説明する。
【0012】
<<システム構成>>
図1は、本発明における一実施形に係るネットワーク管理システムの全体構成を示す図である。図1において、ネットワーク管理システムはネットワーク100により互いに接続されたコンピュータ101と画像処理装置102(被管理装置)から構成される。ネットワーク管理装置はネットワーク上に2台以上存在しても良い。
【0013】
ネットワーク100は、TCP/IPネットワークが構築可能で、ネットワーク経由で通信機器を監視・制御するSNMPプロトコルが利用可能であればよい。例えば、LANなどが挙げられる。
【0014】
コンピュータ101および画像処理装置102については、ハードウェア構成とソフトウェア構成に分けて説明する。画像処理装置は、画像処理を行う装置である。例えば、画像処理装置102は、プリンタ、ファクシミリ、スキャナ、及びこれらの複合機等が考えられる。図では、プリンタである場合の一例を示す。画像処理装置102は、本発明のネットワークデバイスの一例である。105はクライアントコンピュータであり、コンピュータ101内の管理ユーティリティ303と通信して各種情報をウェブブラウザで表示できる。
【0015】
画像処理装置102は本発明の周辺装置の一例である。
【0016】
<コンピュータ101のハードウェア構成>
図2に、コンピュータ101のハードウェア構成を示す。209は入力手段の一例であるキーボードや、マウスを制御する部分である。DC208は、表示手段の一例であるディスプレイを制御するコントローラである。
【0017】
コンピュータ101は汎用コンピュータにより構成される。システムバス200は、コンピュータを構成する各要素を接続する役割を持つ。CPU(中央演算装置)201は、コンピュータ全体の制御および演算処理等を行う。RAM(ランダムアクセスメモリ)202は、様々な処理ごとに各々のプログラムおよびデータがロードされ、実行される領域である。ROM(読み出し専用メモリ)203は、システム起動プログラム等の記憶領域である。DKC(外部記憶装置制御部)204は、HD(ハードディスク)207などの外部記憶装置の制御を行う。HD207は、プログラムおよびデータを記憶させておき、実行時必要に応じて参照またはRAMへロードする。
【0018】
コンピュータ101は、CPUが基本I/OプログラムおよびOSを実行している状態で動作する。基本I/OプログラムはROMに書き込まれており、OSはHDに書き込まれている。そしてコンピュータ部の電源がONされたときに、基本I/Oプログラム中のイニシャルプログラムロード機能により、HDからOSがRAMに書き込まれ、OSの動作が開始される。ネットワークI/F205は、ネットワークへ接続しネットワーク通信を行う。入出力I/F206は、キーボードやディスプレイなどに接続され、データの入出力を行う。105のクライアントコンピュータも基本的には同じ構成である。
【0019】
<コンピュータ101のソフトウェア構成>
続いて、図3に、ネットワーク管理装置の一例であるコンピュータ101のソフトウェア構成を示す。コンピュータ101は、基本I/OプログラムおよびOSが実行状態にあることが前提で、Webサーバサービス、DBサーバサービス、管理ユーティリティ303から構成される。これらのソフトウェアはプログラムとして図2のHD207に書き込まれている。図3に記載のソフトウェア301、302、303、310,311,313,312は、図2のCPU201を用いてRAM202に書き込まれ実行される。
【0020】
Webサーバサービス301は、クライアントコンピュータのWebブラウザからHTTPによるGETリクエストを受け取ると、HD207に保存されたWebページデータを返信するサービスを提供する。Webサーバサービスによって、外部からネットワーク経由でコンピュータ101へ接続することができる。なお、外部からコンピュータ101の管理ユーティリティ303へ接続する必要がない場合、Webサーバサービスは無くてもよい。
【0021】
DBサーバサービス302は、管理ユーティリティ303の利用するデータを格納し、格納されたデータを取得するサービスを提供する。DBサーバサービスはコンピュータ101内でなく、ネットワークで接続された他のコンピュータ上に構成されていてもよい。管理ユーティリティ303内で独自にデータの格納・取得を行う場合は、DBサーバサービスは無くてもよい。
【0022】
管理ユーティリティ303は、ネットワーク接続された画像処理装置102と通信を行う。管理ユーティリティ303のユーザインタフェースとしてはウェブブラウザが利用できる。そして、画像処理装置102の設定の変更や状態監視などを行うソフトウェアである。この状態監視は、一定期間ごとであっても良い。管理ユーティリティ303は、探索モジュール310、デバイス情報設定モジュール311、認証情報管理モジュール313などの各機能モジュールと、SNMPエンティティ312から構成される。なお、本実施例ではSNMPv3通信を行うモジュールの例としてデバイス情報設定モジュールを挙げているが、SNMP通信を行うモジュールであれば他機能のモジュールでもよい。探索モジュール310は、ネットワーク接続された画像処理装置を探索する機能を持つ。デバイス情報設定モジュール311は、既に探索済みのネットワーク接続された画像処理装置102などの設定情報をネットワーク経由で変更する機能を持つ。図1の複数の画像処理装置とSNMPv3で通信する場合、後述の認証情報管理モジュールが保存した認証情報を使用して通信を行う。認証情報管理モジュール313は、既に探索済みのネットワーク接続された画像処理装置について、ユーザが入力したSNMPv3パスワードを保存する機能を持つ。SNMPエンティティ312は、コマンド送信アプリケーションとSNMPエンジンから構成され、SNMPプロトコルにおける管理機能を実現する。コマンド送信アプリケーション320は、画像処理装置102を含むネットワーク機器の管理情報の取得・設定機能を持つ。SNMPエンジン321は、ユニークなSNMPエンジンIDによって識別され、SNMPメッセージの認証・暗号化やネットワーク上への送受信などを行う。105のクライアントコンピュータも基本的には同じ構成を持っていてもよい。ただし、ウェブブラウザのみが搭載されていても良い。
【0023】
<画像処理装置のハードウェア構成>
図4に、画像処理装置の例として、MFP(Multifunction Printer、多機能プリンタ)のハードウェア構成を示す。前述のとおり、画像処理装置にはMFP以外のものも含む(単機能プリンタ、FAXなど)。
画像処理装置102は、操作部、プリンタ、スキャナ、制御ユニットから構成される。制御ユニット(Controller Unit)400は、ネットワークに接続され、コンピュータ101との間で通信を行う。操作部401、プリンタ402、スキャナ403は制御ユニットに接続され制御される。なお、画像処理装置には上記スキャナを有さないものも含まれる。
【0024】
制御ユニットは、CPU、RAM、操作部I/F、ネットワークI/F、ROM、HDD、イメージバスI/F、システムバス、画像バス、ラスタイメージプロセッサ、デバイスI/F、スキャナ画像処理部、プリンタ画像処理部から構成される。なお、上記構成のうち、スキャナおよびスキャナ画像処理部はなくてもよい。CPU410は、制御ユニット全体を制御するコントローラである。RAM411は、CPU410が動作するために使用するシステムワークメモリである。また、RAMは、画像データを一時記憶するための画像メモリでもある。操作部I/F412は、操作部との間のインタフェースをつかさどり、操作部に表示すべき画像データを操作部に対して出力する。また、使用者が操作部を介して入力した情報を、CPUに伝える役割を果たす。ネットワークI/F413は、ネットワークとの接続と、ネットワークへの情報の入出力をつかさどる。ROM414はブートROMであり、システムのブートプログラムが格納されている。HDD415は、ハードディスクドライブであり、システムソフトウェア、画像データを格納する。イメージバスI/F416は、システムバス417と画像データを高速で転送する画像バス418とを接続し、データ構造を変換するバスブリッジである。画像バス418は、PCIバスまたはIEEE1394で構成される。ラスタイメージプロセッサ(RIP)419は、ネットワークから送信されたPDLコマンドをビットマップイメージに展開する。デバイスI/F部420は、画像入出力デバイスであるプリンタ402やスキャナ403と制御ユニットとを接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部421は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部422は、プリント出力画像データに対して、プリンタの性能に応じた補正、解像度変換等を行う。
【0025】
<画像処理装置のソフトウェア構成>
続いて、図5に、画像処理装置のソフトウェア構成を示す。画像処理装置はSNMPエンティティとMIBから構成される。これらのソフトウェアはプログラムとしてHDD15に記憶されている。CPU410により、これらのソフトウェアはRAM411に書き込まれ実行される。SNMPエンティティ500は、SNMPエンジンとコマンド応答アプリケーションから構成され、SNMPプロトコルにおける管理機能を実現する。SNMPエンジン510は、ユニークなSNMPエンジンIDによって識別され、SNMPメッセージの認証・暗号化やネットワーク上への送受信などを行う。コマンド応答アプリケーション511は、コンピュータ101から受信した画像処理装置の管理情報取得・設定要求コマンドに対して、MIBオブジェクトにアクセスする。そして、アクセスしたMIBオブジェクトをコンピュータ101に対して応答する機能を持つ。MIBオブジェクト501は、管理情報構造(SMI)などで定義された、画像処理装置の管理情報を定義するオブジェクトである。例えば、プリンタステータス、エラー、プリンタの識別子、ジョブの情報、給紙排紙トレーの構成情報等、多彩な情報をオブジェクトとして定義できる。
【0026】
ネットワークI/F部にSNMPエンティティを実装してもよい。
【0027】
<<コンピュータ101の動作>>
次に、コンピュータ101の動作に関して説明する。コンピュータ101の動作は大きく分けて、画像処理装置の探索、認証情報の登録、画像処理装置の設定変更の動作からなる。
【0028】
<探索時の動作>
まず、コンピュータ101の管理ユーティリティ303が、探索モジュールを利用してネットワーク上から管理対象とする画像処理装置102を探索する。探索モジュールは任意のプロトコルで、ネットワーク接続された画像処理装置のIPアドレスとMACアドレスを取得するコマンドをブロードキャストアドレスで送信する。プロトコルは、管理対象とする画像処理装置のIPアドレスとMACアドレスが取得できれば、SNMPv1でもSNMPv3でもSLP(Service Location Protocol)でも何でもよい。
【0029】
SNMPv3の場合は、探索モジュールがSNMPエンティティのコマンド送信アプリケーションを使って、SNMPエンジンIDを取得するコマンドをブロードキャスト送信する。するとコマンド送信アプリケーションがSNMPエンジンを使って認証なし・暗号化なしのSecurity Levelでパケットを送信する。画像処理装置側のSNMPエンジン510は、SNMPエンジン510がSNMPエンジンID取得要求のパケットを受信する。すると、SNMPエンジン510は、パケットの応答としてSNMPエンジンIDを送信する。コンピュータ101側のSNMPエンジンが応答を受信した場合、その応答を送信した画像処理装置102が、ネットワーク上の管理対象デバイスとなる。その後は管理対象の画像処理装置102に任意のプロトコルでMACアドレス取得コマンドを送信してMACアドレスを取得する。
【0030】
<認証情報登録時の動作>
探索によってコンピュータ101の管理対象となった画像処理装置のうち、SNMPv3対応のものについては通信時に認証情報が必要になる。そこで、図6の認証情報登録画面で、ユーザに認証情報を入力してもらう。すなわち、管理ユーティリティ303の図6の画面をクライアントコンピュータ105のディスプレイに表示する。そして、クライアントコンピュータ105のキーボードやマウスにより入力された認証情報を取得する。
【0031】
図6は、クライアントコンピュータ105からコンピュータ101の管理ユーティリティ303にWebブラウザでアクセスした際に、クライアントコンピュータ105のディスプレイに表示した認証情報登録画面の例を示す。図6の例では、SNMPv3対応の画像処理装置がリストアップされ、各画像処理装置について認証情報を入力しコンピュータ101に登録できるようになっている。600はWebブラウザのUIである。601はSNMPv3対応の画像処理装置の名称である。図1の102乃至104に対応する。602はSNMPv3対応の画像処理装置のIPアドレスである。603はSNMPv3の認証情報であるユーザ名の入力欄である。604は同様にSNMPv3の認証情報である認証パスワード、605は認証に用いるハッシュアルゴリズム、606は暗号化パスワード、607はコンテキスト名の入力欄である。更新ボタン608を押すと、各欄に入力された認証情報をクライアントコンピュータ105からコンピュータ101に対して送信する。そして、コンピュータ101がその認証情報をDBサーバサービス302に保存する。キャンセルボタン609を押すと認証情報の登録をクライアントコンピュータ105はキャンセルする。なお、認証情報のパラメータについては、必ずしも603から607までの全項目を入力させる必要はない。場合に応じてコンテキスト名は入力させずにシステムで固定の値を使用する、等のカスタマイズを行ってもよい。もちろん、本例のように個々の画像処理装置ごとに認証情報を管理せずに、管理している画像処理装置すべてに同じ認証情報を登録し、クライアントコンピュータ105からコンピュータ101へ送信してもよい。図7に、図6で更新ボタンが押された際の、コンピュータ101における認証情報登録の処理の流れを示す。図6の画面は前述のとおりクライアントコンピュータ105上に表示される。クライアントコンピュータ105のマウスやキーボードを使って、更新指示が入力される。この指示は更新608がユーザにより押下されることに応答して、クライアントコンピュータ105からコンピュータ101へ送信される。この際送信されるのは、図6の画面を介した全ての入力である。これらの入力は、コンピュータ101の管理ユーティリティ303により受信され、処理される。この情報の受信により、図7の処理を管理ユーティリティ303が開始する。
【0032】
S700で、既に画像処理装置の探索が行われたかを確認する。未探索の場合は、認証情報は保存する必要が無いので処理を終了する。探索済みの場合、S701で探索済みの画像処理装置の情報をDBサーバサービス302から取得する。そしてS702で画像処理装置がSNMPv3対応デバイスかを判定する。
【0033】
画像処理装置102がSNMPv3対応デバイスでないと判定された場合、認証情報を保存する必要がないので処理を終了する。SNMPv3対応デバイスと判定された場合は、S703で、ユーザが入力した認証情報をDBへ保存する。なお、保存された認証情報は、SNMPv3で画像処理装置102と通信を行う際に使用される。S704で、保存された認証情報が、以前保存された認証情報から変更されているかを判定する。認証情報が変更されたと判定された場合、S705で認証情報と画像処理装置情報を元にSNMPv3通信用の鍵候補を生成する。そしてS706で生成した鍵候補をDBに保存する。S702からS706までを、管理対象となっているすべてのSNMPv3対応の画像処理装置102に関して行う。認証情報が変更されていないと判定された場合は、その画像処理装置に関する認証情報の登録処理を終了する。
【0034】
S705で説明した鍵候補の生成方法の詳細例を図8に示す。まず、画像処理装置102等のIPアドレスとMACアドレスから、SNMPエンジンID候補801を生成する。SNMPエンジンID候補はRFC3411に記載されたSNMPエンジンIDの定義を元に生成する。先頭ビット802は”1”がSNMPv3形式を表す。企業番号803は4バイトの企業番号を入力する。種別804は識別データ805の種別を表す1バイトデータである。”1”がIPv4アドレス、”2”がIPv6アドレス、”3”がMACアドレスを表す。識別データ805には、画像処理装置情報の内、種別804に相当する情報が入る。そして、パスワード800とSNMPエンジンID候補802を元に、SNMPv3USMで定義されたローカル秘密鍵生成方式を使って鍵候補806を生成する。
【0035】
<画像処理装置102の設定変更時の動作>
管理ユーティリティ303は、画像処理装置102の探索および正しい認証情報の保存が終わると、画像処理装置102とSNMPv3プロトコルによる通信が可能になる。SNMPv3通信の例として、今回は画像処理装置102の設定変更処理を挙げて説明する。図9に、管理ユーティリティ303が画像処理装置102の設定を変更する際の処理の流れを示す。
【0036】
S900で設定項目入力画面を表示し、画像処理装置102の変更する設定項目をユーザに入力させる。クライアントコンピュータ105からコンピュータ101の管理ユーティリティ303にWebブラウザでアクセスして表示した設定項目入力画面の例を図10に示す。1000はデバイス情報の設定項目欄、1001は通信設定の設定項目欄である。各項目のチェックボックスを選択してテキストボックスに変更する値を設定し、更新ボタン1002を押すと設定が変更される。すなわち、図10の各フィールドに入力された内容が、クライアントコンピュータ105からコンピュータ101へと送信される。その後、すぐに図9の処理が開始する。キャンセルボタン1003を押すと設定変更をキャンセルする。図9は管理ユーティリティ303の処理である。図10では、デバイス名、設置場所、管理社名、管理者連絡先、管理者コメント、サービス担当者名、サービス担当者連絡先、サービス担当者コメントを入力可能である。また、フレームタイプ、DHCPやBOOTP、RARP,サブネットマスク、ゲートウェイアドレス、LPD印刷、や各種サーバのアドレスや名前が入力可能である。ここで、特に重要な情報はIPアドレスである。この情報は個別の設定画面にて別途入力でき、他の情報と同様に、303から画像処理装置102に対して指示に応じて送信される。
【0037】
設定変更項目の入力後、S901でDB302から画像処理装置102の情報を取得する。ここで取得する情報はIPアドレスなど、管理ユーティリティ303が画像処理装置102と通信を行うのに必要な情報である。そして、S902で画像処理装置102がSNMPv3対応デバイスかどうかを判定する。もしSNMPv3対応デバイスでないと判定されれば、S904でSNMPv3以外の通信可能なプロトコルを使って画像処理装置102の設定を変更して終了する。
【0038】
もし画像処理装置102がSNMPv3対応デバイスと判定された場合は、S903で画像処理装置102の設定を行う。S903のSNMPv3による設定変更処理の流れを、さらに細かく図11に示す。
【0039】
まず、S1100で、画像処理装置102のSNMPエンジンと通信を行うためのSNMPエンジンIDを取得する。SNMPv3USMでは、NoAuth/NoPrivのセキュリティレベルでSNMPリクエストメッセージを送信することでSNMPエンジンIDを取得できる。なお、その際にはmsgAuthoritative EngineID・msgUserNameの長さを0にし、varBindListを空にする必要がある。そして、S1101とS1102で取得したSNMPエンジンIDの種別がMACアドレスもしくはIPアドレスかどうかを判定する。もしSNMPエンジンIDがMACアドレスと判定されれば、S1107に進み、S706で生成した鍵候補のうち、MACアドレスを元に生成した鍵候補をDB302から取得する。もしSNMPエンジンIDがIPアドレスと判定されれば、S1108に進み、同様にIPアドレスを元に生成した鍵候補をDBから取得する。MACアドレスやIPアドレスは、基本的に通信中に変動しない。(IPアドレスは外部から変更される場合があるが、通信中に変更された場合は画像処理装置102と通信不可となるので、再探索が必要となる。)そこでS1109で、取得したSNMPエンジンIDと鍵候補を利用して、画像処理装置102の設定変更を行うリクエストすべての送信を行う。これにより、リクエスト送信時に毎回SNMPエンジンIDの取得と鍵生成を行う必要が無くなり、通信処理時間を短縮することができる。もしSNMPエンジンIDがMACアドレスでもIPアドレスでもない場合は、SNMPエンジンIDは変動する可能性があるので、毎回リクエスト送信時にSNMPエンジンIDの取得と鍵生成を行う。S1103でSNMPエンジンIDを取得し、S1104でエンジンIDが更新されているかを判定する。もしSNMPエンジンIDが更新されていると判定されれば、S1105でDBから取得した認証情報とSNMPエンジンIDを利用して鍵を生成してからS1106へ進む。SNMPエンジンIDが更新されていないと判定されれば、そのままS1106へ進む。そしてS1106でSNMPエンジンIDと鍵を利用してリクエストを送信する。
【0040】
なお、本実施例では、MACアドレスおよびIPアドレスを画像処理装置102固有の変動しない値として扱ったが、SNMPエンジンIDの種別が文字列やバイト列の場合でも、同様に機器固有情報として扱ってもよい。また、IPアドレスを変動する情報とし、
MACアドレスを変動しない機器固有情報として扱うことも可能である。
【0041】
次に、SNMPエンジンIDがIPアドレスで、かつコンピュータ101がSNMPv3で通信中にIPアドレスを変更する場合について説明する。
【0042】
なお、システム構成は最初の実施形態と同様である。また、探索および認証情報登録時のコンピュータ101の動作についても、最初の実施形態と同様の処理をする。
【0043】
<画像処理装置102の設定変更時の動作>
コンピュータ101による画像処理装置102の設定変更時の動作についても、図9までは最初の実施形態と同様である。最初の実施形態と異なる部分を説明する。ここでは、図9におけるS903の内容について図12で説明する。
【0044】
図12は、コンピュータ101上の管理ユーティリティ303がSNMPv3プロトコルで画像処理装置102の設定を変更する際の詳細な処理の流れを示す。下記は303での処理である。S1100からS1109については、図11と同じなので説明を省略する。S1200は、SNMPエンジンIDがIPアドレスの場合に、リクエストを送信した後の処理になり、送信されたリクエストがIPアドレスを変更する内容かどうかを判定する。もし送信リクエストがIPアドレスを変更する内容と判定された場合、S1201で、変更後のIPアドレスを使ってSNMPエンジンIDを更新する。そして、S1202で更新後のSNMPエンジンIDとDB302から取得した認証情報を使って鍵候補を再生成する。次回以降の送信リクエストからは、変更後のIPアドレスと、更新したSNMPエンジンIDと鍵候補を使って、送信を行う。これにより、コンピュータ101が送信リクエストの途中で、画像処理装置102のIPアドレスを自ら変更した場合も、残りの送信リクエストが正しく画像処理装置102のSNMPエンジンに送信される。もし送信リクエストがIPアドレスを変更する内容ではないと判定された場合は、S1103に進む。S1103以降は図11と同様の処理になるので、説明は省略する。鍵候補を生成して、S1200で旧い鍵と取り替えるタイミングは、IPアドレスの設定変更を確実に確認してからにするとよい。すなわち、仮の鍵候補として用意し、変更を確認してから旧い鍵候補を消去するようにすると良い。
【0045】
一番先に説明した実施形態では、画像処理装置102の探索後、認証情報登録時に鍵候補を生成し、SNMPv3通信の初回通信時にSNMPエンジンIDの取得と鍵候補から利用する鍵の選択をおこなった。本実施形態では、認証情報登録時にSNMPエンジンIDを事前取得し、鍵を生成してキャッシュしておく方法を説明する。
【0046】
なお、システム構成ならびに、探索時のコンピュータ101の動作については、最初の実施形態と同様のため省略する。
【0047】
<認証情報登録時の動作>
図13は、コンピュータ101における認証情報登録の処理の流れを示す。なおS700からS705は、最初の実施形態の図7と同じなので省略する。ユーザ入力された認証情報が更新されると、S1300で画像処理装置102のSNMPエンジンのSNMPエンジンIDを取得する。SNMPエンジンIDの取得方法は最初の実施形態のS1100と同様である。そして、S1301で取得したSNMPエンジンIDがMACアドレスもしくはIPアドレスかどうかを判定する。もしSNMPエンジンIDがMACアドレスかIPアドレスであると判定されれば、S1302においてSNMPv3通信で認証・暗号化に利用する鍵を生成する。鍵の生成方法は最初の実施形態の図8と同様である。そしてS1303で、生成した鍵をDB302に保存する。
【0048】
<画像処理装置102の設定変更時の動作>
画像処理装置102の設定変更時におけるコンピュータ101の動作は最初の実施形態と同様である。また、SNMPv3での通信までは最初の実施形態と同様である。最初に説明した実施例と異なる部分を中心に説明する。図9におけるS903の内容について、図14で説明する。
【0049】
図14は、コンピュータ101によるSNMPv3での画像処理装置102の設定変更処理を示す。S1400で、既に認証情報登録時にSNMPエンジンIDと鍵がDB302に保存されているかどうかを判定する。もしDBにSNMPエンジンIDと鍵が保存されていると判定されれば、S1103からS1106でSNMPエンジンIDを取得し、エンジンIDが更新されていれば鍵を生成する。そしてSNMPエンジンIDと鍵を使ってSNMPv3でリクエスト送信を行う。これを全送信リクエストについて繰り返す。一方、もしDBにSNMPエンジンIDと鍵が保存されていないと判定された場合は、S1401でSNMPエンジンIDを、S1402で鍵をDBから取得する。そして、取得したSNMPエンジンIDと鍵を利用して、S1403でSNMPv3による認証・暗号化通信で全リクエストを送信する。
【0050】
その他の実施例を説明する。最初の実施例では、コンピュータ101が画像処理装置102を探索してから、認証情報の登録を行い、その上で画像処理装置102の設定変更を行った。本実施例では、画像処理装置102を探索し、認証情報登録時に鍵候補を生成した後でIPアドレスが変更された場合に鍵候補を更新する方法について説明する。
【0051】
なお、システム構成ならびに、認証情報登録、設定変更時のコンピュータ101の動作については、最初の実施例と同様のため省略する。本実施例では、画像処理装置探索時の、コンピュータ101の動作についてのみ図15にて説明する。
【0052】
まずS1500で、ネットワーク上の画像処理装置102の探索を行う。探索方法は最初の実施形態で説明したとおりである。次にS1501で、探索された画像処理装置102が新規に探索されたデバイスかどうかを判定する。もし新規に探索されたと判定された場合は、S1503に進む。既に探索されたことのあるデバイスと判定された場合は、S1502でIPアドレスが以前の探索結果から変更されていないかを判定する。IPアドレスの変更が無いと判定されれば、鍵候補の再生成の必要は無いので、そのまま処理を終了する。もしIPアドレスが変更されていると判定された場合は、S1503へ進む。そしてS1503では認証情報が登録されているかを判定する。もし認証情報が登録されていると判定されれば、S1504で鍵候補を再生成し、S1505で再生成した鍵をDB302へ保存する。以上の処理で、画像処理装置102が探索され、認証情報登録時に鍵候補が生成された後でIPアドレスが変更されても、再探索時に鍵候補が自動で再生成される。以上は303での処理である。
【0053】
最後の実施例について説明する。最初の実施形態では、SNMPエンジンIDの種別がMACアドレスもしくはIPアドレスの場合に、SNMPエンジンIDと事前生成した鍵候補をキャッシュして使用した。本実施例では、SNMPエンジンID種別のベンダー定義可能領域を利用して通信処理の高速化を図る例を示す。
【0054】
図8におけるSNMPエンジンID801において、種別804はRFC3411で定義されている。RFC3411では、種別値が128から255まではベンダー定義可能と定義されている。そこで、本実施例では図17に示すように、画像処理装置102とコンピュータ101が利用するSNMPエンジンIDの種別におけるベンダー定義領域を、固定値領域と変動値領域で分割する。これにより、コンピュータ101と画像処理装置102がSNMPv3プロトコルで通信する際に、毎回SNMPエンジンIDを取得する必要があるかどうかを画像処理装置102からコンピュータ101に通知する。
【0055】
次に、コンピュータ101によるSNMPv3での画像処理装置102の設定変更の流れを図16に示す。なお、画像処理装置102ならびにコンピュータ101が図17のSNMPエンジンID設定を利用していることと、予め探索と認証情報登録が完了していることが前提となる。
【0056】
まずS1600で、SNMPエンジンIDを取得する。エンジンIDの取得方法は最初の実施形態のS1100と同様である。そしてS1601で、取得したSNMPエンジンIDの種別がベンダー定義領域かを判定する。もしベンダー定義領域でないと判定されれば、S1603からS1606で、毎回リクエスト送信時にSNMPエンジンIDを取得し、エンジンIDが更新されていれば鍵生成を行う。そしてSNMPエンジンIDと鍵を使ってSNMPv3でリクエストを送信する。もしベンダー定義領域と判定されたら、S1602でエンジンIDの種別が固定値を示す領域かどうかを判定する。もし固定値であると判定されれば、S1607で一回鍵を生成したら、あとは生成した鍵とSNMPエンジンIDを利用してS1608でリクエストの送信を行う。一方、もしSNMPエンジンIDの種別が変動値と判定されれば、S1603からS1606で、毎回リクエスト送信時にSNMPエンジンIDを取得し、エンジンID更新時には鍵生成を行い、リクエストを送信する。以上のように、SNMPエンジンIDの種別フィールドにおけるベンダー定義領域を利用して、SNMPエンジンIDを毎回通信ごとに取得する必要があるかどうかを判別する。それによって、SNMPエンジンIDの取得と鍵生成の回数を削減することができ、通信処理時間を短縮することができる。すなわち、ベンダー定義領域において、エンジンIDをどの領域に固定値を格納し、どの領域に固定値でない値を格納するかを予め定めておく、そして、エンジンIDがどの領域から取得されるかで固定値か固定値でないかを決定するものとする。
【0057】
以上説明したように、通信の際に鍵を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するコンピュータ101が開示された。
【0058】
周辺装置の一例である画像処理装置102乃至104から機器固有情報の一例である機器固有情報を取得する管理ユーティリティ303が開示された。SNMPエンジンIDとして、MACアドレスやIPアドレスなどがあげられる。
【0059】
SNMPV3による通信の前に、機器固有情報から鍵情報の一例である図8に示す情報を生成する。そして、管理ユーティリティ303は、画像処理装置1020を識別するSNMPエンジンIDを取得する。さらに、管理ユーティリティ303は、SNMPエンジンIDが前記機器固有情報に対応するものかを判断する。例えば、SNMPエンジンIDがIPアドレスはMACアドレスそのものであるかを判定する。又は、SNMPエンジンIDが、それらのアドレスに対して所定のエンコード処理をしたものかどうかを判定する。
【0060】
さらに、SNMPエンジンIDが機器固有情報に対応するものであると管理ユーティリティ303が判断した場合に、前記SNMPエンジンIDを保持する。そして、管理ユーティリティ303は、生成した鍵情報を用いてSNMPで通信を行う。これらの処理はネットワーク管理装置の一例であるコンピュータ101で実行される。
【0061】
SNMPエンジンIDが機器固有情報に対応するものであると管理ユーティリティ303が判断し、かつ周辺装置に対して前記機器固有情報を変更する要求が送信された場合に、保持している前記鍵候補を管理ユーティリティ303は更新する。
【0062】
管理ユーティリティ303が取得したSNMPエンジンIDが変動値か固定値かを判断する。
【0063】
管理ユーティリティ303は、SNMPエンジンIDが固定値の場合に、通信セッション完了までSNMPエンジンIDを保持し、そのSNMPエンジンIDを用いて鍵情報を生成し、鍵情報を利用してSNMPで通信を行うようにしてもよい。
【0064】
管理ユーティリティ303は、画像処理装置102に設定されている設定情報を更新する指示を受け付ける。
【0065】
管理ユーティリティ303は、受け付けられた指示が、IPアドレスの変更を指示するものであるか否かを判定する。
【0066】
SNMPエンジンIDがIPアドレスである場合、管理プログラムがIPアドレスの変更を指示するものであると判定した場合は、次の処理をする。すなわち管理ユーティリティ303は、変更前のIPアドレスを用いて生成された鍵候補を用いてSNMPによるIPアドレスの設定処理を実行する。さらに、管理ユーティリティ303は、変更後のIPアドレスを用いて鍵候補を再生成する。一方、管理ユーティリティ303がIPアドレスの変更を指示するものではないと判定した場合は、次の処理をする。すなわち、管理ユーティリティ303は、変更前の鍵候補でSNMPによる設定処理を実行して鍵候補を再生成しないようにする。
【0067】
本実施形態における各図に示す処理が、外部からインストールされるプログラムによって、コンピュータ101などにより遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【0068】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ(図示省略)からダウンロードすることで、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0069】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。
【0070】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0071】
【図1】本実施形態のシステム構成の一例を示す図である。
【図2】図1のコンピュータ101ハードウェア構成の一例を示す図である。
【図3】図1のコンピュータ101のソフトウェア構成の一例を示す図である。
【図4】図1の画像処理装置102のハードウェア構成の一例を示す図である。
【図5】画像処理装置102のソフトウェア構成の一例を示す図である。
【図6】認証情報入力画面の一例を示す図である。
【図7】認証情報登録フローチャートの一例を示す図である。
【図8】鍵生成方法の一例を示す図である。
【図9】画像処理装置102の設定変更フローチャートの一例を示す図である。
【図10】設定項目入力画面の一例を示す図である。
【図11】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図12】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図13】認証情報登録の処理の流れの一例を示す図である。
【図14】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図15】探索時フローチャートの一例を示す図である。
【図16】画像処理装置102の設定変更詳細フローチャートの一例を示す図である。
【図17】SNMPエンジンID種別分類表の一例を示す図である。
【特許請求の範囲】
【請求項1】
通信の際に鍵情報を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するネットワーク管理装置において、
前記周辺装置から機器固有情報を取得する手段と、
SNMPで通信する前に、前記機器固有情報を用いて複数の鍵情報の候補を生成する手段と、
前記周辺装置のSNMPエンジンIDを取得する手段と、
前記SNMPエンジンIDが前記機器固有情報に対応するものかを判断する判断手段と、
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断手段が判断した場合に、前記SNMPエンジンIDを保持し、前記鍵情報の候補の中から選択された、前記機器固有情報に対応する鍵情報を用いてSNMPで通信を行う通信手段と、
を有することを特徴とするネットワーク管理装置。
【請求項2】
前記機器固有情報はMACアドレスまたはIPアドレスであることを特徴とする、請求項1に記載のネットワーク管理装置。
【請求項3】
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断手段が判断し、かつ周辺装置に対して前記機器固有情報を変更する要求が送信された場合に、保持している前記鍵候補を更新する手段を有することを特徴とする、請求項1又は2に記載のネットワーク管理装置。
【請求項4】
前記取得手段が取得したSNMPエンジンIDが変動値か固定値かを判断する手段と、
前記SNMPエンジンIDが固定値の場合に、通信セッション完了まで前記SNMPエンジンIDを保持し、前記SNMPエンジンIDを用いて鍵情報を生成し、鍵情報を利用してSNMPで通信を行う手段と、
を有することを特徴とする請求項1乃至3のいずれか1項に記載のネットワーク管理装置。
【請求項5】
周辺装置に設定されている設定情報を更新する指示を受け付ける手段と、
前記受け付けられた指示が、IPアドレスの変更を指示するものであるか否かを判定する判定手段と、
SNMPエンジンIDがIPアドレスである場合に、前記判定手段がIPアドレスの変更を指示するものであると前記判定手段が判定した場合は、変更前のIPアドレスを用いて生成された鍵候補を用いてSNMPによるIPアドレスの設定処理を実行し、変更後のIPアドレスを用いて鍵候補を再生成し、前記判定手段がIPアドレスの変更を指示するものではない場合は、変更前の鍵候補でSNMPによる設定処理を実行して鍵候補を再生成しない手段をさらに備える請求項1乃至4に記載のネットワーク管理装置。
【請求項6】
前記判断手段は、SNMPエンジンIDが可変か固定かは、ベンダー定義領域の領域によって判断する請求項1乃至5のいずれかに記載のネットワーク管理装置。
【請求項7】
通信の際に鍵情報を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するネットワーク管理装置における方法において、
前記周辺装置から機器固有情報を取得する工程と、
SNMPで通信する前に、前記機器固有情報を用いて複数の鍵情報の候補を生成する工程と、
前記周辺装置のSNMPエンジンIDを取得する工程と、
前記SNMPエンジンIDが前記機器固有情報に対応するものかを判断する判断工程と、
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断工程が判断した場合に、前記SNMPエンジンIDを保持し、前記鍵情報の候補の中から選択された、前記機器固有情報に対応する鍵情報を用いてSNMPで通信を行う通信工程と、
を有することを特徴とするネットワーク管理方法。
【請求項8】
前記機器固有情報はMACアドレスまたはIPアドレスであることを特徴とする、請求項7に記載のネットワーク管理方法。
【請求項9】
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断工程が判断し、かつ周辺装置に対して前記機器固有情報を変更する要求が送信された場合に、保持している前記鍵候補を更新する工程を有することを特徴とする、請求項7又は8に記載のネットワーク管理方法。
【請求項10】
前記取得工程が取得したSNMPエンジンIDが変動値か固定値かを判断する工程と、
前記SNMPエンジンIDが固定値の場合に、通信セッション完了まで前記SNMPエンジンIDを保持し、前記SNMPエンジンIDを用いて鍵情報を生成し、鍵情報を利用してSNMPで通信を行う工程と、
を有することを特徴とする請求項7乃至9のいずれか1項に記載のネットワーク管理方法。
【請求項11】
周辺装置に設定されている設定情報を更新する指示を受け付ける工程と、
前記受け付けられた指示が、IPアドレスの変更を指示するものであるか否かを判定する判定工程と、
SNMPエンジンIDがIPアドレスである場合に、前記判定工程がIPアドレスの変更を指示するものであると前記判定工程が判定した場合は、変更前のIPアドレスを用いて生成された鍵候補を用いてSNMPによるIPアドレスの設定処理を実行し、変更後のIPアドレスを用いて鍵候補を再生成し、前記判定工程がIPアドレスの変更を指示するものではない場合は、変更前の鍵候補でSNMPによる設定処理を実行して鍵候補を再生成しない工程をさらに備える請求項7乃至10のいずれか1項に記載のネットワーク管理方法。
【請求項12】
前記判断工程は、SNMPエンジンIDが可変か固定かは、ベンダー定義領域の領域によって判断する請求項7乃至11のいずれかに記載のネットワーク管理方法。
【請求項13】
請求項7乃至12のいずれか1項に記載の方法をコンピュータに実行させる制御プログラム。
【請求項14】
請求項13に記載の制御プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【請求項1】
通信の際に鍵情報を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するネットワーク管理装置において、
前記周辺装置から機器固有情報を取得する手段と、
SNMPで通信する前に、前記機器固有情報を用いて複数の鍵情報の候補を生成する手段と、
前記周辺装置のSNMPエンジンIDを取得する手段と、
前記SNMPエンジンIDが前記機器固有情報に対応するものかを判断する判断手段と、
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断手段が判断した場合に、前記SNMPエンジンIDを保持し、前記鍵情報の候補の中から選択された、前記機器固有情報に対応する鍵情報を用いてSNMPで通信を行う通信手段と、
を有することを特徴とするネットワーク管理装置。
【請求項2】
前記機器固有情報はMACアドレスまたはIPアドレスであることを特徴とする、請求項1に記載のネットワーク管理装置。
【請求項3】
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断手段が判断し、かつ周辺装置に対して前記機器固有情報を変更する要求が送信された場合に、保持している前記鍵候補を更新する手段を有することを特徴とする、請求項1又は2に記載のネットワーク管理装置。
【請求項4】
前記取得手段が取得したSNMPエンジンIDが変動値か固定値かを判断する手段と、
前記SNMPエンジンIDが固定値の場合に、通信セッション完了まで前記SNMPエンジンIDを保持し、前記SNMPエンジンIDを用いて鍵情報を生成し、鍵情報を利用してSNMPで通信を行う手段と、
を有することを特徴とする請求項1乃至3のいずれか1項に記載のネットワーク管理装置。
【請求項5】
周辺装置に設定されている設定情報を更新する指示を受け付ける手段と、
前記受け付けられた指示が、IPアドレスの変更を指示するものであるか否かを判定する判定手段と、
SNMPエンジンIDがIPアドレスである場合に、前記判定手段がIPアドレスの変更を指示するものであると前記判定手段が判定した場合は、変更前のIPアドレスを用いて生成された鍵候補を用いてSNMPによるIPアドレスの設定処理を実行し、変更後のIPアドレスを用いて鍵候補を再生成し、前記判定手段がIPアドレスの変更を指示するものではない場合は、変更前の鍵候補でSNMPによる設定処理を実行して鍵候補を再生成しない手段をさらに備える請求項1乃至4に記載のネットワーク管理装置。
【請求項6】
前記判断手段は、SNMPエンジンIDが可変か固定かは、ベンダー定義領域の領域によって判断する請求項1乃至5のいずれかに記載のネットワーク管理装置。
【請求項7】
通信の際に鍵情報を必要とするバージョンのSNMP(Simple Network Management Protocol)を用いて周辺装置と通信するネットワーク管理装置における方法において、
前記周辺装置から機器固有情報を取得する工程と、
SNMPで通信する前に、前記機器固有情報を用いて複数の鍵情報の候補を生成する工程と、
前記周辺装置のSNMPエンジンIDを取得する工程と、
前記SNMPエンジンIDが前記機器固有情報に対応するものかを判断する判断工程と、
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断工程が判断した場合に、前記SNMPエンジンIDを保持し、前記鍵情報の候補の中から選択された、前記機器固有情報に対応する鍵情報を用いてSNMPで通信を行う通信工程と、
を有することを特徴とするネットワーク管理方法。
【請求項8】
前記機器固有情報はMACアドレスまたはIPアドレスであることを特徴とする、請求項7に記載のネットワーク管理方法。
【請求項9】
前記SNMPエンジンIDが前記機器固有情報に対応するものであると前記判断工程が判断し、かつ周辺装置に対して前記機器固有情報を変更する要求が送信された場合に、保持している前記鍵候補を更新する工程を有することを特徴とする、請求項7又は8に記載のネットワーク管理方法。
【請求項10】
前記取得工程が取得したSNMPエンジンIDが変動値か固定値かを判断する工程と、
前記SNMPエンジンIDが固定値の場合に、通信セッション完了まで前記SNMPエンジンIDを保持し、前記SNMPエンジンIDを用いて鍵情報を生成し、鍵情報を利用してSNMPで通信を行う工程と、
を有することを特徴とする請求項7乃至9のいずれか1項に記載のネットワーク管理方法。
【請求項11】
周辺装置に設定されている設定情報を更新する指示を受け付ける工程と、
前記受け付けられた指示が、IPアドレスの変更を指示するものであるか否かを判定する判定工程と、
SNMPエンジンIDがIPアドレスである場合に、前記判定工程がIPアドレスの変更を指示するものであると前記判定工程が判定した場合は、変更前のIPアドレスを用いて生成された鍵候補を用いてSNMPによるIPアドレスの設定処理を実行し、変更後のIPアドレスを用いて鍵候補を再生成し、前記判定工程がIPアドレスの変更を指示するものではない場合は、変更前の鍵候補でSNMPによる設定処理を実行して鍵候補を再生成しない工程をさらに備える請求項7乃至10のいずれか1項に記載のネットワーク管理方法。
【請求項12】
前記判断工程は、SNMPエンジンIDが可変か固定かは、ベンダー定義領域の領域によって判断する請求項7乃至11のいずれかに記載のネットワーク管理方法。
【請求項13】
請求項7乃至12のいずれか1項に記載の方法をコンピュータに実行させる制御プログラム。
【請求項14】
請求項13に記載の制御プログラムを格納したコンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2009−110261(P2009−110261A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−281835(P2007−281835)
【出願日】平成19年10月30日(2007.10.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願日】平成19年10月30日(2007.10.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]