(57)【特許請求の範囲】
【請求項１】
管理用秘密鍵を記憶する鍵記憶手段と、
情報処理装置がイベント毎のログ情報に、ログ情報のハッシュ値を情報処理装置自身の秘密鍵を使って暗号化した署名を付した署名付ログ情報をネットワークを介して受信する受信手段と、
受信した署名付ログ情報に現在時刻情報を付加するとともに、現在時刻情報を付加した署名付ログ情報のハッシュ値を生成する管理装置側ハッシュ化手段と、
管理装置側ハッシュ化手段によるハッシュ値を管理用秘密鍵を使って暗号化した管理側署名を生成し、受信した署名付ログ情報に管理側署名を付した管理署名付ログ情報を生成する管理側署名手段と、
生成された管理署名付ログ情報を記憶するログ記憶手段と、
を備えることを特徴とするログ管理装置。
【請求項２】
コンピュータを、ネットワークを介して情報処理装置から送られるログ情報を管理するログ管理装置として機能させるためのプログラムであり、コンピュータに、
情報処理装置がイベント毎のログ情報に、ログ情報のハッシュ値を情報処理装置自身の秘密鍵を使って暗号化した署名を付した署名付ログ情報をネットワークを介して受信する受信ステップ、
受信した署名付ログ情報に現在時刻情報を付加するとともに、現在時刻情報を付加した署名付ログ情報のハッシュ値を生成する管理装置側ハッシュ化ステップ、
管理装置側ハッシュ化ステップによるハッシュ値を管理用秘密鍵を使って暗号化した管理側署名を生成し、受信した署名付ログ情報に管理側署名を付した管理署名付ログ情報を生成する管理署名ステップ、
生成された管理署名付ログ情報を記憶するログ記憶ステップ、
を実行させるためのログ管理プログラム。
【請求項３】
コンピュータを、ネットワークを介して情報処理装置から送られるログ情報を管理するログ管理装置として機能させるためのプログラムであり、コンピュータに、
情報処理装置がイベント毎のログ情報に、ログ情報のハッシュ値を情報処理装置自身の秘密鍵を使って暗号化した署名を付した署名付ログ情報をネットワークを介して受信する受信ステップ、
情報処理装置の公開鍵を使って、受信した署名付ログ情報に付された署名からハッシュ値を復号するとともに、署名付ログ情報のログ情報のハッシュ値を新たに生成し、復号したハッシュ値と新たに生成したハッシュ値の同一性により認証を試みる認証ステップ、
認証ステップにより認証に成功した署名付ログ情報に現在時刻情報を付加するとともに、現在時刻情報を付加した署名付ログ情報のハッシュ値を生成する管理装置側ハッシュ化ステップ、
管理装置側ハッシュ化ステップによるハッシュ値を管理用秘密鍵を使って暗号化した管理側署名を生成し、受信した署名付ログ情報に管理側署名を付した管理署名付ログ情報を生成する管理側署名ステップ、
生成された管理署名付ログ情報を記憶するログ記憶ステップ、
を実行させるためのログ管理プログラム。
【請求項４】
ネットワークを介して情報処理装置から送られるログ情報を管理するログ管理装置であり、
情報処理装置がイベント毎のログ情報に、ログ情報のハッシュ値を情報処理装置自身の秘密鍵を使って暗号化した署名を付した署名付ログ情報をネットワークを介して受信する受信手段と、
情報処理装置の公開鍵を使って、受信した署名付ログ情報に付された署名からハッシュ値を復号するとともに、署名付ログ情報のログ情報のハッシュ値を新たに生成し、復号したハッシュ値と新たに生成したハッシュ値の同一性により認証を試みる認証手段と、
認証手段が認証に成功した署名付ログ情報に現在時刻情報を付加するとともに、現在時刻情報を付加した署名付ログ情報のハッシュ値を生成するハッシュ化手段と、
ハッシュ化手段が生成したハッシュ値を、管理用秘密鍵を使って暗号化した管理側署名を生成し、受信した署名付ログ情報に管理側署名を付した管理署名付ログ情報を生成する管理側署名手段と、
生成された管理署名付ログ情報を記憶するログ記憶手段と、
を備えることを特徴とするログ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してログ情報を管理する技術に関する。特に、通信負荷を増大することなくログ情報の改ざんを発見することのできるログ管理装置、及び、ログ管理プログラムに関する。
【背景技術】
【０００２】
プリンタや複合機などの情報処理装置では、紙詰まりや印刷などのイベントが発生する毎に、そのイベントの内容をログ情報として記憶しておくことが好ましい。ログ情報には、イベントに付随する情報（例えば印刷イベントであれば、印刷回数や印刷枚数などの情報）が含まれることもある。
ログ情報を個々の情報処理装置で管理する技術が提案されている。この技術によれば、イベント毎のログ情報を暗号化し管理している（特許文献１参照）。また、ログ情報をサーバに送信してサーバで管理する技術も提案されている。ログ情報をサーバで管理すると、複数の情報処理装置のログ情報を一括して管理できる。また、大量のログ情報を管理できる。
情報処理装置のログ情報を、ネットワークを介してサーバへ送信する場合、ネットワークを流れるログ情報が他者に読み取られて改ざんされる虞がある。そこで、ログ情報を暗号化してサーバへ送信する技術が提案されている（特許文献２、３参照）。特に、特許文献３には、ＳＳＬ（Secure Sockets Layer）と呼ばれる周知の暗号化技術を用いてログ情報をサーバへ送信する技術が開示されている。
【０００３】
【特許文献１】特開２００２−３６６４６１号公報
【特許文献２】特開２００７−１７４２５８号公報
【特許文献３】特開２００１−３５０６５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＳＳＬを用いた暗号通信は、プロトコルが複雑であるため、通信のオーバーヘッド（ハンドシェイクの時間や鍵交換の時間など、送るべきデータの送信以外に要する時間）が大きい。従って、イベントが頻繁に発生する情報処理装置、特にプリンタや複合機では、イベント毎にログ情報をＳＳＬに基づいて通信すると通信負荷が増大してしまう。情報処理装置で複数のログ情報を所定量まで蓄積しておき、蓄積したログ情報を一括して通信すると、改ざんされた場合の被害が大きくなってしまう。
本発明は、上記課題に鑑みて創作されたものであり、通信負荷を増大することなく、ログ情報の改ざんを発見することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、ログ情報が生成される毎に、このログ情報に基づいた（電子）署名をログ情報に付した署名付ログ情報を生成し、これをネットワーク（ネットワークに接続されたログ管理装置）に対して送信するようにしたものである。従って、ネットワーク上には、署名付ログ情報だけ通信されるため、通信の負荷を増大させることがなく、かつ改ざんがなされた場合、これを発見することができる。
【０００６】
本発明は、ネットワークに接続される情報処理装置であり、ログ情報をネットワークを介してログ管理装置へ送信する情報処理装置に具現化することができる。
本発明の情報処理装置は、ログ生成手段と、ハッシュ化手段と、署名手段と、送信手段を備える。
ログ生成手段は、記録対象となっているイベントが発生する毎に、発生したイベントの内容を記述するログ情報を生成する。ハッシュ化手段は、ログ情報が生成される毎に、生成されたログ情報のハッシュ値を生成する。署名手段は、ハッシュ値が生成される毎に、生成されたハッシュ値に自己（情報処理装置）の秘密鍵を使って暗号化した署名を生成し、ログ情報に署名を付した署名付ログ情報を生成する。送信手段は、署名付ログ情報が生成される毎に、生成された署名付ログ情報をネットワークを介してログ管理装置へ送信する。
記録対象となっているイベントとは、プリンタであれば紙詰まりや印刷処理実行などである。印刷処理の実行に関するログ情報には、印刷回数、印刷枚数が含まれてよい。すなわち、ログ情報には、イベントの表す情報とともに、イベントに付随する付加情報が含まれてよい。ファクシミリ装置であれば、イベントとは、ファクシミリの送信処理或いは受信処理などである。ファクシミリ装置の場合、イベントに付随する付加情報には、例えば送信内容（ファクシミリのカバーページの画像）や送信先、或いは送信元の情報が含まれてよい。
【０００７】
上記の情報処理装置によると、イベントが発生する毎に、イベントのログ情報に秘密鍵による署名が付されて送信される。送信元のログ管理装置とのデータ通信は署名付ログ情報だけであるので、通信負荷を増大させることがない。
なお、署名（電子署名）は、その生成にハッシュ関数等が用いられ、署名の毎にその内容が異なるものとなる。
従って、ひとつの署名付ログ情報を解読して改ざんできたとしても、改ざんの事実を発見することができる。上記の情報処理装置では、イベント発生毎に署名付ログ情報が送信されるので、仮に署名付ログ情報が改ざんされたとしても、改ざんされるログ情報を最小に留めることができる。
【０００８】
本発明はまた、ネットワークに接続されるログ管理装置であり、情報処理装置のログ情報をネットワークを介して受信するログ管理装置に具現化することもできる。
ログ管理装置は、受信手段と、認証手段と、ログ記憶手段を備える。受信手段は、情報処理装置がイベント毎のログ情報に、ログ情報のハッシュ値を情報処理装置自身の秘密鍵を使って暗号化した署名を付した署名付ログ情報をネットワークを介して受信する。認証手段は、情報処理装置の公開鍵を使って、受信した署名付ログ情報に付された署名からハッシュ値を復号するとともに、署名付ログ情報のログ情報のハッシュ値を新たに生成し、復号したハッシュ値と新たに生成したハッシュ値の同一性により認証を試みる。ログ記憶手段は、認証手段が認証に成功した署名付ログ情報を、認証手段が認証に成功しなかった署名付ログ情報と区別して記憶する。認証に成功しなかった署名付ログ情報は、認証に成功した署名付ログ情報と区別して記憶してもよいし、破棄してもよい。
【０００９】
上記のログ管理装置によれば、認証に成功した署名付ログ情報、即ち、改ざんされていないことが確認された署名付ログ情報を、正確なログ情報として記憶することができる。
【００１０】
本発明はまた、他のログ管理装置に具現化することもできる。
他のログ管理装置は、鍵記憶手段と、受信手段と、管理装置側ハッシュ化手段と、管理側署名手段と、ログ記憶手段を備える。
鍵記憶手段には、管理用秘密鍵が記憶されている。受信手段は、情報処理装置がイベント毎のログ情報に、ログ情報のハッシュ値を情報処理装置自身の秘密鍵を使って暗号化した署名を付した署名付ログ情報をネットワークを介して受信する。管理装置側ハッシュ化手段は、受信した署名付ログ情報に現在時刻情報を付加するとともに、現在時刻情報を付加した署名付ログ情報のハッシュ値を生成する。管理側署名手段は、管理装置側ハッシュ化手段によるハッシュ値を管理用秘密鍵を使って暗号化した管理側署名を生成し、受信した署名付ログ情報に管理側署名を付した管理署名付ログ情報を生成する。ログ記憶手段は、生成された管理署名付ログ情報を記憶する。
【００１１】
上記のログ管理装置は、受信した署名付ログ情報に現在時刻を付加する。付加した現在時刻情報によって、受信した複数の署名付ログ情報の時間的関係を正確に管理することができる。また、署名付ログ情報を送信する情報処理装置が計時ユニット（例えば時計）を備えていなくとも、複数の署名付ログ情報の時間的関係を管理することができる。
さらに、ログ管理装置が署名することによって、ログ情報には電子署名が２重に付されることになる。ログ情報の管理に高い安全性を確保することができる。
【００１２】
なお、本発明は、上記の２つのログ管理装置の特徴を併せ持つ次のログ管理装置に具現化することもできる。
このログ管理装置は、鍵記憶手段と、受信手段と、認証手段と、管理装置側ハッシュ化手段と、管理側署名手段と、ログ記憶手段を備える。鍵記憶手段、受信手段、認証手段は、前述したものと同様である。管理装置側ハッシュ化手段は、認証手段が認証に成功した署名付ログ情報に現在時刻情報を付加するとともに、現在時刻情報を付加した署名付ログ情報のハッシュ値を生成する。管理側署名手段は、管理装置側ハッシュ化手段によるハッシュ値を管理用秘密鍵を使って暗号化した管理側署名を生成し、受信した署名付ログ情報に管理側署名を付した管理署名付ログ情報を生成する。ログ記憶手段は、生成された管理署名付ログ情報を記憶する。
このログ管理装置によれば、改ざんされていないことが確認できた複数の署名付ログ情報（即ち、認証に成功した署名付ログ情報）を、時間的関係を含めて管理できる。また電子署名が２重に付されるので、高い安全性を確保できる。
【００１３】
また、本発明は、上記した情報処理装置と、上記したいずれかのログ管理装置を含むログ管理システムに具現化することもできる。
また、上記した情報処理装置やログ管理装置の各手段が実行する処理は、コンピュータプログラムによって実現されてよい。
【発明の効果】
【００１４】
本発明によれば、ネットワークを介してログ情報を管理する技術であり、通信負荷を増大することなくログ情報の改ざんを発見する技術を提供することができる。
【発明を実施するための最良の形態】
【００１５】
図面を参照して本発明の実施例を説明する。本実施例は、プリンタ１０（情報処理装置）とログ管理サーバ５０（ログ管理装置）がネットワーク８０に接続されたログ管理システム１００である。図１に、本実施例のログ管理システム１００のブロック図を示す。このログ管理システム１００は、プリンタ１０で発生したイベント（起動イベント、印刷イベント、紙詰まりイベントなど）の発生記録（ログ情報）をログ管理サーバ５０で管理するシステムである。
【００１６】
プリンタ１０の構造について説明する。プリンタ１０は、制御部１２、印刷ユニット１４、プログラム記憶部１６、及びデータ記憶部３０を備えている。
制御部１２は、印刷ユニット１４の制御や、ネットワーク８０に接続された他の装置（例えばログ管理サーバ５０）との通信を制御する。制御部１２が実行する処理は、プログラム記憶部１６に記憶されている各種プログラムに記述されている。
印刷ユニット１４は、印刷を行うユニットである。図示を省略しているが、印刷ユニット１４は、紙送り機構や印字ヘッドなどを備えている。また、印刷ユニット１４は、紙詰まりを検出するセンサや、印刷したシートの枚数をカウントするカウンタを備えている。
【００１７】
プログラム記憶部１６には、制御部１２が実行する処理を記述したプログラムが記憶されている。なお、図１における「PGM」は、「プログラム」を意味する。
制御プログラム１８には、印刷ユニット１４を制御するための処理などが記述されている。通信プログラム２０には、ネットワークに接続された他の装置との間の通信処理が記述されている。通信プログラム２０は、ＵＤＰ／ＩＰに基づくプロトコルで他の装置と通信するプログラムである。具体的な通信処理には、プリンタ１０で発生したイベントのログ情報をログ管理サーバ５０へ送信する処理と、ログ管理サーバ５０からの要求に応じて、プリンタ１０のデバイス情報をログ管理サーバ５０へ送信する処理がある。デバイス情報とは、プリンタ１０に固有のデータであり、例えば、プリンタ１０のデバイス名称や、後述するデバイス公開鍵３４などがある。デバイス情報は、プリンタ１０のデータ記憶部３０に予め記憶されている。
イベント監視プログラム２２には、記録対象となっているイベントの発生を監視する処理が記述されている。イベント監視プログラム２２が検知するイベントは予め決められている。そのため、プリンタ１０には、予め決められているイベントの発生を検知するためのセンサや処理が組み込まれている。記録対象となっているイベントは、例えば起動イベント（プリンタ１０の起動）、印刷イベント、紙詰まりイベントなどがある。
ログ処理プログラム２４には、イベント監視プログラム２２によって検知されたイベントを記述するデータ（ログ情報）を生成し、ログ管理サーバ５０へ送信する処理が記述されている。ログ情報には、発生したイベントに付随する情報が含まれる。例えば起動イベントの場合は起動回数がログ情報に含まれる。また、印刷イベントの場合は、印刷枚数や、印刷を指示した装置（ネットワーク８０に接続された装置であり、プリンタ１０に対して印刷処理の実行を指示した装置）の名称、印刷したデータのファイル名、記憶場所、容量などの情報が含まれる。
【００１８】
データ記憶部３０には、デバイス秘密鍵のデータ（デバイス秘密鍵３２）、デバイス公開鍵のデータ（デバイス公開鍵３４）が記憶されている。デバイス秘密鍵３２とデバイス公開鍵３４は、公開鍵暗号方式と呼ばれる暗号化技術における秘密鍵と公開鍵のデータである。デバイス秘密鍵３２とデバイス公開鍵３４はプリンタ１０に固有のものである。デバイス公開鍵３４は、ネットワーク８０に接続されている他の装置へ送信することができる。他方、デバイス秘密鍵３２は、他の装置へ送信できないようになっている。なお、本実施例では、デバイス秘密鍵３２とデバイス公開鍵３４を制御部１２とは独立したデータ記憶部３０に記憶した構成に基づき説明するが、これらは、制御部１２を構成するＲＯＭに記憶される構成を採用することもできる。
【００１９】
ログ管理サーバ５０の構造について説明する。ログ管理サーバ５０は、ＣＰＵユニット５２、プログラム記憶部５４、及びデータ記憶部６０ａ及び６０ｂを備えている。
ＣＰＵユニット５２は、プログラム記憶部５４に記憶されている通信プログラム５６に基づいて、プリンタ１０等のネットワークデバイスとの通信処理を実行する。またＣＰＵユニット５２は、プログラム記憶部５４に記憶されているログ管理プログラム５８に基づいて、プリンタ１０から受信したログ情報の管理処理を実行する。
【００２０】
データ記憶部６０ａに記憶されている情報について説明する。デバイス公開鍵３４（デバイス公開鍵のデータ）は、プリンタ１０が公開する鍵のデータである。デバイス公開鍵３４は、プリンタ１０が記憶するデバイス公開鍵３４と同一のデータである。ログ管理サーバ５０は、プリンタ１０からデバイス公開鍵３４を取得して記憶している。
認証済ログフォルダ６６は、プリンタ１０から受信したログ情報のうち、デバイス公開鍵３４によって認証に成功したログ情報を格納するフォルダである。認証不可ログフォルダ６８は、プリンタ１０から受信したログ情報のうち、デバイス公開鍵３４によって認証に成功しなかったログ情報を格納するフォルダである。即ちログ管理サーバ５０は、プリンタ１０から受信したログ情報のうち認証に成功したログ情報を認証に成功しなかったログ情報と区別して記憶する。
次に、データ記憶部６０ｂに記憶されている情報について説明する。サーバ秘密鍵６２（サーバ秘密鍵のデータ）とサーバ公開鍵６４（サーバ公開鍵のデータ）は、公開鍵暗号方式における秘密鍵と公開鍵のデータである。サーバ公開鍵６４は、ネットワーク８０に接続されている他の装置へ送信することができる。他方、サーバ秘密鍵６２は、他の装置へ送信できないようになっている。なお、サーバ秘密鍵６２及びサーバ公開鍵６４は、デバイス秘密鍵３２等と同じく、図１には図示していないＲＯＭに記憶される構成を採用することもできる。
【００２１】
ログ管理システム１００の動作の概要を説明する。
プリンタ１０は、イベントが発生する毎に、そのイベントを記述するログ情報を生成する。プリンタ１０は、生成したログ情報のハッシュ値を求める（生成する）。そして、このハッシュ値を自己が保有するデバイス秘密鍵３２によって暗号化し、暗号化されたハッシュ値（以下、「署名」又は「署名データ」ともいう）をログ情報に付す。プリンタ１０は、この署名を付したログ情報（署名付ログ情報）をログ管理サーバ５０へ送信する。ログ管理サーバ５０は、受信した署名付ログ情報に対して、プリンタ１０から取得したデバイス公開鍵３４を使って認証を試みる。ここで、認証は、次の手順で行われる。署名付ログ情報の署名をデバイス公開鍵３４によって復号化し、それによりハッシュ値を得る。換言すれば、デバイス公開鍵３４によって、署名付ログ情報の署名からハッシュ値を復号する。一方、署名付ログ情報のログ情報のハッシュ値を新たに生成する。そして、署名から復号したハッシュ値と新たに生成したハッシュ値の同一性を判断する。すなわち、ハッシュ値が同一である場合、認証は成功したものと判断される。
【００２２】
プリンタ１０は、認証に成功した署名付ログ情報に、現在時刻を含むヘッダを付加する。なお、ＣＰＵユニット５２には時計が内蔵されており、この時計から現在時刻を取得することができる。ログ管理サーバ５０はさらに、認証に成功した署名付ログ情報に、自己が保有するサーバ秘密鍵６２による署名を付す。ここで、署名は、付加されたヘッダのハッシュ値を生成し、これをサーバ秘密鍵６２で暗号化したものである。本明細書では、サーバ秘密鍵６２を使った電子署名を、管理側署名と称することがある。ログ管理サーバ５０は、ヘッダ及び自己の署名（管理側署名）を付した管理署名付ログ情報を認証済ログフォルダ６６に格納する（記憶する）。ログ管理サーバ５０は、認証に成功しなかった署名付ログ情報については、現在時刻を含むヘッダを付加したのちに認証不可ログフォルダ６８に格納する（記憶する）。なお、認証が成功しなかった署名付ログ情報についても、管理側署名を付す構成とすることもできる。
【００２３】
次に、プリンタ１０が実行する処理について詳述する。図２は、プリンタ１０が実行するイベント監視処理のフローチャート図である。図３は、プリンタ１０が実行するログ生成送信処理のフローチャート図である。イベント監視処理は、イベント監視プログラム２２に記述されている。ログ生成送信処理は、ログ処理プログラム２４に記述されている。
【００２４】
イベント監視処理は、プリンタ１０の起動とともにスタートする。イベント監視処理ではまず、起動回数（プリンタ１０の起動回数）の値を１だけインクリメントする（ステップＳ１００）。起動回数のデータは、データ記憶部３０に記憶されている。制御部１２は、データ記憶部３０に記憶されている起動回数のデータを読み出す。読み出した起動回数のデータに１を加算する。加算したデータで、データ記憶部３０に記憶されている起動回数のデータを更新する。
次にイベント監視処理では、ログ生成送信処理を呼び出す（ステップＳ１０２）。このとき付加情報がログ生成送信処理に引き渡される。付加情報とは、発生したイベントに付随する情報である。ステップＳ１０２においては、発生したイベントは「起動イベント」であり、付随する情報は、起動回数である。起動回数は、ステップＳ１００でインクリメントした起動回数のデータである。ログ生成送信処理については、図３を参照して後述する。
【００２５】
次にイベント監視処理では、プリンタ１０が停止（電源スイッチＯＦＦ）するまで記録対象となっているイベントの発生を監視する（ステップＳ１０４）。前述したように、記録対象となっているイベントは予め決められている。即ち、記録対象となっているイベントが発生すると、ステップＳ１０４の判断がＹＥＳとなる。イベントの発生を検知すると（ステップＳ１０４：ＹＥＳ）、ログ生成送信処理を呼び出す（ステップＳ１０６）。前述したように、ログ生成送信処理には、発生したイベントの種類と、そのイベントに付随する付加情報が引き渡される。付加情報はイベントの種類に応じて異なる。
記録対象のイベントの発生を検知しない場合には（ステップＳ１０４：ＮＯ）、ネットワークに接続されている他の装置（例えばログ管理サーバ５０）から、デバイス情報の要求があるか否かを監視する（ステップＳ１１０）。要求があった場合には、デバイス情報を要求元の装置へ送信する（ステップＳ１１２）。デバイス情報とは、データ記憶部３０に記憶されているデバイス公開鍵３４と、プリンタ１０の識別名のデータである。
プリンタ１０の停止が検知されるとイベント監視処理を終了し（ステップＳ１０８：ＹＥＳ）、そうでなければ再びステップＳ１０４の処理へ戻る（ステップＳ１０８：ＮＯ）。
このように、ログ生成送信処理は、イベントが発生する毎に呼び出される（ステップＳ１０２、Ｓ１０６）。
【００２６】
図３を参照して、ログ生成送信処理を説明する。前述したようにログ生成送信処理は、イベント監視処理から呼び出される（図２のステップＳ１０２、Ｓ１０６）。このとき、発生したイベントの種類と、付加情報が引き渡される。ログ生成送信処理ではまず、引き渡されたイベント種類と付加情報から、ログ情報を生成する（ステップＳ２００）。ログ情報は、発生したイベントの種類と付加情報を記述したテキストデータである。ログ情報の具体例は後述する。
次に、生成したログ情報にヘッダを付加する（ステップＳ２０２）。ヘッダ情報は、起動回数、現在時刻、ログ情報を生成した回数（ログ番号）の情報を含むデータである。「起動回数」は、イベント監視処理のステップＳ１００で説明したように、プリンタ１０の起動回数である。起動回数のデータは、データ記憶部３０に記憶されている。現在時刻は、制御部１２が内蔵する時計から取得する。ログ番号は、ログ情報が生成される毎に１ずつインクリメントされる数字データである。即ち、ログ番号は、生成されたログ情報の順序を表すデータである。なお、ログ生成送信処理はイベントが発生する毎に呼び出されるので、ログ番号は、イベントの発生した順番を意味する。また、ログ情報は、イベントが発生する毎に生成されて送信されるので、ログ番号はログ情報の送信回数も意味する。
ログ情報を生成する処理（ステップＳ２００）とヘッダを付加する処理（ステップＳ２０２）を実行するときの制御部１２は「ログ生成手段」と換言することができる。
【００２７】
次に、ヘッダを含むログ情報を使ってハッシュ値を算出する（ステップＳ２０４）。算出したハッシュ値に対してデバイス秘密鍵３２を使って署名データを生成する（ステップＳ２０６）。「署名データを生成する」とは、算出されたハッシュ値を、デバイス秘密鍵３２を使って暗号化することを意味する。また、「署名データを生成する」とは、「ステップＳ２００で生成されたログ情報をデバイス秘密鍵３２を使って暗号化する」と換言することもできる。「ハッシュ値」、「署名（電子署名）」は、良く知られた技術用語であるので、詳細な説明は省略する。
次に、生成した署名データをテキストデータに変換してログ情報（ヘッダが付されたログ情報）に付加する（ステップＳ２０８）。署名データが付されたログ情報を署名付ログ情報と称する。署名データをテキストデータに変換するのは、ログ情報がテキストデータであるため、署名付ログ情報全体をテキストデータで統一するためである。ステップＳ２００で生成され、ステップＳ２０２でヘッダが付されたログ情報と、署名データをテキストデータに統一することで、署名付ログ情報を受信するログ管理サーバ５０での処理を簡略化（例えば、ログ情報を閲覧するために専用のビューアを用いる必要がなくなる）することができる。また、テキストデータに統一することで、データ通信時のエラー（文字化け等）を発生し難くすることができる。
ハッシュ値を算出する処理（ステップＳ２０４）を実行するときの制御部１２は「ハッシュ化手段」と換言することができる。また、署名データを生成する処理（ステップＳ２０６）、署名データをログ情報に付加する処理（ステップＳ２０８）を実行するときの制御部１２は「署名手段」と換言することができる。
【００２８】
ステップＳ２１０で、署名付ログ情報をログ管理サーバ５０へ送信する。
署名付ログ情報のログ情報は、暗号化されていないので、これを受信する側においては、ログ情報を確認するために復号する必要がない。
なお、ステップＳ２１０では、具体的には署名付きログ情報を通信プログラム２０に引き渡す。通信プログラム２０において、署名付ログ情報はパケット化されてＵＤＰ（User Data Protocol）に基づいて送信される。パケット化された署名付ログ情報には、ＵＤＰヘッダが付されて送信される。
【００２９】
図４に、署名付ログ情報の一例を示す。署名付ログ情報９０は、ヘッダ９０ｄ、ログ本体９０ｅ、及び署名データ９０ｆを含んでいる。ヘッダ９０ｄには、起動回数９０ａ、現在時刻９０ｂ、及びログ番号９０ｃを含んでいる。ログ本体９０ｅには、発生したイベントの種類と、イベントに付随した付加情報が記述されている。図４に示す例では、「Print from PC001」という文字列が、「ＰＣ００１］という名称の端末からの指令に基づく印刷イベントの発生を表している。「3 Pages 2,345 bytes」という文字列が、印刷枚数が３枚であり、印刷データ量が2,345バイトであることを表している。「3 Pages 2,345 bytes」という文字列が、イベントに付随する付加情報である。
署名データ９０ｆは、ステップＳ２０６で生成されたデータである。
【００３０】
ログ情報の管理におけるヘッダ９０ｄの利用価値について説明する。
ログ情報には、起動回数のデータ９０ａが含まれている。従って、同一の起動回数が示されたログ情報が、同一の起動期間（プリンタ１０の動作期間）に発生したイベントを表していることを判別できる。
現在時刻データ９０ｂによって、イベントが発生した時刻を特定できる。なお、現在時刻データの代わりに、プリンタ１０が起動してからの経過時間であってもよい。経過時間の場合には、イベント間の時間が特定できる。
ログ番号９０ｃによっても、イベントの発生順序を特定できる。
また、ヘッダ９０ｄを付加することによって、ログ情報の本体９０ｅが同一であっても（すなわち、イベントと付加情報が同一であっても）必ず異なる内容のログ情報が生成される。これによって、異なる時間に生成されたログ情報に対して署名データ９０ｆが同一となることを防止できる。
ヘッダ９０ｄには、起動回数９０ａ、現在時刻９０ｂ（或いは起動からの経過時間）、ログ番号９０ｃの全てが含まれていることが好ましいが、少なくとも一つが含まれていればよい。
【００３１】
次に、ログ管理サーバ５０の処理を説明する。図５に、ログ管理サーバ５０が実行するログ管理処理のフローチャートを示す。
ログ管理処理は、署名付ログ情報を受信すると開始する。なお、図５では、処理を説明し易くするために、署名付ログ情報を受信する処理（ステップＳ３００）をログ管理処理における最初の処理として記述している。
前述したように、署名付ログ情報は、ＵＤＰに基づいて送られる。ＵＤＰのパケットには、データの送信元のデバイス名が付加されている。従って、ログ管理サーバ５０は、署名付ログ情報の送信元のデバイスを特定することができる。ログ管理サーバ５０は、送信元デバイスのデバイス情報を取得済みであるか否かをチェックする（ステップＳ３０２）。デバイス情報とは、前述したように、プリンタ１０のデバイス名称とデバイス公開鍵３４のデータである。デバイス情報を取得済みでない場合は（ステップＳ３０２：ＮＯ）、プリンタ１０に対してデバイス情報を要求する（ステップＳ３１６）。プリンタ１０は、ログ管理サーバ５０からの要求に応じてデバイス情報を送信する（図２のステップＳ１１２）。ログ管理サーバ５０はプリンタ１０からデバイス情報を受信し、データ記憶部６０ａに記憶する（ステップＳ３１８）。なお、デバイス情報を取得済みの場合は（ステップＳ３０２：ＹＥＳ）、ステップＳ３１６、Ｓ３１８を実行せずにステップＳ３０４に移行する。
【００３２】
ステップＳ３０４では、受信した署名付ログ情報に対して、デバイス公開鍵３４を使って認証を試みる（ステップＳ３０４）。なお、認証は、上述した手順のとおり実行される。署名付ログ情報が改ざんされていなければ、認証に成功し、署名付ログ情報が改ざんされている場合は認証に成功しない。換言すれば、認証に成功すれば、署名付ログ情報が改ざんされていないことが確認でき、認証に成功しない場合は署名付ログ情報が改ざんされていることが判明する。
【００３３】
認証に成功した場合は（ステップＳ３０４：ＹＥＳ）、受信した署名付ログ情報にヘッダを付加する（ステップＳ３０６）。ヘッダには、署名付ログ情報の送信元のデバイス名（この場合はプリンタ１０の名称）と、そのデバイスから署名付ログ情報を受信した受信回数と、現在時刻の情報が含まれる。ヘッダについては、後に例を挙げて説明する。
次に、ステップＳ３０８では、ヘッダを付した署名付ログ情報のハッシュ値を算出する（ハッシュ値を生成する）。算出したハッシュ値に対してサーバ秘密鍵６２を使ってサーバ側署名データ（管理側署名）を生成する（ステップＳ３１０）。ハッシュ値の算出やサーバ側署名データの生成の処理は、プリンタ１０の処理（図３のステップＳ２０４、Ｓ２０６）と同様である。
次に、生成したサーバ側署名データを、ヘッダを付した署名付ログ情報に付加する（ステップＳ３１２）。以下では、サーバ側署名データが付されたログ情報を管理署名付ログ情報と称する場合がある。次にステップＳ３１４で、管理署名付ログ情報を、データ記憶部６０ａの認証済ログフォルダ６６に記憶する（認証済ログフォルダ６６に格納する）。
【００３４】
認証に成功しなかった場合は（ステップＳ３０４：ＮＯ）、受信した署名付ログ情報にヘッダを付加する（ステップＳ３２０）。ステップＳ３２０で付加するヘッダは、ステップＳ３０６で付加するヘッダと同じである。そして、ヘッダを付した署名付ログ情報を、データ記憶部６０ａの認証不可ログフォルダ６８に記憶する（ステップＳ３２２）。
なお、認証に成功しなかった署名付ログ情報は、サーバ側署名データを付さずに記憶される。
【００３５】
上記の処理において、署名付ログ情報を受信する処理（ステップＳ３００）を実行するときのＣＰＵユニット５２は「受信手段」と換言することができる。
受信した署名付ログ情報に対して認証を試みる処理（ステップＳ３０４）を実行するときのＣＰＵユニット５２は「認証手段」と換言することができる。
認証に成功した場合に、署名付ログ情報にヘッダを付すとともに、ヘッダを付した署名付ログ情報のハッシュ値を生成する処理（ステップＳ３０６、ステップＳ３０８）を実行するときのＣＰＵユニット５２は「管理装置側ハッシュ化手段」と換言することができる。また、サーバ秘密鍵６２を使ったサーバ側署名を付す処理（ステップＳ３１０、Ｓ３１２）を実行するときのＣＰＵユニット５２は「管理側署名手段」と換言することができる。
認証に成功しなかった署名付ログ情報と区別して記憶する処理（ステップＳ３１４）を実行するときのＣＰＵユニット５２は「ログ記憶手段」と換言することができる。
【００３６】
図６に、管理署名付ログ情報の一例を示す。管理署名付ログ情報９２は、ヘッダ９２ｄ、署名付ログ情報９０、サーバ側署名データ９２ｅを含んでいる。ヘッダ９２ｄには、受信回数９２ａ、現在時刻９２ｂ、デバイス名９２ｃを含んでいる。なお、図５に示すデバイス名９２ｃの「Printer01」の文字列が、プリンタ１０のデバイス名称である。プリンタ１０の名称は、デバイス情報としてプリンタ１０から取得している。
ヘッダ９２ｄに続く署名付ログ情報９０は、プリンタ１０から受信した署名付ログ情報９０そのものである。なお、図６では、署名付ログ情報９０を「（Received Log Data）」と記述しているが、これは図４に示した署名付ログ情報９０と同一であることを意味している。
サーバ側署名データ９２ｅは、ステップＳ３１０で生成されたデータである。
【００３７】
ログ管理サーバ５０が付すヘッダ９２ｄの利用価値について説明する。
ヘッダ９２ｄには、受信回数９２ａが含まれている。他方、プリンタ１０が送信した署名付ログ情報９０には、ログ情報の送信回数を表すログ番号が付されている。受信回数とログ番号が異なっている場合に、ひとつの管理署名付ログ情報によって、ログ情報の消失が発生したことを発見できる。
なお、上記のとおり、デバイス名９２ｃを基準とすれば、少なくとも２つの管理署名付ログ情報各々のログ番号９０ａ（受信回数）を比較することによってログ情報の消失が発生したことを発見できる。すなわち、ログ情報が消失したばあい、同一のデバイス名９２ｃにおいて、ログ番号９０ａに抜けが生じる。
ヘッダ９２ｄには、現在時刻９２ｂが含まれている。他方、プリンタ１０が送信した署名付ログ情報９０にも、プリンタ１０が付した現在時刻（或いは起動からの経過時間）が付されている。ログ管理サーバ５０が付した現在時刻９２ｂとプリンタ１０が付した現在時刻を比較することによって、プリンタ１０が内蔵する時計の時間のずれを特定できる。
【００３８】
上記のログ管理システム１００は次に挙げる特徴を有する。
（１）プリンタ１０（情報処理装置）は、記録対象になっているイベントが発生する毎に、ログ情報をハッシュ化したハッシュ値に、自己が有する秘密鍵（デバイス秘密鍵３２）を使って暗号化することによって生成した署名をログ情報に付した署名付ログ情報をログ管理サーバ５０へ送信する。署名付ログ情報を送信するだけで、ログ管理サーバ５０でログ情報を管理することができる。従って、通信負荷を増大することなく、ログ情報の改ざんを発見できる。
また、イベントが発生する毎に署名付ログ情報を送信するので、ひとつの署名付ログ情報が改ざんされた場合（あるいは消失した場合）でも、被害を最小限に留めることができる。
なお、「秘密鍵を使った署名を付したログ情報」とは、秘密鍵によって暗号化されたログ情報と換言してよい。
（２）プリンタ１０（情報処理装置）は、起動回数（電源が入れられた回数）、現在時刻、ログ情報の送信順位（何回目の送信であるかを表す数）をログ情報に含む。プリンタなどの情報処理装置では、同じイベントが発生することがある。ログ情報に現在時刻などの情報を付加することによって、異なる時刻に発生したイベントのログ情報が必ず異なる内容になる。従って、同一の電子署名が生成されることがない。
起動回数（電源が入れられた回数）、現在時刻、ログ情報の送信順位（何回目の送信であるかを表す数）の全てをログ情報に付する必要はない。これらの情報のうちいずれかひとつ、好ましくは２つ以上をログ情報に含めばよい。
（３）ログ管理サーバ５０は、プリンタ１０の公開鍵（デバイス公開鍵３４）を使って、プリンタ１０から受信した署名付ログ情報の認証を試みる。認証に成功した署名付ログ情報を、認証に成功しなかった署名付ログ情報と区別して記憶する。従って、改ざんされていないことを確認できた署名付ログ情報（すなわち、認証に成功した署名付ログ情報）を、正しいログ情報として記憶することができる。
また、イベントが発生する毎に署名付ログ情報を受信するので、ひとつの署名付ログ情報が改ざんされた場合（あるいは消失した場合）でも、被害を最小限に留めることができる。
（４）ログ管理サーバ５０は、認証に成功した署名付ログ情報に現在時刻を付加する。そして、現在時刻が付加された署名付ログ情報をハッシュ化したハッシュ値に、自己が有する秘密鍵（サーバ秘密鍵６２）を使って暗号化することにより生成した署名データを付加して管理署名付ログ情報を生成する（ステップＳ３１２）。
管理署名付ログ情報を、認証に成功しなかった署名付ログ情報と区別して記憶する。認証に成功した署名付ログ情報に、ログ管理サーバ５０の署名を付して記憶するので、プリンタ１０のログ情報を厳重に（高いセキュリティの下で）管理できる。
なお、上記記載では、プリンタ１０が現在時刻を計時可能な構成については説明した。しかし、時計機能を有さないプリンタについても、ログ情報を、その対象となったイベントの発生時刻とともに管理する必要がある場合もある。かかる場合、このような特徴的構成を採用すれば、プリンタその他情報処理装置が計時ユニット（例えば時計）を備えていなくとも、複数の署名付ログ情報の時間的関係を管理することができる。
（５）プリンタ１０が送信する署名付ログ情報に、現在時刻、プリンタ１０が起動してからの経過時間、送信回数のいずれかひとつの情報（プリンタ側時刻情報と称する）が付されているとともに、ログ管理サーバ５０が署名付ログ情報に現在時刻、あるいは受信回数（サーバ側時刻情報）を付して記憶する。プリンタ側時刻情報とサーバ側時刻情報を付して記憶するので、ログ情報の消失を発見することができる。
【００３９】
上記の特徴は、本実施例のプリンタ１０（情報処理装置）とログ管理サーバ５０（ログ管理装置）のハードウエアによって具現化されてよいし、ソフトウエアによって具現化されてよい。
本発明の効果のいくつかは、プリンタ１０単体の技術的特徴によって実現する。本発明の効果のいくつかは、ログ管理サーバ５０単体の技術的特徴によって実現する。プリンタ１０とログ管理サーバ５０を含むログ管理システム１００は、本発明の効果をよく実現する。
本発明は、プリンタに限らず、ネットワークに接続される装置に適用することができる。
【００４０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００４１】
例えば、ログ管理サーバ５０は、認証に成功しなかった署名付ログ情報を、認証不可ログフォルダ６８に記憶することなく破棄してもよい。
【００４２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００４３】
【図１】ログ管理システムの模式的ブロック図である。
【図２】イベント監視処理のフローチャート図である。
【図３】ログ処理のフローチャート図である。
【図４】署名付ログ情報の一例を示す図である。
【図５】ログ管理処理のフローチャート図である。
【図６】管理側署名付ログ情報の一例を示す図である。
【符号の説明】
【００４４】
１０：プリンタ（情報処理装置）
１２：制御部
１４：印刷ユニット
１６：プログラム記憶部
３０：データ記憶部
５０：ログ管理サーバ（ログ管理装置）
５２：ＣＰＵユニット
５４：プログラム記憶部
６０ａ、６０ｂ：データ記憶部
８０：ネットワーク
１００：ログ管理システム
【図１】
0004872875.tif 000002
【図２】
0004872875.tif 000003
【図３】
0004872875.tif 000004
【図４】
0004872875.tif 000005
【図５】
0004872875.tif 000006
【図６】
0004872875.tif 000007