JP2004040344A - 原本保証方法および原本保証システム - Google Patents
原本保証方法および原本保証システム Download PDFInfo
- Publication number
- JP2004040344A JP2004040344A JP2002192870A JP2002192870A JP2004040344A JP 2004040344 A JP2004040344 A JP 2004040344A JP 2002192870 A JP2002192870 A JP 2002192870A JP 2002192870 A JP2002192870 A JP 2002192870A JP 2004040344 A JP2004040344 A JP 2004040344A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- chain
- server
- original
- chain signature
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
【課題】チェイン署名のログリストを利用して原本の正当性を保証する場合に、リスト公開の手間を低減できるようにする。
【解決手段】第1署名サーバ2は、保証対象の原本に対する第1チェイン署名を作成し、これを原本に対応付けて第1ログリストに追加すると共に、これを含む第1保管証を原本の送信元に送る。また、第1ログリスト中の任意の第1チェイン署名を第2署名サーバ3に送信して、第2保管証を受け取る。一方、第2署名サーバ3は、第1署名サーバ2より受け取った第1チェイン署名に対する第2チェイン署名を作成し、これを第1チェイン署名に対応付けて第2ログリストに追加すると共に、これを含む第2保管証を第1チェイン署名の送信元に送る。また、第2ログリスト中の任意の第2チェイン署名を公開サーバ4に送信する。
【選択図】図1
【解決手段】第1署名サーバ2は、保証対象の原本に対する第1チェイン署名を作成し、これを原本に対応付けて第1ログリストに追加すると共に、これを含む第1保管証を原本の送信元に送る。また、第1ログリスト中の任意の第1チェイン署名を第2署名サーバ3に送信して、第2保管証を受け取る。一方、第2署名サーバ3は、第1署名サーバ2より受け取った第1チェイン署名に対する第2チェイン署名を作成し、これを第1チェイン署名に対応付けて第2ログリストに追加すると共に、これを含む第2保管証を第1チェイン署名の送信元に送る。また、第2ログリスト中の任意の第2チェイン署名を公開サーバ4に送信する。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は、デジタル署名を利用して原本の正当性を保証する技術に関する。
【0002】
【従来の技術】
近年、電子商取引等の普及に伴い、デジタル署名の重要性が高まりつつある。ここで、デジタル署名の大まかな仕組みは以下の通りである。
【0003】
すなわち、署名者は、メッセージMのメッセージダイジェスト(例えばハッシュ値)に、自身の秘密鍵を作用させてデジタル署名Aを作成する。そして、メッセージMをデジタル署名Aと共に相手に送る。一方、検証者は、デジタル署名Aに署名者の公開鍵を作用させて得た結果と、メッセージMから得たメッセージダイジェストとを比較する。そして、両者が一致するか否かを調べることにより署名を検証する。両者が一致すれば、デジタル署名Aが、署名者によって作成されたメッセージMに対する署名であることが保証される。
【0004】
ところで、署名に使用する秘密鍵は、第三者に不正使用されることがないようにする必要がある。秘密鍵が不正入手される場合としては、管理不十分による漏洩の他に、公開鍵からの算出が考えられる。公開鍵からの算出は、現時点において計算量的に困難であっても、計算機能力の向上や算出アルゴリズムの改良などにより、将来可能となることも考えられる。そして、秘密鍵が不正入手されると、不正な第三者は、メッセージMを書き換えて、このメッセージMに対してデジタル署名Aを生成することが可能となる。この場合、上記の公開鍵を用いたデジタル署名Aの検証では、不正な第三者が、メッセージMを書き換えてデジタル署名を行なったことを検知できない。
【0005】
そこで、このような脅威への対策として、特開2001−331104号公報記載の技術が提案されている。該技術では、保証対象メッセージのハッシュ値および保証対象メッセージより1つ前に受け取ったメッセージに対するデジタル署名のハッシュ値に秘密鍵を作用させることで、保証対象メッセージのデジタル署名を作成する。以下、このようなデジタル署名をチェイン署名と呼ぶこととする。そして、このチェイン署名をログリストに追加する。また、ログリスト中の任意のチェイン署名を信頼できる機関により定期的に公開する。
【0006】
また、検証時には、検証対象のチェイン署名を、公開鍵を用いて検証し、当該検証対象のチェイン署名よりも後にログリストに登録されたチェイン署名であって信頼できる機関により公開されたチェイン署名までの各チェイン署名の前後のつながりを検証する。ここで、信頼できる機関により公開されたチェイン署名は、その公開内容と比較することで、容易に改竄を検知できる。そこで、前記検証対象のチェイン署名に対する公開鍵を用いた検証および前記各チェイン署名の前後のつながりの検証の成立と、公開されたチェイン署名が改竄されていないことの確認と、を行なうことで、検証対象のチェイン署名が改竄されていないことを確認できる。
【0007】
【発明が解決しようとする課題】
上述したように、特開2001−331104号公報記載の技術では、ログリスト中の任意のチェイン署名を信頼できる機関により定期的に公開する必要がある。そして、前記公報記載の技術が普及して、保証対象メッセージ数が膨大になると、チェイン署名の生成およびログリストの保管を行なうサーバを、複数用意して負荷分散することが考えられる。この場合、複数のサーバ各々が、信頼できる機関に公開すべきチェイン署名を送信すると、公開作業の手間がサーバの数に比例して増加する。例えば、10個のサーバが存在し、各サーバが毎週一回、新聞社等のサーバにログを送信して、チェイン署名の新聞への掲載を依頼するとする。この場合、毎週10個のチェイン署名を新聞に載せる作業が発生する。
【0008】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、前記公報記載のような、チェイン署名のログリストを利用して原本の正当性を保証する技術において、リスト公開の手間を低減できるようにすることにある。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明は、複数の第1署名サーバと、前記複数の第1署名サーバを配下とする第2署名サーバとを用いて、原本の正当性を保証している。
【0010】
すなわち、原本の正当性を保証するための署名生成に際して、複数の第1署名サーバ各々は、保証対象の原本に対する第1チェイン署名を作成し、この第1チェイン署名を前記原本あるいはそのメッセージダイジェストに対応付けて、自身が管理する第1ログリストに追加する。また、この第1チェイン署名を含む第1保管証を、保証対象の原本の送信元に送る。また、第1ログリスト中の任意の第1チェイン署名を第2署名サーバに送信し、第2署名サーバより第2保管証を受け取る。
【0011】
一方、第2署名サーバは、第1署名サーバより受け取った第1チェイン署名に対する第2チェイン署名を作成し、この第2チェイン署名を前記第1チェイン署名あるいはそのメッセージダイジェストに対応付けて、自身が管理する第2ログリストに追加する。また、この第2チェイン署名を含む第2保管証を、第1チェイン署名の送信元(第1署名サーバ)に送る。また、第2ログリスト中の任意の第2チェイン署名を外部サーバ(例えば、信頼できる機関が運営する公開サーバ)に送信すると共に、その送信ログを管理する。
【0012】
以上のように構成すれば、チェイン署名の生成およびログリストの保管を行なう第1署名サーバを複数設けて負荷分散できるように構成した場合でも、公開のために外部サーバへ送信する作業を行なうサーバは、第2署名サーバのみとなり、サーバ数の増加に伴うリスト公開の手間の増加を防止できる。
【0013】
なお、以上のような構成において、原本の正当性の検証は、次のようにして行なえばよい。
【0014】
すなわち、第1署名サーバは、保証対象の原本に対する第1保管証を受け取ると、この第1保管証に含まれている第1チェイン署名から、この第1チェイン署名より新しい第1チェイン署名であって第2署名サーバに送信した第1チェイン署名までの第1ログリストの部分を検証し、当該部分に改竄がないことを確認する。それから、第2署名サーバに送信した第1チェイン署名に対する第2保管証を、第2署名サーバに送信して、この第1チェイン署名に対する第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって外部サーバに送信した第2チェイン署名までの第2ログリストの部分を第2署名サーバから入手して、当該部分の検証を行ない、当該部分に改竄がないことを確認する。あるいは、前記第2ログリストの部分の検証を第2署名サーバに依頼する。
【0015】
一方、第2署名サーバは、第1署名サーバより第2保管証を受け取ると、この第2保管証に含まれている第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって外部サーバに送信した第2チェイン署名までの第2ログリストの部分を、前記第2保管証の送信元(第1署名サーバ)に送信する。あるいは、前記第2ログリストの部分を検証し、当該部分に改竄がないことを確認する。
【0016】
より具体的には、第1署名サーバおよび第2署名サーバは、原本の正当性を保証するための署名生成に際して、例えば以下の処理を行なう。
【0017】
(1)前記第1署名サーバは、保証対象の原本としてn(≧2)番目のデジタルデータを受け取ると、n番目のデジタルデータおよび第1ログリストに登録されているn−1番目の第1チェイン署名に対するデジタル署名を生成し、これにn−1番目の第1チェイン署名のメッセージダイジェストを含めたものをn番目の第1チェイン署名として、n番目のデジタルデータに対応付けて前記第1ログリストに追加する。また、このn番目の第1チェイン署名を含む第1保管証を、n番目のデジタルデータの送信元に送信する。さらに、前記第1ログリスト中のm(≧2)番目の第1チェイン署名を前記第2署名サーバに送信して、前記第2署名サーバよりm番目の第1チェイン署名に対する第2保管証を受け取り、これを保管する。
【0018】
(2)前記第2署名サーバは、前記第1署名サーバよりj(≧2)番目の第1チェイン署名を受け取ると、j番目の第1チェイン署名および第2ログリストに登録されているj−1番目の第2チェイン署名に対するデジタル署名を生成し、これにj−1番目の第2チェイン署名のメッセージダイジェストを含めたものをj番目の第2チェイン署名として、j番目の第1チェイン署名に対応付けて前記第2ログリストに追加する。また、このj番目の第2チェイン署名を含む第2保管証を、前記第1署名サーバに送信する。さらに、前記第2ログリスト中のk(≧2)番目の第2チェイン署名を外部サーバに送信する。
【0019】
また、より具体的には、原本の正当性の検証に際して、第1署名サーバおよび第2署名サーバは、例えば以下の処理を行なう。
【0020】
(3)前記第1署名サーバは、検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン署名を検証する処理(d−1番目の第1チェイン署名のメッセージダイジェストと、d番目の第1チェイン署名に含まれるd−1番目の第1チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。また、前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信することにより、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から前記第2署名サーバが前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各第2チェイン署名を含む、前記第2ログリストの一部を入手する。そして、e番目の第2チェイン署名からf番目の第2チェイン署名までの各々について、前記第2ログリストの一部に含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理(c−1番目の第2チェイン署名のメッセージダイジェストと、c番目の第2チェイン署名に含まれるc−1番目の第2チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。
【0021】
(4)前記第2署名サーバは、前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe番目の第2チェイン署名から前記外部サーバに送信したf番目の第2チェイン署名までの各第2チェイン署名を含む前記第2ログリストの一部を、前記第2ログリストから読み出して、前記第1署名サーバへ送信する。
【0022】
あるいは、
(3’)前記第1署名サーバは、検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名より1つ後のi+1番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン情報を検証する処理(d−1番目の第1チェイン署名のメッセージダイジェストと、d番目の第1チェイン署名に含まれるd−1番目の第1チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信する。
【0023】
(4’)前記第2署名サーバは、前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から、前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各々について、前記第2ログリストに含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理(c−1番目の第2チェイン署名のメッセージダイジェストと、c番目の第2チェイン署名に含まれるc−1番目の第2チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。
【0024】
【発明の実施の形態】
以下に、本発明の実施の形態について説明する。
【0025】
図1は、本発明の一実施形態が適用された原本保証システムの概略構成を示す図である。
【0026】
図1において、クライアント端末11〜1m(以下、単にクライアント端末1とする)は、デジタルデータ(電子文書データ、イメージデータやオーディオデータなどのマルチメディアデータ、および、有価証券と同じ価値を持つデータなどを含む)の原本保証を原本保証機関に依頼したりするのに使用する情報処理装置である。複数の第1署名サーバ21〜2n(以下、単に第1署名サーバ2とも呼ぶ)およびこれらの第1署名サーバ2を配下とする第2署名サーバ3は、原本保証機関の情報処理装置である。そして、公開サーバ4は、新聞社等の信頼できる機関の情報処理装置(例えばWebサーバ)であり、クライアント端末1を含むブラウザ端末が閲覧可能に情報を保持する。これらの装置1〜4は、LANやWANなどのネットワーク5を経由して、互いに接続されている。
【0027】
図2は、クライアント端末1の概略図である。
【0028】
図示するように、クライアント端末1は、ネットワーク5を介して、サーバ2〜4と通信を行なうためのネットワークIF部101と、ユーザより各種指示を受け付けたりユーザに結果を表示したりするユーザIF部102と、原本保証を依頼するもしくは依頼したデジタルデータや、このデジタルデータに対する第1保管証を記憶するための記憶部103と、依頼処理部104と、を有する。
【0029】
依頼処理部104は、ユーザIF部102を介してユーザより受け付けた各種指示に従い処理を行なう。
【0030】
例えば、依頼処理部104は、ユーザIF部102を介してユーザより受け付けた指示に従い、原本保証を要求するデジタルデータを、記憶部103から読み出して、いずれかの第1署名サーバ1に送り、第1保管証を受け取る。そして、この第1保管証および当該第1保管証の送信元第1署名サーバ1のアドレスを、原本保証を要求するデジタルデータに対応付けて、記憶部103に記憶する。
【0031】
また、例えば、依頼処理部104は、ユーザIF部102を介してユーザより受け付けた指示に従い、原本保証の確認を要求するデジタルデータに対応付けられている第1保管証および第1署名サーバ2のアドレスを、記憶部103から読み出して、この第1保管証を、このアドレスにより特定される第1署名サーバ2へ送る。そして、第1署名サーバ2より原本保証の確認結果を受け取り、これを表示装置などを用いてユーザに提示する。
【0032】
ここで、第1保管証とは、原本保証を要求するデジタルデータに対する第1チェイン署名を含む情報である。図3に、第1保管証のデータ構成例を示す。図示するように、第1保管証1031は、原本保証を要求するデジタルデータに対する第1チェイン署名1032と、この第1チェイン署名1032を特定するための第1署名ID1033と、原本保証の対象となるデジタルデータを特定するための文書ID1034と、を有する。また、第1チェイン署名は、原本保証を要求するデジタルデータとこの第1チェイン署名を作成する第1署名サーバ2にて1つ前に作成された第1チェイン署名とに対するデジタル署名を含んでいる。
【0033】
ここで、図22を用いて第1チェイン署名の生成方法について説明する。
【0034】
図において、S1xはx番目の第1チェイン署名を、Mxはx番目のデジタルデータを、H(x)は、データxのメッセージダイジェストを、そして、Sign(x)は、データxに自身の署名鍵(例えば秘密鍵)を作用させて生成したデジタル署名を示している。
【0035】
図示するように、n−1番目の第1チェイン署名S1n−1は、n−2番目の第1チェイン署名S1n−2のメッセージダイジェストH(S1n−2)と、n−1番目のデジタルデータMn−1のメッセージダイジェストH(Mn−1)と、H(S1n−2)およびH(Mn−1)を連結したものに対するデジタル署名Sign(H(S1n−2)||H(Mn−1))と、を含んで構成される。同様に、n番目の第1チェイン署名S1nは、n−1番目の第1チェイン署名S1n−1のメッセージダイジェストH(S1n−1)と、n番目のデジタルデータMnのメッセージダイジェストH(Mn)と、H(S1n−1)およびH(Mn)を連結したものに対するデジタル署名Sign(H(S1n−1)||H(Mn))と、を含んで構成される。このように、第1チェイン署名は、1つ前に生成された第1チェイン署名とつながりができるように生成される。
【0036】
図4は、第1署名サーバ2の概略図である。
【0037】
図示するように、第1署名サーバ2は、ネットワーク5を介して、クライアント端末1やサーバ3、4と通信を行なうためのネットワークIF部201と、署名生成部202と、署名検証部203と、記憶部204と、を有する。
【0038】
署名生成部202は、ネットワークIF部201を介して、クライアント端末1から原本保証を要求するデジタルデータを受け取ると、これをこの第1署名サーバ2が受け取ったn(≧2)番目の原本保証を要求するデジタルデータMnとした場合に、このデジタルデータMnのメッセージダイジェスト(例えばハッシュ値)H(Mn)を生成する。記憶部204に記憶されている第1ログリストに登録されているn−1番目の第1チェイン署名S1n−1からメッセージダイジェストH(S1n−1)を生成する。H(S1n−1)およびH(Mn)を連結することによりH(S1n−1)||H(Mn)を生成し、自身の署名鍵(例えば秘密鍵)を作用させてデジタル署名Sign(H(S1n−1)||H(Mn))を生成する。そして、H(S1n−1)、H(Mn)およびSign(H(S1n−1)||H(Mn))を連結したものを、n番目の第1チェイン署名S1n=H(S1n−1)||H(Mn)||Sign(H(S1n−1)||H(Mn))として、第1ログリストに登録する。
【0039】
また、このn番目の第1チェイン署名およびその第1署名IDと、n番目のデジタルデータの文書IDとを含む第1保管証を作成し、これをネットワークIF部201を介してn番目の原本保証の要求元のクライアント端末1に送る。
【0040】
ここで、第1チェイン署名の生成には、linking Protocolに基づくタイムスタンプ方式、例えばヒステリシス署名方式を用いる。linking Protocolとは、一つ前に生成したデジタル署名An−1の生成に関わるデータと時刻データとメッセージとに対して自身の秘密鍵を作用させることで、デジタル署名Anを生成するものである。linking Protocolは、「Bruce Schneier, ”Applied Cryptography Second Edition”, John Wiley & Sons, Inc. 1996」や、「International Application Number PCT/US91/05386」に開示されている。また、ヒステリシス署名方式は、「松本勉 他 暗号ブレイク対応電子署名アリバイ実現機構(その1)−コンセプトと概要− 第8回CSEC研究発表会」や、「洲崎、宮崎、宝木、松本 “暗号ブレイク対応電子署名アリバイ実現機構(その2)−詳細方式− 情報処理学会コンピュータセキュリティ研究会 第8回研究発表会 2000年3月」に詳しい。
【0041】
また、署名生成部202は、所定のイベントが発生すると、第1ログリスト中のm(≧2)番目の第1チェイン署名を含む署名保証要求を作成し、第2署名サーバ3に送信して、第2署名サーバ3より第2保管証を受け取る。そして、この第2保管証を、署名保証要求に含めた第1チェイン署名に対応付けて、記憶部204に記憶する。例えば、定期的あるいは第1チェイン署名を所定数生成する毎に、第1ログリストに登録されている最新の第1チェイン署名を含む署名保証要求を第2署名サーバ3に送信して、第2署名サーバ3よりこの第1チェイン署名に対する第2保管証を受け取り、これを署名保証要求に含めた第1チェイン署名に対応付けて、記憶部204に記憶する。
【0042】
ここで、第2保管証とは、署名保証要求に含まれる第1チェイン署名に対する第2チェイン署名を含む情報である。図5に、第2保管証のデータ構成例を示す。図示するように、第2保管証2051は、保証を要求する第1チェイン署名に対する第2チェイン署名2052と、この第2チェイン署名2052を特定するための第2署名ID2053と、保証の対象となる第1チェイン署名を特定するための第1署名ID2054とを有する。また、第2チェイン署名は、保証を要求する第1チェイン署名とこの第2チェイン署名を作成する第2署名サーバ3にて1つ前に作成された第2チェイン署名とに対するデジタル署名を含んでいる。
【0043】
署名検証部203は、ネットワークIF部201を介して、クライアント端末2から第1保管証を伴う原本保証の確認を受け取ると、この第1保管証に含まれているh(≧1)番目の第1チェイン署名から、この第1チェイン署名より新しい第1チェイン署名であって、第2署名サーバ3に送信したi(>h)番目の第1チェイン署名までの第1ログリストの部分(以下、当該部分を第1チェインと呼ぶ)を検証し、当該第1チェインに改竄がないことを検証する。
【0044】
また、署名検証部203は、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証を伴う第2チェイン要求を、第2署名サーバ3に送する。そして、第2署名サーバ3より、この第2保管証に含まれているe(≧1)番目の第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって、公開サーバ4で公開されたf(>e)番目の第2チェイン署名までの第2ログリストの部分(以下、当該部分を第2チェインと呼ぶ)を入手し、当該第2チェインを検証して改竄がないことを検証する。そして、第1および第2チェインの検証結果に従い、原本保証の検証結果を、ネットワークIF部201を介してクライアント端末2に送信する。なお、第2ログリストについては後述する。
【0045】
記憶部204には、署名生成部202および署名検証部203での各種処理にに必要な情報が記憶される。図6に、記憶部204の登録内容例を示す。図示するように、記憶部204には、原本保証するデジタルデータを保管する文書保管部2041と、第1署名サーバ2の署名鍵と検証鍵(例えば秘密鍵と公開鍵)を保管する第1署名サーバ用署名・検証鍵保管部2042と、第2署名サーバ3の検証鍵(例えば公開鍵)を保管する第2署名サーバ用検証鍵保管部2043と、第1ログリストを保管する第1ログリスト保管部2044と、第2署名サーバ3より受け取った第2保管証を保管する保管証保管部2045と、を有する。
【0046】
図7に、第1ログリスト保管部2044の登録内容例を示す。図示するように、第1チェイン署名の生成順番を特定するための第1署名ID(例えばシリアル番号)を登録するためのフィールド20441と、フィールド20441に登録されている第1署名IDを持つ第1チェイン署名を登録するためのフィールド20442と、フィールド20442に登録されている第1チェイン署名の署名対象であるデジタルデータを特定するための文書IDを登録するためのフィールド20443と、フィールド20442に登録されている第1チェイン署名を第2署名サーバ3に送信したか否かを示す送信フラグを登録するためのフィールド20444とを備えて、1つのレコード20445が構成されている。
【0047】
図8は、第2署名サーバ3の概略図である。
【0048】
図示するように、第2署名サーバ3は、ネットワーク5を介して、クライアント端末1やサーバ2、4と通信を行なうためのネットワークIF部301と、署名生成部302と、署名検証部303と、記憶部304と、を有する。
【0049】
ここで、図23を用いて第2チェイン署名の生成方法について説明する。
【0050】
図において、S2xはx番目の第2チェイン署名を、Nxはx番目に受け取った第1チェイン署名を、H(x)は、データxのメッセージダイジェストを、そして、Sign(x)は、データxに自身の署名鍵(例えば秘密鍵)を作用させて生成したデジタル署名を示している。
【0051】
図示するように、j−1番目の第2チェイン署名S2j−1は、j−2番目の第2チェイン署名S2j−2のメッセージダイジェストH(S2j−2)と、j−1番目に受け取った第1チェイン署名Nj−1のメッセージダイジェストH(Nj−1)と、H(S2j−2)およびH(Nj−1)を連結したものに対するデジタル署名Sign(H(S2j−2)||H(Nj−1))と、を含んで構成される。同様に、j番目の第2チェイン署名S2jは、j−1番目の第2チェイン署名S2j−1のメッセージダイジェストH(S2j−1)と、j番目に受け取った第1チェイン署名NjのメッセージダイジェストH(Nj)と、H(S2j−1)およびH(Nj)を連結したものに対するデジタル署名Sign(H(S2j−1)||H(Nj))と、を含んで構成される。このように、第2チェイン署名は、1つ前に生成された第2チェイン署名とつながりができるように生成される。
【0052】
署名生成部302は、ネットワークIF部301を介して、第1署名サーバ2から保証を要求する第1チェイン署名を受け取ると、これをこの第2署名サーバ3が受け取ったj(≧1)番目の保証を要求する第1チェイン署名Njとした場合に、この第1チェイン署名Njのメッセージダイジェスト(例えばハッシュ値)H(Nj)を生成する。記憶部304に記憶されている第2ログリストに登録されているj−1番目の第2チェイン署名S2j−1からメッセージダイジェストH(S2j−1)を生成する。H(S2j−1)およびH(Nj)を連結することによりH(S2j−1)||H(Nj)を生成し、自身の署名鍵(例えば秘密鍵)を作用させてデジタル署名Sign(H(S2j−1)||H(Nj))を生成する。そして、H(S2j−1)、H(Nj)およびSign(H(S2j−1)||H(Nj))を連結したものを、j番目の第2チェイン署名S2j=H(S2j−1)||H(Nj)||Sign(H(S2j−1)||H(Nj))として、第2ログリストに登録する。
【0053】
また、このj番目の第2チェイン署名およびその第2署名IDと、j番目の第1チェイン署名の第1署名IDとを含む第2保管証を作成し、これをネットワークIF部301を介してj番目の保証の要求元の第1署名サーバ2に送る。
【0054】
ここで、第2チェイン署名の生成には、第1チェイン署名の生成の場合と同様に、linking Protocolに基づくタイムスタンプ方式、例えばヒステリシス署名方式を用いる。
【0055】
また、署名生成部302は、所定のイベントが発生すると、第2ログリスト中のk(≧2)番目の第2チェイン署名を、公開サーバ4に送信して、この第2チェイン署名の公開を要求する。例えば定期的あるいは第2チェイン署名を所定数生成する毎に、第2ログリストに登録されている最新の第2チェイン署名を含む公開要求を公開サーバ4に送信する。
【0056】
署名検証部303は、ネットワークIF部301を介して、第1署名サーバ3から第2保管証を伴う署名保証の確認を受け取ると、この第2保管証に含まれているe(≧1)番目の第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって公開サーバ4で公開されたf(>e)番目の第2チェイン署名までの第2ログリストの部分である第2チェインを、記憶部304に記憶されている第2ログリストから読み出す。そして、読み出した第2チェインを、署名保証の確認を送信した第1署名サーバ3に送信する。
【0057】
記憶部304には、署名生成部302および署名検証部303での各種処理にに必要な情報が記憶される。図9に、記憶部304の登録内容例を示す。図示するように、記憶部304には、第2署名サーバ2の署名鍵(例えば秘密鍵)を保管する第2署名サーバ用署名鍵保管部3042と、第2ログリストを保管する第2ログリスト保管部3043と、公開サーバ4への第2チェイン署名の送信ログを保管する送信ログ保管部3044と、を有する。
【0058】
図10に、第2ログリスト保管部3043の登録内容例を示す。図示するように、第2チェイン署名の生成順番を特定するための第2署名ID(例えばシリアル番号)を登録するためのフィールド30431と、フィールド30431に登録されている第2署名IDを持つ第2チェイン署名を登録するためのフィールド30432と、フィールド30432に登録されている第2チェイン署名の署名対象である第1チェイン署名を特定するための第1署名IDを登録するためのフィールド30433と、フィールド30432に登録されている第2チェイン署名を公開サーバ4に送信したか否かを示す送信フラグを登録するためのフィールド30434とを備えて、1つのレコード30435が構成されている。
【0059】
図11は、公開サーバ4の概略図である。
【0060】
図示するように、公開サーバ4は、ネットワーク5を介して、クライアント端末1およびサーバ2、3と通信を行なうためのネットワークIF部401と、公開対象の情報を記憶するための記憶部402と、情報管理部403とを有する。
【0061】
情報管理部403は、ネットワークIF部401を介して、第2署名サーバ3より送られてきた第2チェイン署名および第2署名IDを、記憶部402に記憶する。また、ネットワークIF部401を介して、アクセスしてきたブラウザ端末(クライアント端末1を含む)に対して、記憶部402に記憶されている情報を送信する。これにより、ブラウザ端末に、記憶部402に記憶されている情報の閲覧を許可する。ここで、記憶部402に記憶されている情報は、定期的に、追加記録分を、新聞などの媒体に掲載するようにしてもよい。
【0062】
上記構成の各装置1〜4は、CPUと、メモリと、HDD等の外部記憶装置と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体から情報を読み取る読取装置と、キーボードやマウスなどの入力装置と、ディスプレイなどの出力装置と、ネットワークを介して相手装置と通信を行なうための通信装置とを備えた一般的なコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより実現することができる。この所定のプログラムは、読取装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、外部記憶装置にダウンロードされ、それから、メモリ上にロードされてCPUにより実行されるようにしてもよい。また、読取装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、メモリ上に直接ロードされ、CPUにより実行されるようにしてもよい。この場合、記憶部103、204、304、402には、外部記憶装置やメモリが用いられる。
【0063】
次に、上記構成の原本保証システムの動作について説明する。
【0064】
先ず、原本を保証するための処理(原本保証処理)について説明する。
【0065】
図12は、原本保証処理におけるクライアント端末1の動作を説明するためのフロー図である。
【0066】
依頼処理部104は、ユーザIF部102を介してユーザより、原本保証を要求するデジタルデータの指定と、原本保証の要求先となる第1署名サーバ2のアドレスの指定と、を伴う原本保証の要求を依頼されると(S1201)、記憶部103から、指定されたデジタルデータを読み出す。そして、このデジタルデータを含む原本保証の要求依頼を作成し、これをネットワークIF部101を介して、指定されたアドレスを持つ第1署名サーバ2へ送信する(S1202)。
【0067】
次に、依頼処理部104は、ネットワークIF部101を介して、原本保証の要求依頼の送信先の第1署名サーバ2から、第1保管証が送られてくるのを待ち(S1203)、この第1保管証を、この第1署名サーバ2のアドレスおよびデジタルデータに対応付けて、記憶部103に記憶する(S1204)。
【0068】
図13は、原本保証処理における第1署名サーバ2の動作を説明するためのフロー図である。
【0069】
署名生成部202は、ネットワークIF部201を介してクライアント端末1より原本保証の要求依頼を受け取ると(S1301)、この要求依頼に含まれているデジタルデータに文書IDを付与し、この文書IDをデジタルデータに対応付けて、文書保管部2041に登録する(S1302)。
【0070】
次に、署名生成部202は、第1ログリスト保管部2044に登録されている最新(n−1番目)の第1チェイン署名のメッセージダイジェストと、原本保証の要求依頼に含まれているデジタルデータのメッセージダイジェストとを連結させたものに対して、第1署名サーバ用署名・検証鍵保管部2042に登録されている署名鍵を作用させて、デジタル署名を生成する。そして、これに、前記n−1番目の第1チェイン署名のメッセージダイジェストおよび前記要求依頼に含まれているデジタルデータのメッセージダイジェストを連結したものを、n番目の第1チェイン署名とすると共に、この第1チェイン署名の第1署名IDを生成する(S1303)。そして、第1ログリスト保管部2044に、新たなレコード20445を追加し、そのレコード20445のフィールド20441にn番目の第1チェイン署名に対する第1署名IDを、フィールド20442にn番目の第1チェイン署名を、そして、フィールド20443に署名対象のデジタルデータの文書IDを登録する。なお、この時点では、フィールド20444に、第2署名サーバ3への送信を行なっていないことを示すフラグを登録する(S1304)。また、署名生成部202は、生成した第1チェイン署名、第1署名IDおよび文書IDを含む第1保管証を作成し、これをネットワークIF部201を介して原本保証の要求依頼の送信元であるクライアント端末1に送信する(S1305)。
【0071】
次に、署名生成部202は、生成した第1チェイン署名を、第2署名サーバ3に送信すべきか否かを判断する(S1306)。例えば、第1チェイン署名の生成回数をカウントするカウンタを設け、このカウンタのカウント値が所定値に達したならば、第2署名サーバ3に送信すべきと判断し、カウンタのカウント値をリセットする。
【0072】
さて、署名生成部202は、S1306において、生成した第1チェイン署名を、第2署名サーバ3に送信すべきと判断したならば、この第1チェイン署名および第1署名IDを含む署名保証要求を作成する。そして、これをネットワークIF部201を介して第2署名サーバ3に送信すると共に、第1ログリスト保管部2044の、S1304にて追加したレコード20445のフィールド20444の登録内容を、第2署名サーバ3への送信を行なったことを示すフラグに変更する(S1307)。それから、ネットワークIF部201を介して、第2署名サーバ3から第2保管証が送られてくるのを待ち(S1308)、この第2保管証を、この第1チェイン署名に対応付けて保管証保管部2045に記憶する(S1309)。それから、このフローを終了する。一方、S1306において、生成した第1チェイン署名を、第2署名サーバ3に送信すべきでないと判断したならば、直ちにこのフローを終了する。
【0073】
図14は、原本保証処理における第2署名サーバ3の動作を説明するためのフロー図である。
【0074】
署名生成部302は、ネットワークIF部201を介して第1署名サーバ2より署名保証の要求依頼を受け取ると(S1401)、第2ログリスト保管部3043に登録されている最新(j−1番目)の第2チェイン署名のメッセージダイジェストと、署名保証の要求依頼に含まれている第1チェイン署名のメッセージダイジェストとを連結させたものに対して、第2署名サーバ用署名鍵保管部3042に登録されている署名鍵を作用させて、デジタル署名を生成する。そして、これに、前記j−1番目の第2チェイン署名のメッセージダイジェストおよび前記要求依頼に含まれている第1チェイン署名のメッセージダイジェストを連結したものを、j番目の第2チェイン署名とすると共に、この第2チェイン署名の第2署名IDを生成する(S1403)。そして、第2ログリスト保管部3043に、新たなレコード30435を追加し、そのレコード30435のフィールド30431にj番目の第2チェイン署名に対する第2署名IDを、フィールド30432にj番目の第2チェイン署名を、そして、フィールド30433に署名対象の第1チェイン署名の第1署名IDを登録する。なお、この時点では、フィールド30434に、公開サーバ4への送信を行なっていないことを示すフラグを登録する(S1404)。また、署名生成部302は、生成した第2チェイン署名、第2署名IDおよび第1署名IDを含む第2保管証を作成し、これをネットワークIF部201を介して署名保証の要求依頼の送信元である第1署名サーバ2に送信する(S1405)。
【0075】
次に、署名生成部302は、生成した第2チェイン署名を、公開サーバ4に送信すべきか否かを判断する(S1406)。例えば、第2チェイン署名の生成回数をカウントするカウンタを設け、このカウンタのカウント値が所定値に達したならば、公開サーバ4に送信すべきと判断し、カウンタのカウント値をリセットする。
【0076】
さて、署名生成部302は、S1406において、生成した第2チェイン署名を、公開サーバ4に送信すべきと判断したならば、この第2チェイン署名を含む公開要求を作成する。そして、これをネットワークIF部301を介して公開サーバ4に送信すると共に、第2ログリスト保管部3043の、S1404にて追加したレコード30435のフィールド30434の登録内容を、公開サーバ4への送信を行なったことを示すフラグに変更する。また、送信ログ(送信した第2チェイン署名の第2署名ID、送信日時、送信した公開サーバ4のアドレス等)を送信ログ保管部3044に登録する(S1407)。それから、このフローを終了する。一方、S1406において、生成した第2チェイン署名を、公開4に送信すべきでないと判断したならば、直ちにこのフローを終了する。
【0077】
ここで、原本保証処理を改めて説明する。
【0078】
図15は、原本保証処理の流れを説明するための図である。
【0079】
図示するように、原本保証を要求するデジタルデータがクライアント端末1から第1署名サーバ2に送られ、第1署名サーバ2にて第1チェイン署名が生成される(ST151)。そして、この第1チェイン署名を含む第1保管証がクラインアント端末1に返される(ST152)。また、この第1チェイン署名が第1ログリストに追加される(ST153)。
【0080】
また、署名保証を要求する第1チェイン署名が第1署名サーバ2から第2署名サーバ3に送られ、第2署名サーバ3にて第2チェイン署名が生成される(ST154)。そして、この第2チェイン署名を含む第2保管証が第1署名サーバ2に返される(ST155)。また、この第2チェイン署名が第2ログリストに追加される(ST156)。さらに、第2ログリスト中の第2チェイン署名が、第2署名サーバ3から公開サーバ4に送られ、そこで公開される。
【0081】
次に、原本保証を確認するための処理(原本確認処理)について説明する。
【0082】
図16は、原本確認処理におけるクライアント端末1の動作を説明するためのフロー図である。
【0083】
ここで、あるデジタルデータの原本保証の確認を要求するクライアント端末1が、当該デジタルデータの原本保証を要求したクライアント端末1である必要はない。例えば、ある売買契約を行うために契約書を作成したとする。あるクライアント端末1が第1署名サーバ2に、契約書に対する原本保証の確認を要求し、第1保管書を受け取った後、このクライアント端末1のユーザAが、契約相手のユーザBに契約書と保管証20を送る。そして、ユーザBは、契約書が改竄されていないことを証明するために、自身のクライアント端末1を用いて第1署名サーバに契約書の原本保証の確認検証を依頼する。このような場合、原本保証の確認を要求するクライアント端末1と、原本保証を要求するクライアント端末1とが一致しないことがある。
【0084】
さて、依頼処理部104は、ユーザIF部102を介してユーザより、原本保証の確認を要求するデジタルデータの指定を伴う原本保証の確認要求を依頼されると(S1601)、記憶部103から、指定されたデジタルデータとこれに対応付けられている第1保管証を読み出す。そして、ネットワークIF部101を介して、このデジタルデータと第1保管証を、これを作成した第1署名サーバ2(この第1保管証に対応付けられているアドレスにより特定される第1署名サーバ2)へ送信する(S1602)。
【0085】
次に、依頼処理部104は、ネットワークIF部101を介して、原本保証の確認要求の送信先の第1署名サーバ2から、確認結果(改竄の有無)が送られてくるのを待ち(S1603)、この確認結果を、ユーザIF部102を介してユーザに提示する(S1604)。
【0086】
図17は、原本確認処理における第1署名サーバ2の動作を説明するためのフロー図である。
【0087】
署名検証部203は、ネットワークIF部201を介してクライアント端末1より原本保証の確認要求を第1保管証およびデジタルデータと共に受け取ると(S1701)、このデジタルデータおよび第1保管証に含まれている第1チェイン署名の検証を行なう(S1702)。
【0088】
具体的には、第1保管証に含まれている第1チェイン署名がh(≧1)番目の第1チェイン署名であるとした場合、このh番目の第1チェイン署名に含まれているデジタル署名に、第1署名サーバ用署名・検証鍵保管部2042に登録されている検証鍵を作用させる。そして、その結果からh−1番目の第1チェイン署名のメッセージダイジェストを除いた部分(つまりデジタルデータのメッセージダイジェスト)と、第1保管証と共にクライアント端末1から受け取ったデジタルデータのメッセージダイジェストとを比較する。
【0089】
そして、両者が一致する場合は、送られてきたデジタルデータと第1保管証に含まれている第1チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。
【0090】
さらに、検証成立と判断した場合は、第1保管証に含まれている第1チェイン署名を、第1保管証に含まれている第1署名IDに対応付けられて第1ログリスト保管部2044に登録されている第1チェイン署名と比較してもよい。そして、両者が一致する場合は第1保管証に含まれている第1チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。
【0091】
さて、署名検証部203は、第1チェイン署名の検証が不成立の場合(S1703)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0092】
一方、署名検証部203は、第1チェイン署名の検証成立の場合(S1703)、第1保管証に含まれている第1チェイン署名がh(≧1)番目の第1チェイン署名であるとした場合に、このh番目の第1チェイン署名から、この第1チェイン署名より新しい第1チェイン署名であって、第2署名サーバ3に送信したi(>h)番目の第1チェイン署名までのレコード20445群である第1チェインを、第1ログリスト保管部2044から読み出す(S1704)。
【0093】
そして、署名検証部203は、第1チェインのうち、h番目の第1チェイン署名からi番目の第1チェイン署名までの各第1チェイン署名の検証を行なうことで、この第1チェインの検証を行なう(S1705)。
【0094】
ここで、h番目の第1チェイン署名からi番目の第1チェイン署名までの各第1チェイン署名の検証は、具体的には次のように行なう。すなわち、検証対象の第1チェイン署名をd(h<d≦i)番目の第1チェイン署名とした場合、d−1番目の第1チェイン署名のメッセージダイジェストと、d番目の第1チェイン署名に含まれるd−1番目の第1チェイン署名のメッセージダイジェスト部分とを比較する。そして、両者が一致する場合は、d番目の第1チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。この処理を、h番目の第1チェイン署名からi番目の第1チェイン署名までの各第1チェイン署名について順番に行ない、全ての第1チェイン署名について検証成立した場合に、第1チェインの検証成立と判断する。
【0095】
さて、署名検証部203は、第1チェインの検証が不成立の場合(S1706)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0096】
一方、署名検証部203は、第1チェインの検証成立の場合(S1706)、第1保管証に含まれている第1チェイン署名より新しい第1チェイン署名であって、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証を、保管証保管部2045より読み出す。そして、この第2保管証を伴う第2チェイン要求を、ネットワークIF部201を介して、第2署名サーバ3に送信し(S1707)、第2署名サーバ3から第2チェインが送られてくるのを待つ(S1708)。
【0097】
次に、署名検証部203は、第2署名サーバ3へ第2チェイン要求と共に送信した第2保管証に含まれている第2チェイン署名の検証を行なう(S1709)。具体的には、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証に含まれている第2チェイン署名がe(≧1)番目の第2チェイン署名であるとした場合、このe番目の第2チェイン署名に含まれているデジタル署名に、第2署名サーバ用検証鍵保管部2043に登録されている検証鍵を作用させる。そして、その結果からe−1番目の第2チェイン署名のメッセージダイジェストを除いた部分(つまり第1チェイン署名のメッセージダイジェスト)と、このi番目の第1チェイン署名のメッセージダイジェストとを比較する。
【0098】
そして、両者が一致する場合は、第2保管証に含まれている第2チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。
【0099】
さらに、検証成立と判断した場合は、第2保管証に含まれている第2チェイン署名と、入手した第2チェインに含まれている、第2保管証に含まれている第2署名IDを持つ第2チェイン署名とを比較する。そして、両者が一致する場合は検証成立と判断し、不一致の場合は検証不成立と判断する。
【0100】
さて、署名検証部203は、第2保管証に含まれている第2チェイン署名の検証が不成立の場合(S1710)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0101】
一方、署名検証部203は、第2チェイン署名の検証成立の場合(S1710)、入手した第2チェインのうち、e番目の第2チェイン署名からf番目の第2チェイン署名(公開サーバ4に送信された第2チェイン署名)までの各第2チェイン署名の検証を行なって、この第2チェインの検証を行なう(S1711)。
【0102】
ここで、e番目の第2チェイン署名からf番目の第2チェイン署名までの各第2チェイン署名の検証は、具体的には次のように行なう。すなわち、検証対象の第2チェイン署名をc(e<c≦f)番目の第2チェイン署名とした場合、c−1番目の第2チェイン署名のメッセージダイジェストと、c番目の第2チェイン署名に含まれているc−1番目の第2チェイン署名のメッセージダイジェスト部分とを比較する。そして、両者が一致する場合は、c番目の第2チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。この処理を、e番目の第2チェイン署名からf番目の第2チェイン署名までの各第2チェイン署名について順番に行ない、全ての第2チェイン署名について検証成立した場合に、第2チェインの検証成立と判断する。
【0103】
さて、署名検証部203は、第2チェインの検証が不成立の場合(S1712)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0104】
一方、署名検証部203は、第2チェインの検証成立の場合(S1712)、第2チェインに含まれているf番目の第2チェイン署名、つまり、公開サーバ4に送信した第2チェイン署名の検証を行なう(S1713)。例えば、公開サーバ4から、当該サーバ4が公開したf番目の第2チェイン署名を入手し、これを第2チェインに含まれているf番目の第2チェイン署名と比較する。
【0105】
そして、署名検証部203は、両者が不一致の場合は検証不成立と判断し、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する。一方、両者が一致する場合は検証成立と判断し、この場合は全ての検証が成立したことになるので、改竄なしとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0106】
なお、S1714において、改竄ありとする確認結果をクライアント端末1に送信する場合、その理由(どのステップで検証不成立と判断されたか)も併せて送信するとよい。
【0107】
図18は、原本確認処理における第2署名サーバ3の動作を説明するためのフロー図である。
【0108】
署名検証部303は、ネットワークIF部301を介して第1署名サーバ2より署名保証の確認要求を第2保管証と共に受け取ると(S1801)、この第2保管証に含まれているe番目の第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって、公開サーバ4に送信したf番目の第2チェイン署名までのレコード30435群である第2チェインを、第2ログリスト保管部3043から読み出す(S1802)。そして、読み出した第2チェインを、ネットワークIF部301を介して、署名保証の確認要求の送信元である第1署名サーバ2へ送信する(S1804)。
【0109】
ここで、原本確認処理を改めて説明する。
【0110】
図19は、原本確認処理の流れを説明するための図である。
【0111】
図示するように、原本保証の確認を要求するデジタルデータに対する第1保管証がクライアント端末1から第1署名サーバ2に送られ、第1署名サーバ2にてこの第1保管証に含まれている第1チェイン署名が検証される(ST181)。次に、第1保管証に含まれている第1チェイン署名(h番目の第1チェイン署名)からこの第1チェイン署名より新しい第1チェイン署名であって第2署名サーバ3に送信した第1チェイン署名(i番目の第1チェイン署名)までのレコード20445でなる第1チェインが第1ログリスト保管部2044から読み出され、この第1チェインが検証される(ST182)。
【0112】
それから、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証が第1署名サーバ2から第2署名サーバ3に送られ(ST183)、これを受けて、第2署名サーバ3は、第2保管証に含まれている第2チェイン署名(e番目の第2チェイン署名)からこの第2チェイン署名より新しい第2チェイン署名であって公開サーバ4に送信した第2チェイン署名(f番目の第2チェイン署名)までのレコード30435でなる第2チェインが第2ログリスト保管部3043から読み出され、第2署名サーバ3から第1署名サーバ2へ送られる(ST184)。そして、第1署名サーバ2にて、第2保管証に含まれている第2チェイン署名の検証、第2チェインの検証が行なわれ。さらに、公開サーバ4より入手した公開情報を用いて、第2チェインに含まれている公開サーバ4で公開された第2チェイン署名の検証が行なわれる(ST185)。以上のようにして行なわれた検証(確認)結果が、第1署名サーバ2からクライアント端末1へ送られる(ST186)。
【0113】
以上、本発明の一実施形態について説明した。
【0114】
本実施形態によれば、第1チェイン署名の生成および第1ログリストの保管を行なう第1署名サーバ2を複数設けて負荷分散できるように構成した場合でも、公開サーバ4へ送信する作業を行なうサーバは、第2署名サーバ3のみとなる。したがって、サーバ数の増加に伴うリスト公開の手間の増加を防止できる。
【0115】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0116】
例えば、上記の実施形態では、第2チェインの検証、および、第2チェインに含まれている第2チェイン署名(第1署名サーバ2が第2署名サーバ3に送信した第2保管証に含まれているe番目の第2チェイン署名、および、第2署名サーバ3が公開サーバ4に送信したf番目の第2チェイン署名)の検証を、第1署名サーバ2で行なう場合を例にとり説明した(図17のS1707〜S1713を参照)。しかし、第2チェインの検証、および、第2チェインに含まれている第2チェイン署名の検証は、第2署名サーバ3で行なうようにしてもよい。
【0117】
この場合の原本確認処理における第1署名サーバ3の動作を図20に示す。ここで、S2001〜S2006は、図17のS1701〜S1706と同じである。S2006で、第1チェインの検証が成立した場合に、署名検証部203は、第2署名サーバ3に、第2保管証を伴う第2チェイン検証要求を、ネットワークIF部201を介して、第2署名サーバ3に送信し(S2007)、第2署名サーバ3から検証結果が送られてくるのを待つ(S2008)。そして、その結果をクライアント端末1に送信する(S2009)。
【0118】
また、上記の場合の原本確認処理における第2署名サーバ3の動作を、図21に示す。ここで、S2101〜S2102は、図18のS1801〜S1802と同じである。また、S2104〜S2108は、図17のS1709〜S1713と同じであり、この処理を第2署名サーバ3の署名検証部303が行なう。そして、検証結果を第1署名サーバ2に送信する(S2109)。
【0119】
また、上記の実施形態において、サーバ2〜4は、複数のコンピュータがネットワーク接続されて構成されたシステム上に構築されるようにしてもよい。例えば、第1署名サーバ2を、署名生成を行なうサーバ、生成された署名を保管するサーバ、および、署名検証を行なうサーバに分けてもよい。
【0120】
さらに、上記の実施形態では、複数の第1署名サーバおよびこれらを配下とする第2署名サーバの2階層で原本保証システムを構成した場合を例にとり説明した。しかし、本発明はこれに限定されない。例えば、複数の第1署名サーバを配下とする第2署名サーバを複数設け、さらに複数の第2署名サーバを配下とする第3署名サーバを設けて、この第3署名サーバに、公開サーバへの情報公開依頼を行なわせるようにしてよい。本発明は、このように複数階層の署名サーバで原本保証システムを構成する場合にも適用できる。
【0121】
【発明の効果】
以上説明したように、本発明によれば、チェイン署名のログリストを利用して原本の正当性を保証する場合に、リスト公開の手間を低減することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態が適用された原本保証システムの概略構成図である。
【図2】図1に示すクライアント端末1の概略図である。
【図3】第1保管証のデータ構成例を示す図である。
【図4】図1に示す第1署名サーバ2の概略図である。
【図5】第2保管証のデータ構成例を示す図である。
【図6】図4に示す記憶部204の構成を示す図である。
【図7】図6に示す第1ログリスト保管部2044の登録内容例を示す図である。
【図8】図1に示す第2署名サーバ3の概略図である。
【図9】図8に示す記憶部304の構成を示す図である。
【図10】図9に示す第2ログリスト保管部3043の登録内容例を示す図である。
【図11】図1に示す公開サーバ4の概略図である。
【図12】原本保証処理におけるクライアント端末1の動作を説明するためのフロー図である。
【図13】原本保証処理における第1署名サーバ2の動作を説明するためのフロー図である。
【図14】原本保証処理における第2署名サーバ3の動作を説明するためのフロー図である。
【図15】原本保証処理の流れを説明するための図である。
【図16】原本確認処理におけるクライアント端末1の動作を説明するためのフロー図である。
【図17】原本確認処理における第1署名サーバ2の動作を説明するためのフロー図である。
【図18】原本確認処理における第2署名サーバ3の動作を説明するためのフロー図である。
【図19】原本確認処理の流れを説明するための図である。
【図20】原本確認処理における第1署名サーバ2の動作の変形例を説明するためのフロー図である。
【図21】
原本確認処理における第2署名サーバ3の動作の変形例を説明するためのフロー図である。
【図22】
第1チェイン署名の生成方法を説明するための図である。
【図23】
第2チェイン署名の生成方法を説明するための図である。
【符号の説明】
1…クライアント端末、2…第1署名サーバ、3…第2署名サーバ、4…公開サーバ、5…ネットワーク、101…ネットワークIF部、102…ユーザIF部、103…記憶部、104…依頼処理部、201…ネットワークIF部、202…署名生成部、203…署名検証部、204…記憶部、301…ネットワークIF部、302…署名生成部、303…署名検証部、304…記憶部、401…ネットワークIF部、402…記憶部、403…情報管理部
【発明の属する技術分野】
本発明は、デジタル署名を利用して原本の正当性を保証する技術に関する。
【0002】
【従来の技術】
近年、電子商取引等の普及に伴い、デジタル署名の重要性が高まりつつある。ここで、デジタル署名の大まかな仕組みは以下の通りである。
【0003】
すなわち、署名者は、メッセージMのメッセージダイジェスト(例えばハッシュ値)に、自身の秘密鍵を作用させてデジタル署名Aを作成する。そして、メッセージMをデジタル署名Aと共に相手に送る。一方、検証者は、デジタル署名Aに署名者の公開鍵を作用させて得た結果と、メッセージMから得たメッセージダイジェストとを比較する。そして、両者が一致するか否かを調べることにより署名を検証する。両者が一致すれば、デジタル署名Aが、署名者によって作成されたメッセージMに対する署名であることが保証される。
【0004】
ところで、署名に使用する秘密鍵は、第三者に不正使用されることがないようにする必要がある。秘密鍵が不正入手される場合としては、管理不十分による漏洩の他に、公開鍵からの算出が考えられる。公開鍵からの算出は、現時点において計算量的に困難であっても、計算機能力の向上や算出アルゴリズムの改良などにより、将来可能となることも考えられる。そして、秘密鍵が不正入手されると、不正な第三者は、メッセージMを書き換えて、このメッセージMに対してデジタル署名Aを生成することが可能となる。この場合、上記の公開鍵を用いたデジタル署名Aの検証では、不正な第三者が、メッセージMを書き換えてデジタル署名を行なったことを検知できない。
【0005】
そこで、このような脅威への対策として、特開2001−331104号公報記載の技術が提案されている。該技術では、保証対象メッセージのハッシュ値および保証対象メッセージより1つ前に受け取ったメッセージに対するデジタル署名のハッシュ値に秘密鍵を作用させることで、保証対象メッセージのデジタル署名を作成する。以下、このようなデジタル署名をチェイン署名と呼ぶこととする。そして、このチェイン署名をログリストに追加する。また、ログリスト中の任意のチェイン署名を信頼できる機関により定期的に公開する。
【0006】
また、検証時には、検証対象のチェイン署名を、公開鍵を用いて検証し、当該検証対象のチェイン署名よりも後にログリストに登録されたチェイン署名であって信頼できる機関により公開されたチェイン署名までの各チェイン署名の前後のつながりを検証する。ここで、信頼できる機関により公開されたチェイン署名は、その公開内容と比較することで、容易に改竄を検知できる。そこで、前記検証対象のチェイン署名に対する公開鍵を用いた検証および前記各チェイン署名の前後のつながりの検証の成立と、公開されたチェイン署名が改竄されていないことの確認と、を行なうことで、検証対象のチェイン署名が改竄されていないことを確認できる。
【0007】
【発明が解決しようとする課題】
上述したように、特開2001−331104号公報記載の技術では、ログリスト中の任意のチェイン署名を信頼できる機関により定期的に公開する必要がある。そして、前記公報記載の技術が普及して、保証対象メッセージ数が膨大になると、チェイン署名の生成およびログリストの保管を行なうサーバを、複数用意して負荷分散することが考えられる。この場合、複数のサーバ各々が、信頼できる機関に公開すべきチェイン署名を送信すると、公開作業の手間がサーバの数に比例して増加する。例えば、10個のサーバが存在し、各サーバが毎週一回、新聞社等のサーバにログを送信して、チェイン署名の新聞への掲載を依頼するとする。この場合、毎週10個のチェイン署名を新聞に載せる作業が発生する。
【0008】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、前記公報記載のような、チェイン署名のログリストを利用して原本の正当性を保証する技術において、リスト公開の手間を低減できるようにすることにある。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明は、複数の第1署名サーバと、前記複数の第1署名サーバを配下とする第2署名サーバとを用いて、原本の正当性を保証している。
【0010】
すなわち、原本の正当性を保証するための署名生成に際して、複数の第1署名サーバ各々は、保証対象の原本に対する第1チェイン署名を作成し、この第1チェイン署名を前記原本あるいはそのメッセージダイジェストに対応付けて、自身が管理する第1ログリストに追加する。また、この第1チェイン署名を含む第1保管証を、保証対象の原本の送信元に送る。また、第1ログリスト中の任意の第1チェイン署名を第2署名サーバに送信し、第2署名サーバより第2保管証を受け取る。
【0011】
一方、第2署名サーバは、第1署名サーバより受け取った第1チェイン署名に対する第2チェイン署名を作成し、この第2チェイン署名を前記第1チェイン署名あるいはそのメッセージダイジェストに対応付けて、自身が管理する第2ログリストに追加する。また、この第2チェイン署名を含む第2保管証を、第1チェイン署名の送信元(第1署名サーバ)に送る。また、第2ログリスト中の任意の第2チェイン署名を外部サーバ(例えば、信頼できる機関が運営する公開サーバ)に送信すると共に、その送信ログを管理する。
【0012】
以上のように構成すれば、チェイン署名の生成およびログリストの保管を行なう第1署名サーバを複数設けて負荷分散できるように構成した場合でも、公開のために外部サーバへ送信する作業を行なうサーバは、第2署名サーバのみとなり、サーバ数の増加に伴うリスト公開の手間の増加を防止できる。
【0013】
なお、以上のような構成において、原本の正当性の検証は、次のようにして行なえばよい。
【0014】
すなわち、第1署名サーバは、保証対象の原本に対する第1保管証を受け取ると、この第1保管証に含まれている第1チェイン署名から、この第1チェイン署名より新しい第1チェイン署名であって第2署名サーバに送信した第1チェイン署名までの第1ログリストの部分を検証し、当該部分に改竄がないことを確認する。それから、第2署名サーバに送信した第1チェイン署名に対する第2保管証を、第2署名サーバに送信して、この第1チェイン署名に対する第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって外部サーバに送信した第2チェイン署名までの第2ログリストの部分を第2署名サーバから入手して、当該部分の検証を行ない、当該部分に改竄がないことを確認する。あるいは、前記第2ログリストの部分の検証を第2署名サーバに依頼する。
【0015】
一方、第2署名サーバは、第1署名サーバより第2保管証を受け取ると、この第2保管証に含まれている第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって外部サーバに送信した第2チェイン署名までの第2ログリストの部分を、前記第2保管証の送信元(第1署名サーバ)に送信する。あるいは、前記第2ログリストの部分を検証し、当該部分に改竄がないことを確認する。
【0016】
より具体的には、第1署名サーバおよび第2署名サーバは、原本の正当性を保証するための署名生成に際して、例えば以下の処理を行なう。
【0017】
(1)前記第1署名サーバは、保証対象の原本としてn(≧2)番目のデジタルデータを受け取ると、n番目のデジタルデータおよび第1ログリストに登録されているn−1番目の第1チェイン署名に対するデジタル署名を生成し、これにn−1番目の第1チェイン署名のメッセージダイジェストを含めたものをn番目の第1チェイン署名として、n番目のデジタルデータに対応付けて前記第1ログリストに追加する。また、このn番目の第1チェイン署名を含む第1保管証を、n番目のデジタルデータの送信元に送信する。さらに、前記第1ログリスト中のm(≧2)番目の第1チェイン署名を前記第2署名サーバに送信して、前記第2署名サーバよりm番目の第1チェイン署名に対する第2保管証を受け取り、これを保管する。
【0018】
(2)前記第2署名サーバは、前記第1署名サーバよりj(≧2)番目の第1チェイン署名を受け取ると、j番目の第1チェイン署名および第2ログリストに登録されているj−1番目の第2チェイン署名に対するデジタル署名を生成し、これにj−1番目の第2チェイン署名のメッセージダイジェストを含めたものをj番目の第2チェイン署名として、j番目の第1チェイン署名に対応付けて前記第2ログリストに追加する。また、このj番目の第2チェイン署名を含む第2保管証を、前記第1署名サーバに送信する。さらに、前記第2ログリスト中のk(≧2)番目の第2チェイン署名を外部サーバに送信する。
【0019】
また、より具体的には、原本の正当性の検証に際して、第1署名サーバおよび第2署名サーバは、例えば以下の処理を行なう。
【0020】
(3)前記第1署名サーバは、検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン署名を検証する処理(d−1番目の第1チェイン署名のメッセージダイジェストと、d番目の第1チェイン署名に含まれるd−1番目の第1チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。また、前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信することにより、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から前記第2署名サーバが前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各第2チェイン署名を含む、前記第2ログリストの一部を入手する。そして、e番目の第2チェイン署名からf番目の第2チェイン署名までの各々について、前記第2ログリストの一部に含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理(c−1番目の第2チェイン署名のメッセージダイジェストと、c番目の第2チェイン署名に含まれるc−1番目の第2チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。
【0021】
(4)前記第2署名サーバは、前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe番目の第2チェイン署名から前記外部サーバに送信したf番目の第2チェイン署名までの各第2チェイン署名を含む前記第2ログリストの一部を、前記第2ログリストから読み出して、前記第1署名サーバへ送信する。
【0022】
あるいは、
(3’)前記第1署名サーバは、検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名より1つ後のi+1番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン情報を検証する処理(d−1番目の第1チェイン署名のメッセージダイジェストと、d番目の第1チェイン署名に含まれるd−1番目の第1チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信する。
【0023】
(4’)前記第2署名サーバは、前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から、前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各々について、前記第2ログリストに含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理(c−1番目の第2チェイン署名のメッセージダイジェストと、c番目の第2チェイン署名に含まれるc−1番目の第2チェイン署名のメッセージダイジェスト部分とを比較する処理)を、順番に行なう。
【0024】
【発明の実施の形態】
以下に、本発明の実施の形態について説明する。
【0025】
図1は、本発明の一実施形態が適用された原本保証システムの概略構成を示す図である。
【0026】
図1において、クライアント端末11〜1m(以下、単にクライアント端末1とする)は、デジタルデータ(電子文書データ、イメージデータやオーディオデータなどのマルチメディアデータ、および、有価証券と同じ価値を持つデータなどを含む)の原本保証を原本保証機関に依頼したりするのに使用する情報処理装置である。複数の第1署名サーバ21〜2n(以下、単に第1署名サーバ2とも呼ぶ)およびこれらの第1署名サーバ2を配下とする第2署名サーバ3は、原本保証機関の情報処理装置である。そして、公開サーバ4は、新聞社等の信頼できる機関の情報処理装置(例えばWebサーバ)であり、クライアント端末1を含むブラウザ端末が閲覧可能に情報を保持する。これらの装置1〜4は、LANやWANなどのネットワーク5を経由して、互いに接続されている。
【0027】
図2は、クライアント端末1の概略図である。
【0028】
図示するように、クライアント端末1は、ネットワーク5を介して、サーバ2〜4と通信を行なうためのネットワークIF部101と、ユーザより各種指示を受け付けたりユーザに結果を表示したりするユーザIF部102と、原本保証を依頼するもしくは依頼したデジタルデータや、このデジタルデータに対する第1保管証を記憶するための記憶部103と、依頼処理部104と、を有する。
【0029】
依頼処理部104は、ユーザIF部102を介してユーザより受け付けた各種指示に従い処理を行なう。
【0030】
例えば、依頼処理部104は、ユーザIF部102を介してユーザより受け付けた指示に従い、原本保証を要求するデジタルデータを、記憶部103から読み出して、いずれかの第1署名サーバ1に送り、第1保管証を受け取る。そして、この第1保管証および当該第1保管証の送信元第1署名サーバ1のアドレスを、原本保証を要求するデジタルデータに対応付けて、記憶部103に記憶する。
【0031】
また、例えば、依頼処理部104は、ユーザIF部102を介してユーザより受け付けた指示に従い、原本保証の確認を要求するデジタルデータに対応付けられている第1保管証および第1署名サーバ2のアドレスを、記憶部103から読み出して、この第1保管証を、このアドレスにより特定される第1署名サーバ2へ送る。そして、第1署名サーバ2より原本保証の確認結果を受け取り、これを表示装置などを用いてユーザに提示する。
【0032】
ここで、第1保管証とは、原本保証を要求するデジタルデータに対する第1チェイン署名を含む情報である。図3に、第1保管証のデータ構成例を示す。図示するように、第1保管証1031は、原本保証を要求するデジタルデータに対する第1チェイン署名1032と、この第1チェイン署名1032を特定するための第1署名ID1033と、原本保証の対象となるデジタルデータを特定するための文書ID1034と、を有する。また、第1チェイン署名は、原本保証を要求するデジタルデータとこの第1チェイン署名を作成する第1署名サーバ2にて1つ前に作成された第1チェイン署名とに対するデジタル署名を含んでいる。
【0033】
ここで、図22を用いて第1チェイン署名の生成方法について説明する。
【0034】
図において、S1xはx番目の第1チェイン署名を、Mxはx番目のデジタルデータを、H(x)は、データxのメッセージダイジェストを、そして、Sign(x)は、データxに自身の署名鍵(例えば秘密鍵)を作用させて生成したデジタル署名を示している。
【0035】
図示するように、n−1番目の第1チェイン署名S1n−1は、n−2番目の第1チェイン署名S1n−2のメッセージダイジェストH(S1n−2)と、n−1番目のデジタルデータMn−1のメッセージダイジェストH(Mn−1)と、H(S1n−2)およびH(Mn−1)を連結したものに対するデジタル署名Sign(H(S1n−2)||H(Mn−1))と、を含んで構成される。同様に、n番目の第1チェイン署名S1nは、n−1番目の第1チェイン署名S1n−1のメッセージダイジェストH(S1n−1)と、n番目のデジタルデータMnのメッセージダイジェストH(Mn)と、H(S1n−1)およびH(Mn)を連結したものに対するデジタル署名Sign(H(S1n−1)||H(Mn))と、を含んで構成される。このように、第1チェイン署名は、1つ前に生成された第1チェイン署名とつながりができるように生成される。
【0036】
図4は、第1署名サーバ2の概略図である。
【0037】
図示するように、第1署名サーバ2は、ネットワーク5を介して、クライアント端末1やサーバ3、4と通信を行なうためのネットワークIF部201と、署名生成部202と、署名検証部203と、記憶部204と、を有する。
【0038】
署名生成部202は、ネットワークIF部201を介して、クライアント端末1から原本保証を要求するデジタルデータを受け取ると、これをこの第1署名サーバ2が受け取ったn(≧2)番目の原本保証を要求するデジタルデータMnとした場合に、このデジタルデータMnのメッセージダイジェスト(例えばハッシュ値)H(Mn)を生成する。記憶部204に記憶されている第1ログリストに登録されているn−1番目の第1チェイン署名S1n−1からメッセージダイジェストH(S1n−1)を生成する。H(S1n−1)およびH(Mn)を連結することによりH(S1n−1)||H(Mn)を生成し、自身の署名鍵(例えば秘密鍵)を作用させてデジタル署名Sign(H(S1n−1)||H(Mn))を生成する。そして、H(S1n−1)、H(Mn)およびSign(H(S1n−1)||H(Mn))を連結したものを、n番目の第1チェイン署名S1n=H(S1n−1)||H(Mn)||Sign(H(S1n−1)||H(Mn))として、第1ログリストに登録する。
【0039】
また、このn番目の第1チェイン署名およびその第1署名IDと、n番目のデジタルデータの文書IDとを含む第1保管証を作成し、これをネットワークIF部201を介してn番目の原本保証の要求元のクライアント端末1に送る。
【0040】
ここで、第1チェイン署名の生成には、linking Protocolに基づくタイムスタンプ方式、例えばヒステリシス署名方式を用いる。linking Protocolとは、一つ前に生成したデジタル署名An−1の生成に関わるデータと時刻データとメッセージとに対して自身の秘密鍵を作用させることで、デジタル署名Anを生成するものである。linking Protocolは、「Bruce Schneier, ”Applied Cryptography Second Edition”, John Wiley & Sons, Inc. 1996」や、「International Application Number PCT/US91/05386」に開示されている。また、ヒステリシス署名方式は、「松本勉 他 暗号ブレイク対応電子署名アリバイ実現機構(その1)−コンセプトと概要− 第8回CSEC研究発表会」や、「洲崎、宮崎、宝木、松本 “暗号ブレイク対応電子署名アリバイ実現機構(その2)−詳細方式− 情報処理学会コンピュータセキュリティ研究会 第8回研究発表会 2000年3月」に詳しい。
【0041】
また、署名生成部202は、所定のイベントが発生すると、第1ログリスト中のm(≧2)番目の第1チェイン署名を含む署名保証要求を作成し、第2署名サーバ3に送信して、第2署名サーバ3より第2保管証を受け取る。そして、この第2保管証を、署名保証要求に含めた第1チェイン署名に対応付けて、記憶部204に記憶する。例えば、定期的あるいは第1チェイン署名を所定数生成する毎に、第1ログリストに登録されている最新の第1チェイン署名を含む署名保証要求を第2署名サーバ3に送信して、第2署名サーバ3よりこの第1チェイン署名に対する第2保管証を受け取り、これを署名保証要求に含めた第1チェイン署名に対応付けて、記憶部204に記憶する。
【0042】
ここで、第2保管証とは、署名保証要求に含まれる第1チェイン署名に対する第2チェイン署名を含む情報である。図5に、第2保管証のデータ構成例を示す。図示するように、第2保管証2051は、保証を要求する第1チェイン署名に対する第2チェイン署名2052と、この第2チェイン署名2052を特定するための第2署名ID2053と、保証の対象となる第1チェイン署名を特定するための第1署名ID2054とを有する。また、第2チェイン署名は、保証を要求する第1チェイン署名とこの第2チェイン署名を作成する第2署名サーバ3にて1つ前に作成された第2チェイン署名とに対するデジタル署名を含んでいる。
【0043】
署名検証部203は、ネットワークIF部201を介して、クライアント端末2から第1保管証を伴う原本保証の確認を受け取ると、この第1保管証に含まれているh(≧1)番目の第1チェイン署名から、この第1チェイン署名より新しい第1チェイン署名であって、第2署名サーバ3に送信したi(>h)番目の第1チェイン署名までの第1ログリストの部分(以下、当該部分を第1チェインと呼ぶ)を検証し、当該第1チェインに改竄がないことを検証する。
【0044】
また、署名検証部203は、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証を伴う第2チェイン要求を、第2署名サーバ3に送する。そして、第2署名サーバ3より、この第2保管証に含まれているe(≧1)番目の第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって、公開サーバ4で公開されたf(>e)番目の第2チェイン署名までの第2ログリストの部分(以下、当該部分を第2チェインと呼ぶ)を入手し、当該第2チェインを検証して改竄がないことを検証する。そして、第1および第2チェインの検証結果に従い、原本保証の検証結果を、ネットワークIF部201を介してクライアント端末2に送信する。なお、第2ログリストについては後述する。
【0045】
記憶部204には、署名生成部202および署名検証部203での各種処理にに必要な情報が記憶される。図6に、記憶部204の登録内容例を示す。図示するように、記憶部204には、原本保証するデジタルデータを保管する文書保管部2041と、第1署名サーバ2の署名鍵と検証鍵(例えば秘密鍵と公開鍵)を保管する第1署名サーバ用署名・検証鍵保管部2042と、第2署名サーバ3の検証鍵(例えば公開鍵)を保管する第2署名サーバ用検証鍵保管部2043と、第1ログリストを保管する第1ログリスト保管部2044と、第2署名サーバ3より受け取った第2保管証を保管する保管証保管部2045と、を有する。
【0046】
図7に、第1ログリスト保管部2044の登録内容例を示す。図示するように、第1チェイン署名の生成順番を特定するための第1署名ID(例えばシリアル番号)を登録するためのフィールド20441と、フィールド20441に登録されている第1署名IDを持つ第1チェイン署名を登録するためのフィールド20442と、フィールド20442に登録されている第1チェイン署名の署名対象であるデジタルデータを特定するための文書IDを登録するためのフィールド20443と、フィールド20442に登録されている第1チェイン署名を第2署名サーバ3に送信したか否かを示す送信フラグを登録するためのフィールド20444とを備えて、1つのレコード20445が構成されている。
【0047】
図8は、第2署名サーバ3の概略図である。
【0048】
図示するように、第2署名サーバ3は、ネットワーク5を介して、クライアント端末1やサーバ2、4と通信を行なうためのネットワークIF部301と、署名生成部302と、署名検証部303と、記憶部304と、を有する。
【0049】
ここで、図23を用いて第2チェイン署名の生成方法について説明する。
【0050】
図において、S2xはx番目の第2チェイン署名を、Nxはx番目に受け取った第1チェイン署名を、H(x)は、データxのメッセージダイジェストを、そして、Sign(x)は、データxに自身の署名鍵(例えば秘密鍵)を作用させて生成したデジタル署名を示している。
【0051】
図示するように、j−1番目の第2チェイン署名S2j−1は、j−2番目の第2チェイン署名S2j−2のメッセージダイジェストH(S2j−2)と、j−1番目に受け取った第1チェイン署名Nj−1のメッセージダイジェストH(Nj−1)と、H(S2j−2)およびH(Nj−1)を連結したものに対するデジタル署名Sign(H(S2j−2)||H(Nj−1))と、を含んで構成される。同様に、j番目の第2チェイン署名S2jは、j−1番目の第2チェイン署名S2j−1のメッセージダイジェストH(S2j−1)と、j番目に受け取った第1チェイン署名NjのメッセージダイジェストH(Nj)と、H(S2j−1)およびH(Nj)を連結したものに対するデジタル署名Sign(H(S2j−1)||H(Nj))と、を含んで構成される。このように、第2チェイン署名は、1つ前に生成された第2チェイン署名とつながりができるように生成される。
【0052】
署名生成部302は、ネットワークIF部301を介して、第1署名サーバ2から保証を要求する第1チェイン署名を受け取ると、これをこの第2署名サーバ3が受け取ったj(≧1)番目の保証を要求する第1チェイン署名Njとした場合に、この第1チェイン署名Njのメッセージダイジェスト(例えばハッシュ値)H(Nj)を生成する。記憶部304に記憶されている第2ログリストに登録されているj−1番目の第2チェイン署名S2j−1からメッセージダイジェストH(S2j−1)を生成する。H(S2j−1)およびH(Nj)を連結することによりH(S2j−1)||H(Nj)を生成し、自身の署名鍵(例えば秘密鍵)を作用させてデジタル署名Sign(H(S2j−1)||H(Nj))を生成する。そして、H(S2j−1)、H(Nj)およびSign(H(S2j−1)||H(Nj))を連結したものを、j番目の第2チェイン署名S2j=H(S2j−1)||H(Nj)||Sign(H(S2j−1)||H(Nj))として、第2ログリストに登録する。
【0053】
また、このj番目の第2チェイン署名およびその第2署名IDと、j番目の第1チェイン署名の第1署名IDとを含む第2保管証を作成し、これをネットワークIF部301を介してj番目の保証の要求元の第1署名サーバ2に送る。
【0054】
ここで、第2チェイン署名の生成には、第1チェイン署名の生成の場合と同様に、linking Protocolに基づくタイムスタンプ方式、例えばヒステリシス署名方式を用いる。
【0055】
また、署名生成部302は、所定のイベントが発生すると、第2ログリスト中のk(≧2)番目の第2チェイン署名を、公開サーバ4に送信して、この第2チェイン署名の公開を要求する。例えば定期的あるいは第2チェイン署名を所定数生成する毎に、第2ログリストに登録されている最新の第2チェイン署名を含む公開要求を公開サーバ4に送信する。
【0056】
署名検証部303は、ネットワークIF部301を介して、第1署名サーバ3から第2保管証を伴う署名保証の確認を受け取ると、この第2保管証に含まれているe(≧1)番目の第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって公開サーバ4で公開されたf(>e)番目の第2チェイン署名までの第2ログリストの部分である第2チェインを、記憶部304に記憶されている第2ログリストから読み出す。そして、読み出した第2チェインを、署名保証の確認を送信した第1署名サーバ3に送信する。
【0057】
記憶部304には、署名生成部302および署名検証部303での各種処理にに必要な情報が記憶される。図9に、記憶部304の登録内容例を示す。図示するように、記憶部304には、第2署名サーバ2の署名鍵(例えば秘密鍵)を保管する第2署名サーバ用署名鍵保管部3042と、第2ログリストを保管する第2ログリスト保管部3043と、公開サーバ4への第2チェイン署名の送信ログを保管する送信ログ保管部3044と、を有する。
【0058】
図10に、第2ログリスト保管部3043の登録内容例を示す。図示するように、第2チェイン署名の生成順番を特定するための第2署名ID(例えばシリアル番号)を登録するためのフィールド30431と、フィールド30431に登録されている第2署名IDを持つ第2チェイン署名を登録するためのフィールド30432と、フィールド30432に登録されている第2チェイン署名の署名対象である第1チェイン署名を特定するための第1署名IDを登録するためのフィールド30433と、フィールド30432に登録されている第2チェイン署名を公開サーバ4に送信したか否かを示す送信フラグを登録するためのフィールド30434とを備えて、1つのレコード30435が構成されている。
【0059】
図11は、公開サーバ4の概略図である。
【0060】
図示するように、公開サーバ4は、ネットワーク5を介して、クライアント端末1およびサーバ2、3と通信を行なうためのネットワークIF部401と、公開対象の情報を記憶するための記憶部402と、情報管理部403とを有する。
【0061】
情報管理部403は、ネットワークIF部401を介して、第2署名サーバ3より送られてきた第2チェイン署名および第2署名IDを、記憶部402に記憶する。また、ネットワークIF部401を介して、アクセスしてきたブラウザ端末(クライアント端末1を含む)に対して、記憶部402に記憶されている情報を送信する。これにより、ブラウザ端末に、記憶部402に記憶されている情報の閲覧を許可する。ここで、記憶部402に記憶されている情報は、定期的に、追加記録分を、新聞などの媒体に掲載するようにしてもよい。
【0062】
上記構成の各装置1〜4は、CPUと、メモリと、HDD等の外部記憶装置と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体から情報を読み取る読取装置と、キーボードやマウスなどの入力装置と、ディスプレイなどの出力装置と、ネットワークを介して相手装置と通信を行なうための通信装置とを備えた一般的なコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより実現することができる。この所定のプログラムは、読取装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、外部記憶装置にダウンロードされ、それから、メモリ上にロードされてCPUにより実行されるようにしてもよい。また、読取装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、メモリ上に直接ロードされ、CPUにより実行されるようにしてもよい。この場合、記憶部103、204、304、402には、外部記憶装置やメモリが用いられる。
【0063】
次に、上記構成の原本保証システムの動作について説明する。
【0064】
先ず、原本を保証するための処理(原本保証処理)について説明する。
【0065】
図12は、原本保証処理におけるクライアント端末1の動作を説明するためのフロー図である。
【0066】
依頼処理部104は、ユーザIF部102を介してユーザより、原本保証を要求するデジタルデータの指定と、原本保証の要求先となる第1署名サーバ2のアドレスの指定と、を伴う原本保証の要求を依頼されると(S1201)、記憶部103から、指定されたデジタルデータを読み出す。そして、このデジタルデータを含む原本保証の要求依頼を作成し、これをネットワークIF部101を介して、指定されたアドレスを持つ第1署名サーバ2へ送信する(S1202)。
【0067】
次に、依頼処理部104は、ネットワークIF部101を介して、原本保証の要求依頼の送信先の第1署名サーバ2から、第1保管証が送られてくるのを待ち(S1203)、この第1保管証を、この第1署名サーバ2のアドレスおよびデジタルデータに対応付けて、記憶部103に記憶する(S1204)。
【0068】
図13は、原本保証処理における第1署名サーバ2の動作を説明するためのフロー図である。
【0069】
署名生成部202は、ネットワークIF部201を介してクライアント端末1より原本保証の要求依頼を受け取ると(S1301)、この要求依頼に含まれているデジタルデータに文書IDを付与し、この文書IDをデジタルデータに対応付けて、文書保管部2041に登録する(S1302)。
【0070】
次に、署名生成部202は、第1ログリスト保管部2044に登録されている最新(n−1番目)の第1チェイン署名のメッセージダイジェストと、原本保証の要求依頼に含まれているデジタルデータのメッセージダイジェストとを連結させたものに対して、第1署名サーバ用署名・検証鍵保管部2042に登録されている署名鍵を作用させて、デジタル署名を生成する。そして、これに、前記n−1番目の第1チェイン署名のメッセージダイジェストおよび前記要求依頼に含まれているデジタルデータのメッセージダイジェストを連結したものを、n番目の第1チェイン署名とすると共に、この第1チェイン署名の第1署名IDを生成する(S1303)。そして、第1ログリスト保管部2044に、新たなレコード20445を追加し、そのレコード20445のフィールド20441にn番目の第1チェイン署名に対する第1署名IDを、フィールド20442にn番目の第1チェイン署名を、そして、フィールド20443に署名対象のデジタルデータの文書IDを登録する。なお、この時点では、フィールド20444に、第2署名サーバ3への送信を行なっていないことを示すフラグを登録する(S1304)。また、署名生成部202は、生成した第1チェイン署名、第1署名IDおよび文書IDを含む第1保管証を作成し、これをネットワークIF部201を介して原本保証の要求依頼の送信元であるクライアント端末1に送信する(S1305)。
【0071】
次に、署名生成部202は、生成した第1チェイン署名を、第2署名サーバ3に送信すべきか否かを判断する(S1306)。例えば、第1チェイン署名の生成回数をカウントするカウンタを設け、このカウンタのカウント値が所定値に達したならば、第2署名サーバ3に送信すべきと判断し、カウンタのカウント値をリセットする。
【0072】
さて、署名生成部202は、S1306において、生成した第1チェイン署名を、第2署名サーバ3に送信すべきと判断したならば、この第1チェイン署名および第1署名IDを含む署名保証要求を作成する。そして、これをネットワークIF部201を介して第2署名サーバ3に送信すると共に、第1ログリスト保管部2044の、S1304にて追加したレコード20445のフィールド20444の登録内容を、第2署名サーバ3への送信を行なったことを示すフラグに変更する(S1307)。それから、ネットワークIF部201を介して、第2署名サーバ3から第2保管証が送られてくるのを待ち(S1308)、この第2保管証を、この第1チェイン署名に対応付けて保管証保管部2045に記憶する(S1309)。それから、このフローを終了する。一方、S1306において、生成した第1チェイン署名を、第2署名サーバ3に送信すべきでないと判断したならば、直ちにこのフローを終了する。
【0073】
図14は、原本保証処理における第2署名サーバ3の動作を説明するためのフロー図である。
【0074】
署名生成部302は、ネットワークIF部201を介して第1署名サーバ2より署名保証の要求依頼を受け取ると(S1401)、第2ログリスト保管部3043に登録されている最新(j−1番目)の第2チェイン署名のメッセージダイジェストと、署名保証の要求依頼に含まれている第1チェイン署名のメッセージダイジェストとを連結させたものに対して、第2署名サーバ用署名鍵保管部3042に登録されている署名鍵を作用させて、デジタル署名を生成する。そして、これに、前記j−1番目の第2チェイン署名のメッセージダイジェストおよび前記要求依頼に含まれている第1チェイン署名のメッセージダイジェストを連結したものを、j番目の第2チェイン署名とすると共に、この第2チェイン署名の第2署名IDを生成する(S1403)。そして、第2ログリスト保管部3043に、新たなレコード30435を追加し、そのレコード30435のフィールド30431にj番目の第2チェイン署名に対する第2署名IDを、フィールド30432にj番目の第2チェイン署名を、そして、フィールド30433に署名対象の第1チェイン署名の第1署名IDを登録する。なお、この時点では、フィールド30434に、公開サーバ4への送信を行なっていないことを示すフラグを登録する(S1404)。また、署名生成部302は、生成した第2チェイン署名、第2署名IDおよび第1署名IDを含む第2保管証を作成し、これをネットワークIF部201を介して署名保証の要求依頼の送信元である第1署名サーバ2に送信する(S1405)。
【0075】
次に、署名生成部302は、生成した第2チェイン署名を、公開サーバ4に送信すべきか否かを判断する(S1406)。例えば、第2チェイン署名の生成回数をカウントするカウンタを設け、このカウンタのカウント値が所定値に達したならば、公開サーバ4に送信すべきと判断し、カウンタのカウント値をリセットする。
【0076】
さて、署名生成部302は、S1406において、生成した第2チェイン署名を、公開サーバ4に送信すべきと判断したならば、この第2チェイン署名を含む公開要求を作成する。そして、これをネットワークIF部301を介して公開サーバ4に送信すると共に、第2ログリスト保管部3043の、S1404にて追加したレコード30435のフィールド30434の登録内容を、公開サーバ4への送信を行なったことを示すフラグに変更する。また、送信ログ(送信した第2チェイン署名の第2署名ID、送信日時、送信した公開サーバ4のアドレス等)を送信ログ保管部3044に登録する(S1407)。それから、このフローを終了する。一方、S1406において、生成した第2チェイン署名を、公開4に送信すべきでないと判断したならば、直ちにこのフローを終了する。
【0077】
ここで、原本保証処理を改めて説明する。
【0078】
図15は、原本保証処理の流れを説明するための図である。
【0079】
図示するように、原本保証を要求するデジタルデータがクライアント端末1から第1署名サーバ2に送られ、第1署名サーバ2にて第1チェイン署名が生成される(ST151)。そして、この第1チェイン署名を含む第1保管証がクラインアント端末1に返される(ST152)。また、この第1チェイン署名が第1ログリストに追加される(ST153)。
【0080】
また、署名保証を要求する第1チェイン署名が第1署名サーバ2から第2署名サーバ3に送られ、第2署名サーバ3にて第2チェイン署名が生成される(ST154)。そして、この第2チェイン署名を含む第2保管証が第1署名サーバ2に返される(ST155)。また、この第2チェイン署名が第2ログリストに追加される(ST156)。さらに、第2ログリスト中の第2チェイン署名が、第2署名サーバ3から公開サーバ4に送られ、そこで公開される。
【0081】
次に、原本保証を確認するための処理(原本確認処理)について説明する。
【0082】
図16は、原本確認処理におけるクライアント端末1の動作を説明するためのフロー図である。
【0083】
ここで、あるデジタルデータの原本保証の確認を要求するクライアント端末1が、当該デジタルデータの原本保証を要求したクライアント端末1である必要はない。例えば、ある売買契約を行うために契約書を作成したとする。あるクライアント端末1が第1署名サーバ2に、契約書に対する原本保証の確認を要求し、第1保管書を受け取った後、このクライアント端末1のユーザAが、契約相手のユーザBに契約書と保管証20を送る。そして、ユーザBは、契約書が改竄されていないことを証明するために、自身のクライアント端末1を用いて第1署名サーバに契約書の原本保証の確認検証を依頼する。このような場合、原本保証の確認を要求するクライアント端末1と、原本保証を要求するクライアント端末1とが一致しないことがある。
【0084】
さて、依頼処理部104は、ユーザIF部102を介してユーザより、原本保証の確認を要求するデジタルデータの指定を伴う原本保証の確認要求を依頼されると(S1601)、記憶部103から、指定されたデジタルデータとこれに対応付けられている第1保管証を読み出す。そして、ネットワークIF部101を介して、このデジタルデータと第1保管証を、これを作成した第1署名サーバ2(この第1保管証に対応付けられているアドレスにより特定される第1署名サーバ2)へ送信する(S1602)。
【0085】
次に、依頼処理部104は、ネットワークIF部101を介して、原本保証の確認要求の送信先の第1署名サーバ2から、確認結果(改竄の有無)が送られてくるのを待ち(S1603)、この確認結果を、ユーザIF部102を介してユーザに提示する(S1604)。
【0086】
図17は、原本確認処理における第1署名サーバ2の動作を説明するためのフロー図である。
【0087】
署名検証部203は、ネットワークIF部201を介してクライアント端末1より原本保証の確認要求を第1保管証およびデジタルデータと共に受け取ると(S1701)、このデジタルデータおよび第1保管証に含まれている第1チェイン署名の検証を行なう(S1702)。
【0088】
具体的には、第1保管証に含まれている第1チェイン署名がh(≧1)番目の第1チェイン署名であるとした場合、このh番目の第1チェイン署名に含まれているデジタル署名に、第1署名サーバ用署名・検証鍵保管部2042に登録されている検証鍵を作用させる。そして、その結果からh−1番目の第1チェイン署名のメッセージダイジェストを除いた部分(つまりデジタルデータのメッセージダイジェスト)と、第1保管証と共にクライアント端末1から受け取ったデジタルデータのメッセージダイジェストとを比較する。
【0089】
そして、両者が一致する場合は、送られてきたデジタルデータと第1保管証に含まれている第1チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。
【0090】
さらに、検証成立と判断した場合は、第1保管証に含まれている第1チェイン署名を、第1保管証に含まれている第1署名IDに対応付けられて第1ログリスト保管部2044に登録されている第1チェイン署名と比較してもよい。そして、両者が一致する場合は第1保管証に含まれている第1チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。
【0091】
さて、署名検証部203は、第1チェイン署名の検証が不成立の場合(S1703)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0092】
一方、署名検証部203は、第1チェイン署名の検証成立の場合(S1703)、第1保管証に含まれている第1チェイン署名がh(≧1)番目の第1チェイン署名であるとした場合に、このh番目の第1チェイン署名から、この第1チェイン署名より新しい第1チェイン署名であって、第2署名サーバ3に送信したi(>h)番目の第1チェイン署名までのレコード20445群である第1チェインを、第1ログリスト保管部2044から読み出す(S1704)。
【0093】
そして、署名検証部203は、第1チェインのうち、h番目の第1チェイン署名からi番目の第1チェイン署名までの各第1チェイン署名の検証を行なうことで、この第1チェインの検証を行なう(S1705)。
【0094】
ここで、h番目の第1チェイン署名からi番目の第1チェイン署名までの各第1チェイン署名の検証は、具体的には次のように行なう。すなわち、検証対象の第1チェイン署名をd(h<d≦i)番目の第1チェイン署名とした場合、d−1番目の第1チェイン署名のメッセージダイジェストと、d番目の第1チェイン署名に含まれるd−1番目の第1チェイン署名のメッセージダイジェスト部分とを比較する。そして、両者が一致する場合は、d番目の第1チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。この処理を、h番目の第1チェイン署名からi番目の第1チェイン署名までの各第1チェイン署名について順番に行ない、全ての第1チェイン署名について検証成立した場合に、第1チェインの検証成立と判断する。
【0095】
さて、署名検証部203は、第1チェインの検証が不成立の場合(S1706)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0096】
一方、署名検証部203は、第1チェインの検証成立の場合(S1706)、第1保管証に含まれている第1チェイン署名より新しい第1チェイン署名であって、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証を、保管証保管部2045より読み出す。そして、この第2保管証を伴う第2チェイン要求を、ネットワークIF部201を介して、第2署名サーバ3に送信し(S1707)、第2署名サーバ3から第2チェインが送られてくるのを待つ(S1708)。
【0097】
次に、署名検証部203は、第2署名サーバ3へ第2チェイン要求と共に送信した第2保管証に含まれている第2チェイン署名の検証を行なう(S1709)。具体的には、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証に含まれている第2チェイン署名がe(≧1)番目の第2チェイン署名であるとした場合、このe番目の第2チェイン署名に含まれているデジタル署名に、第2署名サーバ用検証鍵保管部2043に登録されている検証鍵を作用させる。そして、その結果からe−1番目の第2チェイン署名のメッセージダイジェストを除いた部分(つまり第1チェイン署名のメッセージダイジェスト)と、このi番目の第1チェイン署名のメッセージダイジェストとを比較する。
【0098】
そして、両者が一致する場合は、第2保管証に含まれている第2チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。
【0099】
さらに、検証成立と判断した場合は、第2保管証に含まれている第2チェイン署名と、入手した第2チェインに含まれている、第2保管証に含まれている第2署名IDを持つ第2チェイン署名とを比較する。そして、両者が一致する場合は検証成立と判断し、不一致の場合は検証不成立と判断する。
【0100】
さて、署名検証部203は、第2保管証に含まれている第2チェイン署名の検証が不成立の場合(S1710)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0101】
一方、署名検証部203は、第2チェイン署名の検証成立の場合(S1710)、入手した第2チェインのうち、e番目の第2チェイン署名からf番目の第2チェイン署名(公開サーバ4に送信された第2チェイン署名)までの各第2チェイン署名の検証を行なって、この第2チェインの検証を行なう(S1711)。
【0102】
ここで、e番目の第2チェイン署名からf番目の第2チェイン署名までの各第2チェイン署名の検証は、具体的には次のように行なう。すなわち、検証対象の第2チェイン署名をc(e<c≦f)番目の第2チェイン署名とした場合、c−1番目の第2チェイン署名のメッセージダイジェストと、c番目の第2チェイン署名に含まれているc−1番目の第2チェイン署名のメッセージダイジェスト部分とを比較する。そして、両者が一致する場合は、c番目の第2チェイン署名について検証成立と判断し、不一致の場合は検証不成立と判断する。この処理を、e番目の第2チェイン署名からf番目の第2チェイン署名までの各第2チェイン署名について順番に行ない、全ての第2チェイン署名について検証成立した場合に、第2チェインの検証成立と判断する。
【0103】
さて、署名検証部203は、第2チェインの検証が不成立の場合(S1712)、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0104】
一方、署名検証部203は、第2チェインの検証成立の場合(S1712)、第2チェインに含まれているf番目の第2チェイン署名、つまり、公開サーバ4に送信した第2チェイン署名の検証を行なう(S1713)。例えば、公開サーバ4から、当該サーバ4が公開したf番目の第2チェイン署名を入手し、これを第2チェインに含まれているf番目の第2チェイン署名と比較する。
【0105】
そして、署名検証部203は、両者が不一致の場合は検証不成立と判断し、改竄ありとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する。一方、両者が一致する場合は検証成立と判断し、この場合は全ての検証が成立したことになるので、改竄なしとする確認結果を、ネットワークIF部201を介して、確認要求の送信元のクライアント端末1に送信する(S1714)。
【0106】
なお、S1714において、改竄ありとする確認結果をクライアント端末1に送信する場合、その理由(どのステップで検証不成立と判断されたか)も併せて送信するとよい。
【0107】
図18は、原本確認処理における第2署名サーバ3の動作を説明するためのフロー図である。
【0108】
署名検証部303は、ネットワークIF部301を介して第1署名サーバ2より署名保証の確認要求を第2保管証と共に受け取ると(S1801)、この第2保管証に含まれているe番目の第2チェイン署名から、この第2チェイン署名より新しい第2チェイン署名であって、公開サーバ4に送信したf番目の第2チェイン署名までのレコード30435群である第2チェインを、第2ログリスト保管部3043から読み出す(S1802)。そして、読み出した第2チェインを、ネットワークIF部301を介して、署名保証の確認要求の送信元である第1署名サーバ2へ送信する(S1804)。
【0109】
ここで、原本確認処理を改めて説明する。
【0110】
図19は、原本確認処理の流れを説明するための図である。
【0111】
図示するように、原本保証の確認を要求するデジタルデータに対する第1保管証がクライアント端末1から第1署名サーバ2に送られ、第1署名サーバ2にてこの第1保管証に含まれている第1チェイン署名が検証される(ST181)。次に、第1保管証に含まれている第1チェイン署名(h番目の第1チェイン署名)からこの第1チェイン署名より新しい第1チェイン署名であって第2署名サーバ3に送信した第1チェイン署名(i番目の第1チェイン署名)までのレコード20445でなる第1チェインが第1ログリスト保管部2044から読み出され、この第1チェインが検証される(ST182)。
【0112】
それから、第2署名サーバ3に送信したi番目の第1チェイン署名に対する第2保管証が第1署名サーバ2から第2署名サーバ3に送られ(ST183)、これを受けて、第2署名サーバ3は、第2保管証に含まれている第2チェイン署名(e番目の第2チェイン署名)からこの第2チェイン署名より新しい第2チェイン署名であって公開サーバ4に送信した第2チェイン署名(f番目の第2チェイン署名)までのレコード30435でなる第2チェインが第2ログリスト保管部3043から読み出され、第2署名サーバ3から第1署名サーバ2へ送られる(ST184)。そして、第1署名サーバ2にて、第2保管証に含まれている第2チェイン署名の検証、第2チェインの検証が行なわれ。さらに、公開サーバ4より入手した公開情報を用いて、第2チェインに含まれている公開サーバ4で公開された第2チェイン署名の検証が行なわれる(ST185)。以上のようにして行なわれた検証(確認)結果が、第1署名サーバ2からクライアント端末1へ送られる(ST186)。
【0113】
以上、本発明の一実施形態について説明した。
【0114】
本実施形態によれば、第1チェイン署名の生成および第1ログリストの保管を行なう第1署名サーバ2を複数設けて負荷分散できるように構成した場合でも、公開サーバ4へ送信する作業を行なうサーバは、第2署名サーバ3のみとなる。したがって、サーバ数の増加に伴うリスト公開の手間の増加を防止できる。
【0115】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0116】
例えば、上記の実施形態では、第2チェインの検証、および、第2チェインに含まれている第2チェイン署名(第1署名サーバ2が第2署名サーバ3に送信した第2保管証に含まれているe番目の第2チェイン署名、および、第2署名サーバ3が公開サーバ4に送信したf番目の第2チェイン署名)の検証を、第1署名サーバ2で行なう場合を例にとり説明した(図17のS1707〜S1713を参照)。しかし、第2チェインの検証、および、第2チェインに含まれている第2チェイン署名の検証は、第2署名サーバ3で行なうようにしてもよい。
【0117】
この場合の原本確認処理における第1署名サーバ3の動作を図20に示す。ここで、S2001〜S2006は、図17のS1701〜S1706と同じである。S2006で、第1チェインの検証が成立した場合に、署名検証部203は、第2署名サーバ3に、第2保管証を伴う第2チェイン検証要求を、ネットワークIF部201を介して、第2署名サーバ3に送信し(S2007)、第2署名サーバ3から検証結果が送られてくるのを待つ(S2008)。そして、その結果をクライアント端末1に送信する(S2009)。
【0118】
また、上記の場合の原本確認処理における第2署名サーバ3の動作を、図21に示す。ここで、S2101〜S2102は、図18のS1801〜S1802と同じである。また、S2104〜S2108は、図17のS1709〜S1713と同じであり、この処理を第2署名サーバ3の署名検証部303が行なう。そして、検証結果を第1署名サーバ2に送信する(S2109)。
【0119】
また、上記の実施形態において、サーバ2〜4は、複数のコンピュータがネットワーク接続されて構成されたシステム上に構築されるようにしてもよい。例えば、第1署名サーバ2を、署名生成を行なうサーバ、生成された署名を保管するサーバ、および、署名検証を行なうサーバに分けてもよい。
【0120】
さらに、上記の実施形態では、複数の第1署名サーバおよびこれらを配下とする第2署名サーバの2階層で原本保証システムを構成した場合を例にとり説明した。しかし、本発明はこれに限定されない。例えば、複数の第1署名サーバを配下とする第2署名サーバを複数設け、さらに複数の第2署名サーバを配下とする第3署名サーバを設けて、この第3署名サーバに、公開サーバへの情報公開依頼を行なわせるようにしてよい。本発明は、このように複数階層の署名サーバで原本保証システムを構成する場合にも適用できる。
【0121】
【発明の効果】
以上説明したように、本発明によれば、チェイン署名のログリストを利用して原本の正当性を保証する場合に、リスト公開の手間を低減することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態が適用された原本保証システムの概略構成図である。
【図2】図1に示すクライアント端末1の概略図である。
【図3】第1保管証のデータ構成例を示す図である。
【図4】図1に示す第1署名サーバ2の概略図である。
【図5】第2保管証のデータ構成例を示す図である。
【図6】図4に示す記憶部204の構成を示す図である。
【図7】図6に示す第1ログリスト保管部2044の登録内容例を示す図である。
【図8】図1に示す第2署名サーバ3の概略図である。
【図9】図8に示す記憶部304の構成を示す図である。
【図10】図9に示す第2ログリスト保管部3043の登録内容例を示す図である。
【図11】図1に示す公開サーバ4の概略図である。
【図12】原本保証処理におけるクライアント端末1の動作を説明するためのフロー図である。
【図13】原本保証処理における第1署名サーバ2の動作を説明するためのフロー図である。
【図14】原本保証処理における第2署名サーバ3の動作を説明するためのフロー図である。
【図15】原本保証処理の流れを説明するための図である。
【図16】原本確認処理におけるクライアント端末1の動作を説明するためのフロー図である。
【図17】原本確認処理における第1署名サーバ2の動作を説明するためのフロー図である。
【図18】原本確認処理における第2署名サーバ3の動作を説明するためのフロー図である。
【図19】原本確認処理の流れを説明するための図である。
【図20】原本確認処理における第1署名サーバ2の動作の変形例を説明するためのフロー図である。
【図21】
原本確認処理における第2署名サーバ3の動作の変形例を説明するためのフロー図である。
【図22】
第1チェイン署名の生成方法を説明するための図である。
【図23】
第2チェイン署名の生成方法を説明するための図である。
【符号の説明】
1…クライアント端末、2…第1署名サーバ、3…第2署名サーバ、4…公開サーバ、5…ネットワーク、101…ネットワークIF部、102…ユーザIF部、103…記憶部、104…依頼処理部、201…ネットワークIF部、202…署名生成部、203…署名検証部、204…記憶部、301…ネットワークIF部、302…署名生成部、303…署名検証部、304…記憶部、401…ネットワークIF部、402…記憶部、403…情報管理部
Claims (17)
- 複数の第1署名サーバと、前記複数の第1署名サーバを配下とする第2署名サーバとを用いて、原本の正当性を保証する原本保証方法であって、
原本の正当性を保証するための署名生成に際して、
(1)前記第1署名サーバは、
保証対象の原本としてn(≧2)番目のデジタルデータを受け取ると、n番目のデジタルデータおよび第1ログリストに登録されているn−1番目の第1チェイン署名に対するデジタル署名を生成し、これをn番目の第1チェイン署名として、n番目のデジタルデータに対応付けて前記第1ログリストに追加する第1ログリスト登録ステップと、
このn番目の第1チェイン署名を含む第1保管証を、n番目のデジタルデータの送信元に送信する第1保管証送信ステップと、
前記第1ログリスト中のm(≧2)番目の第1チェイン署名を前記第2署名サーバに送信して、前記第2署名サーバよりm番目の第1チェイン署名に対する第2保管証を受け取り、これを保管する第2保管証受信ステップと、を行い、
(2)前記第2署名サーバは、
前記第1署名サーバよりj(≧2)番目の第1チェイン署名を受け取ると、j番目の第1チェイン署名および第2ログリストに登録されているj−1番目の第2チェイン署名に対するデジタル署名を生成し、これをj番目の第2チェイン署名として、j番目の第1チェイン署名に対応付けて前記第2ログリストに追加する第2ログリスト登録ステップと、
このj番目の第2チェイン署名を含む第2保管証を、前記第1署名サーバに送信する第1の第2保管証送信ステップと、
前記第2ログリスト中のk(≧2)番目の第2チェイン署名を外部サーバに送信する送信管理ステップと、を行うこと
を特徴とする原本保証方法。 - 請求項1記載の原本保証方法であって、
前記外部サーバは、前記第2署名サーバより受け取った第2チェイン署名を、ブラウザ端末が閲覧可能に保持すること
を特徴とする原本保証方法。 - 請求項1または2記載の原本性保証方法であって、
原本の正当性の検証に際して、
(3)前記第1署名サーバは、
検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン署名を検証する処理を、順番に行なう第1ログリスト検証ステップと、
前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信することにより、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から前記第2署名サーバが前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各第2チェイン署名を含む前記第2ログリストの一部を、入手する第2ログリスト入手ステップと、
e番目の第2チェイン署名からf番目の第2チェイン署名までの各々について、前記第2ログリストの一部に含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理を、順番に行なう第2ログリスト検証ステップと、を行ない、
(4)前記第2署名サーバは、
前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe番目の第2チェイン署名から前記外部サーバに送信したf番目の第2チェイン署名までの各第2チェイン署名を含む、前記第2ログリストの一部を、前記第2ログリストから読み出して、前記第1署名サーバへ送信する第2ログリスト送信ステップを、行なうこと
を特徴とする原本保証方法。 - 請求項3記載の原本保証方法であって、
原本の正当性の検証に際して、
前記第1署名サーバは、検証対象の原本に対する第1保管証に含まれているh番目の第1チェイン署名と、前記第1ログリストに登録されているh番目の第1チェイン署名とを比較して、前記h番目の第1チェイン署名の検証を行なうこと
を特徴とする原本保証方法。 - 請求項3または4記載の原本保証方法であって、
原本の正当性の検証に際して、
前記第1署名サーバは、前記第2署名サーバに送信した第2保管証に含まれているe番目の第2チェイン署名と、前記第2署名サーバより受信した前記第2ログリストの一部に登録されているe番目の第2チェイン署名とを比較して、前記e番目の第2チェイン署名の検証を行なうこと
を特徴とする原本保証方法。 - 請求項3、4または5記載の原本保証方法であって、
原本の正当性の検証に際して、
前記第1署名サーバは、前記第2署名サーバが外部サーバに送信したf番目の第2チェイン署名を入手し、これと前記第2署名サーバより受信した前記第2ログリストの一部に登録されているf番目の第2チェイン署名とを比較して、前記f番目の第2チェイン署名の検証を行なうこと
を特徴とする原本保証方法。 - 請求項1または2記載の原本保証方法であって、
原本の正当性の検証に際して、
(3)前記第1署名サーバは、
検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン署名を検証する処理を、順番に行なう第1ログリスト検証ステップと、
前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信する第2保管証送信ステップと、を行ない、
(4)前記第2署名サーバは、
前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から、前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各々について、前記第2ログリストに含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理を、順番に行なう第2ログリスト検証ステップを、行なうこと
を特徴とする原本保証方法。 - 請求項7記載の原本保証方法であって、
原本の正当性の検証に際して、
前記第1署名サーバは、検証対象の原本に対する第1保管証に含まれているh番目の第1チェイン署名と、前記第1ログリストに登録されているh番目の第1チェイン署名とを比較して、前記h番目の第1チェイン署名の検証を行なうこと
を特徴とする原本保証方法。 - 請求項7または8記載の原本保証方法であって、
原本の正当性の検証に際して、
前記第2署名サーバは、前記第1署名サーバより受信した第2保管証に含まれているe番目の第2チェイン署名と、前記第2ログリストの一部に登録されているe番目の第2チェイン署名とを比較して、前記e番目の第2チェイン署名の検証を行なうこと
を特徴とする原本保証方法。 - 請求項7、8または9記載の原本保証方法であって、
原本の正当性の検証に際して、
前記第2署名サーバは、前記第2署名サーバが前記外部サーバに送信したf番目の第2チェイン署名を前記外部サーバから入手し、これと前記第2ログリストの一部に登録されているf番目の第2チェイン署名とを比較して、前記f番目の第2チェイン署名の検証を行なうこと
を特徴とする原本保証方法。 - コンピュータで読み取り可能なプログラムであって、
前記プログラムは、前記コンピュータに、請求項1、2、3、4、5、6、7、8、9または10記載の原本保証方法における前記第1署名サーバでの各ステップを行なわせること
を特徴とするプログラム。 - コンピュータで読み取り可能なプログラムであって、
前記プログラムは、前記コンピュータに、請求項1、2、3、4、5、6、7、8、9または10記載の原本保証方法における前記第2署名サーバでの各ステップを行なわせること
を特徴とするプログラム。 - 原本の正当性を保証する原本保証システムであって、
複数の第1署名サーバと、前記複数の第1署名サーバを配下とする第2署名サーバとを有し、
前記複数の第1署名サーバ各々は、
保証対象の原本としてn(≧2)番目のデジタルデータを受け取ると、n番目のデジタルデータおよび第1ログリストに登録されているn−1番目の第1チェイン署名に対するデジタル署名を生成し、これをn番目の第1チェイン署名として、n番目のデジタルデータに対応付けて、記憶装置に格納されている前記第1ログリストに追加する処理と、
このn番目の第1チェイン署名を含む第1保管証を、n番目のデジタルデータの送信元に送信する処理と、
前記第1ログリスト中のm(≧2)番目の第1チェイン署名を前記第2署名サーバに送信して、前記第2署名サーバよりm番目の第1チェイン署名に対する第2保管証を受け取り、これを記憶装置に保管する処理と、を行ない、
前記第2署名サーバは、
前記第1署名サーバよりj(≧2)番目の第1チェイン署名を受け取ると、j番目の第1チェイン署名および第2ログリストに登録されているj−1番目の第2チェイン署名に対するデジタル署名を生成し、これをj番目の第2チェイン署名として、j番目の第1チェイン署名に対応付けて、記憶装置に格納されている前記第2ログリストに追加する処理と、
このj番目の第2チェイン署名を含む第2保管証を、前記第1署名サーバに送信する処理と、
前記第2ログリスト中のk(≧2)番目の第2チェイン署名を外部サーバに送信する処理と、を行なうこと
を特徴とする原本保証システム。 - 請求項13記載の原本性保証システムであって、
前記複数の第1署名サーバ各々は、
検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン署名を検証する処理を、順番に行なう処理と、
前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信することにより、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から前記第2署名サーバが前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各第2チェイン署名を含む前記第2ログリストの一部を、入手する処理と、e番目の第2チェイン署名からf番目の第2チェイン署名までの各々について、前記第2ログリストの一部に含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2ログリストを検証する処理を、順番に行なう処置と、をさらに行ない、
前記第2署名サーバは、
前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe番目の第2チェイン署名から前記外部サーバに送信したf番目の第2チェイン署名までの各第2チェイン署名を含む前記第2ログリストの一部を、前記第2ログリストから読み出して、前記第1署名サーバへ送信する処理を、さらに行なうこと
を特徴とする原本保証システム。 - 請求項14記載の原本保証システムであって、
前記複数の第1署名サーバ各々は、
検証対象の原本に対する第1保管証を受け取ると、当該第1保管証に含まれているh(≧1)番目の第1チェイン署名から、前記第2署名サーバに送信したi(>h)番目の第1チェイン署名までの各々について、前記第1ログリストに含まれているd(h<d≦i)番目の第1チェイン署名とd−1番目の第1チェイン署名とを用いて、d番目の第1チェイン署名を検証する処理を、順番に行なう処理と、
前記第2署名サーバへのi番目の第1チェイン署名の送信により前記第2署名サーバより受け取った第2保管証を、前記第2署名サーバへ送信する処理と、をさらに行ない、
前記第2署名サーバは、
前記第1署名サーバより第2保管証を受け取ると、当該第2保管証に含まれているe(≧1)番目の第2チェイン署名から、前記外部サーバに送信したf(>e)番目の第2チェイン署名までの各々について、前記第2ログリストに含まれているc(e<c≦f)番目の第2チェイン署名とc−1番目の第2チェイン署名とを用いて、c番目の第2チェイン署名を検証する処理を、順番に行なう処理を、さらに行なうこと
を特徴とする原本保証システム。 - 請求項13、14または15記載の原本保証システムに用いられることを特徴とする第1署名サーバ。
- 請求項13、14または15記載の原本保証システムに用いられることを特徴とする第2署名サーバ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002192870A JP2004040344A (ja) | 2002-07-02 | 2002-07-02 | 原本保証方法および原本保証システム |
| US10/234,462 US7249258B2 (en) | 2002-07-02 | 2002-09-05 | Method and system for assuring an original |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002192870A JP2004040344A (ja) | 2002-07-02 | 2002-07-02 | 原本保証方法および原本保証システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004040344A true JP2004040344A (ja) | 2004-02-05 |
Family
ID=29996984
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002192870A Pending JP2004040344A (ja) | 2002-07-02 | 2002-07-02 | 原本保証方法および原本保証システム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7249258B2 (ja) |
| JP (1) | JP2004040344A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006279761A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | 原本保証方法および原本保証システム |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040143661A1 (en) * | 2003-01-14 | 2004-07-22 | Akio Higashi | Content history log collecting system |
| SG176317A1 (en) * | 2003-02-21 | 2011-12-29 | Research In Motion Ltd | System and method of multiple-level control of electronic devices |
| DE10311634A1 (de) * | 2003-03-14 | 2004-09-30 | Authentidate International Ag | Elektronisches Übermitteln von Dokumenten |
| US7370206B1 (en) * | 2003-09-04 | 2008-05-06 | Adobe Systems Incorporated | Self-signing electronic documents |
| JP4036838B2 (ja) * | 2004-03-12 | 2008-01-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | セキュリティ装置、情報処理装置、セキュリティ装置が実行する方法、情報処理装置が実行する方法、該方法を実行させるための装置実行可能なプログラムおよびチケット・システム |
| JP2008502058A (ja) * | 2004-05-18 | 2008-01-24 | シルバーブルック リサーチ ピーティワイ リミテッド | セキュリティ文書を追跡する方法およびコンピュータシステム |
| US7949666B2 (en) * | 2004-07-09 | 2011-05-24 | Ricoh, Ltd. | Synchronizing distributed work through document logs |
| JP4783112B2 (ja) * | 2005-10-11 | 2011-09-28 | 株式会社日立製作所 | 署名履歴保管装置 |
| JP2007304982A (ja) * | 2006-05-12 | 2007-11-22 | Canon Inc | 電子文書管理装置、電子文書管理方法、及びコンピュータプログラム |
| EP2565811B1 (en) * | 2006-07-18 | 2016-02-03 | Certicom Corp. | System and method for authenticating a gaming device |
| US8479004B2 (en) | 2006-08-31 | 2013-07-02 | Ricoh Co., Ltd | Paper-based document logging |
| US8006094B2 (en) | 2007-02-21 | 2011-08-23 | Ricoh Co., Ltd. | Trustworthy timestamps and certifiable clocks using logs linked by cryptographic hashes |
| US9223784B2 (en) * | 2007-03-28 | 2015-12-29 | Ricoh, Co., Ltd. | Method and apparatus for archiving media using a log |
| US8996483B2 (en) * | 2007-03-28 | 2015-03-31 | Ricoh Co., Ltd. | Method and apparatus for recording associations with logs |
| US20080243688A1 (en) * | 2007-03-28 | 2008-10-02 | Hart Peter E | Method and Apparatus for Recording Transactions with a Portable Logging Device |
| US20090238365A1 (en) * | 2008-03-20 | 2009-09-24 | Kinamik Data Integrity, S.L. | Method and system to provide fine granular integrity to digital data |
| KR101007521B1 (ko) * | 2008-07-23 | 2011-01-18 | (주)에스알파트너즈 | 전문가의 전자서명을 이용한 문서 인증 시스템 및 방법 |
| US8185733B2 (en) * | 2008-10-02 | 2012-05-22 | Ricoh Co., Ltd. | Method and apparatus for automatically publishing content based identifiers |
| US8464249B1 (en) | 2009-09-17 | 2013-06-11 | Adobe Systems Incorporated | Software installation package with digital signatures |
| JP5105291B2 (ja) * | 2009-11-13 | 2012-12-26 | セイコーインスツル株式会社 | 長期署名用サーバ、長期署名用端末、長期署名用端末プログラム |
| US20120173874A1 (en) * | 2011-01-04 | 2012-07-05 | Qualcomm Incorporated | Method And Apparatus For Protecting Against A Rogue Certificate |
| US9178862B1 (en) * | 2012-11-16 | 2015-11-03 | Isaac S. Daniel | System and method for convenient and secure electronic postmarking using an electronic postmarking terminal |
| US20140257893A1 (en) * | 2013-03-08 | 2014-09-11 | Gerard Nicol | Method and System for Certification |
| AU2016309943A1 (en) | 2015-08-14 | 2018-04-12 | Identitii Pty Ltd | A computer implemented method for processing a financial transaction and a system therefor |
| EP3491480B1 (en) * | 2016-07-29 | 2022-10-19 | Magic Leap, Inc. | Secure exchange of cryptographically signed records |
| US10311224B1 (en) * | 2017-03-23 | 2019-06-04 | Amazon Technologies, Inc. | Digitally sealing equipment for authentication of components |
| EP3719731A4 (en) * | 2017-11-28 | 2021-01-13 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD AND PROGRAM |
| CN110349351A (zh) * | 2018-04-02 | 2019-10-18 | 菜鸟智能物流控股有限公司 | 一种物流对象管理设备的解锁方法和系统 |
| PL3554001T3 (pl) * | 2018-04-11 | 2022-02-28 | Ubirch Gmbh | Sposób zabezpieczonego przesyłania i sposób zabezpieczonej dwukierunkowej wymiany elektronicznych pakietów danych w sieci |
| US11949784B2 (en) | 2020-05-13 | 2024-04-02 | Ridgeline, Inc. | Auditing for events |
| US11818259B2 (en) | 2020-05-13 | 2023-11-14 | Ridgeline, Inc. | Query and projection processing for events |
| US11233640B2 (en) | 2020-05-13 | 2022-01-25 | Ridgeline, Inc. | Mutation processing for events |
| CN117335988B (zh) * | 2023-11-30 | 2024-03-12 | 中国信息通信研究院 | App的电子标识生成、标注、安全校验方法及设备 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5136646A (en) | 1991-03-08 | 1992-08-04 | Bell Communications Research, Inc. | Digital document time-stamping with catenate certificate |
| JP3278721B2 (ja) | 1990-08-02 | 2002-04-30 | テルコーディア テクノロジーズ、インコーポレーテッド | 数値文書にタイムスタンプを確実に押す方法 |
| US5956404A (en) | 1996-09-30 | 1999-09-21 | Schneier; Bruce | Digital signature with auditing bits |
| US6868406B1 (en) * | 1999-10-18 | 2005-03-15 | Stamps.Com | Auditing method and system for an on-line value-bearing item printing system |
| JP3873603B2 (ja) | 1999-10-22 | 2007-01-24 | 株式会社日立製作所 | ディジタル署名方法および装置 |
-
2002
- 2002-07-02 JP JP2002192870A patent/JP2004040344A/ja active Pending
- 2002-09-05 US US10/234,462 patent/US7249258B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006279761A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | 原本保証方法および原本保証システム |
Also Published As
| Publication number | Publication date |
|---|---|
| US7249258B2 (en) | 2007-07-24 |
| US20040006692A1 (en) | 2004-01-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2004040344A (ja) | 原本保証方法および原本保証システム | |
| US11151582B2 (en) | Smart logistics management using blockchain | |
| JP5060009B2 (ja) | デジタルレコードを自己認証するための方法及び装置 | |
| US8190903B2 (en) | Method and apparatus for verifying authenticity of digital data using trusted computing | |
| JP2024507908A (ja) | Ssiを用いたブロックチェーンネットワークアイデンティティ管理 | |
| KR20200106000A (ko) | 블록체인-기반 디지털 인증서를 구현하기 위한 시스템 및 방법 | |
| JP2022070868A (ja) | デジタル文書の存在を証明する方法、そのためのシステム、及びタグチェーンブロックチェーンシステム | |
| JP4827468B2 (ja) | 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
| US11568066B2 (en) | Incorporating at-rest data encryption into a cloud-based storage architecture | |
| WO1999049607A2 (en) | Method and apparatus for verifying the integrity of digital objects using signed manifests | |
| CN102521731A (zh) | 基于易货系统的电子合同签章方法 | |
| CN115380303A (zh) | 基于区块链的可信平台 | |
| EP4307153A1 (en) | Tamper-evident storage of media streams | |
| CN113302610B (zh) | 基于区块链的可信平台 | |
| US8677133B1 (en) | Systems and methods for verifying an electronic documents provenance date | |
| JP4302035B2 (ja) | タイムスタンプサービスシステム及びタイムスタンプ情報検証サーバ装置並びにコンピュータ・ソフトウエア | |
| JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
| US20080109651A1 (en) | System and methods for digital file management and authentication | |
| US20220327572A1 (en) | Advertisement distribution guarantee apparatus, advertisement distribution guarantee method, and computer-readable recording medium | |
| CN111783135A (zh) | 一种基于dnssec的数据可信服务实现方法 | |
| US11516002B1 (en) | Tracking history of a digital object using a cryptographic chain | |
| CN118435188A (zh) | 用于证明数字文档存在、匿名证明数字文档的存在以及验证数字文档的数据完整性的计算机实现的方法 | |
| Chen et al. | Privacy-aware image authentication from cryptographic primitives | |
| JP2005012490A (ja) | ディジタル署名方式 | |
| TWI569166B (zh) | 資料驗證方法 |