JP5062082B2 - デバイス管理システム - Google Patents

デバイス管理システム Download PDF

Info

Publication number
JP5062082B2
JP5062082B2 JP2008190260A JP2008190260A JP5062082B2 JP 5062082 B2 JP5062082 B2 JP 5062082B2 JP 2008190260 A JP2008190260 A JP 2008190260A JP 2008190260 A JP2008190260 A JP 2008190260A JP 5062082 B2 JP5062082 B2 JP 5062082B2
Authority
JP
Japan
Prior art keywords
management
command
management application
cpu
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008190260A
Other languages
English (en)
Other versions
JP2010026949A (ja
Inventor
正明 日比野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2008190260A priority Critical patent/JP5062082B2/ja
Publication of JP2010026949A publication Critical patent/JP2010026949A/ja
Application granted granted Critical
Publication of JP5062082B2 publication Critical patent/JP5062082B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、ネットワークデバイスと、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する管理デバイスとを備えるデバイス管理システムに関する。
例えば、下記特許文献1には、デバイス管理システムの一例が開示されている。管理デバイスは、ネットワークデバイスに管理コマンドを送信するための管理アプリケーションを記憶している。
特開2007−257525号公報
SNMPv3(Simple Network Management Protocol version3)やHTTPS(Hypertext Transfer Protocol Security)のような暗号化通信に対応している高セキュリティプロトコルを利用して通信する高セキュリティ管理アプリケーションが存在する。一方において、暗号化通信に対応していない低セキュリティプロトコルを利用して通信する低セキュリティ管理アプリケーションも存在する。例えば、高セキュリティ管理アプリケーションがネットワークデバイスに第1機能を実行させるものであり、低セキュリティ管理アプリケーションがネットワークデバイスに第1機能と異なる第2機能を実行させるものである場合、両方の管理アプリケーションを管理デバイスに搭載しておく必要がある。
高セキュリティ管理アプリケーションを利用する場合、管理デバイスとネットワークデバイスの間で認証を行なう際に通信される認証情報(例えばIDやパスワード)が暗号化されるために、通信の過程で認証情報が第三者によって盗み見られる可能性は低く、高いセキュリティが確保される。しかしながら、低セキュリティ管理アプリケーションを利用する場合、管理デバイスとネットワークデバイスの間で認証を行なう際に通信される認証情報が第三者によって盗み見られる可能性がある。第三者が、不正に取得した認証情報を利用してネットワークデバイスにアクセスし、ネットワークデバイスを不正に操作する可能性がある。
単純に考えると、低セキュリティ管理アプリケーションを排除し、その管理アプリケーションの管理機能(上記の例では第2機能)を高セキュリティプロトコルによって実現できるように改良すれば、上記の問題が生じないようにも思える。しかしながら、高セキュリティプロトコルを利用するように既存の低セキュリティ管理アプリケーションを改良するのは手間がかかる。低セキュリティ管理アプリケーションに大きな改良を加えなくても、セキュリティを高めるための技術が必要とされている。
本明細書では、セキュリティを確保しながら低セキュリティ管理アプリケーションを利用することを可能とする技術を提供する。
本明細書で開示される一つの技術は、ネットワークデバイスと、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する管理デバイスとを備えるデバイス管理システムであり、管理デバイスは、暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第1管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第2管理アプリケーションとを記憶することが可能である管理アプリケーション記憶手段と、管理アプリケーション記憶手段に記憶されているいずれかの管理アプリケーションの起動要求を入力する起動要求入力手段と、第2管理アプリケーションの起動要求が入力された場合に、第1管理アプリケーションを用いて、高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第1コマンドを高セキュリティプロトコルに従って自動的にネットワークデバイスに送信する第1コマンド送信手段と、ネットワークデバイスから送信された一時的認証情報を受信する認証情報受信手段と、第2管理アプリケーションを用いて、認証情報受信手段によって受信された一時的認証情報を含んでいる第2コマンドを低セキュリティプロトコルに従って自動的にネットワークデバイスに送信する第2コマンド送信手段と、第2管理アプリケーションを用いて、第2管理アプリケーションの管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する管理コマンド送信手段とを有し、ネットワークデバイスは、管理デバイスから送信された第1コマンドを受信する第1コマンド受信手段と、第1コマンド受信手段によって受信された第1コマンドに含まれる高セキュリティ認証情報を認証する第1認証手段と、第1認証手段によって肯定的な認証結果が得られたことを条件として、一時的認証情報を管理デバイスに送信する認証情報送信手段と、予め決められている条件が成立したことを条件として、前記一時的認証情報を無効化する無効化手段と、管理デバイスから送信された第2コマンドを受信する第2コマンド受信手段と、第2コマンド受信手段によって受信された第2コマンドに含まれる一時的認証情報を認証する第2認証手段と、管理デバイスから送信された第2管理アプリケーションの管理コマンドを受信する管理コマンド受信手段と、第2認証手段によって肯定的な認証結果が得られたことを条件として、管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドに対応する処理を実行する管理コマンド対応処理実行手段とを有することを特徴とする。
本明細書で開示される他の一つの技術は、ネットワークデバイスと管理デバイスとを備えるデバイス管理システムである。管理デバイスは、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する。なお、管理コマンドの内容は特に限定されない。管理コマンドは、例えば、情報を返信することを要求するコマンドであってもよい。また、管理コマンドは、例えば、設定情報を変更することを要求するコマンドであってもよい。管理デバイスは、管理アプリケーション記憶手段と起動要求入力手段と第1コマンド送信手段と認証情報受信手段と第2コマンド送信手段と管理コマンド送信手段とを有する。
管理アプリケーション記憶手段は、暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第1管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第2管理アプリケーションとを記憶することが可能である。起動要求入力手段は、管理アプリケーション記憶手段に記憶されているいずれかの管理アプリケーションの起動要求を入力する。起動要求入力手段は、例えば、管理デバイスに備えられる操作部である。ユーザは、操作部を操作することによって起動要求を入力してもよい。また、例えば、外部デバイス(管理デバイス以外のデバイス)から起動要求が送信される場合、起動要求入力手段は、起動要求を受信するためのインターフェイスであってもよい。
第1コマンド送信手段は、少なくとも第1管理アプリケーションの起動要求が入力されたことを条件として、高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第1コマンドを高セキュリティプロトコルに従ってネットワークデバイスに送信する。高セキュリティ認証情報は、暗号化された状態でネットワークデバイスに送信される。なお、ここでの「暗号化」という用語は、復号化することが可能なデータに暗号化することをのみに限定して解釈されない。例えば、高セキュリティ認証情報と他のデータの組合せをダイジェスト化(例えばハッシュ化)することも、上記の「暗号化」に相当する。また、上記の「条件として」という用語は、他の条件(AND条件及び/又はOR条件)が付加されるのを排除しない。「条件として」という用語を使用した場合、他の条件が付加されてもよい。以下でも、「条件として」という用語を使用する場合は同様である。
認証情報受信手段は、ネットワークデバイスから送信された一時的認証情報を受信する。第2コマンド送信手段は、少なくとも第2管理アプリケーションの起動要求が入力されたことを条件として、認証情報受信手段によって受信された一時的認証情報を含んでいる第2コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する。管理コマンド送信手段は、少なくとも第2管理アプリケーションの起動要求が入力されたことを条件として、第2管理アプリケーションの管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する。
ネットワークデバイスは、第1コマンド受信手段と第1認証手段と認証情報送信手段と無効化手段と第2コマンド受信手段と第2認証手段と管理コマンド受信手段と管理コマンド対応処理実行手段とを有する。第1コマンド受信手段は、管理デバイスから送信された第1コマンドを受信する。第1認証手段は、第1コマンド受信手段によって受信された第1コマンドに含まれる高セキュリティ認証情報を認証する。認証情報送信手段は、第1認証手段によって肯定的な認証結果が得られたことを条件として、一時的認証情報を管理デバイスに送信する。認証情報送信手段は、一時的認証情報を新たに作成して管理デバイスに送信してもよいし、予め用意されている一時的認証情報を管理デバイスに送信してもよい。
無効化手段は、予め決められている条件が成立したことを条件として、上記の一時的認証情報を無効化する。上記の条件としては、様々な条件を設定することができる。上記の条件は、例えば、時間的な条件であってもよい。例えば、予め決められているタイミング(一時的認証情報の作成時、一時的認証情報の認証成功時、一時的認証情報の認証を要求するデバイスとの通信セッションが確立された時等)から所定時間が経過したことを上記の条件として採用してもよい。また、例えば、所定の日時に到達したこと(例えば所定の曜日に到達したこと)を上記の条件として採用してもよい。また、上記の条件は、例えば、予め決められた通信コマンドを受信することであってもよい。例えば、通信セッションを切断するためのコマンドを受信することを上記の条件として採用してもよい。また、上記の条件は、予め決められている事象の発生回数が所定回数に到達すること(もしくは所定回数を超えること)であってもよい。例えば、一時的認証情報の認証回数が所定回数に到達することを上記の条件として採用してもよい。また、例えば、通信セッションが確立された回数が所定回数に到達することを上記の条件として採用してもよい。上述したように、一時的認証情報を無効化する条件としては、様々な条件を設定することができる。
第2コマンド受信手段は、管理デバイスから送信された第2コマンドを受信する。第2認証手段は、第2コマンド受信手段によって受信された第2コマンドに含まれる一時的認証情報を認証する。管理コマンド受信手段は、管理デバイスから送信された第2管理アプリケーションの管理コマンドを受信する。管理コマンド対応処理実行手段は、第2認証手段によって肯定的な認証結果が得られたことを条件として、管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドに対応する処理を実行する。
上記のネットワークデバイスは、高セキュリティプロトコルに従って送信された第1コマンドに含まれる高セキュリティ認証情報の認証が成功したことを条件として、一時的認証情報を作成して管理デバイスに送信する。一時的認証情報は、永続的に有効化されるものではなく、予め決められている条件が成立すると無効化される。管理デバイスは、一時的認証情報を含む第2コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する。ネットワークデバイスは、一時的認証情報の認証が成功したことを条件として、第2アプリケーションの管理コマンドに従って処理を実行する。
上記の第2コマンドの通信は、低セキュリティプロトコルによって実行される。このために、第2コマンドの通信の過程で一時的認証情報が第三者に盗み見られる可能性は排除できない。しかしながら、上述したように、一時的認証情報は、条件が成立すると無効化される。このために、第三者が盗み見た一時的認証情報を利用してネットワークデバイスにアクセスしようとしても、認証が成功しない。第三者がネットワークデバイスを不正に操作することを防止することができる。なお、上記の高セキュリティ認証情報(第1コマンド)は、高セキュリティプロトコルに従って送信されるために、第三者によって盗み見られる可能性は極めて低い。このために、第三者は、上記の高セキュリティ認証情報を利用してネットワークデバイスにアクセスし、ネットワークデバイスから一時的認証情報を取得することはできない。この技術によると、高いセキュリティが確保されているデバイス管理システムを構築することができる。
第1コマンド送信手段は、第1管理アプリケーションが起動されている状態で第2管理アプリケーションの起動要求が入力されたことを条件として、上記の第1コマンドをネットワークデバイスに送信してもよい。この構成によると、第1コマンドを送信するために第1管理アプリケーションを起動するためのプログラムを第2管理アプリケーションが持っていなくても、第1コマンドを送信することができる。
ネットワークデバイスは、第2認証手段によって肯定的な認証結果が得られたことを条件として管理デバイスを特定するデバイス特定情報を記憶するデバイス記憶手段と、管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドの送信元がデバイス記憶手段に記憶されているのか否かを判断するデバイス判断手段とをさらに有していてもよい。この場合、管理コマンド対応処理実行手段は、第2認証手段によって肯定的な認証結果が得られ、かつ、デバイス判断手段によって肯定的な判断結果が得られたことを条件として、管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドに対応する処理を実行してもよい。この構成によると、ネットワークデバイスは、一時的認証情報の認証が成功した管理デバイスのデバイス特定情報を記憶し、その管理デバイスからの管理コマンドのみを有効に処理する。即ち、第三者が別のデバイスから管理コマンドを送信しても、ネットワークデバイスは、その管理コマンドに対応する処理を実行しない。セキュリティの高いデバイス管理システムを構築することができる。
上記の第1管理アプリケーションと第2管理アプリケーションの組合せも有用な技術である。この組合せを利用すると、上記のデバイス管理システムを構築するための管理デバイスを実現することができる。また、上記のデバイス管理システムを構築するためのネットワークデバイスの単体も有用である。
ここでは、以下の実施例に記載の技術の特徴の一部をまとめておく。
(形態1)高セキュリティプロトコルは、SNMPv3であってもよい。ただし、高セキュリティプロトコルは、HTTPS、SSH等の他のプロトコルであってもよい。なお、高セキュリティプロトコルと低セキュリティプロトコルが同一通信回線でない場合には、通信回線すべてを暗号化するIPSECであってもよい。高セキュリティプロトコルは、暗号化通信に対応しているあらゆるプロトコルを含む概念である。
(形態2)低セキュリティプロトコルは、暗号化通信に対応していないあらゆるプロトコルを含む概念である。低セキュリティプロトコルは、例えば、ベンダによって独自に開発されたプロトコル(もしくは公知のプロトコルがベンダによって改良されたプロトコル)であってもよい。低セキュリティプロトコルの例としては、TELNET、SNMPv1、HTTP等を挙げることができる。
(形態3)上記の管理コマンドは、情報を返信することを要求するコマンド、及び/又は、ネットワークデバイスに設定されている情報(設定情報)を変更することを要求するコマンドであってもよい。
図面を参照して実施例を説明する。図1は、本実施例の多機能機管理システム2の概略図を示す。多機能機管理システム2は、PC10と複数の多機能機50,90,92等を備える。PC10と各多機能機50,90,92は、LAN回線46に接続されている。PC10と各多機能機50,90,92は、相互に通信可能である。
(PCの構成)
図2は、PC10の構成を簡単に示す。PC10は、CPU12とRAM14と不揮発性メモリ20とHDD制御部22とHDD24と表示制御部32とモニタ34と操作制御部36と操作部38とLANインターフェイス40等を有する。上記の各部12,14,20,22,32,36,40は、バス線42に接続されている。
CPU12は、HDD24に記憶されているプログラム26,28,30に従って様々な処理を実行する。CPU12が実行する処理については、後で詳しく説明する。RAM14は、プログラムワーク領域16とその他の記憶領域18を有する。プログラムワーク領域16は、HDD24に記憶されているプログラム26,28,30が起動されている場合に利用されるワーク領域である。記憶領域18は、CPU12が処理を実行する過程で生成される様々な情報を記憶することができる。不揮発性メモリ20は、様々な情報を記憶することができる。不揮発性メモリ20は、例えば、後述のセキュリティ情報100(図4参照)を記憶することができる。
HDD制御部22は、CPU12からの指示に従ってHDD24を制御する。HDD24は、様々なプログラム(アプリケーション)26,28,30を記憶することができる。本実施例では、多機能機50,90,92を管理するための2種類のアプリケーション26,28がHDD24に記憶されている。アプリケーション26,28は、例えば、コンピュータ読取可能媒体からPC10にインストールされる。また、アプリケーション26,28は、例えば、インターネットのサイトからPC10にインストールされる。
SNMPv3管理アプリケーション26は、SNMPv3に従って様々なコマンドを多機能機50,90,92に送信するためのアプリケーションである。SNMPv3は、暗号化通信に対応しており、セキュリティが高いプロトコルとして知られている。RemoteSetup管理アプリケーション28は、SNMPv3と異なるプロトコルに従って様々なコマンドを多機能機50,90,92に送信するためのアプリケーションである。RemoteSetup管理アプリケーション28が利用するプロトコルは、暗号化通信に対応しておらず、SNMPv3と比べるとセキュリティが低いプロトコルであると言える。各管理アプリケーション26,28によって実現される具体的な処理の内容については、後で詳しく説明する。HDD24は、管理アプリケーション26,28以外のプログラム30(アプリケーションやOS)を記憶している。
表示制御部32は、CPU12からの指示に従ってモニタ34を制御する。モニタ34は、液晶等のディスプレイである。操作制御部36は、操作部38が操作された場合に、その操作の内容をCPU12に伝える。操作部38は、マウスやキーボードによって構成される。ユーザは、操作部38を操作することによって、様々な指示や情報をPC10に入力することができる。LANインターフェイス40は、LAN回線46に接続されている。PC10は、LANインターフェイス40及びLAN回線46を介して、各多機能機50,90,92と通信可能である。
(多機能機の構成)
図3は、多機能機50の構成を簡単に示す。多機能機90,92も、多機能機50と同様の構成を有する。多機能機50は、CPU52とROM54とRAM66と不揮発性メモリ68とLANインターフェイス70と操作キー72と表示パネル74とスキャナ制御部76とスキャナ部78と印刷制御部80と印刷部82等を有する。上記の各部52,54,66,68,70,72,74,76,80は、バス線84に接続されている。
CPU52は、ROM54に記憶されているプログラム56〜64に従って様々な処理を実行する。CPU52が実行する処理については、後で詳しく説明する。ROM54は、様々なプログラム56〜64を記憶している。システム制御プログラム56は、多機能機50を構成する各部を統括的に管理するためのプログラムである。OTP作成プログラム58は、ワンタイムパスワードを作成するためのプログラムである。SNMPv3エージェントプログラムは、SNMPv3管理アプリケーション26(図2参照)に従ってPC10から送信される様々なコマンドに対応するためのプログラムである。RemoteSetupエージェントプログラムは、RemoteSetup管理アプリケーション28(図2参照)に従ってPC10から送信される様々なコマンドに対応するためのプログラムである。各プログラム58,60,62がどのような処理をCPU52に実行させるのかについては、後で詳しく説明する。ROM54は、上記のプログラム56〜62以外のプログラム64も記憶している。
RAM66は、CPU52が処理を実行する過程で生成される様々な情報を記憶することができる。不揮発性メモリ68は、様々な情報を記憶することができる。不揮発性メモリ68は、例えば、後述のセキュリティ情報100(図4参照)を記憶することができる。また、不揮発性メモリ68は、SNMPv3で利用されるEngineIDや時間情報を記憶することもできる。
LANインターフェイス70は、LAN回線46に接続されている。多機能機50は、LANインターフェイス70及びLAN回線46を介して、PC10と通信可能である。操作キー72は、複数のキーによって構成される。ユーザは、操作キー72を操作することによって、様々な指示や情報を多機能機50に入力することができる。表示パネル74は、様々な情報を表示することができる。スキャナ制御部76は、CPU52からの指示に従ってスキャナ部78を制御する。スキャナ部78は、CCD、CIS等の画像読取機構を有する。印刷制御部80は、CPU52からの指示に従って印刷部82を制御する。印刷部82は、インクジェットタイプ、レーザタイプ等の印刷機構を有する。印刷部82は、PC10から送信された印刷データに基づいて印刷媒体に印刷することができる。印刷部82は、スキャナ部78で読み取られた画像データに基づいて印刷媒体に印刷することもできる(即ち多機能機50はコピー機能を有する)。
(PCと多機能機が実行する処理の概略)
各管理アプリケーション26,28(図2参照)に従ってPC10のCPU12が実行する処理、及び、各エージェントプログラム60,62(図3参照)に従って多機能機50のCPU52が実行する処理について、簡単に説明する。図4は、これらの処理を説明するためのタイムチャートを示す。図5は、図4の続きのタイムチャートを示す。
PC10と多機能機50のそれぞれに、SNMPv3で利用されるセキュリティ情報100が記憶されている。ユーザは、PC10と多機能機50のそれぞれに同じセキュリティ情報100を記憶させる。即ち、PC10と多機能機50は、セキュリティ情報100を共有している。これにより、PC10と多機能機50の間でSNMPv3を利用して様々なコマンドを通信することができるようになる。セキュリティ情報100は、UserName102とAuthProtocol104とAuthKey106とPrivProtocol108とPrivKey110とを含んでいる。UserName102は、ユーザ名である。なお、UserName102と同じものがSecurityNameとして利用される。AuthProtocol104は、認証プロトコルの種類である。AuthKey106は、認証プロトコルのためのローカル秘密鍵である。PrivProtocol108は、暗号化プロトコルの種類である。PrivKey110は、暗号化プロトコルのためのローカル秘密鍵である。
SNMPv3エージェントプログラム60は、AuthKey106を利用して認証用ローカル秘密鍵K1と暗号用ローカル秘密鍵K2を作成する(M1)。これらの秘密鍵K1,K2は、後述するMACを作成する際に利用される。秘密鍵K1,K2の作成手法は公知であるために、秘密鍵K1,K2の作成手法について詳しく説明しない。簡単に言うと、AuthKey106に対してXOR処理を加えることによって認証用ローカル秘密鍵K1が作成される。また、AuthKey106に所定のフィールドデータが付加されたものに対してXOR処理を加えることによって暗号用ローカル秘密鍵K2が作成される。
SNMPv3管理アプリケーション26は、EngineIDを多機能機50に要求する(P1)。多機能機50には予めEngineIDが設定されている(例えば不揮発性メモリ68(図3参照)に記憶されている)。SNMPv3エージェントプログラム60は、多機能機50に設定されているEngineIDをPC10に送信する(M2)。
SNMPv3管理アプリケーション26は、AuthKey106を利用して認証用ローカル秘密鍵K1と暗号用ローカル秘密鍵K2を作成する(P2)。PC10と多機能機50は、同じAuthKey106を記憶している。このために、P2の処理で作成される秘密鍵K1,K2は、多機能機50において上記のM1の処理で作成される秘密鍵K1,K2と同じものになる。
SNMPv3管理アプリケーション26は、GETメッセージを作成する(P3)。この処理を説明する前に、SNMPv3で利用されるリクエストメッセージの構成を説明しておく。図6〜図8は、リクエストメッセージ200の構成を示す。図6に示されるように、リクエストメッセージ200は、Version202とHeader204とSecurityParameters220とScopedPDU240とによって構成される。Version202は、SNMPのバージョンを示す情報であり、本実施例ではSNMPv3である。
Header204は、msgID206とmsgMaxSize208とmsgFlags210とmsgSecuritymodel212とによって構成される。msgID206は、メッセージの通信回数に対応するIDを格納するための領域である。msgMaxSize208は、メッセージ200のデータサイズの情報を格納するための領域である。msgFlags210は、認証の有無及び暗号化の有無に関する情報を格納するための領域である。msgSecuritymodel212は、プロトコルが拡張された場合に利用される情報を格納するための領域である。
SecurityParameters220の内容を説明する。図7は、SecurityParameters220の構成を示す。SecurityParameters220は、様々な領域222,224,226,232,234,236によって構成される。領域222は、EngineIDを格納するための領域である。領域224は、エージェントデバイス(本実施例では多機能機50等)の起動回数に関する情報を格納するための領域である。領域226には、エージェントデバイスの最新の起動開始からの経過時間を格納するための領域である。以下では、領域224と領域226を合わせて時間情報230と呼ぶ。領域232は、ユーザ名を格納するための領域である。
SNMPv3管理アプリケーション26は、上記の秘密鍵K1とメッセージ200が組み合わされたデータをダイジェスト化し、第1メッセージダイジェストを作成することができる。さらに、SNMPv3管理アプリケーション26は、上記の秘密鍵K2と上記の第1メッセージダイジェストが組み合わされたデータをダイジェスト化し、第2メッセージダイジェストを作成することができる。第2メッセージダイジェストの先頭の所定バイト(例えば12バイト)がMACである。領域234は、このようにして作成されたMACを格納するための領域である。領域236は、暗号化された情報の復号化に必要な情報を格納するための領域である。
次に、図6に示されるScopedPDU240の内容を説明する。ScopedPDU240は、contextEngineID242とcontextName244とPDU246とによって構成される。contextEngineID242は、EngineIDを格納するための領域である。領域242には、上記の領域222(図7参照)に格納されるEngineIDと同一のものが格納される。contextName244は、コンテキスト名を格納するための領域である。
図8は、PDU246の構成を示す。PDU246は、Header250とViewタイプ262とOID264とValue266とによって構成される。Viewタイプ262は、GETとSETのどちらかを格納するための領域である。OID264は、リクエストするデータの種類を特定する情報(例えばデータの識別子)を格納するための領域である。Value266は、Viewタイプ262に「SET」が設定された場合に設定値を格納するための領域である。
図4に示されるP3の処理では、図6に示される構造を持つメッセージが作成される。少し具体的に説明すると、図7に示される領域222には、上記のM2の処理で受信されたEngineIDが格納される。また、領域224と領域226の時間情報230には、ゼロが格納される。領域232には、セキュリティ情報100のUserName102が格納される。領域234には、ゼロが格納される。さらに、図8に示される領域262には、GETが格納される。SNMPv3管理アプリケーション26は、P3の処理で作成されたメッセージ及びP2の処理で作成された秘密鍵K1,K2を利用してMACを作成する(P4)。MACは、P3の処理で作成されたメッセージの領域234(図7参照)に挿入される。SNMPv3管理アプリケーション26は、メッセージを多機能機50に送信する(P5)。多機能機50は、メッセージを受信する。
SNMPv3エージェントプログラム60は、受信されたメッセージの認証処理を行なう(M3)。まず、SNMPv3エージェントプログラム60は、メッセージの領域234(図7参照)に格納されているMACを記憶する。次いで、SNMPv3エージェントプログラム60は、メッセージの領域234(図7参照)にゼロを挿入し、領域234にゼロが挿入されたメッセージと上記のM1の処理で作成された秘密鍵K1,K2とを利用してMACを作成する。ここでのMACの作成手法は、PC10での上記のP4の処理と同様である。SNMPv3エージェントプログラム60は、作成されたMACとメッセージの領域234に格納されていたMACを比較し、一致するのか否かを判断する。認証が成功した場合、後述のM4以降の処理が実行される。
SNMPv3エージェントプログラム60は、時間情報を収集する(M4)。時間情報(多機能機50の起動回数及び最新の起動開始からの経過時間)は、例えば、不揮発性メモリ68(図3参照)に記憶されている。SNMPv3エージェントプログラム60は、M4の処理で収集された時間情報を含む返信メッセージを作成する(M5)。この返信メッセージは、図6に示されるメッセージ200と同様のデータ構造を有する。時間情報は、返信メッセージのScopedPUD240(図6参照)に挿入される。SNMPv3エージェントプログラム60は、返信メッセージと秘密鍵K1,K2とを利用してMACを作成し、このMACを返信メッセージに挿入する(M6)。SNMPv3エージェントプログラム60は、返信メッセージをPC10に送信する(M7)。PC10は、返信メッセージを受信する。
図5に示されるように、SNMPv3管理アプリケーション26は、受信された返信メッセージの認証処理を行なう(P6)。この処理は、上記のM3の処理と同様である。即ち、SNMPv3管理アプリケーション26は、返信メッセージに含まれるMACを記憶する。次いで、SNMPv3管理アプリケーション26は、MACが含まれていた領域にゼロが挿入された返信メッセージと上記のP2の処理で作成された秘密鍵K1,K2とを利用してMACを作成する。SNMPv3管理アプリケーション26は、作成されたMACと返信メッセージに含まれていたMACを比較し、両者が一致するのか否かを判断する。認証が成功した場合、後述のP7以降の処理が実行される。
SNMPv3管理アプリケーション26は、返信メッセージに含まれる時間情報を記憶する(P7)。時間情報は、RAM14(図2参照)に記憶される。SNMPv3管理アプリケーション26は、GETメッセージを作成する(P8)。P8の処理は、上記のP3の処理と同様である。ただし、P8の処理では、P7の処理で記憶された時間情報が領域224及び226(図7参照)に挿入される。また、P8の処理では、ワンタイムパスワードを作成することを指示する識別子が領域264(図8参照)に挿入される。
SNMPv3管理アプリケーション26は、P8の処理で作成されたメッセージのScopedPDU240の部分を暗号化する(P9)。暗号化手法は公知であるために、暗号化について詳しく説明しない。簡単に言うと、SNMPv3管理アプリケーション26は、P2の処理で作成された暗号用ローカル秘密鍵K2から暗号化秘密鍵と初期化ベクタを作成する。SNMPv3管理アプリケーション26は、暗号化秘密鍵と初期化ベクタを利用して暗号化する。SNMPv3管理アプリケーション26は、暗号化された後のメッセージ及びP2の処理で作成された秘密鍵K1,K2を利用してMACを作成し、このMACをメッセージに挿入する(P10)。SNMPv3管理アプリケーション26は、メッセージを多機能機50に送信する(P11)。多機能機50は、メッセージを受信する。
SNMPv3エージェントプログラム60は、受信されたメッセージの認証処理を行なう(M8)。この認証処理は、M3の処理と同様である。SNMPv3エージェントプログラム60は、メッセージの復号化処理を行なう(M9)。SNMPv3エージェントプログラム60は、M1の処理で作成された暗号用ローカル秘密鍵K2を利用してメッセージを復号化する。復号化されたOIDは、ワンタイムパスワードを作成することを指示する識別子である。従って、SNMPv3エージェントプログラム60は、OTP作成プログラム58(図3参照)を起動することによって、ワンタイムパスワードを作成する(M10)。OTP作成プログラム58は、例えば、複数の文字(数字、アルファベット等)をランダムに抽出し、それらの文字を含む文字列(ワンタイムパスワード)を作成してもよい。また、OTP作成プログラム58は、例えば、前回に作成された文字列に対して所定のアルゴリズムに従って変更を加えることによって新たな文字列(ワンタイムパスワード)を作成してもよい。OTP作成プログラム58は、過去に作成されたワンタイムパスワード群と異なるワンタイムパスワードを作成することが好ましい。ワンタイムパスワードは、RAM66(図3参照)に記憶される。
SNMPv3エージェントプログラム60は、M10の処理で作成されたワンタイムパスワードを含む返信メッセージを作成する(M11)。ワンタイムパスワードは、返信メッセージのScopedPUD240(図6参照)に挿入される。SNMPv3エージェントプログラム60は、返信メッセージのScopedPUD240の部分(即ちワンタイムパスワード)を暗号化する(M12)。ここでの暗号化手法は、PC10でのP9の処理と同様である。SNMPv3エージェントプログラム60は、暗号化された返信メッセージと秘密鍵K1,K2とを利用してMACを作成し、このMACを返信メッセージに挿入する(M13)。SNMPv3エージェントプログラム60は、返信メッセージをPC10に送信する(M14)。PC10は、返信メッセージを受信する。
SNMPv3管理アプリケーション26は、受信された返信メッセージの認証処理を行なう(P12)。この処理は、上記のP6の処理と同様である。SNMPv3管理アプリケーション26は、P2の処理で作成された暗号用ローカル秘密鍵K2を利用して復号化処理を行なう(P13)。これにより、ワンタイムパスワードを得ることができる。SNMPv3管理アプリケーション26は、ワンタイムパスワードを記憶する(P14)。ワンタイムパスワードは、RAM14(図2参照)に記憶される。
SNMPv3管理アプリケーション26によってワンタイムパスワードが取得されると、RemoteSetup管理アプリケーション28は、パスワード認証リクエストを多機能機50に送信する(P15)。パスワード認証リクエストは、P14の処理で記憶されたワンタイムパスワードを含んでいる。多機能機50は、パスワード認証リクエストを受信する。
RemoteSetupエージェントプログラム62は、認証処理を行なう(M15)。具体的に言うと、RemoteSetupエージェントプログラム62は、パスワード認証リクエストに含まれるワンタイムパスワードとM10の処理で作成されたワンタイムパスワードとを比較し、両者が一致するのか否かを判断する。認証が成功した場合、RemoteSetupエージェントプログラム62は、認証OKを示す返信メッセージをPC10に送信する(M16)。PC10は、返信メッセージを受信する。
RemoteSetup管理アプリケーション28は、ユーザの指示に応じたリクエストを多機能機50に送信する(P16)。多機能機50は、リクエストを受信する。多機能機50は、リクエストに応じた処理を実行する。多機能機50は、処理を実行すると、返信メッセージをPC10に送信する(M17)。
(PCが実行する処理)
続いて、PC10のCPU12が実行する処理の内容について詳しく説明する。図9〜図11は、CPU12が実行する処理のフローチャートを示す。ユーザは、SNMPv3管理アプリケーション26を起動するための操作を操作部38(図2参照)に加えることができる。この場合、CPU12は、SNMPv3管理アプリケーション26に従って図9に示される処理を実行する。
CPU12は、初期化処理を実行する(S10)。この初期化処理では、CPU12は、例えば、各多機能機50,90,92に関するリスト情報を表示する。図12は、リスト情報の表示画面120の一例を示す。表示画面120は、各多機能機50,90,92の情報132,134,136を含んでいる。例えば、ユーザは、情報132,134,136のいずれかを選択し(即ち1つの多機能機を選択し)、SNMPv3の管理コマンド(GET又はSSET)を送信するための操作(以下では第1操作と呼ぶ)を操作部38(図2参照)に加えることができる。また、例えば、ユーザは、情報132,134,136のいずれかを選択し(即ち1つの多機能機を選択し)、RemoteSetup管理アプリケーション28を起動するための操作(以下では第2操作と呼ぶ)を操作部38に加えることもできる。図12の例では、情報134がユーザによって選択されている。図12のウィンドウ140は、上記の第2操作を実行するために開かれるウィンドウである。ウィンドウ140は、RemoteSetupという文字列142を含んでいる。ユーザは、文字列142に対して操作(例えばクリック)を加えることによって、第2操作を実行することができる。
CPU12は、ユーザによって操作が実行されることを監視している(S12)。S12でYESの場合、CPU12は、上記の第2操作が実行されたのか否かを判断する(S14)。例えば、上記の第1操作が実行された場合、S14でNOと判断される。この場合、CPU12は、第1操作に応じた処理を実行する(S16)。例えば、CPU12は、SNMPv3のGETリクエストやSETリクエストを送信する。一方において、S14でYESの場合、S18以降の処理を実行する。以下では、多機能機50について第2操作が実行されたものとして、S18以降の処理の内容を説明する。
S18では、CPU12は、多機能機50に関する情報を取得する。例えば、IPアドレス等が取得される。次いで、CPU12は、EngineID要求メッセージを作成する(S20)。CPU12は、EngineID要求メッセージを多機能機50に送信する(S22)。S22の処理は、図4のP1の処理に対応する。CPU12は、返信メッセージを受信するまで待機する(S24)。CPU12は、返信メッセージを受信すると(S24でYESの場合)、その返信メッセージに含まれる多機能機50のEngineIDを記憶する(S26)。多機能機50のEngineIDは、RAM14(図2参照)に記憶される。
続いて、CPU12は、認証用ローカル秘密鍵K1と暗号用ローカル秘密鍵K2を作成する(S28)。S28の処理は、図4のP2の処理に対応する。これらの秘密鍵K1,K2は、RAM14(図2参照)に記憶される。CPU12は、GET要求メッセージを作成する(S30)。S30の処理は、図4のP3の処理に対応する。ここでのGET要求メッセージでは、時間情報としてゼロが挿入される。次いで、CPU12は、MACを作成し、MACをGET要求メッセージに挿入する(S32)。S32の処理は、図4のP4の処理に対応する。CPU12は、GET要求メッセージを多機能機50に送信する(S34)。S34の処理は、図4のP5の処理に対応する。CPU12は、返信メッセージを受信するまで待機する(S36)。
返信メッセージを受信すると(S36でYESの場合)、図10のS40に進む。S40では、CPU12は、返信メッセージの認証処理を実行する。即ち、CPU12は、返信メッセージからMACを作成し、そのMACと返信メッセージに含まれるMACとを比較する。S40の処理は、図5のP6の処理に対応する。CPU12は、認証が成功したことを条件として、S42以降の処理を実行する。S42では、CPU12は、返信メッセージに含まれる時間情報を記憶する。時間情報は、RAM14(図2参照)に記憶される。S42の処理は、図5のP7の処理に対応する。次いで、CPU12は、GET要求メッセージを作成する(S44)。ここでのGET要求メッセージでは、OIDとしてワンタイムパスワード要求識別子が挿入される。S44の処理は、図5のP8の処理に対応する。CPU12は、GET要求メッセージのScopedPDUの部分を暗号化する(S46)。S46の処理は、図5のP9の処理に対応する。さらに、CPU12は、MACを作成し、MACをGET要求メッセージに挿入する(S48)。S48の処理は、図5のP10の処理に対応する。CPU12は、GET要求メッセージを多機能機50に送信する(S50)。S50の処理は、図5のP11の処理に対応する。CPU12は、返信メッセージを受信するまで待機する(S52)。
返信メッセージを受信すると(S52でYESの場合)、CPU12は、返信メッセージの認証処理を実行する(S54)。S54の処理は、S40の処理と同様である。S54の処理は、図5のP12の処理に対応する。次いで、CPU12は、暗号用ローカル秘密鍵K2を利用して復号化処理を実行する(S56)。これにより、ワンタイムパスワードが得られる。S56の処理は、図5のP13の処理に対応する。CPU12は、ワンタイムパスワードを記憶する(S58)。ワンタイムパスワードは、RAM14に記憶される。S58の処理は、図5のP14の処理に対応する。次いで、CPU12は、RemoteSetup管理アプリケーション28を起動する(S60)。S60を終えると、図9のS12に戻る。この場合、CPU12は、図11の処理も実行する。即ち、CPU12は、図9のS12においてユーザの操作を監視しながら図11の処理を実行する。
続いて、図11の処理について説明する。上述したように、図10のS60でRemoteSetup管理アプリケーション28が起動された場合に、図11の処理が実行される。CPU12は、RemoteSetup管理アプリケーション28に従って図11の処理を実行する。CPU12は、初期化処理を実行する(S70)。次いで、CPU12は、パスワード認証メッセージを作成する(S72)。パスワード認証メッセージには、図10のS58の処理で記憶されたワンタイムパスワードが含まれる。CPU12は、パスワード認証メッセージを多機能機50に送信する(S74)。S74の処理は、図5のP15の処理に対応する。CPU12は、返信メッセージを受信するまで待機する(S76)。
返信メッセージを受信すると(S76でYESの場合)、CPU12は、返信メッセージが認証OKを示すものであるのか否かを判断する(S78)。ここでNOの場合、CPU12は、認証が不成功であることを示す情報を表示する(S80)。S80を終えると、図11のルーチンを終了する。一方において、S78でYESの場合、CPU12は、エージェント操作画面を表示する(S82)。ここでのエージェント操作画面は、RemoteSetup管理アプリケーション28に対応する管理コマンドを多機能機50に送信する操作を加えるための画面である。例えば、多機能機50の様々な設定情報(印刷媒体のサイズ等)が表示される。ユーザは、例えば、エージェント操作画面上において多機能機50の設定情報を変更するための操作(以下では第3操作と呼ぶ)を加えることができる。
CPU12は、ユーザによって操作が実行されることを監視している(S84)。S84でYESの場合、CPU12は、ユーザの操作に応じた処理を実行する(S86)。例えば、上記の第3操作が実行された場合、CPU12は、変更後の設定情報を含むリクエストを多機能機50に送信する。この処理は、図5のP16の処理に対応する。これにより、多機能機50において設定情報が変更される。
(多機能機が実行する処理)
続いて、多機能機50のCPU52が実行する処理の内容について詳しく説明する。図13〜図16は、CPU52が実行する処理のフローチャートを示す。図13の処理は、基本的にはシステム制御プログラム56(図3参照)に従って実行される。図13〜図16の処理は、多機能機50の電源がONされると実行される。CPU52は、初期化処理を実行する(S100)。この初期化処理において、CPU52は、認証用ローカル秘密鍵K1と暗号用ローカル秘密鍵K2を作成する。S100の処理は、図4のM1の処理に対応する。
多機能機50は、様々な指示や情報を入力することができる。多機能機50は、例えば、PC10等の外部装置から送信される様々なメッセージ(リクエスト)を受信する。また、ユーザが操作キー72(図3参照)を操作した場合も、多機能機50に指示や情報が入力される。CPU52は、これらのイベントが発生することを監視している(S102)。S102でYESの場合、CPU52は、発生したイベントが管理メッセージの受信であるのか否かを判断する(S104)。ここでの管理メッセージという用語は、SNMPv3管理アプリケーション26及びRemoteSetup管理アプリケーション28に従って送信されるメッセージを総括する表現である。即ち、図9のS22、図9のS34、図10のS50、図11のS74、及び、図11のS86で送信されるメッセージが管理メッセージである。また、管理アプリケーション26,28以外の管理アプリケーションに従って送信されるメッセージが受信された場合も、S104でYESと判断される。なお、以下では、PC10から送信された管理メッセージが受信された場合を例にして、S104でYESと判断された場合の処理を説明する。
S104でNOの場合、CPU52は、イベントの内容に応じた処理を実行する(S106)。例えば、コピー機能を実行するための操作をユーザが操作キー72(図3参照)に加えた場合、CPU52は、スキャナ制御部76と印刷制御部80に指示を出力する。一方において、S104でYESの場合、CPU52は、管理メッセージのプロトコルがSNMPv3であるのか否かを判断する。図9のS22、図9のS34、又は、図10のS50で送信されたメッセージが受信された場合、CPU52は、S108でYESと判断する。この場合、CPU52は、SNMPv3エージェントプログラム60(図3参照)に従って、SNMPv3処理を実行する(S110)。SNMPv3処理の内容については、後で詳しく説明する。
一方において、S108でNOの場合、CPU52は、管理メッセージのプロトコルがRemoteSetup管理アプリケーション28で利用されているプロトコルであるのか否かを判断する(S112)。図11のS74、又は、図11のS86で送信されたメッセージが受信された場合、CPU52は、S112でYESと判断する。この場合、CPU52は、RemoteSetupエージェントプログラム62(図3参照)に従って、RemoteSetup処理を実行する(S114)。RemoteSetup処理の内容については、後で詳しく説明する。S112でNOの場合、CPU52は、管理メッセージの内容に応じた処理を実行する(S116)。
続いて、図13のS110で実行されるSNMPv3処理の内容について説明する。図14は、SNMPv3処理のフローチャートを示す。CPU52は、図13のS104で受信された管理メッセージがEngineID要求メッセージであるのか否かを判断する(S120)。即ち、CPU52は、図9のS22でPC10から送信されたメッセージが受信されたのか否かを判断する。ここでYESの場合、CPU52は、多機能機50のEngineIDを収集する(S122)。EngineIDは、不揮発性メモリ68に記憶されている。CPU52は、不揮発性メモリ68からEngineIDを読み出すことによって、S122の処理を実行する。次いで、CPU52は、S122で収集されたEngineIDを含む返信メッセージを作成する(S124)。CPU52は、S124で作成された返信メッセージをPC10に送信する(S144)。ここでのS144の処理は、図4のM2の処理に対応する。これにより、図9のS24において、PC10は、EngineIDを含む返信メッセージを受信する。
S120でNOの場合、CPU52は、図13のS104で受信された管理メッセージの認証処理を実行する(S126)。即ち、CPU52は、管理メッセージからMACを作成し、そのMACと管理メッセージに含まれるMACとを比較する。S126の処理は、図4のM3及び図5のM8の処理に対応する。なお、図5のM8に対応する処理をS126で実行する場合、CPU52は、時間情報の認証を実行する。即ち、CPU104は、図13のS104で受信された管理メッセージに含まれる時間情報と多機能機50における現在の時間情報との差が所定時間内であるのか否かを判断する。ここでの所定時間は、後述するS138の処理でレジスタに保持される。本実施例では、上記の所定時間は150秒である。CPU52は、認証が成功したのか否かを判断する(S128)。認証が成功しなかった場合、CPU52は、認証が成功しなかったことを示すメッセージを作成し、作成されたメッセージをPC10に送信する(S144)。一方において、認証が成功した場合、CPU52は、S130以降の処理を実行する。
S130では、CPU52は、管理メッセージがGET要求メッセージとSET要求メッセージのどちらであるのかを判断する。管理メッセージがSET要求メッセージである場合、CPU52は、S130でNOと判断し、SET要求メッセージに含まれるPDU246(図6参照)に対応する処理を実行する(S132)。CPU52は、例えば、必要であればScopedPDU240の復号化を実行する。さらに、CPU52は、例えば、PDU246に含まれるOID264(図8参照)によって指定された設定情報をValue266(図8参照)で指定された値に変更する。これにより、多機能機50において、設定情報が変更される。S132を終えると、CPU52は、SET要求メッセージに対応する処理を終了したことを示すメッセージを作成し、作成されたメッセージをPC10に送信する(S144)。
一方において、管理メッセージがGET要求メッセージである場合、CPU52は、S130でYESと判断し、時間情報がゼロであるのか否かを判断する(S134)。即ち、CPU52は、管理メッセージのSecurityParameters220に含まれる領域224と領域226(図7参照)にゼロが挿入されているのか否かを判断する。ここでYESの場合、CPU52は、多機能機50の時間情報を収集する(S136)。時間情報は、不揮発性メモリ68に記憶されている。CPU52は、不揮発性メモリ68から時間情報を読み出すことによって、S136の処理を実行する。S136の処理は、図4のM4の処理に対応する。次いで、CPU52は、Activate処理を実行する(S138)。具体的に言うと、CPU52は、基準値(本実施例では150秒)をレジスタに記憶させる。ここで記憶された基準値は、上記のS126の処理において時間情報の認証を実行する際に利用される。
次いで、CPU52は、S136で収集された時間情報を含む返信メッセージを作成する(S140)。S140の処理は、図4のM5の処理に対応する。さらに、CPU52は、MACを作成し、MACを返信メッセージに挿入する(S142)。S142の処理は、図4のM6の処理に対応する。CPU52は、返信メッセージを多機能機50に送信する(S144)。ここでのS144の処理は、図4のM7の処理に対応する。これにより、図9のS36において、PC10は、時間情報を含む返信メッセージを受信する。
続いて、S134でNOと判断された場合の処理について説明する。S134でNOと判断された場合、図15のS150に進む。S150では、CPU52は、暗号用ローカル秘密鍵K2を利用して復号化処理を実行する。これにより、管理メッセージのScopedPDU240(図6参照)の部分が復号化される。S150の処理は、図5のM9の処理に対応する。次いで、CPU52は、復号化されたScopedPDU240の中から、領域264(図8参照)に挿入されている識別子を特定する(S152)。即ち、CPU52は、OIDを特定する。
CPU52は、S152で特定されたOIDの内容に応じた処理を実行する(S154)。例えば、OIDがステータス情報を要求する識別子である場合、CPU52は、多機能機50のステータス情報(例えば消耗品(インクやトナー)の残量)を収集する。また、例えば、OIDがワンタイムパスワード要求識別子である場合、CPU52は、OTP作成プログラム58(図3参照)を起動し、ワンタイムパスワードを作成する。この処理は、図5のM10の処理に対応する。S154でワンタイムパスワードが作成された場合、そのワンタイムパスワードは、RAM66(図3参照)のワンタイムパスワードリストに記憶される。図17は、ワンタイムパスワードリスト150の一例を示す。ワンタイムパスワードリスト150は、ワンタイムパスワード160とデバイス情報162と有効フラグ164とが対応づけられたものである。S154でワンタイムパスワードが作成された場合、CPU52は、そのワンタイムパスワードを欄160に新たに書き込む。この段階では、新たなワンタイムパスワードに対応づけて、欄162と欄164に情報が書き込まれない。なお、欄162には、後述する図16のS188の処理でデバイス情報が書き込まれる。また、欄164には、後述するS192の処理で有効フラグが書き込まれる。なお、有効フラグは、ONとOFFのどちらかの値を持つ。
次いで、CPU52は、S154で作成(もしくは収集)された情報を含む返信メッセージを作成する(S156)。例えば、S154でワンタイムパスワードが作成された場合、CPU52は、ワンタイムパスワードを含む返信メッセージを作成する。この処理は、図5のM11の処理に対応する。CPU52は、返信メッセージのScopedPDU240(図6参照)の部分を暗号化する(S158)。S158の処理は、図5のM12の処理に対応する。さらに、CPU52は、MACを作成し、MACを返信メッセージに挿入する(S160)。S160の処理は、図5のM13の処理に対応する。CPU52は、返信メッセージを多機能機50に送信する(S144)。ここでのS144の処理は、図5のM14の処理に対応する。これにより、図10のS52において、PC10は、ワンタイムパスワードを含む返信メッセージを受信する。
続いて、図13のS112で実行されるRemoteSetup処理の内容について説明する。図16は、RemoteSetup処理のフローチャートを示す。CPU52は、図13のS104で受信された管理メッセージがパスワード認証メッセージであるのか否かを判断する(S180)。即ち、CPU52は、図11のS74でPC10から送信されたメッセージが受信されたのか否かを判断する。ここでYESの場合、CPU52は、認証処理を実行する(S182)。CPU52は、パスワード認証メッセージに含まれるワンタイムパスワードを特定する。次いで、CPU52は、パスワード認証メッセージに含まれるワンタイムパスワードがRAM66(図3参照)のワンタイムパスワードリスト150に記憶されているのか否かを判断する(S184)。具体的に言うと、CPU52は、まず、ワンタイムパスワードリスト150の中から、デバイス情報162と有効フラグ164が対応づけられていないワンタイムパスワード(群)を特定する。図17の例では、ワンタイムパスワード「fghij」が特定される。次いで、CPU52は、特定されたワンタイムパスワード(群)の中に、パスワード認証メッセージに含まれるワンタイムパスワードが存在するのか否かを判断する。S182及びS184の処理は、図5のM15の処理に対応する。
S184でNOの場合、CPU52は、認証が成功しなかったことを示すメッセージを作成する(S186)。CPU52は、S186で作成されたメッセージをPC10に送信する(S144)。これにより、PC10は、図11のS76でメッセージを受信し、S78でNOと判断し、S80でエラーを表示する。一方において、S184でYESの場合、CPU52は、ワンタイムパスワードリスト150にデバイス情報162を登録する(S188)。具体的に言うと、CPU52は、S184で認証成功と判断されたワンタイムパスワードに対応づけてPC10のIPアドレスを書き込む。例えば、S184で認証成功と判断されたワンタイムパスワードが「fghij」である場合、CPU52は、「fghij」に対応づけてPC10のIPアドレスを書き込む。
続いて、CPU52は、S188で登録されたワンタイムパスワードに対応するタイマをスタートする(S190)。後で詳しく述べるが、タイマは、ゼロから300秒までカウントする。次いで、CPU52は、ワンタイムパスワードリスト150に有効フラグONを書き込む(S192)。具体的に言うと、CPU52は、S188で登録されたデバイス情報(IPアドレス)にさらに対応づけて有効フラグONを書き込む(S192)。例えば、S192で「fghij」に対応づけてPC10のIPアドレスが書き込まれた場合、CPU52は、PC10のIPアドレスに対応づけて(即ち「fghij」に対応づけて)有効フラグONを書き込む。続いて、CPU52は、認証が成功したことを示すメッセージを作成する(S194)。CPU52は、S194で作成されたメッセージをPC10に送信する(S196)。これにより、PC10は、図11のS76でメッセージを受信し、S78でYESと判断し、S82以降の処理を実行する。S196の処理は、図5のM16の処理に対応する。
上述したように、図11のS86では、PC10は、RemoteSetup管理アプリケーション28に従ってリクエストを多機能機50に送信することができる。このようなリクエスト(管理メッセージ)が多機能機50で受信された場合、図16のS180においてNOと判断される。この場合、CPU52は、上記のリクエストの送信元(本実施例ではPC10)のIPアドレスがワンタイムパスワードリスト150に存在するのか否かを判断する(S198)。ここでYESの場合、CPU52は、上記のリクエストの送信元(本実施例ではPC10)のIPアドレスに対応づけられている有効フラグがONであるのか否かを判断する(S200)。ここでYESの場合、CPU52は、上記のリクエストに応じた処理を実行する(S202)。例えば、上記のリクエストが多機能機50の設定情報を変更することを指示するものである場合、CPU52は、設定情報を変更する。この場合、CPU52は、設定情報を変更したことを示すメッセージをPC10に送信する。また、上記のリクエストが多機能機50の所定の情報を返信することを指示するものである場合、CPU52は、上記の所定の情報を含むメッセージをPC10に送信する。S202でPC10にメッセージを送信する処理は、図5のM17の処理に対応する。なお、S198又はS200でNOと判断された場合、CPU52は、メッセージに応じた処理(S202)を実行しない。
続いて、CPU52が実行する他の処理(フローチャートには示されていない処理)について説明する。上述したように、図16のS190の処理では、ワンタイムパスワードに対応するタイマがスタートされる。CPU52は、タイマのカウント値が300秒に到達することを監視している。CPU52は、カウント値が300秒に到達したタイマに対応するワンタイムパスワードに対応づけられている有効フラグをONからOFFに変更する。これにより、ワンタイムパスワードが無効化される。なお、ワンタイムパスワードを無効化する手法は、ここで例示した手法に限られない。例えば、コネクション形式のプロトコル(例えばTCP)の場合、CPU52は、PC10とのTCPコネクションが切断されると、PC10のIPアドレスに対応づけられている有効フラグをONからOFFに変更してもよい。また、PC10からのセッション終了コマンドが受信された場合、CPU52は、PC10のIPアドレスに対応づけられている有効フラグをONからOFFに変更してもよい。また、例えば、コネクション形式と非コネクション形式のプロトコル(例えばUDP)のいずれの場合であっても、CPU52は、ワンタイムパスワードの認証回数が所定回数(1以上の整数)に到達すると、有効フラグをONからOFFに変更してもよい。
上記の多機能機管理システム2では、図11のS74で送信されるパスワード認証メッセージは、暗号化通信に対応していないプロトコルによって実行される。このために、パスワード認証メッセージの通信の過程でワンタイムパスワードが第三者に盗み見られる可能性は排除できない。しかしながら、ワンタイムパスワードは、そのワンタイムパスワードの認証が成功してから300秒が経過すると無効化される。このために、第三者がワンタイムパスワードを利用して多機能機50にアクセスしようとしても、認証が成功しない。第三者が多機能機50を不正に操作することを防止することができる。なお、PC10と多機能機50の両方に記憶されているセキュリティ情報100(図4参照)のAuthKey106やPrivKey110は、PC10から多機能機50にMACとして送信される。第三者が仮にMACを盗み見たとしても、そのMACからAuthKey106やPrivKey110を復元することはできない。このために、第三者がAuthKey106やPrivKey110を利用して多機能機50にアクセスし、多機能機50からワンタイムパスワードを取得することはできない。非常に高いセキュリティが確保されているシステム2が実現されている。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
上記の実施例では、SNMPv3管理アプリケーション26が起動されている状態でRemoteSetup管理アプリケーション28の起動要求が入力された場合に、SNMPv3管理アプリケーション26は、ワンタイムパスワードの作成を多機能機50に要求する。この構成によると、RemoteSetup管理アプリケーション28にSNMPv3管理アプリケーション26を起動するためのプログラムを搭載しなくてもよい。しかしながら、RemoteSetup管理アプリケーション28にSNMPv3管理アプリケーション26を起動するためのプログラムを搭載してもよい。この場合、SNMPv3管理アプリケーション26が起動されていない状態でRemoteSetup管理アプリケーション28が起動された場合に、RemoteSetup管理アプリケーション28は、SNMPv3管理アプリケーション26を起動することができる。SNMPv3管理アプリケーション26は、ワンタイムパスワードの作成を多機能機50に要求することができる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
多機能機管理システムの構成を示す。 PCの構成を示す。 多機能機の構成を示す。 PCと多機能機が実行する処理のタイムチャートを示す。 図4の続きのタイムチャートを示す。 SNMPv3のメッセージの構成を示す。 SecurityParametersの構成を示す。 PDUの構成を示す。 SNMPv3管理アプリケーションに従ってPCが実行する処理のフローチャートを示す。 図9の続きのフローチャートを示す。 RemoteSetup管理アプリケーションに従ってPCが実行する処理のフローチャートを示す。 SNMPv3管理アプリケーションの初期画面の一例を示す。 多機能機が実行する処理のフローチャートを示す。 SNMPv3処理のフローチャートを示す。 図14の続きのフローチャートを示す。 RemoteSetup処理のフローチャートを示す。 ワンタイムパスワードリストの一例を示す。
符号の説明
10:PC
26:SNMPv3管理アプリケーション
28:RemoteSetup管理アプリケーション
50,90,92:多機能機
60:SNMPv3エージェントプログラム
62:RemoteSetupエージェントプログラム
100:セキュリティ情報
150:ワンタイムパスワードリスト

Claims (5)

  1. ネットワークデバイスと、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する管理デバイスとを備えるデバイス管理システムであり、
    管理デバイスは、
    暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第1管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第2管理アプリケーションとを記憶することが可能である管理アプリケーション記憶手段と、
    管理アプリケーション記憶手段に記憶されているいずれかの管理アプリケーションの起動要求を入力する起動要求入力手段と、
    第2管理アプリケーションの起動要求が入力された場合に、第1管理アプリケーションを用いて、高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第1コマンドを高セキュリティプロトコルに従って自動的にネットワークデバイスに送信する第1コマンド送信手段と、
    ネットワークデバイスから送信された一時的認証情報を受信する認証情報受信手段と、
    第2管理アプリケーションを用いて、認証情報受信手段によって受信された一時的認証情報を含んでいる第2コマンドを低セキュリティプロトコルに従って自動的にネットワークデバイスに送信する第2コマンド送信手段と、
    第2管理アプリケーションを用いて、第2管理アプリケーションの管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する管理コマンド送信手段とを有し、
    ネットワークデバイスは、
    管理デバイスから送信された第1コマンドを受信する第1コマンド受信手段と、
    第1コマンド受信手段によって受信された第1コマンドに含まれる高セキュリティ認証情報を認証する第1認証手段と、
    第1認証手段によって肯定的な認証結果が得られたことを条件として、一時的認証情報を管理デバイスに送信する認証情報送信手段と、
    予め決められている条件が成立したことを条件として、前記一時的認証情報を無効化する無効化手段と、
    管理デバイスから送信された第2コマンドを受信する第2コマンド受信手段と、
    第2コマンド受信手段によって受信された第2コマンドに含まれる一時的認証情報を認証する第2認証手段と、
    管理デバイスから送信された第2管理アプリケーションの管理コマンドを受信する管理コマンド受信手段と、
    第2認証手段によって肯定的な認証結果が得られたことを条件として、管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドに対応する処理を実行する管理コマンド対応処理実行手段とを有する
    ことを特徴とするデバイス管理システム。
  2. 第1コマンド送信手段は、第1管理アプリケーションが起動されていない間に、第2管理アプリケーションの起動要求が入力された場合に、第1管理アプリケーションを起動させて、起動された第1管理アプリケーションを用いて、前記第1コマンドを自動的にネットワークデバイスに送信する
    ことを特徴とする請求項1に記載のデバイス管理システム。
  3. 第1コマンド送信手段は、第1管理アプリケーションが起動されている間に、第2管理アプリケーションの起動要求が入力された場合に、起動済みの第1管理アプリケーションを用いて、前記第1コマンドを自動的にネットワークデバイスに送信する
    ことを特徴とする請求項1又は2に記載のデバイス管理システム。
  4. ネットワークデバイスは、
    第2認証手段によって肯定的な認証結果が得られたことを条件として、管理デバイスを特定するデバイス特定情報を記憶するデバイス記憶手段と、
    管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドの送信元がデバイス記憶手段に記憶されているのか否かを判断するデバイス判断手段とをさらに有し、
    管理コマンド対応処理実行手段は、第2認証手段によって肯定的な認証結果が得られ、かつ、デバイス判断手段によって肯定的な判断結果が得られたことを条件として、管理コマンド受信手段によって受信された第2管理アプリケーションの管理コマンドに対応する処理を実行する
    ことを特徴とする請求項1から3のいずれか1項に記載のデバイス管理システム。
  5. 暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第1管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第2管理アプリケーションとを含む管理アプリケーション群であり、
    第2管理アプリケーションの起動要求が入力された場合に、
    起動済みの第1管理アプリケーションは、
    高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第1コマンドを高セキュリティプロトコルに従って自動的にネットワークデバイスに送信する第1コマンド送信処理と、
    第1コマンド送信処理で送信された第1コマンドに応じてネットワークデバイスから送信された一時的認証情報を受信する認証情報受信処理と
    をコンピュータに実行させ、
    第2管理アプリケーションは、
    認証情報受信処理で受信された一時的認証情報を含んでいる第2コマンドを低セキュリティプロトコルに従って自動的にネットワークデバイスに送信する第2コマンド送信処理と、
    管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する管理コマンド送信処理と
    を前記コンピュータに実行させる
    ことを特徴とする管理アプリケーション群。
JP2008190260A 2008-07-23 2008-07-23 デバイス管理システム Expired - Fee Related JP5062082B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008190260A JP5062082B2 (ja) 2008-07-23 2008-07-23 デバイス管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008190260A JP5062082B2 (ja) 2008-07-23 2008-07-23 デバイス管理システム

Publications (2)

Publication Number Publication Date
JP2010026949A JP2010026949A (ja) 2010-02-04
JP5062082B2 true JP5062082B2 (ja) 2012-10-31

Family

ID=41732693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008190260A Expired - Fee Related JP5062082B2 (ja) 2008-07-23 2008-07-23 デバイス管理システム

Country Status (1)

Country Link
JP (1) JP5062082B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850037B2 (en) * 2012-05-24 2014-09-30 Fmr Llc Communication session transfer between devices
EP2720146A1 (en) * 2012-10-11 2014-04-16 Thomson Licensing Distributed application life-cycle management
WO2015084797A1 (en) 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure tranmission of remote notification service messages to mobile devices without secure elements

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061721A (en) * 1997-10-06 2000-05-09 Sun Microsystems, Inc. Bean-based management system
JP2002140302A (ja) * 2000-10-30 2002-05-17 Naoki Hori 認証方法及び認証装置並びに端末装置
JP2004157852A (ja) * 2002-11-07 2004-06-03 Toppan Printing Co Ltd ワンタイムパスワードの管理システムおよび管理方法
JP4537819B2 (ja) * 2003-12-16 2010-09-08 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム及び記録媒体
JP2008092141A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd Ftp通信システム

Also Published As

Publication number Publication date
JP2010026949A (ja) 2010-02-04

Similar Documents

Publication Publication Date Title
JP4746333B2 (ja) コンピューティングシステムの効率的かつセキュアな認証
JP4976219B2 (ja) 書類処理装置のコンフィギュレーション状態が変わったか否かを判定する方法、装置及びマシン読み取り可能な媒体
JP4907895B2 (ja) プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム
US20090113537A1 (en) Proxy authentication server
JP4345796B2 (ja) 通信方法、通信システムならびに通信システムを構成するサーバ、クライアントおよびコンピュータプログラム
US7039713B1 (en) System and method of user authentication for network communication through a policy agent
US8839357B2 (en) Method, system, and computer-readable storage medium for authenticating a computing device
US9491174B2 (en) System and method for authenticating a user
JP5321641B2 (ja) 情報処理システム、情報処理装置および中継サーバ
EP3895111A1 (en) System and method for secure sensitive data storage and recovery
JP5062082B2 (ja) デバイス管理システム
JP4455965B2 (ja) 権限情報生成方法、通信装置、プログラム及び記録媒体
JP2010074431A (ja) 外部認証を用いた認証機能連携機器、認証機能連携システム及び認証機能連携プログラム
JP2024501728A (ja) ブロックチェーンベースのsdpアクセス制御方法及びシステム
JP2010072760A (ja) 認証機能連携機器、認証機能連携システム及び認証機能連携プログラム
TWI727793B (zh) 認證方法及認證系統
JP6040636B2 (ja) クライアント装置のシステムを復元する方法、および、無線接続装置
JP2009245075A (ja) データ提供システムおよび通信装置
WO2017029708A1 (ja) 個人認証システム
JP2005303676A (ja) 画像形成装置、鍵ペア生成方法及びコンピュータプログラム
JP5319575B2 (ja) 通信方法および通信システム
EP4124030A1 (en) Video security system with improved network response time using pre-authentication information
JP5293070B2 (ja) ネットワーク対応画像形成装置及びプログラム
JP4866150B2 (ja) Ftp通信システム、ftp通信プログラム、ftpクライアント装置及びftpサーバ装置
JP2016144038A (ja) 認証システム、予備鍵管理装置、予備鍵管理方法および予備鍵管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5062082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees