(57)【要約】【課題】印刷システム内に保存されている間に印刷データが改竄されて再保存されたとしても、その改竄の事実が検出できるようにする。【解決手段】クライアント１０２が印刷データを生成し、その印刷データをサーバ１０４が保存する。この時、サーバ１０４（又はクライアント１０２）が、その印刷データのハッシュ値（第１のハッシュ値）を計算し、プリンタ１０６がその第１ハッシュ値を保存する。その後、ユーザ認証が行われると、プリンタ１０６は、そのユーザの印刷データをサーバ１０４から取得し、その印刷データのハッシュ値（第２のハッシュ値）を算出し、その第２のハッシュ値と保存されていた第１のハッシュ値とを比較する。比較の結果、一致が得られれば、その印刷データが改竄されてないことを意味するので、プリンタ１０６は印刷出力を行う。【選択図】図１
2009217390.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを保存する印刷データ保存手段と、
前記印刷データの第１のハッシュ値を算出する第１ハッシュ値算出手段と、
前記第１のハッシュ値を前記印刷データから分離して保存する第１ハッシュ値保存手段と、
前記第１のハッシュ値が算出された時より後の時に、前記印刷データ保存手段に保存されている前記印刷データの第２のハッシュ値を算出する第２ハッシュ値算出手段と、
前記第２のハッシュ値と、前記第１ハッシュ値保存手段に保存されている前記第１のハッシュ値とを比較する比較手段と、
前記印刷データを印刷出力する印刷出力手段と
を備えた印刷システム。
【請求項２】
請求項１記載の印刷システムにおいて、
前記印刷データが前記印刷データ保存手段に書き込まれるときに、前記第１ハッシュ値算出手段が前記第１のハッシュ値を算出し、
前記印刷出力手段が前記印刷データ保存手段に保存されている前記印刷データを印刷出力しようとするときに、前記第２ハッシュ値算出手段が前記第２のハッシュ値を算出する、
印刷システム。
【請求項３】
請求項１又は２記載の印刷システムにおいて、
複数のマシンを有し、一つのマシンが前記印刷データ保存手段を有し、別のマシンが前記第１ハッシュ値保存手段を有する印刷システム。
【請求項４】
請求項３記載の印刷システムにおいて、
前記印刷データを出力するクライアントに通信可能に接続されたサーバと、
前記サーバに通信可能に接続されたプリンタと
を前記複数のマシンとして備え、
前記サーバが、
前記クライアントから受信した前記印刷データを保存する前記印刷データ保存手段と、
前記クライアントから受信した前記印刷データの第１のハッシュ値を算出する前記第１ハッシュ値算出手段と、
前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を前記プリンタへ送信する第１ハッシュ値送信手段と、
前記印刷データ保存手段内の前記印刷データを前記プリンタへ送信する印刷データ送信手段と
を有し、
前記プリンタが、
前記第１のハッシュ値を前記サーバの前記第１ハッシュ値送信手段から受信する第１ハッシュ値受信手段と、
前記サーバの前記第１ハッシュ値送信手段から受信された前記第１のハッシュ値を保存する前記第１ハッシュ値保存手段と、
前記第１のハッシュ値が算出された時より後の時に、前記印刷データ保存手段内の前記印刷データを前記サーバの前記印刷データ送信手段から受信する印刷データ受信手段と、
前記サーバの前記印刷データ送信手段から受信された前記印刷データの前記第２のハッシュ値を算出する前記第２ハッシュ値算出手段と、
前記比較手段と、
前記サーバの前記印刷データ送信手段から受信された前記印刷データを印刷出力する前記印刷出力手段と
を有する
印刷システム。
【請求項５】
請求項４記載の印刷システムにおいて、
前記サーバが、前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を記憶する第１ハッシュ値記憶手段を更に備え、
前記プリンタが、所定のタイミングで前記サーバ内の前記第１ハッシュ値記憶手段から前記第１のハッシュ値を検索して前記プリンタ内の前記第１ハッシュ値保存手段に書き込む第１ハッシュ値検索手段を更に備える
印刷システム。
【請求項６】
請求項３記載の印刷システムにおいて、
前記印刷データを出力するクライアントと、
前記クライアントに通信可能に接続されたサーバと、
前記クライアント及び前記サーバに通信可能に接続されたプリンタと
を前記複数のマシンとして備え、
前記クライアントが、
出力しようとする前記印刷データの前記第１のハッシュ値を算出する前記第１ハッシュ値算出手段と、
前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を前記プリンタへ送信する第１ハッシュ値送信手段と
を有し、
前記サーバが、
前記クライアントから受信した前記印刷データを保存する前記印刷データ保存手段と、
前記印刷データ保存手段内の前記印刷データを前記プリンタへ送信する印刷データ送信手段と
を有し、
前記プリンタが、
前記第１のハッシュ値を前記クラアイントの前記第１ハッシュ値送信手段から受信する第１ハッシュ値受信手段と、
前記クライアントの前記第１ハッシュ値送信手段から受信された前記第１のハッシュ値を保存する前記第１ハッシュ値保存手段と、
前記第１のハッシュ値が算出された時より後の時に、前記印刷データを前記サーバの前記印刷データ送信手段から受信する印刷データ受信手段と、
前記サーバの前記印刷データ送信手段から受信された前記印刷データの前記第２のハッシュ値を算出する前記第２ハッシュ値算出手段と、
前記比較手段と、
前記サーバの前記印刷データ送信手段から受信された前記印刷データを印刷出力する前記印刷出力手段と
を有する
印刷システム。
【請求項７】
請求項６記載の印刷システムにおいて、
前記クライアントが、前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を記憶する第１ハッシュ値記憶手段を更に備え、
前記プリンタが、所定のタイミングで前記クライアント内の前記第１ハッシュ値記憶手段から前記第１のハッシュ値を検索して前記プリンタ内の前記第１ハッシュ値保存手段に書き込む第１ハッシュ値検索手段を更に備える
印刷システム。
【請求項８】
請求項４〜７のいずれか一項記載の印刷システムにおいて、
前記第１ハッシュ値送信手段は、前記印刷データのデータ形式が前記プリンタの機種に適合しているか否かを判断し、前記判断結果が否定ならば、前記印刷データの前記第１のハッシュ値を前記プリンタへ送信することを省略する、
印刷システム。
【請求項９】
外部マシンから印刷データの第１のハッシュ値を受信する第１ハッシュ値受信手段と、
前記外部マシンから受信された前記第１のハッシュ値を保存する第１ハッシュ値保存手段と、
前記第１のハッシュ値が算出された時より後の時に、前記外部マシン又は別の外部マシンから前記印刷データを受信する印刷データ受信手段と、
前記外部マシン又は前記別の外部マシンから受信された前記印刷データの第２のハッシュ値を算出する前記第２ハッシュ値算出手段と、
前記第２ハッシュ値算出手段で算出された前記第２のハッシュ値と、前記第１ハッシュ値保存手段内の前記第１のハッシュ値とを比較する比較手段と、
前記外部マシン又は前記別の外部マシンから受信された前記印刷データを印刷出力する前記印刷出力手段と
を備えたプリンタ。
【請求項１０】
印刷データを出力するクライアントに通信可能に接続され、かつ印刷データを印刷出力するプリンタに通信可能に接続されたサーバにおいて、
前記クライアントから印刷データを受信して保存する印刷データ保存手段と、
前記クライアントから印刷データを受信された前記印刷データの第１のハッシュ値を算出する第１ハッシュ値算出手段と、
前記第１のハッシュ値を前記印刷データから分離して前記プリンタへ送信する第１ハッシュ値送信手段と、
前記第１のハッシュ値を算出した時より後の時に、前記印刷データ保存手段内の前記印刷データを前記プリンタへ送信する印刷データ送信手段と
を備えたサーバ。
【請求項１１】
請求項１０に記載のサーバとしてコンピュータを機能させるための、機械読み取り可能なコンピュータプログラム。
【請求項１２】
印刷データを保存するサーバに通信可能に接続され、かつ前記サーバに保存されている印刷データを受信して印刷出力するプリンタに通信可能に接続されたクライアントにおいて、
印刷データの第１のハッシュ値を算出する第１ハッシュ値算出手段と、
前記第１のハッシュ値を前記プリンタへ送信する第１ハッシュ値送信手段と、
前記印刷データを前記サーバへ送信する印刷データ送信手段と
を備えたクライアント。
【請求項１３】
請求項１２に記載のクライアントとしてコンピュータを機能させるための、機械読み取り可能なコンピュータプログラム。
【請求項１４】
印刷データを保存するステップと、
前記印刷データの第１のハッシュ値を算出するステップと、
前記第１のハッシュ値を前記印刷データから分離して保存するステップと、
前記第１のハッシュ値が算出された時より後の時に、保存されている前記印刷データの第２のハッシュ値を算出するステップと、
前記第２のハッシュ値と、保存されている前記第１のハッシュ値とを比較するステップと、
前記印刷データを印刷出力するステップと
を備えた印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、認証印刷に好適な印刷システム、プリンタ、サーバ、クライアント、コンピュータプログラム及び印刷方法に関し、特に、印刷データが改竄されたか否かを確認するための技術に関する。
【背景技術】
【０００２】
ネットワークを通じて印刷データが転送される印刷システムにおいて、印刷データの盗み取りに対する防御として、ホストコンピュータとプリンタとの間でデータを暗号化する方法が知られている（例えば特許文献１）。しかし、この方法では、プリンタ側にて受信したデータを復号化する必要があり、印刷データのサイズによっては、短時間での復号化には非常に高い処理能力を必要とする。従って、ファーストプリントが遅くなる場合がある。
【０００３】
ファーストプリントを素早く行うことができるとともに、データの改竄を防止できるようにするために、印刷データを小さなデータ断片（チャンク）に分割し、チャンクごとのハッシュ値を算出し、各チャンクのハッシュ値をそれとは異なる所定のチャンクに付加して１単位の送信データとし、その１単位の送信データをネットワークプリンタへ送信するという方法も知られている（例えば特許文献２）。
【０００４】
ところで、クライアントから出力された印刷データをシステム内に一時的に保存し、その後に、所定のイベントに応答して印刷出力をする印刷システムが知られている。その典型例は、認証印刷（又は親展印刷）システムである（例えば、特許文献３、４）。認証印刷システムは、上記イベントとしての認証が実施されて初めて、保存されていたそのユーザの印刷ジョブの印刷出力を行う。
【０００５】
この種の印刷システムでは、特許文献１、２が問題視しているネットワーク上での転送時より、システム内に保存されている間の方が、印刷データが改竄される危険性がより高い。
【０００６】
【特許文献１】特開２００４―８６８９４号公報（要約書）
【特許文献２】特開２００６−１１８５７号公報（要約書）
【特許文献３】特開２００２−３７０４０７号公報（要約書）
【特許文献４】特許３０５４２３０号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のようにシステム内に保存されている間に印刷データが改竄される危険性がある印刷システムにおいては、特許文献２に開示された、印刷データを複数のチャンクに分割して、それらのチャンクにハッシュを付加する方法でも、安全性が十分であるとはいえない。何故なら、システム内に保存されている間に、それらのチャンクを盗み取り、それらのチャンクから元の印刷データを復元し、その印刷データを改竄して再び複数チャンクに分割し、それらチャンクのハッシュを再算出して他の所定のチャンクに付加し、そして、それら新たなハッシュの付いた新たなチャンクをシステムに保存し直すことにより、改竄の事実が隠ぺいできるからである。
【０００８】
従って、本発明の目的は、印刷システム内に保存されている間に印刷データが改竄されて再保存されたとしても、その改竄の事実が検出できるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明の第１の側面に従う印刷システムは、印刷データを保存する印刷データ保存手段と、前記印刷データの第１のハッシュ値を算出する第１ハッシュ値算出手段と、前記第１のハッシュ値を前記印刷データから分離して保存する第１ハッシュ値保存手段と、前記第１のハッシュ値が算出された時より後の時に、前記印刷データ保存手段に保存されている前記印刷データの第２のハッシュ値を算出する第２ハッシュ値算出手段と、前記第２のハッシュ値と、前記第１ハッシュ値保存手段に保存されている前記第１のハッシュ値とを比較する比較手段と、前記印刷データを印刷出力する印刷出力手段とを備える。
【００１０】
この印刷システムにおいては、保存される印刷データのハッシュ値（第１のハッシュ値）が算出され、以後、その第１のハッシュ値が印刷データから分離して保存される。その後の任意の時（典型的には、その印刷データの改竄の有無をチェックしたい時）に、保存されていた印刷データのハッシュ値（第２のハッシュ値）が再び算出され、その第２のハッシュ値と、先に算出され保存されていた第１のハッシュ値とが比較される。その結果、印刷データが保存中に改竄されていなかったかどうかがチェックできる。第１のハッシュ値が印刷データから分離されて保存されるので、保存されている印刷データを改竄しても、それだけでは第１のハッシュ値を改竄することができない。よって、印刷データの改竄の事実を隠ぺいすることが難しい。ハッシュ値を算出してチェックする処理は、暗号化された印刷データを複合化する処理に比べて、より高速に行える。
【００１１】
ここで、第１及び第２のハッシュ値の算出は、印刷データの全体について行われてもよいし、或いは、印刷データを分割した複数の部分データのそれぞれについて行われてもよい。いずれにしても、ハッシュ値は、印刷データから分離されて保存される。
【００１２】
本発明の印刷システムの好適な実施形態では、前記印刷データが前記印刷データ保存手段に書き込まれるときに、前記第１ハッシュ値算出手段が前記第１のハッシュ値を算出し、また、前記印刷出力手段が前記印刷データ保存手段に保存されている前記印刷データを印刷出力しようとするときに、前記第２ハッシュ値算出手段が前記第２のハッシュ値を算出する。
【００１３】
従って、印刷データを保存するときに第１のハッシュ値が算出されて、以後保存される。その後、印刷データを印刷出力しようとするときに、第２のハッシュ値が算出される。第１と第２のハッシュ値を比較することで、印刷データが保存されていた全期間中に改竄がなかったか否かがチェックできる。
【００１４】
また、好適な実施形態では、印刷システムは複数のマシンを有し、一つのマシンが前記印刷データ保存手段を有し、別のマシンが前記第１ハッシュ値保存手段を有する。従って、印刷データと第１のハッシュ値とは異なるマシンに保存される。第１のマシンに保存されている印刷データが改竄されても、第１のハッシュ値は第２のマシンに保存されていて改竄されないから、改竄の事実を隠ぺいできない。印刷データの改竄がなかったか否かのチェックの信頼性が高い。
【００１５】
より具体的な一つの実施形態では、印刷システムは、前記印刷データを出力するクライアントに通信可能に接続されたサーバと、前記サーバに通信可能に接続されたプリンタとを上記複数のマシンとして備える。
【００１６】
そして、前記サーバが、前記クライアントから受信した前記印刷データを保存する前記印刷データ保存手段と、前記クライアントから受信した前記印刷データの第１のハッシュ値を算出する前記第１ハッシュ値算出手段と、前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を前記プリンタへ送信する第１ハッシュ値送信手段と、前記印刷データ保存手段内の前記印刷データを前記プリンタへ送信する印刷データ送信手段とを有する。
【００１７】
また、前記プリンタが、前記第１のハッシュ値を前記サーバの前記第１ハッシュ値送信手段から受信する第１ハッシュ値受信手段と、前記サーバの前記第１ハッシュ値送信手段から受信された前記第１のハッシュ値を保存する前記第１ハッシュ値保存手段と、前記第１のハッシュ値が算出された時より後の時に、前記印刷データ保存手段内の前記印刷データを前記サーバの前記印刷データ送信手段から受信する印刷データ受信手段と、前記サーバの前記印刷データ送信手段から受信された前記印刷データの前記第２のハッシュ値を算出する前記第２ハッシュ値算出手段と、前記比較手段と、前記サーバの前記印刷データ送信手段から受信された前記印刷データを印刷出力する前記印刷出力手段とを有する。
【００１８】
従って、サーバで印刷データが保存され、第１のハッシュ値が計算される。その第１のハッシュ値が、印刷データから分離されてプリンタに送られてプリンタに保存される。プリンタは、サーバから印刷データを受信し、その受信した印刷データについて第２のハッシュ値を計算し、その第２のハッシュ値と保存されていた第１のハッシュ値とを比較する。サーバに保存されている間に印刷データが改竄されても、第１のハッシュ値はプリンタで保存されているので改竄されないから、改竄の事実を隠ぺいできない。サーバからプリンタまでの経路で改竄がなかったか否かがチェックできる。例えば、サーバ内に印刷データを保存し、認証が実行された後にサーバからプリンタへ印刷データが転送されるようになった認証印刷システムにおいては、サーバに保存されている間の印刷データの改竄がチェックできる。
【００１９】
上記実施形態において、望ましくは、前記サーバが、前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を記憶する第１ハッシュ値記憶手段を更に備え、前記プリンタが、所定のタイミングで前記サーバ内の前記第１ハッシュ値記憶手段から前記第１のハッシュ値を検索して前記プリンタ内の前記第１ハッシュ値保存手段に書き込む第１ハッシュ値検索手段を更に備えることができる。
【００２０】
この構成によれば、サーバから第１のハッシュ値がプリンタへ送信された時に、例えば電源断或いは障害発生した等の原因で、プリンタが第１のハッシュ値を受信できず、そのため、プリンタ内第１のハッシュ値が保存されない場合がある。その場合であっても、プリンタは、能動的に所定のタイミングで、サーバに記憶されている第１のハッシュ値を検索するので、印刷データの改竄チェックが可能であることが保証される。
【００２１】
また、別のより具体的な実施形態では、印刷システムは、前記印刷データを出力するクライアントと、前記クライアントに通信可能に接続されたサーバと、前記クライアント及び前記サーバに通信可能に接続されたプリンタとを、前記複数のマシンとして備える。
【００２２】
そして、前記クライアントが、出力しうよとする前記印刷データの前記第１のハッシュ値を算出する前記第１ハッシュ値算出手段と、前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を前記プリンタへ送信する第１ハッシュ値送信手段とを有する。
【００２３】
また、前記サーバが、前記クライアントから受信した前記印刷データを保存する前記印刷データ保存手段と、前記印刷データ保存手段内の前記印刷データを前記プリンタへ送信する印刷データ送信手段とを有する。
【００２４】
また、前記プリンタが、前記第１のハッシュ値を前記クラアイントの前記第１ハッシュ値送信手段から受信する第１ハッシュ値受信手段と、前記クライアントの前記第１ハッシュ値送信手段から受信された前記第１のハッシュ値を保存する前記第１ハッシュ値保存手段と、前記第１のハッシュ値が算出された時より後の時に、前記印刷データを前記サーバの前記印刷データ送信手段から受信する印刷データ受信手段と、前記サーバの前記印刷データ送信手段から受信された前記印刷データの前記第２のハッシュ値を算出する前記第２ハッシュ値算出手段と、前記比較手段と、前記サーバの前記印刷データ送信手段から受信された前記印刷データを印刷出力する前記印刷出力手段とを有する。
【００２５】
従って、印刷データを出力するクライアントが、第１のハッシュ値を算出してプリンタへ送り、プリンタがその第１のハッシュ値を保存する。クライアントから印刷データはサーバに保存される。クライアントからサーバを経由してプリンタに至るまでの経路における印刷データの改竄の有無がチェックできる。
【００２６】
この実施形態において、望ましくは、前記クライアントが、前記第１ハッシュ値算出手段で算出された前記第１のハッシュ値を記憶する第１ハッシュ値記憶手段を更に備え、前記プリンタが、所定のタイミングで前記クライアント内の前記第１ハッシュ値記憶手段から前記第１のハッシュ値を検索して前記プリンタ内の前記第１ハッシュ値保存手段に書き込む第１ハッシュ値検索手段を更に備えることができる。
【００２７】
この構成によれば、クライアントから第１のハッシュ値がプリンタへ送信された時に、例えば電源断或いは障害発生した等の原因で、プリンタが第１のハッシュ値を受信できず、そのため、プリンタ内第１のハッシュ値が保存されない場合がある。その場合であっても、プリンタは、能動的に所定のタイミングで、クライアントに記憶されている第１のハッシュ値を検索するので、印刷データの改竄チェックが可能であることが保証される。
【００２８】
上述したようなプリンタを含んだいずれの実施形態においても、望ましくは、前記第１ハッシュ値送信手段は、前記印刷データのデータ形式が前記プリンタの機種に適合しているか否かを判断し、前記判断結果が否定ならば、前記印刷データの前記第１のハッシュ値を前記プリンタへ送信することを省略するように構成されてよい。
【００２９】
この構成によれば、プリンタの機種が異なれば、プリンタが理解できる印刷データのデータ形式が異なる。或る形式の印刷データを理解できない機種のプリンタには、その印刷データの第１のハッシュ値の無駄な送信が省略され、ネットワークトラフィックが節約される。
【００３０】
本発明の別の側面に従うプリンタは、外部マシンから印刷データの第１のハッシュ値を受信する第１ハッシュ値受信手段と、前記外部マシンから受信された前記第１のハッシュ値を保存する第１ハッシュ値保存手段と、前記第１のハッシュ値が算出された時より後の時に、前記外部マシン又は別の外部マシンから前記印刷データを受信する印刷データ受信手段と、前記外部マシン又は前記別の外部マシンから受信された前記印刷データの第２のハッシュ値を算出する前記第２ハッシュ値算出手段と、前記第２ハッシュ値算出手段で算出された前記第２のハッシュ値と、前記第１ハッシュ値保存手段内の前記第１のハッシュ値とを比較する比較手段と、前記外部マシン又は前記別の外部マシンから受信された前記印刷データを印刷出力する前記印刷出力手段とを備える。
【００３１】
このプリンタによれば、外部から受信された印刷データの改竄の有無を、その印刷データを受信する時より前に受信されたその印刷データの第１のハッシュ値と、受信され田苑印刷データの第１のハッシュ値との比較結果から、チェックすることができる。第１のハッシュ値が算出されてから印刷データがプリンタに受信されるまでの間に、その印刷データがプリンタ外で改竄されたとしても、第１のハッシュ値がプリンタ内に保存されているため、その第１のハッシュ値は改竄されず、よって、改竄の事実は隠ぺいされない。
【００３２】
本発明のまた別の観点に従うサーバは、印刷データを出力するクライアントに通信可能に接続され、かつ印刷データを印刷出力するプリンタに通信可能に接続される。このサーバは、前記クライアントから印刷データを受信して保存する印刷データ保存手段と、前記クライアントから印刷データを受信された前記印刷データの第１のハッシュ値を算出する第１ハッシュ値算出手段と、前記第１のハッシュ値を前記印刷データから分離して前記プリンタへ送信する第１ハッシュ値送信手段と、前記第１のハッシュ値を算出した時より後の時に、前記印刷データ保存手段内の前記印刷データを前記プリンタへ送信する印刷データ送信手段とを備える。
【００３３】
このサーバによれば、クライアントから受信した印刷データを保存し、その印刷データの第１のハッシュ値を算出してプリンタへ送信し、また、第１のハッシュ値を算出した時より後の時に、保存してあった印刷データをプリンタへ送信する。従って、プリンタでは、サーバかから受信した第１のハッシュ値を使って、その第１のハッシュ値が算出されてからサーバに保存されている間に印刷データが改竄されたか否かをチェックできる。サーバに保存されている間に印刷データが改竄された場合、それだけでは、プリンタに送信されて保存されている第１のハッシュ値は改ざんできないから、改竄の事実は隠ぺいされない。
【００３４】
本発明はまた、上記のサーバとしてコンピュータを機能させるための、機械読み取り可能なコンピュータプログラムも提供する。
【００３５】
本発明のさらに別の観点に従うクライアントは、印刷データを保存するサーバに通信可能に接続され、かつ前記サーバに保存されている印刷データを受信して印刷出力するプリンタに通信可能に接続される。このクライアントは、印刷データの第１のハッシュ値を算出する第１ハッシュ値算出手段と、前記第１のハッシュ値を前記プリンタへ送信する第１ハッシュ値送信手段と、前記印刷データを前記サーバへ送信する印刷データ送信手段とを備える。
【００３６】
従って、クライアントから出力される印刷データはサーバで保存され、その印刷データの第１のハッシュ値はプリンタで保存される。サーバで保存されている印刷データが改竄されたとしても、それだけでは、プリンタ内の第１のハッシュ値は改竄されない。プリンタは、サーバから印刷データを受信したときに、その印刷データが改竄されてないか否かを、保存してある第１のハッシュ値を用いてチェックできる。
【００３７】
本発明はまた、上記のクライアントとしてコンピュータを機能させるための、機械読み取り可能なコンピュータプログラムも提供する。
【００３８】
本発明はさらに、上述した印刷システムにより実行される印刷方法も提供する。
【発明の効果】
【００３９】
本発明によれば、印刷システム内に保存されている間に印刷データが改竄されて再保存されたとしても、その改竄の事実が検出できる。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照して、本発明にかかる印刷システムの２種類の実施形態を説明する。これらの実施形態は、認証印刷システムに本発明を適用した例であるが、本発明は認証印刷システム以外の印刷システムにも適用できる。
【００４１】
図１は、本発明の第1の実施形態にかかる認証印刷システムの構成を示す図である。
【００４２】
図１に示すように、認証印刷システム１００は、例えばパーソナルコンピュータにより構成されるクライアント１０２と、クライアント１０２に通信可能に接続された、例えばパーソナルコンピュータにより構成されるサーバ１０４と、サーバ１０４に通信可能に接続されたプリンタ１０６を備える。プリンタ１０６は、ユーザの認証を行うため認証装置１０８を備える（外付けでも内蔵でもよいし、或いは、例えばクライアント１０２又はサーバ１０４に設けられているというように、プリンタ１０６に直接接続されてなくてもよい）。
【００４３】
この認証印刷システム１００は、認証印刷ジョブ（認証が行われて初めて印刷出力される印刷ジョブ）と、通常印刷ジョブ（認証とは関係がなく、クライアント１０２から出力されたら直ちに印刷出力してよい印刷ジョブ）の双方を扱うことができる。そして、本発明の原理に基づく制御は、認証印刷ジョブと通常印刷ジョブの双方の処理に適用できる。しかし、この明細書では、通常印刷ジョブの処理には言及せず、認証印刷ジョブの処理についてのみ説明し、単なる「印刷ジョブ」という用語は、認証印刷ジョブを指すものとして使われる。
【００４４】
この認証印刷システム１００の機能と動作の概要は次のとおりである。
【００４５】
（１）  サーバ１０４は、或るユーザ１１０の印刷データをクライアント１０２から受信すると、プリンタ１０６によりその印刷データの印刷出力が完了するまで、その印刷データをサーバ１０４内で保存する。サーバ１０４は、その印刷データの保存を開始するとき、その印刷データのハッシュ値（以下、「第１のハッシュ値」という）を算出し、その第１のハッシュ値をプリンタ１０６に送信する。プリンタ１０６は、受信された第１のハッシュ値を保存する。
【００４６】
（２）  その後、プリンタ１０６は、ユーザ１１０の認証が行われたときに、そのユーザ１１０の印刷データをサーバ１０４から受信し、受信された印刷データのハッシュ値（以下、「第２のハッシュ値」という）を算出し、そして、その第２のハッシュ値を、保存していおいた第１のハッシュ値と比較する。比較の結果、両ハッシュ値が一致すれば、その印刷データが保存中に改竄されてないことを意味するから、プリンタ１０６は、その印刷データの印刷出力を行う。
【００４７】
以下、図１を参照して、この認証印刷システム１００の機能的な構成を詳細に説明する。なお、クライアント１０２及びサーバ１０４がもつ各種機能は、典型的には、クライアント１０２及びサーバ１０４として使われるコンピュータ上で実行されるコンピュータプログラムによって実現される。
【００４８】
図１の認証印刷システム１００の構成図に示すように、クライアント１０２は、認証印刷ジョブ生成部１１２と認証印刷ジョブ送信部１１４とを備える。認証印刷ジョブ生成部１１２は、認証印刷ジョブを生成する。認証印刷ジョブ送信部１１４は、認証印刷ジョブ生成部１１２で生成された認証印刷ジョブをサーバ１０４へ送信する。
【００４９】
サーバ１０４は、認証印刷ジョブ保存部１２０、第１ハッシュ値算出部１２２、ハッシュ値送信部１２４、第１ハッシュ値記憶部１２６、認証印刷ジョブ要求受信部１３０、認証印刷ジョブ検索部１３２、及び認証印刷ジョブ送信部１３４を備える。
【００５０】
認証印刷ジョブ保存部１２０は、クライアント１０２から送信されてきた認証印刷ジョブを一時的に（認証印刷ジョブによる印刷が完了するまで）保存する。
【００５１】
第１ハッシュ値算出部１２２は、認証印刷ジョブ保存部１２０に各印刷ジョブの印刷データが保存された時点（又は、各印刷ジョブの印刷データがサーバ１０４に受信された時点）で、その印刷データのハッシュ値（第１のハッシュ値）を算出する。ここで、１つの印刷ジョブの印刷データ全体に対して１つの第１のハッシュ値が計算されてもよいし、或いは、印刷データが複数の部分データに分割されて、その部分データごとに１つの第１のハッシュ値（その印刷データ全体に対して複数の第１のハッシュ値）が計算されてもよい。
【００５２】
ハッシュ値送信部１２４は、第１ハッシュ値算出部１２２で計算された第１のハッシュ値をプリンタ１０６のハッシュ値受信部１３６へ送信する。ただし、認証印刷ジョブ保存部１２０内のすべての印刷データの第１のハッシュ値をプリンタ１０６に送る必要はなく、そのうちのプリンタ１０６の機種に適合する印刷データ（つまり、プリンタ１０６が取り扱える印刷データ）の第1のハッシュ値だけをプリンタ１０６に送ればよい。
【００５３】
第１ハッシュ値記憶部１２６は、第１ハッシュ値算出部１２２で計算された第１のハッシュ値を記憶する。ここで注目すべき点は、第１のハッシュ値が第１ハッシュ値記憶部１２６により、認証印刷ジョブ保存部１２０内の印刷データから分離されて記憶されている点であり、そのため、認証印刷ジョブ保存部１２０内の印刷データが改竄されても、それだけでは、第１ハッシュ値記憶部１２６内の第１のハッシュ値は改竄されない。
【００５４】
認証印刷ジョブ要求受信部１３０は、プリンタ１４２から、ユーザ識別子を含んだ認証印刷ジョブ要求を受付ける。認証印刷ジョブ検索部１３２は、認証印刷ジョブ要求受信部１３０で受信された認証印刷ジョブに含まれるユーザ識別子に対応するユーザ識別子を有する認証印刷ジョブを、認証印刷ジョブ保存部１２０の中から検索する。認証印刷ジョブ送信部１３４は、認証印刷ジョブ検索部１３２によって検索された認証印刷ジョブをプリンタ１０６へ送信する。
【００５５】
プリンタ１０６は、ハッシュ値受信部１３６、第１ハッシュ値保存部１３８、ハッシュ値検索部１３９、認証情報受信部１４０、認証印刷ジョブ要求部１４２、認証印刷ジョブ受信部１４３、第２ハッシュ値算出部１４４、ハッシュ値比較部１４５、及び印刷出力部１４６を備える。
【００５６】
ハッシュ値受信部１３６は、サーバ１０４のハッシュ値送信部１２４から送信された第１のハッシュ値を受信する。第１ハッシュ値保存部１３８は、サーバ１０４から受信した第１のハッシュ値を、印刷データによる印刷が終了するまで保存する。ここで注目すべき点は、第１のハッシュ値がプリンタ１０６内で、サーバ１０４内の印刷データから分離されて保存されている点であり、そのため、サーバ１０４内の印刷データが改竄されても、それだけでは、プリンタ１０６内の第１のハッシュ値は改竄されない。
【００５７】
ハッシュ値検索部１３９は、プリンタ１０６の起動時、エラー回復時、又はその他の所定のタイミングで、サーバ１０４の第１ハッシュ値記憶部１２６から、プリンタ１０６の機種に適合した言語で記述された印刷データ（つまり、プリンタ１０６が取り扱える印刷ジョブの印刷データ）についての第１のハッシュ値を検索し、検索された第1のハッシュ値を第１ハッシュ値保存部１３８へ保存させる（図示してないが、サーバ１０４では、の第１ハッシュ値記憶部１２６内の各第１ハッシュと、その元の印刷データに適合するプリンタ１０６の機種情報との関連付けが存在し、その関連付けがこの検索で利用される。）。この検索を行う理由は、プリンタ１０６の電源断やエラー状態の期間中に、サーバ１０４からプリンタ１０６へ送信された第１のハッシュ値があったならば、それをプリンタ１０６は受信し損ねているであろうから、その受信し損ねた第１のハッシュ値をサーバ１０４から改めて受け取るためである。
【００５８】
認証情報受信部１４０は、認証装置１０８からユーザ識別子を含んだ認証情報を受信する。認証印刷ジョブ要求部１４２は、認証装置１０８から送信されたユーザ識別子を含んだ認証情報に基づいて、ユーザ認証を行い、認証が成功すれば、そのユーザ識別子を含んだ認証印刷ジョブ要求を作成して、サーバ１０４の認証印刷ジョブ要求受信部１３０へ送信する。
【００５９】
認証印刷ジョブ受信部１４３は、プリンタ１０６からサーバ１０４に送信された認証印刷ジョブ要求に応答してサーバ１０６の認証印刷ジョブ送信部１３４が認証印刷ジョブを返信してたとき、その送信された認証印刷ジョブを受信する。
【００６０】
第２ハッシュ値算出部１４４は、認証印刷ジョブ受信部１４３がサーバ１０４から認証印刷ジョブを受信した時、その受信された認証印刷ジョブの印刷データのハッシュ値（第２のハッシュ値）を計算する。ハッシュ値比較部１４５は、計算された第２のハッシュ値と同じハッシュ値を、第１ハッシュ値保存部１３８に保存されている種々の認証印刷ジョブの第１のハッシュ値の中から探す。そして、第２のハッシュ値と一致する第１のハッシュ値が見つかれば、それは、サーバ１−４から受信された印刷ジョブの印刷データが改竄されていないことを意味するので、その印刷データを印刷出力部１４６へ渡す。他方、第２のハッシュ値と一致する第１のハッシュ値が見つからなければ、それは、サーバ１０４から受信された印刷データが改竄されていることを意味するので、その印刷データを印刷出力部１４６へ渡さない（又は、印刷出力部１４６へ渡したとしても、何らかの警報をユーザに通知する）。印刷出力部１４６は、ハッシュ値比較部１４５から送信された印刷データを受け取って印刷出力処理を実行する。
【００６１】
認証装置１０８は、認証情報入力部１５０と認証情報送信部１５２とを備える。認証情報入力部１５０は、ユーザ１１０からユーザ識別子を含んだ認証情報を入力する。認証情報送信部１５２は、認証情報入力部１５０から受け取った認証情報をプリンタ１０６の認証情報受信部１４０へ送信する。
【００６２】
次に、フローチャートを参照しながら図１に示す認証印刷システム１００の動作を説明する。図２は、図１に示すに認証印刷システム１００の動作の流れを示すフローチャートである。従って、図１を参照しながら、図２のフローチャートに従って認証印刷システム１００の動作の流れを説明する。
【００６３】
先ず、クライアント１０２の認証印刷ジョブ生成部１１２が或る認証印刷ジョブを生成すると（ステップＳ１）、生成された認証印刷ジョブの印刷データは、クライアント１０２の認証印刷ジョブ送信部１１４からサーバ１０４の認証印刷ジョブ保存部１２０へ送信される（ステップＳ２）。そして、その印刷データは、サーバ１０４の認証印刷ジョブ保存部１２０へ一時的に保存される（ステップＳ３）。
【００６４】
認証印刷ジョブ保存部１２０では、例えば図４に示すように、それぞれの印刷データがそれぞれのユーザを示すユーザ識別子と関連付けられて、保存される。後にプリンタ１０６から或るユーザ識別子を含む認証印刷ジョブ要求が来ると、そのユーザ識別子に関連づけられた印刷データ（例えば、図４においてユーザ識別子00987が指定された場合には、印刷データDocument.prnとAaaaa.prn）が認証印刷ジョブ保存部１２０から読み出されてプリンタ１０６に送信されることになる。
【００６５】
再び、図２を参照して、認証印刷ジョブ保存部１２０に保存された印刷データに基づいて、第１ハッシュ値算出部１２によってその印刷データの第１ハッシュ値が算出され（ステップＳ４）、そして、算出された第１ハッシュ値は第１ハッシュ値記憶部１２６に保存される（ステップＳ５）。さらに、第１ハッシュ値算出部１２によって算出された第１ハッシュ値は、プリンタ１０６に送信され（ステップＳ６）、プリンタ１０６のハッシュ値受信部１３６に受信されて第１ハッシュ値保存部１３８に保存される（ステップＳ７）。
【００６６】
次に、ユーザ１１０が、認証装置１０８の認証情報入力部１５０に自分のユーザ識別子を入力して認証操作を行うと（ステップＳ８）、そのユーザ識別子を含んだ認証印刷ジョブ要求が、プリンタ１０６の認証印刷ジョブ要求部１４２からサーバ１０４の認証印刷ジョブ要求受信部１４２へ送信される（ステップＳ９）。
【００６７】
すると、サーバ１０４の認証印刷ジョブ検索部１３２が、そのユーザ識別子に関連付けられた印刷データを認証印刷ジョブ保存部１２０よりサーチし（ステップＳ１０）、見つかった印刷データをプリンタ１０６へ送信する（ステップＳ１１）。
【００６８】
すると、プリンタ１０６の第２ハッシュ値算出部１４４が、サーバ１０４から受信された印刷データに基づき、その印刷データの第２のハッシュ値を算出する（ステップＳ１２）。さらに、プリンタ１０６のハッシュ値比較部１４５が、前もって第１ハッシュ値保存部１３８に保存されていた種々の印刷データの第１のハッシュ値に中に、いま算出された第２のハッシュ値と同じものがあるかどうかをチェックする（ステップＳ１３）。
【００６９】
図５は、プリンタ１０６の第１ハッシュ値保存部１３８に保存されている種々の認証印刷ジョブ（すなわち、サーバ１０４に保存されている認証印刷ジョブのうち、このプリンタ１０６の機種に適合したジョブ）のハッシュ値を示す図である。図５に示すような第1のハッシュ値のリストの中から、第２のハッシュ値に一致するものがサーチされる。
【００７０】
再び、図２を参照して、ステップＳ１３におけるハッシュ値比較部１４５のサーチにより、第２のハッシュ値と一致する第１のハッシュ値が見つかれば、印刷データは改竄されていないと判断してその印刷データを印刷出力部１４６へ送信する。すると、印刷出力部１４６は、ハッシュ値比較部１４５から送信された印刷データを受け取って印刷出力を行う（ステップＳ１４）。
【００７１】
印刷出力が完了すると、プリンタ１０６からサーバ１０４に対して印刷完了通知が送信されろ（ステップＳ１５）。すると、サーバ１０４は、認証印刷ジョブ保存部１２０から該当する印刷データを削除し（ステップＳ１６）、さらに、第１ハッシュ値記憶部１２６から該当するハッシュ値（ステップＳ１３で見つかった第１のハッシュ値）を削除する（ステップＳ１７）。
【００７２】
尚、サーバ１０４にて、ハッシュ値の正規の改変（設定変更など）が行われる場合があるため、サーバ１０４では、印刷データを変更した際にはハッシュ値を再度算出してプリンタ１０６に送信する機構があることが望ましい。
【００７３】
本実施形態の認証印刷システム１００によれば、サーバ１０４に印刷データが格納されているときに、プリンタ１０６にはその印刷データの第２のハッシュ値が分離されて格納されている。従って、サーバ１０４の印刷データが改竄されても、プリンタ１０６に格納されている第２のハッシュ値を改竄することができない。よって、サーバ１０４に存在する印刷データの第１のハッシュ値とプリンタ１０６に格納されている第２のハッシュ値とを比較すれば、印刷データの改竄の有無を容易に判断することができる。
【００７４】
図３は、図１に示すに認証印刷システム１００において、プリンタ１０６が電源断やエラーなどのためにサーバ１０４から送信された第１のハッシュ値を受信できなかった場合の動作の流れを示すフローチャートである。図３のフローチャートにおいて、図２と同じ動作内容については同一のステップ番号が付してある。図３のフローチャートが図２のフローチャートと異なるところはステップＳ２０とＳ２１のみである。従って、重複する説明は省略して図３に固有な動作の流れのみを説明する。
【００７５】
スッテップＳ１〜Ｓ６までにおいて、クライアント１０２が印刷データを生成してサーバ１０４へ送信し、サーバ１０４がその印刷データに含まれる第１のハッシュ値をプリンタ１０６へ送信するまでの動作は図２と同じである。
【００７６】
ここで、ステップＳ６において、サーバ１０４からプリンタ１０６へ第１のハッシュ値を送信するが、プリンタ１０６の電源が切れていたり或る種のエラーが発生していたりすると、プリンタ１０６はその第１のハッシュ値を受信できない。その後、プリンタ１０６の電源が投入されたりエラーから回復したときに、プリンタ１０６は、サーバ１０４に対し、プリンタ１０６の機種に適合した印刷データの第１のハッシュ値を第１ハッシュ値記憶部１２６から検索するよう要求する（ステップＳ２０）。サーバ１０４は、検索された第１のハッシュ値プリンタ１０６へ送信する（ステップＳ２１）。
【００７７】
これによって、プリンタ１０６は、ステップＳ７において、機種に適合した印刷データの第１のハッシュ値を第１ハッシュ値保存部１３８へ保存することができるので、以下、図２のステップＳ７〜Ｓ１７の処理と同様の流れで印刷データの改竄の有無を判定して適正な印刷処理を行うことができる。
【００７８】
図６は、本発明の第２の実施形態にかかる認証印刷システムの構成を示す図である。図１〜図５を参照して説明した第１の実施形態と同様の機能を持つ要素には同一の参照番号を付して、重複した説明を省略する。
【００７９】
この第２の実施形態にかかる認証印刷システム２００の第１の実施形態にかかる認証印刷システム１００からの主たる相違点は、第１のハッシュ値の算出と送信の機能を、サーバ１０４ではなく、クライアント１０２に持たせた点である。この認証印刷システム２００の機能と動作の概要は次のとおりである。
【００８０】
（１）  クライアント１０２は、或るユーザ１１０の印刷データを生成すると、その印刷データのハッシュ値（第１のハッシュ値）を算出し、その第１のハッシュ値をプリンタ１０６に送信する。プリンタ１０６は、受信された第１のハッシュ値を保存する。
【００８１】
（２）  クライアント１０２は、生成された印刷データをサーバ１０４に送信する。サーバ１０４は、受信された印刷データを、プリンタ１０６によりその印刷データの印刷出力が完了するまで、サーバ１０４内で保存する。
【００８２】
（３）  プリンタ１０６は、ユーザ１１０の認証が行われたときに、そのユーザ１１０の印刷データをサーバ１０４から受信し、受信された印刷データのハッシュ値（第２のハッシュ値）を算出し、そして、その第２のハッシュ値を、保存しておいた第１のハッシュ値と比較する。比較の結果、両ハッシュ値が一致すれば、その印刷データが保存中に改竄されてないことを意味するから、プリンタ１０６は、その印刷データの印刷出力を行う。
【００８３】
次に、図６に示す認証印刷システムの構成について説明するが、図１に示された構成要素と機能的に同様の構成要素には同一の参照番号を付して重複した説明を省略する。
【００８４】
クライアント１０２は、認証印刷ジョブ生成部１１２、認証印刷ジョブ送信部１１４、第１ハッシュ値算出部１２２、ハッシュ値送信部１２４、及び第１ハッシュ値記憶部１２６を備える。サーバ１０４は、認証印刷ジョブ保存部１２０、認証印刷ジョブ要求受信部１３０、認証印刷ジョブ検索部１３２、及び認証印刷ジョブ送信部１３４を備える。プリンタ１０６及び認証装置１０８の構成は既に説明した図１のそれと同じである。
【００８５】
クライアント１０２内の第１ハッシュ値算出部１２２、ハッシュ値送信部１２４、及び第１ハッシュ値記憶部１２６は、図１に示されたシステム１００ではサーバ１０４に存在していたものであるが、それぞれの機能は図１で説明した機能と基本的に同様であるので、重複する説明は省略する。
【００８６】
図７は、図６に示す認証印刷システム２００の動作の流れを示すフローチャートである。従って、図６を参照しながら、図７のフローチャートに従って認証印刷システム２００の動作の流れを説明する。
【００８７】
先ず、クライアント１０２の認証印刷ジョブ生成部１１２が認証印刷ジョブを生成する（ステップＳ１）。このジョブの印刷データはクライアント１０２の第１ハッシュ値算出部１２に送信されて、そこでその印刷データの第１ハッシュ値が算出される（ステップＳ４）。さらに、算出された第１ハッシュ値はクライアント１０２の第１ハッシュ値記憶部１２６に保存される（ステップＳ５）。第１ハッシュ値記憶部１２６内の第１ハッシュ値は、その元となった印刷データ（サーバ１０４で保存されることになる）からは分離されている。
【００８８】
また、クライアント１０２の認証印刷ジョブ生成部１１２によって生成された印刷データは、クライアント１０２の認証印刷ジョブ送信部１１４からサーバ１０４の認証印刷ジョブ保存部１２０へ送信され（ステップＳ２）、その印刷データは、サーバ１０４の認証印刷ジョブ保存部１２０で一時的に保存される（ステップＳ３）。
【００８９】
また、プリンタ１０６の第１ハッシュ値算出部１２によって算出された第１ハッシュ値は、クライアント１０２のハッシュ値送信部１２４からプリンタ１０６のハッシュ値受信部１３６へ送信され（ステップＳ６）、プリンタ１０６の第１ハッシュ値保存部１３８に保存される（ステップＳ７）。第１ハッシュ値保存部１３８内の第１ハッシュ値は、その元となった印刷データ（サーバ１０４で保存されている）からは分離されている。
【００９０】
そして、ステップＳ８〜Ｓ１７の流れは、既に説明した図２と同様であり、結果として、印刷データの改竄の有無を判定して適正な印刷処理を行う。
【００９１】
図８は、図６に示すに認証印刷システム２００において、プリンタ１０６が電源断やエラーによって第１のハッシュ値を受信できなった場合の動作の流れを示すフローチャートである。図８のフローチャートが図７のフローチャートと異なるところはステップＳ２０とＳ２１のみである。従って、重複する説明は省略して図８に固有な動作の流れのみを説明する。
【００９２】
スッテップＳ１〜Ｓ６までにおいて、クライアント１０２の認証印刷ジョブ生成部１１２が印刷データを生成してサーバ１０４へ送信すると共に、クライアント１０２の第１ハッシュ値算出部１２２がその印刷データに含まれる第１のハッシュ値を算出してプリンタ１０６のハッシュ値受信部１３６へ送信するまでの動作は図７と同じである。
【００９３】
ここで、ステップＳ６において、クライアント１０２からプリンタ１０６へ第１のハッシュ値を送信したとき、プリンタ１０６の電源が切れていたり或る種のエラーが発生していた場合は、プリンタ１０６は第１のハッシュ値を受信できない。その後、プリンタ１０６の電源が投入されたりエラーから回復したときに、プリンタ１０６は、クライアント１０２に対して、第１ハッシュ値記憶部１２６からプリンタ１０６の機種に適合した印刷データの第１のハッシュ値を検索するよう要求する（ステップＳ２０）。クライアント１０２は、プリンタ１０６の機種に適合した印刷データの第１のハッシュ値を第１ハッシュ値記憶部１２６から検索して、プリンタ１０６へ送信する（ステップＳ２１）。
【００９４】
これによって、プリンタ１０６は、ステップＳ７において、機種に適合した印刷データの第１のハッシュ値を第１ハッシュ値保存部１３８へ保存することができるので、以下、図２（又は図７）のステップＳ７〜Ｓ１７の処理と同様の流れで印刷データの改竄の有無を判定して適正な印刷処理を行う。
【００９５】
以上、本発明の好適な２つの実施形態を説明したが、これらは本発明の説明のための例示であり、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない範囲で、上記実施形態とは異なる種々の態様で実施することができる。
【図面の簡単な説明】
【００９６】
【図１】本発明の第１の実施形態にかかる認証印刷システムの構成を示すブロック図。
【図２】図１に示すに認証印刷システム１００の動作の流れを示すフローチャート。
【図３】図１に示すに認証印刷システム１００において、プリンタ１０６が第１のハッシュ値を受信できなった場合の動作の流れを示すフローチャート。
【図４】図１の認証印刷ジョブ保存部１２０へ保存される識別子と印刷データの対応を示す図。
【図５】図１に示すプリンタ１０６の第１ハッシュ値保存部１３８に保存されているハッシュ値を示す図。
【図６】本発明の第２の実施形態にかかる認証印刷システムの構成を示すブロック図。
【図７】図６に示す認証印刷システム２００の動作の流れを示すフローチャート。
【図８】図６に示すに認証印刷システム２００において、プリンタ１０６が第１のハッシュ値を受信できなかった場合の動作の流れを示すフローチャート。
【符号の説明】
【００９７】
１００、２００  認証印刷システム
１０２  クライアント
１０４  サーバ
１０６  プリンタ
１０８  認証装置
１１０  ユーザ
１１２  認証印刷ジョブ生成部
１１４  認証印刷ジョブ送信部
１２０  認証印刷ジョブ保存部
１２２  第１ハッシュ値算出部
１２４  ハッシュ値送信部
１２６  第１ハッシュ値記憶部
１３０  認証印刷ジョブ要求受信部
１３２  認証印刷ジョブ検索部
１３４  認証印刷ジョブ送信部
１３６  ハッシュ値受信部
１３８  第１ハッシュ値保存部
１３９  ハッシュ値検索部
１４０  認証情報受信部
１４２  認証印刷ジョブ要求部
１４３  認証印刷ジョブ受信部
１４４  第２ハッシュ値算出部
１４５  ハッシュ値比較部
１４６  印刷出力部
１５０  認証情報入力部
１５２  認証情報送信部
【図１】
2009217390.tif 000003
【図２】
2009217390.tif 000004
【図３】
2009217390.tif 000005
【図４】
2009217390.tif 000006
【図５】
2009217390.tif 000007
【図６】
2009217390.tif 000008
【図７】
2009217390.tif 000009
【図８】
2009217390.tif 000010