説明

画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体

【課題】 画像データに対する無効な電子署名の付与を防止することのできる画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体の提供を目的とする。
【解決手段】 紙文書より読み取った画像データに電子署名を付与する画像形成装置であって、第一の署名鍵を用いて前記画像データに対する第一の電子署名を生成する第一の署名生成手段と、前記第一の署名鍵に対応する第一の公開鍵証明書の有効性を判断する有効性判断手段とを有し、前記第一の署名生成手段は、前記有効性判断手段による判断結果が否定的なときは前記第一の電子署名を生成しないことにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体に関し、特に紙文書より読み取った画像データに電子署名を付与する画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体に関する。
【背景技術】
【0002】
e−文書法(電子文書法)が制定され、保存義務のある紙の原本をスキャンして電子化したデータを保存しておくことが許容されるようになった。その際、スキャンデータが真正なものであることを示すために、スキャンデータにはスキャンした作業者又は現場責任者の電子署名を付与することが求められている。
【0003】
この要件に対応するために、スキャナやデジタル複合機で紙文書をスキャニングする際に、スキャン作業者のICカードをスキャナ本体に装着されたカードリーダに挿入し、ICカードに格納されている電子署名鍵を用いて計算される各ユーザ固有の電子署名をスキャニングと同時にスキャンデータに対して付与する方式が既に考案されている。この方式によれば作業者又は現場責任者の電子署名をスキャンデータに簡便に付与することができる。
【特許文献1】特許第3616601号公報
【特許文献2】特開2002−10044号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、ICカードに格納されている電子署名鍵が万が一無効なものであった場合(例えば電子署名鍵に対応する公開鍵証明書の有効期限が切れていたり、何らかの理由で失効していたりした場合)、スキャンした後で無効であったことに気付くと再度スキャニングからやり直さなければならないことになる。
【0005】
また、医療分野においてもCTスキャナなどの医用画像データを生成する装置において、その生成した画像データが確かに特定のCTスキャナにおいて、特定の放射線技師によって撮像されたものであることを示すためにCTスキャナに放射線技師のICカードをセットし、医用画像データが生成されると同時にそのデータに対してICカードで電子署名を付与するような場合にも同じ問題が発生する。
【0006】
本発明は、上記の点に鑑みてなされたものであって、画像データに対する無効な電子署名の付与を防止することのできる画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【0007】
そこで上記課題を解決するため、本発明は、紙文書より読み取った画像データに電子署名を付与する画像形成装置であって、第一の署名鍵を用いて前記画像データに対する第一の電子署名を生成する第一の署名生成手段と、前記第一の署名鍵に対応する第一の公開鍵証明書の有効性を判断する有効性判断手段とを有し、前記第一の署名生成手段は、前記有効性判断手段による判断結果が否定的なときは前記第一の電子署名を生成しないことを特徴とする。
【0008】
また、上記課題を解決するため、本発明は、上記画像形成装置における電子署名生成方法、前記電子署名生成方法をコンピュータに実行させるための電子署名生成プログラム、又は前記電子署名生成プログラムを記録した記録媒体としてもよい。
【発明の効果】
【0009】
本発明によれば、画像データに対する無効な電子署名の付与を防止することのできる画像形成装置、電子署名生成方法、電子署名生成プログラム及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における画像形成システムの構成例を示す図である。図1の画像形成システム1は、LAN(Local Area Network)71によって相互に接続されている複合機10及びファイルサーバ30と、更に、インターネット72を介して接続されている認証局50とによって構成されている。
【0011】
複合機10は、本実施の形態において画像形成装置の一例であり、スキャン機能、コピー機能、プリント機能、FAX機能等、複数の機能を一台の筐体内に備えたデジタル複合機である。ただし、画像形成装置は、複合機である必要はなく、少なくとも紙文書を読み取って画像データを生成する機能を備えていれば良い。したがって、単なるスキャナ装置でもよい。なお、後述されるように、本実施の形態における複合機10は、紙文書より読み取られた画像データに対して電子署名を付与する機能を有する。
【0012】
ファイルサーバ30は、複合機10によって紙文書より生成された画像データを蓄積及び管理するためのコンピュータである。
【0013】
認証局50は、公知のいわゆる認証局である。本実施の形態では、複合機10において画像データに付される電子書名を生成するための秘密鍵(署名鍵)に対する公開鍵証明書を発行している。本実施の形態では画像データに付される電子書名として二種類の電子署名が用いられる。一つは、複合機10固有の電子署名、すなわち、画像データが複合機10によってスキャンされたことを証明する電子署名(以下「機器署名」という。)である。もう一つは、ユーザ固有の電子署名、すなわち、画像データが特定のユーザによってスキャン指示されたことを証明する電子署名(以下「ユーザ署名」という。)である。但し、画像データが改ざんされていないための証明には、いずれか一方の電子署名だけで足りる。したがって、本実施の形態では、画像データに対して常に双方の電子署名を付与するわけではなく、必要に応じて双方を使い分ける。
【0014】
図2は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。図2において複合機10は、タッチパネル101a及びディスプレイ101b等からなるオペレーションパネル101と、ICカードリーダ102と、スキャナ103と、プリンタ104と、CPU105と、メモリ106と、HDD(Hard Disk Drive)107と、ICチップ(HSM(Hardware Secure Module))108と、FAXモデム109と、ネットワークI/F110とを有する。
【0015】
オペレーションパネル101は、タッチパネル101aを介してユーザからの入力を受け付け、また、ディスプレイ101bを介してユーザに対して各種の情報を提供することによりユーザとのインタフェースを担う。
【0016】
ICカードリーダ102は、ICカードより情報を読み取るための装置である。本実施の形態において複合機10を利用するユーザは、自分に固有のICカードをICカードリーダ102に通すことにより複合機10に認証を受ける必要がある。なお、本実施の形態では、各ユーザに固有のICカードはユーザ署名を生成する機能を有する。
【0017】
スキャナ103は、紙文書より画像を読み取るための装置である。FAX時や、コピー時、又は紙文書を電子化して保存する際に用いられる。プリンタ104は、FAX受信された情報、コピーされた情報、又は保存されている画像データ等を印刷する装置である。
【0018】
CPU105は、複合機10にインストールされている各種プログラムを実行することにより、複合機10の各種機能を制御する。メモリ106は、インストールされたプログラムの保存領域や、プログラム実行時の作業用のメモリ空間として用いられる。HDD107は、インストールされたプログラムの保存や、スキャナ103によってスキャンされた画像データの保存等に用いられる。
【0019】
ICチップ108は、機器署名を生成するためのICチップであり、機器署名の署名鍵を安全に保管し、かつ機器署名を生成するといった演算能力を有する。FAXモデム109は、FAX通信のためのモデムである。ネットワークI/F110は、複合機10がLAN71に接続するためのインタフェースである。
【0020】
次に、本実施の形態において各ユーザに配布されている各ユーザ固有のICカードについて説明する。図3は、本発明の実施の形態におけるICカードのハードウェア構成例を示す図である。図3においてICカード120は、RAM121、ROM122、CPU123、EEPROM(Electrically Erasable Programmable Read-Only Memory)124、及びI/F125等より構成されている。
【0021】
RAM121は、揮発性メモリであり、CPU123による演算時に作業用のメモリ空間として用いられる。ROM122は、読み出し専用のメモリであり、ICカード120のOS(Operating System)が格納されている。EEPROM124は、ROMの一種で不揮発性だがバイト単位の書込み及び消去を行えるメモリであり、カードアプリケーション及びデータの格納に用いられる。ユーザ署名を生成するためのアプリケーションプログラム、ユーザ署名のための署名鍵及びその公開鍵証明書等もEEPROM124に格納されている。I/F125は、カードリーダとのインタフェースである。なお、ICカード120は、接触型又は非接触型のいずれでも構わない。CPU123は、ROM122に格納されているOSやEEPROM124に格納されているアプリケーションを実行することにより各種の機能を実現する。
【0022】
次に、複合機10におけるプログラム及びICカード120におけるプログラムが実行されることにより実現される機能構成例について説明する。図4は、本発明の実施の形態における複合機及びICカードの機能構成例を示す図である。
【0023】
図4において、複合機10は、制御部11、スキャン要求受付部12、入力制御部13、表示制御部14、画像データ取得部15、証明書記憶部16、演算部17、証明書有効性確認部18、通信制御部19、画像データ記憶部20及び証明書リスト記憶部21等より構成される。また、ICカード120は、証明書記憶部22及び演算部23等より構成される。各部の機能については、後述する処理手順において説明する。
【0024】
以下、複合機10の処理手順について説明する。本実施の形態では、まず大まかな処理の流れ(処理概要)について説明し、続いて、フローチャートを用いてより詳細に説明する。
【0025】
図5は、複合機のスキャン時の処理概要を説明するための図である。図5では、ある特定のユーザ(ユーザA)によって紙文書80のスキャンが指示された際に複合機10が実行する処理の概要を説明する。
【0026】
ユーザAによるスキャン指示に応じ、複合機10は、ユーザAのICカード120より公開鍵証明書1201を読み出し、公開鍵証明書1201の有効性を確認する(S11)。ここで、公開鍵証明書の有効性の確認とは、公開鍵証明書について真正性のチェック、有効期間のチェック、及び失効情報のチェックを行うことをいう。
【0027】
真正性のチェックとは、公開鍵証明書が改ざんされていないことのチェックである。公開鍵証明書には、当該公開鍵証明書を発行した認証局によって電子書名が添付されており、その電子署名に基づいて公開鍵証明書の改ざんチェックを行うことができる。
【0028】
有効期間のチェックとは、公開鍵証明書が有効期間内のものであるか否かのチェックである。すなわち、公開鍵証明書には有効期限が記録されている。したがって、複合機10は、内蔵されている内部時計の示す時刻と公開鍵証明書の有効期限とを比較することで、当該公開鍵証明書が有効期間内のものであるか否かを確認することができる。
【0029】
失効情報のチェックとは、公開鍵証明書が発行元の認証局によって失効処分を受けていないかのチェックである。すなわち、公開鍵証明書はセキュリティ上の問題が発生した際に発行元の認証局によって失効処分を受けることがある。失効処分を受けた公開鍵証明書については発行元の認証局によって失効情報として公表される。したがって、複合機10は、公開鍵証明書1201の発行元である認証局50に問い合わせることにより、失効の有無を確認することができる。なお、セキュリティ上の問題とは、例えば公開鍵証明書に対応した署名鍵(安全に保管され他人に知られてはならない鍵)が運用上もしくは技術上の問題により外部に露見してしまったこと等が挙げられる。
【0030】
公開鍵証明書1201の有効性が確認された場合、複合機10は、紙文書80をスキャンし、画像データ81を生成する(S12)。続いて、複合機10は、画像データ81のハッシュ値82を生成し(S13)、生成されたハッシュ値82をICカード120に送信することにより、画像データ81に対するユーザ署名の生成をICカード120に要求する(S14)。ICカード120は、ハッシュ値82を署名鍵で暗号化することによりユーザ署名1202を生成し、生成されたユーザ署名1202を複合機10に出力する(S15)。複合機10は、画像データ81にユーザ署名1202を添付してファイルサーバ30に送信する(S16)。したがって、ファイルサーバ30では、それぞれユーザ署名が付された状態で画像データが蓄積される。
【0031】
図5において、公開鍵証明書1201の有効性が確認されなかった場合、すなわち、公開鍵証明書1201が無効であった場合、それに対応する署名鍵によって電子署名(ユーザ署名)を生成しても、その電子署名は有効なものとして扱われない。そこで、公開鍵証明書1201の有効性が確認されなかった場合、本実施の形態における複合機10は、図6に示されるような処理を実行する。
【0032】
図6は、公開鍵証明書の有効性が確認されなかった場合の複合機の処理概要を説明するための図である。図6中、図5と同一部分には同一符号を付し、その説明は省略する。
【0033】
公開鍵証明書1201の有効性が確認されなかった場合、現在のICカード120によるユーザ署名の生成は行われない。複合機10は、オペレーションパネル101に公開鍵証明書1201が有効でない旨を表示させ(S21)、その後の処理をユーザに選択させる。選択肢としては、例えば、「処理再開」、「紙文書80をスキャンして保存しておき後でユーザ署名をする」、又は「処理の中止」等がある。
【0034】
「処理再開」とは、ユーザAが有効な公開鍵証明書1201が入った別のICカード120を直ぐに用意できる場合の選択肢である。この処理が選択されると、複合機10は改めて別のICカード120の公開鍵証明書1201の有効性を確認する。その後の処理は確認結果に従って制御される。
【0035】
「処理の中止」とは、その場でのスキャンニングはとりあえず中止することである。
【0036】
「紙文書80をスキャンして保存しておき後でユーザ署名をする」(以下「画像データ保存処理」という。)とは、ユーザAが有効な公開鍵証明書1201が入ったICカード120を直ぐには用意できない場合の選択肢である。この選択肢が選択された場合の複合機10の処理概要は図を用いて説明する。
【0037】
図7は、画像データ保存処理の処理概要を説明するための図である。図7中、図5と同一部分には同一符号を付し、その説明は適宜省略する。
【0038】
画像データ保存処理が選択された場合、複合機50は、紙文書80のスキャンを実行し画像データ81を生成する(S31)。続いて、複合機50は、画像データ81のハッシュ値82を生成し(S32)、生成されたハッシュ値82をHSM108に出力する(S33)。HSM108は、複合機10に固有の署名鍵を用いてハッシュ値82を暗号化することにより機器署名1203を生成する(S34)。続いて、複合機10は、画像データ81に機器署名1203を添付してHDD107に保存しておく(S35、S36)。
【0039】
すなわち、画像データ保存処理は、画像データを一時的に複合機10のHDD107内に保存しておき、後になってユーザAが有効な公開鍵証明書1201が格納されたICカード120を用意できたときに、保存されている画像データにユーザ署名を付与するというものである。この場合、有効な署名鍵及び公開鍵証明書の組(ICカード120)を新たに用意している間に紙文書80のスキャンが行えるため、その間の時間を無駄にせず処理効率を高めることができる。
【0040】
ここで、保存しておく画像データ(以下「保存データ」という。)に機器署名を付与しておくのはユーザ署名が付されるまでの間、悪意者によって保存データが改ざんされる恐れが否定できないからである。特に複合機10がインターネットに接続されている場合その恐れはより大きくなる。したがって、ユーザ署名が付されるまでの間、機器署名を添付しておくことで保存データの改ざん検知を可能とするわけである。なお、必ずしも機器固有の署名鍵で署名する必要はなく、例えば、外部のタイムスタンプサービスによるタイムスタンプを付したり、他の電子署名を付したりすることにより改ざん検知を可能としてもよい。
【0041】
図5から図7において概要を説明したように、本実施の形態における複合機10は、スキャンを実行する前に公開鍵証明書1201の有効性を確認し、公開鍵証明書1201の有効性が確認できない場合はユーザ署名の生成は行わない。したがって、無効な署名鍵によって電子署名を付与するといった無駄な作業の発生を防止することができる。
【0042】
以下、複合機10の処理手順を更に詳細に説明する。図8は、複合機のスキャン時の処理手順を説明するためのフローチャートである。
【0043】
ステップS101において、スキャン要求受付部12は、ユーザからスキャン要求を受け付けると、スキャン要求が発生したことを制御部11に通知する。制御部11は、ICカード120の証明書記憶部22より公開鍵証明書1201を取得し(S102)、公開鍵証明書1201の有効性が既に確認されているかのチェックを行う(S103)。
【0044】
すなわち、複合機10は、同一の公開鍵証明書1201に対して有効性の確認処理が重複して実行されることの無駄を回避するために、有効性が確認された公開鍵証明書については、有効性確認済み証明書リストに登録しておく。
【0045】
図9は、有効性確認済み証明書リストの構成例を示す図である。図9に示されるように、有効性確認済み証明書リスト201には、有効性が確認された公開鍵証明書1201ごとに、シリアル番号、証明書データ、有効期限、及び有億世確認証拠情報等が登録されている。
【0046】
したがって、ステップS103では、カレントの公開鍵証明書1201が有効性確認済み証明書リスト201に登録されているか否かが確認される。なお、ステップS103及び有効性確認済み証明書リスト201については更に詳しく後述する。
【0047】
公開鍵証明書1201の有効性が確認済みであった場合(S104Yes)、ユーザ署名の付与対象となる画像データ(以下「署名対象データ」)の取得処理(例えば、紙文書80のスキャニング)が実行された後(S105)、署名対象データに対するユーザ署名の生成処理が実行される(S106)。
【0048】
一方、公開鍵証明書1201の有効性が確認済みでなかった場合(S104でNo)、証明書有効性確認部18が公開鍵証明書1201の有効性の確認処理を実行する(S107)。なお当該処理の詳細については後述する。
【0049】
ステップS107の処理の結果、公開鍵証明書1201が有効であった場合(S108でYes)、公開鍵証明書1201の有効性確認済み証明書リスト201への登録処理が実行された後(S109)、署名対象データの取得処理(S105)、ユーザ署名の生成処理(S106)が実行される。
【0050】
ステップS107の処理の結果、公開鍵証明書1201が有効でなかった場合(S108でYes)、この場合はユーザ署名を生成しても無駄となってしまうため、予め設定されている設定情報に基づいて以下の処理を行う。
【0051】
すなわち、公開鍵証明書1201が有効でなかった場合の設定情報に画像データの保存処理の実行する旨が設定されている場合(S110でデータ保存)、制御部11は画像データ取得部15に対して紙文書80のスキャンを指示し、スキャンの結果生成された画像データを取得する(S111)。続いて、図7において説明した画像データ保存処理が実行される(S112)。なお、ステップS112の処理は更に詳しく後述する。
【0052】
また、公開鍵証明書1201が有効でなかった場合の設定情報に処理再開が設定されている場合(S110で処理再開)、制御部11は、表示制御部14に指示することにより別のICカード120の挿入を促すメッセージをディスプレイ101bに表示させる(S113)。
【0053】
図10は、別のICカードの挿入を促すメッセージの表示例を示す図である。図10では、ディスプレイ101bに「ICカードに含まれる署名鍵は有効ではありません。有効な署名鍵を含んでいるICカードを挿入してください。」というメッセージが表示された例が示されている。
【0054】
このメッセージによってユーザが別のICカード120を挿入すると、ステップS102以降の処理が改めて実行される。
【0055】
また、公開鍵証明書1201が有効でなかった場合の設定情報にユーザ指定が設定されている場合(S110でユーザ指定)、制御部11は、表示制御部14に指示することにより後処理をユーザに選択させるためのメッセージをディスプレイ101bに表示させる(S114)。
【0056】
図11は、公開鍵証明書が有効でなかった場合の後処理を選択させるためのメッセージの表示例を示す図である。図11では、ディスプレイ101bに「ICカードに含まれる署名鍵は有効ではありません。署名対象データを生成し、後で署名を行うために保存しておきますか?」というメッセージが表示された例が示されている。また、ディスプレイ101bには保存データの生成の要否を選択させるためのボタン101b−1及びボタン101b−2が表示されている。
【0057】
ユーザがボタン101b−1を選択すると(S115で「生成し保存する」)、ステップS111以降の処理、すなわち、紙文書80のスキャン及び画像データの保存処理が実行される。
【0058】
一方、ユーザがボタン101b−2を選択すると(S115で「生成しない」)、ステップS113以降の処理、すなわち、別のICカードの挿入の要求が実行される。
【0059】
続いて、ステップS107における公開鍵証明書1201の有効性確認処理の詳細について説明する。図12は、公開鍵証明書の有効性確認処理を説明するためのフローチャートである。ここで、公開鍵証明書の有効性確認処理とは、公開鍵証明書1201の真正性、有効期間及び失効情報をチェックすることである。図12の処理は、制御部11からの指示に応じ、証明書有効性確認部18によって実行される。
【0060】
まず、制御部11より公開鍵証明書1201を受け取る(S107a)。続いて、予めユーザによって複合機10に設定されている有効性確認方針に基づいて処理を分岐させる(S107b)。有効性確認方針とは、公開鍵証明書1201の有効性の確認をどのように行うかに関する方針であり、複合機10自身が行うか他の機器に任せるかのいずれか一方が予めユーザによって選択及び設定されている。
【0061】
有効性確認方針に複合機10自身が行う旨が設定されている場合、まず、公開鍵証明書1201の認証パスの構築を行う。認証パスについては図を用いて説明する。
【0062】
図13は、公開鍵証明書の認証パスを説明するための図である。既に説明したように、ICカード1201に格納されていた公開鍵証明書1201は認証局50に発行されたものである。図13では、その旨が図示されている。また、各認証局はその正当性を証明するために自らの公開鍵証明書を発行しているが、認証局によっては他の認証局より公開鍵証明書の発行を受けているものもある。図13では、認証局50の公開鍵証明書501は、認証局51より発行されている旨が図示されている。また、認証局51の公開鍵証明書511は認証局51が発行している旨も図示されている。なお、各公開鍵証明書の発行元はそれぞれの公開鍵証明書に記録されている。
【0063】
図13のような場合、公開鍵証明書の認証パスの構築とは、公開鍵証明書の発行元の公開鍵証明書を再帰的に取得していくことをいう。従って、公開鍵証明書1201の認証パスは「公開鍵証明書1201−公開鍵証明書501−公開鍵証明書511」となる。
【0064】
続いてS107d以降は認証パスに含まれる各公開鍵証明書(ここでは、公開鍵証明書1201、公開鍵証明書501、公開鍵証明書511)ごとの有効性のチェック処理となる。
【0065】
まず認証パスに含まれている公開鍵証明書のうち有効性が確認されていない(S107f〜S107hまでの処理が実行されていない)一つの公開鍵証明書を処理対象とする(S107e)。以下、処理対象とされた公開鍵証明書を「カレント証明書」という。
【0066】
続いて、カレント証明書の真正性のチェックを行う(S107f)。具体的には、カレント証明書を発行した認証局によって当該公開鍵証明書に添付されている電子書名に基づいてカレント証明書の改ざんチェックを行う。
【0067】
カレント証明書の真正性が確認された場合、すなわち、カレント証明書が改ざんされていない場合(S107fでYes)、カレント証明書の有効期限が切れていないか否かを確認する(S107g)。具体的には、カレント証明書に記録されている有効期限と複合機10の内部時計の示す時刻とを比較し、現在時刻がカレント証明書の有効期限を過ぎていない場合に有効期限は切れていないと判断する。
【0068】
カレント証明書の有効期限が切れていない場合(S107gでYes)、認証局50等から発行されている失効情報を確認することにより、カレント証明書が失効処分を受けていないかを確認する(S107h)。この処理の詳細については後述する。
【0069】
カレント証明書が失効していない場合(S107iでYes)、ステップS107dに進み、認証パスに含まれている全ての公開鍵証明書について有効性のチェックが完了したか否かを判断する。全ての公開鍵証明書について有効性が確認された場合(S107dでNo)、公開鍵証明書1201は有効であると判断し(S107l)、その判断結果と共にステップS107hで取得される失効処分の有無を判断するために用いられた情報(CRL(Certificate Revocation List)又はOCSP(Online Certificate Status Protocol)レスポンス等)を制御部11に対して返却する(S107k)。
【0070】
認証パスに含まれているいずれかの公開鍵証明書について、真正性が無いこと(S107fでNo)、有効期限が切れていること(S107gでNo)、又は失効していること(S107iでNo)が確認された場合、公開鍵証明書1201は無効であると判断し(S107i)、その判断結果と共にステップS107hで取得される失効処分の有無を判断するために用いられた情報(CRL又はOCSPレスポンス等)を制御部11に対して返却する(S107k)。
【0071】
一方、有効性確認方針に、公開鍵証明書の有効性の確認を他の機器に任せる旨が設定されている場合(S107bで「他の機器に任せる」)、有効性確認方針に設定されているURI(Uniform Resource Identifier)に位置するDVCS(Data Validation and Certification Server Protocols)サーバ、又はSCVP(Simple Certificate Validation Protocol)サーバ等の証明書検証サーバに対して公開鍵証明書1202を送信し、その検証を要求する(S107m)。
【0072】
続いて、証明書検証サーバからのレスポンスを受信し、そのレスポンスに含まれている検証証明書に基づいて公開鍵証明書1201の有効性の判断し(S107n)、その判断結果を制御部11に返却する。
【0073】
このように、有効性確認方針に従って公開鍵証明書の有効性の確認を他の機器に任せることができるため、複合機10の処理能力又は使用想定環境における予想される余剰処理能力に応じて、複合機10自身が公開鍵証明書1201の有効性確認処理を行うか、又はその処理を外部の処理装置に委託するかを切り替えることができ、複合機10の処理能力を最適な形で利用すること出来る。更に、有効性の確認を他の機器に委託する場合は、複合機10にかかる負荷を低減させることができる。
【0074】
続いて、図12のステップS107hにおける失効情報の確認処理の詳細について説明する。図14は、失効情報の確認処理を説明するためのフローチャートである。図14の処理は証明書有効性確認部18によって実行される。
【0075】
失効情報の確認方法は、公開鍵証明書によって異なる。一般的なものとして証明書失効リスト(CRL)を利用した方法が挙げられる。これは失効した公開鍵証明書の一覧が記してある証明書失効リストを証明書失効リスト配布点と呼ばれるサーバからインターネット経由でダウンロードし、対象とする公開鍵証明書がそのリスト内に含まれていないかどうかを確認する方法である。
【0076】
別の方法としては、OCSPレスポンダを利用する方法がある。この方法は失効情報を確認したい公開鍵証明書をOCSPレスポンダと呼ばれるサーバへ送信し、その公開鍵証明書の状態をOCSPレスポンダより取得する方法である。OCSPレスポンダは公開鍵証明書が「有効」、「無効」、又は「不明」のうちのいずれの状態にあるのかを返信する。OCSPレスポンダから返信される結果データはOCSPレスポンスと呼ばれる。
【0077】
したがって、図14のステップS107h−1において証明書有効性確認部18は、まず、カレント証明書にOCSPレスポンダのURIが設定されているのか、又はCRLの配布点が設定されているのかを確認する。これにより、失効情報の確認方法として証明書失効リストの使用を前提とした公開鍵証明書でも、オンラインでの証明書状態確認を前提とした公開鍵証明書でも、失効情報の確認が行えるようになる。
【0078】
カレント証明書にOCSPレスポンダのURIが設定されている場合、ステップS107h−2に進み、OCSPレスポンダに対してOCSPリクエストを送信することによりカレント証明書の状態を問い合わせる。
【0079】
OCSPレスポンダからの返信(OCSPレスポンス)においてカレント証明書は「有効」である旨が示されている場合(S107h−3で「有効」)、カレント証明書は失効していないと判断する(S107h−4)。OCSPレスポンスにおいてカレント証明書は「不明」又は「失効」である旨が示されている場合(S107h−3で「不明」又は「失効」)、カレント証明書は失効していると判断する(S107h−5)。
【0080】
一方、ステップS107h−1において、カレント証明書にCRLの配布点が設定されている場合、ステップS107h−6に進み、その配布点よりCRLをダウンロードする。但し、カレント証明書が、認証パスにおいて中間のものである場合又はルートのものである場合はARL(Authority Revocation List)を取得する。なお、ARLとは認証局レベルの失効リストをいう。
【0081】
続いて、カレント証明書がダウンロードされたCRL又はARLに含まれているか否かを判定する(S107h−7)。カレント証明書がCRL又はARLに含まれている場合(S107h−7でYes)、カレント証明書は失効していると判断する(S107h−8)。カレント証明書がCRL又はARLに含まれていない場合(S107h−7でNo)、カレント証明書は失効していないと判断する(S107h−9)。
【0082】
次に、図8のステップS109における、公開鍵証明書1201の有効性確認済み証明書リスト201への登録処理の詳細について説明する。すなわち、図12及び図14において説明した処理によって有効性が確認された公開鍵証明書1201に対して実行される処理である。
【0083】
図15は、有効性確認済み証明書リストへの登録処理を説明するためのフローチャートである。図15の処理は制御部11からの指示に応じ証明書リスト記憶部21によって実行される。
【0084】
まず、有効性の確認された公開鍵証明書1201及び有効性の確認に用いられた情報(例えば、CRL、OCSPレスポンス、又はDVC等の検証証明書等、以下「有効性確認証拠情報」という。)を制御部11より受け取る(S109a)。続いて、公開鍵証明書1201よりシリアル番号を取得する(S109b)。すなわち、各公開鍵証明書にはそれぞれを一意に識別するためのシリアル番号が記録されており、ここではそのシリアル番号が取得される。
【0085】
続いて、有効性確認証拠情報より当該有効性確認証拠情報の有効期限を示す情報(以下「有効性確認証拠期限情報」という。)を取得する(S109c)。例えば、CRLやOCSPレスポンスに含まれている次回更新日時(nextUpdate)や、DVCSサーバやSVCPサーバからのレスポンスデータに含まれている次回更新日時に相当する情報が有効性確認証拠期限情報に相当する。すなわち、CRLやOCSPレスポンス等は定期的に更新されるため、次回の更新日時がそれに含まれている場合がある。
【0086】
有効性確認証拠情報に有効性確認証拠期限情報が含まれていた場合(S109dでYes)、その有効性確認証拠期限情報によって示される有効期限を有効性確認の有効期限(すなわち、有効性確認済み証明書リストの有効期限)とする(S109e)。
【0087】
一方、有効性確認証拠情報に有効性確認証拠期限情報が含まれてない場合(S109dでNo)、複合機10に予め設定されている設定値に基づいて有効性確認の有効期限を算出する(S109f)。すなわち、複合機10には、予めユーザによって有効性確認の有効期間が設定されており、その有効期間を現在のシステム時刻に加算することにより当該有効期限を算出する。
【0088】
最後に、公開鍵証明書1201のシリアル番号、公開鍵証明書1201のデータそのもの、有効性確認の有効期限、及び有効性確認証拠情報を新たなエントリとして図9の有効性確認済み証明書リスト201に追加する(S109g)。
【0089】
このように、一度有効性が確認された公開鍵証明書1201については、その旨が複合機10内の有効性確認済み証明書リスト201に記録(キャッシュ)される。
【0090】
次に、図8のステップS103における公開鍵証明書1201の有効性確認済みのチェック処理の詳細について説明する。すなわち、図12及び図14において説明した有効性確認処理の実行の要否を判断するための処理である。
【0091】
図16は、公開鍵証明書の有効性確認済みのチェック処理を説明するためのフローチャートである。図16の処理は、制御部11からの指示に応じ証明書リスト記憶部21によって実行される。
【0092】
まず、制御部11より公開鍵証明書1201を受け取る(S103a)。続いて、公開鍵証明書1201よりシリアル番号を取得し(S103b)、そのシリアル番号をキーとして当該公開鍵証明書1201が有効性確認済み証明書リスト201に含まれているか否かを判定する(S103c)。
【0093】
当該公開鍵証明書1201が有効性確認済み証明書リスト201に含まれている場合(S103cでYes)、有効性確認(キャッシュ)の有効期限(すなわち、有効性確認済み証明書リスト201における有効期限)を取得し(S103d)、複合機10のシステム時刻と比較することによりキャッシュの有効期限が切れていないか否かを判定する(S103e)。キャッシュの有効期限が切れていない場合(S103eでYes)、当該公開鍵証明書1201の有効性は確認済みであることを制御部11に返却する(S103f)。
【0094】
一方、当該公開鍵証明書1201が有効性確認済み証明書リスト201に含まれていない場合(S103cでNo)、又は当該公開鍵証明書1201が有効性確認済み証明書リスト201に含まれていてもキャッシュの有効期限が切れている場合(S103eでNo)、当該公開鍵証明書1201の有効性は未確認であることを制御部11に返却する(S103g)。すなわち、たとえ過去に有効性が確認された場合であっても、その後失効処分等になっている可能性もあるため、キャッシュの有効期限が切れている場合は有効性は未確認である旨を返却して、改めて有効性の確認処理(図12及び図14)を実行させるというわけである。
【0095】
次に、図8のステップS112における画像データ保存処理について説明する。図17は、画像データ保存処理を説明するためのフローチャートである。
【0096】
まず制御部11が、スキャンされた画像データをHSM108の演算部17に出力すると、演算部17は、当該画像データの機器署名1203を生成する(S112a)。制御部11は、演算部17より機器署名1203を受け取ると、画像データ記憶部20に対して、当該画像データ及び機器署名1203の保存を指示する。画像データ記憶部20は、当該画像データ、機器署名1203、保存時刻、及び当該画像データの内容を簡潔に表す情報(例えば、文書タイトル名、サムネール画像等)を関連付けてHDD107に保存する(S112b)。
【0097】
次に、図8のステップS105における署名対象データの取得処理について説明する。図18は、署名対象データの取得処理を説明するためのフローチャートである。
【0098】
まず、制御部11は、画像データ記憶部20に保存データ(ユーザ署名が付されないで保存されている画像データ)が有るか否かを確認する(S105a)。保存データがある場合(S105aでYes)、表示制御部14は、保存データから署名対象データを取得するか、署名対象データを新たに生成(スキャン)するかをユーザに選択させるためのメッセージをディスプレイ101bに表示させる。
【0099】
図19は、署名対象データの取得先を選択させるためのメッセージの表示例を示す図である。図19では、ディスプレイ101bに「保存データがあります。保存データに署名を行うか、新たに署名対象データを生成し、それに対して署名を行うかを選択して下さい。」というメッセージが表示された例が示されている。また、ディスプレイ101bには署名対象を選択させるためのボタン101b−3及びボタン101b−4が表示されている。
【0100】
ユーザがボタン101b−3を選択すると(S105cで「保存データ」)、表示制御部14は、画像データ記憶部20に蓄積されている保存データの中から署名対象データを選択させるメッセージをディスプレイ101bに表示させ、署名対象データの選択をユーザに促す(S105d)。
【0101】
図20は、署名対象データを選択させるためのメッセージの表示例を示す図である。図20において、ディスプレイ101bには、保存データの一覧と各保存データを署名対象として選択させるための選択ボタン101b−5〜7とが表示されている。
【0102】
ユーザが選択ボタン101b−5〜7のいずれかを選択すると、表示制御部14は選択結果を制御部11に通知する。
【0103】
制御部11は、選択された保存データ(以下「選択データ」という。)を画像データ記憶部20より読み出す(S105e)。読み出した後、制御部11は、選択データを画像データ記憶部20より削除させる。続いて、制御部11は、選択データに添付されている機器署名1203に基づいて選択データが改ざんされていないか否かを確認する(S101f)。
【0104】
選択データが改ざんされていない場合(S105fで改ざん無し)、制御部11は選択データを署名対象データとする。選択データが改ざんされている場合(S105fで改ざん有り)、制御部11は選択データは利用不可能なデータと判断し、選択データが改ざんされていることを通知するメッセージを表示制御部14に表示させる(S105h)。
【0105】
一方、保存データが画像データ記憶部20に蓄積されていない場合(S105aでNo)、又は図19のメッセージにおいてボタン101b−4が選択された場合(S105cで新規データ)、制御部11は画像データ取得部15に指示することにより、紙文書80のスキャンを実行させ、スキャンによって生成された画像データを署名対象データとする(S105i)。
【0106】
次に、図8のS106における署名処理の詳細について説明する。図21は、署名処理を説明するためのフローチャートである。図21の処理は、制御部11からの指示に応じ、複合機10のICカードリーダ102に提示されたICカード120の演算部23によって実行される。
【0107】
まず、制御部11より署名対象データ、有効性確認証拠情報、及びユーザ署名フォーマット設定情報と共に、ユーザ署名の生成指示を受け付ける(S106a)。ここで、ユーザ署名フォーマット設定情報とは、ユーザ署名1202のフォーマットについて予めユーザによって設定されている情報であり、例えば、HDD107に保存されている。
【0108】
続いて、ユーザ署名フォーマット設定情報の内容に応じて処理が分岐する(S106b)。ユーザ署名フォーマット設定情報においてユーザ署名1202に有効性確認証拠情報を含めない旨が設定されている場合、ステップS106cに進みユーザ署名1202を生成し、生成されたユーザ署名を制御部11に出力する。
【0109】
又は、ユーザ署名フォーマット設定情報においてユーザ署名1202に有効性確認証拠情報を含める旨が設定されている場合、ステップS106dに進みユーザ署名1202を生成する。更に、生成されたユーザ署名1202に有効性確認証拠情報を含め、そのユーザ署名1202を制御部11に出力する(S106e)。
【0110】
ユーザ署名1202に有効性確認証拠情報を含めることにより、ユーザ署名の検証をする際に、公開鍵証明書1201の有効性確認を改めてする必要がなくなる。また、有効性確認証拠情報が安全に保存されている間は常に公開鍵証明書1201の有効性確認が行える(ユーザ署名の有効期限が過ぎると、認証局などがその署名を生成するのに使用した署名鍵に対応する証明書を証明書失効リストから削除する問題などに対応が出来る。)。
【0111】
又は、ユーザ署名フォーマット設定情報においてユーザ署名1202のフォーマットをユーザに選択させる旨が設定されている場合、制御部11は、表示制御部14に指示しユーザ署名のフォーマットを選択させるためのメッセージをディスプレイ101bに表示させる(S106f)。
【0112】
図22は、ユーザ署名のフォーマットを選択させるためのメッセージの表示例を示す図である。図22において、ディスプレイ101bには、「有効性確認証拠情報を電子署名に含めますか?含めた場合は、署名の検証時に再度公開鍵証明書の検証をする必要がなくなります。また公開鍵証明書の検証結果が安全に保管されている間に限って公開鍵証明書の有効性確認が行えます。」というメッセージが表示されている。また、有効性確認証拠情報の要否を選択させるためのボタン101b−5及び6が表示されている。
【0113】
ユーザがボタン101b−5を選択した場合(S106gでYes)、ユーザ署名を生成し(S106h)、そのユーザ署名に有効性確認証拠情報を含めたものを制御部11に出力する(S106i)。
【0114】
一方、ユーザがボタン101b−6を選択した場合(S106hでNo)、ユーザ署名を生成し、生成されたユーザ署名を制御部11に出力する(S106j)。
【0115】
上述したように、本実施の形態における複合機10によれば、公開鍵証明書1201の有効性の有無を確認し、有効性が無い場合はユーザ署名の生成は行わない。従って、無効な公開鍵証明書に対応する署名鍵によって電子署名を行うといった無駄な作業の発生を防止することができる。
【0116】
また、公開鍵証明書の有効性が無かった場合の処理は、予め設定された情報に基づいて制御される。したがって、公開鍵証明書の有効性の状態に応じて柔軟な対応をすることができる。
【0117】
なお、本実施の形態では、スキャンと同時に画像データに付与する電子署名についてユーザ署名を例として説明したが、必ずしもユーザ署名である必要はない。運用上、機器署名又は他の電子署名を画像データに付与する決まりになっている場合は、それらの電子署名について本実施の形態において説明した処理を実行してもよい。
【0118】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0119】
【図1】本発明の実施の形態における画像形成システムの構成例を示す図である。
【図2】本発明の実施の形態における複合機のハードウェア構成例を示す図である。
【図3】本発明の実施の形態におけるICカードのハードウェア構成例を示す図である。
【図4】本発明の実施の形態における複合機及びICカードの機能構成例を示す図である。
【図5】複合機のスキャン時の処理概要を説明するための図である。
【図6】公開鍵証明書の有効性が確認されなかった場合の複合機の処理概要を説明するための図である。
【図7】画像データ保存処理の処理概要を説明するための図である。
【図8】複合機のスキャン時の処理手順を説明するためのフローチャートである。
【図9】有効性確認済み証明書リストの構成例を示す図である。
【図10】別のICカードの挿入を促すメッセージの表示例を示す図である。
【図11】公開鍵証明書が有効でなかった場合の後処理を選択させるためのメッセージの表示例を示す図である。
【図12】公開鍵証明書の有効性確認処理を説明するためのフローチャートである。
【図13】公開鍵証明書の認証パスを説明するための図である。
【図14】失効情報の確認処理を説明するためのフローチャートである。
【図15】有効性確認済み証明書リストへの登録処理を説明するためのフローチャートである。
【図16】公開鍵証明書の有効性確認済みのチェック処理を説明するためのフローチャートである。
【図17】画像データ保存処理を説明するためのフローチャートである。
【図18】署名対象データの取得処理を説明するためのフローチャートである。
【図19】署名対象データの取得先を選択させるためのメッセージの表示例を示す図である。
【図20】署名対象データを選択させるためのメッセージの表示例を示す図である。
【図21】署名処理を説明するためのフローチャートである。
【図22】ユーザ署名のフォーマットを選択させるためのメッセージの表示例を示す図である。
【符号の説明】
【0120】
1 画像形成システム
10 複合機
11 制御部
12 スキャン要求受付部
13 入力制御部
14 表示制御部
15 画像データ取得部
16 証明書記憶部
17 演算部
18 証明書有効性確認部
19 通信制御部
20 画像データ記憶部
21 証明書リスト記憶部
30 ファイルサーバ
50 認証局
71 LAN
72 インターネット
80 紙文書
81 画像データ
82 ハッシュ値
101 オペレーションパネル
101a ダッチパネル
101b ディスプレイ
102 ICカードリーダ
103 スキャナ
104 プリンタ
105 CPU
106 メモリ
107 HDD(Hard Disk Drive)
108 ICチップ
109 FAXモデム
110 ネットワークI/F
120 ICカード
121 RAM
122 ROM
123 CPU
124 EEPROM
125 I/F
1201 公開鍵証明書
1202 ユーザ署名
1203 機器署名

