JP2005210479A - Time stamp system, time stamp requesting device, time stamp verifying device, and computer program - Google Patents
Time stamp system, time stamp requesting device, time stamp verifying device, and computer program Download PDFInfo
- Publication number
- JP2005210479A JP2005210479A JP2004015673A JP2004015673A JP2005210479A JP 2005210479 A JP2005210479 A JP 2005210479A JP 2004015673 A JP2004015673 A JP 2004015673A JP 2004015673 A JP2004015673 A JP 2004015673A JP 2005210479 A JP2005210479 A JP 2005210479A
- Authority
- JP
- Japan
- Prior art keywords
- time stamp
- time
- digital data
- token
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004590 computer program Methods 0.000 title claims description 10
- 230000006870 function Effects 0.000 claims description 52
- 238000012795 verification Methods 0.000 claims description 52
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims 5
- 238000000034 method Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Abstract
Description
本発明は、ディジタルデータが存在した時刻を認証するためのタイムスタンプシステム、タイムスタンプ要求装置、タイムスタンプ検証装置、及び、コンピュータプログラムに関する。 The present invention relates to a time stamp system, a time stamp requesting device, a time stamp verification device, and a computer program for authenticating the time when digital data existed.
インターネットの普及に伴い、ディジタルドキュメント(以下、単に「ドキュメント」という)をコンピュータ上で扱ったり、ネットワークを通じて流通させる機会が爆発的に増えている。この中には、私的なドキュメントの流通ばかりでなく、申請書類や契約書など、生活や企業活動にとって重要な意味を持つドキュメントの流通も含まれる。このようなドキュメントを扱う場合、ドキュメントがある時刻に確かに存在したことを示すことは非常に重要である。例えば、一般的な契約書をディジタルデータにより作成する場合、その契約がいつ成立しているかは、なんらかの形で保証されている必要がある。また、特許において先発明主義を採用している場合、先に発明したことを立証するために、発明内容を示すドキュメントがある時刻に存在したことは重要な情報となる。その他にも、株取引のように注文時刻が取引結果に影響する場合にも、注文を示す通信データの発生時刻を何らかの形で保証する必要がある。 With the spread of the Internet, opportunities to handle digital documents (hereinafter simply referred to as “documents”) on a computer or to distribute them through a network have increased explosively. This includes not only the distribution of private documents, but also the distribution of documents such as application documents and contracts that are important for daily life and corporate activities. When dealing with such a document, it is very important to show that the document indeed existed at a certain time. For example, when a general contract is created from digital data, it is necessary to guarantee in some way when the contract is established. In addition, when a prior invention principle is adopted in a patent, it is important information that a document indicating the contents of the invention exists at a certain time in order to prove that the invention has been invented earlier. In addition, when the order time affects the transaction result as in stock trading, it is necessary to guarantee the generation time of communication data indicating the order in some form.
このようなニーズを満たすために、ディジタルデータのタイムスタンプを行うためのタイムスタンプ技術の研究開発が行われ、すでにいくつかの実サービスも実施されている。これは、タイムスタンプ要求者であるユーザと、タイムスタンプ発行者(TSA:Time Stamp Authority)の間で行われるタイムスタンププロトコルにより行われる。これまでに提案されているタイムスタンププロトコルは、大別してシンプルプロトコル(例えば、非特許文献1)とリンキングプロトコル(例えば、特許文献1、特許文献2)の2種類がある。シンプルプロトコルではドキュメントのハッシュ値に時刻を結合させた値に対して、TSAが電子署名を付与したタイムスタンプトークン(時刻証明書)を発行する。一方リンキングプロトコルで発行されるタイムスタンプトークンには、ドキュメントのハッシュ値を、既に発行されたタイムスタンプから構成されるハッシュ連鎖に組み込む。
シンプルプロトコルでは、タイムスタンプトークンは、単にTSAの電子署名であるため、TSAが信頼できる第三者(TTP:Trusted Third Party)である必要がある。一方、リンキングプロトコルでは、ハッシュ連鎖の途中値が一定時間おきに新聞などに公表されるため、TSAにおける不正をユーザ側で検出することが可能である。
In the simple protocol, the time stamp token is simply an electronic signature of the TSA, and therefore needs to be a trusted third party (TTP) that the TSA can trust. On the other hand, in the linking protocol, an intermediate value of a hash chain is published in a newspaper or the like at regular intervals, so that it is possible for a user to detect fraud in TSA.
従来のタイムスタンプ方式においては、知的財産保護のように、早い時刻のほうが有利であるアプリケーションを想定している。すなわち、従来のタイムスタンプ方式において想定される敵の攻撃は、あるドキュメントのタイムスタンプを、より前の時刻のタイムスタンプに偽造する攻撃である。この攻撃のことを「Back-dating」と呼ぶ。これまでに想定されているBack-Datingは、敵とTSAが結託して、第三者が検証可能な、以前の時刻のタイムスタンプを発行する攻撃である。シンプルプロトコルは、このBack-Dating攻撃に対する耐性はないが、リンキングプロトコルは、Back-Dating攻撃があった場合、ハッシュ値を計算することにより、攻撃の有無を検出することができる。 The conventional time stamp method assumes an application where earlier time is more advantageous, such as protection of intellectual property. In other words, an enemy attack assumed in the conventional time stamp method is an attack that forges a time stamp of a document to a time stamp of an earlier time. This attack is called “Back-dating”. Back-Dating, which has been envisaged so far, is an attack in which the enemy and the TSA collaborate to issue a time stamp of a previous time that can be verified by a third party. The simple protocol is not resistant to this back-dating attack, but the linking protocol can detect the presence or absence of an attack by calculating a hash value when there is a back-dating attack.
一方、タイムスタンプが使われる別のアプリケーションとして、より後の時刻のドキュメントのほうが有効になるアプリケーションも想定される。しかし、従来のタイムスタンプ方式において、あるドキュメントに対して、敵が後の時刻のタイムスタンプトークンを取得する攻撃への対策については、これまでに提案されていない。
シンプルプロトコルを例にとると、ユーザが、例えば遺言状のように、改版の可能性を含むドキュメントで、一連の改版の中で最も新しいドキュメントのみが有効となるタイプのドキュメントについてのタイムスタンプをTSAに要求する。最初にユーザは、時刻t1に、ドキュメントdのタイムスタンプを要求し、時刻t1のタイムスタンプトークンを取得する。この際、ユーザはドキュメントdのハッシュ値をTSAに送信する。次に、時刻t1より後の時刻t2(>t1)に、ユーザがドキュメントdを改版したドキュメントd’を作成し、TSAから時刻t2のタイムスタンプトークンを取得する。このような状況で、ユーザとTSAの間の通信を盗聴可能な敵を考える。敵は、ドキュメントd’よりもドキュメントdが有効である方が望ましい状況である敵であり、再びドキュメントdを有効にしたいと考える。このとき敵は、時刻t1においてドキュメントdのタイムスタンプが要求されたときに盗聴で得たドキュメントdのハッシュ値を、時刻t2より後の時刻t3(>t2)にTSAに送信することで、有効なタイムスタンプトークンを容易に入手することが可能である。
On the other hand, as another application in which a time stamp is used, an application in which a document at a later time is more effective is assumed. However, in the conventional time stamp method, a countermeasure against an attack in which an enemy acquires a time stamp token at a later time has not been proposed for a document.
Taking the simple protocol as an example, the TSA gives the user a time stamp for a document that has a possibility of revision, such as a will, for which only the newest document in the series is valid. To request. First to the user, the time t 1, to request the time stamp of the document d, to get the time stamp token of the time t 1. At this time, the user transmits the hash value of the document d to the TSA. Then, at a time t 2 (> t 1) after the time t 1, a user creates a document d 'which was revised a document d, to get the time stamp token of time t 2 from the TSA. In this situation, consider an enemy that can eavesdrop on the communication between the user and the TSA. The enemy is an enemy in which it is desirable that the document d is valid rather than the document d ′, and he wants to validate the document d again. At this time, the enemy sends the hash value of the document d obtained by eavesdropping when the time stamp of the document d is requested at time t 1 to the TSA at time t 3 (> t 2 ) after time t 2. Thus, it is possible to easily obtain a valid time stamp token.
本発明は、このような事情を考慮してなされたもので、その目的は、ディジタルデータに対し、第三者により後の時刻における不正なタイムスタンプがなされることを防止することができるタイムスタンプシステム、タイムスタンプ要求装置、タイムスタンプ検証装置、及び、コンピュータプログラムを提供することにある。 The present invention has been made in view of such circumstances, and the purpose thereof is a time stamp that can prevent an unauthorized time stamp from being made at a later time by a third party on digital data. A system, a time stamp requesting device, a time stamp verification device, and a computer program are provided.
この発明は、上記の課題を解決すべくなされたもので、請求項1に記載の発明は、ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムであって、前記タイムスタンプ要求装置は、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段とを備え、前記タイムスタンプ装置は、前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータに対するタイムスタンプトークンを生成して返送するタイムスタンプトークン生成手段を備える、ことを特徴とするタイムスタンプシステムである。
The present invention has been made to solve the above problems, and the invention according to
請求項2に記載の発明は、請求項1に記載のタイムスタンプシステムであって、前記記憶手段は、初期値を一方向性及び衝突困難性を持つ関数を用いて想定される最大タイムスタンプ要求回数n回まで再帰的に変換したそれぞれの値であるコミット情報を記憶し、前記タイムスタンプ要求手段は、タイムスタンプを要求する回数がj(1≦j≦n)回目であった場合、(前記想定される最大タイムスタンプ要求回数n−前記タイムスタンプ要求回数j+1)回まで一方向性及び衝突困難性のある関数により前記初期値を再帰的に変換して得た値を持つコミット情報と前記ディジタルデータとを、一方向性及び衝突困難性を持つ関数を用いて変換してタイムスタンプ要求データを得る、ことを特徴とする。
The invention according to
請求項3に記載の発明は、請求項1または請求項2に記載のタイムスタンプシステムであって、前記タイムスタンプシステムは、さらに、タイムスタンプトークンを検証するタイムスタンプ検証装置とからなり、前記タイムスタンプ検証装置は、異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段を備える、ことを特徴とする。
The invention according to
請求項4に記載の発明は、ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ要求装置であって、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段と、を備えることを特徴とするタイムスタンプ要求装置である。 According to a fourth aspect of the present invention, there is provided a time stamp requesting device for requesting a time stamp for authenticating a time at which digital data exists, and data for proving the time at which the digital data existed by a request from the time stamp requesting device. The time stamp requesting device used in a time stamp system comprising a time stamp device for issuing a time stamp token, obtained by recursively converting using a function having unidirectionality and collision difficulty as an initial value. Means for storing commit information for verifying the seriality of a series of revisions of digital data, digital data for requesting a time stamp, and a commit used for requesting the previous time stamp in the digital data Commit information with the value that is the basis for generating information Time stamp request means for transmitting time stamp request data obtained by conversion using a function having one-way and collision difficulty to the time stamp device and requesting a time stamp for the digital data, and corresponding to the request And a time stamp token receiving means for receiving the time stamp token returned from the time stamp device.
請求項5に記載の発明は、ディジタルデータと、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報のうち、該ディジタルデータにおいて直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを送信して前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ検証装置であって、異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段、を備えることを特徴とするタイムスタンプ検証装置である。 The invention according to claim 5 has digital data and a value obtained by recursively converting the initial value using a function having unidirectionality and collision difficulty, and the continuity of a series of revisions of the digital data. Among the commit information that certifies the commit information, the commit information having a value used as a basis for generating the commit information used for the request of the immediately preceding time stamp in the digital data is used with a function having one-way and collision difficulty. A time stamp requesting device that transmits the time stamp request data obtained by conversion in order to request a time stamp for the digital data, and the digital data is based on the time stamp request data received from the time stamp requesting device. A time stamp device that generates and returns a time stamp token, which is data that proves the existing time A time stamp verification device used in a time stamp system comprising a time stamp verification device for verifying the time stamp token, and when there is a time stamp token of the digital data proving a different time, a later time Of the values obtained by recursively converting the commit information corresponding to the time stamp token that proves the one-way and collision-resistant functions, the time stamp token that proves the previous time A time stamp verification apparatus comprising: verification means for verifying the validity of a time stamp token that proves the later time depending on whether there is a value that matches the corresponding commit information.
請求項6に記載の発明は、ディジタルデータが存在した時刻を認証するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置からの要求によりディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを発行するタイムスタンプ装置とからなるタイムスタンプシステムの前記タイムスタンプ要求装置に用いられるコンピュータプログラムであって、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶手段に記憶するステップと、タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するステップと、前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。 The invention according to claim 6 is a time stamp requesting device for requesting a time stamp for authenticating the time when the digital data existed, and data for proving the time when the digital data existed by a request from the time stamp requesting device. A computer program used in the time stamp requesting device of a time stamp system comprising a time stamp device that issues a time stamp token, and recursively converted using a function having unidirectionality and difficulty of collision as an initial value Storing the commit information having the value obtained by the above and certifying the seriality of the series of revisions of the digital data in the storage means, the digital data requesting the time stamp, and the digital data Generate commit information used for request The time stamp request data obtained by converting the commit information having the obtained value using a function having one-way and collision difficulty is transmitted to the time stamp device, and the time stamp for the digital data is requested. And a step of receiving a time-stamp token returned from the time-stamp device in response to the request.
請求項7に記載の発明は、ディジタルデータと、初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報のうち、該ディジタルデータにおいて直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを送信して前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求装置と、前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムの前記タイムスタンプ検証装置に用いられるコンピュータプログラムであって、異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証するステップ、をコンピュータに実行させることを特徴とするコンピュータプログラムである。 The invention according to claim 7 has digital data and a value obtained by recursively converting the initial value using a function having unidirectionality and difficulty of collision. Among the commit information that certifies the commit information, the commit information having a value used as a basis for generating the commit information used for the request of the immediately preceding time stamp in the digital data is used with a function having one-way and collision difficulty. A time stamp requesting device that transmits the time stamp request data obtained by conversion in order to request a time stamp for the digital data, and the digital data is based on the time stamp request data received from the time stamp requesting device. A time stamp device that generates and returns a time stamp token, which is data that proves the existing time A computer program used for the time stamp verification device of the time stamp system comprising the time stamp verification device for verifying the time stamp token, wherein there is a time stamp token of the digital data certifying a different time, Of the values obtained by recursively converting the commit information corresponding to the time stamp token that proves the later time by the function having one-way and collision difficulty, the time that proves the previous time A computer program that causes a computer to execute the step of verifying the validity of a time stamp token that proves the later time based on whether or not there is a value that matches the commit information corresponding to the stamp token.
本発明によれば、正当なユーザが所有するドキュメントに対して不正なタイムスタンプを行うことを試みる敵が正当なユーザのドキュメントを入手可能であり、かつ、敵とタイムスタンプ発行者とが結託できる場合であっても、ユーザの所有するドキュメントに対して正しい時刻より後の時刻におけるタイムスタンプがなされることを防止することができる。 According to the present invention, an enemy attempting to perform an unauthorized time stamp on a document owned by an authorized user can obtain an authorized user's document, and the enemy and the time stamp issuer can collaborate. Even in such a case, it is possible to prevent a time stamp after a correct time from being applied to a document owned by the user.
以下、図面を参照して本発明の一実施の形態を説明する。
図1は、本発明の一実施の形態によるタイムスタンプシステムの全体構成を示す図である。タイムスタンプシステムは、公衆網や私設網などのネットワークNを介して接続されるユーザUのタイムスタンプ要求装置としての端末装置1、タイムスタンプ発行者(以下、「TSA」と記載、TSA:Time Stamp Authority)のタイムスタンプ装置2、及び、敵Aの端末装置3と、検証者Vのタイムスタンプ検証装置4とからなる。ユーザUは、ディジタルデータとしてのディジタルドキュメント(以下単に「ドキュメント」と記載)がある時刻において存在したことの証明であるタイムスタンプ、すなわち、時刻認証を要求する正当なユーザである。タイムスタンプの要求により、ドキュメントがある時刻において存在したことを証明するデータであるタイムスタンプトークン、すなわち、時刻証明書を取得することができる。そして、タイムスタンプを要求するドキュメントは、例えば、遺言状のように、改版の可能性を含むドキュメントであり、一連の改版の中で最も新しいドキュメントのみが有効となるタイプのドキュメントである。また、敵Aは、ユーザUのドキュメントに不正な時刻のタイムスタンプトークンを取得しようとする者であり、検証者とは、タイムスタンプトークンの正当を検証する者である。なお、ディジタルデータは、文書(ドキュメント)、画像、音声、プログラム、データベース、電子署名、など任意のデータ(ファイル)でありうる。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing an overall configuration of a time stamp system according to an embodiment of the present invention. The time stamp system includes a
ここでは、敵Aは、Forward-datingにより、ユーザUのドキュメントに不正な時刻のタイムスタンプを試みるものである。Forward-datingとは、ユーザUとTSAの間で実行されるタイムスタンププロトコルについて、ユーザUが時刻tにドキュメントdに対するタイムスタンプトークンを取得した後、時刻tより後の時刻t’(>t)に敵A(≠ユーザU)が、このドキュメントdに対して、TSAの発行した時刻t’における検証可能な(有効な)タイムスタンプトークンを取得することをいい、この時刻t’における検証可能なタイムスタンプトークンを取得できるとき、敵AはForward-datingに成功したと言う。 Here, the enemy A tries to stamp the time of an incorrect time on the document of the user U by Forward-dating. Forward-dating is a time stamp protocol executed between the user U and the TSA. After the user U obtains a time stamp token for the document d at time t, a time t ′ (> t) after the time t. The enemy A (≠ user U) obtains a verifiable (valid) time stamp token at the time t ′ issued by the TSA for the document d, and can be verified at the time t ′. When the time stamp token can be obtained, Enemy A is said to have successfully forward-dated.
次に、敵Aのモデルについて説明する。本実施の形態で想定する敵Aの基本動作としては、ネットワークN(通信路)上のデータの盗聴が可能であり、同時に任意の時刻に、任意のドキュメントに対するタイムスタンプをTSAに要求し、タイムスタンプトークンを受領することが可能な装置を保有するものとする。また、この敵Aが保有する装置は、確率的多項式時間の計算能力を持つとする。これは、一方向性及び衝突困難性を持つ関数を用いてあるデータを変換して得られる変換データがわかっている場合に、元のデータとして想定されるデータについて総当りで変換データを生成することにより元のデータを特定することが事実上困難であることを示す。 Next, the enemy A model will be described. As a basic operation of the enemy A assumed in this embodiment, data on the network N (communication path) can be wiretapped, and at the same time, a time stamp for an arbitrary document is requested from the TSA, A device capable of receiving stamp tokens shall be possessed. In addition, it is assumed that the device possessed by the enemy A has a probabilistic polynomial time calculation capability. This is a round-robin conversion of the data assumed as the original data when conversion data obtained by converting certain data using a function having one-way and collision difficulty is known. This indicates that it is practically difficult to identify the original data.
そして、その上で、付加的に敵Aが得られる可能性がある情報について考える。まず、最初にタイムスタンプ対象のドキュメントを得られるかどうかである。一般的なタイムスタンププロトコルでは、タイムスタンプを要求するためのデータはドキュメントのハッシュ値であるため、ドキュメントそのものを入手することは不可能である。しかし、タイムスタンプを行うドキュメントは、タイムスタンプの要求者以外も知りえる可能性があり、敵Aが入手する可能性もある。そこで、敵Aの分類の観点として、ドキュメントそのものの取得の有無が挙げられる。 Then, information on the possibility that the enemy A can be obtained additionally will be considered. The first is whether or not a document to be time stamped can be obtained. In a general time stamp protocol, the data for requesting the time stamp is a hash value of the document, and it is impossible to obtain the document itself. However, there is a possibility that a document to be time stamped can be known by anyone other than the requester of the time stamp, and the enemy A may obtain it. Therefore, as a viewpoint of the classification of the enemy A, presence / absence of acquisition of the document itself can be mentioned.
もう1つの観点は、他のプロトコル参加者との結託である。本実施の形態で想定しているForward-datingでは、本来のユーザUと敵Aが結託することは、ユーザUが既にタイムスタンプを要求したドキュメントに対して、最新のタイムスタンプを要求していることと同義であるため、ユーザUと敵Aの結託は想定しない。もう1つの結託がTSAとの結託である。この敵AとTSAが結託することは想定可能であり、この場合、タイムスタンプトークンを発行するための秘密情報を入手することが可能であり、また、TSAの時刻も改ざんが可能であるため、敵Aは敵Aが生成した任意のデータに対する、任意の時刻の検証可能なタイムスタンプトークンを入手することが可能である。
本実施の形態においては、敵AとTSAが結託し、かつ、敵AがユーザUのタイムスタンプ対象のドキュメントを得られる場合においても、敵AがこのユーザUのドキュメントに対してForward-datingを行うことを想定する。
Another aspect is collusion with other protocol participants. In the forward-dating assumed in the present embodiment, the collusion between the original user U and the enemy A requires the latest time stamp for a document for which the user U has already requested a time stamp. Therefore, the collusion between the user U and the enemy A is not assumed. Another collusion is with the TSA. It is possible to envisage that this enemy A and TSA collide, and in this case, it is possible to obtain confidential information for issuing a time stamp token, and the TSA time can also be altered. The enemy A can obtain a verifiable time stamp token at an arbitrary time for arbitrary data generated by the enemy A.
In the present embodiment, even when the enemy A and the TSA collide and the enemy A can obtain the document subject to the time stamp of the user U, the enemy A performs forward-dating on the document of the user U. Assume to do.
次に、各装置の内部構成について説明する。
図2は、端末装置1の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。端末装置1は、例えば、パーソナルコンピュータなどのコンピュータ端末であり、ネットワークNを介して他の装置とのデータの送受信を行う。端末装置1は、制御手段11、通信手段12、記憶手段13、コミット情報生成手段14、タイムスタンプ要求手段15、及び、タイムスタンプトークン受信手段16を備える。
制御手段11は、CPU(central processing unit)及び各種メモリから構成され、各部の制御や、データの一時的な格納や、データの転送等を行う。通信手段12は、ネットワークNを介して他の装置とのデータの送受信を行う。記憶手段13は、タイムスタンプを要求するドキュメントと、ドキュメントの一連の改版の前後性を証明できる情報であるコミット情報とを記憶する。コミット情報生成手段14は、コミット情報を生成して記憶手段13へ書き込む。タイムスタンプ要求手段15は、記憶手段13内に記憶しているドキュメント及びこのドキュメントにおけるタイムスタンプ要求回数に応じたコミット情報から生成したタイムスタンプ要求データをタイムスタンプ装置2へ送信し、ドキュメントのタイムスタンプを要求する。タイムスタンプトークン受信手段16は、タイムスタンプ要求に応じてタイムスタンプ装置2から送信されたタイムスタンプトークンを受信して記憶手段13内に書き込む。
Next, the internal configuration of each device will be described.
FIG. 2 is a block diagram showing a configuration of the
The
図3は、端末装置3の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。端末装置3は、例えば、パーソナルコンピュータなどの確率的多項式時間の計算能力を持つコンピュータ端末であり、制御手段31、通信手段32、記憶手段33、タイムスタンプ要求手段34、及び、タイムスタンプトークン受信手段35を備える。
制御手段31、通信手段32、タイムスタンプトークン受信手段35は、それぞれ、端末装置1の制御手段11、通信手段12、タイムスタンプトークン受信手段16と同様の機能を有する。記憶手段33は、不正なタイムスタンプを要求する対象となるドキュメントと、このドキュメントのタイムスタンプ要求に使用するコミット情報とを記憶する。このコミット情報は、ユーザUの端末装置1及びTSAのタイムスタンプ装置2間において送受信されたタイムスタンプ要求データやタイムスタンプトークンから類推するなどして生成したものである。タイムスタンプ要求手段34は、記憶手段33内のドキュメント及びコミット情報からタイムスタンプ要求データを生成してタイムスタンプ装置2へ送信し、タイムスタンプを要求する。
FIG. 3 is a block diagram showing a configuration of the
The
図4は、タイムスタンプ装置2の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。タイムスタンプ装置2は、例えば、サーバであり、制御手段21、通信手段22、時刻取得手段23、及び、タイムスタンプトークン生成手段24を備える。
制御手段21及び通信手段22は、それぞれ、端末装置1の制御手段11及び通信手段12と同様の機能を有する。タイムスタンプトークン生成手段24は、時刻取得手段23が外部装置あるいは内部に備えるクロックから取得した正確な時刻と、端末装置1や端末装置3から受信したタイムスタンプ要求データを基に、既存のタイムスタンププロトコルを用いてタイムスタンプトークンを生成して返送する機能を有する。
FIG. 4 is a block diagram showing the configuration of the
The control means 21 and the communication means 22 have the same functions as the control means 11 and the communication means 12 of the
図5は、タイムスタンプ検証装置4の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。タイムスタンプ検証装置4は、例えば、パーソナルコンピュータであり、制御手段41、データ読込手段42、及び、検証手段43を備える。
制御手段41は、端末装置1の制御手段11と同様の機能を有する。データ読込手段42は、可搬のコンピュータ読み取り可能な記録媒体、あるいは、ネットワークNやケーブルなどにより接続されるコンピュータ端末などからデータを読み込む機能を有する。検証手段43は、同じドキュメントに対して異なる時刻を証明するタイムスタンプトークンがある場合に、これらのタイムスタンプトークンの正当性を検証する。
FIG. 5 is a block diagram showing the configuration of the time
The
ここで、既存のタイムスタンププロトコルについて説明する。タイムスタンププロトコルは、タイムスタンプの発行フェーズと検証フェーズに分けられる。
図9は、シンプルプロトコルによるタイムスタンプの発行フェーズのフローを示す。ユーザの端末装置は、一方向性及び衝突困難性を持つハッシュ関数h(・)を用いて、ユーザUが保有するドキュメントdのハッシュ値h(d)を算出し、TSAのタイムスタンプ装置へ送付する。TSAのタイムスタンプ装置2は、ユーザの端末装置からハッシュ値h(d)を受信すると、タイムスタンプトークンTTを計算し、現在時刻tの情報とともにユーザに返送する。ユーザの端末装置は、受信したタイムスタンプトークンTTと現在時刻tの正当性を確認した上で、ローカルに保存する。シンプルプロトコルにおけるタイムスタンプトークンTTは、以下の(式1)により、現在の時刻tとドキュメントdのハッシュ値h(d)の結合に対する電子署名として計算される。
Here, the existing time stamp protocol will be described. The time stamp protocol is divided into a time stamp issue phase and a verification phase.
FIG. 9 shows a flow of a time stamp issue phase according to a simple protocol. The user terminal device calculates the hash value h (d) of the document d held by the user U by using the hash function h (·) having unidirectionality and collision difficulty, and sends the hash value h (d) to the TSA time stamp device. To do. When receiving the hash value h (d) from the user terminal device, the
TT={t,Sig<SKT>(h(d)‖t)} …(式1) TT = {t, Sig <SKT> (h (d) ‖t)} (Formula 1)
ここで、SKTはTSAの秘密鍵を、A‖BはデータAとデータBの結合を、Sig<SK>(M)は、メッセージMに対して秘密鍵SKにより作成した電子署名を表す。 Here, SKT represents a secret key of TSA, A‖B represents a combination of data A and data B, and Sig <SK> (M) represents an electronic signature created for the message M using the secret key SK.
また、タイムスタンプの検証フェーズでは、タイムスタンプの検証者Vのタイムスタンプ検証装置4が、タイムスタンプトークンTTの署名検証を行うことで、その正当性を確認する。 In the time stamp verification phase, the time stamp verifier V of the time stamp verifier V verifies the signature of the time stamp token TT to confirm its validity.
なお、リンキングプロトコルの場合、タイムスタンプトークンTTは、一連のタイムスタンプ要求のハッシュ連鎖として計算される。i回目のタイムスタンプ要求により付与するタイムスタンプトークンTTをタイムスタンプトークンTTiとすると、リンキングプロトコルの中でも単純なリニアリンキングプロトコルでは、タイムスタンプトークンTTiは(式2)のように計算される。 In the case of the linking protocol, the time stamp token TT is calculated as a hash chain of a series of time stamp requests. If the timestamp token TT imparting the i-th time stamp request a timestamp token TT i, a simple linear linking protocol among linking protocol, timestamp token TT i is calculated as (Equation 2).
TTi={t,Sig<SKT>(TTi−1‖h(d)‖t)} …(式2) TT i = {t, Sig <SKT> (TT i-1 ‖h (d) ‖t)} (Expression 2)
また、リンキングプロトコルのタイムスタンプの検証フェーズでは、検証者がタイムスタンプトークンTTをTSAに送付し、TSAにおいてハッシュ値の正当性を検証した上で、この検証結果を検証者Vに返送する。 In the time stamp verification phase of the linking protocol, the verifier sends the time stamp token TT to the TSA, verifies the validity of the hash value in the TSA, and returns the verification result to the verifier V.
次に、本発明の一実施の形態によるタイムスタンプシステムの動作について説明する。
敵AとTSAが結託する場合、敵AはTSAに対して送信した任意のディジタルデータに対して、任意の時刻のタイムスタンプトークンを得ることができる。そのため、ユーザU側で同じドキュメントの一連の改版の前後性を証明できる情報を、タイムスタンプ発行プロトコルでコミットすることにより、ユーザUと敵Aとの間で、どちらのドキュメントが最新かを争う場合に、検証可能とする。ここで、コミットする情報(コミット情報)は、一方向性及び衝突困難性を持つ関数の連鎖によって作成する。一方向性及び衝突困難性を持つ関数としては、ハッシュ関数や、秘密に保持する鍵情報を用いた変換などがある。ここでは、鍵情報を秘密に保持する煩雑さのないハッシュ関数を用いることとする。
Next, the operation of the time stamp system according to the embodiment of the present invention will be described.
When the enemy A and the TSA collide, the enemy A can obtain a time stamp token at an arbitrary time for arbitrary digital data transmitted to the TSA. Therefore, when the user U side commits information that can prove the continuity of a series of revisions of the same document by the time stamp issuing protocol, the user U and the enemy A contend which document is the latest. In addition, verification is possible. Here, the information to be committed (commit information) is created by a chain of functions having unidirectionality and collision difficulty. As a function having one-way property and collision difficulty, there are a hash function and a conversion using secretly held key information. Here, it is assumed that a non-complex hash function that keeps the key information secret is used.
図6は、このコミット情報の作成方法を示す。ユーザUの端末装置1のコミット情報生成手段14は、初期値IVをランダムに作成する。そして、あるドキュメントに対して想定される最大タイムスタンプ要求回数をnとしたとき、全てのi(1≦i≦n)について、初期値IVに対して一方向性及び衝突困難性を持つハッシュ関数h(・)(単に「h」とも記載する)をi回適用したハッシュ値hi(IV)を計算し、それぞれの値をコミット情報として内部に保持する。そして、ユーザUの端末装置1は、実際にタイムスタンプを要求するとき、最初のタイムスタンプ要求にはハッシュ値hn(IV)のコミット情報をコミットし、j回目のタイムスタンプ要求にはハッシュ値hn−j+1(IV)のコミット情報をコミットする。つまり、h(IV)からhn(IV)までのハッシュ連鎖を、nの逆順にコミット情報として利用する。ユーザUの端末装置1がこのプロトコルを正しく実行し、初期値IVと未使用のコミット情報を秘密に保持している限り、敵Aはすでに発行されているタイムスタンプトークンのタイムスタンプ要求データより新しい版のタイムスタンプ要求データを作成することができない。ここで、図6において、実線で示す矢印は、容易に計算ができることを、破線で示す矢印は計算が事実上困難であることを示している。
以下に、タイムスタンプシステムの詳細な手順について説明する。
FIG. 6 shows a method for creating this commit information. The commit information generation means 14 of the
The detailed procedure of the time stamp system will be described below.
<セットアップ手順>
端末装置1のコミット情報生成手段14は、最初にドキュメント毎に異なる初期値IVをランダムに生成する。ここで、ドキュメントdに対する初期値IVを初期値IVdとする。さらに、ドキュメントdについて想定される最大改版回数nを想定される最大タイムスタンプ要求回数としたとき、全てのi(1≦i≦n)についてハッシュ値hi(IV)を算出する。コミット情報生成手段14は、記憶手段13内に初期値IVdと、ハッシュ値hi(IVd)(1≦i≦n)を持つコミット情報を秘密に保持しておく。
<Setup procedure>
The commit information generation means 14 of the
<タイムスタンプトークン発行手順>
図7は、タイムスタンプシステムのタイムスタンプトークン発行手順を示す。
ステップ1:端末装置1のタイムスタンプ要求手段15は、ドキュメントdのオリジナル(初版)であるドキュメントd1、あるいは、その改版におけるj(1≦j≦n)回目のTSAに対するタイムスタンプ要求において、記憶手段13からhn−j+1(IVd)の値を持つコミット情報を読み出す。なお、j(1≦j≦n)回目のタイムスタンプ要求をおこなうドキュメントd1の改版ドキュメントをドキュメントdjとする。タイムスタンプ要求手段15は、ドキュメントdjとhn−j+1(IVd)の値を持つコミット情報の結合である{dj‖hn−j+1(IVd)}のハッシュ値によりタイムスタンプ要求データを生成する。タイムスタンプ要求手段15は、タイムスタンプ要求データh(dj‖hn−j+1(IVd))をTSAのタイムスタンプ装置2に送信し、タイムスタンプを要求する。ここで、コミット情報の値hn−j+1(IVd)は、公表してもよい。また、コミット情報の値hn−j+1(IVd)は、タイムスタンプ要求の都度算出することでもよい。
<Time stamp token issuing procedure>
FIG. 7 shows a time stamp token issuing procedure of the time stamp system.
Step 1: The time stamp requesting means 15 of the
ステップ2:TSAのタイムスタンプ装置2は、ユーザUの端末装置1からタイムスタンプ要求データh(dj‖hn−j+1(IVd))を受信し、タイムスタンプ要求を受け付ける。すると、タイムスタンプ装置2のタイムスタンプトークン生成手段24は、時刻取得手段23が取得した現在時刻を基に、タイムスタンプ要求データh(dj‖hn−j+1(IVd))に対して、既存のタイムスタンププロトコルと同じ方法で、タイムスタンプトークンTTjを計算し、ユーザUの端末装置1へ返送する。例えば、シンプルプロトコルの場合、タイムスタンプトークンTTjは、(式3)のように生成される。
Step 2: The
TTj={t,Sig<SKT>(h(dj‖hn−j+1(IVd))‖t)} …(式3) TT j = {t, Sig <SKT> (h (d j ‖h n−j + 1 (IV d )) ‖t)} (Expression 3)
ステップ3:ユーザUの端末装置1は、タイムスタンプ装置2からタイムスタンプトークンTTjを受信する。端末装置1のタイムスタンプトークン受信手段16は、既存のタイムスタンププロトコルと同じ方法により、タイムスタンプトークンTTjの正当性(時刻、タイムスタンプ装置2の電子署名など)を検証し、記憶手段13内に保存する。
Step 3: The
<タイムスタンプトークンの有効性検証手順>
単独のタイムスタンプトークンの検証プロトコルは、既存のタイムスタンププロトコルにおける検証プロトコルと同一である。
<Time stamp token validity verification procedure>
The verification protocol for a single time stamp token is the same as the verification protocol in the existing time stamp protocol.
<係争時の前後性検証手順>
図8は、タイムスタンプシステムの係争時の前後性検証手順を示す。
ここでは、正当なユーザUと、Forward-datingの攻撃を行った敵Aが存在し、ユーザUの端末装置1が取得した時刻tkにおけるk番目のタイムスタンプトークンTTkと、敵Aの端末装置3が取得した時刻tkより後の時刻ta(>tk)のタイムスタンプトークンTTaのうち、どちらが後の時刻の正当なタイムスタンプトークンであるかを、検証者Vのタイムスタンプ検証装置4を用いて判定する。
<Procedure for verification before and after dispute>
FIG. 8 shows a procedure for verifying the anteroposteriority when the time stamp system is disputed.
Here, the legitimate user U, there is an enemy A subjected to attack Forward-dating, and k-th timestamp token TT k at time t k which the
ステップ1:検証者Vのタイムスタンプ検証装置4は、データ読込手段42より、ユーザUが保有する以下の情報、すなわち、オリジナルのドキュメントd1、オリジナルのドキュメントd1に対する時刻t1のタイムスタンプトークンTT1、及び、オリジナルのドキュメントd1のタイムスタンプ要求に用いたコミット情報hn(IVd)と、改版ドキュメントdk、改版ドキュメントdkに対するタイムスタンプトークンTTk、及び、改版ドキュメントdkのタイムスタンプ要求に用いたコミット情報hn−k+1(IVd)を読み出し、内部に記憶する。以下、コミット情報hn(IVd)をh1、コミット情報hn−k+1(IVd)をhkとする。
Step 1: The time
d1,hn(IVd)(=h1),TT1
dk,hn−k+1(IVd)(=hk),TTk
d 1 , h n (IV d ) (= h 1 ), TT 1
d k , h n−k + 1 (IV d ) (= h k ), TT k
ステップ2:検証者Vのタイムスタンプ検証装置4は、データ読込手段42より、敵Aの保有するドキュメントd、ドキュメントdに対するタイムスタンプトークン、及び、ドキュメントdのタイムスタンプ要求に用いたコミット情報を読み出し、内部に記憶する。ここでは、敵Aは、以下に示すように、オリジナルドキュメントd1、ドキュメントd1に対する時刻taのタイムスタンプトークンTTa、及び、ドキュメントd1のタイムスタンプ要求に用いたコミット情報haの入力を受け、内部に記憶する。
Step 2: The time
d1,ha,TTa d 1 , h a , TT a
ステップ3:タイムスタンプ検証装置4の検証手段43は、タイムスタンプトークンTT1,TTk,TTaそれぞれの正当性を、既存のタイムスタンププロトコルの検証フェーズと同様に検証する。ここで、検証が失敗したタイムスタンプトークンは無効と判断される。
Step 3: The verification means 43 of the time
ステップ4:タイムスタンプトークンTT1,TTk,TTaそれぞれの正当性が検証された場合、タイムスタンプ検証装置4の検証手段43は、ユーザUの端末装置1から得たコミット情報h1及びhkの連続性と前後性を、以下の(式4)により検証する。ここで検証が失敗した場合、タイムスタンプトークンTTkは無効と判断される。
Step 4: When the validity of each of the time stamp tokens TT 1 , TT k , TT a is verified, the verification means 43 of the time
ステップ5:コミット情報h1及びhkの連続性と前後性が検証された場合、検証者Vのタイムスタンプ検証装置4は、ユーザUが提示したコミット情報hkと、敵Aが提示したコミット情報haの連続性と、コミット情報haがコミット情報hkより後のコミット値かどうかを、以下の(式5)により検証する。
Step 5: When the continuity and anteroposteriority of the commit information h 1 and h k are verified, the time
上記(式5)を、m=1からm=nまで検証し、等号が成立するものがあれば、タイムスタンプトークンTTaは有効であると判断され、敵Aは、ドキュメントd1がドキュメントdkよりも後の版であることを主張することができる。また、等号が成立するものがなければ、タイムスタンプトークンTTaは無効であると判断され、ドキュメントd1がドキュメントdkよりも後の版であるという敵Aの主張は退けられる。 The above (formula 5) is verified from m = 1 to m = n, and if there is an equality sign, it is determined that the time stamp token TT a is valid, and the enemy A determines that the document d 1 is a document It can be claimed that the version is later than d k . If no equal sign holds, the time stamp token TT a is determined to be invalid, and the enemy A's claim that the document d 1 is a version later than the document d k is rejected.
上記実施の形態によれば、敵Aの端末装置3が取得したタイムスタンプトークンTTaが、ユーザUの端末装置1が取得したタイムスタンプトークンTTkよりも新しいものであることを主張できるためには、敵Aは、(式5)において等号が成立するようなコミット情報haを検証者Vに提供する必要がある。敵Aが得られる情報は、すでに公開されているハッシュ連鎖上のコミット情報の値のみであり、コミット情報hkが公開されている最新の値である場合であっても、ハッシュ関数h(・)は一方向性及び衝突困難性をもつので、確率的多項式時間の計算能力を持つ敵Aの端末装置3に対しては、ハッシュ関数の出力が十分な長さでとすれば、(式5)を満たすコミット情報haを見つけることは困難である。よって、上記実施の形態は、Forward-dating攻撃に対して安全である。
According to the above embodiment, it can be claimed that the time stamp token TT a acquired by the
また、既存のタイムスタンププロトコルと比較した場合、ユーザUの端末装置1において、最大n回(nは想定される最大タイムスタンプ要求回数)のハッシュ関数の計算を行わなければならない。しかし、実用上このnの値はそれほど大きくないと考えられ、さらに、ハッシュ関数の演算時間は非常に短いため、タイムスタンプの実行時間には大きなインパクトを与えないと考えられる。
また、係争時の検証においては、3回のタイムスタンプトークンの検証と、m+k−1回のハッシュ関数の実行が必要となるが、これも上記と同様の理由により、タイムスタンプ検証装置4への負荷は高くないと考えられる。
また、上記実施の形態においては、TSAのタイムスタンプ装置2が実行する処理は既存のタイムスタンププロトコルと同一であり、ユーザUの端末装置1において作成するタイムスタンプ要求のデータの構成を変更することのみに変更範囲が限定されるため、既存のシステムヘの親和性が高い。
In addition, when compared with the existing time stamp protocol, the
Further, in the verification at the time of dispute, it is necessary to verify the time stamp token three times and execute the hash function m + k−1 times. This is also due to the same reason as described above. The load is not considered high.
In the above embodiment, the process executed by the
なお、上記実施の形態においては、端末装置1においてコミット情報を生成しているが、TSAや信頼できる第三者が生成したコミット情報を端末装置1の記憶手段13へ記憶することでもよい。
また、上記実施の形態において、端末装置1は、ドキュメントの改版が行われたときにタイムスタンプ装置2へタイムスタンプの要求を行い、タイムスタンプトークンを入手するよう構成しているが、例えば、ドキュメントの改版のタイミングではなく、一定期間毎にドキュメントに対するタイムスタンプ要求を行い、タイムスタンプトークンを取得することでもよい。
In the above embodiment, the commit information is generated in the
In the above embodiment, the
なお、上述の端末装置1及び3、タイムスタンプ装置2、ならびに、タイムスタンプ検証装置4は、内部にコンピュータシステムを有している。そして、上述した端末装置1及び3、タイムスタンプ装置2、ならびに、タイムスタンプ検証装置4の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものである。
The
また、「コンピュータ読み取り可能な記録媒体」とは、ROMの他に、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。 In addition to ROM, “computer-readable recording medium” refers to a portable medium such as a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, or a storage device such as a hard disk built in a computer system. That means. Furthermore, the “computer-readable recording medium” refers to a volatile memory (RAM) inside a computer system that becomes a client or a system when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. In addition, those holding programs for a certain period of time are also included.
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.
1、3…端末装置(タイムスタンプ要求装置)
2…タイムスタンプ装置
4…タイムスタンプ検証装置
11、21、31…制御手段
12、22、32…通信手段
13、33…記憶手段
14…コミット情報生成手段
15、34…タイムスタンプ要求手段
16、35…タイムスタンプトークン受信手段
23…時刻取得手段
24…タイムスタンプトークン生成手段
42…データ読込手段
43…検証手段
1, 3... Terminal device (time stamp requesting device)
2 ...
Claims (7)
前記タイムスタンプ要求装置は、
初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、
タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、
前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段とを備え、
前記タイムスタンプ装置は、
前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータに対するタイムスタンプトークンを生成して返送するタイムスタンプトークン生成手段を備える、
ことを特徴とするタイムスタンプシステム。 Time stamp requesting device for requesting a time stamp for authenticating the time at which digital data existed, and time stamp device for issuing a time stamp token as data for proving the time at which digital data existed by a request from the time stamp requesting device A time stamp system consisting of
The time stamp requesting device includes:
Storage means for storing commit information that has a value obtained by recursively transforming using a function having unidirectionality and collision difficulty as an initial value, and that proves the seriality of a series of revisions of digital data;
A function having unidirectionality and difficulty in colliding with digital data for requesting a time stamp and commit information having a value used as a basis for generating commit information used for the request of the immediately preceding time stamp in the digital data. A time stamp requesting means for transmitting the time stamp request data obtained by conversion using the time stamp to the time stamp device and requesting a time stamp for the digital data;
A time stamp token receiving means for receiving a time stamp token returned from the time stamp device in response to the request,
The time stamp device is:
Based on the time stamp request data received from the time stamp requesting device, comprising a time stamp token generating means for generating a time stamp token for the digital data and returning it.
A time stamp system characterized by this.
前記タイムスタンプ要求手段は、タイムスタンプを要求する回数がj(1≦j≦n)回目であった場合、(前記想定される最大タイムスタンプ要求回数n−前記タイムスタンプ要求回数j+1)回まで一方向性及び衝突困難性のある関数により前記初期値を再帰的に変換して得た値を持つコミット情報と前記ディジタルデータとを、一方向性及び衝突困難性を持つ関数を用いて変換してタイムスタンプ要求データを得る、
ことを特徴とする請求項1に記載のタイムスタンプシステム。 The storage means stores commit information which is a value obtained by recursively converting the initial value up to n times of the maximum time stamp request count assumed using a function having unidirectionality and collision difficulty.
When the number of times of requesting a time stamp is j (1 ≦ j ≦ n), the time stamp requesting unit counts up to (the estimated maximum time stamp request number n−the time stamp request number j + 1) times. Commit information having a value obtained by recursively converting the initial value by a function having directionality and collision difficulty and the digital data are converted using a function having unidirectionality and collision difficulty. Get timestamp request data,
The time stamp system according to claim 1.
前記タイムスタンプ検証装置は、
異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段を備える、
ことを特徴とする請求項1または請求項2に記載のタイムスタンプシステム。 The time stamp system further comprises a time stamp verification device for verifying a time stamp token,
The time stamp verification device
If there is a time stamp token of the digital data that proves a different time, the commit information corresponding to the time stamp token that proves a later time is recursively converted by the one-way and collision-resistant functions. The validity of the time stamp token that proves the later time is verified based on whether or not there is a value that matches the commit information corresponding to the time stamp token that proves the previous time among the values obtained in the above. With verification means,
The time stamp system according to claim 1 or 2, characterized by the above.
初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶する記憶手段と、
タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するタイムスタンプ要求手段と、
前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するタイムスタンプトークン受信手段と、
を備えることを特徴とするタイムスタンプ要求装置。 Time stamp requesting device for requesting a time stamp for authenticating the time at which digital data existed, and time stamp device for issuing a time stamp token as data for proving the time at which digital data existed by a request from the time stamp requesting device The time stamp requesting device used in a time stamp system comprising:
Storage means for storing commit information that has a value obtained by recursively transforming using a function having unidirectionality and collision difficulty as an initial value, and that proves the seriality of a series of revisions of digital data;
A function having unidirectionality and difficulty in colliding with digital data for requesting a time stamp and commit information having a value used as a basis for generating commit information used for the request of the immediately preceding time stamp in the digital data. A time stamp requesting means for transmitting the time stamp request data obtained by conversion using the time stamp to the time stamp device and requesting a time stamp for the digital data;
Time stamp token receiving means for receiving a time stamp token returned from the time stamp device in response to the request;
A time stamp requesting device comprising:
前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、
前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムに用いられる前記タイムスタンプ検証装置であって、
異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証する検証手段、
を備えることを特徴とするタイムスタンプ検証装置。 Among the commit information that has digital data and a value obtained by recursively transforming using a function having unidirectionality and collision difficulty as an initial value, and proving the seriality of a series of revisions of the digital data, Time stamp request obtained by converting the commit information having the value used as the basis for generating the commit information used for the request of the previous time stamp in digital data using a function having one-way and collision difficulty A time stamp requesting device for transmitting data and requesting a time stamp for the digital data;
A time stamp device that generates and returns a time stamp token, which is data certifying the time when the digital data existed, based on the time stamp request data received from the time stamp request device;
The time stamp verification device used in a time stamp system comprising a time stamp verification device for verifying the time stamp token,
If there is a time stamp token of the digital data that proves a different time, the commit information corresponding to the time stamp token that proves a later time is recursively converted by the one-way and collision-resistant functions. The validity of the time stamp token that proves the later time is verified based on whether or not there is a value that matches the commit information corresponding to the time stamp token that proves the previous time among the values obtained in the above. Verification means,
A time stamp verification apparatus comprising:
初期値として一方向性及び衝突困難性を持つ関数を用いて再帰的に変換して得られる値を持ち、ディジタルデータの一連の改版の前後性を証明するコミット情報を記憶手段に記憶するステップと、
タイムスタンプを要求するディジタルデータと、該ディジタルデータにおいて、直前のタイムスタンプの要求に用いたコミット情報を生成する基となった値を持つコミット情報とを、一方向性及び衝突困難性を持つ関数を用いて変換して得たタイムスタンプ要求データを前記タイムスタンプ装置へ送信し、前記ディジタルデータに対するタイムスタンプを要求するステップと、
前記要求に対応して前記タイムスタンプ装置から返送されたタイムスタンプトークンを受信するステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。 Time stamp requesting device for requesting a time stamp for authenticating the time at which digital data existed, and time stamp device for issuing a time stamp token as data for proving the time at which digital data existed by a request from the time stamp requesting device A computer program used for the time stamp requesting device of a time stamp system comprising:
Storing in a storage means commit information having a value obtained by recursively transforming using a function having unidirectionality and collision difficulty as an initial value, and proving the seriality of a series of revisions of digital data; ,
A function having unidirectionality and difficulty in colliding with digital data for requesting a time stamp and commit information having a value used as a basis for generating commit information used for the request of the immediately preceding time stamp in the digital data. Sending the time stamp request data obtained by conversion to the time stamp device, and requesting a time stamp for the digital data;
Receiving a time stamp token returned from the time stamp device in response to the request;
A computer program for causing a computer to execute.
前記タイムスタンプ要求装置から受信した前記タイムスタンプ要求データを基に、前記ディジタルデータが存在した時刻を証明するデータであるタイムスタンプトークンを生成して返送するタイムスタンプ装置と、
前記タイムスタンプトークンを検証するタイムスタンプ検証装置とからなるタイムスタンプシステムの前記タイムスタンプ検証装置に用いられるコンピュータプログラムであって、
異なる時刻を証明する前記ディジタルデータのタイムスタンプトークンがある場合に、後の時刻を証明する前記タイムスタンプトークンに対応するコミット情報を一方向性及び衝突困難性のある前記関数により再帰的に変換して得たそれぞれの値のうち、前の時刻を証明する前記タイムスタンプトークンに対応するコミット情報と一致する値があるか否かにより前記後の時刻を証明するタイムスタンプトークンの正当性を検証するステップ、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
Among the commit information that has digital data and a value obtained by recursively transforming using a function having unidirectionality and collision difficulty as an initial value, and proving the seriality of a series of revisions of the digital data, Time stamp request obtained by converting the commit information having the value used as the basis for generating the commit information used for the request of the previous time stamp in digital data using a function having one-way and collision difficulty A time stamp requesting device for transmitting data and requesting a time stamp for the digital data;
A time stamp device that generates and returns a time stamp token, which is data certifying the time when the digital data existed, based on the time stamp request data received from the time stamp request device;
A computer program used in the time stamp verification device of a time stamp system comprising a time stamp verification device for verifying the time stamp token,
If there is a time stamp token of the digital data that proves a different time, the commit information corresponding to the time stamp token that proves a later time is recursively converted by the one-way and collision-resistant functions. The validity of the time stamp token that proves the later time is verified based on whether or not there is a value that matches the commit information corresponding to the time stamp token that proves the previous time among the values obtained in the above. Step,
A computer program for causing a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004015673A JP4566567B2 (en) | 2004-01-23 | 2004-01-23 | Time stamp system, time stamp request device, time stamp verification device, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004015673A JP4566567B2 (en) | 2004-01-23 | 2004-01-23 | Time stamp system, time stamp request device, time stamp verification device, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005210479A true JP2005210479A (en) | 2005-08-04 |
JP4566567B2 JP4566567B2 (en) | 2010-10-20 |
Family
ID=34901078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004015673A Expired - Lifetime JP4566567B2 (en) | 2004-01-23 | 2004-01-23 | Time stamp system, time stamp request device, time stamp verification device, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4566567B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148538A (en) * | 2005-11-24 | 2007-06-14 | Murata Mach Ltd | Management device, management program, and document management device |
JP2008078694A (en) * | 2006-09-19 | 2008-04-03 | Amano Corp | False check system for time stamp service |
JP2019211563A (en) * | 2018-06-01 | 2019-12-12 | 富士ゼロックス株式会社 | Data processing device |
JP2021043674A (en) * | 2019-09-10 | 2021-03-18 | ボッシュ株式会社 | Control device and method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222360A (en) * | 1999-02-01 | 2000-08-11 | Matsushita Electric Ind Co Ltd | Method and system for authentication and authentication processing program recording medium |
JP2001331505A (en) * | 2000-05-22 | 2001-11-30 | Nec Corp | Sales support method and system |
JP2002215029A (en) * | 2001-01-22 | 2002-07-31 | Seiko Epson Corp | Information authentication device and digital camera using the same |
JP2002217900A (en) * | 2001-01-18 | 2002-08-02 | Nippon Telegr & Teleph Corp <Ntt> | Method, and equipment, program and recording medium thereof for time authentication |
JP2002244554A (en) * | 2001-02-16 | 2002-08-30 | Hitachi Software Eng Co Ltd | Method for generating and confirming time stamp, and device and system therefor |
JP2003198539A (en) * | 2001-12-27 | 2003-07-11 | Seiko Instruments Inc | Electronic authentication system and electronic authentication method |
-
2004
- 2004-01-23 JP JP2004015673A patent/JP4566567B2/en not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222360A (en) * | 1999-02-01 | 2000-08-11 | Matsushita Electric Ind Co Ltd | Method and system for authentication and authentication processing program recording medium |
JP2001331505A (en) * | 2000-05-22 | 2001-11-30 | Nec Corp | Sales support method and system |
JP2002217900A (en) * | 2001-01-18 | 2002-08-02 | Nippon Telegr & Teleph Corp <Ntt> | Method, and equipment, program and recording medium thereof for time authentication |
JP2002215029A (en) * | 2001-01-22 | 2002-07-31 | Seiko Epson Corp | Information authentication device and digital camera using the same |
JP2002244554A (en) * | 2001-02-16 | 2002-08-30 | Hitachi Software Eng Co Ltd | Method for generating and confirming time stamp, and device and system therefor |
JP2003198539A (en) * | 2001-12-27 | 2003-07-11 | Seiko Instruments Inc | Electronic authentication system and electronic authentication method |
Non-Patent Citations (2)
Title |
---|
JPN6010019423, 松尾真一郎, 小黒博昭, "タイムスタンプに対するForward−datingのモデル化と対策", 2004年暗号と情報セキュリティシンポジウム(SCIS2004)予稿集, 20040127, 2C4−1, 電子情報通信学会 * |
JPN6010019425, YAMADA Akira, KIYOMOTO Shinsaku, TANAKA Toshiaki, NAKAO Koji, "New Time−Stamping Scheme Using Mutual Communications with Pseudonymous Clients", IEICE transactions on fundamentals of electronics, communications and computer sciences, 20040101, Vol.E87−A, no.1, pp.182−189, IEICE * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148538A (en) * | 2005-11-24 | 2007-06-14 | Murata Mach Ltd | Management device, management program, and document management device |
JP4506654B2 (en) * | 2005-11-24 | 2010-07-21 | 村田機械株式会社 | Management device, management program, and document management device |
JP2008078694A (en) * | 2006-09-19 | 2008-04-03 | Amano Corp | False check system for time stamp service |
JP2019211563A (en) * | 2018-06-01 | 2019-12-12 | 富士ゼロックス株式会社 | Data processing device |
JP7077792B2 (en) | 2018-06-01 | 2022-05-31 | 富士フイルムビジネスイノベーション株式会社 | Data processing equipment |
US11412105B2 (en) | 2018-06-01 | 2022-08-09 | Fujifilm Business Innovation Corp. | Data processing device |
JP2021043674A (en) * | 2019-09-10 | 2021-03-18 | ボッシュ株式会社 | Control device and method |
JP7270511B2 (en) | 2019-09-10 | 2023-05-10 | ボッシュ株式会社 | Control device and method |
Also Published As
Publication number | Publication date |
---|---|
JP4566567B2 (en) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7285840B2 (en) | Systems and methods for authenticating off-chain data based on proof verification | |
EP3130104B1 (en) | System and method for sequential data signatures | |
JP6648555B2 (en) | Information processing device and program | |
CN106789090B (en) | Public key infrastructure system based on block chain and semi-random combined certificate signature method | |
EP3399484B1 (en) | Method and server for authenticating and verifying file | |
US20050132201A1 (en) | Server-based digital signature | |
CN110892674A (en) | Transaction generation method and block verification method of block chain | |
CN101395599A (en) | Generation of electronic signatures | |
JP2010148098A (en) | Method and system for transient key digital stamp | |
CN101395624A (en) | Verification of electronic signatures | |
KR100635280B1 (en) | Security method using electronic signature | |
EP3399485B1 (en) | Method and server for authenticating and verifying file | |
EP3808030B1 (en) | Managing blockchain-based centralized ledger systems | |
Qureshi et al. | SeVEP: Secure and verifiable electronic polling system | |
JP2005520364A (en) | System and method for updating and extending a digitally signed certificate | |
CN115147975B (en) | Encryption network voting method based on block chain | |
KR20200128918A (en) | Node device for performing certificate management based on a block chain and operating method thereof | |
JP2004104750A (en) | Verify method of digital signature | |
JPWO2019198131A1 (en) | Certification system and certification program | |
US20050235140A1 (en) | System and method for secure preservation and long term archival of electronic documents | |
JP6742557B2 (en) | Authentication system | |
US7574607B1 (en) | Secure pipeline processing | |
JP4566567B2 (en) | Time stamp system, time stamp request device, time stamp verification device, and computer program | |
CN112422294B (en) | Anonymous voting method and device based on ring signature, electronic equipment and storage medium | |
KR100642979B1 (en) | Method for signing digital documents and verifying thereof using the signed attributes and computer readable record medium on which a program therefor is recorded |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100608 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100727 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100804 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4566567 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |