JP4597551B2 - ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム - Google Patents

ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム Download PDF

Info

Publication number
JP4597551B2
JP4597551B2 JP2004058270A JP2004058270A JP4597551B2 JP 4597551 B2 JP4597551 B2 JP 4597551B2 JP 2004058270 A JP2004058270 A JP 2004058270A JP 2004058270 A JP2004058270 A JP 2004058270A JP 4597551 B2 JP4597551 B2 JP 4597551B2
Authority
JP
Japan
Prior art keywords
update
software
communication path
updated
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
JP2004058270A
Other languages
English (en)
Other versions
JP2004318838A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004058270A priority Critical patent/JP4597551B2/ja
Priority to US10/810,696 priority patent/US7555657B2/en
Publication of JP2004318838A publication Critical patent/JP2004318838A/ja
Application granted granted Critical
Publication of JP4597551B2 publication Critical patent/JP4597551B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

この発明は、ネットワークを介して通信可能な被更新装置のソフトウェアを更新するソフトウェア更新装置、このようなソフトウェア更新装置と被更新装置とによって構成されるソフトウェア更新システム、上記のソフトウェア更新装置によるソフトウェア更新方法、コンピュータを上記のソフトウェア更新装置として機能させるためのプログラムに関する。そして、更新すべきソフトウェアとしては、例えばファームウェアやアプリケーションプログラム等が考えられる。
従来から、プリンタ,FAX装置,コピー機,スキャナ,デジタル複合機等の画像処理装置において、ハードウェアの基本的な制御を行うためのソフトウェアであるファームウェアを更新可能とすることが行われている。そして、特許文献1には、サービスセンタが画像形成装置からファームウェアのバージョン情報を取得し、バージョンが古く、更新が必要だと判断した場合に通信コントロール装置を介して画像形成装置にファームウェアを送信してファームウェアの更新を行わせる画像形成装置管理システムが記載されている。
特開2002−288066号公報
ところで、特許文献1に記載の画像形成装置管理システムは、基本的にサービスセンタと通信コントロール装置との間の通信は公衆回線(PSTN)や専用回線、通信コントロール装置と画像形成装置との間の通信はRS−485規格の通信経路を用いて行うものである。
これに対し、近年では、汎用性や拡張性を重視し、管理装置と被管理装置との間の通信を、インターネットやローカルエリアネットワーク(LAN)等のネットワークを介して行う管理システムが提案されている。そして、このような管理システムにおいても、特許文献1の場合と同様に、管理装置から被管理装置にファームウェアを送信してファームウェアの更新を行わせることが考えられる。
この場合の処理として考えられるのは、例えば図26のシーケンス図に示す処理である。なお、この場合においては、管理装置はファームウェア更新装置(ファーム更新装置)、被管理装置はファームウェア(以下単に「ファーム」ともいう)の被更新装置であると考えられる。
図26に示す処理においては、ファーム更新装置91と被更新装置92とはFTP(File Transfer Protocol)を用いて通信を行うが、予めファーム更新装置91にFTPのためのIDとパスワードを設定しておき、これらをファーム更新装置91と被更新装置92の双方に記憶させておくものとする。
この処理において、まずファーム更新装置91が、一定時間毎あるいは所定のイベントが発生した場合等に、バージョン情報取得処理を実行し、被更新装置92にIDとパスワードを送信してFTPによる接続を要求する。IDとパスワードはFTPの規格に従ったものであり、接続を要求された被更新装置92はこれらによってファーム更新装置91を認証することができる。そして、このIDとパスワードを記憶しているものと比較し、一致すれば認証成功として接続を確立する(S11)。ID又はパスワードが一致しなかった場合には接続は確立されず、エラーとなって処理は終了する。
接続が確立されると、ファーム更新装置91は被更新装置92にファームウェアのバージョン情報を送信するよう要求し、被更新装置92がこれに応答してファームのバージョン情報を送信する(S12)。その後、ファーム更新装置91は被更新装置92との接続を切断する(S13)。以上がバージョン情報取得処理である。
次に、ファーム更新装置91は取得したファームのバージョン情報をもとに更新の要否を判断する。既に最新のバージョンのファームが被更新装置92にインストールされていれば、更新は不要である。ここで更新不要と判断すれば処理を終了し、その後トリガが発生した場合に再度バージョン情報取得処理を行うことになる。しかし、更新が必要と判断すれば(S14)、次のファーム送信処理を実行する。
この処理では、まずステップS11の場合と同様に被更新装置92にIDとパスワードを送信し、接続を確立する(S15)。そして、更新用のファームを被更新装置92に送信する(S16)。被更新装置92側では、これを受信すると、ファームの更新処理を行い(S17)、更新が完了すると自身をリセットし、再起動して新たなファームを有効にする(S18)。また、被更新装置92のリセットにより、FTP接続は切断される。以上がファーム送信処理である。
以上の処理によって、必要な場合に被更新装置92のファームを更新することができる。そして、再度バージョン情報取得処理やファーム送信処理を行う場合も、シーケンス図の続きに同じステップ番号で示したように、同じパスワードを用いて同様な処理を行う。
しかし、FTPによる通信は、データを暗号化しないため、IDやパスワードも平文のままネットワーク上を転送されることになる。従って、図27に示すように、ファーム更新装置91と被更新装置92との間の通信経路をパケットモニタ93によってモニタリングすれば、転送されるデータパケットからIDやパスワードを取り出すことができてしまう。そして、これを悪用すれば、第3者がファーム更新装置91になりすまして被更新装置92にアクセスし、ファームを不正なものに更新させることも可能になってしまう。
従って、図26に示したようにFTPによって送信したパスワードを何度も繰り返して用いることは、安全面で問題があると言える。
以上のような点は、更新対象のソフトウェアがファームウェアでなく、それ以外の例えばアプリケーションプログラムであっても、同様に問題となる。
なお、特許文献1に記載のようにPSTN,専用回線,RS−485のような通信経路を用いた場合には、独自の通信プロトコルを用いて通信することになるため、各装置をハード的に解析し、プロトコルを知得しなければ通信をモニタリングすることができない。従って、モニタリングが困難であるので、このような安全面の問題は発生せず、そのためこの問題を解決する手段についても特に記載されていない。
しかし、TCP/IP(Transmission Control Protocol/Internet Protocol)等のインターネットの標準技術を利用してソフトウェア更新システムを構築しようとする場合には、このような安全面の問題の解決は重要な課題となる。
ところで、上記の問題を解消するためには、通信内容を暗号化する通信プロトコルとして例えばSSL(Secure Socket Layer)と呼ばれるプロトコルが開発されており、広く用いられている。このプロトコルを用いて通信を行うことにより、公開鍵暗号方式と共通鍵暗号方式とを組み合わせ、通信相手の認証を行うと共に、情報の暗号化により改竄及び盗聴の防止を図ることができる。
このようなSSLによる通信を行えば、ファーム更新装置91と被更新装置92とが安全に共通鍵を交換することができ、通信を安全に行うことができる。しかしながら、SSLのように暗号化処理を含む通信方式は、認証やデータ転送に係る処理負荷が、FTPのように暗号化を行わない通信方式よりも大きくなってしまう。
特に、ソフトウェアのように大きなサイズのデータを送信する場合には、この影響が大きい。またもちろん、FTPとSSL以外のプロトコルを使用する場合でも、処理負荷の大小の問題は同様に存在する。
この発明は、これらの問題を解決し、ネットワークを介して通信可能な被更新装置のソフトウェアをソフトウェア更新装置によって更新する場合において、高い安全性を確保しながら更新処理の負荷を低減することを目的とする。
上記の目的を達成するため、この発明は、ネットワークを介して被更新装置と通信可能なソフトウェア更新装置において、上記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で上記被更新装置に送信して記憶するよう要求する認証情報設定手段と、上記被更新装置に上記更新用認証情報を送信し、その認証情報による認証処理を要求する認証要求手段と、その認証処理が成功した場合に更新用ソフトウェアを上記第1の通信経路よりも処理負荷の小さい第2の通信経路で上記被更新装置に送信する送信手段と、上記被更新装置との通信に基づき、上記被更新装置においてソフトウェアの上記更新用ソフトウェアへの更新が成功したと判断した場合に、上記更新用認証情報に上書きさせるための消去用情報を生成し、これを上記第1の通信経路で上記被更新装置に送信して上記更新用認証情報に上書きして記憶するよう要求する認証情報消去手段とを設けたものである。
このようなソフトウェア更新装置において、上記被更新装置のソフトウェアの更新を、外部からのソフトウェア更新要求に応じて行い、その結果をその更新要求の要求元に返す手段を設けるとよい。
さらに、上記被更新装置から起動した旨を示す起動通知を受け付ける手段と、上記更新用ソフトウェアの送信後に上記被更新装置から上記起動通知を受け付けた場合にその被更新装置からソフトウェアのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認する手段とを設けるとよい。
さらにまた、上記第1の通信経路をSSLによる通信を行う通信経路とし、上記第2の通信経路をFTPによる通信を行う通信経路とするとよい。
あるいは、上記第1の通信経路を、送信すべきデータを暗号化して送信する通信経路とし、上記第2の通信経路を、送信すべきデータを暗号化しないで送信する通信経路としてもよい。
また、この発明のソフトウェア更新システムは、ネットワークを介して互いに通信可能なソフトウェア更新装置と被更新装置とによって構成されるソフトウェア更新システムにおいて、上記ソフトウェア更新装置に、上記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で上記被更新装置に送信して記憶するよう要求する認証情報設定手段と、上記被更新装置に上記更新用認証情報を送信し、その認証情報による認証処理を要求する認証要求手段と、その認証処理が成功した場合に更新用ソフトウェアを上記第1の通信経路よりも処理負荷の小さい第2の通信経路で上記被更新装置に送信する送信手段と、上記被更新装置との通信に基づき、上記被更新装置においてソフトウェアの上記更新用ソフトウェアへの更新が成功したと判断した場合に、上記更新用認証情報に上書きさせるための消去用情報を生成し、これを上記第1の通信経路で上記被更新装置に送信して上記更新用認証情報に上書きして記憶するよう要求する認証情報消去手段とを設け、上記被更新装置に、上記更新用認証情報を記憶するよう要求された場合にこれを記憶する記憶手段と、上記認証処理を要求された場合に、受信した更新用認証情報と上記記憶手段に記憶している更新用認証情報とを用いて認証処理を行って結果を返す認証手段と、その認証処理が成功した場合に上記更新用ソフトウェアを受信し、自機のソフトウェアをその更新用ソフトウェアに更新する更新手段と、上記更新装置と通信して、その更新装置に上記更新手段によるソフトウェアの更新が成功したことを確認させる手段と、上記消去用情報を記憶するよう要求された場合にこれを上記更新用認証情報に上書きして記憶する手段とを設けたものである。
このようなソフトウェア更新システムにおいて、上記被更新装置に、上記ソフトウェアの更新が成功したことを確認させる手段として、上記更新手段によるソフトウェアの更新後に自機を再起動する手段と、起動時に上記ソフトウェア更新装置にその旨を示す起動通知を送信する手段と、上記ソフトウェア更新装置からの要求に応じてその装置にソフトウェアのバージョン情報を送信する手段とを設け、上記ソフトウェア更新装置に、上記更新用ソフトウェアの送信後に上記被更新装置から上記起動通知を受け付けた場合にその被更新装置に対してソフトウェアのバージョン情報の送信を要求してそのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認する手段を設けるとよい。
さらにまた、上記第1の通信経路をSSLによる通信を行う通信経路とし、上記第2の通信経路をFTPによる通信を行う通信経路とするとよい。
あるいは、上記第1の通信経路を、送信すべきデータを暗号化して送信する通信経路とし、上記第2の通信経路を、送信すべきデータを暗号化しないで送信する通信経路としてもよい。
また、この発明のソフトウェア更新方法は、ソフトウェア更新装置によって、ネットワークを介して通信可能な被更新装置のソフトウェアを更新するソフトウェア更新方法において、上記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で上記被更新装置に送信して記憶させ、上記被更新装置に上記更新用認証情報を送信してその認証情報による認証処理を行わせ、その認証処理が成功した場合に更新用ソフトウェアを上記第1の通信経路よりも処理負荷の小さい第2の通信経路で上記被更新装置に送信してソフトウェアの更新を行わせ、上記被更新装置との通信に基づき、上記被更新装置においてソフトウェアの上記更新用ソフトウェアへの更新が成功したと判断した場合に、上記更新用認証情報に上書きさせるための消去用情報を生成し、これを上記第1の通信経路で上記被更新装置に送信して上記更新用認証情報に上書きして記憶させるようにしたものである。
このようなソフトウェア更新方法において、上記被更新装置のソフトウェアの更新を、外部からのソフトウェア更新要求に応じて行い、その結果をその更新要求の要求元に返すようにするとよい。
さらに、上記被更新装置から起動した旨を示す起動通知を受け付け、上記更新用ソフトウェアの送信後に上記被更新装置から上記起動通知を受け付けた場合にその被更新装置からソフトウェアのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認するようにするとよい。
さらにまた、上記第1の通信経路がSSLによる通信を行う通信経路であり、上記第2の通信経路がFTPによる通信を行う通信経路であるとよい。
あるいは、上記第1の通信経路を、送信すべきデータを暗号化して送信する通信経路とし、上記第2の通信経路を、送信すべきデータを暗号化しないで送信する通信経路としてもよい。
また、この発明のプログラムは、ネットワークを介して被更新装置と通信可能なソフトウェア更新装置を制御するコンピュータを、上記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で上記被更新装置に送信して記憶するよう要求する認証情報設定手段と、上記被更新装置に上記更新用認証情報を送信し、その認証情報による認証処理を要求する認証要求手段と、その認証処理が成功した場合に更新用ソフトウェアを上記第1の通信経路よりも処理負荷の小さい第2の通信経路で上記被更新装置に送信する送信手段と、上記被更新装置との通信に基づき、上記被更新装置においてソフトウェアの上記更新用ソフトウェアへの更新が成功したと判断した場合に、上記更新用認証情報に上書きさせるための消去用情報を生成し、これを上記第1の通信経路で上記被更新装置に送信して上記更新用認証情報に上書きして記憶するよう要求する認証情報消去手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記コンピュータを、上記被更新装置のソフトウェアの更新を外部からのソフトウェア更新要求に応じて行い、その結果をその更新要求の要求元に返す手段として機能させるためのプログラムをさらに含めるとよい。
また、上記コンピュータを、上記被更新装置から起動した旨を示す起動通知を受け付ける手段と、上記更新用ソフトウェアの送信後に上記被更新装置から上記起動通知を受け付けた場合にその被更新装置からソフトウェアのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認する手段として機能させるためのプログラムをさらに含めるとよい。
さらに、上記第1の通信経路をSSLによる通信を行う通信経路とし、上記第2の通信経路をFTPによる通信を行う通信経路とするとよい。
あるいは、上記第1の通信経路を、送信すべきデータを暗号化して送信する通信経路とし、上記第2の通信経路を、送信すべきデータを暗号化しないで送信する通信経路としてもよい。
以上のようなこの発明のソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法によれば、ネットワークを介して通信可能な被更新装置のソフトウェアをソフトウェア更新装置によって更新する場合において、高い安全性を確保しながら更新処理の負荷を低減することができる。
また、この発明のプログラムによれば、コンピュータにソフトウェア更新装置を制御させてこのようなソフトウェア更新装置の特徴を実現し、同様な効果を得ることができる。
以下、この発明の好ましい実施の形態を図面を参照して説明する。
まず、この発明によるソフトウェア更新装置及びソフトウェア更新システムの構成例について説明する。図1は、そのソフトウェア更新システムを含む遠隔管理システムの構成の一例を示す概念図であり、この図において仲介装置101がソフトウェア更新装置、被管理装置10が被更新装置である。管理装置102をソフトウェア更新装置としたり、この場合に仲介装置101を被更新装置としたりすることもできるが、ここでは、仲介装置101がソフトウェア更新装置、被管理装置10が被更新装置である例について説明する。また、ここでは更新対象のソフトウェアがファームウェアである場合を例として説明するが、これがアプリケーションプログラム等の他のソフトウェアでもよいことはもちろんである。
このソフトウェア更新システムは、プリンタ,FAX装置,デジタル複写機,スキャナ装置,デジタル複合機等の画像処理装置や、ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,汎用コンピュータ,自動車,航空機等に通信機能を持たせた通信装置を被管理装置10とする遠隔管理システムの一部として構成される。そして、必要な場合に仲介装置101から被管理装置10にファームウェアを送信し、被管理装置10のファームウェアを更新させる機能を有する。
また、上記の遠隔管理システムは、被管理装置10とLAN(ローカルエリアネットワーク)によって接続された遠隔管理仲介装置である仲介装置101、更に仲介装置101とインタネット103(公衆回線等の他のネットワークでもよい)を介して接続されるサーバ装置として機能する管理装置102を備え、当該管理装置102が、仲介装置101を介して各被管理装置10を集中的に遠隔管理できるようにしたものである。当該仲介装置101及び被管理装置10は、その利用環境に応じて多様な階層構造を成す。
例えば、図1に示す設置環境Aでは、管理装置102とHTTPによる直接的なコネクションを確立できる仲介装置101aが、被管理装置10a及び10bを従える単純な階層構造になっているが、同図に示す設置環境Bでは、4台の被管理装置10を設置する為、1台の仲介装置101を設置しただけでは負荷が大きくなる。その為、管理装置102とHTTPによる直接的なコネクションを確立できる仲介装置101bが、被管理装置10c及び10dだけでなく、他の仲介装置101cを従え、この仲介装置101cが被管理装置10e及び10fを更に従えるという階層構造を形成している。この場合、被管理装置10e及び10fを遠隔管理するために管理装置102から発せられた情報は、仲介装置101bとその下位のノードである仲介装置101cとを経由して、被管理装置10e又は10fに到達することになる。
また、設置環境Cのように、被管理装置10に仲介装置101の機能を併せ持たせた仲介機能付被管理装置11a,11bを、別途仲介装置を介さずにインタネット103によって管理装置102に接続するようにしてもよい。
図示はしていないが、仲介機能付被管理装置11の下位にさらに被管理装置10を接続することもできる。
なお、各設置環境には、セキュリティ面を考慮し、ファイアウォール104を設置する。
このような遠隔管理システムにおいて、仲介装置101は、これに接続された被管理装置10の制御管理のためのアプリケーションプログラムを実装している。
管理装置102は、各仲介装置101の制御管理、更にはこの仲介装置101を介した被管理装置10の制御管理を行うためのアプリケーションプログラムを実装している。そして、被管理装置10も含め、この遠隔管理システムにおけるこれら各ノードは、RPC(Remote Procedure Call)により、相互の実装するアプリケーションプログラムのメソッドに対する処理の依頼である「要求」を送信し、この依頼された処理の結果である「応答」を取得することができるようになっている。
すなわち、仲介装置101又はこれと接続された被管理装置10では、管理装置102への要求を生成してこれを管理装置102へ引き渡し、この要求に対する応答を取得できる一方で、管理装置102は、上記仲介装置101側への要求を生成してこれを仲介装置101側へ引き渡し、この要求に対する応答を取得できるようになっている。この要求には、仲介装置101に被管理装置10に対して各種要求を送信させ、被管理装置10からの応答を仲介装置101を介して取得することも含まれる。
なお、RPCを実現するために、SOAP(Simple Object Access Protocol:ソープ),HTTP(HyperText Transfer Protocol),FTP,COM(Component Object Model),CORBA(Common Object Request Broker Architecture)等の既知のプロトコル(通信規格),技術,仕様などを利用することができる。
この送受信のデータ送受モデルを図2の概念図に示す。
(A)は、被管理装置10で管理装置102に対する要求が発生したケースである。このケースでは、被管理装置10が被管理装置側要求aを生成し、これを仲介装置101を経由して受け取った管理装置102がこの要求に対する応答aを返すというモデルになる。同図に示す仲介装置101は複数であるケースも想定できる(上記図1に示す設置環境B)。なお、(A)では、応答aだけでなく応答遅延通知a′を返信するケースが表記されている。これは、管理装置102が、仲介装置101を経由して被管理装置側要求を受け取って、当該要求に対する応答を即座に返せないと判断したときには、応答遅延通知を通知して一旦接続状態を切断し、次回の接続の際に上記要求に対する応答を改めて引き渡す構成としているためである。
(B)は、管理装置102で被管理装置10に対する要求が発生したケースである。このケースでは、管理装置102が管理装置側要求bを生成し、これを仲介装置101を経由して受け取った被管理装置10が、当該要求に対する応答bを返すというモデルになっている。なお、(B)のケースでも、応答を即座に返せないときに応答遅延通知b′を返すことは(A)のケースと同様である。
次に、図1に示す管理装置102の物理的構成について説明すると、当該管理装置102は、不図示のCPU、ROM、RAM、不揮発性メモリ、ネットワークインタフェースカード(以下NICという)等を備えている。
また、図1に示す仲介装置101の物理的構成は、図3に示す通りである。
すなわち、CPU52,SDRAM53,フラッシュメモリ54,RTC(リアルタイムクロック)55,Op-Port(操作部接続ポート)56,PHY(物理メディアインタフェース)57,モデム58,HDD制御部59,拡張I/F(インターフェース)60,RS232I/F61,RS485I/F62,HDD(ハードディスクドライブ)63等を備えている。そして、当該仲介装置15はPHY57を介してLANと接続される。また、そのLANを介して被管理装置10と接続されるものである。RS232I/F61及びRS485I/F62を介しても被管理装置10と接続可能であるが、ここではこのI/Fは使用しないものとする。
なお、仲介機能付被管理装置11については、仲介装置101の機能を実現するためにこれらのユニットを単に被管理装置10に付加しても良いが、被管理装置10に備えるCPU,ROM,RAM等のハードウェア資源を利用し、CPUに適当なアプリケーションやプログラムモジュールを実行させることによって仲介装置101の機能を実現することもできる。
図4は、仲介装置101のソフトウェア構成の一例を示すブロック図である。この図に示すように、仲介装置101のソフトウェアは、アプリケーション層70,サービス層80,プロトコル層90の3層からなっている。そして、これらのソフトウェアを構成するプログラムはHDD63やSDRAM53、あるいはフラッシュメモリ54上に記憶され、必要に応じて読み出されてCPU52によって実行される。そしてCPU52は、これらのプログラムを必要に応じて実行し、装置の制御を行うことにより、各機能(認証情報設定手段,認証要求手段,送信手段,その他の手段としての機能)を実現することができる。
このソフトウェアにおいて、アプリケーション層70には、デバイスコントロールメソッド群71とNRS(ニュー・リモート・サービス)アプリケーションメソッド群72とを有する。
そして、デバイスコントロールメソッド群71は、管理対象情報設定,機器設定,ソフトウェアアップデート,ポーリング設定変更,ログ出力,起動処理の各メソッドを備え、この実施形態の特徴に係るファームウェア更新処理を始め、被管理装置の情報管理や通信の設定等を行うためのプログラムである。
NRSアプリケーションメソッド群72は、ログ収集,ソフトウェアダウンロード,機器コマンド実行,機器設定変更,サプライ通知,異常通知,デバイス起動/導入,デバイス生死確認の各メソッドを備え、被管理装置10からの種々の通知や要求に対応したり、管理装置102からの要求に従って被管理装置10に動作を行わせたりするためのプログラムである。
次に、サービス層80には、セキュリティサービス81,対接続機器通信サービス82,対管理装置通信サービス83,スケジューラサービス84とを備えている。
そして、セキュリティサービス81は、内部情報などの外部への不正流出を予防、妨害するなどのジョブを生成・実行するモジュールである。
対接続機器通信サービス82は、仲介装置101に接続されたネットワーク接続機器との間で情報の授受を実現するため、情報取得の対象となる機器の検索、対象機器との接続管理、ファイル送受信、パラメータ管理、APL管理などのジョブを生成・実行するモジュールである。
対管理装置通信サービス83は、管理装置102との間でコマンド受信,ファイル送受信,情報要求,情報送信(情報通知)などのジョブを生成・実行するモジュールである。
スケジューラサービス84は、所定の設定時間情報に基づき、リモートコントロールアプリを展開するモジュールである。
次のプロトコル層90には、情報の送受信対象に応じたプロトコルを用いて情報の授受をおこなうジョブを生成・実行するための各メソッドを備える。即ち、LANを介したネットワーク接続機器の通信環境に広く対応可能なように、SOAP(Simple Object Access Protocol)や、その下位プロトコルとして用いられるHTTP,HTTPS(Hypertext Transfer Protocol Security),FTPなどを制御可能なメソッドを有している。
以下、図1に示した遠隔管理システムのより具体的な例として、画像処理装置を被管理装置とした画像処理装置遠隔管理システムについて説明する。この遠隔管理システムは、画像処理装置を被更新装置とした、この発明によるソフトウェア更新システムの実施形態を含むものである。図5は、その画像処理装置遠隔管理システムの構成の一例を示す概念図であるが、被管理装置10を画像処理装置100に、仲介機能付被管理装置11を仲介機能付画像処理装置110に変更した点が図1と相違するのみであるので、システムの全体構成についての説明は省略する。なお、ソフトウェア更新システムは、この発明のソフトウェア更新装置の実施形態である仲介装置101と被更新装置となる画像処理装置100のみで構成することができ、管理装置102やファイアウォール104等の他の構成要素は必須ではない。
そして、画像処理装置100は、コピー、ファクシミリ、スキャナ等の機能及び外部装置と通信を行う機能を備えたデジタル複合機であり、それらの機能に係るサービスを提供するためのアプリケーションプログラムを実装しているものである。また、仲介機能付画像処理装置110は、画像処理装置100に仲介装置101の機能を併せ持たせたものである。
このような画像処理装置100の物理的構成について図6を用いて説明する。
図6は、画像処理装置100内の物理的構成の一例を示すブロック図である。同図に示すように、画像処理装置100は、コントローラボード200、HDD(ハードディスクドライブ)201、NV−RAM(不揮発性RAM)202、PI(パーソナルインタフェース)ボード203、PHY204、操作パネル205、プロッタ/スキャナエンジンボード206、電源ユニット207、フィニッシャ208、ADF(自動原稿給送装置)209、給紙バンク210、その他周辺機211を備えている。
ここで、コントローラボード200は、制御手段に該当し、CPU,ROM,RAM等を備え、PCI−BUS(Peripheral Components Interconnect-Bus)212を介して各機能を制御している。また、HDD201は、記憶手段に該当する。また、NV−RAM202は、記憶手段に該当し、不揮発性メモリであって、例えば、フラッシュメモリ等が該当する。
また、PIボード203とPHY204は、通信手段に該当し、外部との通信を行うためのものであって、例えば、通信ボード等が該当する。PIボード203はRS485規格に準拠したインタフェースを備え、ラインアダプタを介して公衆回線に接続している。PHY204は、LANを介して外部装置と通信を行うためのインタフェースであり、IEEE(Institute of Electrical and Electronic Engineers)802.11b規格(無線LAN対応),IEEE1394規格,IEEE802.3規格(イーサネット(登録商標)対応)に準拠したインタフェースをそれぞれ設け、複数の通信手段としている。
また、操作パネル205は、操作部及び表示部に該当するユーザインタフェースである。
ここで、同図中のENGRDYは、エンジン側の各種初期設定が完了して、コントローラボード200とコマンドの送受信の準備ができたことをコントローラボード200側に通知するための信号線である。また、PWRCTLは、エンジンへの電源供給をコントローラボード200側から制御するための信号線である。これら信号線の動作に関しては後述する。
次に、画像処理装置100におけるソフトウェア構成を図7を用いて説明する。
図7は、画像処理装置100のソフトウェア構成の一例を示すブロック図である。画像処理装置100のソフトウェア構成は、最上位のアプリケーションモジュール(アプリ)層、その下位のサービスモジュール層からなる。そして、これらのソフトウェアを構成するプログラムはHDD201やコントローラボード200上のRAMに記憶され、必要に応じて読み出されてコントローラボード200上のCPUによって実行される。そしてCPUは、これらのプログラムを必要に応じて実行することにより、各機能(記憶手段,認証手段,更新手段,その他の手段としての機能)を実現することができる。
特に、アプリケーションモジュール層のソフトウェアは、CPUをハードウェア資源を動作させて所定の機能を実現させる複数のアプリケーション制御手段として機能させるためのプログラムによって構成され、サービスモジュール層のソフトウェアは、CPUを、ハードウェア資源と各アプリケーション制御手段との間に介在し、複数のアプリケーション制御手段からのハードウェア資源に対する動作要求の受付,その動作要求の調停,およびその動作要求に基づく動作の実行制御を行うサービス制御手段として機能させるためのプログラムによって構成される。
またOS320は、UNIX(登録商標)などのオペレーティングシステムであり、サービスモジュール層及びアプリケーションモジュール層の各プログラムをそれぞれプロセスとして並列実行する。
サービスモジュール層には、オペレーションコントロールサービス(OCS)300、エンジンコントロールサービス(ECS)301、メモリコントロールサービス(MCS)302、ネットワークコントロールサービス(NCS)303、ファクスコントロールサービス(FCS)304、カスタマーサポートシステム(CSS)305、システムコントロールサービス(SCS)306、システムリソースマネージャ(SRM)307、イメージメモリハンドラ(IMH)308、デリバリーコントロールサービス(DCS)316、ユーザコントロールサービス(UCS)317、データエンクリプションセキュリティサービス(DESS)318、サーティフィカットコントロールサービス(CCS)319を実装している。更に、アプリケーションモジュール層には、コピーアプリ309、ファクスアプリ310、プリンタアプリ311、スキャナアプリ312、ネットファイルアプリ313、ウェブアプリ314、NRS(ニューリモートサービス)アプリ315を実装している。
これらを更に詳述する。
OCS300は、操作パネル205を制御するモジュールである。
ECS301は、ハードウェアリソース等のエンジンを制御するモジュールである。
MCS302は、メモリ制御をするモジュールであり、例えば、画像メモリの取得及び開放、HDD201の利用等を行う。
NCS303は、ネットワークとアプリケーションモジュール層の各アプリケーションプログラムとの仲介処理を行わせるモジュールである。
FCS304は、ファクシミリ送受信、ファクシミリ読み取り、ファクシミリ受信印刷等を行うモジュールである。
CSS305は、公衆回線を介してデータを送受信する際のデータの変換等をするモジュールであり、また公衆回線を介した遠隔管理に関する機能をまとめたモジュールである。
SCS306は、コマンドの内容に応じたアプリケーションモジュール層の各アプリケーションプログラムの起動管理及び終了管理を行うモジュールである。
SRM307は、システムの制御及びリソースの管理を行うモジュールである。
IMH308は、一時的に画像データを入れておくメモリを管理するモジュールである。
DCS316は、HDD201やコントローラボード200上のメモリに記憶している(する)画像ファイル等をSMTP(Simple Mail Transfer Protocol)やFTP(File Transfer Protocol)を用いて送受信するモジュールである。
UCS317は、ユーザが登録した宛先情報や宛名情報等のユーザ情報を管理するモジュールである。
DESS318は、PKIやSSLを利用した各ユニットあるいは外部装置の認証や、通信の暗号化を行うモジュールである。
CCS319は、この画像処理装置100に入力された認証情報について認証処理を行うモジュールである。
コピーアプリ309は、コピーサービスを実現するためのアプリケーションプログラムである。
ファクスアプリ310は、ファクスサービスを実現するためのアプリケーションプログラムである。
プリンタアプリ311は、プリンタサービスを実現するためのアプリケーションプログラムである。
スキャナアプリ312は、スキャナサービスを実現するためのアプリケーションプログラムである。
ネットファイルアプリ313は、ネットファイルサービスを実現するためのアプリケーションプログラムである。
ウェブアプリ314は、ウェブサービスを実現するためのアプリケーションプログラムである。
NRSアプリ315は、ネットワークを介してデータを送受信する際のデータの変換や、ネットワークを介した遠隔管理に関する機能(管理装置102との通信に係わる機能を含む)を実現するためのアプリケーションプログラムである。そして、外部装置からネットワーク経由で受信したデータを、各アプリにおける処理に適したデータ構造体に変換する機能も有する。
なお、説明の都合上、以下の説明において、CPUが以上のような各プログラムに従って動作することによって実行する処理について、それらのプログラムが処理を実行するものとして説明する。
ここで、上述したENGRDY信号とPWRCTL信号との動作を図8を用いて説明する。
図8の(A)は機器の立ち上がり時のENGRDY信号とPWRCTL信号の動作の一例を示している。AC−POWERのAC電源をONにすると電源供給が開始され、これと同時にENGRDY信号はHighになる。この状態ではエンジン側との通信はできない。なぜなら、エンジン側の初期設定が完了していないからである。そして、一定期間経過後にエンジン側の初期設定が完了し、ENGRDY信号がLowになった段階でエンジン側との通信が可能となる。
次に、同図(B)は省エネモードに移行した時のENGRDY信号とPWRCTL信号の動作の一例を示している。省エネモードに移行するため、コントローラボード200によりPWRCTL信号をOFFにする。これと同時に電源供給もおちる。これに伴って、ENGRDY信号は、Highとなり省エネモードに移行する。次に、省エネモードから復帰する場合を同図(C)に示す。
同図(C)は、省エネモードから復帰する時のENGRDY信号とPWRCTL信号の動作の一例を示している。上記(B)の省エネモードから復帰する際には、コントローラボード200によりPWRCTL信号をONにする。これと同時に電源供給もされる。しかし、上記の(A)で示したように、エンジン側の初期設定が完了するまで、ENGRDY信号はHighの状態であり、初期設定が完了するとエンジン側との通信が可能となり、Lowとなる。
次に、上述した画像処理装置100のソフトウェアの構成に含まれるNRSアプリ315の内部構成を図9を用いて更に説明する。
図9は、NRSアプリの構成の一例を示す機能ブロック図である。同図に示すように、NRSアプリ315は、アプリケーションモジュール層とNCS303との間で処理をおこなっている。ウェブサーバ機能部500は、外部から受信した要求に関する応答処理を行う。ここでの要求は、例えば、構造化言語であるXML(Extensible Markup Language)形式で記載された、SOAP(Simple Object Access Protocol)によるSOAPリクエストであることが考えられる。ウェブクライアント機能部501は、外部への要求を発行する処理を行う。libxml502は、XML形式で記載されたデータを処理するライブラリであり、libsoap503は、SOAPを処理するライブラリである。また、libgwww504は、HTTPを処理するライブラリであり、libgw_ncs505は、NCS303との間の処理をするライブラリである。
上記のSOAPリクエストは、PHY204によって受信され、SOAPヘッダとSOAPボディを含むSOAPドキュメントがHTTPメッセージの形でNCS303を介してNRSアプリ315に渡される。そして、NRSアプリ315において、libsoap503を用いてSOAPドキュメントからSOAPボディを取り出し、libxml502を用いてSOAPボディを解釈してDOM(Document Object Model)ツリーを生成し、ウェブサーバ機能部500がこれを各アプリにおける処理に適したデータ構造体に変換した上でSOAPボディに含まれるコマンドに対応したアプリに渡す。
データ構造体については、例えばアプリのプログラムがC言語で記載されている場合にはC言語の構造体データであり、この構造体データを引数としてアプリのプログラムをコールすることによってアプリにデータを渡すことができる。
上述した構成を踏まえて、図5の画像処理装置遠隔管理システム内で行われるデータ送受信の際の通信シーケンスの一例について図10を用いて説明する。図10は、管理装置、仲介装置、及び画像処理装置間で行われるデータ送受信の際の通信シーケンスの一例を示す図である。
この例においては、まず、仲介装置101は、管理装置102に対してポーリング(送信要求があるかどうかの問い合わせ)を行う(S601)。つまり、自己の識別情報である識別子を付加したポーリング用のSOAPドキュメントを生成し、HTTPメッセージとして管理装置102へ送信する。図5に示したように、仲介装置101と管理装置102との間にはファイアウォール104を設けているため、管理装置102から仲介装置101に向けて通信セッションを張る(通信を要求して通信経路を確立する)ことができないので、管理装置102から仲介装置101(あるいは仲介装置101を介して画像処理装置100)に要求を送信したい場合でも、このように仲介装置101からのポーリングを待つ必要があるのである。
管理装置102は、仲介装置101から上記HTTPメッセージを受信すると、課金カウンタ取得要求を示すSOAPドキュメントを生成し、該当する仲介装置101(受信したSOAPメッセージの送信元)へ、ポーリングに対する応答のHTTPメッセージとして送信する(S602)。このとき、受信したHTTPメッセージ内のSOAPドキュメントに付加された識別子に基づいて該当する仲介装置101を認識する。このように、ファイアウォール104の内側からの通信(HTTPリクエスト)に対する応答(HTTPレスポンス)であれば、ファイアウォールの外側から内側に対してデータを送信することができる。
仲介装置101は、管理装置102から上記HTTPメッセージを受信すると、そのHTTPメッセージに基づいて課金カウンタ取得要求を示すSOAPドキュメントを生成し、やはりHTTPメッセージとして自己に接続されている画像処理装置100のNRSアプリ315へ送信する(S603)。
NRSアプリ315は、仲介装置101からHTTPメッセージとして受信したSOAPドキュメントに記述されている課金カウンタ取得要求をSCS306へ通知する(S604)。
SCS306は、NRSアプリ315から課金カウンタ取得要求の通知を受けると、NV−RAM202に格納されている課金カウンタのデータを読み取る(S605)。そして、その読み取った課金カウンタのデータ(応答データ)をNRSアプリ315へ引き渡す(S606)。
NRSアプリ315は、SCS306から課金カウンタのデータを受け取る(取得する)と、その内容を示す課金カウンタ用のSOAPドキュメントを生成し、HTTPメッセージとして仲介装置101へ送信する(S607)。
仲介装置101は、NRSアプリ315から課金カウンタ用のSOAPドキュメントを受信すると、そのSOAPドキュメントをHTTPメッセージとして管理装置102へ送信する(S608)。
このように、上記通信シーケンスにより、データの送受信が行われる。
次に、上記図10と異なり、画像処理装置100から仲介装置101を経て管理装置102へデータを送信する場合の通信シーケンスの一例について図11を用いて説明する。
図11は、画像処理装置から管理装置102へデータを送信する場合の通信シーケンスの一例を示す図である。
この例においては、まず、OCS300は、ユーザコールキーが押下された旨をSCS306へ通知する(S701)。
SCS306は、OCS300からユーザコールキーが押下された旨の通知を受けると、ユーザコール要求をNRSアプリ315へ通知する(S702)。
NRSアプリ315は、SCS306からユーザコール要求の通知を受けると、ユーザコールを知らせるユーザコール情報であるユーザコール用のSOAPドキュメントを生成し、HTTPメッセージとして仲介装置101へ送信する(S703)。
仲介装置101は、NRSアプリ315からユーザコール用のSOAPドキュメントを受信すると、そのSOAPドキュメントに自己の識別情報である識別子を付加し、そのSOAPドキュメントをやはりHTTPメッセージとして管理装置102に対して送信し、ユーザコールを行う。つまり、自己の識別子を付加したユーザコール用のSOAPドキュメントを管理装置102へ通報する(S704)。この場合には、ファイアウォール104の内側から外側に向けての送信であるので、仲介装置101が自ら管理装置102に向けてセッションを張ってデータを送信することができる。
ここで、ステップS704の処理後のパターンを以下の(A)から(C)に分けて説明する。
まず、(A)において、管理装置102は、ユーザ先の仲介装置101からユーザコール用のSOAPドキュメントをHTTPメッセージとして受信し、その受信が正常に終了した場合には、その旨(ユーザコールが成功した旨)のコール結果を、正常に終了しなかった(異常に終了した)場合には、その旨(ユーザコールが失敗した旨)のコール結果を示すSOAPドキュメント生成し、HTTPメッセージによる応答として通報元の仲介装置101へ送信する(S705)。
仲介装置101は、管理装置102からコール結果を示すSOAPドキュメントを受信すると、そのSOAPドキュメントを、やはりHTTPメッセージとしてユーザコールキーが押下された画像処理装置100のNRSアプリ315へ送信する(S706)。
NRSアプリ315は、仲介装置101からコール結果を示すSOAPドキュメントを受信すると、そのSOAPドキュメントが示すコール結果を解釈(判定)し、SCS306へ通知する(S707)。
SCS306は、コール結果を受け取ると、それをOCS300へ引き渡す。
OCS300は、SCS306からコール結果を受け取ると、その内容つまりユーザコールが成功したか失敗したかを示すメッセージを操作パネル205上の文字表示器に表示する(S708)。
次に(B)において、仲介装置101は、規定時間(予め設定された所定時間)が経っても管理装置102から応答がないと判断した場合には、ユーザコールが失敗した旨のコール結果を示すSOAPドキュメントを生成し、HTTPメッセージとしてNRSアプリ315へ送信する(S709)。
NRSアプリ315は、失敗した旨のコール結果を示すSOAPドキュメントを受信すると、そのSOAPドキュメントに記述されている失敗した旨のコール結果を解釈し、SCS306へ通知する(S710)。
SCS306は、NRSアプリ315からコール結果を受け取ると、それをOCS300へ引き渡す。
OCS300は、SCS306からコール結果を受け取ると、その内容つまりユーザコールが失敗した旨を示すメッセージを操作パネル205上の文字表示器に表示する(S711)。
次に(C)において、NRSアプリ315は、規定時間が経っても仲介装置101から応答がないと判断した場合には、ユーザコールが失敗した旨のコール結果をSCS306へ通知する(S712)。
SCS306は、NRSアプリ315からコール結果を受け取ると、それをOCS300へ引き渡す。
OCS300は、SCS306からコール結果を受け取ると、その内容つまりユーザコールが失敗した旨を示すメッセージを操作パネル205上の文字表示器に表示する(S713)。
なお、ここでは管理装置102からファイアウォール104を越えて仲介装置101(あるいは仲介装置101を介して画像処理装置100)にデータを送信するために、仲介装置101からのHTTPリクエストに対するレスポンスという形で送信を行う例について説明したが、ファイアウォール104を越える手段はこれに限られるものではなく、例えば、SMTP(Simple Mail Transfer Protocol)を利用して、送信したいデータを記載あるいは添付したメールを管理装置102から仲介装置101に送信することも考えられる。ただし、信頼性の面ではHTTPが優れている。
ここで、このような基本的な機能を有する図5に示した画像処理装置遠隔管理システムにおいて実行する、画像処理装置100のファームウェア更新処理の参考例について説明する。
背景技術の項で図26に示した処理の安全性を向上させる手段としては、通信を暗号化するほか、図12に示すようなパスワードリストを用いることも考えられ、この参考例は、このパスワードリストを使用した処理である。また、ファーム更新装置91と対応する装置は仲介装置101、被更新装置92と対応する装置は画像処理装置100とする。
そして、ここで使用するパスワードリストは、仲介装置101に設定されたIDと対応するパスワードを多数生成し、順序をつけたものである。このようなパスワードリストは、メモリカード等に記憶させて書留郵便のようなネットワーク以外の安全な経路で仲介装置101と画像処理装置100の管理者に送付し、それぞれの管理者が装置の記憶手段に記憶させておく。そして、仲介装置101から画像処理装置100に認証を要求する際には未使用のパスワードの中から先頭のものを選んで使用するようにし、使用したものは使用済みとして、次に認証を要求する際には次のパスワードを用いるようにするのである。
このようなパスワードリストを用いる場合の図26と対応する処理は、例えば図13のシーケンス図に示すようになる。
図13に示す処理においても、仲介装置101と画像処理装置100とはFTP(File Transfer Protocol)を用いて通信を行う。
この処理においても、所定のイベントが発生した場合等に仲介装置101が画像処理装置100にIDとパスワードを送信してFTPによる接続を要求するが、その前にパスワードリストを参照して使用するパスワードを決定する(S41)。ここでは、まだパスワードは1つも使用されておらず、先頭のパスワードAを選択するものとする。
そしてその後、仲介装置101は図26のステップS11乃至S13の場合と同様にバージョン情報取得処理を行って画像処理装置100のファームのバージョン情報を取得する(S42〜S44)が、この際に用いるパスワードはステップS11で選択したパスワードAである。そして、画像処理装置100も同じパスワードリストを記憶しているので、これを参照して先頭のパスワードAと比較することにより、認証処理を行うことができる。
バージョン情報取得処理が終了すると、仲介装置101はパスワード更新処理を開始し、HTTP(Hyper Text Transfer Protocol)を用いて画像処理装置100にパスワード更新要求を送信する(S45)。そして、この要求に従って、画像処理装置100はパスワードリストのうちの使用したパスワード(パスワードA)を使用済に設定し(S46)、これが成功すると更新OK通知を返す(S47)。
仲介装置101は、この通知を受け取ると、画像処理装置100と同じように、使用したパスワードを使用済に設定する(S48)。以上がパスワード更新処理であり、この処理によって、仲介装置101と画像処理装置100の双方で、一度FTPで転送したパスワードを使用済みとし、まだ使用していない次の安全なパスワード(パスワードB)を使用するように設定することができる。ただし、続けてファーム送信処理を行う場合には、ファーム送信処理の終了まではバージョン情報取得処理で用いたパスワードをそのまま使用するものとする。
次に、仲介装置101はステップS43で取得したファームのバージョン情報をもとに更新の要否を判断する。ここで更新不要と判断すれば処理を終了し、また必要が生じた場合にバージョン情報取得処理を行うことになる。しかし、更新が必要と判断すれば(S49)、次のファーム送信処理を実行する(S50〜S53)。この処理は、図26に示したファーム送信処理とほぼ同様であり、認証処理に用いるパスワードがパスワードリストに含まれるパスワードAである点が異なるのみである。
以上の処理によって、必要な場合に画像処理装置100のファームを更新することができる。そして、再度バージョン情報取得処理やファーム送信処理を行う場合は、再度パスワードリストを参照して使用するパスワードを決定する(S54)が、ここでは、パスワードAが使用済みになっているので、次のパスワードBを選択することになる。
そして、ステップS55〜S57で、ステップS42〜S44の場合と同様に、バージョン情報取得処理を行うが、ここで認証に使用するパスワードはパスワードBとなる。
以下、同様にして、パスワードをパスワードC,D,・・・と順次変更して処理を繰り返すことになる。
このようにパスワードリストを用いるようにすれば、一度FTPを用いて転送したパスワードはファームウェア更新処理後には使用されることがなく、常に秘密の保たれたパスワードを使用して認証処理を行うことができるので、なりすまし等の不正アクセスを防止してセキュリティの向上を図ることができる。
しかしながら、この参考例で用いたパスワードリストは、多数のパスワードを含むため、データ量が多くなり、これを記憶する領域を用意するとメモリのコストアップにつながる。また、パスワードを装置に記憶させた状態にすることになるため、装置にアクセスした第3者にリストごとパスワードを盗まれる可能性も否定できない。また、初めにパスワードリストを郵便等によって送付し、管理者が手動で記憶させる必要があるので、労力がかかるという問題もあった。さらに、処理にエラーが生じて装置間で使用するパスワードのNo.が異なる事態が発生すると、認証処理が正常に行えないという問題もあった。また、パスワードリストに含まれるパスワードの数は有限であるので、全部使用してしまった後は、再度新たなリストを配布して記憶させるか、多少の危険を承知で使用済みのパスワードを再利用する必要があるという問題もあった。
ところで、図5に示した画像処理装置遠隔管理システムにおいて、仲介装置101と画像処理装置100との間の通信を、必要に応じてSSLを用いた認証を行ってから行うようにすることができる。そこで次に、この認証を行う場合の通信手順について、認証処理の部分に焦点を当てて説明する。この認証には、互いが互いを認証する相互認証と、一方が他方を認証する片方向認証とが考えられるが、まず相互認証の場合について説明する。
図14は、仲介装置101と画像処理装置100とがSSLによる相互認証を行う際に各装置において実行する処理のフローチャートを、その処理に用いる情報と共に示す図である。
図14に示すように、SSLによる相互認証を行う際には、まず仲介装置101側にルート鍵証明書,私有鍵A,公開鍵証明書Aを記憶させておく必要がある。私有鍵Aは、認証局(CA:certificate authority)が仲介装置101に対して発行した私有鍵である。そして、公開鍵証明書Aは、その私有鍵と対応する公開鍵にCAがデジタル署名を付してデジタル証明書としたものである。また、ルート鍵証明書は、CAが付したデジタル署名の正当性を確認するための鍵であるルート鍵に、デジタル署名を付してデジタル証明書としたものである。なお、公開鍵は、対応する私有鍵を用いて暗号化された文書を復号化するための鍵本体と、その公開鍵の発行者(CA),発行相手,有効期限等の情報を含む書誌情報とによって構成されるものとする。
また、画像処理装置100側には、ルート鍵証明書,私有鍵B,公開鍵証明書Bを記憶させておく必要がある。私有鍵B及び公開鍵証明書Bは、CAが画像処理装置100に対して発行した私有鍵及び公開鍵証明書である。ここでは仲介装置101と画像処理装置100に対して同じCAが同じルート私有鍵を用いて証明書を発行しているものとし、この場合にはルート鍵証明書は仲介装置101と画像処理装置100で共通となる。
フローチャートの説明に入る。なお、図14において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。また、各ステップの処理が正常に完了しなかった場合には、その時点で認証失敗の応答を返して処理を中断するものとする。相手から認証失敗の応答を受けた場合、処理がタイムアウトした場合等も同様である。また、それぞれの処理は、仲介装置101と画像処理装置100とがそれぞれ備えるCPUが所要の制御プログラムに従った処理を行うことにより実現されるものである。
仲介装置101は、画像処理装置100に接続を要求する場合、図14の左側に示すフローチャートの処理を開始する。そして、ステップS21で画像処理装置100に対して接続要求を送信する。
一方画像処理装置100は、この接続要求を受信すると、図14の右側に示すフローチャートの処理を開始する。そして、ステップS31で第1の乱数を生成し、これを私有鍵Bを用いて暗号化する。そして、ステップS32でその暗号化した第1の乱数と公開鍵証明書Bとを仲介装置101に送信する。
仲介装置101側では、これを受信すると、ステップS22でルート鍵証明書を用いて公開鍵証明書Bの正当性を確認する。これには、公開鍵に含まれる書誌情報を参照して画像処理装置100が適当な通信相手であることを確認する処理を含む。
そして確認ができると、ステップS23で、受信した公開鍵証明書Bに含まれる公開鍵Bを用いて第1の乱数を復号化する。ここで復号化が成功すれば、第1の乱数は確かに公開鍵証明書Bの発行対象である画像処理装置100から受信したものだと確認できる。そして、画像処理装置100を正当な通信相手として認証する。
その後、ステップS24でこれとは別に第2の乱数及び第3の乱数を生成する。そして、ステップS25で第2の乱数を私有鍵Aを用いて暗号化し、第3の乱数を公開鍵Bを用いて暗号化し、ステップS26でこれらを公開鍵証明書Aと共に画像処理装置100に送信する。第3の乱数の暗号化は、画像処理装置100以外の装置に乱数を知られないようにするために行うものである。
画像処理装置100側では、これを受信すると、ステップS33でルート鍵証明書を用いて公開鍵証明書Aの正当性を確認する。これにも、ステップS22の場合と同様、仲介装置101が適当な通信相手であることを確認する処理を含む。そして確認ができると、ステップS34で、受信した公開鍵証明書Aに含まれる公開鍵Aを用いて第2の乱数を復号化する。ここで復号化が成功すれば、第2の乱数は確かに公開鍵証明書Aの発行対象である仲介装置101から受信したものだと確認できる。そして、画像処理装置100を正当な通信相手として認証する。
その後、ステップS35で私有鍵Bを用いて第3の乱数を復号化する。ここまでの処理で、サーバ側とクライアント側に共通の第1乃至第3の乱数が共有されたことになる。そして、少なくとも第3の乱数は、生成した仲介装置101と、私有鍵Bを持つ画像処理装置100以外の装置が知ることはない。ここまでの処理が成功すると、ステップS36で仲介装置101に対して認証成功の応答を返す。
仲介装置101側では、これを受信すると、ステップS27で第1乃至第3の乱数から共通鍵を生成し、以後の通信の暗号化に用いるものとして認証処理を終了する。画像処理装置100側でも、ステップS37で同様の処理を行って終了する。そして、以上の処理によって互いに通信を確立し、以後はステップS27又はS37で生成した共通鍵を用い、共通鍵暗号方式でデータを暗号化して通信を行う。
通信の際にこのようなSSLによる相互認証を行えば、仲介装置101と画像処理装置100とが互いに相手を認証した上で安全に共通鍵を交換することができ、通信を確かな相手と安全に行うことができる。以下の説明において、これらのいずれかの装置が通信相手に対してSSLの接続要求を行う場合には、その要求に応じて図14に示したような相互認証処理を行い、認証が成功した場合に通信を確立するものとする。ただし、図14には仲介装置101から画像処理装置100に対して接続を要求する場合の処理を示しているので、画像処理装置100から仲介装置101に接続を要求する場合には、画像処理装置100が図14の仲介装置101に相当する処理を、仲介装置101が図14の画像処理装置100に相当する処理を行うことになる。
なお、片方向認証を採用し、例えば画像処理装置100が仲介装置101を認証するのみでよいのであれば、図14に示した認証処理において、第1及び第3の乱数の暗号化を省略することができる。この場合には、画像処理装置100側にはルート鍵証明書のみを記憶させておけばよい。そして、認証処理は、図15に示すように簡略化することができる。すなわち、仲介装置101側のステップS22及びS23の処理は不要となり、画像処理装置100側のステップS35の処理も不要となる。
逆に、仲介装置101が画像処理装置100を認証するようにする場合、第2の乱数の暗号化を省略することができる。この場合には、仲介装置101側にはルート鍵証明書のみを記憶させておけばよい。そして、認証処理は、図16に示すように簡略化することができる。すなわち、仲介装置101側のステップS23及びS24の処理は不要になる。
次に、図5に示した画像処理装置遠隔管理システムにおけるこの実施形態の特徴に関連する動作である、画像処理装置100のファームウェア更新処理およびそのために必要な構成について説明する。この処理は、図17のシーケンス図に示す処理であり、この発明のソフトウェア更新方法に係る処理であって、管理装置102,仲介装置101,画像処理装置100の各CPUが、所要の制御プログラムを実行することによって行うものである。なお、仲介装置101がこの発明のソフトウェア更新装置として機能し、画像処理装置100が被更新装置となる。そして、これらの装置によってこの発明のソフトウェア更新システムが実現され、管理装置102はこのソフトウェア更新システムにファームウェア更新要求を行う外部装置に該当する。
なお、図17に示す処理を行うに先立って、仲介装置101には予め更新用ファームウェアを記憶させておくものとする。この記憶は、管理装置102その他の装置から転送して行ってもよいし、記録媒体に記録したものを仲介装置101に読み込ませることによって行ってもよい。その他の適当な方法を採ることもできる。
図5に示した画像処理装置遠隔管理システムにおいて、管理装置102は、所定時間毎あるいは管理装置102のオペレータから指示があった場合等、所定のイベントが発生した場合に、仲介装置101に対してファームウェア更新要求を送信する(S101)。図示は省略したが、この送信は、図10を用いて説明したように仲介装置101からのポーリングに対する応答として行うようにすることができる。
仲介装置101は、この要求を受けると、画像処理装置100のファーム更新に係る処理を開始するが、初めにワンタイムパスワード共有処理を行う(S102)。
この処理において、まずステップS102で仲介装置101がファーム更新時の認証処理に用いるための更新用認証情報としてワンタイムパスワードを乱数などにより生成し、これを記憶する。そして、画像処理装置100に対してSSLによる接続要求を行う(S103)。この接続が確立すると、画像処理装置100にワンタイムパスワードを送信し、これを記憶するよう要求する(S104)。この要求は、SOAPによるRPCとして行うようにすることができる。
画像処理装置100は、この要求に応じて受信したワンタイムパスワードを記憶手段に記憶し(S105)、以後FTP接続の際の認証処理において、仲介装置101のIDと対応するパスワードとして用いるものとする。認証はSSLの接続要求の際に完了しているので、ここではワンタイムパスワードを認証処理に用いることはない。そして、図示は省略したが、この記憶の終了後、画像処理装置100はその旨の応答を仲介装置101に返し、仲介装置101はこの応答を受け取るとSSLの接続を切断する(S106)。ステップS103乃至S106の通信は、HTTPSを用いて行われる。
以上の処理がワンタイムパスワード共有処理であり、この処理において、仲介装置101のCPU52が認証情報設定手段として機能する。そしてこの処理によって、仲介装置101と画像処理装置100は、暗号化された通信経路を用いて安全にワンタイムパスワードを共有することができる。ここで用いたSSLによる通信経路が、第1の通信経路である。なお、「通信経路」とは、物理的な伝送経路よりむしろ通信に使用するプロトコル(通信方式)によって定められるものである。従って、物理的な伝送経路が同一であっても通信プロトコルが異なれば「通信経路」は異なることになるし、逆にインターネットを介した通信のように物理的な伝送経路が状況に応じて変化する場合であっても、通信を行う装置と通信に使用するプロトコルが定まれば、「通信経路」は特定される。
ワンタイムパスワード共有処理が終了すると、仲介装置101は次にバージョン情報取得処理を行う。
この処理は、従来の技術の項で図26に示した処理のステップS11乃至S13とほぼ同様なものであるが、仲介装置101がステップS107でFTPによる接続を要求する際に画像処理装置100に送信するパスワードは、ステップS104で送信したものと同じワンタイムパスワードである。そして、画像処理装置100はステップS105で記憶したワンタイムパスワードを用いて認証処理を行う。これらが一致すれば認証成功として接続を確立し(S107)、一致しなかった場合には接続は確立されず、エラーとなって処理は終了する。この処理において、仲介装置101のCPU52が認証要求手段として機能し、画像処理装置100のCPUが認証手段として機能する。
接続が確立されると、画像処理装置100は仲介装置101からの要求に応じてファームのバージョン情報を送信する(S108)。仲介装置101はこのバージョン情報を取得し、その後、画像処理装置100との接続を切断する(S109)。以上がバージョン情報取得処理である。
次のステップS110の処理及びその後のファーム送信処理も、ワンタイムパスワードを用いることを除き、図26に示した処理のステップS14乃至S18とほぼ同様なものである。
すなわち、仲介装置101はステップS108で取得したファームのバージョン情報をもとに更新の要否を判断し、更新が必要と判断すれば(S110)、次のファーム送信処理を実行する。更新が不要と判断した場合には、管理装置102に対してファーム更新要求に対する応答としてその旨を通知するようにするとよい。
そして、ファーム送信処理では、仲介装置101はまずステップS107の場合と同様に画像処理装置100にIDとワンタイムパスワードを送信し、画像処理装置100が認証処理を行って、成功すればFTPによる接続を確立する(S111)。そして、仲介装置101が更新用ファームウェアを画像処理装置100に送信する(S112)。この処理において、仲介装置101のCPU52が送信手段として機能する。
画像処理装置100側では、これを受信すると、自機のファームウェアを受信した更新用ファームウェアに更新する(S113)。この処理においては、画像処理装置100のCPUが更新手段として機能する。そして、更新が完了すると自身をリセットし、再起動して新たなファームを有効にする(S114)。また、画像処理装置100のリセットにより、FTP接続は切断される。以上がファーム送信処理である。
ここで用いたFTPによる通信経路が、第2の通信経路である。FTPの場合には、通信内容の暗号化を行わないので、処理負荷はSSLを用いた第1の通信経路よりもはるかに小さい。
画像処理装置100は、再起動が完了した時に、起動した旨を示す起動通知として電源ON通知を仲介装置101に対して送信するようにするとよい(S115)。このようにすれば、仲介装置101側で画像処理装置100においてファームウェアの更新が終了したことを把握できるので、適切なタイミングで更新が成功したか否かの判断を行うことができる。また、電源ON通知は、SOAPドキュメントとして記載し、HTTPを用いて送信することができる。
そして、仲介装置101は、この電源ON通知を受信すると、ステップS107〜S109の場合と同様にバージョン情報取得処理を行い、画像処理装置100との間でFTPによる通信を確立し、画像処理装置100からファームのバージョン情報を取得する(S116〜S118)。そして、このバージョン情報がステップS112で送信した更新用ファームウェアのものと一致していれば、ファームの更新が成功したと判断し(S119)、次のワンタイムパスワード消去処理を行う。一致していなければ、更新失敗と判断し、再度ファーム送信処理を行うか、あるいは管理装置102に対してファーム更新要求に対する応答として更新が失敗した旨を通知する。
なお、更新失敗と判断した場合であっても、画像処理装置100との間でSSLを用いた通信(ワンタイムパスワードを安全に送信可能な経路での通信)が可能であることが確認できた場合には、ワンタイムパスワード消去処理を行うようにしてもよい。
次のワンタイムパスワード消去処理においては、仲介装置101はワンタイムパスワード共有処理の場合と同様に画像処理装置100に対してSSLによる接続要求を行う(S120)。そして、この接続が確立すると、画像処理装置100に消去用パスワードを送信し、これを記憶するよう要求する(S121)。この要求は、いわばワンタイムパスワードの無効化要求であり、この処理において、仲介装置101のCPU52が認証情報無効化手段として機能する。なお、消去用パスワードは、送信毎に作成するランダムなものであってもよいし、固定のパスワードでもよい。FTPによって送信しておらず、その後もFTPでは送信しないパスワードを用いればよい。また、この要求を行う際に、自身で記憶しているワンタイムパスワードも消去するようにしてもよい。
なお、ワンタイムパスワードの無効化要求は、記憶しているワンタイムパスワードを消去する要求であればよいのであるが、上述のようにパスワードの記憶(上書き)要求を用いるようにすれば、ワンタイムパスワードの共有の場合と処理を共通化し、プログラムのコンパクト化を図ると共に開発効率を向上させることができる。
画像処理装置100は、この要求に応じてワンタイムパスワードを受信した消去用パスワードで上書きし(S122)、以後ステップS105で記憶したワンタイムパスワードはFTP接続の際の認証処理に用いないようにする。認証はSSLの接続要求の際に完了しているので、ここで消去用パスワードを認証処理に用いることはない。この記憶の終了後、仲介装置101はSSLの接続を切断する(S123)。
以上の処理がワンタイムパスワード消去処理であり、この処理によって、画像処理装置100に記憶させたワンタイムパスワードを無効化することができる。
このワンタイムパスワード消去処理が終了すると、仲介装置101は、管理装置102に対してファーム更新要求に対する応答として更新が成功した旨を通知する(S124)。
以上の処理を行うことにより、ネットワークを介して通信可能な被更新装置のファームウェアをソフトウェア更新装置によって更新することができる。
この処理をフローチャートで示したものが図18乃至図20である。これらの図を用いて上述の処理についての説明を補足する。これらの図において、2本のフローチャート間の矢印は、データの転送を示し、送信側は矢印の根元のステップで転送処理を行い、受信側はその情報を受信すると矢印の先端のステップの処理を行うものとする。
仲介装置101は、管理装置102からファーム更新要求を受け取ると、図18の左側に示すフローチャートの処理を開始する。そして、ステップS201でワンタイムパスワードを生成して記憶し、ステップS202で画像処理装置100に対してSSLによる接続要求を行う。
画像処理装置100は、この要求を受け取ると図18の右側に示すフローチャートの処理を開始する。そして、ステップS301で仲介装置101側とSSLによる接続処理を行う。仲介装置101側のステップS202と画像処理装置100側のステップS301で行う処理が、図14に示した相互認証処理である。
認証が成功すると、画像処理装置100は図14のステップS36のように認証成功の応答を返す。すると、仲介装置101はステップS203で画像処理装置100にステップS201で生成したワンタイムパスワードを送信し、記憶するよう要求する。画像処理装置100はこれを受け取ると、ステップS302で記憶し、記憶完了の応答を返す。仲介装置101は、この応答があるとステップS204で画像処理装置100に切断要求を送ってSSLによる接続を切断する。この要求を受けた仲介装置101もステップS303で接続を切断する。ここまでの処理がワンタイムパスワード共有処理である。
次に、仲介装置101は、ステップS205で画像処理装置100に対してFTPの接続要求を行う。すると、画像処理装置100はステップS304で認証のためのIDとパスワードを要求するので、仲介装置101はこれに応じてステップS206でIDとステップS201で生成したワンタイムパスワードを送信する。
画像処理装置100はこのIDとパスワードを用いて認証処理を行い、これらが記憶しているものと一致すれば認証成功としてその旨の応答を返す。そして、これを受けた仲介装置101は、ステップS207で画像処理装置100に対してバージョン情報取得要求を送信してファームのバージョン情報を求める。画像処理装置100はこれに応じてステップS306で仲介装置101にバージョン情報を送信し、仲介装置101はこれを取得するとステップS208でFTP接続を切断する。ここまでの処理がバージョン情報取得処理である。
なお、ステップS305で認証が失敗した場合には、ステップS307に進んでエラー処理を行うが、この処理としては、仲介装置101に認証失敗を通知して再度接続要求を待つ状態に移行することが考えられる。
図示は省略したが、ステップS301等でSSLによる相互認証が失敗した場合にも、同様な処理を行うようにするとよい。
一方仲介装置101は、ステップS208の次にステップS209に進み、ステップS207で取得したバージョン情報が最新バージョンのものか否かをもとに、画像処理装置100のファームを更新する必要があるか否か判断する。そして、更新する必要があれば、ステップS210に進んでファーム送信処理を行う。
この場合、仲介装置101はステップS210でステップS205及びS206と同様な処理を、画像処理装置100はステップS308でステップS304及びS305と同様な処理を行ってFTP接続を確立する。ここで用いるパスワードも、ステップS206の場合と同じワンタイムパスワードである。
接続が確立すると、仲介装置101はステップS211で画像処理装置100に更新用ファームウェアを送信し、画像処理装置100はステップS309でこれを受信すると、ステップS310で自機のファームウェアをその更新用ファームウェアに更新する。このとき、他のジョブが実行中であったり、予約されていたりした場合には、それが完了するまでは更新せずに待機するようにしてもよい。ファームウェアの更新が完了すると、画像処理装置100はステップS311で自身をリセットし、再起動して新たなファームを有効にする。また、画像処理装置100のリセットにより、FTP接続は切断される。以上がファーム送信処理である。
続いて、画像処理装置100の再起動が完了すると、画像処理装置100は起動したことを示す電源ON通知を仲介装置101に送信する。すると、仲介装置101はこれに応じてステップS212で画像処理装置100に対してFTPによる通信を要求し、以下ステップS214までで、ステップS205〜S208と同様な処理を行って画像処理装置100からファームのバージョン情報を取得する。画像処理装置側でも、ステップS313及びS314で、ステップS304乃至S307の場合と同様な処理を行ってファームのバージョン情報を送信する。
そして、仲介装置101はステップS215で、ステップS213で取得したバージョン情報と、ステップS211で送信した更新用ファームウェアのバージョン情報を比較し、一致していれば更新成功と判断して図20のステップS217に進む。一致していなければ、更新失敗と判断してステップS216に進み、エラー処理を行う。このエラー処理としては、再度S210からのファーム送信処理を行って画像処理装置100のファームウェアの更新を試みたり、あるいはファーム更新要求の送信元である管理装置102に対して、更新が失敗した旨の応答を返したりするとよい。後者の場合には、処理を終了し、再度のファーム更新要求を待つことになる。
ステップS215の判断がYESであり、図20のステップS217に進むと、ワンタイムパスワード無効化処理を開始し、仲介装置101はステップS202の場合と同様に画像処理装置100に対してSSLによる接続処理を行い、画像処理装置100側のステップS315の処理と併せて相互認証を行う。そして、画像処理装置100側から認証成功の応答が返されると、仲介装置101はステップS218で画像処理装置100に対して消去用パスワードを送信し、これを記憶するよう要求する。画像処理装置100はこれを受け取ると、ステップS316で記憶していたワンタイムパスワードに消去用パスワードを上書き記憶し、記憶完了の応答を返す。仲介装置101は、この応答があるとステップS219で画像処理装置100に切断要求を送ってSSLによる接続を切断する。この要求を受けた仲介装置101もステップS317で接続を切断する。ここまでの処理がワンタイムパスワード無効化処理である。
なお、この処理において、記憶しているワンタイムパスワードを消去できるのであれば必ずしも上書きをしなくてもよいことは、上述した通りである。
この処理は、消去用パスワードを必ずしも毎回生成する必要がない点を除けば、ワンタイムパスワード共有処理と同様なものである。しかし、このような処理によって、画像処理装置100がFTPの認証処理に用いるパスワードを別のパスワードに変更すれば、漏洩の危険性がある元のワンタイムパスワードを無効化でき、第3者によるなりすましを防止できる。また、消去用パスワードはFTPでは転送せず、例えばSSLを用いた安全な通信経路で転送するようにすれば、これが漏洩することもない。
ワンタイムパスワード無効化処理の後、仲介装置101はステップS220で管理装置102にファームウェア更新についての結果を通知し、処理を終了する。
なお、ステップS209でファームの更新が不要と判断した場合には、そのまま図20のステップS217に進んでワンタイムパスワード無効化処理を行い、ステップS220で管理装置102に結果を通知して終了する。画像処理装置100側の処理は、基本的に仲介装置101からのトリガに応じて行うので、ステップS210やステップS212での要求がなければ、画像処理装置100は図19に示した部分の処理は行わない。
以上説明したような処理を行うことにより、ネットワークを介して通信可能な被更新装置のファームウェアをソフトウェア更新装置によって更新する場合において、高い安全性を確保しながらコンパクトなプログラムによって更新処理を行うことができる。更新の対象がファームウェア以外のソフトウェアでも同様であることは、上述した通りである。
すなわち、まずソフトウェアの更新に必須のバージョン情報取得処理及びソフトウェア送信処理は処理負荷の小さいFTPによって行うようにしているので、プログラムをコンパクトにまとめることができる。ソフトウェア自体は、パスワード等の認証情報や被管理装置の利用者情報等に比べて機密性の高いデータではないので、FTPなどの暗号化を行わない通信で問題なく、むしろ処理負荷を低減してプログラムをコンパクトにする要求が強いのである。また、ソフトウェアは、パスワード等の認証情報に比べてサイズが大きいため、これを処理負荷の小さい通信経路で送信するようにすることにより、処理負荷を大きく低減することができる。
一方で、不正なソフトウェアを受信しないようにするためには、通信相手の認証が重要となるが、FTPでの認証処理に使用するパスワードは、使用する直前に生成して、通信内容を暗号化するSSLを用いて仲介装置101と画像処理装置100とが共有するようにしている。従って、このパスワードが第3者に漏洩することはなく、第3者が仲介装置101になりすまして別の装置から画像処理装置100に不正なソフトウェアを送信し、これに更新させてしまうといった事態を防止できる。
また、FTPでの認証処理に使用したパスワードを、ソフトウェアの更新成功を確認した後にただちに無効化してしまうようにすれば、第3者がFTPによる通信をモニタリングしてワンタイムパスワードを不正に取得したとしても、後日そのパスワードを用いて接続される可能性はなく、不正なアクセスを防止することができる。
また、ソフトウェア更新後に画像処理装置100が再起動した時点でソフトウェアのバージョン情報を確認するようにすれば、仲介装置101側で更新の成否を容易に知ることができる。そして、失敗していた場合に速やかに再更新等の対応を行うことができる。画像処理装置100が再起動時に電源ON通知を仲介装置101に送信するようにすれば、容易にこの確認のタイミングを計ることができる。
さらにまた、仲介装置101が外部からの要求に応じて画像処理装置100にソフトウェアを更新させ、その結果を応答として返すようにすれば、各画像処理装置100におけるソフトウェアの更新状況を管理装置102等によって管理することができる。
また、特にファームウェアの更新を考慮した場合には、ファームウェアはハードウェアの基本的な制御を行うためのソフトウェアを含むため、ファームウェア自身に更新機能を設けた場合、更新に失敗すると装置が全く動作しなくなる恐れがある。そこで、このような事態を避けるため、更新処理用の更新プログラムを別途用意し、これ以外の部分のみのファームウェアを更新することが行われている。そして、このようにした場合、ファームウェア更新時以外の通常動作時に使用しない更新プログラムのために大きな記憶容量を使用することは、コスト面等を考慮すると妥当でない。従って、更新プログラムはできるだけ容量が小さいものが好ましいという要求がある。そこで、以上説明したような更新処理を行うようにすることにより、更新に直接必要な処理を、例えばFTPのようにコンパクトなプログラムを用いて実現できるので、更新プログラムの容量を低減し、このような要求を満たすことができる。
また、ファームウェアの場合、更新に失敗した場合に備えて、被更新装置にはファームウェア自体の他にファームウェア更新処理用の更新プログラムを備えることは上述の通りであるが、上述の処理において、ファームウェアの更新に失敗した場合にはワンタイムパスワードを無効化しないようにしておけば、更新に失敗したとしても、SSLを使用しないバージョン情報取得処理からやり直すことができるので、画像処理装置100における更新プログラムとして用意するのは、バージョン情報取得処理及びファームウェア送信処理のためのプログラムのみでよい。従って、パスワードの受け渡しにSSLを使用して安全性を向上させながら、この処理に必要な部分を更新プログラムに含める必要がなく、更新プログラムをコンパクトにすることができる。
なお、ワンタイムパスワードの無効化について、上述した処理では、これを消去用パスワードの上書きによって行うようにすることにより、ワンタイムパスワードの共有の場合と処理を共通化し、プログラムのコンパクト化を図っている。
しかし、消去用パスワードの上書き要求に代えて、単に記憶しているワンタイムパスワードを認証処理に用いないようにする要求を行い、画像処理装置がこれに応じてワンタイムパスワードによる認証処理を行わない旨の設定を行うようにしてもよい。このようにする場合、要求自体を秘匿する必要はないので、必ずしもSSLによる通信を行う必要はない。画像処理装置100から消去用パスワードが盗まれる危険性を考慮するのであれば、このような設定が有効になる。
〔変形例〕
以下、上述した実施形態に適用できる種々の変形例について説明する。
以上説明した実施形態においては、仲介装置101が管理装置102からファーム更新要求を受けた場合にファームの更新処理を開始し、この際に仲介装置101がワンタイムパスワードを生成する例について説明した。しかし、この発明に係るファームの更新処理は、これに限られるものではない。
まず、第1の変形例として、ワンタイムパスワードの生成を画像処理装置100側で行うようにしてもよい。この場合、図17のステップS101乃至S106の処理に代えて、図21に示す処理を行う。
すなわち、仲介装置101がステップS101でファーム更新要求を受けると、画像処理装置100のファーム更新に係る処理を開始するが、初めに画像処理装置100に対してワンタイムパスワード生成要求を送信する(S401)。この要求自体は特に秘匿する必要はないので、SOAPドキュメントとしてHTTPによって送信することができる。
そして、画像処理装置100はこれに応じてワンタイムパスワードを生成し、これを記憶する(S402)。そしてこのワンタイムパスワードを、以後FTP接続の際の認証処理において、ワンタイムパスワード生成要求の送信元である仲介装置101のIDと対応するパスワードとして用いるものとする。
その後、画像処理装置100は仲介装置101に対してSSLによる接続要求を行う(S403)。この接続が確立すると、仲介装置101にワンタイムパスワードを送信し、これを記憶するよう要求する(S404)。この要求は、SOAPによるRPCとしてなされる。
仲介装置101は、この要求に応じて受信したワンタイムパスワードを記憶手段に記憶し(S405)、以後FTP接続の際の認証処理において、このワンタイムパスワードを送信するものとする。そして、図示は省略したが、この記憶の終了後、仲介装置101はその旨の応答を画像処理装置100に返し、画像処理装置100はこの応答を受け取るとSSLの接続を切断する(S406)。ステップS403乃至S406の通信は、HTTPSを用いて行われる。
そして、ステップS402乃至S406の処理において、画像処理装置100のCPUが認証情報設定手段として機能する。
このような処理によっても、図17に示した処理の場合と同様に、仲介装置101と画像処理装置100が暗号化された通信経路を用いて安全にワンタイムパスワードを共有することができる。従って、図17に示した処理を行う場合と同様な効果を得ることができる。
また、第2の変形例として、画像処理装置100が、操作パネル205等から直接ファームウェアの更新指示を受け付けることができるようにしてもよい。この場合、図17のステップS101乃至S106の処理に代えて、図22に示す処理を行う。
すなわち、画像処理装置100がファームウェアの更新指示を受け付けた場合(S411)、画像処理装置100のファーム更新に係る処理を開始し、仲介装置101に対してワンタイムパスワード生成要求を送信するようにする(S412)。そして仲介装置101は、この要求を受け取ると、図17に示した処理で管理装置102からファーム更新要求を受け取った場合と同様に、ワンタイムパスワード共有処理を行う。すなわち、ステップS413〜S417では、図17のステップS102〜S106と同様な処理を行う。
このようにすれば、画像処理装置100が直接ファームウェアの更新指示を受け付けた場合でも、管理装置102からファーム更新要求があった場合と同様に画像処理装置100のファームウェアを更新することができる。
なお、この変形例では管理装置102からのファーム更新要求はないが、管理装置102が特定できるのであれば、ステップS124の更新結果通知は行うようにするとよい。このようにすれば、管理装置102は自身以外からの指示によるファームの更新状況も把握でき、適切な管理を行うことができる。
また、仲介装置101がOp-Port56に接続する操作部から直接ファームウェアの更新指示を受け付け、これに応じて画像処理装置100のファーム更新に係る処理(ワンタイムパスワード共有処理以降の処理)を開始できるようにしてもよい。
第3の変形例としては、第1の変形例と第2の変形例を組み合わせることが考えられる。すなわち、画像処理装置100が、直接ファームウェアの更新指示を受け付け、さらにワンタイムパスワードの生成を画像処理装置100側で行うようにするのである。
この場合、図17のステップS101乃至S106の処理に代えて、図23に示す処理を行う。
この処理は、ステップS411の処理は図22の場合と同様であり、ステップS402〜S406の処理は図21の場合と同様であるので、詳細な説明は省略するが、この場合には、仲介装置101は、ステップS404でワンタイムパスワードの記憶要求があった時点で画像処理装置100のファーム更新に係る処理が開始されたものと認識し、以後の処理を行うものとする。
この変形例の効果は、第1の変形例の効果と第2の変形例の効果を合わせたものになる。
第4の変形例としては、ワンタイムパスワード消去処理において、消去用パスワードの記憶要求を画像処理装置100側から行うようにすることができる。この場合、図17のステップS120乃至S123の処理に代えて、図24に示す処理を行う。
すなわち、画像処理装置100がまず図22のステップS412の場合と同様に仲介装置101に対してSSLによる接続要求を行う(S421)。そして、この接続が確立すると、仲介装置101に消去用パスワードを送信し、これを記憶するよう要求する(S422)。この要求は、いわばワンタイムパスワードの無効化要求であり、この処理において、画像処理装置100のCPUが認証情報無効化手段として機能する。
仲介装置101は、この要求に応じてワンタイムパスワードを受信した消去用パスワードで上書きし(S423)、それまで記憶していたワンタイムパスワードは以後FTP接続の際に送信しないようにする。一方、画像処理装置100自身も、記憶しているワンタイムパスワードを消去用パスワードで上書きし(S424)、それまで記憶していたワンタイムパスワードは以後FTP接続の際の認証処理に用いないようにする。これらの記憶の終了後、画像処理装置100はSSLの接続を切断する(S425)。
この変形例は、上述した実施形態及び各変形例に適用できるが、第1及び第3の変形例のように、画像処理装置100側でワンタイムパスワードを生成する場合に適用すると、SSLによるパスワードの送信処理を画像処理装置100側に統一できてプログラムの簡略化に効果的である。
なお、この変形例を適用する場合、仲介装置101が、図17のステップS119でファームの更新が成功したと判断した場合に画像処理装置101に対してその旨を通知するようにし、画像処理装置101がその通知を受け取った場合に図24に示す処理を開始するようにするとよい。
また、以上の実施形態及び各変形例においては、被更新装置の例として通信機能を備えた画像処理装置について主に説明したが、この発明はこれに限られるものではなく、通信機能を備えたネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム等や、ネットワークに接続可能な汎用コンピュータ,自動車,航空機等も含め、通信機能を備えた各種電子装置に適用可能である。
例えば、図1に示した遠隔管理システムにおいて、これらの各装置を被管理装置(被更新装置)とし、図25に示すような遠隔管理システム及び証明書設定システムを構成することが考えられる。この図においては、仲介装置101を別途設ける被管理装置の例としてテレビ受像機12aや冷蔵庫12bのようなネットワーク家電、医療機器12c,自動販売機12d,計量システム12e,空調システム12fを挙げている。そして、仲介装置101の機能を併せ持つ被管理装置の例として、自動車13aや航空機13bを挙げている。また、自動車13aや航空機13bのように広範囲を移動する装置においては、ファイアウォール(FW)104の機能も併せ持つようにすることが好ましい。
このような遠隔管理システムにおいて被管理装置となる各装置のソフトウェアを更新する場合にも、この発明はもちろん適用可能である。
また、ソフトウェア更新装置についても、図1、図3及び図25等に示した仲介装置に限られるものではなく、ソフトウェア更新の専用装置であったり、あるいは管理装置102であってもよい。
さらに、この発明のソフトウェア更新システムは、必ずしも遠隔管理システムに含まれるものとは限らず、また、被更新装置,ソフトウェア更新装置,管理装置の構成及びこれらの接続形式は、以上の実施形態に限られるものではない。これらの各装置の間の通信も、有線,無線を問わず、ネットワークを構築可能な各種通信回線(通信経路)を用いて行うことができる。
また、通信経路について、第1の通信経路としてSSLによる通信経路、第2の通信経路としてFTPによる通信経路を用いた例について説明したが、これに限られるものではなく、第1の通信経路が送信すべきデータを暗号化して送信するものであり、第2の通信経路が第1の通信経路よりも処理負荷の小さいものであれば、他のプロトコルを使用した通信経路(通信方式)であっても構わない。このとき、第2の通信経路を、送信すべきデータを暗号化しないで送信する通信経路とすることにより、処理負荷を低減することが考えられる。また、更新装置が被更新装置に更新用認証情報を送信して認証を要求する際の通信経路が、更新用ソフトウェアの転送に使用する第2の通信経路と異なるもの、例えば認証用の独自プロトコルによる通信経路であってもよい。
さらに、以上説明した変形を適宜組み合わせて適用してよいことも、もちろんである。
また、この発明によるプログラムは、ネットワークを介して被更新装置と通信可能なソフトウェア更新装置を制御するコンピュータに、上述した各機能(認証情報設定手段,認証要求手段,送信手段,その他の手段としての機能)を実現させるためのプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上説明してきたように、この発明のソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法、またはプログラムによれば、ネットワークを介して通信可能な被更新装置のソフトウェアをソフトウェア更新装置によって更新する場合において、高い安全性を確保しながら更新処理の負荷を低減することができる。
従って、この発明を適用することにより、例えばユーザに販売した通信装置のソフトウェアを安全かつ容易に更新可能とするようなシステムを提供することができる。
この発明によるソフトウェア更新システムを含む遠隔管理システムの構成例を示す概念図である。 その遠隔管理システムにおけるデータ送受モデルを示す概念図である。 その遠隔管理システムを構成する仲介装置のハードウェア構成例を示すブロック図である。 その仲介装置のソフトウェア構成例を示すブロック図である。 画像処理装置を被更新装置としたこの発明によるソフトウェア更新システムを含む、画像処理装置遠隔管理システムの構成例を示す概念図である。 その画像処理装置遠隔管理システムを構成する画像処理装置のハードウェア構成例を示すブロック図である。 その画像処理装置のソフトウェア構成例を示すブロック図である。 その画像処理装置におけるENGRDY信号とPWRCTL信号について説明するための図である。 その画像処理装置におけるウェブサービスアプリの構成例を示す機能ブロック図である。 図3に示した画像処理装置遠隔管理システム内で行われるデータ送受信の際の通信シーケンスの一例を示す図である。
図3に示した画像処理装置から管理装置102へデータを送信する場合の通信シーケンスの一例を示す図である。 図3に示した仲介装置によって画像処理装置のファームウェアを更新する処理の参考例に用いるパスワードリストの例を示す図である。 その参考例のファームウェア更新処理を示すシーケンス図である。 図3に示した仲介装置と画像処理装置との間でSSLを用いた相互認証を行う際の処理例を示す図である。 同じく片方向認証を行う際の処理例を示す図である。 その別の例を示す図である。 図3に示した仲介装置によって画像処理装置のファームウェアを更新する際の処理例を示すシーケンス図である。 図3に示した仲介装置によって画像処理装置のファームウェアを更新する際の処理例の一部を示すフローチャートである。 図18の続きの処理を示すフローチャートである。 図19の続きの処理を示すフローチャートである。
図17に示した処理の第1の変形例において図17の処理と入れ替える部分の処理例を示すシーケンス図である。 同じく第2の変形例において図17の処理と入れ替える部分の処理例を示すシーケンス図である。 同じく第3の変形例において図17の処理と入れ替える部分の処理例を示すシーケンス図である。 同じく第4の変形例において図17の処理と入れ替える部分の処理例を示すシーケンス図である。 図1に示した遠隔管理システムの別の構成例を示す図である。 従来のファームウェア更新システムにおけるファームウェア更新処理の例を示すシーケンス図である。 図26に示した処理の危険性について説明するための図である。
符号の説明
10:被管理装置 11:仲介機能付被管理装置
52:CPU 53:SDRAM
54:フラッシュメモリ 55:RTC
56:Op-Port 57:PHY
58:モデム 59:HDD制御部
63:HDD 70:アプリケーション層
80:サービス層 90:プロトコル層
100:画像処理装置 101:仲介装置
102:管理装置 103:インタネット
104:ファイアウォール 105:端末装置
110:仲介機能付画像処理装置
200:コントローラボード 201:HDD
202:NV−RAM 203:PIボード
204:PHY 205:操作パネル
206:プロッタ/スキャナエンジンボード
207:電源ユニット 212:PCI−BUS
300:OCS 301:ECS
302:MCS 303:NCS
304:FCS 305:CSS
306:SCS 307:SRM
308:IMH 309:コピーアプリ
310:ファクスアプリ 311:プリンタアプリ
312:スキャナアプリ
313:ネットファイルアプリ 314:ウェブアプリ
315:NRSアプリ 316:DCS
317:UCS 318:DESS
319:CCS

