JP2005094146A - バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体 - Google Patents

バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体 Download PDF

Info

Publication number
JP2005094146A
JP2005094146A JP2003321966A JP2003321966A JP2005094146A JP 2005094146 A JP2005094146 A JP 2005094146A JP 2003321966 A JP2003321966 A JP 2003321966A JP 2003321966 A JP2003321966 A JP 2003321966A JP 2005094146 A JP2005094146 A JP 2005094146A
Authority
JP
Japan
Prior art keywords
hash value
summary file
entry
verification
time authentication
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.)
Pending
Application number
JP2003321966A
Other languages
English (en)
Inventor
Hidekazu Hotta
英一 堀田
Satoshi Ono
諭 小野
Akira Takura
昭 田倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003321966A priority Critical patent/JP2005094146A/ja
Publication of JP2005094146A publication Critical patent/JP2005094146A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】時刻認証の証明対象となる複数ファイルのハッシュ値を1つにまとめて1つのファイルを作成し、このファイル全体で一括して時刻認証要求を行う方法において、時刻認証証明書が発行された後に、証明対象に係るエントリ(デジタルデータ)の一部に変更が生じても、変更が生じていない部分は有効であると容易に証明することができることと一部のデジタルデータに対して時刻認証証明書の正当性を第三者に示すために送付する必要のあるデータの量を著しく削減するを目的とする。
【解決手段】上記1つのファイルを以下に示す特徴のファイル(サマリファイル)とする。(1)人間が理解できるXML等の特定の記述言語により記述。(2)エントリeの名称を表示。(3)エントリeのハッシュデータを表示。ハッシュデータは、使用したハッシュアルゴリズム、計算したハッシュ値、場合によってはハッシュキーが示されている。(4)木構造をテキストファイルとして表現。
【選択図】 図1

Description

