(57)【要約】【課題】複数の署名が関連づけられた場合に配慮したプリントシステムを提供する。【解決手段】取得したドキュメントに含まれる署名情報を抽出し、抽出した署名情報に関連する電子証明書情報を取得して署名情報の検証処理を実行し、検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行するプリントシステムであって、抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行し、すべての署名情報についての検証に成功したと判断される場合に、予め定めた方法で印刷処理を実行するプリントシステムである。【選択図】図１
2007102534.tif 000002
【特許請求の範囲】
【請求項１】
印刷の対象となるドキュメントを取得する手段と、
前記取得したドキュメントに含まれる署名情報を抽出する手段と、
前記抽出した署名情報に関連する電子証明書情報を取得し、前記署名情報の検証処理を実行する手段と、
前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行する手段と、
を含み、
前記抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行し、すべての署名情報についての検証に成功したと判断される場合に、前記予め定めた方法で印刷処理を実行することを特徴とするプリントシステム。
【請求項２】
請求項１に記載のプリントシステムにおいて、
前記印刷の対象となるドキュメントには、当該ドキュメントに固有に割り当てられた識別情報が含まれ、
前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして、前記ドキュメントに基づく画像に、当該識別情報を表す画像を合成して印刷処理を実行するとともに、前記ドキュメントを前記識別情報に関連づけてドキュメントデータベースに記憶し、当該ドキュメントデータベースが、前記識別情報をキーとしたドキュメントの検索処理に供されることを特徴とするプリントシステム。
【請求項３】
印刷の対象となるドキュメントを取得して、当該取得したドキュメントに含まれる署名情報を抽出し、
前記抽出した署名情報に関連する電子証明書情報を取得し、前記署名情報の検証処理を実行し、
前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行するプリント方法であって、
前記抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行し、すべての署名情報についての検証に成功したと判断される場合に、前記予め定めた方法で印刷処理を実行することを特徴とするプリント方法。
【請求項４】
コンピュータに、
印刷の対象となるドキュメントに含まれる署名情報を抽出する手順と、
前記抽出した署名情報に関連する電子証明書情報を取得し、前記署名情報の検証処理を実行する手順と、
前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行する手順と、
を実行させるプログラムであって、
前記抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行させ、すべての署名情報についての検証に成功したと判断される場合に、前記予め定めた方法で印刷処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタを含むプリントシステムに関する。
【背景技術】
【０００２】
近年では、電子的にドキュメントが作成されることが多くなっている。一方、こうした電子的なドキュメントは改ざんが容易であることに鑑み、改ざんの防止や検知のための技術が求められている。こうした背景のもと、公開鍵暗号方式によるデジタル署名などの技術が開発され、広く利用されている。こうしたデジタル署名の技術では、一般に次のように署名と検証とが行われる。
【０００３】
ドキュメントの原本について、その原本性を証明をしようとする者は、原本の電子データについてハッシュ値を算出し、当該ハッシュ値を自己の秘密鍵で暗号化して署名情報を生成する。そして、当該署名情報をドキュメントの原本とともに配布する。また、ここで利用した暗号鍵に対応した復号用の鍵として、公開鍵を生成して別途配布しておく。この公開鍵は、電子証明書情報に含めて配布される。
【０００４】
ドキュメントの受信者は、受信したドキュメントのハッシュ値を算出する。また、署名情報に関連する（当該署名情報の生成に利用された秘密鍵に対応する公開鍵を含む）電子証明書情報を取得して、それに含まれる公開鍵で署名情報を復号してハッシュ値を得る。そして、算出したハッシュ値と署名情報を復号して得たハッシュ値とを比較し、一致すれば検証に成功したものとして処理を行う。一致しない場合は検証に成功しなかったとして、改ざんが行われていると判断することになる。
【０００５】
ところが、こうしたドキュメントを印刷処理して、用紙などの媒体上にドキュメントの画像を記録・固定したときには、その原本性の保証が困難となる。そこで、ドキュメントに関連づけられた署名を検証し、検証が成功したときに、複写困難な特殊態様で印刷するシステムがある（特許文献１）。
【特許文献１】特開２００３−８４９６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載のものを含め、従来の、印刷された文書について、電子的な署名検証を利用して原本性を保証させようとする技術では、複数の署名が関連づけられていた場合に配慮されていない。
【０００７】
本発明は上記実情に鑑みて為されたもので、複数の署名が関連づけられた場合に配慮したプリントシステムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００８】
上記従来例の問題点を解決するための本発明は、プリントシステムであって、印刷の対象となるドキュメントを取得する手段と、前記取得したドキュメントに含まれる署名情報を抽出する手段と、前記抽出した署名情報に関連する電子証明書情報を取得し、前記署名情報の検証処理を実行する手段と、前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行する手段と、を含み、前記抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行し、すべての署名情報についての検証に成功したと判断される場合に、前記予め定めた方法で印刷処理を実行することを特徴としている。
【０００９】
ここで前記印刷の対象となるドキュメントには、当該ドキュメントに固有に割り当てられた識別情報が含まれ、 前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして、前記ドキュメントに基づく画像に、当該識別情報を表す画像を合成して印刷処理を実行するとともに、前記ドキュメントを前記識別情報に関連づけてドキュメントデータベースに記憶し、当該ドキュメントデータベースが、前記識別情報をキーとしたドキュメントの検索処理に供されることとしてもよい。
【００１０】
また、本発明の一態様に係るプリント方法は、印刷の対象となるドキュメントを取得して、当該取得したドキュメントに含まれる署名情報を抽出し、前記抽出した署名情報に関連する電子証明書情報を取得し、前記署名情報の検証処理を実行し、前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行するプリント方法であって、前記抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行し、すべての署名情報についての検証に成功したと判断される場合に、前記予め定めた方法で印刷処理を実行することを特徴としている。
【００１１】
さらに本発明の別の態様に係るプログラムは、コンピュータに、印刷の対象となるドキュメントに含まれる署名情報を抽出する手順と、前記抽出した署名情報に関連する電子証明書情報を取得し、前記署名情報の検証処理を実行する手順と、前記検証処理の結果、検証に成功したと判断される場合に、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行する手順と、を実行させるプログラムであって、前記抽出した署名情報が複数ある場合に、そのすべての署名情報について検証処理を実行させ、すべての署名情報についての検証に成功したと判断される場合に、前記予め定めた方法で印刷処理を実行させることを特徴としている。
【発明を実施するための最良の形態】
【００１２】
本発明の実施の形態について図面を参照しながら説明する。本実施の形態のプリントシステム１は、図１に示すように、プリンタサーバ１０と、プリンタ２０とを含んで構成されており、プリンタサーバ１０は、また、制御部１１と、記憶部１２と、通信部１４と、プリンタインタフェース（Ｉ／Ｆ）部１５とを含んで構成されている。またこのプリントシステム１は、ネットワークを介して、電子証明書の情報を保持し、要求に応じて配信するサーバ（証明書サーバ）２や、クライアント装置３に接続されている。
【００１３】
ここでプリンタサーバ１０の制御部１１は、ＣＰＵ等であり、記憶部１２に格納されているプログラムに従って動作する。本実施の形態の制御部１１は、印刷の対象となるドキュメントを取得し、当該ドキュメントのデータに含まれる署名情報を検証して検証ができたときに、予め定めた態様で印刷を行うものである。この制御部１１の処理の内容については、後に詳しく述べる。
【００１４】
記憶部１２は、ＲＡＭ（Random Access Memory）等の記憶素子やハードディスクなどのディスクデバイスを含んで構成されている。この記憶部１２は、制御部１１によって実行されるプログラムを保持する。また、この記憶部１２は、制御部１１のワークメモリとして動作する。
【００１５】
通信部１４は、ネットワークインタフェースであり、ネットワークを介して他のプリンタサーバやクライアント側の装置に接続されている。プリンタＩ／Ｆ部１５は、プリンタ２０に接続されるシリアルインタフェース等であり、制御部１１から入力される指示に従って印刷の対象となる画像データ等を送出する。
【００１６】
本実施の形態では、このプリントシステム１のプリンタサーバ１０が、ネットワークを介して、クライアント装置３から署名情報を含むドキュメントを取得し、当該ドキュメントに係る印刷処理を実行することになる。
【００１７】
すなわち制御部１１は、クライアント装置３から取得したドキュメントに含まれる署名情報を抽出する。そして抽出した署名情報に関連する電子証明書情報を取得する。ここで電子証明書情報は、ネットワークを介して証明書サーバ２から取得することになる。ここで電子証明書情報には、一般的な例と同様に、署名情報を検証するための公開鍵が含まれているとする。
【００１８】
制御部１１は、受信したドキュメントの本体（印刷される画像を表す部分）のハッシュ値を算出して、演算ハッシュ値として記憶部１２に格納する。一方、取得した電子証明書情報に含まれる公開鍵で、署名情報を復号し、ハッシュ値（署名ハッシュ値と呼ぶ）を得る。制御部１１は、署名ハッシュ値と、記憶部１２に格納した演算ハッシュ値とを比較して、一致した場合に検証に成功したものとして、プリンタ２に対して、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行するよう指示する。
【００１９】
ここで予め定めた方法は、例えば、施錠可能で管理者以外の者によって容易に加除不能な用紙カセットなどから供給される特殊紙（承認印などが予め押印された用紙やすかしなどを含めた用紙等）や、特殊インク（赤外光に反応するインクなど）を用いることで、容易な偽造が不能な態様での印刷であればどのような方法でもよい。
【００２０】
また、本実施の形態において特徴的なことの一つは、ドキュメントから抽出した署名情報が複数である場合（ドキュメントに複数の署名情報が含まれている場合）に、この制御部１１が次の処理を実行することである。
【００２１】
すなわち、この場合制御部１１は、抽出した複数の署名情報に関連する電子証明書情報をそれぞれ取得する。そして受信したドキュメントの本体（印刷される画像を表す部分）のハッシュ値を算出して、演算ハッシュ値として記憶部１２に格納する。一方、取得した電子証明書情報に含まれる公開鍵で、各署名情報を復号し、各署名情報から得られたハッシュ値（署名ハッシュ値と呼ぶ）を得て記憶部１２に格納する。そして制御部１１は、各署名ハッシュ値が、いずれも演算ハッシュ値に一致した場合に、検証に成功したものとして、プリンタ２に対して、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行するよう指示する。すなわち、すべての署名情報について検証処理を実行し、すべての署名情報についての検証に成功したと判断される場合に、予め定めた方法で印刷処理を実行することになる。
【００２２】
なお、この例では、証明書サーバが、各署名者の証明書情報を保持しているものとしたが、証明書情報は、例えばプリントシステム１が保持していてもよい。このようにプリントシステム１が保持する場合には、ドキュメントに対して署名情報を関連づけた複数の利用者Ａ，Ｂ…がそれぞれ利用しているプリントシステム１ａ，１ｂ…において、各利用者の証明書情報を保持し、各プリントシステム１間で、署名者の証明書情報を授受して検証を行う。
【００２３】
以下、一例として、利用者Ａ，Ｂがそれぞれの利用しているプリントシステム１ａ，１ｂにそれぞれの証明書情報を保存させている例について述べる。ここでは、プリントシステム１のプリンタサーバ１０が、その記憶部１２のハードディスク内に証明書情報を保持しているものとし、各プリントシステム１ａ，１ｂ…は、図２に示すように、互いにネットワークを介して接続されているものとする。
【００２４】
クライアント装置３側では、ドキュメントを生成する際に、署名者となる各利用者の電子署名と、対応する電子証明書を保持するサーバのネットワークアドレスとを関連づけた署名情報（図３）を、ドキュメントに含めておく。
【００２５】
そしてプリントシステム１ａが、利用者Ａ，Ｂ各人の署名情報を含むドキュメントを、クライアント装置３から受信すると、当該プリントシステム１ａのプリンタサーバ１０ａにおいて次の処理が行われる。
【００２６】
すなわち、このプリンタサーバ１０ａの制御部１１は、利用者Ａ，Ｂの複数の署名情報を抽出する。そして利用者Ａ，Ｂ各人の電子証明書情報をそれぞれ取得する。ここでの例では、署名情報にそれぞれに対応する証明書情報を保持するサーバのネットワークアドレスが記述されているので、各サーバから取得することになる。具体例として利用者Ａの証明書情報は、プリンタサーバ１０ａの記憶部１２に格納されており、利用者Ｂの証明書情報は、利用者Ｂが利用しているプリントシステム１ｂのプリンタサーバ１０ｂの記憶部１２に格納されている。そこでプリンタサーバ１０ａの制御部１１は、記憶部１２から利用者Ａの証明書情報を読み出して取得するとともに、プリントシステム１ｂに対して利用者Ｂの証明書情報を要求する。
【００２７】
プリントシステム１ｂのプリンタサーバ１０ｂは、プリントシステム１ａからの要求に応答して、記憶部１２から利用者Ｂの証明書情報を読み出して、プリントシステム１ａに送信する。プリントシステム１ａのプリンタサーバ１０ａでは、利用者Ｂの証明書情報を受信して、記憶部１２に格納する。
【００２８】
制御部１１は、以下、処理の対象となったドキュメントの本体（印刷される画像を表す部分）のハッシュ値を算出して、演算ハッシュ値として記憶部１２に格納する。一方、取得した利用者Ａ，Ｂの各証明書情報に含まれる公開鍵で、各利用者の署名情報を復号し、各署名情報から得られたハッシュ値（署名ハッシュ値と呼ぶ）を得て記憶部１２に格納する。そして制御部１１は、各署名ハッシュ値が、いずれも演算ハッシュ値に一致した場合に、検証に成功したものとして、プリンタ２に対して、検証が完了したことを示すものとして予め定めた方法で、印刷処理を実行するよう指示する。
【００２９】
なお、クライアント装置３側では生成するドキュメントにそれぞれ固有に割り当てた識別情報を含めてもよい。ここで識別情報は例えばドキュメント本体のハッシュ値そのものとしても構わない。このように各ドキュメントに固有の識別情報を関連づけておく場合、互いにネットワークで接続された本実施の形態のプリントシステム１は、署名情報の検証に失敗したドキュメントに関連づけられた固有の識別情報を他のプリントシステム１に通知する（通知の対象となる他のプリントシステム１のネットワークアドレスは予め設定されていてもよいし、メーリングリストなどの公知の情報の拡布方法で他のプリントシステム１に対して通知してもよい）。各プリントシステム１のプリンタサーバ１０では、受信した識別情報を、失効ドキュメントデータベースに追記して記憶部１２に保持しておく。そしてプリンタサーバ１０は、クライアント装置３側から受信したドキュメントの識別情報が、当該失効ドキュメントデータベースに登録されている場合は、それに含まれる署名情報を検証することなく、失効したドキュメントであるとして、印刷処理を中断するなどの処理を行う。また、印刷処理を中断する代わりに、失効したドキュメントである旨の文字列とともに、当該ドキュメントを印刷処理するよう、プリンタ２に指示してもよい。
【００３０】
さらにここまでの説明では、署名情報の検証に成功したときの印刷態様は、特殊用紙を利用するか特殊インクを利用するなどとしたが、ドキュメントに固有の識別情報を関連づけておく場合は、この識別情報を記述した画像をドキュメントの画像に合成し、当該合成した画像をプリンタ２に印刷処理させてもよい。なお、ここで識別情報を記述した画像は、識別情報そのものを文字列として表記したものであってもよいし、コンピュータ可読なコード画像（バーコードなど）であってもよい。
【００３１】
この場合、プリンタサーバ１０の制御部１１は、署名情報の検証が成功したときに、当該ドキュメントに関連する識別情報を、検証済ドキュメントデータベースに追記して、記憶部１２に格納する。利用者は、クライアント装置３において、印刷されたドキュメントに合成されている識別情報をキー入力するか、あるいは識別情報のコード画像をスキャン入力し、プリンタサーバ１０に対して確認を要求する。
【００３２】
プリンタサーバ１０の制御部１１は、この確認要求に応答して、確認要求に係る識別情報をキーとして、当該識別情報が、検証済ドキュメントデータベースに含まれているか否かを検索し、当該検索の結果を、要求元のクライアント装置３に送信する。これにより、利用者は、検証済ドキュメントデータベースに含まれているか否かを調べることができ、署名が検証されたドキュメントに係る印刷物であるか否かを知ることができる。なお、このように識別情報を合成して印刷する場合は、当該印刷を行ったプリントシステム１を特定するシステム特定情報を併せて印刷しておき、クライアント装置３では、当該システム特定情報によって特定されるプリントシステム１に対して上記確認要求を送信するようにしてもよい。
【００３３】
さらにこの場合において、利用者はクライアント装置３において、印刷されたドキュメントそのものをスキャン入力し、当該スキャンイメージを確認要求に含めてプリンタサーバ１０に送信してもよい。
【００３４】
プリンタサーバ１０では、署名情報の検証に成功したドキュメントについては、当該ドキュメントの印刷イメージ（識別情報を合成した後の印刷結果に係る画像）を記憶部１２に保持しておき、確認要求にスキャンイメージが含まれている場合は、その一致度を調べて、その結果をクライアント装置３に送出してもよい。ここで一致度は、ビットマップデータ同士を比較する方法として広く知られた方法を利用してもよい。例えば両者の差分画像を生成し、差分画像に含まれる有意画素（差分画像における画素であって、所定しきい値よりも濃度の高い画素）の数を比較結果としてもよい。この場合、有意画素の数が多いほど、改ざんの可能性が高いことを表すことになる。
【００３５】
なお、ここまでの説明においてドキュメントの識別情報は、例えばそのハッシュ値自体であるとしたが、例えば、ドキュメントに署名情報を付する段階において、次のような処理によって識別情報を定めてもよい。
【００３６】
すなわち、利用者Ａが生成したドキュメントにまず署名情報を関連づける際に、ランダムに固有の識別情報を生成してドキュメントに含めておく。そしてこのドキュメントを利用者Ｂのクライアント装置に送信する。
【００３７】
利用者Ｂ側のクライアント装置では、利用者Ｂの署名情報を関連づける際に、利用者Ｂ側においてさらに別途ランダムに固有の識別情報を生成してドキュメントに含め、利用者Ａのクライアント装置へ返送する。
【００３８】
そして利用者Ａ，Ｂの各クライアント装置において、それぞれ相手側の署名情報を検証し、それぞれにおいて検証が成功したときに、両者でランダムに発行した固有の識別情報を結合するなどして、固有の識別情報を生成してもよい。この方法によると、利用者Ａ，Ｂが互いに遠隔に所在してドキュメントを信頼のおけるルートで転送できない場合にも署名情報を活用して、原本性を保証することが可能となる。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態に係るプリントシステム及び、それの接続例を表す構成ブロック図である。
【図２】本発明の実施の形態に係るプリントシステムの接続例を表す構成ブロック図である。
【図３】本発明の実施の形態に係る署名情報の一例を表す説明図である。
【符号の説明】
【００４０】
１  プリントシステム、２  証明書サーバ、３  クライアント装置、１０  プリンタサーバ、１１  制御部、１２  記憶部、１４  通信部、１５  プリンタインタフェース部、２０  プリンタ。
【図１】
2007102534.tif 000003
【図２】
2007102534.tif 000004
【図３】
2007102534.tif 000005