説明

タイムスタンプ装置及びそのためのプログラム

【課題】第三者機関へ接続する環境にないユーザでもタイムスタンプを取得することができるタイムスタンプ装置及びそのためのプログラムを提供する。
【解決手段】タイムスタンプ装置10には、クライアントPC12が接続されており、クライアントPC12が発生した時刻証明の対象となるデータを受け付ける場合の、受付処理の順序の前後関係を証明する第1のタイムスタンプを生成してクライアントPC12に送信する。また、タイムスタンプ装置10には、タイムスタンプサーバ14が接続されており、タイムスタンプ装置10が発生した時刻情報に対して時刻を添付し、ディジタル署名をつけた第2のタイムスタンプをタイムスタンプサーバ14から取得する。また、タイムスタンプ装置10は、上記第1、第2のタイムスタンプを関係づけ、各タイムスタンプの順序を証明できる構成となっている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時刻証明の対象となるデータに対してタイムスタンプを生成するタイムスタンプ装置及びそのためのプログラムに関する。
【背景技術】
【0002】
従来より、コピーが容易で原本の特定が困難であるディジタル文書については、文書作成日時を証明するためのタイムスタンプ(時刻署名)を付加する技術が開発されている。
【0003】
例えば、下記特許文献1には、時刻署名生成時に第三者機関への接続を行わず、オフラインで時刻署名を生成する時刻署名装置が開示されている。
【特許文献1】特開2002−116694号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記従来の技術においては、タイムスタンプ生成前に必ず第三者機関へ接続する必要があるので、第三者機関へ接続する環境にないユーザは、タイムスタンプを取得できないという問題があった。
【0005】
本発明は、上記従来の課題に鑑みなされたものであり、その目的は、第三者機関へ接続する環境にないユーザでもタイムスタンプを取得することができるタイムスタンプ装置及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は、タイムスタンプ装置であって、時刻証明の対象となるデータの受付処理を行うタイムスタンプ制御手段と、前記タイムスタンプ制御手段が行う受付処理の順序の前後関係を証明するために第1のタイムスタンプを生成するタイムスタンプ生成手段と、時刻情報を発生する時刻情報発生手段と、所定の取得時期において、前記時刻情報に対して時刻証明するための第2のタイムスタンプを取得するタイムスタンプ取得手段と、を備え、前記タイムスタンプ生成手段は、前記第1のタイムスタンプと前記第2のタイムスタンプとを関係付けることを特徴とする。
【0007】
また、上記タイムスタンプ装置において、前記タイムスタンプ生成手段は、前記タイムスタンプ制御手段が行った前記受付処理の順序が連続する二つの処理に基づいて第1のタイムスタンプを生成することを特徴とする。
【0008】
また、上記タイムスタンプ装置において、前記タイムスタンプ取得手段は、前記時刻情報の代わりに最も新しく生成した前記第1のタイムスタンプに対して時刻証明するための第2のタイムスタンプを取得することを特徴とする。
【0009】
また、上記タイムスタンプ装置において、前記タイムスタンプ生成手段は、前記タイムスタンプ制御手段が受付処理を行った複数のデータに対してまとめて第1のタイムスタンプを生成することを特徴とする。
【0010】
また、本発明は、時刻証明の対象となるデータの受付処理を行い、前記受付処理の順序の前後関係を証明するために第1のタイムスタンプを生成し、時刻情報を発生し、所定の取得時期において、前記時刻情報に対して時刻証明するための第2のタイムスタンプを取得し、前記第1のタイムスタンプと前記第2のタイムスタンプとを関係付ける処理をコンピュータに実効させるためのプログラムであることを特徴とする。
【発明の効果】
【0011】
上記本発明によれば、ユーザが第三者機関へ接続する環境にないユーザでもタイムスタンプを取得することができる。
【0012】
また、時刻証明の対象となるデータの前後関係を証明するための第1のタイムスタンプを取得するために、第三者機関へのアクセス回数を減少でき、第三者機関からのタイムスタンプの付与コストを低減できる。
【0013】
また、タイムスタンプ装置が第2のタイムスタンプを取得する際に使用するデータは、時刻情報でも第1のタイムスタンプでもよく、タイムスタンプ装置の柔軟な運営が可能となる。
【0014】
また、第1のタイムスタンプは、複数のデータに対してまとめて付与してもよく、処理速度を向上できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明を実施するための最良の形態(以下、実施形態という)を、図面に従って説明する。
【0016】
図1には、本発明にかかるタイムスタンプ装置を使用したタイムスタンプ生成システムの構成例が示される。図1において、タイムスタンプ装置10には、ユーザ側のクライアントコンピュータ(クライアントPC)12が接続され、クライアントPC12が発生した時刻証明の対象となるデータに対して第1のタイムスタンプを付与してクライアントPC12に送信する。第1のタイムスタンプは、クライアントPC12からのデータをタイムスタンプ装置10が受け付ける場合の、受付処理の順序の前後関係を証明するためのタイムスタンプである。なお、タイムスタンプ装置10とクライアントPC12との接続方法は特に限定されず、イーサネット(登録商標)等適宜な手段を使用することができる。
【0017】
また、タイムスタンプ装置10は、インターネット、LAN(構内通信網)等を介してタイムスタンプサーバ14に接続されている。このタイムスタンプサーバ14は、例えばタイムスタンプ装置10が発生した時刻情報に対して信頼できる時刻源から得た時刻を添付し、ディジタル署名をつけて返信する。上記タイムスタンプサーバ14から得るディジタル署名付きの返信データが本発明の第2のタイムスタンプの例である。なお、タイムスタンプサーバ14は、例えば適宜な外部機関に設置されていてもよいし、タイムスタンプ装置10と同じ組織内に設置されていてもよい。また、タイムスタンプサーバ14は、公的な認証機関により発行された公開鍵証明書を保持していてもよいし、公開鍵証明書を保持せずにタイムスタンプを付与する構成でもよい。
【0018】
以上の実施形態によれば、クライアントPC12がインターネット等を介して外部の第三者機関へ接続する環境にない場合でもタイムスタンプを取得することができる。
【0019】
図2には、本発明にかかるタイムスタンプ装置10の構成例が示される。図1において、タイムスタンプ装置10は、CPU(中央処理装置)16、不揮発性記憶装置18、RAM(ランダムアクセスメモリ)20、通信インタフェース22、24及び計時部26を含んで構成されている。
【0020】
CPU16は、不揮発性記憶装置18に格納されたプログラムを実行し、タイムスタンプ装置10の動作を制御するプロセッサである。
【0021】
不揮発性記憶装置18は、リードオンリーメモリ、ハードディスク装置等により構成されたコンピュータ読み取り可能な不揮発性の記憶媒体であり、CPU16が実行するプログラムやデータ等を記憶する。
【0022】
RAM20は、CPU16の作業用メモリ(主記憶装置)として機能する読み書き可能な揮発性メモリである。
【0023】
通信インタフェース22は、上記クライアントPC12に接続され、時刻証明の対象となるデータ及びそのデータに対するタイムスタンプ等の送受信処理を行う。
【0024】
通信インタフェース24は、タイムスタンプサーバ14に接続され、タイムスタンプ装置10が発生した時刻情報及びその時刻情報に対するタイムスタンプ等の送受信処理を行う。
【0025】
計時部26は、タイムスタンプ装置10の動作に使用する時刻情報を発生する時計機能である。
【0026】
図3には、上記図2に示されたタイムスタンプ装置10の各機能を表す機能ブロック図が示される。図3において、タイムスタンプ装置10は、タイムスタンプ制御部28、タイムスタンプ生成部30、タイムスタンプ取得部32、時刻情報発生部34、記憶部36及び通信部38の各機能を含んで構成されている。
【0027】
タイムスタンプ制御部28は、CPU16によりにより実現され、時刻証明の対象となるデータの受付処理及びタイムスタンプサーバ14への時刻証明(第2のタイムスタンプ)の要求処理を行う。このタイムスタンプ制御部28が受け付ける時刻証明の対象となるデータは、クライアントPC12において生成されたハッシュ値であることが好適である。
【0028】
タイムスタンプ生成部30は、CPU16により実現され、上記タイムスタンプ制御部28が行う受付処理の前後関係を証明するための第1のタイムスタンプを生成する。また、タイムスタンプ生成部30は、第1のタイムスタンプと第2のタイムスタンプとを関係付ける処理も行う。第1のタイムスタンプを生成及び第1のタイムスタンプと第2のタイムスタンプとを関係付ける処理の詳細については後述する。
【0029】
タイムスタンプ取得部32は、CPU16によりにより実現され、上記タイムスタンプ制御部28から第2のタイムスタンプを要求された場合に、タイムスタンプサーバ14に対して時刻情報発生部34が発生した時刻情報を送り、第2のタイムスタンプをタイムスタンプサーバ14から受け取る。
【0030】
時刻情報発生部34は、CPU16及び計時部26により実現され、上記タイムスタンプ取得部32が第2のタイムスタンプを取得する際に使用する時刻情報を発生する。
【0031】
記憶部36は、不揮発性記憶装置18及びRAM20により実現され、上記第1、第2のタイムスタンプ等のデータ及びCPU16の動作プログラム等を格納する。
【0032】
通信部38は、通信インタフェース22、24により実現され、クライアントPC12及びタイムスタンプサーバ14との間で、第1、第2のタイムスタンプ、時刻証明の対象となるデータ等の送受信処理を行う。
【0033】
図4には、本発明にかかるタイムスタンプ装置10の動作例のフローが示される。図4において、タイムスタンプ制御部28は、クライアントPC12からタイムスタンプの要求が有ったか否かを監視する(S101)。このタイムスタンプの要求は、クライアントPC12が、時刻証明の対象となるデータのハッシュ値を送信することにより行う。
【0034】
S101において、タイムスタンプの要求が有ると、タイムスタンプ制御部28は、通信部38を介して受け取ったハッシュ値をタイムスタンプ生成部30に渡し、タイムスタンプ生成部30において第1のタイムスタンプを生成する(S102)。
【0035】
図5には、第1のタイムスタンプの生成方法の例の説明図が示される。図5において、HnはクライアントPC12から受信した時刻証明の対象となるハッシュ値であり、nはタイムスタンプ制御部28がこのハッシュ値を受け付けた順番を示す番号である。また、Lnは、ハッシュ値Hnに付される第1のタイムスタンプである。Ln−1は、タイムスタンプ制御部28が受け付けた順番がハッシュ値Hnより一つ前のハッシュ値Hn−1に対して付加された第1のタイムスタンプである。本例では、上記二つのハッシュ値Hn、Hn−1及びハッシュ値Hnの受付番号であるnとを使用してタイムスタンプ生成部30が次に示す式(1)により第1のタイムスタンプLnを演算する。
Ln=hash(Hn,n,Ln−1) −(1)
ここで、hashはハッシュ関数を示す。なお、ハッシュ関数としては、特に限定されない。
【0036】
上記式(1)に示されるように、第1のタイムスタンプLnは、時刻証明の対象となるハッシュ値Hn、その受付番号n及び受付番号が一つ前のハッシュ値Hn−1に対して付加された第1のタイムスタンプLn−1を組み合わせた形式となっている。従って、例えば上記第1のタイムスタンプLnを受付番号の順に演算した結果(L1、L2…Ln−1、Ln)を、時刻証明の対象となるハッシュ値Hnをタイムスタンプ制御部28が受け付けた順序の前後関係の証明に使用することができる。
【0037】
以上のようにして生成した第1のタイムスタンプは、タイムスタンプ制御部28がクライアントPC12に送信する(S103)。また、タイムスタンプ制御部28は、上記第1のタイムスタンプを記憶部36に格納する。
【0038】
次に、タイムスタンプ制御部28は、クライアントPC12からタイムスタンプの要求が有ったか否かを監視し(S104)、要求が有った場合には、S102からの動作を繰り返し、第1のタイムスタンプを生成する。
【0039】
また、タイムスタンプ制御部28は、第2のタイムスタンプの取得時期が到来したか否かも監視し(S105)、到来していない場合はS104からの動作を繰り返す。一方、S105において、第2のタイムスタンプの取得時期が到来した場合は、クライアントPC12から最も新しく取得した時刻証明の対象となるハッシュ値の受付番号に1を加えた数値をタイムスタンプ取得部32に渡し(例えばn+1)、第2のタイムスタンプの取得をタイムスタンプ取得部32に要求する(S106)。なお、第2のタイムスタンプの取得時期は、適宜設定することができる。例えば、クライアントPC12からのタイムスタンプの要求回数に応じてあるいは所定時間毎に取得時期を設定してもよい。
【0040】
タイムスタンプ取得部32は、S106においてタイムスタンプ制御部28が第2のタイムスタンプの要求を行った時刻(Tn+1)を時刻情報発生部34から取得し、この時刻(Tn+1)のハッシュ値を算出して通信部38を介してタイムスタンプサーバ14に送信する。タイムスタンプサーバ14では、上記時刻のハッシュ値を時刻情報として受け取ると、これに受取時刻を添付し、さらにディジタル署名をつけて第2のタイムスタンプとしてタイムスタンプ装置10に返信する。タイムスタンプ取得部32は、返信された第2のタイムスタンプを通信部38を介して取得する(S107)。
【0041】
なお、タイムスタンプ取得部32は、タイムスタンプサーバ14から第2のタイムスタンプを取得する際に、上記時刻Tn+1の代わりに、最も新しく生成した第1のタイムスタンプLnのハッシュ値をタイムスタンプサーバ14に送信してもよい。
【0042】
タイムスタンプ制御部28は、タイムスタンプ取得部32が取得した第2のタイムスタンプをタイムスタンプ生成部30に渡し、タイムスタンプ生成部30が、上記第2のタイムスタンプを使用して第1のタイムスタンプを生成する。これにより、第1のタイムスタンプと第2のタイムスタンプとを関係付ける(S108)。
【0043】
図6には、第2のタイムスタンプを使用して第1のタイムスタンプを生成する処理の例の説明図が示される。図6において、TSn+1は、タイムスタンプ取得部32が取得した第2のタイムスタンプである。この第2のタイムスタンプを使用して生成した第1のタイムスタンプLn+1は、次の式(2)により演算される。
Ln+1=hash(Ln,n+1,TSn+1) −(2)
【0044】
上記式(2)により演算される第1のタイムスタンプLn+1は、クライアントPC12から最も新しく取得したハッシュ値に対して付加された第1のタイムスタンプLnと第2のタイムスタンプTSn+1とを関係付け、その前後関係を示している。また、式(1)により、時刻証明の対象となるハッシュ値Hnの前後関係が証明されるので、第2のタイムスタンプにより、クライアントPC12から受信したハッシュ値が一定期間の間に作成されたものであることを証明できる。
【0045】
以上のようにして生成した第1のタイムスタンプは、タイムスタンプ制御部28が記憶部36に格納する。その後、S104からの動作を繰り返す。
【0046】
以上の実施形態によれば、クライアントPC12が直接タイムスタンプサーバ14に対してタイムスタンプを要求する構成に比べて、タイムスタンプサーバ14へのアクセス回数を減少することができ、タイムスタンプの付与コストを低減することができる。
【0047】
図7には、第1のタイムスタンプの他の生成方法の例の説明図が示される。図7において、クライアントPC12から受信した複数のハッシュ値Hn1、Hn2…を使用して、次に示す式(3)により新たなハッシュ値Hnを演算する。
Hn=hash(Hn1,Hn2…) −(3)
【0048】
次に、次に示す式(4)により第1のタイムスタンプLnを演算する。
Ln=hash(Hn,n,Ln−1) −(4)
【0049】
上記方法によれば、複数のハッシュ値Hn1、Hn2…に対してまとめてタイムスタンプを付与できるので、処理速度を向上することができる。
【図面の簡単な説明】
【0050】
【図1】本発明にかかるタイムスタンプ装置を使用したタイムスタンプ生成システムの構成例を示す図である。
【図2】本発明にかかるタイムスタンプ装置の構成例を示す図である。
【図3】本発明にかかるタイムスタンプ装置の各機能を表す機能ブロック図である。
【図4】本発明にかかるタイムスタンプ装置の動作例のフロー図である。
【図5】第1のタイムスタンプの生成方法の例の説明図である。
【図6】第2のタイムスタンプを使用して第1のタイムスタンプを生成する処理の例の説明図である。
【図7】第1のタイムスタンプの他の生成方法の例の説明図である。
【符号の説明】
【0051】
10 タイムスタンプ装置、12 クライアントPC、14 タイムスタンプサーバ、16 CPU、18 不揮発性記憶装置、20 RAM、22、24 通信インタフェース、26
計時部、28 タイムスタンプ制御部、30 タイムスタンプ生成部、32 タイムスタンプ取得部、34 時刻情報発生部、36 記憶部、38 通信部。