本発明はデジタル文書等のデジタルデータに時刻印を押すサービスにおいて、デジタルデータが時刻印を押された時点以降において変更されてなく、かつ確かに時刻印が押された時点で対象とするデジタルデータが存在していたことを証明することを可能とする時刻認証方法に関し、特に、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、当該1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うためのバルク(BULK)型時刻認証に関する。
例えば、米国における先発明主義に基づく特許制度の下では日付の入った研究ノートが優先権を証明する証拠として用いることが可能であり、さらに日付が付けられた家計簿は確定申告における支出記録として使うことができることが知られている。一方、パソコンが日常的に使用されるようになるにつれ、研究ノートや家計簿などの日常記録をパソコンを用いて行うことが、ごく一般的になってきている。
しかし、このようなパソコン上での電気的、デジタル的な記録による文書等は容易に書き換えることができることから、記録媒体としての紙を用いて書かれた記録とは異なり、記録日時を含め記録内容を第三者に証明することができないという問題を有していた。そのため、従来は、TSA(Time-Stamp Authority:時刻証明機関)が、時刻認証証明書を発行する時刻認証サービスを行うことで、デジタルデータの時刻証明の問題を解決していた。
更に、近年は、図15に示すように、利用者(甲)がTSA(乙)に、時刻認証の証明対象となるデジタルデータに対して時刻認証証明書を作成してもらい、その後、係争相手(丙)に対して時刻認証証明書の正当性を証明する必要が出てきた場合には、TTP(Trusted Third Party:信頼される第三者機関)(丁)に、その正当性の検証を依頼することで、紛争のより迅速な解決を図ることが可能となった。この場合、利用者(甲)は、利用者端末210からインターネット5を介してTSA(乙)の時刻認証装置2に時刻認証要求を行い、時刻認証装置2で時刻認証証明書を作成して利用者端末210に送信する。そして、利用者(甲)が係争相手(丙)との間で、時刻認証証明書の正当性を証明する必要が出てきた場合には、利用者端末210からインターネット5を介してTTP(丁)の検証装置240に時刻証明検証要求を行い、検証装置240で正当性を検証して、検証結果を利用者端末110や係争者端末3に送信する。
更に、最近、利用者(甲)がコンピュータ(計算機)のファイルシステムの特定の電子フォルダfに含まれる複数のファイルに係るデジタルデータg1、g2、・・・gn(nは正数、以下、総称を「g」とする)をまとめ、一括して時刻認証証明書を取得するような時刻認証方法が提案されている(特許文献1参照)。この方法は、1つにまとめた「固まり」という意味のバルク(bulk)から、バルク型時刻認証方法と呼ばれている。
ここで、図16を用い、上記従来のバルク型時刻認証方法について説明する。尚、図16は、従来のバルク型時刻認証方法における登場主体の関係、通信インフラストラクチャ(Infrastructure)、及び各装置の構成を示した図である。
図16に示すように、利用者(甲)は、デジタルデータGを作成し、TSA(乙)に時刻認証証明書の作成を依頼する者であり、パソコン等の利用者端末110からインターネット5を介してTSA(乙)の時刻認証装置2に時刻認証要求を行うことができる。TSA(乙)は、時刻インフラストラクチャ6を介して取得した日本標準時tに基づいて、時刻認証証明書を作成する者である。係争相手(丙)は、利用者(甲)が自己のデジタルデータの作成日時等に関して争う当事者の一方であり、パソコン等の係争者端末3からインターネット5を介して利用者端末110又は時刻認証装置2に対し、デジタルデータの送信要求を行うことができる。TTP(丁)は、信頼される第三者機関として、中立性と客観性をもち、利用者(甲)と係争相手(丙)の紛争解決に役立てるために時刻認証証明書の正当性を検証する機関であり、検証装置140によりインターネット5を介して利用者端末110からの時刻証明検証要求を受け付けて時刻認証証明書の正当性の検証を行うと共に、インターネット5を介して検証結果を利用者端末110又は係争者端末3に送信することができる。
次に、利用者端末110、時刻認証装置2、及び検証装置140について説明する。尚、利用者端末110には、この利用者端末110を図16に示す各手段として機能させるための時刻認証要求用プログラムが記憶されている。また、時刻認証装置2には、この時刻認証装置2を図16に示す各手段として機能させるための時刻認証用プログラムが記憶されている。更に、検証装置140には、この検証装置140を図16に示す各手段として機能させるための正当性検証用プログラムが記憶されている。
また、利用者端末110は、上記時刻認証要求用プログラムを実行することによって、図16に示すように、ハッシュ値作成手段111、ハッシュ値結合手段112、統合ハッシュ値作成手段113、及び、送受信手段114を有するに至っている。
まず、ハッシュ値作成手段111は、テキスト情報、画像情報、音声情報等のデジタルデータGのうちで、時刻認証の証明対象となるフォルダf内の複数のデジタルデータg毎にハッシュ関数h1を適用して、各ハッシュ値h1(g1),h1(g2),、、、,h1(gn)(以下、これらをまとめて表す場合は「h1(g)」とする)を作成することができる。このハッシュ値は、別名「ダイジェスト」ともいう。このようなハッシュ値h1(g)の作成目的は、デジタルデータgのような不定長のデータを所定の手順に従って変換して、一定の長さ(例えば、20byte)のハッシュ値h1(g)に圧縮することで、デジタルデータgに署名を行う代わりに、そのデジタルデータgのハッシュ値に署名することで、計算や送信の効率を向上させることである。また、安全なハッシュ関数の条件は、ハッシュ値から入力を推定することが困難であること、及び2つの異なるデジタルデータのハッシュ値が一致する確率が極めて小さいことである。例えば、ハッシュ関数として、MD5、SHA-1等がある。ハッシュ関数は、C言語のライブラリ等として広く流通しており、仕様が公開されているため、各人が自分でプログラム化することも比較的容易である。このハッシュ関数は、公開されている仕様通りに動作することで、ハッシュ値の送受信者間で合意されている必要がある。
次に、ハッシュ値結合手段112は、ハッシュ値作成手段11で作成された複数のハッシュ値h1(g)を連接することにより結合した結果として、次式を得る。
h1(g1)‖h1(g2)‖・・・‖h1(gn)
ここで、ハッシュ値の連接とは、ハッシュ値をバイト(byte)列とみて、単純につないで行くことを示す。例えば、それぞれ20byteのハッシュ値h1(g1)とh1(g2)を連接すると、合計で40byteのバイト列となり、前半の20byteはh1(g1)と同じで、後半の20byteはh1(g2)と同じとなるような、単純なバイト列のつながりのことである。
次に、統合ハッシュ値作成手段113は、ハッシュ値結合手段112によって得られた結合結果の全体に、統合用ハッシュ関数h2を適用して、次式の統合ハッシュ値を得る。
h2(h1(g1)‖h1(g2)‖・・・‖h1(gn))
尚、この統合ハッシュ値を簡略化して表すために、以下「d」で表す。
次に、利用者(甲)は、図17に示すように、利用者端末110からインターネット5を介して統合ハッシュ値dをTSA(乙)の時刻認証装置2へ送信することで、時刻認証要求を行う(ステップS101)。
一方、時刻認証装置2は、時刻認証用プログラムを実行することによって、図16に示すように、送受信手段21、時刻取得手段22、時刻認証手段23、及び、デジタル署名作成手段24を有するに至っている。
まず、送受信手段21は、インターネット5を介して上記利用者端末110から送られてきた統合ハッシュ値dを受信する。また、時刻取得手段22は、時刻インフラストラクチャ6から日本標準時tを取得している。
次に、デジタル署名作成手段23は、送受信手段21で受信した統合ハッシュ値dのデータに、時刻取得手段22で取得した時刻t、及び所定の附加情報を結合し時刻認証証明書における署名対象デジタルデータ TSTI(d, t)とし、この結合した全体に対してデジタル署名 sig(SK,TSTI(d, t))を作成する。このデジタル署名 sig(SK, TSTI(d, t)) は、TSA(乙)の署名鍵(秘密鍵)SKによるデジタルデータ TSTI(d, t) に対するデジタル署名を示したものである。
次に、時刻認証手段24は、上記統合ハッシュ値dと時刻t を含む署名対象デジタルデータ TSTI(d, t)、及び、デジタル署名 sig(SK, TSTI(d, t))を含む時刻認証証明書 TST(sig(SK, TSTI(d, t)), TSTI(d, t)) を作成する。この時刻認証証明書 TST(sig(SK, TSTI(d, t)), TSTI(d, t)) は、署名付きデジタルデータとしての時刻認証証明書を示したものである。これにより、TSA(乙)は、図17に示すように、時刻認証装置2から利用者(甲)の利用者端末110へ、時刻認証証明書 TST(sig(SK, TSTI(d, t)), TSTI(d, t)) を送信することで、時刻証明応答を行う(ステップS102)。
また、検証装置140は、検証用プログラムを実行することによって、図16に示すように、送受信手段141、及び、検証手段142を有するに至っている。尚、署名鍵SKと、この署名鍵SKと対になる公開鍵PKは、何らかの手段でTTP(丁)に知られている。
そして、利用者(甲)が、デジタルデータgの時刻証明を係争相手(丙)に証明する必要が出てきた場合には、図17に示すように、利用者(甲)は、利用者端末110からインターネット5を介してTTP(丁)の検証装置140に、証明対象である複数のデジタルデータgを格納したフォルダf〔g〕、及び時刻認証証明書 TST1 を送信することで、時刻証明検証要求を行う(ステップS103)。
次に、検証装置140では、送受信手段141によって、フォルダf〔g〕及び時刻認証証明書 TST1を受信し、検証用記憶手段149に記憶しておく。そして、検証手段142は、更に、統合ハッシュ値再計算手段143、デジタル署名検証手段144、及び、統合ハッシュ値比較手段145を有しており、各手段によって以下に示す手順で検証を行う。
まず、検証時の入力対象として、上記フォルダf〔g〕の名称fn、フォルダf〔g〕に含まれるデジタルデータg、及び、フォルダf〔g〕に対して既に取得している時刻認証証明書 TST1 が入力されると、統合ハッシュ値再計算手段143によって、検証用記憶手段149からフォルダf〔g〕の名称fnに対応したデジタルデータgを読み出し、上記利用者端末110で統合ハッシュ値dを作成した手順と同じ手順で、統合ハッシュ値d’を再度計算する。
次に、デジタル署名検証手段144により、時刻認証証明書 TST1 から署名対象デジタルデータ TSTI(d, t) と、デジタル署名 sig(SK, TSTI(d, t)) を抽出し、公開の検証鍵 PKを用いてデジタル署名 sig(SK, TSTI(d, t)) が、署名対象デジタルデータ TSTI(d, t) に対してなされたものであることを検証する。
次に、統合ハッシュ値比較手段145により、上記再計算した統合ハッシュ値d’と、上記時刻認証の署名対象デジタルデータTSTI(d, t) から抽出したハッシュ値 d を比較し、d’=dか否かを検証する。この場合、署名対象デジタルデータTSTI(d, t)の書式は定まっているため TSTI(d, t) からdを取り出すことかできる。これにより、d’=dが成り立てば、検出結果として「正当(OK)」を出力し、d’=dが成り立たなければ、検出結果として「不当(NG)」を出力する。
このように、従来のバルク型時刻認証方法によれば、フォルダf〔g〕を一括してまとめた状態で、単一の時刻認証証明書TST(sig(SK, TSTI(d, t)), TSTI(d, t))の要求を行うことで、TSA(乙)が時刻認証証明書の発行を単一で済むと共に、利用者(甲)も単一の時刻認証証明書 TST(sig(SK, TSTI(d, t)), TSTI(d, t))を管理するだけで済むという効果を奏する。
関連する他の従来技術として、構造を持ったデジタル文書とそのデジタル署名を一体化して記述するためのマークアップ言語であるSDML (Signed Document Markup Langauge)がある(非特許文献1参照)。この言語の本来の使用目的は、デジタル署名の対象となるメッセージの内容を該言語で構造化して文字列として表現し、該文字列とそれに対するデジタル署名を含むような構造化されたデジタル文書を作成することにある。SDMLは、メッセージの内容の代わりに時刻証明の対象となるデジタル・データ(電子ファイル等)の識別子(パス名)とそのハッシュ値の組を用い、かつSDMLで使われるデジタル署名として信頼される第三者機関によって発行される時刻印つきのデジタル署名を用いることにより、本発明と同じ時刻証明の目的のために用いることができると考えられる。この際、複数のデジタル・データをグループ化し時刻証明書を取得するには、当該の各デジタル・データの識別子とハッシュ値の組を SDML におけるデータ・ブロックとして扱い、これら複数のデータ・ブロックに対して、信頼される第三者機関によって発行される時刻印つきのデジタル署名を取得してシグニチャ・ブロックを生成し、これを時刻証明書とする。また1つのデジタル・データに対して時刻証明書の検証を行うには、上記のシグニチャ・ブロックの検証をSDML で定められた手順に従って行うと同時に、当該のデジタル・データの識別子とそのハッシュ値の組が対応するSDMLのデータ・ブロックの内容と一致することの検証を行う。しかし、たとえこのような拡張を行ってもSDML においてはブロックはネストを許さないため、多段の階層を持ったデジタル・データの集まりに対して、時刻証明を実現する方法は文献からは明らかでない。
SDMLをベースに、多段に階層化された複数のデジタル・データに対して時刻証明を実現する方法としては、この多段に階層化された複数のデジタル・データの階層構造を無視し、複数のデジタル・データの単純な集まりとして扱い、前記の方法を適用することが考えられる。しかし、この方法を用いた場合、第三者がある1つのデジタル・データに対して時刻証明書の検証を行うためには、当該のデジタル・データと共に時刻証明書を検証者に提供する必要があるが、時刻証明書のデータ量は時刻証明の対象であるデジタル・データの数 N に比例して大きくなるという問題がある。一方、多段に階層化されたサマリファイルを用いる本発明においては、検証者が1つのデジタル・データに対して時刻証明書の検証を行うために必要となる最小限の情報を元のサマリファイルから抽出して個別化サマリファイルを作成し、これを用いて時刻証明書の検証をすることが出来る(後述の第4の実施の形態を参照)。個別化サマリファイルのデータ量は、各階層における分岐の数をmとすると、m・logm N に比例する。従って、個別化サマリファイルを利用する本発明の方式においては、N が大きいとき、第三者が1つのデジタル・データに対して時刻証明書の検証を行う際の通信量を著しく削減すると同時に、検証を行うために必要な情報のみを開示することによりプライバシに係わる可能性のある情報の開示を最小限に抑えるという利点がある。さらに、検証時に扱うデータ量が小さくなることにより、検証のための処理時間が短くなるという利点がある。
特開2001−142398号公報 SDML-Signed Document Markup Language Specifications Version 2.0(http://www.fstc.org/)
しかしながら、従来のバルク型時刻認証方法では、一括して1つにまとめたフォルダf〔g〕の全体の統合ハッシュ値dに対して時刻認証証明書 TST1を発行しているため、フォルダf〔g〕のうちの一部のデジタルデータ(例えば、g1)に変更が生じた場合には、時刻認証証明書の全体が無効になってしまうという問題が生じていた。また、一部のデジタルデータに対して時刻認証証明書の正当性を第三者に示すために、大量のデータを、第三者に送付しなければならないという問題が生じていた。
本発明は、上述した事情に鑑みてなされたもので、時刻認証証明書が発行された後に、証明対象に係るデジタルデータの一部に変更が生じても、変更が生じていない部分は有効であると証明することができ、また一部のデジタルデータに対して時刻認証証明書の正当性を第三者に示すために送付する必要のあるデータの量を著しく削減する発明を公開することを目的とする。
上記目的を達成するため、請求項1に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、当該1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うためのバルク型時刻認証要求用のプログラムであって、コンピュータが、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記サマリファイルを管理するファイル管理手段とを有した状態において、前記複数のエントリの各々に対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルを、前記ファイル管理手段に記憶するサマリファイル記憶手段と、前記サマリファイル管理手段に記憶すべきサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、を前記コンピュータに機能させることにより、前記作成したサマリファイルのハッシュ値を時刻認証の証明対象として時刻証明機関への時刻認証要求を可能とするためのバルク型時刻認証要求用プログラムである。
ここで、「プログラム」とは、コンピュータによる処理に適した命令の順番付けられた列からなるものをいい、コンピュータのHD(Hard Disk)、CD−RW等にインストールされているものや、CD−ROM、DVD、FD、半導体メモリ、コンピュータのHDD等の各種記録媒体に記録されているものや、インターネット等の外部ネットワークを介して配信されるものも含まれる(以下、同様)。
また、「電子フォルダ」には、ある電子フォルダに含まれるもう1つの電子フォルダであるような電子サブフォルダが含まれる(以下、同様)。
請求項2に係る発明は、前記エントリが電子フォルダの場合において、前記ハッシュ値作成手段は、前記電子フォルダに格納されている電子ファイル又は電子サブフォルダに係るエントリに基づいた要約ファイル表現から導出され、少なくとも前記電子フォルダに格納されているファイルに係る※各エントリのハッシュ値を含むデジタルデータに対して前記エントリ用ハッシュ関数を適用することによって、前記電子フォルダに係るエントリのハッシュ値を作成することが可能であり、更に、前記電子フォルダに係るエントリのハッシュ値は、少なくとも前記電子フォルダに含まれる前記各エントリの識別子、当該エントリが電子ファイルである場合には当該電子ファイルの内容としてのデジタルデータに依存して決定されるものであることを特徴とする請求項1に記載のバルク型時刻認証要求用プログラムである。
ここで、「デジタルデータ」が、エントリ用ハッシュ関数を適用することが可能であればよく、例えば、文字列、バイト(byte)列、ビット(bit)列が挙げられる。
請求項3に係る発明は、前記サマリファイルハッシュ値作成手段は、前記サマリファイルの要約ファイル表現の構成要素のうちで少なくともハッシュ値の部分を含むようなデジタルデータに対して前記サマリファイル用ハッシュ関数を適用することにより、サマリファイルのハッシュ値を作成することを特徴とする請求項1に記載のバルク型時刻認証要求用プログラムである。
請求項4に係る発明は、請求項1乃至3に記載のバルク型時刻認証要求用プログラムであって、更に、前記時刻認証の証明対象となるエントリ(即ち前記サマリファイルに含めるエントリ)を指定するエントリ指定手段を有することを特徴とするバルク型時刻認証要求用プログラムである。
請求項5に係る発明は、請求項4に記載のバルク型時刻認証要求用プログラムであって、更に、指定されたエントリに対してグループ化し,各グループに識別子を定義し,それらのグループをエントリと見なすことによりグループ間の入れ子構造を定義するグループ定義手段を有することを特徴とするバルク型時刻認証要求用プログラムある。
請求項6に係る発明は、請求項1乃至5に記載のバルク型時刻認証要求用プログラムを記録した、コンピュータ読み取り可能なバルク型時刻認証要求用記録媒体である。
ここで、「記録媒体」とは、上記コンピュータで上記各手段を機能させるためのプログラムの読み取りに使用することができればよく、情報を媒体の物理的特性を利用してどのように記録するか等の物理的な記録方法には依存しない。例えば、FD(Flexible Disk)、CD−ROM(R,RW)(Compact Disc Read Only Memory(CD Recordable,CD Rewritable))、DVD−ROM(RAM,R,RW)(Digital Versatile Disk Read Only Memory(DVD Random Access Memory,DVD Recordable,DVD Rewritable))、半導体メモリ、MO(Magneto Optical Disk)、MD(Mini Disk)、磁気テープ等が該当する(以下、同様)。
請求項7に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置であって、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、前記検証用管理手段に管理しておいたサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得手段と、前記ハッシュ値再計算手段によって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得手段によって取得したハッシュ値とが同じであるか否かを比較するハッシュ値比較手段と、前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算手段と、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、前記サマリファイルハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較手段と、を有することを特徴とする検証装置である。
請求項8に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置であって、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、前記検証の対象となる各エントリについて、その識別子と上記再計算して得られたエントリのハッシュ値に加えて、上記サマリファイルのハッシュ値を計算するのに必要なデータを、当該のエントリに対する検証用補完データと定義し、さらに、当該のエントリの識別子、そのハッシュ値、そのハッシュ値を計算するためのハッシュ関数の識別子、及び当該のエントリに対する検証用補完データからなるデータを当該エントリの個別化サマリファイルと定義すると、検証の対象となる各エントリに対する個別化サマリファイルから上記サマリファイルのハッシュ値を計算する個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段と、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、前記個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較手段と、を有することを特徴とする検証装置である。
請求項9に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、前記検証装置は、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、前記検証用管理手段に管理しておいたサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得ステップと、前記ハッシュ値再計算ステップによって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得ステップによって取得したハッシュ値とが同じであるか否かを比較するハッシュ値比較ステップと、前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算ステップと、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、前記サマリファイルハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較ステップと、を実行することを特徴とする検証方法である。
請求項10に係る発明は、 電子フォルダ又は電子ファイルとしての複数のエントのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、
前記検証装置は、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、前記検証の対象となる各エントリについて、その識別子とハッシュ値に加えて、上記サマリファイルのハッシュ値を計算するのに必要なデータを、当該のエントリに対する検証用補完データと定義し、さらに、当該のエントリの識別子、そのハッシュ値、そのハッシュ値を計算するためのハッシュ関数の識別子、及び当該のエントリに対する検証用補完データからなるデータを当該エントリの個別化サマリファイルと定義すると、当該のエントリに対する個別化サマリファイルから上記サマリファイルのハッシュ値を計算する個別化サマリファイル利用型サマリファイル・ハッシュ値再計算ステップと、
前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、前記個別化サマリファイル利用型サマリファイル・ハッシュ値再計算ステップで再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較ステップと、を実行することを特徴とする検証方法である。
請求項11に係る発明は、請求項9に記載の検証装置に、上記各ステップを実行させることを特徴とした検証用プログラムである。
請求項12に係る発明は、請求項10に記載の検証装置に、上記各ステップを実行させることを特徴とした検証用プログラムである。
請求項13に係る発明は、請求項11及び請求項12のいずれか1項に記載のプログラムを記録したことを特徴とした、コンピュータ読み取り可能な検証用記録媒体である。
以上説明したように本発明によれば、エントリのハッシュ値とエントリの名称を関連付けて作成した要約ファイル表現を合成することで本発明特有のサマリファイルを作成しておくことで、時刻認証証明書が発行された後に、証明対象であるエントリの一部に変更が生じた場合でも、ハッシュ値とエントリの名称との関係が明確なため、変更が生じていない部分は有効であると証明することができるという効果を奏する。さらに、時刻証明の対象となる複数のエントリの中から1つを選んで、そのエントリについて時刻認証証明書が正当であることを第三者において行わせるために、サマリファイルからこの正当性証明に必要な部分のみを抽出した結果である個別化サマリファイルを作成する機能を持つことにより、第三者における正当性検証を、また通信量や処理時間の面で効率的よく、また
プライバシに係わる可能性のある情報の開示を最小限にとどめながら可能にするという効果を奏する。
〔第1の実施形態〕
以下、図1乃至図9を参照して、本発明の第1の実施形態に係るバルク型時刻認証方法について説明する。尚、図1は、本実施形態における登場主体の関係、通信インフラストラクチャ(Infrastructure)、及び各装置の構成を示した図である。図1に示すように、利用者(甲)は、時刻認証の証明対象としての電子フォルダ又は電子ファイルに対して、TSA(乙)に時刻認証証明書の作成を依頼する者であり、パソコン等の利用者端末1からインターネット5を介してTSA(乙)の時刻認証装置2に時刻認証要求を行うことができる。TSA(乙)は、時刻インフラストラクチャ6を介して取得した日本標準時tに基づいて、時刻認証証明書 TST1 を作成する者である。但し、日本標準時tを取得せずに、独自の時刻源を用いて時刻認証証明書を作成してもよい。
尚、以下において、時刻認証の証明対象としての電子フォルダ又は電子ファイルを「エントリ」といい、この場合の電子フォルダには、ある電子フォルダに含まれるもう1つの電子フォルダであるような電子サブフォルダも含まれる。このエントリは、時刻認証の証明対象としてエントリすることに由来している。また、電子ファイルを「ファイル」として表し、電子サブフォルダを「サブフォルダ」として表し、電子ファイルを「ファイル」として表す。ファイル毎に各デジタルデータが格納されている。
ファイルとフォルダのうちのどちらを示しても良い場合、又は両方を示す場合の概念の総称を「エントリe」として表す。また、各エントリeをそれぞれ示す場合には、エントリe1,e2,・・・,en(nは正数)として表す。
特に、エントリeがフォルダの場合には総称として「エントリeF」と表し、エントリeがサブフォルダの場合には総称として「エントリes」と表し、エントリeがファイルの場合には総称として「エントリef」と表す。
この場合、サブフォルダに係るエントリesをそれぞれ示す場合には、エントリes1,es2,・・・,esn(nは正数)として表し、ファイルに係るエントリefをそれぞれ示す場合には、エントリef1,ef2,・・・,efn(nは正数)として表す。
係争相手(丙)は、利用者(甲)が自己のデジタルデータの作成日時等に関して争う当事者の一方であり、パソコン等の係争者端末3からインターネット5を介して利用者端末1又は時刻認証装置2に対し、デジタルデータの送信要求を行うことができる。
TTP(丁)は、信頼される第三者機関として、中立性と客観性をもち、利用者(甲)と係争相手(丙)の紛争解決に役立てるために時刻認証証明書の正当性を検証する機関であり、検証装置4によりインターネット5を介して利用者端末1からの時刻証明検証要求を受け付けて、時刻認証証明書の正当性の検証を行うと共に、インターネット5を介して検証結果を利用者端末1又は係争者端末3に送信することができる。尚、利用者(甲)は利用者端末1を利用せずに、CD−R等の記録媒体に時刻証明検証要求に必要なデータを記録しておき、TTP(丁)に持参や郵送等により、上記時刻証明検証要求に必要なデータを渡すようにしてもよい。
次に、利用者端末1、時刻認証装置2、及び検証装置4について説明する。尚、利用者端末1には、この利用者端末1を図1に示す各手段として機能させるための時刻認証要求用プログラム(p1)が記憶されている。また、時刻認証装置2には、この時刻認証装置2を図1に示す各手段として機能させるための時刻認証用プログラム(p2)が記憶されている。更に、検証装置4には、この検証装置4を図1に示す各手段として機能させるための正当性検証用プログラム(p4)が記憶されている。
また、コンピュータとしての利用者端末1は、時刻認証要求用プログラム(p1)を実行することによって、図1に示すように、エントリ指定手段10、サマリファイル作成手段11、サマリファイル記憶手段12、サマリファイルハッシュ値作成手段14、及び、送受信手段15を有するに至っている。
更に、サマリファイル作成手段11は、ハッシュ値作成手段11a、ハッシュ値結合手段11b、統合ハッシュ値作成手段11c、要約ファイル表現作成手段11d、及び要約ファイル表現合成手段11eを有している。
また、利用者端末1における不図示のHD(Hard Disk)には、関数管理手段18、及び、ファイル管理手段19が構築されている。
また、関数管理手段18には、ファイルに係るエントリefに適用してハッシュ値h1ef(ef)を計算するためのファイル用ハッシュ関数h1ef(以下、「ハッシュ関数h1ef」という)、フォルダに係るエントリeFの統合ハッシュ値を計算するための統合用ハッシュ関数h2eF(以下、「ハッシュ関数 h2eF」という)、サブフォルダに係るエントリesの統合ハッシュ値を計算するための統合用ハッシュ関数h2es(以下、「ハッシュ関数 h2es」という)、及び、サマリファイルSFに適用してサマリファイルのハッシュ値h3eF(SF)を計算するためのサマリファイル用ハッシュ関数h3eF(以下、「ハッシュ関数h3eF」という)が記憶されて管理されている。尚、ファイル用ハッシュ関数 h1ef、統合用ハッシュ関数 h2eF 及び、統合用ハッシュ関数 h2es は、エントリ用ハッシュ関数の一例である。
また、ハッシュ関数 h1ef,h2eF,h2es, h3eF として、MD5、SHA-1等がある。また、ハッシュ関数h1ef,h2eF,h2es, h3eF は、全て同じものであってもよく、別のものであってもよいし、これらのうちのいくつかが同じものであってもよい。これらのうちで、h3eF はサマリファイルを入力してそのハッシュ値を出力する関数であるが、サマリファイルが曖昧性なく構造を表現するマークアップ言語などで記述されている場合には、h3eF はマリファイルをバイト列等のデジタルデータとして扱い、このようなデジタルデータに適用する上記MD5, SHA-1 等のハッシュ関数を適用するものであってもよいし、またサマリファイルで表現された構造を抽出しその構造に基づく何らかの変換を行った後に、この変換結果をバイト列等のデジタルデータとして扱い、このようなデジタルデータに適用する上記MD5, SHA-1 等のハッシュ関数を適用するものであってもよい。このような変換の例としては、サマリファイル内の一個以上の特定のフィールドを抽出する方式がある。尚ハッシュ値は、別名「ダイジェスト(digest)」ともいう。図6では、<digest>として表している。
更に、関数管理手段18には、サマリファイルSFを構成する要約ファイル表現SFRのうちで、エントリeF,esに基づいた要約ファイル表現 SFR(eF),SFR(es)を作成するためのフォルダ用要約ファイル表現作成関数 FolderSfRepが記憶されて管理されている。
このフォルダ用要約ファイル表現作成関数 FolderSfRep は、まず、サマリファイルSFを構成する要約ファイル表現SFRのうちで、ファイルに係るエントリefに基づいた要約ファイル表現 SFR(ef)を作成するためのファイル用要約ファイル表現作成関数 FileSfRep を、各エントリefに適用する機能を有すると共に、これによって作成した複数の要約ファイル表現 SFR(ef)を合成して、結果的にサマリファイルSFを構成する要約ファイル表現SFRを完成させるための要約ファイル表現合成関数 ComposeSFR を適用する機能を有している。
また、サブフォルダが存在する場合には、サブフォルダに係るエントリesに基づいた要約ファイル表現 SFR(es)を作成のため、上記フォルダ用要約ファイル表現作成関数 FolderSfRep をサブフォルダ用に再帰的に適用する。この場合、最終的にエントリeFに基づいた要約ファイル表現 SFR(eF)を作成する際に、要約ファイル表現合成関数 ComposeSFRを適用する対象は、(1)フォルダ用要約ファイル表現合成関数 FolderSfRepによって作成した要約ファイル表現SFR(es)か、又は、(2)この要約ファイル表現 SFR(es)及びファイル用要約ファイル表現作成関数 FileSfRepによって作成した要約ファイル表現 SFR(ef)の組み合わせである。
次に、エントリ指定手段10は、複数のファイル及び複数のフォルダに係るデジタルデータGのうち、利用者(甲)によって入力されたエントリeの識別子Id(e) 又はパス名epnに基づいて、時刻認証の証明対象となるエントリ(g1,g2,・・・,gn)を指定する機能を有する。この複数のファイル及び複数のフォルダは、利用者端末1のHDに記憶されている場合や、外部のCD−R等の記録媒体に記録されている場合や、インターネット等の通信ネットワークを介して送られてくる場合等がある。
また、ハッシュ値作成手段11aは、関数管理手段18からハッシュ関数h1efを読み出して、上記エントリ指定手段10によって指定したファイルに係る各エントリefに対してハッシュ関数 h1ef を適用することで、これらエントリef毎にハッシュ値 h1ef(ef)を作成する機能を有する。また、サブフォルダに係るエントリesに格納されているエントリefについても、ハッシュ値作成手段11aによってハッシュ値 h1ef(ef)を作成する。
また、ハッシュ値結合手段11bは、エントリの識別子 Id(ef), ハッシュ値作成手段11aで作成した各ハッシュ値 h1ef(ef)と、MD5等のハッシュ・アルゴリズム(algorithm)の名称等のそれぞれの付加情報α1,α2,、、、,αn(nは正数。以下、これらの総称を「α」と表す。)を連接して、予め定められた順序付けの規則に従って、以下のような系列に並べ替える機能を有する。
Id(ef1)‖h1ef1(ef1)‖α1、
Id(ef2)‖h1ef2(ef2)‖α2、
・・・
Id(efn)‖h1efn(efn)‖αn
尚、順序付けの規則としては、エントリefの識別子 Id(ef) に基づく辞書式順序に従って定めることが挙げられる。また、付加情報αは空でもよい。
更に、ハッシュ値結合手段11bは、上記連接した系列を結合して、1つのデジタルデータを生成する機能も有する。
また、統合ハッシュ値作成手段11cは、関数管理手段18からハッシュ関数h2 eFを読み出して、上記ハッシュ値結合手段11bによって結合した値に適用することで、上記複数のエントリefが格納されているフォルダに係るエントリeFの統合ハッシュ値を作成する機能を有する。この作成した統合ハッシュ値は、以下に示す通りである。
h2eF(Id(ef1)‖h1ef1(ef1)‖α1‖Id(ef2)‖h1ef2(ef2)‖α2‖
…‖Id(efn)‖h1efn(efn)‖αn)
尚、フォルダに係るエントリeFにサブフォルダに係るエントリesが格納されている場合には、上記フォルダの概念にサブフォルダを含めて再帰的に上記の手順を適用することで、サブフォルダに係るエントリesの統合ハッシュ値を作成し、その後に、フォルダに係るエントリeFの統合ハッシュ値を作成する。
次に、要約ファイル表現作成手段11dは、関数管理手段18からファイル用要約ファイル表現作成関数FileSfRepを読み出して上記エントリef毎に適用することで、少なくとも(1)上記入力された証明対象のフォルダ(エントリ)のパス名epnに基づく各ファイル(エントリ)の識別子及び(2)上記ハッシュ値作成手段11aによって作成したハッシュ値 h1ef(ef)を、所定の規則に従い曖昧性なく関連づけて記述する記述言語(XML(Extensible Markup Language)等のマークアップ言語等)により記述した要約ファイル表現 SFR(ef)を作成する機能を有する。また、この要約ファイル表現 SFR(ef)は、上記エントリef 毎に作成される。
ここで、ファイル用要約ファイル表現作成関数 FileSfRep は、図3に示すように、引数となるファイルの識別子と、HashRep(e)とによって構成された値を求めるために使用される。また、HashRep(e)は、図4に示すように、ハッシュデータ<hashdata>で表現されている。このハッシュデータには、ハッシュ・アルゴリズム名<algorithm>及びハッシュ値(ダイジェスト)<digest>で表現されている。尚、図4は、SHA-1やMD5等のハッシュアルゴリズムのように、各エントリe専用のハッシュキー(hashkey)を使わない場合を示している。
また、各エントリe専用のハッシュキーを使う場合については、図5に示している。この場合には、ハッシュデータに、更に、ハッシュ・キーの値<hashkey>の表現も含まれる。この場合のハッシュアルゴリズムは、HMAC-SHA-1やHMAC-MD5等である。
また、要約ファイル表現合成手段11eは、関数管理手段18から要約ファイル表現合成関数 ComposeSFR を読み出して、上記要約ファイル表現作成手段11dによって作成した各ファイル用要約ファイル表現 SFR(ef) にまとめて適用することで、複数のファイル用要約ファイル表現 SFR(ef)を合成する。
更に、要約ファイル表現作成手段11dは、上記合成した値に対して、少なくとも(1)上記利用者(甲)によって入力されたエントリeのパス名epnに基づくフォルダの識別子及び(2)上記統合ハッシュ値作成手段11cによって作成した統合ハッシュ値を所定の規則に従い曖昧性なく関連付けて記述する記述言語(XML等のマークアップ言語等)により表現したフォルダ用要約ファイル表現 SFR(eF)を作成する機能を有する。尚、エントリeFが木構造を有する場合には、この木構造を反映したフォルダ用要約ファイル表現 SFR(eF)としてもよく、上記エントリeFの木構造とは全く異なる新たな木構造のフォルダ用要約ファイル表現SFR(eF)としてもよい。
尚、フォルダに係るエントリeFに、サブフォルダに係るエントリesが格納されている場合には、上記要約ファイル表現作成手段11dは、サマリファイルSF内のフォルダ用要約ファイル表現 SFR(eF)の概念に、上記サブフォルダに係るエントリesに基づくサブフォルダ用要約ファイル表現 SFR(es)を含めて、再帰的手順でサブフォルダ用要約ファイル表現 SFR(es)及びフォルダ用要約ファイル表現SFR(eF)を作成する。この場合には、上記要約ファイル表現合成手段11eは、上記ファイル用要約ファイル表現 SFR(ef)と同様に上記作成したサブフォルダ用要約ファイル表現 SFR(es)を扱い再帰的に要約ファイル表現合成関数 ComposeSFR を適用する。
これにより、要約ファイル表現作成手段11dによって、サブフォルダ用要約ファイル表現SFR(es)を作成した場合には、要約ファイル表現合成手段11eによって合成する対象は、ファイル用要約ファイル表現 SFR(ef)だけでなく、上記一旦作成したサブフォルダ用要約ファイル表現 SFR(es)も含まれることになる。
この場合、要約ファイル表現合成手段11eによる合成は、予め定められた順序付けの規則に従って、以下のような系列に並べ替えられる。
SFR(e1)、
SFR(e2)、
・・・
SFR(en)
尚、順序付けの規則の例としては、エントリeの識別子に基づく辞書式順序に従って定めることが挙げられる。
また、要約ファイル表現合成手段11eは、以下に示す方法によって、具体的に要約ファイル表現 SFR(e)を結合することで、木構造を表現したサマリファイルSFを作成する。
まず、要約ファイル表現合成手段11eは、上記利用者(甲)によって入力されたフォルダ(エントリe)のパス名epnと、上記要約ファイル表現作成手段11dによって作成して並べ替えた各要約ファイル表現 SFR(e)に対して要約ファイル表現合成関数 ComposeSFRを適用し、エントリeに基づく要約ファイル表現 SFR(e)を作成する。この要約ファイル表現合成関数 ComposeSFRは、予め定められた関数であり、例えばエントリeに基づく要約ファイル表現 SFR(e)を入力した場合に、XML形式で図2に示すように表現することができる関数である。但し、図2において、下線を引いた式(例えば、SFR(e1))は、その式そのものではなく、つまり、文字列としての SFR(e1)そのものではなく、その式が表す文字列を、その場所に代入するという事を示している。
図2では、上記入力されたフォルダのパス名epnに基づいたフォルダネーム<folder name>、上記図4又は図5で示した HashRep(e)、及び、上記要約ファイル表現 SFR(e)によって表現されている。
以上のように、サマリファイル作成手段11によって作成されたサマリファイルSFの一例であるサマリファイルSF1を図6に示す。図6に示すように、サマリファイルSF1は、ユーザネーム<username>等の管理上必要な情報としての附加要素と、フォルダに係るエントリeF1に基づいた要約ファイル表現SFR(eF1)によって構成されている。この要約ファイル表現SFR(eF1)は、元のデータがフォルダであるため、図2に示す表現手法を採用し、HashRep(eF1)、エントリes1に基づいた要約ファイル表現SFR(es1)、及び、エントリef2に基づいた要約ファイル表現SFR(ef2)によって構成されている。
更に、要約ファイル表現SFR(es1)は、エントリes1が(サブ)フォルダであるため、図2に示す表現手法を採用し、HashRep(es1)及びエントリef2に基づいた要約ファイル表現SFR(ef2)によって構成されている。また、要約ファイル表現SFR(ef3)は、エントリef3がファイルであるため、図3に示す表現手法を採用し、HashRep(ef3)によって構成されている。
一方、要約ファイル表現SFR(ef2)は、エントリ ef2がファイルであるため、図3に示す表現手法を採用し、HashRep(ef2)によって構成されている。
このように、サマリファイルSFは、以下に示す複数の特徴を有する。
〔1〕XML等の特定の記述言語により記述しているため、この記述から曖昧性なく各構成要素とそれらの関係を抽出することができる。
〔2〕エントリの名称とエントリのハッシュデータが関連付けられて、エントリeのハッシュデータ<hashdata>が表示されている。
〔3〕ハッシュデータには、使用したハッシュアルゴリズム<algorithm>、計算したハッシュ値<digest>、場合によってはハッシュキー<hashkey>も示されている。
〔4〕木構造をテキストファイルとして表現しており、木構造を作成すること自体が、サマリファイルを作成することになる。
次に、図1に示すサマリファイル記憶手段12は、サマリファイル作成手段11によって作成したサマリファイルSFをファイル管理手段19に記憶して管理する機能を有する。そして、係争相手(丙)と時刻認証証明書の正当性について争いが生じた場合に、ファイル管理手段19に管理しておいたサマリファイルSFを読み出して、正当性の検証に役立てる。
また、サマリファイルハッシュ値作成手段14は、関数管理手段18からハッシュ関数h3eFを読み出して、ファイル管理手段19に記憶すべき完成されたサマリファイルSFに適用することで、サマリファイルのハッシュ値h3eF(SF)を作成する。尚、説明の便宜上、以下、サマリファイルのハッシュ値h3eF(SF)を「D」で表現する。
また、送受信手段15は、インターネット5を介して他の装置と情報(データ)の送受信を行うための機能を有する。
続いて、図1に示す時刻認証装置2について説明する。時刻認証装置2は、時刻認証用プログラム(p2)を実行することによって、図1に示すように、送受信手段21、時刻取得手段22、時刻認証手段23、及び、デジタル署名作成手段24を有するに至っている。
送受信手段21は、インターネット5を介して他の装置と情報(データ)の送受信を行うための機能を有する。ここでは、インターネット5を介して利用者端末1から送られてきたハッシュ値Dを受信する。また、時刻取得手段22は、送受信手段21でハッシュ値Dを受信した時に合わせて、時刻インフラストラクチャ6から日本標準時tを取得する機能を有する。尚、日本標準時tを取得せずに、独自の時刻源を用いてもよい。
また、デジタル署名作成手段23は、図9に示すように、送受信手段21で受信したハッシュ値Dのデータに、時刻取得手段22で取得した時刻t、および所定の附加情報を結合して、署名対象デジタルデータTSTI(D, t)とし、この結合した全体に対してデジタル署名 sig(SK, TSTI(D, t)) を作成する機能を有する。このデジタル署名 sig(SK, TSTI(D, t))は、TSA(乙)の署名鍵(秘密鍵)SKによるデジタルデータ TSTI(D, t)に対するデジタル署名を示したものである。
また、時刻認証手段24は、上記結合したハッシュ値Dと時刻t、及び所定の附加情報を結合して構成した 署名対象デジタルデータ TSTI(D, t)、及び、上記作成されたデジタル署名 sig(SK, TSTI(d, t)) を含む時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))を作成する機能を有する。この時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))は、署名付きデジタルデータとしての時刻認証証明書を示したものである。
続いて、図1に示す検証装置4について説明する。
検証装置4は、検証用プログラム(p4)を実行することによって、図1に示すように、送受信手段41、及び、検証手段42を有するに至っている。更に、検証手段42は、正当性検証手段42a、ハッシュ値再計算手段42b1、ハッシュ値取得手段42b2、ハッシュ値比較手段42b3、サマリファイルハッシュ値再計算手段42c1、サマリファイルハッシュ値取得手段42c2、及び、サマリフィルハッシュ値比較手段42c3を有している。また、コンピュータとしての検証装置4における不図示のHDには、検証用管理手段48、及び、関数管理手段49が構築されている。この関数管理手段49には、上記ハッシュ関数h1ef,h2eF,h3eF が既に管理されている。尚、署名鍵SKと対になる公開鍵PKは、何らかの手段でTTP(丁)に知られている。
検証装置4のうち、送受信手段41は、インターネット5を介して他の装置と情報(データ)の送受信を行い、受信した情報を検証用管理手段48に記憶して管理する機能を有する。例えば、利用者端末1から時刻証明検証要求時に送られてきた、単一若しくは複数のエントリe、このエントリeに基づくサマリファイルSF、及び、時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))を受信し、検証用記憶手段49に記憶しておく。
また、検証手段42は、以下に示す機能により、時刻認証証明書の正当性の検証を行う。
正当性検証手段42aは、検証用管理手段48に管理しておいた時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))が改ざんされてなく正しいことを検証する機能を有する。例えば、検証用管理手段48に管理しておいた時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))に含まれるデジタル署名 sig(SK, TSTI(D, t)) が、上記時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))に含まれる署名対象デジタルデータ TSTI(D, t)に対するデジタル署名であることを検証する。
ハッシュ値再計算手段42b1は、TTP(丁)によって入力された検証対象のエントリeのパス名epnに基づいて、検証用管理手段48から検証対象のエントリeを読み出すと共に、関数管理手段49からハッシュ関数h1ef,h2esを読み出して上記エントリe毎に適用することで、各ハッシュ値を再計算する機能を有する。この再計算方法は、上記利用者端末1のハッシュ作成手段11a又は統合ハッシュ値作成手段11cで各ハッシュ値を作成した手順と同じ手順で行う。
ハッシュ値取得手段42b2は、検証用管理手段48に管理しておいたサマリファイルSFを構成する要約ファイル表現SFR(e)中の対応する元のエントリのハッシュ値D1を取得する機能を有する。
ハッシュ値比較手段42b3は、ハッシュ値再計算手段42b1によって再計算したエントリeのハッシュ値 D1'と、ハッシュ値取得手段42b2によって取得した元のエントリのハッシュ値D1とが同じ(D1'=D1)であるか否かを比較する機能を有する。
サマリファイルハッシュ値再計算手段42c1は、検証用管理手段48に管理しておいたサマリファイルSFに対して関数管理手段49で管理しているサマリファイル用ハッシュ関数h3eFを適用して、サマリファイルSFのハッシュ値h3eF(SF)を再計算する機能を有する。
尚、以下、このサマリファイルハッシュ値再計算手段42c1によって再計算して求めたハッシュ値を「D'」で表す。この再計算方法は、上記利用者端末1のサマリファイルハッシュ値作成手段14によって、サマリファイルSFのハッシュ値Dを作成した手順と同じ手順で行う。
サマリファイルハッシュ値取得手段42c2は、前記検証用管理手段48に管理しておいた時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))の中の署名対象デジタルデータTSTI(D, t)に含まれる元のサマリファイルのハッシュ値Dを取得する機能を有する。
サマリファイルハッシュ値比較手段42c3は、サマリファイルハッシュ値再計算手段42c1で再計算したサマリファイルSFのハッシュ値D'と、正当性検証手段42aで取得した元のサマリファイルSFのハッシュ値Dとが同じである(D'=D)か否かを比較する機能を有する。
以上により、検証装置4としては、D1'=D1、及び、D'=Dが成り立てば、少なくとも、ハッシュ値D1’に係るエントリが正当であり時刻印を押された時点以降において変更されていないと判断できるため、ハッシュ値 D1’に係るエントリはの検出結果として「正当(OK)」を出力し、D'=Dが成り立たなければ、検出結果として「不当(NG)」を出力する。
続いて、主に図8及び図9を用いて、本実施形態の動作について説明する。尚、ここでは、図6に示すサマリファイルSF1を作成して、TSA(乙)に時刻認証要求する場合について説明する。
まず、利用者(甲)が、利用者端末1に証明対象のフォルダに係るエントリeF1のパス名epnを入力すると、エントリ指定手段10では、パス名epnに基づいて、フォルダ管理手段17からエントリeF1を読み出す。このエントリeF1は、図7に示すような木構造により構成されている。即ち、エントリeF1には、サブフォルダであるエントリes1とファイルであるエントリef2が含まれており、更に、エントリes1には、ファイルであるエントリef3が含まれている。このように、1つのエントリeF1に含まれるエントリes1とエントリef3の間に包含関係がある場合、そのエントリef3からエントリes1への有向枝があることにすれば、1つのエントリeF1に含まれるエントリes1とエントリef3の全体から木構造を構成することができる。
そして、サマリファイル作成手段11は、図8に示す手順で、サマリファイルSF1を作成する。
まず、図7に示す最上位階層であるエントリeF1に基づく要約ファイル表現SFR(eF1)を作成するため、要約ファイル表現作成手段11dによって、関数管理手段18からフォルダ用要約ファイル表現作成関数 FolderSfRepを読み出す(ステップS1)。
しかし、エントリeF1には、その下の階層として、サブフォルダに係るエントリes1とファイルに係るエントリef2が格納されているため、エントリes1に基づいた要約ファイル表現SFR(es1)と、エントリef2に基づいた要約ファイル表現SFR(ef2)を作成する必要がある。そのため、更に、要約ファイル表現作成手段11dによって、関数管理手段18からフォルダ用要約ファイル表現作成関数FolderSfRepを読み出すと共に、要約ファイル表現合成手段11eによって、関数管理手段18からファイル用要約ファイル表現作成関数FileSfRep読み出す(ステップS2)。
しかし、エントリes1には、その更に下の階層として、ファイルに係るエントリef3が格納されているため、エントリef3に基づいた構成要素SFR(ef3)を作成する必要がる。よって、更にまた、要約ファイル表現合成手段11eによって、関数管理手段19からファイル用要約ファイル表現作成関数FileSfRepを読み出す(ステップS3)。
次に、要約ファイル表現SFR(ef3)を作成するため、まず、ハッシュ値作成手段11aによって、関数管理手段18からハッシュ関数h1ef3を読み出して(ステップS4a)、エントリef3に適用することでハッシュ値h1ef3(ef3)を作成する(ステップS4b)。更に、要約ファイル表現合成手段11eによって、上記ハッシュ値h1 ef3 (ef3)を用いると共に、上記ステップS3で読み出したファイル用要約ファイル表現作成関数FileSfRepをエントリef3に適用して、要約ファイル表現SFR(ef3)を作成する(ステップS4c)。
これにより、図7に示すエントリes1に基づく要約ファイル表現SFR(es1)の構成要素が確定したため、次に、要約ファイル表現SFR(es1)を作成する。そのため、まず、ハッシュ値結合手段11bによりハッシュ値h1ef3(ef3)と付加情報α3との結合を行うと共に、統合ハッシュ値作成手段11cによって、関数管理手段18からハッシュ関数h2es1を読み出して(ステップS5a)、結合した結果 h1ef3(ef3)‖α3 に適用することでh2es1による es1 の統合ハッシュ値を作成する(ステップS5b)。更に、要約ファイル表現合成手段11eによって、上記h2es1による es1 の統合ハッシュ値を用いると共に、上記ステップS2で読み出したフォルダ用要約ファイル表現作成関数FolderSfRepをエントリes1に適用して、要約ファイル表現SFR(es1)を作成する(ステップS5c)。
また、図7に示すエントリeF1に基づく要約ファイル表現SFR(eF1)の構成要素を確定させるために、更に、要約ファイル表現SFR(ef1)を作成する。そのために、まず、ハッシュ値作成手段11dによって、関数管理手段18からハッシュ関数h1ef2を読み出して(ステップS6a)、エントリef2に適用することでハッシュ値h1 ef2 (ef2)を作成する(ステップS6b)。更に、要約ファイル表現合成手段11daによって、上記ハッシュ値
h1 ef2(ef2)を用いると共に、上記ステップS2で読み出したファイル用要約ファイル表現作成関数FileSfRepをエントリef2に適用して、要約ファイル表現SFR(ef2)を作成する(ステップS6c)。
これにより、図7に示すエントリeF1に基づく要約ファイル表現SFR(eF1)の構成要素が確定したため、ようやく要約ファイル表現SFR(eF1)を作成することができる。そこで、まず、ハッシュ値結合手段11bによりh2es1によるes1の統合ハッシュ値と付加情報α1との結合を行うと共に、更に続けて、ハッシュ値h1ef2(ef2)と付加情報α2との結合を行う。そして、統合ハッシュ値作成手段11cによって、関数管理手段18から統合用ハッシュ関数h2eF1を読み出して(ステップS7a)、上記のように結合した結果, 即ち、h2es1によるes1の統合ハッシュ値、α1, h1ef2(ef2), 及びα2の連接に適用することでh2eF1による eF1の統合ハッシュ値を作成する(ステップS7b)。更に、要約ファイル表現合成手段11eによって、上記h2eF1による eF1の統合ハッシュ値を用いると共に、上記ステップS1で読み出したフォルダ用要約ファイル表現作成関数FolderSfRepをエントリeF1に適用して、要約ファイル表現SFR(eF1)を作成する(ステップS7c)。
そして最後に、サマリファイル作成手段11によって、管理用等の附加要素を付加することで(ステップS8)、図7に示すようなサマリファイルSF1が完成することになる。
次に、サマリファイル記憶手段12によって、上記作成したサマリファイルSF1をファイル管理手段19に記憶して管理しておく。また、サマリファイルハッシュ値作成手段14によってハッシュ値Dを作成する。そして、送受信手段15によって、図9に示すように、TSA(乙)の時刻認証装置2へハッシュ値Dを送信することで、利用者(甲)がTSA(乙)に時刻認証要求を行う(ステップS11)。
次に、TSA(乙)の時刻認証装置2では、時刻取得手段22によって取得した時間tに基づいてデジタル署名作成手段23でデジタル署名 sig2を作成し、時刻認証手段24により、時刻認証証明書 TST2を作成する。そして、図9に示すように、TSA(乙)は、時刻認証装置2から利用者(甲)の利用者端末1へ時刻認証証明書 TST2を送信することで、時刻証明応答を行う。(ステップS12)。
次に、利用者(甲)が、フォルダに係るエントリeF1の時刻証明を係争相手(丙)に証明する必要が出てきた場合には、図9に示すように、利用者(甲)は、利用者端末1からインターネット5を介してTTP(丁)の検証装置4に、証明対象であるエントリe、このフォルダeに基づくサマリファイルSF、及び、時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))を送信することで、時刻証明検証要求を行う(ステップS13)。
次に、検証装置4では、送受信手段41により受信したエントリe、サマリファイルSF、及び、時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))を検証用管理手段48に記憶して管理し、この検証用管理手段48及び関数管理手段49と検証手段42との協働によって、時刻認証証明書 TST(sig(SK, TSTI(D, t)),TSTI(D, t))の正当性の検証を行う。そして、この検証結果は、図9に示すように、時刻証明検証応答として、送受信手段41により、インターネット5を介して利用者端末1や係争者端末3に送信される(ステップS14)。
以上説明したように本実施形態によれば、エントリeの名称や当該エントリeのハッシュ値のデータをXML等のように、木構造を所定の規則に従って曖昧さなく表現するような特定の記述言語(必要ならその規則に従って人間がこの木構造を理解することができるような記述言語)により表現することで複数の要約ファイル表現SFRを作成し、更に、これら複数の要約ファイル表現SFRから成る木構造を構成することで、最終的にサマリファイルSFを作成している。このため、サマリファイルSFをファイル管理手段19に記憶して管理しておけば、エントリeF1のうちの一部のエントリ(例えば、エントリef3)に変更が生じた場合でも、人間がサマリファイルSFの要約ファイル表現SFRを見て、又は、コンピュータによる自動解析により、変更された部分だけは無効で、それ以外の部分(例えば、エントリef2)は有効であると検証することができる。
また、要約ファイル表現作成手段11dによって、サマリファイルSFを、エントリeの名称と当該エントリeのハッシュ値 Dの対応付けをして表現しているため、ハッシュ値がどのエントリe(デジタルデータg)のものかを認識するために、1つ1つハッシュ値の再計算をしなければならないという手間を省略することができる。
〔第2の実施形態〕
以下、図10及び図11を参照して、本発明の第2の実施形態に係るバルク型時刻認証方法について説明する。尚、本実施形態では、サブフォルダのないフラットな木構造によって構成されたフォルダに係るエントリef2を証明対象にした場合について説明している。よって、利用者端末1の構成要素は、上記第1の実施形態の構成要素と同じであるため、その説明を省略する。
図10に示すサマリファイルSF2は、図11に示すような木構造の構成になっている。図11には、サブフォルダのないフラットな木構造によって構成されたエントリef2を示している。図11に示すように、エントリef2には、サブフォルダを含まずに、ファイルに係るエントリef11,ef12が格納されている。
また、サマリファイルSF2の構成は、図10に示すように、ユーザネーム<username>等の管理用等の附加要素と、エントリeF2に基づいた要約ファイル表現SFR(eF2)によって構成されている。この要約ファイル表現SFR(eF2)は、元のデータがフォルダであるため、図2に示す表現手法を採用し、HashRep(eF2)、エントリef11に基づいた要約ファイル表現SFR(ef11)、及び、エントリef12に基づいた要約ファイル表現SFR(ef12)によって構成されている。
更に、要約ファイル表現SFR(ef11)は、エントリef11がファイルであるため、図3に示す表現手法を採用し、HashRep(ef11)によって構成されている。同様に、要約ファイル表現SFR(ef12)は、エントリef12がファイルであるため、図3に示す表現手法を採用し、HashRep(ef12)によって構成されている。
以上説明したように本実施形態によれば、上記第1の実施形態と同様の効果を奏することができる。
〔第3の実施形態〕
以下、図12乃至図15を参照して、本発明の第3の実施形態に係るバルク型時刻認証方法について説明する。
図12は、LAN(Local Area Network)やインターネット等の通信ネットワークで接続された2つのパソコン(パーソナル・コンピュータ)P1,P2と、これらパソコンP1,P2にそれぞれ記憶されているエントリの一例を示した図である。パソコンP1にはフォルダAが記憶されており、その中にファイルa1, a2, a3, a4が格納されている。パソコンP2にはフォルダBが記憶されており、その中にファイルa5, b1, b2, b3, b4が格納されている。
図13は、図12に示すファイルのうち,a1, a2, a3, a4, a5, b1, b2, b4がエントリ指定手段により指定され,更に,a1, a2, a3, a4, a5を一つのグループとしてエントリαとし,b1, b2, b4を一つのグループとしてエントリβとしている.エントリb3は指定されなかったエントリである.エントリαとエントリβからなるグループを新たなグループとして,エントリγとしてグループ定義手段により定義した例である.エントリに対する識別子を表す関数をideとし,ハッシュ関数に対する識別子を表す関数をidhとする.エントリa1, a2, a3, a4, a5に対して適用するハッシュ関数をhaとし,b1, b2, b4に対して適用するハッシュ関数をhb,エントリα,β,γに対するハッシュ関数をhとする.エントリ及びハッシュ関数に対する識別子は,エントリに対するハッシュ値と連接可能なデジタルデータとする.デジタルデータを‖を挟んで並べた表現は,それらのデジタルデータを連接したデジタルデータを表すものとする.
この例に対して,要約ファイル表現の例を示す.この例では,エントリ毎の要約ファイル表現として,該エントリのハッシュ値,該ハッシュ値を作成するのに用いたハッシュ値作成手段の識別子,及び該エントリを特定する識別子の連接により得られたデジタルデータを用いる.このとき,エントリa1, a2, a3, a4, a5に対する要約ファイル表現は,それぞれ,
ha(a1)‖ide(a1)‖idh(ha),
ha(a2)‖ide(a2)‖idh(ha),
ha(a3)‖ide(a3)‖idh(ha),
ha(a4)‖ide(a4)‖idh(ha),
ha(a5)‖ide(a5)‖idh(ha)
となる.また,エントリb1, b2, b4に対する要約ファイル表現は,それぞれ,
hb(b1)‖ide(b1)‖idh(hb),
hb(b2)‖ide(b2)‖idh(hb),
hb(b4)‖ide(b4)‖idh(hb)
となる.エントリαとエントリβに対する要約ファイル表現は,それぞれ,
h(ha(a1)‖ide(a1) ‖idh(ha) ‖ha(a2) ‖ide(a2)‖idh(ha) ‖
ha(a3) ‖ide(a3)‖ idh(ha)‖ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )‖
ide(α)‖idh(h)‖
ha(a1)‖ide(a1)‖idh(ha)‖
ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖
ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha)

