(57)【特許請求の範囲】
【請求項１】
署名埋め込み手段と署名検証手段からなる電子署名装置であって、前記署名埋め込み手段は、画像データから所定の領域を選択する手段と、前記画像データ中の文字要素の全てまたは一部について文字認識する手段と、該認識結果を用いて署名情報を作成する手段と、前記所定領域の情報を前記署名情報に変更することによって前記画像に署名情報を埋め込む手段から構成され、
前記署名検証手段は、画像データ中の文字要素の全てまたは一部について文字認識する手段と、前記画像データの所定領域から、埋め込まれた署名情報を読み出す手段と、前記認識結果と前記署名情報を基に署名の正当性を検証する手段から構成されていることを特徴とする電子署名装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データに署名情報を直接埋め込む電子署名装置に関する。
【０００２】
【従来の技術】
近年のネットワーク化の進展、通信回線の高速化、記録媒体の大容量化に伴い、画像データをそのままの形で作成者から受領者に配送するという需要が増えている。電子化された画像は蓄積や配送が容易であるが、受領者もしくは第三者が作成者に無断で改変することもまた容易である。そのため、そのデータが作成者を特定することが必要とされるもの、たとえば各種届出書や契約書の場合、改変の防止や認知が可能でなければならない。
【０００３】
このような用途に関しては一般に電子署名が用いられる。これは情報そのものと、作成者のみが知りうる固有情報とから署名情報を作成するものである。受領者は作成者の公開した固有情報と受け取ったデータ及び署名情報から、それが当該作成者の作成したものであることを確認することができる。
【０００４】
また、受領者または第三者が当該データを改変した場合、適切な署名情報を作成することは不可能であるため、その正当性は確認できず、当該データの有効性は失われる。
【０００５】
【発明が解決しようとする課題】
従来の電子署名方法は、例えば特開平７−１９１６０２号公報の「電子署名方法及び装置」に見られるように、電子文書に対する署名文を電子文書のハッシュ値と署名者の秘密情報を用いて作成する方法が広く知られているが、署名文と署名対象文書は論理的に別の情報であって一体化されていないため、その対応を管理する必要がある。
【０００６】
本発明の目的は、画像データそのもの、および作成者に固有の情報から作成した署名情報を当該画像自体に埋め込むことを可能にした電子署名装置を提供することにある。
【０００７】
また、通常署名情報は画像データそのものを用いて作成されるため、署名の埋め込みによって画像データが変化すると検証時に正当性が確認できなくなる。
【０００８】
本発明の他の目的は、画素値の変更が署名情報に影響を与えない形で署名を作成し、埋め込む電子署名装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明では、画像データに対応する電子署名を作成した場合に、作成した署名を認証及びコンテンツ利用にほとんど影響を与えない形でコンテンツ自体に埋め込むことを特徴とする。また、本発明においては、署名はあらかじめ選択した埋め込み用ビット集合以外に対して作成されるため、署名埋め込み後も署名の検証が可能である。さらに、本発明においては、署名は文字認識を行った結果の出力及び位置情報に対して行われる。署名の画像への埋め込みによる文字認識結果への影響は無視できるため、署名埋め込み後の画像に対しても署名の検証が可能である。
【００１０】
【発明の実施の形態】
以下、本発明の一実施例を図面を用いて具体的に説明する。
（実施例１）
図１は、本発明の実施例１に係る署名の埋め込み処理部の構成を示す。図において、１は処理対象画像を入力する画像入力部、２は画像から埋め込み対象のビット集合を選ぶ埋め込み箇所特定部、３は署名埋め込み時に作成者の秘密鍵を入力する鍵入力部、４は電子署名作成のための乱数を生成する乱数生成部、５は埋め込み箇所特定部で得られたビット集合以外のデータ全体と秘密鍵から署名情報を作成する署名作成部、６は画像データに署名情報を埋め込む署名情報埋め込み部、７は署名埋め込み時に埋め込み後の画像を出力する画像出力部である。
【００１１】
図２は、実施例１に係る署名の埋め込み処理のフローチャートである。署名の埋め込みは以下の手順で行われる。
【００１２】
画像入力部１から処理対象画像（多値／２値画像）を入力する（ステップ１０１）。埋め込み箇所特定部２では、埋め込みの対象となるビット集合を画像データ中から選択する（ステップ１０２）。ここでは画像中のあらかじめ決められた位置の画素(深さが２ビット以上の場合は例えば下位ビット)を用いる。
【００１３】
次いで、鍵入力部３から作成者の秘密鍵を入力する（ステップ１０３）。署名作成部５において、埋め込み箇所特定部２で選択したビット集合以外の全ビットまたは一部を入力とし、そのハッシュ値を計算し、作成者の秘密鍵と乱数発生器４の乱数を用いて署名情報を作成する（ステップ１０４）。
【００１４】
続いて、署名情報埋め込み部６において、上記埋め込み箇所特定部２で選択したビットを変更する（例えば、署名情報に書き換える）ことにより署名情報を埋め込む（ステップ１０５）。画像出力部７より、署名が埋め込まれた処理済みの画像を出力する（ステップ１０６）。
【００１５】
なお、署名情報の作成方法、署名の検証方法としては公知の方法、例えばＤＳＡ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｔｕｒｅ  Ａｌｇｏｒｉｔｈｍ）などを用いる。すなわち、メッセージＭ（ビット集合以外の全ビットまたは一部）の署名は、以下のようにして計算されたｒ、ｓである。
【００１６】
ｒ＝（ｇ＾ｋ  ｍｏｄ  ｐ）ｍｏｄ  ｑ
ｓ＝（ｋ＾｛−１｝（ＳＨＡ（Ｍ）＋ｘｒ））ｍｏｄ  ｑ
ここで、ｐ、ｑは十分に大きな素数で、ｐ−１はｑで割り切れるとする。
ｇはｈ＾｛（ｐ−１）／ｑ｝（ｍｏｄ  ｐ）で与えられる整数。ここで、ｈは１
＜ｈ＜ｐ−１を満たす整数で、ｈ＾｛（ｐ−１）／ｑ｝ｍｏｄ  ｐ＞１なるもの。
ｘは０＜ｘ＜ｑなる乱数または擬似乱数
ｋは０＜ｋ＜ｑなる乱数または擬似乱数
ｘはユーザの秘密鍵となる。ｋは署名の度に作りなおさなければならない。
ｋ＾｛−１｝はｋの乗算における逆元（ｍｏｄ  ｑ）である。ｇ＾ｋはｇのｋ乗を表す。
ＳＨＡ（Ｍ）はＭからハッシュ関数ＳＨＡによって得られた十分大きなビット数のハッシュ値、つまりメッセージダイジェスト（要約情報）である。署名ｒ、ｓをＭとともに検証者に送る。
【００１７】
図３は、実施例１に係る署名の検証処理部の構成を示す。図において、１１は処理対象画像を入力する画像入力部、１２は画像から埋め込み対象のビット集合を選ぶ埋め込み箇所特定部、１３は検証時に作成者の公開鍵を入力する鍵入力部、１４は署名の埋め込まれた画像から署名情報を取り出す署名情報抽出部、１５は画像データと作成者の公開鍵、取り出された署名情報を基に署名の正当性を確認する署名検証部、１６は検証結果を出力する結果出力部である。
【００１８】
図４は、実施例１に係る署名の検証処理のフローチャートである。署名の検証は以下の手順で行う。
【００１９】
画像入力部１１から処理対象画像（多値／２値画像）を入力する（ステップ２０１）。埋め込み箇所特定部１２では、埋め込みの対象となるビット集合を画像データ中から選択する（ステップ２０２）。ここでは画像中のあらかじめ決められた位置の画素(深さが２ビット以上の場合は下位ビット)を用いる。
【００２０】
次いで、鍵入力部１３から作成者の公開鍵を入力する（ステップ２０３）。署名情報抽出部１４において、埋め込み箇所特定部１２で得られたビット集合から署名情報を取り出す（ステップ２０４）。署名検証部１５において、埋め込み箇所特定部１２で選択したビット集合以外の全ビットからハッシュ値を計算し、上記署名データ、作成者の公開鍵を用いて当該署名の正当性を検証し（ステップ２０５）、その結果を出力する（ステップ２０６）。
【００２１】
前掲したアルゴリズムを用いた署名の検証を説明する。署名の検証を行う前に、ｐ、ｑ、ｇと署名者の公開鍵ｙが信頼できる方法で検証者に伝わる必要がある。ここで、ｙはｇ＾ｘｍｏｄ
ｐである。
【００２２】
Ｍ’、ｒ’、ｓ’をそれぞれ受信したＭ、ｒ、ｓとする。まず、検証者は０＜ｒ＜ｑ、０＜ｓ＜ｑの２条件が成立することを確認し、成立していなければリジェクトする。
成立しているとき、以下を計算する。
ｗ＝（ｓ’）＾｛−１｝ｍｏｄ  ｑ
ｕ１＝（（ＳＨＡ（Ｍ’））ｗ）ｍｏｄ  ｑ
ｕ２＝（ｒ’ｗ）ｍｏｄ  ｑ
ｖ＝（（ｇ＾（ｕ１）ｙ＾（ｕ２）ｍｏｄ  ｐ）ｍｏｄ  ｑ
ここでもしｖ＝ｒ’が成立すれば、Ｍ’、ｒ’、ｓ’は秘密鍵ｘを持つ署名者から送られたものである確率が高いと判断できる。成立しなければ、メッセージは改竄されたか、署名方法が誤っているか、不正に署名されたかのいずれかであり、無効である。
【００２３】
（実施例２）
図５は、実施例２に係る署名の埋め込み処理部の構成を示す。実施例１と相違する点は、画像中の文字要素を取り出し、文字認識処理を行う文字認識部２３を追加した点である。他の構成要素は実施例１と同様である。
【００２４】
図６は、実施例２に係る署名の埋め込み処理のフローチャートである。署名の埋め込みは以下の手順で行われる。
【００２５】
画像入力部２１から処理対象画像（多値または２値）を入力する（ステップ３０１）。埋め込み箇所特定部２２で埋め込みの対象となるビット集合を画像データ中から選択する（ステップ３０２）。ここでは画像中のあらかじめ決められた位置の画素(深さが２ビット以上の場合は下位ビット)を用いる。
【００２６】
次いで、文字認識部２３において、入力画像中の文字要素の全てまたは一部について文字認識を行い、その認識結果とそれぞれの文字の中心の位置情報を記憶する（ステップ３０３）。鍵入力部２４から作成者の秘密鍵を入力する（ステップ３０４）。
【００２７】
署名情報作成部２６は、上記した文字認識結果及び位置情報をビット列とみなしたものからハッシュ値を計算し（つまり、要約情報を計算し）、乱数発生器２５の乱数と作成者の秘密鍵を用いて署名情報を作成する（ステップ３０５）。なお、この署名情報の作成方法としては、例えば実施例１と同様の方法を用いる。
【００２８】
署名情報埋め込み部２７において、上記埋め込み箇所特定部２２で選択したビットを変更する（例えば、署名情報に書き換える）ことにより署名情報を埋め込む（ステップ３０６）。画像出力部２８から処理済みの画像を出力する（ステップ３０７）。
【００２９】
図７は、実施例２に係る署名の検証処理部の構成を示す。実施例１と異なる点は、文字認識部３３が設けられた点と、署名検証部３６への入力が、埋め込み箇所特定部の出力から文字認識部の出力に変更された点である。
【００３０】
図８は、実施例２に係る署名の検証処理のフローチャートである。署名の検証は以下の手順で行う。
【００３１】
画像入力部３１から処理対象画像（多値または２値）を入力する（ステップ４０１）。埋め込み箇所特定部３２で埋め込みの対象となるビット集合を画像データ中から選択する（ステップ４０２）。ここでは画像中のあらかじめ決められた位置の画素(深さが２ビット以上の場合は下位ビット)を用いる。
【００３２】
文字認識部３３において、入力画像中の文字要素の全てまたは一部について文字認識を行い、その認識結果とそれぞれの文字の中心の位置情報を記憶する（ステップ４０３）。鍵入力部３４から作成者の公開鍵を入力する（ステップ４０４）。
【００３３】
署名情報抽出部３５において、埋め込み箇所特定部３２で得られたビット集合より署名情報を取り出す（ステップ４０５）。署名検証部３６において、上記文字認識部の出力から計算したハッシュ値、上記署名データ、作成者の公開鍵を用いて当該署名の正当性を検証し（ステップ４０６）、検証結果を出力する（ステップ４０７）。署名の検証方法としては、例えば実施例１と同様の方法を用いる。
【００３４】
なお、上記した各実施例では、埋め込み処理部と検証処理部に分離した構成を採っているが、本発明はこれに限定されず、両者を一体にした装置として構成することもできる。
【００３５】
（実施例３）
実施例３は、本発明をソフトウェアによって実現する実施例である。図９は、実施例３の構成例を示す。ＣＤ−ＲＯＭなどの記録媒体には、本発明の電子署名処理プログラムが記録されていて、これをシステムにインストールする。スキャナから読み込まれた画像あるいはシステム内に蓄積されている画像に対して、署名を埋め込み、署名入り画像データを他の媒体に出力したり、あるいはネットワークを介して他の装置に伝送する。また、システムに取り込まれた画像データから署名を検証する。
【００３６】
【発明の効果】
以上、説明したように、本発明によれば、画像データにその内容と署名者を証明する署名情報を直接埋め込んでいるので、各種届出書や契約書など作成者の情報が重要であるデータを電子化した画像の形態で保存及び配送する場合に、任意の時点でその正当性を検証することができる。
【００３７】
また、署名情報も画像に含まれた形で取り扱われるため、署名文とデータの対を管理する必要がなく、管理コストを低減することができる。さらに、文字認識といった通常広く用いられている技術を利用するため、システムの比較的小さな変更で正当性確認機能の実装が可能である。
【図面の簡単な説明】
【図１】  本発明の実施例１に係る署名の埋め込み処理部の構成を示す。
【図２】  実施例１に係る署名の埋め込み処理のフローチャートである。
【図３】  実施例１に係る署名の検証処理部の構成を示す。
【図４】  実施例１に係る署名の検証処理のフローチャートである。
【図５】  本発明の実施例２に係る署名の埋め込み処理部の構成を示す。
【図６】  実施例２に係る署名の埋め込み処理のフローチャートである。
【図７】  実施例２に係る署名の検証処理部の構成を示す。
【図８】  実施例２に係る署名の検証処理のフローチャートである。
【図９】  実施例３の構成を示す。
【符号の説明】
１  画像入力部
２  埋め込み箇所特定部
３  鍵入力部
４  乱数生成部
５  署名作成部
６  署名情報埋め込み部
７  画像出力部
１４  署名情報抽出部
１５  署名検証部
１６  結果出力部
【図１】
0004055975.tif 000002
【図２】
0004055975.tif 000003
【図３】
0004055975.tif 000004
【図４】
0004055975.tif 000005
【図５】
0004055975.tif 000006
【図６】
0004055975.tif 000007
【図７】
0004055975.tif 000008
【図８】
0004055975.tif 000009
【図９】
0004055975.tif 000010