(57)【特許請求の範囲】
【請求項１】
時刻Ｔから時刻Ｔ＋ｎＴ′までの間、Ｔ′毎に時刻管理情報を公開する時刻管理機関装置と、データ生成者装置と、データ確認者装置と、データ管理機関装置とが互いにデータを送受することができるようにされた時刻公証方法であって、
時刻管理機関装置は、
時刻Ｔ＋ｉＴ′の時（０＜ｉ＜ｎ）、秘密情報Ｓに、公開された一方向性関数ｆをｎ−ｉ回適用させた値Ｓn-i 〔Ｓ0＝Ｓ，Ｓ1＝ｆ（Ｓ），Ｓ2＝ｆ（Ｓ1）＝ｆ（ｆ（Ｓ）），…，Ｓn-i＝ｆ（Ｓn-i-1）〕のみを最新の時刻管理情報として公開し、
データ生成者装置はデータ生成時に、時刻管理機関装置から、当該データ生成時における最新の時刻管理情報Ｓn-i を入手し、その時刻管理情報を含むデータＤm を生成し、そのデータＤm をデータ管理機関装置に送付し、
データ管理機関装置は、
任意の値Ｌ0 を初期情報とし、最新のデータ管理情報Ｌを公開簿に載せ公開し、データ生成者装置から時刻Ｔ＋ｊＴ′（但し０＜ｉ＜ｊ＜ｎ）にデータＤm を受け取ると、その受け取り時における最新の時刻管理情報Ｓn-j を時刻管理機関装置から入手し、最新のデータ時刻管理情報ＬおよびＤm およびＳn-j に、公開された一方向性関数ｇを適用し、
Ｌ′＝ｇ（Ｌ，Ｄm ,Ｓn-j）
を算出し、Ｌ′を最新のデータ管理情報Ｌとし、これを、データＤm と、時刻管理情報Ｓn-jとに対応付けて公開簿に追加し、
データ確認者装置は、
確認対象データ（Ｓn-k ,Ｄm+1）が入力されると、時刻管理機関装置から最新の時刻管理情報Ｓn-q を入手し、
このＳn-q に一方向性関数ｆを繰り返し適用し、確認対象データに含まれる時刻管理情報Ｓn-k と一致する値が算出できることを確認し、
確認対象データのＤm+1 が公開簿に含まれていることを確認し、確認対象データＤm+1に対応付けられたデータ管理情報Ｌm+1 と、その直前のデータ管理情報Ｌmと、Ｌm+1 に対応付けられた時刻管理情報Ｓn-pとを公開簿から入手し、（Ｌm ，Ｄm+1 ,Ｓn-p）に一方向性関数ｇを適用し、この計算値がデータ管理情報Ｌm+1 と一致することを確認して、
データＤm+1 が生成されたのが、時刻管理情報Ｓn-k が公開された時刻Ｔ＋ｋＴ′以降で、時刻Ｔ＋（ｐ＋１）Ｔ′以前であることを確認することを特徴とする時刻公証方法。
【請求項２】
上記データ確認者装置は、
確認対象データのＤm+1 が公開簿に含まれていることを確認し、確認対象データＤm+1に対応付けられたデータ管理情報Ｌm+1 と、その直前のデータ管理情報Ｌm,Ｌm-1と、Ｌmに対応付けられた時刻管理情報Ｓn-ｊ及びデータＤmと、Ｌm+1 に対応付けられた時刻管理情報Ｓn-pとを公開簿から入手し、（Ｌm-1 ，Ｄm ,Ｓn-j）,（Ｌm ，Ｄm+1 ,Ｓn-p）に一方向性関数ｇをそれぞれ適用し、前者の計算値がデータ管理情報Ｌmと一致し、後者の計算値がデータ管理情報Ｌm+1 と一致することを確認して、
データＤm+1 が生成されたのが、時刻管理情報Ｓn-k が公開された時刻Ｔ＋ｋＴ′以降で、時刻Ｔ＋（ｐ＋１）Ｔ′以前であることを確認する
ことを特徴とする請求項１に記載の時刻公証方法。
【請求項３】
上記送付するデータには電子署名を行ったものであることを特徴とする請求項１に記載の時刻公証方法。
【請求項４】
データ生成者装置はデータを送付したデータ管理機関装置を識別する情報をデータ確認者装置へ通知することを特徴とする請求項１に記載の時刻公証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電子文書等のデータの正当性を確認する方法の一つとしてその電子署名等のデータの生成時刻を特定する方法に関する。
【０００２】
【従来の技術】
現在、暗号システムでは共通鍵暗号方式と公開鍵暗号方式がよく用いられている。公開鍵暗号方式では、予め利用者は自身の鍵として秘密鍵と公開鍵を保持する。公開鍵は広く公開し、秘密鍵は利用者自身が秘密に保持し他人に漏れてはならない。電子署名（以下、署名とする）作成時には、秘密鍵を用いる。署名検証時には、公開鍵証明証に含まれる公開鍵を用いる。これにより、検証対象署名が対応する秘密鍵で作成されたか、それ以後改竄（かいざん）がないかを確認することができる。
【０００３】
しかし、もし秘密鍵が漏洩、およびブレイクされ、他人に秘密鍵が渡ってしまった場合、利用者になりすまして署名を生成・悪用される。このように本人に身の覚えがない署名が提示された場合の対策として、その署名がある時刻ｔs からある時刻ｔe までの間に生成されたことを証明する方法が重要となる。
過去に署名に時刻情報を含める方法が提案されている。その一つはヒステリス署名を用いて、署名に過去のデータ生成履歴を綴り込む方法である（“暗号ブレイク対応電子署名アリバイ実現機構”、松本等、情報処理学会コンピュータセキュリティ研究会、２０００年３月参照）。この方法は、署名生成履歴を用いることで、利用者が生成した署名の順序を知ることができるが、時刻を正確に特定することはできない。またこの方法は、署名生成者が管理しなければならない情報量（過去に生成した全ての署名を保存する必要がある）が多く、署名時刻確認者はそれらの情報全てを使って確認処理をするため、署名生成者はそれらの情報を紛失すると確認処理ができず、現実的ではない。
【０００４】
また、信頼できる第三者機関であるタイムスタンプサービス（“デジタルタイムスタンプ技術の現状と課題”、宇根等、日本銀行金融研究所、１９９９参照のこと）を利用することも提案されている。しかしこの方法は署名がある時刻ｔe より以前に生成されたことが保証されるのみで、ある時刻ｔs より後に生成されたことは保証されない。
一方、タイムスタンプサービスは、例えば「２００１年１月１日」といった文字列を使って時刻を特定する方法と、例えば気象情報、株価情報など「ある時点までは確定せず、一旦確定した後は誰でも知り得る情報（以下時刻管理情報と呼ぶ）」を使って時刻を特定する方法がある。信頼性は、文字列に依存している前者より、後者の方が大きい。しかし、過去の気象情報、株価情報など利用者が調べるのは容易ではなく、過去の情報を全て管理しようとすると情報量が膨大になる。
【０００５】
【発明が解決しようとする課題】
この発明は、データ生成者が管理しなければならない情報量を削減し、データ時刻確認者が確認処理に入手する必要がある情報量（時刻管理情報）を削減して、データの生成時期が、ある時刻以降又はある時刻以前、あるいはある時刻からある時刻までを特定することを可能とする時刻公証方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、時刻管理機関が順次公開する時刻管理情報を使って時刻を特定する。
時刻管理情報として、従来は気象情報、株価情報などを使っていたかわりに、この発明においては下記の一方向性関数を使って算出した値を用いる。
例えば図１に示すように時刻Ｔから時刻Ｔ＋ｎＴ′までの間の、時刻Ｔ＋ｉＴ′の時（０＜ｉ＜ｎ）に、秘密情報Ｓに、公開した一方向性関数ｆをｎ−ｉ回適用させ、つまり下記の演算を行い、
Ｓ0＝Ｓ，Ｓ1＝ｆ（Ｓ），Ｓ2＝ｆ（Ｓ1）＝ｆ（ｆ（Ｓ）），…，Ｓn-i＝ｆ（Ｓn-i）
Ｓn-i を得、最後の算出値Ｓn-i ＝ｆn-i(Ｓ)のみを最新の時刻管理情報として公開する。この時刻管理情報の公開を時間Ｔ′ごとに行う。なおＳにｆを例えば３回適用した値ｆ（ｆ（ｆ（Ｓ）））をｆ3(Ｓ）と表わし、つまりｎ回適用した値をｆn(Ｓ）と表わす。
【０００７】
これにより、過去の時間管理情報を最新の時刻管理情報から一方向性関数を適用するだけで算出することが可能である。
この時刻管理情報を使って、データ生成時刻がある時刻ｔs ＝Ｔ＋ｉＴ′より以後であることは、以下のように保証する。
時刻Ｔ＋ｉＴ′にデータ生成するデータ生成者は、時刻管理機関から入手した最新の時刻管理情報Ｓn-i を使いデータを生成する。電子署名の場合は、署名対象文書と時刻管理情報に対して電子署名を行なうことでこのデータを作成する。
【０００８】
一方、データ時刻確認者は、時刻管理機関が公開する最新の時刻管理情報に、該機関が公開した一方向性関数ｆを数回適用し、確認対象データに含まれる時刻管理情報が算出できることによって、そのデータが生成されたのがそのデータに含まれる時刻管理情報が公開された時刻Ｔ＋ｉＴ′以降であることを確認する。また、時刻管理情報を使って、データ生成時刻がある時刻ｔe ＝Ｔ＋（ｊ＋１）Ｔ′（但し０＜ｉ＜ｊ＜ｎ）より以前であることを以下のように保証する。
データ管理機関は、任意の値Ｌ0 を最新のデータ管理情報Ｌの初期値とし、これより以後の最新のデータ管理情報Ｌを公開簿に載せ公開し、データ生成者から時刻Ｔ＋ｊＴ′にデータを受け取り、そのデータをＤT+jT'とすると、最新のデータ時刻管理情報ＬおよびＤT+jT'および最新（時刻Ｔ＋ｊＴ′）の時刻管理情報（Ｓn-j）に、公開された一方向性関数ｇを適用させ、
Ｌ′＝ｇ（Ｌ，ＤT+jT',Ｓn-j）
を算出し、Ｌ′を最新のデータ時刻管理情報Ｌとし、これとデータＤT+jT'、時刻管理情報Ｓn-j とを組として公開簿に追加することとする。
【０００９】
データ生成者は、確認対象データを作成し、データ管理機関に送付する。これを受けて、データ管理機関は新しいデータ管理情報Ｌを公開する（以下、データ管理機関にデータが届いた時刻をＴ＋ｊＴ′とする）。
一方、データ時刻確認者は、確認対象データが公開簿に含まれていることを確認し、該データをＤT+jT'、それに対応するデータ管理情報をＬm とすると、このＬm の組（Ｌm ,ＤT+jT',Ｓn-j）と、その直前のデータ管理情報Ｌm-1 を公開簿から入手し、一方向性関数ｇを（Ｌm-1,ＤT+jT',Ｓn-j）に適用し、この計算値がＬm と等しいこと、つまり該データＤT+jT'に対応するデータ管理情報Ｌm が正しく算出されたことによって、
そのデータＤT+jT'が生成されたのが、時刻Ｔ＋（ｊ＋１）Ｔ′以前であることを確認する。
【００１０】
また、上記の二つの方法を組み合わせて、データが生成された時刻がある時刻ｔs ＝Ｔ＋ｉＴ′以降、ｔe ＝Ｔ＋（ｊ＋１）Ｔ′以前であることを証明することも可能となる。
なお必要に応じて、データ生成者の利用するデータ管理機関の名称を宣言し、データ時刻確認者は、データ生成者が宣言したデータ管理機関名称と同じデータ管理機関に、確認対象データが含まれていることを確認することによって、信頼性を向上することが可能となる。
【００１１】
これは、データ生成者Ａがデータ生成者Ｂになりすまして、データを作成し、Ａが宣言したものと異なるデータ管理機関に登録した場合に、処理の不正を発見する糸口になるためである。
【００１２】
【発明の実施の形態】
図２にこの発明が適用されるシステム構成例を示す。
データ生成者装置１００、データ確認者装置２００、時刻管理機関装置３００、データ管理機関装置４００は通信網５００を介して相互に通信することができるように構成されている。データ管理機関装置４００には公開簿４０１が設けられ、その公開簿４０１に記録されている情報を誰でもが、入手することができるようにされている。この各装置間を通信網を介してデータを送受信する構成としたが送信側装置で送付するデータをフロッピーディスクなどの可搬の記録媒体に記録し、その記録媒体の記録内容を、受信側装置で読取り入力するようにしてもよい。
【００１３】
時刻管理機関装置３００は、例えば時刻０：００から時刻２４：００までの間で、所定時間、例えば１時間刻みで時刻管理情報Ｓ0:00,Ｓ1:00,Ｓ2:00,…,Ｓ24:00を順に公開する。この公開は、例えば放送によって公開したり、あるいは、外部からの要求により対応する時刻の時刻管理情報を要求元へ通知するようにしてもよい。
これら時刻管理情報は、秘密情報Ｓに、公開した一方向性関数ｆを以下のように適用して算出する。
【００１４】
Ｓ24:00＝Ｓ
Ｓ23:00＝ｆ（Ｓ24:00）＝ｆ（Ｓ）［Ｓに１回ｆを適用するのと同義］
Ｓ22:00＝ｆ（Ｓ23:00）＝f(f(S))［Ｓに２回ｆを適用するのと同義］＝ｆ2(Ｓ）
…
Ｓ15:00＝ｆ（Ｓ16:00）［Ｓに９回ｆを適用するのと同義］＝ｆ9(Ｓ）
…
Ｓ13:00＝ｆ（Ｓ14:00）＝ｆ11（Ｓ）
Ｓ12:00＝ｆ（Ｓ13:00）＝ｆ12（Ｓ）
Ｓ11:00＝ｆ（Ｓ12:00）＝ｆ13（Ｓ）
Ｓ10:00＝ｆ（Ｓ11:00）＝ｆ14（Ｓ）
…
Ｓ0:00＝ｆ（Ｓ1:00）＝ｆ24（Ｓ）
なおデータを生成した時刻がどの時刻からどの時刻の間にあるかを確認できる方法の具体例を説明する。
【００１５】
データ生成者Ａの装置１００が時刻１０：００に署名生成する時、以下の手順で署名生成する。（図３参照）
１．最新の時刻管理情報Ｓ10:00を時刻管理機関装置３００から入手する（Ｓ１）、なお図３中に括弧内に示すデータは一般化した場合の例であり、これについては後で簡単に述べる。
２．署名対象文書をＭ1 とすると、Ｍ1 とＳ10:00を連結した情報に対して署名生成を行なう。この時、生成された署名をＤA とすると、署名付き文書は、（Ｍ1 ,Ｓ10:00,ＤA）となる。
【００１６】
３．署名ＤA をデータ管理機関装置４００に送付する（Ｓ２）。
また、データ管理機関装置４００は、任意の値データ管理情報Ｌ0 を公開しておく。署名ＤA が１１：００に届いたとすると以下の手順でデータ管理情報を更新し公開する。
１．最新の時刻管理情報Ｓ11:00を時刻管理機関装置３００から入手する（Ｓ３）。
２．最新のデータ管理情報Ｌ（この場合Ｌ0 ）と、Ｓ11:00,ＤA に、公開した一方向性関数ｇを以下のように適用して、Ｌ1 を算出する。
【００１７】
Ｌ1 ＝ｇ（Ｌ0 ,Ｓ11:00,ＤA）
Ｌ1 を最新のデータ管理情報として、このＬ1 とＳ11:00,ＤA を組として公開する。公開簿４０１の記憶例を図４に示す。
一方、データ生成者Ｂの装置１００が時刻１２：００に署名生成する時、以下の手順で署名生成する。
１．最新の時刻管理情報Ｓ12:00を時刻管理機関装置３００から入手する（Ｓ４）。
【００１８】
２．署名対象文書をＭ2 とすると、Ｍ2 とＳ12:00を連結した情報に対して署名生成を行なう。この時、生成された署名をＤB とすると、署名付き文書は（Ｍ2 ,Ｓ12:00,ＤB）となる。
３．署名ＤB をデータ管理機関装置４００に送付する（Ｓ５）。
また、データ管理機関装置４００は、署名ＤB が１３：００に届いたとすると以下の手順でデータ管理情報を更新し公開する。
１．最新の時刻管理情報Ｓ13:00を時刻管理機関装置３００から入手する（Ｓ６）。
【００１９】
２．最新のデータ管理情報Ｌ（この場合Ｌ1）と、Ｓ13:00,ＤB に一方向性関数ｇを以下のように適用して、Ｌ2を算出する。
Ｌ2 ＝ｇ（Ｌ1 ,Ｓ13:00,ＤB）
Ｌ2 を最新のデータ管理情報として、このＬ2 とＳ13:00,ＤB を組として公開する。
データ確認者装置２００が署名付文書（Ｍ2 ,Ｓ12:00,ＤB）中のＤB の生成時刻を確認する場合、以下の手順で行なう。なお、この時の時刻を１５：００とする（前記の時間経過を示す図５も参照）。
【００２０】
１．最新の時刻管理情報Ｓ15:00を時刻管理機関装置３００から入手する（Ｓ７）。
２．以下のように、入手した最新の時刻管理情報Ｓ15:00にｆを繰り返し適用して、その各適用値が署名付き文書に含まれるＳ12:00と同じかを確認する。
Ｓ14:00＝ｆ（Ｓ15:00）
Ｓ13:00＝ｆ（Ｓ14:00）＝ｆ2(Ｓ15:00)
Ｓ12:00＝ｆ（Ｓ13:00）＝ｆ3(Ｓ15:00)
Ｓ11:00＝ｆ（Ｓ12:00）＝ｆ4(Ｓ15:00)
３．署名付き文書中の署名ＤB がデータ管理機関装置４００の公開簿に含まれているかを確認する（Ｓ８）。
【００２１】
４．公開簿４０１（図４参照）からＬ0 ,Ｌ1 ,Ｓ11:00,ＤA ,Ｌ2 ,Ｓ13:00 を入手し、つまり確認対象データ（Ｍ2 ,Ｓ12:00,ＤB）と対応するデータ管理情報Ｌ2 とその直前の２つのデータ管理情報についてのデータを入手する。Ｌ2 が以下のように得られる値と同じかを確認する。
Ｌ1 ＝ｇ（Ｌ0 ,Ｓ10:00,ＤA）
Ｌ2 ＝ｇ（Ｌ1 ,Ｓ13:00,ＤB）
以上で、データ確認者装置２００はＤB が１２：００から１３：００までの間に生成されたことを確認することができる。つまり図５に示すように時刻１２：００にユーザＢの装置が確認対象データ（Ｍ2 ,Ｓ12:00,ＤB）を作っており、そのデータを時刻１３：００にデータ管理機関装置４００でＬ2 ,Ｓ13:00,ＤB として保証しており、以上の具体例を一般化した場合を簡単に説明する。データ生成者Ａの装置では時刻管理情報Ｓn-i の時にデータを生成し、署名データＤm をデータ管理機関装置４００へ送り、データ管理機関装置４００は時刻管理情報Ｓn-j の時にＬm ,Ｓn-j ,Ｄm を公開し、データ生成者Ｂの装置（データ生成者ＡとＢは同一人であってもよい）は時刻管理情報Ｓn-k の時にデータを生成し、署名データＤm+1 をデータ管理機関装置４００へ送る、つまりデータ管理機関装置４００では、署名データＤm を受信した直後に受信したデータがＤm+1 であることを表わしている。データ管理機関装置４００では時刻管理情報Ｓn-p の時にＬm+1 ,Ｓn-p ,Ｄm+1 を公開し、データ確認者装置２００は確認対象データ（Ｌm+1 ,Ｓn-k ,Ｄm+1 ）
を、時刻管理情報Ｓn-q の時に受信する。なおｉ＜ｊ＜ｋ＜ｐ＜ｑ＜ｎである。
【００２２】
データ確認者装置２００では図６に示すように確認データ（Ｍ1 ,Ｓn-k ,Ｄm+1 ）が入力されると（Ｓ１）、最新時刻管理情報Ｓn-q を入手し（Ｓ２）、Ｓn-q に対し一方向性関数ｆを適用し（Ｓ３）、その結果がＳn-k と一致するかを調べ（Ｓ４）、一致しなければステップＳ３に戻り、一致すれば、Ｄm+1 が公開簿４０１に公開されているかを調べ（Ｓ５）、公開されていればその公開Ｄm+1 の組のＬm+1 とＳn-p 、またその直前のＬm とそのＳn-j,Ｄm 、更にその直前のＬm-1 とを公開簿４０１から入手する（Ｓ６）。
【００２３】
Ｌm ＝ｇ（Ｌm-1 ,Ｓn-j ,Ｄm）
Ｌm+1 ＝ｇ（Ｌm ,Ｓn-p ,Ｄm+1）
を計算し（Ｓ７）、この計算結果が入手したＬm ,Ｌm+1 とそれぞれ、一致するかを調べ（Ｓ８）、一致すればＬm ,Ｌm+1 の生成が正しく行われたと判断し、Ｓn-q は時刻Ｔ＋ｑＴ′を表わし、Ｓn-q に対し、ｑ−ｋ＝ｒ回、一方向性関数ｆを適用してステップＳ４で一致が得られ、従ってｋ＝ｑ−ｒであるから、時刻Ｔ＋（ｑ−ｒ）Ｔ′より後にデータＤm+1 が生成され、またＳn-q にｑ−ｐ＝ｔ回、一方向性関数ｆを適用してＳn-p と一致する値が得られることから時刻Ｔ＋（ｑ−ｔ）Ｔ′より前にデータＤm+1 が生成されたこと、つまりＴ＋（ｑ−ｒ）Ｔ′とＴ＋（ｑ−ｔ）Ｔ′との間にデータＤm+1 が生成されたことを求めて、そのことを出力する（Ｓ９）。なおステップＳ５，Ｓ８でＮＯであれば、その確認対象データ（Ｍ,Ｓn-k ,Ｄm+1 ）は不正なものとして廃棄し、必要に応じてそのデータの送付元に通知する（Ｓ１０）。
【００２４】
なお時刻管理情報ｆn-i はビット数が多いものとなる場合が多く、そのような場合は、例えばｆn-i と対応するデータとしてｉを公開簿４０１に格納しておき、従ってＳn-j ,Ｓn-p の代りにｊ,ｐが入手され、ステップＳ８における計算の際に必要とするＳn-j ,Ｓn-p は、ステップＳ３とＳ４によりＳn-k と一致する値を求める際に計算した対応する値を利用すればよい。このようにすれば公開簿４０１の記憶容量を小とすることができ、かつ、ステップＳ６で入手するデータ量が少なくて済む。このように公開簿４０１では時刻管理情報と対応する情報（時刻管理情報自体を含む）を格納してもよいことは以下の説明においても同様である。
【００２５】
データが生成された時刻がある時刻以降であることを確認可能にする例を図７を参照して説明する。
データ生成者装置１００は、データを生成する際に、先ず時刻管理機関装置３００から最新の時刻管理情報Ｓn-i を入手し（Ｓ１）、その時刻管理情報Ｓn-i を含むデータ（Ｍ，Ｓn-i）をデータ確認者装置２００へ送付する（Ｓ２）。
データ確認者装置２００は、確認対象データ（Ｍ，Ｓn-i）が入力されると、時刻管理機関装置３００から最新の時刻管理情報Ｓn-j（ｊ＞ｉ）を入手し（Ｓ３）、その時刻管理情報Ｓn-j に対して、一方向性関数ｆを繰り返し適用することを、その計算結果が、確認対象データ中の時刻管理情報Ｓn-iと一致するまで行う。ｊ−ｉ＝ｒ回、一方向性関数の適用を行った結果、一致し、Ｓn-jを時刻Ｔ＋ｊＴ′の時刻管理情報として入手しているから、データ（Ｍ，Ｓn-i）は時刻Ｔ＋（ｊ−ｒ）Ｔ′＝Ｔ＋ｉＴ′以後に生成したことがデータ確認者装置２００は表示される。
【００２６】
次にデータが生成された時刻がある時刻以前であることを確認可能にする例を図８を参照して説明する。
データ生成者装置１００は、データを生成すると、そのデータＤA をデータ管理機関装置４００へ送付する（Ｓ１）。
データ管理機関装置４００はデータＤA を受信すると、時刻管理機関装置３００から最新の時刻管理情報Ｓn-j を入手する（Ｓ２）、その時の最新のデータ管理情報ＬとＳn-j とＤA とに対し一方向性関数ｇを適用して
ＬA ＝ｇ（Ｌ,ＤA ,Ｓn-j）
を計算し、ＬA を最新のデータ管理情報Ｌとし、ＬとＤA ,Ｓn-j の組を公開簿４０１に公開する。
【００２７】
データ生成者装置１００からデータＤA がデータ確認者装置２００に送付され（Ｓ３）、データ確認者装置２００、確認対象データＤA が入力されると、データ確認者装置２００はデータＤA が公開簿４０１に公開されているかを確認し、公開されていれば、そのＤA を含む組のデータ管理情報ＬA とＳn-j と、そのＬA の直前のデータ管理情報Ｌ′を公開簿４０１から入手する（Ｓ４）。Ｌ′,ＤA ,Ｓn-j に対し、一方向性関数ｇを適用して
ｇ（Ｌ′,ＤA ,Ｓn-j）
を計算し、その計算結果がＬA と一致すれば、ＬA は正しく作られたものと判断して、その時刻管理情報Ｓn-j と対応する時刻Ｔ＋ｊＴ′よりも１単位時間後の時刻Ｔ＋（ｊ＋１）Ｔ′以前に、データＤA は生成されたことがデータ確認者装置２００に表示される。なおＳn-j とＴ＋ｊＴ′の対応を知ることができなければ前述と同様に、最新の時刻管理情報Ｓn-k を時刻管理機関装置３００から入手し、Ｓn-k に一方向性関数ｆを繰り返し適用してＳn-j と一致するまでの適用回数（ｋ−ｊ）＝ｒを求め、Ｓn-k と対応する時刻Ｔ＋ｋＴ′からＴ＋（ｋ−ｒ）Ｔ′＝Ｔ＋ｊＴ′を求めＴ＋（ｊ＋１）Ｔ′を求める。
【００２８】
図７に示した方法におけるデータ確認者装置２００の機能構成例を図９に示す。通信網からの受信手段や記録媒体の読出し手段などの認証対象データが入力される入力部２０１と、時刻管理機関装置３００から時刻管理情報を入手する時刻管理情報入手部２０２と、時刻管理情報に対し、一方向性関数ｆを適用する一方向性関数演算部２０３、その一方向性関数値が所定値になったか否かを判定する判定部２０４と、入力データ中の時刻管理情報を、一方向性関数演算、判定の結果に基づき、対応する時刻に変換し、その時刻を出力（表示又は印字）する時刻変換・出力部２０５と、一時記憶、ワーク用などに用いられる記憶部２０６とが制御部２０７の制御のもとに順次動作されるように構成される。
【００２９】
図８に示した方法におけるデータ確認者装置２００の機能構成例を図１０に示す。図９と対応する部分には同一参照番号を付けてある。この場合は入力部２０１と記憶部２０６と時刻変換・出力部２０５の他に入力データＤA が公開簿４０１に公開されているかを調べるデータ確認部２１１と、公開簿４０１から所要の情報を入手する確認用データ取得部２１２と、取得した情報に基づき、正しく作成されたものであるかを確認するデータ管理情報確認部２１３とが設けられ、これらが制御部２０７により順次動作させられる。
【００３０】
図３に示した方法は図７に示した方法と図８に示した方法とを組合せて、データの生成がある時刻より以後、ある時刻より以前であることを確認できるようにしたものであり、従ってそのデータ確認者装置２００の機能構成は図１１に示すように図９及び図１０と対応する部分に同一参照番号を付けて示すように、図９と図１０の両者の機能を備えたものであり、制御部２０７により図６に示した処理を行うように各部に対する動作が指示される。
図９乃至図１１に示した各データ確認者装置２００は、コンピュータによりプログラムを実行させて機能させることもできる。つまり、送受信機とのインタフェース、記憶部、ユーザ確認プログラムを格納したプログラムメモリ、ＣＰＵ（プロセッサ）などを備えるコンピュータにおいて、ＣＤ−ＲＯＭ、磁気ディスク、フロッピーディスクなどから、あるいは、電送路を通じてユーザ確認プログラムをプログラムメモリにダウンロードし、ＣＰＵによりそのユーザ確認プログラムを実行させて、ユーザ確認者装置として機能させることができる。更にデータ生成者装置１００から送付するデータは、図７に示した例のように電子署名を付けなくてもよい。
【００３１】
【発明の効果】
以上述べたようにこの発明によって、データ生成者がデータ確認までに管理しなければならない情報量が不要となり、データ時刻確認者が確認処理に入手する必要がある情報量（時刻管理情報）は最新の時刻管理情報から算出できるため一つのみである。
しかも図３に示した例によれば、データの生成時期（ｔs からｔe まで）を特定することも可能である。
【図面の簡単な説明】
【図１】時刻管理機関装置３００が時刻管理情報を公開する順序を示す図。
【図２】この発明の方法が適用されるシステム構成の例を示す図。
【図３】この発明を適用し、データ生成の期間を確認可能とした例の手順を示す図。
【図４】公開簿４０１の記録内容の例を示す図。
【図５】図３に示した方法における時間軸上の処理を示す図。
【図６】図３の方法におけるデータ確認者装置２００における処理手順の例を示す流れ図。
【図７】この発明を適用してデータ生成がある時刻以降であることを確認できるようにした例の手順を示す図。
【図８】この発明を適用して、データ生成がある時刻以前であることを確認できるようにした例の手順を示す図。
【図９】図７に示した例におけるデータ確認者装置の機能構成例を示す図。
【図１０】図８に示した例におけるデータ確認者装置の機能構成例を示す図。
【図１１】図３に示した例におけるデータ確認者装置の機能構成例を示す図。
【図１】
0003793024.tif 000002
【図２】
0003793024.tif 000003
【図３】
0003793024.tif 000004
【図４】
0003793024.tif 000005
【図５】
0003793024.tif 000006
【図６】
0003793024.tif 000007
【図７】
0003793024.tif 000008
【図８】
0003793024.tif 000009
【図９】
0003793024.tif 000010
【図１０】
0003793024.tif 000011
【図１１】
0003793024.tif 000012