h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4) )‖
ide(β)‖idh(h)‖
hb(b1)‖ide(b1)‖idh(hb)‖
hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4)‖idh(hb)
になる.エントリγに対する要約ファイル表現は図14に示すようになる。
〔第4の実施形態〕
以下、本発明の第4の実施形態に係るバルク型時刻認証方法について説明する。尚、本実施形態は、上記第3の実施形態の変形例であるため、相違部分のみを説明する。
本実施形態では、第3の実施形態で作成されたエントリγに対する要約ファイル表現に所定の附加データを加えてサマリファイル SF3 が生成される。
サマリファイルSF3のハッシュ値を、SF3 をバイト列等のデジタルデータとして扱い、そのようなデジタル・データに対して適用するMD5 や SHA-1 等のハッシュ関数を適用した結果としてもよい。サマリファイル SF3 のハッシュ値をこのように決定した場合には、このサマリファイルのハッシュ値に対する時刻認証証明書 TST3 を用いて、時刻証明の対象となった1つのデジタル・データ、例えば a1 に対する時刻認証証明の検証をおこなうには、サマリファイル自体 SF3 を用いる必要がある。
別の方法として、SF3に含まれるエントリγの要約ファイル表現から、 エントリγのハッシュ値を表す部分
h(h(ha(a1)‖ide(a1)‖idh(ha)‖ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )‖
ide(α)‖idh(h)‖
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4) )‖
ide(β)‖idh(h) )
を抽出し、サマリファイルSF3のハッシュ値としてもよい。サマリファイル SF3 のハッシュ値をこのように決定した場合には、このサマリファイルのハッシュ値に対する時刻認証証明書 TST3 を用いて、時刻証明の対象となった1つのデジタル・データ、例えば a1 に対する時刻認証証明の検証は、a1の内容であるデジタル・データ、及びエントリ a1 に対する個別化サマリファイルを用いて以下のように実行することが出来る。ここで、エントリ a1 に対する個別化サマリファイルは、検証対象である a1 に係わるデータ
ha(a1)‖ide(a1)‖idh(ha)
と、検証対象である a1の兄弟の関係にあるエントリに係わるデータ
ha(ai)‖ide(ai)‖idh(ha) (i = 2, ..., 5)
と、親に当たるエントリαの識別子ide(α)とそのハッシュ関数の識別子 idh(h), 親の兄弟に当たるエントリβにかかわるデータ
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4))‖ide(β)‖idh(h))、
及び親の親に当たるエントリγのし識別子 ide(γ)とそのハッシュ関数の識別子 idh(h) からなる。親の兄弟βの子供にあたるエントリb1, b2, b4 に係わるデータは含まれないため、上記のサマリファイル SF3 に比べてデータ量が小さくなる。
一般に、時刻証明の対象となるファイルの総数がnのときのサマリファイルのデータ量は n に比例するが、その中の一つのエントリに対する個別化サマリファイルは, それら複数のエントリのグルーピングを適切に行うことにより、 logm(n) のオーダのデータ量とすることができる(ここで m はグルーピングにおける各グループの要素の数である)。従って、個別化サマリファイルを用いる検証法は、n が大きい場合に、サマリファイルを用いる検証法と比較して、検証に必要なデータの量を著しく小さくすることが出来るという利点を持つ。
a1 に対する個別化サマリファイルを用いて時刻認証証明の検証を行うため、まず、a1の内容であるデジタル・データに所定のハッシュ関数 ha を適用して、ハッシュ値 ha(a1)を計算し、この値がa1 に対する個別化サマリファイル の a1 に係わるデータに含まれるハッシュ値と一致するか否かを検証する。
上記の第1の検証が失敗したときは、a1 に対する時刻認証証明の検証は失敗する。
上記の第1の検証が成功したとき、個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段により個別化サマリファイルからサマリファイル SF3 のハッシュ値を以下のように計算する。
第1に、a1 に対する個別化サマリファイルからa1に係わるデータ
ha(a1)‖ide(a1)‖idh(ha)
を抽出する。
第2に、前記当該のエントリa1に係わるデータ
ha(a1)‖ide(a1)‖idh(ha)
と、時刻証明の対象なるエントリの階層構造において当該のエントリ a1 と兄弟の関係にある1個以上のエントリ a2, a3, a4, a5 に係わるデータ
ha(a2)‖ide(a2)‖idh(ha),
ha(a3)‖ide(a3)‖idh(ha),
ha(a4)‖ide(a4)‖idh(ha),
ha(a5)‖ide(a5)‖idh(ha)
を連接し、該エントリa1 の親に当たるエントリ αに対するエントリ用ハッシュ関数 h を適用し、該エントリa1 の親に当たるエントリ αのハッシュ値
h(ha(a1)‖ide(a1)‖idh(ha)‖
ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖
ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )
を計算する。
第3に、当該エントリa1 の親に当たるエントリ αの識別子 ide(α)、前記のαに対するハッシュ値、及びαに対するエントリ用ハッシュ関数 h の識別子 idh(h) を連接し、当該エントリa1 の親に当たるエントリ αに係わるデータ
h(ha(a1)‖ide(a1)‖idh(ha)‖
ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖
ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )‖
ide(α)‖idh(h)
を計算する。
第4に、上記の当該エントリa1 の親に当たるエントリα係わるデータと、その兄弟にあたる βに係わるデータ
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4))‖ide(β)‖idh(h) )
を連接して、その結果に最上位階層のエントリγに対するハッシュ関数 h を適用し、サマリファイル SF3 のハッシュ値を計算する。
上記は、階層構造が3段階の場合に、個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段がサマリファイルのハッシュを計算する手順を示しているが、階層構造が3段階より深くなる場合にも、ある時刻証明の対象となるエントリの個別化サマリファイルとして、以下の(1)及至(3) からなるデータを個別化サマリファイルとして用いることにより、個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段は当該のエントリを含むサマリファイルのハッシュ値を再計算することができる。
(1) 当該エントリの内容であるデジタル・データ。
(2) 当該エントリとその祖先に当たるエントリ(親、親の親、親の親の親等に当たるエントリ)に対する識別子とそのエントリに割り付けられたハッシュ関数の識別子。
(3) 当該のエントリあるいはその祖先にあたるエントリの兄弟の関係にあるエントリに係わるデータ。
〔その他〕
尚、上記実施形態1乃至4では、サマリファイル作成手段11において、フォルダ管理手段17で管理しておいた1個以上のデジタルデータgの全てを使用して、サマリファイルSFを作成しているが、これに限らず、1個以上のデジタルデータgの一部を使用してサマリファイルSFを作成してもよい。この場合、予め定められた指定方法により、サマリファイルSFに含めることを指定したエントリのみが時刻証明の対象となる。この指定方法としては、具体的なファイル名を指定する場合、ファイル名の拡張子を指定する場合、コンピュータとしての利用者端末1におけるファイルシステムが提供するエントリの属性(例えば、読み取り専用属性、隠しファイル属性、アーカイブ属性)の値により指定する場合がある。第3の実施形態は、時刻証明の対象となるエントリの指定する場合の一例である。
また、上記プログラム(p1),(p2),(p4),の各記録、インストール作業は、それぞれ利用者端末1,時刻認証装置2、検証装置4で読み取り可能な各プログラム(p1),(p2),(p4)が記録されているCD−ROM等の記録媒体を利用することによって行うことも可能である。
本発明の第1の実施形態に係るバルク型時刻認証方法における登場主体の関係、通信インフラストラクチャ(Infrastructure)、及び各装置の構成を示した図。 サマリファイルSFの一部を表現した図。 サマリファイルSFの一部を表現した図。 サマリファイルSFの一部を表現した図。 サマリファイルSFの一部を表現した図。 サマリファイルSF1全体を表現した図。 図6に示すサマリファイルSF1に係るエントリの木構造を示した図。 図6に示すサマリファイルSF1の作成行程を示したフロー図。 第1の実施形態におけるデータ通信処理を示したシーケンス図。 第2の実施形態におけるサマリファイルSF2全体を表現した図。 図10に示すサマリファイルSF2に係るエントリの木構造を示した図。 第3の実施形態を示し、LAN(Local Area Network)やインターネット等の通信ネットワークで接続された2つのパソコン(パーソナル・コンピュータ)P1,P2と、これらパソコンP1,P2にそれぞれ記憶されているエントリの一例を示した図である。 図12に示すエントリに基づいて、新たに作成されたサマリファイルの木構造を示した図。 エントリγに対する要約ファイル表現を示した図。 従来の時刻認証方法における登場主体の関係、及び、通信インフラストラクチャを示した図。 従来のバルク型時刻認証方法における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図。 従来のバルク型時刻認証方法におけるデータ通信処理を示したシーケンス図。
符号の説明
1 利用者端末
2 時刻認証装置
3 係争者端末
4 検証装置
5 インターネット
6 時刻インフラ
11 サマリファイル作成手段
11a ハッシュ値作成手段
11b ハッシュ値結合手段
11c 統合ハッシュ値作成手段
11d 要約ファイル表現作成手段
11e 要約ファイル表現合成手段
12 サマリファイル記憶手段
14 サマリファイルハッシュ値作成手段
15 送受信手段
17 フォルダ管理手段
18 関数管理手段
19 ファイル管理手段
21 送受信手段
22 時刻取得手段
23 デジタル署名作成手段
24 時刻認証手段
41 送受信手段
42 検証手段
42a 正当性検証手段
42b1 ハッシュ値再計算手段
42b2 ハッシュ値取得手段
42b3 ハッシュ値比較手段
42c1 サマリファイルハッシュ値再計算手段
42c2 サマリファイルハッシュ値取得手段
42c3 サマリファイルハッシュ値比較手段
48 検証用管理手段
49 関数管理手段
h1 ファイル用ハッシュ関数(エントリ用ハッシュ関数の一例)
h2 統合用ハッシュ関数(エントリ用ハッシュ関数の一例)
h3 サマリファイル用ハッシュ関数

