(57)【要約】【課題】  ディジタルデータに対し、第三者により後の時刻における不正なタイムスタンプがなされることを防止する。【解決手段】  ユーザの端末装置（タイムスタンプ要求装置）１は、想定される最大タイムスタンプ要求回数がｎであるディジタルドキュメントのタイムスタンプをタイムスタンプ装置２へ要求する。このとき、タイムスタンプの要求回数がｊ回目であった場合は、初期値を（ｎ−ｊ＋１）回までハッシュ関数により再帰的に変換して得た値を持つコミット情報と、ディジタルドキュメントとの組み合わせを、ハッシュ関数を用いて変換して得たタイムスタンプ要求データを送信する。タイムスタンプ装置２は、端末装置１から受信したタイムスタンプ要求データを基に、改版されたディジタルデータに対するタイムスタンプトークンを生成して返送する。【選択図】      図１
2005210479.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムであって、
前記タイムスタンプ要求装置は、
初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、
タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、
前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段とを備え、
前記タイムスタンプ装置は、
前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータに対するタイムスタンプトークンを生成して返送するタイムスタンプトークン生成手段を備える、
ことを特徴とするタイムスタンプシステム。
【請求項２】
前記記憶手段は、初期値を一方向性及び衝突困難性を持つ関数を用いて想定される最大タイムスタンプ要求回数ｎ回まで再帰的に変換したそれぞれの値であるコミット情報を記憶し、
前記タイムスタンプ要求手段は、タイムスタンプを要求する回数がｊ（１≦ｊ≦ｎ）回目であった場合、（前記想定される最大タイムスタンプ要求回数ｎ−前記タイムスタンプ要求回数ｊ＋１）回まで一方向性及び衝突困難性のある関数により前記初期値を再帰的に変換して得た値を持つコミット情報と前記ディジタルデータとを、一方向性及び衝突困難性を持つ関数を用いて変換してタイムスタンプ要求データを得る、
ことを特徴とする請求項１に記載のタイムスタンプシステム。
【請求項３】
前記タイムスタンプシステムは、さらに、タイムスタンプトークンを検証するタイムスタンプ検証装置とからなり、
前記タイムスタンプ検証装置は、
異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段を備える、
ことを特徴とする請求項１または請求項２に記載のタイムスタンプシステム。
【請求項４】
ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ要求装置であって、
初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、
タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、
前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段と、
を備えることを特徴とするタイムスタンプ要求装置。
【請求項５】
ディジタルデータと、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報のうち、該ディジタルデータにおいて直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを送信して前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求装置と、
前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、
前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ検証装置であって、
異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段、
を備えることを特徴とするタイムスタンプ検証装置。
【請求項６】
ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムの前記タイムスタンプ要求装置に用いられるコンピュータプログラムであって、
初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶手段に記憶するステップと、
タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するステップと、
前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項７】
ディジタルデータと、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報のうち、該ディジタルデータにおいて直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを送信して前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求装置と、
前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、
前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムの前記タイムスタンプ検証装置に用いられるコンピュータプログラムであって、
異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証するステップ、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルデータが存在した時刻を認証するためのタイムスタンプシステム、タイムスタンプ要求装置、タイムスタンプ検証装置、及び、コンピュータプログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、ディジタルドキュメント（以下、単に「ドキュメント」という）をコンピュータ上で扱ったり、ネットワークを通じて流通させる機会が爆発的に増えている。この中には、私的なドキュメントの流通ばかりでなく、申請書類や契約書など、生活や企業活動にとって重要な意味を持つドキュメントの流通も含まれる。このようなドキュメントを扱う場合、ドキュメントがある時刻に確かに存在したことを示すことは非常に重要である。例えば、一般的な契約書をディジタルデータにより作成する場合、その契約がいつ成立しているかは、なんらかの形で保証されている必要がある。また、特許において先発明主義を採用している場合、先に発明したことを立証するために、発明内容を示すドキュメントがある時刻に存在したことは重要な情報となる。その他にも、株取引のように注文時刻が取引結果に影響する場合にも、注文を示す通信データの発生時刻を何らかの形で保証する必要がある。
【０００３】
このようなニーズを満たすために、ディジタルデータのタイムスタンプを行うためのタイムスタンプ技術の研究開発が行われ、すでにいくつかの実サービスも実施されている。これは、タイムスタンプ要求者であるユーザと、タイムスタンプ発行者（ＴＳＡ：Time Stamp Authority）の間で行われるタイムスタンププロトコルにより行われる。これまでに提案されているタイムスタンププロトコルは、大別してシンプルプロトコル（例えば、非特許文献１）とリンキングプロトコル（例えば、特許文献１、特許文献２）の２種類がある。シンプルプロトコルではドキュメントのハッシュ値に時刻を結合させた値に対して、ＴＳＡが電子署名を付与したタイムスタンプトークン（時刻証明書）を発行する。一方リンキングプロトコルで発行されるタイムスタンプトークンには、ドキュメントのハッシュ値を、既に発行されたタイムスタンプから構成されるハッシュ連鎖に組み込む。
シンプルプロトコルでは、タイムスタンプトークンは、単にＴＳＡの電子署名であるため、ＴＳＡが信頼できる第三者（ＴＴＰ：Trusted Third Party）である必要がある。一方、リンキングプロトコルでは、ハッシュ連鎖の途中値が一定時間おきに新聞などに公表されるため、ＴＳＡにおける不正をユーザ側で検出することが可能である。
【特許文献１】特許第３２８１８８１号明細書
【特許文献２】特許第３２７８７２１号明細書
【非特許文献１】Ｃ．アダムス、Ｐ．ケイン、Ｄ．ピンカス、Ｒ．ツッケラート（C.Adams, P.Cain, D.Pinkas and R.Zuccherato），「インターネット  Ｘ．５０９  公開鍵基盤タイムスタンププロトコル（ＴＳＰ）（Internet X.509 Public Key Infrastructure Time-Stamp Protocol(TSP)）」，ＩＥＴＦ  ＲＦＣ３１６１，ＩＥＴＦ（Internet Engineering Task Force），２００１年８月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のタイムスタンプ方式においては、知的財産保護のように、早い時刻のほうが有利であるアプリケーションを想定している。すなわち、従来のタイムスタンプ方式において想定される敵の攻撃は、あるドキュメントのタイムスタンプを、より前の時刻のタイムスタンプに偽造する攻撃である。この攻撃のことを「Back-dating」と呼ぶ。これまでに想定されているBack-Datingは、敵とＴＳＡが結託して、第三者が検証可能な、以前の時刻のタイムスタンプを発行する攻撃である。シンプルプロトコルは、このBack-Dating攻撃に対する耐性はないが、リンキングプロトコルは、Back-Dating攻撃があった場合、ハッシュ値を計算することにより、攻撃の有無を検出することができる。
【０００５】
一方、タイムスタンプが使われる別のアプリケーションとして、より後の時刻のドキュメントのほうが有効になるアプリケーションも想定される。しかし、従来のタイムスタンプ方式において、あるドキュメントに対して、敵が後の時刻のタイムスタンプトークンを取得する攻撃への対策については、これまでに提案されていない。
シンプルプロトコルを例にとると、ユーザが、例えば遺言状のように、改版の可能性を含むドキュメントで、一連の改版の中で最も新しいドキュメントのみが有効となるタイプのドキュメントについてのタイムスタンプをＴＳＡに要求する。最初にユーザは、時刻ｔ１に、ドキュメントｄのタイムスタンプを要求し、時刻ｔ１のタイムスタンプトークンを取得する。この際、ユーザはドキュメントｄのハッシュ値をＴＳＡに送信する。次に、時刻ｔ１より後の時刻ｔ２（＞ｔ１）に、ユーザがドキュメントｄを改版したドキュメントｄ’を作成し、ＴＳＡから時刻ｔ２のタイムスタンプトークンを取得する。このような状況で、ユーザとＴＳＡの間の通信を盗聴可能な敵を考える。敵は、ドキュメントｄ’よりもドキュメントｄが有効である方が望ましい状況である敵であり、再びドキュメントｄを有効にしたいと考える。このとき敵は、時刻ｔ１においてドキュメントｄのタイムスタンプが要求されたときに盗聴で得たドキュメントｄのハッシュ値を、時刻ｔ２より後の時刻ｔ３（＞ｔ２）にＴＳＡに送信することで、有効なタイムスタンプトークンを容易に入手することが可能である。
【０００６】
本発明は、このような事情を考慮してなされたもので、その目的は、ディジタルデータに対し、第三者により後の時刻における不正なタイムスタンプがなされることを防止することができるタイムスタンプシステム、タイムスタンプ要求装置、タイムスタンプ検証装置、及び、コンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決すべくなされたもので、請求項１に記載の発明は、ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムであって、前記タイムスタンプ要求装置は、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段とを備え、前記タイムスタンプ装置は、前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータに対するタイムスタンプトークンを生成して返送するタイムスタンプトークン生成手段を備える、ことを特徴とするタイムスタンプシステムである。
【０００８】
請求項２に記載の発明は、請求項１に記載のタイムスタンプシステムであって、前記記憶手段は、初期値を一方向性及び衝突困難性を持つ関数を用いて想定される最大タイムスタンプ要求回数ｎ回まで再帰的に変換したそれぞれの値であるコミット情報を記憶し、前記タイムスタンプ要求手段は、タイムスタンプを要求する回数がｊ（１≦ｊ≦ｎ）回目であった場合、（前記想定される最大タイムスタンプ要求回数ｎ−前記タイムスタンプ要求回数ｊ＋１）回まで一方向性及び衝突困難性のある関数により前記初期値を再帰的に変換して得た値を持つコミット情報と前記ディジタルデータとを、一方向性及び衝突困難性を持つ関数を用いて変換してタイムスタンプ要求データを得る、ことを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１または請求項２に記載のタイムスタンプシステムであって、前記タイムスタンプシステムは、さらに、タイムスタンプトークンを検証するタイムスタンプ検証装置とからなり、前記タイムスタンプ検証装置は、異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段を備える、ことを特徴とする。
【００１０】
請求項４に記載の発明は、ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ要求装置であって、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段と、を備えることを特徴とするタイムスタンプ要求装置である。
【００１１】
請求項５に記載の発明は、ディジタルデータと、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報のうち、該ディジタルデータにおいて直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを送信して前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ検証装置であって、異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段、を備えることを特徴とするタイムスタンプ検証装置である。
【００１２】
請求項６に記載の発明は、ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムの前記タイムスタンプ要求装置に用いられるコンピュータプログラムであって、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶手段に記憶するステップと、タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するステップと、前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【００１３】
請求項７に記載の発明は、ディジタルデータと、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報のうち、該ディジタルデータにおいて直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを送信して前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムの前記タイムスタンプ検証装置に用いられるコンピュータプログラムであって、異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証するステップ、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
【発明の効果】
【００１４】
本発明によれば、正当なユーザが所有するドキュメントに対して不正なタイムスタンプを行うことを試みる敵が正当なユーザのドキュメントを入手可能であり、かつ、敵とタイムスタンプ発行者とが結託できる場合であっても、ユーザの所有するドキュメントに対して正しい時刻より後の時刻におけるタイムスタンプがなされることを防止することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の一実施の形態を説明する。
図１は、本発明の一実施の形態によるタイムスタンプシステムの全体構成を示す図である。タイムスタンプシステムは、公衆網や私設網などのネットワークＮを介して接続されるユーザＵのタイムスタンプ要求装置としての端末装置１、タイムスタンプ発行者（以下、「ＴＳＡ」と記載、ＴＳＡ：Time Stamp Authority）のタイムスタンプ装置２、及び、敵Ａの端末装置３と、検証者Ｖのタイムスタンプ検証装置４とからなる。ユーザＵは、ディジタルデータとしてのディジタルドキュメント（以下単に「ドキュメント」と記載）がある時刻において存在したことの証明であるタイムスタンプ、すなわち、時刻認証を要求する正当なユーザである。タイムスタンプの要求により、ドキュメントがある時刻において存在したことを証明するデータであるタイムスタンプトークン、すなわち、時刻証明書を取得することができる。そして、タイムスタンプを要求するドキュメントは、例えば、遺言状のように、改版の可能性を含むドキュメントであり、一連の改版の中で最も新しいドキュメントのみが有効となるタイプのドキュメントである。また、敵Ａは、ユーザＵのドキュメントに不正な時刻のタイムスタンプトークンを取得しようとする者であり、検証者とは、タイムスタンプトークンの正当を検証する者である。なお、ディジタルデータは、文書（ドキュメント）、画像、音声、プログラム、データベース、電子署名、など任意のデータ（ファイル）でありうる。
【００１６】
ここでは、敵Ａは、Forward-datingにより、ユーザＵのドキュメントに不正な時刻のタイムスタンプを試みるものである。Forward-datingとは、ユーザＵとＴＳＡの間で実行されるタイムスタンププロトコルについて、ユーザＵが時刻ｔにドキュメントｄに対するタイムスタンプトークンを取得した後、時刻ｔより後の時刻ｔ’（＞ｔ）に敵Ａ(≠ユーザＵ）が、このドキュメントｄに対して、ＴＳＡの発行した時刻ｔ’における検証可能な（有効な）タイムスタンプトークンを取得することをいい、この時刻ｔ’における検証可能なタイムスタンプトークンを取得できるとき、敵ＡはForward-datingに成功したと言う。
【００１７】
次に、敵Ａのモデルについて説明する。本実施の形態で想定する敵Ａの基本動作としては、ネットワークＮ（通信路）上のデータの盗聴が可能であり、同時に任意の時刻に、任意のドキュメントに対するタイムスタンプをＴＳＡに要求し、タイムスタンプトークンを受領することが可能な装置を保有するものとする。また、この敵Ａが保有する装置は、確率的多項式時間の計算能力を持つとする。これは、一方向性及び衝突困難性を持つ関数を用いてあるデータを変換して得られる変換データがわかっている場合に、元のデータとして想定されるデータについて総当りで変換データを生成することにより元のデータを特定することが事実上困難であることを示す。
【００１８】
そして、その上で、付加的に敵Ａが得られる可能性がある情報について考える。まず、最初にタイムスタンプ対象のドキュメントを得られるかどうかである。一般的なタイムスタンププロトコルでは、タイムスタンプを要求するためのデータはドキュメントのハッシュ値であるため、ドキュメントそのものを入手することは不可能である。しかし、タイムスタンプを行うドキュメントは、タイムスタンプの要求者以外も知りえる可能性があり、敵Ａが入手する可能性もある。そこで、敵Ａの分類の観点として、ドキュメントそのものの取得の有無が挙げられる。
【００１９】
もう１つの観点は、他のプロトコル参加者との結託である。本実施の形態で想定しているForward-datingでは、本来のユーザＵと敵Ａが結託することは、ユーザＵが既にタイムスタンプを要求したドキュメントに対して、最新のタイムスタンプを要求していることと同義であるため、ユーザＵと敵Ａの結託は想定しない。もう１つの結託がＴＳＡとの結託である。この敵ＡとＴＳＡが結託することは想定可能であり、この場合、タイムスタンプトークンを発行するための秘密情報を入手することが可能であり、また、ＴＳＡの時刻も改ざんが可能であるため、敵Ａは敵Ａが生成した任意のデータに対する、任意の時刻の検証可能なタイムスタンプトークンを入手することが可能である。
本実施の形態においては、敵ＡとＴＳＡが結託し、かつ、敵ＡがユーザＵのタイムスタンプ対象のドキュメントを得られる場合においても、敵ＡがこのユーザＵのドキュメントに対してForward-datingを行うことを想定する。
【００２０】
次に、各装置の内部構成について説明する。
図２は、端末装置１の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。端末装置１は、例えば、パーソナルコンピュータなどのコンピュータ端末であり、ネットワークＮを介して他の装置とのデータの送受信を行う。端末装置１は、制御手段１１、通信手段１２、記憶手段１３、コミット情報生成手段１４、タイムスタンプ要求手段１５、及び、タイムスタンプトークン受信手段１６を備える。
制御手段１１は、ＣＰＵ（central processing unit）及び各種メモリから構成され、各部の制御や、データの一時的な格納や、データの転送等を行う。通信手段１２は、ネットワークＮを介して他の装置とのデータの送受信を行う。記憶手段１３は、タイムスタンプを要求するドキュメントと、ドキュメントの一連の改版の前後性を証明できる情報であるコミット情報とを記憶する。コミット情報生成手段１４は、コミット情報を生成して記憶手段１３へ書き込む。タイムスタンプ要求手段１５は、記憶手段１３内に記憶しているドキュメント及びこのドキュメントにおけるタイムスタンプ要求回数に応じたコミット情報から生成したタイムスタンプ要求データをタイムスタンプ装置２へ送信し、ドキュメントのタイムスタンプを要求する。タイムスタンプトークン受信手段１６は、タイムスタンプ要求に応じてタイムスタンプ装置２から送信されたタイムスタンプトークンを受信して記憶手段１３内に書き込む。
【００２１】
図３は、端末装置３の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。端末装置３は、例えば、パーソナルコンピュータなどの確率的多項式時間の計算能力を持つコンピュータ端末であり、制御手段３１、通信手段３２、記憶手段３３、タイムスタンプ要求手段３４、及び、タイムスタンプトークン受信手段３５を備える。
制御手段３１、通信手段３２、タイムスタンプトークン受信手段３５は、それぞれ、端末装置１の制御手段１１、通信手段１２、タイムスタンプトークン受信手段１６と同様の機能を有する。記憶手段３３は、不正なタイムスタンプを要求する対象となるドキュメントと、このドキュメントのタイムスタンプ要求に使用するコミット情報とを記憶する。このコミット情報は、ユーザＵの端末装置１及びＴＳＡのタイムスタンプ装置２間において送受信されたタイムスタンプ要求データやタイムスタンプトークンから類推するなどして生成したものである。タイムスタンプ要求手段３４は、記憶手段３３内のドキュメント及びコミット情報からタイムスタンプ要求データを生成してタイムスタンプ装置２へ送信し、タイムスタンプを要求する。
【００２２】
図４は、タイムスタンプ装置２の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。タイムスタンプ装置２は、例えば、サーバであり、制御手段２１、通信手段２２、時刻取得手段２３、及び、タイムスタンプトークン生成手段２４を備える。
制御手段２１及び通信手段２２は、それぞれ、端末装置１の制御手段１１及び通信手段１２と同様の機能を有する。タイムスタンプトークン生成手段２４は、時刻取得手段２３が外部装置あるいは内部に備えるクロックから取得した正確な時刻と、端末装置１や端末装置３から受信したタイムスタンプ要求データを基に、既存のタイムスタンププロトコルを用いてタイムスタンプトークンを生成して返送する機能を有する。
【００２３】
図５は、タイムスタンプ検証装置４の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。タイムスタンプ検証装置４は、例えば、パーソナルコンピュータであり、制御手段４１、データ読込手段４２、及び、検証手段４３を備える。
制御手段４１は、端末装置１の制御手段１１と同様の機能を有する。データ読込手段４２は、可搬のコンピュータ読み取り可能な記録媒体、あるいは、ネットワークＮやケーブルなどにより接続されるコンピュータ端末などからデータを読み込む機能を有する。検証手段４３は、同じドキュメントに対して異なる時刻を証明するタイムスタンプトークンがある場合に、これらのタイムスタンプトークンの正当性を検証する。
【００２４】
ここで、既存のタイムスタンププロトコルについて説明する。タイムスタンププロトコルは、タイムスタンプの発行フェーズと検証フェーズに分けられる。
図９は、シンプルプロトコルによるタイムスタンプの発行フェーズのフローを示す。ユーザの端末装置は、一方向性及び衝突困難性を持つハッシュ関数ｈ（・）を用いて、ユーザＵが保有するドキュメントｄのハッシュ値ｈ（ｄ）を算出し、ＴＳＡのタイムスタンプ装置へ送付する。ＴＳＡのタイムスタンプ装置２は、ユーザの端末装置からハッシュ値ｈ（ｄ）を受信すると、タイムスタンプトークンＴＴを計算し、現在時刻ｔの情報とともにユーザに返送する。ユーザの端末装置は、受信したタイムスタンプトークンＴＴと現在時刻ｔの正当性を確認した上で、ローカルに保存する。シンプルプロトコルにおけるタイムスタンプトークンＴＴは、以下の（式１）により、現在の時刻ｔとドキュメントｄのハッシュ値ｈ（ｄ）の結合に対する電子署名として計算される。
【００２５】
ＴＴ＝｛ｔ，Ｓｉｇ＜ＳＫＴ＞（ｈ（ｄ）‖ｔ）｝  …（式１）
【００２６】
ここで、ＳＫＴはＴＳＡの秘密鍵を、Ａ‖ＢはデータＡとデータＢの結合を、Ｓｉｇ＜ＳＫ＞（Ｍ）は、メッセージＭに対して秘密鍵ＳＫにより作成した電子署名を表す。
【００２７】
また、タイムスタンプの検証フェーズでは、タイムスタンプの検証者Ｖのタイムスタンプ検証装置４が、タイムスタンプトークンＴＴの署名検証を行うことで、その正当性を確認する。
【００２８】
なお、リンキングプロトコルの場合、タイムスタンプトークンＴＴは、一連のタイムスタンプ要求のハッシュ連鎖として計算される。ｉ回目のタイムスタンプ要求により付与するタイムスタンプトークンＴＴをタイムスタンプトークンＴＴｉとすると、リンキングプロトコルの中でも単純なリニアリンキングプロトコルでは、タイムスタンプトークンＴＴｉは（式２）のように計算される。
【００２９】
ＴＴｉ＝｛ｔ，Ｓｉｇ＜ＳＫＴ＞（ＴＴｉ−１‖ｈ（ｄ）‖ｔ）｝  …（式２）
【００３０】
また、リンキングプロトコルのタイムスタンプの検証フェーズでは、検証者がタイムスタンプトークンＴＴをＴＳＡに送付し、ＴＳＡにおいてハッシュ値の正当性を検証した上で、この検証結果を検証者Ｖに返送する。
【００３１】
次に、本発明の一実施の形態によるタイムスタンプシステムの動作について説明する。
敵ＡとＴＳＡが結託する場合、敵ＡはＴＳＡに対して送信した任意のディジタルデータに対して、任意の時刻のタイムスタンプトークンを得ることができる。そのため、ユーザＵ側で同じドキュメントの一連の改版の前後性を証明できる情報を、タイムスタンプ発行プロトコルでコミットすることにより、ユーザＵと敵Ａとの間で、どちらのドキュメントが最新かを争う場合に、検証可能とする。ここで、コミットする情報（コミット情報）は、一方向性及び衝突困難性を持つ関数の連鎖によって作成する。一方向性及び衝突困難性を持つ関数としては、ハッシュ関数や、秘密に保持する鍵情報を用いた変換などがある。ここでは、鍵情報を秘密に保持する煩雑さのないハッシュ関数を用いることとする。
【００３２】
図６は、このコミット情報の作成方法を示す。ユーザＵの端末装置１のコミット情報生成手段１４は、初期値ＩＶをランダムに作成する。そして、あるドキュメントに対して想定される最大タイムスタンプ要求回数をｎとしたとき、全てのｉ（１≦ｉ≦ｎ）について、初期値ＩＶに対して一方向性及び衝突困難性を持つハッシュ関数ｈ（・）（単に「ｈ」とも記載する）をｉ回適用したハッシュ値ｈｉ（ＩＶ）を計算し、それぞれの値をコミット情報として内部に保持する。そして、ユーザＵの端末装置１は、実際にタイムスタンプを要求するとき、最初のタイムスタンプ要求にはハッシュ値ｈｎ（ＩＶ）のコミット情報をコミットし、ｊ回目のタイムスタンプ要求にはハッシュ値ｈｎ−ｊ＋１（ＩＶ）のコミット情報をコミットする。つまり、ｈ（ＩＶ）からｈｎ（ＩＶ）までのハッシュ連鎖を、ｎの逆順にコミット情報として利用する。ユーザＵの端末装置１がこのプロトコルを正しく実行し、初期値ＩＶと未使用のコミット情報を秘密に保持している限り、敵Ａはすでに発行されているタイムスタンプトークンのタイムスタンプ要求データより新しい版のタイムスタンプ要求データを作成することができない。ここで、図６において、実線で示す矢印は、容易に計算ができることを、破線で示す矢印は計算が事実上困難であることを示している。
以下に、タイムスタンプシステムの詳細な手順について説明する。
【００３３】
＜セットアップ手順＞
端末装置１のコミット情報生成手段１４は、最初にドキュメント毎に異なる初期値ＩＶをランダムに生成する。ここで、ドキュメントｄに対する初期値ＩＶを初期値ＩＶｄとする。さらに、ドキュメントｄについて想定される最大改版回数ｎを想定される最大タイムスタンプ要求回数としたとき、全てのｉ（１≦ｉ≦ｎ）についてハッシュ値ｈｉ（ＩＶ）を算出する。コミット情報生成手段１４は、記憶手段１３内に初期値ＩＶｄと、ハッシュ値ｈｉ（ＩＶｄ）（１≦ｉ≦ｎ）を持つコミット情報を秘密に保持しておく。
【００３４】
＜タイムスタンプトークン発行手順＞
図７は、タイムスタンプシステムのタイムスタンプトークン発行手順を示す。
ステップ１：端末装置１のタイムスタンプ要求手段１５は、ドキュメントｄのオリジナル（初版）であるドキュメントｄ１、あるいは、その改版におけるｊ（１≦ｊ≦ｎ）回目のＴＳＡに対するタイムスタンプ要求において、記憶手段１３からｈｎ−ｊ＋１（ＩＶｄ）の値を持つコミット情報を読み出す。なお、ｊ（１≦ｊ≦ｎ）回目のタイムスタンプ要求をおこなうドキュメントｄ１の改版ドキュメントをドキュメントｄｊとする。タイムスタンプ要求手段１５は、ドキュメントｄｊとｈｎ−ｊ＋１（ＩＶｄ）の値を持つコミット情報の結合である｛ｄｊ‖ｈｎ−ｊ＋１（ＩＶｄ）｝のハッシュ値によりタイムスタンプ要求データを生成する。タイムスタンプ要求手段１５は、タイムスタンプ要求データｈ（ｄｊ‖ｈｎ−ｊ＋１（ＩＶｄ））をＴＳＡのタイムスタンプ装置２に送信し、タイムスタンプを要求する。ここで、コミット情報の値ｈｎ−ｊ＋１（ＩＶｄ）は、公表してもよい。また、コミット情報の値ｈｎ−ｊ＋１（ＩＶｄ）は、タイムスタンプ要求の都度算出することでもよい。
【００３５】
ステップ２：ＴＳＡのタイムスタンプ装置２は、ユーザＵの端末装置１からタイムスタンプ要求データｈ（ｄｊ‖ｈｎ−ｊ＋１（ＩＶｄ））を受信し、タイムスタンプ要求を受け付ける。すると、タイムスタンプ装置２のタイムスタンプトークン生成手段２４は、時刻取得手段２３が取得した現在時刻を基に、タイムスタンプ要求データｈ（ｄｊ‖ｈｎ−ｊ＋１（ＩＶｄ））に対して、既存のタイムスタンププロトコルと同じ方法で、タイムスタンプトークンＴＴｊを計算し、ユーザＵの端末装置１へ返送する。例えば、シンプルプロトコルの場合、タイムスタンプトークンＴＴｊは、（式３）のように生成される。
【００３６】
ＴＴｊ＝｛ｔ，Ｓｉｇ＜ＳＫＴ＞（ｈ（ｄｊ‖ｈｎ−ｊ＋１（ＩＶｄ））‖ｔ）｝  …（式３）
【００３７】
ステップ３：ユーザＵの端末装置１は、タイムスタンプ装置２からタイムスタンプトークンＴＴｊを受信する。端末装置１のタイムスタンプトークン受信手段１６は、既存のタイムスタンププロトコルと同じ方法により、タイムスタンプトークンＴＴｊの正当性（時刻、タイムスタンプ装置２の電子署名など）を検証し、記憶手段１３内に保存する。
【００３８】
＜タイムスタンプトークンの有効性検証手順＞
単独のタイムスタンプトークンの検証プロトコルは、既存のタイムスタンププロトコルにおける検証プロトコルと同一である。
【００３９】
＜係争時の前後性検証手順＞
図８は、タイムスタンプシステムの係争時の前後性検証手順を示す。
ここでは、正当なユーザＵと、Forward-datingの攻撃を行った敵Ａが存在し、ユーザＵの端末装置１が取得した時刻ｔｋにおけるｋ番目のタイムスタンプトークンＴＴｋと、敵Ａの端末装置３が取得した時刻ｔｋより後の時刻ｔａ（＞ｔｋ）のタイムスタンプトークンＴＴａのうち、どちらが後の時刻の正当なタイムスタンプトークンであるかを、検証者Ｖのタイムスタンプ検証装置４を用いて判定する。
【００４０】
ステップ１：検証者Ｖのタイムスタンプ検証装置４は、データ読込手段４２より、ユーザＵが保有する以下の情報、すなわち、オリジナルのドキュメントｄ１、オリジナルのドキュメントｄ１に対する時刻ｔ１のタイムスタンプトークンＴＴ１、及び、オリジナルのドキュメントｄ１のタイムスタンプ要求に用いたコミット情報ｈｎ（ＩＶｄ）と、改版ドキュメントｄｋ、改版ドキュメントｄｋに対するタイムスタンプトークンＴＴｋ、及び、改版ドキュメントｄｋのタイムスタンプ要求に用いたコミット情報ｈｎ−ｋ＋１（ＩＶｄ）を読み出し、内部に記憶する。以下、コミット情報ｈｎ（ＩＶｄ）をｈ１、コミット情報ｈｎ−ｋ＋１（ＩＶｄ）をｈｋとする。
【００４１】
ｄ１，ｈｎ（ＩＶｄ）（＝ｈ１），ＴＴ１
ｄｋ，ｈｎ−ｋ＋１（ＩＶｄ）（＝ｈｋ），ＴＴｋ
【００４２】
ステップ２：検証者Ｖのタイムスタンプ検証装置４は、データ読込手段４２より、敵Ａの保有するドキュメントｄ、ドキュメントｄに対するタイムスタンプトークン、及び、ドキュメントｄのタイムスタンプ要求に用いたコミット情報を読み出し、内部に記憶する。ここでは、敵Ａは、以下に示すように、オリジナルドキュメントｄ１、ドキュメントｄ１に対する時刻ｔａのタイムスタンプトークンＴＴａ、及び、ドキュメントｄ１のタイムスタンプ要求に用いたコミット情報ｈａの入力を受け、内部に記憶する。
【００４３】
ｄ１，ｈａ，ＴＴａ
【００４４】
ステップ３：タイムスタンプ検証装置４の検証手段４３は、タイムスタンプトークンＴＴ１,ＴＴｋ,ＴＴａそれぞれの正当性を、既存のタイムスタンププロトコルの検証フェーズと同様に検証する。ここで、検証が失敗したタイムスタンプトークンは無効と判断される。
【００４５】
ステップ４：タイムスタンプトークンＴＴ１,ＴＴｋ,ＴＴａそれぞれの正当性が検証された場合、タイムスタンプ検証装置４の検証手段４３は、ユーザＵの端末装置１から得たコミット情報ｈ１及びｈｋの連続性と前後性を、以下の（式４）により検証する。ここで検証が失敗した場合、タイムスタンプトークンＴＴｋは無効と判断される。
【００４６】
【数１】
2005210479.tif 000003
【００４７】
ステップ５：コミット情報ｈ１及びｈｋの連続性と前後性が検証された場合、検証者Ｖのタイムスタンプ検証装置４は、ユーザＵが提示したコミット情報ｈｋと、敵Ａが提示したコミット情報ｈａの連続性と、コミット情報ｈａがコミット情報ｈｋより後のコミット値かどうかを、以下の（式５）により検証する。
【００４８】
【数２】
2005210479.tif 000004
【００４９】
上記（式５）を、ｍ＝１からｍ＝ｎまで検証し、等号が成立するものがあれば、タイムスタンプトークンＴＴａは有効であると判断され、敵Ａは、ドキュメントｄ１がドキュメントｄｋよりも後の版であることを主張することができる。また、等号が成立するものがなければ、タイムスタンプトークンＴＴａは無効であると判断され、ドキュメントｄ１がドキュメントｄｋよりも後の版であるという敵Ａの主張は退けられる。
【００５０】
上記実施の形態によれば、敵Ａの端末装置３が取得したタイムスタンプトークンＴＴａが、ユーザＵの端末装置１が取得したタイムスタンプトークンＴＴｋよりも新しいものであることを主張できるためには、敵Ａは、（式５）において等号が成立するようなコミット情報ｈａを検証者Ｖに提供する必要がある。敵Ａが得られる情報は、すでに公開されているハッシュ連鎖上のコミット情報の値のみであり、コミット情報ｈｋが公開されている最新の値である場合であっても、ハッシュ関数ｈ（・）は一方向性及び衝突困難性をもつので、確率的多項式時間の計算能力を持つ敵Ａの端末装置３に対しては、ハッシュ関数の出力が十分な長さでとすれば、（式５）を満たすコミット情報ｈａを見つけることは困難である。よって、上記実施の形態は、Forward-dating攻撃に対して安全である。
【００５１】
また、既存のタイムスタンププロトコルと比較した場合、ユーザＵの端末装置１において、最大ｎ回（ｎは想定される最大タイムスタンプ要求回数）のハッシュ関数の計算を行わなければならない。しかし、実用上このｎの値はそれほど大きくないと考えられ、さらに、ハッシュ関数の演算時間は非常に短いため、タイムスタンプの実行時間には大きなインパクトを与えないと考えられる。
また、係争時の検証においては、３回のタイムスタンプトークンの検証と、ｍ＋ｋ−１回のハッシュ関数の実行が必要となるが、これも上記と同様の理由により、タイムスタンプ検証装置４への負荷は高くないと考えられる。
また、上記実施の形態においては、ＴＳＡのタイムスタンプ装置２が実行する処理は既存のタイムスタンププロトコルと同一であり、ユーザＵの端末装置１において作成するタイムスタンプ要求のデータの構成を変更することのみに変更範囲が限定されるため、既存のシステムヘの親和性が高い。
【００５２】
なお、上記実施の形態においては、端末装置１においてコミット情報を生成しているが、ＴＳＡや信頼できる第三者が生成したコミット情報を端末装置１の記憶手段１３へ記憶することでもよい。
また、上記実施の形態において、端末装置１は、ドキュメントの改版が行われたときにタイムスタンプ装置２へタイムスタンプの要求を行い、タイムスタンプトークンを入手するよう構成しているが、例えば、ドキュメントの改版のタイミングではなく、一定期間毎にドキュメントに対するタイムスタンプ要求を行い、タイムスタンプトークンを取得することでもよい。
【００５３】
なお、上述の端末装置１及び３、タイムスタンプ装置２、ならびに、タイムスタンプ検証装置４は、内部にコンピュータシステムを有している。そして、上述した端末装置１及び３、タイムスタンプ装置２、ならびに、タイムスタンプ検証装置４の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含むものである。
【００５４】
また、「コンピュータ読み取り可能な記録媒体」とは、ＲＯＭの他に、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施の形態によるタイムスタンプシステムの全体構成を示すブロック図である。
【図２】同実施の形態によるユーザＵの端末装置の内部構成を示すブロック図である。
【図３】同実施の形態による敵Ａの端末装置の内部構成を示すブロック図である。
【図４】同実施の形態によるタイムスタンプ装置の内部構成を示すブロック図である。
【図５】同実施の形態によるタイムスタンプ検証装置の内部構成を示すブロック図である。
【図６】同実施の形態によるコミット情報の作成方法を説明するための図である。
【図７】同実施の形態によるタイムスタンプシステムのタイムスタンプ発行手順を示す図である。
【図８】同実施の形態によるタイムスタンプシステムの係争時の前後性検証手順を示す図である。
【図９】シンプルプロトコルの動作手順を示す図である。
【符号の説明】
【００５７】
１、３…端末装置（タイムスタンプ要求装置）
２…タイムスタンプ装置
４…タイムスタンプ検証装置
１１、２１、３１…制御手段
１２、２２、３２…通信手段
１３、３３…記憶手段
１４…コミット情報生成手段
１５、３４…タイムスタンプ要求手段
１６、３５…タイムスタンプトークン受信手段
２３…時刻取得手段
２４…タイムスタンプトークン生成手段
４２…データ読込手段
４３…検証手段
【図１】
2005210479.tif 000005
【図２】
2005210479.tif 000006
【図３】
2005210479.tif 000007
【図４】
2005210479.tif 000008
【図５】
2005210479.tif 000009
【図６】
2005210479.tif 000010
【図７】
2005210479.tif 000011
【図８】
2005210479.tif 000012
【図９】
2005210479.tif 000013