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