(57)【要約】【課題】  秘密鍵を一元管理するために署名サーバを設ける手法があるが、複合機と署名サーバ間の通信経路の途中においてハッシュ値や署名データが改竄される可能性がある。【解決手段】  画像データを入力し(S101)、画像データの特徴量を演算し(S102)、電子署名データの生成要求および特徴量を署名サーバに送信し(S103)、署名サーバから署名データを受信し(S104)、受信した署名データを検証し(S105)、検証の結果が、画像データに対して正しい署名データであることを示す場合、画像データに署名データを添付した電子署名付き画像データを生成する(S106)。【選択図】    図6
2006050504.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力し、
前記画像データの特徴量を演算し、
電子署名データの生成要求および前記特徴量を署名サーバに送信し、
前記署名サーバから署名データを受信し、
受信した前記署名データを検証し、
前記検証の結果が、前記画像データに対して正しい署名データであることを示す場合、前記画像データに前記署名データを添付した電子署名付き画像データを生成することを特徴とする画像処理方法。
【請求項２】
さらに、前記電子署名付き画像データを指定された送信先に送信することを特徴とする請求項1に記載された画像処理方法。
【請求項３】
前記署名サーバは、自らの秘密鍵で前記特徴量を暗号化したデータを前記署名データとして返信することを特徴とする請求項1または請求項2に記載された画像処理方法。
【請求項４】
前記検証は、前記署名サーバに対応する公開鍵により前記署名データを復号し、その復号結果と前記特徴量を比較して行うことを特徴とする請求項1から請求項3の何れかに記載された画像処理方法。
【請求項５】
画像データを入力する入力手段と、
前記画像データの特徴量を演算する演算手段と、
電子署名データの生成要求および前記特徴量を署名サーバに送信する送信手段と、
前記署名サーバから署名データを受信する受信手段と、
受信した前記署名データを検証する検証手段と、
前記検証の結果が、前記画像データに対して正しい署名データであることを示す場合、前記画像データに前記署名データを添付した電子署名付き画像データを生成する生成手段とを有することを特徴とする画像処理装置。
【請求項６】
画像処理装置を制御して、請求項1から請求項4の何れかに記載された画像処理を実現することを特徴とするプログラム。
【請求項７】
請求項6に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、データの正当性保証（改竄および出所証明）のための電子署名データ付き画像データを生成する画像処理に関する。
【背景技術】
【０００２】
近年、インターネットや文書の電子化が普及し、画像が電子データに変換されたり、画像が電子データとして作成されるようになった。これらの電子データは、ネットワークを通じて交換される過程や記憶媒体に保存されている過程で改竄される恐れがある。このような改竄を排除するために、電子署名技術が開発されている。
【０００３】
電子署名技術によれば、送信者Aは、送信する電子データのハッシュ値(HV)をハッシュ関数を用いて取得し、取得したHVを秘密鍵で暗号化し、HVを電子署名値として当該電子データに添付し、電子署名値を添付した当該電子データを受信者Bあてに送信する。また、認証局Cあてに電子署名値を送信すると、認証局Cは、この電子署名値、並びに、認証局Cが発行する送信者Aの証明書および公開鍵をセットにして受信者Bに送信する。
【０００４】
受信者Bは、送信者Aから受信した電子データをハッシュ関数に入れてHVを取得し、また、認証局Cから受信した電子署名値を、受信した公開鍵で復号しHVを取得する。そして、二つのHVを比較して、電子データが改竄されたか否かを判断する。
【０００５】
上記の技術においては、送信者Aの秘密鍵が他人に知られることがないように、秘密鍵の複製が不可能であることが望ましい。しかし、組織や企業が署名者の場合、署名を行う場所や人は複数存在する場合と考えられる。秘密鍵の複製が不可能であれば、その組織や企業に所属する者が同一の秘密鍵を所持することは不可能である。そのため、署名者が組織や企業の場合、署名を行う人や場所の数だけ秘密鍵を作成し、組織や企業としてそれら複数の秘密鍵を管理することが必要になる。
【０００６】
署名検証を行う場合、署名に使用された秘密鍵に対応する公開鍵を入手する必要がある。署名者が組織や企業または個人でも、複数の秘密鍵を運用している場合、上記の複数の秘密鍵の管理と同様に、受信者は、複数の公開鍵を管理し、受信した署名データに合った公開鍵を使用する必要がある。
【０００７】
この鍵管理を単純化するために、電子署名処理を行うための電子署名サーバを設け、送信者や送信手段にかかわらず、署名に利用する秘密鍵を統一する方法が存在する。
【０００８】
特開2002-281475公報には、撮像装置がクライアントに画像データが送信し、撮像装置が画像データのHVを暗号化して署名サーバに送信し、署名サーバが元のHVを復号し、電子署名処理を施してクライアントに署名データを送信する発明が開示されている。この署名サーバを介した画像データの電子署名作成方法によれば、電子署名に利用する秘密鍵を署名サーバで管理することができるため、秘密鍵を統一することが可能になる。
【０００９】
しかし、上記の電子署名作成方法は、画像データと署名データの送信元が異なるため、受信者（クライアント）は、二つの異なる送信元から受信した画像データと署名データを関連付けて管理する必要が生じる。もし、この管理に誤りがあり、後に、署名データと画像データの不整合が生じると、画像データの署名検証を正しく行うことができない。
【００１０】
さらに、上記の電子署名作成方法は、署名サーバは、暗号化された画像データのHVを復号し、署名サーバ内の秘密鍵によってHVを暗号化してクライアントに送信するが、通信路で署名データそのものが改竄された場合、クライアントは署名検証を正しく行うことができない。つまり、署名データが改竄されているにもかかわらず、画像データが改竄されていると誤った検証結果が出る。
【００１１】
特開2002-281475公報に開示された、秘密鍵を一元管理するための署名サーバを設ける手法は、上述したように、画像データと署名データが異なる送信者からクライアントへ送信されるため、それらの関連付けに手間がかかるという問題がある。
【００１２】
また、コンビニエンスストアや公共の場に存在する複合機を利用し、スキャンデータを指定の宛先に送信することができる。その際、正しいデータ（改竄されていないデータ）が送られることが重要で、そのために、デバイスまたはICカードに保持された秘密鍵を使用してスキャンデータに暗号化および電子署名を施した電子署名付き画像データを送信する手法が存在する。
【００１３】
しかし、秘密鍵の利用はデバイス内で閉じていて、外部に流出すべきものではなく、デバイスまたはICカードごとに異なる秘密鍵を保持する必要性がある。つまり、たとえ同じ系列のコンビニエンスストアかつ同じ機種の複合機であっても、店舗やデバイスが異なれば秘密鍵は異なるので、受信者はその店舗やデバイスに対応する公開鍵を入手する必要がある。また、秘密鍵を管理する者も、多くの鍵を管理する必要があり、管理コストが大きくなる。
【００１４】
【特許文献１】特開2002-281475公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は、上述の問題を個々にまたはまとめて解決するもので、画像データと署名データの関連付けの手間を削減することを目的とする。
【００１６】
また、鍵管理の負担を軽減することを他の目的とする。
【００１７】
さらに、署名データの正当性を検証することを他の目的とする。
【課題を解決するための手段】
【００１８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１９】
本発明は、画像データを入力し、画像データの特徴量を演算し、電子署名データの生成要求および特徴量を署名サーバに送信し、署名サーバから署名データを受信し、受信した署名データを検証し、検証の結果が、画像データに対して正しい署名データであることを示す場合、画像データに署名データを添付した電子署名付き画像データを生成することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、画像データと署名データの関連付けの手間を削減することができる。また、鍵管理の負担を軽減することができる。さらに、署名データの正当性を検証することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。
【００２２】
図1は実施例の複合機、署名サーバ、クライアントなどの接続関係を示す図である。
【００２３】
署名サーバ11、メールサーバ12、クライアント13、15、並びに、複合機16、17はネットワーク14を介して互いに接続されている。例えば、複合機17から送信される署名付き画像データは、メールサーバ12を介して、クライアント15に受信される。また、本実施例の署名処理においては、複合機17は画像データの特徴量を署名サーバ11に送信し、署名サーバ11は生成した署名データを複合機17に送信する。
【００２４】
図2は複合機16、17の機能構成例を示すブロック図である。
【００２５】
コントローラ21は、複合機を制御し、通信インタフェイス22を介して外部と通信する。通信インタフェイス22は、例えば、Ethernet（登録商標）などのネットワークインタフェイス、USBやIEEE1394などのシリアルバス用のインタフェイス、赤外線や無線通信用のインタフェイスである。
【００２６】
コントローラ21は、スキャナエンジン23、プリンタエンジン24、FAXボード25を制御する。
【００２７】
プリンタエンジン24は、例えば、レーザビーム方式やインクジェット方式、あるいは、その他の方式のプリンタである。FAXボード25は、画像をファクシミリ送受信する際の通信制御など、ファクシミリ機能を実現する。
【００２８】
ユーザインタフェイス26は、例えばLCDとキーボードなどから構成され、コントローラ21から受信した情報をLCDに表示するとともに、ユーザがキーボードを操作して入力した指示をコントローラ21に送る。
【００２９】
コントローラ21は、通信インタフェイス22を介してプリントジョブを受信すると、プリンタエンジン24を選択して、受信したプリントジョブを実行する。
【００３０】
また、コントローラ21は、通信インタフェイス22またはユーザインタフェイス26を介してスキャンジョブを指示されると、スキャナエンジン23を選択して、原稿台に置かれた原稿の画像を取得して、取得した画像を、通信インタフェイス22またはユーザインタフェイス26を介して指定されたクライアントなどへ送信するスキャンジョブを実行する。さらに、通信インタフェイス22を介して画像の送信ジョブを指示されると、受信した画像を指定のクライアントなどへ送信する送信ジョブを実行する。
【００３１】
なお、送信ジョブは、クライアント13、15および他の複合機から指示可能である。また、送信する画像データのフォーマットは通信インタフェイス22またはユーザインタフェイス26を介して指定可能であるが、例えば、PDF (Portable Document Format)、TIFF (Tagged-Image File Format)、JPEG (Joint Photographic Image Coding Experts Group)などのフォーマットが指定可能である。
【００３２】
また、コントローラ21は、ユーザインタフェイス26を介してコピージョブを指示されると、プリンタエンジン24およびスキャナエンジン23を選択して、原稿台に置かれた原稿の画像を複写するコピージョブを実行する。
【００３３】
また、コントローラ21は、通信インタフェイス22またはユーザインタフェイス26を介してファクシミリ送信ジョブを指示されると、通信インタフェイス22を介して受信した画像またはスキャナエンジン23によって取得した原稿画像を、FAXボード25を選択してファクシミリ送信するファクシミリ送信ジョブを実行する。さらに、FAXボード25を介してファクシミリを受信した場合は、プリンタエンジン24に受信画像を印刷させる。
【００３４】
また、コントローラ21は、スキャンジョブによって生成した画像データの特徴量の検出、通信インタフェイス22を介して署名サーバ11への特徴量の送信、および、署名データの受信や署名検証などを行うことができる。
【００３５】
図3は複合機16、17のハードウェア構成例を示すブロック図である。
【００３６】
コントローラ21は、RAM 102をワークメモリとして、ROM 105およびハードディスク(DISK) 110に格納された後述する処理のプログラムを実行し、システムバス120を介して他の構成を制御するCPU 101によって構成される。CPU 101は、複合機が処理するジョブの機能および状態を示す属性情報、出力対象のジョブデータ、受信画像などをハードディスク110に一時記憶する。また、ユーザインタフェイス26は、LCD 103およびキーボード104によって構成される。
【００３７】
図4は署名サーバ11、メールサーバ12およびクライアント13、15のハードウェア構成例を示すブロック図である。
【００３８】
CPU 201は、RAM 202をワークメモリとして、ROM 205およびハードディスク207に格納された後述する処理のプログラムを実行し、システムバス208を介して他の構成を制御する。また、CPU 101は、ユーザインタフェイス、処理状況、処理結果をモニタインタフェイス203を介してLCDなどのモニタに表示し、キーボードインタフェイス204に接続されたキーボードやマウスなどのポインティングデバイスを介してユーザの指示を受け取る。また、CPU 101は、複合機16や17に処理させるジョブの機能および状態を示す属性情報、出力対象のジョブデータなどをハードディスク207に一時記憶する。また、CPU 101は、通信インタフェイス206を介して外部の装置と通信する。
【００３９】
なお、署名サーバ11は後述する署名データの生成処理を行い、メールサーバ12はSMTP、POP、IMAPなどのプロトコルに基づき電子メールサーバとしての処理を行い、クライアント13、15は複合機16、17に対して上述したプリントジョブ、スキャンジョブ、送信ジョブを行うとともに、メールサーバ12から電子メールを受信する処理を行う。
【００４０】
図5は複合機16、17のコントローラ21が実行する処理を示すフローチャートである。
【００４１】
コントローラ21は、スキャナエンジン23によって原稿画像を読み取る、または、通信インタフェイス22を介して画像データを受信する画像入力処理を行う(S1)。
【００４２】
次に、コントローラ21は、入力した画像データの特徴量を算出し、算出した特徴量を通信インタフェイス22を介して署名サーバ11へ送信する(S2)。そして、署名サーバ11によって生成された署名データを受信し、ハードディスク110などに予め格納した、署名サーバ11が保持する秘密鍵に対応する公開鍵によって、受信した署名データを復号し、復号した署名データと画像データの特徴量を比較して、同一と判断した場合は画像データに署名データを関連付ける(S3)。なお、署名サーバ11との通信方法はとくに限定しないが、複合機16、17と署名サーバ11の通信はSSL (Security Socket Layer)などによって情報を秘匿する場合もある。
【００４３】
次に、コントローラ21は、画像データおよび署名データを電子メールとして、通信インタフェイス22を介してメールサーバ12へ送信する(S4)。メールサーバ22は、受信した電子メールを指定された宛先のクライアント13または15に送信する。
【００４４】
なお、画像データおよび署名データを、ネットワークを通して電子メール以外の方法で、クライアント13または15に送信してもかまわない。
【００４５】
図6は複合機16、17のコントローラ21が実行する処理の詳細を示すフローチャートである。
【００４６】
コントローラ21は、ユーザインタフェイス21または通信インタフェイス22を介してスキャンジョブまたは送信ジョブを指示されると、上述した画像入力処理を行い(S101)、入力した画像データの特徴量であるハッシュ値(HV)を算出し(S102)、署名データの生成リクエストとともに算出したHVを署名サーバ11に送信し(S103)、署名サーバ11から返される署名データを受信し(S104)、受信した署名データを復号してHV値を比較して署名データを検証する(S105)。
【００４７】
次に、比較した二つのデータが同一ではないと判断した場合は、署名データが改竄されたと判断して、エラーメッセージをユーザインタフェイス26に表示する、または、送信ジョブを指示したクライアントなどへ通知する(S108)。また、比較した二つのデータが同一と判断した（署名検証が正常に行われた）場合は、署名データを画像データに添付し、署名データ付き画像データを生成し(S106)、署名データ付き画像データを指定された送信先に電子メールとして送信し(S107)、その旨をユーザインタフェイス26に表示する、または、送信ジョブを指示したクライアントなどへ通知する(S108)。
【００４８】
図7は署名サーバ11が実行する電子署名データの生成処理を示すフローチャートである。
【００４９】
署名サーバ11は、署名データの生成リクエストを待ち(S201)、当該リクエストを受信すると、リクエストとともに受信したHVを、署名サーバ11内に保持する秘密鍵により暗号化して署名データを生成し(S202)、受信したHVを破棄し(S203)、受信したリクエストへの応答とともに、生成した署名データをリクエストの発行元へ送信し(S204)、その後、処理をステップS201へ戻す。
【００５０】
このように、本実施例によれば、 署名に利用する秘密鍵は署名サーバ11が管理するので、秘密鍵は署名サーバ11が保持するものだけでよく、鍵を削減して、鍵管理の手間を削減することができる。
【００５１】
ハッシュ値は複合機（デバイス）16、17で生成し、署名行為のみ署名サーバ11で行うので、スキャンデータそのものがネットワーク14上を流れることがなく、署名サーバ11において全ての署名操作を行う場合に比べてセキュアである。
【００５２】
複合機16、17は、署名データと画像データを一括してクライアント13、15などへ送信するので、クライアント13、15などは署名データと画像データの関連性を容易に認識することができ、署名データと画像データの関連性を管理する手間を削減することができる。
【００５３】
複合機16、17は、電子署名付き画像データをクライアント13、15などへ送信する前に、署名データの署名検証を行い、結果が正しい場合のみ電子署名付き画像データを送信する。従って、複合機（デバイス）16、17と署名サーバ11間の通信経路の途中におけるハッシュ値や署名データの改竄を防ぐことができる。
【００５４】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００５５】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００５６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００５７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００５８】
【図１】実施例の複合機、署名サーバ、クライアントなどの接続関係を示す図、
【図２】複合機の機能構成例を示すブロック図、
【図３】複合機のハードウェア構成例を示すブロック図、
【図４】署名サーバ、メールサーバおよびクライアントのハードウェア構成例を示すブロック図、
【図５】複合機のコントローラが実行する処理を示すフローチャート、
【図６】複合機のコントローラが実行する処理の詳細を示すフローチャート、
【図７】署名サーバが実行する電子署名データの生成処理を示すフローチャートである。
【図１】
2006050504.tif 000003
【図２】
2006050504.tif 000004
【図３】
2006050504.tif 000005
【図４】
2006050504.tif 000006
【図５】
2006050504.tif 000007
【図６】
2006050504.tif 000008
【図７】
2006050504.tif 000009
【手続補正書】
【提出日】平成17年10月12日(2005.10.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像データの特徴量を計算する計算手段と、
前記特徴量を署名サーバに送信する送信手段と、
前記署名サーバによって前記特徴量から生成された電子署名データを受信する受信手段と、
前記特徴量を使用して前記受信した署名データを検証する検証手段と、
前記検証の結果が、前記画像データに対して正しい電子署名データであることを示す場合、前記画像データに前記電子署名データを付加した電子署名付き画像データを生成する生成手段とを有することを特徴とする画像処理装置。
【請求項２】
さらに、前記電子署名付き画像データを指定された送信先に送信する送信手段を有することを特徴とする請求項1に記載された画像処理装置。
【請求項３】
前記検証手段は、前記署名サーバが保持する秘密鍵に対応する公開鍵によって前記受信した電子署名データを復号し、その復号結果と前記特徴量を比較すること前記検証を行うことを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
画像データの特徴量を計算し、
前記特徴量を署名サーバに送信し、
前記署名サーバによって前記特徴量から生成された電子署名データを受信し、
前記特徴量を使用して前記受信した署名データを検証し、
前記検証の結果が、前記画像データに対して正しい電子署名データであることを示す場合、前記画像データに前記電子署名データを付加した電子署名付き画像データを生成することを特徴とする画像処理方法。
【請求項５】
さらに、前記電子署名付き画像データを指定された送信先に送信することを特徴とする請求項4に記載された画像処理方法。
【請求項６】
前記検証は、前記署名サーバが保持する秘密鍵に対応する公開鍵によって前記受信した電子署名データを復号し、その復号結果と前記特徴量を比較することで行うことを特徴とする請求項4または請求項5に記載された画像処理方法。
【請求項７】
画像処理装置を制御して、請求項4から請求項6の何れかに記載された画像処理を実現することを特徴とするプログラム。
【請求項８】
請求項7に記載されたプログラムが記録されたことを特徴とする記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
特開2002-281475公報には、撮像装置がクライアントに画像データを送信し、撮像装置が画像データのHVを暗号化して署名サーバに送信し、署名サーバが元のHVを復号し、電子署名処理を施してクライアントに署名データを送信する発明が開示されている。この署名サーバを介した画像データの電子署名作成方法によれば、電子署名に利用する秘密鍵を署名サーバで管理することができるため、秘密鍵を統一することが可能になる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
本発明にかかる画像処理は、画像データの特徴量を計算し、前記特徴量を署名サーバに送信し、前記署名サーバによって前記特徴量から生成された電子署名データを受信し、前記特徴量を使用して前記受信した署名データを検証し、前記検証の結果が、前記画像データに対して正しい電子署名データであることを示す場合、前記画像データに前記電子署名データを付加した電子署名付き画像データを生成することを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
CPU 201は、RAM 202をワークメモリとして、ROM 205およびハードディスク207に格納された後述する処理のプログラムを実行し、システムバス208を介して他の構成を制御する。また、CPU 201は、ユーザインタフェイス、処理状況、処理結果をモニタインタフェイス203を介してLCDなどのモニタに表示し、キーボードインタフェイス204に接続されたキーボードやマウスなどのポインティングデバイスを介してユーザの指示を受け取る。また、CPU 201は、複合機16や17に処理させるジョブの機能および状態を示す属性情報、出力対象のジョブデータなどをハードディスク207に一時記憶する。また、CPU 201は、通信インタフェイス206を介して外部の装置と通信する。