Claims (13)

  1. 電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、当該1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うためのバルク型時刻認証要求用のプログラムであって、
    コンピュータが、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記サマリファイルを管理するファイル管理手段とを有した状態において、
    前記複数のエントリの各々に対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、
    前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、
    前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、
    前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルを、前記ファイル管理手段に記憶するサマリファイル記憶手段と、
    前記サマリファイル管理手段に記憶すべきサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、
    を前記コンピュータに機能させることにより、前記作成したサマリファイルのハッシュ値を時刻認証の証明対象として時刻証明機関への時刻認証要求を可能とするためのバルク型時刻認証要求用プログラム。
  2. 前記エントリが電子フォルダの場合において、
    前記ハッシュ値作成手段は、
    前記電子フォルダに階層的に格納されている電子ファイル又は電子サブフォルダに係るエントリに基づいた要約ファイル表現から導出され、少なくとも前記電子フォルダに格納されているファイルに係る※各エントリのハッシュ値を含むデジタルデータに対して前記エントリ用ハッシュ関数を適用することによって、前記電子フォルダに係るエントリのハッシュ値を作成することが可能であり、
    更に、前記電子フォルダに係るエントリのハッシュ値は、少なくとも前記電子フォルダに含まれる前記各エントリの識別子、当該エントリが電子ファイルである場合には当該電子ファイルの内容としてのデジタルデータに依存して決定されるものであることを特徴とする請求項1に記載のバルク型時刻認証要求用プログラム。
  3. 前記サマリファイルハッシュ値作成手段は、前記サマリファイルに含まれる1個以上の要約ファイル表現の構成要素のうちで少なくともハッシュ値の部分を含むようなデジタルデータに対して前記サマリファイル用ハッシュ関数を適用することにより、サマリファイルのハッシュ値を作成することを特徴とする請求項1に記載のバルク型時刻認証要求用プログラム。
  4. 請求項1乃至3に記載のバルク型時刻認証要求用プログラムであって、更に、
    サマリファイルに該エントリの要約ファイル表現を含めることにより前記時刻認証の証明対象となるエントリを指定するエントリ指定手段を有することを特徴とするバルク型時刻認証要求用プログラム。
  5. 請求項4に記載のバルク型時刻認証要求用プログラムであって、更に、
    指定されたエントリに対してグループ化し,各グループに識別子を定義し,それらのグループをエントリと見なすことによりグループ間の入れ子構造を定義するグループ定義手段を有することを特徴とするバルク型時刻認証要求用プログラム。
  6. 請求項1乃至5に記載のバルク型時刻認証要求用プログラムを記録した、コンピュータ読み取り可能なバルク型時刻認証要求用記録媒体。
  7. 電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置であって、
    前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、
    前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、
    前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、
    前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、
    前記検証用管理手段に管理しておいたサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得手段と、
    前記ハッシュ値再計算手段によって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得手段によって取得したハッシュ値とが同じであるか否かを比較するハッシュ値比較手段と、
    前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算手段と、
    前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、
    前記サマリファイルハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較手段と、
    を有することを特徴とする検証装置。
  8. 電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置であって、
    前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、
    前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、
    前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、
    前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、
    前記検証の対象となる各エントリについて、その識別子とハッシュ値に加えて、上記サマリファイルのハッシュ値を計算するのに必要なデータを当該のエントリに対する検証用補完データと定義し、さらに、当該のエントリの識別子、そのハッシュ値、そのハッシュ値を計算するためのハッシュ関数の識別子、及び当該のエントリに対する検証用補完データからなるデータを当該エントリの個別化サマリファイルと定義すると、検証の対象となる各エントリに対する個別化サマリファイルから上記サマリファイルのハッシュ値を計算する個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段と、
    前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、
    前記個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較手段と、
    を有することを特徴とする検証装置。
  9. 電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、
    前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、
    前記検証装置は、
    前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、
    前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、
    前記検証用管理手段に管理しておいたサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得ステップと、
    前記ハッシュ値再計算ステップによって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得ステップによって取得したハッシュ値とが同じであるか否かを比較するハッシュ値比較ステップと、
    前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算ステップと、
    前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、
    前記サマリファイルハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較ステップと、
    を実行することを特徴とする検証方法。
  10. 電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな1つのハッシュ値を作成し、利用者が前記1つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、
    前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、
    前記検証装置は、
    前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、
    前記検証の対象となる各エントリについて、その識別子とハッシュ値に加えて、上記サマリファイルのハッシュ値を計算するのに必要なデータを、当該のエントリに対する検証用補完データと定義し、さらに、当該のエントリの識別子、そのハッシュ値、そのハッシュ値を計算するためのハッシュ関数の識別子、及び当該のエントリに対する検証用補完データからなるデータを当該エントリの個別化サマリファイルと定義すると、検証の対象となる各エントリに対する個別化サマリファイルから上記サマリファイルのハッシュ値を計算する個別化サマリファイル利用型サマリファイル・ハッシュ値再計算ステップと、
    前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、
    前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、
    前記個別化サマリファイル利用型サマリファイル・ハッシュ値再計算ステップで再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較ステップと、
    を実行することを特徴とする検証方法。
  11. 請求項9に記載の検証装置に、上記各ステップを実行させることを特徴とした検証用プログラム。
  12. 請求項10に記載の検証装置に、上記各ステップを実行させることを特徴とした検証用プログラム。
  13. 請求項11及び請求項12のいずれか1項に記載のプログラムを記録したことを特徴とした、コンピュータ読み取り可能な検証用記録媒体。