Claims (19)

  1. ネットワークを介して被更新装置と通信可能なソフトウェア更新装置であって、
    前記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で前記被更新装置に送信して記憶するよう要求する認証情報設定手段と、
    前記被更新装置に前記更新用認証情報を送信し、該認証情報による認証処理を要求する認証要求手段と、
    該認証処理が成功した場合に更新用ソフトウェアを前記第1の通信経路よりも処理負荷の小さい第2の通信経路で前記被更新装置に送信する送信手段と
    前記被更新装置との通信に基づき、前記被更新装置においてソフトウェアの前記更新用ソフトウェアへの更新が成功したと判断した場合に、前記更新用認証情報に上書きさせるための消去用情報を生成し、これを前記第1の通信経路で前記被更新装置に送信して前記更新用認証情報に上書きして記憶するよう要求する認証情報消去手段とを設けたことを特徴とするソフトウェア更新装置。
  2. 請求項記載のソフトウェア更新装置であって、
    前記被更新装置のソフトウェアの更新を、外部からのソフトウェア更新要求に応じて行い、その結果を該更新要求の要求元に返す手段を設けたことを特徴とするソフトウェア更新装置。
  3. 請求項1又は2記載のソフトウェア更新装置であって、
    前記被更新装置から起動した旨を示す起動通知を受け付ける手段と、
    前記更新用ソフトウェアの送信後に前記被更新装置から前記起動通知を受け付けた場合に該被更新装置からソフトウェアのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認する手段とを設けたことを特徴とするソフトウェア更新装置。
  4. 請求項1乃至のいずれか一項記載のソフトウェア更新装置であって、
    前記第1の通信経路はSSLによる通信を行う通信経路であり、
    前記第2の通信経路はFTPによる通信を行う通信経路であることを特徴とするソフトウェア更新装置。
  5. 請求項1乃至のいずれか一項記載のソフトウェア更新装置であって、
    前記第1の通信経路は、送信すべきデータを暗号化して送信する通信経路であり、
    前記第2の通信経路は、送信すべきデータを暗号化しないで送信する通信経路であることを特徴とするソフトウェア更新装置。
  6. ネットワークを介して互いに通信可能なソフトウェア更新装置と被更新装置とによって構成されるソフトウェア更新システムであって、
    前記ソフトウェア更新装置に、
    前記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で前記被更新装置に送信して記憶するよう要求する認証情報設定手段と、
    前記被更新装置に前記更新用認証情報を送信し、該認証情報による認証処理を要求する認証要求手段と、
    該認証処理が成功した場合に更新用ソフトウェアを前記第1の通信経路よりも処理負荷の小さい第2の通信経路で前記被更新装置に送信する送信手段と、
    前記被更新装置との通信に基づき、前記被更新装置においてソフトウェアの前記更新用ソフトウェアへの更新が成功したと判断した場合に、前記更新用認証情報に上書きさせるための消去用情報を生成し、これを前記第1の通信経路で前記被更新装置に送信して前記更新用認証情報に上書きして記憶するよう要求する認証情報消去手段とを設け、
    前記被更新装置に、
    前記更新用認証情報を記憶するよう要求された場合にこれを記憶する記憶手段と、
    前記認証処理を要求された場合に、受信した更新用認証情報と前記記憶手段に記憶している更新用認証情報とを用いて認証処理を行って結果を返す認証手段と、
    該認証処理が成功した場合に前記更新用ソフトウェアを受信し、自機のソフトウェアを該更新用ソフトウェアに更新する更新手段と、
    前記更新装置と通信して、該更新装置に前記更新手段によるソフトウェアの更新が成功したことを確認させる手段と、
    前記消去用情報を記憶するよう要求された場合にこれを前記更新用認証情報に上書きして記憶する手段とを設けたことを特徴とするソフトウェア更新システム。
  7. 請求項記載のソフトウェア更新システムであって、
    前記被更新装置に、
    前記ソフトウェアの更新が成功したことを確認させる手段として、
    前記更新手段によるソフトウェアの更新後に自機を再起動する手段と、
    起動時に前記ソフトウェア更新装置にその旨を示す起動通知を送信する手段と、
    前記ソフトウェア更新装置からの要求に応じて該装置にソフトウェアのバージョン情報を送信する手段とを設け、
    前記ソフトウェア更新装置に、
    前記更新用ソフトウェアの送信後に前記被更新装置から前記起動通知を受け付けた場合に該被更新装置に対してソフトウェアのバージョン情報の送信を要求して該バージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認する手段を設けたことを特徴とするソフトウェア更新システム。
  8. 請求項6又は7記載のソフトウェア更新システムであって、
    前記第1の通信経路はSSLによる通信を行う通信経路であり、
    前記第2の通信経路はFTPによる通信を行う通信経路であることを特徴とするソフトウェア更新システム。
  9. 請求項6又は7記載のソフトウェア更新システムであって、
    前記第1の通信経路は、送信すべきデータを暗号化して送信する通信経路であり、
    前記第2の通信経路は、送信すべきデータを暗号化しないで送信する通信経路であることを特徴とするソフトウェア更新システム。
  10. ソフトウェア更新装置によって、ネットワークを介して通信可能な被更新装置のソフトウェアを更新するソフトウェア更新方法であって、
    前記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で前記被更新装置に送信して記憶させ、
    前記被更新装置に前記更新用認証情報を送信して該認証情報による認証処理を行わせ、
    該認証処理が成功した場合に更新用ソフトウェアを前記第1の通信経路よりも処理負荷の小さい第2の通信経路で前記被更新装置に送信してソフトウェアの更新を行わせ
    前記被更新装置との通信に基づき、前記被更新装置においてソフトウェアの前記更新用ソフトウェアへの更新が成功したと判断した場合に、前記更新用認証情報に上書きさせるための消去用情報を生成し、これを前記第1の通信経路で前記被更新装置に送信して前記更新用認証情報に上書きして記憶させることを特徴とするソフトウェア更新方法。
  11. 請求項10記載のソフトウェア更新方法であって、
    前記被更新装置のソフトウェアの更新を、外部からのソフトウェア更新要求に応じて行い、その結果を該更新要求の要求元に返すことを特徴とするソフトウェア更新方法。
  12. 請求項10又は11記載のソフトウェア更新方法であって、
    前記被更新装置から起動した旨を示す起動通知を受け付け、
    前記更新用ソフトウェアの送信後に前記被更新装置から前記起動通知を受け付けた場合に該被更新装置からソフトウェアのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認することを特徴とするソフトウェア更新方法。
  13. 請求項10乃至12のいずれか一項記載のソフトウェア更新方法であって、
    前記第1の通信経路はSSLによる通信を行う通信経路であり、
    前記第2の通信経路はFTPによる通信を行う通信経路であることを特徴とするソフトウェア更新方法。
  14. 請求項10乃至12のいずれか一項記載のソフトウェア更新方法であって、
    前記第1の通信経路は、送信すべきデータを暗号化して送信する通信経路であり、
    前記第2の通信経路は、送信すべきデータを暗号化しないで送信する通信経路であることを特徴とするソフトウェア更新方法。
  15. ネットワークを介して被更新装置と通信可能なソフトウェア更新装置を制御するコンピュータを、
    前記被更新装置のソフトウェアを更新する場合に更新用認証情報を生成し、これを暗号化された第1の通信経路で前記被更新装置に送信して記憶するよう要求する認証情報設定手段と、
    前記被更新装置に前記更新用認証情報を送信し、該認証情報による認証処理を要求する認証要求手段と、
    該認証処理が成功した場合に更新用ソフトウェアを前記第1の通信経路よりも処理負荷の小さい第2の通信経路で前記被更新装置に送信する送信手段と
    前記被更新装置との通信に基づき、前記被更新装置においてソフトウェアの前記更新用ソフトウェアへの更新が成功したと判断した場合に、前記更新用認証情報に上書きさせるための消去用情報を生成し、これを前記第1の通信経路で前記被更新装置に送信して前記更新用認証情報に上書きして記憶するよう要求する認証情報消去手段として機能させるためのプログラム。
  16. 請求項15記載のプログラムであって、
    前記コンピュータを、前記被更新装置のソフトウェアの更新を外部からのソフトウェア更新要求に応じて行い、その結果を該更新要求の要求元に返す手段として機能させるためのプログラムをさらに含むことを特徴とするプログラム。
  17. 請求項15又は16記載のプログラムであって、
    前記コンピュータを、
    前記被更新装置から起動した旨を示す起動通知を受け付ける手段と、
    前記更新用ソフトウェアの送信後に前記被更新装置から前記起動通知を受け付けた場合に該被更新装置からソフトウェアのバージョン情報を取得し、送信した更新用ソフトウェアのバージョン情報と比較して更新の成否を確認する手段として機能させるためのプログラムをさらに含むことを特徴とするプログラム。
  18. 請求項15乃至17のいずれか一項記載のプログラムであって、
    前記第1の通信経路はSSLによる通信を行う通信経路であり、
    前記第2の通信経路はFTPによる通信を行う通信経路であることを特徴とするプログラム。
  19. 請求項15乃至17のいずれか一項記載のプログラムであって、
    前記第1の通信経路は、送信すべきデータを暗号化して送信する通信経路であり、
    前記第2の通信経路は、送信すべきデータを暗号化しないで送信する通信経路であることを特徴とするプログラム。
