JP2007518369A - Ocsp及び分散型ocspのための効率的に署名可能なリアルタイム・クレデンシャル - Google Patents

Ocsp及び分散型ocspのための効率的に署名可能なリアルタイム・クレデンシャル Download PDF

Info

Publication number
JP2007518369A
JP2007518369A JP2006549493A JP2006549493A JP2007518369A JP 2007518369 A JP2007518369 A JP 2007518369A JP 2006549493 A JP2006549493 A JP 2006549493A JP 2006549493 A JP2006549493 A JP 2006549493A JP 2007518369 A JP2007518369 A JP 2007518369A
Authority
JP
Japan
Prior art keywords
certificate
rtca
digital certificate
ocsp
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006549493A
Other languages
English (en)
Other versions
JP4796971B2 (ja
JP2007518369A5 (ja
Inventor
エングバーグ、デヴィッド
リビン、フィル
ミカリ、シルヴィオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Corestreet Ltd
Original Assignee
Corestreet Ltd
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 Corestreet Ltd filed Critical Corestreet Ltd
Publication of JP2007518369A publication Critical patent/JP2007518369A/ja
Publication of JP2007518369A5 publication Critical patent/JP2007518369A5/ja
Application granted granted Critical
Publication of JP4796971B2 publication Critical patent/JP4796971B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/3263Cryptographic 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

デジタル証明書の有効性についての情報提供は、デジタル証明書セット内の複数のデジタル証明書それぞれのデジタル証明書有効性ステータスの確認と、複数のデジタル証明書のデジタル証明書セットの少なくともサブセットの有効性ステータスについての複数の人工的に事前計算されたメッセージの生成(メッセージの少なくとも一つは二つ以上のデジタル証明書有効性ステータスを示す)と、デジタル証明書セット内の特定のデジタル証明書についてのOCSP問合に応答するOCSP形式の応答を提供するための前記事前計算のメッセージへのデジタル署名(少なくとも一つのデジタル証明書は二つ以上のデジタル証明書に対するOCSP形式の応答に関連付けて使用される)とを含む。生成及びデジタル署名はOCSP形式の応答で答えられるOCSP問合よりも先に行われる。デジタル証明書有効性ステータスの確認はデジタル証明書についての認証情報の取得を含む。

Description

関連出願の相互参照
この出願は、2004年1月9日に出願された米国仮出願第60/535,666号及び2004年1月15日に出願された米国仮出願第60/536,817号の優先権を主張し、これらの米国仮出願は両方とも本書の記載に参照により組み込まれる。
技術分野
この出願は、デジタル証明書の分野に関し、特に、デジタル証明書及びその他の情報の検証及び有効性確認の分野に関する。
関連技術の説明
デジタル証明書は、インターネット認証の効果的な方法を提供する。従来のパスワードやPINとは異なり、デジタル証明書は広く一般的な検証方法でトランザクションを認証する。このため、デジタル署名されたトランザクションを拒否することは、可能であったとしても非常に難しい。デジタル証明書は、署名鍵SKによって生成され、マッチング検証鍵によって検証される。ユーザUは、そのUだけが自分自身のために署名できるように、自分のSKを秘密にしておく。幸いにも、鍵PKがマッチング鍵SKを裏切るということはなく、すなわち、PKを知っていることが、SKを計算する上でいかなる実際上の利益をもたらすことはない。従って、ユーザUは、そのUの署名をみんなが検証できるように自分自身のPKをできる限り公にする。このため、PKは公開鍵と呼ばれる。
デジタル証明書は、所与の鍵PKが本当にユーザUの公開鍵であることの保証を提供することによってデジタル署名を可能にする英数字の文字列である。認証機関(CA)は、証明書を生成してユーザに発行するが、そのような証明書の発行は、多くの場合、そのユーザの身元が確認された後にだけ行われる。このため、証明書は、その所有者の身元及び可能な場合は他の属性がCAによって検証済みであることを証明する。証明書は、指定期間が経過した後に、公的な認証機関の場合はたいてい1年後に、有効期限が満了する。
本質的には、デジタル証明書Cは、いくつかの量、すなわち、その証明書に一意のシリアル番号SNと、ユーザの公開鍵PKと、ユーザの名前Uと、発効日Dと、有効期限満了日Dと、付加データと、を一緒に安全に結び付けるCAのデジタル署名よりなる。記号で表すと、
C=SIGCA(SN, PK, U, D1, D2, ...)
である。
デジタル証明書が有効に発行されたか否かの判断、及び/又は、デジタル証明書が有効期限満了前に失効しているか否かの判断を含め、デジタル証明書のステータスを判断できることは有用である。デジタル証明書の個々のステータスを判断する多数の技術がある。例えば、米国特許第5,666,416号及び第5,717,758号には、個々の証明書のステータスを提供する技術が記述されている。また、失効した証明書のデジタル署名されたリストである証明書失効リスト(CRL)や、ある特定の証明書のステータスについて問い合わせる方法を指定するオンライン証明書ステータスプロトコル(OCSP)等の、証明書のステータスを配布して確認するための他の技術も知られている。
CRLは、失効した証明書のシリアル番号を含む適切に日付が付けられてデジタル署名されたリスト(CRL)を各CAが定期的に発行することによって機能する。ある実装では、CRLは、所与の証明書セットの失効したすべての証明書を含む。このように、デジタル証明書は、最新のCRLと比較される電子的なトランザクションで提供される。上記所与の証明書が有効期限満了になっていないのに失効しているとしてリストにある場合は、その証明書が有効ではなく証明書の所有者がデジタル証明書によって可能になるトランザクションを実行する権限をもはや与えられていないことを、CRLから知ることができる。一方、証明書がCRLに見当たらない場合は、その証明書は有効であると考えられる。いずれの場合も、CRLは、将来におけるトランザクションの有効性を証明できるように、あるいは失効した証明書の場合にサービスの拒否を正当化できるように、各トランザクションの他の記録とともに保管される。
10%の失効率を仮定すると、平均して、10のデジタル証明書のうちの一つが有効期限満了前に失効する。そのような失効率によれば、1000万の証明書を有しているシステムは、100万のシリアル番号を含むCRLを生成し、そのことはCRLを扱いにくいものとしている。この問題は、ごく最近導入されたCRL区切り技術によって小さくなってきたが、多くの証明書の失効情報を一緒にまとめるという基本的な方法はまだ不便さとコストを生じさせているようである。シリアル番号が(数100万の証明書を扱えるように)24ビット長の場合、1000の証明書のサブCRLは、依然として24000ビット(3000バイト)もの長さになる。ある配備では、各証明書に対するCRLの入力は、オーバヘッドを入れて22バイト程度になり、1000の証明書のサブCRLは22000バイトの長さになる。これは、たとえば無線トランザクションのような状況では受け入れがたく、(将来の紛争や可能性のある法的なクレームに対する保護のために)、このような多数のビットを送信しなければならないということは非現実的であろう。
CRLは、ひとまとめに扱われる多くの証明書について失効の(そして、間接的に有効性の)プルーフを提供するので、大きくなっていく。これと対照的に、OCSPは、個々の証明書の有効性のプルーフを提供する。従来のOCSPサービスはOCSPレスポンダを使用し、このOCSPレスポンダは、所与のCAによって発行された所与の証明書の有効性について顧客(例えば、信頼パーティ)からの問い合わせを受け、そして、その問い合わせに対する応答で、証明書のステータス及び時間情報の両方を示すデジタル署名された回答を提供する。
OCSPサービスを提供するために、従来のOCSPレスポンダは、CAの証明書のすべてのステータスについての情報の提供を受ける。多くの場合、自分自身の証明書のステータスを決めることはCA次第であるので、OCSPレスポンダがCA自身である場合は、そのOCSPレスポンダ/CAは、証明書の失効ステータスについての情報をすでに所有している。これに対し、OCSPレスポンダがCAでない場合は、そのOCSPレスポンダはCAの証明書のステータスについて更新され続けられる。例えば、米国特許第5,717,758号「証人に基づく証明書失効システム(Witness-Based Certificate Revocation System)」を参照されたい。
CAは、最新のCRLを送ることによってOCSPレスポンダを更新する。OCSPレスポンダは、現在のCRLの時間、次の更新の時間および実際の処理の時間を示す署名された応答を、そのOCSPレスポンダから信頼パーティ(relying party)に提供できるように、ある注目している特定の証明書が現在有効であるかそれとも失効しているかを推論するための相談をCAに対して行う。
もちろん、悪意のある/十分な性能を有しないOCSPレスポンダは、CAの相談の有無にかかわらず、所与のCAの証明書についての任意の署名された回答を提供することができる。従って、所与のCAの証明書に関するOCSPレスポンダのデジタル署名された回答を信頼パーティが安全に信頼できるように、OCSPは、CAがOCSPレスポンダにレスポンダ証明書を提供する仕組みを有し、そのレスポンダ証明書は、CAによって署名され、基本的にCAの証明書に関する正確なプルーフを提供しているOCSPレスポンダをCAが信頼していること他者に保証するものである。この処理が適切に行われるように、(すべてのCAだけでなく)各OCSPレスポンダは秘密の署名鍵を所有し、この鍵が(例えば、記憶装置にレスポンダを実装したサーバを設置することによって)保護されなければならないことに留意されたい。
図1を参照すると、ダイアグラム40は、従来のOCSP環境における情報の流れを図示している。ダイアグラム40は、CA42、従来のOCSPレスポンダ44、および信頼パーティ46を含んでいる。CA42およびOCSPレスポンダ44に使用されている太線は、システムが信頼性よく機能するように保護されなければならない秘密鍵の存在を示している。CA42は、有効性情報(例えばCRL)をOCSPレスポンダ44に提供する。信頼パーティ46は、OCSP要求52をOCSPレスポンダ44に提供する。OCSPレスポンダ44は、(例えばCRLの形式で)CA42によって提供された有効性情報を検査し、問い合わせがあった証明書の有効性ステータスを決定する。そして、OCSPレスポンダ44は、対応する応答を準備し、その応答にデジタル署名し、その結果をOCSP応答54として信頼パーティ46に提供する。ある場合には、OCSPレスポンダ44は、そのOCSPレスポンダ44がCA42によって権限が与えられ信頼されているレスポンダ証明書56も、信頼パーティ46に提供する。
OCSPには重大な欠点がある。まず、デジタル署名は、計算が集中する処理である。従来のOCSPレスポンダによって各OCSP応答上に作られるデジタル署名は、要求があったときに生成され、有効性検証処理における最も計算が集中する部分である。例えば、デジタル署名を生成することにより、トランザクション時間に50ミリ秒から1秒までの時間が追加される。従来のOCSPレスポンダが、デジタル証明書Cについて最初に問い合わせがあった後、そのデジタル証明書についてデジタル署名をキャッシュし、その後にCについて問い合わせがあったときにそのキャッシュした署名を送る場合でさえ、Cについて問い合わせた最初のユーザに対する回答は、最初のデジタル署名の生成によってかなり遅れる。
更に、単一のOCSPレスポンダの場合は、証明書の有効性の問い合わせが結局、その単一のOCSPレスポンダに送られ、主要なネットワーク隘路(ボトルネック)になるとともにかなりの混雑と遅延を引き起こす。ものすごい数の正直なユーザがこのOCSPレスポンダに突然問い合わせをしたとしたら、混乱をもたらすサービスの拒否という状況がおそらく続いて起こるであろう。
一方、OCSPの集中化された実装の隘路の問題を防止するために、組織は、(証明書の有効性についての)要求の負荷を、いくつかの適切に認証された従来のOCSPレスポンダに分散することを検討する場合がある。一般に、単一のサーバの負荷を、(伝送隘路を回避するために)世界中に戦略的に配置されているいくつかの(例えば100の)サーバに分散すると、ネットワークの混雑が緩和される。しかし、OCSPの場合、証明書の有効性の問い合わせに対して署名された応答を提供するために、100の分散された従来のOCSPレスポンダはそれぞれ自分自身の秘密証明鍵を持つので、負荷分散は付加的な問題をもたらす。すなわち、上記100のサーバのいずれかの能力が低下することは、事実上全体の組織の能力が低下することになる。実際に、もし従来のOCSPレスポンダの能力が低下した場合には、攻撃者は、(1)有効な証明書が失効している、または(2)失効した証明書が依然として有効である、ということを誤って示す応答に署名するために、発見された秘密署名鍵を使用するであろう。上記後者の誤った肯定的な応答は、例えば解雇された従業員が再びシステムへアクセスすることを許容してしまうことになる。
レスポンダの能力低下を回避する一方法は、24x7監視で、安全な保管庫(secure vault)から実行することである。残念ながら、この方法はコストのかかるオプションになっている。例えば金融関係のCAの要求すべてを満たす真の安全な保管庫は、最初に構築するのに100万ドルを超えるコストがかかり、それを操作するのに1年あたり100万ドルを超えるコストがかかる。更に、組織がそのような経費を獲得したとしても、保管庫を一晩で構築することはできない。従って、CAが現在ある従来のOCSPレスポンダの負荷を減少させるために更にいくつかの保管庫を必要とする場合には、適切に保管された新規のOCSPレスポンダが構築される前に数ヶ月の遅れが生じてしまう。
更に、複数の保管庫にコストをかけることでは、OCSPのセキュリティ問題を解決できない。これは、従来のOCSPレスポンダが信頼できないソース(信頼パーティ)からきた要求を受け、そのレスポンダの秘密署名鍵を用いて上記要求に対するサービスを提供することを、上記OCSPのメカニズムが必要とするからである。悪意のある信頼パーティ(または信頼パーティのふりをする悪意のあるエージェント)は、基礎になっているオペレーティングシステムにおいて考えられる弱点につけこむことによってOCSPレスポンダが署名した鍵を暴露しようとする。
更に、互いに相違するセキュリティドメインに起因してOCSPが証明書有効性の要求に対するサービスを提供できないということがある。例えば、組織Aによって運営されている従来のOCSPレスポンダは、その組織AのCAの証明書ステータスについて応答を容易に提供できるが、他の組織によって運営されているOCSPレスポンダは、「外部の(foreign)」証明書について応答を提供できるだけの十分な情報を有していない。
この特定の知識がないことによって生じる問題は、二つの方法のいずれか一つによって解決できる。第一の方法では、組織Bの信頼パーティは、組織Aのレスポンダから、組織AのCAから発行された証明書のステータスを取得することができる。しかし、この方法では、組織AのOCSPレスポンダは組織Bの信頼パーティから地理的に離れているので、ネットワーク時間が検証処理全体にわたってかなり遅くなるという、性能の限界がある。第二の代替方法は、組織Aから外部レスポンダへのCRLの転送を組織AのCAに行わせることにより、組織Bのレスポンダが組織Aの証明書について応答できるようにすることである。実際にはCRLはデジタル署名され秘密にしておく必要がなく、組織AのCAはおそらく、組織Aの証明書の有効性ステータスを最も多くの人々に知らせようとするであろう。この第2の代替方法は、組織BのOCSPレスポンダに、組織Bの証明書についての信頼パーティからの要求に対して回答するために十分な情報を提供する。しかし、信頼パーティが、組織BのOCSPレスポンダのデジタル署名された回答を本当に取得しようとするためには、組織AのCAはまた、組織Aの証明書についての有効性の問い合わせに回答するために、外部のレスポンダを認証しなければならない。
図2を参照すると、ダイアグラム60は、図1のダイアグラム40に示されているCA42、従来のOCSPレスポンダ44及び信頼パーティ46を図示している。しかし、ダイアグラム60によって図示されている状況では、信頼パーティ46は、CA42によって管理されていないが代わりに他のCA64によって発行され管理されている証明書についてのOCSP要求62を提供する。このような場合には、OCSPレスポンダ44は、CA42からOCSPレスポンダ44に提供されたCRL48内の情報のみに基づいてOCSP応答を提供しない。その代わりに、CA64は、別のCRL66及び別のレスポンダ証明書68をOCSPレスポンダ44に提供する。OCSPレスポンダ44は、外部の証明書についてのOCSPレスポンス72を定式化するために、上記別のCRL66を使用する。ある場合には、OCSPレスポンダ44は、信頼パーティ46にレスポンダ証明書68も提供する。
この第2の代替方法は、より優れた拡張性及び性能を提供できるが、二つの組織間のセキュリティ及び信頼フローを混乱させる。ダイアグラム60において、OCSPレスポンダ44は、CA64の証明書がまだ有効である信頼パーティに対して権限のある応答を行っている。もし、OCSPレスポンダ44が、(間違った構成、敵からの攻撃または直接的な不正行為等の)何らかの理由のために間違った応答をした場合は、OCSPレスポンダ44は、CA64の組織に悪影響を及ぼす。CA64の証明書について権限のある主張をOCSPレスポンダ44に許可することにより、CA64の組織は、従来から所有していた信頼のいくらかを放棄している。
一例として、上記組織がクレジットカード発行者である場合を考える。組織Aの銀行は、ユーザに対する証明書を失効させ、組織Aの従来のOCSPレスポンダが安全であって信頼できるものであることを保証するために支払う。仮に組織BのOCSPレスポンダが間違って構築されたとすると、組織Bの取引先の信頼パーティがユーザの有効性について問い合わせたとき、組織Bのレスポンダは、ユーザが有効であるという間違った応答をしてしまう。上記取引先は、この回答を受け入れ、上記失効したユーザに対する手続きを進めるトランザクションを許可する。このタイプの組織間の信頼の委任は、ある場合には受け入れることができるが、従来のOCSPの大規模な異種混在の配置のための一般的に有用な代替方法ではない。
上述の問題を解決するシステムを提供することが望まれている。
発明の概要
本発明によれば、デジタル証明書の有効性に関する情報を提供することは、デジタル証明書セットの中の複数のデジタル証明書それぞれに対してデジタル証明書有効性ステータスを確認することと、前記複数のデジタル証明書からなるデジタル証明書セットの少なくともサブセットの有効性ステータスについて人工的に事前計算された複数のメッセージを生成すること(ここで、前記メッセージの少なくとも一つは、二つ以上のデジタル証明書の有効性ステータスを示す。)と、前記デジタル証明書セット内の特定のデジタル証明書についてのOCSP問い合わせに応答するOCSP形式の応答を提供するために前記人工的に事前計算されたメッセージにデジタル署名すること(ここで、少なくとも一つのデジタル署名は、二つ以上のデジタル証明書に対するOCSP形式の応答に関連付けて使用される。)と、を含む。生成及びデジタル署名は、前記OCSP形式の応答のいずれかによって回答されるすべてのOCSP問い合わせに先だって行ってもよい。デジタル証明書有効性ステータスを確認することは、デジタル証明書について認証された情報を取得することを含んでもよい。前記デジタル証明書について認証された情報は、証明書を失効させることもできるエンティティによって生成されてもよい。
更に、本発明によれば、コンピュータ読み取り可能なメディアに保存されデジタル証明書の有効性に関する情報を提供するコンピュータソフトウェアは、デジタル証明書セット内の複数のデジタル証明書それぞれに対してデジタル証明書有効性ステータスを確認する実行可能なコードと、前記複数のデジタル証明書からなるデジタル証明書セットの少なくともサブセットの有効性ステータスについて人工的に事前計算された複数のメッセージを生成する実行可能なコード(ここで、前記メッセージの少なくとも一つは、二つ以上のデジタル証明書有効性ステータスを示す。)と、前記デジタル証明書セット内の特定のデジタル証明書についてのOCSP問い合わせに応答するOCSP形式の応答を提供するために前記人工的に事前計算されたメッセージにデジタル署名する実行可能なコード(ここで、少なくとも一つのデジタル署名は二つ以上のデジタル証明書に対するOCSP形式の応答と関連付けて用いられる。)と、を備える。デジタル証明書有効性ステータスを確認する実行可能なコードは、デジタル証明書について認証された情報を取得する実行可能なコードを備えてもよい。前記デジタル証明書について認証された情報は、証明書を失効させることもできるエンティティによって生成されてもよい。前記デジタル証明書について認証された情報は、CRLであってもよい。複数の人工的に事前計算された応答を生成する実行可能なコードは、前記デジタル証明書セット内の少なくともすべての失効していないデジタル証明書に対する応答を生成する実行可能なコードを備えてもよい。前記コンピュータソフトウェアは、更に、前記デジタル証明書セット内のデジタル証明書有効性ステータスについて問い合わせる信頼パーティによる要求に対してサービスを提供する複数のレスポンダに、デジタル署名された前記人工的に事前計算されたメッセージを転送する実行可能なコードを備えてもよい。前記コンピュータソフトウェアは、更に、前記人工的に事前計算された応答へのデジタル署名に関連付けたデジタル署名の検証に使用される公開検証鍵を含む特別な証明書を、前記レスポンダが利用できるようにする実行可能なコードを備えてもよい。前記特別なデジタル証明書を発行するエンティティは、更に、前記デジタル証明書セットの証明書を発行してもよい。前記人工的に事前計算された複数の応答を生成しその人工的に事前計算された応答にデジタル署名する実行可能なコードは、前記応答の生成及び前記応答への署名を定期的に行ってもよい。
更に、本発明によれば、デジタル証明書の有効性に関する情報を提供することは、複数の署名鍵/検証鍵ペアーを取得すること(ここで、前記署名鍵はそれぞれデジタル署名を提供し、その署名鍵に対応する前記検証鍵の一つは前記デジタル署名を検証し、前記署名鍵を用いて複数のデータ要素に対して一緒にデジタル署名することは、前記データ要素それぞれに対して個別にデジタル署名することよりも計算処理の上で効率的である。)と、デジタル証明書セット内の複数のデジタル証明書それぞれについてデジタル証明書有効性ステータスを確認することと、前記デジタル証明書セットの少なくともサブセットの有効性ステータスについて人工的に事前計算された複数のメッセージを生成することと、前記ペアの署名鍵を用いて、前記人工的に事前計算されたメッセージに対してデジタル署名を一緒に行うことと、を含む。デジタル証明書有効性ステータスを確認することは、デジタル証明書について認証された情報を取得することを含んでもよい。前記デジタル証明書について認証された情報は、証明書を失効させることもできるエンティティによって生成されてもよい。前記デジタル証明書について認証された情報は、CRLであってもよい。前記人工的に事前計算された応答は、OCSP形式の応答であってもよい。複数の人工的に事前計算された応答を生成することは、前記デジタル証明書セット内の少なくともすべての失効していないデジタル証明書についての応答を生成することを含んでもよい。デジタル証明書の有効性に関する情報を提供することは、前記人工的に事前計算されたメッセージにデジタル署名した後、前記デジタル証明書セット内のデジタル証明書有効性ステータスについて問い合わせる信頼パーティによる要求に対してサービスを提供する複数のレスポンダに、前記デジタル署名の結果を転送することを含んでもよい。複数の人工的に事前計算された応答の生成及び前記人工的に事前計算された応答のデジタル署名は、定期的に実行してもよい。前記人工的に事前計算された応答は、前記人工的に時算計算された応答が生成された時に対応する時間情報を含んでもよい。デジタル証明書の有効性に関する情報を提供することは、前記検証鍵を認証することを含んでもよい。前記検証鍵を認証することは、単一のデジタル証明書に前記検証を提供することを含んでもよい。前記検証鍵を認証することは、別々に分離されたデジタル証明書に前記検証鍵それぞれ提供することを含んでもよい。
更に、本発明によれば、コンピュータ読み取り可能なメディアに保存されデジタル証明書の有効性に関する情報を提供するコンピュータソフトウェアは、複数の署名鍵/検証鍵ペアーを取得する実行可能なコード(ここで、前記署名鍵はそれぞれデジタル署名を提供し、その署名鍵に対応する前記検証鍵の一つは前記デジタル署名を検証し、前記署名鍵を用いて複数のデータ要素に対して一緒にデジタル署名することは、前記データ要素それぞれに対して個別にデジタル署名することよりも計算処理の上で効率的である。)と、デジタル証明書セット内の複数のデジタル証明書それぞれについてデジタル証明書有効性ステータスを確認する実行可能なコードと、前記デジタル証明書セットの少なくともサブセットの有効性ステータスについて人工的に事前計算された複数のメッセージを生成する実行可能なコードと、前記ペアの署名鍵を用いて、前記人工的に事前計算されたメッセージに対してデジタル署名を一緒に行う実行可能なコードと、を備える。デジタル証明書有効性ステータスを確認する実行可能なコードは、デジタル証明書について認証された情報を取得する実行可能なコードを備えてもよい。前記デジタル証明書について認証された情報は、証明書を失効させることもできるエンティティによって生成されてもよい。前記デジタル証明書について認証された情報は、CRLであってもよい。前記人工的に事前計算された応答は、OCSP形式の応答であってもよい。複数の人工的に事前計算された応答を生成する実行可能なコードは、前記デジタル証明書セット内の少なくともすべての失効していないデジタル証明書についての応答を生成する実行可能なコードを備えてもよい。前記コンピュータソフトウェアは、前記検証鍵を認証する実行可能なコードを備えてもよい。前記検証鍵を認証する実行可能なコードは、単一のデジタル証明書に前記検証を提供してもいいし、又は別々に分離されたデジタル証明書に前記検証鍵をそれぞれ提供してもよい。
更に、本発明によれば、第1のパーティと第2のパーティとの間のトランザクションを円滑に行うことは、前記トランザクションの初期化に先立って前記パーティの一つが特定のデジタル証明書について人工的に事前計算されたOCSP応答を取得すること(ここで、前記人工的に事前計算されたOCSP応答は、前記第1のパーティ及び第2のパーティのいずれとも異なるエンティティによって生成される。)と、前記パーティの一つが前記トランザクションを初期化することと、そのトランザクションに関連して前記第1のパーティが前記特定のデジタル証明書を前記第2のパーティに提供することと、前記第2のパーティが前記人工的に事前計算されたOCSP応答を用いて前記特定のデジタル証明書を検証することと、を含む。前記第2のパーティは、前記初期化されるトランザクションに先立って前記人工的に事前計算されたOCSP応答を取得してもよい。前記第2のパーティは、将来のトランザクションのために前記人工的に事前計算されたOCSP応答をキャッシュしてもよい。前記第1のパーティは、前記初期化されるトランザクションに先立って前記人工的に事前計算されたOCSP応答を取得してもよい。前記第1のパーティは、将来のトランザクションのために前記人工的に事前計算されたOCSP応答をキャッシュしてもよい。第1のパーティと第2のパーティとの間のトランザクションを円滑に行うことは、更に、前記第1のパーティが、初期化されるトランザクションの後に、前記人工的に事前計算されたOCSP応答を前記第2のパーティに提供することを含んでもよい。
更に、本発明によれば、デジタル証明書の有効性を確認することは、前記デジタル証明書の有効性に関するデジタル署名されたメッセージを検査すること(ここで、前記メッセージは、前記デジタル証明書を発行するエンティティとは異なる特別のエンティティによってデジタル署名される。)と、前記デジタル証明書及びそのデジタル証明書を発行するエンティティを認証する証明書の少なくとも一つからの情報を用いて前記デジタル署名されたメッセージを検証することと、を含む。前記情報は、前記メッセージのデジタル署名に用いた秘密鍵に対応する公開鍵であってもよい。前記情報は、前記メッセージにデジタル署名する前記特別なエンティティを認証する特別なデジタル証明書に対応するものであってもよい。
更に、本発明によれば、デジタル証明書セット内の個々のデジタル証明書についてデジタル証明書有効性ステータスを確認することは、前記デジタル証明書セットの少なくともサブセットの有効性ステータスについてデジタル署名され人工的に事前計算された複数のメッセージを定期的に生成することと、前記デジタル証明書セット内のデジタル証明書有効性ステータスについて問い合わせる信頼パーティによる要求に対してサービスを提供する複数のレスポンダに、前記デジタル署名された人工的に事前計算されたメッセージを定期的に転送すること(ここで、ある証明書についてのメッセージは、他の証明書についてのメッセージとは異なる頻度で転送される。)と、を含む。失効した証明書についてのメッセージは、有効な証明書についてのメッセージよりも少なく頻度で転送してもよい。
更に、本発明によれば、コンピュータ読み取り可能なメディアに保存されデジタル証明書の有効性を確認するコンピュータソフトウェアは、前記デジタル証明書の有効性に関するデジタル署名されたメッセージを検査する実行可能なコード(ここで、前記メッセージは、前記デジタル証明書を発行するエンティティとは異なる特別のエンティティによってデジタル署名される。)と、前記デジタル証明書及びそのデジタル証明書を発行するエンティティを認証する証明書の少なくとも一つからの情報を用いて前記デジタル署名されたメッセージを検証する実行可能なコードと、を備える。前記情報は、前記メッセージのデジタル署名に用いた秘密鍵に対応する公開鍵であってもよい。前記情報は、前記メッセージにデジタル署名する前記特別なエンティティを認証する特別なデジタル証明書に対応するものであってもよい。
更に、本発明によれば、コンピュータ読み取り可能なメディアに保存されデジタル証明書の有効性に関する情報を提供するコンピュータソフトウェアは、デジタル証明書セット内の個々のデジタル証明書についてデジタル証明書有効性ステータスを確認する実行可能なコードと、前記デジタル証明書セットの少なくともサブセットの有効性ステータスについてデジタル署名され人工的に事前計算された複数のメッセージを定期的に生成する実行可能なコードと、前記デジタル証明書セット内のデジタル証明書有効性ステータスについて問い合わせる信頼パーティによる要求に対してサービスを提供する複数のレスポンダに、前記デジタル署名された人工的に事前計算されたメッセージを定期的に転送する実行可能なコード(ここで、ある証明書についてのメッセージは、他の証明書についてのメッセージとは異なる頻度で転送される。)と、を備える。失効した証明書についてのメッセージは、有効な証明書についてのメッセージよりも少ない頻度で転送してもよい。
本書に記載のシステムは、費用効率が高く、安全で、拡張性が高く、しかも全体的に効率的なクレデンシャル(credential)/特権(privilege)の有効性検証システムであり、従来のOCSP類似の方法を飛躍的に改良したものである。本書に記載のシステムは、OCSP標準との互換性を維持するオプションを用いるときでも、定性的に優れたセキュリティ及び拡張性を提供するように、従来のOCSPよりもかなり優れた効果を奏する。
本書に記載のシステムは、従来のOCSPとは独立に動作する一般的な独立型のシステムである。しかし、ある実施形態では、本システムはOCSPに準拠し、信頼パーティがOCSPフォーマット等によって証明書の有効性の情報を要求して検証できるように、本書に記載のシステムによる有効性のプルーフそれぞれは、構文上正しくデジタル署名されたOCSP応答として構造化される。デジタル署名は、計算が集約される処理である。しかし、本書に記載のシステムは、この面倒な処理を単一の専用サーバ又は他の実施形態では少数の専用サーバに集中させている。従って、各更新時に要求されるデジタル署名のすべてを扱うことができる十分な性能を有するコンピュータで、非常に簡易にしかも比較的安価に、前記単一の専用サーバ(少数の専用サーバ)を設けることができる。本書に記載のシステムで使用されるレスポンダは、ちょっとしたデータ読み出しと転送の動作を実行することだけが要求され、複雑なデジタル署名を実行する必要がある従来のOCSPレスポンダよりも高速に、外部からやってくる信頼パーティの問い合わせに対するサービスを提供できる。
本書に記載のシステムのレスポンダは、ちょっとした普通のハードウェアを採用することができ、セキュアであることが要求されないので、このレスポンダは購入して動作させる上で比較的安価である。その結果、比較的多数のレスポンダを比較的低価格で配置することができる。従って、多数の証明書の有効性ステータス要求が短い時間に生成される場合でも、その負荷は多数のレスポンダにわたって分散され、高いコストをかけることなくサービスの混雑及び悪意のない拒否のリスクが減少される。本書に記載のシステムのデジタル署名の数は、証明書の数に依存し、有効性ステータス要求の数にはあまり依存せずに独立したものであることに留意されたい。よって、デジタル署名された応答を提供する単一のサーバは、比較的多数の有効性要求が予想される場合でも使用することができる。
本書に記載のシステムでは、単一の専用サーバ(又は少数の専用サーバ)のみ、及び(単一の専用サーバとCAとが異なる場合は)そのCAが、保護/保管される必要がある。実際に、本書に記載の前記システムのレスポンダは、秘密鍵をまったく保存しておらず、そのレスポンダに提供された事前計算された応答のデジタル署名を保存しているだけである。応答のデジタル署名は、一度計算されると、悪意をもって変更することができず、そのため秘密にしておく必要がない。これとは対照的に、従来のOCSPレスポンダはそれぞれ秘密署名鍵を有しており、その秘密署名鍵の漏洩は全体システムの性能を低下させるので、従来のOCSPレスポンダはすべて保護が必要である。従って、単一のサイト(又は少数のサイト)を防衛することは、互いに等しく重要な多くのサイトを防衛することよりも好ましく且つ容易であるので、本書に記載のシステムはOCSPよりも安全である。
更に、OCSPとは異なり、信頼パーティは、本書に記載のシステムにソフトウェア攻撃を容易にマウントすることができない。信頼パーティがトロイの木馬のようなものを問い合わせに埋め込むのに成功したとしても、本書に記載のシステムのレスポンダは秘密事項を保持しておらずレスポンダに提供された事前計算されたデジタル署名を保存して返すだけであるので、いかなる秘密事項も公にさらされることはないであろう。悪意のある信頼パーティが公にさらしたいと思うものは、完全で正確なデジタル署名された、有効且つ所与の時間間隔で失効される証明書のアカウントである。しかし、これは、秘密でない情報というだけでなく、実際には、CAによって発行された失効した証明書に信頼パーティが間違って依存するのを回避するためにCAが一般に知りたいと思う情報である。
更に、ソフトウェア攻撃は、事前計算された応答にデジタル署名する単一の専用サーバ(又は少数の専用サーバ)に容易にマウントできないことに注目されたい。ある実施形態では、単一の専用サーバ(又は少数の専用サーバ)は、信頼されていないソースからの要求を処理せず、CAからの情報を受け、デジタル署名された情報をレスポンダに提供するだけである。従って、トロイの木馬を注入する能力は、本書に記載のシステムにおいて必ずしも利用できない。
これらの利点に加え、本書に記載のシステムは、複数の組織を含む異種混在の配置の範囲内で自由度がかなり高い。1つの組織のレスポンダは、他の組織に信頼(trust)を分散させることなく、人工的に事前計算された応答を他のもう1つの組織に転送することができる。第1の組織は、その第1の組織の証明書の有効性ステータスに対するコントロールを断念することなく、他のもう1つの組織のレスポンダが有効性について説得力のあるプルーフを第1の組織に提供できるようにする。すなわち、本書に記載のシステムにおいて、信頼(trust)は、セキュリティ又はコントロールのいかなる損失も発生させることなく、1つの組織からもう1つの組織に流れることができる。ある実施形態では、レスポンダは、固定された信頼点(trust point)というよりは、透過的なネットワーク基盤として扱われる。これは、インターネットのDNS基盤によって提供されるサービスの集まり(service cloud)に類似し、その中では、簡単に相互操作可能なネームサーバの異種混在の集合が問い合わせに対する有効な応答を発見してキャッシュすることができる。
安全な異種混在状態(Secure heterogeneity)は、従来のOCSPよりも優れた本書に記載のシステムの主要な利点である。安全な異種混在状態により、互いに異なる組織の信頼パーティが安全で信頼おける効率的な方法で他の組織の証明書を相互に検証できるように、広範囲の様々な組織が相互に操作できる。
本書に記載のシステムは、任意の数の保護されていないレスポンダに問い合わせの負荷を分散させながら、すべての有効性検証の信頼(trust)を単一の権限機関(又は少数の権限機関)に提供する。本書に記載のシステムは、レスポンダがたとえ保護されていない場合でも、比較的多数のレスポンダに頼る分散実行においても安全性を低下させない。本書に記載のシステムは、問い合わせに対する応答時間を改善する。本書に記載のシステムは、異種混在の環境における外部のレスポンダに信頼(trust)を委任しない。
様々な実施形態の詳細な説明
本書に記載のシステムは、代替的に分散OCSP(DOCSP)として参照されるリアルタイム・クレデンシャル(RTC)を使用し、RTC機関(RTCA)として参照されるエンティティを使用する。RTCAは、所与の企業のCAと一致する場合もあるし一致しない場合もある。ある実施形態では、各CAは、特別な証明書であるRTCA証明書を自己所有のRTCAに提供する。CAは、そのCAがRTCAを信頼していることとCAによって発行された証明書についての証明書有効性情報を提供する権限をCAがRTCAに与えることを示す、RTCA証明書へのデジタル署名を行うことができる。RTCA証明書は、RTCAステータスを(例えば、所与の識別子やOID番号等によって特定される)所与のエンティティに伝え、(所与のエンティティが対応する秘密署名鍵を所有している)所与の検証鍵PKを所与のエンティティと結び付けることができる。
CAとRTCAとが同一である事例では、RTCAがCAとは異なる署名鍵を所有することができるという利点がある。このようにCAとRTCAとが同じエンティティである場合には、そのエンティティのCA要素は本質的に証明書の発行のみを行い、エンティティのRTCA要素は、例えば特定の証明書が有効であるか失効しているかを証明することによって証明書の管理のみを行う。従って、CAとRTCAとが同一である場合でも、RTCA証明書は使用される。
ある実施形態では、各CAは、一つのRTCAのみに関連付けられる。他の実施形態では、各CAは、二つ以上のRTCAと関連付けることができ、各RTCAは互いに異なる署名鍵を所有するか、又はRTCAのいくつか若しくはすべては署名鍵を共有する。一つのCAに関連付けて複数のRTCAを持つことは、冗長性という目的のために利益がある。他の実施形態では、複数のCAに関連付けて一つ又は二つ以上のRTCAを持つこともできる。
CAが署名鍵を保護するように、RTCAは、例えば保管庫(vault)、安全な設備又は安全なハードウェアによって署名鍵を保護する。ある実施形態では、RTCAは、秘密署名鍵を有する二つ以上のサーバを含む保護された設備内に受け入れられる。その設備は、秘密署名鍵の複製を安全に保存することができる。RTCAは、CAによって適切に認証された秘密署名鍵をそれぞれ有する二つ以上のサーバを含むことができる。
CAは、例えばCRLを用いたり又は他の適当な方法を用いたりすることにより、CAの証明書の有効性ステータスがRTCAに通知されるような状態にする。CAは、(1)証明書の有効性の変化があったらできるだけ速やかにその変化をオンライン方式でRTCAに知らせ、及び/又は、(2)予め決められた固定の時間間隔で及び/又はCAが新しいCRLを作成したときはいつでもCRLをRTCAに送る。CAは、個々の証明書のステータス情報を提供する多数の技術の一つ又は二つ以上を(単独で又は組み合わせて)用いることができる。例えば、本書の記載に参照により組み込まれる、米国特許第5,420,927号;第5,604,804号;第5,610,982号;第6,097,811号;第6,301,659号;第5,793,868号;第5,717,758号;第5,717,757号;第6,487,658号;及び第5,717,759号において提供されている開示内容を参照されたい。本書に記載のシステムは、これらの特許の一つ又は二つ以上に開示されている技術を、場合によっては他の適当な技術の一つ又は二つ以上と組み合わせて、用いることができる。使用可能な技術には、単一の技術又は任意の組み合わせ、フルCRL、区切られたCRL、デルタCRL、OCSP応答(個々の応答及びグループでの応答)、ミニCRL(ビット単位で圧縮されたCRL)、Vトークン(一方向ハッシュチェーン)、及び、様々なマークル(Merkle)ツリー又は他のツリー・インカーネーション(incarnation)、が含まれる。
日付列D1,D2,...,のいずれかの日付Diにおいて、RTCAは、最新の有効性ステータスの知識に基づき(例えば、CAの最新のCRLに基づき)、信頼パーティの要求からは独立して、CAの各未処理の証明書を処理することによって更新を実行し、各証明書のステータスを記述している宣言にデジタル署名する。各証明書のステータスは、例えば有効、失効、又は保留(場合によっては、「不明」)と判断される。署名された宣言は時間間隔Tを指定する。ある実施形態では、各更新において、すべての署名済み宣言は、同じ時間間隔Tを指定し、またある実施形態では、時間間隔の全体は連続している。例えば、各更新日Diにおいて、時間間隔はT=Di+1−Diとなり、場合によってはDi+1及びDiのいずれか一方だけがTの部分になり、他の日付は隣接する時間間隔の部分になる。ある実施形態では、証明書ステータスに関するRTCAの現在の知識がCRLに基づいているときは、各DiはあるCRLの日付と一致し、Di+1はその次のCRLに一致し、以下同様になる。しかし、そのような厳格な時間依存性が必須ではないは高く評価される。例えば、RTCAがその宣言の処理を実行又は開始する日付は、D1,D2,等であり、一方、宣言の中で指定された時間間隔は、D1’,D2’,等であり、Di及びDi’は互いに異なり、及び/又は互いに独立である。例えば、Diは、Di’よりも早い日であり、この場合には、RTCA、時間間隔Tの先頭までに宣言の処理を終了したいので、宣言の時間間隔の先頭よりも前に宣言の処理を開始する。
ある実施形態では、CRLがCAからのRTCA更新に使用される場合には、宣言の時間及びCRLの時間も互いに異なる。処理時間とCRLの時間と宣言の時間との間の同期の予想される欠落は、本書に記載のシステムに対しては重要ではない。実際には、イベントに気付いて適切に反応するにはいくらかの追加の時間が必要となるので、「リアルタイム」は非現実的である。まず、CRLはRTCA処理を行わせるが、そのCRLはリアルタイムに作成されるものではないことに留意されたい。更に、証明書を失効させる処理もリアルタイムではない。例えば、ユーザは自分の秘密鍵が劣化したことを気付き、そして、その劣化が実際に発生してから1日だけ経過してから、自分が所有する証明書を失効させる要求を行う。このようにユーザの証明書は1日遅れで失効するが、この遅れは、RTCAの計算によるリアルタイムからのずれと比較して、無視できる程度である。
RTCAは、所与の時間間隔Tにおける各証明書のステータスを示すデジタル署名を事前に計算する。そのような事前計算は、証明書の有効性についてのパーティの要求とは独立に実行される。ある実施形態では、RTCAは、証明書Cについてのステータス要求がなされる前、おそらく前記時間間隔がちょうど開始する前に、所与の時間間隔に証明書Cのステータスの署名された宣言を事前に計算する。
ある実施形態では、証明書ステータスについてRTCAが署名した宣言は、標準のOCSPフォーマットになっている。これは、既存の信頼パーティOCSPソフトウェアを修正する必要なしにRTCシステムの利益を享受できるようにOCSPソフトウェアがすでに所定の場所に存在している状況において、有用である。ある実施形態では、OCSPの準拠は、関連した量、デジタル署名アルゴリズム、OID等の具体的な選択によって提供される。
多くの場合、RTCAは、失効した証明書に対してだけではなく、むしろ全ての発行された証明書に対して応答を生成する必要がある。各発行された証明書のシリアル番号の存在を判断するために、RTCAには、CA又は他のエンティティによって、内部追跡のために全ての証明書の複製が与えられ、又は、RTCAには、個々の証明書の送信を含まない他の方法を介して、発行されたシリアル番号が与えられる。ある実施形態において、発行された証明書の情報は、証明書に対するシリアル番号が連続した順番に発行される特別な場合には、RTCAに対して明示的に提供される必要がない。連続したシリアル番号が使用されるときは、RTCAは、現在のCRLだけを使用して各証明書シリアル番号の存在を推測することを選ぶ。これは、CRL内の最下位及び最上位のシリアル番号を判断することによってなされる。上位と下位のシリアル番号の間の範囲内にある中間の番号はCAによって発行されていることが分かる。この範囲内の番号がCRL内に存在している場合は、そのステータスが失効していることが分かる。上記範囲内の中間の番号が存在していない場合には、その対応する証明書は、失効していないと判断され、OCSP標準では「有効」と定義される。
最下位のCRLエントリーよりも小さく又は最上位のCRLエントリーよりも大きいシリアル番号を有するように発行された少数の証明書は存在するが、上述した技術は発行された証明書の大部分を扱う。RTCAは、CRL内の最初のエントリーの前及びCRL内の最後のエントリーの後の両方に有効なシリアル番号の固定番号を仮定する構成パラメータを介して、上記追加のシリアル番号を含む。例えば、RTCAは、有効な証明書を表すように、最下位CRLエントリーの前に100個のシリアル番号を指定し、最上位CRLエントリーの後に500個のシリアル番号を指定する。この最適化処理により、RTCAは、多数の要素(個々の証明書)の代わりに、1つのデータ要素(CRL)を検索できるようになる。最上位端に使用される上位の番号は、下位から上位にかけて連続したシリアル番号とともに証明書が発行される状況で新規に発行される証明書を受け入れる場合に有用である。ある実施形態では、発行された証明書に対する最下位及び最上位のシリアル番号は、RTCAに対して明示的に提供され、ある実施形態では、その情報はデジタル署名される。
上記事前に計算された構文上正しいOCSP応答は、元の/初期の要求に対する応答として計算されないので、技術的にはOCSP応答でないと判断されることに留意されたい。本質的には、RTCAは、まだ生成されていないOCSP要求に対するOCSP準拠の応答を事前に計算する。従って、RTCA応答は、人工的に事前計算された応答であるとみなされる。また、OCSPに準拠していない実装においても、デジタル署名されたRTCA宣言を表現するために、人工的に事前計算された応答という用語を使用することができる。
人工的に事前計算された応答を生成した後、RTCAは、他のパーティに利用可能な応答を作る。特に、RTCは、有効性ステータス問い合わせに応答するために信頼パーティに応答を戻す。しかし、他の実施形態では、RTCAは、RTCレスポンダに利用可能な人工的に事前計算された応答を作成する。RTCA署名メッセージ(人工的に事前計算された応答)は実際上、不正に修正されたり又は気付かれないやり方で変更されたりすることはないので、RTCレスポンダを保護する必要がない。このため、RTCAは、セキュリティを危うくすることなく外部のレスポンダ(他の組織に属するレスポンダ)に、人工的に事前計算された応答を送ることができる。
ある実施形態では、RTCAは、適切に組織化されたやり方で人工的に事前計算された応答をRTCレスポンダに提供することにより、RTCレスポンダによる処理をやりやすくする。例えば、RTCAは、証明書のシリアル番号に従って又は長さなどに従って順序付けられた人工的に事前計算された応答を提供する。すべての関連する人工的に事前計算された応答が受け付けられることを保証するために、すべての更新時に、RTCAは、人工的に事前計算された応答の全体に署名し日付を付けることにより、追加の署名を有するRTCレスポンダを提供する。ある実施形態では、デジタル署名の有無にかかわらず、人工的に事前計算された応答の数のカウントであるチェックサム又はそれと同様な仕組みを用いることができる。
更に、RTCAは、CAによって発行された証明書についての証明書有効性情報を提供するRTCAをCAが信頼して権限を与えることを証明するために、CAによって生成されたRTCA証明書をRTCレスポンダに送ってもよい。ある実施形態では、すべての更新時にこれを実行する必要はない。ある例においては、RTCAは、最初だけ、ある固定された期間に、又は要求に応答して、RTCA証明書をRTCレスポンダに送る。
RTCレスポンダは、受け取った人工的に事前計算されたRTCAの応答を十分な時間だけ保存することができる。ある実施形態では、RTCAの署名が所与の時間間隔Tに関連している場合は、RTCレスポンダは、少なくともTの終端まで、人工的に事前計算された応答を保存する。ある実施形態では、RTCAと同様に同じ組織に属するRTCレスポンダのような少なくともいくつかのRTCレスポンダは、情報が正しく且つ最新であることを保証する手順を定期的に実行する。例えば、RTCレスポンダは、時間間隔Tについて人工的に事前計算された応答がTの最初までに又はTに関係した他の適当な時刻までに受けたことを検証したり、受けたすべてのRTCA署名(及び、おそらく適切なRTCA証明書)を検証したり、すべての署名(例えば、少なくとも予想される証明書の数、発行済みの証明書に対して最近送信された署名以上の署名、など)をRTCレスポンダが受けたかを検証したり、失効したと過去に宣言された証明書に対する有効性を示す情報をRTCレスポンダが受けたかを検証したり、RTCA証明書そのものが(例えばセキュリティの低下によって)失効していないことを検証したりする。問題が見つかった場合は、RTCレスポンダはRTCA又は他の適当なエンティティに知らせる。
上記信頼パーティは、証明書の有効性ステータスをRTCに問い合わせる。ある実施形態では、その要求はOCSPフォーマットになっている。所与の証明書の有効性について問い合わせたとき、RTCレスポンダは、RTCAが生成した、上記特定の証明書について人工的に事前計算された応答を、メモリから取り出して信頼パーティに返す。ある実施形態では、RTCレスポンダはまた、上記人工的に事前計算された応答に署名したRTCAに対して証明書を転送する。ある実施形態では、信頼パーティは(例えば、信頼パーティは複製を既にもっているので、)RTCA証明書の受け取りに興味があることを知らせ、又は、RTCレスポンダは信頼パーティが上記証明書の複製を既に所有していることを知っているかあるいはそのことを想定する。信頼パーティは、当該証明書の有効性ステータスを確認するために、上記受けた応答を処理する。ある実施形態では、人工的に事前計算された応答がOCSPフォーマットになっている場合は、信頼パーティは、その処理のためにOCSPソフトウェアを使用する。ある実施形態では、信頼パーティは、適切なRTCA証明書を検証する。OCSPに準拠した実装の場合には、信頼パーティは、OCSPレスポンダの証明書と同様にRTCA証明書を検証する。ある実施形態では、RTCA証明書は構文上、OCSPレスポンダ証明書のように構造化されている。
実行可能な最適化処理がある。例えば、Uが証明書Cuを有するパーティであると仮定する。パーティVとのトランザクションとして、Uは、(VがCuを既に有しているのでない場合は)VにCuを送り、そして場合によっては、(Uに属しているとCuの中で認証された公開検証鍵に関連するデジタル署名を表示したり、又は、Uに属しているとCuの中で認証された公開暗号鍵Vで暗号化されたランダムなチャレンジを復号化によって特定されたりするような)追加のタスクを実行する。上記トランザクションを安全にするために、Vは、Cuの現在の有効性を確認し、RTCレスポンダに対して有効性の問い合わせを行う。レスポンダは、Cuについての最新のRTCA署名宣言(人工的に事前計算された応答)を取り出して戻すことによって上記問い合わせに答える。しかし、RTCレスポンダへの問い合わせは、他の場合には二つのパーティのトランザクションであるトランザクションに、第三のパーティを追加し、トランザクションの時間及び複雑さを増加させる。
一つの解決策は、パーティUが、各時間間隔Tの最初に又は少なくとも各時間間隔Tの間に、Tの全体にわたって有効であるRTCA署名宣言Du(人工的に事前計算された応答)をCuが受けることである。Uは、RTCレスポンダに対する要求に応答するDuを受ける。他の解決策では、Duは、例えばRTCレスポンダ又はRTCAにより、すべての更新時に及び/又は自動バイアス時に、U又は他者に対してプッシュされる。いずれの場合にも、時間間隔Tの間におけるVとのトランザクションとともに、Uは、前記トランザクションを伴う他のすべてのステップ又はタスクに加え、DuをVに転送する。従って、Uの証明書の現在の有効性を確認するためにVが第3のパーティ(例えばRTCレスポンダ)を呼び出す必要はないので、U−Vトランザクションはかなりスピードアップされる。
UがDuを取得する時間を含む全体の時間はスピードアップされないが、U−Vトランザクションはスピードアップされる点に留意されたい。しかし、全体の時間を削減することなくU−Vトランザクションのみをスピードアップするだけでも有用であり効率的である点にも留意されたい。例えば、RTCA宣言(人工的に事前計算された応答)が深夜に計算され時間間隔としてまる1日を指定していると仮定した場合は、Uは、(比較的少ないトランザクションしかないときは)その日の初期にDuを取得し、より多くのトランザクションがあるとき及び時間の節約が有用であるとき時間に敏感なU−Vトランザクションが実行されている間にDuをVに転送する。また、UがDuを取得してキャッシュした後、他のパーティとトランザクションを行うときにその日の間中Duを転送することにより、更に効率が高められる。このように、例えば、(U自身の、おそらく忙しくない時間に作られた)単一の信頼パーティの問い合わせは、(おそらくより忙しい時間に)多くの信頼パーティの要求をうまく入れ換えることができる。
上述の最適化処理はパーティVによって実現することもできる。パーティUの証明書Cuの有効性についての問い合わせに対するリターンとしてRTCレスポンダからDuを取得した後、パーティVは、DuをUに与えたり、又は他者が利用できるDuを作成したりすることができる。
本書に記載の最適化処理は、本書に記載のシステムのOCSP準拠実装を使用する実施形態に適用することができることに留意されたい。また、同様な最適化処理は従来のOCSP実装にも適用できる点に留意されたい。そのような実装において、ユーザは、自分自身の証明書についてのOCSP応答を要求して取得し、このOCSP応答を、ユーザのトランザクションの一部として、適切な時間間隔でのトランザクションの他のパーティに転送する。あるいは、パーティUの証明書Cuの有効性について信頼パーティから初めて問い合わせがあったとき、OCSPレスポンダは、応答Ruを計算し、問い合わせをしてきた信頼パーティにRuを返し、また、Uが(次の更新まで)しばらくの間RuをキャッシュしてCuに基づくトランザクションの一部としてRuを転送できるように、RuをUに転送する。
ある実施形態では、本書に記載のシステムは、個々の証明書内で見付けられたデータを用い、それによって追加の証明書及び/又は応答長を保存して実装される。上述のように、CAは、CAによって発行された証明書の有効性について信頼できる回答を提供する権限を所与のRTCAに与えるRTCA証明書を発行する。そのようなRTCA証明書は、RTCA署名応答(人工的に事前計算された応答)の検証に使用される公開鍵を指定する。しかし、ある実施形態では、CAは、そのCAによって発行される証明書内にRTCA公開鍵を埋め込み、あるいは、その情報は、CA証明書そのものの中に埋め込まれる。すなわち、CAは(適当なフォーマット、OID等で)、Cuの有効性についてのデジタル署名された応答の検証に用いる公開鍵PKを、証明書Cu内に含める。これらの実施形態において、信頼パーティは、別々に分離されたRTCA証明書を受け取る必要がない。RTCレスポンダに最新のCuに対する有効性のプルーフを問い合わせるとき、信頼パーティは、(例えば、信頼パーティはそのように問い合わせているので、)RTCA署名応答(人工的に事前計算された応答)を取得する。実際に、Cuは、信頼パーティがCuに対する有効性のプルーフの検証に使用する公開検証鍵を指定する。他の実施形態では、全体のRTCA証明書(又はそれらのポインター)は、ユーザ証明書内に及び/又はCA証明書内に埋め込まれる。これらの埋め込みは、(RTCレスポンダは個々の分離されたRTCA証明書を送る必要がなく、そのRTCA証明書はRTCA応答よりもかなり長いので、)送信のかなりの節約をもたらし、また、(信頼パーティは、Cuを信頼するための将来のクレームに対する保護として、RTCA応答と一緒にRTCA証明書を保存する必要がないので、)保存にもかなりの節約をもたらす。
同様に、証明書Cuは、そのCuに対する時間間隔を指定する。これらの実施形態において、RTCA応答は、時間間隔Tの始まり及び終わりの両方を指定する必要はない。ある実施形態では、Tの始まりだけ(又は他のより簡単な指定子)が適切にTを指定する。例えば、Cuが毎日、更新を指定する場合は、所与の日の中の任意の時刻は、応答が参照する日の全体を指定するのに十分である。あるいは、証明書がまる一日からなる有効性の間隔を有していると理解される場合は、証明書内で指定されるような情報はなく、RTCA応答への保存が適用される。
所与の証明書Cに対する有効又は一時停止のRTCAプルーフが、そのプルーフが参照する時間間隔を指定し、その一方で、失効のプルーフはいかなる時間間隔も指定する必要がない。むしろ、有効及び一時停止とは異なり失効はしばしば取り返しがつかない処理であるので、そのようなプルーフは時間(例えば失効時間)中の一点を指定するだけで十分である。このように、単一の失効時間rtは、失効した証明書を証明するのに十分である。rtは時間間隔Tの始まりである必要はないがいかなる時刻をも指定できることに留意されたい。従って、証明書Cの永久失効の場合は、RTCAは、すべの更新日(例えば、D1,D2等)にCの失効プルーフを送る必要がない。その代わりに、失効プルーフは、1回だけ(又は冗長性のために少数回だけ)送られ、Cについての信頼パーティの問い合わせがなされたときにいつでも返すことができるようにRTCレスポンダによってキャッシュされる。
証明書Cが失効されたことがRTCAに速やかに知らされることに留意されたい。例えば、Cが失効したという情報は、RTCAがCに対する有効プルーフを生成してRTCレスポンダに転送した時間間隔Tの途中で転送される。そのような場合には、次の更新までに、有効プルーフはCに対して計算されない。しかし、そのときまで(すなわちTの終端まで)、間違ってはいるが見かけ上正しく見える有効プルーフが、RTCレスポンダによって保持される。取り得る対策は、失効プルーフを有効のプルーフよりも先行させることを含む。そのような場合には、ある時間間隔TにおけるCに対する有効プルーフと(任意の時刻tにおける)Cに対する失効プルーフの両方をみる正直な信頼パーティは、(時刻tの後)Cを失効しているものとみなす。
ある状況では、信頼パーティは失効プルーフをまったくみることがなく、従ってCが失効しているにもかかわらず、そのCはTの終端まで有効であると考えられてしまう。RTCAが(予めスケジュールされた日付D1,D2,等、又はD1’,D2’,等とは独立に)、Cが失効したことを(例えば、次のCRL更新を待たずにCAから直接的に)知ったらすぐに、RTCAがCの失効プルーフを計算してすべてのRTCレスポンダに送ることによって、そのような問題は低減する。すべての適切に機能するRTCレスポンダは、Cのプルーフをメモリから消去し、それを新しく受けた失効プルーフで置き換える。そのような場合には、RTCレスポンダがCの有効性についての正確なプルーフを信頼パーティに提供する可能性がより高い。
図3を参照すれば、ダイアグラム80は、本書に記載のシステムを実装するアーキテクチャを図示している。CA82は、RTCA84に結合され、それに検証情報(例えばCRL)を提供する。RTC84は、RTCA84から人工的に事前計算された応答を受ける複数のRTCレスポンダ86−88に結合されている。本書の他のどこかで説明しているように、CA82及びRTCA84の両方はそれぞれ秘密署名鍵を使用する。ある実施形態では、ボックス85で図示されているように、CA82及びRTCA84は同じエンティティである。
RTCA84は、人工的に事前計算された応答をRTCレスポンダ86−88に提供する。本書の他のどこかで説明しているように、RTCレスポンダ86−88は、自分自身の秘密署名鍵を必要とせず、また、RTCレスポンダ86−88の1つによって信頼パーティへ提供される情報はRTCA84及び公開されている情報によってデジタル署名されているので、RTCレスポンダ86−88は保護される必要もない。
他の実施形態では、二つ以上のRTCAは使用され、そのRTCAは、複数の追加RTCを表しているRTCA92及びRTCA94によって図示されている。追加のRTCA92、94はそれぞれ、RTCA84によって用いられるレスポンダ86−88に結合されている。あるいは、一つ又は二つ以上の追加のRTCA92,94が追加の異なる複数のレスポンダ96−98に結合されている。
図4を参照すると、フローチャート100は、RTCAの初期化に関連してCAによって実行されるステップを図示している。古いRTCA証明書は有効期限が切れているので、又はRTCAのセキュリティ/秘密鍵は劣化しているので、フローチャート100のステップは、システムに追加された新しいRTCAに関して、又は、新しい証明書を発行する従来のRTCAに関して、実行される。
処理は、CAがRTCAを検証する最初のステップ102で始まる。ステップ102でのRTCAの検証は、システムのトポロジー及びセキュリティの条件に依存し、例えばRTCAを物理的に検査してRTCAが所定の位置にあって安全であるとを検証する管理者を必要とする。もちろん、RTCAが安全であることを検証するためにステップ102で実行される他の適切な処理はある。ステップ102の次はステップ104であり、ここではCAがRTCAに対する鍵を生成する。このステップでは、CAは、RTCAに対する秘密鍵及びRTCAに対する公開鍵の両方を生成する。
ステップ104の次はステップ106であり、ここではCAがステップ104で生成した鍵に基づいてRTCAに対する証明書を生成する。ステップ106で生成された証明書はRTCA証明書である。ステップ106の次はステップ108であり、ここでは秘密鍵がRTCAに提供される。ある実施形態では、セキュリティの目的のためにオフライン方式で(例えば、ユーザが紙の上に秘密鍵を書き、その秘密鍵を物理的にRTCAに入力して)秘密鍵をRTCAに提供することが有用である。
ステップ108の次はステップ112であり、ここではステップ106で生成された証明書がRTCAに提供される。RTCA証明書は、その後に公にされ、すべての実際上の目的のために、(通常はステップ104で生成された秘密鍵とは異なる)CAの秘密鍵の知識なしに改ざんすることはできないので、ステップ112では、(安全ではないが)オンライン方式で証明書をRTCAに提供することができる。ステップ112の次はステップ114であり、ここではCAによって管理されている証明書についての初期の証明書データが、CAからRTCAに提供される。更に、本書に他のいずれかに記載されているように、有効期間が満了していない有効な証明書に対する適切な応答をRTCAが提供できるように、ステップ114で提供された初期データはまた、有効期間が満了していない有効な証明書についての情報を含む。
ステップ114の後、処理は終了する。
ある実施形態では、RTCAが秘密鍵の知識を有する唯一のエンティティになるように、上記ステップ104はRTCAによって実行される。その場合には、(オンライン又はオフラインのいずれかの方式で)CAがステップ106で証明書を生成できるように、RTCAは、対応する公開鍵をCAに提供する。もちろん、そのような場合、上述のステップ108の実行は不要である。これは、フローチャート100においてステップ106からステップ112への代替のフローパス116で図示されている。
フローチャート100のステップはCA及びRTCAが同じエンティティの場合でも実行されることに留意されたい。もちろん、そのような場合には、ステップ102でのRTCAの検証はどうでもよい。更に、CAの機能及びRTCA機能の両方に対する同じ公開鍵と秘密鍵のペアをRTCA/CAが使用する実施形態では、RTCA証明書がCAの証明書になるので、上記ステップ104,106,108及び112は実行する必要がない。しかし、RTCA証明書がCA証明書と異なるフォーマット(例えば、OCSPレスポンダ証明書のフォーマット)を有する場合には、上記ステップ106は、RTCA証明書に対する異なるフォーマットの証明書の生成に関して実行される。
図5を参照すると、フローチャート120は、CAからRTCAへの証明書の有効性データの定期的な転送に関して実行されるステップを図示している。このフローチャート120のステップは、定期的に、又はRTCAによる特定の要求に応答して実行される。処理は、証明書が(例えばすぐ前の反復処理の後、)最近失効したかについて判断する最初のステップ122で始まる。失効している場合は、制御はテストステップ122からステップ124に移行し、ここでは失効情報がレスポンダに送られる。本書の他のどこかで説明しているように、ある実施形態では、失効情報はすぐに(又は可能なかぎりほぼすぐに)CAからRTCAへ送信される。ある実施形態では、ステップ124でCAからRTCAに送られた失効情報は、デジタル署名されるか、あるいは認証される。
ステップ124の次、又はテストステップ122で最新失効した証明書がない場合は、現在の時間が証明書情報を更新するための新しい時間間隔に対応しているかを判断するテストステップ126である。本書の他のどこかで説明しているように、ある実施形態では、CAは周期的な間隔で新しい有効性情報をRTCAにプッシュする。従って、テストステップ126で現在の時間が新しい時間間隔に対応していない場合は、制御はテストステップ126からステップ122に戻るように移行する。そうではなく、テストステップ126で現在の時間が新しい時間間隔に対応している場合は、制御はテストステップ126からステップ128に移行し、ここでは、新しい有効性情報がCAによって生成され、ある実施形態ではデジタル署名あるいはその情報の認証を含む。本書の他のどこかで説明しているように、上記新しい有効性情報は、CRLなどの各種フォームのいずれか1つになっている。
ステップ128の次はステップ132であり、ここでは上記ステップ128で生成された新しい有効性情報がRTCAに提供される。ステップ132の次は、RTCAがステップ132で送られた情報の受領確認をしたかを判断するテストステップ134である。上記受領確認をしていない場合は、制御はステップ134からエラー処理が実行されるステップ136に移行する。ステップ136で実行されるエラー処理は、例えばシステム管理者への通知を含む。悪意のある攻撃者は最近失効した証明書に関連した情報を広めるのを防止する手段としてのRTCAを無効にするので、ステップ134でRTCAが新しい有効性情報を受けたかを判断することが有用であることに留意されたい。ステップ136の後、処理は終了する。
RTCAがステップ134で送られた情報の受領確認をしたと判断された場合は、制御は次の反復処理を行うためにステップ134からステップ122に戻るように移行する。ある実施形態では、RTCAがデータの受領確認をしたか否かを考慮することなく、データが定期的にCAからRTCAへ提供される。これは代替のパス137で図示されている。
ある実施形態では、フローチャート120のステップは、定期的に実行されず、その代わりに、RTCAによるデータに対する特定の要求に応答して実行される。これは、制御がステップ122又はステップ124からステップ128へ直接移行する代替のパス138で図示されている。ステップ134での受領確認の受信に対応する代替パス142にも留意されたい。フローチャート120のステップが定期的に実行されない実施形態では、ステップ134でRTCAがステップ132で送られた情報の受領確認をしたとき、パス142は処理の終了を示す。もちろん、RTCAがCAからの情報の受領確認を行わない実施形態も可能である。これは代替パス144によって図示されている。
図6を参照すると、フローチャート150は、RTCAからRTCにデータが定期的にプッシュされる実施形態で実行される処理を図示している。処理は最初のステップ152で始まり、ここではRTCAが前回のプッシュの後新しいデータを受けたかどうかを判断する。上記新しいデータを受けていない場合は、制御は、新しいデータを受けるまでループとポーリングを続けるためにステップ152に戻るように移行する。テストステップ152で新しいデータを受けると、制御はステップ152からステップ154に移行し、ここではデータがRTCAからRTCレスポンダに転送される。ステップ154の後、制御は新しいデータを待つポーリングを続けるためにステップ152に戻るように移行する。
図7を参照すると、フローチャート160は、RTCレスポンダによる要求に応答してデータがRTCAからRTCレスポンダに提供される実施形態においてRTCAによって実行されるステップを図示している。本書の他のどこかで説明しているように、RTCレスポンダは、RTCAからRTCレスポンダにデータが定期的にプッシュされることに頼るのではなく、RTCAからのデータをRTCレスポンダ自ら定期的に要求する。
処理は最初のステップ162で始まり、ここでRTCAはRTCレスポンダからの問い合わせ(データに対する要求)を受ける。ステップ162の次は、RTCA証明書がRTCレスポンダによって要求されたか否かを判断するテストステップ164である。本書の他のどこかで説明しているように、RTCA証明書は、CAがRTCAを信頼し有効性情報を提供する権限をRTCAに与えることを示すために使用される。ある実施形態では、各RTCレスポンダは、(要求されたとき及び/又は必要なときに信頼パーティに提供される)RTCA証明書をキャッシュし、この場合にはRTCA証明書を一度だけ要求することが必要となる。他の実施形態では、RTCレスポンダは、定期的にRTCA証明書を要求するか、ある場合にはRTCA証明をいつも要求する。
テストステップ164でRTCレスポンダがRTCA証明書を要求したと判断された場合には、制御はテストステップ164からステップ166に移行し、ここではRTCAはRTCレスポンダにRTCA証明書を提供する。ステップ166の次、又はテストステップ164でRTCAレスポンダがRTCAを要求していない場合の次は、他の情報(例えば、人工的に事前計算された応答)が要求されたかどうかを判断するテストステップ168である。上記他の情報が要求されていない場合は、処理は終了する。そうでない場合は、制御はテストステップ168から、上記他の情報がRTCAで利用可能かどうかを判断するテストステップ172に移行する。ある場合には、RTCAによって要求される他の情報はRTCAで利用できない。例えば、RTCAレスポンダが外部の証明書についての情報を要求する場合は、人工的に事前計算された応答はRTCAで利用できない。
テストステップ172で上記要求された情報が利用できないと判断された場合は、制御はテストステップ172からステップ174に移行し、ここではRTCAは要求された情報が利用できない旨を示すデータをRTCレスポンダに提供する。ステップ174の後、処理は終了する。テストステップ172で上記要求された他の情報が利用できると判断された場合は、制御はテストステップ172からステップ176に移行し、ここでは上記要求された情報はRTCAによってRTCレスポンダに提供される。ステップ176の後、処理は終了する。
図8を参照すると、フローチャート190は、人工的に事前計算された応答(例えば、OCSP応答)に対する要求を信頼パーティから受けることに関連してRTCレスポンダによって実行されるステップを図示している。処理は、上記要求を受ける最初のステップ192で始まる。ステップ192の次はステップ194であり、ここではRTCレスポンダは要求に対する適切なRTCAデータを取得する。ステップ194でのRTCAデータの取得については、本書の他のどこかで詳しく説明されている。ステップ194の次は、上記要求されたデータが利用できるか否かを判断するテストステップ196である。上記要求されたデータが利用できない場合は、制御はテストステップ196からステップ198に移行し、ここではRTCレスポンダは、特定の証明書のステータスが知られていないことを示す応答を信頼パーティに提供する。
ステップ198の後、処理は終了する。
テストステップ196で注目している証明書に対して最新の有効性のデータが利用できる場合は、制御はテストステップ196からステップ202に移行し、ここでは上記データに対するチェックが実行される。本書の他のどこかで説明しているように、上記ステップ202で実行されるチェックは、上記データが最新かどうかを判断すること、及びRTCA証明書が改ざんされずに依然として有効であるかどうかを判断することの一つまたは二つ以上を含み、また、ステップ194で取得されたデータについて実行される他のチェックの一つまたは二つ以上を含む。
ステップ202の次は、ステップ202でチェックを行った結果がすべてOKであるか動かが判断されるテストステップ204である。上記結果がすべてOKでない場合は、制御はステップ204からステップ206に移行し、ここでは信頼パーティは有効性データがOKでないことを示す指示が提供される。例えばシステム管理者にエラーを通知すること等の他の適切な処理が、ステップ206で実行される。ステップ206の後、処理は終了する。
テストステップ204で有効性データがOKであると判断された場合は、制御はテストステップ204から、信頼パーティがRTCA証明書を要求したかどうかを判断するテストステップ208に移行する。信頼パーティがRTCA証明書を要求していなかった場合は、制御はテストステップ208からステップ212に移行し、ここでは信頼パーティは有効性のデータ(人工的に事前計算された応答)が提供される。ステップ212の後、処理は終了する。そうではなく、ステップ208でRTCA証明書が有効性データとともに要求されていたと判断した場合は、制御はテストステップ208からステップ214に移行し、ここでは、有効性データ(人工的に事前計算された応答)及びRTCA証明書が信頼パーティに提供される。ステップ214の後、処理は終了する。
ある実施形態では、信頼パーティはみずから有効性データのチェックを実行し、この場合には、ステップ202又はそれに対応するステップ204でのチェックを実行する必要はない。これはステップ196からステップ208までの代替フローパス216によって図示されている。
図9を参照すると、フローチャート230は、図8のフローチャート190のステップ194でのRTCAデータの取得に関連してRTCレスポンダによって実行される更に詳細なステップを図示している。フローチャート230は、RTCAレスポンダがデータを特に要求することなく、RTCAデータがRTCAによってRTCレスポンダに自動的にプッシュされる実施形態に対応している。これらの実施形態では、レスポンダはいつも自動的に最新の(又はほぼ最新の)RTCAデータを所有する。
処理は最初のテストステップ232で始まり、ここではRTCレスポンダは上記要求されたデータがRTCレスポンダで利用できるかどうかを判断する。利用でできる場合は、制御はテスト232から、上記RTCレスポンダにおける要求されたデータが最新かどうかを判断するテストステップ234に移行する。本書の他のどこかで説明しているように、人工的に事前計算された応答は時間間隔を含み、その時間間隔では上記人工的に事前計算された応答は有効であり、その時間間隔の後は、新しい人工的に事前計算された応答を取得する必要がある。
人工的に事前計算された応答に対する時間間隔を決めるための特別なメカニズムにかかわらず、上記テストステップ234で、現在の時間と人工的に事前計算された応答に関連した時間間隔とを比較することにより、信頼パーティによって要求された特定の人工的に事前計算された応答が最新かどうか判断される。
上記データが最新の場合は、制御はテストステップ234から、RTCA証明書が有効であるかどうかを判断するステップ236に移行する。ある例では、上記RTCAによって提供されたデータが信頼できなくなるようにRTCAを失効させる(又は有効期間満了にする)ことができる。例えば、RTCAの秘密鍵が劣化した場合は、RTCA証明書は失効する。上記ステップ236でのRTCA証明書の有効性の判断は、本書で説明した技術を含む多くの既知の技術のいずれか一つを使って実行される。上記テストステップ236でRTCA証明書が有効であると判断された場合は、制御はテストステップ236からステップ238に移行し、ここでは、図8のフローチャート190に関連して上述したように、上記要求された人工的に事前計算された応答が将来の処理のために提供される。ステップ238の後、処理は終了する。
上記テストステップ232で上記データが利用できないと判断された場合、上記テストステップ234で上記要求されたデータが最新でないと判断された場合、又は上記テストステップ236でRTCA証明書が有効でないと判断された場合は、制御は、図8のフローチャート190のステップの処理の続きに関連して上記データが利用できないことが示されるステップ242に移行する。ある実施形態では、ステップ242で提供された情報は、上記要求された情報を利用できない理由を含む。ステップ242の後、処理は終了する。
ある実施形態では、各反復処理においてRTCA証明書の有効性をチェックしないことが望ましい。この実施形態では、ステップ236は省略され、これは代替パス244によって図示されている。
RTCレスポンダがRTCAからの新しいデータを定期的に要求する実施形態に対するフローチャート230によって図示されている処理を使用できることに留意されたい。そのような場合には、上記RTCAからのデータはRTCレスポンダによってまだ要求されていないので、そのデータは利用できないかあるいは最新ではない。
図10を参照すると、RTCレスポンダがRTCAからのデータを要求する実施形態に対する図8のフローチャート190のステップ194でRTCAデータを取得することに関連して実行されるステップをより詳細に図示している。処理は最初のステップ262で始まり、ここでは信頼パーティがRTCA証明書を要求したかどうかが判断される。要求した場合は、制御はステップ262からステップ264に移行し、ここではRTCA証明書がRTCレスポンダによってキャッシュされたかどうか判断される。キャッシュされている場合は、制御はステップ264からステップ266に移行し、ここではRTCレスポンダはRTCAからのRTCA証明書を要求する。
ステップ266の次、RTCA証明書が要求されていない場合のステップ262の次、又は上記要求された証明書が利用できない場合のステップ264の次は、テストステップ268であり、ここでは人工的に事前計算された応答が要求されたかどうか判断される。要求されている場合は、制御はテストステップ268からテストステップ272に移行し、ここでは上記要求された人工的に事前計算された応答がキャッシュされたかどうか(及び、もちろん最新であるかどうか)判断される。キャッシュされていない場合は、制御はテストステップ272からテストステップ274に移行し、ここではRTCレスポンダはRTCAからの人工的に事前計算された応答を要求する。ステップ274の次、上記人工的に事前計算された応答が要求されていない場合のステップ268の次、又は上記要求された人工的に事前計算された応答がキャッシュされた場合のステップ272の次は、ステップ276であり、ここでは図8のフローチャート190のステップに従った処理に続いて行うために、上記要求された情報の取得の結果が提供される。ステップ276の後、処理は終了する。
図11を参照すると、フローチャート300はユーザ又は信頼パーティによって実行されるステップを図示しており、ここで、上述のように、3つのパーティのトランザクションの余分なステップ及び処理を回避するように2つのパーティのトランザクションがセットアップされた実施形態に関連して、ユーザはその信頼パーティとの間でトランザクションを行う。処理は最初のテストステップ302で始まり、ここで上記ユーザ及び/又は信頼パーティがキャッシュした情報(人工的に事前計算された応答)が最新かどうか(又は、ローカルに存在するかどうか)判断される。最新の場合(又は、ローカルに存在する場合)は、制御は、情報が最新でなくなるまでポーリングを続けるために、テストステップ302に戻るように移行する。テストステップ302で上記キャッシュされた情報が最新でないと判断されたときは、制御はテストステップ302からステップ304に移行し、ここでは、エンティティ(ユーザ及び/又は信頼パーティ)が、本書の他のどこかで説明しているように最新情報を取得する。ステップ304の次はステップ306であり、ここではステップ304で取得された情報がローカルに保存される(キャッシュされる)。ステップ306の後、制御は、キャッシュされた情報がもはや最新でなくなるまでポーリングを続けるために、ステップ302に戻るように移行する。
図12を参照すると、証明書320は従来の証明書情報322とRTCA証明書情報324とを含むように示されている。証明書320はユーザ証明書又はCA証明書である。上述のように、ある実施形態では、RTCA証明書324によって認証された公開鍵を証明書の中に埋め込むことができる。信頼パーティが証明書320(ユーザ証明書又はCA証明書のいずれか)を見たとき、RTCA証明書を単独で取得する必要はない。ある実施形態では、RTCA証明書情報324はRTCA証明書の全体又はそれに対するポインターを含む。
図13を参照すると、ダイアグラム400は、CA402と、RTCA404と、RTCレスポンダ406と、信頼パーティ408との間の情報の流れを図示している。本書の他のどこかで説明しているように、CA402は有効性情報(例えばCRL)412をRTCA404に提供する。RTCA404は、RTCレスポンダ406に提供される複数の人工的に事前計算された応答416を生成する。ある例では、RTCA404はまた、RTCA証明書414をRTCレスポンダ406に提供する。しかし、本書の他のどこかで説明しているように、RTCA証明書414は一度だけ提供されるか、あるいは、人工的に事前計算された応答416をRTCレスポンダ406に提供するRTCA406とは独立に定期的に提供される。
信頼パーティ404は、その信頼パーティ408がRTCレスポンダ406に提供するOCSP要求418(又は有効性情報に対する他の種類の要求)を生成する。RTCレスポンダ406は、RTCA404からRTCレスポンダ406に既に提供されている人工的に事前計算されたOCSP応答416の一つである人工的に事前計算されたOCSP応答422を提供することによって、OCSP要求418に対するサービスを提供する。信頼パーティ408は、その後、質問中の証明書の有効性ステータスに基づいて適切な更なる動作をとるために、人工的に事前計算された応答422を使用する。本書の他のどこかで説明しているように、ある例では、RTCレスポンダ406はRTCA証明書414を信頼パーティ408に提供する。
図14を参照すると、ダイアグラム430は、二つの独立したデジタル証明書システムの間における有効性情報の通信を図示している。ダイアグラム430は、図13のダイアグラム400におけるCA402と、RTCA404と、RTCレスポンダ406と、信頼パーティ408とを示している。ダイアグラム430は更に、CA402によってRTCA404に提供される有効性情報412を示し、またRTCA404からRTCレスポンダ406に通信されるRTCA証明書414及び人工的に事前計算された応答416を示している。
ダイアグラム430はまた、第2のCA432と、第2のRTCA434と、第2のRTCレスポンダ436と、第2の信頼パーティ438とを図示している。第2のCA432は、有効性情報442を第2のRTCA434に提供する。第2のRTCA434は、人工的に事前計算された応答446を第2のRTCレスポンダ436に提供する。しかし、CA402及び第2のCA432がデジタル証明書の独立したセットを管理すると仮定した場合、CRL412は、CRL442とは異なる証明書についての情報を含み、人工的に事前計算された応答416は、人工的に事前計算された応答446とは異なる証明書についての情報を含む。従って、第2の信頼パーティ438が、CA402によって管理されている証明書についてOCSP要求448を第2のレスポンダ436に提供するとき、第2のRTCA434によって提供される人工的に事前計算された応答446のいずれも、OCSP要求448を満たす適切なものではない。
上述の問題は、RTCA404が人工的に事前計算された応答416を第2のRTCレスポンダ436に提供するとともにRTCA404が人工的に事前計算された応答414を第2のRTCレスポンダを前もって提供している場合に、第2のRTCレスポンダ436がRTCA証明書414とRTCA404で生成された人工的に事前計算された応答422とを提供することによってOCSP要求448を満たすことにより、解決できる。本書の他のどこかで説明しているように、RTCA証明書414及び人工的に事前計算された応答436は第2のレスポンダ436への送信に先立って既にデジタル署名されているので、RTCA404から第2のRTCレスポンダ436への送信がセキュアであることは必要ないことに留意されたい。
図15を参照すると、ダイアグラム460は、図14のダイアグラム430によって図示されているシステムの一般化を図示している。ダイアグラム460において、RTCA404は、人工的に事前計算された応答416をRTCレスポンダの異種混在の集団462に提供する。同様に、第2のRTCA434は、人工的に事前計算された応答446をRTCレスポンダの異種混在の集団462に提供する。RTCA404,434はまた、それぞれのRTCA証明書(図示無し)をRTCレスポンダの異種混在の集団462に提供する。RTCAのいくつかは人工的に事前計算された応答及び/又はRTCA証明書をRTCレスポンダの異種混在の集団462に提供することに留意されたい。従って、信頼パーティ408、第2の信頼パーティ438、又は他の信頼パーティは、人工的に事前計算された応答の適切な一つを受け、オプションで、人工的に事前計算された応答が異種混在の集団462に提供されている証明書についてのOCSP要求(又は他の種類の要求)に対する応答としてRTCA証明書を受ける。
上述の技術は従来のOCSPにおける高コストの計算、高い通信量及びセキュアサーバの高価なレプリケーション等の欠点を解決できるが、計算及び通信のコストをさらにもっと低減するさらなる最適化処理が可能である。実際には、RTCAとRTCレスポンダとの間の通信量は、後述のように適切な圧縮によって低減できる。後述の技術の組み合わせから結果として得られる節約は、特に標準OCSP構文(syntax)を使用したときにかなり大きくなる。
上述のように、RTCAは各RTCレスポンダに人工的に事前計算された応答を送り、その人工的に事前計算された応答はそれぞれ、例えば応答の種類、応答が計算された時間、デジタル署名アルゴリズム識別子、RTCAのid、証明書の番号、証明書が有効か無効か等と、デジタル署名そのものとからなる、複数のデータ要素で構成されている。例えば、上記応答が計算された時間及びRTCAのidは、すべての応答について同じである。すべての応答が一緒にRTCAからRTCレスポンダに送られるときは、共通の要素が1回だけ送られる。RTCレスポンダは、信頼パーティの要求に答えるときにさらに適切な応答を再構成する。更に、データ項目が似ているが同一でないときは、その類似性をうまく利用して相違部分だけを通信するように適当な圧縮アルゴリズムが使用される。
加えて、応答の計算及びレスポンダとの通信のコストを更に低減するために、証明書の全部ではないがそのいくつかの有効性のステータスについてレスポンダを更新することが有益である。例えば、高いプライオリティ(高いセキュリティ)を有する証明書はそのステータスが1分ごとに更新され、その一方、すべての証明書の有効性ステータスは1時間ごとに更新される。その代わりに(又はそれに加えて)、新規に失効した証明書の有効性ステータスは、レスポンダによる不適当な使用の危険性を低減できるように即座に更新されてもよい。もう一つの代替手段として、RTCAは、すべての証明書に対する署名された有効性ステータス情報を1日ごとに(又は1時間ごとに)提供する一方で、ステータスが変化した証明書に対する最新の更新をレスポンダに提供してもよい。
(Lempel-Zivのような)標準の一般的な圧縮技術は通信コストを更に低減するために使用できる。この圧縮技術は上述の最適化処理が通信のサイズを既に減少させた後に適用される。
多くの場合には、より少ない署名の計算が必要となるので、上述の最適化処理は、RTCAにおける計算負荷及びRTCAとレスポンダとの間の通信コストを低減させる。実際、上記計算と通信に要する待ち時間を低減することにより、このアプローチはセキュリティを向上させ、レスポンダは、RTCAがつねにすべての証明書の有効性ステータスを処理して送る必要がある場合よりもさらに最新の情報を有する。
図16を参照すると、フローチャート470はRTCAとRTCレスポンダとの間で通信されるデータを圧縮するステップを図示している。処理は最初のステップ472で始まり、ここではスケジュールされていない項目が送信から除外される。上述のように、可能な最適処理の一つは、より重要な証明書がより頻繁に更新されるような互いに異なる頻度で証明書に関する情報を更新することである。従って、各更新サイクルで、あまり重要でなくスケジュールがなされていない証明書についての情報は、RTCAからRTCレスポンダに送られる情報から除去される。
ステップ472の次はステップ474であり、ここでは冗長な項目は残ったデータから除去外される。上述のように、冗長な項目は、送信されている情報の全体を通して同じ項目を含む。例えば、RTCA及び更新時間の同一性はRTCAからRTCレスポンダに転送される情報のすべてについて同じである。ステップ474の次はステップ476であり、ここでは圧縮アルゴリズムが残っている情報に対して適用される。各種適用可能な圧縮アルゴリズムは上述のとおりである。ステップ476の後、処理は終了する。
証明書の有効性を証明することは、ある人がクレームした同一性を証明する上で価値がある。しかし、ある場合には、人がクレームした同一性は、ある特定の物理的な場所、論理的なエンティティ又はサービスにアクセスする特権に関連することが多い。上記同一性と特権との関連性は暗黙的(implicit)であり、同一のユーザに対する複数の独立した特権を制御する必要性を受け入れない。他の別のアプローチは、各独立の特権に対する別々の特権ステータスを採用することである。RTCAは、証明書のステータスの証明に加えて、複数の特権に対する明示的な特権ステータスを提供するように拡張される。
特権は権限機関(Authorization Authorities)によってユーザに許可される。これは、権限機関とCAとが同じエンティティの場合の暗黙的な処理である。このような場合には、自分の同一性を証明するユーザは、特定の場所、論理的なエンティティ又はサービスにアクセスする権利を確立する。しかし、このアプローチの欠点は、特権のステータスが証明書又は同一性の有効性ステータスと同一であり、このためすべての黙示の特権に対する単一のyes/no回答になることである。これは、後述するように個々のユーザに対する個々の独立した特権ステータスを提供するようにRTCAを拡張することによって解決できる。
当初、CAはRTCAを特権管理機関として認証する。これは、例えば、本書の他のどこかで説明しているように一般的なCA認証処理の一部として実行される。CAは、CAがRTCAを信頼し、証明書の有効性ステータスに加えて複数の独立した特権ステータスを提供する権限をRTCAに与えることを示す証明書にデジタル署名する。上記権限の付与は暗黙的であるか、又はRTCA証明書に明示的に示される。
上記認証に続いて、権限機関はRTCAに各種の特権ステータスの最新状態を知らせる。権限機関は、その権限機関がコントロールしている各ユーザに対して権限を与える特権の有効性ステータスがRTCAに通知される状態を維持する。例えば、権限機関は、(1)特権ステータスに変化が発生したら速やかにその特権ステータスの変化をRTCAに知らせ、又は(2)その変化を示すデジタル署名されたメッセージを掲示したりRTCAに送ったりする。
権限が付与された権限機関としてエンティティを識別することは、適切に信頼され権限が与えられたCAによって発行されたデジタル署名済みの証明書を用いて行われる。各権限機関によってコントロールされた特権は、(CAによって)証明書そのものの中にある権限、RTCAに位置するデータベース内にある権限、又は他の適切な手段による権限、と結び付けられる。
RTCAが署名された証明書の有効性ステータスメッセージを独立に生成するとき、RTCAは、所与の証明書に関連する各特権のステータスを含む。証明書の有効性ステータスを提供する処理の一部として、RTCAは、問い合わせられている証明書に関連した各特権の識別子及び最新ステータスを含む。上記特権ステータスに関連した時間間隔は、前記証明書の有効性ステータスに適用されたものと同じである。この状況では、各種の特権ステータスを事前に計算することは、上述した証明書ステータスの有効性確認の技術と同一で同時に共存するものである。特権ステータスは、証明書ステータスの有効性確認のように、同じデジタル署名されたメッセージの中に含まれる。
RTCAは、保護されていないRTCレスポンダに、事前に計算された特権の有効性ステータスを送る。各種の特権ステータスを配信する処理は、上述した証明書ステータスの有効性確認で使用されたものと同一で同時に共存するものである。そして、レスポンダは、RTCAの事前に計算された特権ステータスを保存する。特権ステータス検証情報が証明書ステータス検証情報の一部として含まれる例では、その特権ステータス情報は、上述のようにレスポンダによって単一の応答として保存され、及び/又は証明書検証情報と一緒に保存される。
信頼パーティがレスポンダに上述の証明書の有効性ステータス情報を問い合わせるとき、RTCレスポンダは、RTCAの事前に計算された応答を提供し、その応答は、証明書の有効性ステータス及びすべての関連した特権ステータスを含む。そして、信頼パーティは、上記事前に計算された応答(及び、適切な場合は、RTCA証明書)を検証する。
信頼パーティによって受けられた応答の処理は、ここでは関連した特権のステータスも利用可能であること以外、上述したものと同じである。特権ステータスは読み出され、要求されたアクセスを許可するかどうかの判断に使用される。複数の明示的な特権ステータスを提供するように拡張されたRTCシステムは、事前に計算されたOCSP応答がここでは証明書有効性ステータス情報だけでなく特権有効性ステータスも含むものとして理解されている以外、証明書ステータスを提供するものとして本書の他のどこかで説明されているシステムと類似している。
図17を参照すると、ダイアグラム480は権限機関の実装を図示している。ダイアグラム480は、RTCA484に結合されたCA482を示している。CA482は、本書の他のどこかで説明しているように情報をRTCA484に提供する。RTCA484は、本書の他のどこかで説明しているように、複数のRTCレスポンダ486−488に情報を提供するようにそれらRTCレスポンダ486−488に結合されている。
ダイアグラム480はまた、権限情報をRTCA484に提供する権限機関492を示している。オプションで、CA482は、例えば初期の権限情報、権限機関の証明書、及びその他の適当な情報を提供するために、権限機関492に結合されている。本書の他のどこかで説明しているように、CA482及び権限機関492は同じエンティティであり、それは、CA482及び権限機関492の周りに描かれたボックス496で図示されている。
ダイアグラム480には図示されていないが、本書で説明されている権限機関492を有するシステムは、本書の他のどこかで説明しているように(例えば、図3及びそれに対応する説明文を参照されたい)、追加のRTCA、レスポンダ等を含む。
ある実施形態では、CA482が、そのCA482から権限機関492に証明書を提供することなく、権限機関の証明書をRTCA484に直接提供することに留意されたい。また、権限機関の証明書(又は権限付与の他の証拠)が、(図12で図示されているもの類似し上述されているように)CA482によって発行される証明書に提供されるか、又はCA482がRTCA484に提供する他の情報によって提供されることに留意されたい。
RTCシステムはOCSPの欠点の多くを解決するが、更に最適化処理が可能である。特に、RTCAの計算コストは、複数のデジタル署名を一度に処理することによって低減することができる。上述のシステムにおいては、RTCAは各デジタル証明書のステータスに署名する。これは前もって、おそらくステータスの問い合わせがなされる前に実行されるが、特にデジタル署名は計算上集約されるので、この処理の計算コストを低減することが望まれている。
後でより詳しく説明されているように、効率的に署名可能なRTCA(SERTCA)が複数の証明書のステータスを単一のステートメントに合体させ、そのステートメントに署名し日付を付けることによって改良することができ、これにより、時間上の所与のポイントで複数の証明書のステータスを認証するために単一の署名を使用することができる。ステータスがそのように認証される証明書の数は固定されるか(すなわち、すべてのステートメントがいつも同じ数の証明書についてのステータス情報を含む)、又は可変である。単一のステートメントで特定される証明書は他のステートメントでも特定される。例えば、一つのステートメントは、所与の個人に属しているすべての証明書の有効性ステータスを表し、もう一つのステートメントは、ある整数の間隔内のシリアル番号を有するすべての証明書の有効性を表す。同一の証明書は両方のセットに属し、2つの別々の認証ステートメントに属する。
所与の時間間隔におけるすべてのステートメントの認証の後、SERTCAは、上記ステートメントを一つ又は二つ以上のRTCレスポンダに送り、そのRTCレスポンダは、信頼パーティの問い合わせに対してサービスを提供するために上記ステートメントを保存する。証明書Xについての問い合わせを受けたとき、RTCレスポンダは、Xの有効性ステータスを含むSERTCA署名済みのステートメントを検索し、そのステートメントを信頼パーティに返す。信頼パーティは、認証された方法でXのステータスを知るために、SERTCAの署名を検証し、Xについての情報に対するステートメントを検索する。
もちろん、SERTCAは、単一の証明書のステータスについてのステートメントも発行し、そして、SERTCAが単一の証明書についてのみステートメントを発行する場合は、SERTCAはRTCAとして同じ情報を提供する。特定のSERTCAは、ある時はRTCAとして振る舞い、他の時は(例えば、ある特定の時間において計算上の制約及びニーズに依存して)RTCAとして振る舞わない。システムはRTCAとSERTCAとを兼ね備える。
最初に、CAは、上述のようにRTCAの認証について説明された方法と同様な方法でSERTCAを認証する。ちょうどRTCAのように、SERTCAは、所与の組織のCAと一致するかあるいは一致しないエンティティである。各CAは、自分自身の一つ又は二つ以上のSERTCAを提供し、各SERTCAは特別の証明書、SERTCA証明書を有する。CAは、SERTCAを信頼するとともにCAの証明書についての証明書有効性情報を提供する権限をSERTCAに与えることを示すように、SERTCA証明書にデジタル署名を行う。そのような証明書は、SERTCAステータスを(例えば所与の識別子やOID番号などで特定された)所与のエンティティに伝え、(所与のエンティティが対応する秘密署名鍵を有している)所与の検証鍵PKを上記所与のエンティティに結び付ける。
ちょうどRTCAのように、CA及びSERTCAが一致している場合でも、CA及びSERTCAが別個の署名鍵を有するのが都合よい。従って、CA及びSERTCAが同じエンティティを表しているか否かに関わらず、CA(構成要素)は証明書を発行し、SERTCA(構成要素)は証明書を管理する(例えば、証明書が有効/失効/一時停止であることを証明する)。こういう状況であれば、CA及びSERTCAが一致している場合でも、別々に分かれたSERTCA証明書は使用される。ある実施形態では、各CAは一つのSERTCAのみ有するが、冗長性の目的あるいは他の目的のためには、同じ署名鍵を使用するか否かに関わらず二つ以上のSERTCAを有するのが都合よい。複数のSERTCAがある場合は、そのいくつかは単にRTCAとして振る舞う。
ちょうどRTCAのように、SERTCAが例えば保管庫(vault)、安全な施設又は安全なハードウェアによって署名鍵を保護することに留意されたい。CAは、SERTCAを証明書の有効性ステータスが通知される状態にしておく。例えば、CAは、(1)証明書の有効性に変化が生じたらできるだけ速やかにその変化をオンライン方式でSERTCAに知らせ、又は(2)CRLが作成されたときにそのCRLをSERTCAに送る。日付の列D1,D2,...の任意の日付Diにおいて、SERTCAは、有効性ステータスの現在の知識に基づいて(例えば、CAの最新CRLに基づいて)、及び信頼パーティの要求とは独立に、CAの各未処理の(好ましくは有効期間が満了していない)証明書を処理することによって更新を実行し、証明書の有効性ステータスについての情報をセットに合体させ、そしてセットごとに、セット内の各証明書のステータスが記述されている宣言(人工的に事前計算された応答)にデジタル署名する。例えば、そのようなステータスは、有効、失効、又は一時停止(又は、場合によっては、「不明」又は「未発行」又は他のステータス表示)である。上記署名された宣言は時間間隔Tを指定する。ある実施形態では、各更新時に、すべての署名された宣言は同一の時間間隔Tを指定し、そして、これらの時間間隔の総計は「時刻表(time line)」の全体をカバーする。例えば、各更新日付Diにおいて、時間間隔はT=Di+1−Diとなり、場合によってはDi+1及びDiのいずれか一方だけがTの部分になり、他の日付は隣接する時間間隔の部分になる。
一例として、サンプル宣言は書式SIG−SERTCA(X:有効;Y:失効;Z:一時停止;日付:Di;次の日付:Di+1)を有し、ここで、X,Y及びZは特定の証明書を特定する情報(例えばシリアル番号)を表し、「有効」、「失効」、「一時停止」は対応する証明書ステータスのインジケータである。SERTCAの証明書ステータスについての最新の知識がCAのCRLに基づいている場合は、各DiはCRLの日付と一致し、Di+1は次のCRLの日付と一致する。しかしながら、そのような厳密な時間依存性が必須でないことは高く評価されるべきである。例えば、SERTCAがその宣言の処理を実行又は開始する日付は、D1,D2,等であり、一方、宣言の中で指定された時間間隔は、D1’,D2’,等であり、ここで、Di及びDi’は互いに異なる。例えば、Diは、Di’よりも早い日であり、この場合には、SERTCAは例えば時間間隔Tの先頭までに宣言の処理を終了したいので、RTCAは宣言の時間間隔の先頭よりも前に宣言の処理を開始する。同様に、CRLがSERTCA更新に使用されている場合には、宣言の時間及びCRLの時間も互いに異なる。
従って、要するに、SERTCAは、所与の時間間隔Tにおけるすべての証明書のステータスを示すデジタル署名を事前に計算する。そのような事前計算は、証明書の有効性についての信頼パーティの要求とは独立に実行される。SERTCAは、上記時間間隔になされるステータスの問い合わせの前、又は上記時間間隔が開始する前に、所与の時間間隔における署名された宣言を事前に計算する。証明書ステータスのSERTCA署名の宣言(人工的に事前計算された応答)は、標準OCSPフォーマット又は既存の信頼パーティのソフトウェアと互換性のあるフォーマットになっている。これは、OCSPソフトウェアが、既存の信頼パーティのソフトウェアに対する修正を最小限にし又は減少させる所定の場所にある場合に有用である。例えば、OCSP準拠を保証するために、すべての関連する量、デジタル署名アルゴリズム、OID等が適切に選択される。
しかし、SERTCA応答は元の/初期の要求に対する応答として計算されないので、SERTCAの構文上正しいOCSP応答が従来のOCSP応答である必要がないことに留意されたい。要するに、SERTCAは、まだ生成されずその後も生成されないOCSP要求に対するOCSP準拠の応答を事前に計算する。SERTCA応答は、OCSPフォーマットであるか否かに関わらず、人工的に事前計算された応答である。
上記応答の事前計算の後、SERTCAは、その応答を他のパーティが利用できるようにする。SERTCAは有効性ステータス問い合わせに応答して信頼パーティに応答を返すが、他の実施形態では、SERTCAは、上記事前計算された応答をRTCレスポンダに提供し、RTCAと関連させて使用される上述のRTCレスポンダと同様である。
SERTCAは、うまく体系づけられた方法で署名をRTCレスポンダに提供することにより、RTCレスポンダが署名処理しやすいようにする。すべての関連する事前計算された応答を受けることを保証するために、すべての更新時に、SERTCAは、RTCレスポンダから受けた人工的に事前計算された応答の全体に署名して日付を付けることにより追加の署名をRTCレスポンダに供給する。加えて、SERTCAは、SERTCA証明書をRTCレスポンダに送る。この送信は、すべての送信時に行う必要がなく、最初だけ又は定期的に実行される。
RTCレスポンダは、上記受信したSERTCAの人工的に事前計算された応答を十分な時間保存する。ある実施形態では、署名が所与の時間間隔Tに関係している場合、RTCレスポンダは、少なくともTの終端まで上記人工的に事前計算された応答を保存する。ある実施形態では、RTCレスポンダ(特にSERTCAと同じ組織に属しているもの)は正しい情報を有しているかをチェックする。例えば、RTCレスポンダは、時間間隔Tについての人工的に事前計算された応答がTの先頭までに(又はTに関連した他の適当な時間までに)受けられたことを検証したり、すべての受けたSERTCA署名(及び場合によっては適切なSERTCA証明書)を検証したり、RTCレスポンダがすべての証明書(例えば、少なくとも予想される数の証明書、発行済みの証明書に対する直前の送信のものと少なくとも同数の証明書、など)についての情報を受けたかどうか検証したり、RTCレスポンダが、過去に失効の宣言がなされている証明書に対する有効性のSERTCA署名済み宣言を受けたかどうかを検証したりする。何らの問題が見つかった場合は、RTCレスポンダはSERTCA又は他の適当なエンティティに知らせる。
信頼パーティはRTCレスポンダに証明書の有効性ステータスを問い合わせる。ある実施形態では、信頼パーティは要求にOCSPフォーマットを使用する。同じ証明書のステータスについての情報は二つ以上のステートメントの中に現れ、信頼パーティはどのステートメントが信頼パーティに好まれているかをRTCレスポンダに示す。例えば、SERTCAが、ある整数間隔内におけるシリアル番号を有するすべての証明書の有効性ステータスを示すステートメントだけでなく、所与の個人に属するすべての証明書の有効性ステータスを示すステートメントを提供し、そして信頼パーティが個人Iに属するシリアル番号Xを有する証明書の有効性ステータスに主として興味を持っている場合は、信頼パーティは、(a)Xに近いシリアル番号を有する証明書についての情報を含むSERTCA署名済みのステートメント、又は(b)Iの他の証明書についての情報を含むSERTCA署名済みのステートメント、又は(c)非常に短いSERTCA署名済みのステートメント、又は(d)Xのステータスについての情報(すなわち、好まないこと)を含むSERTCA署名済みのステートメントを受けることを好むことを示すインジケータを提供する。状況に応じて上記選択の一つに利点がある。
所与の証明書の有効性について問い合わせがあったとき、RTCレスポンダは、その証明書に対する情報を含む人工的に事前計算されたSERTCA応答をメモリから取り出す。RTCレスポンダは、上記人工的に事前計算された応答を返す。また、RTCレスポンダは、上記人工的に事前計算された応答に署名したSERTCAに適切な証明書を転送する。信頼パーティが上記SERTCA証明書を受け取らないように指示を提供すること、又は信頼パーティが上記SERTCA証明書の複製を既に所有していることをRTCレスポンダが知っているかあるいはみなすこと、に留意されたい。同一の証明書についての情報を含む複数の事前計算された回答があった場合は、RTCレスポンダが信頼パーティの好み若しくは予め決められているアルゴリズムに従って、又は、他の基準に従って、どの回答を返すかを選ぶ。
信頼パーティは、上記注目している証明書の有効性ステータスを確認するために上記受けた応答を処理する。ある実施形態では、上記応答がOCSPフォーマットである場合、RTCレスポンダは、そのような処理のためにOCSPソフトウェアを使用する。RTCレスポンダは上記適切なSERTCA証明書を検証する。OCSPに準拠した実装の場合、RTCは、SERTCA証明書をOCSPレスポンダの証明書として検証する。ある実施形態では、SERTCA証明書は構文上OCSPレスポンダの証明書として構造化される。
図18を参照すると、ダイアグラム500は、CA502とSERTCA504とRTCレスポンダ506と信頼パーティ508との間のデータの流れを図示している。CA502は、SERTCA504に有効性情報(例えばCRL)を提供する。SERTCA504は、複数のマルチ証明書の人工的に事前計算された応答516を生成するために上記有効性情報を使用する。SERTCA504はまた、例えばCA502によってSERTCA504に提供される自分自身の証明書514を所有している。
信頼パーティ508は、その信頼パーティ508がRTCレスポンダ506に提供するOCSP要求518を生成する。それに応答するように、RTCレスポンダ506は、もともとSERTCA504によってレスポンダ506に提供されたマルチ証明書の人工的に事前計算された応答516の一つであるマルチ証明書の人工的に事前計算された応答522を提供する。加えて、本書の他のどこかで説明しているように、ある例では、レスポンダ506はSERTCA証明書514を信頼パーティ508に提供する。
RTCAシステムに対する上述の処理は、権限機関をすることを含み、また、図16に関連して説明した圧縮最適化処理を提供するように、必要に応じて、SERTCAシステム及び/又はハイブリッドシステムとともに使用されるように変えることができる点に留意されたい。同様に、SERTCシステムに対する上述の処理は、必要に応じて、RTCAシステム及び/又はハイブリッドシステムとともに使用されるように変えることができる。
他の技術であるバッチOCSPは、RTCA又はSERTCAの計算コストを低減するために使用される。バッチOCSPは、単独で又は本書で説明した他の方法の一つ若しくは二つ以上と組み合わせて使用することができる。
バッチOCSPは、上記応答の中で使用される特定のデジタル署名がRSAデジタル署名であるときに採用される。SERTCAは単独の署名内の複数の証明書のステータスを認証することによって署名の効率を向上させているが、一方、バッチOCSPは、1回の計算でシングルOCSP応答を生成する場合よりも応答一つあたりのコストがかなり低くなるように、1回の計算によってシングル証明書OCSP応答を複数生成することにより、署名の効率を向上させている。例えば、10個のシングル証明書OCSP応答が互いに独立に生成される場合は、コストはおおよそRTCA(又は従来のOCSPレスポンダ)に対するRSA署名10個分のコストになる。上述のSERTCAの方法は、10個の証明書についての情報を単一のステートメントに結合することによってRSA署名1つあたりのコストを低減することができる。しかし、SERTCAを使用することの欠点は上記対応するステートメントが大きくなってしまうことである。バッチOCSPは、10個のRSA署名のコスト(ある場合には、おおよそ2つのRSA署名のコスト)よりも低い総コストで、10個の別々のシングル証明書の個々に署名されたOCSP応答を生成することができる。
バッチOCSPは、次に説明するようにフィアットのバッチRSA計算(Fiat's Batch RSA computation)に基づいている。RSAに対する公開鍵PKは、法(modulus)及び検証指数(verification exponent)としてそれぞれ知られている2つの整数(N,e)で構成されている。上記法は2つの大きな素数p及びqの積であり、RSAのセキュリティは、上記法Nから上記構成要素の素数を見付けることの困難性を基礎にしている。上記対応する秘密鍵SKは(N,d)で構成されており、ここで、dは次のような性質:すなわち、Nよりも小さなすべての正の整数bに対して、sがbのd乗のNを法とした値に等しい場合、bはsのe乗のNを法とした値に等しい、という性質を有する。言い換えると、整数のe乗についてNを法とした値を求める演算は、整数のd乗についてNを法とした値を求める演算の逆である。
RSAデジタル署名の計算は、bを取得するためのメッセージmの(おそらくランダム化される)フォーマット処理及び/又はハッシュ処理と、bをd乗してその結果についてNを法した値を求める署名sの計算とを含む。対応する検証手順は、sのe乗についてNを法とする値を求めることによってsからbを計算し、bが本当に正しくmから生成されているかをチェックする。フィアットのバッチRSA署名の観測(observation)は次のとおりである。ある人が複数の値b1,...,biと複数の検証指数e1,...,eiと対応する署名指数d1,...,diとを有すると仮定されたい。そして、(本書では記載されていないが、従来技術において知られている)数論(number-theoretic)アルゴリズムの使用を通じて、Nを法としたs1のd1乗、s2のd2乗、...、siのdi乗の計算を、(ある他の条件を満たす別々の値e1,...,eiを提供する)iごとの分離した計算よりも効率的に一緒に実行する。
上述のように、(RTCAだけでなく)SERTCAも、デジタル証明書の有効性情報を示す事前計算されたOCSP応答上の署名についてSERTCAが使用する公開鍵を認証するCAによって発行されたデジタル証明書を有する。また上述のように、SERTCAデジタル証明書は、証明書に対して一意のシリアル番号SN、SERTCAの公開鍵PK、SERTCAの識別子ID、発行日D1、有効期間満了日D2、及び追加データ等のいくつかの量と一緒に束ねられたCAのデジタル署名で構成されている。
記号で表すと、C=SIGCA(SERTCA,SN, PK, ID, D1,D2,...)である。RSAデジタル署名がSERTCAによって使用される場合には、SERTCAの公開鍵PKは、(n,e)の形式をとり、ここで、nは法(modulus)であり、eは検証指数であり、証明書は、
C=SIGCA(SERTCA, SN, (n, e), ID, D1, D2,...)
の形式になっている。
RTCレスポンダ及び信頼パーティは、認証済みの方法によってSERTCA証明書からSERTCA公開鍵を知ることができる。しかし、従来の証明書は単一の指数だけを含むので、従来の証明書は、複数の別々の指数を一緒に用いるバッチRSAでの使用に適さない。もし検証者(RTCレスポンダ及び/又は信頼パーティ)がデジタル証明書の有効性情報を認証する特別の署名で使用される検証指数を知らない場合は、その検証者は証明書を検証することができない。この問題は、バッチOCSP内のバッチRSAを使用することによって次のように解決できる。
ある一つのアプローチでは、SERTCAは、まず従来のRSA署名の場合と同様に法(modulus)nを生成し、そのnを認証のためにSERTCAの公開鍵としてCAに提供する。SERTCAは、素数p及びqで構成されているその秘密鍵を保護する。次に、CAは、nだけで構成された公開鍵に対するデジタル証明書をSERTCAに発行する。例えば、上記SERTCA証明書は、C=SIGCA(SN, n, ID, D1, D2, ...)の形式になっている。次に、CAは、SERTCAのユーザ証明書のステータスをSERTCAに知らせる。次に、SERTCAは、i個の署名指数d1,...,di及び対応する検証指数e1,...,eiを生成する。信頼パーティの要求とは独立に、SERTCAは、所与の時間間隔における一つ又は二つ以上の証明書の有効性ステータスについてのステートメントを生成し、そのステートメントをサイズiのバッチ処理の束(batch)に結合し、各バッチ処理内で指数d1,...,diを用いるバッチRSAを使用して、各ステートメントに対するデジタル署名を作成する。次に、SERTCAは、各ステートメントについて各ステートメントの検証のために用いる指数ejを特定することをレスポンダ及び/又は信頼パーティに許容する情報を追加で含めて、有効性ステータスの事前計算された署名を保護されていないレスポンダに送る。次に、レスポンダは、SERTCAの人工的に事前計算された応答を保存する。
信頼パーティがレスポンダにステータス情報を問い合わせると、RTCレスポンダは、人工的に事前計算された応答で問い合わせに回答する。各応答は、(必要に応じて)SERTCA証明書だけでなく、その応答の検証に必要な検証指数ejを含む。次に、信頼パーティは、SERTCA証明書から取得した法(modulus)nとRTCレスポンダから取得した検証指数ejとを用いるRSA検証を使い、上記人工的に事前計算された応答を検証する。
このアプローチのバリエーションも可能である。例えば、上記指数が任意である(及び、RSA署名の発行に先立って特別なメッセージフォーマットが使用されていない)場合には、敵は、SERTCA証明書からSERTCAの法nを突き止め、その敵がn及びeに関連した偽物のステートメントを生成できるようになる指数eを探す。セキュリティを向上させるために、SERTCAの指数e1,...,eiは前もって固定されている(そして、いつもレスポンダに利用可能にしておく必要はない)。特に、上記指数は、CAによって署名されたSERTCA証明書の一部分として指定される。SERTCA証明書は、
C=SIGCA(SERTCA, SN, (n, e1, ..., ei), ID, D1, D2, ...)
の形式になっている。
また、信頼パーティは、レスポンダからでなく、SERTCA証明書又は他のソースから検証指数を取得する。
レスポンダ及び/又は信頼パーティが情報を明確に示すことができるというよりはむしろどの指数ejが特定のステートメント対して使用できたかを推測できるようにすることは有利な点である。例えば、そのような推測は、各バッチにおいて有効にされたj番目の証明書がいつもiを法としたjと合同なシリアル番号を有する場合に行うことができる。次に、レスポンダ及び/又は信頼パーティは、有効性が検証されている証明書のシリアル番号から簡単に上記指数のインデックスjを論理的に演繹(deduce)することができる。
このアプローチにおいて、SERTCAの公開鍵はペア(n,e)として信頼パーティに提供されないので、信頼パーティの検証の実装は標準のRSA署名検証パラダイムに従わないことに留意されたい。ある応用において既存の信頼パーティRSA実装のコストはひどく高い。これは、代替のアプローチを従うことによって解決できる。
第2のアプローチにおいて、SERTCAは初めに従来のRSA署名内と同じような法nと、i個の検証指数e1, ..., eiとを生成し、それらはSERTCAが認証のためにCAに提供する。SERTCAがnの素数の因数分解を保護することには利点がある。次に、CAは、PK1=(n, e1), PK2=(n, e2), ... PKi=(n, ei)だけで構成されている公開鍵に対するSERTCAのi個のデジタル証明書を発行する。例えば、i個のSERTCA証明書は、C1=SIGCA(SERTCA,SN, (n, e1), ID, D1, D2, ...), ..., Ci=SIGCA(SERTCA,SN, (n, ei), ID, D1, D2, ...)の形式になっている。次に、CAは、そのユーザ証明書のステータスをSERTCAに知らせる。それに続いて、信頼パーティの要求とは独立に、SERTCAは所与の時間間隔における一つ又は二つ以上の証明書の有効性ステータスについてのステートメントを生成し、そのステートメントをサイズiのバッチ処理の束(batch)に結合し、各バッチ処理内で指数e1, ..., eiを用いるバッチRSAを使用して、各ステートメントに対するデジタル署名を作成する。次に、SERTCAは、各ステートメントについて各ステートメントが署名されている指数ejを特定することをレスポンダ及び/又は信頼パーティに許容する情報を追加で含めて、有効性ステータスの事前計算された署名を保護されていないレスポンダに送る。次に、レスポンダは、SERTCAの人工的に事前計算された応答を保存する。
信頼パーティがレスポンダにステータス情報を問い合わせると、RTCレスポンダは、人工的に事前計算された応答で問い合わせに回答する。指数ejで署名された各応答は、必要に応じて又は要求されて、j番目のSERTCA証明書Cjを含む。信頼パーティは、SERTCA証明書から取得した公開鍵(n,ej)を用いるRSA検証を使い、上記事前計算された回答を検証する。標準に見えるRSA公開鍵はSERTCA証明書から取得されるので、信頼パーティの検証は標準のRSA検証と構文上同じであることに留意されたい。このように標準のRSA実装は信頼パーティのために修正する必要がない。実際に、信頼パーティは、SERTCAがバッチOCSPを使用していることにまったく気付かない。
上述のアプローチのバリエーションも可能である。例えば、上記指数e1, ..., ejを選択してCAに提供するよりはむしろ、そのような指数はシステムの固定パラメータであるので、例えば推測でき、又はCAが前もって知っておくことができる。あるいは、レスポンダ及び信頼パーティは、指数を明確に示すというよりはむしろ、特定のステートメントに対してどの指数ejが使用されたかを推測する。例えば、そのような推測は、各バッチにおいて有効にされたj番目の証明書がいつもiを法としたjと合同なシリアル番号を有する場合に行うことができる。次に、レスポンダ及び/又は信頼パーティは、有効性が検証されている証明書のシリアル番号から簡単に上記指数のインデックスjを論理的に演繹(deduce)することができる。
図19を参照すると、フローチャート600は、SERTCA(又は、必要に応じてRTCA若しくはOCSPレスポンダ)の初期化に関連して実行されるステップを図示している。処理は最初のステップ602で始まり、ここではCAが法nを認証する。ステップ602の次はステップ604であり、ここではi個の指数ペア(検証指数及び署名指数)が生成される。ここの実施形態において、上記指数ペアは、積がnに等しい秘密の素数のペアを用いてSERTCAによって生成される。しかし、他の実施形態では、ステップ604での上記指数の生成を他のエンティティに行わせ、上記ペアを生成するために他のアルゴリズムを使用することができる。
ある実施形態では、処理はステップ604の後、終了する。しかし、他の実施形態は、上述のように、検証指数e1, e2 ...eiをCAに認証させるなどのCAによる追加の認証を含む。ある一実施形態においては、ステップ606で図示しているように、CAは上述のように単一の証明書内のi個の検証指数を認証する。他の実施形態においては、ステップ608で図示しているように、CAは、RSAスタイルのn,ekの公開鍵に見えるi個の独立した証明書を認証する。ここで、ekはi個の検証指数の一つである。
図20を参照すると、フローチャート620はSERTCA(又は、必要に応じて、RTCA若しくはOCSPレスポンダ)の人工的に事前計算された応答の生成に関連して実行されるステップを図示している。処理は最初のステップ622で始まり、ここでは、本書の他のどこかで説明しているようにCAがSERTCAに検証情報を提供する。ステップ622の次はステップ624であり、ここではSERTCAが署名指数d1, d2...diを用いて人工的に事前計算された応答を生成する。ステップ624の次はステップ626であり、ここではSERTCAが本書の他のどこかで説明している方法と同様な方法で、人工的に事前計算された応答をRTCレスポンダに提供する。
ある実施形態では、SERTCAはRTCレスポンダに追加の指数情報を提供する。これは図20のフローチャート620にオプションのステップ628によって図示されている。上記追加の指数情報は、使用された特定の指数の証明書の一つ若しくは二つ以上、及び/又は人工的に事前計算された応答のために使用された特定の指数を示す情報で構成されている。もちろん、本書の他のどこかで説明しているように、上記情報をSERTCAが独立に提供しなくてもすむように上記人工的に事前計算された応答のために使用された指数を決定する他のメカニズムもある。同様に、指数に対する追加の認証を個別に提供しなくてもすむように、RTCレスポンダ(最終的には信頼パーティ)と指数の情報を通信するメカニズムがある。
上述のバッチOCSP技術はSERTCAの代わりにRTCAと一緒の使用にも適用でき、またOCSPレスポンダが信頼パーティから問い合わせを受けたときにデジタル署名された証明書ステータス情報を計算する場合には従来のOCSPフレームワークにも適用できることに留意すべきである。特に、OCSPレスポンダが一つの孤立した問い合わせを受けた場合には、OCSPレスポンダは独立のRSA署名がなされた応答を作成するが、OCSPレスポンダが短い時間に多くの問い合わせを受けた場合には、OCSPレスポンダは上述のバッチモードで上記問い合わせのすべて又はいくつかに対して答える。以下、これを説明する。
最初に、CAは、そのユーザ証明書のステータスをOCSPと矛盾しないやり方でOCSPレスポンダに知らせる。多数の証明書ステータス問い合わせを受けたとき、レスポンダは、独立した単一の証明書の、指数ejにそれぞれ関連した問い合わせのi番目に対する従来のOCSP応答を計算するためにバッチRSAを用いる。また、OCSPレスポンダは、対応する指数を指定し、及び/又はej(及び適切なRSAの法(modulus)n)がレスポンダ署名の検証に使用されたことを証明するCA署名のレスポンダ証明書を含む。CAは、バッチRSA署名のためにレスポンダによって使用されたRSAの法(modulus)だけを指定する単一のOCSPレスポンダ証明書をOCSPレスポンダに提供する。例えば、記号で表すと、
C=SIGCA(responder, SN, n, ID, D1, D2, ...)
である。
これは、OCSPレスポンダによって使用される指数が固定されている場合に特に適合し安全であることに留意されたい。あるいは、CAは、レスポンダがバッチRSA署名に使用する多数の指数を指定するレスポンダ証明書をOCSPレスポンダに提供する。例えば、記号で表すと、
C=SIGCA(responder, SN, (n, e1,...,ek), ID, D1, D2, ...)
である。
あるいは、CAは、特定のOCSPレスポンダに対してk個の別々のレスポンダ証明書を提供し、各指数に対するレスポンダ証明書はレスポンダによってバッチRSA署名に使用される。例えば、記号で表すと、
C1=SIGCA(responder, SN, (n, e1), ID, D1, D2,...);...;Ck=SIGCA(responder, SN, (n, ek), ID, D1, D2,...)
である。
本書の説明を通して、CA/RTCA/レスポンダ/パーティ/ユーザは何らかのエンティティ(例えば、人、組織、サーバ、デバイス、コンピュータプログラム、コンピュータファイル)又はエンティティの集合である。証明書は、すべての種類の証明書を含むものと理解される。例えば、本書の記載に参照により組み込まれる米国特許第5,420,927号を参照されたい。有効性ステータス及び有効性ステータスのプルーフは、階層的な証明書に対する有効性ステータス及び有効性ステータスのプルーフ(例えば、証明書のチェーンにおけるすべの証明書に対する有効性ステータス及び有効性ステータスのプルーフ)を含む。証明書Cの有効性を検証することは、Cの有効性ステータスについての署名済み応答を提供するRTCA/SERTCAに対するRTCA/SERTCA証明書の有効性だけでなく、Cを発行したCAに対するCA証明書の有効性を検証することを含む。
適切な例の場合には、デジタル署名をすること及びデジタル署名は情報の適切な証明を含むものであると、本書において理解される。
(本書の記載に参照により組み込まれる)米国特許第5,666,416号に従うと、証明書は、所与の鍵を所与のユーザに結び付けるデジタル署名されたドキュメントを記述するものであるが、証明書はまた、すべての種類のデジタル署名されたドキュメントであると理解されるべきである。例えば、CAとしてのベンダーは、価格リストに(場合によっては日付情報と一緒に)デジタル署名することによるコントロールの下でその価格リストを認証する。そのような証明書の有効性ステータスを知ることは有用である。例えば、ベンダーは、価格リストが現在有効であることを証明すること(及び、現在の有効性のプルーフが示されていない場合には、価格リスト内の所与の価格の受け入れを拒否すること)を希望する。このため、顧客は、価格リストドキュメントの現在の有効性を確認することを希望する。本書に記載されているシステムは、このために使用することができる。本書に記載されているシステムは、Webページの現在の有効性を証明するために使用することができる。ある実施形態では、RTCA/SERTCAが生成した現在の有効性のプルーフは、これらのプルーフとともに(又は、これらプルーフと関連付けて)保存される。この場合には、パーティはコンピュータファイルであるとみなされる。
(パーティXに)データDを送ることは、Dを利用可能にすること(又は、XにDを受けさせること)を含むと理解される。
本書記載のシステムは、デジタル信号処理ハードウェアのような専用ハードウェアと場合によっては組み合わされ、本書に記載されている機能を提供するようにプログラムされた汎用コンピュータをなんら制限なく含め、ハードウェア、ソフトウェア、又はそれらのある組み合わせを用いて実装されることに留意されたい。
本発明は様々な実施形態に関連付けて開示されているが、それらに対する修正については当業者により容易に理解されるであろう。従って、本発明の趣旨及び範囲は特許請求の範囲に記載されている。
OCSP応答を信頼パーティに提供する従来技術のシステムを図示している。 異種混在環境においてOCSP応答を提供する従来技術のシステムを図示している。 本書に記載のシステムの一実施形態に係るRTCシステムを図示している。 本書に記載のシステムの一実施形態に係るRTCAの初期化を図示しているフローチャートである。 本書に記載のシステムの一実施形態に係るCA及びRTCAの間の通信を図示しているフローチャートである。 本書に記載のシステムの一実施形態に係るRTCAからRTCレスポンダへのデータのプッシュを図示しているフローチャートである。 本書に記載のシステムの一実施形態に係るRTCレスポンダによるRTCAからデータ取得を図示しているフローチャートである。 本書に記載のシステムの一実施形態に係るRTCレスポンダによる信頼パーティへの情報の提供を図示しているフローチャートである。 本書に記載のシステムの一実施形態に係るRTCレスポンダによる検証情報の取得を図示しているフローチャートである。 本書に記載のシステムの他の実施形態に係るRTCレスポンダによる検証情報の取得を図示しているフローチャートである。 本書に記載のシステムの一実施形態に係る2つのパーティ間のトランザクションの円滑な実現に伴って実行されるステップを図示しているフローチャートである。 本書に記載のシステムの一実施形態に係るデジタル証明書を図示しているダイアグラムである。 本書に記載のシステムの一実施形態に係るCA、RTCA、RTCレスポンダ及び信頼パーティの間のデータの流れを図示するダイアグラムである。 本書に記載のシステムの一実施形態に係る、第1のシステムにおけるCA、RTCA、RTCレスポンダ及び信頼パーティの間のデータの流れと、第2のシステムにおけるCA、RTCA、RTCレスポンダ及び信頼パーティの間のデータの流れとを図示するダイアグラムである。 本書に記載のシステムの一実施形態に係るRTCレスポンダの異種混在状態の集団を図示するダイアグラムである。 本書に記載のシステムの一実施形態に係る最適化を図示するフローチャートである。 本書に記載のシステムの一実施形態に係る権限委任機関を図示するダイアグラムである。 本書に記載のシステムの一実施形態に係るCA、SERTCA、RTCレスポンダ及び信頼パーティの間のデータの流れを図示するダイアグラムである。 本書に記載のシステムの一実施形態に係るバッチOCSP処理のためのRTCA/SERTCA/OCSPレスポンダへの情報の提供を図示するフローチャートである。 本書に記載のシステムの一実施形態に係るバッチOCSP処理のためのRTCレスポンダへの情報の提供を図示するフローチャートである。

Claims (20)

  1. デジタル証明書の有効性についての情報を提供する方法であって、
    デジタル証明書セット内の複数のデジタル証明書それぞれに対するデジタル証明書有効性ステータスを確認することと、
    前記複数のデジタル証明書の前記デジタル証明書セットの少なくともサブセットの前記有効性ステータスについての複数の人工的に事前計算されたメッセージを生成すること(ここで、前記メッセージの少なくとも一つは、二つ以上のデジタル証明書有効性ステータスを示す。)と、
    前記デジタル証明書セット内の特定のデジタル証明書についてのOCSP問い合わせに応答するOCSP形式の応答を提供するために前記人工的に事前計算されたメッセージにデジタル署名をすること(ここで、少なくとも一つのデジタル証明書は、二つ以上のデジタル証明書に対するOCSP形式の応答に関連付けて使用される。)と、を含む。
  2. 請求項1の方法において、
    生成すること及びデジタル署名することは、前記OCSP形式の応答のいずれかによって答えられるどのOCSP問い合わせよりも先立って行われる。
  3. 請求項1の方法において、
    デジタル証明書有効性ステータスを確認することは、デジタル証明書について認証された情報を取得することを含む。
  4. 請求項3の方法において、
    前記デジタル証明書について認証された情報は、証明書を失効させることも行うエンティティによって生成される。
  5. 請求項3の方法において、
    前記デジタル証明書について認証された情報は、CRLである。
  6. 請求項1の方法において、
    複数の人工的に事前計算された応答を生成することは、前記デジタル証明書セット内の少なくともすべての失効していないデジタル証明書に対する応答を生成することを含む。
  7. 請求項1の方法において、
    前記人工的に事前計算されたメッセージにデジタル署名した後に、そのデジタル署名の結果を、前記デジタル証明書セット内のデジタル証明書有効性ステータスについて問い合わせる信頼パーティによる要求に対してサービスを提供する複数のレスポンダに転送すること、を更に含む。
  8. 請求項7の方法において、
    前記人工的に事前計算された応答へのデジタル署名に関連付けて提供される前記デジタル署名を検証するための公開検証鍵を含む特別なデジタル証明書を、前記レスポンダが使用できるようにすること、を更に含む。
  9. 請求項8の方法において、
    前記特別なデジタル証明書を発行するエンティティは、前記デジタル証明書セットの証明書も発行する。
  10. 請求項1の方法において、
    複数の人工的に事前計算された応答を生成すること及び前記人工的に事前計算された応答にデジタル署名することは、定期的に実行される。
  11. 請求項10の方法において、
    前記人工的に事前計算された応答は、前記人工的に事前計算された応答が生成されたときに対応する時間情報を含む。
  12. コンピュータ読み取り可能なメディアに保存され、デジタル証明書の有効性についての情報を提供するコンピュータソフトウェアであって、
    デジタル証明書セット内の複数のデジタル証明書それぞれに対するデジタル証明書有効性ステータスを確認する実行可能なコードと、
    前記複数のデジタル証明書の前記デジタル証明書セットの少なくともサブセットの前記有効性ステータスについての複数の人工的に事前計算されたメッセージを生成する実行可能なコード(ここで、前記メッセージの少なくとも一つは、二つ以上のデジタル証明書有効性ステータスを示す。)と、
    前記デジタル証明書セット内の特定のデジタル証明書についてのOCSP問い合わせに応答するOCSP形式の応答を提供するために前記人工的に事前計算されたメッセージにデジタル署名をする実行可能なコード(ここで、少なくとも一つのデジタル証明書は、二つ以上のデジタル証明書に対するOCSP形式の応答に関連付けて使用される。)と、を備える。
  13. 請求項12のコンピュータソフトウェアにおいて、
    デジタル証明書有効性ステータスを確認する実行可能なコードは、デジタル証明書についての認証された情報を取得する実行可能なコードを含む。
  14. 請求項13のコンピュータソフトウェアにおいて、
    前記デジタル証明書について認証された情報は、証明書を失効させることも行うエンティティによって生成される。
  15. 請求項13のコンピュータソフトウェアにおいて、
    前記デジタル証明書について認証された情報は、CRLである。
  16. 請求項12のコンピュータソフトウェアにおいて、
    複数の人工的に事前計算された応答を生成する実行可能なコードは、前記デジタル証明書セット内の少なくともすべての失効していないデジタル証明書に対する応答を生成する実行可能なコードを含む。
  17. 請求項12のコンピュータソフトウェアにおいて、
    前記デジタル証明書セット内のデジタル証明書有効性ステータスについて問い合わせる信頼パーティによる要求に対してサービスを提供する複数のレスポンダに、デジタル署名された前記人工的に事前計算されたメッセージを転送する実行可能なコードを、更に備える。
  18. 請求項17のコンピュータソフトウェアにおいて、
    前記人工的に事前計算された応答へのデジタル署名に関連付けて提供される前記デジタル署名を検証するための公開検証鍵を含む特別なデジタル証明書を、前記レスポンダが使用できるようにする実行可能なコードを、更に備える。
  19. 請求項18のコンピュータソフトウェアにおいて、
    前記特別なデジタル証明書を発行するエンティティは、前記デジタル証明書セットの証明書も発行する。
  20. 請求項12のコンピュータソフトウェアにおいて、
    複数の人工的に事前計算された応答を生成しその人工的に事前計算された応答にデジタル署名する実行可能なコードは、定期的に、前記応答を生成して署名する。
JP2006549493A 2004-01-09 2005-01-10 Ocsp及び分散型ocspのための効率的に署名可能なリアルタイム・クレデンシャル Expired - Fee Related JP4796971B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US53566604P 2004-01-09 2004-01-09
US60/535,666 2004-01-09
US53681704P 2004-01-15 2004-01-15
US60/536,817 2004-01-15
PCT/US2005/000721 WO2005071877A1 (en) 2004-01-09 2005-01-10 Signature-efficient real time credentials for ocsp and distributed ocsp

Publications (3)

Publication Number Publication Date
JP2007518369A true JP2007518369A (ja) 2007-07-05
JP2007518369A5 JP2007518369A5 (ja) 2011-07-28
JP4796971B2 JP4796971B2 (ja) 2011-10-19

Family

ID=34798854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006549493A Expired - Fee Related JP4796971B2 (ja) 2004-01-09 2005-01-10 Ocsp及び分散型ocspのための効率的に署名可能なリアルタイム・クレデンシャル

Country Status (6)

Country Link
US (2) US20050154879A1 (ja)
EP (1) EP1706954B1 (ja)
JP (1) JP4796971B2 (ja)
KR (1) KR20060123470A (ja)
CA (2) CA2872032A1 (ja)
WO (3) WO2005070116A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528730A (ja) * 2006-02-28 2009-08-06 西安西▲電▼捷通▲無▼綫▲網▼絡通信有限公司 認証サーバのセキュアアクセスプロトコルの適合試験の方法およびそれについての装置

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822989B2 (en) 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US8732457B2 (en) 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US8261319B2 (en) 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US7404080B2 (en) 2001-04-16 2008-07-22 Bjorn Markus Jakobsson Methods and apparatus for efficient computation of one-way chains in cryptographic applications
US8423763B2 (en) * 2002-03-20 2013-04-16 Research In Motion Limited System and method for supporting multiple certificate status providers on a mobile communication device
EP1627488A4 (en) 2003-05-13 2008-06-04 Corestreet Ltd EFFICIENT AND SECURE DATA ACTUALITY SYSTEMS
WO2005001653A2 (en) 2003-06-24 2005-01-06 Corestreet, Ltd. Access control
KR20060097131A (ko) 2003-11-19 2006-09-13 코아스트리트 리미티드 분산 위임 인증 경로 획득 및 검증
US20050154878A1 (en) 2004-01-09 2005-07-14 David Engberg Signature-efficient real time credentials for OCSP and distributed OCSP
CA2872032A1 (en) 2004-01-09 2005-08-04 Corestreet, Ltd. Signature-efficient real time credentials for ocsp and distributed ocsp
EP1732263A1 (en) * 2005-06-07 2006-12-13 Sony Ericsson Mobile Communications AB Method and apparatus for certificate roll-over
CN100337175C (zh) * 2005-08-12 2007-09-12 华为技术有限公司 移动终端加入域和获取版权对象的方法、系统和相关设备
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US8099603B2 (en) * 2006-05-22 2012-01-17 Corestreet, Ltd. Secure ID checking
US7814315B2 (en) * 2006-11-30 2010-10-12 Red Hat, Inc. Propagation of certificate revocation information
US8583917B2 (en) * 2006-11-30 2013-11-12 Red Hat, Inc. Distribution of certification statements into repository
US8468339B2 (en) * 2006-11-30 2013-06-18 Red Hat, Inc. Efficient security information distribution
KR101273465B1 (ko) * 2007-03-16 2013-06-14 재단법인서울대학교산학협력재단 집합 검증 장치 및 그 방법
KR20080104594A (ko) * 2007-05-28 2008-12-03 삼성전자주식회사 오프라인 장치를 위한 온라인 인증서 검증 장치 및 방법
US8533463B2 (en) * 2007-08-30 2013-09-10 Red Hat, Inc. Reduced computation for generation of certificate revocation information
US7890763B1 (en) * 2007-09-14 2011-02-15 The United States Of America As Represented By The Director, National Security Agency Method of identifying invalid digital signatures involving batch verification
US20100058317A1 (en) * 2008-09-02 2010-03-04 Vasco Data Security, Inc. Method for provisioning trusted software to an electronic device
US8464313B2 (en) * 2008-11-10 2013-06-11 Jeff STOLLMAN Methods and apparatus related to transmission of confidential information to a relying entity
US8549589B2 (en) 2008-11-10 2013-10-01 Jeff STOLLMAN Methods and apparatus for transacting with multiple domains based on a credential
US8635442B2 (en) * 2009-04-28 2014-01-21 Adobe Systems Incorporated System and method for long-term digital signature verification utilizing light weight digital signatures
US9432356B1 (en) 2009-05-05 2016-08-30 Amazon Technologies, Inc. Host identity bootstrapping
US9455992B2 (en) * 2009-06-12 2016-09-27 Microsoft Technology Licensing, Llc Trusted hardware component for distributed systems
WO2010144898A1 (en) * 2009-06-12 2010-12-16 General Instrument Corporation Certificate status information protocol (csip) proxy and responder
US8621204B2 (en) 2009-12-23 2013-12-31 Citrix Systems, Inc. Systems and methods for evaluating and prioritizing responses from multiple OCSP responders
US8627063B2 (en) * 2009-12-23 2014-01-07 Citrix Systems, Inc. Systems and methods for flash crowd control and batching OCSP requests via online certificate status protocol
US20110154026A1 (en) * 2009-12-23 2011-06-23 Christofer Edstrom Systems and methods for parallel processing of ocsp requests during ssl handshake
US20110161663A1 (en) * 2009-12-29 2011-06-30 General Instrument Corporation Intelligent caching for ocsp service optimization
US9118485B2 (en) * 2010-02-26 2015-08-25 Red Hat, Inc. Using an OCSP responder as a CRL distribution point
US9247008B2 (en) * 2010-03-18 2016-01-26 Microsoft Corporation Unified web service discovery
EP2556644B1 (en) 2010-04-05 2017-10-11 Google Technology Holdings LLC Locating network resources for an entity based on its digital certificate
US8522031B2 (en) * 2010-05-14 2013-08-27 Force 10 Networks, Inc. Method and apparatus for establishing a trusted and secure relationship between two parties connected to a network
US8566596B2 (en) * 2010-08-24 2013-10-22 Cisco Technology, Inc. Pre-association mechanism to provide detailed description of wireless services
TW201220804A (en) * 2010-11-09 2012-05-16 Chunghwa Telecom Co Ltd comprising the steps of generating change information; transmitting; signing and issuing the latest message; transmitting to each web domain; sending a request message by a user end; and receiving a response message by the user end
US8479008B2 (en) 2010-12-15 2013-07-02 Microsoft Corporation Providing security services on the cloud
US9507859B1 (en) 2011-03-30 2016-11-29 Google Inc. Speculative acquisition of certificate validation information
TWI433558B (zh) * 2011-12-05 2014-04-01 Ind Tech Res Inst 動態調整憑證撤銷清單更新頻率的方法及系統
US9641343B1 (en) 2011-12-20 2017-05-02 Google Inc. Efficient unified certificate revocation lists
KR101323583B1 (ko) * 2012-01-17 2013-10-30 주식회사 인프라웨어 Ocsp를 이용한 웹 어플리케이션 인증 관리 방법 및 그를 이용한 웹 어플리케이션 인증 장치
EP2936761B1 (en) * 2012-12-20 2019-07-24 Telefonaktiebolaget LM Ericsson (publ) Technique for enabling a client to provide a server entity
US9887982B2 (en) * 2013-10-09 2018-02-06 Digicert, Inc. Accelerating OCSP responses via content delivery network collaboration
US10110592B2 (en) * 2013-10-09 2018-10-23 Digicert, Inc. Reducing latency for certificate validity messages using private content delivery networks
EP2882156B1 (en) * 2013-12-04 2018-09-19 Telefonica Digital España, S.L.U. Computer implemented method and a computer system to prevent security problems in the use of digital certificates in code signing and a computer program product thereof
US20150156194A1 (en) * 2013-12-04 2015-06-04 Symantec Corporation Certificate status delivery through a local endpoint
TWI646808B (zh) * 2016-01-29 2019-01-01 中華電信股份有限公司 Request traffic prediction method
TWI628935B (zh) * 2016-01-29 2018-07-01 中華電信股份有限公司 Request traffic grouping method
TWI644542B (zh) * 2016-01-29 2018-12-11 中華電信股份有限公司 Pre-signature method
CN107992728B (zh) * 2016-10-27 2022-05-20 腾讯科技(深圳)有限公司 人脸验证方法及装置
KR101816651B1 (ko) 2017-02-14 2018-01-09 주식회사 코인플러그 Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
KR101816652B1 (ko) * 2017-02-14 2018-01-09 주식회사 코인플러그 Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
KR101816653B1 (ko) * 2017-02-14 2018-02-21 주식회사 코인플러그 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
CN109842490B (zh) * 2017-11-28 2022-03-08 广东国盾量子科技有限公司 数字签名生成/发送/验证方法、终端及计算机存储介质
KR102192370B1 (ko) * 2018-03-30 2020-12-28 주식회사 코인플러그 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
US11336636B2 (en) * 2020-01-31 2022-05-17 Fastly, Inc. Load balancing across certificates and certificate authorities
TWI718033B (zh) * 2020-03-18 2021-02-01 中華電信股份有限公司 線上憑證狀態查詢回應器之系統及方法
US11005849B1 (en) 2020-06-30 2021-05-11 Cyberark Software Ltd. Distributed directory caching techniques for secure and efficient resource access

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108209A (ja) * 2000-09-27 2002-04-10 Hitachi Ltd 証明書有効性確認方法
JP2002163395A (ja) * 2000-11-27 2002-06-07 Hitachi Software Eng Co Ltd 電子証明書有効性確認支援方法とそれを用いる情報処理装置
US20020184182A1 (en) * 2001-05-31 2002-12-05 Nang Kon Kwan Method and system for answering online certificate status protocol (OCSP) requests without certificate revocation lists (CRL)
JP2003509746A (ja) * 1999-09-10 2003-03-11 デイヴィッド ソロ 証明書確認及び他のサービスを提供するためのシステム及び方法
WO2003079626A1 (en) * 2002-03-20 2003-09-25 Research In Motion Limited System and method for checking digital certificate status
WO2003079167A1 (en) * 2002-03-18 2003-09-25 Telenor Asa Single sign-on secure service access
WO2003088166A2 (en) * 2002-04-08 2003-10-23 Corestreet, Ltd. Physical access control
JP2003345742A (ja) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> CUG(ClosedUserGroup)管理方法及びCUG提供システム及びCUG提供プログラム及びCUG提供プログラムを格納した記憶媒体
US20040111607A1 (en) * 2002-12-06 2004-06-10 International Business Machines Corporation Method and system for configuring highly available online certificate status protocol responders
JP2006511984A (ja) * 2002-07-18 2006-04-06 イーオリジナル インコーポレイテッド 認定された文書の電子的送信、保存および読み出しシステム並びに方法

Family Cites Families (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4309569A (en) * 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US4326098A (en) 1980-07-02 1982-04-20 International Business Machines Corporation High security system for electronic signature verification
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
FR2592510B1 (fr) 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US4943707A (en) 1987-01-06 1990-07-24 Visa International Service Association Transaction approval system
US4881264A (en) 1987-07-30 1989-11-14 Merkle Ralph C Digital signature system and method based on a conventional encryption function
US5005200A (en) 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4944009A (en) 1988-02-25 1990-07-24 Massachusetts Institute Of Technology Pseudo-random sequence generator
US4995081A (en) * 1988-03-21 1991-02-19 Leighton Frank T Method and system for personal identification using proofs of legitimacy
US4879747A (en) 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
US4888801A (en) 1988-05-02 1989-12-19 Motorola, Inc. Hierarchical key management system
US4944099A (en) * 1988-08-30 1990-07-31 Slingshot Corporation Expandable outsole
US5016274A (en) 1988-11-08 1991-05-14 Silvio Micali On-line/off-line digital signing
US5003597A (en) 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5136646A (en) * 1991-03-08 1992-08-04 Bell Communications Research, Inc. Digital document time-stamping with catenate certificate
US5136647A (en) 1990-08-02 1992-08-04 Bell Communications Research, Inc. Method for secure time-stamping of digital documents
US5315657A (en) 1990-09-28 1994-05-24 Digital Equipment Corporation Compound principals in access control lists
US5396624A (en) * 1990-12-20 1995-03-07 Visa International Service Association Account file for off-line transaction authorization
SE470001B (sv) * 1991-09-12 1993-10-18 Televerket Förfarande för identifiering och kryptonyckelutbyte mellan två kommunicerande apparater för krypterad trafik
US5340969A (en) * 1991-10-01 1994-08-23 Dresser Industries, Inc. Method and apparatus for approving transaction card based transactions
US5157726A (en) 1991-12-19 1992-10-20 Xerox Corporation Document copy authentication
US5261002A (en) 1992-03-13 1993-11-09 Digital Equipment Corporation Method of issuance and revocation of certificates of authenticity used in public key networks and other systems
USRE36918E (en) 1992-04-20 2000-10-17 Certco Llc Fair cryptosystems and methods of use
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5231666A (en) 1992-04-20 1993-07-27 International Business Machines Corporation Cryptographic method for updating financial records
US5276737B1 (en) 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
JP2583010B2 (ja) 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
US5299263A (en) 1993-03-04 1994-03-29 Bell Communications Research, Inc. Two-way public key authentication and key agreement for low-cost terminals
NL9300566A (nl) 1993-03-31 1994-10-17 Nedap Nv Toegangsverleningssysteem met decentrale autorisaties.
US5351302A (en) 1993-05-26 1994-09-27 Leighton Frank T Method for authenticating objects identified by images or other identifying information
CA2169449A1 (en) 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
US5432852A (en) * 1993-09-29 1995-07-11 Leighton; Frank T. Large provably fast and secure digital signature schemes based on secure hash functions
US5497422A (en) * 1993-09-30 1996-03-05 Apple Computer, Inc. Message protection mechanism and graphical user interface therefor
US5371794A (en) 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5450493A (en) 1993-12-29 1995-09-12 At&T Corp. Secure communication method and apparatus
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
NZ279622A (en) * 1994-01-13 1998-04-27 Certco Llc Encrypted secure and verifiable communication: cryptographic keys escrowed
US20020013898A1 (en) * 1997-06-04 2002-01-31 Sudia Frank W. Method and apparatus for roaming use of cryptographic values
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5537475A (en) 1994-02-01 1996-07-16 Micali; Silvio Efficient digital signature algorithm and use thereof technical field
US5420927B1 (en) * 1994-02-01 1997-02-04 Silvio Micali Method for certifying public keys in a digital signature scheme
US5544322A (en) 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
FR2722596A1 (fr) * 1994-07-13 1996-01-19 France Telecom Systeme de controle d'acces limites a des places horaires autorisees et renouvables au moyen d'un support de memorisation portable
AU698454B2 (en) 1994-07-19 1998-10-29 Certco Llc Method for securely using digital signatures in a commercial cryptographic system
US7904722B2 (en) * 1994-07-19 2011-03-08 Certco, Llc Method for securely using digital signatures in a commercial cryptographic system
US5499296A (en) 1994-08-22 1996-03-12 Micali; Silvio Natural input encryption and method of use
US5659617A (en) 1994-09-22 1997-08-19 Fischer; Addison M. Method for providing location certificates
US5606617A (en) * 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US6367013B1 (en) * 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US5615268A (en) * 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US5748738A (en) * 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
CA2167631A1 (en) 1995-01-20 1996-07-21 W. Dale Hopkins Method and apparatus for user and security device authentication
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US6141750A (en) 1995-03-21 2000-10-31 Micali; Silvio Simultaneous electronic transactions with subscriber verification
US6134326A (en) 1996-11-18 2000-10-17 Bankers Trust Corporation Simultaneous electronic transactions
US6137884A (en) 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US5553145A (en) 1995-03-21 1996-09-03 Micali; Silvia Simultaneous electronic transactions with visible trusted parties
US5677955A (en) 1995-04-07 1997-10-14 Financial Services Technology Consortium Electronic funds transfer instruments
ATE492088T1 (de) 1995-06-05 2011-01-15 Cqrcert Llc Verfahren und einrichtung zur digitalen unterschrift in mehreren schritten
US5666415A (en) 1995-07-28 1997-09-09 Digital Equipment Corporation Method and apparatus for cryptographic authentication
US7353396B2 (en) 1995-10-02 2008-04-01 Corestreet, Ltd. Physical access control
US7337315B2 (en) 1995-10-02 2008-02-26 Corestreet, Ltd. Efficient certificate revocation
US6766450B2 (en) * 1995-10-24 2004-07-20 Corestreet, Ltd. Certificate revocation system
US8015597B2 (en) 1995-10-02 2011-09-06 Corestreet, Ltd. Disseminating additional data used for controlling access
US7600129B2 (en) * 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
US5793868A (en) * 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
US5717757A (en) 1996-08-29 1998-02-10 Micali; Silvio Certificate issue lists
US5666416A (en) 1995-10-24 1997-09-09 Micali; Silvio Certificate revocation system
US7716486B2 (en) 1995-10-02 2010-05-11 Corestreet, Ltd. Controlling group access to doors
US6097811A (en) 1995-11-02 2000-08-01 Micali; Silvio Tree-based certificate revocation system
US6487658B1 (en) 1995-10-02 2002-11-26 Corestreet Security, Ltd. Efficient certificate revocation
US7822989B2 (en) * 1995-10-02 2010-10-26 Corestreet, Ltd. Controlling access to an area
US8732457B2 (en) * 1995-10-02 2014-05-20 Assa Abloy Ab Scalable certificate validation and simplified PKI management
US5717758A (en) 1995-11-02 1998-02-10 Micall; Silvio Witness-based certificate revocation system
US5604804A (en) 1996-04-23 1997-02-18 Micali; Silvio Method for certifying public keys in a digital signature scheme
US6292893B1 (en) * 1995-10-24 2001-09-18 Silvio Micali Certificate revocation system
US8261319B2 (en) * 1995-10-24 2012-09-04 Corestreet, Ltd. Logging access attempts to an area
US5687235A (en) 1995-10-26 1997-11-11 Novell, Inc. Certificate revocation performance optimization
US6301659B1 (en) 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US5699431A (en) 1995-11-13 1997-12-16 Northern Telecom Limited Method for efficient management of certificate revocation lists and update information
US6026163A (en) * 1995-12-13 2000-02-15 Micali; Silvio Distributed split-key cryptosystem and applications
US5774552A (en) * 1995-12-13 1998-06-30 Ncr Corporation Method and apparatus for retrieving X.509 certificates from an X.500 directory
US5812670A (en) 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5615269A (en) 1996-02-22 1997-03-25 Micali; Silvio Ideal electronic negotiations
US5790665A (en) 1996-01-17 1998-08-04 Micali; Silvio Anonymous information retrieval system (ARS)
US5666414A (en) 1996-03-21 1997-09-09 Micali; Silvio Guaranteed partial key-escrow
US5826262A (en) 1996-03-22 1998-10-20 International Business Machines Corporation Parallel bottom-up construction of radix trees
DE19611632A1 (de) 1996-03-25 1997-10-02 Deutsche Telekom Ag Off-Line-Datenstationen mit virtueller On-Line-Fähigkeit
US5742035A (en) * 1996-04-19 1998-04-21 Kohut; Michael L. Memory aiding device for credit card pin numbers
US6216231B1 (en) 1996-04-30 2001-04-10 At & T Corp. Specifying security protocols and policy constraints in distributed systems
US5903651A (en) 1996-05-14 1999-05-11 Valicert, Inc. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US5610982A (en) * 1996-05-15 1997-03-11 Micali; Silvio Compact certification with threshold signatures
US5638447A (en) * 1996-05-15 1997-06-10 Micali; Silvio Compact digital signatures
JP2000515649A (ja) 1996-08-07 2000-11-21 バンカーズ・トラスト・コーポレーション 見ることができ信頼できる当事者による同時性電子トランザクション
US5790790A (en) 1996-10-24 1998-08-04 Tumbleweed Software Corporation Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof
US6119137A (en) 1997-01-30 2000-09-12 Tumbleweed Communications Corp. Distributed dynamic document conversion server
US6385655B1 (en) 1996-10-24 2002-05-07 Tumbleweed Communications Corp. Method and apparatus for delivering documents over an electronic network
US6192407B1 (en) 1996-10-24 2001-02-20 Tumbleweed Communications Corp. Private, trackable URLs for directed document delivery
US6502191B1 (en) 1997-02-14 2002-12-31 Tumbleweed Communications Corp. Method and system for binary data firewall delivery
US5903882A (en) 1996-12-13 1999-05-11 Certco, Llc Reliance server for electronic transaction system
US20010050990A1 (en) 1997-02-19 2001-12-13 Frank Wells Sudia Method for initiating a stream-oriented encrypted communication
US5982898A (en) 1997-03-07 1999-11-09 At&T Corp. Certification process
US5995625A (en) 1997-03-24 1999-11-30 Certco, Llc Electronic cryptographic packing
US6061448A (en) 1997-04-01 2000-05-09 Tumbleweed Communications Corp. Method and system for dynamic server document encryption
US6044462A (en) * 1997-04-02 2000-03-28 Arcanvs Method and apparatus for managing key revocation
US7290288B2 (en) * 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
JP3932319B2 (ja) 1997-07-24 2007-06-20 タンブルウィード コミュニケーションズ コーポレイション 格納された鍵による暗号化/暗号解読を用いた電子メール用ファイアウォール
US5875894A (en) 1997-09-18 1999-03-02 Stromme; Bonnie S. Combined sandwich holder and place mat
US6651166B1 (en) 1998-04-09 2003-11-18 Tumbleweed Software Corp. Sender driven certification enrollment system
US6397329B1 (en) 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
FR2774833B1 (fr) 1998-02-09 2003-02-21 France Telecom Protocole de controle d'acces entre une cle et une serrure electroniques
US6718470B1 (en) * 1998-06-05 2004-04-06 Entrust Technologies Limited System and method for granting security privilege in a communication system
US6189103B1 (en) * 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6151675A (en) 1998-07-23 2000-11-21 Tumbleweed Software Corporation Method and apparatus for effecting secure document format conversion
US6397197B1 (en) 1998-08-26 2002-05-28 E-Lynxx Corporation Apparatus and method for obtaining lowest bid from information product vendors
US6351812B1 (en) * 1998-09-04 2002-02-26 At&T Corp Method and apparatus for authenticating participants in electronic commerce
JP2000148012A (ja) * 1998-11-12 2000-05-26 Fuji Xerox Co Ltd 認証装置および方法
US6430688B1 (en) * 1998-12-22 2002-08-06 International Business Machines Corporation Architecture for web-based on-line-off-line digital certificate authority
DE69924349T2 (de) 1999-01-28 2006-02-09 International Business Machines Corp. Elektronisches Zugangskontrollsystem und Verfahren
US6463534B1 (en) 1999-03-26 2002-10-08 Motorola, Inc. Secure wireless electronic-commerce system with wireless network domain
US6671805B1 (en) 1999-06-17 2003-12-30 Ilumin Corporation System and method for document-driven processing of digitally-signed electronic documents
US6883100B1 (en) * 1999-05-10 2005-04-19 Sun Microsystems, Inc. Method and system for dynamic issuance of group certificates
AU6097000A (en) 1999-07-15 2001-02-05 Frank W Sudia Certificate revocation notification systems
AU6620000A (en) 1999-08-06 2001-03-05 Frank W Sudia Blocked tree authorization and status systems
WO2001011812A2 (en) 1999-08-09 2001-02-15 Sudia Frank W Distributed rule enforcement systems
US6725381B1 (en) * 1999-08-31 2004-04-20 Tumbleweed Communications Corp. Solicited authentication of a specific user
US20020029200A1 (en) * 1999-09-10 2002-03-07 Charles Dulin System and method for providing certificate validation and other services
AU7991800A (en) 1999-10-04 2001-05-10 Os Crypto, Inc. System and methods for providing verified network sessions with visual confirmation
AU4607801A (en) * 1999-10-28 2001-05-08 Brivo Systems, Inc. System and method for providing access to an unattended storage device
US7010683B2 (en) * 2000-01-14 2006-03-07 Howlett-Packard Development Company, L.P. Public key validation service
US7340600B1 (en) * 2000-01-14 2008-03-04 Hewlett-Packard Development Company, L.P. Authorization infrastructure based on public key cryptography
US6826609B1 (en) 2000-03-31 2004-11-30 Tumbleweed Communications Corp. Policy enforcement in a secure data file delivery system
US6950933B1 (en) * 2000-05-19 2005-09-27 Networks Associates Technology, Inc. Method and system for management and notification of electronic certificate changes
US6922776B2 (en) * 2000-05-19 2005-07-26 Networks Associates Technology, Inc. Scalable system and method for management and notification of electronic certificate changes
GB0027280D0 (en) * 2000-11-08 2000-12-27 Malcolm Peter An information management system
US6675261B2 (en) * 2000-12-22 2004-01-06 Oblix, Inc. Request based caching of data store data
WO2002063847A2 (en) 2001-02-06 2002-08-15 Certicom Corp. Mobile certificate distribution in a public key infrastructure
JP2003030145A (ja) 2001-07-16 2003-01-31 Fujitsu Ltd 情報処理方法およびプログラム
US7328344B2 (en) * 2001-09-28 2008-02-05 Imagitas, Inc. Authority-neutral certification for multiple-authority PKI environments
JP2003150735A (ja) * 2001-11-13 2003-05-23 Hitachi Ltd 電子証明書システム
NL1019722C2 (nl) * 2002-01-09 2003-07-11 Fountain Tech Bv Inrichting en werkwijze voor het verpakken van plaatvormige informatiedragers.
US7165718B2 (en) 2002-01-16 2007-01-23 Pathway Enterprises, Inc. Identification of an individual using a multiple purpose card
US7058619B2 (en) * 2003-04-21 2006-06-06 International Business Machines Corporation Method, system and computer program product for facilitating digital certificate state change notification
EP1627488A4 (en) 2003-05-13 2008-06-04 Corestreet Ltd EFFICIENT AND SECURE DATA ACTUALITY SYSTEMS
WO2005001653A2 (en) * 2003-06-24 2005-01-06 Corestreet, Ltd. Access control
US7840994B2 (en) * 2003-09-19 2010-11-23 Ntt Docomo, Inc. Method and apparatus for efficient certificate revocation
KR20060097131A (ko) * 2003-11-19 2006-09-13 코아스트리트 리미티드 분산 위임 인증 경로 획득 및 검증
CA2872032A1 (en) 2004-01-09 2005-08-04 Corestreet, Ltd. Signature-efficient real time credentials for ocsp and distributed ocsp
US20050154878A1 (en) 2004-01-09 2005-07-14 David Engberg Signature-efficient real time credentials for OCSP and distributed OCSP

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003509746A (ja) * 1999-09-10 2003-03-11 デイヴィッド ソロ 証明書確認及び他のサービスを提供するためのシステム及び方法
JP2002108209A (ja) * 2000-09-27 2002-04-10 Hitachi Ltd 証明書有効性確認方法
JP2002163395A (ja) * 2000-11-27 2002-06-07 Hitachi Software Eng Co Ltd 電子証明書有効性確認支援方法とそれを用いる情報処理装置
US20020184182A1 (en) * 2001-05-31 2002-12-05 Nang Kon Kwan Method and system for answering online certificate status protocol (OCSP) requests without certificate revocation lists (CRL)
WO2003079167A1 (en) * 2002-03-18 2003-09-25 Telenor Asa Single sign-on secure service access
JP2005521279A (ja) * 2002-03-18 2005-07-14 テレノル エイエスエイ セキュア・サービス・アクセス提供システム及び方法
WO2003079626A1 (en) * 2002-03-20 2003-09-25 Research In Motion Limited System and method for checking digital certificate status
WO2003088166A2 (en) * 2002-04-08 2003-10-23 Corestreet, Ltd. Physical access control
JP2003345742A (ja) * 2002-05-28 2003-12-05 Nippon Telegr & Teleph Corp <Ntt> CUG(ClosedUserGroup)管理方法及びCUG提供システム及びCUG提供プログラム及びCUG提供プログラムを格納した記憶媒体
JP2006511984A (ja) * 2002-07-18 2006-04-06 イーオリジナル インコーポレイテッド 認定された文書の電子的送信、保存および読み出しシステム並びに方法
US20040111607A1 (en) * 2002-12-06 2004-06-10 International Business Machines Corporation Method and system for configuring highly available online certificate status protocol responders

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528730A (ja) * 2006-02-28 2009-08-06 西安西▲電▼捷通▲無▼綫▲網▼絡通信有限公司 認証サーバのセキュアアクセスプロトコルの適合試験の方法およびそれについての装置

Also Published As

Publication number Publication date
WO2005071877A1 (en) 2005-08-04
CA2872032A1 (en) 2005-08-04
WO2005070116A3 (en) 2006-11-30
EP1706954A1 (en) 2006-10-04
CA2551819A1 (en) 2005-08-04
WO2005070116A2 (en) 2005-08-04
KR20060123470A (ko) 2006-12-01
EP1706954B1 (en) 2018-07-25
US7966487B2 (en) 2011-06-21
JP4796971B2 (ja) 2011-10-19
WO2005067672A3 (en) 2006-11-02
US20050193204A1 (en) 2005-09-01
US20050154879A1 (en) 2005-07-14
EP1706954A4 (en) 2013-04-24
WO2005067672A2 (en) 2005-07-28
CA2551819C (en) 2015-02-24

Similar Documents

Publication Publication Date Title
JP4796971B2 (ja) Ocsp及び分散型ocspのための効率的に署名可能なリアルタイム・クレデンシャル
US9654298B2 (en) Signature # efficient real time credentials for OCSP and distributed OCSP
EP1250774B1 (en) Public key validation service
EP1117207B1 (en) Public key infrastructure
US5745574A (en) Security infrastructure for electronic transactions
US6219423B1 (en) System and method for digitally signing a digital agreement between remotely located nodes
CA2357792C (en) Method and device for performing secure transactions
US20020078347A1 (en) Method and system for using with confidence certificates issued from certificate authorities
US20070150737A1 (en) Certificate registration after issuance for secure communication
JP2009519687A (ja) 暗号鍵を取り替えるための認証および分散システム並びに方法
BRPI0304267B1 (pt) Método e sistema para processar listas de revogação de certificado em um sistema de autorização
KR100844436B1 (ko) 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템
CN1998181A (zh) 批处理ocsp和批处理分布式ocsp
KR100501172B1 (ko) 무선 인터넷을 위한 무선 인증서 상태 관리 시스템 및방법과 이를 이용한 무선 인증서 상태 검증 방법
US8538893B1 (en) Apparatus and method for electronic transaction evidence archival and retrieval
JP2002132996A (ja) 情報存在証明サーバ、情報存在証明方法、および情報存在証明制御プログラム
AU2006202855B2 (en) Signature-efficient real time credentials for OCSP and distributed OCSP
JP2004056635A (ja) 証明書失効リストの更新装置、システム及び方法
Paya A Framework for WWW Client Authentication Protocols
Paya A framework for World Wide Web client-authentication protocols
CA2326997A1 (en) Security infrastructure for electronic transactions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101210

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110308

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110315

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20110609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110610

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110701

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110801

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140805

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees