(57)【要約】【課題】  多機能機管理システムのセキュリティを高くすること。【解決手段】  ＰＣ１０は、暗号化通信に対応しているＳＮＭＰｖ３管理アプリケーション２６と、暗号化通信に対応していないＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８とを有する。多機能機５０は、ＳＮＭＰｖ３エージェントプログラム６０と、ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラム６２とを有する。アプリケーション２６は、ワンタイムパスワードの生成を多機能機５０に要求する（Ｐ１１）。プログラム６０は、ワンタイムパスワードをＰＣ１０に送信する（Ｍ１４）。アプリケーション２８は、ワンタイムパスワードの認証要求を多機能機５０に送信する（Ｐ１５）。プログラム６２は、ワンタイムパスワードの認証が成功したことを条件として、アプリケーション２８に従って送信されるリクエストに応じた処理を実行する。【選択図】  図５
2010026949.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークデバイスと、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する管理デバイスとを備えるデバイス管理システムであり、
管理デバイスは、
暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第１管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第２管理アプリケーションとを記憶することが可能である管理アプリケーション記憶手段と、
管理アプリケーション記憶手段に記憶されているいずれかの管理アプリケーションの起動要求を入力する起動要求入力手段と、
少なくとも第１管理アプリケーションの起動要求が入力されたことを条件として、高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第１コマンドを高セキュリティプロトコルに従ってネットワークデバイスに送信する第１コマンド送信手段と、
ネットワークデバイスから送信された一時的認証情報を受信する認証情報受信手段と、
少なくとも第２管理アプリケーションの起動要求が入力されたことを条件として、認証情報受信手段によって受信された一時的認証情報を含んでいる第２コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する第２コマンド送信手段と、
少なくとも第２管理アプリケーションの起動要求が入力されたことを条件として、第２管理アプリケーションの管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する管理コマンド送信手段とを有し、
ネットワークデバイスは、
管理デバイスから送信された第１コマンドを受信する第１コマンド受信手段と、
第１コマンド受信手段によって受信された第１コマンドに含まれる高セキュリティ認証情報を認証する第１認証手段と、
第１認証手段によって肯定的な認証結果が得られたことを条件として、一時的認証情報を管理デバイスに送信する認証情報送信手段と、
予め決められている条件が成立したことを条件として、前記一時的認証情報を無効化する無効化手段と、
管理デバイスから送信された第２コマンドを受信する第２コマンド受信手段と、
第２コマンド受信手段によって受信された第２コマンドに含まれる一時的認証情報を認証する第２認証手段と、
管理デバイスから送信された第２管理アプリケーションの管理コマンドを受信する管理コマンド受信手段と、
第２認証手段によって肯定的な認証結果が得られたことを条件として、管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドに対応する処理を実行する管理コマンド対応処理実行手段とを有する
ことを特徴とするデバイス管理システム。
【請求項２】
第１コマンド送信手段は、第１管理アプリケーションが起動されている状態で第２管理アプリケーションの起動要求が入力されたことを条件として、前記第１コマンドをネットワークデバイスに送信する
ことを特徴とする請求項１に記載のデバイス管理システム。
【請求項３】
ネットワークデバイスは、
第２認証手段によって肯定的な認証結果が得られたことを条件として、管理デバイスを特定するデバイス特定情報を記憶するデバイス記憶手段と、
管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドの送信元がデバイス記憶手段に記憶されているのか否かを判断するデバイス判断手段とをさらに有し、
管理コマンド対応処理実行手段は、第２認証手段によって肯定的な認証結果が得られ、かつ、デバイス判断手段によって肯定的な判断結果が得られたことを条件として、管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドに対応する処理を実行する
ことを特徴とする請求項１又は２に記載のデバイス管理システム。
【請求項４】
暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第１管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第２管理アプリケーションとを含む管理アプリケーション群であり、
第１管理アプリケーションは、
高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第１コマンドを高セキュリティプロトコルに従ってネットワークデバイスに送信する第１コマンド送信処理と、
第１コマンド送信処理で送信された第１コマンドに応じてネットワークデバイスから送信された一時的認証情報を受信する認証情報受信処理と
をコンピュータに実行させ、
第２管理アプリケーションは、
認証情報受信処理で受信された一時的認証情報を含んでいる第２コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する第２コマンド送信処理と、
管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する管理コマンド送信処理と
を前記コンピュータに実行させる
ことを特徴とする管理アプリケーション群。
【請求項５】
暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第１管理アプリケーションを利用して管理コマンドを送信することが可能であり、かつ、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第２管理アプリケーションを利用して管理コマンドを送信することが可能である管理デバイスに通信可能に接続されるネットワークデバイスであり、
高セキュリティプロトコルに従って管理デバイスから送信された高セキュリティ認証情報を含んでいる第１コマンドを受信する第１コマンド受信手段と、
第１コマンド受信手段によって受信された第１コマンドに含まれる高セキュリティ認証情報を認証する第１認証手段と、
第１認証手段によって肯定的な認証結果が得られたことを条件として、一時的認証情報を管理デバイスに送信する認証情報送信手段と、
低セキュリティプロトコルに従って管理デバイスから送信された前記一時的認証情報を含んでいる第２コマンドを受信する第２コマンド受信手段と、
第２コマンド受信手段によって受信された第２コマンドに含まれる一時的認証情報を認証する第２認証手段と、
予め決められている条件が成立したことを条件として、前記一時的認証情報を無効化する無効化手段と、
管理デバイスから送信された第２管理アプリケーションの管理コマンドを受信する管理コマンド受信手段と、
第２認証手段によって肯定的な認証結果が得られたことを条件として、管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドに対応する処理を実行する管理コマンド対応処理実行手段と
を備えるネットワークデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークデバイスと、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する管理デバイスとを備えるデバイス管理システムに関する。
【背景技術】
【０００２】
例えば、下記特許文献１には、デバイス管理システムの一例が開示されている。管理デバイスは、ネットワークデバイスに管理コマンドを送信するための管理アプリケーションを記憶している。
【０００３】
【特許文献１】特開２００７−２５７５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＳＮＭＰｖ３（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ３）やＨＴＴＰＳ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｉｔｙ）のような暗号化通信に対応している高セキュリティプロトコルを利用して通信する高セキュリティ管理アプリケーションが存在する。一方において、暗号化通信に対応していない低セキュリティプロトコルを利用して通信する低セキュリティ管理アプリケーションも存在する。例えば、高セキュリティ管理アプリケーションがネットワークデバイスに第１機能を実行させるものであり、低セキュリティ管理アプリケーションがネットワークデバイスに第１機能と異なる第２機能を実行させるものである場合、両方の管理アプリケーションを管理デバイスに搭載しておく必要がある。
【０００５】
高セキュリティ管理アプリケーションを利用する場合、管理デバイスとネットワークデバイスの間で認証を行なう際に通信される認証情報（例えばＩＤやパスワード）が暗号化されるために、通信の過程で認証情報が第三者によって盗み見られる可能性は低く、高いセキュリティが確保される。しかしながら、低セキュリティ管理アプリケーションを利用する場合、管理デバイスとネットワークデバイスの間で認証を行なう際に通信される認証情報が第三者によって盗み見られる可能性がある。第三者が、不正に取得した認証情報を利用してネットワークデバイスにアクセスし、ネットワークデバイスを不正に操作する可能性がある。
【０００６】
単純に考えると、低セキュリティ管理アプリケーションを排除し、その管理アプリケーションの管理機能（上記の例では第２機能）を高セキュリティプロトコルによって実現できるように改良すれば、上記の問題が生じないようにも思える。しかしながら、高セキュリティプロトコルを利用するように既存の低セキュリティ管理アプリケーションを改良するのは手間がかかる。低セキュリティ管理アプリケーションに大きな改良を加えなくても、セキュリティを高めるための技術が必要とされている。
【０００７】
本明細書では、セキュリティを確保しながら低セキュリティ管理アプリケーションを利用することを可能とする技術を提供する。
【課題を解決するための手段】
【０００８】
本明細書で開示される一つの技術は、ネットワークデバイスと管理デバイスとを備えるデバイス管理システムである。管理デバイスは、管理アプリケーションを利用して管理コマンドをネットワークデバイスに送信することによってネットワークデバイスを管理する。なお、管理コマンドの内容は特に限定されない。管理コマンドは、例えば、情報を返信することを要求するコマンドであってもよい。また、管理コマンドは、例えば、設定情報を変更することを要求するコマンドであってもよい。管理デバイスは、管理アプリケーション記憶手段と起動要求入力手段と第１コマンド送信手段と認証情報受信手段と第２コマンド送信手段と管理コマンド送信手段とを有する。
【０００９】
管理アプリケーション記憶手段は、暗号化通信に対応している高セキュリティプロトコルに従って管理コマンドを送信するための第１管理アプリケーションと、暗号化通信に対応していない低セキュリティプロトコルに従って管理コマンドを送信するための第２管理アプリケーションとを記憶することが可能である。起動要求入力手段は、管理アプリケーション記憶手段に記憶されているいずれかの管理アプリケーションの起動要求を入力する。起動要求入力手段は、例えば、管理デバイスに備えられる操作部である。ユーザは、操作部を操作することによって起動要求を入力してもよい。また、例えば、外部デバイス（管理デバイス以外のデバイス）から起動要求が送信される場合、起動要求入力手段は、起動要求を受信するためのインターフェイスであってもよい。
【００１０】
第１コマンド送信手段は、少なくとも第１管理アプリケーションの起動要求が入力されたことを条件として、高セキュリティプロトコルで利用される高セキュリティ認証情報を含んでいる第１コマンドを高セキュリティプロトコルに従ってネットワークデバイスに送信する。高セキュリティ認証情報は、暗号化された状態でネットワークデバイスに送信される。なお、ここでの「暗号化」という用語は、復号化することが可能なデータに暗号化することをのみに限定して解釈されない。例えば、高セキュリティ認証情報と他のデータの組合せをダイジェスト化（例えばハッシュ化）することも、上記の「暗号化」に相当する。また、上記の「条件として」という用語は、他の条件（ＡＮＤ条件及び／又はＯＲ条件）が付加されるのを排除しない。「条件として」という用語を使用した場合、他の条件が付加されてもよい。以下でも、「条件として」という用語を使用する場合は同様である。
【００１１】
認証情報受信手段は、ネットワークデバイスから送信された一時的認証情報を受信する。第２コマンド送信手段は、少なくとも第２管理アプリケーションの起動要求が入力されたことを条件として、認証情報受信手段によって受信された一時的認証情報を含んでいる第２コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する。管理コマンド送信手段は、少なくとも第２管理アプリケーションの起動要求が入力されたことを条件として、第２管理アプリケーションの管理コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する。
【００１２】
ネットワークデバイスは、第１コマンド受信手段と第１認証手段と認証情報送信手段と無効化手段と第２コマンド受信手段と第２認証手段と管理コマンド受信手段と管理コマンド対応処理実行手段とを有する。第１コマンド受信手段は、管理デバイスから送信された第１コマンドを受信する。第１認証手段は、第１コマンド受信手段によって受信された第１コマンドに含まれる高セキュリティ認証情報を認証する。認証情報送信手段は、第１認証手段によって肯定的な認証結果が得られたことを条件として、一時的認証情報を管理デバイスに送信する。認証情報送信手段は、一時的認証情報を新たに作成して管理デバイスに送信してもよいし、予め用意されている一時的認証情報を管理デバイスに送信してもよい。
【００１３】
無効化手段は、予め決められている条件が成立したことを条件として、上記の一時的認証情報を無効化する。上記の条件としては、様々な条件を設定することができる。上記の条件は、例えば、時間的な条件であってもよい。例えば、予め決められているタイミング（一時的認証情報の作成時、一時的認証情報の認証成功時、一時的認証情報の認証を要求するデバイスとの通信セッションが確立された時等）から所定時間が経過したことを上記の条件として採用してもよい。また、例えば、所定の日時に到達したこと（例えば所定の曜日に到達したこと）を上記の条件として採用してもよい。また、上記の条件は、例えば、予め決められた通信コマンドを受信することであってもよい。例えば、通信セッションを切断するためのコマンドを受信することを上記の条件として採用してもよい。また、上記の条件は、予め決められている事象の発生回数が所定回数に到達すること（もしくは所定回数を超えること）であってもよい。例えば、一時的認証情報の認証回数が所定回数に到達することを上記の条件として採用してもよい。また、例えば、通信セッションが確立された回数が所定回数に到達することを上記の条件として採用してもよい。上述したように、一時的認証情報を無効化する条件としては、様々な条件を設定することができる。
【００１４】
第２コマンド受信手段は、管理デバイスから送信された第２コマンドを受信する。第２認証手段は、第２コマンド受信手段によって受信された第２コマンドに含まれる一時的認証情報を認証する。管理コマンド受信手段は、管理デバイスから送信された第２管理アプリケーションの管理コマンドを受信する。管理コマンド対応処理実行手段は、第２認証手段によって肯定的な認証結果が得られたことを条件として、管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドに対応する処理を実行する。
【００１５】
上記のネットワークデバイスは、高セキュリティプロトコルに従って送信された第１コマンドに含まれる高セキュリティ認証情報の認証が成功したことを条件として、一時的認証情報を作成して管理デバイスに送信する。一時的認証情報は、永続的に有効化されるものではなく、予め決められている条件が成立すると無効化される。管理デバイスは、一時的認証情報を含む第２コマンドを低セキュリティプロトコルに従ってネットワークデバイスに送信する。ネットワークデバイスは、一時的認証情報の認証が成功したことを条件として、第２アプリケーションの管理コマンドに従って処理を実行する。
【００１６】
上記の第２コマンドの通信は、低セキュリティプロトコルによって実行される。このために、第２コマンドの通信の過程で一時的認証情報が第三者に盗み見られる可能性は排除できない。しかしながら、上述したように、一時的認証情報は、条件が成立すると無効化される。このために、第三者が盗み見た一時的認証情報を利用してネットワークデバイスにアクセスしようとしても、認証が成功しない。第三者がネットワークデバイスを不正に操作することを防止することができる。なお、上記の高セキュリティ認証情報（第１コマンド）は、高セキュリティプロトコルに従って送信されるために、第三者によって盗み見られる可能性は極めて低い。このために、第三者は、上記の高セキュリティ認証情報を利用してネットワークデバイスにアクセスし、ネットワークデバイスから一時的認証情報を取得することはできない。この技術によると、高いセキュリティが確保されているデバイス管理システムを構築することができる。
【００１７】
第１コマンド送信手段は、第１管理アプリケーションが起動されている状態で第２管理アプリケーションの起動要求が入力されたことを条件として、上記の第１コマンドをネットワークデバイスに送信してもよい。この構成によると、第１コマンドを送信するために第１管理アプリケーションを起動するためのプログラムを第２管理アプリケーションが持っていなくても、第１コマンドを送信することができる。
【００１８】
ネットワークデバイスは、第２認証手段によって肯定的な認証結果が得られたことを条件として管理デバイスを特定するデバイス特定情報を記憶するデバイス記憶手段と、管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドの送信元がデバイス記憶手段に記憶されているのか否かを判断するデバイス判断手段とをさらに有していてもよい。この場合、管理コマンド対応処理実行手段は、第２認証手段によって肯定的な認証結果が得られ、かつ、デバイス判断手段によって肯定的な判断結果が得られたことを条件として、管理コマンド受信手段によって受信された第２管理アプリケーションの管理コマンドに対応する処理を実行してもよい。この構成によると、ネットワークデバイスは、一時的認証情報の認証が成功した管理デバイスのデバイス特定情報を記憶し、その管理デバイスからの管理コマンドのみを有効に処理する。即ち、第三者が別のデバイスから管理コマンドを送信しても、ネットワークデバイスは、その管理コマンドに対応する処理を実行しない。セキュリティの高いデバイス管理システムを構築することができる。
【００１９】
上記の第１管理アプリケーションと第２管理アプリケーションの組合せも有用な技術である。この組合せを利用すると、上記のデバイス管理システムを構築するための管理デバイスを実現することができる。また、上記のデバイス管理システムを構築するためのネットワークデバイスの単体も有用である。
【発明を実施するための最良の形態】
【００２０】
ここでは、以下の実施例に記載の技術の特徴の一部をまとめておく。
（形態１）高セキュリティプロトコルは、ＳＮＭＰｖ３であってもよい。ただし、高セキュリティプロトコルは、ＨＴＴＰＳ、ＳＳＨ等の他のプロトコルであってもよい。なお、高セキュリティプロトコルと低セキュリティプロトコルが同一通信回線でない場合には、通信回線すべてを暗号化するＩＰＳＥＣであってもよい。高セキュリティプロトコルは、暗号化通信に対応しているあらゆるプロトコルを含む概念である。
【００２１】
（形態２）低セキュリティプロトコルは、暗号化通信に対応していないあらゆるプロトコルを含む概念である。低セキュリティプロトコルは、例えば、ベンダによって独自に開発されたプロトコル（もしくは公知のプロトコルがベンダによって改良されたプロトコル）であってもよい。低セキュリティプロトコルの例としては、ＴＥＬＮＥＴ、ＳＮＭＰｖ１、ＨＴＴＰ等を挙げることができる。
【００２２】
（形態３）上記の管理コマンドは、情報を返信することを要求するコマンド、及び／又は、ネットワークデバイスに設定されている情報（設定情報）を変更することを要求するコマンドであってもよい。
【実施例】
【００２３】
図面を参照して実施例を説明する。図１は、本実施例の多機能機管理システム２の概略図を示す。多機能機管理システム２は、ＰＣ１０と複数の多機能機５０，９０，９２等を備える。ＰＣ１０と各多機能機５０，９０，９２は、ＬＡＮ回線４６に接続されている。ＰＣ１０と各多機能機５０，９０，９２は、相互に通信可能である。
【００２４】
（ＰＣの構成）
図２は、ＰＣ１０の構成を簡単に示す。ＰＣ１０は、ＣＰＵ１２とＲＡＭ１４と不揮発性メモリ２０とＨＤＤ制御部２２とＨＤＤ２４と表示制御部３２とモニタ３４と操作制御部３６と操作部３８とＬＡＮインターフェイス４０等を有する。上記の各部１２，１４，２０，２２，３２，３６，４０は、バス線４２に接続されている。
【００２５】
ＣＰＵ１２は、ＨＤＤ２４に記憶されているプログラム２６，２８，３０に従って様々な処理を実行する。ＣＰＵ１２が実行する処理については、後で詳しく説明する。ＲＡＭ１４は、プログラムワーク領域１６とその他の記憶領域１８を有する。プログラムワーク領域１６は、ＨＤＤ２４に記憶されているプログラム２６，２８，３０が起動されている場合に利用されるワーク領域である。記憶領域１８は、ＣＰＵ１２が処理を実行する過程で生成される様々な情報を記憶することができる。不揮発性メモリ２０は、様々な情報を記憶することができる。不揮発性メモリ２０は、例えば、後述のセキュリティ情報１００（図４参照）を記憶することができる。
【００２６】
ＨＤＤ制御部２２は、ＣＰＵ１２からの指示に従ってＨＤＤ２４を制御する。ＨＤＤ２４は、様々なプログラム（アプリケーション）２６，２８，３０を記憶することができる。本実施例では、多機能機５０，９０，９２を管理するための２種類のアプリケーション２６，２８がＨＤＤ２４に記憶されている。アプリケーション２６，２８は、例えば、コンピュータ読取可能媒体からＰＣ１０にインストールされる。また、アプリケーション２６，２８は、例えば、インターネットのサイトからＰＣ１０にインストールされる。
【００２７】
ＳＮＭＰｖ３管理アプリケーション２６は、ＳＮＭＰｖ３に従って様々なコマンドを多機能機５０，９０，９２に送信するためのアプリケーションである。ＳＮＭＰｖ３は、暗号化通信に対応しており、セキュリティが高いプロトコルとして知られている。ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８は、ＳＮＭＰｖ３と異なるプロトコルに従って様々なコマンドを多機能機５０，９０，９２に送信するためのアプリケーションである。ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８が利用するプロトコルは、暗号化通信に対応しておらず、ＳＮＭＰｖ３と比べるとセキュリティが低いプロトコルであると言える。各管理アプリケーション２６，２８によって実現される具体的な処理の内容については、後で詳しく説明する。ＨＤＤ２４は、管理アプリケーション２６，２８以外のプログラム３０（アプリケーションやＯＳ）を記憶している。
【００２８】
表示制御部３２は、ＣＰＵ１２からの指示に従ってモニタ３４を制御する。モニタ３４は、液晶等のディスプレイである。操作制御部３６は、操作部３８が操作された場合に、その操作の内容をＣＰＵ１２に伝える。操作部３８は、マウスやキーボードによって構成される。ユーザは、操作部３８を操作することによって、様々な指示や情報をＰＣ１０に入力することができる。ＬＡＮインターフェイス４０は、ＬＡＮ回線４６に接続されている。ＰＣ１０は、ＬＡＮインターフェイス４０及びＬＡＮ回線４６を介して、各多機能機５０，９０，９２と通信可能である。
【００２９】
（多機能機の構成）
図３は、多機能機５０の構成を簡単に示す。多機能機９０，９２も、多機能機５０と同様の構成を有する。多機能機５０は、ＣＰＵ５２とＲＯＭ５４とＲＡＭ６６と不揮発性メモリ６８とＬＡＮインターフェイス７０と操作キー７２と表示パネル７４とスキャナ制御部７６とスキャナ部７８と印刷制御部８０と印刷部８２等を有する。上記の各部５２，５４，６６，６８，７０，７２，７４，７６，８０は、バス線８４に接続されている。
【００３０】
ＣＰＵ５２は、ＲＯＭ５４に記憶されているプログラム５６〜６４に従って様々な処理を実行する。ＣＰＵ５２が実行する処理については、後で詳しく説明する。ＲＯＭ５４は、様々なプログラム５６〜６４を記憶している。システム制御プログラム５６は、多機能機５０を構成する各部を統括的に管理するためのプログラムである。ＯＴＰ作成プログラム５８は、ワンタイムパスワードを作成するためのプログラムである。ＳＮＭＰｖ３エージェントプログラムは、ＳＮＭＰｖ３管理アプリケーション２６（図２参照）に従ってＰＣ１０から送信される様々なコマンドに対応するためのプログラムである。ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラムは、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８（図２参照）に従ってＰＣ１０から送信される様々なコマンドに対応するためのプログラムである。各プログラム５８，６０，６２がどのような処理をＣＰＵ５２に実行させるのかについては、後で詳しく説明する。ＲＯＭ５４は、上記のプログラム５６〜６２以外のプログラム６４も記憶している。
【００３１】
ＲＡＭ６６は、ＣＰＵ５２が処理を実行する過程で生成される様々な情報を記憶することができる。不揮発性メモリ６８は、様々な情報を記憶することができる。不揮発性メモリ６８は、例えば、後述のセキュリティ情報１００（図４参照）を記憶することができる。また、不揮発性メモリ６８は、ＳＮＭＰｖ３で利用されるＥｎｇｉｎｅＩＤや時間情報を記憶することもできる。
【００３２】
ＬＡＮインターフェイス７０は、ＬＡＮ回線４６に接続されている。多機能機５０は、ＬＡＮインターフェイス７０及びＬＡＮ回線４６を介して、ＰＣ１０と通信可能である。操作キー７２は、複数のキーによって構成される。ユーザは、操作キー７２を操作することによって、様々な指示や情報を多機能機５０に入力することができる。表示パネル７４は、様々な情報を表示することができる。スキャナ制御部７６は、ＣＰＵ５２からの指示に従ってスキャナ部７８を制御する。スキャナ部７８は、ＣＣＤ、ＣＩＳ等の画像読取機構を有する。印刷制御部８０は、ＣＰＵ５２からの指示に従って印刷部８２を制御する。印刷部８２は、インクジェットタイプ、レーザタイプ等の印刷機構を有する。印刷部８２は、ＰＣ１０から送信された印刷データに基づいて印刷媒体に印刷することができる。印刷部８２は、スキャナ部７８で読み取られた画像データに基づいて印刷媒体に印刷することもできる（即ち多機能機５０はコピー機能を有する）。
【００３３】
（ＰＣと多機能機が実行する処理の概略）
各管理アプリケーション２６，２８（図２参照）に従ってＰＣ１０のＣＰＵ１２が実行する処理、及び、各エージェントプログラム６０，６２（図３参照）に従って多機能機５０のＣＰＵ５２が実行する処理について、簡単に説明する。図４は、これらの処理を説明するためのタイムチャートを示す。図５は、図４の続きのタイムチャートを示す。
【００３４】
ＰＣ１０と多機能機５０のそれぞれに、ＳＮＭＰｖ３で利用されるセキュリティ情報１００が記憶されている。ユーザは、ＰＣ１０と多機能機５０のそれぞれに同じセキュリティ情報１００を記憶させる。即ち、ＰＣ１０と多機能機５０は、セキュリティ情報１００を共有している。これにより、ＰＣ１０と多機能機５０の間でＳＮＭＰｖ３を利用して様々なコマンドを通信することができるようになる。セキュリティ情報１００は、ＵｓｅｒＮａｍｅ１０２とＡｕｔｈＰｒｏｔｏｃｏｌ１０４とＡｕｔｈＫｅｙ１０６とＰｒｉｖＰｒｏｔｏｃｏｌ１０８とＰｒｉｖＫｅｙ１１０とを含んでいる。ＵｓｅｒＮａｍｅ１０２は、ユーザ名である。なお、ＵｓｅｒＮａｍｅ１０２と同じものがＳｅｃｕｒｉｔｙＮａｍｅとして利用される。ＡｕｔｈＰｒｏｔｏｃｏｌ１０４は、認証プロトコルの種類である。ＡｕｔｈＫｅｙ１０６は、認証プロトコルのためのローカル秘密鍵である。ＰｒｉｖＰｒｏｔｏｃｏｌ１０８は、暗号化プロトコルの種類である。ＰｒｉｖＫｅｙ１１０は、暗号化プロトコルのためのローカル秘密鍵である。
【００３５】
ＳＮＭＰｖ３エージェントプログラム６０は、ＡｕｔｈＫｅｙ１０６を利用して認証用ローカル秘密鍵Ｋ１と暗号用ローカル秘密鍵Ｋ２を作成する（Ｍ１）。これらの秘密鍵Ｋ１，Ｋ２は、後述するＭＡＣを作成する際に利用される。秘密鍵Ｋ１，Ｋ２の作成手法は公知であるために、秘密鍵Ｋ１，Ｋ２の作成手法について詳しく説明しない。簡単に言うと、ＡｕｔｈＫｅｙ１０６に対してＸＯＲ処理を加えることによって認証用ローカル秘密鍵Ｋ１が作成される。また、ＡｕｔｈＫｅｙ１０６に所定のフィールドデータが付加されたものに対してＸＯＲ処理を加えることによって暗号用ローカル秘密鍵Ｋ２が作成される。
【００３６】
ＳＮＭＰｖ３管理アプリケーション２６は、ＥｎｇｉｎｅＩＤを多機能機５０に要求する（Ｐ１）。多機能機５０には予めＥｎｇｉｎｅＩＤが設定されている（例えば不揮発性メモリ６８（図３参照）に記憶されている）。ＳＮＭＰｖ３エージェントプログラム６０は、多機能機５０に設定されているＥｎｇｉｎｅＩＤをＰＣ１０に送信する（Ｍ２）。
【００３７】
ＳＮＭＰｖ３管理アプリケーション２６は、ＡｕｔｈＫｅｙ１０６を利用して認証用ローカル秘密鍵Ｋ１と暗号用ローカル秘密鍵Ｋ２を作成する（Ｐ２）。ＰＣ１０と多機能機５０は、同じＡｕｔｈＫｅｙ１０６を記憶している。このために、Ｐ２の処理で作成される秘密鍵Ｋ１，Ｋ２は、多機能機５０において上記のＭ１の処理で作成される秘密鍵Ｋ１，Ｋ２と同じものになる。
【００３８】
ＳＮＭＰｖ３管理アプリケーション２６は、ＧＥＴメッセージを作成する（Ｐ３）。この処理を説明する前に、ＳＮＭＰｖ３で利用されるリクエストメッセージの構成を説明しておく。図６〜図８は、リクエストメッセージ２００の構成を示す。図６に示されるように、リクエストメッセージ２００は、Ｖｅｒｓｉｏｎ２０２とＨｅａｄｅｒ２０４とＳｅｃｕｒｉｔｙＰａｒａｍｅｔｅｒｓ２２０とＳｃｏｐｅｄＰＤＵ２４０とによって構成される。Ｖｅｒｓｉｏｎ２０２は、ＳＮＭＰのバージョンを示す情報であり、本実施例ではＳＮＭＰｖ３である。
【００３９】
Ｈｅａｄｅｒ２０４は、ｍｓｇＩＤ２０６とｍｓｇＭａｘＳｉｚｅ２０８とｍｓｇＦｌａｇｓ２１０とｍｓｇＳｅｃｕｒｉｔｙｍｏｄｅｌ２１２とによって構成される。ｍｓｇＩＤ２０６は、メッセージの通信回数に対応するＩＤを格納するための領域である。ｍｓｇＭａｘＳｉｚｅ２０８は、メッセージ２００のデータサイズの情報を格納するための領域である。ｍｓｇＦｌａｇｓ２１０は、認証の有無及び暗号化の有無に関する情報を格納するための領域である。ｍｓｇＳｅｃｕｒｉｔｙｍｏｄｅｌ２１２は、プロトコルが拡張された場合に利用される情報を格納するための領域である。
【００４０】
ＳｅｃｕｒｉｔｙＰａｒａｍｅｔｅｒｓ２２０の内容を説明する。図７は、ＳｅｃｕｒｉｔｙＰａｒａｍｅｔｅｒｓ２２０の構成を示す。ＳｅｃｕｒｉｔｙＰａｒａｍｅｔｅｒｓ２２０は、様々な領域２２２，２２４，２２６，２３２，２３４，２３６によって構成される。領域２２２は、ＥｎｇｉｎｅＩＤを格納するための領域である。領域２２４は、エージェントデバイス（本実施例では多機能機５０等）の起動回数に関する情報を格納するための領域である。領域２２６には、エージェントデバイスの最新の起動開始からの経過時間を格納するための領域である。以下では、領域２２４と領域２２６を合わせて時間情報２３０と呼ぶ。領域２３２は、ユーザ名を格納するための領域である。
【００４１】
ＳＮＭＰｖ３管理アプリケーション２６は、上記の秘密鍵Ｋ１とメッセージ２００が組み合わされたデータをダイジェスト化し、第１メッセージダイジェストを作成することができる。さらに、ＳＮＭＰｖ３管理アプリケーション２６は、上記の秘密鍵Ｋ２と上記の第１メッセージダイジェストが組み合わされたデータをダイジェスト化し、第２メッセージダイジェストを作成することができる。第２メッセージダイジェストの先頭の所定バイト（例えば１２バイト）がＭＡＣである。領域２３４は、このようにして作成されたＭＡＣを格納するための領域である。領域２３６は、暗号化された情報の復号化に必要な情報を格納するための領域である。
【００４２】
次に、図６に示されるＳｃｏｐｅｄＰＤＵ２４０の内容を説明する。ＳｃｏｐｅｄＰＤＵ２４０は、ｃｏｎｔｅｘｔＥｎｇｉｎｅＩＤ２４２とｃｏｎｔｅｘｔＮａｍｅ２４４とＰＤＵ２４６とによって構成される。ｃｏｎｔｅｘｔＥｎｇｉｎｅＩＤ２４２は、ＥｎｇｉｎｅＩＤを格納するための領域である。領域２４２には、上記の領域２２２（図７参照）に格納されるＥｎｇｉｎｅＩＤと同一のものが格納される。ｃｏｎｔｅｘｔＮａｍｅ２４４は、コンテキスト名を格納するための領域である。
【００４３】
図８は、ＰＤＵ２４６の構成を示す。ＰＤＵ２４６は、Ｈｅａｄｅｒ２５０とＶｉｅｗタイプ２６２とＯＩＤ２６４とＶａｌｕｅ２６６とによって構成される。Ｖｉｅｗタイプ２６２は、ＧＥＴとＳＥＴのどちらかを格納するための領域である。ＯＩＤ２６４は、リクエストするデータの種類を特定する情報（例えばデータの識別子）を格納するための領域である。Ｖａｌｕｅ２６６は、Ｖｉｅｗタイプ２６２に「ＳＥＴ」が設定された場合に設定値を格納するための領域である。
【００４４】
図４に示されるＰ３の処理では、図６に示される構造を持つメッセージが作成される。少し具体的に説明すると、図７に示される領域２２２には、上記のＭ２の処理で受信されたＥｎｇｉｎｅＩＤが格納される。また、領域２２４と領域２２６の時間情報２３０には、ゼロが格納される。領域２３２には、セキュリティ情報１００のＵｓｅｒＮａｍｅ１０２が格納される。領域２３４には、ゼロが格納される。さらに、図８に示される領域２６２には、ＧＥＴが格納される。ＳＮＭＰｖ３管理アプリケーション２６は、Ｐ３の処理で作成されたメッセージ及びＰ２の処理で作成された秘密鍵Ｋ１，Ｋ２を利用してＭＡＣを作成する（Ｐ４）。ＭＡＣは、Ｐ３の処理で作成されたメッセージの領域２３４（図７参照）に挿入される。ＳＮＭＰｖ３管理アプリケーション２６は、メッセージを多機能機５０に送信する（Ｐ５）。多機能機５０は、メッセージを受信する。
【００４５】
ＳＮＭＰｖ３エージェントプログラム６０は、受信されたメッセージの認証処理を行なう（Ｍ３）。まず、ＳＮＭＰｖ３エージェントプログラム６０は、メッセージの領域２３４（図７参照）に格納されているＭＡＣを記憶する。次いで、ＳＮＭＰｖ３エージェントプログラム６０は、メッセージの領域２３４（図７参照）にゼロを挿入し、領域２３４にゼロが挿入されたメッセージと上記のＭ１の処理で作成された秘密鍵Ｋ１，Ｋ２とを利用してＭＡＣを作成する。ここでのＭＡＣの作成手法は、ＰＣ１０での上記のＰ４の処理と同様である。ＳＮＭＰｖ３エージェントプログラム６０は、作成されたＭＡＣとメッセージの領域２３４に格納されていたＭＡＣを比較し、一致するのか否かを判断する。認証が成功した場合、後述のＭ４以降の処理が実行される。
【００４６】
ＳＮＭＰｖ３エージェントプログラム６０は、時間情報を収集する（Ｍ４）。時間情報（多機能機５０の起動回数及び最新の起動開始からの経過時間）は、例えば、不揮発性メモリ６８（図３参照）に記憶されている。ＳＮＭＰｖ３エージェントプログラム６０は、Ｍ４の処理で収集された時間情報を含む返信メッセージを作成する（Ｍ５）。この返信メッセージは、図６に示されるメッセージ２００と同様のデータ構造を有する。時間情報は、返信メッセージのＳｃｏｐｅｄＰＵＤ２４０（図６参照）に挿入される。ＳＮＭＰｖ３エージェントプログラム６０は、返信メッセージと秘密鍵Ｋ１，Ｋ２とを利用してＭＡＣを作成し、このＭＡＣを返信メッセージに挿入する（Ｍ６）。ＳＮＭＰｖ３エージェントプログラム６０は、返信メッセージをＰＣ１０に送信する（Ｍ７）。ＰＣ１０は、返信メッセージを受信する。
【００４７】
図５に示されるように、ＳＮＭＰｖ３管理アプリケーション２６は、受信された返信メッセージの認証処理を行なう（Ｐ６）。この処理は、上記のＭ３の処理と同様である。即ち、ＳＮＭＰｖ３管理アプリケーション２６は、返信メッセージに含まれるＭＡＣを記憶する。次いで、ＳＮＭＰｖ３管理アプリケーション２６は、ＭＡＣが含まれていた領域にゼロが挿入された返信メッセージと上記のＰ２の処理で作成された秘密鍵Ｋ１，Ｋ２とを利用してＭＡＣを作成する。ＳＮＭＰｖ３管理アプリケーション２６は、作成されたＭＡＣと返信メッセージに含まれていたＭＡＣを比較し、両者が一致するのか否かを判断する。認証が成功した場合、後述のＰ７以降の処理が実行される。
【００４８】
ＳＮＭＰｖ３管理アプリケーション２６は、返信メッセージに含まれる時間情報を記憶する（Ｐ７）。時間情報は、ＲＡＭ１４（図２参照）に記憶される。ＳＮＭＰｖ３管理アプリケーション２６は、ＧＥＴメッセージを作成する（Ｐ８）。Ｐ８の処理は、上記のＰ３の処理と同様である。ただし、Ｐ８の処理では、Ｐ７の処理で記憶された時間情報が領域２２４及び２２６（図７参照）に挿入される。また、Ｐ８の処理では、ワンタイムパスワードを作成することを指示する識別子が領域２６４（図８参照）に挿入される。
【００４９】
ＳＮＭＰｖ３管理アプリケーション２６は、Ｐ８の処理で作成されたメッセージのＳｃｏｐｅｄＰＤＵ２４０の部分を暗号化する（Ｐ９）。暗号化手法は公知であるために、暗号化について詳しく説明しない。簡単に言うと、ＳＮＭＰｖ３管理アプリケーション２６は、Ｐ２の処理で作成された暗号用ローカル秘密鍵Ｋ２から暗号化秘密鍵と初期化ベクタを作成する。ＳＮＭＰｖ３管理アプリケーション２６は、暗号化秘密鍵と初期化ベクタを利用して暗号化する。ＳＮＭＰｖ３管理アプリケーション２６は、暗号化された後のメッセージ及びＰ２の処理で作成された秘密鍵Ｋ１，Ｋ２を利用してＭＡＣを作成し、このＭＡＣをメッセージに挿入する（Ｐ１０）。ＳＮＭＰｖ３管理アプリケーション２６は、メッセージを多機能機５０に送信する（Ｐ１１）。多機能機５０は、メッセージを受信する。
【００５０】
ＳＮＭＰｖ３エージェントプログラム６０は、受信されたメッセージの認証処理を行なう（Ｍ８）。この認証処理は、Ｍ３の処理と同様である。ＳＮＭＰｖ３エージェントプログラム６０は、メッセージの復号化処理を行なう（Ｍ９）。ＳＮＭＰｖ３エージェントプログラム６０は、Ｍ１の処理で作成された暗号用ローカル秘密鍵Ｋ２を利用してメッセージを復号化する。復号化されたＯＩＤは、ワンタイムパスワードを作成することを指示する識別子である。従って、ＳＮＭＰｖ３エージェントプログラム６０は、ＯＴＰ作成プログラム５８（図３参照）を起動することによって、ワンタイムパスワードを作成する（Ｍ１０）。ＯＴＰ作成プログラム５８は、例えば、複数の文字（数字、アルファベット等）をランダムに抽出し、それらの文字を含む文字列（ワンタイムパスワード）を作成してもよい。また、ＯＴＰ作成プログラム５８は、例えば、前回に作成された文字列に対して所定のアルゴリズムに従って変更を加えることによって新たな文字列（ワンタイムパスワード）を作成してもよい。ＯＴＰ作成プログラム５８は、過去に作成されたワンタイムパスワード群と異なるワンタイムパスワードを作成することが好ましい。ワンタイムパスワードは、ＲＡＭ６６（図３参照）に記憶される。
【００５１】
ＳＮＭＰｖ３エージェントプログラム６０は、Ｍ１０の処理で作成されたワンタイムパスワードを含む返信メッセージを作成する（Ｍ１１）。ワンタイムパスワードは、返信メッセージのＳｃｏｐｅｄＰＵＤ２４０（図６参照）に挿入される。ＳＮＭＰｖ３エージェントプログラム６０は、返信メッセージのＳｃｏｐｅｄＰＵＤ２４０の部分（即ちワンタイムパスワード）を暗号化する（Ｍ１２）。ここでの暗号化手法は、ＰＣ１０でのＰ９の処理と同様である。ＳＮＭＰｖ３エージェントプログラム６０は、暗号化された返信メッセージと秘密鍵Ｋ１，Ｋ２とを利用してＭＡＣを作成し、このＭＡＣを返信メッセージに挿入する（Ｍ１３）。ＳＮＭＰｖ３エージェントプログラム６０は、返信メッセージをＰＣ１０に送信する（Ｍ１４）。ＰＣ１０は、返信メッセージを受信する。
【００５２】
ＳＮＭＰｖ３管理アプリケーション２６は、受信された返信メッセージの認証処理を行なう（Ｐ１２）。この処理は、上記のＰ６の処理と同様である。ＳＮＭＰｖ３管理アプリケーション２６は、Ｐ２の処理で作成された暗号用ローカル秘密鍵Ｋ２を利用して復号化処理を行なう（Ｐ１３）。これにより、ワンタイムパスワードを得ることができる。ＳＮＭＰｖ３管理アプリケーション２６は、ワンタイムパスワードを記憶する（Ｐ１４）。ワンタイムパスワードは、ＲＡＭ１４（図２参照）に記憶される。
【００５３】
ＳＮＭＰｖ３管理アプリケーション２６によってワンタイムパスワードが取得されると、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８は、パスワード認証リクエストを多機能機５０に送信する（Ｐ１５）。パスワード認証リクエストは、Ｐ１４の処理で記憶されたワンタイムパスワードを含んでいる。多機能機５０は、パスワード認証リクエストを受信する。
【００５４】
ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラム６２は、認証処理を行なう（Ｍ１５）。具体的に言うと、ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラム６２は、パスワード認証リクエストに含まれるワンタイムパスワードとＭ１０の処理で作成されたワンタイムパスワードとを比較し、両者が一致するのか否かを判断する。認証が成功した場合、ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラム６２は、認証ＯＫを示す返信メッセージをＰＣ１０に送信する（Ｍ１６）。ＰＣ１０は、返信メッセージを受信する。
【００５５】
ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８は、ユーザの指示に応じたリクエストを多機能機５０に送信する（Ｐ１６）。多機能機５０は、リクエストを受信する。多機能機５０は、リクエストに応じた処理を実行する。多機能機５０は、処理を実行すると、返信メッセージをＰＣ１０に送信する（Ｍ１７）。
【００５６】
（ＰＣが実行する処理）
続いて、ＰＣ１０のＣＰＵ１２が実行する処理の内容について詳しく説明する。図９〜図１１は、ＣＰＵ１２が実行する処理のフローチャートを示す。ユーザは、ＳＮＭＰｖ３管理アプリケーション２６を起動するための操作を操作部３８（図２参照）に加えることができる。この場合、ＣＰＵ１２は、ＳＮＭＰｖ３管理アプリケーション２６に従って図９に示される処理を実行する。
【００５７】
ＣＰＵ１２は、初期化処理を実行する（Ｓ１０）。この初期化処理では、ＣＰＵ１２は、例えば、各多機能機５０，９０，９２に関するリスト情報を表示する。図１２は、リスト情報の表示画面１２０の一例を示す。表示画面１２０は、各多機能機５０，９０，９２の情報１３２，１３４，１３６を含んでいる。例えば、ユーザは、情報１３２，１３４，１３６のいずれかを選択し（即ち１つの多機能機を選択し）、ＳＮＭＰｖ３の管理コマンド（ＧＥＴ又はＳＳＥＴ）を送信するための操作（以下では第１操作と呼ぶ）を操作部３８（図２参照）に加えることができる。また、例えば、ユーザは、情報１３２，１３４，１３６のいずれかを選択し（即ち１つの多機能機を選択し）、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８を起動するための操作（以下では第２操作と呼ぶ）を操作部３８に加えることもできる。図１２の例では、情報１３４がユーザによって選択されている。図１２のウィンドウ１４０は、上記の第２操作を実行するために開かれるウィンドウである。ウィンドウ１４０は、ＲｅｍｏｔｅＳｅｔｕｐという文字列１４２を含んでいる。ユーザは、文字列１４２に対して操作（例えばクリック）を加えることによって、第２操作を実行することができる。
【００５８】
ＣＰＵ１２は、ユーザによって操作が実行されることを監視している（Ｓ１２）。Ｓ１２でＹＥＳの場合、ＣＰＵ１２は、上記の第２操作が実行されたのか否かを判断する（Ｓ１４）。例えば、上記の第１操作が実行された場合、Ｓ１４でＮＯと判断される。この場合、ＣＰＵ１２は、第１操作に応じた処理を実行する（Ｓ１６）。例えば、ＣＰＵ１２は、ＳＮＭＰｖ３のＧＥＴリクエストやＳＥＴリクエストを送信する。一方において、Ｓ１４でＹＥＳの場合、Ｓ１８以降の処理を実行する。以下では、多機能機５０について第２操作が実行されたものとして、Ｓ１８以降の処理の内容を説明する。
【００５９】
Ｓ１８では、ＣＰＵ１２は、多機能機５０に関する情報を取得する。例えば、ＩＰアドレス等が取得される。次いで、ＣＰＵ１２は、ＥｎｇｉｎｅＩＤ要求メッセージを作成する（Ｓ２０）。ＣＰＵ１２は、ＥｎｇｉｎｅＩＤ要求メッセージを多機能機５０に送信する（Ｓ２２）。Ｓ２２の処理は、図４のＰ１の処理に対応する。ＣＰＵ１２は、返信メッセージを受信するまで待機する（Ｓ２４）。ＣＰＵ１２は、返信メッセージを受信すると（Ｓ２４でＹＥＳの場合）、その返信メッセージに含まれる多機能機５０のＥｎｇｉｎｅＩＤを記憶する（Ｓ２６）。多機能機５０のＥｎｇｉｎｅＩＤは、ＲＡＭ１４（図２参照）に記憶される。
【００６０】
続いて、ＣＰＵ１２は、認証用ローカル秘密鍵Ｋ１と暗号用ローカル秘密鍵Ｋ２を作成する（Ｓ２８）。Ｓ２８の処理は、図４のＰ２の処理に対応する。これらの秘密鍵Ｋ１，Ｋ２は、ＲＡＭ１４（図２参照）に記憶される。ＣＰＵ１２は、ＧＥＴ要求メッセージを作成する（Ｓ３０）。Ｓ３０の処理は、図４のＰ３の処理に対応する。ここでのＧＥＴ要求メッセージでは、時間情報としてゼロが挿入される。次いで、ＣＰＵ１２は、ＭＡＣを作成し、ＭＡＣをＧＥＴ要求メッセージに挿入する（Ｓ３２）。Ｓ３２の処理は、図４のＰ４の処理に対応する。ＣＰＵ１２は、ＧＥＴ要求メッセージを多機能機５０に送信する（Ｓ３４）。Ｓ３４の処理は、図４のＰ５の処理に対応する。ＣＰＵ１２は、返信メッセージを受信するまで待機する（Ｓ３６）。
【００６１】
返信メッセージを受信すると（Ｓ３６でＹＥＳの場合）、図１０のＳ４０に進む。Ｓ４０では、ＣＰＵ１２は、返信メッセージの認証処理を実行する。即ち、ＣＰＵ１２は、返信メッセージからＭＡＣを作成し、そのＭＡＣと返信メッセージに含まれるＭＡＣとを比較する。Ｓ４０の処理は、図５のＰ６の処理に対応する。ＣＰＵ１２は、認証が成功したことを条件として、Ｓ４２以降の処理を実行する。Ｓ４２では、ＣＰＵ１２は、返信メッセージに含まれる時間情報を記憶する。時間情報は、ＲＡＭ１４（図２参照）に記憶される。Ｓ４２の処理は、図５のＰ７の処理に対応する。次いで、ＣＰＵ１２は、ＧＥＴ要求メッセージを作成する（Ｓ４４）。ここでのＧＥＴ要求メッセージでは、ＯＩＤとしてワンタイムパスワード要求識別子が挿入される。Ｓ４４の処理は、図５のＰ８の処理に対応する。ＣＰＵ１２は、ＧＥＴ要求メッセージのＳｃｏｐｅｄＰＤＵの部分を暗号化する（Ｓ４６）。Ｓ４６の処理は、図５のＰ９の処理に対応する。さらに、ＣＰＵ１２は、ＭＡＣを作成し、ＭＡＣをＧＥＴ要求メッセージに挿入する（Ｓ４８）。Ｓ４８の処理は、図５のＰ１０の処理に対応する。ＣＰＵ１２は、ＧＥＴ要求メッセージを多機能機５０に送信する（Ｓ５０）。Ｓ５０の処理は、図５のＰ１１の処理に対応する。ＣＰＵ１２は、返信メッセージを受信するまで待機する（Ｓ５２）。
【００６２】
返信メッセージを受信すると（Ｓ５２でＹＥＳの場合）、ＣＰＵ１２は、返信メッセージの認証処理を実行する（Ｓ５４）。Ｓ５４の処理は、Ｓ４０の処理と同様である。Ｓ５４の処理は、図５のＰ１２の処理に対応する。次いで、ＣＰＵ１２は、暗号用ローカル秘密鍵Ｋ２を利用して復号化処理を実行する（Ｓ５６）。これにより、ワンタイムパスワードが得られる。Ｓ５６の処理は、図５のＰ１３の処理に対応する。ＣＰＵ１２は、ワンタイムパスワードを記憶する（Ｓ５８）。ワンタイムパスワードは、ＲＡＭ１４に記憶される。Ｓ５８の処理は、図５のＰ１４の処理に対応する。次いで、ＣＰＵ１２は、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８を起動する（Ｓ６０）。Ｓ６０を終えると、図９のＳ１２に戻る。この場合、ＣＰＵ１２は、図１１の処理も実行する。即ち、ＣＰＵ１２は、図９のＳ１２においてユーザの操作を監視しながら図１１の処理を実行する。
【００６３】
続いて、図１１の処理について説明する。上述したように、図１０のＳ６０でＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８が起動された場合に、図１１の処理が実行される。ＣＰＵ１２は、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８に従って図１１の処理を実行する。ＣＰＵ１２は、初期化処理を実行する（Ｓ７０）。次いで、ＣＰＵ１２は、パスワード認証メッセージを作成する（Ｓ７２）。パスワード認証メッセージには、図１０のＳ５８の処理で記憶されたワンタイムパスワードが含まれる。ＣＰＵ１２は、パスワード認証メッセージを多機能機５０に送信する（Ｓ７４）。Ｓ７４の処理は、図５のＰ１５の処理に対応する。ＣＰＵ１２は、返信メッセージを受信するまで待機する（Ｓ７６）。
【００６４】
返信メッセージを受信すると（Ｓ７６でＹＥＳの場合）、ＣＰＵ１２は、返信メッセージが認証ＯＫを示すものであるのか否かを判断する（Ｓ７８）。ここでＮＯの場合、ＣＰＵ１２は、認証が不成功であることを示す情報を表示する（Ｓ８０）。Ｓ８０を終えると、図１１のルーチンを終了する。一方において、Ｓ７８でＹＥＳの場合、ＣＰＵ１２は、エージェント操作画面を表示する（Ｓ８２）。ここでのエージェント操作画面は、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８に対応する管理コマンドを多機能機５０に送信する操作を加えるための画面である。例えば、多機能機５０の様々な設定情報（印刷媒体のサイズ等）が表示される。ユーザは、例えば、エージェント操作画面上において多機能機５０の設定情報を変更するための操作（以下では第３操作と呼ぶ）を加えることができる。
【００６５】
ＣＰＵ１２は、ユーザによって操作が実行されることを監視している（Ｓ８４）。Ｓ８４でＹＥＳの場合、ＣＰＵ１２は、ユーザの操作に応じた処理を実行する（Ｓ８６）。例えば、上記の第３操作が実行された場合、ＣＰＵ１２は、変更後の設定情報を含むリクエストを多機能機５０に送信する。この処理は、図５のＰ１６の処理に対応する。これにより、多機能機５０において設定情報が変更される。
【００６６】
（多機能機が実行する処理）
続いて、多機能機５０のＣＰＵ５２が実行する処理の内容について詳しく説明する。図１３〜図１６は、ＣＰＵ５２が実行する処理のフローチャートを示す。図１３の処理は、基本的にはシステム制御プログラム５６（図３参照）に従って実行される。図１３〜図１６の処理は、多機能機５０の電源がＯＮされると実行される。ＣＰＵ５２は、初期化処理を実行する（Ｓ１００）。この初期化処理において、ＣＰＵ５２は、認証用ローカル秘密鍵Ｋ１と暗号用ローカル秘密鍵Ｋ２を作成する。Ｓ１００の処理は、図４のＭ１の処理に対応する。
【００６７】
多機能機５０は、様々な指示や情報を入力することができる。多機能機５０は、例えば、ＰＣ１０等の外部装置から送信される様々なメッセージ（リクエスト）を受信する。また、ユーザが操作キー７２（図３参照）を操作した場合も、多機能機５０に指示や情報が入力される。ＣＰＵ５２は、これらのイベントが発生することを監視している（Ｓ１０２）。Ｓ１０２でＹＥＳの場合、ＣＰＵ５２は、発生したイベントが管理メッセージの受信であるのか否かを判断する（Ｓ１０４）。ここでの管理メッセージという用語は、ＳＮＭＰｖ３管理アプリケーション２６及びＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８に従って送信されるメッセージを総括する表現である。即ち、図９のＳ２２、図９のＳ３４、図１０のＳ５０、図１１のＳ７４、及び、図１１のＳ８６で送信されるメッセージが管理メッセージである。また、管理アプリケーション２６，２８以外の管理アプリケーションに従って送信されるメッセージが受信された場合も、Ｓ１０４でＹＥＳと判断される。なお、以下では、ＰＣ１０から送信された管理メッセージが受信された場合を例にして、Ｓ１０４でＹＥＳと判断された場合の処理を説明する。
【００６８】
Ｓ１０４でＮＯの場合、ＣＰＵ５２は、イベントの内容に応じた処理を実行する（Ｓ１０６）。例えば、コピー機能を実行するための操作をユーザが操作キー７２（図３参照）に加えた場合、ＣＰＵ５２は、スキャナ制御部７６と印刷制御部８０に指示を出力する。一方において、Ｓ１０４でＹＥＳの場合、ＣＰＵ５２は、管理メッセージのプロトコルがＳＮＭＰｖ３であるのか否かを判断する。図９のＳ２２、図９のＳ３４、又は、図１０のＳ５０で送信されたメッセージが受信された場合、ＣＰＵ５２は、Ｓ１０８でＹＥＳと判断する。この場合、ＣＰＵ５２は、ＳＮＭＰｖ３エージェントプログラム６０（図３参照）に従って、ＳＮＭＰｖ３処理を実行する（Ｓ１１０）。ＳＮＭＰｖ３処理の内容については、後で詳しく説明する。
【００６９】
一方において、Ｓ１０８でＮＯの場合、ＣＰＵ５２は、管理メッセージのプロトコルがＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８で利用されているプロトコルであるのか否かを判断する（Ｓ１１２）。図１１のＳ７４、又は、図１１のＳ８６で送信されたメッセージが受信された場合、ＣＰＵ５２は、Ｓ１１２でＹＥＳと判断する。この場合、ＣＰＵ５２は、ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラム６２（図３参照）に従って、ＲｅｍｏｔｅＳｅｔｕｐ処理を実行する（Ｓ１１４）。ＲｅｍｏｔｅＳｅｔｕｐ処理の内容については、後で詳しく説明する。Ｓ１１２でＮＯの場合、ＣＰＵ５２は、管理メッセージの内容に応じた処理を実行する（Ｓ１１６）。
【００７０】
続いて、図１３のＳ１１０で実行されるＳＮＭＰｖ３処理の内容について説明する。図１４は、ＳＮＭＰｖ３処理のフローチャートを示す。ＣＰＵ５２は、図１３のＳ１０４で受信された管理メッセージがＥｎｇｉｎｅＩＤ要求メッセージであるのか否かを判断する（Ｓ１２０）。即ち、ＣＰＵ５２は、図９のＳ２２でＰＣ１０から送信されたメッセージが受信されたのか否かを判断する。ここでＹＥＳの場合、ＣＰＵ５２は、多機能機５０のＥｎｇｉｎｅＩＤを収集する（Ｓ１２２）。ＥｎｇｉｎｅＩＤは、不揮発性メモリ６８に記憶されている。ＣＰＵ５２は、不揮発性メモリ６８からＥｎｇｉｎｅＩＤを読み出すことによって、Ｓ１２２の処理を実行する。次いで、ＣＰＵ５２は、Ｓ１２２で収集されたＥｎｇｉｎｅＩＤを含む返信メッセージを作成する（Ｓ１２４）。ＣＰＵ５２は、Ｓ１２４で作成された返信メッセージをＰＣ１０に送信する（Ｓ１４４）。ここでのＳ１４４の処理は、図４のＭ２の処理に対応する。これにより、図９のＳ２４において、ＰＣ１０は、ＥｎｇｉｎｅＩＤを含む返信メッセージを受信する。
【００７１】
Ｓ１２０でＮＯの場合、ＣＰＵ５２は、図１３のＳ１０４で受信された管理メッセージの認証処理を実行する（Ｓ１２６）。即ち、ＣＰＵ５２は、管理メッセージからＭＡＣを作成し、そのＭＡＣと管理メッセージに含まれるＭＡＣとを比較する。Ｓ１２６の処理は、図４のＭ３及び図５のＭ８の処理に対応する。なお、図５のＭ８に対応する処理をＳ１２６で実行する場合、ＣＰＵ５２は、時間情報の認証を実行する。即ち、ＣＰＵ１０４は、図１３のＳ１０４で受信された管理メッセージに含まれる時間情報と多機能機５０における現在の時間情報との差が所定時間内であるのか否かを判断する。ここでの所定時間は、後述するＳ１３８の処理でレジスタに保持される。本実施例では、上記の所定時間は１５０秒である。ＣＰＵ５２は、認証が成功したのか否かを判断する（Ｓ１２８）。認証が成功しなかった場合、ＣＰＵ５２は、認証が成功しなかったことを示すメッセージを作成し、作成されたメッセージをＰＣ１０に送信する（Ｓ１４４）。一方において、認証が成功した場合、ＣＰＵ５２は、Ｓ１３０以降の処理を実行する。
【００７２】
Ｓ１３０では、ＣＰＵ５２は、管理メッセージがＧＥＴ要求メッセージとＳＥＴ要求メッセージのどちらであるのかを判断する。管理メッセージがＳＥＴ要求メッセージである場合、ＣＰＵ５２は、Ｓ１３０でＮＯと判断し、ＳＥＴ要求メッセージに含まれるＰＤＵ２４６（図６参照）に対応する処理を実行する（Ｓ１３２）。ＣＰＵ５２は、例えば、必要であればＳｃｏｐｅｄＰＤＵ２４０の復号化を実行する。さらに、ＣＰＵ５２は、例えば、ＰＤＵ２４６に含まれるＯＩＤ２６４（図８参照）によって指定された設定情報をＶａｌｕｅ２６６（図８参照）で指定された値に変更する。これにより、多機能機５０において、設定情報が変更される。Ｓ１３２を終えると、ＣＰＵ５２は、ＳＥＴ要求メッセージに対応する処理を終了したことを示すメッセージを作成し、作成されたメッセージをＰＣ１０に送信する（Ｓ１４４）。
【００７３】
一方において、管理メッセージがＧＥＴ要求メッセージである場合、ＣＰＵ５２は、Ｓ１３０でＹＥＳと判断し、時間情報がゼロであるのか否かを判断する（Ｓ１３４）。即ち、ＣＰＵ５２は、管理メッセージのＳｅｃｕｒｉｔｙＰａｒａｍｅｔｅｒｓ２２０に含まれる領域２２４と領域２２６（図７参照）にゼロが挿入されているのか否かを判断する。ここでＹＥＳの場合、ＣＰＵ５２は、多機能機５０の時間情報を収集する（Ｓ１３６）。時間情報は、不揮発性メモリ６８に記憶されている。ＣＰＵ５２は、不揮発性メモリ６８から時間情報を読み出すことによって、Ｓ１３６の処理を実行する。Ｓ１３６の処理は、図４のＭ４の処理に対応する。次いで、ＣＰＵ５２は、Ａｃｔｉｖａｔｅ処理を実行する（Ｓ１３８）。具体的に言うと、ＣＰＵ５２は、基準値（本実施例では１５０秒）をレジスタに記憶させる。ここで記憶された基準値は、上記のＳ１２６の処理において時間情報の認証を実行する際に利用される。
【００７４】
次いで、ＣＰＵ５２は、Ｓ１３６で収集された時間情報を含む返信メッセージを作成する（Ｓ１４０）。Ｓ１４０の処理は、図４のＭ５の処理に対応する。さらに、ＣＰＵ５２は、ＭＡＣを作成し、ＭＡＣを返信メッセージに挿入する（Ｓ１４２）。Ｓ１４２の処理は、図４のＭ６の処理に対応する。ＣＰＵ５２は、返信メッセージを多機能機５０に送信する（Ｓ１４４）。ここでのＳ１４４の処理は、図４のＭ７の処理に対応する。これにより、図９のＳ３６において、ＰＣ１０は、時間情報を含む返信メッセージを受信する。
【００７５】
続いて、Ｓ１３４でＮＯと判断された場合の処理について説明する。Ｓ１３４でＮＯと判断された場合、図１５のＳ１５０に進む。Ｓ１５０では、ＣＰＵ５２は、暗号用ローカル秘密鍵Ｋ２を利用して復号化処理を実行する。これにより、管理メッセージのＳｃｏｐｅｄＰＤＵ２４０（図６参照）の部分が復号化される。Ｓ１５０の処理は、図５のＭ９の処理に対応する。次いで、ＣＰＵ５２は、復号化されたＳｃｏｐｅｄＰＤＵ２４０の中から、領域２６４（図８参照）に挿入されている識別子を特定する（Ｓ１５２）。即ち、ＣＰＵ５２は、ＯＩＤを特定する。
【００７６】
ＣＰＵ５２は、Ｓ１５２で特定されたＯＩＤの内容に応じた処理を実行する（Ｓ１５４）。例えば、ＯＩＤがステータス情報を要求する識別子である場合、ＣＰＵ５２は、多機能機５０のステータス情報（例えば消耗品（インクやトナー）の残量）を収集する。また、例えば、ＯＩＤがワンタイムパスワード要求識別子である場合、ＣＰＵ５２は、ＯＴＰ作成プログラム５８（図３参照）を起動し、ワンタイムパスワードを作成する。この処理は、図５のＭ１０の処理に対応する。Ｓ１５４でワンタイムパスワードが作成された場合、そのワンタイムパスワードは、ＲＡＭ６６（図３参照）のワンタイムパスワードリストに記憶される。図１７は、ワンタイムパスワードリスト１５０の一例を示す。ワンタイムパスワードリスト１５０は、ワンタイムパスワード１６０とデバイス情報１６２と有効フラグ１６４とが対応づけられたものである。Ｓ１５４でワンタイムパスワードが作成された場合、ＣＰＵ５２は、そのワンタイムパスワードを欄１６０に新たに書き込む。この段階では、新たなワンタイムパスワードに対応づけて、欄１６２と欄１６４に情報が書き込まれない。なお、欄１６２には、後述する図１６のＳ１８８の処理でデバイス情報が書き込まれる。また、欄１６４には、後述するＳ１９２の処理で有効フラグが書き込まれる。なお、有効フラグは、ＯＮとＯＦＦのどちらかの値を持つ。
【００７７】
次いで、ＣＰＵ５２は、Ｓ１５４で作成（もしくは収集）された情報を含む返信メッセージを作成する（Ｓ１５６）。例えば、Ｓ１５４でワンタイムパスワードが作成された場合、ＣＰＵ５２は、ワンタイムパスワードを含む返信メッセージを作成する。この処理は、図５のＭ１１の処理に対応する。ＣＰＵ５２は、返信メッセージのＳｃｏｐｅｄＰＤＵ２４０（図６参照）の部分を暗号化する（Ｓ１５８）。Ｓ１５８の処理は、図５のＭ１２の処理に対応する。さらに、ＣＰＵ５２は、ＭＡＣを作成し、ＭＡＣを返信メッセージに挿入する（Ｓ１６０）。Ｓ１６０の処理は、図５のＭ１３の処理に対応する。ＣＰＵ５２は、返信メッセージを多機能機５０に送信する（Ｓ１４４）。ここでのＳ１４４の処理は、図５のＭ１４の処理に対応する。これにより、図１０のＳ５２において、ＰＣ１０は、ワンタイムパスワードを含む返信メッセージを受信する。
【００７８】
続いて、図１３のＳ１１２で実行されるＲｅｍｏｔｅＳｅｔｕｐ処理の内容について説明する。図１６は、ＲｅｍｏｔｅＳｅｔｕｐ処理のフローチャートを示す。ＣＰＵ５２は、図１３のＳ１０４で受信された管理メッセージがパスワード認証メッセージであるのか否かを判断する（Ｓ１８０）。即ち、ＣＰＵ５２は、図１１のＳ７４でＰＣ１０から送信されたメッセージが受信されたのか否かを判断する。ここでＹＥＳの場合、ＣＰＵ５２は、認証処理を実行する（Ｓ１８２）。ＣＰＵ５２は、パスワード認証メッセージに含まれるワンタイムパスワードを特定する。次いで、ＣＰＵ５２は、パスワード認証メッセージに含まれるワンタイムパスワードがＲＡＭ６６（図３参照）のワンタイムパスワードリスト１５０に記憶されているのか否かを判断する（Ｓ１８４）。具体的に言うと、ＣＰＵ５２は、まず、ワンタイムパスワードリスト１５０の中から、デバイス情報１６２と有効フラグ１６４が対応づけられていないワンタイムパスワード（群）を特定する。図１７の例では、ワンタイムパスワード「ｆｇｈｉｊ」が特定される。次いで、ＣＰＵ５２は、特定されたワンタイムパスワード（群）の中に、パスワード認証メッセージに含まれるワンタイムパスワードが存在するのか否かを判断する。Ｓ１８２及びＳ１８４の処理は、図５のＭ１５の処理に対応する。
【００７９】
Ｓ１８４でＮＯの場合、ＣＰＵ５２は、認証が成功しなかったことを示すメッセージを作成する（Ｓ１８６）。ＣＰＵ５２は、Ｓ１８６で作成されたメッセージをＰＣ１０に送信する（Ｓ１４４）。これにより、ＰＣ１０は、図１１のＳ７６でメッセージを受信し、Ｓ７８でＮＯと判断し、Ｓ８０でエラーを表示する。一方において、Ｓ１８４でＹＥＳの場合、ＣＰＵ５２は、ワンタイムパスワードリスト１５０にデバイス情報１６２を登録する（Ｓ１８８）。具体的に言うと、ＣＰＵ５２は、Ｓ１８４で認証成功と判断されたワンタイムパスワードに対応づけてＰＣ１０のＩＰアドレスを書き込む。例えば、Ｓ１８４で認証成功と判断されたワンタイムパスワードが「ｆｇｈｉｊ」である場合、ＣＰＵ５２は、「ｆｇｈｉｊ」に対応づけてＰＣ１０のＩＰアドレスを書き込む。
【００８０】
続いて、ＣＰＵ５２は、Ｓ１８８で登録されたワンタイムパスワードに対応するタイマをスタートする（Ｓ１９０）。後で詳しく述べるが、タイマは、ゼロから３００秒までカウントする。次いで、ＣＰＵ５２は、ワンタイムパスワードリスト１５０に有効フラグＯＮを書き込む（Ｓ１９２）。具体的に言うと、ＣＰＵ５２は、Ｓ１８８で登録されたデバイス情報（ＩＰアドレス）にさらに対応づけて有効フラグＯＮを書き込む（Ｓ１９２）。例えば、Ｓ１９２で「ｆｇｈｉｊ」に対応づけてＰＣ１０のＩＰアドレスが書き込まれた場合、ＣＰＵ５２は、ＰＣ１０のＩＰアドレスに対応づけて（即ち「ｆｇｈｉｊ」に対応づけて）有効フラグＯＮを書き込む。続いて、ＣＰＵ５２は、認証が成功したことを示すメッセージを作成する（Ｓ１９４）。ＣＰＵ５２は、Ｓ１９４で作成されたメッセージをＰＣ１０に送信する（Ｓ１９６）。これにより、ＰＣ１０は、図１１のＳ７６でメッセージを受信し、Ｓ７８でＹＥＳと判断し、Ｓ８２以降の処理を実行する。Ｓ１９６の処理は、図５のＭ１６の処理に対応する。
【００８１】
上述したように、図１１のＳ８６では、ＰＣ１０は、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８に従ってリクエストを多機能機５０に送信することができる。このようなリクエスト（管理メッセージ）が多機能機５０で受信された場合、図１６のＳ１８０においてＮＯと判断される。この場合、ＣＰＵ５２は、上記のリクエストの送信元（本実施例ではＰＣ１０）のＩＰアドレスがワンタイムパスワードリスト１５０に存在するのか否かを判断する（Ｓ１９８）。ここでＹＥＳの場合、ＣＰＵ５２は、上記のリクエストの送信元（本実施例ではＰＣ１０）のＩＰアドレスに対応づけられている有効フラグがＯＮであるのか否かを判断する（Ｓ２００）。ここでＹＥＳの場合、ＣＰＵ５２は、上記のリクエストに応じた処理を実行する（Ｓ２０２）。例えば、上記のリクエストが多機能機５０の設定情報を変更することを指示するものである場合、ＣＰＵ５２は、設定情報を変更する。この場合、ＣＰＵ５２は、設定情報を変更したことを示すメッセージをＰＣ１０に送信する。また、上記のリクエストが多機能機５０の所定の情報を返信することを指示するものである場合、ＣＰＵ５２は、上記の所定の情報を含むメッセージをＰＣ１０に送信する。Ｓ２０２でＰＣ１０にメッセージを送信する処理は、図５のＭ１７の処理に対応する。なお、Ｓ１９８又はＳ２００でＮＯと判断された場合、ＣＰＵ５２は、メッセージに応じた処理（Ｓ２０２）を実行しない。
【００８２】
続いて、ＣＰＵ５２が実行する他の処理（フローチャートには示されていない処理）について説明する。上述したように、図１６のＳ１９０の処理では、ワンタイムパスワードに対応するタイマがスタートされる。ＣＰＵ５２は、タイマのカウント値が３００秒に到達することを監視している。ＣＰＵ５２は、カウント値が３００秒に到達したタイマに対応するワンタイムパスワードに対応づけられている有効フラグをＯＮからＯＦＦに変更する。これにより、ワンタイムパスワードが無効化される。なお、ワンタイムパスワードを無効化する手法は、ここで例示した手法に限られない。例えば、コネクション形式のプロトコル（例えばＴＣＰ）の場合、ＣＰＵ５２は、ＰＣ１０とのＴＣＰコネクションが切断されると、ＰＣ１０のＩＰアドレスに対応づけられている有効フラグをＯＮからＯＦＦに変更してもよい。また、ＰＣ１０からのセッション終了コマンドが受信された場合、ＣＰＵ５２は、ＰＣ１０のＩＰアドレスに対応づけられている有効フラグをＯＮからＯＦＦに変更してもよい。また、例えば、コネクション形式と非コネクション形式のプロトコル（例えばＵＤＰ）のいずれの場合であっても、ＣＰＵ５２は、ワンタイムパスワードの認証回数が所定回数（１以上の整数）に到達すると、有効フラグをＯＮからＯＦＦに変更してもよい。
【００８３】
上記の多機能機管理システム２では、図１１のＳ７４で送信されるパスワード認証メッセージは、暗号化通信に対応していないプロトコルによって実行される。このために、パスワード認証メッセージの通信の過程でワンタイムパスワードが第三者に盗み見られる可能性は排除できない。しかしながら、ワンタイムパスワードは、そのワンタイムパスワードの認証が成功してから３００秒が経過すると無効化される。このために、第三者がワンタイムパスワードを利用して多機能機５０にアクセスしようとしても、認証が成功しない。第三者が多機能機５０を不正に操作することを防止することができる。なお、ＰＣ１０と多機能機５０の両方に記憶されているセキュリティ情報１００（図４参照）のＡｕｔｈＫｅｙ１０６やＰｒｉｖＫｅｙ１１０は、ＰＣ１０から多機能機５０にＭＡＣとして送信される。第三者が仮にＭＡＣを盗み見たとしても、そのＭＡＣからＡｕｔｈＫｅｙ１０６やＰｒｉｖＫｅｙ１１０を復元することはできない。このために、第三者がＡｕｔｈＫｅｙ１０６やＰｒｉｖＫｅｙ１１０を利用して多機能機５０にアクセスし、多機能機５０からワンタイムパスワードを取得することはできない。非常に高いセキュリティが確保されているシステム２が実現されている。
【００８４】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００８５】
上記の実施例では、ＳＮＭＰｖ３管理アプリケーション２６が起動されている状態でＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８の起動要求が入力された場合に、ＳＮＭＰｖ３管理アプリケーション２６は、ワンタイムパスワードの作成を多機能機５０に要求する。この構成によると、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８にＳＮＭＰｖ３管理アプリケーション２６を起動するためのプログラムを搭載しなくてもよい。しかしながら、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８にＳＮＭＰｖ３管理アプリケーション２６を起動するためのプログラムを搭載してもよい。この場合、ＳＮＭＰｖ３管理アプリケーション２６が起動されていない状態でＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８が起動された場合に、ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション２８は、ＳＮＭＰｖ３管理アプリケーション２６を起動することができる。ＳＮＭＰｖ３管理アプリケーション２６は、ワンタイムパスワードの作成を多機能機５０に要求することができる。
【００８６】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００８７】
【図１】多機能機管理システムの構成を示す。
【図２】ＰＣの構成を示す。
【図３】多機能機の構成を示す。
【図４】ＰＣと多機能機が実行する処理のタイムチャートを示す。
【図５】図４の続きのタイムチャートを示す。
【図６】ＳＮＭＰｖ３のメッセージの構成を示す。
【図７】ＳｅｃｕｒｉｔｙＰａｒａｍｅｔｅｒｓの構成を示す。
【図８】ＰＤＵの構成を示す。
【図９】ＳＮＭＰｖ３管理アプリケーションに従ってＰＣが実行する処理のフローチャートを示す。
【図１０】図９の続きのフローチャートを示す。
【図１１】ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーションに従ってＰＣが実行する処理のフローチャートを示す。
【図１２】ＳＮＭＰｖ３管理アプリケーションの初期画面の一例を示す。
【図１３】多機能機が実行する処理のフローチャートを示す。
【図１４】ＳＮＭＰｖ３処理のフローチャートを示す。
【図１５】図１４の続きのフローチャートを示す。
【図１６】ＲｅｍｏｔｅＳｅｔｕｐ処理のフローチャートを示す。
【図１７】ワンタイムパスワードリストの一例を示す。
【符号の説明】
【００８８】
１０：ＰＣ
２６：ＳＮＭＰｖ３管理アプリケーション
２８：ＲｅｍｏｔｅＳｅｔｕｐ管理アプリケーション
５０，９０，９２：多機能機
６０：ＳＮＭＰｖ３エージェントプログラム
６２：ＲｅｍｏｔｅＳｅｔｕｐエージェントプログラム
１００：セキュリティ情報
１５０：ワンタイムパスワードリスト
【図１】
2010026949.tif 000003
【図２】
2010026949.tif 000004
【図３】
2010026949.tif 000005
【図４】
2010026949.tif 000006
【図５】
2010026949.tif 000007
【図６】
2010026949.tif 000008
【図７】
2010026949.tif 000009
【図８】
2010026949.tif 000010
【図９】
2010026949.tif 000011
【図１０】
2010026949.tif 000012
【図１１】
2010026949.tif 000013
【図１３】
2010026949.tif 000014
【図１４】
2010026949.tif 000015
【図１５】
2010026949.tif 000016
【図１６】
2010026949.tif 000017
【図１７】
2010026949.tif 000018
【図１２】
2010026949.tif 000019