長期署名用サーバ、ドライブレコーダ、及び長期署名用端末
【課題】クライアント側とサーバ側が協働して長期署名を行う。
【解決手段】ドライブレコーダ6は、イベントを検出すると動画データを記憶媒体に記憶し、当該動画データを用いたハッシュ値の計算を行って長期署名サーバ3に送信する。長期署名サーバ3は、ハッシュ値を受信すると、ES−A(1st)のフォーマットを作成し、ESの作成、STSの作成、検証情報の作成を行い、ATS(1st)を作成するためのハッシュ値対象データ作成用データ(1st)を作成してドライブレコーダ6に送信する。ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データ(1st)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信し、ATS(1st)を完成させる。
【解決手段】ドライブレコーダ6は、イベントを検出すると動画データを記憶媒体に記憶し、当該動画データを用いたハッシュ値の計算を行って長期署名サーバ3に送信する。長期署名サーバ3は、ハッシュ値を受信すると、ES−A(1st)のフォーマットを作成し、ESの作成、STSの作成、検証情報の作成を行い、ATS(1st)を作成するためのハッシュ値対象データ作成用データ(1st)を作成してドライブレコーダ6に送信する。ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データ(1st)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信し、ATS(1st)を完成させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、長期署名用サーバ、ドライブレコーダ、及び長期署名用端末に関し、例えば、長期署名を行うものに関する。
【背景技術】
【0002】
近年、車両に周囲や内部などの状況を撮影するカメラを設置し、走行中にこれによって動画を撮影するドライブレコーダが普及しつつある。
ドライブレコーダは、動画データを更新しながらメモリに記憶することにより、過去から現在に至る所定の記録時間(例えば30秒)の動画データをメモリに記憶する。
そして、衝突事故などの所定のイベントが発生すると、イベント発生後の所定時間経過後(例えば、10秒)に動画データの更新を停止する。
これにより、上の例では、イベント発生前の20秒からイベント発生の10秒後までの動画データが記憶され、当該動画データによりイベント発生時の状況を検証することができる。
ところで、このようにして記録された動画データは、撮影日時刻と非改竄性を保証することにより証拠能力を持たせることが重要である。
【0003】
一方、電子データの非改竄性を証明するために、電子データを秘密鍵で暗号化することにより電子署名を行い、当該秘密鍵に対応する公開鍵で電子データを復号化することにより検証する電子署名が広く利用されている。
一般に電子署名には有効期限が存在するが、これを延長するものとして特許文献1に示されているように、電子署名の有効性を永続させるための電子署名フォーマット(以下、長期署名フォーマット)が規定されている。
この規定は、海外においては、RFC5126やETSI TS 101 733で定義され、日本では、JIS規格(JIS X 5092/5093)で定義されている。
【0004】
ドライブレコーダで記録した動画データは、証拠として用いられるため、長期に渡って撮影日時刻と非改竄性が保証できることが望ましく、上記長期署名を行うことが考えられる。
しかし、動画データに長期署名を行うためには、ドライブレコーダに長期署名機能を設けるか、ドライブレコーダから長期署名サーバに動画データを送信する必要があるが、ドライブレコーダに長期署名機能のような高度な機能を実装することは現実的ではなく、また、ドライブレコーダから長期署名サーバに動画データを送信する場合、動画データのデータ量が大きいため、データの送信が困難であるという問題があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2003−533940号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、クライアント側の負担を軽減しつつ、クライアント側とサーバ側が協働して長期署名を行うことを目的とする。
【課題を解決するための手段】
【0007】
本発明は、前記目的を達成するために、請求項1に記載の発明では、データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、を具備したことを特徴とする長期署名用サーバを提供する。
請求項2に記載の発明では、前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報を所定の端末に送信する長期検証情報作成用情報送信手段と、前記送信した長期検証情報作成用情報に前記電子データを加えて所定関数で計算した長期検証用関数値を前記所定の端末から受信する長期検証用関数値受信手段と、を具備し、前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバを提供する。
請求項3に記載の発明では、所定の端末から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、を具備し、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新することを特徴とする請求項1、又は請求項2に記載の長期署名用サーバを提供する。
請求項4に記載の発明では、再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、
前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、を具備し、前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報を取得することを特徴とする請求項3に記載の長期署名用サーバを提供する。
請求項5に記載の発明では、通知先の登録を受け付ける通知先登録受付手段と、前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報を生成した場合に、長期検証情報作成用情報生成通知を前記受け付けた通知先に通知する通知手段と、を具備し、前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報を送信することを特徴とする請求項2、請求項3、又は請求項4に記載の長期署名用サーバを提供する。
請求項6に記載の発明では、所定の端末から前記電子データを受信する電子データ受信手段と、前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報に前記受信した電子データを加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、を具備し、前記長期検証情報取得手段は、前記計算した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバを提供する。
請求項7に記載の発明では、前記データ端末と前記所定の端末は同一端末であることを特徴とする請求項2から請求項6までのうちの何れか1の請求項に記載の長期署名用サーバを提供する。
請求項8に記載の発明では、移動体に搭載されたカメラで動画を撮影する動画撮影手段と、イベントの発生を検出するイベント検出手段と、前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段と、前記記憶した動画を所定の関数で計算することにより前記動画に対応する関数値を取得する関数値取得手段と、前記取得した関数値を所定のサーバに送信する関数値送信手段と、を具備したことを特徴とするドライブレコーダを提供する。
請求項9に記載の発明では、前記送信した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記撮影した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、を具備したことを特徴とする請求項8に記載のドライブレコーダを提供する。
請求項10に記載の発明では、動画を取得する動画取得手段と、所定のサーバから、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記取得した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、を具備したことを特徴とする長期署名用端末を提供する。
【発明の効果】
【0008】
本発明によれば、クライアント側が動画データのハッシュ値をサーバ側に送信してサーバ側で長期署名を行うことにより、クライアント側の負担を軽減しつつ、クライアント側とサーバ側が協働して長期署名を行うことができる。
【図面の簡単な説明】
【0009】
【図1】本実施の形態の概要を説明するための図である。
【図2】長期署名システムのネットワーク構成を説明するための図である。
【図3】長期署名データのフォーマットを説明するための図である。
【図4】ドライブレコーダのハードウェア的な構成を説明するための図である。
【図5】長期署名サーバなどのハードウェア的な構成を説明するための図である。
【図6】長期署名データを作成する手順を説明するためのフローチャートである。
【図7】ES作成処理を説明するためのフローチャートである。
【図8】ES−T作成処理を説明するためのフローチャートである。
【図9】ES−XL作成処理を説明するためのフローチャートである。
【図10】ES−A(1st)作成処理を説明するためのフローチャートである。
【図11】ES−A(1st)作成処理の変形例を説明するためのフローチャートである。
【図12】ES−A(2nd)を作成する手順を説明するためのフローチャートである。
【図13】長期署名システムの変形例を説明するための図である。
【図14】長期署名データの検証処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0010】
(1)実施形態の概要
図1は、本実施の形態の概要を説明するための図である。
長期署名データ(ES−A)は、XMLによって構成されており、図に示したように、ES、STS、ES−T、検証情報、ES−XL、ATSなどの各要素を用いて構成されている。
ATSには、第1世代のATS(1st)、第2世代のATS(2nd)、・・・など各世代のものがあり、これらによって、ES−Aは、第1世代のES−A(1st)、第2世代のES−A(2nd)などと構成される。
【0011】
ATS(n)(nは、1st、2nd、3rd、・・・)は、ES−A(n)の内容を証明するアーカイブタイムスタンプである。
長期署名データの作成時はES−A(1st)が作成され、ATS(1st)の有効期限が切れる前にATS(2nd)を作成してES−A(2nd)に更新する、といったように、ES−A(n)の有効期限が切れる前にES−A(n+1)に更新することにより長期署名データの有効期限を永続的に延長していくことができる。
【0012】
長期署名データの生成で、ドライブレコーダ6で撮影した動画データを使用するのは、ESとATSの生成に際して動画データのハッシュ値を用いるときである。
そこで、長期署名システム1は、ドライブレコーダ6と長期署名サーバ3に長期署名データの作成を分担させ、ドライブレコーダ6には、動画データのハッシュ値の計算を行わせ、長期署名サーバ3には、XMLの解析、長期署名フォーマットの生成、及び秘密鍵による電子署名などを行わせる。
【0013】
具体的な長期署名データの作成手順は、次の通りである。
ドライブレコーダ6は、衝突などのイベントを検出すると、イベント発生時を含む所定の記録時間の動画データを記憶媒体に記憶する。そして、ドライブレコーダ6は、当該動画データのハッシュ値を計算して長期署名サーバ3に送信する。
長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信すると、ES−A(1st)のフォーマットを作成し、ESの作成、STSの作成、検証情報の作成を行う。
続いて長期署名サーバ3は、ATS(1st)を作成するためのハッシュ値対象データ作成用データ(1st)を作成してドライブレコーダ6に送信する。
【0014】
ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データ(1st)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信し、これにタイムスタンプの付与を行ってATS(1st)を生成する。
そして、長期署名サーバ3は、ATS(1st)を用いてES−A(1st)を完成させてドライブレコーダ6に送信する。
【0015】
ところで、ES−A(1st)の有効期限は、例えば、数年など所定期間に設定されており、有効期限が切れる前に、ES−A(2nd)に更新する必要がある。
この場合、ドライブレコーダ6は、ES−A(1st)を長期署名サーバ3に送信し、長期署名サーバ3は、これからハッシュ値対象データ作成用データ(2nd)を作成してドライブレコーダ6に送信する。
ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データ(2nd)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信し、これにタイムスタンプの付与を行ってATS(2nd)を生成する。
そして、長期署名サーバ3は、ATS(2nd)を用いてES−A(2nd)を完成させてドライブレコーダ6に送信する。
以降、ES−A(2nd)、ES−A(3rd)、・・・の更新も同様に行う。
【0016】
イベント検出時のハッシュ値の送信は、動画データの改竄を防止するためにイベント検出直後にドライブレコーダ6から長期署名サーバ3に送信することが望ましいが、その後の処理は、情報処理端末9を用いて行うこともできる。
この場合、ドライブレコーダ6がハッシュ値を送信した後、動画データをドライブレコーダ6から情報処理端末9に移動する。
情報処理端末9は、例えば、ドライブレコーダ6のユーザのユーザ端末であってもよいし、あるいは、保険会社の会社端末であってもよい。
【0017】
そして、この変形例では、長期署名サーバ3は、ハッシュ値対象データ作成用データ(1st)を情報処理端末9に送信する。
情報処理端末9は、長期署名サーバ3からハッシュ値対象データ作成用データ(1st)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、情報処理端末9からハッシュ値を受信し、ATS(1st)を完成させてES−A(1st)の作成を完了する。
そして、長期署名サーバ3は、完成したES−A(1st)を情報処理端末9に送信する。
【0018】
検証情報を作成するためにはCA(認証局)の発行する失効情報を取得する必要があるが、これにはある程度の時間がかかり、また、ドライブレコーダ6は、イベント後にどの程度の期間動作するか不明確であるため、失効情報の取得を待つ間にドライブレコーダ6が動作しなくなる可能性もある。そのため、ドライブレコーダ6がイベント発生時にハッシュ値を送信した後は、速やかに動画データを情報処理端末9に移動し、以降の処理を情報処理端末9で行うとより確かに長期署名データを作成することができる。
【0019】
以上のようにして、長期署名システム1は、ドライブレコーダ6が長期署名データ作成機能を有していなくても、又は、ドライブレコーダ6が動画データを長期署名サーバ3に送信しなくても、ドライブレコーダ6が撮影した動画データから長期署名データを作成することができる。
【0020】
(2)実施形態の詳細
図2は、本実施の形態に係る長期署名システム1のネットワーク構成を説明するための図である。
長期署名システム1は、タイムスタンプサーバ2、長期署名サーバ3、ネットワーク4、基地局5、ドライブレコーダ6、情報処理端末9、CAのリポジトリサーバ10、CA−TSAのリポジトリサーバ11などを用いて構成されている。
車両8は、例えば、乗用車や運送車両などであるが、これに限定するものではなく、例えば、船舶や航空機など、各種の移動体とすることができる。
【0021】
ドライブレコーダ6は、車両8に搭載されており、カメラ7を備え、画像記憶装置として機能している。
カメラ7は、車両8の前方を撮影しており、ドライブレコーダ6は、これによる動画データを記憶する。
また、カメラ7を複数台設け、車両8の側方、後方、あるいは車内を撮影するように構成することもできる。
【0022】
ドライブレコーダ6は、例えば、記録時間が30秒間の動画データを更新しながらメモリに記憶する。
そして、ドライブレコーダ6は、事故などのイベントが発生した場合、動画データの更新を停止する。
例えば、イベント発生10秒後に動画データの更新を停止した場合、イベント発生の20秒前からイベント発生の10秒後までの動画データが記録される。
【0023】
このようにして、ドライブレコーダ6は、イベント発生時が含まれる動画データを記憶すると、当該動画データのハッシュ値を計算して長期署名サーバ3に送信する。以降、動画データのハッシュ値を動画ハッシュ値と呼ぶことにする。
なお、例えば、無線の通じないトンネル内でイベントが発生するなど、ネットワーク4に接続できない環境でイベントが発生した場合、ドライブレコーダ6は、ネットワーク4への接続を繰り返し行い、ネットワーク4への接続に成功した際に動画ハッシュ値を長期署名サーバ3に送信する。
【0024】
また、ドライブレコーダ6は、動画ハッシュ値を長期署名サーバ3に送信した後、長期署名サーバ3からハッシュ値対象データ作成用データ(ATSを作成する前段階の情報である)を受信し、これに動画データを加えてハッシュ値を計算し、長期署名サーバ3に送信する。
なお、ATSには、ATS(1st)、ATS(2nd)、・・・など各世代のものが存在し、これに対応してハッシュ値対象データ作成用データにもハッシュ値対象データ作成用データ(1st)、ハッシュ値対象データ作成用データ(2nd)、・・・など対応する世代のものが存在する。
【0025】
なお、本実施の形態では、長期署名サーバ3は、動画データを記録し、当該動画データのハッシュ値を長期署名サーバ3に送信するが、これはドライブレコーダ6が処理するデータを動画データに限定するものではなく、一般の画像データとすることができ、例えば、ドライブレコーダ6は静止画を記憶し、当該静止画のハッシュ値を長期署名サーバ3に送信するものであってもよい。
【0026】
長期署名サーバ3は、ネットワーク4を介してドライブレコーダ6や、タイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11と通信することができる。
長期署名サーバ3は、ドライブレコーダ6から受信した動画ハッシュ値やハッシュ値対象データ作成用データのハッシュ値に秘密鍵を用いた電子署名を行ったり、検証情報を作成したり、タイムスタンプサーバ2によるタイムスタンプを取得して長期署名データを生成したりする。
また、検証情報を作成する際に、電子署名に用いた秘密鍵の公開鍵証明書の失効情報、及びタイムスタンプに用いた秘密鍵の公開鍵証明書の失効情報が必要となるが、長期署名サーバ3は、これらの失効情報をリポジトリサーバ10、リポジトリサーバ11から収集する。
【0027】
タイムスタンプサーバ2は、TSA(Time Stamp Authority:タイムスタンプ局)が運営しているサーバであって、電子文書などの電子データにタイムスタンプを発行して時刻証明などを行うサーバであり、本実施の形態では、長期署名サーバ3が長期署名データを作成するに際してESやES−XL、ES−Aにタイムスタンプを発行する(それぞれタイムスタンプが付与されることでES−T、ES−A(1st)、ES−A(2nd)になる)。
タイムスタンプの発行は、ネットワーク4経由で送信されてきたタイムスタンプ発行対象の電子データに時刻を付与して秘密鍵で電子署名することにより行われる。
この電子署名の確認は、タイムスタンプに用いた秘密鍵に対応する公開鍵を用いて電子署名が復号化できたことを以て行うことができ、当該電子署名がタイムスタンプサーバ2によってなされたものであることを確認することができる。
【0028】
リポジトリサーバ10は、CA(Certificate Authority:認証局)が運営しているサーバであって、長期署名サーバ3が行った電子署名の検証に用いる公開鍵証明書(電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書)の失効情報を提供している。
第三者が長期署名サーバ3の秘密鍵の公開鍵証明書を用いて長期署名サーバ3の電子署名を検証する場合に、当該公開鍵証明書が失効情報に記載されていないことを確認することにより、当該公開鍵証明書が有効な状態で電子署名がなされたことを確認することができる。
失効情報は、例えば、24時間ごとなど、定期・不定期に最新のものに更新される。
【0029】
リポジトリサーバ11は、TSA−CA(Time Stamp Authority Certificate Authority:タイムスタンプ認証局)が運営するサーバであって、タイムスタンプの検証に用いる公開鍵証明書(タイムスタンプに用いた秘密鍵に対応する公開鍵の公開鍵証明書)の失効情報を提供する。
第三者がタイムスタンプの公開鍵証明書を用いてタイムスタンプサーバ2の電子署名を検証する場合に、当該公開鍵証明書が失効情報に記載されていないことを確認することにより、当該公開鍵証明書が有効な状態でタイムスタンプが発行されたことを確認することができる。
失効情報は、例えば、24時間ごとなど、定期・不定期に最新のものに更新される。
【0030】
情報処理端末9は、例えば、ドライブレコーダ6のユーザが有するPC(Personal Computer)などで構成されたユーザ端末や、保険会社などに設置された会社端末などの端末である。
ドライブレコーダ6が動画ハッシュ値を送信した後の処理は、必ずしもドライブレコーダ6が行う必要がないため、ドライブレコーダ6の動画データを情報処理端末9に移動し、後の処理は情報処理端末9で行うことができる。
また、イベントが発生した際に動画データの動画ハッシュが長期署名サーバ3に送信されているため、動画データを情報処理端末9に移動しても改竄することはできない。
【0031】
ネットワーク4は、例えば、インターネットや携帯電話網などの通信ネットワークによって構成されており、ドライブレコーダ6や情報処理端末9と長期署名サーバ3の間の通信、及び長期署名サーバ3とタイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11の間の通信を仲介する。
基地局5は、例えば、携帯端末などを携帯電話網などに接続する基地局であって、ドライブレコーダ6と無線回線により接続し、ドライブレコーダ6とネットワーク4との通信を仲介する。
【0032】
図3は、本実施の形態で使用する長期署名データのフォーマット(長期署名フォーマット)を説明するための図である。
本実施の形態の長期署名データは、XAdES(XML Advanced Electronic Signatures)の規定に従い、XML(Extensible Markup Language)言語を用いて記述されている。
なお、このフォーマットは一例であって、長期署名データのフォーマットをXMLに限定するものではない。
【0033】
署名前XAdESデータは、長期署名サーバ3が電子署名を行う対象となる署名対象データを格納したXML要素であって、KeyInfo、署名対象プロパティ、SignedInfoの各要素から構成されている。署名前XAdESデータを長期署名サーバ3が電子署名することによりESが生成される。
【0034】
KeyInfoには、長期署名サーバ3が電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書が設定されている。公開鍵証明書には、例えば、公開鍵、公開鍵の所有者、認証局、認証局の署名などが含まれている。
署名対象プロパティには、公開鍵証明書のハッシュ値が設定されている。
SignedInfoには、動画ハッシュ値、及び署名対象プロパティのハッシュ値(以下、署名対象プロパティハッシュ値)が設定されている。
【0035】
ESは、上記の署名前XAdESデータとSignatureValueを要素として構成されている。
SignatureValueには、SignedInfoを長期署名サーバ3が秘密鍵で署名した署名値が設定されている。
署名値によってSignedInfoが検証されると、これによって署名対象プロパティが検証され、更に署名対象プロパティによってKeyInfoが検証されるため、このように、長期署名サーバ3がSignedInfoに対して電子署名することにより、署名前XAdESデータに対する署名が行われる。
【0036】
ES−Tは、上記のESと署名タイムスタンプを要素として構成されている。
署名タイムスタンプには、ESに対して発行されたSTS(署名タイムスタンプ)が設定されている。STSは、タイムスタンプサーバ2において、ESのハッシュ値に現在日時刻を付与して、これをタイムスタンプサーバ2の秘密鍵で電子署名したものである。
【0037】
ES−XL(ES−XLong)は、上記のES−Tと検証情報を要素として構成されている。
検証情報は、証明書群と失効情報群を用いて構成されている。
証明書群は、長期署名サーバ3が署名に用いた秘密鍵の公開鍵証明書と、タイムスタンプサーバ2がタイムスタンプに用いた秘密鍵の公開鍵証明書の認証パス上の公開鍵証明書である。
この認証パスは、ルート認証局は自己署名証明書を発行し、そのルート認証局は子認証局に証明書を発行し、その子認証局は孫認証局に証明書を発行し、・・・、末端の認証局は、個人、証明書所有者に証明書を発行するという証明書信頼チェーンにおいて、公開鍵証明書の検証をルート認証局まで遡って確認するものである。
失効情報群は、証明書群に含まれる各公開鍵証明書の失効情報である。
【0038】
ES−A(1st)は、上記のES−XLとATS(1st)を要素として構成されている。
ATS(Archive Time Stamp:アーカイブタイムスタンプ)(1st)は、第1世代のATSであって、ES−XLを検証する情報、動画ハッシュ値、長期署名サーバ3による電子署名、タイムスタンプサーバ2によるタイムスタンプなどが含まれており、ATS(1st)によってES−XLの正当性を検証することができる。
【0039】
ES−A(2nd)は、ES−A(1st)とATS(2nd)を要素として構成されている。
ATS(2nd)は、第2世代のATSであって、ES−A(1st)を検証する情報、動画ハッシュ値、タイムスタンプサーバ2による電子署名、タイムスタンプサーバ2によるタイムスタンプなどが含まれており、ATS(2nd)によってATS(1st)の正当性を検証することができる。
図示しないが、更に、ES−A(2nd)とATS(3rd)を要素とするES−A(3rd)、ES−A(3rd)とATS(4th)を要素とするES−A(4th)、・・・と更に世代を続けることができる。
【0040】
以上のように構成された長期署名データの各世代は、次のようにして作成される。
まず、ES−XLまで作成し、署名タイムスタンプと検証情報が有効なうちにATS(1st)を取得し、ES−A(1st)を構築する。
そして、ATS(1st)が有効性を失う前(タイムスタンプトークンの公開鍵証明書の有効期限切れや失効前、あるいは、関連する暗号アルゴリズムの危殆化前)に、ATS(2nd)を取得して、ES−A(1st)をES−A(2nd)に更新する。
以下、同様にして現在のATSが有効性を失う前に次世代のATSを取得する処理を繰り返すことにより、ES−Aを更新していく。
このようにして、ES−XLに対してATSが時系列的に付与され、最新の世代のATSが有効期限内である長期署名データが得られる。
このようにして作成された長期署名データの検証については、後ほど詳細に説明する。
【0041】
図4は、ドライブレコーダ6のハードウェア的な構成を説明するための図である。
ドライブレコーダ6は、CPU21、ROM22、RAM23、時計部24、カメラ部25、カメラ7、通信部26、車両情報部27、イベント検出部28、緊急用電源29、不揮発メモリ30などから構成されている。
【0042】
CPU21は、所定のプログラムに従って各種情報処理やドライブレコーダ6の各部を制御する中央処理装置である。CPU21は、動画の撮影、動画ハッシュ値の計算、動画ハッシュ値の送信など、長期署名サーバ3が長期署名データを作成するために必要な処理を行う。
ROM22は、読み出し専用メモリであって、CPU21が実行するプログラムやパラメータなどを記憶している。
RAM23は、読み書きが可能なメモリであって、CPU21がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
【0043】
時計部24は、例えば、水晶発振器などを用いてクロックを出力する。ドライブレコーダ6は、時計部24が出力するクロックに同期して動作する。
カメラ7は、光学系を用いて被写体をCCD(Charge−Coupled Device)などに投影し、その画像を電気信号に変換することにより画像を撮影する。
カメラ部25は、カメラ7と接続されており、カメラ7で撮影された動画像からCPU21が処理可能な動画データを生成する。
【0044】
カメラ7は、ドライブレコーダ6の筐体に組み込まれ一体型として構成してもよいし、あるいは、カメラ7とカメラ部25を信号コードで接続し、カメラ7とドライブレコーダ6の筐体を別体として構成してもよい。
通信部26は、アンテナを備えており、基地局5との無線通信を行う。
車両情報部27は、GPSシステムから現在位置や現在時刻などを受信したり、車両8のシステムから車速や加速度などの走行状態に関する情報などを受信する。
【0045】
イベント検出部28は、動画データの更新を停止するイベントが発生したか否かを検出する。ここでは、イベントの一例として事故を想定しており、例えば、車両8が他車両と衝突したり、障害物と衝突した場合に、これらのイベントの発生を検出する。
このような機能を発揮するために、イベント検出部28は、加速度センサを備えており、車両8の加速度が所定値以上の場合にイベントの発生が検出される。
このように、ドライブレコーダ6は、イベントの発生を検出するイベント検出手段を備えている。
【0046】
緊急用電源29は、車両8からドライブレコーダ6に供給される電力が途絶えた場合に、ドライブレコーダ6に電力を供給する電力源であり、電池などで構成される。
ドライブレコーダ6は、例えば、トンネル内などでネットワーク4に接続できない場合、ネットワーク4に接続できるまで接続を試みるが、その場合、車両8からの電力が供給されない場合も想定されるため、補助電源として緊急用電源29を備えたものである。
【0047】
不揮発メモリ30は、読み書きが可能で電力が供給されなくても記憶内容を保持するメモリであり、例えば、フラッシュメモリなどを用いて構成されている。
不揮発メモリ30には、プログラム格納部31とデータ格納部32が形成されている。
プログラム格納部31には、CPU21が情報処理を行うための各種プログラムが記憶されており、データ格納部32には、カメラ7が撮影した動画データなどを記憶する。
【0048】
図では、プログラム格納部31とデータ格納部32を単一の不揮発メモリ30に形成したが、プログラム格納部31用のメモリとデータ格納部32用のメモリを別に用意し、データ格納部32用のメモリをドライブレコーダ6から着脱可能に構成することもできる。
不揮発メモリ30を着脱可能に構成すると、ユーザが不揮発メモリ30を情報処理端末9に装着して動画データを情報処理端末9に転送することができる。
また、ドライブレコーダ6に情報処理端末9と接続するためのインターフェースを用意し、これを用いてドライブレコーダ6から情報処理端末9に動画データを転送するように構成することもできる。
【0049】
図5(a)は、長期署名サーバ3のハードウェア的な構成を説明するための図である。
長期署名サーバ3は、CPU41、ROM42、RAM43、通信部44、記憶部45などから構成されている。
【0050】
CPU41は、所定のプログラムに従って各種情報処理や長期署名サーバ3の各部の制御を行う。具体的には、例えば、ドライブレコーダ6から動画ハッシュ値を受信し、タイムスタンプサーバ2やリポジトリサーバ10、リポジトリサーバ11と通信しながら長期署名データを作成する。
【0051】
ROM42は、読み出し専用メモリであって、長期署名サーバ3が動作するための基本的なプログラムやパラメータなどを記憶している。
RAM43は、読み書きが可能なメモリであって、CPU41がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
通信部44は、長期署名サーバ3をネットワーク4に接続する。長期署名サーバ3は、通信部44を介してドライブレコーダ6やタイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11などと通信することができる。
【0052】
記憶部45は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されている。
記憶部45には、プログラム格納部46とデータ格納部47が形成されている。
プログラム格納部46には、CPU41に上記の機能を発揮させるプログラムなどが記憶されている。
データ格納部47には、長期署名サーバ3が電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、公開鍵証明書を発行したCAの証明書、CAのルート証明書など、長期署名データを作成するために必要な情報が記憶されている。
【0053】
図5(b)は、タイムスタンプサーバ2のハードウェア的な構成を説明するための図である。
タイムスタンプサーバ2は、CPU51、ROM52、RAM53、タイムスタンプ部54、通信部55、記憶部56などから構成されている。
CPU51は、所定のプログラムに従って各種情報処理やタイムスタンプサーバ2の各部の制御を行う。具体的には、例えば、長期署名サーバ3からSignatureValueのハッシュ値を受信し、タイムスタンプ部54を用いてこれにタイムスタンプを発行して長期署名サーバ3に送信する。
【0054】
タイムスタンプ部54は、電子文書などの電子データにタイムスタンプを発行するモジュールである。
タイムスタンプ部54は、原子時計を備えており、正確な日時刻を計測している。
そして、タイムスタンプ部54は、タイムスタンプ用の秘密鍵を記憶しており、例えば、電子文書に原子時計で計測した日時刻を付加してこれを秘密鍵で暗号化して電子署名を行う。
この電子署名は、当該秘密鍵に対応する公開鍵で復号化することにより、電子データの内容とタイムスタンプ部54が付与した日時刻の正当性を確認できるため、タイムスタンプとして機能する。
【0055】
ROM52は、読み出し専用メモリであって、タイムスタンプサーバ2が動作するための基本的なプログラムやパラメータなどを記憶している。
RAM53は、読み書きが可能なメモリであって、CPU51がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
通信部55は、タイムスタンプサーバ2をネットワーク4に接続する。タイムスタンプサーバ2は、記憶部45を介して長期署名サーバ3と通信することができる。
記憶部56は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、CPU51に上記の機能を発揮させるプログラムなどが記憶されている。
【0056】
リポジトリサーバ10、リポジトリサーバ11、及び情報処理端末9は、同様にCPU、ROM、RAM、記憶部、通信部、入出力部などから構成されている。
【0057】
図6(a)は、ドライブレコーダ6と長期署名サーバ3が長期署名データを作成する手順を説明するためのフローチャートである。
なお、以下の処理は、ドライブレコーダ6のCPU21と長期署名サーバ3のCPU41が所定のプログラムに従って行うものである。
まず、ドライブレコーダ6と長期署名サーバ3は、協働してES作成処理を行う(ステップ100)。
【0058】
次に、長期署名サーバ3が、ES−T作成処理(ステップ200)と、ES−XL作成処理を行う(ステップ300)。
そして、ドライブレコーダ6と長期署名サーバ3が協働してES−A(1st)作成処理を行う(ステップ400)。
このようにして長期署名データ(ES−A)が作成される。
そして、図示しないが、作成されたES−A(1st)は、有効なうちに、ATS(2nd)を付与してES−A(2nd)に更新され、以下、長期署名データの有効性が失われないように世代を重ねていく。
【0059】
図6(b)は、ドライブレコーダ6が動画データのハッシュ値を長期署名サーバ3に送信した後、動画データを情報処理端末9に移動し、以後の処理を情報処理端末9で行う場合の変形例である。
この場合、ステップ100〜ステップ300は、図6(a)と同じである。
そして、長期署名サーバ3は、ES−XL作成処理の後、情報処理端末9と協働してES−A(1st)作成処理を行う。
【0060】
長期署名データの作成手順は、大きく分けて、以上のようなフェーズから構成されているが、以下に、これら各フェーズの詳細な手順を説明する。
図7は、ステップ100のES作成処理を説明するためのフローチャートである。
【0061】
まず、ドライブレコーダ6は、カメラ7で被写体の動画を所定時間更新しながら撮影する。
そして、ドライブレコーダ6は、衝突などのイベントが発生すると、イベント発生時点から所定時間後まで動画データをデータ格納部32(図4)に記憶する(ステップ105)。
これにより、例えば、イベント発生前20秒からイベント発生後10秒までの動画データが記憶される。
ドライブレコーダ6は、動画データを記憶すると、当該動画データの動画ハッシュ値を計算し、当該計算した動画ハッシュ値を長期署名サーバ3に送信する(ステップ110)。
【0062】
長期署名サーバ3は、ドライブレコーダ6から動画ハッシュ値を受信すると(ステップ115)、後に電子署名するのに用いる秘密鍵の公開鍵証明書をデータ格納部47(図5(a))から取得し、署名前XAdESデータのフォーマットをXMLによって作成する(ステップ120)。
次に、長期署名サーバ3は、署名前XAdESデータにKeyInfoのエリアを作成し、これに電子署名に用いる公開鍵証明書を設定する(ステップ125)。
次に、長期署名サーバ3は、公開鍵証明書のハッシュ値を計算すると共に(以下、公開鍵証明書ハッシュ値)、署名前XAdESデータに署名対象プロパティのエリアを作成し、ここに公開鍵証明書ハッシュ値を設定する(ステップ130)。
【0063】
次に、長期署名サーバ3は、署名対象プロパティハッシュ値を計算し(ステップ135)、署名前XAdESデータにSignedInfoのエリアを作成して、ここにドライブレコーダ6から受信した動画ハッシュ値と署名対象プロパティハッシュ値を設定する。
長期署名サーバ3は、このようにしてSignedInfoを作成すると、署名前XAdESデータからSignedInfoエリアを抽出してデータ格納部47(図5(a))に記憶した秘密鍵で電子署名し(ステップ140)、ESを完成させる(ステップ145)。
このように、長期署名サーバ3は、動画データをドライブレコーダ6に保持したままESを作成することができる。
【0064】
図8は、ステップ200のES−T作成処理を説明するためのフローチャートである。
まず、長期署名サーバ3は、ステップ100で作成したESを処理対象として入力する(ステップ205)。この際に、ESを検証するように構成することもできる。
次に、長期署名サーバ3は、ESからSignatureValueエリアを抽出し(ステップ210)、SignatureValueのハッシュ値を計算する(ステップ215)。
【0065】
次いで、長期署名サーバ3は、SignatureValueのハッシュ値に対するタイムスタンプを要求するためのTSQ(Time−stamp Request)を生成し、タイムスタンプサーバ2に送信する(ステップ220)。
タイムスタンプサーバ2は、TSQを受信すると、現在日時刻の付与後、タイムスタンプ用の秘密鍵で署名してTST(Time Stamp Token)を発行する。
そして、タイムスタンプサーバ2は、発行したTSTを用いてTSR(Time−stamp Responce)を生成し、長期署名サーバ3に送信する(ステップ225)。
【0066】
長期署名サーバ3は、タイムスタンプサーバ2からTSRを受信し、TSRからTSTを抽出する(ステップ230)。
そして、長期署名サーバ3は、ES−Tに署名タイムスタンプエリアを作成してTSTをSTS(署名タイムスタンプ)として設定し、ES−Tの作成を完了する(ステップ235)。
【0067】
図9は、ステップ300のES−XL作成処理を説明するためのフローチャートである。
まず、長期署名サーバ3は、ステップ200で作成したES−Tを処理対象として入力する(ステップ305)。
【0068】
次に、長期署名サーバ3は、ES−Tから必要な証明書情報を割り出して、次のように収集する。
まず、長期署名サーバ3は、ドライブレコーダ6の公開鍵証明書を検証するための認証局による署名証明書を取得し(ステップ310)、更に、当該署名証明書のルート証明書を取得する(ステップ315)。
次いで、長期署名サーバ3は、署名タイムスタンプを証明するためのTSA証明書を取得し(ステップ320)、次いで、当該TSA証明書のルート証明書を取得する(ステップ325)。これら取得対象の証明書群は長期署名サーバ3に記憶されている。
【0069】
次に、長期署名サーバ3は、証明書群の各証明書から、ドライブレコーダ6の公開鍵証明書やSTSの公開鍵証明書、これらを検証するための認証局の証明書などが失効リストにリストアップされていないことを確認するために必要な失効情報を割り出し、これらを次のように収集する。
【0070】
なお、署名証明書は、例えば、正当な署名鍵所有者が鍵を紛失したなどの理由で、認証局に対して失効申請が行われているのにもかかわらず、失効手続きの事務処理や失効情報公開タイミングの関係で、失効情報にその失効状態が登録されていない可能性がある。
このような場合、失効してから失効情報に登録されるまで時間を要するので、長期署名サーバ3は、証明書群を作成した後、一定期間経過後(署名証明書を発行した認証局の運用ポリシーに基づく、例えば、24時間、あるいは数日)に失効情報を収集する。
【0071】
まず、長期署名サーバ3は、CAのリポジトリサーバ10にアクセスし、収集した署名証明書のCRL(Certificate Revocation List)を要求する(ステップ330)。
これに対し、リポジトリサーバ10は、長期署名サーバ3に署名証明書のCRLを送信する(ステップ335)。
ここで、CRLは、失効した証明書を一覧したリストであって、証明書とCRLを照合することにより証明書が有効であるか否かを判断するためのものである。
【0072】
次に、長期署名サーバ3は、リポジトリサーバ10に署名証明書のルート証明書のARL(Authority Revocation List)を要求する(ステップ340)。
これに対し、リポジトリサーバ10は、長期署名サーバ3に署名証明書のルート証明書のARLを送信する(ステップ345)。
ここで、ARLは、失効した自己署名証明書などのリストである。ルートのCAは、証明書信頼チェーンにおいて最上位に位置するため、ルートのCAは、自己を自己署名証明書にて証明する。そして、ルート証明書とARLを照合することによりルート証明書が有効であるか否かを判断することができる。
【0073】
署名証明書のCRLによって署名証明書の有効性が検証でき、署名証明書のルート証明書のARLによって署名証明書のルート証明書の有効性が検証でき、署名証明書、及び署名証明書のルート証明書の検証によりドライブレコーダ6による署名の正当性を検証することができる。
【0074】
次に、長期署名サーバ3は、TSA−CAのリポジトリサーバ11にアクセスし、TSA証明書のCRLを要求する(ステップ350)。
これに対し、リポジトリサーバ11は、長期署名サーバ3にTSA証明書のCRLを送信する(ステップ355)。
次に、長期署名サーバ3は、リポジトリサーバ11にTSA証明書のルート証明書のARLを要求する(ステップ360)。
これに対し、リポジトリサーバ11は、長期署名サーバ3にTSA証明書のルート証明書のARLを送信する(ステップ365)。
【0075】
TSA証明書のCRLによってTSA証明書の有効性が検証でき、TSA証明書のルート証明書のARLによってTSA証明書のルート証明書の有効性が検証でき、TSA証明書、及びTSA証明書のルート証明書の検証によりSTSの正当性を検証することができる。
【0076】
ドライブレコーダ6は、以上のようにして、証明書群と失効情報群を収集すると、これらを用いて証明書信頼チェーンの階層による認証パスを構築し、これをES−Tに追加して、ES−XLを作成する(ステップ370)。
【0077】
図10は、ステップ400のES−A(1st)作成処理を説明するためのフローチャートである。
まず、長期署名サーバ3は、ステップ300で作成したES−XLを処理対象として入力する(ステップ405)。この際に、長期署名サーバ3が、ES−XLを検証するように構成することもできる。
次に、長期署名サーバ3は、長期署名データにATSエリアを作成する(ステップ410)。
【0078】
長期署名サーバ3は、ATSエリアを作成し、ES−A(1st)を作成する準備が整うと、準備完了通知をドライブレコーダ6に送信する(ステップ415)。
ドライブレコーダ6は、当該通知を受信すると、動画データを読み込んで取得する(ステップ420)。
長期署名サーバ3は、ドライブレコーダ6に準備完了通知を送信すると、ES−A(1st)用のハッシュ値対象データ作成用データを作成する(ステップ425)。
【0079】
具体的には、長期署名サーバ3は、ES−XLから、署名対象プロパティ、SignedInfo、SignatureValue、KeyInfo、STS、証明書群、失効情報群を抽出して、これらを所定のフォームに従って設定することにより結合し、ハッシュ値対象データ作成用データを生成する。
なお、このハッシュ値対象データ作成用データは、ハッシュ値対象データから動画データを除いたものである。
長期署名サーバ3は、署名値対象データ作成用データを作成すると、これをドライブレコーダ6に送信する(ステップ425)。
【0080】
ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データを受信すると、これにステップ420で読み込んだ動画データを追加し(ステップ430)、ハッシュ値対象データを作成する。
次に、ドライブレコーダ6は、ハッシュ値対象データのハッシュ値を計算し、長期署名サーバ3に送信する(ステップ435)。
長期署名サーバ3は、ドライブレコーダ6から当該ハッシュ値を受信する(ステップ440)。
【0081】
長期署名サーバ3は、ハッシュ値対象データのハッシュ値を受信すると、これにタイムスタンプを要求するためのTSQを生成してタイムスタンプサーバ2に送信する(ステップ445)。
タイムスタンプサーバ2は、TSQを受信すると、TSQからハッシュ値対象データのハッシュ値を取り出し、これに現在日時刻を付与して秘密鍵で署名することによりTSTを発行する。
そして、タイムスタンプサーバ2は、STSを用いてTSRを生成し、長期署名サーバ3に送信する(ステップ450)。
【0082】
長期署名サーバ3は、タイムスタンプサーバ2からTSRを受信すると(ステップ455)、これからTSTを抽出する(ステップ460)。
そして、長期署名サーバ3は、抽出したTSTをATS(1st)としてES−XLに追加し、ES−A(1st)を生成してドライブレコーダ6に送信する(ステップ465)。
【0083】
そして、ドライブレコーダ6は、長期署名サーバ3からES−A(1st)を受信して記憶する(ステップ470)。
以上のようにして、動画データをドライブレコーダ6の内部に保持したまま、長期署名サーバ3で長期署名データ(ES−A(1st))を作成することができる。
【0084】
なお、変形例として、ドライブレコーダ6が行った処理(ステップ420、430、435、470)は、ドライブレコーダ6から動画データを取得した情報処理端末9が行ってもよい。
この場合、ステップ415の通知先として、予め情報処理端末9を長期署名サーバ3に登録しておき、長期署名サーバ3は、情報処理端末9に準備完了通知を送信する。
【0085】
また、更なる変形例として、動画データを長期署名サーバ3にアップロードし、ステップ400のES−A(1st)作成処理の全てを長期署名サーバ3で行うように構成することもできる。
図11のフローチャートは、この場合の処理を説明するための図である。図10と同じステップには同じステップ番号が付してある。
この場合、ドライブレコーダ6(又は情報処理端末9)は、動画データを長期署名サーバ3に送信し(ステップ403)、長期署名サーバ3は、これを受信して記憶する。
そして、長期署名サーバ3は、ハッシュ値対象データ作成用データを作成し(ステップ427)、ハッシュ値対象データ作成用データに当該動画データを追加して(ステップ433)、ハッシュ値を計算する(ステップ438)。
【0086】
この更なる変形例では、更に、動画データと長期署名データ(ES−A(1st))を長期署名サーバ3で記憶し、長期署名サーバ3を証拠保管サーバとして利用することもできる。
そして、ES−A(2nd)や更に次世代への更新を全て長期署名サーバ3で行うように構成することもできる。
このように長期署名サーバ3を証拠保管サーバとすると、ユーザは、動画データや長期署名データを保管する必要や、ES−A(2nd)や更に次世代のES−Aへの更新手続をする必要がなく、ユーザの負担を軽減することができる。
【0087】
以上のようにして作成されたES−A(1st)は、クライアント側で保存されるが、ATS(1st)の有効性が失われる前に、ES−A(1st)にATS(2nd)を付与してES−A(2nd)に更新する必要がある。そこで、次にES−A(2nd)に更新する手順について説明する。
【0088】
図12は、ES−A(2nd)を作成する手順を説明するためのフローチャートである。
なお、以下でドライブレコーダ6が行う処理は、情報処理端末9によって行うこともできる。
まず、ドライブレコーダ6は、ES−A(1st)を長期署名サーバ3に送信する(ステップ505)。ドライブレコーダ6でES−A(1st)が入力された際に、これを検証するように構成することもできる。
長期署名サーバ3は、ドライブレコーダ6からES−A(1st)を受信する(ステップ510)。
そして、長期署名サーバ3は、ES−A(1st)からATS(1st)に必要な証明書情報を割り出して、これらを以下のように収集する。
【0089】
まず、長期署名サーバ3は、ATS(1st)のTSA証明書を取得し(ステップ515)、更に、TSA証明書のルート証明書を取得する(ステップ520)。これらの証明書は、長期署名サーバ3に記憶されている。
次に、長期署名サーバ3は、TSA−CAのリポジトリサーバ11にアクセスし、ATS(1st)のTSA証明書のCRLを要求し(ステップ525)、リポジトリサーバ11は、長期署名サーバ3にCRLを送信する(ステップ530)。
そして、長期署名サーバ3は、CRLを受信する。
【0090】
次に、長期署名サーバ3は、リポジトリサーバ11にATS(1st)のTSA証明書のルート証明書のARLを要求し(ステップ535)、リポジトリサーバ11は、長期署名サーバ3に当該ルート証明書のARLを送信する(ステップ540)。
そして、長期署名サーバ3は、ARLを受信する。
【0091】
次に、長期署名サーバ3は、これら証明書群(TSA証明書、TSA証明書のルート証明書)と失効情報群(CRL、ARL)から認証パスを構築する(ステップ545)。
次に、長期署名サーバ3は、収集した証明書群と失効情報群を、それぞれATS(1st)のcertificatesエリア及びcrlsエリアに追加してATS(1st)を更新する(ステップ550)。
なお、ATS(1st)を更新しても、改竄にならないのは、証明書や失効情報を追加したエリアがATS(1st)の署名対象エリアに含まれていないからである。
次に、長期署名サーバ3は、ATS(1st)を更新したES−A(1st)にATS(2nd)用のエリアを作成し、ES−A(2nd)を作成する準備が整った旨の準備完了通知をドライブレコーダ6に送信する(ステップ555)。
【0092】
それ以降の処理は、図10のステップ420以下と同じであり、動画データをドライブレコーダ6の内部に保持したまま長期署名サーバ3でES−A(2nd)を作成することができる。
即ち、長期署名サーバ3は、ハッシュ値対象データ作成用データを作成してドライブレコーダ6に送信する。
【0093】
そして、ドライブレコーダ6は、ハッシュ値対象データ作成用データに動画データを加えてハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、当該ハッシュ値をタイムスタンプサーバ2に送信してタイムスタンプを発行してもらい、これをES−A(1st)に追加してES−A(2nd)を作成する。
ES−A(3rd)、ES−A(4th)など後の世代も同様にして作成される。
【0094】
図13は、長期署名システム1の変形例を説明するための図である。
先に説明した本実施の形態では、ドライブレコーダ6の動画データに対して長期署名を行ったが、本変形例では、クライアント側に設置された情報処理端末9の原本データに対して長期署名を発行する。
情報処理端末9は、クライアント側に設置されている。クライアントは、例えば、企業や個人ユーザなどである。
このように、本変形例では、企業や個人が仕事などで作成した原本データ(電子文書など)を外部に出すことなく、これに対して長期署名データを作成することができる。
【0095】
情報処理端末9には、長期署名の対象となる原本データが記憶されている。原本データは、例えば、電子文書や動画、静止画、音声などの電子データで構成されている。
長期署名サーバ3には、クライアントの秘密鍵と当該秘密鍵に対応する公開鍵の公開鍵証明書などが記憶されている。
クライアントが複数ある場合、長期署名サーバ3は、クライアントに対応づけて秘密鍵と公開鍵証明書を記憶し、これらをクライアントごとに管理する。
【0096】
以上のように構成された長期署名システム1において、情報処理端末9は、原本データのハッシュ値を計算して長期署名サーバ3に送信する。
すると、長期署名サーバ3は、先に説明した実施の形態の動画データと同様にして長期署名データを生成する。
本変形例によれば、ユーザの秘密鍵や公開鍵証明書は証明センタで管理するため、例えIT技術に疎遠なユーザでも長期署名サービスを安心して受けることができる。
【0097】
以上に説明した実施の形態や変形例により、次のような効果を得ることができる。
(1)ドライブレコーダ6は、イベントが発生した場合に、動画ハッシュ値を長期署名サーバ3に送信すればよいため、少ない通信負荷で動画データに長期署名することができる。
(2)ドライブレコーダ6は、イベントが発生した場合に、動画ハッシュ値を計算して長期署名サーバ3に送信してしまうため、以降の動画データの改竄を防止することができる。
(3)長期署名に用いる秘密鍵は長期署名サーバ3が管理するため、ドライブレコーダ6で秘密鍵を管理する必要がない。
(4)ドライブレコーダ6から情報処理端末9に動画データを移動した後に、情報処理端末9で引き続き処理を続行することができるため、ドライブレコーダ6が廃棄されるなど、使用不可となった場合でも長期署名データの作成・維持のための処理を行うことができる。
(5)動画データを用いる処理だけドライブレコーダ6(又は情報処理端末9)で行い、XMLの解析、電子署名、タイムスタンプ、検証情報の取得など、コンピュータの負荷が高い処理は長期署名サーバ3で行うため、ドライブレコーダ6(又は情報処理端末9)の負荷を小さくすることができる。
(6)動画データをユーザ側に保持したまま、長期署名データの作成をアウトソースすることができ、ユーザ環境に長期署名システムを構築する必要がないため、ユーザが運用管理(ログ監視、失敗監視、リカバリ処理等)を行う必要がない。
(7)ユーザ環境に長期署名システムを構築しないため、ユーザ環境からタイムスタンプ及び失効情報を取得するためのネットワーク設定(IP、ポートを開く等)が必要ない。
(8)認証パスの取得のための署名証明書のルート証明書及びTSA証明書のルート証明書などは、長期署名サーバ3が有しているため、これらの情報をユーザ環境で保持する必要がない。そのため、例えば、TSAが認証局を変更する場合であっても、ユーザ環境で新しい認証局証明書(ルート証明書や中間証明書)を登録しなおす必要がない。
(9)タイムスタンプは、長期署名サーバ3が取得するため、ドライブレコーダ6や情報処理端末9のユーザ側は、TSAと契約する必要がない。
(10)長期署名フォーマットのバージョンアップや暗号アルゴリズムの危殆化発生時には、長期署名サーバ3が対応し、ユーザ側が対応する必要がない。なお、ハッシュ関数が危殆化した場合は、ユーザ側装置のハッシュ関数を変更する必要がある。この場合、予め想定される最新の複数のハッシュ関数をユーザ側に埋め込んでおき、スイッチで切り替えられるとか、毎回、複数のハッシュ関数で計算したハッシュ値群をサーバに送るように構成してもよい(大したサイズではない)。
(11)長期署名データの生成を長期署名サーバ3にアウトソースすることにより、例えば、長期署名システムは必要だが処理文書数が見積もれないため、初期コストをかけられない、長期署名システムを運用するための要員を確保できないため自社内にサーバシステムを持てない、原本データは、社内から持ち出したくない、といった顧客の要望を満たすソリューションを提供することができる。
(12)長期署名フォーマットを利用することにより、電子署名の有効性を延長したり、暗号アルゴリズムの危殆化に対応することが可能となる。
(13)署名対象文書に対して、署名鍵で署名を行い、署名タイムスタンプを付与してES−Tを作成し、ES−Tに対して必要な検証情報(認証パス及び失効情報)を収集・付与し、アーカイブタイムスタンプを付与してES−Aを作成する処理を機密を確保してクラウドで行うシステムを提供することができる。
(14)ドライブレコーダ6は、動画データを長期署名サーバ3に送信することも可能であるが、データサイズが大きいことや、即時性が求められることもあり、データサイズの小さいハッシュ値を先に送り、署名及び署名タイムスタンプを証明センタ(長期署名サーバ3)に依頼することができる。
(15)ドライブレコーダ6と情報処理端末9の接続を長期署名サーバ3とし、タイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11と接続しないため、ドライブレコーダ6と情報処理端末9の接続先を可能な限り少なくすることができ、接続先が多いことによるセキュリティホールの増大を防ぐことができる。
【0098】
以上説明した本実施の形態により、次の構成を得ることができる。
長期署名システム1において、長期署名サーバ3は、長期署名用サーバとして機能し、ドライブレコーダ6と情報処理端末9は、データ端末や長期署名用端末として機能している。
長期署名サーバ3は、ドライブレコーダ6から動画データをハッシュ関数によって計算した動画ハッシュ値を受信するため、データ端末(ドライブレコーダ6)から電子データ(動画データ)を所定の関数(ハッシュ関数)によって計算した電子データ関数値(動画ハッシュ値)を受信する電子データ関数値受信手段を備えている。
また、長期署名サーバ3は、当該動画ハッシュ値を用いて署名前XAdESデータを作成するが、署名前XAdESデータは、電子署名の署名対象であるため、署名対象データとして機能している。そして、長期署名サーバ3は、署名前XAdESデータに電子署名して署名値を生成するため、前記受信した電子データ関数値(ハッシュ値)を用いて署名対象データ(署名前XAdESデータ)を生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段を備えている。
ESは、署名対象データと電子署名値を含んでおり、長期署名サーバ3は、タイムスタンプサーバ2のTSTによってこれらのSTSを取得するため、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段を備えている。
更に、長期署名サーバ3は、ESの電子署名に用いた秘密鍵の公開鍵証明書と、STSの証明書を検証するための証明書群と失効情報群を収集して検証情報を取得するため、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段を備えている。
ES−XLは、署名前XAdESデータ、署名値、STS、検証情報を含んでいるため、基本署名データとして機能する。
そのため、長期署名サーバ3は、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段を備えている。
更に、長期署名サーバ3は、ES−XLを所定期間検証するためのATS(1st)を取得してES−A(1st)を生成するため、前記生成した基本署名データ(ES−XL)を所定期間検証するための長期検証情報(ATS(1st))を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データ(ES−A(1st))を生成する長期署名データ生成手段を備えている。
【0099】
また、長期署名サーバ3は、ATS(1st)を生成するに際して、ハッシュ値対象データ作成用データを生成してドライブレコーダ6(情報処理端末9)に送信し、ハッシュ値対象データ作成用データに動画データを加えて計算したハッシュ値を受信するため、前記長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報を所定の端末(ドライブレコーダ6や情報処理端末9)に送信する長期検証情報作成用情報送信手段と、前記送信した長期検証情報作成用情報に前記電子データ(動画データ)を加えて所定関数(ハッシュ関数)で計算した長期検証用関数値(ハッシュ値)を前記所定の端末から受信する長期検証用関数値受信手段を備えている。
そして、長期署名サーバ3は、このハッシュ値にタイムスタンプを付与することによりATS(1st)を取得するため、前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得している。
【0100】
また、長期署名サーバ3は、ドライブレコーダ6や情報処理端末9から長期署名データを受信して、当該長期署名データの最も新しいATSを抽出し、当該ATSを所定期間検証するための次世代のATSを取得するため、所定の端末(ドライブレコーダ6や情報処理端末9)から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報(最も新しいATS)を抽出する長期検証情報抽出手段と、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報(次世代のATS)を取得する再度の長期検証情報取得手段を備えている。
そして、長期署名サーバ3は、次世代のATSを加えて長期署名データを更新することにより長期署名データの有効期間を延長するため、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新している。
【0101】
また、長期署名サーバ3は、次世代のATSを生成するに際して、ハッシュ値対象データ作成用データを作成してドライブレコーダ6(情報処理端末9)に送信し、ハッシュ値対象データ作成用データに動画データを加えて計算したハッシュ値を受信するため、再度の長期検証情報(次世代のATS)を作成するための再度の長期検証情報作成用情報(次世代のATSを生成するためのハッシュ値対象データ作成用データ)を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、前記送信した再度の長期検証情報作成用情報に前記電子データ(動画データ)を加えて所定関数(ハッシュ関数)で計算した再度の長期検証用関数値(ハッシュ値)を前記所定の端末から受信する再度の長期検証用関数値受信手段を備え、前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報(次世代のATS)を取得している。
【0102】
また、長期署名システム1では、動画データをドライブレコーダ6から情報処理端末9に移動しておき、情報処理端末9を通知先として受け付けて長期署名サーバ3に登録しておき、ES−A(1st)を生成する準備ができた場合に、長期署名サーバ3が情報処理端末9に通知を行うように構成することもできる。
そのため、長期署名サーバ3は、通知先(例えば、情報処理端末9)の登録を受け付ける通知先登録受付手段と、前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を生成した場合に、長期検証情報作成用情報生成通知(ES−A(1st)を生成する準備ができた旨の通知)を前記受け付けた通知先に通知する通知手段を備えている。
そして、この場合、長期署名サーバ3は、通知を送信した後、情報処理端末9にハッシュ値対象データ作成用データを送信するため、前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を送信する。
【0103】
また、ドライブレコーダ6が動画ハッシュ値を長期署名サーバ3に送信した後、動画データを長期署名サーバ3に送信し、以後の処理は全て長期署名サーバ3で行うように構成することもできる。
この場合、長期署名サーバ3は、ハッシュ値作成用データを作成した後、これに動画データを加えてハッシュ値を計算し、当該ハッシュ値にタイムスタンプを付与するため、所定の端末(ドライブレコーダ6や情報処理端末9)から前記電子データ(動画データ)を受信する電子データ受信手段と、前記長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報に前記受信した電子データ(動画データ)を加えて所定関数(ハッシュ関数)による長期検証用関数値(ハッシュ値)を計算する長期検証用関数値計算手段を備えており、前記長期検証情報取得手段は、前記計算した長期検証用関数値に(タイムスタンプサーバ2によって)タイムスタンプを付与して前記長期検証情報を取得する。
【0104】
ESを作成するための動画ハッシュ値の作成、及びハッシュ値対象データ作成用データを用いたハッシュ値の生成は、何れもドライブレコーダ6で行うことができるため、前記データ端末と前記所定の端末は同一端末とすることができる。
【0105】
一方、ドライブレコーダ6は、車両に設置され、カメラ7を用いて動画を撮影するため移動体(車両など)に搭載されたカメラで動画を撮影する動画撮影手段を備えている。
そして、衝突などのイベントを検出して、その際に、少なくともイベント発生所定時間前からイベント発生時までの動画を不揮発メモリ30に記憶するため、イベントの発生を検出するイベント検出手段と、前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段を備えている。
そして、ドライブレコーダ6は、記憶した動画ハッシュ値を計算して長期署名サーバ3に送信するため、前記記憶した動画を所定の関数(ハッシュ関数)で計算することにより前記動画に対応する関数値(動画ハッシュ値)を取得する関数値取得手段と、前記取得した関数値を所定のサーバ(長期署名サーバ3)に送信する関数値送信手段を備えている。
【0106】
また、ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データを受信して、これに動画データを加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信するため、前記送信した関数値(動画ハッシュ値)に対して行った電子署名を所定期間検証するための長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記撮影した動画(動画データ)を加えて所定関数(ハッシュ関数)による長期検証用関数値(ハッシュ値)を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバ(長期署名サーバ3)に送信する長期検証用関数値送信手段を備えている。
【0107】
また、ハッシュ値対象データ作成用データの処理は、ドライブレコーダ6の他、動画データを取得した情報処理端末9で行うこともできる。
この場合、情報処理端末9は、動画(動画データ)を取得する動画取得手段と、所定のサーバ(長期署名サーバ3)から、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記取得した動画(動画データ)を加えて所定関数(ハッシュ関数)による長期検証用関数値(ハッシュ値)を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値(ハッシュ値)を所定のサーバ(長期署名サーバ3)に送信する長期検証用関数値送信手段を備えている。
【0108】
次に、図14のフローチャートを用いて長期署名データの検証方法について説明する。
以下の検証者端末は、長期署名データと原本データ(長期署名データによる検証対象となるデータ、ここでは動画データに相当し、原本ハッシュ値は動画ハッシュ値に相当する)を取得して、長期署名データを用いて原本データを検証するユーザの端末であって、ハードウェア的な構成は情報処理端末9と同じである。
例えば、甲が作成した長期署名データと原本データを乙が受け取り、乙が検証者端末でこれを検証する場合が想定される。
【0109】
検証者端末は、長期署名データと原本データを記憶している。
まず、検証者端末は、長期署名データを長期署名サーバ2に送信し(ステップ605)、長期署名サーバ2は、これを受信する(ステップ610)。
次に、検証者端末は、原本データのハッシュ値を計算して長期署名サーバ2に送信し(ステップ615)、長期署名サーバ2は、これを受信する(ステップ620)。
【0110】
次に、長期署名サーバ2は、原本ハッシュ値を検証する(ステップ625)。
この処理は、検証者端末から送信された原本ハッシュ値と、長期署名データのXAdES内の原本ハッシュ値を比較し、両者が一致することを確認することにより行われる。
次に、長期署名サーバ2は、公開鍵証明書(署名証明書)の検証を行う(ステップ630)。
この検証は、検証情報に含まれる証明書群、及び失効情報群を用いて、認証パスがつながること、及び認証パス上の証明書が失効していなかったことを確認することにより行われる。
【0111】
次に、長期署名サーバ2は、署名値を検証する(ステップ635)。
この検証は、SignatureValueの署名値を公開鍵証明書から取り出した公開鍵で復号化すると共に、SignedInfoのハッシュ値を計算し、当該復号化した値とハッシュ値が一致することを確認することにより行われる。
次に、長期署名サーバ2は、STSを検証する(ステップ640)。
この検証は、SignatureValueのハッシュ値を計算し、これと、STSに記載されているハッシュ値が一致することを確認することにより行われる。
【0112】
次に、長期署名サーバ2は、STS証明書(署名タイムスタンプ証明書)を検証する(ステップ645)。
この検証は、TSA証明書でTSA署名値を復号して確認するほか、検証情報に含まれる証明書群、及び失効情報群を用いて、STS証明書の認証パスがつながること、及び認証パス上の証明書が失効していなかったことを確認することにより行われる。
【0113】
次に、長期署名サーバ2は、ES−XLに含まれるデータからATSの対象データに原本データが結合される前のデータを作成してハッシュ値対象データ作成用データを作成し、これを検証者端末に送信する(ステップ650)。
【0114】
検証者端末は、ハッシュ値対象データ作成用データを受信すると、これに原本データを結合して追加し、ハッシュ値対象データを作成する(ステップ655)。
次に、検証者端末は、ハッシュ値対象データのハッシュ値を計算して長期署名サーバ2に送信する(ステップ660)。
【0115】
長期署名サーバ2は、検証者端末から当該ハッシュ値を受信すると、これとATS(1st)に記載されているハッシュ値が一致することを確認することによりATS(1st)のハッシュ値を検証する(ステップ665)。
次に、長期署名サーバ2は、ATS(1st)の証明書の認証パスを作成するための証明書(ルート証明書)を自サーバ内から取得する(ステップ670)。
【0116】
次に、長期署名サーバ2は、当該認証パス上の証明書の失効情報をリポジトリサーバ11から取得する(ステップ675、680)。
そして、長期署名サーバ2は、認証パスがつながること、認証パス上の証明書が失効していないことを確認することによりATS(1st)の証明書の検証を行う(ステップ685)。
【0117】
次に、長期署名サーバ2は、その他、XAdESの検証を行う(ステップ690)。
この検証は、各証明書、各失効情報、各タイムスタンプ間の時刻の整合性が取れることの確認、フォーマットの整合性の確認などにより行われる。
長期署名サーバ2は、以上の検証による検証結果を生成して検証者端末に送信する(ステップ695)。
そして、検証者端末は、長期署名サーバ2から検証結果を受信して検証者に提示する(ステップ700)。
なお、ATSがATS(2nd)、ATS(3rd)と更に下の世代が存在する場合も同様にして検証する。
【0118】
以上のように、上の検証方法によると、検証者は原本データを検証者端末に保持したまま長期署名サーバ2で長期署名データの検証を行うことができる。
そのため、例えば、甲が原本データと長期署名データを乙に提供し、原本データを甲乙以外の者に渡したくない場合に、乙は原本データを長期署名サーバ2に提供せずに長期署名データによる原本データの正当性を確認することができる。
【0119】
また、例え、ES−Tの生成で用いたアルゴリズムが危殆化したとしてもATS(1st)の生成に用いたアルゴリズムが危殆化するまではES−A(1st)の証拠性は失われない。
そして、ATS(1st)の生成に用いたアルゴリズムが危殆化する可能性がある場合は、更に最新のアルゴリズムでATS(2nd)を付与すれば証拠性は失われない。
以降、最新のアルゴリズムで世代を重ねていくことにより証拠性を未来に渡って維持することができる。
【0120】
以上に説明した検証方法により、次の構成を得ることができる。
署名対象データと前記署名対象データを検証する検証情報、及び前記署名対象データと検証情報を所定期間検証する長期検証情報を含む長期検証情報を用いて構成され、原本データの正当性を検証するための長期署名データを検証者端末から受信する長期署名データ受信手段と、前記署名対象データに含まれる所定の情報を抽出して長期検証情報作成用情報を作成し、当該作成した長期検証情報作成用情報を前記検証者端末に送信する長期検証情報作成用情報送信手段と、前記検証者端末から、前記送信した長期検証情報作成用情報に前記原本データを加えて所定の関数で計算した長期検証情報作成用関数値を受信する長期検証情報作成用関数値受信手段と、前記受信した長期検証情報作成用関数値を用いて前記長期検証情報を検証する長期検証情報検証手段と、を具備したことを特徴とする長期署名検証用サーバ(第1の構成)。
前記検証情報を用いて前記署名対象データを検証する署名対象データ検証手段を具備し、前記長期検証情報検証手段は、前記署名対象データ検証手段が検証した後に前記長期検証情報を検証することを特徴とする第1の構成の長期署名検証用サーバ(第2の構成)。
【0121】
このように、本実施の形態は、原本データをサーバ側に渡さずにサーバ側で原本データに対する署名を検証することができる。
この場合、端末は、原本データの所定関数による関数値と、当該原本データの署名データ(原本データの関数値を秘密鍵で暗号化した署名値、当該秘密鍵に対応する公開鍵の公開鍵証明書)を送信し、サーバは、署名値を公開鍵で復号化して関数値を取り出し、当該取り出した関数値と端末が送信してきた関数値を比べることにより原本データの正当性を判断すると共に、認証パスに係る証明書を用いて公開鍵証明書の正当性を確認する。
更に、署名データが長期署名である場合には、サーバは、署名データを構成する情報を用いて長期署名を確認するための関数値を作成するための情報から原本データを除いた情報を作成して端末に送信する。
これに対し、端末は、当該情報に原本データを加えて所定関数による関数値を計算してサーバに送信し、サーバは当該関数値を用いて長期署名の正当性を検証する。
【符号の説明】
【0122】
1 長期署名システム
2 タイムスタンプサーバ
3 長期署名サーバ
4 ネットワーク
5 基地局
6 ドライブレコーダ
7 カメラ
8 車両
9 情報処理端末
10 リポジトリサーバ
11 リポジトリサーバ
【技術分野】
【0001】
本発明は、長期署名用サーバ、ドライブレコーダ、及び長期署名用端末に関し、例えば、長期署名を行うものに関する。
【背景技術】
【0002】
近年、車両に周囲や内部などの状況を撮影するカメラを設置し、走行中にこれによって動画を撮影するドライブレコーダが普及しつつある。
ドライブレコーダは、動画データを更新しながらメモリに記憶することにより、過去から現在に至る所定の記録時間(例えば30秒)の動画データをメモリに記憶する。
そして、衝突事故などの所定のイベントが発生すると、イベント発生後の所定時間経過後(例えば、10秒)に動画データの更新を停止する。
これにより、上の例では、イベント発生前の20秒からイベント発生の10秒後までの動画データが記憶され、当該動画データによりイベント発生時の状況を検証することができる。
ところで、このようにして記録された動画データは、撮影日時刻と非改竄性を保証することにより証拠能力を持たせることが重要である。
【0003】
一方、電子データの非改竄性を証明するために、電子データを秘密鍵で暗号化することにより電子署名を行い、当該秘密鍵に対応する公開鍵で電子データを復号化することにより検証する電子署名が広く利用されている。
一般に電子署名には有効期限が存在するが、これを延長するものとして特許文献1に示されているように、電子署名の有効性を永続させるための電子署名フォーマット(以下、長期署名フォーマット)が規定されている。
この規定は、海外においては、RFC5126やETSI TS 101 733で定義され、日本では、JIS規格(JIS X 5092/5093)で定義されている。
【0004】
ドライブレコーダで記録した動画データは、証拠として用いられるため、長期に渡って撮影日時刻と非改竄性が保証できることが望ましく、上記長期署名を行うことが考えられる。
しかし、動画データに長期署名を行うためには、ドライブレコーダに長期署名機能を設けるか、ドライブレコーダから長期署名サーバに動画データを送信する必要があるが、ドライブレコーダに長期署名機能のような高度な機能を実装することは現実的ではなく、また、ドライブレコーダから長期署名サーバに動画データを送信する場合、動画データのデータ量が大きいため、データの送信が困難であるという問題があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2003−533940号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、クライアント側の負担を軽減しつつ、クライアント側とサーバ側が協働して長期署名を行うことを目的とする。
【課題を解決するための手段】
【0007】
本発明は、前記目的を達成するために、請求項1に記載の発明では、データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、を具備したことを特徴とする長期署名用サーバを提供する。
請求項2に記載の発明では、前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報を所定の端末に送信する長期検証情報作成用情報送信手段と、前記送信した長期検証情報作成用情報に前記電子データを加えて所定関数で計算した長期検証用関数値を前記所定の端末から受信する長期検証用関数値受信手段と、を具備し、前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバを提供する。
請求項3に記載の発明では、所定の端末から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、を具備し、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新することを特徴とする請求項1、又は請求項2に記載の長期署名用サーバを提供する。
請求項4に記載の発明では、再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、
前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、を具備し、前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報を取得することを特徴とする請求項3に記載の長期署名用サーバを提供する。
請求項5に記載の発明では、通知先の登録を受け付ける通知先登録受付手段と、前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報を生成した場合に、長期検証情報作成用情報生成通知を前記受け付けた通知先に通知する通知手段と、を具備し、前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報を送信することを特徴とする請求項2、請求項3、又は請求項4に記載の長期署名用サーバを提供する。
請求項6に記載の発明では、所定の端末から前記電子データを受信する電子データ受信手段と、前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報に前記受信した電子データを加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、を具備し、前記長期検証情報取得手段は、前記計算した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバを提供する。
請求項7に記載の発明では、前記データ端末と前記所定の端末は同一端末であることを特徴とする請求項2から請求項6までのうちの何れか1の請求項に記載の長期署名用サーバを提供する。
請求項8に記載の発明では、移動体に搭載されたカメラで動画を撮影する動画撮影手段と、イベントの発生を検出するイベント検出手段と、前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段と、前記記憶した動画を所定の関数で計算することにより前記動画に対応する関数値を取得する関数値取得手段と、前記取得した関数値を所定のサーバに送信する関数値送信手段と、を具備したことを特徴とするドライブレコーダを提供する。
請求項9に記載の発明では、前記送信した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記撮影した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、を具備したことを特徴とする請求項8に記載のドライブレコーダを提供する。
請求項10に記載の発明では、動画を取得する動画取得手段と、所定のサーバから、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記取得した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、を具備したことを特徴とする長期署名用端末を提供する。
【発明の効果】
【0008】
本発明によれば、クライアント側が動画データのハッシュ値をサーバ側に送信してサーバ側で長期署名を行うことにより、クライアント側の負担を軽減しつつ、クライアント側とサーバ側が協働して長期署名を行うことができる。
【図面の簡単な説明】
【0009】
【図1】本実施の形態の概要を説明するための図である。
【図2】長期署名システムのネットワーク構成を説明するための図である。
【図3】長期署名データのフォーマットを説明するための図である。
【図4】ドライブレコーダのハードウェア的な構成を説明するための図である。
【図5】長期署名サーバなどのハードウェア的な構成を説明するための図である。
【図6】長期署名データを作成する手順を説明するためのフローチャートである。
【図7】ES作成処理を説明するためのフローチャートである。
【図8】ES−T作成処理を説明するためのフローチャートである。
【図9】ES−XL作成処理を説明するためのフローチャートである。
【図10】ES−A(1st)作成処理を説明するためのフローチャートである。
【図11】ES−A(1st)作成処理の変形例を説明するためのフローチャートである。
【図12】ES−A(2nd)を作成する手順を説明するためのフローチャートである。
【図13】長期署名システムの変形例を説明するための図である。
【図14】長期署名データの検証処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0010】
(1)実施形態の概要
図1は、本実施の形態の概要を説明するための図である。
長期署名データ(ES−A)は、XMLによって構成されており、図に示したように、ES、STS、ES−T、検証情報、ES−XL、ATSなどの各要素を用いて構成されている。
ATSには、第1世代のATS(1st)、第2世代のATS(2nd)、・・・など各世代のものがあり、これらによって、ES−Aは、第1世代のES−A(1st)、第2世代のES−A(2nd)などと構成される。
【0011】
ATS(n)(nは、1st、2nd、3rd、・・・)は、ES−A(n)の内容を証明するアーカイブタイムスタンプである。
長期署名データの作成時はES−A(1st)が作成され、ATS(1st)の有効期限が切れる前にATS(2nd)を作成してES−A(2nd)に更新する、といったように、ES−A(n)の有効期限が切れる前にES−A(n+1)に更新することにより長期署名データの有効期限を永続的に延長していくことができる。
【0012】
長期署名データの生成で、ドライブレコーダ6で撮影した動画データを使用するのは、ESとATSの生成に際して動画データのハッシュ値を用いるときである。
そこで、長期署名システム1は、ドライブレコーダ6と長期署名サーバ3に長期署名データの作成を分担させ、ドライブレコーダ6には、動画データのハッシュ値の計算を行わせ、長期署名サーバ3には、XMLの解析、長期署名フォーマットの生成、及び秘密鍵による電子署名などを行わせる。
【0013】
具体的な長期署名データの作成手順は、次の通りである。
ドライブレコーダ6は、衝突などのイベントを検出すると、イベント発生時を含む所定の記録時間の動画データを記憶媒体に記憶する。そして、ドライブレコーダ6は、当該動画データのハッシュ値を計算して長期署名サーバ3に送信する。
長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信すると、ES−A(1st)のフォーマットを作成し、ESの作成、STSの作成、検証情報の作成を行う。
続いて長期署名サーバ3は、ATS(1st)を作成するためのハッシュ値対象データ作成用データ(1st)を作成してドライブレコーダ6に送信する。
【0014】
ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データ(1st)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信し、これにタイムスタンプの付与を行ってATS(1st)を生成する。
そして、長期署名サーバ3は、ATS(1st)を用いてES−A(1st)を完成させてドライブレコーダ6に送信する。
【0015】
ところで、ES−A(1st)の有効期限は、例えば、数年など所定期間に設定されており、有効期限が切れる前に、ES−A(2nd)に更新する必要がある。
この場合、ドライブレコーダ6は、ES−A(1st)を長期署名サーバ3に送信し、長期署名サーバ3は、これからハッシュ値対象データ作成用データ(2nd)を作成してドライブレコーダ6に送信する。
ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データ(2nd)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、ドライブレコーダ6からハッシュ値を受信し、これにタイムスタンプの付与を行ってATS(2nd)を生成する。
そして、長期署名サーバ3は、ATS(2nd)を用いてES−A(2nd)を完成させてドライブレコーダ6に送信する。
以降、ES−A(2nd)、ES−A(3rd)、・・・の更新も同様に行う。
【0016】
イベント検出時のハッシュ値の送信は、動画データの改竄を防止するためにイベント検出直後にドライブレコーダ6から長期署名サーバ3に送信することが望ましいが、その後の処理は、情報処理端末9を用いて行うこともできる。
この場合、ドライブレコーダ6がハッシュ値を送信した後、動画データをドライブレコーダ6から情報処理端末9に移動する。
情報処理端末9は、例えば、ドライブレコーダ6のユーザのユーザ端末であってもよいし、あるいは、保険会社の会社端末であってもよい。
【0017】
そして、この変形例では、長期署名サーバ3は、ハッシュ値対象データ作成用データ(1st)を情報処理端末9に送信する。
情報処理端末9は、長期署名サーバ3からハッシュ値対象データ作成用データ(1st)を受信すると、これに動画を加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、情報処理端末9からハッシュ値を受信し、ATS(1st)を完成させてES−A(1st)の作成を完了する。
そして、長期署名サーバ3は、完成したES−A(1st)を情報処理端末9に送信する。
【0018】
検証情報を作成するためにはCA(認証局)の発行する失効情報を取得する必要があるが、これにはある程度の時間がかかり、また、ドライブレコーダ6は、イベント後にどの程度の期間動作するか不明確であるため、失効情報の取得を待つ間にドライブレコーダ6が動作しなくなる可能性もある。そのため、ドライブレコーダ6がイベント発生時にハッシュ値を送信した後は、速やかに動画データを情報処理端末9に移動し、以降の処理を情報処理端末9で行うとより確かに長期署名データを作成することができる。
【0019】
以上のようにして、長期署名システム1は、ドライブレコーダ6が長期署名データ作成機能を有していなくても、又は、ドライブレコーダ6が動画データを長期署名サーバ3に送信しなくても、ドライブレコーダ6が撮影した動画データから長期署名データを作成することができる。
【0020】
(2)実施形態の詳細
図2は、本実施の形態に係る長期署名システム1のネットワーク構成を説明するための図である。
長期署名システム1は、タイムスタンプサーバ2、長期署名サーバ3、ネットワーク4、基地局5、ドライブレコーダ6、情報処理端末9、CAのリポジトリサーバ10、CA−TSAのリポジトリサーバ11などを用いて構成されている。
車両8は、例えば、乗用車や運送車両などであるが、これに限定するものではなく、例えば、船舶や航空機など、各種の移動体とすることができる。
【0021】
ドライブレコーダ6は、車両8に搭載されており、カメラ7を備え、画像記憶装置として機能している。
カメラ7は、車両8の前方を撮影しており、ドライブレコーダ6は、これによる動画データを記憶する。
また、カメラ7を複数台設け、車両8の側方、後方、あるいは車内を撮影するように構成することもできる。
【0022】
ドライブレコーダ6は、例えば、記録時間が30秒間の動画データを更新しながらメモリに記憶する。
そして、ドライブレコーダ6は、事故などのイベントが発生した場合、動画データの更新を停止する。
例えば、イベント発生10秒後に動画データの更新を停止した場合、イベント発生の20秒前からイベント発生の10秒後までの動画データが記録される。
【0023】
このようにして、ドライブレコーダ6は、イベント発生時が含まれる動画データを記憶すると、当該動画データのハッシュ値を計算して長期署名サーバ3に送信する。以降、動画データのハッシュ値を動画ハッシュ値と呼ぶことにする。
なお、例えば、無線の通じないトンネル内でイベントが発生するなど、ネットワーク4に接続できない環境でイベントが発生した場合、ドライブレコーダ6は、ネットワーク4への接続を繰り返し行い、ネットワーク4への接続に成功した際に動画ハッシュ値を長期署名サーバ3に送信する。
【0024】
また、ドライブレコーダ6は、動画ハッシュ値を長期署名サーバ3に送信した後、長期署名サーバ3からハッシュ値対象データ作成用データ(ATSを作成する前段階の情報である)を受信し、これに動画データを加えてハッシュ値を計算し、長期署名サーバ3に送信する。
なお、ATSには、ATS(1st)、ATS(2nd)、・・・など各世代のものが存在し、これに対応してハッシュ値対象データ作成用データにもハッシュ値対象データ作成用データ(1st)、ハッシュ値対象データ作成用データ(2nd)、・・・など対応する世代のものが存在する。
【0025】
なお、本実施の形態では、長期署名サーバ3は、動画データを記録し、当該動画データのハッシュ値を長期署名サーバ3に送信するが、これはドライブレコーダ6が処理するデータを動画データに限定するものではなく、一般の画像データとすることができ、例えば、ドライブレコーダ6は静止画を記憶し、当該静止画のハッシュ値を長期署名サーバ3に送信するものであってもよい。
【0026】
長期署名サーバ3は、ネットワーク4を介してドライブレコーダ6や、タイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11と通信することができる。
長期署名サーバ3は、ドライブレコーダ6から受信した動画ハッシュ値やハッシュ値対象データ作成用データのハッシュ値に秘密鍵を用いた電子署名を行ったり、検証情報を作成したり、タイムスタンプサーバ2によるタイムスタンプを取得して長期署名データを生成したりする。
また、検証情報を作成する際に、電子署名に用いた秘密鍵の公開鍵証明書の失効情報、及びタイムスタンプに用いた秘密鍵の公開鍵証明書の失効情報が必要となるが、長期署名サーバ3は、これらの失効情報をリポジトリサーバ10、リポジトリサーバ11から収集する。
【0027】
タイムスタンプサーバ2は、TSA(Time Stamp Authority:タイムスタンプ局)が運営しているサーバであって、電子文書などの電子データにタイムスタンプを発行して時刻証明などを行うサーバであり、本実施の形態では、長期署名サーバ3が長期署名データを作成するに際してESやES−XL、ES−Aにタイムスタンプを発行する(それぞれタイムスタンプが付与されることでES−T、ES−A(1st)、ES−A(2nd)になる)。
タイムスタンプの発行は、ネットワーク4経由で送信されてきたタイムスタンプ発行対象の電子データに時刻を付与して秘密鍵で電子署名することにより行われる。
この電子署名の確認は、タイムスタンプに用いた秘密鍵に対応する公開鍵を用いて電子署名が復号化できたことを以て行うことができ、当該電子署名がタイムスタンプサーバ2によってなされたものであることを確認することができる。
【0028】
リポジトリサーバ10は、CA(Certificate Authority:認証局)が運営しているサーバであって、長期署名サーバ3が行った電子署名の検証に用いる公開鍵証明書(電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書)の失効情報を提供している。
第三者が長期署名サーバ3の秘密鍵の公開鍵証明書を用いて長期署名サーバ3の電子署名を検証する場合に、当該公開鍵証明書が失効情報に記載されていないことを確認することにより、当該公開鍵証明書が有効な状態で電子署名がなされたことを確認することができる。
失効情報は、例えば、24時間ごとなど、定期・不定期に最新のものに更新される。
【0029】
リポジトリサーバ11は、TSA−CA(Time Stamp Authority Certificate Authority:タイムスタンプ認証局)が運営するサーバであって、タイムスタンプの検証に用いる公開鍵証明書(タイムスタンプに用いた秘密鍵に対応する公開鍵の公開鍵証明書)の失効情報を提供する。
第三者がタイムスタンプの公開鍵証明書を用いてタイムスタンプサーバ2の電子署名を検証する場合に、当該公開鍵証明書が失効情報に記載されていないことを確認することにより、当該公開鍵証明書が有効な状態でタイムスタンプが発行されたことを確認することができる。
失効情報は、例えば、24時間ごとなど、定期・不定期に最新のものに更新される。
【0030】
情報処理端末9は、例えば、ドライブレコーダ6のユーザが有するPC(Personal Computer)などで構成されたユーザ端末や、保険会社などに設置された会社端末などの端末である。
ドライブレコーダ6が動画ハッシュ値を送信した後の処理は、必ずしもドライブレコーダ6が行う必要がないため、ドライブレコーダ6の動画データを情報処理端末9に移動し、後の処理は情報処理端末9で行うことができる。
また、イベントが発生した際に動画データの動画ハッシュが長期署名サーバ3に送信されているため、動画データを情報処理端末9に移動しても改竄することはできない。
【0031】
ネットワーク4は、例えば、インターネットや携帯電話網などの通信ネットワークによって構成されており、ドライブレコーダ6や情報処理端末9と長期署名サーバ3の間の通信、及び長期署名サーバ3とタイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11の間の通信を仲介する。
基地局5は、例えば、携帯端末などを携帯電話網などに接続する基地局であって、ドライブレコーダ6と無線回線により接続し、ドライブレコーダ6とネットワーク4との通信を仲介する。
【0032】
図3は、本実施の形態で使用する長期署名データのフォーマット(長期署名フォーマット)を説明するための図である。
本実施の形態の長期署名データは、XAdES(XML Advanced Electronic Signatures)の規定に従い、XML(Extensible Markup Language)言語を用いて記述されている。
なお、このフォーマットは一例であって、長期署名データのフォーマットをXMLに限定するものではない。
【0033】
署名前XAdESデータは、長期署名サーバ3が電子署名を行う対象となる署名対象データを格納したXML要素であって、KeyInfo、署名対象プロパティ、SignedInfoの各要素から構成されている。署名前XAdESデータを長期署名サーバ3が電子署名することによりESが生成される。
【0034】
KeyInfoには、長期署名サーバ3が電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書が設定されている。公開鍵証明書には、例えば、公開鍵、公開鍵の所有者、認証局、認証局の署名などが含まれている。
署名対象プロパティには、公開鍵証明書のハッシュ値が設定されている。
SignedInfoには、動画ハッシュ値、及び署名対象プロパティのハッシュ値(以下、署名対象プロパティハッシュ値)が設定されている。
【0035】
ESは、上記の署名前XAdESデータとSignatureValueを要素として構成されている。
SignatureValueには、SignedInfoを長期署名サーバ3が秘密鍵で署名した署名値が設定されている。
署名値によってSignedInfoが検証されると、これによって署名対象プロパティが検証され、更に署名対象プロパティによってKeyInfoが検証されるため、このように、長期署名サーバ3がSignedInfoに対して電子署名することにより、署名前XAdESデータに対する署名が行われる。
【0036】
ES−Tは、上記のESと署名タイムスタンプを要素として構成されている。
署名タイムスタンプには、ESに対して発行されたSTS(署名タイムスタンプ)が設定されている。STSは、タイムスタンプサーバ2において、ESのハッシュ値に現在日時刻を付与して、これをタイムスタンプサーバ2の秘密鍵で電子署名したものである。
【0037】
ES−XL(ES−XLong)は、上記のES−Tと検証情報を要素として構成されている。
検証情報は、証明書群と失効情報群を用いて構成されている。
証明書群は、長期署名サーバ3が署名に用いた秘密鍵の公開鍵証明書と、タイムスタンプサーバ2がタイムスタンプに用いた秘密鍵の公開鍵証明書の認証パス上の公開鍵証明書である。
この認証パスは、ルート認証局は自己署名証明書を発行し、そのルート認証局は子認証局に証明書を発行し、その子認証局は孫認証局に証明書を発行し、・・・、末端の認証局は、個人、証明書所有者に証明書を発行するという証明書信頼チェーンにおいて、公開鍵証明書の検証をルート認証局まで遡って確認するものである。
失効情報群は、証明書群に含まれる各公開鍵証明書の失効情報である。
【0038】
ES−A(1st)は、上記のES−XLとATS(1st)を要素として構成されている。
ATS(Archive Time Stamp:アーカイブタイムスタンプ)(1st)は、第1世代のATSであって、ES−XLを検証する情報、動画ハッシュ値、長期署名サーバ3による電子署名、タイムスタンプサーバ2によるタイムスタンプなどが含まれており、ATS(1st)によってES−XLの正当性を検証することができる。
【0039】
ES−A(2nd)は、ES−A(1st)とATS(2nd)を要素として構成されている。
ATS(2nd)は、第2世代のATSであって、ES−A(1st)を検証する情報、動画ハッシュ値、タイムスタンプサーバ2による電子署名、タイムスタンプサーバ2によるタイムスタンプなどが含まれており、ATS(2nd)によってATS(1st)の正当性を検証することができる。
図示しないが、更に、ES−A(2nd)とATS(3rd)を要素とするES−A(3rd)、ES−A(3rd)とATS(4th)を要素とするES−A(4th)、・・・と更に世代を続けることができる。
【0040】
以上のように構成された長期署名データの各世代は、次のようにして作成される。
まず、ES−XLまで作成し、署名タイムスタンプと検証情報が有効なうちにATS(1st)を取得し、ES−A(1st)を構築する。
そして、ATS(1st)が有効性を失う前(タイムスタンプトークンの公開鍵証明書の有効期限切れや失効前、あるいは、関連する暗号アルゴリズムの危殆化前)に、ATS(2nd)を取得して、ES−A(1st)をES−A(2nd)に更新する。
以下、同様にして現在のATSが有効性を失う前に次世代のATSを取得する処理を繰り返すことにより、ES−Aを更新していく。
このようにして、ES−XLに対してATSが時系列的に付与され、最新の世代のATSが有効期限内である長期署名データが得られる。
このようにして作成された長期署名データの検証については、後ほど詳細に説明する。
【0041】
図4は、ドライブレコーダ6のハードウェア的な構成を説明するための図である。
ドライブレコーダ6は、CPU21、ROM22、RAM23、時計部24、カメラ部25、カメラ7、通信部26、車両情報部27、イベント検出部28、緊急用電源29、不揮発メモリ30などから構成されている。
【0042】
CPU21は、所定のプログラムに従って各種情報処理やドライブレコーダ6の各部を制御する中央処理装置である。CPU21は、動画の撮影、動画ハッシュ値の計算、動画ハッシュ値の送信など、長期署名サーバ3が長期署名データを作成するために必要な処理を行う。
ROM22は、読み出し専用メモリであって、CPU21が実行するプログラムやパラメータなどを記憶している。
RAM23は、読み書きが可能なメモリであって、CPU21がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
【0043】
時計部24は、例えば、水晶発振器などを用いてクロックを出力する。ドライブレコーダ6は、時計部24が出力するクロックに同期して動作する。
カメラ7は、光学系を用いて被写体をCCD(Charge−Coupled Device)などに投影し、その画像を電気信号に変換することにより画像を撮影する。
カメラ部25は、カメラ7と接続されており、カメラ7で撮影された動画像からCPU21が処理可能な動画データを生成する。
【0044】
カメラ7は、ドライブレコーダ6の筐体に組み込まれ一体型として構成してもよいし、あるいは、カメラ7とカメラ部25を信号コードで接続し、カメラ7とドライブレコーダ6の筐体を別体として構成してもよい。
通信部26は、アンテナを備えており、基地局5との無線通信を行う。
車両情報部27は、GPSシステムから現在位置や現在時刻などを受信したり、車両8のシステムから車速や加速度などの走行状態に関する情報などを受信する。
【0045】
イベント検出部28は、動画データの更新を停止するイベントが発生したか否かを検出する。ここでは、イベントの一例として事故を想定しており、例えば、車両8が他車両と衝突したり、障害物と衝突した場合に、これらのイベントの発生を検出する。
このような機能を発揮するために、イベント検出部28は、加速度センサを備えており、車両8の加速度が所定値以上の場合にイベントの発生が検出される。
このように、ドライブレコーダ6は、イベントの発生を検出するイベント検出手段を備えている。
【0046】
緊急用電源29は、車両8からドライブレコーダ6に供給される電力が途絶えた場合に、ドライブレコーダ6に電力を供給する電力源であり、電池などで構成される。
ドライブレコーダ6は、例えば、トンネル内などでネットワーク4に接続できない場合、ネットワーク4に接続できるまで接続を試みるが、その場合、車両8からの電力が供給されない場合も想定されるため、補助電源として緊急用電源29を備えたものである。
【0047】
不揮発メモリ30は、読み書きが可能で電力が供給されなくても記憶内容を保持するメモリであり、例えば、フラッシュメモリなどを用いて構成されている。
不揮発メモリ30には、プログラム格納部31とデータ格納部32が形成されている。
プログラム格納部31には、CPU21が情報処理を行うための各種プログラムが記憶されており、データ格納部32には、カメラ7が撮影した動画データなどを記憶する。
【0048】
図では、プログラム格納部31とデータ格納部32を単一の不揮発メモリ30に形成したが、プログラム格納部31用のメモリとデータ格納部32用のメモリを別に用意し、データ格納部32用のメモリをドライブレコーダ6から着脱可能に構成することもできる。
不揮発メモリ30を着脱可能に構成すると、ユーザが不揮発メモリ30を情報処理端末9に装着して動画データを情報処理端末9に転送することができる。
また、ドライブレコーダ6に情報処理端末9と接続するためのインターフェースを用意し、これを用いてドライブレコーダ6から情報処理端末9に動画データを転送するように構成することもできる。
【0049】
図5(a)は、長期署名サーバ3のハードウェア的な構成を説明するための図である。
長期署名サーバ3は、CPU41、ROM42、RAM43、通信部44、記憶部45などから構成されている。
【0050】
CPU41は、所定のプログラムに従って各種情報処理や長期署名サーバ3の各部の制御を行う。具体的には、例えば、ドライブレコーダ6から動画ハッシュ値を受信し、タイムスタンプサーバ2やリポジトリサーバ10、リポジトリサーバ11と通信しながら長期署名データを作成する。
【0051】
ROM42は、読み出し専用メモリであって、長期署名サーバ3が動作するための基本的なプログラムやパラメータなどを記憶している。
RAM43は、読み書きが可能なメモリであって、CPU41がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
通信部44は、長期署名サーバ3をネットワーク4に接続する。長期署名サーバ3は、通信部44を介してドライブレコーダ6やタイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11などと通信することができる。
【0052】
記憶部45は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されている。
記憶部45には、プログラム格納部46とデータ格納部47が形成されている。
プログラム格納部46には、CPU41に上記の機能を発揮させるプログラムなどが記憶されている。
データ格納部47には、長期署名サーバ3が電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、公開鍵証明書を発行したCAの証明書、CAのルート証明書など、長期署名データを作成するために必要な情報が記憶されている。
【0053】
図5(b)は、タイムスタンプサーバ2のハードウェア的な構成を説明するための図である。
タイムスタンプサーバ2は、CPU51、ROM52、RAM53、タイムスタンプ部54、通信部55、記憶部56などから構成されている。
CPU51は、所定のプログラムに従って各種情報処理やタイムスタンプサーバ2の各部の制御を行う。具体的には、例えば、長期署名サーバ3からSignatureValueのハッシュ値を受信し、タイムスタンプ部54を用いてこれにタイムスタンプを発行して長期署名サーバ3に送信する。
【0054】
タイムスタンプ部54は、電子文書などの電子データにタイムスタンプを発行するモジュールである。
タイムスタンプ部54は、原子時計を備えており、正確な日時刻を計測している。
そして、タイムスタンプ部54は、タイムスタンプ用の秘密鍵を記憶しており、例えば、電子文書に原子時計で計測した日時刻を付加してこれを秘密鍵で暗号化して電子署名を行う。
この電子署名は、当該秘密鍵に対応する公開鍵で復号化することにより、電子データの内容とタイムスタンプ部54が付与した日時刻の正当性を確認できるため、タイムスタンプとして機能する。
【0055】
ROM52は、読み出し専用メモリであって、タイムスタンプサーバ2が動作するための基本的なプログラムやパラメータなどを記憶している。
RAM53は、読み書きが可能なメモリであって、CPU51がプログラムをロードしたり、各種情報処理を行う際のワーキングメモリを提供する。
通信部55は、タイムスタンプサーバ2をネットワーク4に接続する。タイムスタンプサーバ2は、記憶部45を介して長期署名サーバ3と通信することができる。
記憶部56は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、CPU51に上記の機能を発揮させるプログラムなどが記憶されている。
【0056】
リポジトリサーバ10、リポジトリサーバ11、及び情報処理端末9は、同様にCPU、ROM、RAM、記憶部、通信部、入出力部などから構成されている。
【0057】
図6(a)は、ドライブレコーダ6と長期署名サーバ3が長期署名データを作成する手順を説明するためのフローチャートである。
なお、以下の処理は、ドライブレコーダ6のCPU21と長期署名サーバ3のCPU41が所定のプログラムに従って行うものである。
まず、ドライブレコーダ6と長期署名サーバ3は、協働してES作成処理を行う(ステップ100)。
【0058】
次に、長期署名サーバ3が、ES−T作成処理(ステップ200)と、ES−XL作成処理を行う(ステップ300)。
そして、ドライブレコーダ6と長期署名サーバ3が協働してES−A(1st)作成処理を行う(ステップ400)。
このようにして長期署名データ(ES−A)が作成される。
そして、図示しないが、作成されたES−A(1st)は、有効なうちに、ATS(2nd)を付与してES−A(2nd)に更新され、以下、長期署名データの有効性が失われないように世代を重ねていく。
【0059】
図6(b)は、ドライブレコーダ6が動画データのハッシュ値を長期署名サーバ3に送信した後、動画データを情報処理端末9に移動し、以後の処理を情報処理端末9で行う場合の変形例である。
この場合、ステップ100〜ステップ300は、図6(a)と同じである。
そして、長期署名サーバ3は、ES−XL作成処理の後、情報処理端末9と協働してES−A(1st)作成処理を行う。
【0060】
長期署名データの作成手順は、大きく分けて、以上のようなフェーズから構成されているが、以下に、これら各フェーズの詳細な手順を説明する。
図7は、ステップ100のES作成処理を説明するためのフローチャートである。
【0061】
まず、ドライブレコーダ6は、カメラ7で被写体の動画を所定時間更新しながら撮影する。
そして、ドライブレコーダ6は、衝突などのイベントが発生すると、イベント発生時点から所定時間後まで動画データをデータ格納部32(図4)に記憶する(ステップ105)。
これにより、例えば、イベント発生前20秒からイベント発生後10秒までの動画データが記憶される。
ドライブレコーダ6は、動画データを記憶すると、当該動画データの動画ハッシュ値を計算し、当該計算した動画ハッシュ値を長期署名サーバ3に送信する(ステップ110)。
【0062】
長期署名サーバ3は、ドライブレコーダ6から動画ハッシュ値を受信すると(ステップ115)、後に電子署名するのに用いる秘密鍵の公開鍵証明書をデータ格納部47(図5(a))から取得し、署名前XAdESデータのフォーマットをXMLによって作成する(ステップ120)。
次に、長期署名サーバ3は、署名前XAdESデータにKeyInfoのエリアを作成し、これに電子署名に用いる公開鍵証明書を設定する(ステップ125)。
次に、長期署名サーバ3は、公開鍵証明書のハッシュ値を計算すると共に(以下、公開鍵証明書ハッシュ値)、署名前XAdESデータに署名対象プロパティのエリアを作成し、ここに公開鍵証明書ハッシュ値を設定する(ステップ130)。
【0063】
次に、長期署名サーバ3は、署名対象プロパティハッシュ値を計算し(ステップ135)、署名前XAdESデータにSignedInfoのエリアを作成して、ここにドライブレコーダ6から受信した動画ハッシュ値と署名対象プロパティハッシュ値を設定する。
長期署名サーバ3は、このようにしてSignedInfoを作成すると、署名前XAdESデータからSignedInfoエリアを抽出してデータ格納部47(図5(a))に記憶した秘密鍵で電子署名し(ステップ140)、ESを完成させる(ステップ145)。
このように、長期署名サーバ3は、動画データをドライブレコーダ6に保持したままESを作成することができる。
【0064】
図8は、ステップ200のES−T作成処理を説明するためのフローチャートである。
まず、長期署名サーバ3は、ステップ100で作成したESを処理対象として入力する(ステップ205)。この際に、ESを検証するように構成することもできる。
次に、長期署名サーバ3は、ESからSignatureValueエリアを抽出し(ステップ210)、SignatureValueのハッシュ値を計算する(ステップ215)。
【0065】
次いで、長期署名サーバ3は、SignatureValueのハッシュ値に対するタイムスタンプを要求するためのTSQ(Time−stamp Request)を生成し、タイムスタンプサーバ2に送信する(ステップ220)。
タイムスタンプサーバ2は、TSQを受信すると、現在日時刻の付与後、タイムスタンプ用の秘密鍵で署名してTST(Time Stamp Token)を発行する。
そして、タイムスタンプサーバ2は、発行したTSTを用いてTSR(Time−stamp Responce)を生成し、長期署名サーバ3に送信する(ステップ225)。
【0066】
長期署名サーバ3は、タイムスタンプサーバ2からTSRを受信し、TSRからTSTを抽出する(ステップ230)。
そして、長期署名サーバ3は、ES−Tに署名タイムスタンプエリアを作成してTSTをSTS(署名タイムスタンプ)として設定し、ES−Tの作成を完了する(ステップ235)。
【0067】
図9は、ステップ300のES−XL作成処理を説明するためのフローチャートである。
まず、長期署名サーバ3は、ステップ200で作成したES−Tを処理対象として入力する(ステップ305)。
【0068】
次に、長期署名サーバ3は、ES−Tから必要な証明書情報を割り出して、次のように収集する。
まず、長期署名サーバ3は、ドライブレコーダ6の公開鍵証明書を検証するための認証局による署名証明書を取得し(ステップ310)、更に、当該署名証明書のルート証明書を取得する(ステップ315)。
次いで、長期署名サーバ3は、署名タイムスタンプを証明するためのTSA証明書を取得し(ステップ320)、次いで、当該TSA証明書のルート証明書を取得する(ステップ325)。これら取得対象の証明書群は長期署名サーバ3に記憶されている。
【0069】
次に、長期署名サーバ3は、証明書群の各証明書から、ドライブレコーダ6の公開鍵証明書やSTSの公開鍵証明書、これらを検証するための認証局の証明書などが失効リストにリストアップされていないことを確認するために必要な失効情報を割り出し、これらを次のように収集する。
【0070】
なお、署名証明書は、例えば、正当な署名鍵所有者が鍵を紛失したなどの理由で、認証局に対して失効申請が行われているのにもかかわらず、失効手続きの事務処理や失効情報公開タイミングの関係で、失効情報にその失効状態が登録されていない可能性がある。
このような場合、失効してから失効情報に登録されるまで時間を要するので、長期署名サーバ3は、証明書群を作成した後、一定期間経過後(署名証明書を発行した認証局の運用ポリシーに基づく、例えば、24時間、あるいは数日)に失効情報を収集する。
【0071】
まず、長期署名サーバ3は、CAのリポジトリサーバ10にアクセスし、収集した署名証明書のCRL(Certificate Revocation List)を要求する(ステップ330)。
これに対し、リポジトリサーバ10は、長期署名サーバ3に署名証明書のCRLを送信する(ステップ335)。
ここで、CRLは、失効した証明書を一覧したリストであって、証明書とCRLを照合することにより証明書が有効であるか否かを判断するためのものである。
【0072】
次に、長期署名サーバ3は、リポジトリサーバ10に署名証明書のルート証明書のARL(Authority Revocation List)を要求する(ステップ340)。
これに対し、リポジトリサーバ10は、長期署名サーバ3に署名証明書のルート証明書のARLを送信する(ステップ345)。
ここで、ARLは、失効した自己署名証明書などのリストである。ルートのCAは、証明書信頼チェーンにおいて最上位に位置するため、ルートのCAは、自己を自己署名証明書にて証明する。そして、ルート証明書とARLを照合することによりルート証明書が有効であるか否かを判断することができる。
【0073】
署名証明書のCRLによって署名証明書の有効性が検証でき、署名証明書のルート証明書のARLによって署名証明書のルート証明書の有効性が検証でき、署名証明書、及び署名証明書のルート証明書の検証によりドライブレコーダ6による署名の正当性を検証することができる。
【0074】
次に、長期署名サーバ3は、TSA−CAのリポジトリサーバ11にアクセスし、TSA証明書のCRLを要求する(ステップ350)。
これに対し、リポジトリサーバ11は、長期署名サーバ3にTSA証明書のCRLを送信する(ステップ355)。
次に、長期署名サーバ3は、リポジトリサーバ11にTSA証明書のルート証明書のARLを要求する(ステップ360)。
これに対し、リポジトリサーバ11は、長期署名サーバ3にTSA証明書のルート証明書のARLを送信する(ステップ365)。
【0075】
TSA証明書のCRLによってTSA証明書の有効性が検証でき、TSA証明書のルート証明書のARLによってTSA証明書のルート証明書の有効性が検証でき、TSA証明書、及びTSA証明書のルート証明書の検証によりSTSの正当性を検証することができる。
【0076】
ドライブレコーダ6は、以上のようにして、証明書群と失効情報群を収集すると、これらを用いて証明書信頼チェーンの階層による認証パスを構築し、これをES−Tに追加して、ES−XLを作成する(ステップ370)。
【0077】
図10は、ステップ400のES−A(1st)作成処理を説明するためのフローチャートである。
まず、長期署名サーバ3は、ステップ300で作成したES−XLを処理対象として入力する(ステップ405)。この際に、長期署名サーバ3が、ES−XLを検証するように構成することもできる。
次に、長期署名サーバ3は、長期署名データにATSエリアを作成する(ステップ410)。
【0078】
長期署名サーバ3は、ATSエリアを作成し、ES−A(1st)を作成する準備が整うと、準備完了通知をドライブレコーダ6に送信する(ステップ415)。
ドライブレコーダ6は、当該通知を受信すると、動画データを読み込んで取得する(ステップ420)。
長期署名サーバ3は、ドライブレコーダ6に準備完了通知を送信すると、ES−A(1st)用のハッシュ値対象データ作成用データを作成する(ステップ425)。
【0079】
具体的には、長期署名サーバ3は、ES−XLから、署名対象プロパティ、SignedInfo、SignatureValue、KeyInfo、STS、証明書群、失効情報群を抽出して、これらを所定のフォームに従って設定することにより結合し、ハッシュ値対象データ作成用データを生成する。
なお、このハッシュ値対象データ作成用データは、ハッシュ値対象データから動画データを除いたものである。
長期署名サーバ3は、署名値対象データ作成用データを作成すると、これをドライブレコーダ6に送信する(ステップ425)。
【0080】
ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データを受信すると、これにステップ420で読み込んだ動画データを追加し(ステップ430)、ハッシュ値対象データを作成する。
次に、ドライブレコーダ6は、ハッシュ値対象データのハッシュ値を計算し、長期署名サーバ3に送信する(ステップ435)。
長期署名サーバ3は、ドライブレコーダ6から当該ハッシュ値を受信する(ステップ440)。
【0081】
長期署名サーバ3は、ハッシュ値対象データのハッシュ値を受信すると、これにタイムスタンプを要求するためのTSQを生成してタイムスタンプサーバ2に送信する(ステップ445)。
タイムスタンプサーバ2は、TSQを受信すると、TSQからハッシュ値対象データのハッシュ値を取り出し、これに現在日時刻を付与して秘密鍵で署名することによりTSTを発行する。
そして、タイムスタンプサーバ2は、STSを用いてTSRを生成し、長期署名サーバ3に送信する(ステップ450)。
【0082】
長期署名サーバ3は、タイムスタンプサーバ2からTSRを受信すると(ステップ455)、これからTSTを抽出する(ステップ460)。
そして、長期署名サーバ3は、抽出したTSTをATS(1st)としてES−XLに追加し、ES−A(1st)を生成してドライブレコーダ6に送信する(ステップ465)。
【0083】
そして、ドライブレコーダ6は、長期署名サーバ3からES−A(1st)を受信して記憶する(ステップ470)。
以上のようにして、動画データをドライブレコーダ6の内部に保持したまま、長期署名サーバ3で長期署名データ(ES−A(1st))を作成することができる。
【0084】
なお、変形例として、ドライブレコーダ6が行った処理(ステップ420、430、435、470)は、ドライブレコーダ6から動画データを取得した情報処理端末9が行ってもよい。
この場合、ステップ415の通知先として、予め情報処理端末9を長期署名サーバ3に登録しておき、長期署名サーバ3は、情報処理端末9に準備完了通知を送信する。
【0085】
また、更なる変形例として、動画データを長期署名サーバ3にアップロードし、ステップ400のES−A(1st)作成処理の全てを長期署名サーバ3で行うように構成することもできる。
図11のフローチャートは、この場合の処理を説明するための図である。図10と同じステップには同じステップ番号が付してある。
この場合、ドライブレコーダ6(又は情報処理端末9)は、動画データを長期署名サーバ3に送信し(ステップ403)、長期署名サーバ3は、これを受信して記憶する。
そして、長期署名サーバ3は、ハッシュ値対象データ作成用データを作成し(ステップ427)、ハッシュ値対象データ作成用データに当該動画データを追加して(ステップ433)、ハッシュ値を計算する(ステップ438)。
【0086】
この更なる変形例では、更に、動画データと長期署名データ(ES−A(1st))を長期署名サーバ3で記憶し、長期署名サーバ3を証拠保管サーバとして利用することもできる。
そして、ES−A(2nd)や更に次世代への更新を全て長期署名サーバ3で行うように構成することもできる。
このように長期署名サーバ3を証拠保管サーバとすると、ユーザは、動画データや長期署名データを保管する必要や、ES−A(2nd)や更に次世代のES−Aへの更新手続をする必要がなく、ユーザの負担を軽減することができる。
【0087】
以上のようにして作成されたES−A(1st)は、クライアント側で保存されるが、ATS(1st)の有効性が失われる前に、ES−A(1st)にATS(2nd)を付与してES−A(2nd)に更新する必要がある。そこで、次にES−A(2nd)に更新する手順について説明する。
【0088】
図12は、ES−A(2nd)を作成する手順を説明するためのフローチャートである。
なお、以下でドライブレコーダ6が行う処理は、情報処理端末9によって行うこともできる。
まず、ドライブレコーダ6は、ES−A(1st)を長期署名サーバ3に送信する(ステップ505)。ドライブレコーダ6でES−A(1st)が入力された際に、これを検証するように構成することもできる。
長期署名サーバ3は、ドライブレコーダ6からES−A(1st)を受信する(ステップ510)。
そして、長期署名サーバ3は、ES−A(1st)からATS(1st)に必要な証明書情報を割り出して、これらを以下のように収集する。
【0089】
まず、長期署名サーバ3は、ATS(1st)のTSA証明書を取得し(ステップ515)、更に、TSA証明書のルート証明書を取得する(ステップ520)。これらの証明書は、長期署名サーバ3に記憶されている。
次に、長期署名サーバ3は、TSA−CAのリポジトリサーバ11にアクセスし、ATS(1st)のTSA証明書のCRLを要求し(ステップ525)、リポジトリサーバ11は、長期署名サーバ3にCRLを送信する(ステップ530)。
そして、長期署名サーバ3は、CRLを受信する。
【0090】
次に、長期署名サーバ3は、リポジトリサーバ11にATS(1st)のTSA証明書のルート証明書のARLを要求し(ステップ535)、リポジトリサーバ11は、長期署名サーバ3に当該ルート証明書のARLを送信する(ステップ540)。
そして、長期署名サーバ3は、ARLを受信する。
【0091】
次に、長期署名サーバ3は、これら証明書群(TSA証明書、TSA証明書のルート証明書)と失効情報群(CRL、ARL)から認証パスを構築する(ステップ545)。
次に、長期署名サーバ3は、収集した証明書群と失効情報群を、それぞれATS(1st)のcertificatesエリア及びcrlsエリアに追加してATS(1st)を更新する(ステップ550)。
なお、ATS(1st)を更新しても、改竄にならないのは、証明書や失効情報を追加したエリアがATS(1st)の署名対象エリアに含まれていないからである。
次に、長期署名サーバ3は、ATS(1st)を更新したES−A(1st)にATS(2nd)用のエリアを作成し、ES−A(2nd)を作成する準備が整った旨の準備完了通知をドライブレコーダ6に送信する(ステップ555)。
【0092】
それ以降の処理は、図10のステップ420以下と同じであり、動画データをドライブレコーダ6の内部に保持したまま長期署名サーバ3でES−A(2nd)を作成することができる。
即ち、長期署名サーバ3は、ハッシュ値対象データ作成用データを作成してドライブレコーダ6に送信する。
【0093】
そして、ドライブレコーダ6は、ハッシュ値対象データ作成用データに動画データを加えてハッシュ値を長期署名サーバ3に送信する。
長期署名サーバ3は、当該ハッシュ値をタイムスタンプサーバ2に送信してタイムスタンプを発行してもらい、これをES−A(1st)に追加してES−A(2nd)を作成する。
ES−A(3rd)、ES−A(4th)など後の世代も同様にして作成される。
【0094】
図13は、長期署名システム1の変形例を説明するための図である。
先に説明した本実施の形態では、ドライブレコーダ6の動画データに対して長期署名を行ったが、本変形例では、クライアント側に設置された情報処理端末9の原本データに対して長期署名を発行する。
情報処理端末9は、クライアント側に設置されている。クライアントは、例えば、企業や個人ユーザなどである。
このように、本変形例では、企業や個人が仕事などで作成した原本データ(電子文書など)を外部に出すことなく、これに対して長期署名データを作成することができる。
【0095】
情報処理端末9には、長期署名の対象となる原本データが記憶されている。原本データは、例えば、電子文書や動画、静止画、音声などの電子データで構成されている。
長期署名サーバ3には、クライアントの秘密鍵と当該秘密鍵に対応する公開鍵の公開鍵証明書などが記憶されている。
クライアントが複数ある場合、長期署名サーバ3は、クライアントに対応づけて秘密鍵と公開鍵証明書を記憶し、これらをクライアントごとに管理する。
【0096】
以上のように構成された長期署名システム1において、情報処理端末9は、原本データのハッシュ値を計算して長期署名サーバ3に送信する。
すると、長期署名サーバ3は、先に説明した実施の形態の動画データと同様にして長期署名データを生成する。
本変形例によれば、ユーザの秘密鍵や公開鍵証明書は証明センタで管理するため、例えIT技術に疎遠なユーザでも長期署名サービスを安心して受けることができる。
【0097】
以上に説明した実施の形態や変形例により、次のような効果を得ることができる。
(1)ドライブレコーダ6は、イベントが発生した場合に、動画ハッシュ値を長期署名サーバ3に送信すればよいため、少ない通信負荷で動画データに長期署名することができる。
(2)ドライブレコーダ6は、イベントが発生した場合に、動画ハッシュ値を計算して長期署名サーバ3に送信してしまうため、以降の動画データの改竄を防止することができる。
(3)長期署名に用いる秘密鍵は長期署名サーバ3が管理するため、ドライブレコーダ6で秘密鍵を管理する必要がない。
(4)ドライブレコーダ6から情報処理端末9に動画データを移動した後に、情報処理端末9で引き続き処理を続行することができるため、ドライブレコーダ6が廃棄されるなど、使用不可となった場合でも長期署名データの作成・維持のための処理を行うことができる。
(5)動画データを用いる処理だけドライブレコーダ6(又は情報処理端末9)で行い、XMLの解析、電子署名、タイムスタンプ、検証情報の取得など、コンピュータの負荷が高い処理は長期署名サーバ3で行うため、ドライブレコーダ6(又は情報処理端末9)の負荷を小さくすることができる。
(6)動画データをユーザ側に保持したまま、長期署名データの作成をアウトソースすることができ、ユーザ環境に長期署名システムを構築する必要がないため、ユーザが運用管理(ログ監視、失敗監視、リカバリ処理等)を行う必要がない。
(7)ユーザ環境に長期署名システムを構築しないため、ユーザ環境からタイムスタンプ及び失効情報を取得するためのネットワーク設定(IP、ポートを開く等)が必要ない。
(8)認証パスの取得のための署名証明書のルート証明書及びTSA証明書のルート証明書などは、長期署名サーバ3が有しているため、これらの情報をユーザ環境で保持する必要がない。そのため、例えば、TSAが認証局を変更する場合であっても、ユーザ環境で新しい認証局証明書(ルート証明書や中間証明書)を登録しなおす必要がない。
(9)タイムスタンプは、長期署名サーバ3が取得するため、ドライブレコーダ6や情報処理端末9のユーザ側は、TSAと契約する必要がない。
(10)長期署名フォーマットのバージョンアップや暗号アルゴリズムの危殆化発生時には、長期署名サーバ3が対応し、ユーザ側が対応する必要がない。なお、ハッシュ関数が危殆化した場合は、ユーザ側装置のハッシュ関数を変更する必要がある。この場合、予め想定される最新の複数のハッシュ関数をユーザ側に埋め込んでおき、スイッチで切り替えられるとか、毎回、複数のハッシュ関数で計算したハッシュ値群をサーバに送るように構成してもよい(大したサイズではない)。
(11)長期署名データの生成を長期署名サーバ3にアウトソースすることにより、例えば、長期署名システムは必要だが処理文書数が見積もれないため、初期コストをかけられない、長期署名システムを運用するための要員を確保できないため自社内にサーバシステムを持てない、原本データは、社内から持ち出したくない、といった顧客の要望を満たすソリューションを提供することができる。
(12)長期署名フォーマットを利用することにより、電子署名の有効性を延長したり、暗号アルゴリズムの危殆化に対応することが可能となる。
(13)署名対象文書に対して、署名鍵で署名を行い、署名タイムスタンプを付与してES−Tを作成し、ES−Tに対して必要な検証情報(認証パス及び失効情報)を収集・付与し、アーカイブタイムスタンプを付与してES−Aを作成する処理を機密を確保してクラウドで行うシステムを提供することができる。
(14)ドライブレコーダ6は、動画データを長期署名サーバ3に送信することも可能であるが、データサイズが大きいことや、即時性が求められることもあり、データサイズの小さいハッシュ値を先に送り、署名及び署名タイムスタンプを証明センタ(長期署名サーバ3)に依頼することができる。
(15)ドライブレコーダ6と情報処理端末9の接続を長期署名サーバ3とし、タイムスタンプサーバ2、リポジトリサーバ10、リポジトリサーバ11と接続しないため、ドライブレコーダ6と情報処理端末9の接続先を可能な限り少なくすることができ、接続先が多いことによるセキュリティホールの増大を防ぐことができる。
【0098】
以上説明した本実施の形態により、次の構成を得ることができる。
長期署名システム1において、長期署名サーバ3は、長期署名用サーバとして機能し、ドライブレコーダ6と情報処理端末9は、データ端末や長期署名用端末として機能している。
長期署名サーバ3は、ドライブレコーダ6から動画データをハッシュ関数によって計算した動画ハッシュ値を受信するため、データ端末(ドライブレコーダ6)から電子データ(動画データ)を所定の関数(ハッシュ関数)によって計算した電子データ関数値(動画ハッシュ値)を受信する電子データ関数値受信手段を備えている。
また、長期署名サーバ3は、当該動画ハッシュ値を用いて署名前XAdESデータを作成するが、署名前XAdESデータは、電子署名の署名対象であるため、署名対象データとして機能している。そして、長期署名サーバ3は、署名前XAdESデータに電子署名して署名値を生成するため、前記受信した電子データ関数値(ハッシュ値)を用いて署名対象データ(署名前XAdESデータ)を生成する署名対象データ生成手段と、前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段を備えている。
ESは、署名対象データと電子署名値を含んでおり、長期署名サーバ3は、タイムスタンプサーバ2のTSTによってこれらのSTSを取得するため、前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段を備えている。
更に、長期署名サーバ3は、ESの電子署名に用いた秘密鍵の公開鍵証明書と、STSの証明書を検証するための証明書群と失効情報群を収集して検証情報を取得するため、前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段を備えている。
ES−XLは、署名前XAdESデータ、署名値、STS、検証情報を含んでいるため、基本署名データとして機能する。
そのため、長期署名サーバ3は、少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段を備えている。
更に、長期署名サーバ3は、ES−XLを所定期間検証するためのATS(1st)を取得してES−A(1st)を生成するため、前記生成した基本署名データ(ES−XL)を所定期間検証するための長期検証情報(ATS(1st))を取得する長期検証情報取得手段と、前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データ(ES−A(1st))を生成する長期署名データ生成手段を備えている。
【0099】
また、長期署名サーバ3は、ATS(1st)を生成するに際して、ハッシュ値対象データ作成用データを生成してドライブレコーダ6(情報処理端末9)に送信し、ハッシュ値対象データ作成用データに動画データを加えて計算したハッシュ値を受信するため、前記長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報を所定の端末(ドライブレコーダ6や情報処理端末9)に送信する長期検証情報作成用情報送信手段と、前記送信した長期検証情報作成用情報に前記電子データ(動画データ)を加えて所定関数(ハッシュ関数)で計算した長期検証用関数値(ハッシュ値)を前記所定の端末から受信する長期検証用関数値受信手段を備えている。
そして、長期署名サーバ3は、このハッシュ値にタイムスタンプを付与することによりATS(1st)を取得するため、前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得している。
【0100】
また、長期署名サーバ3は、ドライブレコーダ6や情報処理端末9から長期署名データを受信して、当該長期署名データの最も新しいATSを抽出し、当該ATSを所定期間検証するための次世代のATSを取得するため、所定の端末(ドライブレコーダ6や情報処理端末9)から長期署名データを受信する長期署名データ受信手段と、前記受信した長期署名データから長期検証情報(最も新しいATS)を抽出する長期検証情報抽出手段と、前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報(次世代のATS)を取得する再度の長期検証情報取得手段を備えている。
そして、長期署名サーバ3は、次世代のATSを加えて長期署名データを更新することにより長期署名データの有効期間を延長するため、前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新している。
【0101】
また、長期署名サーバ3は、次世代のATSを生成するに際して、ハッシュ値対象データ作成用データを作成してドライブレコーダ6(情報処理端末9)に送信し、ハッシュ値対象データ作成用データに動画データを加えて計算したハッシュ値を受信するため、再度の長期検証情報(次世代のATS)を作成するための再度の長期検証情報作成用情報(次世代のATSを生成するためのハッシュ値対象データ作成用データ)を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、前記送信した再度の長期検証情報作成用情報に前記電子データ(動画データ)を加えて所定関数(ハッシュ関数)で計算した再度の長期検証用関数値(ハッシュ値)を前記所定の端末から受信する再度の長期検証用関数値受信手段を備え、前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報(次世代のATS)を取得している。
【0102】
また、長期署名システム1では、動画データをドライブレコーダ6から情報処理端末9に移動しておき、情報処理端末9を通知先として受け付けて長期署名サーバ3に登録しておき、ES−A(1st)を生成する準備ができた場合に、長期署名サーバ3が情報処理端末9に通知を行うように構成することもできる。
そのため、長期署名サーバ3は、通知先(例えば、情報処理端末9)の登録を受け付ける通知先登録受付手段と、前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を生成した場合に、長期検証情報作成用情報生成通知(ES−A(1st)を生成する準備ができた旨の通知)を前記受け付けた通知先に通知する通知手段を備えている。
そして、この場合、長期署名サーバ3は、通知を送信した後、情報処理端末9にハッシュ値対象データ作成用データを送信するため、前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を送信する。
【0103】
また、ドライブレコーダ6が動画ハッシュ値を長期署名サーバ3に送信した後、動画データを長期署名サーバ3に送信し、以後の処理は全て長期署名サーバ3で行うように構成することもできる。
この場合、長期署名サーバ3は、ハッシュ値作成用データを作成した後、これに動画データを加えてハッシュ値を計算し、当該ハッシュ値にタイムスタンプを付与するため、所定の端末(ドライブレコーダ6や情報処理端末9)から前記電子データ(動画データ)を受信する電子データ受信手段と、前記長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を生成する長期検証情報作成用情報生成手段と、前記生成した長期検証情報作成用情報に前記受信した電子データ(動画データ)を加えて所定関数(ハッシュ関数)による長期検証用関数値(ハッシュ値)を計算する長期検証用関数値計算手段を備えており、前記長期検証情報取得手段は、前記計算した長期検証用関数値に(タイムスタンプサーバ2によって)タイムスタンプを付与して前記長期検証情報を取得する。
【0104】
ESを作成するための動画ハッシュ値の作成、及びハッシュ値対象データ作成用データを用いたハッシュ値の生成は、何れもドライブレコーダ6で行うことができるため、前記データ端末と前記所定の端末は同一端末とすることができる。
【0105】
一方、ドライブレコーダ6は、車両に設置され、カメラ7を用いて動画を撮影するため移動体(車両など)に搭載されたカメラで動画を撮影する動画撮影手段を備えている。
そして、衝突などのイベントを検出して、その際に、少なくともイベント発生所定時間前からイベント発生時までの動画を不揮発メモリ30に記憶するため、イベントの発生を検出するイベント検出手段と、前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段を備えている。
そして、ドライブレコーダ6は、記憶した動画ハッシュ値を計算して長期署名サーバ3に送信するため、前記記憶した動画を所定の関数(ハッシュ関数)で計算することにより前記動画に対応する関数値(動画ハッシュ値)を取得する関数値取得手段と、前記取得した関数値を所定のサーバ(長期署名サーバ3)に送信する関数値送信手段を備えている。
【0106】
また、ドライブレコーダ6は、長期署名サーバ3からハッシュ値対象データ作成用データを受信して、これに動画データを加えてハッシュ値を計算し、当該ハッシュ値を長期署名サーバ3に送信するため、前記送信した関数値(動画ハッシュ値)に対して行った電子署名を所定期間検証するための長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記撮影した動画(動画データ)を加えて所定関数(ハッシュ関数)による長期検証用関数値(ハッシュ値)を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値を所定のサーバ(長期署名サーバ3)に送信する長期検証用関数値送信手段を備えている。
【0107】
また、ハッシュ値対象データ作成用データの処理は、ドライブレコーダ6の他、動画データを取得した情報処理端末9で行うこともできる。
この場合、情報処理端末9は、動画(動画データ)を取得する動画取得手段と、所定のサーバ(長期署名サーバ3)から、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報(ATS(1st))を作成するための長期検証情報作成用情報(ハッシュ値対象データ作成用データ)を受信する長期検証情報作成用情報受信手段と、前記受信した長期検証情報作成用情報に前記取得した動画(動画データ)を加えて所定関数(ハッシュ関数)による長期検証用関数値(ハッシュ値)を計算する長期検証用関数値計算手段と、前記計算した長期検証用関数値(ハッシュ値)を所定のサーバ(長期署名サーバ3)に送信する長期検証用関数値送信手段を備えている。
【0108】
次に、図14のフローチャートを用いて長期署名データの検証方法について説明する。
以下の検証者端末は、長期署名データと原本データ(長期署名データによる検証対象となるデータ、ここでは動画データに相当し、原本ハッシュ値は動画ハッシュ値に相当する)を取得して、長期署名データを用いて原本データを検証するユーザの端末であって、ハードウェア的な構成は情報処理端末9と同じである。
例えば、甲が作成した長期署名データと原本データを乙が受け取り、乙が検証者端末でこれを検証する場合が想定される。
【0109】
検証者端末は、長期署名データと原本データを記憶している。
まず、検証者端末は、長期署名データを長期署名サーバ2に送信し(ステップ605)、長期署名サーバ2は、これを受信する(ステップ610)。
次に、検証者端末は、原本データのハッシュ値を計算して長期署名サーバ2に送信し(ステップ615)、長期署名サーバ2は、これを受信する(ステップ620)。
【0110】
次に、長期署名サーバ2は、原本ハッシュ値を検証する(ステップ625)。
この処理は、検証者端末から送信された原本ハッシュ値と、長期署名データのXAdES内の原本ハッシュ値を比較し、両者が一致することを確認することにより行われる。
次に、長期署名サーバ2は、公開鍵証明書(署名証明書)の検証を行う(ステップ630)。
この検証は、検証情報に含まれる証明書群、及び失効情報群を用いて、認証パスがつながること、及び認証パス上の証明書が失効していなかったことを確認することにより行われる。
【0111】
次に、長期署名サーバ2は、署名値を検証する(ステップ635)。
この検証は、SignatureValueの署名値を公開鍵証明書から取り出した公開鍵で復号化すると共に、SignedInfoのハッシュ値を計算し、当該復号化した値とハッシュ値が一致することを確認することにより行われる。
次に、長期署名サーバ2は、STSを検証する(ステップ640)。
この検証は、SignatureValueのハッシュ値を計算し、これと、STSに記載されているハッシュ値が一致することを確認することにより行われる。
【0112】
次に、長期署名サーバ2は、STS証明書(署名タイムスタンプ証明書)を検証する(ステップ645)。
この検証は、TSA証明書でTSA署名値を復号して確認するほか、検証情報に含まれる証明書群、及び失効情報群を用いて、STS証明書の認証パスがつながること、及び認証パス上の証明書が失効していなかったことを確認することにより行われる。
【0113】
次に、長期署名サーバ2は、ES−XLに含まれるデータからATSの対象データに原本データが結合される前のデータを作成してハッシュ値対象データ作成用データを作成し、これを検証者端末に送信する(ステップ650)。
【0114】
検証者端末は、ハッシュ値対象データ作成用データを受信すると、これに原本データを結合して追加し、ハッシュ値対象データを作成する(ステップ655)。
次に、検証者端末は、ハッシュ値対象データのハッシュ値を計算して長期署名サーバ2に送信する(ステップ660)。
【0115】
長期署名サーバ2は、検証者端末から当該ハッシュ値を受信すると、これとATS(1st)に記載されているハッシュ値が一致することを確認することによりATS(1st)のハッシュ値を検証する(ステップ665)。
次に、長期署名サーバ2は、ATS(1st)の証明書の認証パスを作成するための証明書(ルート証明書)を自サーバ内から取得する(ステップ670)。
【0116】
次に、長期署名サーバ2は、当該認証パス上の証明書の失効情報をリポジトリサーバ11から取得する(ステップ675、680)。
そして、長期署名サーバ2は、認証パスがつながること、認証パス上の証明書が失効していないことを確認することによりATS(1st)の証明書の検証を行う(ステップ685)。
【0117】
次に、長期署名サーバ2は、その他、XAdESの検証を行う(ステップ690)。
この検証は、各証明書、各失効情報、各タイムスタンプ間の時刻の整合性が取れることの確認、フォーマットの整合性の確認などにより行われる。
長期署名サーバ2は、以上の検証による検証結果を生成して検証者端末に送信する(ステップ695)。
そして、検証者端末は、長期署名サーバ2から検証結果を受信して検証者に提示する(ステップ700)。
なお、ATSがATS(2nd)、ATS(3rd)と更に下の世代が存在する場合も同様にして検証する。
【0118】
以上のように、上の検証方法によると、検証者は原本データを検証者端末に保持したまま長期署名サーバ2で長期署名データの検証を行うことができる。
そのため、例えば、甲が原本データと長期署名データを乙に提供し、原本データを甲乙以外の者に渡したくない場合に、乙は原本データを長期署名サーバ2に提供せずに長期署名データによる原本データの正当性を確認することができる。
【0119】
また、例え、ES−Tの生成で用いたアルゴリズムが危殆化したとしてもATS(1st)の生成に用いたアルゴリズムが危殆化するまではES−A(1st)の証拠性は失われない。
そして、ATS(1st)の生成に用いたアルゴリズムが危殆化する可能性がある場合は、更に最新のアルゴリズムでATS(2nd)を付与すれば証拠性は失われない。
以降、最新のアルゴリズムで世代を重ねていくことにより証拠性を未来に渡って維持することができる。
【0120】
以上に説明した検証方法により、次の構成を得ることができる。
署名対象データと前記署名対象データを検証する検証情報、及び前記署名対象データと検証情報を所定期間検証する長期検証情報を含む長期検証情報を用いて構成され、原本データの正当性を検証するための長期署名データを検証者端末から受信する長期署名データ受信手段と、前記署名対象データに含まれる所定の情報を抽出して長期検証情報作成用情報を作成し、当該作成した長期検証情報作成用情報を前記検証者端末に送信する長期検証情報作成用情報送信手段と、前記検証者端末から、前記送信した長期検証情報作成用情報に前記原本データを加えて所定の関数で計算した長期検証情報作成用関数値を受信する長期検証情報作成用関数値受信手段と、前記受信した長期検証情報作成用関数値を用いて前記長期検証情報を検証する長期検証情報検証手段と、を具備したことを特徴とする長期署名検証用サーバ(第1の構成)。
前記検証情報を用いて前記署名対象データを検証する署名対象データ検証手段を具備し、前記長期検証情報検証手段は、前記署名対象データ検証手段が検証した後に前記長期検証情報を検証することを特徴とする第1の構成の長期署名検証用サーバ(第2の構成)。
【0121】
このように、本実施の形態は、原本データをサーバ側に渡さずにサーバ側で原本データに対する署名を検証することができる。
この場合、端末は、原本データの所定関数による関数値と、当該原本データの署名データ(原本データの関数値を秘密鍵で暗号化した署名値、当該秘密鍵に対応する公開鍵の公開鍵証明書)を送信し、サーバは、署名値を公開鍵で復号化して関数値を取り出し、当該取り出した関数値と端末が送信してきた関数値を比べることにより原本データの正当性を判断すると共に、認証パスに係る証明書を用いて公開鍵証明書の正当性を確認する。
更に、署名データが長期署名である場合には、サーバは、署名データを構成する情報を用いて長期署名を確認するための関数値を作成するための情報から原本データを除いた情報を作成して端末に送信する。
これに対し、端末は、当該情報に原本データを加えて所定関数による関数値を計算してサーバに送信し、サーバは当該関数値を用いて長期署名の正当性を検証する。
【符号の説明】
【0122】
1 長期署名システム
2 タイムスタンプサーバ
3 長期署名サーバ
4 ネットワーク
5 基地局
6 ドライブレコーダ
7 カメラ
8 車両
9 情報処理端末
10 リポジトリサーバ
11 リポジトリサーバ
【特許請求の範囲】
【請求項1】
データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、
前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、
前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、
前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、
前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、
少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、
前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、
前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、
を具備したことを特徴とする長期署名用サーバ。
【請求項2】
前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、
前記生成した長期検証情報作成用情報を所定の端末に送信する長期検証情報作成用情報送信手段と、
前記送信した長期検証情報作成用情報に前記電子データを加えて所定関数で計算した長期検証用関数値を前記所定の端末から受信する長期検証用関数値受信手段と、
を具備し、
前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバ。
【請求項3】
所定の端末から長期署名データを受信する長期署名データ受信手段と、
前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、
前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、
を具備し、
前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新することを特徴とする請求項1、又は請求項2に記載の長期署名用サーバ。
【請求項4】
再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、
前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、
を具備し、
前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報を取得することを特徴とする請求項3に記載の長期署名用サーバ。
【請求項5】
通知先の登録を受け付ける通知先登録受付手段と、
前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報を生成した場合に、長期検証情報作成用情報生成通知を前記受け付けた通知先に通知する通知手段と、
を具備し、
前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報を送信することを特徴とする請求項2、請求項3、又は請求項4に記載の長期署名用サーバ。
【請求項6】
所定の端末から前記電子データを受信する電子データ受信手段と、
前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、
前記生成した長期検証情報作成用情報に前記受信した電子データを加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、
を具備し、
前記長期検証情報取得手段は、前記計算した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバ。
【請求項7】
前記データ端末と前記所定の端末は同一端末であることを特徴とする請求項2から請求項6までのうちの何れか1の請求項に記載の長期署名用サーバ。
【請求項8】
移動体に搭載されたカメラで動画を撮影する動画撮影手段と、
イベントの発生を検出するイベント検出手段と、
前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段と、
前記記憶した動画を所定の関数で計算することにより前記動画に対応する関数値を取得する関数値取得手段と、
前記取得した関数値を所定のサーバに送信する関数値送信手段と、
を具備したことを特徴とするドライブレコーダ。
【請求項9】
前記送信した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、
前記受信した長期検証情報作成用情報に前記撮影した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、
前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、
を具備したことを特徴とする請求項8に記載のドライブレコーダ。
【請求項10】
動画を取得する動画取得手段と、
所定のサーバから、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、
前記受信した長期検証情報作成用情報に前記取得した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、
前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、
を具備したことを特徴とする長期署名用端末。
【請求項1】
データ端末から電子データを所定の関数によって計算した電子データ関数値を受信する電子データ関数値受信手段と、
前記受信した電子データ関数値を用いて署名対象データを生成する署名対象データ生成手段と、
前記生成した署名対象データを電子署名して電子署名値を生成する電子署名値生成手段と、
前記生成した前記電子署名値に対してタイムスタンプを取得するタイムスタンプ取得手段と、
前記電子署名値と前記タイムスタンプを検証するための検証情報を取得する検証情報取得手段と、
少なくとも、前記生成した署名対象データと電子署名値、及び前記取得したタイムスタンプと検証情報を用いて基本署名データを生成する基本署名データ生成手段と、
前記生成した基本署名データを所定期間検証するための長期検証情報を取得する長期検証情報取得手段と、
前記生成した基本署名データに前記取得した長期検証情報を付与して長期署名データを生成する長期署名データ生成手段と、
を具備したことを特徴とする長期署名用サーバ。
【請求項2】
前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、
前記生成した長期検証情報作成用情報を所定の端末に送信する長期検証情報作成用情報送信手段と、
前記送信した長期検証情報作成用情報に前記電子データを加えて所定関数で計算した長期検証用関数値を前記所定の端末から受信する長期検証用関数値受信手段と、
を具備し、
前記長期検証情報取得手段は、前記受信した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバ。
【請求項3】
所定の端末から長期署名データを受信する長期署名データ受信手段と、
前記受信した長期署名データから長期検証情報を抽出する長期検証情報抽出手段と、
前記抽出した長期検証情報を所定期間検証するための再度の長期検証情報を取得する再度の長期検証情報取得手段と、
を具備し、
前記長期署名データ生成手段は、前記受信した長期署名データに前記取得した再度の長期検証情報を加えて当該長期署名データを更新することを特徴とする請求項1、又は請求項2に記載の長期署名用サーバ。
【請求項4】
再度の長期検証情報を作成するための再度の長期検証情報作成用情報を前記所定の端末に送信する再度の長期検証情報作成用情報送信手段と、
前記送信した再度の長期検証情報作成用情報に前記電子データを加えて所定関数で計算した再度の長期検証用関数値を前記所定の端末から受信する再度の長期検証用関数値受信手段と、
を具備し、
前記再度の長期検証情報取得手段は、前記受信した再度の長期検証用関数値にタイムスタンプを付与して前記再度の長期検証情報を取得することを特徴とする請求項3に記載の長期署名用サーバ。
【請求項5】
通知先の登録を受け付ける通知先登録受付手段と、
前記長期検証情報作成用情報生成手段が前記長期検証情報作成用情報を生成した場合に、長期検証情報作成用情報生成通知を前記受け付けた通知先に通知する通知手段と、
を具備し、
前記長期検証情報作成用情報送信手段は、前記通知を送信した後、前記長期検証情報作成用情報を送信することを特徴とする請求項2、請求項3、又は請求項4に記載の長期署名用サーバ。
【請求項6】
所定の端末から前記電子データを受信する電子データ受信手段と、
前記長期検証情報を作成するための長期検証情報作成用情報を生成する長期検証情報作成用情報生成手段と、
前記生成した長期検証情報作成用情報に前記受信した電子データを加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、
を具備し、
前記長期検証情報取得手段は、前記計算した長期検証用関数値にタイムスタンプを付与して前記長期検証情報を取得することを特徴とする請求項1に記載の長期署名用サーバ。
【請求項7】
前記データ端末と前記所定の端末は同一端末であることを特徴とする請求項2から請求項6までのうちの何れか1の請求項に記載の長期署名用サーバ。
【請求項8】
移動体に搭載されたカメラで動画を撮影する動画撮影手段と、
イベントの発生を検出するイベント検出手段と、
前記イベント検出手段でイベントを検出した際に、イベント発生時からそれ以前の少なくとも所定記録時間の動画が記憶されている動画記憶手段と、
前記記憶した動画を所定の関数で計算することにより前記動画に対応する関数値を取得する関数値取得手段と、
前記取得した関数値を所定のサーバに送信する関数値送信手段と、
を具備したことを特徴とするドライブレコーダ。
【請求項9】
前記送信した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、
前記受信した長期検証情報作成用情報に前記撮影した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、
前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、
を具備したことを特徴とする請求項8に記載のドライブレコーダ。
【請求項10】
動画を取得する動画取得手段と、
所定のサーバから、前記取得した動画を所定の関数で計算した関数値に対して行った電子署名を所定期間検証するための長期検証情報を作成するための長期検証情報作成用情報を受信する長期検証情報作成用情報受信手段と、
前記受信した長期検証情報作成用情報に前記取得した動画を加えて所定関数による長期検証用関数値を計算する長期検証用関数値計算手段と、
前記計算した長期検証用関数値を所定のサーバに送信する長期検証用関数値送信手段と、
を具備したことを特徴とする長期署名用端末。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−109204(P2011−109204A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2009−259525(P2009−259525)
【出願日】平成21年11月13日(2009.11.13)
【出願人】(000002325)セイコーインスツル株式会社 (3,629)
【Fターム(参考)】
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願日】平成21年11月13日(2009.11.13)
【出願人】(000002325)セイコーインスツル株式会社 (3,629)
【Fターム(参考)】
[ Back to top ]