(57)【要約】  安全な署名に対するシステムおよび方法が説明されている。一態様において、安全な署名が作成される。安全な署名は、電子署名の画像（「電子署名」）を、電子形態または印刷形態のどちらかで、コンテンツに強力にバインドする。ユーザからの要求の受信に対する応答では、システムおよび方法は、印刷ページと関連付けられた電子署名は、安全な署名を表しているかどうかを決定する。安全である場合、システムおよび方法は、署名されているコンテンツに対する電子署名の署名者によって、暗号化してバインドされたかどうかを判定し、ユーザに知らせる。
2009535898.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ装置であって、
プロセッサと、
前記プロセッサに接続されたメモリとを備え、前記メモリは、前記プロセッサによって実行されるコンピュータプログラム命令を備え、前記コンピュータプログラム命令は、前記プロセッサによって実行されると、
電子署名を受信すること、および
前記電子署名を、印刷ページのコンテンツに安全にバインドする安全な署名を作成することであって、前記バインドすることは、暗号を基礎とした照合動作が、前記電子署名の著者が、前記印刷ページのコンテンツにバインドされることに対する積極的意思を表したことを、プログラムで照合できること
を備えた動作を実行することを特徴とするコンピュータ装置。
【請求項２】
前記安全な署名は、前記印刷ページの閲覧者から視覚的に隠れた方法で、前記電子署名に組み込まれていることを特徴とする請求項１に記載のコンピュータ装置。
【請求項３】
前記安全な署名を作成する前記コンピュータプログラム命令は、
文書および前記電子署名のコンテンツから、衝突耐性ハッシュ値を計算することであって、前記文書は、前記コンピュータ装置と関連付けされたメモリにあり、前記印刷ページは、前記文書の印刷版を表していること、
前記衝突耐性ハッシュ値を、暗号化して署名して、安全なデジタル署名を作成すること、および
前記安全なデジタル署名を、前記電子署名と関連付けられたビットに埋め込むこと
に対する命令をさらに備えたことを特徴とする請求項１に記載のコンピュータ装置。
【請求項４】
前記衝突耐性ハッシュ値を暗号化して署名することは、公開鍵暗号アプリケーションを使用して、前記著者の秘密鍵を使用した前記衝突耐性ハッシュ値を暗号化して署名することをさらに備え、
前記秘密鍵は、前記公開鍵暗号アプリケーションを使用したデジタル的な署名コンテンツに対する前記著者の秘密／公開鍵ペアの１つであることを特徴とする請求項３に記載のコンピュータ装置。
【請求項５】
前記安全なデジタル署名を埋め込むことは、前記安全なデジタル署名を、最下位ビットアルゴリズムを使用して、前記電子署名に挿入することをさらに備えたことを特徴とする請求項３に記載のコンピュータ装置。
【請求項６】
前記コンピュータプログラム命令は、
ユーザからの要求を受信して、前記印刷ページと関連付けられた電子署名が、前記印刷ページのコンテンツの実行に対する前記電子署名の署名者の積極的意思を実際に表していることを照合することであって、前記要求は、前記コンテンツの電子版および前記署名者の公開鍵を識別すること、
前記電子署名が、安全なデジタル署名を備えているかどうかを決定することであって、
前記電子署名が、前記安全なデジタル署名を備えてない場合、前記ユーザに、前記電子署名は、前記コンテンツの実行に対する前記署名者の積極的意思を表していることを照合できないことを知らせること、および
前記電子署名が、前記デジタル署名照合を備えている場合、前記電子署名は、前記コンテンツの実行に対する署名者の積極的意思を表しているかどうかを、公開鍵を使用して照合すること
に対する命令をさらに備えたことを特徴とする請求項１に記載のコンピュータ装置。
【請求項７】
前記安全なデジタル署名は、公開鍵暗号アプリケーションおよび前記署名者の秘密鍵を使用して作成された、公開鍵デジタル署名であることを特徴とする請求項６に記載のコンピュータ装置。
【請求項８】
照合に対する前記コンピュータプログラム命令は、
公開鍵を有する前記安全なデジタル署名を復号して、第１のハッシュ値を識別すること、
前記安全なデジタル署名から独立した前記コンテンツおよび前記電子署名から、第２のハッシュ値を計算することであって、
前記第１のハッシュ値が、前記第２のハッシュ値に適合する場合、前記ユーザに、前記電子署名は、前記コンテンツにバインドされていることを知らせること、および
前記第１のハッシュ値が、前記第２のハッシュ値に適合しない場合、前記ユーザに、前記電子署名は、前記コンテンツにバインドされていないことを知らせること
に対する命令をさらに備えたことを特徴とする請求項６に記載のコンピュータ装置。
【請求項９】
プロセッサによって実行可能なコンピュータプログラム命令を備えた有形のコンピュータ読み取り可能データ記憶媒体であって、前記コンピュータプログラム命令は、前記プロセッサによって実行されると、
個人の電子署名を、文書のコンテンツに暗号化して結びつけることを、
前記文書のコンテンツおよび前記電子署名をデジタル的に署名して、デジタル署名を作成し、
前記デジタル署名を、前記電子署名と関連付けされたビットに埋め込み、安全な署名を作成することにより結び付けること、および、
閲覧および認証のために、前記安全な署名を備えた前記文書を、エンドユーザに分配すること
を備えた動作を実行することを特徴とするコンピュータ読み取り可能データ記憶媒体。
【請求項１０】
前記電子署名は、印刷文書から得られたことを特徴とする請求項９に記載のコンピュータ読み取り可能データ記憶媒体。
【請求項１１】
デジタル的に署名することは、
前記コンテンツおよび前記電子署名から、衝突耐性ハッシュを作成すること、
個人の秘密鍵を使用して、前記衝突耐性ハッシュをデジタル的に署名して、前記デジタル署名を作成することであって、前記秘密鍵は、公開鍵暗号動作に使用される秘密／公開鍵ペアの鍵であることをさらに備え、
前記デジタル署名は、前記秘密／公開鍵ペアの公開鍵のみを用いて復号できることを特徴とする請求項９に記載のコンピュータ読み取り可能データ記憶媒体。
【請求項１２】
前記ビットは、前記電子署名と関連付けされた最下位ビットを備えたことを特徴とする請求項９に記載のコンピュータ読み取り可能データ記憶媒体。
【請求項１３】
コンピュータ実施方法であって、
ユーザからの要求を受信して、文書と関連付けされた電子署名は、前記文書のコンテンツに対する前記電子署名の署名者によって、暗号化してバインドされることを照合すること、
前記電子署名のビットを評価して、前記ビットが、埋め込まれたデジタル署名を表しているかどうかを判定することであって、
前記ビットが、前記埋め込まれたデジタル署名を表していない場合、前記ユーザに、前記電子署名が、前記文書のコンテンツに暗号化してバインドされていないことを知らせること、および
前記ビットが、前記埋め込まれたデジタル署名を表わしている場合、前記電子署名は、前記コンテンツの前記署名者によって暗号化してバインドされたかどうかを照合すること
を備えていることを特徴とするコンピュータ実施方法。
【請求項１４】
前記文書は、非電子文書から作成された電子文書であることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記要求は、前記文書と、前記文書の一部であり、前記文書に付属された、または前記文書と論理的に関連付けられた前記電子文書とを識別することを特徴とする請求項１３に記載の方法。
【請求項１６】
前記ビットは、最下位ビットであることを特徴とする請求項１３に記載の方法。
【請求項１７】
前記電子署名が、前記署名者によって、前記コンテンツに、暗号化してバインドされたかどうかを照合することは、公開鍵暗号手法を使用して、前記電子署名が、前記署名者によって前記コンテンツにバインドされたかどうかを判定することをさらに備えたことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記電子署名が、前記署名者によって前記コンテンツに暗号化してバインドされたかどうかを照合することは、
前記署名者の秘密／公開鍵ペアの公開鍵を用いて、前記埋め込まれたデジタル署名を復号して、第１のハッシュ値を得ること、
前記電子署名から、前記埋め込まれたデジタル署名を除去すること、
前記コンテンツおよび前記電子署名から、第２のハッシュ値を計算することであって、
前記第１のハッシュ値が、前記第２のハッシュ値に適合する場合、前記ユーザに、前記電子署名は、前記署名者によって前記コンテンツに暗号化してバインドされたことを知らせること
をさらに備えたことを特徴とする請求項１３に記載の方法。
【請求項１９】
前記第１ハッシュ値および前記第２ハッシュ値は、衝突耐性であることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記方法は、前記第１のハッシュ値が、前記第２のハッシュ値に適合しない場合、前記ユーザに、前記電子署名が、前記署名者によって前記コンテンツにバインドされなかったことを知らせることをさらに備えたことを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、安全な署名に関する。
【背景技術】
【０００２】
個人の手書きの署名を得ることは、身元、文書（例えば、記録、契約、覚書など）の実行に対する個人（署名者）の意思、および文書の内容に拘束される個人の積極的意思を、明らかにするための従来の有効な方法である。今日のデジタル時代であっても、手書きの署名は、法的な合意、銀行ならびにクレジットカードでの取引、およびあらゆる種類の契約に必要な部分である。個人が、文書を、電子的に手書き署名する（例えば、グラフィックパッド、タブレット型ＰＣなどのペンパッド装置に付属のペンを用いる）場合、手書き署名のデジタル画像（例えば、ＪＰＥＧ、ＴＩＦＦまたは他の種類の画像）が添付される、または文書と論理的に関連付けられる。手書き署名のデジタル画像は、個人の手書き署名と法的に同等の拘束力がある電子署名である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
画像処理ソフトウェアを使用することにより、個人の電子署名は、典型的には、文書からカット／コピーして、異なる文書に貼り付け／コピーするのを、不正使用の目的で行うことができる。そのような不正使用は、例えば、文書偽造、なりすましによる承認などを含む。個人情報の盗難の問題が急速に高まっていることは、電子署名の不正使用が、容易にできることを示している。
【課題を解決するための手段】
【０００４】
安全な署名に対するシステムおよび方法を説明する。一態様において、安全な署名が作成される。安全な署名は、電子署名の画像（「電子署名」）を、電子形態か印刷形態のいずれかのコンテンツに、強力にバインドする。ユーザからの要求の受信に応答して、システムおよび方法は、印刷ページと関連付けられた電子署名が、安全な署名を表しているかどうかを判定する。安全である場合、システムおよび方法は、安全な署名が、電子署名の署名者によって、署名されているコンテンツに、暗号化してバインドされたかどうかを判定し、ユーザに知らせる。
【０００５】
本発明の開示は、概念の一つの選択を紹介するために、簡略化形式で提供され、以下の詳細な説明でさらに説明される。本発明の開示は、請求された発明の対象の主要な機能、または本質的な機能を明らかにするためでも、請求された発明の対象の範囲を決定する補助として用いられるものでもない。
【発明を実施するための最良の形態】
【０００６】
図１から図３を参照して、安全な署名のシステムおよび方法を以下に説明する。システムおよび方法は、電子署名を、署名されている特定のデジタル文書の具体的なコンテンツにバインドすることまたは結び付けることによって、個人の手書き署名のデジタル画像（例えば、「電子署名」）に、安全性を付加する。以下に説明するように、このことは、電子署名画像の印刷版（この時点では、インク／トナー）を、電子文書の印刷版にバインドすることも行う。そのために、システムおよび方法は、個人の電子署名と電子的に署名された文書のコンテンツを組み合わせることによって、第１の衝突耐性ハッシュを作成する。個人／署名者の秘密鍵を使用することにより、システムおよび方法は、複数ある使用可能な公開鍵の暗号手法の一つを使用して、衝突耐性ハッシュを、電子的に署名する。このため、公開鍵の電子署名を作り出す。可逆的手法（例えば、最下位ビットマッピングなど）を使用することにより、システムおよび方法は、公開鍵デジタル署名を、電子署名と関連付けられたビットに挿入する／埋め込むことで、「安全な署名」を作成する。安全な署名は、個人の秘密／公開鍵ペアの公開鍵を使用してのみ復号できる、元の文書コンテンツと一緒に、デジタル的に署名された電子文書の指紋を備える。この安全な署名は、個人の署名を、コンテンツにバインドする。この時点で、閲覧および印刷のために、文書を、エンドユーザに分配できる。
【０００７】
個人の署名が、電子的な文書、または印刷された（非電子的な）文書のコンテンツに、真に、バインドされている／結び付けられているかどうかを照合するために、システムおよび方法は、署名が、「安全な署名」であるかどうかを最初に判定する。上記のように、安全な署名は、個人の電子署名とその個人によって実際に署名された文書のコンテンツから作成された、ハッシュ値の公開鍵デジタル署名を含む。（署名を備えている文書が、用紙／印刷文書の場合、その文書は走査されて、印刷文書を表わしている電子文書を作成する。）システムおよび方法が、署名のデジタル画像に埋め込まれた公開鍵デジタル署名を検出しない（例えば、署名が安全な署名でない）場合、システムおよび方法は、電子文書が、署名者を、文書のコンテンツに、真にバインドしていることを照合できないだろう。例示的な説明として、個人の署名は、安全な署名のデジタル画像を備えている文書を印刷すること、および「きれいな」署名を作成するために、デジタル画像の印刷版をトレースすることによって、偽造される可能性がある。このシナリオにおいて、「きれいな」署名は、署名者の署名を、文書の具体的なコンテンツに結びつける、プログラム的に検出可能で、埋め込まれた署名者の公開鍵デジタル署名を含まないだろう。
【０００８】
システムおよび方法が、署名から、公開鍵デジタル署名を取り出せる場合、その署名は、安全な署名を表している。取り出された公開鍵デジタル署名は、次に、個人／署名者の公開鍵（秘密／公開鍵ペアの）を使用して、復号される。システムおよび方法は、文書コンテンツの第２の衝突耐性ハッシュを計算する（この例において、文書コンテンツは、取り出された公開鍵デジタル署名を差し引いた、個人の手書き署名（例えば、電子署名）のデジタル画像を備える）。第１のハッシュと第２のハッシュが適合する場合、次に、システムおよび方法は、個人の署名は、文書の実行に対するその個人の意思を表すことを照合する。そうでなければ、このような関連は照合されない。
【０００９】
安全な署名に対するこれらと他の態様を、より詳細に説明する。
【００１０】
（例示的システム）
要求されていないが、安全な署名のシステムおよび方法は、パーソナルコンピュータなどのコンピュータ装置によって実行されるコンピュータ実行可能命令の、一般的な文脈で説明される。プログラムモジュールは、一般的に、特定のタスクを行う、または特定の抽象データ型を実装する、ルーティン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。システムおよび方法は、上記の文脈で説明される一方、以下に説明される作用および動作も、ハードウェアに実装できる。
【００１１】
一実施形態に従って、図１に、安全な署名の例示的なシステム１００を示す。この実装において、システム１００は、汎用コンピュータ装置、サーバ、ラップトップ型コンピュータ、モバイルコンピュータ装置、タブレット型ＰＣなどのコンピュータ装置１０２を含む。タブレット型ＰＣは、典型的には、ユーザが、キーボードまたはマウスの代わりに、スタイラスペンまたはデジタルペンを用いてコンピュータを操作できる、タッチスクリーンまたは離散化タブレットの技術を含む。一実施形態において、コンピュータ装置１０２は、鉛筆と紙を用いて像を描くのと同様に、ユーザが、スタイラスペン（ペンのような描画装置）を使用して、手書き署名を提供する／書くことができるグラフィックス・タブレットなどの入出力装置１０４に接続される。
【００１２】
コンピュータ装置１０２は、システムメモリ１０８などの、それぞれの有形のコンピュータ読み取り可能記憶媒体に接続された、１または２以上のプロセッサ１０６を含む。プロセッサ１０６は、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサなどにできる。システムメモリ１０８は、例えば、プロセッサ１０６によって実行可能な、コンピュータプログラム命令、およびそれらのコンピュータプログラム命令によって作成されるおよび／または使用されるプログラムデータに対する、揮発性のランダム・アクセス・メモリ（例えば、ＲＡＭ）および不揮発性のリード・オンリー・メモリ（例えば、ＲＯＭ、フラッシュメモリなど）を含む。そのようなコンピュータプログラム命令は、プログラムモジュール１１０として示され、プログラムデータは、プログラムデータ１１２として示される。これらの実装において、例えば、プログラムモジュール１１０は、安全な手書き署名モジュール１１４を含み、他のプログラムモジュール１１６は、ランタイム環境、公開鍵の暗号アプリケーション、デバイスドライバなどを提供するＯＳ（Operating System）を含む。
【００１３】
安全な手書き署名モジュール１１４（以下多くの場合、「安全な署名モジュール１１４」と呼ばれる）は、個人の電子署名を、文書１２０のコンテンツ（例えば、記録文書、契約文書、覚書、公式書簡などを表わしているコンテンツの１または２以上のページ）に、暗号化してバインドする安全な署名１１８を作成する。電子署名は、個人の手書き署名（「署名者」とも呼ばれる）のデジタル画像版を表わす。そのような電子署名は、「他のプログラムデータ」１２４のそれぞれの部分として示される。一実施形態において、安全な署名モジュール１１４は、カードリーダ、グラフィックパッドなどの入出力装置から、電子署名を受信する。例えば、一実施形態において、個人は、デジタルペンパッド装置（例えば、グラフィックパッド、タブレット型ＰＣなど）に付属のペン／スタイラスペンを使用して、電子署名を作成する。このシナリオにおいて、電子署名が接続される、またはそうでなければ文書１２０と論理的に関連付けられる。この時点で、電子署名は、文書１２０のコンテンツの実行に対するユーザの積極的意思（文書１２０のコンテンツによってバインドされたユーザの積極的意思）を表わす。このような電子署名を考慮して、安全な署名モジュール１１４は、ユーザの電子署名を、以下の文書１２０のコンテンツに、暗号化して結びつける／バインドする、安全な署名１１８を作り出す。
【００１４】
Ｄを、ユーザによって電子的に署名された、元の文書１２０のビットマップにする。複数ある既知の衝突耐性暗号ハッシュ機能（例えば、ＳＨＡ１など）の使用可能な１つを使用することにより、安全な署名モジュール１１４は、Ｄの衝突耐性暗号ハッシュ（「ハッシュ１２６」）であるｈ（Ｄ）を作成する。安全な署名モジュール１１４は、署名者の電子署名および文書１２０のコンテンツから、ｈ（Ｄ）を作成する。公開鍵暗号アプリケーション／基盤（例えば、ＲＳＡ，ＤＳＡ、ＥＣＤＳＡ、ＢＬＳなど）、およびユーザ／署名者の秘密鍵を使用することにより、安全な署名モジュール１１４は、ｈ（Ｄ）から、公開鍵デジタル署名１２２（Ｒ）を計算する（この時点で、署名者の請求された同一性は、公開鍵基盤を使用しているシステムによって、照合されていることに留意すべきである）。つまり、安全な署名モジュール１１４は、暗号化してｈ（Ｄ）を署名し、Ｒを作成する。安全な署名モジュール１１４は、次に、Ｒ（１２２）を、電子署名のビットに、挿入／埋め込み、または論理的に関連付けることによって、安全な署名１１８を作成する。このようにして、安全な署名１１８は、電子署名を、文書１２０のコンテンツに、暗号化して結びつける／バインドする。一実施形態において、安全な署名モジュール１１４は、安全な署名１１８の可読性および視認性を保つために、ＬＳＢ（Least Significant Bit）マップの手法を使用して、Ｒ（１２２）を、電子署名１１８の画像に、挿入する／埋め込む（または論理的に関連付ける）。一実施形態において、そのようなＬＳＢマッピング手法は、Ｒ値を暗号化する淡い階調画像（ハッシュパターン）を作り出す。これらの２次元パターンは、素人目には、ほとんど感知できないだろう。しかし、これらの２次元パターンは、プログラムで識別でき、文書コンテンツを再生および照合できる方法で、スクリーンキャプチャまたは印刷画像から取り出すことができる。
【００１５】
これらの実装において、安全な署名１１４は、Ｒが閲覧者にとって視覚的に目立たない（例えば、隠された、または見えない）ために、Ｒ（１２２）を、電子署名に埋め込むことによって、安全な署名１１８を作り出す。これらの実装において、ユーザが、文書１２０から、印刷文書１２８を作成する場合、文書１２０と関連付けられた安全な署名１１８に埋め込まれたＲは、埋め込まれたままで、印刷文書１２８のページの安全な署名のインク／トナー版に表わされる。以下の項で詳細に説明されるように、署名照合モジュール１３０は、印刷文書１２８のビットマップ（文書Ｄ’）で走査されることによって、Ｒを検出し、取り出すことができる。従って、安全な署名１１８を作成する安全な署名１１４の動作は、署名者の電子署名を、印刷ページにバインドする。
【００１６】
ユーザは、署名者の電子署名（安全な署名１１８によってカプセル化された）が、システム１００の安全な署名検証モジュール１３０とのインタフェースすることによって、署名者を、文書のコンテンツ（例えば、電子署名が偽造されていない、文書にカット・アンド・ペーストされていないなど）に、真にバインドするかどうかを照合する。ユーザは、コンピュータ装置１０２、またはネットワーク１３２の全域がコンピュータ装置１０２に接続されたリモートコンピュータ装置１３６と、インタフェースできる。（ネットワーク１３２は、事務所、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的な、ＬＡＮ（local area network）通信環境とＷＡＮ（wide area network）通信環境の任意の組み合わせを含むことができる）。一実施形態において、安全な署名検証モジュール１３０は、ＵＩ（user interface）および／またはウェブページを、ユーザに伝達する。これらのＵＩおよびウェブページは、ユーザが、電子署名と、その電子署名を備えている安全な署名１１８の、目的とされる署名者の公開鍵を備えた、文書Ｄ’を特定できるようにする。（署名を備えている文書が、用紙／印刷文書１２８である場合、ユーザは、印刷文書１２８を走査して、電子文書Ｄ’を作成する）。例示的な説明として、これらの公開鍵および文書Ｄ’は、リモートコンピュータ装置１３６から、要求１４０を経由して、表わされるまたは特定される。
【００１７】
署名の検証モジュール１３０は、文書Ｄ’の手書きの署名部分を表しているビットマップを配置する。一実施形態において、ユーザ／オペレータは、手動で、署名と関連付けられたビットを識別する（例えば、ポインティングデバイスを用いて四角形を描き、ビットマップの次元を定義するなど）。この時点では、識別された署名のビットは、安全な署名１１８、または個人の手書き署名の、符号化されていない従来の平文デジタル画像を、備えているかどうか不明である。（例えば、安全な署名１１８の印刷版をトレーシング偽造しても、せいぜい電子署名を作成することしかできない）。これらの偽造署名は、安全な署名１１８の印刷版にある、プログラムで検出可能な、埋め込まれた、実際の／本物の署名者の公開鍵デジタル署名を備えていない。安全な署名検証モジュール１３０は、電子署名と関連付けられたビットから、公開鍵デジタル署名Ｒ（１２２）を取り出そうと試みる。一実施形態において、このことは、識別部分と関連付けされたピクセル強度値の最下位ビットを読み取ることによって行われる。公開鍵のデジタル署名Ｒが存在しない場合、識別部分の電子署名は、安全な署名１１８ではなく（例えば、文書Ｄ’のコンテンツに対する電子署名の暗号の結び付きがない）、署名検証モジュール１３０は、ユーザに、文書Ｄ’のコンテンツに関する署名者の信頼性を照合できないことを知らせる。
【００１８】
デジタル署名Ｒが、識別部分の電子署名から取り出される場合、その電子署名は、安全な署名１１８である。取り出し動作は、識別された安全な署名１１８のピクセル強度値を、無にする／ゼロ設定する結果、符号化されていない電子署名になる。いったん電子署名が、取り出された場合、署名照合は、スキームとして選択されたデジタル署名プロトコルに従う。より詳細には、署名の検証モジュール１３０は、受信された公開鍵を使用して、取り出されたデジタル署名Ｒを復号して、第１の衝突耐性符号ハッシュ値ｈ（Ｄ）１２６を識別する。一実施形態において、ＲＳＡデジタル署名Ｒの場合、これには、署名者の公開鍵および点検／評価を使用して、Ｒの累乗法を伴い、その結果が、公開された証明書／署名者の鍵と適合するかどうかを確認する。署名検証モジュール１３０は、次に、コンテンツおよび電子署名を備えた文書Ｄ’の第２の衝突耐性ハッシュｈ（Ｄ’）を計算する。（このｈ（Ｄ’）が計算された時点で、文書Ｄ’は、なおも電子署名１１８を含むが、その電子署名は、もはや埋め込まれたデジタル署名Ｒを備えていないという点で、もはや安全な署名１１８ではない）。
【００１９】
署名検証論理１３０は、第１と第２のハッシュ値１２６を比較する。第１と第２のハッシュ値１２６が同じ場合、署名検証論理１３０は、ユーザに、安全な署名１１８にカプセル化された電子署名は、文書Ｄ’のコンテンツにバインドされている著者／署名者の積極的意思を表わしていることを知らせる。そうでなければ、署名検証論理１３０は、ユーザに、電子署名は、文書Ｄ’のコンテンツにバインドされている著者／署名者の積極的意思を表わしていないことを知らせる。
【００２０】
（例示的手段）
図２に、一実施形態によって、安全な署名の例示的な手段２００を示す。例示的な説明として、手段２００の動作は、図１のあるコンポーネントについて説明する。説明において、参照番号の左端の数字は、コンポーネントが、最初に導入された特定の数字を示す。一実施形態において、安全な署名モジュール１１４と安全な検証モジュール１３０のそれぞれの１つは、手段２００の動作を実装する。ブロック２０２の動作では、文書１２０の実行を示している調印者／署名者から、電子署名を受信する。ブロック２０４の動作では、電子署名を強化して、電子署名を文書１２０のコンテンツに暗号化して結びつける安全な署名１１８を作成する。一実施形態において、このことは、文書１２０のコンテンツおよび電子署名から、衝突耐性ハッシュを作成することによって行われる。この衝突耐性ハッシュは、次に、公開鍵暗号基盤を使用して、暗号化して署名され、公開鍵デジタル署名１２２を作成する。これらの実装において、ブロック２０４の動作は、公開鍵デジタル署名１２２を、電子署名１１８に挿入して、安全な署名１１８を作成する。この方法において、安全な署名１１８は、署名者の電子署名を、文書１２０の具体的なコンテンツに暗号化して結びつける／バインドする。例えば、元の文書から切り取られ、別の文書に貼り付けられた安全な署名１１８は、別の文書のコンテンツに暗号化して結び付けられない。
【００２１】
ブロック２０８の動作は、署名者の電子署名が、文書Ｄ’のコンテンツに、安全に結び付けられている／バインドされているかどうかを照合する要求を受信する。その要求は、目的とされる文書の署名者の秘密／公開暗号鍵ペアの公開鍵と同様に照合される、文書 Ｄ’を含む（そうでなければ、識別する）。ブロック２１０の動作は、受信された文書に埋め込まれた、または論理的に関連付けられた電子署名から、公開鍵デジタル署名Ｒ（１２）を取り出すことを試みる。このような公開鍵デジタル署名Ｒが、電子署名に存在する場合、その電子署名は、安全な署名１１８である。取り出し動作は、その電子署名から、任意の表示Ｒを、除去する／無にする（例えば、ゼロ設定にする）。ブロック２１２の動作は、公開鍵デジタル署名Ｒが、電子署名に含まれていたかどうかを決定する。その電子署名が、デジタル的に署名されていなかった場合、手段２００の動作は、図３のページの参照「Ａ」で継続し、ユーザは、文書Ｄ’と関連付けられた電子署名が、文書Ｄ’のコンテンツの実行に対する署名者の積極的意思を表すことを照合できないことを知らされる。そうでなければ、ブロック２１４の動作は、署名者の公開鍵を使用して、取り出された公開鍵デジタル署名Ｒ（１２２）（公開鍵は、ブロック２０２の動作と関連付けられた要求によって受信された）を復号する。これらの復号動作の結果、第１のハッシュ値ｈ（Ｄ）１２６になる。ブロック２１６の動作は、取り出された公開鍵デジタル署名を無にされた（ブロック２１０の動作を参照）、文書Ｄ’のコンテンツおよび電子署名から、第２のハッシュ値１２６（例えば、衝突耐性ハッシュ値）を計算する。この時点で、手段２００の動作は、図３のページの参照「Ｂ」で継続する。
【００２２】
図３は、一実施形態に従って、安全な署名に対する図２の例示的な手段２００の動作をさらに示す。ブロック３０２の動作は、第１および第２のハッシュ値１２６を比較する（前述の図２のブロック２１６の動作を参照）。上記に示されたように、第１のハッシュ値１２６は、文書Ｄ’（１２０）に、埋め込まれたまたは論理的に関連付けられた、安全な署名１１８と関連付けられた公開鍵デジタル署名１２２を、復号した結果であった。第２のハッシュ値１２６は、文書Ｄ’のコンテンツおよび対応する電子署名（デジタル署名が無くなった安全な書名１１８）から、衝突耐性ハッシュ機能を使用して計算された。第１のハッシュ値１２６が、第２のハッシュ値１２６と同じ場合、ブロック３０４の動作は、ブロック３０６で継続する。ブロック３０６の動作は、ユーザ（例えば、図２のブロック２０２のリクエスタ）に、文書Ｄと関連付けされた電子署名は、文書Ｄ’のコンテンツの実行に対する署名者の積極的意思を表していることを知らせる。第１のハッシュ値１２６が、第２のハッシュ値１２６と同じでない場合、ブロック３０４の動作は、ブロック３０８で継続する。ブロック３０８の動作は、ユーザに、文書Ｄ’と関連付けられた電子署名は、文書のコンテンツの実行（例えば、バインドされる）に対する署名者の積極的意思を表すことを照合できないことを知らせる。この時点で、手段２００の動作は、終了する。
【００２３】
（結論）
安全な署名は、構造的特徴および／または方法論的動作もしくは作用に特有の言語で説明されてきたが、当然のことながら、添付の請求に提示された実装は、必ずしも上述の具体的な機能または作用に限定されるものではない。例えば、安全な手書き署名モジュール１１４（図１）と関連付けられた動作が示され、署名検証モジュール／論理１３０をカプセル化する動作として説明されているが、これらのそれぞれのプログラムモジュールの動作は、お互いに独立して行うことができる。一実施形態において、例えば、安全な手書き署名モジュール１１４の動作は、モジュール１３０の動作をカプセル化しないが、代わりに、それらの動作とは完全に独立して実装される。一実施形態において、例えば、モジュール１１４の動作は、異なるコンピュータ装置に実装されたあと、モジュール１３０を動作する。従って、上記の具体的な機能および動作は、次の請求された発明の対象を実装する例示的な形態として開示される。
【図面の簡単な説明】
【００２４】
【図１】一実施形態にかかる、安全な署名の例示的なシステムを示す図である。
【図２】一実施形態にかかる、安全な署名の例示的な手段を示す図である。
【図３】一実施形態にかかる、図２の、安全な署名の例示的な手段の動作をさらに示す図である。
【図１】
2009535898.tif 000003
【図２】
2009535898.tif 000004
【図３】
2009535898.tif 000005
【国際調査報告】
2009535898.tif 000006
2009535898.tif 000007