JP2003321966A 2003-09-12 2003-09-12 バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体 Pending JP2005094146A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003321966A JP2005094146A (ja) 2003-09-12 2003-09-12 バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003321966A JP2005094146A (ja) 2003-09-12 2003-09-12 バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体

Publications (1)

Publication Number Publication Date
JP2005094146A true JP2005094146A (ja) 2005-04-07

Family

ID=34453484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003321966A Pending JP2005094146A (ja) 2003-09-12 2003-09-12 バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体

Country Status (1)

Country Link
JP (1) JP2005094146A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067094A (ja) * 2004-08-25 2006-03-09 Nippon Telegr & Teleph Corp <Ntt> バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体
JP2007148544A (ja) * 2005-11-24 2007-06-14 Murata Mach Ltd 文書管理装置
JP2007232754A (ja) * 2006-02-27 2007-09-13 Toshiba Corp ハッシュ値生成装置及びハッシュ値生成方法
JP2007243574A (ja) * 2006-03-08 2007-09-20 Konica Minolta Business Technologies Inc タイムスタンプ取得装置、タイムスタンプ取得方法及びタイムスタンプ取得プログラム
US7549061B2 (en) 2004-04-02 2009-06-16 Panasonic Corporation Unauthorized contents detection system
US8180054B2 (en) 2007-01-25 2012-05-15 Nec Corporation Authenticating system, authenticating method, and authenticating program

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7900062B2 (en) 2004-04-02 2011-03-01 Panasonic Corporation Unauthorized contents detection system
US9270470B2 (en) 2004-04-02 2016-02-23 Panasonic Intellectual Property Management Co., Ltd. Unauthorized contents detection system
US8972737B2 (en) 2004-04-02 2015-03-03 Panasonic Intellectual Property Management Co., Ltd. Unauthorized contents detection system
US8667291B2 (en) 2004-04-02 2014-03-04 Panasonic Corporation Unauthorized contents detection system
US7549061B2 (en) 2004-04-02 2009-06-16 Panasonic Corporation Unauthorized contents detection system
US7743261B2 (en) 2004-04-02 2010-06-22 Panasonic Corporation Unauthorized contents detection system
US8261084B2 (en) 2004-04-02 2012-09-04 Panasonic Corporation Unauthorized contents detection system
JP4512449B2 (ja) * 2004-08-25 2010-07-28 日本電信電話株式会社 バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体
JP2006067094A (ja) * 2004-08-25 2006-03-09 Nippon Telegr & Teleph Corp <Ntt> バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体
JP2007148544A (ja) * 2005-11-24 2007-06-14 Murata Mach Ltd 文書管理装置
JP2007232754A (ja) * 2006-02-27 2007-09-13 Toshiba Corp ハッシュ値生成装置及びハッシュ値生成方法
JP2007243574A (ja) * 2006-03-08 2007-09-20 Konica Minolta Business Technologies Inc タイムスタンプ取得装置、タイムスタンプ取得方法及びタイムスタンプ取得プログラム
US8180054B2 (en) 2007-01-25 2012-05-15 Nec Corporation Authenticating system, authenticating method, and authenticating program

