(57)【要約】【課題】コスト増大やパフォーマンス低下を招くことなく、印刷処理の妨害や成りすまし印刷等の攻撃を防止することが出来る画像処理方法、画像処理装置及び画像処理プログラムを提供する。【解決手段】クライアントＰＣ１と、プリンタ２がネットワーク３を介して接続されている。クライアントＰＣ１が生成する印刷ジョブデータ１０のプリンタ制御データは、画像の生成時刻情報６を含み、プリンタ２で生成時刻情報６を照合することにより、印刷出力の可否を判断することを特徴とする。照合結果が一致しない場合には、印刷ジョブデータ１０の出力処理が停止されるため、リプレイ攻撃等を防止することが出来る。【選択図】図３
2008229961.tif 000002
【特許請求の範囲】
【請求項１】
時刻情報を有する時刻管理手段と、情報処理装置から出力された画像データを、ネットワークを介して入力する入力手段と、を備えた画像処理装置における画像処理方法であって、
前記入力手段が、前記情報処理装置から、画像データと、前記情報処理装置が前記画像データを生成した時刻である生成時刻情報と、を入力する情報入力ステップと、
前記入力された生成時刻情報と、前記時刻管理手段が有する前記時刻情報とを照合する照合ステップと、
前記照合ステップの結果に応じて、入力された前記画像データの出力可否を判断するステップと、を実行することを特徴とする画像処理方法。
【請求項２】
認証情報を記憶する記憶手段をさらに備えた前記画像処理装置における画像処理方法であって、
前記情報入力ステップは、前記画像データと、前記生成時刻情報と、前記情報処理装置に対して前記画像データの出力指示を与えたユーザの認証情報であるユーザ認証情報と、を入力し、
前記照合ステップは、前記生成時刻情報と前記時刻情報との照合に加え、前記ユーザ認証情報と、前記記憶手段が記憶する前記認証情報とを照合することを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記照合ステップは、前記生成時刻情報と前記時刻情報とを照合するときの照合精度に許容範囲を設け、前記許容範囲が可変であることを特徴とする請求項１又は２記載の画像処理方法。
【請求項４】
前記照合ステップは、前記生成時刻情報と前記時刻情報との照合を無効にすることが可能となっていることを特徴とする請求項１から３のいずれか１項記載の画像処理方法。
【請求項５】
入力された前記画像データのハッシュ値を算出するステップを実行し、
前記情報入力ステップは、前記情報処理装置から、前記情報処理装置で算出した第１のハッシュ値を入力し、
前記照合ステップは、入力された前記第１のハッシュ値と、前記ハッシュ値を算出するステップから算出された第２のハッシュ値とを照合することを特徴とする請求項１から４のいずれか１項記載の画像処理方法。
【請求項６】
時刻情報を有する時刻管理手段と、
情報処理装置から出力された画像データと、前記情報処理装置が前記画像データを生成した時刻である生成時刻情報と、をネットワークを介して入力する入力手段と、
前記入力された生成時刻情報と、前記時刻管理手段が有する前記時刻情報とを照合する照合手段と、
前記照合手段の結果に応じて、前記画像データの出力可否を判断する判断手段と、を備えることを特徴とする画像処理装置。
【請求項７】
認証情報を記憶する記憶手段を備え、
前記入力手段は、前記画像データと、前記生成時刻情報と、前記情報処理装置に対して前記画像データの出力指示を与えたユーザの認証情報であるユーザ認証情報と、を入力し、
前記照合手段は、前記生成時刻情報と前記時刻情報との照合に加え、前記ユーザ認証情報と、前記記憶手段が記憶する前記認証情報とを照合することを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記照合手段は、前記生成時刻情報と前記時刻情報とを照合するときの照合精度に許容範囲を設け、前記許容範囲が可変であることを特徴とする請求項６又は７記載の画像処理装置。
【請求項９】
前記照合手段は、前記生成時刻情報と前記時刻情報との照合を無効にすることが可能となっていることを特徴とする請求項６から８のいずれか１項記載の画像処理装置。
【請求項１０】
入力された前記画像データのハッシュ値を算出するハッシュ値算出手段を備え、
前記入力手段は、前記情報処理装置から、前記情報処理装置が算出した第１のハッシュ値を入力し、
前記照合手段は、入力された前記第１のハッシュ値と、前記ハッシュ値算出手段から算出された第２のハッシュ値とを照合することを特徴とする請求項６から９のいずれか１項記載の画像処理装置。
【請求項１１】
時刻情報を有する時刻管理手段と、情報処理装置から出力された画像データを、ネットワークを介して入力する入力手段と、を備えた画像処理装置における画像処理プログラムであって、
前記入力手段が、前記情報処理装置から、前記画像データと、前記情報処理装置が前記画像データを生成した時刻である生成時刻情報と、を入力する情報入力処理と、
前記入力された生成時刻情報と、前記時刻管理手段が有する前記時刻情報とを照合する照合処理と、
前記照合処理の結果に応じて、入力された前記画像データの出力可否を判断する処理と、をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置及び画像処理プログラムに関し、特に受信した画像データが改ざん等されていないか照合する手段を備えることを特徴とした画像処理方法、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
企業のオフィス等で使用されるプリンタ及びプリンタ機能を備えたデジタル複合機(以下、両方併せてプリンタと称す)は、オフィス内のネットワークに接続され、複数のユーザが共同で使用するケースが一般的である。利用コストやセキュリティの観点から、特定のユーザ以外はプリンタを利用出来なくしたり、いつ誰がプリンタを使用したかを記録したりする機能(プリントジョブログ機能)が搭載されたプリンタが使われるケースが増えている。
【０００３】
ネットワーク接続されたプリンタに対して利用者毎に利用できる機能を制限するために、プリンタに登録された範囲内のＩＰアドレスを持つクライアントＰＣ以外からのネットワークアクセスを出来なくする方式(ＩＰアドレスフィルタリング)や、アカウント名とパスワードの組み合わせによるアカウント情報を用いてユーザ認証を行うことで制限を行う方式(プリントジョブ認証)等が利用されている。ＩＰアドレスフィルタリング方式ではプリント機能利用制限は実現可能であるが、単体ではプリントジョブログ機能を実現することが出来ない。ＩＰアドレスフィルタリングとプリントジョブ認証を組み合わせた使い方が好ましい。
【０００４】
プリントジョブ認証の機能と動作の例を以下に記載する。プリンタ本体にはプリンタ機能の利用を許可するユーザのアカウント名とパスワードが登録されている。クライアントＰＣにはプリンタドライバがインストールされている。印刷する文書データあるいは画像データ本体は、プリンタドライバによってプリンタ言語と呼ばれる形式に変換される。
【０００５】
ユーザはプリンタドライバのＧＵＩ（graphical user interface）メニューを使って、印刷枚数や印刷設定(カラー/白黒、両面印刷有無/集約印刷有無等)を設定出来る。プリントジョブ認証を使用する場合にはＧＵＩメニューからユーザ本人のアカウント名とパスワードを入力する。これらの情報は印刷データ本体と併せてプリンタ言語に変換されたファイルとして、ネットワーク経由でプリンタに送信される。このファイルは印刷ジョブデータと呼ばれる。
【０００６】
一般的に印刷ジョブデータは、プリンタ制御データ、印刷データ本体及びＥＯＪ（End of Job）の３つの部分から構成される（図１参照）。最初の部分はプリンタ制御データと呼ばれ、プリンタドライバで設定した情報が埋め込まれている。ヘッダ情報は、例えば『@PJL JOB NAME="print.txt』というように、人間が識別可能なデータとなっている。この部分は同じプリンタドライバを使った場合は同じフォーマットになっている。第二の部分は変換された印刷データであり、人間の目では解釈出来ないデータとなっている。印刷する文書データあるいは画像データ及び印刷設定によって、変換された印刷データのフォーマットとデータ長は大きく異なることになる。最後の部分は印刷データの終わりを示すデータであり、ＥＯＪ（End of Job）と呼ばれる。この部分も同じプリンタドライバを使った場合は同じフォーマットになっている。
【０００７】
プリントジョブ認証に利用するアカウント名とパスワードは、印刷ジョブデータのプリンタ制御データに付加される。印刷ジョブデータを受け取ったプリンタは、プリンタ制御データに埋め込まれたアカウント名とパスワードを取り出し、プリンタに登録された情報との照合を実施する。一致する場合は正規ユーザから送信された印刷ジョブと判断し、プリント出力を実行する。一致しない場合は出力を実行しない。このように、プリントジョブ認証を行うことで、正規登録ユーザ以外はプリント機能を利用出来ないようにする技術が知られている。また、アカウント名とパスワードにより、誰から送信されたジョブであるかが判るため、処理日時/ユーザ名/印刷したファイル名/印刷枚数等をプリントジョブログとして記録することも出来る。
【０００８】
また、クライアントＰＣアドレス情報を使って認証サーバ装置から利用制限情報を取得することにより、認証情報をプリンタデータに組み込めない印刷要求に対して利用者制限を行う技術も提案されている（例えば、特許文献１参照）。
【０００９】
また、印刷データの改ざんを防ぐ技術としては、印刷ジョブデータに電子署名を付加する方法が提案されている。印刷ジョブデータから抽出したデータを対象とする電子署名を付加し、プリンタが電子署名を検証することで印刷ジョブデータの真正性を保証する技術（例えば、特許文献２参照）や、印刷ジョブデータに認証情報として電子署名あるいは電子透かしが付加されており、認証情報が正しい場合に認証マークを付けた紙文書をプリンタが出力する技術である（例えば、特許文献３参照）。
【特許文献１】特開２００６−２０９５０４号公報
【特許文献２】特開２００６−２３５９３０号公報
【特許文献３】特開２００２−３１６４６５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記プリントジョブ認証による印刷機能利用制限には次のような問題が存在する。印刷ジョブデータのフォーマットが正しく且つ認証情報(アカウント名とパスワード情報)が正規登録ユーザのものであればプリント出力が可能であることため、例えば正規ユーザが印刷処理を実行したときの通信をネットワーク盗聴し、そのデータをそのままプリンタに送信すれば印刷出力が出来てしまう。正規利用権限を持たないユーザあるいは攻撃者が上記印刷ジョブデータを繰り返しプリンタに送信することによって、正規ユーザが印刷処理を行うのを妨害したり、紙を大量に消費させたりする攻撃が可能となる。
【００１１】
さらには、印刷ジョブデータから認証情報(アカウント名とパスワード情報)のみ抽出し、別に準備した印刷ジョブデータにおける認証情報(アカウント名とパスワード情報)を置き換えた印刷ジョブデータを作成送信し、印刷出力が行われてしまう。この場合、印刷ジョブデータ内に埋め込まれたアカウント名とパスワードが暗号処理されていても、暗号解読は不要であり、そのままコピーしたデータを利用するだけでよい。つまり、正規ユーザの認証情報(アカウント名とパスワード情報)を使った成りすまし印刷が出来ることになる。また、印刷データ本体の改ざんも可能である。正規利用権限を持たないユーザあるいは攻撃者が送信した印刷ジョブデータであるにも関わらず、プリントジョブログには正規ユーザが送信したものとして記録されることになる。これらの攻撃方法はリプレイ攻撃と呼ばれている。
【００１２】
また、上記印刷データの改ざんを防ぐ技術は、公開鍵暗号を利用したものであり、クライアントＰＣ側で秘密鍵を使って生成された電子署名データを、プリンタ側では公開鍵を使って検証を行い、検証結果が正しい場合にのみ印刷出力を実行する方法である。この方法には大きな問題が３つ存在する。
【００１３】
一つに、印刷ジョブデータに電子署名を付加/検証するために以下に示すシステム構成が必要であることである。クライアントＰＣ側には電子署名を生成するために必要な秘密鍵が保管され、電子署名を付加するための公開鍵暗号アルゴリズムを備えていることが必要である。プリンタ側には電子署名を検証するために必要な公開鍵が全ユーザ分保管され、電子署名を検証するための公開鍵暗号アルゴリズムを備えていることが必要である。これらの構成を実現するためのコストはそのまま製品コストに反映されることになる。
【００１４】
二つ目として、電子署名を付加/検証する処理によるパフォーマンス低下である。電子署名は公開鍵暗号アルゴリズムを利用しており、共通鍵暗号アルゴリズムと比較して処理時間が数十倍から数百倍の処理時間が必要である。クライアントＰＣ側で電子署名を生成する処理及びプリンタ側で電子署名を検証する処理の際に大きなＣＰＵ負荷が発生し、クライアントＰＣでユーザが印刷指示を出してから、プリンタ側で紙が出力される迄の時間が長くなってしまう。
【００１５】
三つ目として、電子署名はデータ改ざん防止には有効であるが、ネットワーク盗聴で取得した印刷ジョブデータをそのまま送信する攻撃は防止出来ないことである。この場合、印刷ジョブデータ内に埋め込まれた認証情報も電子署名も正しいため、プリンタは正規ユーザから送信され且つデータ改ざんもされていないと判断し印刷出力を実行してしまうことになる。
【００１６】
本発明はこのような状況に鑑みてなされたものであり、コスト増大やパフォーマンス低下を招くことなく、印刷処理の妨害や成りすまし印刷等の攻撃を防止することを目的としている。
【課題を解決するための手段】
【００１７】
請求項１記載の発明は、時刻情報を有する時刻管理手段と、情報処理装置から出力された画像データを、ネットワークを介して入力する入力手段と、を備えた画像処理装置における画像処理方法であって、前記入力手段が、前記情報処理装置から、画像データと、前記情報処理装置が前記画像データを生成した時刻である生成時刻情報と、を入力する情報入力ステップと、前記入力された生成時刻情報と、前記時刻管理手段が有する前記時刻情報とを照合する照合ステップと、前記照合ステップの結果に応じて、入力された前記画像データの出力可否を判断するステップと、を実行することを特徴とする画像処理方法である。
【００１８】
請求項２記載の発明は、請求項１記載の方法において、認証情報を記憶する記憶手段をさらに備えた前記画像処理装置における画像処理方法であって、前記情報入力ステップは、前記画像データと、前記生成時刻情報と、前記情報処理装置に対して前記画像データの出力指示を与えたユーザの認証情報であるユーザ認証情報と、を入力し、前記照合ステップは、前記生成時刻情報と前記時刻情報との照合に加え、前記ユーザ認証情報と、前記記憶手段が記憶する前記認証情報とを照合することを特徴とする。
【００１９】
請求項３記載の発明は、請求項１又は２記載の方法において、前記照合ステップは、前記生成時刻情報と前記時刻情報とを照合するときの照合精度に許容範囲を設け、前記許容範囲が可変であることを特徴とする。
【００２０】
請求項４記載の発明は、請求項１から３のいずれか１項記載の方法において、前記照合ステップは、前記生成時刻情報と前記時刻情報との照合を無効にすることが可能となっていることを特徴とする。
【００２１】
請求項５記載の発明は、請求項１から４のいずれか１項記載の方法において、入力された前記画像データのハッシュ値を算出するステップを実行し、前記情報入力ステップは、前記情報処理装置から、前記情報処理装置で算出した第１のハッシュ値を入力し、前記照合ステップは、入力された前記第１のハッシュ値と、前記ハッシュ値を算出するステップから算出された第２のハッシュ値とを照合することを特徴とする。
【００２２】
請求項６記載の発明は、時刻情報を有する時刻管理手段と、情報処理装置から出力された画像データと、前記情報処理装置が前記画像データを生成した時刻である生成時刻情報と、をネットワークを介して入力する入力手段と、前記入力された生成時刻情報と、前記時刻管理手段が有する前記時刻情報とを照合する照合手段と、前記照合手段の結果に応じて、前記画像データの出力可否を判断する判断手段と、を備えることを特徴とする画像処理装置である。
【００２３】
請求項７記載の発明は、請求項６記載の装置において、認証情報を記憶する記憶手段を備え、前記入力手段は、前記画像データと、前記生成時刻情報と、前記情報処理装置に対して前記画像データの出力指示を与えたユーザの認証情報であるユーザ認証情報と、を入力し、前記照合手段は、前記生成時刻情報と前記時刻情報との照合に加え、前記ユーザ認証情報と、前記記憶手段が記憶する前記認証情報とを照合することを特徴とする。
【００２４】
請求項８記載の発明は、請求項７又は８記載の装置において、前記照合手段は、前記生成時刻情報と前記時刻情報とを照合するときの照合精度に許容範囲を設け、前記許容範囲が可変であることを特徴とする。
【００２５】
請求項９記載の発明は、請求項６から８のいずれか１項記載の装置において、前記照合手段は、前記生成時刻情報と前記時刻情報との照合を無効にすることが可能となっていることを特徴とする。
【００２６】
請求項１０記載の発明は、請求項６から９のいずれか１項記載の装置において、入力された前記画像データのハッシュ値を算出するハッシュ値算出手段を備え、前記入力手段は、前記情報処理装置から、前記情報処理装置が算出した第１のハッシュ値を入力し、前記照合手段は、入力された前記第１のハッシュ値と、前記ハッシュ値算出手段から算出された第２のハッシュ値とを照合することを特徴とする。
【００２７】
請求項１１記載の発明は、時刻情報を有する時刻管理手段と、情報処理装置から出力された画像データを、ネットワークを介して入力する入力手段と、を備えた画像処理装置における画像処理プログラムであって、前記入力手段が、前記情報処理装置から、前記画像データと、前記情報処理装置が前記画像データを生成した時刻である生成時刻情報と、を入力する情報入力処理と、前記入力された生成時刻情報と、前記時刻管理手段が有する前記時刻情報とを照合する照合処理と、前記照合処理の結果に応じて、入力された前記画像データの出力可否を判断する処理と、をコンピュータに実行させることを特徴とする画像処理プログラムである。
【発明の効果】
【００２８】
本発明によれば、受信した情報の照合を行うことにより、コスト増大やパフォーマンス低下を招くことなく、印刷処理の妨害や成りすまし印刷等の攻撃を防止することが出来る。
【発明を実施するための最良の形態】
【００２９】
以下に、本発明の実施形態に係る画像処理方法、画像処理装置及び画像処理プログラムを、図面を用いて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。また、図１に示す印刷ジョブデータを構成するプリンタ制御データとは、ユーザの認証情報及び生成時刻情報のことであり、印刷データ本体とは画像データのことである。また、下記各実施形態では、情報処理装置の一例としてクライアントＰＣ１、画像形成装置の一例としてプリンタ２を用いて説明する。
【００３０】
本発明の実施形態に係るプリンタ２とクライアントＰＣ１のブロック構成図を図３に示す。クライアントＰＣ１と、プリンタ２がネットワーク３を介して接続されている。プリンタ２は、ネットワークを介してクライアントＰＣ１から画像データと各種情報を含んだ印刷ジョブデータを入力する。各種情報とは、ユーザの認証情報や生成時刻情報である。本実施形態において、プリンタ２は、クライアントＰＣ１から、ユーザの認証情報と、クライアントＰＣ１が画像データを生成した時刻である生成時刻情報６と、を含んだプリンタ制御データ１０から構成される印刷ジョブデータ１０をネットワークを介して入力する。プリンタ２で認証情報と生成時刻情報６の両方をそれぞれ照合することにより、印刷出力の可否を判断することを特徴とする。なお、本実施形態はユーザの認証情報と生成時刻情報６をプリンタ２に入力し照合しているが、生成時刻情報６のみを入力し生成時刻情報６でのみ照合を行う実施形態も考え得る。
【００３１】
クライアントＰＣ１には、プリンタドライバ４がインストールされている。プリンタドライバ４にはユーザの認証情報７(アカウント名とパスワード)を設定するメニューが存在している（図２参照）。かかるメニューから設定した認証情報７はクライアントＰＣ１に保管され、一旦設定すれば印刷指示の度に入力する必要は無い。
【００３２】
クライアントＰＣ１の動作処理を、図５を用いて説明する。図５は、本実施形態に係るクライアントＰＣ１の動作処理を示すフローチャートである。正規ユーザは、クライアントＰＣ１上で印刷したい画像データ５（図３参照）を選択し、プリンタドライバ４のメニュー（図２参照）から、印刷枚数や印刷設定(カラー/白黒、両面印刷有無/集約印刷有無等)を行うことにより印刷指示を実行する（図５  ステップＳ１）。
【００３３】
クライアントＰＣ１内部では、プリンタドライバ４の設定に従って印刷ジョブデータ１０（図３参照）の生成が行われる。印刷枚数や印刷設定(カラー/白黒、両面印刷有無/集約印刷有無等)及び認証情報７はプリンタドライバ４の設定から抽出され（図５  ステップＳ２）、画像データの生成時刻として、クライアントＰＣ１の時刻情報を生成時刻情報６として付加し（図５  ステップＳ３）、印刷ジョブデータ１０のプリント制御データとして付加される（ステップＳ４）。
【００３４】
認証情報７と生成時刻情報６は、万一印刷ジョブデータ１０が盗聴された場合であっても解析出来ないようにするためにも暗号処理した状態にすることが望ましい。
【００３５】
一方、画像データ５はプリンタ言語に変換され（ステップＳ５）、印刷データ本体として印刷ジョブデータ１０に付加される（ステップＳ６）。
【００３６】
印刷ジョブデータ１０は、プリント制御データ、印刷データ本体とＥＯＦが組み合わされたものである。プリンタ制御データとは、ユーザの認証情報７及び生成時刻情報９のことであり、印刷データ本体とは画像データ５のことである。印刷ジョブデータ１０はネットワーク３経由でプリンタ２に送信される（ステップＳ７）。印刷用通信インターフェイスはＲＡＷインターフェイス、ＬＰＲ（Line Printer Daemon Protocol）インターフェイス、ＩＰＰ（Internet Printing Protocol）インターフェイス、ＦＴＰ（File Transfer Protocol）インターフェイス等が使われる。
【００３７】
次に、図６を用いてプリンタ２の動作処理を説明する。図６は、本実施形態に係るプリンタ２の動作処理を示すフローチャートである。
【００３８】
プリンタ２は、印刷ジョブデータ１０を受信する（ステップ１０）。プリンタ２は、プリントジョブ処理ブロック１１を備え、プリントジョブ処理ブロック１１にはプリンタ制御データ解析部１２が設けられている（図３参照）。
【００３９】
印刷ジョブデータ１０を、プリンタ制御データと印刷データ本体に分離する（ステップＳ１１）。プリンタ制御データから、認証情報を抽出する（ステップＳ１２）。
【００４０】
抽出した認証情報は、プリントジョブ処理ブロック１１に設けられたデータ照合部１３に入力され、ユーザの認証情報７と、プリンタ２の認証情報保管部１５に登録された認証情報との照合が行われる（ステップＳ１３）。照合結果が一致しない場合には（ステップＳ１４／Ｎｏ）、プリントジョブ処理ブロック１１から出力制御ブロック１７に対し印刷中断を指示する制御信号１８が送信される。これにより、印刷ジョブデータ１０の出力処理を停止する（ステップＳ１８）。
【００４１】
照合結果が一致した場合は（ステップＳ４／Ｙｅｓ）、次に生成時刻情報６を照合する。まず、プリンタ制御データから、生成時刻情報６を抽出する（ステップＳ１５）。
【００４２】
抽出した生成時刻情報６もプリントジョブ処理ブロック１１に設けられたデータ照合部１３に入力され、プリンタの時刻管理部１９が有する時刻情報１６と照合が行われる（ステップＳ１６）。生成日時刻情報６の照合により、再送信することによるリプレイ攻撃を防止することが出来る。すなわち、再送信時には通常分単位の時間が経過しており、プリンタ制御データに埋め込まれた印刷ジョブデータ生成日時がプリンタの時刻情報と一致することは有り得ないからである。
【００４３】
照合結果が一致しない場合には（ステップＳ１７／Ｎｏ）、印刷ジョブデータ１０の出力処理が停止される（ステップＳ１８）。
【００４４】
ここで、印刷指示したクライアントＰＣ１の時刻設定とプリンタ２の時間設定には多少のずれが存在する可能性があることから、時刻の照合精度は秒単位の許容誤差を設ける必要がある。
【００４５】
また、別ユーザの印刷ジョブが実行中の場合には、当該ユーザのプリントジョブ処理開始が保留されることもあり得るため、プリンタ管理者が時刻の照合精度を変更出来る構成にすることが考え得る。
【００４６】
このように、画像データの生成時刻情報の照合精度を変更出来る構成にすることにより、クライアントＰＣ１とプリンタ２の時刻情報誤差、別ジョブ実行等による印刷処理開始遅延が存在する場合であっても照合機能を有効に動作させることが出来る。
【００４７】
時刻情報の照合が一致した場合は（ステップＳ１７／Ｙｅｓ）、印刷出力実行を指示する制御信号１８が、出力制御ブロック１７に送信され、画像データ５の出力が行われる（ステップＳ２０）。出力する画像データ５は、ステップＳ２０で分離した印刷データ本体を、プリンタ言語から画像データ５に逆変換処理し（ステップＳ１９）、出力制御ブロック１７に送信される。
【００４８】
上記実施形態により、ユーザの認証情報７に加えて生成時刻情報６を照合するため、正規利用権限を持たないユーザあるいは攻撃者が、プリンタ機能を不正に利用したり、正規ユーザが送信した印刷ジョブデータ１０をネットワーク盗聴等により取得し、そのままあるいは印刷データ本体を差し替えて再送信することによるリプレイ攻撃をしたりすることを防止出来る。
【００４９】
なお、認証情報の照合（ステップＳ１２〜Ｓ１４）と、印刷ジョブデータ生成日時の照合（ステップＳ１５〜Ｓ１７）の動作処理順序を入れ替えても同じ効果が得られる。
【００５０】
また、印刷ジョブデータ１０のプリンタ制御データに付加される認証情報と印刷ジョブデータ生成日時は、万一印刷ジョブデータ１０が盗聴された場合であっても解析出来ないようにするため、暗号処理した状態にすることも考え得る。
【００５１】
次に、本発明に係る他の実施形態について以下説明する。本実施形態では、印刷ジョブデータの全部あるいは一部データのハッシュ値をクライアントＰＣ１で付加し、プリンタ２でハッシュ値の照合を行うことで、時刻情報の改ざんを防止し、また、リプレイ攻撃等を防御することを特徴としている。
【００５２】
本実施形態に係るプリンタ２とクライアントＰＣ１のブロック構成図を図４に示す。クライアントＰＣ１と、プリンタ２は、ネットワーク３を介して接続されている。なお、クライアントＰＣ１が、ハッシュ計算部２０を備える点と、プリンタ２にハッシュ値を含んだ印刷ジョブデータ２１を送信する点と、プリンタ２が、ハッシュ抽出部２２とハッシュ計算部２３を備える点が、図３に示すブロック図と異なる点である。
【００５３】
クライアントＰＣ１の動作処理について図７を用いて説明する。図７は、本実施形態に係るクライアントＰＣ１の動作処理を示すフローチャートである。プリンタドライバ４によって印刷ジョブデータ２１が生成される。画像データ５が入力（若しくは選択）され、印刷指示があると（ステップＳ２５）、画像データ５はプリンタ言語に変換処理され、印刷ジョブデータ２１を構成する印刷データ本体として生成される（ステップＳ３０）。
【００５４】
一方、認証情報７が、印刷設定情報８から抽出される（ステップＳ２６）。生成時刻情報６は、クライアントＰＣ１の時刻管理部（図示せず）から抽出される（ステップＳ２７）。これらの情報は、印刷ジョブデータ２１を構成するプリント制御データとして生成される（ステップＳ２８）。
【００５５】
プリンタ制御データに付加される認証情報は、暗号処理した状態が望ましいが、生成時刻情報６に関しては平文状態でも構わない。改ざんされても以下に示すハッシュ値照合で改ざん検知が出来るためである。
【００５６】
クライアントＰＣ１は、データのハッシュ（hash）値を計算する機能を有するハッシュ計算部２０を備える。本実施形態では、ステップＳ２８で生成したプリンタ制御データのハッシュ値を計算し（ステップＳ２９）、印刷ジョブデータ２１（ステップＳ３１）に付加される（ステップＳ３２）。
【００５７】
ハッシュ値計算にはＳＨＡ１／ＭＤ５（Message Digest 5）等のハッシュ関数（hash function）が利用可能であり、ハッシュ値照合は簡易的なデータ改ざん検出に利用出来る。ハッシュ関数は、与えられた原文から固定長の擬似乱数を生成する演算手法であり、データを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較し、データが通信途中で改ざんされていないかどうか調べることが出来る。不可逆な一方向関数を含むため、ハッシュ値から原文に再現することはできず、また同じハッシュ値を持った異なるデータを作成することは極めて困難である。
【００５８】
ハッシュ値が付加された印刷ジョブデータ２１は、ネットワーク３経由でプリンタ２に送信される（ステップＳ３３）。
【００５９】
次に、本実施形態に係るプリンタ２の動作処理について図８を用いて説明する。図８は、本実施形態に係るプリンタ２の動作処理を示すフローチャートである。
【００６０】
プリンタ２は、ハッシュ値付き印刷ジョブデータ２１を受信する（ステップＳ３５）。受信した印刷ジョブデータ２１を分離し（ステップＳ３６）、プリンタ言語に変換された画像データ５については、逆変換処理する（ステップＳ４８）。
【００６１】
プリンタ２は、プリントジョブ処理ブロック１１を備え、プリントジョブ処理ブロック１１にはハッシュ抽出部２２が設けられている。印刷ジョブデータ２１から、クライアントＰＣ１で付加されたハッシュ値（以下「ハッシュ値ａ」と称す）を抽出する（ステップＳ３８）。
【００６２】
また、プリントジョブ処理ブロック１１は、クライアントＰＣ１と同じくデータのハッシュ値を計算する機能を有するハッシュ計算部２３が設けられており、印刷ジョブデータ２１から抽出したプリンタ制御データのハッシュ値（以下「ハッシュ値ｂ」と称す）を計算する（ステップＳ３７）。
【００６３】
ハッシュ抽出部２２で抽出されたハッシュ値ａと、ハッシュ計算部２３で計算されたハッシュ値ｂはデータ照合部１３に送られ、データ照合処理が実行される（ステップＳ３９）。
【００６４】
照合結果が一致しない場合は（ステップＳ４０／Ｎｏ）、プリンタ制御データが改ざんされたものと判断し、プリントジョブ処理ブロック１１から出力制御ブロック１７に対し印刷中断を指示する制御信号１８が送信され、印刷ジョブデータ２１の出力処理を停止する（ステップＳ４７）。
【００６５】
ハッシュ値が一致する場合は（ステップＳ４０／Ｙｅｓ）、上記実施形態で説明した処理と同様に、認証情報のデータ照合（ステップＳ４１〜Ｓ４３）及び生成時刻情報のデータ照合の処理を実行する（ステップＳ４４〜Ｓ４６）。その後の処理は上記実施形態と同様である。
【００６６】
上記実施形態により、生成時刻情報を含むプリント制御データが解析され改ざんされた場合には、クライアントＰＣ１で付加されたハッシュ値ａとプリンタ２で計算されたハッシュ値ｂが一致することは有り得ないため、正規利用権限を持たないユーザあるいは攻撃者が、正規ユーザの印刷機能利用を妨害したり、成りすまし印刷を行ったり、画像データの生成時刻情報を改ざんしたリプレイ攻撃等を行うことを防止出来る。
【００６７】
また、ハッシュ値計算処理は公開鍵暗号処理と比較して遙かに高速な処理が可能であり、電子署名付加及び検証を利用する場合のようなパフォーマンス低下は殆ど起らない。
【００６８】
本発明の他の実施形態としては、上記各実施形態において説明した時刻情報照合処理を、無効状態にする構成も考え得る。正規ユーザがプリンタドライバ４で生成した印刷ジョブデータを、直接プリンタ２に送信せずクライアントＰＣ１に一時的に保存し、必要になった時点でＦＴＰインターフェイス等を使って印刷指示を実行する使い方に備えた構成である。この場合、時刻情報照合処理を無効に出来る権限は、プリンタ管理者にのみ与えることが好ましいと考え得る。
【００６９】
上記実施形態により、時刻情報照合を一時的に無効設定出来るため、正規ユーザがクライアントＰＣ１に印刷ジョブデータを一時的に保管した場合でも印刷出来、正規ユーザの利便性を保つことが出来る。なお、一定時間経過後には自動的に有効状態に戻る構成も考え得る。かかる構成により、不正に時刻情報照合処理を無効にされたり、有効に戻すのを忘れたりすることによって正規利用権限を持たないユーザあるいは攻撃者によるリプレイ攻撃を防止することが出来る。
【００７０】
尚、各図のフローチャートに示す処理を、ＣＰＵが実行するためのプログラムは本発明によるプログラムを構成する。このプログラムを記録する記録媒体としては、半導体記憶部や光学的及び／又は磁気的な記憶部等を用いることができる。このようなプログラム及び記録媒体を、前述した各実施形態とは異なる構成のシステム等で用い、そこのＣＰＵで上記プログラムを実行させることにより、本発明と実質的に同じ効果を得ることができる。
【００７１】
以上、本発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態に係る印刷ジョブデータの構成を説明するための図である。
【図２】本発明の実施形態に係る認証情報(アカウント名とパスワード)を設定するメニューの表示例を示す図である。
【図３】本発明の実施形態に係るプリンタ２とクライアントＰＣ１のブロック構成図である。
【図４】本発明の実施形態に係るプリンタ２とクライアントＰＣ１のブロック構成図である。
【図５】本発明の実施形態に係るクライアントＰＣ１の動作処理を示すフローチャートである。
【図６】本発明の実施形態に係るプリンタ２の動作処理を示すフローチャートである。
【図７】本発明の実施形態に係るクライアントＰＣ１の動作処理を示すフローチャートである。
【図８】本発明の実施形態に係るプリンタ２の動作処理を示すフローチャートである。
【符号の説明】
【００７３】
１    クライアントＰＣ
２    プリンタ
３    ネットワーク
４    プリンタドライバ
５    画像データ５
６、１６    生成時刻情報
７    認証情報
８    印刷設定情報
１０、２１    印刷ジョブデータ
１１    プリントジョブ処理ブロック
１２    プリンタ制御データ解析部
１３    データ照合部
１４    印刷データ解析部
１５    認証情報保管部
１７    出力制御ブロック
１８    制御信号
１９    時刻管理部
２０、２３    ハッシュ計算部
２１    印刷ジョブデータ
２２    ハッシュ抽出部
【図１】
2008229961.tif 000003
【図２】
2008229961.tif 000004
【図３】
2008229961.tif 000005
【図４】
2008229961.tif 000006
【図５】
2008229961.tif 000007
【図６】
2008229961.tif 000008
【図７】
2008229961.tif 000009
【図８】
2008229961.tif 000010