JP4563577B2 - トランジエント鍵ディジタルスタンプ方法およびシステム - Google Patents

トランジエント鍵ディジタルスタンプ方法およびシステム Download PDF

Info

Publication number
JP4563577B2
JP4563577B2 JP2000513384A JP2000513384A JP4563577B2 JP 4563577 B2 JP4563577 B2 JP 4563577B2 JP 2000513384 A JP2000513384 A JP 2000513384A JP 2000513384 A JP2000513384 A JP 2000513384A JP 4563577 B2 JP4563577 B2 JP 4563577B2
Authority
JP
Japan
Prior art keywords
key
period
data
time stamp
public key
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.)
Expired - Fee Related
Application number
JP2000513384A
Other languages
English (en)
Other versions
JP2001517818A (ja
Inventor
マイクル ディー. ドイル、
Original Assignee
プルーフスペース インコーポレイテッド
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 プルーフスペース インコーポレイテッド filed Critical プルーフスペース インコーポレイテッド
Publication of JP2001517818A publication Critical patent/JP2001517818A/ja
Application granted granted Critical
Publication of JP4563577B2 publication Critical patent/JP4563577B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Circuits Of Receivers In General (AREA)

Description

【0001】
(技術分野)
本発明は、データのディジタルタイムスタンプ方法に関し、特に、特定の時間間隔で生成される鍵のペアを連鎖させていくことによって、第三者の検証を必要とせずにデータにディジタルタイムスタンプを押す方法およびシステムに関する。
【0002】
(技術背景)
証拠保存(chain of evidence)の概念は、米国の司法制度の長年の基本原則であった。ある証拠がある時点で存在したこと、そして、その証拠が実質的に変化していないことを証明できるかどうかによって、法的状況が決まることは多々ある。可能性のある証拠のほとんどが重要物件から成る場合、問題の証拠物件の真正性を証言する「一連の証人」による手続きを必要としてきた。歴史的にみても、法廷は、証拠が限られた人数の個人の管理下にあり、かつ、全員が物件の場所および状態について証言し得た場合に、その証拠の信憑性を認めてきた。
【0003】
もちろん、このような制度は、信頼するに値する証人が存在し、その証人がどんな状況でも証言してくれるかどうかにかかっている。証人はいても信頼するに足りなかったり、信頼はできるが証人になってくれないという事態が、しばしば起きる。特に、ある特定の文書について、いつ作成され、サインされたかという詳細な事実が問題になっている場合にはそうである。したがって、任意の状況で必要な証人を簡単に確保できるシステムが望まれている。
【0004】
現実の多くの活動分野で証拠認証が重要であるため、職業的な正式な文書認証制度が生まれた。公証人制度がそれである。公証人は、手数料を取って、文書の存在や、文書の所持者あるいはその文書にサインした者の身元を認証するが、文書の実際の内容について知得したことは断言できない。公証人には自分が公証した文書のコピーを永久に保管しておく義務はないからである。そのような義務は非現実的な要請である。公証人制度が信頼に足るとされているのは、公証人の印と署名を捏造したり、公証人を買収するのは非現実的であり、まず起こらないだろうと一般に信じられているからである。しかし、コンピュータグラフィックとデスクトップの印刷技術の発達につれて、文書や署名の偽造がそれほど困難ではなくなってきた。このため、カリフォルニア州を始めとするいくつかの州で、公証人による文書認証をもはや絶対的な証拠としては認めていない。
【0005】
個人的な取引やビジネスとしての商取引がディジタル方式で行われるようになるにつれて、公証人制度のような認証メカニズムの有用性は失われつつある。情報のほとんどはコンピュータデータベース管理システムを通じて保存され、アクセスされ、管理されている。主要なデータベースシステムはいずれも、記録データにタイムスタンプを押すことを認めている。多くの商業システムや政府のシステムは、データベースのタイムスタンプの真正性を前提としている。この前提は、信用のある組織であれば、そのデータベースのタイムスタンプも信頼できるだろうという考えの上に成り立っているが、実際問題として、この主張は、文学的に言う「疑問はさておく」ことがかなり必要である。組織が信頼できるものではあっても、その組織に含まれる個々の人間すべてが信頼できるとは限らないし、現存のコンピュータデータベースシステムには、不正な個人のタンパリングやハッキングに対する免疫がないことは周知の事実だからである。
【0006】
この問題を解決するアプローチのひとつとして、公開鍵暗号技術に基づく方法がある。この種の最もよく知られたシステムは、マサチューセッツ工科大学で配布されたプリティ・ゴッド・プライバシー(PGP)と呼ばれるプログラムである。このプログラムは、RSA(Rivest-Shamir-Adleman)公開鍵暗号システムを利用している。このシステムは、安全な通信と感知可能データの認証の双方を可能にする。公開鍵システムは、暗号化/復号化の各イベントに暗号鍵のペアを用いる。ペアのうちひとつは、鍵所持者によって秘密にされる秘密鍵であり、もうひとつは、公開される公開鍵である。ペアのうちいずれかの鍵によって暗号化されたメッセージは、もう一方の鍵でなければ復号することができない。
【0007】
RSA暗号システムでは、ある者(第1の個人)が、別の者(第2の個人)の公開鍵を使ってデータの暗号化を行い、暗号化したメッセージを安全ではない通信路を介して、第2の個人に送ることができる。この暗号メッセージは、第2の個人が有する秘密鍵を使用しない限り復号化できない。すなわち、暗号前の平文には、前記第2の個人しかアクセスすることができない。
【0008】
第2の個人の公開鍵を用いて平文データを暗号化する前に、第1の個人は、自分自身の秘密鍵でデータを暗号化し、データにディジタル署名することもできる。受信者は、送信者の公開鍵を使ってデータを解読し、そのメッセージが真に本人からのものだと確認することができる。正しい送信者だけがデータに署名する適正な秘密鍵を使用できるからである。このシステムによって、データの機密性と、送信者の身元の認証メカニズムが同時に達成される。
【0009】
また、送信者による暗号化以降、メッセージが変更されずにあることも保証される。公開鍵自体は、信頼できる個人の秘密鍵を使用して署名(ディジタル署名)することによって「証明」される。他の者は、その信頼できる個人の公開鍵を用い、公開された公開鍵を認証することによって、公開鍵の信頼性を得ることができる。後に、前記信頼できる個人が、証明された鍵の有効性を失った場合は、自身の秘密鍵で署名したいわゆる撤回証明書を発行して、以前に証明した公開鍵はもはや信頼することはできない旨を他の者に通知する。
【0010】
公開鍵アルゴリズムは遅いことで有名である。このため、世の中の公開鍵ディジタル署名システムは、「暗号的に強い一方向性ハッシュ関数」を用い、署名されるべきデータから、いわゆる「メッセージダイジェスト」を生成する。メッセージダイジェストは、そのデータに固有の唯一の表現であり、いわばデータの指紋のようなものである。通常、メッセージダイジェストは、もとのデータに比べて随分短い。たとえば、PGPプログラムが使用するメッセージダイジェストは、わずか128ビットの長さである。データを受信者に送信する前に、メッセージダイジェストは送信者の秘密鍵で暗号化される。受信者は送信者の公開鍵を用いて、自動的にメッセージダイジェストを解読し、それが実際にもとのデータであることを検証する。このシステムは、アタッカー(攻撃者)がメッセージダイジェストと同一のメッセージを編み出そうにも計算上実行不可能なので、安全なシステムといえる。PGPソフトウエアパッケージが用いるアルゴリズムを使って128ビットのメッセージダイジェストを模造するには、1012年以上かかると言われている。また、わずか1バイト分のメッセージが変わっただけでも、ハッシュ関数はメッセージダイジェストを暗号化前のデータにマッチングさせることはできない。
【0011】
したがって、公開鍵ディジタル署名は、署名されたデータが本来所定の秘密鍵によって署名されたものであり、署名された時点から変化していないことを紛れもなく証明することができる。PGPのようなシステムは、暗号鍵ペアの生成時とディジタル署名がされる都度、ルーチンでタイムスタンプを押す。しかしながら、このようなタイムスタンプは使用するコンピュータの内部クロックにのみ頼っている。したがって、ディジタル署名がある特定の時間に生成されたと見せかけるために、故意にコンピュータの時間を変更することによって、容易に偽造される。
【0012】
このような理由で、公開鍵ディジタル署名により、インターネット上に出されたディジタル情報等を有料で公証する、新しいタイプの公証人が出現している。このような「ディジタル公証人」は、基本的に、認証サービスを行い、オリジナルデータの内容と、それに署名された時間の真正性を証明するものである。これは、従来の公証人の概念からみて大きな進歩である。ディジタル公証人サービスは、公証人によってディジタル方式で署名されたデータがある特定の時間に存在しており、その時依頼、データ変更されていないという事実を立証することができるからである。
【0013】
しかしながら、ディジタル公証人サービスの最大の問題点は、ディジタル公証人サービスによって生成されたディジタル署名の信憑性は、ひとえにそのようなサービスを提供する組織または個人の信頼性に頼っている点である。本発明は、この問題を解決するために創案された。
【0014】
すなわち、本発明は、ディジタル公証人サービスを行う組織や個人の信頼性に依らずに、ディジタル署名タイムスタンプの真正性を自動的かつ厳密に証明することのできるシステムの提供を目的とする。本発明の一実施形態では、トランジエント鍵ディジタル署名によって、この目的を達成する。
【0015】
(発明の要旨)
本発明の一実施形態によれば、破ることのできない確実な公開鍵ディジタル署名タイムスタンプが生成され、使用される。このタイムスタンプシステムは、たとえば、ある時間間隔においてのみ存在する使い捨て(transient)秘密暗号鍵のコンセプトに基づく。使い捨て秘密鍵は、ある期間においてのみ使用され、その期間中に送られてきたデータにディジタル署名する。その期間が終了すると、この秘密鍵は永久に破壊される。各期間に対応する公開鍵は、将来の認証に備えて保管され、タイムスタンプが押されたデータの内容および、そのデータが作成された時間の認証に用いられる。公開鍵の有効性は、各期間での公開鍵を、ひとつ前の期間での秘密鍵を用いて証明(たとえば署名)することによって保証される。秘密鍵はその直後に破壊される。
【0016】
(発明の実施の形態)
本発明の一実施形態では、ディジタルタイムスタンプ方法により、1以上のデータが任意の時間間隔において存在したこと、およびそれらのデータがその期間以降変化していないことを確実に証明するメカニズムを提供する。この方法のすぐれた特徴は、反論の余地のない証拠の確実性をユーザに保証できる点にある。実際、本発明のタイムスタンプ方法で生成されたタイムスタンプ証明書の真正性を否定するのは困難である。本発明のシステムは、外部の証明機関やタイムトラッキング(追跡)システムの信頼性、あるいはそのようなシステムの出現に依存するものではない。本発明では、生成されたタイムスタンプの認証に必要とされるのは、タイムスタンプが押されたデータと、タイムスタンプ証明書の署名と、タイムスタンプ証明書が作成された期間における公開鍵と、標準的な公開鍵認証プログラムだけである。公開鍵認証プログラムとしては、たとえばPGPの無料あるいは有料プログラムがある。また、J/CRYPTO Professional Cryptography Classes for Java Developers(http://www.baltimore.ie/products/jcrypto/index.html)などの公開鍵暗号化プログラムも本発明に使用できる。本発明は、どのようなタイプのコンピュータデータの証明にも適用することができる。
【0017】
本発明の使い捨て鍵(transient-key)ディジタルタイムスタンプ方法を用いたシステムは、たとえばインターネットサーバとして設定して、すべての証明要求に対して無料でタイムスタンプを押すことができる。このようなシステムによれば、感知可能データの機密性を損なうことなく、その情報の作成時と内部状態とを証明することが可能になる。また、本発明のタイムスタンプ方法は、たとえば文書管理システムに適切に適用することができる。また、医療記録や金融取引などの重要機密書類の認証に用いることもできる。本発明の方法は、任意の計算プラットフォームに容易に適応可能であり、特定の公開鍵アルゴリズムに依存することもない。
【0018】
図1は本発明の一実施形態に係るディジタルタイムスタンプ方法のフローチャートである。まず、ステップ1010で、期間tnにおける鍵のペアを生成する。周知のように、鍵のペアとは、公開鍵と秘密鍵のペアである。期間は任意の時間間隔に設定することができ、たとえば、1秒間隔、10秒間隔、1分間隔、10分間隔などとする。現在の期間をtnとする。ステップ1020で、期間tnにタイムスタンプ要求があるかどうかを判断する。期間tnにタイムスタンプが要求がない場合は、nを1だけインクリメントしてステップ1010に戻り、次の期間tn+1における鍵のペアを生成する。
【0019】
期間tnでタイムスタンプ要求があった場合は、ステップ1030に進み、タイムスタンプ要求に後続するデータに、自動署名する。自動署名は、たとえば従来のように、このデータのメッセージダイジェストを作成し、期間tnの秘密鍵を用いてメッセージダイジェストを自動的に暗号化することによって行う。データに署名した結果、タイムスタンプの署名だけを期間tnの公開鍵で暗号化することになる。ステップ1040で、タイムスタンプ証明書を生成して、タイムスタンプ要求元に配布し、データの一時的存在を示す。ステップ1050で、期間tnで別のタイムスタンプ要求があるかどうかを判断する。
【0020】
別のタイムスタンプ要求がない場合は、ステップ1060で、期間tnの秘密鍵を削除して、nを1だけインクリメントしてステップ1010に戻り、次の期間tn+1の鍵のペアを生成する。別のタイムスタンプ要求があった場合は、ステップ1030に戻り、処理を繰り返す。ステップ1060に示すように、期間tnでの秘密鍵は、この期間の最後に削除され、一方、公開鍵は、たとえばその後にタイムスタンプの解読などに用いられることもあるので、保管される。このように、本発明の特徴として、各期間ごとに異なる秘密鍵を使用して、その期間に受け取られたタイムスタンプ要求と関連するデータに、自動的にタイムスタンプを押す。
【0021】
すなわち、図1のフローチャートに示す本発明の方法は、従来のタイムスタンプ方法と異なり、各期間ごとに異なる鍵のペアを生成し、その期間に受け取ったタイムスタンプ要求に付随するデータについて、その期間に固有の秘密鍵で自動的に署名し、期間の終了時に、その秘密鍵を消去する。従来のシステムは、すべてのタイムスタンプ要求に対して、単一の秘密鍵を用いて署名し、一般にタイムスタンプを実行するコンピュータシステムに基づいた異なるメカニズムを採用して、データにタイムスタンプを押していた。また、たとえば本件特許出願に参照文献として組み込まれている米国特許第5,136,647号等に開示されるシステムは、本発明のシステムとは異なり、ドキュメントが順次提出されると、各ドキュメントを署名して、タイムスタンプ用に暗号化されたメッセージダイジェストを生成し、メッセージダイジェストを連鎖させていた。
【0022】
図2Aは、本発明の別の実施形態に係るディジタルタイムスタンプ方法のフローチャートである。まず、ステップ2010で、鍵のペアを生成する。周知のように、鍵のペアは秘密鍵と公開鍵とから成る。鍵のペアは、本実施形態のタイムスタンプ方法の実行システムによって、所定の時間間隔ごとに生成される。タイムスタンプ実行システムは、たとえば、マイクロプロセッサベースのパーソナルコンピュータやサーバなどの既存の汎用コンピュータを含む。本発明の方法は、たとえば、クライアント−サーバコンピュータシステムアーキテクチャを実行するソフトウエアとして実行される。時間間隔は、毎秒、10秒ごと、毎分、10分ごとなど、任意に設定することができる。現在の期間をtn、次の期間をtn+1とすると、ドキュメントにタイムスタンプを押す目的であれば、分単位程度の精度でもよい。
【0023】
ステップS2020で、期間tn+ において、別の秘密鍵と公開鍵とから成る次の鍵のペアを生成する。ステップS2010とS2020で鍵のペアを生成するには、PGP等の既存のタイムスタンプシステムを変更して、所定の時間間隔ごとに鍵のペアを新しく生成するようにすればよい。既存の既存のディジタルタイムスタンプシステムは、ユーザがユーザI/Oから鍵ペア生成に必要な情報(たとえばPGPに要求されるパスフレーズやランダムシードなど)を入力して、鍵のペアを生成できるように設計されている。そのようなシステムのソースコードを変更して、鍵ペア生成アルゴリズムに送られるパスフレーズとランダムシードを各時間間隔ごとに自動的に生成するように設定すると、通常はユーザによって入力される情報が自動的に与えられることになる。
【0024】
ステップ2030で、期間tn+1の公開鍵を、前回の期間tnの秘密鍵を用いて署名する。この処理は、たとえば、期間tn+1の公開鍵のメッセージダイジェストを、期間tnの秘密鍵を用いて暗号化する。この場合、暗号化された期間tn+1の公開鍵は、期間tnの公開鍵を使用しないと復号できない。期間tn+ の公開鍵を期間tnの秘密鍵を使用して暗号化するには、たとえば、PGPソフトウエア(ある鍵が別の鍵を署名することを命令するシングルコマンドライン)などの既存のソフトウエアの制御に基づくスクリプトを用いる。ステップ2040で、期間tnの秘密鍵を消去する。すなわち、期間tnの秘密鍵は、この期間の間と、次の期間tn+1でtn+1の公開鍵を署名するのに必要な時間の間しか存在しない。ステップ2050で、以後の使用に備えて期間tnの公開鍵を保存する。以後の使用とは、たとえば、期間tn+1の公開鍵に押されたタイムスタンプを解読する等である。
【0025】
ステップ2060で、期間tn+1にタイムスタンプ要求があるかどうかを判断する。タイムスタンプ要求がない場合は、ステップ2020に戻り、nの値をさらに1だけインクリメントして、さらに次の期間の鍵のペアを生成する。期間tn+1にタイムスタンプ要求がある場合は、図2Bに示すようにステップ2070に進み、期間tn+1の秘密鍵を使用して、そのタイムスタンプ要求に続くデータに署名する。署名は、たとえば公知のように、タイムスタンプを押すべきデータの一般的なメッセージダイジェストを、期間tn+1の秘密鍵で暗号化することによって行う。期間tn+1の秘密鍵でデータに署名した場合、このタイムスタンプの署名は期間tn+1の公開鍵を用いないと解読できない。上述したように、本発明では、期間tn+1の公開鍵自体にもタイムスタンプが押されており、ひとつ前の期間tnの公開鍵を使用して認証することができる。したがって、2つの連続する期間にわたって鍵が連鎖されたときに、データに押されたタイムスタンプの認証が自動的に確認される。このように、本実施形態では、データ上のタイムスタンプが正確であることを検証する第三者の存在を必要としない。また、期間tnの最後に、次の期間tn+1のための鍵のペアを生成し、あらかじめ証明しておき、期間tn+1の開始時には、すでにこの鍵のペアを使用できる状態にしておく構成としてもよい。
【0026】
ステップ2080で、スタンプ証明書を生成して、証明要求元に配布する。スタンプ証明書は、たとえば、依頼されたデータのディジタル署名と、期間期間tnおよびtn+1の証明済みの公開鍵である。ステップ2090で、期間tn+1に別のタイムスタンプ要求があるかどうかを判断する。他にタイムスタンプ要求がなければ、図2AのB点に戻り、さらに次の期間の鍵のペアを生成する。期間tn+1に別のタイムスタンプ要求がある場合は、ステップ2100で、期間tn+1の秘密鍵を使用してタイムスタンプ要求に引き続くデータに署名する。その後、ステップ2090に戻り、期間tn+1に別のタイムスタンプ要求がなくなるまで、このプロセスを繰り返す。
【0027】
本発明のデータのタイムスタンプ方法は、ソフトウエア、ファームウエア、適切な汎用コンピュータを用いたハードワイヤードロジック等によって実行される。たとえば、本発明のソフトウエアは、任意のプラットフォームで走らせることのできるJavaプログラム言語で書かれている。
【0028】
図3Aは、本発明のタイムスタンプ方法を実行するクライアント−サーバ・アーキテクチャの構成を示す。クライアント−サーバ・アーキテクチャにおいて、タイムスタンププログラムのサーバ部分は、たとえばサーバ3010のメモリ3015である。タイムスタンププログラムは、メモリ3015に接続されたCPU3016で実行される。サーバ3010は、LAN、WAN、インターネットなどのコネクション3030を介して、クライアント装置3020に接続される。クライアント装置3020は、メモリ3025と、これに接続されたCPU3026を有する。メモリ3025は、本発明のタイムスタンプ方法のクライアント用プログラムを格納し、CPU3026で、クライアント用プログラムを実行する。I/O3040は、キーボード、マウスなどであり、これによってユーザは本発明のタイムスタンプ方法にアクセスすることができる。
【0029】
操作において、ユーザはI/O3040からタイムスタンプを押してもらうべきデータを入力する。すると、CPU3026は、メモリ3025に格納されたクライアントアプリケーションプログラムを実行し、周知の方法でこのデータのメッセージダイジェストを生成する。メッセージダイジェストは、コネクション3030を介してサーバ3010に送信される。サーバのCPU3016は、メモリ3015に格納されたアプリケーションプログラムの実行を開始し、メッセージダイジェストにタイムスタンプを押して、コネクション3030を介して、クライアント装置3020にタイムスタンプ証明書を返送する。この処理は、図1、2Aおよび2Bに示すとおりである。
【0030】
図3Aに示すクライアント−サーバ・アーキテクチャを用いた、別の実行例として、クライアント装置3020で署名する構成としてもよい。たとえば、I/O3040を介して、ユーザはタイムスタンプを押すべきデータを入力し、メッセージダイジェストセーを作らずに、コネクション3030を介してサーバ3010にタイムスタンプ要求を送る。このタイムスタンプ要求に応じて、サーバ3010は、現在の期間における鍵のペアを生成する。このとき、本発明の実施形態にしたがって、ひとつ前の期間の鍵のペアを構成する秘密鍵を使用して、現在の公開鍵を署名する。サーバ3010は、現在の期間の鍵のペアと、この期間の秘密鍵のパスフレーズと、ひとつ前の期間の公開鍵とをクライアント装置3020に送り返す。サーバ3010からクライアント装置3020への通信の秘密性を確保するために、コネクション3030は、たとえばSSL(Secure Sockets Layer)を使用した安全な通信路を有する。クライアント装置3020がサーバ3010からの情報を受信したならば、クライアント装置3020は受信した現在の秘密鍵を使用して、公知の方法でタイムスタンプ要求のメッセージダイジェストを生成する。タイムスタンプを生成したならば、使用した秘密鍵のクライアント側コピーとパスフレーズとを即座に消去する。
【0031】
図3Aのクライアント−サーバ・アーキテクチャのさらに別の実行例として、クライアント装置3020は、みずから秘密鍵と公開鍵のペアを生成し、サーバ3010が生成した別の鍵のペアを使用して、自身の公開鍵にタイムスタンプを押す。具体的には、クライアント装置3020は、生成した公開鍵を、コネクション3030を介してサーバ3010に送信する。サーバ3010は、サーバが生成した現在の鍵のペアのうち、秘密鍵を使用して、クライアント装置3020から送られてきた公開鍵に署名する。そして、署名済みの公開鍵と、サーバの公開鍵とを、クライアント装置3020に返送する。一方、クライアント装置3020で生成された秘密鍵を用いて、データにタイムスタンプが押される。タイムスタンプ生成後、クライアント側の秘密鍵は即座に消去される。クライアント側の公開鍵は、サーバ側の秘密鍵で無効にされ、クライアント側公開鍵の無効証明書が発行される。サーバ3010から送られてきた秘密鍵は破壊される。上記の無効証明書は、データの署名、現在のサーバ側公開鍵、前回のサーバ側公開鍵、クライアント側公開鍵とともに、タイムスタンプ証明書に組み込まれる。
【0032】
図3Bは、本発明のタイムスタンプ方法の実行システムの別の構成例を示す図である。図3Bのシステムでは、単一のコンピュータシステム3100で本発明のタイムスタンプ方法を実行する。コンピュータシステム3100は、たとえばリレイショナル・データベース(保存/検索テーブル付データベース)システム、あるいは金融取引システムなどである。コンピュータシステム3100は、メモリ3115と、これに接続されたCPU3116を有する。コンピュータ3100に接続されたI/O3140は、キーボード、マウスなどであり、ユーザは、これを介してタイムスタンプ方法にアクセスすることができる。メモリ3115は、たとえば、タイムスタンプを押すべきデータのメッセージダイジェストを生成する常駐プログラムと、本発明によるタイムスタンププログラムの双方を格納する。
【0033】
図3Bの例では、ユーザはI/O3140からタイムスタンプを押すべきデータを入力してもよいし、データベーストランザクションに応じてシステムが自動的にタイムスタンプを押すべきデータを識別する構成としてもよい。タイムスタンプを押すべきデータを識別したならば、CPU3116はメモリ3115に格納された常駐プログラムを実行し、そのデータのメッセージダイジェストを生成する。メッセージダイジェストは、同じくメモリ3115に格納されているアプリケーションプログラムに送られ、CPU3116は、データにタイムスタンプを押して、タイムスタンプ証明書を常駐プログラムに返送する。常駐プログラムは、タイムスタンプ証明書を、ユーザに向けてI/O3140へ転送する。
【0034】
上述したように、本発明によれば、特定の時間間隔で、秘密鍵と公開鍵のペアが生成され、ある期間に発生したタイムスタンプ要求は、この期間の秘密鍵を用いて自動的に実行される。この秘密鍵は、期間終了後に速やかに消去される。別の例では、ひとつ前の期間の秘密鍵を使用して、現在の期間の公開鍵に署名し、署名後に前回の秘密鍵を消去する。特に、本発明の良好な実施形態では、各期間ごとに異なる鍵のペアが生成され、現在の期間の秘密鍵を使用して、次の期間の公開鍵に署名した後で、現在の秘密鍵が消去される。また、鍵のペアはすべての期間に連続して生成される必要はなく、タイムスタンプ要求があった期間にのみ、キューによって生成、選択される構成としてもよい。
【0035】
本発明のタイムスタンプ方法は、公開鍵暗号方法を新規な方式で利用する。すなわち、鍵のペアを、固定エンティティ(データ、プログラム等)に対応して生成するのではなく、一過的な時間間隔に対応して生成する。次に、これらの鍵と、鍵によって生成されたディジタル署名とを用いて、データが署名された時間を正確に証明し、かつ、そのデータの内容を認証する。上述したように、このシステムの特徴は、特定の期間に用いられる秘密鍵は、有限の時間間隔(一般に非常に短時間)においてしか存在せず、時間の経過とともに、次の期間の異なる秘密鍵へと順次置き換えられていく。本発明に適合するように変更を加えたPGPプログラム等の公開鍵暗号方法を用いて、一定の時間間隔で一連の公開鍵暗号化鍵ペアを自動的に生成する。それぞれの鍵は、通常はその鍵のユーザIDの中に指定先を有し、その鍵が使用される特定の期間を識別する。動的に生成される鍵の場合、可能な最小の時間間隔は、鍵のペアを生成し、その鍵のペアを用いて公開鍵を検査確認するのに必要な時間で決定される。上述したように、鍵のペアをひとつ前の機関であらかじめ生成しておくことによって、時間間隔を短縮することが可能である。
【0036】
以上述べたように、各期間ごとに、その期間の公開鍵をひとつ前の期間の秘密鍵を用いて証明(たとえばディジタル署名)し、その直後にその秘密鍵を消去する方式で署名を「連鎖」させていく。このような連鎖方式により、タイムスタンプの真正性が証明される。
【0037】
各期間の鍵のペアのうち、公開鍵はその後の使用に備えて保存される。一方,秘密鍵は、その秘密鍵が生成された期間の直後の期間でデータにタイムスタンプを押すために使用される。具体的には、ある期間の秘密鍵は、その期間にシステムに送られてきたすべてのデータにディジタル署名し、タイムスタンプを押すために使用される。換言すると、タイムスタンプを押してもらうためにデータがシステムに送られてくると、送られてきた期間に対応する秘密鍵を用いてデータに署名する。この署名過程で、タイムスタンプ証明書が生成される。各タイムスタンプ証明書は、たとえば、秘密鍵によってされたデータのディジタル署名と、現在の期間における証明済みの公開鍵とを含む。各期間で使用された公開鍵はその後の使用に備えて保管される。本発明によれば、システムによって与えられたタイムスタンプの真正性は、鍵の連鎖によって自動的に証明されているので、将来その真正性を証明する必要はない。しかし、すべてのタイムスタンプ証明書も一応保管して、タイムスタンプ証明書の簡単な認証に使用してもよい。
【0038】
各期間の最後に、次の期間のための新たな鍵のペアを生成しておくこともできる。この場合、現在の期間における秘密鍵を使用して、新たに生成された鍵を証明(たとえば署名)し、その後直ちに、秘密鍵を消去する。将来の任意の時点でタイムスタンプを検査するには、そのスタンプが押された期間の公開鍵を使用して、タイムスタンプ証明書中のディジタル署名を認証する必要がある。この公開鍵は、ひとつ前の期間の公開鍵を使用して、認証すべき公開鍵上の証明署名を認証することによって検査できる。公開鍵証明署名の「チェイン(鎖)」をたどって所望の時点までさかのぼることができるので、一連の署名の鎖における、各期間のスタンプの時間的ロケーションは、確固とした証拠となり得る。所定の期間内でその鍵が使用されたより具体的な時間については、同じ鍵によって生成されたその他の証明書をトラッキングし、それらの署名と関連するデータの生成時間とをつなげていくことによって、証明することができる。各期間の秘密鍵は、その期間の終了後直ちに破壊されるので、事後、偽のタイムスタンプを作成することは実質不可能である。
【0039】
本発明のタイムスタンプ方法は上述した実行例に限定されない。たとえば、上述したように、ユーザサイトでメッセージダイジェストを計算し、メッセージダイジェストだけをサーバに送信して署名してもらうこともできる。この 場合は、データの秘密性が確保されるとともに、ネットワークの帯域幅を有効に使用することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係るディジタルタイムスタンプ方法の処理手順を示すフローチャートである。
【図2A】 本発明の別の実施形態に係るディジタルタイムスタンプ方法の処理手順の一部を示すフローチャートである。
【図2B】 図2Aに示した処理手順に引き続く部分の処理手順を示すフローチャートである。
【図3】 本発明のタイムスタンプシステムの図であり、図3Aは、タイムスタンプシステムの一例を、図3Bはタイムスタンプシステムの別の構成例を示す図である。

Claims (4)

  1. 任意の時間間隔である任意の期間におけるタイムスタンプの真正性を証明するデータ証明プログラムを格納するメモリと、前記メモリに格納された前記データ証明プログラムを実行するCPUとを備える汎用コンピュータと、前記汎用コンピュータに接続されたI/O(入出力装置)とを備えるデータ証明システムであって、
    前記汎用コンピュータは前記CPUによって前記データ証明プログラムの命令を読み出して実行することにより、
    前記任意の期間のうち第1の期間に、秘密鍵と公開鍵から成る鍵のペアを生成する鍵生成部と、
    前記I/Oを通して証明要求を受け取る証明要求受け取り部と、
    前記証明要求受け取り部によって受け取られた前記証明要求に応じて、前記秘密鍵を使用して、前記証明要求がなされたデータに自動的にディジタル署名する署名部と、
    前記秘密鍵を消去する鍵消去部と
    を機能的に実現することを特徴とするデータ証明システム。
  2. 前記汎用コンピュータは、クライアント−サーバアーキテクチャを構成するクライアントコンピュータ及び/又はサーバコンピュータを含むことを特徴とする請求項1に記載のデータ証明システム。
  3. 任意の時間間隔である任意の期間におけるタイムスタンプの真正性を証明することによってデータを証明するデータ証明プログラムを格納するメモリと、前記メモリに格納された前記データ証明プログラムを実行するCPUとを備える汎用コンピュータと、前記汎用コンピュータに接続されたI/O(入出力装置)と、を備えるデータ証明システムであって、
    前記汎用コンピュータは前記CPUによって前記データ証明プログラムの命令を読み出して実行することにより、
    前記任意の期間のうち第1期間に、第1の秘密鍵と第1の公開鍵とから成る第1の鍵のペアを生成する第1の鍵生成部と、
    前記第1の期間に続く第2期間に、第2の秘密鍵と第2の公開鍵とから成る第2の鍵のペアを生成する第2の鍵生成部と、
    前記第1の秘密鍵を使用して、前記第2の公開鍵に署名する署名部と、
    前記第1の秘密鍵を消去する第1の鍵消去部と、
    前記第2期間に、前記第2の秘密鍵を使用して証明要求を処理する証明要求処理部と、
    前記証明要求処理後に前記第2の秘密鍵を消去する第2の鍵消去部と
    を機能的に実現することを特徴とするデータ証明システム。
  4. 前記汎用コンピュータは、クライアント−サーバアーキテクチャを構成するクライアントコンピュータ及び/又はサーバコンピュータを含むことを特徴とする請求項に記載のデータ証明システム。
JP2000513384A 1997-09-22 1998-09-22 トランジエント鍵ディジタルスタンプ方法およびシステム Expired - Fee Related JP4563577B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5945597P 1997-09-22 1997-09-22
US60/059,455 1997-09-22
PCT/US1998/020036 WO1999016209A1 (en) 1997-09-22 1998-09-22 Method and system for transient key digital time stamps

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009272639A Division JP2010148098A (ja) 1997-09-22 2009-11-30 トランジエント鍵ディジタルスタンプ方法およびシステム

Publications (2)

Publication Number Publication Date
JP2001517818A JP2001517818A (ja) 2001-10-09
JP4563577B2 true JP4563577B2 (ja) 2010-10-13

Family

ID=22023060

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000513384A Expired - Fee Related JP4563577B2 (ja) 1997-09-22 1998-09-22 トランジエント鍵ディジタルスタンプ方法およびシステム
JP2009272639A Pending JP2010148098A (ja) 1997-09-22 2009-11-30 トランジエント鍵ディジタルスタンプ方法およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009272639A Pending JP2010148098A (ja) 1997-09-22 2009-11-30 トランジエント鍵ディジタルスタンプ方法およびシステム

Country Status (7)

Country Link
EP (1) EP1018239A4 (ja)
JP (2) JP4563577B2 (ja)
KR (1) KR100563515B1 (ja)
AU (1) AU760742C (ja)
CA (1) CA2304342C (ja)
IL (1) IL135069A0 (ja)
WO (1) WO1999016209A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017046B2 (en) * 1997-09-22 2006-03-21 Proofspace, Inc. System and method for graphical indicia for the certification of records
US7047415B2 (en) * 1997-09-22 2006-05-16 Dfs Linkages, Inc. System and method for widely witnessed proof of time
US6993656B1 (en) 1999-12-10 2006-01-31 International Business Machines Corporation Time stamping method using aged time stamp receipts
US7490241B1 (en) 1999-12-10 2009-02-10 International Business Machines Corporation Time stamping method employing user specified time
US7519824B1 (en) 1999-12-10 2009-04-14 International Business Machines Corporation Time stamping method employing multiple receipts linked by a nonce
US7315948B1 (en) 1999-12-10 2008-01-01 International Business Machines Corporation Time stamping method employing a separate ticket and stub
US6742119B1 (en) 1999-12-10 2004-05-25 International Business Machines Corporation Time stamping method using time delta in key certificate
US6965998B1 (en) 1999-12-10 2005-11-15 International Business Machines Corporation Time stamping method using time-based signature key
US7689828B2 (en) 2004-07-23 2010-03-30 Data Security Systems Solutions Pte Ltd System and method for implementing digital signature using one time private keys
CA2618135C (en) 2005-08-09 2014-10-28 Nexsan Technologies Canada Inc. Data archiving system
JP4150037B2 (ja) 2005-09-30 2008-09-17 株式会社東芝 タイムスタンプ取得システム、タイムスタンプ取得装置、タイムスタンプ取得プログラム及びタイムスタンプ取得方法
US7904725B2 (en) * 2006-03-02 2011-03-08 Microsoft Corporation Verification of electronic signatures
JP2009212747A (ja) * 2008-03-04 2009-09-17 Nec Corp 電子署名システム
JP5518668B2 (ja) * 2010-10-14 2014-06-11 日本電信電話株式会社 電子署名用鍵管理装置、電子署名用鍵管理方法、電子署名用鍵管理プログラム
JP2016116134A (ja) * 2014-12-16 2016-06-23 パナソニックIpマネジメント株式会社 署名検証装置、署名生成装置、署名処理システム、署名検証方法及び署名生成方法
CN109687967B (zh) * 2017-10-18 2022-02-08 克洛斯比尔有限公司 电子签名方法和设备
CN112119611A (zh) * 2018-05-14 2020-12-22 区块链控股有限公司 使用区块链执行原子交换的计算机实现的系统和方法
KR20210062488A (ko) 2019-11-21 2021-05-31 대한민국(전북기계공업고등학교장) 2축 모션 시뮬레이터
EP4262142A4 (en) * 2022-02-28 2023-10-18 Rakuten Group, Inc. COMMUNICATION SYSTEM, COMMUNICATION METHOD AND PROGRAM

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5001752A (en) * 1989-10-13 1991-03-19 Fischer Addison M Public/key date-time notary facility
ES2142307T3 (es) * 1990-08-02 2000-04-16 Telcordia Tech Inc Metodo de marcacion segura del tiempo en documentos digitales.
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5422953A (en) * 1993-05-05 1995-06-06 Fischer; Addison M. Personal date/time notary device
US5787172A (en) * 1994-02-24 1998-07-28 The Merdan Group, Inc. Apparatus and method for establishing a cryptographic link between elements of a system
US5469507A (en) * 1994-03-01 1995-11-21 International Business Machines Corporation Secure communication and computation in an insecure environment
US5604801A (en) * 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
IL113259A (en) * 1995-04-05 2001-03-19 Diversinet Corp A device and method for a secure interface for secure communication and data transfer
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
JP3659791B2 (ja) * 1998-03-23 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 小時間鍵生成の方法及びシステム
JPH11296078A (ja) * 1998-04-15 1999-10-29 Yrs:Kk 記念品

Also Published As

Publication number Publication date
KR100563515B1 (ko) 2006-03-27
IL135069A0 (en) 2001-05-20
JP2010148098A (ja) 2010-07-01
EP1018239A4 (en) 2005-07-13
JP2001517818A (ja) 2001-10-09
WO1999016209A1 (en) 1999-04-01
CA2304342C (en) 2009-01-27
KR20010040248A (ko) 2001-05-15
AU9579698A (en) 1999-04-12
EP1018239A1 (en) 2000-07-12
AU760742B2 (en) 2003-05-22
AU760742C (en) 2006-11-09
CA2304342A1 (en) 1999-04-01

Similar Documents

Publication Publication Date Title
JP2010148098A (ja) トランジエント鍵ディジタルスタンプ方法およびシステム
US6381696B1 (en) Method and system for transient key digital time stamps
US10673632B2 (en) Method for managing a trusted identity
US7568114B1 (en) Secure transaction processor
JP4625234B2 (ja) トークン使用可能公開鍵インフラストラクチャ・システムにおけるユーザ証明書/秘密鍵の割り当て
US6834112B1 (en) Secure distribution of private keys to multiple clients
US20050132201A1 (en) Server-based digital signature
US20020176582A1 (en) Technique for obtaining a single sign-on certificate from a foreign PKI system using an existing strong authentication PKI system
KR20000075650A (ko) 네트워크 환경에서 신규의 비밀 무작위 숫자의 운영과 이용에대한 시스템
JP2004023796A (ja) 選択的に開示可能なデジタル証明書
WO2020143318A1 (zh) 数据验证方法及终端设备
JP2005502269A (ja) デジタル証明書を作成するための方法及び装置
Conley Encryption, Hashing, PPK, and Blockchain: A Simple Introduction
US6839842B1 (en) Method and apparatus for authenticating information
US8307098B1 (en) System, method, and program for managing a user key used to sign a message for a data processing system
CN115147975A (zh) 一种基于区块链的加密网络投票方法
JP2022061275A (ja) ライセンス管理方法、ライセンス管理装置、及びプログラム
Patel et al. The study of digital signature authentication process
Berta et al. Documents from malicious terminals
JP2004040830A (ja) ディジタル署名方法および装置
JP5159752B2 (ja) 通信データの検証装置及びそのコンピュータプログラム
Rudan et al. Data Assurance in a Conventional File Systems
CN111414629A (zh) 电子合约签署装置
KR20030002376A (ko) 공개키 기반 인증을 위한 키관리 시스템
Gautam Multifactor Authentication over PKI (Pubic Key Infrastructure)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081002

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081009

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100601

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100630

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100729

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees