(57)【要約】【課題】電子メール本文の原本性を担保しつつ、信頼性の高いタイムスタンプを付加できるタイムスタンプ付加装置を提供する。【解決手段】本発明のタイムスタンプ付加装置３は、送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加部３０１と、電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成部３０２と、前記ハッシュ値を格納したタイムスタンプ要求メッセージを時刻認証事業者が運営するサーバに送信するタイムスタンプ要求部３０３と、前記サーバからの応答メッセージの内容をチェックする応答メッセージチェック部３０４と、前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加部３０５と、を備える。【選択図】図２
2008092097.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークを介して接続されたサーバとの間でデータ通信を行う通信手段と、
送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加手段と、
該電子署名付加手段が作成した電子署名データ又は送信対象の電子メールに予め付加されていた電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成手段と、
前記ハッシュ値を格納したタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを前記通信手段を使用して時刻認証事業者が運営するサーバに送信するタイムスタンプ要求手段と、
前記通信手段を使用して受信した前記サーバからの前記タイムスタンプ要求メッセージに対する応答メッセージの内容をチェックする応答メッセージチェック手段と、
前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加手段と、を備える、
ことを特徴とするタイムスタンプ付加装置。
【請求項２】
電子メール受信者の公開鍵を記憶する公開鍵ＤＢと、
前記タイムスタンプ情報が付加された電子メールを暗号化する必要がある場合に、前記公開鍵ＤＢに記憶されている公開鍵を使用して、当該電子メールの暗号化を行う暗号化手段と、をさらに備える、
ことを特徴とする請求項１に記載のタイムスタンプ付加装置。
【請求項３】
送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加工程と、
該電子署名付加工程で作成した電子署名データ又は送信対象の電子メールに予め付加されていた電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成工程と、
前記ハッシュ値を格納したタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを時刻認証事業者が運営するサーバに送信するタイムスタンプ要求工程と、
受信した前記サーバからの前記タイムスタンプ要求メッセージに対する応答メッセージの内容をチェックする応答メッセージチェック工程と、
前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加工程と、を備える、
ことを特徴とするタイムスタンプ付加方法。
【請求項４】
前記タイムスタンプ情報が付加された電子メールを暗号化する必要がある場合に、電子メール受信者の公開鍵を記憶する公開鍵ＤＢを利用して、当該電子メールの暗号化を行う暗号化工程と、をさらに備える、
ことを特徴とする請求項３に記載のタイムスタンプ付加方法。
【請求項５】
コンピュータを、
送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加手段、
該電子署名付加手段が作成した電子署名データ又は送信対象の電子メールに予め付加されていた電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成手段、
前記ハッシュ値を格納したタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを、所定のネットワークを介して接続されたサーバとの間でデータ通信を行う通信装置を使用して時刻認証事業者が運営するサーバに送信するタイムスタンプ要求手段、
前記通信装置を使用して受信した前記サーバからの前記タイムスタンプ要求メッセージに対する応答メッセージの内容をチェックする応答メッセージチェック手段、及び
前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名付き電子メールにタイムスタンプを付加する装置、方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、電子メールは、情報伝達手段として欠くことのできないものとなっている。かかる電子メールは、電子データであるが故、第三者により、その内容が閲覧され、あるいは「改ざん」や「なりすまし」等の不正行為が容易に行われるという危険性を有する。これに対し、暗号化や電子署名を使って、このような不正行為をブロックし、電子メールのやり取りの安全性を高めるという技術（例えば、ＰＧＰ（Pretty Good Privacy）やＳ／ＭＩＭＥ（Secure/Multipurpose Internet Mail Extensions）等）が知られている。
【０００３】
ところで、一般的に、電子メールに添付される（ヘッダ部に付加される）送信日時は、当該電子メールの送信元のマシン（パーソナルコンピュータ等）の設定日時に依存する。そのため、正確性に欠け、また、容易に変更できるので信頼性に乏しい。したがって、上記Ｓ／ＭＩＭＥ等の技術により、電子メール本文の原本性が担保できても、送信日時の信頼性が希薄なため、例えば、「いつ」送信したかが重要となる場合には、その利用価値は低減せざるを得ない。
【０００４】
これに対し、特許文献１には、電子メールの本文に信頼性のあるタイムスタンプを追加する技術が開示されている。
【０００５】
【特許文献１】特表２００５−５３１９９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に係る技術では、電子メール本文の当初の内容が、タイムスタンプを追加することにより変更されることになる。したがって、電子署名のロジックにおいては、これを「改ざん」とみなす可能性があり、特に、Ｓ／ＭＩＭＥを使った電子署名には適用できないものと考えられる。
【０００７】
また、電子メールを扱うメールソフト等のアプリケーションプログラムには、電子メール本文の内容に基づいて処理を行うものもあるが、これらと上記特許文献１に係る技術との整合を保つためには、前記アプリケーションプログラムの変更等が必要となる。したがって、上記特許文献１に係る技術の導入は容易とはいえない。
【０００８】
本発明は、上記問題を解決すべくなされたものであり、電子メール本文の原本性を担保しつつ、信頼性の高いタイムスタンプを付加できる装置、方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るタイムスタンプ付加装置は、所定のネットワークを介して接続されたサーバとの間でデータ通信を行う通信手段と、送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加手段と、該電子署名付加手段が作成した電子署名データ又は送信対象の電子メールに予め付加されていた電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成手段と、前記ハッシュ値を格納したタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを前記通信手段を使用して時刻認証事業者が運営するサーバに送信するタイムスタンプ要求手段と、前記通信手段を使用して受信した前記サーバからの前記タイムスタンプ要求メッセージに対する応答メッセージの内容をチェックする応答メッセージチェック手段と、前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加手段と、を備える、ことを特徴とする。
【００１０】
上記構成に加え、電子メール受信者の公開鍵を記憶する公開鍵ＤＢと、前記タイムスタンプ情報が付加された電子メールを暗号化する必要がある場合に、前記公開鍵ＤＢに記憶されている公開鍵を使用して、当該電子メールの暗号化を行う暗号化手段と、をさらに備える、構成にしてもよい。
【００１１】
また、本発明に係るタイムスタンプ付加方法は、送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加工程と、該電子署名付加工程で作成した電子署名データ又は送信対象の電子メールに予め付加されていた電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成工程と、前記ハッシュ値を格納したタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを時刻認証事業者が運営するサーバに送信するタイムスタンプ要求工程と、受信した前記サーバからの前記タイムスタンプ要求メッセージに対する応答メッセージの内容をチェックする応答メッセージチェック工程と、前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加工程と、を備える、ことを特徴とする。
【００１２】
上記構成に加え、前記タイムスタンプ情報が付加された電子メールを暗号化する必要がある場合に、電子メール受信者の公開鍵を記憶する公開鍵ＤＢを利用して、当該電子メールの暗号化を行う暗号化工程と、をさらに備える、構成にしてもよい。
【００１３】
また、本発明に係るコンピュータプログラムは、コンピュータを、送信対象の電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する電子署名付加手段、該電子署名付加手段が作成した電子署名データ又は送信対象の電子メールに予め付加されていた電子署名データから署名値を抽出し、所定のハッシュ関数を使用して前記署名値のハッシュ値を生成するハッシュ値生成手段、前記ハッシュ値を格納したタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを、所定のネットワークを介して接続されたサーバとの間でデータ通信を行う通信装置を使用して時刻認証事業者が運営するサーバに送信するタイムスタンプ要求手段、前記通信装置を使用して受信した前記サーバからの前記タイムスタンプ要求メッセージに対する応答メッセージの内容をチェックする応答メッセージチェック手段、及び前記応答メッセージに格納されていたタイムスタンプ情報を前記電子署名データの非署名属性領域に付加するタイムスタンプ付加手段、として機能させることを特徴とする。
【発明の効果】
【００１４】
以上の如く、本発明によれば、電子署名付き電子メールに、メール本文の原本性を担保しつつ、信頼性の高いタイムスタンプを付加できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係るタイムスタンプ付加装置の一実施形態について図面を参照して説明する。
【００１６】
図１は、本実施形態に係るタイムスタンプ付加装置の適用例を示す概念図である。図１において、ユーザＰＣ１は、企業等の組織で構築されたネットワーク（イントラネット）に接続する、電子メールソフトを備えたパーソナルコンピュータ（ＰＣ）である。
【００１７】
メールサーバ２は、ユーザＰＣ１で作成された電子メールを他のユーザのＰＣ等に送信したり、また、他のユーザのＰＣ等から送信された電子メールをユーザＰＣ１からの受信要求があるまで保管等を行うコンピュータである。タイムスタンプ付加装置３は、インターネット４に接続し、メールサーバ２とインターネット４間の電子メールの送受信の中継を行うと共に、メールサーバ２から送られてきた電子メールにタイムスタンプを付加する装置である。タイムスタンプ付加装置３の詳細については後述する。
【００１８】
本実施形態では、ユーザＰＣ１、メールサーバ２及びタイムスタンプ付加装置３は、同一のイントラネット上に存在する。尚、メールサーバ２及びタイムスタンプ付加装置３が他のネットワーク上に存在する構成でもよいし、タイムスタンプ付加装置３のみが他のネットワーク上に存在する構成でもよい。
【００１９】
ＴＳＡ５は、利用者からの要求に応じて、タイムスタンプを発行することで、該利用者が作成した電子データの時刻認証を第三者機関的に行う時刻認証事業者（タイムスタンプ局ともいう）である。ＴＳＡ５は、図示しない時刻配信業者（ＴＡ）と所定のネットワークを介して接続し、該ＴＡから標準時に基づく極めて正確な時刻の配信を受けることで、発行するタイムスタンプの信頼性を維持している。尚、本実施形態では、ＴＳＡ５は、ＰＫＩ（Public Key Infrastructure）を利用したタイムスタンプのプロトコルフォーマットに従ってタイムスタンプを発行するものとする。
【００２０】
次に、タイムスタンプ付加装置３の機能について説明する。図２（ａ）は、本実施形態に係るタイムスタンプ付加装置３の内部構成を概略的に示すブロック図である。図２（ａ）に示すように、タイムスタンプ付加装置３は、制御部３０と、通信部３１と、記憶部３２と、公開鍵ＤＢ３３と、を備える。
【００２１】
制御部３０は、マイクロコンピュータと、該マイクロコンピュータによる処理の手順を定義したプログラムを格納するＲＯＭと、ワークエリア等に使用するＲＡＭ（何れも図示せず）とを備え、タイムスタンプ付加装置３全体の制御を行う。
【００２２】
通信部３１は、外部機器とデータ通信を行うための装置であり、イントラネットを介してメールサーバ２とデータ通信を行う装置（図示せず）と、インターネット４を介して外部サーバ等と通信を行う装置（図示せず）と、を備える。
【００２３】
記憶部３２は、送信した電子メールを格納するためのハードディスク等の記憶装置である。公開鍵ＤＢ３３は、本実施形態に係るタイムスタンプ付加装置３が提供するサービスを受けるユーザ（電子メールの送信者又は受信者）の公開鍵をユーザの識別情報（例えば、メールアドレス等）と関連付けて記憶するデータベースである。
【００２４】
制御部３０は、機能的には、図２（ｂ）に示すように、メール送受信部３００と、電子署名付加部３０１と、ハッシュ値生成部３０２と、タイムスタンプ要求部３０３と、応答メッセージチェック部３０４と、タイムスタンプ付加部３０５と、暗号化部３０６と、署名延長部３０７と、を備える。
【００２５】
メール送受信部３００は、メールサーバ２から送られてきた電子メールを送信先のＰＣ等（即ち、当該電子メールのヘッダ部に記述されている受信者のメールアドレス宛）に通信部３１を通して送信し、また、相手側のＰＣ等から送られてきた電子メールをメールサーバ２に送る処理を行う。
【００２６】
電子署名付加部３０１は、ユーザＰＣ１から送られてきた電子メールが電子署名付きでない場合に、所定形式の電子署名データを作成し、当該電子メールに付加する処理を行う。この場合、電子署名付加部３０１は、先ず、当該電子メールに基づく署名値を生成する。その生成手順を説明すると、図３（ａ）に示すように、先ず、所定のハッシュ関数（例えば、ＭＤ５やＳＨＡ−１等）を用いて電子メール本文のメッセージダイジェスト（ハッシュ値）を生成する。そして、そのメッセージダイジェストを当該電子メールの送信者の公開鍵（公開鍵ＤＢ３３から取得する）により暗号化して、署名値を生成する。
【００２７】
次に、以上のようにして生成した署名値を電子署名データに格納する。該電子署名データの形式は、少なくとも非署名属性領域を設ける、例えば、長期署名標準フォーマット（ＲＦＣ３１２６）等に準拠した電子署名形式であることが好ましい。非署名属性領域（例えば、“unsignedAttrs”のように示される）とは、改ざんチェックの対象にならない領域（非署名領域）をいう。
【００２８】
ハッシュ値生成部３０２は、電子署名付加部３０１が作成した電子署名データ又はユーザＰＣ１から送られてきた電子メールに付加されている電子署名データから署名値を抽出し、図３（ｂ）に示すように、所定のハッシュ関数を用いて、当該署名値のハッシュ値を生成する。この生成したハッシュ値は後述するＴＳＡ５へのタイムスタンプ要求処理で使用される。
【００２９】
タイムスタンプ要求部３０３は、ＴＳＡ５に対してタイムスタンプ発行の要求を行う。具体的には、ハッシュ値生成部３０２が生成したハッシュ値を格納した、所定フォーマットのタイムスタンプ要求メッセージを作成し、該タイムスタンプ要求メッセージを通信部３１を通じて、ＴＳＡ５に送信する。
【００３０】
図４に示すように、ＴＳＡ５は、タイムスタンプ要求メッセージを受けると、時刻情報と、タイムスタンプ要求メッセージに含まれるハッシュ値と、を含むタイムスタンプトークン（タイムスタンプ情報）を生成する。そして、タイムスタンプトークンを格納した応答メッセージを作成して、要求元であるタイムスタンプ付加装置３に送信する。
【００３１】
より詳細には、ＴＳＡ５は、所定のハッシュ関数を使用して、タイムスタンプトークンのハッシュ値を求め、このハッシュ値をＴＳＡ５の秘密鍵で暗号化することでタイムスタンプトークンの署名値を生成し、タイムスタンプトークンと併せてこの署名値も応答メッセージに格納する。これにより、後にタイムスタンプトークンの署名値をＴＳＡ５の公開鍵で復号し、この復号した値と、所定のハッシュ関数を使用してタイムスタンプトークンから求めたハッシュ値とを比較することで、当該タイムスタンプトークンが正規のＴＳＡ５で生成されたものか否かの検証が可能となる。
【００３２】
応答メッセージチェック部３０４は、通信部３１によって受信された応答メッセージの内容をチェックし、ＴＳＡ５が発行したタイムスタンプの検証を行う。具体的には、（１）応答メッセージにタイムスタンプトークン（タイムスタンプ情報）が含まれているか否か、（２）タイムスタンプトークンが正規のＴＳＡ５で生成されたものであるか否か、（３）タイムスタンプトークンに含まれるハッシュ値が正しいものであるか否か、等のチェックを行う。
【００３３】
タイムスタンプ付加部３０５は、応答メッセージチェック部３０４の上記検証の結果、正常なタイムスタンプトークンであると判定された場合に、図５に示すように、当該タイムスタンプトークンを電子署名データの上述した非署名属性領域に格納する。
【００３４】
暗号化部３０６は、ユーザＰＣ１より暗号化要求がある場合に、公開鍵ＤＢ３３から取得した送信先ユーザの公開鍵を使用して、当該電子メールのメール本文及び電子署名データを暗号化する。
【００３５】
署名延長部３０７は、記憶部３２に格納されている送信済みの電子メールを定期的にチェックして、その検証、有効期限の自動更新（署名延長）を行う。例えば、署名延長部３０７は、記憶部３２に格納されている送信済みの電子メールを、暗号化して格納したものについては復号し、定期的にチェックする。署名延長部３０７は、電子メールを検証し、その有効期限が別途設定した期限より短い場合、その電子メールのメール本文と、タイムスタンプ（タイムスタンプトークン）を含む電子署名データとをハッシュの対象として、ＴＳＡ５にタイムスタンプ発行の要求を行う。そして、発行されたタイムスタンプをＲＦＣ３１２６で規定される方式で再付加することにより、その有効期限の自動更新を行う。署名延長された結果は、記憶部３２に格納され、後の検証を可能とする。尚、延長された結果を送信先ユーザ、送信元ユーザに通知するようにしてもよい。
【００３６】
次に、以上のように構成されたタイムスタンプ付加装置３が行うタイムスタンプ付加処理の手順を図６のフローチャートに沿って説明する。
【００３７】
タイムスタンプ付加処理は、タイムスタンプ付加装置３の通信部３１が、ユーザＰＣ１で作成された電子メールをメールサーバ２を介して受信することにより開始される。
【００３８】
先ず、電子署名付加部３０１が、当該電子メールが電子署名付きであるか否かをチェックする。その結果、電子署名付きでない場合（ステップＳ６０１でＮＯ）には、所定形式の電子署名データを作成し、当該電子メールに付加する（ステップＳ６０２）。一方、電子署名付きの場合（ステップＳ６０１でＹＥＳ）には、ステップＳ６０３に移行する。尚、電子署名付きの場合、電子署名データをチェックして改ざんの有無を検出し、改ざんが検出されたら、当該電子メールを破棄し、送信元にエラーメールを送信して、本処理を抜ける、という仕様にしてもよい。
【００３９】
ステップＳ６０３では、ハッシュ値生成部３０２により、署名値のハッシュ値が生成される（ステップＳ６０３）。
【００４０】
署名値のハッシュ値が生成されると、タイムスタンプ要求部３０３は、そのハッシュ値を格納したタイムスタンプ要求メッセージを作成する（ステップＳ６０４）。そして、該タイムスタンプ要求メッセージを通信部３１を通じて、ＴＳＡ５に送信する（ステップＳ６０５）。
【００４１】
しかる後、ＴＳＡ５からの応答メッセージが受信されると（ステップＳ６０６でＹＥＳ）、応答メッセージチェック部３０４は、当該応答メッセージをチェックし、ＴＳＡ５が発行したタイムスタンプが正常であるか否かの検証を行う。その結果、当該タイムスタンプが正常でないと判定された場合（ステップＳ６０７でＮＯ）には、ステップＳ６０５に戻り、再度、タイムスタンプ要求メッセージがＴＳＡ５に送信される。
【００４２】
ここで、タイムスタンプが正常でないと判定される例として、ＴＳＡ５からエラーメッセージが送信されてきた場合、タイムスタンプトークンの署名がＴＳＡ５の公開鍵で検証できない場合、応答メッセージにタイムスタンプトークンが含まれていない場合、タイムスタンプトークンに含まれるハッシュ値と先に送信したタイムスタンプ要求メッセージに格納したハッシュ値とが一致しない場合等が挙げられる。
【００４３】
尚、ステップＳ６０７の判断がＮＯであった場合に前処理（ステップＳ６０５）に戻るループを所定回数繰り返すと、当該電子メールを破棄し、送信元にエラーメールを送信して、本処理を終了する。
【００４４】
一方、タイムスタンプが正常であると判定されると（ステップＳ６０７でＹＥＳ）、タイムスタンプ付加部３０５は、ＴＳＡ５が発行したタイムスタンプトークンを電子署名データの非署名属性領域に格納する（ステップＳ６０８）。
【００４５】
次に、ユーザＰＣ１より暗号化要求がある場合（ステップＳ６０９でＹＥＳ）には、暗号化部３０６により、送信先ユーザの公開鍵を使用して、当該電子メールのメール本文及び電子署名データの暗号化が行われる（ステップＳ６１０）。その際、暗号化部３０６は、電子メールの保存、即ち、記憶部３２への電子メールの格納を目的とした暗号化処理も併せて行う。この場合は、タイムスタンプ付加装置３の公開鍵を使用して、当該電子メールのメール本文及び電子署名データを暗号化する。このようにしておけば、後に、保存済み電子メールを検証する際、かかる電子メールが暗号化されていても、タイムスタンプ付加装置３の秘密鍵を使用して復号することが可能となる。
【００４６】
以上のようにしてタイムスタンプトークンが付加された電子メール（図５参照）は、メール送受信部３００によって、通信部３１を通して、相手側のＰＣ等に送信される（ステップＳ６１１）。また、暗号化していない場合には、送信した電子メールと同一の電子メールが、暗号化している場合には、上記保存用に暗号化した電子メールが、記憶部３２に格納される（ステップＳ６１２）。
【００４７】
次に、送信先のＰＣ等で行われるタイムスタンプ検証処理の手順について、図７のフローチャートに沿って説明する。先ず、電子メールを受信すると、当該電子メールが署名付きであるか否かをチェックする。署名付きでない場合（ステップＳ７０１でＮＯ）には、本処理を終了する。一方、署名付きの場合（ステップＳ７０１でＹＥＳ）には、暗号化されているか否かをチェックし、暗号化されている場合（ステップＳ７０２でＹＥＳ）には、受信者の秘密鍵を使用して、メール本文及び電子署名データの復号を行う（ステップＳ７０３）。
【００４８】
次に、復号した電子署名データの非署名属性領域にタイムスタンプトークンが格納されているか否かをチェックする。タイムスタンプトークンが格納されている場合（ステップＳ７０４でＹＥＳ）には、このタイムスタンプトークンが正規のものであるか否かの検証を行う（ステップＳ７０５）。一方、タイムスタンプトークンが格納されていない場合（ステップＳ７０４でＮＯ）には、本処理を終了する。
【００４９】
ステップＳ７０５での検証は、上述したように、取得した署名値をＴＳＡ５の公開鍵で復号し、この復号した値と、所定のハッシュ関数を使用してタイムスタンプトークンから求めたハッシュ値とを比較することで行われる。その結果、正規のものである（即ち、改ざんがない）場合（ステップＳ７０６でＹＥＳ）には、タイムスタンプトークンからハッシュ値を抽出する（ステップＳ７０７）。一方、正規のものでない（即ち、改ざんされている）場合（ステップＳ７０６でＮＯ）には、本処理を終了する。
【００５０】
次に、当該電子メールの署名値を抽出し、タイムスタンプ付加装置３が使用したハッシュ関数と同一のハッシュ関数を用いて、当該署名値のハッシュ値を生成する（ステップＳ７０８）。そして、この生成したハッシュ値とタイムスタンプトークンに含まれていたハッシュ値との比較を行う（ステップＳ７０９）。ここで、両者が一致していれば、タイムスタンプが正常に検出されたものとみなされる。
【００５１】
以上のタイムスタンプ検証処理の終了後（タイムスタンプ検証処理の前でもよい）、一般的な方法により電子署名の検証が行われる（例えば、電子証明書の有効性確認やメール本文の改ざん有無の確認等）。そして、双方の検証の結果、タイムスタンプが正常に検出され、メール本文の改ざんが無いものと判定されると、当該電子メールの送信日時証明がなされたものとして、その旨の報知等をユーザに対して行う。
【００５２】
以上説明したように、本実施形態に係るタイムスタンプ付加装置は、第三者機関である時刻認証事業者が発行するタイムスタンプを電子署名データの非署名属性領域（非署名領域）に埋め込む（格納する）ことで時刻認証を行う。したがって、正確な時刻を付与できると共に、非改ざん性も確保できるので、Ｓ／ＭＩＭＥ等を使った電子署名技術に適用することが可能となる。また、電子署名データの非署名属性領域を利用するだけで済むことから、電子メール本文の内容に基づいて処理を行う既存のアプリケーションプログラムと整合が保てる。
【００５３】
尚、本発明に係るタイムスタンプ付加装置は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変更が可能である。
【００５４】
例えば、本発明で利用する時刻認証事業者には、ＴＡから時刻の配信を受けるもの以外にも、他の時刻源からＮＴＰ（Network Time Protocol）等により時刻の配信を受ける時刻認証事業者や直に原子時計の時刻を取り込む時刻認証事業者も含まれる。
【００５５】
また、メールサーバとタイムスタンプ付加装置とを別体にする必要はなく、一つのサーバとして一体化することも当然可能である。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態に係るタイムスタンプ付加装置の適用例を示す概念図である。
【図２】図１のタイムスタンプ付加装置の構成を説明するためのブロック図であり、（ａ）は、タイムスタンプ付加装置全体の概略構成を示す図であり、（ｂ）は、タイムスタンプ付加装置が備える制御部の内部構成を示す図である。
【図３】ハッシュ関数を用いた処理について説明するための概念図であり、（ａ）は、署名値の生成について説明するための図であり、（ｂ）は、タイムスタンプ要求処理で必要となるハッシュ値の生成について説明するための図である。
【図４】図１のタイムスタンプ付加装置と図１のＴＳＡとの間のデータ通信について説明するための概念図である。
【図５】タイムスタンプを付加する領域について説明するための概念図である。
【図６】図１のタイムスタンプ付加装置によるタイムスタンプ付加に係る処理手順を示すフローチャートである。
【図７】タイムスタンプ付き電子メールの受信側での検証手順を示すフローチャートである。
【符号の説明】
【００５７】
１  ユーザＰＣ
２  メールサーバ
３  タイムスタンプ付加装置
４  インターネット
５  ＴＳＡ（時刻認証事業者）
３０  制御部
３１  通信部
３２  記憶部
３３  公開鍵ＤＢ
３００  メール送受信部
３０１  電子署名付加部
３０２  ハッシュ値生成部
３０３  タイムスタンプ要求部
３０４  応答メッセージチェック部
３０５  タイムスタンプ付加部
３０６  暗号化部
３０７  署名延長部
【図１】
2008092097.tif 000003
【図２】
2008092097.tif 000004
【図３】
2008092097.tif 000005
【図４】
2008092097.tif 000006
【図５】
2008092097.tif 000007
【図６】
2008092097.tif 000008
【図７】
2008092097.tif 000009