JP2004058270A 2003-03-28 2004-03-02 ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム Expired - Fee Related JP4597551B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004058270A JP4597551B2 (ja) 2003-03-28 2004-03-02 ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム
US10/810,696 US7555657B2 (en) 2003-03-28 2004-03-29 Communication device, software update device, software update system, software update method, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003090827 2003-03-28
JP2003090886 2003-03-28
JP2004058270A JP4597551B2 (ja) 2003-03-28 2004-03-02 ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2004318838A JP2004318838A (ja) 2004-11-11
JP4597551B2 true JP4597551B2 (ja) 2010-12-15

Family

ID=33479627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004058270A Expired - Fee Related JP4597551B2 (ja) 2003-03-28 2004-03-02 ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4597551B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200396124A1 (en) * 2011-01-10 2020-12-17 Snowflake Inc. Extending remote diagnosis cloud services

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5497974B2 (ja) * 2005-12-19 2014-05-21 株式会社メガチップス 映像処理装置、映像処理方法および映像処理プログラム
JP4822544B2 (ja) * 2006-04-26 2011-11-24 株式会社リコー 複数のモジュール構成情報を管理できる画像形成装置
JP4980809B2 (ja) 2007-07-10 2012-07-18 株式会社リコー 画像形成装置、画像形成装置の起動方法、およびプログラム
CN112199686A (zh) * 2007-11-27 2021-01-08 波音公司 分配可加载软件飞行器部件(lsap)的方法和设备
JP2009157611A (ja) * 2007-12-26 2009-07-16 Cis Electronica Industria & Comercio Ltda 磁気ヘッド
JP4911187B2 (ja) * 2009-03-25 2012-04-04 ブラザー工業株式会社 情報処理システム、ドライバ更新プログラム及び周辺装置
JP5821640B2 (ja) 2012-01-06 2015-11-24 株式会社リコー 情報処理装置
AU2012375273B2 (en) 2012-03-31 2016-05-26 Intel Corporation Method and system for verifying proper operation of a computing device after a system change
JP5870864B2 (ja) * 2012-07-09 2016-03-01 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
CN106257879B (zh) * 2015-06-16 2020-02-14 阿里巴巴集团控股有限公司 一种下载应用的方法和装置
JP7152966B2 (ja) * 2019-02-26 2022-10-13 株式会社Subaru 車両用電子制御ユニットのリプログラミング方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145354A (ja) * 1996-11-14 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> 機能遠隔変更方法
JP2001075965A (ja) * 1999-06-30 2001-03-23 Mega Chips Corp 情報通信システム
JP2002007355A (ja) * 2000-06-27 2002-01-11 Ntt Docomo Kansai Inc パスワードを用いた通信方法
JP2002041295A (ja) * 2000-07-24 2002-02-08 Sony Corp ソフトウェア更新管理装置、管理方法および記録媒体
JP2004005585A (ja) * 2002-04-23 2004-01-08 Matsushita Electric Ind Co Ltd サーバ装置及びプログラム管理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10145354A (ja) * 1996-11-14 1998-05-29 Nippon Telegr & Teleph Corp <Ntt> 機能遠隔変更方法
JP2001075965A (ja) * 1999-06-30 2001-03-23 Mega Chips Corp 情報通信システム
JP2002007355A (ja) * 2000-06-27 2002-01-11 Ntt Docomo Kansai Inc パスワードを用いた通信方法
JP2002041295A (ja) * 2000-07-24 2002-02-08 Sony Corp ソフトウェア更新管理装置、管理方法および記録媒体
JP2004005585A (ja) * 2002-04-23 2004-01-08 Matsushita Electric Ind Co Ltd サーバ装置及びプログラム管理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200396124A1 (en) * 2011-01-10 2020-12-17 Snowflake Inc. Extending remote diagnosis cloud services
US11770292B2 (en) * 2011-01-10 2023-09-26 Snowflake Inc. Extending remote diagnosis cloud services
US12040940B2 (en) 2011-01-10 2024-07-16 Snowflake Inc. Deploying upgrades for cloud services