【特許請求の範囲】
【請求項1】
紙文書より読み取った画像データに電子署名を付与する画像形成装置であって、
第一の署名鍵を用いて前記画像データに対する第一の電子署名を生成する第一の署名生成手段と、
前記第一の署名鍵に対応する第一の公開鍵証明書の有効性を判断する有効性判断手段とを有し、
前記第一の署名生成手段は、前記有効性判断手段による判断結果が否定的なときは前記第一の電子署名を生成しないことを特徴とする画像形成装置。
【請求項2】
前記有効性判断手段による判断結果が否定的なときは、前記紙文書の読取りを行わないことを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記有効性判断手段による判断結果が否定的なときに、前記第一の署名鍵及び前記第一の公開鍵証明書とは異なる第二の署名鍵及び該第二の署名鍵に対する第二の公開鍵証明書の入力を受け付ける署名鍵入力手段を有し、
前記第一の署名生成手段は、前記有効性判断手段による前記第二の公開鍵証明書に対する有効性の判断結果が肯定的なときは前記第二の署名鍵を用いて前記画像データに対する電子署名を生成することを特徴とする請求項1記載の画像形成装置。
【請求項4】
前記有効性判断手段による判断結果が否定的なときに、前記第一の電子署名を生成せずに前記画像データを所定の記録媒体に保存しておくことを特徴とする請求項1記載の画像形成装置。
【請求項5】
前記所定の記録媒体に保存する前記画像データに対する第三の電子署名を生成する第二の署名生成手段を有することを特徴とする請求項4記載の画像形成装置。
【請求項6】
前記第三の電子署名を生成するための署名鍵は、当該画像形成装置に格納された当該画像形成装置固有の署名鍵であることを特徴とする請求項4又は5記載の画像形成装置。
【請求項7】
前記第一の署名鍵は、ICカードに格納されたユーザ固有の署名鍵であることを特徴とする請求項1乃至6いずれか一項記載の画像形成装置。
【請求項8】
前記有効性判断手段は、有効性の判断対象とされた公開鍵証明書の発行元の認証局にネットワークを介して問い合わせることにより当該公開鍵証明書の有効性を判断することを特徴とする請求項1乃至7いずれか一項記載の画像形成装置。
【請求項9】
前記有効性判断手段は、前記有効性の判断対象とされた公開鍵証明書の認証パスを生成し、該認証パスに含まれる全ての公開鍵証明書が有効な場合に前記有効性の判断対象とされた公開鍵証明書は有効であると判断することを特徴とする請求項8記載の画像形成装置。
【請求項10】
前記有効性判断手段による判断結果を保存する有効性判断結果保存手段を有し、
前記有効性判断手段は、前記有効性判断結果保存手段に保存されている判断結果に基づいて前記第一の公開鍵証明書の有効性が確認された場合は、前記認証局への問い合わせは行わないことを特徴とする請求項8又は9記載の画像形成装置。
【請求項11】
前記有効性判断結果保存手段は、前記有効性判断手段による判断結果に対する有効期限を設けて該判断結果を保存することを特徴とする請求項10記載の画像形成装置。
【請求項12】
前記有効性判断手段は、前記有効性の判断をネットワークを介して接続する他の装置に依頼することを特徴とする請求項1乃至7いずれか一項記載の画像形成装置。
【請求項13】
紙文書より読み取った画像データに電子署名を付与する画像形成装置における電子署名生成方法であって、
第一の署名鍵に対応する第一の公開鍵証明書の有効性を判断する有効性判断手順と、
前記第一の署名鍵を用いて前記画像データに対する第一の電子署名を生成する第一の署名生成手順とを有し、
前記第一の署名生成手順は、前記有効性判断手順における判断結果が否定的なときは前記第一の電子署名を生成しないことを特徴とする電子署名生成方法。
【請求項14】
コンピュータに、紙文書より読み取られた画像データに電子署名を付与させる電子署名生成プログラムであって、
第一の署名鍵に対応する第一の公開鍵証明書の有効性を判断する有効性判断手順と、
前記第一の署名鍵を用いて前記画像データに対する第一の電子署名を生成する第一の署名生成手順とを有し、
前記第一の署名生成手順は、前記有効性判断手順における判断結果が否定的なときは前記第一の電子署名を生成しないことを特徴とする電子署名生成プログラム。
【請求項15】
請求項14記載の電子署名生成プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2007−28072(P2007−28072A)
【公開日】平成19年2月1日(2007.2.1)
【国際特許分類】
【出願番号】特願2005−205792(P2005−205792)
【出願日】平成17年7月14日(2005.7.14)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】