Similar Documents

Publication Publication Date Title
JP6943356B2 (ja) Utxo基盤プロトコルを利用したブロックチェーン基盤の文書管理方法及びこれを利用した文書管理サーバ{method for managing document on basis of blockchain by using utxo−based protocol,and document management server using same}
JP4460251B2 (ja) 構造化文書署名装置、構造化文書適応化装置及び構造化文書検証装置。
US8621222B1 (en) Archiving electronic content having digital signatures
US7698557B2 (en) System and method for generating a digital certificate
JP3554765B2 (ja) ドキュメントをユニークに特定し認証する証明書を発行するデジタルドキュメント証明システム
US7900050B2 (en) Digital document management system, digital document management method, and digital document management program
JP5415795B2 (ja) 編集文書の保全性を検証する方法及び装置
TW202037115A (zh) 用於透過區塊鏈網路有效安全處理、存取及傳輸資料之系統與方法(一)
US8683605B1 (en) Long-term validation of a digital signature status indicator
US8707047B2 (en) Verifying signatures for multiple encodings
JP4093723B2 (ja) 構造を持った文書に対する電子署名方法及び装置
JP2005094146A (ja) バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体
JP4512449B2 (ja) バルク型時刻認証要求用プログラム、及びバルク型時刻認証要求用記録媒体、並びに、検証装置、検証方法、検証用プログラム、及び検証用記録媒体
JP2016170643A (ja) 情報管理方法及び装置
KR100642979B1 (ko) 서명속성을 이용한 전자서명 및 그 검증방법과 이를실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록매체
JP4663292B2 (ja) 電子文書保存管理システム、電子文書保存管理方法、および電子文書保存管理プログラム
JP2004320494A (ja) 電子署名付き文書検証装置、電子署名付き文書検証方法、電子署名付き文書検証プログラム及びプログラム記録媒体
JP2004171090A (ja) 付加情報付コンテンツ流通システム、付加情報付与ユーザ端末装置、流通管理サーバ装置、付加情報付コンテンツ流通方法、付加情報付コンテンツ流通プログラム、および該プログラムを記録した記録媒体
EP4142211A1 (en) Document integrity protection
JP2007304888A (ja) ファイル管理装置、ファイル管理方法、及びこれらを実現するプログラム
JP3920698B2 (ja) 公開鍵証明書情報検証方法および装置
JP5069759B2 (ja) 構造化文書適応化装置
WO2023280721A1 (en) Encoding of data in a hierarchical data structure using hash trees for integrity protection
TW201246889A (en) Electronic signature and signature verification method thereof
JP2004356842A (ja) 電子証明書作成方法、属性証明書作成方法及び電子証明書検証方法ならびにこれらの装置、プログラム、該プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080704

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081028