(57)【特許請求の範囲】
【請求項１】
データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、
前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、
前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、
前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、
前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、
少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、
長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、
前記生成した長期検証情報作成用情報を所定の端末に送信する長期検証情報作成用情報送信手段と、
前記送信した長期検証情報作成用情報に前記電子データを加えて所定関数で計算した長期検証用関数値を前記所定の端末から受信する長期検証用関数値受信手段と、
前記受信した長期検証用関数値にタイムスタンプを付与することにより、前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、
前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、
を具備したことを特徴とする長期署名用サーバ。
【請求項２】
所定の端末から長期署名データを受信する長期署名データ受信手段と、
前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、
前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、
を具備し、
前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新することを特徴とする請求項１に記載の長期署名用サーバ。
【請求項３】
再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、
前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、
を具備し、
前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報を取得することを特徴とする請求項２に記載の長期署名用サーバ。
【請求項４】
データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、
前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、
前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、
前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、
前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、
少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、
前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、
前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、
所定の端末から長期署名データを受信する長期署名データ受信手段と、
前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、
再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、
前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、
前記受信した再度の長期検証用関数値にタイムスタンプを付与することにより、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、
を具備し、
前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新する、
ことを特徴とする長期署名用サーバ。
【請求項５】
通知先の登録を受け付ける通知先登録受付手段と、
前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報を生成した場合に、長期検証情報作成用情報生成通知を前記受け付けた通知先に通知する通知手段と、
を具備し、
前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報を送信することを特徴とする請求項１、請求項２、請求項３、又は請求項４に記載の長期署名用サーバ。
【請求項６】
前記データ端末と前記所定の端末は同一端末であることを特徴とする請求項１から請求項５までのうちの何れか１の請求項に記載の長期署名用サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、長期署名用サーバに関し、例えば、長期署名を行うものに関する。
【背景技術】
【０００２】
近年、車両に周囲や内部などの状況を撮影するカメラを設置し、走行中にこれによって動画を撮影するドライブレコーダが普及しつつある。
ドライブレコーダは、動画データを更新しながらメモリに記憶することにより、過去から現在に至る所定の記録時間（例えば３０秒）の動画データをメモリに記憶する。
そして、衝突事故などの所定のイベントが発生すると、イベント発生後の所定時間経過後（例えば、１０秒）に動画データの更新を停止する。
これにより、上の例では、イベント発生前の２０秒からイベント発生の１０秒後までの動画データが記憶され、当該動画データによりイベント発生時の状況を検証することができる。
ところで、このようにして記録された動画データは、撮影日時刻と非改竄性を保証することにより証拠能力を持たせることが重要である。
【０００３】
一方、電子データの非改竄性を証明するために、電子データを秘密鍵で暗号化することにより電子署名を行い、当該秘密鍵に対応する公開鍵で電子データを復号化することにより検証する電子署名が広く利用されている。
一般に電子署名には有効期限が存在するが、これを延長するものとして特許文献１に示されているように、電子署名の有効性を永続させるための電子署名フォーマット（以下、長期署名フォーマット）が規定されている。
この規定は、海外においては、ＲＦＣ５１２６やＥＴＳＩ  ＴＳ  １０１  ７３３で定義され、日本では、ＪＩＳ規格（ＪＩＳ  Ｘ  ５０９２／５０９３）で定義されている。
【０００４】
ドライブレコーダで記録した動画データは、証拠として用いられるため、長期に渡って撮影日時刻と非改竄性が保証できることが望ましく、上記長期署名を行うことが考えられる。
しかし、動画データに長期署名を行うためには、ドライブレコーダに長期署名機能を設けるか、ドライブレコーダから長期署名サーバに動画データを送信する必要があるが、ドライブレコーダに長期署名機能のような高度な機能を実装することは現実的ではなく、また、ドライブレコーダから長期署名サーバに動画データを送信する場合、動画データのデータ量が大きいため、データの送信が困難であるという問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００３−５３３９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、クライアント側の負担を軽減しつつ、クライアント側とサーバ側が協働して長期署名を行うことを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、前記目的を達成するために、請求項１に記載の発明では、データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報を所定の端末に送信する長期検証情報作成用情報送信手段と、前記送信した長期検証情報作成用情報に前記電子データを加えて所定関数で計算した長期検証用関数値を前記所定の端末から受信する長期検証用関数値受信手段と、前記受信した長期検証用関数値にタイムスタンプを付与することにより、前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、を具備したことを特徴とする長期署名用サーバを提供する。
請求項２に記載の発明では、所定の端末から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、を具備し、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新することを特徴とする請求項１に記載の長期署名用サーバを提供する。
請求項３に記載の発明では、再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、を具備し、前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報を取得することを特徴とする請求項２に記載の長期署名用サーバを提供する。
請求項４に記載の発明では、データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、所定の端末から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、前記受信した再度の長期検証用関数値にタイムスタンプを付与することにより、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、を具備し、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新する、ことを特徴とする長期署名用サーバを提供する。
請求項５に記載の発明では、通知先の登録を受け付ける通知先登録受付手段と、前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報を生成した場合に、長期検証情報作成用情報生成通知を前記受け付けた通知先に通知する通知手段と、を具備し、前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報を送信することを特徴とする請求項１、請求項２、請求項３、又は請求項４に記載の長期署名用サーバを提供する。
請求項６に記載の発明では、前記データ端末と前記所定の端末は同一端末であることを特徴とする請求項１から請求項５までのうちの何れか１の請求項に記載の長期署名用サーバを提供する。
【発明の効果】
【０００８】
本発明によれば、クライアント側が動画データのハッシュ値をサーバ側に送信してサーバ側で長期署名を行うことにより、クライアント側の負担を軽減しつつ、クライアント側とサーバ側が協働して長期署名を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態の概要を説明するための図である。
【図２】長期署名システムのネットワーク構成を説明するための図である。
【図３】長期署名データのフォーマットを説明するための図である。
【図４】ドライブレコーダのハードウェア的な構成を説明するための図である。
【図５】長期署名サーバなどのハードウェア的な構成を説明するための図である。
【図６】長期署名データを作成する手順を説明するためのフローチャートである。
【図７】ＥＳ作成処理を説明するためのフローチャートである。
【図８】ＥＳ−Ｔ作成処理を説明するためのフローチャートである。
【図９】ＥＳ−ＸＬ作成処理を説明するためのフローチャートである。
【図１０】ＥＳ−Ａ（１ｓｔ）作成処理を説明するためのフローチャートである。
【図１１】ＥＳ−Ａ（１ｓｔ）作成処理の変形例を説明するためのフローチャートである。
【図１２】ＥＳ−Ａ（２ｎｄ）を作成する手順を説明するためのフローチャートである。
【図１３】長期署名システムの変形例を説明するための図である。
【図１４】長期署名データの検証処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
（１）実施形態の概要
図１は、本実施の形態の概要を説明するための図である。
長期署名データ（ＥＳ−Ａ）は、ＸＭＬによって構成されており、図に示したように、ＥＳ、ＳＴＳ、ＥＳ−Ｔ、検証情報、ＥＳ−ＸＬ、ＡＴＳなどの各要素を用いて構成されている。
ＡＴＳには、第１世代のＡＴＳ（１ｓｔ）、第２世代のＡＴＳ（２ｎｄ）、・・・など各世代のものがあり、これらによって、ＥＳ−Ａは、第１世代のＥＳ−Ａ（１ｓｔ）、第２世代のＥＳ−Ａ（２ｎｄ）などと構成される。
【００１１】
ＡＴＳ（ｎ）（ｎは、１ｓｔ、２ｎｄ、３ｒｄ、・・・）は、ＥＳ−Ａ（ｎ）の内容を証明するアーカイブタイムスタンプである。
長期署名データの作成時はＥＳ−Ａ（１ｓｔ）が作成され、ＡＴＳ（１ｓｔ）の有効期限が切れる前にＡＴＳ（２ｎｄ）を作成してＥＳ−Ａ（２ｎｄ）に更新する、といったように、ＥＳ−Ａ（ｎ）の有効期限が切れる前にＥＳ−Ａ（ｎ＋１）に更新することにより長期署名データの有効期限を永続的に延長していくことができる。
【００１２】
長期署名データの生成で、ドライブレコーダ６で撮影した動画データを使用するのは、ＥＳとＡＴＳの生成に際して動画データのハッシュ値を用いるときである。
そこで、長期署名システム１は、ドライブレコーダ６と長期署名サーバ３に長期署名データの作成を分担させ、ドライブレコーダ６には、動画データのハッシュ値の計算を行わせ、長期署名サーバ３には、ＸＭＬの解析、長期署名フォーマットの生成、及び秘密鍵による電子署名などを行わせる。
【００１３】
具体的な長期署名データの作成手順は、次の通りである。
ドライブレコーダ６は、衝突などのイベントを検出すると、イベント発生時を含む所定の記録時間の動画データを記憶媒体に記憶する。そして、ドライブレコーダ６は、当該動画データのハッシュ値を計算して長期署名サーバ３に送信する。
長期署名サーバ３は、ドライブレコーダ６からハッシュ値を受信すると、ＥＳ−Ａ（１ｓｔ）のフォーマットを作成し、ＥＳの作成、ＳＴＳの作成、検証情報の作成を行う。
続いて長期署名サーバ３は、ＡＴＳ（１ｓｔ）を作成するためのハッシュ値対象データ作成用データ（１ｓｔ）を作成してドライブレコーダ６に送信する。
【００１４】
ドライブレコーダ６は、長期署名サーバ３からハッシュ値対象データ作成用データ（１ｓｔ）を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ３に送信する。
長期署名サーバ３は、ドライブレコーダ６からハッシュ値を受信し、これにタイムスタンプの付与を行ってＡＴＳ（１ｓｔ）を生成する。
そして、長期署名サーバ３は、ＡＴＳ（１ｓｔ）を用いてＥＳ−Ａ（１ｓｔ）を完成させてドライブレコーダ６に送信する。
【００１５】
ところで、ＥＳ−Ａ（１ｓｔ）の有効期限は、例えば、数年など所定期間に設定されており、有効期限が切れる前に、ＥＳ−Ａ（２ｎｄ）に更新する必要がある。
この場合、ドライブレコーダ６は、ＥＳ−Ａ（１ｓｔ）を長期署名サーバ３に送信し、長期署名サーバ３は、これからハッシュ値対象データ作成用データ（２ｎｄ）を作成してドライブレコーダ６に送信する。
ドライブレコーダ６は、長期署名サーバ３からハッシュ値対象データ作成用データ（２ｎｄ）を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ３に送信する。
長期署名サーバ３は、ドライブレコーダ６からハッシュ値を受信し、これにタイムスタンプの付与を行ってＡＴＳ（２ｎｄ）を生成する。
そして、長期署名サーバ３は、ＡＴＳ（２ｎｄ）を用いてＥＳ−Ａ（２ｎｄ）を完成させてドライブレコーダ６に送信する。
以降、ＥＳ−Ａ（２ｎｄ）、ＥＳ−Ａ（３ｒｄ）、・・・の更新も同様に行う。
【００１６】
イベント検出時のハッシュ値の送信は、動画データの改竄を防止するためにイベント検出直後にドライブレコーダ６から長期署名サーバ３に送信することが望ましいが、その後の処理は、情報処理端末９を用いて行うこともできる。
この場合、ドライブレコーダ６がハッシュ値を送信した後、動画データをドライブレコーダ６から情報処理端末９に移動する。
情報処理端末９は、例えば、ドライブレコーダ６のユーザのユーザ端末であってもよいし、あるいは、保険会社の会社端末であってもよい。
【００１７】
そして、この変形例では、長期署名サーバ３は、ハッシュ値対象データ作成用データ（１ｓｔ）を情報処理端末９に送信する。
情報処理端末９は、長期署名サーバ３からハッシュ値対象データ作成用データ（１ｓｔ）を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ３に送信する。
長期署名サーバ３は、情報処理端末９からハッシュ値を受信し、ＡＴＳ（１ｓｔ）を完成させてＥＳ−Ａ（１ｓｔ）の作成を完了する。
そして、長期署名サーバ３は、完成したＥＳ−Ａ（１ｓｔ）を情報処理端末９に送信する。
【００１８】
検証情報を作成するためにはＣＡ（認証局）の発行する失効情報を取得する必要があるが、これにはある程度の時間がかかり、また、ドライブレコーダ６は、イベント後にどの程度の期間動作するか不明確であるため、失効情報の取得を待つ間にドライブレコーダ６が動作しなくなる可能性もある。そのため、ドライブレコーダ６がイベント発生時にハッシュ値を送信した後は、速やかに動画データを情報処理端末９に移動し、以降の処理を情報処理端末９で行うとより確かに長期署名データを作成することができる。
【００１９】
以上のようにして、長期署名システム１は、ドライブレコーダ６が長期署名データ作成機能を有していなくても、又は、ドライブレコーダ６が動画データを長期署名サーバ３に送信しなくても、ドライブレコーダ６が撮影した動画データから長期署名データを作成することができる。
【００２０】
（２）実施形態の詳細
図２は、本実施の形態に係る長期署名システム１のネットワーク構成を説明するための図である。
長期署名システム１は、タイムスタンプサーバ２、長期署名サーバ３、ネットワーク４、基地局５、ドライブレコーダ６、情報処理端末９、ＣＡのリポジトリサーバ１０、ＣＡ−ＴＳＡのリポジトリサーバ１１などを用いて構成されている。
車両８は、例えば、乗用車や運送車両などであるが、これに限定するものではなく、例えば、船舶や航空機など、各種の移動体とすることができる。
【００２１】
ドライブレコーダ６は、車両８に搭載されており、カメラ７を備え、画像記憶装置として機能している。
カメラ７は、車両８の前方を撮影しており、ドライブレコーダ６は、これによる動画データを記憶する。
また、カメラ７を複数台設け、車両８の側方、後方、あるいは車内を撮影するように構成することもできる。
【００２２】
ドライブレコーダ６は、例えば、記録時間が３０秒間の動画データを更新しながらメモリに記憶する。
そして、ドライブレコーダ６は、事故などのイベントが発生した場合、動画データの更新を停止する。
例えば、イベント発生１０秒後に動画データの更新を停止した場合、イベント発生の２０秒前からイベント発生の１０秒後までの動画データが記録される。
【００２３】
このようにして、ドライブレコーダ６は、イベント発生時が含まれる動画データを記憶すると、当該動画データのハッシュ値を計算して長期署名サーバ３に送信する。以降、動画データのハッシュ値を動画ハッシュ値と呼ぶことにする。
なお、例えば、無線の通じないトンネル内でイベントが発生するなど、ネットワーク４に接続できない環境でイベントが発生した場合、ドライブレコーダ６は、ネットワーク４への接続を繰り返し行い、ネットワーク４への接続に成功した際に動画ハッシュ値を長期署名サーバ３に送信する。
【００２４】
また、ドライブレコーダ６は、動画ハッシュ値を長期署名サーバ３に送信した後、長期署名サーバ３からハッシュ値対象データ作成用データ（ＡＴＳを作成する前段階の情報である）を受信し、これに動画データを加えてハッシュ値を計算し、長期署名サーバ３に送信する。
なお、ＡＴＳには、ＡＴＳ（１ｓｔ）、ＡＴＳ（２ｎｄ）、・・・など各世代のものが存在し、これに対応してハッシュ値対象データ作成用データにもハッシュ値対象データ作成用データ（１ｓｔ）、ハッシュ値対象データ作成用データ（２ｎｄ）、・・・など対応する世代のものが存在する。
【００２５】
なお、本実施の形態では、長期署名サーバ３は、動画データを記録し、当該動画データのハッシュ値を長期署名サーバ３に送信するが、これはドライブレコーダ６が処理するデータを動画データに限定するものではなく、一般の画像データとすることができ、例えば、ドライブレコーダ６は静止画を記憶し、当該静止画のハッシュ値を長期署名サーバ３に送信するものであってもよい。
【００２６】
長期署名サーバ３は、ネットワーク４を介してドライブレコーダ６や、タイムスタンプサーバ２、リポジトリサーバ１０、リポジトリサーバ１１と通信することができる。
長期署名サーバ３は、ドライブレコーダ６から受信した動画ハッシュ値やハッシュ値対象データ作成用データのハッシュ値に秘密鍵を用いた電子署名を行ったり、検証情報を作成したり、タイムスタンプサーバ２によるタイムスタンプを取得して長期署名データを生成したりする。
また、検証情報を作成する際に、電子署名に用いた秘密鍵の公開鍵証明書の失効情報、及びタイムスタンプに用いた秘密鍵の公開鍵証明書の失効情報が必要となるが、長期署名サーバ３は、これらの失効情報をリポジトリサーバ１０、リポジトリサーバ１１から収集する。
【００２７】
タイムスタンプサーバ２は、ＴＳＡ（Ｔｉｍｅ  Ｓｔａｍｐ  Ａｕｔｈｏｒｉｔｙ：タイムスタンプ局）が運営しているサーバであって、電子文書などの電子データにタイムスタンプを発行して時刻証明などを行うサーバであり、本実施の形態では、長期署名サーバ３が長期署名データを作成するに際してＥＳやＥＳ−ＸＬ、ＥＳ−Ａにタイムスタンプを発行する（それぞれタイムスタンプが付与されることでＥＳ−Ｔ、ＥＳ−Ａ（１ｓｔ）、ＥＳ−Ａ（２ｎｄ）になる）。
タイムスタンプの発行は、ネットワーク４経由で送信されてきたタイムスタンプ発行対象の電子データに時刻を付与して秘密鍵で電子署名することにより行われる。
この電子署名の確認は、タイムスタンプに用いた秘密鍵に対応する公開鍵を用いて電子署名が復号化できたことを以て行うことができ、当該電子署名がタイムスタンプサーバ２によってなされたものであることを確認することができる。
【００２８】
リポジトリサーバ１０は、ＣＡ（Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ：認証局）が運営しているサーバであって、長期署名サーバ３が行った電子署名の検証に用いる公開鍵証明書（電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書）の失効情報を提供している。
第三者が長期署名サーバ３の秘密鍵の公開鍵証明書を用いて長期署名サーバ３の電子署名を検証する場合に、当該公開鍵証明書が失効情報に記載されていないことを確認することにより、当該公開鍵証明書が有効な状態で電子署名がなされたことを確認することができる。
失効情報は、例えば、２４時間ごとなど、定期・不定期に最新のものに更新される。
【００２９】
リポジトリサーバ１１は、ＴＳＡ−ＣＡ（Ｔｉｍｅ  Ｓｔａｍｐ  Ａｕｔｈｏｒｉｔｙ  Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ：タイムスタンプ認証局）が運営するサーバであって、タイムスタンプの検証に用いる公開鍵証明書（タイムスタンプに用いた秘密鍵に対応する公開鍵の公開鍵証明書）の失効情報を提供する。
第三者がタイムスタンプの公開鍵証明書を用いてタイムスタンプサーバ２の電子署名を検証する場合に、当該公開鍵証明書が失効情報に記載されていないことを確認することにより、当該公開鍵証明書が有効な状態でタイムスタンプが発行されたことを確認することができる。
失効情報は、例えば、２４時間ごとなど、定期・不定期に最新のものに更新される。
【００３０】
情報処理端末９は、例えば、ドライブレコーダ６のユーザが有するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などで構成されたユーザ端末や、保険会社などに設置された会社端末などの端末である。
ドライブレコーダ６が動画ハッシュ値を送信した後の処理は、必ずしもドライブレコーダ６が行う必要がないため、ドライブレコーダ６の動画データを情報処理端末９に移動し、後の処理は情報処理端末９で行うことができる。
また、イベントが発生した際に動画データの動画ハッシュが長期署名サーバ３に送信されているため、動画データを情報処理端末９に移動しても改竄することはできない。
【００３１】
ネットワーク４は、例えば、インターネットや携帯電話網などの通信ネットワークによって構成されており、ドライブレコーダ６や情報処理端末９と長期署名サーバ３の間の通信、及び長期署名サーバ３とタイムスタンプサーバ２、リポジトリサーバ１０、リポジトリサーバ１１の間の通信を仲介する。
基地局５は、例えば、携帯端末などを携帯電話網などに接続する基地局であって、ドライブレコーダ６と無線回線により接続し、ドライブレコーダ６とネットワーク４との通信を仲介する。
【００３２】
図３は、本実施の形態で使用する長期署名データのフォーマット（長期署名フォーマット）を説明するための図である。
本実施の形態の長期署名データは、ＸＡｄＥＳ（ＸＭＬ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ）の規定に従い、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語を用いて記述されている。
なお、このフォーマットは一例であって、長期署名データのフォーマットをＸＭＬに限定するものではない。
【００３３】
署名前ＸＡｄＥＳデータは、長期署名サーバ３が電子署名を行う対象となる署名対象データを格納したＸＭＬ要素であって、ＫｅｙＩｎｆｏ、署名対象プロパティ、ＳｉｇｎｅｄＩｎｆｏの各要素から構成されている。署名前ＸＡｄＥＳデータを長期署名サーバ３が電子署名することによりＥＳが生成される。
【００３４】
ＫｅｙＩｎｆｏには、長期署名サーバ３が電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書が設定されている。公開鍵証明書には、例えば、公開鍵、公開鍵の所有者、認証局、認証局の署名などが含まれている。
署名対象プロパティには、公開鍵証明書のハッシュ値が設定されている。
ＳｉｇｎｅｄＩｎｆｏには、動画ハッシュ値、及び署名対象プロパティのハッシュ値（以下、署名対象プロパティハッシュ値）が設定されている。
【００３５】
ＥＳは、上記の署名前ＸＡｄＥＳデータとＳｉｇｎａｔｕｒｅＶａｌｕｅを要素として構成されている。
ＳｉｇｎａｔｕｒｅＶａｌｕｅには、ＳｉｇｎｅｄＩｎｆｏを長期署名サーバ３が秘密鍵で署名した署名値が設定されている。
署名値によってＳｉｇｎｅｄＩｎｆｏが検証されると、これによって署名対象プロパティが検証され、更に署名対象プロパティによってＫｅｙＩｎｆｏが検証されるため、このように、長期署名サーバ３がＳｉｇｎｅｄＩｎｆｏに対して電子署名することにより、署名前ＸＡｄＥＳデータに対する署名が行われる。
【００３６】
ＥＳ−Ｔは、上記のＥＳと署名タイムスタンプを要素として構成されている。
署名タイムスタンプには、ＥＳに対して発行されたＳＴＳ（署名タイムスタンプ）が設定されている。ＳＴＳは、タイムスタンプサーバ２において、ＥＳのハッシュ値に現在日時刻を付与して、これをタイムスタンプサーバ２の秘密鍵で電子署名したものである。
【００３７】
ＥＳ−ＸＬ（ＥＳ−ＸＬｏｎｇ）は、上記のＥＳ−Ｔと検証情報を要素として構成されている。
検証情報は、証明書群と失効情報群を用いて構成されている。
証明書群は、長期署名サーバ３が署名に用いた秘密鍵の公開鍵証明書と、タイムスタンプサーバ２がタイムスタンプに用いた秘密鍵の公開鍵証明書の認証パス上の公開鍵証明書である。
この認証パスは、ルート認証局は自己署名証明書を発行し、そのルート認証局は子認証局に証明書を発行し、その子認証局は孫認証局に証明書を発行し、・・・、末端の認証局は、個人、証明書所有者に証明書を発行するという証明書信頼チェーンにおいて、公開鍵証明書の検証をルート認証局まで遡って確認するものである。
失効情報群は、証明書群に含まれる各公開鍵証明書の失効情報である。
【００３８】
ＥＳ−Ａ（１ｓｔ）は、上記のＥＳ−ＸＬとＡＴＳ（１ｓｔ）を要素として構成されている。
ＡＴＳ（Ａｒｃｈｉｖｅ  Ｔｉｍｅ  Ｓｔａｍｐ：アーカイブタイムスタンプ）（１ｓｔ）は、第１世代のＡＴＳであって、ＥＳ−ＸＬを検証する情報、動画ハッシュ値、長期署名サーバ３による電子署名、タイムスタンプサーバ２によるタイムスタンプなどが含まれており、ＡＴＳ（１ｓｔ）によってＥＳ−ＸＬの正当性を検証することができる。
【００３９】
ＥＳ−Ａ（２ｎｄ）は、ＥＳ−Ａ（１ｓｔ）とＡＴＳ（２ｎｄ）を要素として構成されている。
ＡＴＳ（２ｎｄ）は、第２世代のＡＴＳであって、ＥＳ−Ａ（１ｓｔ）を検証する情報、動画ハッシュ値、タイムスタンプサーバ２による電子署名、タイムスタンプサーバ２によるタイムスタンプなどが含まれており、ＡＴＳ（２ｎｄ）によってＡＴＳ（１ｓｔ）の正当性を検証することができる。
図示しないが、更に、ＥＳ−Ａ（２ｎｄ）とＡＴＳ（３ｒｄ）を要素とするＥＳ−Ａ（３ｒｄ）、ＥＳ−Ａ（３ｒｄ）とＡＴＳ（４ｔｈ）を要素とするＥＳ−Ａ（４ｔｈ）、・・・と更に世代を続けることができる。
【００４０】
以上のように構成された長期署名データの各世代は、次のようにして作成される。
まず、ＥＳ−ＸＬまで作成し、署名タイムスタンプと検証情報が有効なうちにＡＴＳ（１ｓｔ）を取得し、ＥＳ−Ａ（１ｓｔ）を構築する。
そして、ＡＴＳ（１ｓｔ）が有効性を失う前（タイムスタンプトークンの公開鍵証明書の有効期限切れや失効前、あるいは、関連する暗号アルゴリズムの危殆化前）に、ＡＴＳ（２ｎｄ）を取得して、ＥＳ−Ａ（１ｓｔ）をＥＳ−Ａ（２ｎｄ）に更新する。
以下、同様にして現在のＡＴＳが有効性を失う前に次世代のＡＴＳを取得する処理を繰り返すことにより、ＥＳ−Ａを更新していく。
このようにして、ＥＳ−ＸＬに対してＡＴＳが時系列的に付与され、最新の世代のＡＴＳが有効期限内である長期署名データが得られる。
このようにして作成された長期署名データの検証については、後ほど詳細に説明する。
【００４１】
図４は、ドライブレコーダ６のハードウェア的な構成を説明するための図である。
ドライブレコーダ６は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、時計部２４、カメラ部２５、カメラ７、通信部２６、車両情報部２７、イベント検出部２８、緊急用電源２９、不揮発メモリ３０などから構成されている。
【００４２】
ＣＰＵ２１は、所定のプログラムに従って各種情報処理やドライブレコーダ６の各部を制御する中央処理装置である。ＣＰＵ２１は、動画の撮影、動画ハッシュ値の計算、動画ハッシュ値の送信など、長期署名サーバ３が長期署名データを作成するために必要な処理を行う。
ＲＯＭ２２は、読み出し専用メモリであって、ＣＰＵ２１が実行するプログラムやパラメータなどを記憶している。
ＲＡＭ２３は、読み書きが可能なメモリであって、ＣＰＵ２１がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
【００４３】
時計部２４は、例えば、水晶発振器などを用いてクロックを出力する。ドライブレコーダ６は、時計部２４が出力するクロックに同期して動作する。
カメラ７は、光学系を用いて被写体をＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などに投影し、その画像を電気信号に変換することにより画像を撮影する。
カメラ部２５は、カメラ７と接続されており、カメラ７で撮影された動画像からＣＰＵ２１が処理可能な動画データを生成する。
【００４４】
カメラ７は、ドライブレコーダ６の筐体に組み込まれ一体型として構成してもよいし、あるいは、カメラ７とカメラ部２５を信号コードで接続し、カメラ７とドライブレコーダ６の筐体を別体として構成してもよい。
通信部２６は、アンテナを備えており、基地局５との無線通信を行う。
車両情報部２７は、ＧＰＳシステムから現在位置や現在時刻などを受信したり、車両８のシステムから車速や加速度などの走行状態に関する情報などを受信する。
【００４５】
イベント検出部２８は、動画データの更新を停止するイベントが発生したか否かを検出する。ここでは、イベントの一例として事故を想定しており、例えば、車両８が他車両と衝突したり、障害物と衝突した場合に、これらのイベントの発生を検出する。
このような機能を発揮するために、イベント検出部２８は、加速度センサを備えており、車両８の加速度が所定値以上の場合にイベントの発生が検出される。
このように、ドライブレコーダ６は、イベントの発生を検出するイベント検出手段を備えている。
【００４６】
緊急用電源２９は、車両８からドライブレコーダ６に供給される電力が途絶えた場合に、ドライブレコーダ６に電力を供給する電力源であり、電池などで構成される。
ドライブレコーダ６は、例えば、トンネル内などでネットワーク４に接続できない場合、ネットワーク４に接続できるまで接続を試みるが、その場合、車両８からの電力が供給されない場合も想定されるため、補助電源として緊急用電源２９を備えたものである。
【００４７】
不揮発メモリ３０は、読み書きが可能で電力が供給されなくても記憶内容を保持するメモリであり、例えば、フラッシュメモリなどを用いて構成されている。
不揮発メモリ３０には、プログラム格納部３１とデータ格納部３２が形成されている。
プログラム格納部３１には、ＣＰＵ２１が情報処理を行うための各種プログラムが記憶されており、データ格納部３２には、カメラ７が撮影した動画データなどを記憶する。
【００４８】
図では、プログラム格納部３１とデータ格納部３２を単一の不揮発メモリ３０に形成したが、プログラム格納部３１用のメモリとデータ格納部３２用のメモリを別に用意し、データ格納部３２用のメモリをドライブレコーダ６から着脱可能に構成することもできる。
不揮発メモリ３０を着脱可能に構成すると、ユーザが不揮発メモリ３０を情報処理端末９に装着して動画データを情報処理端末９に転送することができる。
また、ドライブレコーダ６に情報処理端末９と接続するためのインターフェースを用意し、これを用いてドライブレコーダ６から情報処理端末９に動画データを転送するように構成することもできる。
【００４９】
図５（ａ）は、長期署名サーバ３のハードウェア的な構成を説明するための図である。
長期署名サーバ３は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、通信部４４、記憶部４５などから構成されている。
【００５０】
ＣＰＵ４１は、所定のプログラムに従って各種情報処理や長期署名サーバ３の各部の制御を行う。具体的には、例えば、ドライブレコーダ６から動画ハッシュ値を受信し、タイムスタンプサーバ２やリポジトリサーバ１０、リポジトリサーバ１１と通信しながら長期署名データを作成する。
【００５１】
ＲＯＭ４２は、読み出し専用メモリであって、長期署名サーバ３が動作するための基本的なプログラムやパラメータなどを記憶している。
ＲＡＭ４３は、読み書きが可能なメモリであって、ＣＰＵ４１がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
通信部４４は、長期署名サーバ３をネットワーク４に接続する。長期署名サーバ３は、通信部４４を介してドライブレコーダ６やタイムスタンプサーバ２、リポジトリサーバ１０、リポジトリサーバ１１などと通信することができる。
【００５２】
記憶部４５は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されている。
記憶部４５には、プログラム格納部４６とデータ格納部４７が形成されている。
プログラム格納部４６には、ＣＰＵ４１に上記の機能を発揮させるプログラムなどが記憶されている。
データ格納部４７には、長期署名サーバ３が電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、公開鍵証明書を発行したＣＡの証明書、ＣＡのルート証明書など、長期署名データを作成するために必要な情報が記憶されている。
【００５３】
図５（ｂ）は、タイムスタンプサーバ２のハードウェア的な構成を説明するための図である。
タイムスタンプサーバ２は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、タイムスタンプ部５４、通信部５５、記憶部５６などから構成されている。
ＣＰＵ５１は、所定のプログラムに従って各種情報処理やタイムスタンプサーバ２の各部の制御を行う。具体的には、例えば、長期署名サーバ３からＳｉｇｎａｔｕｒｅＶａｌｕｅのハッシュ値を受信し、タイムスタンプ部５４を用いてこれにタイムスタンプを発行して長期署名サーバ３に送信する。
【００５４】
タイムスタンプ部５４は、電子文書などの電子データにタイムスタンプを発行するモジュールである。
タイムスタンプ部５４は、原子時計を備えており、正確な日時刻を計測している。
そして、タイムスタンプ部５４は、タイムスタンプ用の秘密鍵を記憶しており、例えば、電子文書に原子時計で計測した日時刻を付加してこれを秘密鍵で暗号化して電子署名を行う。
この電子署名は、当該秘密鍵に対応する公開鍵で復号化することにより、電子データの内容とタイムスタンプ部５４が付与した日時刻の正当性を確認できるため、タイムスタンプとして機能する。
【００５５】
ＲＯＭ５２は、読み出し専用メモリであって、タイムスタンプサーバ２が動作するための基本的なプログラムやパラメータなどを記憶している。
ＲＡＭ５３は、読み書きが可能なメモリであって、ＣＰＵ５１がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
通信部５５は、タイムスタンプサーバ２をネットワーク４に接続する。タイムスタンプサーバ２は、記憶部４５を介して長期署名サーバ３と通信することができる。
記憶部５６は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、ＣＰＵ５１に上記の機能を発揮させるプログラムなどが記憶されている。
【００５６】
リポジトリサーバ１０、リポジトリサーバ１１、及び情報処理端末９は、同様にＣＰＵ、ＲＯＭ、ＲＡＭ、記憶部、通信部、入出力部などから構成されている。
【００５７】
図６（ａ）は、ドライブレコーダ６と長期署名サーバ３が長期署名データを作成する手順を説明するためのフローチャートである。
なお、以下の処理は、ドライブレコーダ６のＣＰＵ２１と長期署名サーバ３のＣＰＵ４１が所定のプログラムに従って行うものである。
まず、ドライブレコーダ６と長期署名サーバ３は、協働してＥＳ作成処理を行う（ステップ１００）。
【００５８】
次に、長期署名サーバ３が、ＥＳ−Ｔ作成処理（ステップ２００）と、ＥＳ−ＸＬ作成処理を行う（ステップ３００）。
そして、ドライブレコーダ６と長期署名サーバ３が協働してＥＳ−Ａ（１ｓｔ）作成処理を行う（ステップ４００）。
このようにして長期署名データ（ＥＳ−Ａ）が作成される。
そして、図示しないが、作成されたＥＳ−Ａ（１ｓｔ）は、有効なうちに、ＡＴＳ（２ｎｄ）を付与してＥＳ−Ａ（２ｎｄ）に更新され、以下、長期署名データの有効性が失われないように世代を重ねていく。
【００５９】
図６（ｂ）は、ドライブレコーダ６が動画データのハッシュ値を長期署名サーバ３に送信した後、動画データを情報処理端末９に移動し、以後の処理を情報処理端末９で行う場合の変形例である。
この場合、ステップ１００〜ステップ３００は、図６（ａ）と同じである。
そして、長期署名サーバ３は、ＥＳ−ＸＬ作成処理の後、情報処理端末９と協働してＥＳ−Ａ（１ｓｔ）作成処理を行う。
【００６０】
長期署名データの作成手順は、大きく分けて、以上のようなフェーズから構成されているが、以下に、これら各フェーズの詳細な手順を説明する。
図７は、ステップ１００のＥＳ作成処理を説明するためのフローチャートである。
【００６１】
まず、ドライブレコーダ６は、カメラ７で被写体の動画を所定時間更新しながら撮影する。
そして、ドライブレコーダ６は、衝突などのイベントが発生すると、イベント発生時点から所定時間後まで動画データをデータ格納部３２（図４）に記憶する（ステップ１０５）。
これにより、例えば、イベント発生前２０秒からイベント発生後１０秒までの動画データが記憶される。
ドライブレコーダ６は、動画データを記憶すると、当該動画データの動画ハッシュ値を計算し、当該計算した動画ハッシュ値を長期署名サーバ３に送信する（ステップ１１０）。
【００６２】
長期署名サーバ３は、ドライブレコーダ６から動画ハッシュ値を受信すると（ステップ１１５）、後に電子署名するのに用いる秘密鍵の公開鍵証明書をデータ格納部４７（図５（ａ））から取得し、署名前ＸＡｄＥＳデータのフォーマットをＸＭＬによって作成する（ステップ１２０）。
次に、長期署名サーバ３は、署名前ＸＡｄＥＳデータにＫｅｙＩｎｆｏのエリアを作成し、これに電子署名に用いる公開鍵証明書を設定する（ステップ１２５）。
次に、長期署名サーバ３は、公開鍵証明書のハッシュ値を計算すると共に（以下、公開鍵証明書ハッシュ値）、署名前ＸＡｄＥＳデータに署名対象プロパティのエリアを作成し、ここに公開鍵証明書ハッシュ値を設定する（ステップ１３０）。
【００６３】
次に、長期署名サーバ３は、署名対象プロパティハッシュ値を計算し（ステップ１３５）、署名前ＸＡｄＥＳデータにＳｉｇｎｅｄＩｎｆｏのエリアを作成して、ここにドライブレコーダ６から受信した動画ハッシュ値と署名対象プロパティハッシュ値を設定する。
長期署名サーバ３は、このようにしてＳｉｇｎｅｄＩｎｆｏを作成すると、署名前ＸＡｄＥＳデータからＳｉｇｎｅｄＩｎｆｏエリアを抽出してデータ格納部４７（図５（ａ））に記憶した秘密鍵で電子署名し（ステップ１４０）、ＥＳを完成させる（ステップ１４５）。
このように、長期署名サーバ３は、動画データをドライブレコーダ６に保持したままＥＳを作成することができる。
【００６４】
図８は、ステップ２００のＥＳ−Ｔ作成処理を説明するためのフローチャートである。
まず、長期署名サーバ３は、ステップ１００で作成したＥＳを処理対象として入力する（ステップ２０５）。この際に、ＥＳを検証するように構成することもできる。
次に、長期署名サーバ３は、ＥＳからＳｉｇｎａｔｕｒｅＶａｌｕｅエリアを抽出し（ステップ２１０）、ＳｉｇｎａｔｕｒｅＶａｌｕｅのハッシュ値を計算する（ステップ２１５）。
【００６５】
次いで、長期署名サーバ３は、ＳｉｇｎａｔｕｒｅＶａｌｕｅのハッシュ値に対するタイムスタンプを要求するためのＴＳＱ（Ｔｉｍｅ−ｓｔａｍｐ  Ｒｅｑｕｅｓｔ）を生成し、タイムスタンプサーバ２に送信する（ステップ２２０）。
タイムスタンプサーバ２は、ＴＳＱを受信すると、現在日時刻の付与後、タイムスタンプ用の秘密鍵で署名してＴＳＴ（Ｔｉｍｅ  Ｓｔａｍｐ  Ｔｏｋｅｎ）を発行する。
そして、タイムスタンプサーバ２は、発行したＴＳＴを用いてＴＳＲ（Ｔｉｍｅ−ｓｔａｍｐ  Ｒｅｓｐｏｎｃｅ）を生成し、長期署名サーバ３に送信する（ステップ２２５）。
【００６６】
長期署名サーバ３は、タイムスタンプサーバ２からＴＳＲを受信し、ＴＳＲからＴＳＴを抽出する（ステップ２３０）。
そして、長期署名サーバ３は、ＥＳ−Ｔに署名タイムスタンプエリアを作成してＴＳＴをＳＴＳ（署名タイムスタンプ）として設定し、ＥＳ−Ｔの作成を完了する（ステップ２３５）。
【００６７】
図９は、ステップ３００のＥＳ−ＸＬ作成処理を説明するためのフローチャートである。
まず、長期署名サーバ３は、ステップ２００で作成したＥＳ−Ｔを処理対象として入力する（ステップ３０５）。
【００６８】
次に、長期署名サーバ３は、ＥＳ−Ｔから必要な証明書情報を割り出して、次のように収集する。
まず、長期署名サーバ３は、ドライブレコーダ６の公開鍵証明書を検証するための認証局による署名証明書を取得し（ステップ３１０）、更に、当該署名証明書のルート証明書を取得する（ステップ３１５）。
次いで、長期署名サーバ３は、署名タイムスタンプを証明するためのＴＳＡ証明書を取得し（ステップ３２０）、次いで、当該ＴＳＡ証明書のルート証明書を取得する（ステップ３２５）。これら取得対象の証明書群は長期署名サーバ３に記憶されている。
【００６９】
次に、長期署名サーバ３は、証明書群の各証明書から、ドライブレコーダ６の公開鍵証明書やＳＴＳの公開鍵証明書、これらを検証するための認証局の証明書などが失効リストにリストアップされていないことを確認するために必要な失効情報を割り出し、これらを次のように収集する。
【００７０】
なお、署名証明書は、例えば、正当な署名鍵所有者が鍵を紛失したなどの理由で、認証局に対して失効申請が行われているのにもかかわらず、失効手続きの事務処理や失効情報公開タイミングの関係で、失効情報にその失効状態が登録されていない可能性がある。
このような場合、失効してから失効情報に登録されるまで時間を要するので、長期署名サーバ３は、証明書群を作成した後、一定期間経過後（署名証明書を発行した認証局の運用ポリシーに基づく、例えば、２４時間、あるいは数日）に失効情報を収集する。
【００７１】
まず、長期署名サーバ３は、ＣＡのリポジトリサーバ１０にアクセスし、収集した署名証明書のＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）を要求する（ステップ３３０）。
これに対し、リポジトリサーバ１０は、長期署名サーバ３に署名証明書のＣＲＬを送信する（ステップ３３５）。
ここで、ＣＲＬは、失効した証明書を一覧したリストであって、証明書とＣＲＬを照合することにより証明書が有効であるか否かを判断するためのものである。
【００７２】
次に、長期署名サーバ３は、リポジトリサーバ１０に署名証明書のルート証明書のＡＲＬ（Ａｕｔｈｏｒｉｔｙ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）を要求する（ステップ３４０）。
これに対し、リポジトリサーバ１０は、長期署名サーバ３に署名証明書のルート証明書のＡＲＬを送信する（ステップ３４５）。
ここで、ＡＲＬは、失効した自己署名証明書などのリストである。ルートのＣＡは、証明書信頼チェーンにおいて最上位に位置するため、ルートのＣＡは、自己を自己署名証明書にて証明する。そして、ルート証明書とＡＲＬを照合することによりルート証明書が有効であるか否かを判断することができる。
【００７３】
署名証明書のＣＲＬによって署名証明書の有効性が検証でき、署名証明書のルート証明書のＡＲＬによって署名証明書のルート証明書の有効性が検証でき、署名証明書、及び署名証明書のルート証明書の検証によりドライブレコーダ６による署名の正当性を検証することができる。
【００７４】
次に、長期署名サーバ３は、ＴＳＡ−ＣＡのリポジトリサーバ１１にアクセスし、ＴＳＡ証明書のＣＲＬを要求する（ステップ３５０）。
これに対し、リポジトリサーバ１１は、長期署名サーバ３にＴＳＡ証明書のＣＲＬを送信する（ステップ３５５）。
次に、長期署名サーバ３は、リポジトリサーバ１１にＴＳＡ証明書のルート証明書のＡＲＬを要求する（ステップ３６０）。
これに対し、リポジトリサーバ１１は、長期署名サーバ３にＴＳＡ証明書のルート証明書のＡＲＬを送信する（ステップ３６５）。
【００７５】
ＴＳＡ証明書のＣＲＬによってＴＳＡ証明書の有効性が検証でき、ＴＳＡ証明書のルート証明書のＡＲＬによってＴＳＡ証明書のルート証明書の有効性が検証でき、ＴＳＡ証明書、及びＴＳＡ証明書のルート証明書の検証によりＳＴＳの正当性を検証することができる。
【００７６】
ドライブレコーダ６は、以上のようにして、証明書群と失効情報群を収集すると、これらを用いて証明書信頼チェーンの階層による認証パスを構築し、これをＥＳ−Ｔに追加して、ＥＳ−ＸＬを作成する（ステップ３７０）。
【００７７】
図１０は、ステップ４００のＥＳ−Ａ（１ｓｔ）作成処理を説明するためのフローチャートである。
まず、長期署名サーバ３は、ステップ３００で作成したＥＳ−ＸＬを処理対象として入力する（ステップ４０５）。この際に、長期署名サーバ３が、ＥＳ−ＸＬを検証するように構成することもできる。
次に、長期署名サーバ３は、長期署名データにＡＴＳエリアを作成する（ステップ４１０）。
【００７８】
長期署名サーバ３は、ＡＴＳエリアを作成し、ＥＳ−Ａ（１ｓｔ）を作成する準備が整うと、準備完了通知をドライブレコーダ６に送信する（ステップ４１５）。
ドライブレコーダ６は、当該通知を受信すると、動画データを読み込んで取得する（ステップ４２０）。
長期署名サーバ３は、ドライブレコーダ６に準備完了通知を送信すると、ＥＳ−Ａ（１ｓｔ）用のハッシュ値対象データ作成用データを作成する（ステップ４２５）。
【００７９】
具体的には、長期署名サーバ３は、ＥＳ−ＸＬから、署名対象プロパティ、ＳｉｇｎｅｄＩｎｆｏ、ＳｉｇｎａｔｕｒｅＶａｌｕｅ、ＫｅｙＩｎｆｏ、ＳＴＳ、証明書群、失効情報群を抽出して、これらを所定のフォームに従って設定することにより結合し、ハッシュ値対象データ作成用データを生成する。
なお、このハッシュ値対象データ作成用データは、ハッシュ値対象データから動画データを除いたものである。
長期署名サーバ３は、署名値対象データ作成用データを作成すると、これをドライブレコーダ６に送信する（ステップ４２５）。
【００８０】
ドライブレコーダ６は、長期署名サーバ３からハッシュ値対象データ作成用データを受信すると、これにステップ４２０で読み込んだ動画データを追加し（ステップ４３０）、ハッシュ値対象データを作成する。
次に、ドライブレコーダ６は、ハッシュ値対象データのハッシュ値を計算し、長期署名サーバ３に送信する（ステップ４３５）。
長期署名サーバ３は、ドライブレコーダ６から当該ハッシュ値を受信する（ステップ４４０）。
【００８１】
長期署名サーバ３は、ハッシュ値対象データのハッシュ値を受信すると、これにタイムスタンプを要求するためのＴＳＱを生成してタイムスタンプサーバ２に送信する（ステップ４４５）。
タイムスタンプサーバ２は、ＴＳＱを受信すると、ＴＳＱからハッシュ値対象データのハッシュ値を取り出し、これに現在日時刻を付与して秘密鍵で署名することによりＴＳＴを発行する。
そして、タイムスタンプサーバ２は、ＳＴＳを用いてＴＳＲを生成し、長期署名サーバ３に送信する（ステップ４５０）。
【００８２】
長期署名サーバ３は、タイムスタンプサーバ２からＴＳＲを受信すると（ステップ４５５）、これからＴＳＴを抽出する（ステップ４６０）。
そして、長期署名サーバ３は、抽出したＴＳＴをＡＴＳ（１ｓｔ）としてＥＳ−ＸＬに追加し、ＥＳ−Ａ（１ｓｔ）を生成してドライブレコーダ６に送信する（ステップ４６５）。
【００８３】
そして、ドライブレコーダ６は、長期署名サーバ３からＥＳ−Ａ（１ｓｔ）を受信して記憶する（ステップ４７０）。
以上のようにして、動画データをドライブレコーダ６の内部に保持したまま、長期署名サーバ３で長期署名データ（ＥＳ−Ａ（１ｓｔ））を作成することができる。
【００８４】
なお、変形例として、ドライブレコーダ６が行った処理（ステップ４２０、４３０、４３５、４７０）は、ドライブレコーダ６から動画データを取得した情報処理端末９が行ってもよい。
この場合、ステップ４１５の通知先として、予め情報処理端末９を長期署名サーバ３に登録しておき、長期署名サーバ３は、情報処理端末９に準備完了通知を送信する。
【００８５】
また、更なる変形例として、動画データを長期署名サーバ３にアップロードし、ステップ４００のＥＳ−Ａ（１ｓｔ）作成処理の全てを長期署名サーバ３で行うように構成することもできる。
図１１のフローチャートは、この場合の処理を説明するための図である。図１０と同じステップには同じステップ番号が付してある。
この場合、ドライブレコーダ６（又は情報処理端末９）は、動画データを長期署名サーバ３に送信し（ステップ４０３）、長期署名サーバ３は、これを受信して記憶する。
そして、長期署名サーバ３は、ハッシュ値対象データ作成用データを作成し（ステップ４２７）、ハッシュ値対象データ作成用データに当該動画データを追加して（ステップ４３３）、ハッシュ値を計算する（ステップ４３８）。
【００８６】
この更なる変形例では、更に、動画データと長期署名データ（ＥＳ−Ａ（１ｓｔ））を長期署名サーバ３で記憶し、長期署名サーバ３を証拠保管サーバとして利用することもできる。
そして、ＥＳ−Ａ（２ｎｄ）や更に次世代への更新を全て長期署名サーバ３で行うように構成することもできる。
このように長期署名サーバ３を証拠保管サーバとすると、ユーザは、動画データや長期署名データを保管する必要や、ＥＳ−Ａ（２ｎｄ）や更に次世代のＥＳ−Ａへの更新手続をする必要がなく、ユーザの負担を軽減することができる。
【００８７】
以上のようにして作成されたＥＳ−Ａ（１ｓｔ）は、クライアント側で保存されるが、ＡＴＳ（１ｓｔ）の有効性が失われる前に、ＥＳ−Ａ（１ｓｔ）にＡＴＳ（２ｎｄ）を付与してＥＳ−Ａ（２ｎｄ）に更新する必要がある。そこで、次にＥＳ−Ａ（２ｎｄ）に更新する手順について説明する。
【００８８】
図１２は、ＥＳ−Ａ（２ｎｄ）を作成する手順を説明するためのフローチャートである。
なお、以下でドライブレコーダ６が行う処理は、情報処理端末９によって行うこともできる。
まず、ドライブレコーダ６は、ＥＳ−Ａ（１ｓｔ）を長期署名サーバ３に送信する（ステップ５０５）。ドライブレコーダ６でＥＳ−Ａ（１ｓｔ）が入力された際に、これを検証するように構成することもできる。
長期署名サーバ３は、ドライブレコーダ６からＥＳ−Ａ（１ｓｔ）を受信する（ステップ５１０）。
そして、長期署名サーバ３は、ＥＳ−Ａ（１ｓｔ）からＡＴＳ（１ｓｔ）に必要な証明書情報を割り出して、これらを以下のように収集する。
【００８９】
まず、長期署名サーバ３は、ＡＴＳ（１ｓｔ）のＴＳＡ証明書を取得し（ステップ５１５）、更に、ＴＳＡ証明書のルート証明書を取得する（ステップ５２０）。これらの証明書は、長期署名サーバ３に記憶されている。
次に、長期署名サーバ３は、ＴＳＡ−ＣＡのリポジトリサーバ１１にアクセスし、ＡＴＳ（１ｓｔ）のＴＳＡ証明書のＣＲＬを要求し（ステップ５２５）、リポジトリサーバ１１は、長期署名サーバ３にＣＲＬを送信する（ステップ５３０）。
そして、長期署名サーバ３は、ＣＲＬを受信する。
【００９０】
次に、長期署名サーバ３は、リポジトリサーバ１１にＡＴＳ（１ｓｔ）のＴＳＡ証明書のルート証明書のＡＲＬを要求し（ステップ５３５）、リポジトリサーバ１１は、長期署名サーバ３に当該ルート証明書のＡＲＬを送信する（ステップ５４０）。
そして、長期署名サーバ３は、ＡＲＬを受信する。
【００９１】
次に、長期署名サーバ３は、これら証明書群（ＴＳＡ証明書、ＴＳＡ証明書のルート証明書）と失効情報群（ＣＲＬ、ＡＲＬ）から認証パスを構築する（ステップ５４５）。
次に、長期署名サーバ３は、収集した証明書群と失効情報群を、それぞれＡＴＳ（１ｓｔ）のｃｅｒｔｉｆｉｃａｔｅｓエリア及びｃｒｌｓエリアに追加してＡＴＳ（１ｓｔ）を更新する（ステップ５５０）。
なお、ＡＴＳ（１ｓｔ）を更新しても、改竄にならないのは、証明書や失効情報を追加したエリアがＡＴＳ（１ｓｔ）の署名対象エリアに含まれていないからである。
次に、長期署名サーバ３は、ＡＴＳ（１ｓｔ）を更新したＥＳ−Ａ（１ｓｔ）にＡＴＳ（２ｎｄ）用のエリアを作成し、ＥＳ−Ａ（２ｎｄ）を作成する準備が整った旨の準備完了通知をドライブレコーダ６に送信する（ステップ５５５）。
【００９２】
それ以降の処理は、図１０のステップ４２０以下と同じであり、動画データをドライブレコーダ６の内部に保持したまま長期署名サーバ３でＥＳ−Ａ（２ｎｄ）を作成することができる。
即ち、長期署名サーバ３は、ハッシュ値対象データ作成用データを作成してドライブレコーダ６に送信する。
【００９３】
そして、ドライブレコーダ６は、ハッシュ値対象データ作成用データに動画データを加えてハッシュ値を長期署名サーバ３に送信する。
長期署名サーバ３は、当該ハッシュ値をタイムスタンプサーバ２に送信してタイムスタンプを発行してもらい、これをＥＳ−Ａ（１ｓｔ）に追加してＥＳ−Ａ（２ｎｄ）を作成する。
ＥＳ−Ａ（３ｒｄ）、ＥＳ−Ａ（４ｔｈ）など後の世代も同様にして作成される。
【００９４】
図１３は、長期署名システム１の変形例を説明するための図である。
先に説明した本実施の形態では、ドライブレコーダ６の動画データに対して長期署名を行ったが、本変形例では、クライアント側に設置された情報処理端末９の原本データに対して長期署名を発行する。
情報処理端末９は、クライアント側に設置されている。クライアントは、例えば、企業や個人ユーザなどである。
このように、本変形例では、企業や個人が仕事などで作成した原本データ（電子文書など）を外部に出すことなく、これに対して長期署名データを作成することができる。
【００９５】
情報処理端末９には、長期署名の対象となる原本データが記憶されている。原本データは、例えば、電子文書や動画、静止画、音声などの電子データで構成されている。
長期署名サーバ３には、クライアントの秘密鍵と当該秘密鍵に対応する公開鍵の公開鍵証明書などが記憶されている。
クライアントが複数ある場合、長期署名サーバ３は、クライアントに対応づけて秘密鍵と公開鍵証明書を記憶し、これらをクライアントごとに管理する。
【００９６】
以上のように構成された長期署名システム１において、情報処理端末９は、原本データのハッシュ値を計算して長期署名サーバ３に送信する。
すると、長期署名サーバ３は、先に説明した実施の形態の動画データと同様にして長期署名データを生成する。
本変形例によれば、ユーザの秘密鍵や公開鍵証明書は証明センタで管理するため、例えＩＴ技術に疎遠なユーザでも長期署名サービスを安心して受けることができる。
【００９７】
以上に説明した実施の形態や変形例により、次のような効果を得ることができる。
（１）ドライブレコーダ６は、イベントが発生した場合に、動画ハッシュ値を長期署名サーバ３に送信すればよいため、少ない通信負荷で動画データに長期署名することができる。
（２）ドライブレコーダ６は、イベントが発生した場合に、動画ハッシュ値を計算して長期署名サーバ３に送信してしまうため、以降の動画データの改竄を防止することができる。
（３）長期署名に用いる秘密鍵は長期署名サーバ３が管理するため、ドライブレコーダ６で秘密鍵を管理する必要がない。
（４）ドライブレコーダ６から情報処理端末９に動画データを移動した後に、情報処理端末９で引き続き処理を続行することができるため、ドライブレコーダ６が廃棄されるなど、使用不可となった場合でも長期署名データの作成・維持のための処理を行うことができる。
（５）動画データを用いる処理だけドライブレコーダ６（又は情報処理端末９）で行い、ＸＭＬの解析、電子署名、タイムスタンプ、検証情報の取得など、コンピュータの負荷が高い処理は長期署名サーバ３で行うため、ドライブレコーダ６（又は情報処理端末９）の負荷を小さくすることができる。
（６）動画データをユーザ側に保持したまま、長期署名データの作成をアウトソースすることができ、ユーザ環境に長期署名システムを構築する必要がないため、ユーザが運用管理（ログ監視、失敗監視、リカバリ処理等）を行う必要がない。
（７）ユーザ環境に長期署名システムを構築しないため、ユーザ環境からタイムスタンプ及び失効情報を取得するためのネットワーク設定（ＩＰ、ポートを開く等）が必要ない。
（８）認証パスの取得のための署名証明書のルート証明書及びＴＳＡ証明書のルート証明書などは、長期署名サーバ３が有しているため、これらの情報をユーザ環境で保持する必要がない。そのため、例えば、ＴＳＡが認証局を変更する場合であっても、ユーザ環境で新しい認証局証明書（ルート証明書や中間証明書）を登録しなおす必要がない。
（９）タイムスタンプは、長期署名サーバ３が取得するため、ドライブレコーダ６や情報処理端末９のユーザ側は、ＴＳＡと契約する必要がない。
（１０）長期署名フォーマットのバージョンアップや暗号アルゴリズムの危殆化発生時には、長期署名サーバ３が対応し、ユーザ側が対応する必要がない。なお、ハッシュ関数が危殆化した場合は、ユーザ側装置のハッシュ関数を変更する必要がある。この場合、予め想定される最新の複数のハッシュ関数をユーザ側に埋め込んでおき、スイッチで切り替えられるとか、毎回、複数のハッシュ関数で計算したハッシュ値群をサーバに送るように構成してもよい（大したサイズではない）。
（１１）長期署名データの生成を長期署名サーバ３にアウトソースすることにより、例えば、長期署名システムは必要だが処理文書数が見積もれないため、初期コストをかけられない、長期署名システムを運用するための要員を確保できないため自社内にサーバシステムを持てない、原本データは、社内から持ち出したくない、といった顧客の要望を満たすソリューションを提供することができる。
（１２）長期署名フォーマットを利用することにより、電子署名の有効性を延長したり、暗号アルゴリズムの危殆化に対応することが可能となる。
（１３）署名対象文書に対して、署名鍵で署名を行い、署名タイムスタンプを付与してＥＳ−Ｔを作成し、ＥＳ−Ｔに対して必要な検証情報(認証パス及び失効情報)を収集・付与し、アーカイブタイムスタンプを付与してＥＳ−Ａを作成する処理を機密を確保してクラウドで行うシステムを提供することができる。
（１４）ドライブレコーダ６は、動画データを長期署名サーバ３に送信することも可能であるが、データサイズが大きいことや、即時性が求められることもあり、データサイズの小さいハッシュ値を先に送り、署名及び署名タイムスタンプを証明センタ（長期署名サーバ３）に依頼することができる。
（１５）ドライブレコーダ６と情報処理端末９の接続を長期署名サーバ３とし、タイムスタンプサーバ２、リポジトリサーバ１０、リポジトリサーバ１１と接続しないため、ドライブレコーダ６と情報処理端末９の接続先を可能な限り少なくすることができ、接続先が多いことによるセキュリティホールの増大を防ぐことができる。
【００９８】
以上説明した本実施の形態により、次の構成を得ることができる。
長期署名システム１において、長期署名サーバ３は、長期署名用サーバとして機能し、ドライブレコーダ６と情報処理端末９は、データ端末や長期署名用端末として機能している。
長期署名サーバ３は、ドライブレコーダ６から動画データをハッシュ関数によって計算した動画ハッシュ値を受信するため、データ端末（ドライブレコーダ６）から電子データ（動画データ）を所定の関数（ハッシュ関数）によって計算した電子データ関数値（動画ハッシュ値）を受信する電子データ関数値受信手段を備えている。
また、長期署名サーバ３は、当該動画ハッシュ値を用いて署名前ＸＡｄＥＳデータを作成するが、署名前ＸＡｄＥＳデータは、電子署名の署名対象であるため、署名対象データとして機能している。そして、長期署名サーバ３は、署名前ＸＡｄＥＳデータに電子署名して署名値を生成するため、前記受信した電子データ関数値（ハッシュ値）を用いて署名対象データ（署名前ＸＡｄＥＳデータ）を生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段を備えている。
ＥＳは、署名対象データと電子署名値を含んでおり、長期署名サーバ３は、タイムスタンプサーバ２のＴＳＴによってこれらのＳＴＳを取得するため、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段を備えている。
更に、長期署名サーバ３は、ＥＳの電子署名に用いた秘密鍵の公開鍵証明書と、ＳＴＳの証明書を検証するための証明書群と失効情報群を収集して検証情報を取得するため、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段を備えている。
ＥＳ−ＸＬは、署名前ＸＡｄＥＳデータ、署名値、ＳＴＳ、検証情報を含んでいるため、基本署名データとして機能する。
そのため、長期署名サーバ３は、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段を備えている。
更に、長期署名サーバ３は、ＥＳ−ＸＬを所定期間検証するためのＡＴＳ（１ｓｔ）を取得してＥＳ−Ａ（１ｓｔ）を生成するため、前記生成した基本署名データ（ＥＳ−ＸＬ）を所定期間検証するための長期検証情報（ＡＴＳ（１ｓｔ））を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データ（ＥＳ−Ａ（１ｓｔ））を生成する長期署名データ生成手段を備えている。
【００９９】
また、長期署名サーバ３は、ＡＴＳ（１ｓｔ）を生成するに際して、ハッシュ値対象データ作成用データを生成してドライブレコーダ６（情報処理端末９）に送信し、ハッシュ値対象データ作成用データに動画データを加えて計算したハッシュ値を受信するため、前記長期検証情報（ＡＴＳ（１ｓｔ））を作成するための長期検証情報作成用情報（ハッシュ値対象データ作成用データ）を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報を所定の端末（ドライブレコーダ６や情報処理端末９）に送信する長期検証情報作成用情報送信手段と、前記送信した長期検証情報作成用情報に前記電子データ（動画データ）を加えて所定関数（ハッシュ関数）で計算した長期検証用関数値（ハッシュ値）を前記所定の端末から受信する長期検証用関数値受信手段を備えている。
そして、長期署名サーバ３は、このハッシュ値にタイムスタンプを付与することによりＡＴＳ（１ｓｔ）を取得するため、前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得している。
【０１００】
また、長期署名サーバ３は、ドライブレコーダ６や情報処理端末９から長期署名データを受信して、当該長期署名データの最も新しいＡＴＳを抽出し、当該ＡＴＳを所定期間検証するための次世代のＡＴＳを取得するため、所定の端末（ドライブレコーダ６や情報処理端末９）から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報（最も新しいＡＴＳ）を抽出する長期検証情報抽出手段と、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報（次世代のＡＴＳ）を取得する再度の長期検証情報取得手段を備えている。
そして、長期署名サーバ３は、次世代のＡＴＳを加えて長期署名データを更新することにより長期署名データの有効期間を延長するため、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新している。
【０１０１】
また、長期署名サーバ３は、次世代のＡＴＳを生成するに際して、ハッシュ値対象データ作成用データを作成してドライブレコーダ６（情報処理端末９）に送信し、ハッシュ値対象データ作成用データに動画データを加えて計算したハッシュ値を受信するため、再度の長期検証情報（次世代のＡＴＳ）を作成するための再度の長期検証情報作成用情報（次世代のＡＴＳを生成するためのハッシュ値対象データ作成用データ）を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、前記送信した再度の長期検証情報作成用情報に前記電子データ（動画データ）を加えて所定関数（ハッシュ関数）で計算した再度の長期検証用関数値（ハッシュ値）を前記所定の端末から受信する再度の長期検証用関数値受信手段を備え、前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報（次世代のＡＴＳ）を取得している。
【０１０２】
また、長期署名システム１では、動画データをドライブレコーダ６から情報処理端末９に移動しておき、情報処理端末９を通知先として受け付けて長期署名サーバ３に登録しておき、ＥＳ−Ａ（１ｓｔ）を生成する準備ができた場合に、長期署名サーバ３が情報処理端末９に通知を行うように構成することもできる。
そのため、長期署名サーバ３は、通知先（例えば、情報処理端末９）の登録を受け付ける通知先登録受付手段と、前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報（ハッシュ値対象データ作成用データ）を生成した場合に、長期検証情報作成用情報生成通知（ＥＳ−Ａ（１ｓｔ）を生成する準備ができた旨の通知）を前記受け付けた通知先に通知する通知手段を備えている。
そして、この場合、長期署名サーバ３は、通知を送信した後、情報処理端末９にハッシュ値対象データ作成用データを送信するため、前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報（ハッシュ値対象データ作成用データ）を送信する。
【０１０３】
また、ドライブレコーダ６が動画ハッシュ値を長期署名サーバ３に送信した後、動画データを長期署名サーバ３に送信し、以後の処理は全て長期署名サーバ３で行うように構成することもできる。
この場合、長期署名サーバ３は、ハッシュ値作成用データを作成した後、これに動画データを加えてハッシュ値を計算し、当該ハッシュ値にタイムスタンプを付与するため、所定の端末（ドライブレコーダ６や情報処理端末９）から前記電子データ（動画データ）を受信する電子データ受信手段と、前記長期検証情報（ＡＴＳ（１ｓｔ））を作成するための長期検証情報作成用情報（ハッシュ値対象データ作成用データ）を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報に前記受信した電子データ（動画データ）を加えて所定関数（ハッシュ関数）による長期検証用関数値（ハッシュ値）を計算する長期検証用関数値計算手段を備えており、前記長期検証情報取得手段は、前記計算した長期検証用関数値に（タイムスタンプサーバ２によって）タイムスタンプを付与して前記長期検証情報を取得する。
【０１０４】
ＥＳを作成するための動画ハッシュ値の作成、及びハッシュ値対象データ作成用データを用いたハッシュ値の生成は、何れもドライブレコーダ６で行うことができるため、前記データ端末と前記所定の端末は同一端末とすることができる。
【０１０５】
一方、ドライブレコーダ６は、車両に設置され、カメラ７を用いて動画を撮影するため移動体（車両など）に搭載されたカメラで動画を撮影する動画撮影手段を備えている。
そして、衝突などのイベントを検出して、その際に、少なくともイベント発生所定時間前からイベント発生時までの動画を不揮発メモリ３０に記憶するため、イベントの発生を検出するイベント検出手段と、前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段を備えている。
そして、ドライブレコーダ６は、記憶した動画ハッシュ値を計算して長期署名サーバ３に送信するため、前記記憶した動画を所定の関数（ハッシュ関数）で計算することにより前記動画に対応する関数値（動画ハッシュ値）を取得する関数値取得手段と、前記取得した関数値を所定のサーバ（長期署名サーバ３）に送信する関数値送信手段を備えている。
【０１０６】
また、ドライブレコーダ６は、長期署名サーバ３からハッシュ値対象データ作成用データを受信して、これに動画データを加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ３に送信するため、前記送信した関数値（動画ハッシュ値）に対して行った電子署名を所定期間検証するための長期検証情報（ＡＴＳ（１ｓｔ））を作成するための長期検証情報作成用情報（ハッシュ値対象データ作成用データ）を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記撮影した動画（動画データ）を加えて所定関数（ハッシュ関数）による長期検証用関数値（ハッシュ値）を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバ（長期署名サーバ３）に送信する長期検証用関数値送信手段を備えている。
【０１０７】
また、ハッシュ値対象データ作成用データの処理は、ドライブレコーダ６の他、動画データを取得した情報処理端末９で行うこともできる。
この場合、情報処理端末９は、動画（動画データ）を取得する動画取得手段と、所定のサーバ（長期署名サーバ３）から、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報（ＡＴＳ（１ｓｔ））を作成するための長期検証情報作成用情報（ハッシュ値対象データ作成用データ）を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記取得した動画（動画データ）を加えて所定関数（ハッシュ関数）による長期検証用関数値（ハッシュ値）を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値（ハッシュ値）を所定のサーバ（長期署名サーバ３）に送信する長期検証用関数値送信手段を備えている。
【０１０８】
次に、図１４のフローチャートを用いて長期署名データの検証方法について説明する。
以下の検証者端末は、長期署名データと原本データ（長期署名データによる検証対象となるデータ、ここでは動画データに相当し、原本ハッシュ値は動画ハッシュ値に相当する）を取得して、長期署名データを用いて原本データを検証するユーザの端末であって、ハードウェア的な構成は情報処理端末９と同じである。
例えば、甲が作成した長期署名データと原本データを乙が受け取り、乙が検証者端末でこれを検証する場合が想定される。
【０１０９】
検証者端末は、長期署名データと原本データを記憶している。
まず、検証者端末は、長期署名データを長期署名サーバ２に送信し（ステップ６０５）、長期署名サーバ２は、これを受信する（ステップ６１０）。
次に、検証者端末は、原本データのハッシュ値を計算して長期署名サーバ２に送信し（ステップ６１５）、長期署名サーバ２は、これを受信する（ステップ６２０）。
【０１１０】
次に、長期署名サーバ２は、原本ハッシュ値を検証する（ステップ６２５）。
この処理は、検証者端末から送信された原本ハッシュ値と、長期署名データのＸＡｄＥＳ内の原本ハッシュ値を比較し、両者が一致することを確認することにより行われる。
次に、長期署名サーバ２は、公開鍵証明書（署名証明書）の検証を行う（ステップ６３０）。
この検証は、検証情報に含まれる証明書群、及び失効情報群を用いて、認証パスがつながること、及び認証パス上の証明書が失効していなかったことを確認することにより行われる。
【０１１１】
次に、長期署名サーバ２は、署名値を検証する（ステップ６３５）。
この検証は、ＳｉｇｎａｔｕｒｅＶａｌｕｅの署名値を公開鍵証明書から取り出した公開鍵で復号化すると共に、ＳｉｇｎｅｄＩｎｆｏのハッシュ値を計算し、当該復号化した値とハッシュ値が一致することを確認することにより行われる。
次に、長期署名サーバ２は、ＳＴＳを検証する（ステップ６４０）。
この検証は、ＳｉｇｎａｔｕｒｅＶａｌｕｅのハッシュ値を計算し、これと、ＳＴＳに記載されているハッシュ値が一致することを確認することにより行われる。
【０１１２】
次に、長期署名サーバ２は、ＳＴＳ証明書（署名タイムスタンプ証明書）を検証する（ステップ６４５）。
この検証は、ＴＳＡ証明書でＴＳＡ署名値を復号して確認するほか、検証情報に含まれる証明書群、及び失効情報群を用いて、ＳＴＳ証明書の認証パスがつながること、及び認証パス上の証明書が失効していなかったことを確認することにより行われる。
【０１１３】
次に、長期署名サーバ２は、ＥＳ−ＸＬに含まれるデータからＡＴＳの対象データに原本データが結合される前のデータを作成してハッシュ値対象データ作成用データを作成し、これを検証者端末に送信する（ステップ６５０）。
【０１１４】
検証者端末は、ハッシュ値対象データ作成用データを受信すると、これに原本データを結合して追加し、ハッシュ値対象データを作成する（ステップ６５５）。
次に、検証者端末は、ハッシュ値対象データのハッシュ値を計算して長期署名サーバ２に送信する（ステップ６６０）。
【０１１５】
長期署名サーバ２は、検証者端末から当該ハッシュ値を受信すると、これとＡＴＳ（１ｓｔ）に記載されているハッシュ値が一致することを確認することによりＡＴＳ（１ｓｔ）のハッシュ値を検証する（ステップ６６５）。
次に、長期署名サーバ２は、ＡＴＳ（１ｓｔ）の証明書の認証パスを作成するための証明書（ルート証明書）を自サーバ内から取得する（ステップ６７０）。
【０１１６】
次に、長期署名サーバ２は、当該認証パス上の証明書の失効情報をリポジトリサーバ１１から取得する（ステップ６７５、６８０）。
そして、長期署名サーバ２は、認証パスがつながること、認証パス上の証明書が失効していないことを確認することによりＡＴＳ（１ｓｔ）の証明書の検証を行う（ステップ６８５）。
【０１１７】
次に、長期署名サーバ２は、その他、ＸＡｄＥＳの検証を行う（ステップ６９０）。
この検証は、各証明書、各失効情報、各タイムスタンプ間の時刻の整合性が取れることの確認、フォーマットの整合性の確認などにより行われる。
長期署名サーバ２は、以上の検証による検証結果を生成して検証者端末に送信する（ステップ６９５）。
そして、検証者端末は、長期署名サーバ２から検証結果を受信して検証者に提示する（ステップ７００）。
なお、ＡＴＳがＡＴＳ（２ｎｄ）、ＡＴＳ（３ｒｄ）と更に下の世代が存在する場合も同様にして検証する。
【０１１８】
以上のように、上の検証方法によると、検証者は原本データを検証者端末に保持したまま長期署名サーバ２で長期署名データの検証を行うことができる。
そのため、例えば、甲が原本データと長期署名データを乙に提供し、原本データを甲乙以外の者に渡したくない場合に、乙は原本データを長期署名サーバ２に提供せずに長期署名データによる原本データの正当性を確認することができる。
【０１１９】
また、例え、ＥＳ−Ｔの生成で用いたアルゴリズムが危殆化したとしてもＡＴＳ（１ｓｔ）の生成に用いたアルゴリズムが危殆化するまではＥＳ−Ａ（１ｓｔ）の証拠性は失われない。
そして、ＡＴＳ（１ｓｔ）の生成に用いたアルゴリズムが危殆化する可能性がある場合は、更に最新のアルゴリズムでＡＴＳ（２ｎｄ）を付与すれば証拠性は失われない。
以降、最新のアルゴリズムで世代を重ねていくことにより証拠性を未来に渡って維持することができる。
【０１２０】
以上に説明した検証方法により、次の構成を得ることができる。
署名対象データと前記署名対象データを検証する検証情報、及び前記署名対象データと検証情報を所定期間検証する長期検証情報を含む長期検証情報を用いて構成され、原本データの正当性を検証するための長期署名データを検証者端末から受信する長期署名データ受信手段と、前記署名対象データに含まれる所定の情報を抽出して長期検証情報作成用情報を作成し、当該作成した長期検証情報作成用情報を前記検証者端末に送信する長期検証情報作成用情報送信手段と、前記検証者端末から、前記送信した長期検証情報作成用情報に前記原本データを加えて所定の関数で計算した長期検証情報作成用関数値を受信する長期検証情報作成用関数値受信手段と、前記受信した長期検証情報作成用関数値を用いて前記長期検証情報を検証する長期検証情報検証手段と、を具備したことを特徴とする長期署名検証用サーバ（第１の構成）。
前記検証情報を用いて前記署名対象データを検証する署名対象データ検証手段を具備し、前記長期検証情報検証手段は、前記署名対象データ検証手段が検証した後に前記長期検証情報を検証することを特徴とする第１の構成の長期署名検証用サーバ（第２の構成）。
【０１２１】
このように、本実施の形態は、原本データをサーバ側に渡さずにサーバ側で原本データに対する署名を検証することができる。
この場合、端末は、原本データの所定関数による関数値と、当該原本データの署名データ（原本データの関数値を秘密鍵で暗号化した署名値、当該秘密鍵に対応する公開鍵の公開鍵証明書）を送信し、サーバは、署名値を公開鍵で復号化して関数値を取り出し、当該取り出した関数値と端末が送信してきた関数値を比べることにより原本データの正当性を判断すると共に、認証パスに係る証明書を用いて公開鍵証明書の正当性を確認する。
更に、署名データが長期署名である場合には、サーバは、署名データを構成する情報を用いて長期署名を確認するための関数値を作成するための情報から原本データを除いた情報を作成して端末に送信する。
これに対し、端末は、当該情報に原本データを加えて所定関数による関数値を計算してサーバに送信し、サーバは当該関数値を用いて長期署名の正当性を検証する。
【符号の説明】
【０１２２】
１  長期署名システム
２  タイムスタンプサーバ
３  長期署名サーバ
４  ネットワーク
５  基地局
６  ドライブレコーダ
７  カメラ
８  車両
９  情報処理端末
１０  リポジトリサーバ
１１  リポジトリサーバ
【図１】
0005467592.tif 000002
【図２】
0005467592.tif 000003
【図３】
0005467592.tif 000004
【図４】
0005467592.tif 000005
【図５】
0005467592.tif 000006
【図６】
0005467592.tif 000007
【図７】
0005467592.tif 000008
【図８】
0005467592.tif 000009
【図９】
0005467592.tif 000010
【図１０】
0005467592.tif 000011
【図１１】
0005467592.tif 000012
【図１２】
0005467592.tif 000013
【図１３】
0005467592.tif 000014
【図１４】
0005467592.tif 000015