【特許請求の範囲】
【請求項1】
時刻証明の対象となるデータの受付処理を行うタイムスタンプ制御手段と、
前記タイムスタンプ制御手段が行う受付処理の順序の前後関係を証明するために第1のタイムスタンプを生成するタイムスタンプ生成手段と、
時刻情報を発生する時刻情報発生手段と、
所定の取得時期において、前記時刻情報に対して時刻証明するための第2のタイムスタンプを取得するタイムスタンプ取得手段と、
を備え、前記タイムスタンプ生成手段は、前記第1のタイムスタンプと前記第2のタイムスタンプとを関係付けることを特徴とするタイムスタンプ装置。
【請求項2】
請求項1記載のタイムスタンプ装置において、前記タイムスタンプ生成手段は、前記タイムスタンプ制御手段が行った前記受付処理の順序が連続する二つの処理に基づいて第1のタイムスタンプを生成することを特徴とするタイムスタンプ装置。
【請求項3】
請求項1または請求項2記載のタイムスタンプ装置において、前記タイムスタンプ取得手段は、前記時刻情報の代わりに最も新しく生成した前記第1のタイムスタンプに対して時刻証明するための第2のタイムスタンプを取得することを特徴とするタイムスタンプ装置。
【請求項4】
請求項1から請求項3のいずれか一項記載のタイムスタンプ装置において、前記タイムスタンプ生成手段は、前記タイムスタンプ制御手段が受付処理を行った複数のデータに対してまとめて第1のタイムスタンプを生成することを特徴とするタイムスタンプ装置。
【請求項5】
時刻証明の対象となるデータの受付処理を行い、
前記受付処理の順序の前後関係を証明するために第1のタイムスタンプを生成し、
時刻情報を発生し、
所定の取得時期において、前記時刻情報に対して時刻証明するための第2のタイムスタンプを取得し、
前記第1のタイムスタンプと前記第2のタイムスタンプとを関係付ける処理をコンピュータに実効させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−335957(P2007−335957A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−162340(P2006−162340)
【出願日】平成18年6月12日(2006.6.12)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】