Also Published As

Publication number Publication date
JP2004318838A (ja) 2004-11-11

Similar Documents

Publication Publication Date Title
JP2004318839A (ja) 通信装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム
US7555657B2 (en) Communication device, software update device, software update system, software update method, and program
US7489783B2 (en) Digital certificate management system, digital certificate management apparatus, digital certificate management method, update procedure determination method and program
JP4791818B2 (ja) 被管理装置、管理システム、被管理装置の制御方法、プログラム及び記録媒体
US7584351B2 (en) Method of transferring digital certificate,apparatus for transferring digital certificate, and system, program, and recording medium for transferring digital certificate
JP4555175B2 (ja) 審査装置、通信システム、審査方法、プログラム及び記録媒体
JP4576210B2 (ja) 証明書転送装置、証明書転送システム、証明書転送方法、プログラム及び記録媒体
JP2007026412A (ja) 保守仲介装置、保守対象機器の保守方法、保守プログラム、保守プログラムが記録された記録媒体及び保守システム
JP2007013597A (ja) 通信システム、証明書更新装置、証明書更新プログラム、通信装置及び代替更新プログラム
JP4526809B2 (ja) 通信装置の製造方法及び製造システム
JP2004222247A (ja) 通信装置,通信装置の遠隔管理システム,通信装置の制御方法,およびプログラム
JP2006134301A (ja) サービス提供システム、情報処理装置、サービス提供サーバ及びユーザ認証方法
JP4597551B2 (ja) ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム
KR20180095455A (ko) 정보처리장치, 화상형성장치, 시스템, 그 제어 방법, 및 기억매체
JP2005284985A (ja) ネットワーク対応機器、ネットワーク対応機器を保守する保守方法、プログラム、プログラムが記録された媒体及び保守システム
JP2023078380A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP4543068B2 (ja) 通信装置、遠隔管理システム、通信装置の制御方法、プログラム及び記録媒体
JP4663245B2 (ja) 電子装置、画像処理装置、遠隔管理システム、プログラム及び認証方法
JP2008062440A (ja) 画像形成装置
JP2004030625A (ja) 遠隔管理システムとその仲介装置,管理装置,秘密情報設定方法,およびプログラム
JP5614197B2 (ja) 通信装置及び管理システム
JP5729057B2 (ja) 通信装置、通信システムおよびプログラム
JP4494827B2 (ja) デジタル証明書管理システム、デジタル証明書管理装置、デジタル証明書管理方法およびプログラム
JP2004287564A (ja) 通信装置、遠隔管理システム、通信装置の制御方法、プログラム及び記録媒体
JP2004208295A (ja) 通信装置、通信装置の遠隔管理システム、通信装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100304

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

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: 20100914

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: 20100922

R150 Certificate of patent or registration of utility model

Ref document number: 4597551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees