JP2005525731A - 物理アクセス制御 - Google Patents

物理アクセス制御 Download PDF

Info

Publication number
JP2005525731A
JP2005525731A JP2003585029A JP2003585029A JP2005525731A JP 2005525731 A JP2005525731 A JP 2005525731A JP 2003585029 A JP2003585029 A JP 2003585029A JP 2003585029 A JP2003585029 A JP 2003585029A JP 2005525731 A JP2005525731 A JP 2005525731A
Authority
JP
Japan
Prior art keywords
certificate
door
user
card
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003585029A
Other languages
English (en)
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
Priority claimed from US10/395,017 external-priority patent/US7337315B2/en
Application filed by Corestreet Ltd filed Critical Corestreet Ltd
Publication of JP2005525731A publication Critical patent/JP2005525731A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/23Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder by means of a password
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • G07C9/25Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition
    • G07C9/257Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder using biometric data, e.g. fingerprints, iris scans or voice recognition electronically

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Lock And Its Accessories (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

標準的な証明書フォーマットで動作するとともに、証明書Cの発行日から始まる任意の時間間隔(例えば、毎日、毎時、または毎分)ごとに各証明書Cの有効性状態を証明することを認証局(CA)に可能にさせるデジタル証明書有効性検証プロセス介した、物理アクセスを制御するシステムおよび方法が開示されている。Cの時間粒度は、全ての証明書に対して同じでなければ、証明書自体内で指定できる。例えば、全ての証明書の時間粒度を1日にして、各証明書が発行の365日後に失効するようにすることができる。CAにより与えられるある初期入力が与えられると、デジタル証明書に含まれている指定されたバイトサイズの値を計算することと、秘密に保持されていて、有効性検証プロセスにおいて使用されるその他の値を計算することとのために、一方向ハッシュ関数が利用される。

Description

関連する出願に対する相互参照:
この出願は、2002年4月8日に出願された「スケーラブルな証明書検証および簡略化したPKI管理(SCALABLE CERTIFICATE VALIDATION AND SIMPLIFIED PKI MANAGEMENT)」という名称の米国仮出願第60/370,867号、2002年4月16日に出願された「クロック無し装置検証(CLOCK-LESS DEVICE VALIDATION)」という名称の米国仮出願第60/372,951号、2002年4月17日に出願された「ハッシュ・シーケンスを妨げる技術(TECHNIQUES FOR TRAVERSING HASH SEQUENCES)」という名称の米国仮出願第60/373,218号、2002年4月23日に出願された「物理アクセス制御(PHYSICAL ACCESS CONTROL)」という名称の米国仮出願第60/374,861号、2002年10月23日に出願された「セキュアな物理アクセス(SECURE PHYSICAL ACCESS)」という名称の米国仮出願第60/420,795号、2002年10月25日に出願された「OCSPを介したリアルタイム信用証明(REAL TIME CREDENTIALS OVER OCSP)」という名称の米国仮出願第60/421,197号、2002年10月28日に出願された「リアルタイム信用証明(REAL TIME CREDENTIALS)」という発明の名称を持つ米国仮出願第60/421,756号、2002年10月30日に出願された「モバイル・コンピューティング資源の保護(PROTECTING MOBILE COMPUTING RESOURCES)」という名称の米国仮出願第60/422,416号、2002年11月19日に出願された「ケルベロス(kerberos)状の設定における秘密鍵セキュア物理アクセスまたはリアルタイム信用証明(RTC)(PRIVATE KEY SECURE PHYSICAL ACCESS OR REAL TIME CREDENTIALS (RTCs) IN KERBEROS-LIKE SETTINGS)」という名称の米国仮出願第60/427,504号、2003年1月29日に出願された「リアルタイム検証による三要素認証(THREE-FACTOR AUTHENTICATION WITH REAL TIME VALIDATION)」という名称の米国仮出願第60/443,407号、及び2003年2月10日に出願された「下位カードによるRTC物理アクセス(RTC PHYSICAL ACCESS WITH LOWER-END CARDS)」という名称の米国仮出願第60/446,169号、を基にしている。これらの教示の全ては参照することによってここに包含される。
この出願は、2002年3月20日に出願された「スケーラブルな証明書検証および簡略化したPKI管理(SCALABLE CERTIFICATE VALIDATION AND SIMPLIFIED PKI MANAGEMENT)」という名称の米国特許出願第10/103,541号(係属中)、この出願の教示は参照することによってここに包含される、の一部継続出願である。米国特許出願第10/103,541号自体は、2001年7月25日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第09/915,180号(係属中)の一部継続出願である。米国特許出願第10/103,541号は、2000年1月14日に出願された米国特許出願第09/483,125号(係属中)の継続出願である。米国特許出願第09/483,125号は、1999年7月19日に出願された米国特許出願第09/356,745号(係属中)の継続出願である。米国特許出願第09/356,745号は、1997年3月24日に出願された米国特許出願第08/823,354号(現在は米国特許第5,960,083号)の継続出願である。米国特許出願第08/823,354号は、1995年11月16日に出願された米国特許出願第08/559,533号(現在は米国特許第5,666,416号)の継続出願である。米国特許出願第08/559,533号は、1995年10月24日に出願された米国仮出願第60/006,638号を基にしている。
米国特許出願第10/103,541号は、1997年12月18日に出願された米国特許出願第08/992,897号の一部継続出願でもある。米国特許出願第08/992,897号は、1996年12月18日に出願された米国仮出願第60/033,415号を基にしている。米国特許出願第08/992,897号は、1996年9月19日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/715,712号(放棄)の一部継続出願である。米国特許出願第08/715,712号は、1995年10月2日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/004,796号を基にしている。
米国特許出願第08/992,897号は、1996年10月11日に出願された「ツリー(木)を基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/729,619号(現在は米国特許第6,097,811号)の一部継続出願でもある。米国特許出願第08/729,619号は、1995年11月2日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,143号を基にしている。
米国特許出願第08/992,897号は、1997年2月24日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/804,808号(放棄)の一部継続出願でもある。米国特許出願第08/804,808号は、1996年11月1日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/741,601号(放棄)の継続出願である。米国特許出願第08/741,601号は、1995年11月2日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,143号を基にしている。
米国特許出願第08/992,897号は、1997年6月11日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/872,900号(放棄)の一部継続出願でもある。米国特許出願第08/872,900号は、1996年11月5日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/746,007号(現在は米国特許第5,793,868号)の継続出願である。米国特許出願第08/746,007号は、1996年8月29日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号を基にしている。
米国特許出願第08/992,897号は、1997年2月3日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/035,119号を基にもしており、かつ、1997年8月5日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/906,464号(放棄)の一部継続出願でもある。米国特許出願第08/906,464号は、1996年12月9日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/763,536号(現在は米国特許第5,717,758号)の一部継続出願である。米国特許出願第08/763,536号は、1996年9月10日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/024,786号を基にしており、かつ、1996年4月23日に出願されたという名称の米国特許出願第08/636,854号(現在は米国特許第5,604,804号)を基にしており、さらに、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号を基にもしている。
米国特許出願第08/992,897号は、1996年11月26日に出願された「セグメント化された証明書取消しリスト(SEGMENTED CERTIFICATE REVOCATION LISTS)」という名称の米国特許出願第08/756,720号(放棄)の一部継続出願でもある。米国特許出願第08/756,720号は、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号を基にしており、かつ、1996年9月19日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/715,712号(放棄)を基にしてもおり、さらに、1995年11月16日に出願された米国特許出願第08/559,533号(現在は米国特許第5,666,416号)を基にしている。
米国特許出願第08/992,897号は、1996年11月19日に出願された「証明書発行リスト(CERTIFICATE ISSUE LIST)」という名称の米国特許出願第08/752,223号(現在は米国特許第5,717,757号)の一部継続出願である。米国特許出願第08/752,223号は、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号を基にしており、かつ、1997年2月24日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/804,869号(放棄)を基にもしている。米国特許出願第08/804,869号は、1996年11月1日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/741,601号を基にしている。米国特許出願第08/741,601号は、1995年11月1日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,143号を基にしている。
米国特許出願第08/992,897号は、1997年3月24日に出願された「証明書取消しリスト(CERTIFICATE REVOCATION LISTS)」という名称の米国特許出願第08/823,354号(現在は米国特許第5,960,083号)の一部継続出願でもある。米国特許出願第08/823,354号は、1995年11月16日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/559,533号(現在は米国特許第5,666,416号)の継続出願である。米国特許出願第08/559,533号は、1995年10月24日に出願された「強化された証明書取消しシステム(ENHANCED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,038号を基にしている。
米国特許出願第10/103,541号は、2001年3月20日に出願された米国仮出願第60/277,244号と、2001年6月25日に出願された米国仮出願第60/300,621号と、2001年12月27日に出願された米国仮出願第60/344,245号とをも基にしている。上記の全ては参照することによりここに包含される。
本出願は、2001年6月25日に出願された、「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第09/915,180号(係属中)、米国特許出願第09/915,180号の教示は参照することによってここに包含される、の一部継続出願でもある。米国特許出願第09/915,180号自体は、2000年1月14日に出願された米国特許出願第09/483,125(係属中)号の継続出願である。米国特許出願第09/483,125号は、1999年7月19日に出願された米国特許出願第09/356,745号(放棄)の継続出願である。米国特許出願第09/356,745号は、1997年3月24日に出願された米国特許出願第08/823,354号(現在は米国特許第5,960,083号)の継続出願である。米国特許出願第08/823,354号は、1995年11月16日に出願された米国特許出願第08/559,533号(現在は米国特許第5,666,416号)の継続出願であり、米国特許出願第08/559,533号は、1995年10月24日に出願された米国特許出願第60/006,038号を基にしている。
本出願は、2003年3月21日に出願された「効率的な証明書取消し(EFFICIENT CERTIFICATE REVOCATION)」という名称の米国特許出願第10/395,017号(係属中)、米国特許出願第10/395,017号の教示は参照することによってここに包含される、の一部継続出願でもある。米国特許出願第10/395,017号自体は、2002年9月16日に出願された米国特許出願第10/244,695号(係属中)の継続出願である。米国特許出願第10/244,695号は、1997年12月18日に出願された米国特許出願第08/992,897号(現在は米国特許第6,487,658号)の継続出願である。米国特許出願第08/992,897号は、1996年12月18日に出願された米国仮出願第60/033,415号を基にしており、かつ、1996年9月19日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/715,712号(放棄)の一部継続出願である。米国特許出願第08/715,712号は、1995年10月2日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第60/004,796号を基にしており、かつ、1996年10月10日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/729,619号(現在は米国特許第6,097,811号)の一部継続出願でもある。米国特許出願第08/729,619号は、1995年11月2日に出願された「ツリーを基にした証明書取消しシステム(Tree-Based CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,143号を基にしており、かつ、1997年2月24日に出願された「ツリーを基にした証明書取消しシステム(Tree-Based CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/804,868号(放棄)の一部継続出願でもある。米国特許出願第08/804,868号は、1996年11月1日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/741,601号(放棄)の継続出願である。米国特許出願第08/741,601号は、1995年11月2日に出願された「ツリーを基にした証明書取消しシステム(TREE‐BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,143号を基にしており、かつ、1997年6月11日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/872,900号(放棄)の一部継続出願でもある。
米国特許出願第08/872,900号は、1996年11月5日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/746,007号(現在は米国特許第5,793,868号)の継続出願である。米国特許出願第08/746,007号は、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第60/025,128号を基にしており、かつ、1997年2月3日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第60/035,119号を基にもしており、かつ、1997年8月5日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/906,464号(放棄)の一部継続出願でもある。米国特許出願第08/906,464号は、1996年12月9日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/763,536(現在は米国特許第5,717,758号)の継続出願である。米国特許出願第08/763,536号は、1996年9月10日に出願された「証人を基にした証明書取消しシステム(WITNESS-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第60/024,786号を基にしており、かつ、1997年4月23日に出願された米国特許出願第08/636,854号(現在は米国特許第5,604,804号)と、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号とを基にもしており、かつ、米国特許出願第08/992,897号は、1996年11月26日に出願された「セグメント化された証明書取消しリスト(SEGMENTED CERTIFICATE REVOCATION LISTS)」という名称の米国特許出願第08/756,720号(放棄)の一部継続出願でもある。米国特許出願第08/756,720号は、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号を基にしており、かつ、1996年9月19日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/715,712号(放棄)を基にしてもおり、さらに、1995年11月16日に出願された米国特許出願第08/559,533号(現在は米国特許第5,666,416号)を基にしており、かつ、1996年11月19日に出願された「証明書発行リスト(CERTIFICATE ISSUE LIST)」という名称の米国特許出願第08/752,223号(現在は米国特許第5,717,757号)の一部継続出願でもある。米国特許出願第08/752,223号は、1996年8月29日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/025,128号を基にし、かつ、1997年2月24日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/804,469号(放棄)の一部継続出願である。米国特許出願第08/804,469号は、1996年11月1日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/741,601号(放棄)を基にしている。米国特許出願第08/741,601号は、1995年11月2日に出願された「ツリーを基にした証明書取消しシステム(TREE-BASED CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,143号を基にしており、かつ、1997年3月24日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/823,354号(現在は米国特許第5,960,083号)の一部継続出願でもある。米国特許出願第08/823,354号は、1995年11月16日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国特許出願第08/559,533号(現在は米国特許第5,666,416号)の継続出願である。米国特許出願第08/559,533号は、1995年10月24日に出願された「証明書取消しシステム(CERTIFICATE REVOCATION SYSTEM)」という名称の米国仮出願第60/006,038号を基にしている。上記の全ての教示は参照することによってここに包含される。
技術分野:
本発明は、デジタル証明書の分野に関し、特に、物理アクセスを制御するためのデジタル証明書検証の分野に関するものである。
要するに、デジタル証明書(C)は、いくつかの量、すなわち、その証明書に一意の一連番号SNと、ユーザの公開鍵PKと、ユーザの識別子Uと、発行日D1と、満了日D2と、付加フィールドと、を一緒に安全に結び付ける認証局(CA;Certifying Authority)のデジタル署名よりなる。記号で表わすと、C=SIGCA(SN,PK,U,D1,D2,...)である。
デジタル証明書は、インターネットおよびその他のアクセス認証の最良の形を提供することが広く認識されている。しかし、それらは管理することが困難でもある。証明書は1年(すなわち、D2−D2=1年)後に失効することがあるが、例えば、証明書の保持者が勤務先を辞めたり、勤務先内部で異なる職務に就いたりしたことによって、期限切れの前に取消されることがある。したがって、所与のデジタル証明書により使用可能にされる各トランザクションは、その証明書の現在の有効性の適切な証明を必要とし、かつその証明は、しばしば、将来のクレームへの対策として記録しておく必要がある。
不幸なことに、発行された証明書の有効性を立証する従来の技術は、スケーラブルではない。近い将来に予想されるデジタル証明書の量では、現在の有効性証明は、セキュアなやり方では行えなくなるか、(特に無線装置において)伝送のために時間がかかりすぎしたがってコストがかかりすぎる。証明書の検証は、厳しい問題として、一般的に認識されている。効果的に解決されなければ、それはPKIの成長および有用性を厳しく制約するであろう。
今日、証明書の有効性を立証するために、証明書取消しリスト(CRL;Certificate Revocation List)およびオンライン証明書状態プロトコル(OCSP;Online Certificate Status Protocol)の二通りの主なやり方がある。
CRL:
CRLは定期的に発行される。CRLは、本質的に、取り消された証明書の一連番号の全てを含んでいる、CAが署名したリストで構成されている。電子トランザクションで提示されるデジタル証明書は、その後で、最新のCRLと比較される。与えられた証明書が期限切れではないが、リストに載せられているとすると、その証明書は有効ではなくその証明書の保持者はそのトランザクションの実行をもはや許可されていないことを、CRLからあらゆる人が知る。その他の場合は、証明書がCRLに現れないとすると、その証明書は有効である(二重否定)と推定される。
CRLは、管理できないほど長くなるかもしれないとのおそれ(最新のCRL区分化技術によってかろうじて弱められてきたに過ぎないおそれ)から、多くの賛同を受けているわけではない。何年か前に、米国標準技術局(National Institute of Standard and Technology)は、MITRE社(MITRE Corporation)に対して、連邦政府のための公開鍵基盤(PKI;Public Key Infrastructure)の構成および費用について研究することを依頼した(Public Key Infrastructure, Final Report; MITRE Corporation; National Institute of Standard and Technology, 1994(公開鍵基盤、最終報告書;MITRE社;米国標準技術局、1994年)を参照)。この研究は、CRLが連邦PKIのコストリスト中で非常に大きな項目(エントリ)を構成する、と結論している。
OCSP:
OCSPにおいては、CAが、現時点におけるCの有効性状態の、CA自身のデジタル署名を戻すことにより、証明書Cについての質問(クエリ)に答える。下記の領域ではOCSPは問題を含んでいる。
帯域幅: OCSPにより発生された各有効性証明は、ささいではない長さを持つ。RSAまたはその他の因数分解を基にした署名方式が用いられたとすると、そのような証明は、実際には、CAの署名に対して最少2048ビットを要する。
計算: デジタル署名は、計算上は、複素演算(complex operation)である。ある大きな応用では、ピークトラフィックにおいて、OCSPは短時間で何百万もの署名を計算することを要することがある。それは、実行するには、計算コストが非常に高い。
通信(集中化された場合): 集中化された形態で、単一の検証サーバがOCSPを実装したと仮定する。すると、全ての証明書の有効性についてのクエリが、最終的に、そのサーバに仕向けられなければならず、そうするとサーバはかなりの混雑と遅延をひき起こす大きな「ネットワークの隘路(ボトルネック)」となろう。。ものすごい数の正直なユーザがサーバに対して突然質問したとすると、混乱をもたらす「サービスの拒絶(denial of service)」がおそらく続いて起こるであろう。
セキュリティ(分散化している場合): 一般に、単一のサーバの負荷を、世界中に戦略的に配置されているいくつかの(例えば、100の)サーバに分散すると、ネットワークの混雑が緩和される。しかし、OCSPの場合には、負荷分散でそれが解決する問題よりも悪い問題がもたらされる。それが受ける証明書クエリに対するそれの応答に署名するために、100のサーバのおのおのはそれ自身の秘密署名鍵を持たなければならない。したがって、100のサーバのいずれかを妥協することはシステム全体を妥協することである。セキュアな保管庫(secure vault)はそのような分散サーバを保護できるが、それには巨額の費用を要する。
発明の概要:
標準的な証明書フォーマットで動作するとともに、証明書Cの発行日から始まる任意の時間間隔(例えば、毎日、毎時、または毎分)ごとに各証明書Cの有効性状態を証明することを認証局(CA;certifying authority)に可能にさせるデジタル証明書有効性検証プロセス介した、物理アクセスを制御するシステムおよび方法が開示されている。Cの時間粒度(time granularity)は、全ての証明書に対して同じでなければ、証明書自体内で指定できる。例えば、全ての証明書の時間粒度を1日にして、各証明書が発行の365日後に失効するようにすることができる。CAにより与えられるある初期入力が与えられると、デジタル証明書に含まれている指定されたバイトサイズの値を計算することと、秘密に保持されていて、有効性検証プロセスにおいて使用されるその他の値を計算することとのために、一方向ハッシュ関数が利用される。
物理アクセスの制御には、リアルタイム信用証明体(credentials)を調べることが含まれる。ここに、リアルタイム信用証明体は、固定されている第1の部分と、定期的に変更される第2の部分とを含む。第2の部分は、リアルタイム信用証明体が現在通用のものであるという証明を与え、第2の部分に対して操作を行いそれの結果を第1の部分と比較することによって、リアルタイム信用証明体が有効であると検証された場合にのみ物理アクセスを行えるようにする。第1の部分は、権限機関(authority)によってデジタル署名されることができる。権限機関が第2の部分を提供してもいいし、または、第2の部分は権限機関以外のエンティテイ(entity)により提供されてもよい。リアルタイム信用証明体は、スマートカードにより提供されてもよい。ユーザは、第1の場所でリアルタイム信用証明体の第2の部分を得ることができる。ユーザは、第1の場所とは離れ異なっている第2の場所にアクセスすることを許されることがある。リアルタイム信用証明体の第1の部分の少なくとも一部が、リアルタイム信用証明体の第2の部分の一部に対して複数の回数にわたって適用される一方向ハッシュを表すことができる。複数の回数は、リアルタイム信用証明体の第1の部分が発行されてから経過した時間の長さに相当することがある。物理アクセスの制御は、ドアを通じるアクセスを制御することを含んでもよい。
添付図面のいくつかの図を参照して本発明を説明する。
セキュアな物理アクセス:
保護されている区域を権限を与えられた人のみがアクセスするように保証することは、極めて重要である(例えば、空港、軍事施設、オフィスビル等)。保護されている区域は、物理的なドア(特に、人がそれを通って入ることができるドア、または容器、金庫あるいは車両の扉)や壁によって区切ることができ、またはその他のやり方で仮想的に区切ることができる。例えば、保護されている区域は、その中に入ることによって検出器が侵入を知らせる(およびおそらくは、権限が与えられていなければ信号を送るか音を発する)ような区域よりなる。空港では、たいてい、出口レーンを通ってゲート区域に入ると、ドアや壁が破られなかった場合であっても、そのような信号の発生がひき起こされるだろう。なお、この出願を通じて、ドアというのは、従来の鍵やより最新の種類の鍵で実現できる他の種類のアクセスアクセス管理装置の全てを含むものであると解すべきである。特に、エンジンを始動するために用いられるキー機構(したがって、我々の発明は、現在、権限を与えられているユーザのみが航空機やトラックを始動したり、またはその他の有価物にアクセスしたりできるようにする新規なやり方になる)。
我々の文脈の一般性を、その後に具体的に、ただし意図した一般性を失うことなしに、説明するが、「ドア」のことをアクセスを管理する手段、または周囲を定める手段と呼び、「入ること(entering)」を防護しようと望む区域をアクセスする手段と呼ぶことにする。
スマートドアは、そのようなアクセス管理を提供する。最も簡単なレベルでは、スマートドアには、キーパッドを設けることができる。そのキーパッドによってユーザは、彼/彼女のPINまたはパスワードを入力する。キーパッドには、メモリまたは基本プロセッサが取り付けられ、そのメモリまたは基本プロセッサには。有効なPIN/パスワードのリストが保存されているので、いま入ろうとしている人がそのリストに属しているかどうかを調べることができる。もし属しているならば、ドアが開くが、そうでなければロックされたままである。そのような基本的なアクセス制御機構は、最小限の安全性を提供する。特に、解雇された被用者はもはやそのドアを通る権限を受けない。しかし、彼が彼自身のPINを依然として記憶しているならば、彼はそのような基本的なスマートドアを開くのに面倒はない。したがって、解雇された被用者のPINを「プログラムから取り除く」必要がある。しかし、そのような作業は非常に面倒でかつ費用を要することがある。空港施設には何百というドアがあることがあり、被用者が退職または解雇されるたびに特殊な作業員チームを派遣して全てのドアのプログラムを変更することは、余りにも非実用的である。より強固なセキュリティは確かに必要であるが、それには過大な費用を要することと便利さを犠牲にすることは無しである。
もちろん、従来のキーまたは単純なキーパッドに(全面的に)依存するよりも、より近代的なスマートドアを、スマートカードおよびマグストリップ(mag-strip)カード、すなわち非接触デバイスなどのカード(の代わりに、または、とともに)使用することができる。しかしこの強化されたツールセットは、それ自体がアクセス管理システムのセキュリティと利便性と低い費用とを保障するものではない。それらは、そのようなツールが全体的なセキュリティアーキテクチャにおいてどのように使用されるかに決定的に依存する。
理想的には、スマートドアは、入る人を識別し、その人が現在入ることを権限付けられていることを調べなけばならない。2つの作業のうち、最初のものが多分一層容易である。識別は種々のやり方で行うことができる。特に、
1. PINやパスワードを使用する。それらはドアに組合わせされているキーパッドで入力できる;
2. バイオメトリックスを使用する。それはドアに組合わされている特殊な読取器を用いてユーザが入力できる;
3. ドアに組合わされている特殊なパッドを介してユーザにより入力される通常の署名を使用する;
4. (例えば、特殊な読取器/受信器を介してPINをドアへ送る)スマートカードまたは非接触カードを使用する;
5. 例えば、スマートカード、非接触カードまたは無線装置に記録されているデジタル証明書を使用する。それはカード読取器またはその他の受信器を介して「ドアと交信」できる。
本発明者らは、デジタル証明書は本発明のシステムで使用するのに特に魅力的であると信ずる。したがって、本発明者らは、本発明のシステムに組み合わせることを考えているスマートドアとともにそれらの証明書を使用するための何等かの方法をもう少し高度にすることを望んでいる。具体的には、ただし意図された一般性を失うことなしに、アクセスを望む人が所有するデバイスのことを「カード」と呼ぶことにする。そのカードにはデジタル証明書と対応する秘密鍵を記録できる。カードの所持者から適切な指令が与えられると(例えば、カード上のキーパッドに秘密コードをキー入力することにより行われると)、そのカードは、デジタル証明書をドア機構へ送り、対応する秘密鍵を用いて、識別プロトコルを実行する(例えば、ランダムなチャレンジを解読する)。デジタル証明書、特にそれの対応する秘密鍵は。カード/デバイスのセキュアなハードウェア部分内で保護されていることが好ましい。
ある場合には、匿名ではあるが、セキュアなアクセス管理が望まれる。この場合には、識別を行う必要はないが、認証を行う必要は依然としてある。しかし、ほとんどの場合には、何等かの態様での識別が行われる。したがって、識別を行うことができるか、識別が(例えば、上記5つのやり方のうちの任意の1つにより)既に行われたと仮定できる。いずれにせよ、認証はどのように行われるか? 某氏と係わり合っていることをドアが確実に知っているとしても、その某氏がいま入ることを現在許可されていることをドアはどのようにして確認できるのか。従来は、スマートドアは、その個人が確かにアクセスを要求したを検証するために、現在(例えば、所与の日/日付で)許可されているユーザをデータベースにおいて参照する。しかし、それは、スマートドアが遠隔のデータベースに接続されるべきことを要求する。さらに、これは通常のネットワーク接続ではなく、セキュアなネットワーク接続でなければならない。実際には、欺こうとする人間がドアに対するデータベースに対してなりすましを行うことを防止するために、暗号で保護された通信を使用しなければならないばかりか、ドアをデータベースに接続している線を敵が切断することを防止しなければならない。さもないと、ひとたび切断されると、ドアは等しく悪い選択肢、(a)常に開いている、または(b)常に閉じている、から選択しなければならないからである。しかし、セキュアなネットワーク接続は、容易に、ドアの錠前の電気機械的な部品の費用を小さく見せる。例えば、最も高価な線部品は1000ドルすることがあるが、セキュアなネットワーク接続の費用は4000ドル(空港におけるように、長距離にわたって線を安全に接続するならばそれ以上)になることがある。さらに、そのような4000ドルを支出した後でも、空港のような公共的な場所に、セキュアなネットワーク接続のようなものがあるだろうか? 遠方のデータベースまでの無線接続をスマートドアに備えることは、いずれに対しても実行可能な選択肢ではないことに注目されたい。まず第一に、長距離無線用の送信機および受信機は高価である。第2に、ある施設では、(他の機器に与えるおそれのある妨害を避けるために)無線の帯域幅が厳しく制限されることがあり、またはそのような用途では完全に禁止される。第3に、ドアをデータベースから実効的に切り離す(それにより2つの等しく悪い判定を選択させる)ように、無線通信は電磁波で容易に妨害(ジャミング)されることがある。第4に、大西洋の真ん中にある容器にドアが設けられているとすると、陸上にあるどのようなデータベースとも無線で通信することはできる可能性はほとんどない。
したがって、本発明の1つの態様は、安価で、便利かつセキュアな非接続のドア、すなわち、いかなるデータベースまたは権限機関にも(有線であれ、無線であれ)接続されていない、安価で、便利かつセキュアなスマートドアを提供する。
デジタル署名および証明書:
好適な実施形態では、本発明はデジタル証明書に依存し、好ましくは20バイト技術に依存する。デジタル署名(RSAなど)は、与えられたメッセージMが所与のユーザUから由来するものであることを証明するために用いられる。そのために、Uは一対の照合鍵、すなわち検証鍵PKと署名鍵SKを生成する。デジタル署名はSKを介して生成され、照合鍵PKを介して検証される。ユーザUは、(UのみがUのために署名できるように、)彼自身のSKを秘密に保つべきである。PKは、照合鍵SKの「秘密を漏らさない」、すなわち、PKについての知識は、SKの計算においてなんら実用的な利益を敵に与えないので、デジタル署名は機能する。したがって、ユーザUは、(誰でもUの署名を検証できるように、)彼自身のPKをできるだけ公開すべきである。この理由から、PKは公開鍵と呼ぶことが好ましい。メッセージMについてのUのデジタル署名をSIGU(M)で示すことにする。デジタル署名は、個人鍵(private-key)署名を含むことを意図している。その場合には、署名されたものおよび検証者(verifier)は、共通の秘密鍵(secret-key)を共用する。
証明書と呼ばれる英数字列は、所与の鍵PKが実際にユーザUの公開鍵であることを保証することにより、デジタル署名を可能にする。ユーザの身元がひとたび確認されたならば、認証局(CA;Certifying Authority)が証明書を発行してユーザに与える。このようにして、証明書は、CAが保持者の身元と、できるならばその他の属性とを検証したことを誰にでも示す。(例えば、ある会社がそれ自身のCAとして動作し、それ自身の被用者に証明書を発行するならば、証明書は、彼/彼女の使用者に結び付けられる、その証明書の保持者が権限を与えられた範囲を示すことができる。)証明書は、指定期間、公開CAの場合には典型的には1年間、の経過後に失効する。要するに、デジタル証明書Cは、いくつかの量、すなわち証明書に一意の一連番号SNとユーザの公開鍵PKとユーザ名Uと発行日付D1と失効日付D2と付加データとをセキュアに結びつけるCAのデジタル署名からなる。記号で表わすと、C=SIGCA(SN,PK,U,D1,D2,...)である。
証明書は、PKが暗号化鍵(encryption key)である場合も包含する。この場合には、Uは、証明書Cを検証者Vへ送り、Vがランダムチャレンジ(文字列)Rを鍵PKで暗号化し、その後で、解読したものを送り返すことをVがUに求めることにより、ユーザの身元をVに対して証明することができる。ユーザがRで応答したならば、Vは、Uと応対していることを保証される。その理由は、Uのみが、PKに適合する解読鍵(decryption key)を知っているからである。
本発明の好適な実施形態は、アクセス管理のためにはるかに優れた解決策を提供する。特に、カードに本発明に基づくデジタル証明書が含まれているならば、はるかに安いコストで認証を行うことができる。あらゆるデジタル証明書の有効性について中央のデータベースに照会する代わりに、ドアはそのカードの現在の有効性を検証する、本発明に基づく20バイト有効性証明を得る必要があるだけである。
例1:
ここで、Aを、1組のスマートドアを管理する権限機関(すなわちエンティティ)とし、Uを、所与のドアに対するアクセスを所与の時間だけ許されているユーザとする。
各ユーザは、(前述した一般的な意味での)カードを有する。
各スマートドアには、(一般的な意味で、通信することができ、または少なくともユーザカードから情報を受け取ることできる)カード読取器が組合わされている。(むしろ仮想ではなく)実際の物理的なドアの場合には、そのカード読取器には、電気機械的な錠が結合されている。各ドアは、一意の識別子も有する(とともにそれ自身の識別子も知っている)ことが好ましい。ドアは、カード読取器と、容易には変更できないクロックと、Aの公開鍵PKAを保持しかつAの署名を検証できる計算装置と、を有する、
権限機関は、所与の時間間隔内にどのユーザがどのドアを通ることができるかを決定する。(例えば、意図している一般性を失うことなしに、ここで話題としている各時間間隔は日であると仮定できる。)そのために、Aは、全ての許可(パーミッション)すなわち所与の時間(または予見できる将来の日)にどのドアを通ることを誰が許可されるか、を蓄積している、A自身の私的データベースDB1を使用できる。おそらく、Aはこのデータベースを保護する。さもなければそこに蓄積されている許可を敵がその敵自身の利益のために変更できる。しかし、Aは、公開データベースPDBを、DBから次のようにして計算する。d日にドアDを通る許可を得ている各ユーザUについて、Aは、実際にそうであることを示すデジタル署名SUDdを計算する。例えばAは、SUDd=SIGA(U,D,d)を計算する。Aのみがそれらのデジタル署名を計算でき、Aの公開鍵PKAを持つ全てのものはそれらを検証できることに注目されたい。それらの署名は、Aの秘密鍵SKAを知らない何者かによって偽造可能ではなく、かついかなるやり方で(例えば、Uの許可を無権限のユーザU'に対する許可に変換することにより)署名を変更してもそれらは無効にされる。したがって、Aは、大いに気にかけることなく、それらの署名を適時に(例えば、1日の初めに)計算して蓄積場所(repository)PRへ送ることができる。蓄積場所というのは、ユーザがアクセスできる場所のことである。例えば、大規模な施設の従業員入口(空港の従業員入口など)に設置されているサーバである。Aの署名は偽造できないので、AとPRとの間の接続はセキュアである必要はない。Aはそれの署名を妥当な時間内にPRへ送り続けるだけで十分である。
被用者Uが、(例えば、PRが設けられている入口の点を通って)d日に施設に仕事で到着すると、彼は彼のカードをPRに接続できる(例えば、彼は、PRに接続されているかまたはPRと遠隔通信するカード読取器/書込器に、彼のカードを挿入する)。そうすることにより彼は、彼のカード上に。SIGUDすなわちその日に彼がドアを通ることを許可されていることを示すデジタル署名をピックアップする。これは、何百ものドアではなくて入口の点がAに接続されることを要する。この接続はセキュアである必要はない。実際には、Dは単一のドアを示す必要はない。例えば、それは1組のドア(例えば荷物取扱いドア)を示すことができ、Aの署名は、UがDにより示されている各ドアを通ることができることを示す。あるいは、複数のドアD1,...,Dnを1つずつ示すことができ、Uがその日にそれらのドアの各1つを通ることができるという事実をAの複数の署名により示すことができる。例えば、SIGUD1d,...,SIGUDndである。その場合には、そのような署名の全てがUのカードへ転送される。
ここで、d日のうちにUが施設の周囲を歩いて彼が許可されているドアDに達したと仮定する。したがって、彼のカードは、今や、SIGUDdを保存している。するとUは、彼のカードCをドアDの所のカード読取器に挿入できる。そうすると、ドアに組合わされているプロセッサが、Aの公開鍵を用いて、SIGUDdが確かに有効であることを検証する。その後で、現在の日付けが確かにdであることをそれ自身のクロックを用いて検証する。両方の項目が真であるならば、ドアDは開く。ドアは、カード保持者が確かにそうであることを、種々のやり方で識別を行うことにより調べることができることに注目されたい。特に、Uは、ドアに組合わされているキーパッドに彼のPINを入力することも求められるかもしれない。(前とは異なって、解雇された被用者が自身のPINを記憶していたとしても、彼はドアDを通ることはできないことに注目されたい。実際に、この例では、ドアはPINと現在の日のための正しい署名の両方を必要とする。しかし、Uが解雇された後では、Aは、以後のどのような日dに対しても署名SIGUDdを発行しないので、Uは、そのような署名をドアに提供できない。また彼は、Aのそのような署名を偽造できない。したがって、彼は解雇された後ではどの日にもドアDが開くことを「確信」できない。)あるいは、UがCの裏面にあるキーパッド上に正しいPINを入力した場合にのみ、カードはSIGUDdをDのカード読取器に転送でき、カードが確かにUのカードであることを証明した後でのみ、蓄積場所PRはSIGUDdをカードCにダウンロードできる。あるいは、Uは、Uに属している、カードCのための識別子を表してもよく、カード読取器に挿入されると、そのカードは、例えば暗号プロトコルにより、確かにそれがカードCであることを確実に証明する。あるいは、および好ましくは、UのカードがUについての証明書を保持し、適正なPINが入力された後で、カードはドアのランダムなチャレンジを解読することによりUが本人であることを証明する。この場合には、SIGUDdが、Uの証明書がその持ち主に対するその許可を保持していることを示すことにより、UがドアDを通る許可を持っていることを示すことが好ましい。例えば、SIGUDd=SIGuDdであり、ここにuは、Uの証明書の一連番号(および発行者)などの、Uの証明書に対する識別子である。
それらのやり方の全てにおいて、ドアはAから「非接続である」ことを理解すべきである。ドアは、内部計算とAの公開鍵の使用とそれ自身の内部クロックを利用することとによって、(おそらくUを識別し、)入ることの許可をUが保持しているかをチェックする。したがって、このシステムは非常にセキュアであるばかりでなく、非常に経済的でもある。
この有効性または権限の証明は、いくつかの異なるやり方で提供できる。下記は、これをどのようにして行うことができるかのまさにその例である。
例2:
カードの所有者は、有効性証明を適切な時刻に「ピックアップ」できる。例えば、作業環境では、各人は、作業を報告する際に現在の有効性証明をピックアップできる。多くの作業場所(特に、空港などのセキュリティが重要である場所)では、被用者は、作業を報告する場合に、「サインイン(到着の署名)(sign in)」をする。この「サインイン」は、20バイトの有効性すなわちSIGUDdを得ることと、それをカードに保存することと、値を得ることと、それをカードに保存することとを含む。カードは、有線接続または無線接続によって、その値を得ることができる。
例3:
カードは、例えばぺージャーネットワークなどの無線ネットワークを介して、有効性証明を得ることができる。適切な時刻に、カードがアクセスを許可されていれば、20バイト値がそれへ送られる。帯域幅の要求は最小であり、許可(認証)値は、ぺージャーネットワークにより伝送される典型的なメッセージより短いことに注目されたい。適切な時刻に、カードがアクセスを許可されていれば、SIGUDdはそれへ送られる。
例4:
ドアは、同様に、遭遇することが事前に予測されるあらゆるカードに対して、有効性証明を有線ネットワークまたは無線ネットワークを介して前もって得てもよい。
例5:
ドアは、カードがドアとのやりとりを開始すると、カードについての有効性証明を要求に応じて得ることができる。
上記方法のいずれも、ドアと中央サーバとの間のいかなる種類のセキュアな接続も要しないことに注目されたい。その理由は、有効性証明が自己認証(self-authenticating)するからであって、ドアが有効性証明を信頼できない出所(ソース)から受け取ることと、セキュアでない接続を通じて受けることとの少なくとも一方が行われたとしても、有効性証明が正確であることを依然として確認できる。それらの方法が、ドアのために全く接続を要しないという事実によって、大きい及び/または離れた区域と、多数のドアが設けられている区域と、航空機やトラックのドアなどのモバイル区域とにおける、アクセス管理のためのはるかに良い手段が得られる。
またこの出願の全体を通して、ドアおよ防護される区域は、従来の鍵またはモダンな形式の鍵を用いて防護できる、他のあらゆる種類のアクセスポイントを含むものと解釈すべきである。特に、(現在許可されている被用者のみが航空機、トラックまたはその他のエンジンを始動できるように、)エンジンを始動するために使用されるキー機構。
当業者は、20バイト有効性証明が特殊な限定された種類のデジタル署名技術であって、それにより小型かつ効率的であるなどの独特の利益が得られるが、おそらく有効性検証技術なしに、より一般的なデジタル署名方式をもって本発明を実施することによって、その他の多くの利益が得られることを、理解できる。本発明の好適な実施形態の構成要素は、(1)検証に合格したときにドアを開く手段に結び付けられ、デジタル署名を検証できるドア機構、(2)所与の時間期間の間、ドアを通って入る許可が与えられていることを示すデジタル署名を提供する権限機関要素、(3)デジタル署名を受け付けてそれを提示できるカードまたはその他の有線/無線装置、である。
アクセスの許可は下記の一連の手順のいずれかによって付与できる。
手順1;
(1) 権限機関要素が、許可を与える署名をカードに受けさせる;
(2) カードは、許可を与える署名を受け取って保存する;
(3) カードは、許可を与える署名をドアに提示し、ドアは、それを検証し、許可を与える署名が有効であり、かつその場合に限り、開く。
手順2:
(1) カードは、アクセス許可を求めてそのカード自身をドアに提示する;
(2) ドアは、許可を与える署名を要求する;
(3) 権限機関要素が、ドアに、許可を与える署名を受け取らせる;
(4) ドアは、許可を与える署名を検証し、それが有効であり、かつその場合に限り、開く。
手順3:
(1) カードは、権限機関要素からの許可を与える署名を要求する;
(2) 権限機関要素は、許可を与える署名をカードへ送る;
(3) カードは、許可を与える署名を受け取って保存する;
(4) カードは、許可を与える署名をドアに提示し、ドアは、それを検証し、許可を与える署名が有効であり、かつその場合に限り、開く。
手順4:
(1) ドアは、(それ自身の求めまたは求めによらずに、)遭遇することが予測される複数のカードに対する許可を与える署名を、権限機関要素から前もって受け取る;
(2) カードは、アクセス許可を求めるドアに対し、自身を提示する;
(3) ドアは、カードの許可を求める署名を検証し、それが有効であり、かつその場合に限り、開く。
これらの手順は、多数の例のうちのいくつかにすぎない。また、これらの手順は組合わせることができる。例えば、ドアは情報/許可のある部分(例えば、20バイト値)を受け取ることができ、カードは他の部分(例えば、デジタル証明書)を受け取ることができる。それらは時間的に隔てられることもある。カードは情報/許可のある部分(例えば、デジタル証明書)を最初に受け取り、その後で、他の部分(例えば、各時間ごとの20バイト値)を受け取ることができる。
さらに、許可を与えるデジタル署名を、カード保持者の長期間証明書に結び付けることができる。例えば、カードは、毎年有効な長期間証明書を含むことができ、権限機関要素は、証明書が現在日に依然として有効であることを証明する毎日の署名を発行できる。
権限機関要素は、要求がなくとも許可を自動的に生成してもよい。例えば、翌日も許可されるであろう被用者に対する許可を与える署名を、権限機関要素は毎晩発生できる。こうすることによって、権限機関要素を非対話(ノン−インタラクティブ)型とすることができ、したがって、セキュアに構成することがより容易となる。
また、権限機関要素は、許可を与えるための署名をカードとドアの少なくとも一方に普及させるために、別々のおそらく安全でない装置を使用できる。これによって権限機関要素は、ただ1つのタスク、すなわち、許可の発生、に的を絞ることを可能にされる。それにより、セキュアな権限機関要素と(おそらくよりセキュア(安全)でない)ドアおよびカードとの間の面倒な直接接続の必要が除かれる。特に、許可を与えたことの知らせ(dissemination)は、次のようにして行われる。(1)権限機関要素が許可を発生する、(2)権限機関要素は、許可を、おそらく安全でない接続を介して、普及データベース(dissemination database)へ送る。それらのデータベースは多数の場所に設けることができ、安全である必要はない。例えば、5か所の従業員入口がある会社では、各入口に1つの普及データベースが存在することがある。(3)普及データベースは、許可を、要求に応じて(引く(pull))または自動的に(押す(push))、カードとドアの少なくとも一方へ送る。
上記方法を可能にする特性は、許可自体は忘れ去ることできない、すなわち、権限機関要素によってのみが発生できる、ということである。したがって、ひとたび発生されると、セキュリティに対する何等のリスクもなしに、信頼できない線および装置を通じて、許可を与えたことを知らせることができる。これにより、他のいかなる者や装置も権限機関要素と対話する必要が避けられ、その結果として、セキュアな接続を要する他のいかなる解決策よりも安価な解決策が得られることになる。
実際に、このシステムにおけるいかなる構成要素の間の接続も、セキュアにする必要はない。(不適切な許可は行われないように、権限機関要素自体のみをセキュア(安全)にする必要がある。)そうすると、障害に強い(fault-tolerant)、分散アクセス許可基盤をはるかに容易に構成できる。さらに、上記のように、ドアに何等の接続も必要とすることなく、基盤(infrastructure)を構成することが可能である。
本発明のアクセス管理システムは、第3章のテナントCAに組合わせることができることを理解すべきである。例えば、保護されている種々の区域に対する、証明書の保持者がアクセスできる能力を個々に管理しながら、いくつかの権限機関(例えば、事務所ビルにおける、駐車場権限機関、クリーニング権限機関、またはビル内で共同使用している複数の企業)が同じ証明書を利用できる。
例6:
このシステムは、次のようにして動作できる。ユーザU(または彼のカード)が、対象とする各ドアDについてのバリデーション(有効性検証)フィールド(例えばD365)を含む証明書CERTを有する。j日にUがドアDを通ることができることについての許可は、忘却できない20バイト値X365‐jを発行ことにより示すことができる。ドアDは、j回、それにハッシュ関数を適用し(hashing)、結果がCERTのバリディティ(有効性)フィールドD365に合致するかどうかを調べることにより、許可を調べることができる。Aが複数のドア(例えば、1000のドア)を取り扱わねばならない場合には、CERTは、おのおのが異なるドアに対応する1000の異なるバリディティフィールドを含むことがあり、各ドアDjは、それの計算結果をj番目のバリディティ・フィールドと比較して調べる。この場合には、あるユーザに対する各ドアを通る許可が別々に証明されたとしても、各ユーザは、ある所与の日には、たかだか1000の証明を持つだけである。そうすると所与の日には、たかだか20Kバイトを彼のカードにロードする必要があるだけである。
ここではカードは一般的なカードであるから、カードは非接触カードにでき、カード読取器は受信機とすることができ、かつカードは読取器に挿入する必要はなくて、それへ送信すれば良いことに注目されたい。そのような無線カード‐読取器の相互作用(インタラクション)は依然として全く局所的なものであり、Aまたはデータベースが遠く離れている場合のカードと権限機関/データベースとの相互作用とは非常に異なることに注目されたい。
さらに、許可を与えるデジタル署名は、カード保持者の長期間証明書(long-term certificate)に結び付けることができる。例えば、カードは毎年有効な長期間証明書を含むことができ、権限機関要素は、証明書が現在日にも依然として有効であることを示す毎日の証明書を発行することできる。
権限機関要素は、何等の要求もなしに、許可を自動的に出すことができる。例えば、権限機関要素は、翌日に許可されるであろう被用者に対して、許可を与える署名を発行できる。このやり方によって、許可構成要素を対話(インタラクティブ)型ではなくすことができ、したがって、セキュアに構成することがより容易になる。
実際に、このシステムにおけるいかなる構成要素の間の接続もセキュアにする必要はない。(不適切な許可は与えられないように、権限機関要素自体のみをセキュアにする必要がある。)そうすると、障害に強い、分散アクセス許可基盤をはるかに容易に構成できる。さらに、上記のように、ドアに何等の接続も必要とすることなく、そのような基盤を構成することが可能である。
本発明のアクセス管理システムは、上記のテナントCAに組合わせることができることを理解すべきである。例えば、保護されている種々の区域に対する、証明書の保持者がアクセスできる能力を個々に管理しながら、いくつかの権限機関(例えば、事務所ビルにおける、駐車場権限機関、クリーニング権限機関、またはビル内で共同使用している複数の企業)が同じ証明書を利用できる。
非接続のドアへのアクセスの証明の記録(logging):
(権限機関およびデータベースから)切り離されていてしかも非常にセキュアで、低コストかつ便利なスマートドアは、接続されているスマートドアにとっては好ましいが、後者は、所与のドアに対するアクセスを記録するする能力を与える。例えば、所与の日に所与のドアを誰が通ったかを知ることが重要なことがある。接続されているドアは、適切な「アクセス情報」を離れているデータベースまたは権限機関に送ることによって、それを容易に行うことができる。しかし、非接続のドアはそれを全く行うことができない。そのような情報を集めるために適切な人をドアからドアへ送ることにより、アクセス情報を集めることができる。これを行うことが常に便利であることはないかもしれない。しかし、下記のシステムは、非常に実行可能な代替技術を提供するものである。
ユーザUが時刻tにあるドアDを通る(または通ろうとする)と、ドアは適切な文字列LOGUDtを発生し、それを(少なくとも一時的に)ローカルに保存する。この情報が適切なデータベースに確実に到達するようにするために、ドアは、それを通るために使用されるカードを使用できる。例えば、DはLOGUDtを(おそらくU自身も含む)他の(単数または複数の)ユーザU’のカードに書込む(またはLOGUDtが書込まれるようにする)ことができる。U’がPR(例えば、翌日の作業)または有線接続されまたは良く接続されている他の装置への接続を行うと、PRまたは前記装置は、LOGUDtを適切なデータベースへ送る。このようにして適切なデータベースは、LOGUDtを最終的に受け取り、それを容易に検査できるやり方で、より長い期間にわたって、保存する。おそらくデータベースはLOGUDtの冗長なコピーを受け取るが、望まれないいかなる冗長部も除去し、正本(clean copy)のみを保持することは容易である。
好ましいLOGUDtは、U自体のデジタル署名からなるもの、またはその署名を含んでいるものである。こうすると、Uは、容易には、彼が所与の時刻に所与のドアを通ったこと否定してドアのアクセス情報は偽造されたものであると主張できない。実際に、彼のみが、LOGUDtを発生する秘密署名鍵を持っているのである。例えば、LOGUDtは、Uが時刻tにドアDを通ったことを示すSIGU(D,t)よりなる。ユーザUのカードに、公開鍵PKUに適合する秘密署名鍵SKUが記録されているならば、それを行うことは非常に容易である。カードがPKUのためのデジタル証明書を保持することが好ましく、したがって、LOGUDは、SIGU(D,t)ばかりでなくUの署名も含むことができる。また、ユーザカードは、それ自身のクロックによって示された時刻tに従って、SIGU(D,t)を生ずること、およびドアは、(上述したもののような許可が与えられたことの他の証明に加えて)Uがそのような良いアクセス証明SIGU(D,t)を提供した後で、かつUにより保証された時刻がドアクロックにより計られた現在の時刻t’に十分近い場合のみ、Uを通させることができることも好ましい。なおまたユーザは、彼が時刻tにドアDを通ったがそのドアはどこか全く他の場所であり、したがって、SIGU(D,t)は彼が所与の建物の例えば3階の2番目のドアを通ったことを全く証明しない、他の誰かがドア読取器等をその場所に送ったに違いない、と主張することができる。このような主張を避けるために、またはユーザをそのようなだまし行為から守るために、ユーザカード(装置)はGPS機構を包含していてもよく、SIGU(D,t)は、カードにより測定されるローカル位置lpを実際に含んでもよい。その場合には、ユーザは、アクセスの証証明SIGU(D,t,ps)をドアに送ることができ、ドアはそれを受けて、時間が正確に見えるばかりか、ローカル位置も正確である場合にのみユーザを通す。カード/装置の内部でpsを計算するのではなくて、ユーザは、ユーザが信頼し、かつ、ユーザから受け取った情報(およびおそらくそれ自身の位置)からユーザの位置を計算できる、なにか1つまたは複数の構成要素を使用できる。
実装:
基本システム:
図1から分かるように、CAは、そのCAが発行したがまだ失効していない証明書C1,...,Ckのおのおのについて、個々の証明書無効状態情報CRSiをディレクトリへ送る。ディレクトリは、CRSiを、その認証局の証明書一連番号「i」について尋ねた要求しているユーザへ送る。
標準証明書フォーマット(例えば、X.509v3)で動作して、認証局(CA)が、Cの発行日D1から始まる任意の時間間隔(例えば、毎日、毎時、または毎分)に各証明書Cの有効性状態を証明することを可能にするデジタル証明書有効性検証プロセスによって物理アクセスを管理するシステムおよび方法を開示する。Cの時間粒度は、全ての証明書に対して同じでないならば、証明書自身内で指定できる。具体的には、限定することを意図することなしに、以下では、全ての証明書に対して時間粒度を1日とし、各証明書は発行の365日後に失効するものと仮定する。
証明書Cの作成:一連番号SN、公開鍵PK、ユーザ名U、発行日D1、失効日D2(=D1+365)などの従来の量に加えて、証明書Cは、それに一意の2つの20バイト値も含む。特に、証明書Cを発行する前に、CAは、2つの異なる20バイト値Y0,X0を無作為に選択し、それらから2つの対応する20バイト値Y1,X365を、下記の特性を持つ一方向ハッシュ関数Hを用いて計算する。それらの特性とは次のようなものである。Hは、デジタル署名を計算するよりも最低10000倍速い、Hは、それの入力がどれだけ長くとも20バイト出力を生ずる、Hは、逆演算が困難である。Hは逆演算が困難であるということは、Yが与えられると、H(X)=YであるようなXを見出すことが実際には不可能であるということである。(例えば、1994年7月11日に改定され(Federal Register(連邦公報), Vol. 59, No. 131, pp. 35211-34460)、1994年8月5日に改定された(Federal Register, Vol. 59, No. 150, pp. 39937-40204)、Secure Hash Standard(セキュアなハッシュ規格);FIPS PUB 180、参照。)値Y1はY0を1回ハッシュすることにより計算される、すなわち、Y1=H(Y0)。X365はX0を365回ハッシュすることにより計算される、すなわち、X1=H(X0),X2=H(X1),...,X365=H(X364)である。Hは常に20バイト出力Y1,X365を生ずるので、全ての中間値Xjは20バイト長である。値Y0,X0,X1,...,X364は秘密に保たれ、Y1,X365は証明書に含まれる。すなわち、C=SIGCA(SN,PK,U,D1,D2,...,Y1,X365)である。Y1のことを無効(revocation)ターゲットと呼び、X365のことを有効性ターゲットと呼ぶことにする。
まだ失効になっていない証明書Cを無効にし検証する:Cの発行のi日後(すなわち、D1+i日)に、CAは、Cの状態の20バイト証明を次のように計算して出力する。Cが無効にされたとすると、Cの無効の証明として、CAはY0、すなわち無効ターゲットY1のH逆変換を出力する。さもなければ、その日におけるCの有効性の証明として、CAはX365-iを、すなわち有効性ターゲットX365のi番目のH逆変換を出す。(例えば、発行100日後のCが有効である証明はX265よりなる。)CAは、質問に答えてその値を提供することにより、またはワールド・ワイド・ウエブ(World Wide Web)へそれを送り出すことにより、それを登録することができる。
まだ失効になっていない証明書Cの状態の検証:いつの日でも、Cの無効の証明Y0は、Y0を1回ハッシュし、その結果がCの無効ターゲットY1に等しいことを調べることにより検証される。(すなわち、検証者は、Y0が実際にY1のH逆変換であることを調べる。)なお、Y1はC内で証明されているので、Y1はCの無効ターゲットであることが保証されている。Cの発行からi日後に、その日におけるCの有効性証明X365-iは、値X365-iをi回ハッシュし、その結果がCの有効性ターゲットX365と等しいかどうかを調べることによって検証される。(すなわち、検証者は、X365-iが本当にX365のi番目のH逆変換であるかを調べる。)検証者は、(D1はC内で証明されているので)現在の日にちDとCの発行日D1を知っており、したがって、i=D−D1をただちに計算することに注目されたい。
セキュリティ:
無効の証明は偽造できない:証明書Cの無効の証明は、Cの無効ターゲットY1のH逆変換よりなる。Hは、本質的に逆演算不可能であるので、所与の20バイト値Y0が確かに無効のCの証明であることを検証者がひとたび調べると、Y0はCAから出たに違いないことを検証者は知る。実際に、CAのみがY1のH逆変換を計算できる。その理由は、CAがHを他のいずれよりもうまく逆演算できるからでなく、CAが、Y0で始まってそれをハッシュすることによりY1を計算したからである! Cが有効である限りはCAはCの無効証明を決して外に出さないので、敵は無効証明を偽造できない。
有効性の証明は偽造できない:i日において、証明書Cの有効性の証明は、Cの有効性ターゲットX365のi番目のH逆変換数よりばる。Hは、本質的には逆演算不可能であるので、所与の20バイト値X365-iがi日での確かにCの有効性の証明であることを検証者がひとたび調べると、検証者は、CAがX365-iを出したに違いないことを知る。実際に、CAのみがX365のi番目のH逆変換を計算できる。その理由は、CAがHを他のいずれよりもうまく逆演算をできるからではなく、CAがX0で始まってそれを365回ハッシュすることにより、X365の初めの365個の逆変換の全てをずっと計算するからである! i+1日に証明書Cが無効にされるようになったとすると、CAは先き立つi日(Cが依然として有効である時)中に、値X365−1,...,X365-iを既に外に出しているが、値X365-i-1(または他の任意の値Xj、ただしj<365−i)を外に出しておらず、かつ、将来においても決して外には出さないであろう。したがって、i+1日に有効性証明を偽造するためには、敵は、X365のi+1番目のH逆変換(すなわち、X365-iのH逆変換)を自分自身で計算しなければならないが、それは実行が非常に困難である! 同様に、敵はi+1日の後の任意の日でCの有効性証明を計算できない! そうするためには、再び入力X365-iに対してHを逆演算できなければならない。例えば、i+2日にについてのCの有効性証明X362-i-2を計算できるものとすると、それを1回ハッシュすることにより、X365-i-1すなわちX365-iのH逆変換が容易に得られる。
効率:
証明書Cはただ2つの付加的な20バイト値Y1,X365を含む:これは無視できるコストである。Cは、公開鍵PK(少なくとも1024ビット長)を含んでいるデータのCA署名(少なくとも2048ビット長)で既に構成されていること、およびCは、SN,PK,U,D1,D2に加えて、コメントや多数の他のデータを含むことができることを想起されたい。
1とX365の発生には全部で366回のハッシングを要するのみである:これもまた、無視できるコストである。証明書を発行することは、既に、署名を計算することを要することを想起されたい。
無効の証明と有効性の証明は20バイト長に過ぎない:我々の20バイト証明は、伝送のためにはささいなことであり、保存のためにもささいなことであって、20バイト技術を無線用途にとって理想的なものにする(ここでは帯域幅が依然として限定されており、そのために多くの携帯電話およびその他の無線装置の記憶容量が限定されているからである)。
本発明の実施形態に基づく証明は、それのセキュリティを、指数関数的なセキュリティ量を必ず示す一方向関数などの、基本的な暗号化構成要素から得ているので、非常に短くできる。(全く異なることに、デジタル署名技術は複雑なセキュリティ諸要求を持つ。それらの典型的な数理的実現によってせいぜい準指数関数的な安全度を提供するのみであるので、はるかに長い鍵を必要とする。)
証明は、証明書の総数が数百または数十億であっても、20バイト長のままである。実際に2160個もの可能な20バイト列があり、2つの証明書が共通の無効証明または有効性証明をたまたま持つ確率は無視できる。
あた、我々の20バイト証明の長さは暗号化または認証のために増大することはないことに注目されたい。我々の20バイト証明は公開することを意図されているので、暗号化する必要はない。同様に、我々の20バイト証明は自己認証であり、それらを適切な回数ハッシングすることにより、証明書で指定されている有効性ターゲットまたは無効ターゲットを生ずる。それらは偽造されたり変更されても機能しないので、いかなる態様でも署名したり認証したりする必要はない。
最後に、i日の20バイト有効性証明X365-iは、値iをさらに含む必要はない。ある意味では、それはそれ自身の時間スタンプを既に含んでいる! 実際に、前に説明したように、iは現在日と証明書の発行日との間の差であり、X365-iをi回ハッシングすると証明書Cの有効性ターゲットが生じ、その後でこれはX365-iがi日におけるCのバリディティ証明を証明する。
20バイト証明は即時に計算される:無効証明Y0または有効性証明X365-iはメモリからまさに検索される。(あるいは、各X365-iはi日に実行中に再計算できる。例えば、X0が証明書の発行中に保存されているならば、たかだか364回のハッシングにより、再計算される。驚くべきことに、より効率的な戦略を次の節で説明する。)
無線環境:
本発明の実施形態は、無線による実現のために理想的である。それのスケーラビリティは極めて大きい。すなわち、それは何十億という証明書(cert)を極めて容易に取り扱うことができる。それが求める帯域幅は無視できて、質問に対してはほぼ30ビット一連番号、応答に対してはほぼ20バイトである。それが求める計算は無視できる。その理由は証明書状態質問が単一のテーブルのルックアップ(検索)で回答されて、ただちに検証されるからである。もちろん、大きなスケーラビリティと、最小の帯域幅と、些細な計算とによって、本発明は無線環境における選択される技術にされる。
しかし、本発明には、無線用途において付加的な利点をもたらす別の用途もある。すなわち、毎朝ごとに、例えば、真夜中に、無線ユーザは、その日のうちの残りの部分についての彼の証明書の20バイト有効性証明を受けることがある。(この20バイト値は、ユーザの求めに応じて得ることができ、または、例えば、SMSメッセージまたはその他の制御メッセージによって、ユーザの携帯装置へ自動的に送ることができる、)それの短い長さのために、この証明は、ほとんどの携帯電話およびPDAに容易に保存できる。その後で、ユーザがその日に処理することを望む時は、常にユーザはそれ自身の証明書をその日の証明書(cert)の20バイト有効性証明と一緒に送るだけである。有効性証明は例外なく検証できるので、証明書(cert)の検証者と証明はいかなるCAまたはいかなる応答側も呼び出す必要はない。検証者は完全にオフラインで機能できる。いかなる呼び出しも金額と時間費用に換算される携帯電話環境では、このオフライン性能は極めて価値がある。
OCSPとの比較:
本発明およびOCSPは、ともにオンデマンド・システム、すなわち、ユーザが証明書の現在の有効性についての質問を送り、偽造不能で例外なく検証できる証明を折り返し受けるシステム、である。しかし、時間確度、帯域幅、CA効率、セキュリティ、および運用費には違いがある。
時間確度:原則として、OSCP応答は、幅が限られていない確度で時刻を指定し、本発明の好適な実施形態の応答は、所定の確度(1日、1時間、1分等)で時刻を指定する。小さい値の応用では、1日間だけの有効は、十分許容できる。ほとんどの金融用途では、デジタル署名トラストは、4時間の確度で十分であると考えている。(おそらくこれは、それが見えるよりも驚きが小さい。ほとんどの金融トランザクションでは、午前に受けた注文は午後に実行され、午後に受けた注文は次の営業日に実行される。)いずれにしても、時間は、無限に多くの桁の実数によって指定されることはない。オンデマンド有効性検証システムでは、1分より小さい時間確度はほとんど無意味である。その理由は、質問者のクロックと応答側のクロックは同期されていないことがあるからである。実際に、そのようなシステムでは、15秒という時間確度は、事実上、リアルタイム(実時間)ということである。
そのような極端な確度を取り扱うために、本発明の好適な実施形態は、ほぼ1M長であるハッシュチェーンを計算する(すなわち、X1M型のバリディティ・フィールドを計算する必要がある)。その理由は、1年がたかだか527040分だからである。そのような長さのチェーンを効率よく取り扱えるものとすると、本発明の好適な実施形態は、事実上、リアルタイムである。1Mハッシングの計算は、証明書発行のためには問題はなく、1Mハッシングは、非常に妥当なプラットフォームを用いたとしても、1秒以内で実行でき、証明書は通常1年に1回、厳しい時間的な圧力を受けずに、発行される。同様に、証明書(cert)有効性証明の検証者(例えば、証明書に頼っている商人)が、一般に個々の取引だけに注意を払って、使える時間がいつでも多いことを考えると、検証者にとっては1秒間の計算は問題ではない。しかし、証明書状態要求ごとに1Mハッシングを計算することは、有効性証明を生ずるサーバの性能に影響を及ぼす。その理由は、それが1度に多数のトランザクションを取り扱うのが普通だからである。幸いなことに、このサーバはそれらのハッシングの全てを、X0から始めてオンラインで計算する必要はなく、記憶装置中にあらゆる証明書の全ハッシュチェーンの保存していることを利用して、表の検索により行う。けれども、1M長さのハッシュチェーンを保存することは、巨大な数の証明書を取り扱う用途では、問題があるかもしれない。しかし、幸いなことに、後で説明するように、通常のサーバでも、より良いアルゴリズムを用いて、1M長さのハッシュチェーンを驚くべき効率で再計算できる。
帯域幅:本発明の好適な実施形態は、OCSPより明らかな帯域幅利点を有する。前者は20バイト応答を使用し、後者は、通常、256バイトを使用する。
CA効率:バリディティ質問は、OCSPの場合には、(複雑な)デジタル署名により応答され、本発明の場合には、CAが各証明書に対するXチェーン全体を保存する限り、(ささいな)表検索により応答される。
百万個の証明書の場合では、CAは、時間確度が1日または1時間の場合に、各証明書についてXチェーン全体を保存することができることに注目されたい。(最初の場合には、CAは365個の20バイト値、すなわち、証明書(cert)当り7.3Kバイト、したがって、全体で7.3Gバイト、を保存しなければならない。第2の場合には、全体で175.2Gバイト。)時間確度が15秒であるとすると、各ハッシュチェーンは、1M個の20バイト値よりなり、システム全体に関して、全体の記憶装置に対する要求は、約10.5テラバイトである。これは相当大きな記憶装置である。
この記憶装置に対する要求を劇的に減少するために、CAは、各証明書ごとにちょうど1つの20バイト値(すなわち、X0)を保存でき、たかだか1Mハッシングにより各Xi値をそれから再計算できる。あるいは、ヤコブソン(Jacobsson)[5]は、時間と記憶装置の驚くべき二律背反性を見出した。すなわち、CAは、log (n)ハッシュ値を保存し、log (n)ハッシングを毎回行うことにより、n個のXi値を全て、右順に、再計算できる。nが1Mであるならば、これは証明書(cert)ごとに20個のハッシュ値をちょうど保存し、20回だけのハッシングを証明書(cert)がバリデーションを必要とするたびに行うことを意味する。その他のささいでない二律背反性も可能である。特に、我々の1Mチェーンの場合では、レイジン(Reyzen)[R]が、CAはただ3つのハッシュ値を保存し、たかだか100のハッシングを毎回行うことにより全てのXi値(i=1Mから1まで)を計算できることを示している。
要するに、事実上のリアルタイム用途(すなわち、15秒時間確度を用いる)でも、本発明の好適な実施形態は、証明当り60バイトを保存するのみで、複雑なデジタル署名操作をささいな100回のハッシュ操作に置き換えることができる。
セキュリティおよび運用経費:最後の2つの違いは、本発明の好適な実施形態および考察しているOCSPの実施の形式を指定した後でより良く説明する。
集中化した実装:セキュリティ分析:
証明書の有効性を証明することが所与の鍵の秘密性に依存する場合は、システム全体の一貫性を保障するために、セキュアな金庫(vault)がその鍵を守らねばならない。本発明の好適な実施形態で、またはOCSPによって、集中化した実装というのは、単一の金庫が全ての有効性に関する質問に答えるものであることを意味する。集中化した実装は、展開されている証明書の数が小さい(例えば、100Kを超えない)ならば好ましく、したがって、金庫は、短い時間間隔内にほとんど全ての証明書が用いられて、有効性についての質問をほとんど同時にトリガするものとしても、発生された質問の量を取り扱うことができる。そのような実装では、好適な実施形態は、下記のような面でOCSPにとっては好ましい。
永久的な保護(Doomsday Protection):従来のOCSPでは、(金庫および固められているガードにもかかわらず)敵が金庫内への浸透を続けて秘密署名鍵を危うくした(compromise)とすると、彼は以前に無効にされた証明書を「復活する」ことと、依然として有効なものを「無効にする」ことができる(CRL署名鍵がCRLシステムで危うくした場合も同様である。)対照的に、本発明の好適な実施形態では、セキュアな金庫に浸透しても、以前に無効にされたいかなる証明書のバリディティを偽造する敵を支援することはない。実際に、証明書がi日に無効にされるようになると、それの無効証明Y0が公開されるばかりでなく、同時に、それの全てのXi値(値X0〜X365-i)が削除される。したがって、危うくすることに成功した後では、敵は彼が無効にされた証明書の「バリディティを拡張」できるようにするものは何も見付けない。そうするために、彼はX365-iについての一方向ハッシュを何等の支援も無しに続行せねばならない。それは試行することを彼が歓迎する(およびいかなる秘密金庫にも入ることなく確かに続行できる)ものである。危うくすることに成功した後で本発明のシステムで敵が行うことができる最悪のものは、有効な署名の無効を偽造して、正直なユーザが合法的なトランザクションを行えなくすることである。もちろん、これは悪いことであるが、不正直なユーザが非合法なトランザクションを認証できるようにするほど悪いことではない。
分散化実装:セキュリティおよび運用経費分析:
集中化実装は、証明書の有効性(バリディティ)についてのあらゆる質問を同じ金庫へ経路指定することを求める。この結果として遅延が長くなることと、何百万というアクティブな証明書での用途におけるサービス拒否が容易に起きる。そのような混雑、遅れ、およびサービスの拒否を防止するために、バリディティ質問に対する応答の負荷を地理的に分散されているいくつかの応答サーバの間に拡げることもある。しかし、OCSPの場合には、各付加応答サーバは秘密署名鍵を持つ必要があり、したがって、金庫において主人役を努める必要があり、そのためにOCSPシステムの所有費用が非常に莫大なものとなる。金融機関の諸要求に合致する高度の金庫の経費は、構築に最低1Mドル、運用に最低1Mドルを要する。(良い金庫は装甲コンクリート、鋼鉄製のドア、バックアップ用発電機、潜在的に長時間運転する発電機用の防護された燃料貯蔵容器等を含む。それの運用には24X7X365運用のための最低4組のチームと、プラス管理監督等を含む。)ピークトラヒック時にかなり速い応答を保障するためにそのような金庫を10要する用途では、OCSPシステムを所有する費用は初期投資で10Mドルであり、運用予算は10Mドル/年であろう。より安全でない金庫および運用が用いられるとしても、何百万ドルという初期費用と運用費を依然として必要とする。
しかし、本発明の好適な実施形態の場合には、分布実施は単一の金庫(CAがともかく有するであろう)と、任意の数の「信頼されていない応答側」(すなわち、通常のサーバ)で達成できる。(a)10Mの証明書(cert)が存在する、(b)応答時間を短縮するように地球の周囲に戦略的に配置されている1000のサーバが存在する、(3)時間の粗さが1日、であると具体的に仮定して、分布システム実際の詳細を見ることにする。
CAの運用(初期設定費用):毎朝、最小一連番号かた始まって10Mエントリ・アレイFを次のようにコンパイルする。一連番号jを持つ各証明書に対して、Cの20バイトバリディティ/無効証明を場所jに保存する。その後で、日付と署名Fをし、それを1000のサーバのおのおのへ送る。
ユーザ操作(質問経費):証明書Cの状態を知るために、Cの一連番号、j、(および必要があればCA ID)をサーバSへ送る。
サーバ動作(応答費用):毎朝、適切に日付をつけられて署名されたFが受けられると、古いアレイを新しいものと置き換える。
いつでも:20バイト値を現在のFの場所jへ戻すことにより一連番号jについて質問する。
好適な実施形態の動作
1.アレイFの準備は即時である:
各証明書(cert)についてハッシュチェーンが保存されるとすると、その後で各エントリが単なる表検索操作で計算される。他の実施形態では、それはただちに計算もできる。
2.Fが秘密を含んでいない:
それはどの証明書が依然として有効であるかおよびどれが無効にされたについての完全かつ十分な報告より成る。(CAの目標はこの秘密でない情報を最も効率的なやり方でできるだけ公開のものと確かにすることである)
3.Fをサーバへ転送することは直接的である:
これがそうである理由は、Fが秘密を含んでおらず、暗号化を要せず、セキュリティの危険を持たないからである。10M証明書(cert)は多数であるが、200Mバイトのファイルを1000のサーバへ一定の間隔で送ることは非常に行えることである。
4.各サーバの応答の長さは20バイトである:
また、各応答は暗号化、署名または時刻記録を必要としない。
5.合法的なユーザに対するサービスの拒否はない:
送られる各値は調度20バイト長であ利、そのような各値はただちに計算され(表の検索により)、かつトラフィックを1000のサーバの間で分散できるので、少なくともシステムの合法的な使用中は、サービスの拒否は起きるはずがない。
6.サーバは信頼される必要はない:
それらはCAにより受けられた20バイト証明を転送するのみである。自己認証であるので、それらの証明は変更でききず、関連するターゲットに依然としてハッシュする。
本発明の分布型実施はそれの集中型実施の同じ永久的な防護を受け続ける。すなわち、金庫に侵入することに成功した敵は無効にされた証明書を受けることができない。しかし、巧妙な敵は金庫に孔を開けることはせず、可能な場合には何時でもソフトウエアによる攻撃を選ぶ。幸いなことに、ソフトウエア攻撃は、分布/集中OCSPに対して可能ではあるが、本発明の分布実施に対してはたち向かうことはできない。
OCSPでは、実際に、CAは信用されないものからの外部質問を受けること、およびデジタル署名によって、したがって、それの貴重な秘密鍵により、それらの質問に答えることを求められる。したがって、秘密署名鍵を明らかにするために、OCSPの求められている「外界に向いた窓」を悪意をもって利用される可能性が存在する。
対照的に、本発明の分布実施にはそのような「窓」はない。CAは金庫内にあり、外部からのいかなる質問も受けないか、質問に答えず、秘密でないデータを周期的な間隔で出力するのみである。たしかに、毎日(または毎時)それは公開情報より成るファイルFを出力する。(CAは無効要求をそれのRAから受けるかもしれないが、それらはより少数の信用ある実態から認証されているチャネルを経由して来る‐‐例えば、セキュアなスマートカードを用いて。)信用されない応答側は信用されないものからの質問を受けるが、彼等はそれらの質問に彼等のファイルFによって、したがって、公開データによって、答える。したがって、ソフトウエア攻撃では、本発明の好適な実施形態戸は異なって通常の追う当社は公開情報を「明らかにする」のみかもしれない。
簡略化したPKI管理:
PKI管理は些細なことではない。(例えば、S. Farrell, A. AdamsおよびW. Forward, "Internet Public Key Infrastructure, Part III: Certificate Management Protocols), Internet Draft(インターネット公開鍵基盤、第III部:証明書管理プロトコル;インターネット・ドラフト)",1996年、及び、S. Kent, J, Linn, "Privacy Enhancement for Internet Electric Mail‐Part II: Certificate‐Based Key Management(インターネット電子メールのためのプライバシー増強:第II部:証明書をベースにした鍵管理)",1989年参照)。本発明の好適な実施形態は、(1)発行される証明書の数を減らす、(2)証明書(cert)についての特別管理を可能にする、(3)登録機能を多数の独立しているCAと共用する、ことにより多くの用途でPKI管理を改善できる。
PKI管理におけるそれらの改善を一連の特定の例によりざっくばらんに説明することにする。(1つの例で使用される諸機能および諸技術は他の例で容易に使用できることに注目されたい。無数の可能な変型例について説明することを避けるためにこれを明らかに行うことはしない。)
証明書を使用可能/使用不能にする(およびそれを保留する):
例7:音楽のダウンロード:
インターネット音楽販売者は、それの1000のサーバからユーザが望むいかなる歌も1日1ドルの料金で利用者がダウンロードすることを望む。これはデジタル証明書で効果的に実行できる。しかし、この例では、Uが1年のうちのほんの僅かな日数だけ音楽をダウンロードするであろうことを彼は確信しており、しかも彼はそれらの日がいつであるか、または何日間であるのかは予測できない。したがって、音楽センターは、Uが1日用証明書の発行を望んだ時はいつでもUのために異なる1日用証明書を発行する必要がある。Uはそのような証明書を求め、支払いまたは支払いの約束の後で、彼はそれを受取りその後でその日に1000の音楽サーバのいずれかで使用する。しかし、1日証明書(cert)を発行するには業者と利用者の双方に僅かではない管理費がかかる。そしてそれらの費用は利用者が別の「音楽日」を楽しむことを望むたびに必ず倍加する。
好適な実施形態では、本発明はそれらの費用を次のようにして低減できる。最初に、Uが業者に初めて接触すると、彼に、発行日D1=0と、失効日D2=365と、バリディティ・フィールドX365と、無効ターゲットY1とが付せられた証明書Cが発行される。(業者のCAが保留フィールドをバリディティ・フィールドとして非常に構築する。無作為な20バイト値Z0で始まり、その後で、時間の粗さが1日の場合に、それを365回ハッシュする。その後でそれは全ハッシュ・チェーン、またはZ0だけ、を保存し、あるいは、適切な時間/保存法を用いて所望の任意のZiを発生できるようにする。)i=1,...,365日に、Uがその日の「1日の音楽」を求めたとすると、業者は20バイト値X365-iを単に出してその証明書が有効であることを示す。さもなければ、それはZ365-iを出してその証明書が「保留されいている」ことを示す。さもないと、それはY0を出して証明書が無効にされたことを示す。選択によっては、Uと音楽業者が、例えば、「i入力装置から始まる1週間の音楽」を利用することに合意したとすると、それらの7日間に対する20バイト値が適切な時刻に出されるか、単一の20バイト値X365-i-7がi日に出される。
すなわち、Uが音楽をダウンロードしたい時は新しい1日用証明書をUに常に与えるよりも、業者は単一の1年間有効の証明書を与える。いつでも、この単一の証明書は、適切な20バイト値を出すだけで、1日だけ使用可能にできる。そうすると、例えば、本発明の好適な実施形態は、1日証明書を10出す(および利用者のブラウザに組み込む)代わりに、1年365日のうちから10日、たまに行われるように、使用可能にされる単一の1年間有効な証明書(cert)を発行する。業者は、使用可能にできる(例えば、365日のうちから10日証明書(cert))日数を前もって指定する証明書(cert)(例えば、365日のうちから10日証明書(cert))を発行するために上記方法を使用することもできる。それには予測可能なより多額の費用を要するので、そのような証明書(cert)は贈物に一層適する。
同じユーザに対して多数の証明書を使用可能/使用不能にする:
例8:セキュリティクリアランス管理:
デジタル証明書は実際に良く機能して適正なユーザのみがある資源をアクセスすることを保証する。原則として、証明書(cert)自体で特権を指定できる。例えば、国務省は10の異なるセキュリティ通過レベル、L1,...,L10を持つことができ、それは
C=SIGSD(SN,PK,U,L5,D1,D2,...)
に似た証明書Cを発行することによりセキュリティレベル5をユーザに与えたということを意味する。ここに、再びD1とD2は発行日と失効日を表す。
しかし、証明書(cert)自体についての特権を指定すると証明書管理の悪夢を魅させることがある。それの特権が変わると、証明書(cert)は常に無効にする必要がある。たしかに、被用者のセキュリテレベルは、彼の/彼女の任務で変わることがある。任務は同じ年のうちでもしばしば変わる。例えば、Uのセキュリティ通過レベルが一時的に3に高められたとすると、国務省は元のCを無効にして新しい証明書(cert)C’を発行する。この作業はUしたがってC’が前と同様に同じ公開鍵(および失効日)を持つ、例えば、
C’=SIGSD(SN’,PK,U,L3,D1’,D2,...)
を持つことにより多少簡単にできる。
しかし、Uは新しいC,を彼の種々の場所、すなわち、彼のデスクトップPC、彼のラップトップ、彼の携帯電話、彼のPDA等、のブラウザに「挿入する」という作業に依然として直面する。ここで、CAが証明書を僅かに異なる態様で再発行するという動作を行うことは1つの行為であるが、動作を行うためにユーザに依存することは全く異なる行為である!
この管理問題は、短期間有効な証明書(例えば、発行後1日で失効する証明書)が使用されるならば悪化するだけである。本発明の教示では、1日証明書(cert)国務省の雇員またはユーザUが、より高いセキュリティレベルが必要とされる会議に出席できるようにすることがある。(Uが適切な携帯端末、スマートカード、または磁気ストライプカードでさ、えにそのような証明書(cert)を有しているならば、彼は、例えば、その日の会議に出席するドアを開くためにそれを使用できる。)短期間有効な証明書の用途ははるかに広く、広い範囲まで(どの点も少なくともほとんどの用途で、24時間で失効する証明書(cert)を無効にしない)無効にすることの困難さがないので推奨されてきた。しかし、短期間有効な証明書(cert)は全ての適切なユーザのブラウザに存在するようにその証明書(cert)を発行することは、依然として管理費がかかる。
それらの管理費は本発明の好適な実施形態を使用することによって次のように低減できる。1日時間確度で十分であると仮定すると、国務省は10のバリディティ・フィールドと1つの無効フィールドを含んでいる証明書、例えば、
C=SIGSD(SN,PK,U,D1,D2,A365,B365,C365,D365,E365,F365,G365,H365,I365,J365,Y1,)
をユーザに発行する。
ここに、最初のバリディティ・フィールドA365はセキュリティ通過レベル1に対応し、...10番目のバリディティ・フィールドJ365はセキュリティ通過レベル10に対応し、一方、通常のように、Y1はCの無効フィールドである。証明書(cert)Cは次のようにして使用される。n日に、Uが高い地位(すなわち、証明書(cert)Cが依然として有効である)にあって、Uのセキュリティ通過レベルが5であるとすると、国務省は20バイト・バリディティ証明E365-nを公表する(例えば、分散NOVOMODO実装ではそれの全ての応答側へ送る)。m日にUのセキュリティ通過レベルが2になったとすると、国務省はB365-mを公表する。以下同様である。Cが無効になると(例えば、Uが被用者でなくなったか、Uの秘密鍵が暴露されたので)、国務省はY0を直ちに公表する(および「将来の」A,B,C,D,E,F,G,H,I,Jの値をそれの記憶装置から消去する)。
このやり方、証明書(cert)C、は、それ自身の特権を内部で指定するが、それらの特権が正常なやり方で変化すると無効にする必要はなく、ユーザは新しい証明書(cert)を彼等のブラウザにロードする必要はない。要するに、本発明の好適な実施形態はそのような最小足型を有する。すなわち、CAは(多くの関連する証明書(cert)を発行、無効、再発行、するよりも)、無効にされない確率がはるかに高い(セキュリティ通過レベルの変更が無効に変えられないので)単一の証明書(cert)を極めて簡単に発行できる。その結果、より少ない証明書(cert)がこの用途で発行または無効にされ、その結果としてPKI管理がいっそう簡単になる。
要するに、本発明の好適な実施形態は1組のダイナミックに変化する特性または属性に対する複雑な証明書管理を単一の証明書(臨時の長さが最も小さい)および属性に対する単一の20バイト値で置き換える。
テレコム社(Telecom company)が、所与の無線装置を1つのレートから別のレートへ切り替えるため、またはローミング(roaming)目的のために、例2の方法に類似する方法を使用することがある。
貸し主CAおよび借り手CA:
主なPKI経費はRA関数に関連させられる。確かに、ユーザUを特定するには費用がかかる個人面接と、Uが正しい秘密鍵(認証すべき公開鍵PKに対応する)を確かに知っていることを検証することを要することがある。このRA関数を多数のCAの間で共用できしかもそれらが彼等自身の証明書(cert)に対する全面的な独立の管理を保持できるようにするるならばすばらしいことであろう。
例9:組織証明書
政府および巨大組織は同位の下位機関と階層的な下位機関、すなわち、部、業務単位等、で構成されている。被用者は2か所またはそれ以上の下部機関に所属させられることがある。例えば、合衆国政府では、彼はNISTと商務省で勤務することがある。そのような所属のおのおののためにデジタル証明書を発行すると証明書の総数が莫大なものになって、PKIが複雑になる結果となり、被用者が彼/彼女の所属を失ったり、付加したりするたびに、対応する証明書(cert)を向こうにしたり、新しいものを発行することが最上である。理想的には、(1)編成は被用者にただ1つの証明書(cert)を発行する、(2)各下部機関がそれの各所属ごとに別々の証明書(cert)を発行して管理する、という対立する2つの事柄を調和させるべきである。
それら2つの対立は本発明の好適な実施形態により次のようにして調和される。まず初めに、本発明の好適な実施形態は証明プロセスをバリデーション・プロセスから切り離すことと両立し、最初のプロセスはCAにより管理され、第2のものはバリデ々ション権限機関(VA)により管理されることに注目されたい。例えば、時間確度を1日と仮定すると、CAが一連番号SNの証明書Cを発行する用意をひとたび行うと、それはSNをVAへ送り、VAはY0とX0を選択し、3つ組(SN、Y0、X0)を秘密に保存し、Y1とX365を通常のように計算し、その後でY1とX365をCAへ戻し、CAはそれらをC内に含む。このやり方では、CAはCを立証することを気にする必要はなく、CAはユーザを特定することとCを適性に発行すること責任を負うのみで、VAはCが有効であるか、無効にされていることを立証できる唯一のものである。この切り離しは、内部の下部組織力学を柔軟に反映する機関証明書を持つために、種々のやり方で利用できる。下記はそれらのやり方のまさにその1つであって、政府および省庁を現在行われている例でとして使用する。政府は全体としてそれ自身のCAを有し、各省もそうである。
対応するCAすなわちCA1....,CAkを持つk個の省と、1日時間確度を例とすると、政府の証明書Cは次の形をとる。
C=SIGGOV(SN,PK,U,D1,D2,X365,Y1,[X365 1,Z365 1],...,[X365 k,Z365 k])
ここに、通常のように、SNは証明書(cert)の一連番号、PKはユーザの公開鍵、Uはユーザの識別子、D1は発行日、D2は失効日、X365はバリディティ・フィールド、Y1は無効フィールドであり、そしてX365 jはCAjのバリデーション・フィールド、Z365 jはCAjの保留フィールドである。
そのような証明書は、政府CAにより省のCAからの入力で発生される。ユーザUを特定し、特有の一連番号SNと、発行日D1と、失効日D2を選択した後で、政府CAはSN、PK、U、D1、D2を(なるべく認証された形で)各省のCAへ送る。その後でj番目のそのようなCAが、2つの秘密20バイト値X0 jとZ0 jを選択し、(SN、PK、U、D1、D2、X0 j、Z0 j)をまたはより簡単には(SN、X0 j、Z0j)を局部的に保存し、[X365 j,Z365 j]を政府証明書に包含させるために位置j(または「ラベル」jで)に戻す。
この証明書Cは、省ごとに、1‐証明書(cert)、2‐証明書(cert)、...、k‐証明書(cert)として、すなわち、k個の独立した証明書(cert)として機能するように、本発明の分布実施で次のようにして管理される。n入力装置に、100の応答側を考える。政府CAは、Cが依然として有効であるならば、100の応答側の全てに20バイト値X365-nを送り、さもなければY0を送る。その後で、j番目の省のCAは100の応答側の全てに20バイト値X365-n jを送って、さもなければZ365-n jを送って、Cをj‐証明書(cert)として依頼できることを示す。
したがって、政府CAはユーザの特定と証明書の発行にもっぱら責任を負うが、各省のCAは事実上はそれ自身の証明書であるものを独立に管理できる。(これは絶対に重要である。CA1が司法省で、CA2がDODであるとすると、利害関係がいくらか重なり合うにもかかわらず、おのおのが他方とは独立に行動することが最上である。)その結果としての証明システムは運用が非常に経済的である。まず、証明書(cert)の数が極めて減少されることである(原則として1人の被用者当りちょうど1つの証明書(cert)のことがある)。第2に、所与の被用者が、以前の証明書(cert)を無効にし、または新しいものを発行する必要なしに、1つの省を去って別の省に入ることができる。第3に、異なる省のCAが同じ応答者を共用できる。(実際に、所与のユーザが所与の省に所属させられているという単なる事実が秘密ではない場合には‐ほとんどの省で真実である何者かである‐サーバは「公開可能な情報」のみをほぼ含んでいる。)したがって、jの証明書としてのCの状態についての質問は2つの20バイト値、1つは政府の証明書(cert)であり、1つはj証明書(cert)、で応答される。これにより、(例えば、UがPKに対応する秘密鍵を紛失したとすると)「中央レベル」でCをより迅速に無効にできるようになる。
例10:
上の例では、証明書Cは中央で無効にできるのみであったが、無効にする責任を個々の省に降ろすようにすることは容易にできる。例えば、j番目の省CAが、完全に自律的に、Cを無効およびj証明書として保留できるようにするために、Cは次のような形を取ることができる、
C=SIGGOV(SN,PK,U,D1,D2,[XN11,Y1 1,ZN1 1],...,[XNk k,Y1 1,ZNk k])。
また種々の省がそれら自身の証明書(cert)のために種々の時間確度を持つことがある。これもまた次のような形のCを持つことにより容易に行うことができる。
C=SIGGOV(SN,PK,U,D1,D2,[TA1,XN1 1,Y1 1,ZN1 1],...,[TAk,XNk k,Y1 1,ZNk k])
ここにTAjはj番目のCAの時間確度、NjはD1とD2の間の時間単位の数である。(例えば、TAjが1日で、D1−D2=1年であるとするとXNj j=X365 jである。)
単一の組織内では、上記のようにして構成されて管理される証明書(cert)を発行することの大きな利点は、ユーザが1つの下部機関から別の下部機関へ移動してもその証明書(cert)がそのまま使えることができることである。しかし、上記技術は単一機関領域の外部でも応用できることを理解すべきである。確かに、政府CAは持ち主CAと見なすことができ、k個の省CAは関連しない機関(下部機関ではなくて)のために役務を行う借り手CA見ることができ、証明書をリースされた証明書(cert)と見ることができる。この用語は、「合同建設および独立管理」の利点が適用されるよりなじみのある例から借用したものである。リースされた証明書(cert)は実際に同一の床フットプリントを持つスペックビルディングに類似する。
まさに彼自身のアパートである建物ではなくても、建て主は20床の建物をより良く建築し、彼自身はペントハウスアパートに居を構え、他のフロアは貸すか売り渡す。そうすると、20人の各入居者は単独の所有者として行動する。彼は完全に自律して決定し、彼の階層に入居させて、鍵を渡した建て主に義務を負わない。20階建ての建物は20軒の平屋よりはもちろん安い。費用はそれの10倍することもよくある。この規模による節約はリースされる証明書(cert)では一層顕著である。たしかに、定期的な証明書(cert)の発行の費用とリースされる証明書(cert)の発行の費用はほとんど同じである。したがって、リースされる証明書(cert)を発行することは貸し主CAにとっては非常に利益になることがあり、または少なくともそれ自身の証明書(cert)のために要する費用を完全に取り戻す。他方、借り手CAにも実際に利益があり、(それらは公開データのみを持つので)、発行経費を削減し、証明書(cert)をk通りのやり方で発行する費用を共同で負担し、下部構造の費用を削減し、同じ応答側を共有する。
外部の借り手CAに対して貸し主CAとして振る舞って当然なものは、クレジットカード会社、大規模な金融団体、および再び政府(例えば、USPSまたはIRSを介して)である。多くの場合に、実際に、彼等は何百万もの「ユーザ」と超機関の密接な「関係」を持ち、ユーザ特定のために余り多くの資源を投資することなくデジタル証明書(cert)を容易に発行できる(例えば、クレジットカード会社はそれの顧客のために請求書を何年も送り、この知識を用いてレバレッジ取引きを行うことができる)。クレジットカード会社は、それ自身の近縁プログラム(ホテルチェーン、航空路線等を彼等のテナントとして有する)を一層効果的に実行するために証明書を貸し主CAとして発行するという考えを好むことがある。IRSはデジタル証明書を使用することを既に決定していることがあり、リースされる証明書(cert)は後で、より迅速でより良いサービスを提供するために要する費用を償還する歳入を彼等に提供することができる。
例11:
これまでは、貸し主と借り手のCAについて説明してきたやり方は、貸し主CAが発行プロセス中はそれ自身の借り手CAと協働すること、およびしたがって、前もってそれの借り手CAとして既に特定していることを要する。しかし、例えば20の借り手の全てまたはどれかを特定することなく、それらの借り手のCAを想定してレンタル証明書(cert)を貸し主CAが発行することは実際に可能である。それよりも、将来の借り手CAは既に発行されている証明書(cert)中のスペースを借りることができるであろう。この性能は新しい証明書(cert)が可能にする用途にとって理想的である。何百万という顧客に証明書(cert)を発行するために要する経費を掛けるよりも、証明書が可能にする新商品を提供する企業は、何百万もの証明書(cert)を発行した貸し主CAに接近し、ファクスの後でそれらの中のスペースを貸し、その後で、貸し主CAユーザの対応する証明書(cert)の全てを一晩中ターンオンすることにより貸し主CAユーザの大部分を顧客として署名し(顧客特定費用やその他の発行費用なしに)、その後でそれ自身の規準に従ってそれらの管理を開始する。以下にこの機能を可能にする種々の技術について説明する。
付加システム:
装置バリデーション・システム:
ここで、本発明の技術を装置(例えば、携帯電話、PDA、無線周波識別トークン、PC、ラップトップ、VSR、ネットワーク装置、ルーター、ファイヤウォール、セットトップ・ボックス、CDプレイヤー、ゲームプレイヤー、DVD装置等)にどのようにして応用できるかについて説明する。
例えば、それらの装置をオンにする性能そのもの、またはそれらに動作を続行させる性能そのものについて考える。例えば装置が盗まれたとすると、それはもはや動作しないことが望ましい。他方、もし盗まなければ、それは正常な動作を続行すべきである。同様に、ユーザが装置を「借りる」とすると、または使用料を支払うか、企業のために装置を使用するものとすると(他あるいは、装置が企業のラップトップ)、もし彼が借り賃または使用料をもはや支払えないか、企業のためにもはや働けないとすると、装置をオフすなわち動作不能にする必要がある。それ以外は装置は適正に動作せねばならない。またそれらの装置はダイナミックにオン、オフおよび再びオンにできる。
もちろん、それらの機能は本発明の好適な実施形態のシステムにより実行できる。要するに、いかなる限定も意図することなく具体的にするために、毎日の時間粗さを再び仮定すると、装置は、バリディティ・フィールドXを指定するデジタル証明書Cを備えることができ、装置は、Xに対してバリディティの毎日の証明を有するならば、所与の日に動作できる。装置は(特にセルラー装置ならば)それ自身の日常のバリディティ証明を「押す」ことができる。あるいは、装置はその日のためのそれ自身のバリディティ証明を第2のエンティティに求めることがある。例えば、装置はそれの一連番号を与え、それに応じてその日のバリディティ証明を受けることができる。
これが機能する理由は、バリディティ・フィールドが一貫していることが証明書により保障され、したがって、CAのXのデジタル署名により(日付情報などのその他の情報と一緒に)保障されるからである。しかし、Xの一貫性を以下のような代わりのやり方で、すなわち、変更できないやり方で装置に「それを焼き付ける」ことにより、または例えばチップ(スマート‐カード/PDA/電話/ラップトップ等、チップセット)内の読出し専用メモリに書込むことにより守ることができる。このようにして、装置のユーザはXをどのようにしても変更できない。証明検証アルゴリズムを焼き付けることもできる。したがって、所与の日に対するバリディティの証明Pであると称されているものがひとたび提示されると、Pは適切な回数ハッシュされ、その後で焼き付けられたXと比較される。より一般的にいえば、ここで、一方向ハッシュ関数ではなくて、一方向関数Fを使用できる。したがって、製造を含めた、全プロセスはこのように見える。
第1のエンティティが最初の値を生じ、最後の値FVを得るように一方向関数Fを所与の回数反復する。第2のエンティティ(おそらく第1のものに等しい)がXを装置Dに焼き付ける。装置Dは関数Fを反復する手段を有する。装置Dは後で称されたn、nは正の整数、番目の証明値PVを後で受け、PYについて関数Fを反復することによりPVをn回検証し、その結果の値が焼き付けられた値Xに等しいことを調べる。
装置Dはそれの自身のクロックを参照してn番目の証明値が現在の日付に合致することを確認する。実際に現在の日付が、固定された日付から始まる一連の日付中のn番目の日付のことがある。固定された日付は装置に焼き付けることができると共に、それの一貫性も同様に守る。
反復毎に、関数Fは付加入力を入力として(以前に計算された値ばかりでなくも)受ける。例えば、Dの識別子が各反復における入力のことがある。そのような付加入力は異なる各反復毎に同様に異なることがある。例えば、整数kは反復kにおける入力のことがある。
また、単一の一方向関数Fがないこともある。確かに一連の一方向関数があるかもしれず、Fkは反復kで適用される関数のことがある。
バリディティ・フィールドX(Dにとってほぼ独特である)は、Dの一連番号とバリディティ・フィールドを取り扱うことを別々に分けるように、Dの識別子(またはそれの一部)として使用することもできる。
説明しているシステムは所与の装置Dを全くオンまたはオフするためにこれまでは使用できる。しかし、それは所与のただ1つの関数、またはいくつかの関数の内から1つの関数をオンまたはオフにするためにも使用できる。例えば、Xを関数FXのためのバリディティ・フィールドとし、Zを関数FZのためのバリディティ・フィールド、等々とすることができる。この場合には、X(Z)に対するバリディティ証明を受けることは、関数FX(FZ)がその日に装置Dに対してオンにされることを意味する。そのような付加バリディティ・フィールドZ、...は装置Dに焼き付けることもできる。また、どの関数がX/Z/...に関連させられているかの記述/識別子を焼き付けることもできる。
可能な関数の数(したがって、バリディティ・フィールドの数)が大きいとすると、バリディティ・フィールドをMerkleハッシュでき、その後でMerkle木のルート値を焼き付けることができる。この場合には、関数FXをオンにするために(所与の日に)、Xに対するバリディティの適切な証明(その日のための)を、XからMerkle木のルートまでの認証経路と一緒に、与えることができる。Merkle認証経路アルゴリズムも焼き付けることができる。
クロックなし装置のバリデーション:
これまで見てきたように、好適な実施形態の技術は装置を有効にするために使用でき、それらの誤使用を防ぐように装置をオンまたはオフにすることにより。この用途のセキュリティは、装置が敵、おそらく装置の本当の所有者(銃撃された後で、家に依然としてある会社のラップトップから会社のデータにアクセスすることを望む被用者)によって制御できない、という事実にしばしば依存する。実際に、会社がj日のバリディティの証明をもはや発行しないとしても、かつそのようなバリディティ証明が存在しないとしても、装置はj日には動作せず、敵は、現在日がd<jであると装置に信じさせるように、装置のクロックを戻すことができ、その後でd日に正しく発行されたバリディティの証明を装置へ戻すことにより、装置をだましてj日に動作させる。
この好適な実施形態は、クロックなしすなわちクロックを持たないか、セキュアなクロックを持たない装置に対してさえも装置のバリデーションを行う技術を提供する。
この技術は検証者、一連の日のうちの所与の日に、所与の装置をバリデートすべきかどうか‐すなわち、オンまたはオフにする‐を判定するエンティティを考えている。具体的には、ただし意図する限定なしに、所与の日が一連の日のうちの所与の日であると仮定する。装置は、セキュアなメモリ部とクロックを持つことが好ましい。安全ではないが、装置は、少なくともオンにされている間に所与のクロックがリセットされたかどうかを示すことができる。例えば、装置は、それが動作している間に、24時間が経過したかどうかを示すことができる。変更されることをどのようにしても避けるように、バリデーション・ソフトウエアは装置内で保護されることが好ましい(例えば、保護されているメモリ内で動作、または焼き付けられる、あるいはファームウェアに常駐する)。あるスマートカードが同様にして機能することに注意されたい。例えば、それらは保護されているメモリ部を有し、それらは記憶装置に所与の値を保持する(例えば、安全)ための最小電力を持つことができ、かつクロックを有するが、いかなるかなりな長さの時間もクロックに動作を継続させることができる電池は有しない。このように、カード読取器にひとたび挿入されると、スマートカードのクロックは動作するようになり、カードは時間の経過を安全にモニタでき(クロックも安全なメモリないにあるので)るが、カードが読取器からひとたび取り出されるとクロックはもはや機能しないが、小さな値が安全なメモリに依然として残留することがある。
例12:
この方法では、バリデータおよび装置は秘密鍵Kを共用する。鍵Kは装置の安全メモリ部に常駐することが好ましい。この鍵Kから、装置とバリデータは一連の日に対応する予測できない一連の値を発生できる(Kを持たない第三者のために)。例えば、各日1、2、...毎に一連の値はV1=H(K,1)、V2=H(K,2)、...より成る。ここにHは一方向ハッシュ関数、または各時刻に鍵Kで1,2,...を暗号化する暗号化関数である。j日に、装置がもう1日多く動作することをバリデータが望んだとすると、それは値Vj=H(K,j)を知らせる(すなわち、応答側へ送る)。ここで、d日に装置が動作させられ、その後でj日までオフにされた後で、j日に装置がオンにされると仮定する。その後で、装置は値Vd=H(K,d)またはそれが動作していた最後の日のインディケータ(例えば、d)を保持する。装置はd日の後でバリディティ証明を得るまで再び動作しない。あるいは、装置は、d日の間それが動作した時間の長さを、例えば、単一の変数で、それ自身の判断で保持し続ける。したがって、装置がオフにされると、それはdばかりでなく、例えば、6時間10分喪記憶できる。そうすると、再びオンにされると、それは15時間と50分も動作を続ける。その後で、dの後の日についてバリディティの証明を求める。ここで、装置はj>d日に実際に再びオンにされると仮定する。その後で装置はj日にバリディティの(主張された)証明Vjを得る(例えば、応答側に対する要求の後で、それはそのような証明を押し付けられ、またはその証明を受ける)。その後で装置はVjがメモリに現在ある証明Vdの後の(またはdの後の日にメモリにある証明に対する)バリディティの証明かどうかを調べようとする。例えば、装置は、値Vjが発生されるまで(または所与の総数の日を過ぎるまで、例えば、10000日の後は動作している装置についてもはや全く注意しないと考えることがある)それの秘密鍵Kを用いてVd+1、Vd+2、...を発生し続ける。もしそうならば、それは別の24時間それ自身でオンになり(すなわち、新しいVjまたはjをメモリに保持する)、24時間の連続オンに達した後で、新しい値Vj+1またはVk,k>j、我必要とされるように、適切に動作してクロックをモニタする。
装置は、将来のバリディティ証明を知らせたりそれに供給することによりオフにでき、またはH(K,NO MORE(これ以上はしない))などの特殊な値、またはメモリに保存されている特殊な値Vnomoreを知らせたり、それに受けさせたりすることにより永久にオフにできる、等。装置は、特殊な値、例えば、H(K,suspend(保留),j)を知らせたりそれに受けさせたりすることにより所与の日に停止でき、バリディティ証明、無効証明および停止証明のための鍵は、同じにすることもできれば、異ならせることもできる。
これは多くの保護を既に提供している。装置がj−1日に適切に使用され、その後でそれが盗まれ、j日のためのバリディティの証明がいつまでも知らされないか装置に利用できなくされたと仮定する。そうすると、盗まれる前に装置がオフにされたか否にかかわらず、j日に始まってそれは動作を停止する。実際に、それがオフにされたとすると、動作を開始するとj−1日の後の日にそれ自身を適切にオンにするためバリディティの証明を必要とせず、そのような証明は来ない。オンにされている間にそれが盗まれたとすると、せいぜい24時間後にそれはいずれにしても動作を停止する。
最悪の場合には装置がオフにされる(例えば、j−3日に)ことがたまたまあり、したがって、バリディティ証明Vj−3を所有するようになり、その後でオフにされる。この点で装置が盗まれたが、j−1日までそれに気付かなかったか、装置がj−1日に盗まれて、敵が装置が知ることができた値Vj−1とVj−2を記録するものと仮定する。その後でその敵は装置にそれら2つの値をせいぜい供給して、たかだかも2日動作させる。
例13:
この方法は、例11で述べた方法とほぼ同様に動作し、一連の日の各日(例えば、限定なしの日)に装置に知らせられるかその他のやり方で装置が利用できるようにされる予測できない値、安全でないクロック、等を用いるが、秘密鍵は装置に使用しない。例えば、装置は、Xk、すなわち、上記のように同じ変形で、初期値X0に対して1つの(または複数の)一方向関数Fをk回反復した結果、を保存する。その後でXkはファームウェアに(例えば、変更できないやり方で)書込まれ、またはメモリの保護されている部分に保存される。j日におけるバリディティの証明は、本発明の基本形におけるように、単にXk−jである。再び、停止および無効が類似のやり方で起こり得る。
RTC物理アクセス構成:
雑多な環境における多数の特権管理:
頑丈な(ロバストな)アクセス管理システムはあらゆるユーザに対して2つの質問に答えねばならない。第1の質問は認証または特定についてであて、「あなたはあなたが自分がそうであるとおっしゃっている方ですか」。この質問は通常は直接に、または識別バッジ、バイオメトリックス鍵、またはパスコードを介して間接に行われる。それらは長く継続するユーザ特定のために妥当な解答を与えるが、「あなたが試みようとなさっていることをあなたは現在許されていますか」というより時間的に重要なバリデーション質問は向けない。
例えば、識別バッジはAliceが過去10日間のある期間被用者として雇用されていたことは示すことはできるが、彼女がコンピュータサービス室に入る許可を与えられている被用者のままであるかどうかを独立に決定できない。
物理アクセス管理のために、安全な錠は認証によって同一性を判断し、その後でユーザの現在の特権が入場を許しているかどうかを判断するためにバリデーションを行わねばならない。ある種の錠はこのバリデーションを中央が信託している許可権限期間への有線ネットワーク接続を通じて実行する。有線ネットワークで接続されている錠には2つの大きな限界がある。各有線接続錠の費用には配線を安全に保持する費用と、フィールド管理パネルの費用と、労賃を含んで、総額でドア当り数千ドルに達する。有線接続構成の範囲は、常時ネットワーキングにより容易にアクセスできる錠ま手に限られる。これは、車両、保管コンテナ、万能キャビネット等などの移動体、または錠に達することが困難なものに強固なアクセス管理を使用することを妨げる。
本発明の好適な実施形態のリアルタイム証明書技術は、接続されている錠または切り離されている錠の双方に効率的なバリデーションを行うために安全なやり方を提供するものである。これにより知能ドア錠が、各錠への費用のかさむネットワーク接続を要することなく、現在のユーザ特権をバリデートし、許可を与えることができるようにされる。
この開示は、多数の独立したユーザ特権を基にして、切り離されたバリデーションを行うために使用できるいくつかの構成を示すものである。各構成は、異なる施設で使用するための既存のアクセス管理ハードウェアおよびソフトウエアと組合わせて、相互に動作できるようになっている。各構成ごとに、この明細書はリアルタイム証明書技術がどのようにして融通性を高め、しかも高い安全性を達成するための費用を劇的に低減できるかを説明するものである。
以下に説明する全部で4つの構成は同一のRTCバリデーション・プロセスを特徴とするものである。それらの構成の間の主な違いはユーザを認証する過程であって、それは費用を大幅に低減し、かつ既存のアクセス管理解決技術に適合することである。
非接触ID/メモリ:
最初のRTCバリデーション構成は、読出し/書込みメモリアクセスを行う非接触IDカードを基にしたアクセス管理環境である。これを例として共通MIFARETM規格非接触カードを用いて説明するが、バリデーション解決技術はどのようなメモリIDカードとも同じである。
現在のネットワークで結ばれている物理アクセス環境にMIFAREIDカードが使用される場合は、錠はカードからIDを読取り、それを近くのパネルまたはサーバへ送る。パネルまたはサーバは特権を調べてバリデーションを行う。認証過程はカードIDの判定であり、バリデーション過程はこのIDを基にして遠隔で取り扱われる。
本発明の物理アクセス管理は有線接続されているドアのためのこのモデルとの適合性を維持するが、その角の矯めのデジタル署名されている「バリデーション証明」を保存するためにカードの読出し/書込みメモリを使用することにより、切り離されているドアのための支援を付加する。この証明はネットワークに組み込まれている任意の読取器でカードに定期的に書込まれ、その後で、切り離されている任意のドアの所で読出してユーザの現在のバリディティおよび許可を行うことができる。
下記の表は、カードに記録されているRTCバリデーション証明の論理的内容を、各構成要素に対する保存要求のあらましと共に示すものである。
カードID: #123456 4バイト
状態: カードバリッド 1バイト
開始時刻: 03年8月4日午前9時 4バイト
終了時刻: 04年8月5道午前8時59分 4バイト
権限機関: ACME Inc. 20バイト
特権: R&D labs 1〜10バイト
駐車 1〜10バイト
ロッカー53 1〜10バイト
端末装置B 1〜10バイト
デジタル署名 42バイト
総サイズ:約100バイト
結ばれているドアを通ってユーザが施設に入ると、ドアは上記フォーマットでのユーザの完全なバリデーション証明を検索し、それをカードのメモリ領域に置く。証明がカードにひとたびロードされると、切り離されている錠は下記のステップによりユーザの許可を有効にできる。
(1) ユーザのカードIDを検索することにより標準認証を実行する、
(2) メモリからRTCバリデーション証明を検索する、
(3) 信託されている権限機関の既知の公開鍵とデジタル署名が合致するか検証する、
(4) 証明が現在のものであることを検証する(開始時刻と終了時刻を用いて)
(5) カードが有効であることを検証する、
(6) 証明からの特権を基にして随意のアクセス管理要求を点検する。
切り離されている錠は、ここのユーザIDではなくて、特権に基づいた1組のアクセス管理規則で構成される。例えば、「駐車」特権を持つユーザのみを、執務時間中のみ入場させるように錠を構成できる。個々のユーザ特権はRTCバリデーション証明を通じて変更できるので、新しいユーザが付加されたり、除かれたりする場合にアクセス許可を変更するために錠自体を変更する必要はない。また、錠はいかなる秘密鍵またはデータも保存する必要はない。その理由は個々の錠をシステム全体の安全を低下することなくばらばらにできることを意味する。
本発明の好適な実施形態のRTCバリデーション証明は、物理アクセス管理環境のためにそれらの証明を独自に強力なものにするある特徴を有する。証明はデジタル署名されるので、それらは偽造できず、手を加えることができない。証明にはいかなる秘密鍵も含まれていないので、それらは公開でき、安全を損なう危険な示すように伝送できる。証明は低位終端メモリカードに記録するのに十分小さい。
それらの特徴によってRTCバリデーション証明をMIFARE規格野用にカードに使用でき、しかもカード当り何千の独立したユーザ特を持つ高いセキュリティの暗号化バリデーションを提供する。
費用:MIFARE 1k規格カードは製作者および製作数に応じて1ドルと5ドルの間で利用できる。MIFAREカードとRTCバリデーション技術を基にした切り離されている錠はドア当り500ドル以下である。施設により、単一のドアまたはコンテナを1000ドル以下で安全にできる。
セキュリティ:簡単なID認証は複製や偽造に対する防護が弱い。認証のセキュリティを高めるためにPKI防護に組合わされた第2および第3の要因認証を使用できる。証明書のバリデーションは、許可の偽造または変更を阻止する強力なPKI暗号化によって守られる。
非接触共用秘密:
RTC証明書バリデーションは、全ての読取器と直接または間接に共用される秘密情報を用いてバリデーションを実行する、HIDのiクラスなどの識別カードに使用することもできる。クロックは、無作為にされている呼び掛け/応答プロトコルを使用しているカードであって、そのプロトコルがそれのIDに一致する秘密を知っていることを示すようなカードに対する認証を行う。
秘密共用カードに対するRCTバリデーションは簡単なIDカードに対するバリデーションと同じである。ユーザが有線で結ばれているドアに入ると、錠は現在のRTCバリデーション証明をユーザのカードに書込む。この証明はオフライン・バリデーションのために切り離されている読取器によって後で検索される。
費用。メモリを持つ非接触共用秘密カードは製作者および製作数に応じて5ドルと10ドルの間で利用できる。MIFAREカードとRTCバリデーション技術を基にした切り離されたドアはドア当り500ドル以下である。施設により、単一のドアまたはコンテナを1000ドル以下で安全にできる。
セキュリティ。共用されている秘密の認証は個々のカードの複製の機会を減少するが、単一のオフライン読取器を使用することを妥協すると多数のカードを複製されるかもしれない。証明書バリデーションは強力なPKI暗号化によって防護されて、許可の偽造または変更を阻止する。
非接触PKI:
公開鍵デジタル署名を実行できるカードは認証セキュリティを最高度にする。これはMIEARE PRO Xチップと多数の最高位JavaCardsを基にしたカードを含む。錠は、それにいかなる感知可能な情報も要することなく問い掛け/応答プロトコルを基にしたカードを認証することができる。これは鍵の複製のおそれを大きく減少する。
公開鍵カードに対するRTCバリデーションは、簡単なIDカードに対するバリデーションと同じである。ユーザが有線で結ばれているドアに入ると、錠は現在のRTCバリデーション証明をユーザのカードに書込む。この証明は後でオフライン・バリデーションのために切り離されている読取器によって検索される。
カードの公開鍵はデジタル証明書によって通常表される。それはコンピュータアクセスおよびeメールのセキュリティなどの別の用途に使用できる。最高位公開鍵カードは、情報セキュリティまたは保存されている値などの付加用途を支持することがあり、それは各用途に要する総費用の低減を支援する。
費用:非接触PKIカードは製作者および製作数に応じて10ドルと20ドルの間で利用できる。MIFAREカードとRTCバリデーション技術を基にした切り離された錠はドア当り500ドル以下である。施設により、単一のドアまたはコンテナを1000ドル以下で安全にできる。
セキュリティ:PKIカードは鍵の妥協またはカード複製の危険が小さくて錠に強力な暗号化認証を行うことができる。証明書バリデーションは強力なPKI暗号化によって防護されて、許可の偽造または変更を阻止する。
ハッシュ・シーケンスをトラバースする技術:
Hを一方向ハッシュ関数とする。長さがnのハッシュ・チェーンは値
H(xi)=xi-1であるようなx0,x1,...,xn の集まりである。xi-1はxiから計算することが容易であるが、逆向きの計算は、Hの一方向性のために、実行できない。
下記はハッシュ・チェーンの表現である
0 (H)x1 (H)... (H)xn-1 (H)xn
多くの用途(例えば、ドキュメント・バリデーションおよび特権管理サービスなど)ではハッシュ・チェーンを考察できる、すなわち、値x0,x1,...,xnを順に(上の例では左から右へ)ある時間にわたって発生する(例えば、1年の間1日に1つの値)必要がある。左から右への順序はこの問題を困難にする。その理由はHの一方向性のためである。Hを単に繰り返し適用することによってx0,x1,...,xnを順に発生および出力することは容易であるが、逆の順序はより長い時間とより多数のメモリとの少なくとも一方を要することに注目されたい。
2つの明らかな取組み方は、
ただ1つの値xnを保存し、xiを出力するために、Hn-1(xn)を計算する:
全ての値x0,x1,...,xnを保存し、それらが出力されるにつれてそれらを消去する:
第1の取組みは2つのハッシュ値(1つはxnに対するもの、他方はxiの計算に対するもの)と、H合計のn(n+1)/2回の計算、または、平均して、値出力当りn/2回の評価を保存することを要する。第2の取組みはn+1ハッシュ値とH合計のn回の評価、または、平均して、値出力当り1回の評価の保存を要する。
我々は、中間解決法、すなわち、メモリ(保存されているハッシュ値の数)と時間(必要とされるHの評価の回数)との別の相反する特性を提供するもの、に興味がある。
次のような相反する結果をもたらすアルゴリズムが先行技術で提案されている。すなわち、保存されている
Figure 2005525731
ハッシュ値とハッシュ値出力当りのたかだか
Figure 2005525731
のHの計算である。(Don CoppersmithおよびMaruks Jakobsson、"Almost Optimal Hash Sequence Traversal(ほぼ最適なハッシュ・シーケンス・トラバーサル)",in Matt Blaze, editor, Financial Cryptography: Sixth International Conference (FC' 02), Southampton, Bermuda, 11‐14, March 2002参照)。
一定(constant)記憶装置を有する新規なアルゴリズム:
Jakobssonの方法は約log2 n個のハッシュ値の記憶を要し、それより小さい記憶装置を使用する場合は使用できない。長さが365のハッシュチェーンに対しては、これは9個の値を保存する必要があることを意味し、長さが1000000のハッシュチェーンに対しては、これは20個の値を保存する必要があることを意味することに注目されたい。我々はそれより小さい記憶装置要求を持つアルゴリズムを使用したい。さらに、我々はハッシュチェーンの長さとは独立である記憶装置要求を指定できるようにしたい。こうすると、短いチェーンと長いチェーンに対して同じ容量のメモリを必要とし、したがって、ハッシュチェーンの長さが変化しても新しいメモリを獲得する必要はない。
アルゴリズムについての考察を便利にするために、値xjのことをアルゴリズムが位置jにペブル(pebble)を保存すると呼ぶ。その後でペブルは次のことを許される。すなわち、(i)他のペブルが配置されている位置へ動かすこと(これは値をコピーすることに相当する)、または(ii)それの現在の位置から1段左へ動かすこと(これはHを評価することに相当する)。最初に、ペブルはハッシュチェーンの任意の位置でスタートできる。
ペブルの数は保存されているハッシュの数に対応し、ペブルが左へ動く段の数はHの評価の数に相当することに注意されたい。そうすると、我々のゴールは、特定のペブル数が与えられたらペブルの動く数(我々が「費用」と呼ぶもの)を減少するアルゴリズムに追い付くことである。
2つのペブル:
nでペブルを常に必要とすることは明らかである‐‐xnが保存されないとすると、それを取り戻す方法はなく、したがって、トラバースの終りに必要とされる時に、それを出力する方法はないことが明らかである。xiを出力できるようにするために、現在の位置iでペブルを常に必要とすることも明らかである。
ただ2つのペブルが使用されるならば、それのうちの1つはxnに常に留まらなければならず、他方は毎時xnでスタートし、xiへ動く以外は選択できないが。したがって、2つのペブルのための最良のアルゴリズムは全部でn(n+1)/2回のステップ、または平均してステップ当りn/2ステップを取る。例えば、長さが1000000のハッシュチェーンでは、平均ステップ数は値出力当り500000である。
3つのペブル:
絶対に必要な2つのペブルにちょうど1つのペブルを加えるものとすると、ステップの数を劇的に改善できることが分かる。
これは次のように行う。ハッシュチェーンを長さsの間隔に分割する。ここに
Figure 2005525731
(n/s sqrt{n}間隔があることに注目されたい)。ペブル数3をxnに置き、ペブル数2をxsに置く。その後で、上で述べた2ペブルのためのアルゴリズムを用いて、点x0,...,xsをトラバースする(毎時xsでスタートする)。その後でペブル数2をx2sに置き(xnでスタートして左へ動く)、2ペブルのためのアルゴリズムを用いて、点xs+1,...,x2sをトラバースする。これを続けて、そのたびに長さsの間隔に対して2ペブル・アルゴリズムを用いる。
このアルゴリズムのステップの総数は次のようにして計算できる。2つのペブルを用いて各間隔をトラバースするために、s(s+1)/2ステップを必要とする。また、各間隔をトラバースする前にペブル数2をそれの初めまで動かすために、(n−1)+(n−2s)+...+s+0 (n/s)(n/2)ステップを必要とする。
Figure 2005525731
であることを思い起こすと、出力値当りの平均ステップ数は
Figure 2005525731
したがって、第3のペブルを2つのうちの小さい方に加えることにより、出力値当りの時間をn/2からsqrt{n}まで短縮できる。この短縮はまったく劇的であり、例えば、長さが1000000のハッシュチェーンの場合には、平均ステップ数は値出力当り1000である(2ペブルの場合に必要な500000とは異なって)。
4ペブル:
さらに別のペブルを利用できるとすると、ハッシュチェーンを間隔に再び分割できる。この時は、
Figure 2005525731
をセットし、チェーン全体をn/s n(1/3)に分割する。
その後でペブル数4をnに置き、ペブル数3のためのスタート点としてそれを使用する。それはサイズsの各間隔の開始点へ、左から右への順に、動く。各間隔で、上記3ペブル・トラバース・アルゴリズムを使用する。すなわち、各間隔をサイズ
Figure 2005525731
のサブ間隔にさらに細分し、ペブル数2を、左から右への順に、各サブ間隔の初めに置く(ペブル数2はスタートし、各場合に、およびペブル数3)。その後でペブル数1はサブ間隔をトラバースし、そのたびにペブル数2でスタートする。
このように、各間隔をトラバースする費用は値出力当りsqrt{s}、または
Figure 2005525731
である。そのために、ペブル数3を各間隔の初めへ動かす費用を加算せねばならない。ペブル数3は、最初はn−sステップ、次はn−2sステップ等というようにn/s回動かされて、値出力当り(n/s)/2 n(1/3)/2の平均費用を与える。
したがって、値出力当りの平均ステップ数は
Figure 2005525731
である。長さ1000000のチェーンの例を再び用いて、平均ステップ数は値出力当り150である。
より多くのペブルへの一般化:
上記の例から出る一般技術は次の通りである。c個のペブルが与えられると、ハッシュチェーンをおのおの長さn((c-2)/(c-1))のn(1/(c-1))間隔に分割する。それらの各間隔にc−1ペブルの技術を使用する。出力値当りの平均費用は((c−1)/2)n(1/(c-1))}である。
この一般化は一定数のペブルに対するためのものばかりでなく、例えば、c=1+log2 nに対するものであると考えることができる。その場合には、式
Figure 2005525731
を用いて、出力値当りの平均費用が我々のアルゴリズムを用いてlog2 nであると計算する。
最悪の場合の費用の低減:
上の技術は出力値当りの平均の場合費用を低減するが、ある出力値は他のものよりも計算に長くかかる。
例えば、3ペブルの場合を取ることにする。sペブルをトラバースするたびに、ペブル数2を再配置せねばならない。そうすると、間隔の左端部にある出力値は計算にはるかに長くかかる。例えば、xs+1を計算するために、n−(s+1)ステップを行う必要がある。他方、ある間隔内の他の全てのペブルはたかだかsステップを取る。
これはあるようとには多くの重大な問題をひき起こすことがもちろんある。すなわち、含まれている計算機器はそれらの「悪い」場合を取り扱うのに十分速くなければならない。しかし既にその様に速いとすると、良い「平均」ケースに達する点はないようである。我々は強力な計算機器を依然として必要とし、それは平均に安住しているだけである。
この問題を阻止するために、最悪の場合の出力値の費用を平均の場合の出力値の費用に近付ける必要がある。3ペブルの場合には、これはただ1つの余分のペブルを付加することにより行うことができる。そのペブル「2a」を呼び出す。それの仕事はペブル2を次に動かさねばならない位置へ前もって動くことである。例えば、ペブル2が点sに配置されているとすると、ペブル2aは点nでスタートして点2sへ向かって動く。それは、ペブル2がそこにある必要があるちょうどその時に、すなわち、値sが出力される時までに、点2sに達する。
したがって、サイズsの任意に与えられた間隔がトラバースされている間に、ペブル2aは位置nでスタートし、次の間隔の初めまで左へ動く。ペブル2aはそれの宛先に達するためにnステップより少ないステップを要することに注目されたい。明らかな取組かたはペブル2aの場合には間隔中の各出力値についてたかだかn/sステップを要する。この結果として最悪の場合の費用は出力値当り
Figure 2005525731
ステップとなる。しかし、より良くできることに注意されたい。ペブル1は、間隔の左端部における値に対しては、間隔の右端部にある値よりも多くのステップを必要とするので、最悪の場合の費用を低減するために、ペブル2は「徐々に」スタートしその後で「速く」しなければならない。こうして、ペブル1と2aが取るステップの総数は一定のままである。特に、ペブル2aは最初に(n/s)/2ステップを取らねばならず、次には(n/s)/2+1ステップを取り、等々、間隔の最後の値が出力である時の3(n/s)/2ステップまでらねばならない、これは最悪の場合の費用を
Figure 2005525731
まで低減する。
ステップの総数、したがって、出力値当りの平均費用は、この余分のペブルを付加するとともに増大しないことに注意されたい。その理由は余分のペブルが余分の仕事をせず、っそれよりも仕事を僅かに先に行うからである。したがって、長さが1000000のハッシュチェーンでは、最悪の場合の費用は1500であり、平均の場合の費用は出力値当り1000である。
このやり方はより多くのペブルに拡張される。4ペブルでの解決を取ったとして、ペブル2と3のそれぞれの適切な位置に前もって動くペブル2aと3aを加えると、最悪の場合の費用は
Figure 2005525731
まで減少する。長さが1000000のチェーンの例を再び取ると費用は200であり、一方平均費用は出力値当り150である。
したがって、一般に、2c−2ペブルでは、((c−1)・2)n[1/(c-1)]の平均費用で、かつ任意に与えられた出力値に対しては(c/2)n[1/(c-1)]の最悪の場合費用で、ハッシュチェーンをトラバースできる。
また、この一般化は一定数のペブルに対してばかりでなく、例えば、c=1+log2 nに対しても考察できる。この場合には、2log2 nのペブルを用いて、我々のアルゴリズムはlog2 nの平均費用、および1+log2 nの最悪の場合の費用で、ハッシュチェーンをトラバースする。
最適な解決:
以下に、任意の数cが与えれた場合に、おそらく最適な総(そして出力値当りの平均)計算費用を持つアルゴリズムを得る方法について説明する。しかし、cの小さい値に対しては、このおそらく最適な解決は、上記解決と比較してステップの数を僅かだけ減少することに注意されたい。
c個のペブルを持っているとする。xnを保存せねばならず、それは1ペブルを占める。その後で、xnに対してHをn−k回施すことにより、もう1つのペブルがxkへ動かされる(あるkについては下で決定する)。その後で、x0,x1,...,xkを順に出力するためにc−1のペブルについて最適な解決法を繰り返し使用する。これはより短いチェーン、長さkのもの、をトラバースすることになることに注意されたい。その理由は値xkが保存されているからである。こうすると最初のk個の値が既にトラバースされているので、より短いチェーン、長さn−kのもの、をトラバースすることに再びなる。
ここでF(0,n)を、所与の任意の時刻にcより多くないペブルを保存しているあいだに、長さがnのハッシュチェーンをトラバースすために必要なステップの数と定義する。明らかに、いかなるc≧1に対してもF(0,n)=0、いかなるnに対してもF(0,n)= である。そうすると、我々の上の方法では、F(k,n)=minkF(c−1,k)+F(c,n−k−1)+n−kでkはF(c,n)を最小にするために選択せねばならない。
特定のcとnについて最適点kを見出すために再最小化での簡単な繰り返し事である(またの名をダイナミック・プログラミングともいう)。このタスクを行うCコードを我々は提供する。そのような最適点は前もって容易に見出すことができ、その後でハッシュトラバース・コードに統合される。
任意のメモリ量に対する最適な解決法の我々の実現:
Figure 2005525731
Figure 2005525731
Figure 2005525731
専用鍵安全物理アクセス(ケルベロス(KERBEROS)状設定におけるリアルタイム証明書):
一般に、このシナリオは多数のドアと多数のユーザを含むことがある。さらに、アクセスは多数の権限者により管理できることがある(各権限者はいくつかのドアのアクセスを管理し、種々の権限者に対するドアセットはおそらく重なり合う)。最も一般的なレベルでは、アクセスはユーザがドアに証明書を提示することにより管理される(そのような証明書の検証は、PINなどの、ユーザとドアの間の対話と、ドアとユーザらどの間のメッセージ交換を要求することがある)。ドアの場合には、最低の費用で、かつドアをネットワークまたはいかなる特定のサーバへも接続することなく、アクセスのセキュリティを支えることが特に重要である。
1つの重要な観察は、使用する証明書がどのようなものであっても、我々のRTC技術により重要なセキュリティの利益、下部構造の利益および費用の利益を得ることができる。RTCは公開鍵暗号化法(証明書、公開鍵署名、PKI)および専用鍵暗号化ツール(対称的または専用鍵署名および暗号化、ケルベロス‐類似システム、等)と共に利用できる。
公開鍵技術を使用する切り離されて領域ドアのアクセス管理が求められてきた。ここでは専用鍵技術にそれらの技術をどのように適用するかについて説明する。
基本原理:
暗号化、署名、疑似ランダム関数:
特に、専用鍵暗号化、専用鍵署名(またの名をMACともいう),専用鍵ランダム関数は我々が使用するであろう典型的な専用鍵原理である。我々の目的の多くでは、それらの原理は互換的に使用できる。例えば、決定論敵専用鍵技術(秘密署名鍵SKを共用している2つのエンティティの間の)と、ランダム関数Fs(それの種sが2つのエンティティの間で共用される)は同等であると実際に考えられる。両方とも、対応する入力を知るかもしれないが、SKやsは知らない、第三者が予測できない出力を生ずる。例えば、秘密鍵SKを有するxのデジタル署名を戻す関数FSK(x)は、実際に、種SKを持つ十分に良い疑似ランダム関数であると考えることができる。他方、入力xで種がsである疑似ランダム関数Fのxに値を戻す関数Fs(x)は、秘密鍵sを持つ専用鍵署名アルゴリズムと考えることができる。
一方向および一方向ハッシュ関数:
我々は別の基本原理も使用する。それは一方向関数Fおよび一方向ハッシュ関数Hである。要するに、関数Fは、(1)入力Xが与えられると、F(X)を効率的に計算でき、(2)F(X)、十分に予測できないようにXは十分無作為に選択されていることが好ましい、が与えられると、Xを計算することは実際には不可能である(例えば、Xに対してあまりに多すぎる値は原則として試行統べきであり、可能な候補の数を少なくする効率的な方法は存しない)。関数Hはそれが一方向であるならば一方向ハッシュ関数であり(もっとも、より長い入力をより短い入力にマッピングすること、または任意に長い入力を‐例えば、160ビット入力、にマッピングすることが好ましい)、H(X)=H(Y)であるような2つの異なる入力XとYを見付けることは困難である。
実際に、他の原理を構築するために我々は一方向ハッシュ関数Hを使用できる。例えば、専用鍵署名を下記のような簡単なやり方で構成できる。メッセージMを秘密鍵SKで署名するために、H(SK,M)を計算する、すなわち、SKとMを適切に組合わせ−例えば、それらを連結する−その後で結果をハッシュする。もちろん、署名して日付Mを記入するために、日dをこの組合わせに付加して代わりにH(SK,M,d)を計算する、同様に、疑似ランダム関数を次のようにして構成できる。xを入力して種がsの疑似ランダム関数Fの出力を生じ、H(s,x)を計算できる。すなわち、sとxを適切に組合わせ、その後でその結果に一方向ハッシュ関数を適用する。
セキュアな物理アクセス:
我々は専用鍵設定によって導入された新規な面そのものに的を絞り、新たなシナリオに当然適用できるそれらの共通の面(例えば、毎日の/定期的な計算の面等)は飛ばす。
単一の機構:
Dをドア(前記メカニズムを持つ)とし、AをDへのアクセスを管理することを望む機関、Uをユーザ(おそらくAのために働いている)とする。そのユーザは適切な識別子、等が記録されているカード、CU、を再び持つ。そうするとAは秘密鍵SKをDと共有することによりDに対するアクセスを管理できる。Aがd日(時間間隔d)にUがDにアクセスすることを許可したいと望むと、それは証明PUDdを計算する。A以外の誰も(およびおそらくD)にとっても計算することは困難であるが、Dにとっては検証することは容易である。専用鍵暗号化および専用鍵署名を用いてこれをどのようにして行うことができるかを見ることにする。
専用鍵暗号化解決策(身元の可能な限りの証明で):
例えば、DESなどのある設定されている専用鍵暗号化アルゴリズムに従って専用暗号化鍵SKで、PUDdをUおよびdを、Dもおそらく同様、指定するメッセージの暗号化、EUDd、にできる。UのカードからEUDdを受けると、Dは鍵SKでそれを解読し、その結果がUと現在の日(時間間隔)dを指定するものならば、ドアは開く。ドアはそれ自身の時間が時間間隔dに入っているかどうかを判定するためにそれ自身のクロックを使用できる。
ここで、他の場合と同様に、UはユーザとUの適切な識別子を示すことを意図されている。ユーザUが彼に関連するカードを(なるべく安全に)所有しているならば、Uはそのようなカードまたはそれの適切な識別子とすることができる。後者の場合には、例えば、ドアのカード読取器はカードからUを得ることができ、またEUDdも得ることができ、その後で鍵SKでEUDdを解読して解読されたUをカードにより提供された反れと比較して、それらが同一であることを確かめる。
EUDdはユーザUが時間間隔dでドアを通ることを許可されていることをドアDに証明するが、これはそれがユーザUを確かに相手にしていることはDに証明するものではないことに注目されたい。このように、Uが彼が間違いなく彼である事をドアに証明するやり方でこの基本技術を向上できる。これは各種のやり方で実行できる。特に、権限機関AはEUDdをUのカードにのみ提供でき、Uのカードにはキーパッドが設けられ、正しいPINがそれのキーパッドに入力された場合にのみEUDdをドアDへ転送できる(そして、誤ったPINが所与の回数以上入力されたならば、カードは自己破壊でき、またはそれの関連する揮発メモリ内容を消去する)。このようにして、ドアがEUDdを受けると、ドアはUのカードから受けていることを知り(AはRUDdをUのカードへ転送するのみであるので)、かつ、UのPINがそれのキーパッドで入力されていなければUのカードは機能しないか、EUDdをDへ転送しないので、「カードの背後のユーザ」がUに間違いないことを知る(盗んだUのカードを持つ悪意のユーザではなくて)。Uが彼が本人であることをDに証明する第2のやり方は、Uが彼自身のPINをDに直接提供することより成る。例えば、ドアDにはそれ自信のキーパッドを設けることができ、Uはそれを使用して彼自身のPIN、PINuを入力する。ドアはPINuをUにマップする内部的な手段(例えば、表)を持つことがあり、したがって、ドアがたしかにUを相手にしていることを理解できる。しかし、システムに多数のドアがあるならば、各ドアに表を提供したり、その表を更新する(例えば、新たなユーザがシステムに加わるために)ことは実際的でないことがある。したがって、Uの識別子を直接にPINuとすることが好ましいことがある。例えば、EUDdがEPINuDdのこともある。ユーザUがドアに接近すると、彼はPINuをDのキーパッドに入力し、彼のカードがEPINuDdをドアへ転送する。その後でドアは入力されたPINがEPINuDdで指定されているものに等しいかどうかを調べこの場合には正しいユーザを相手にしており、この同じユーザは何等かのPIN‐ユーザ表を使用することなくドアDを通ることをAにより許可される。たしかに、キーパッドはPINuを知っているユーザがDの前にいることをそれに知らせ、EPINuDdはPINuを知っているユーザがDを通ることを現在許可されていることをそれに知らせる。第3のやり方では、EUDdに直接現れるよりも、ユーザPINをEUDdに安全に結合できる。例えば、AはEUDdを、PINuから再構成できる(例えば、k=H(PINu)またはK=(PINu,d)あるいはK=(D,PINu,d)等)鍵PINuまたは鍵Kで暗号化されているUのカードに与えることができる。この場合には、ドアDはPINが時間間隔dに対するユーザの許可に安全に結び付けられていることを調べる。例えば、それはEUDdを解読するためにPINuを使用し、EUDdが適切な許可であることを、それが権限機関Aと共用している鍵SKを用いて調べる。
応答側(responder)を使用する:
しかし、AはEUDdをUのカードへどのようにして容易かつ安全に転送できるのであろうか。おれらは装置(サーバ端末またはコンピュータ端末/サーバにリンクできるカード読取器)である。それらの応答側は金庫したり保護したりする必要はない。そのような保護はシステムに多額の費用を負わせたり、非常に不便であるので、応答側を安全にすること無くシステムが安全に動作できるようにすることが重要である。理想的には、権限機関Aが一連の日のうちの毎日dに更新を行う。各日は時間間隔(例えば、日)を指定することが好ましい。例えば、dは日dまたは日dの始まりとすることができる。dの更新中は、AはどのユーザUにドアDにアクセスする/ドアを通る許可を与えるかを判定し、この事実をDにより検証できる証明を計算する。例えば、暗号化を基にした共用鍵システムでは、この証明は上記列EUDdとすっることができ、AがEUDdを計算するために使用した鍵SKをAがDと共用するので、検証できる。その後でそれらの証明の全ては応答側へ送られる。それらの応答側は都合の良い場所に配置することが好ましい。例えば、空港のシステムでは、応答側は空港の主出入り口に配置できる。その後で(例えば、作業に着いた時)ユーザUはドアDを通る彼自身の許可を応答側から取り出す。EUDdを受けるためにUのカードはそれ自身を応答側に対して認証できることが好ましい。これは非常に便利である。その理由は無線その他の費用のかかるシステムがないので、ユーザは、所与の日に彼が通る資格を与えられている全てのドアについての彼の毎日の許可を正面入口(それを通って彼がともかく入る)から得て、彼自身のカードをカード読取器に挿入することに似た従来の機構を使用する(彼が仕事のために現れたことを証明するため)。その後では、彼は空港の周囲を自由に歩き回ることができ、彼が通る資格を与えれている全ての保護されているドアDを、彼が得た許可EUDdを用いて容易に通ることができる。しかし、このように便利名個とと、応答側が安全でないことが好ましいという事実のために、悪意を持つユーザも正直なユーザの許可を得ることがある。したがって、(1)応答側を安全にすることなしにこれが起きることを阻止することと、(2)正直なユーザに対する許可を他の誰もが使用できないようにすること、のうちの少なくとも一方を置こう会うことが必要である。後者の場合には、すでに述べたように、ユーザがPINをドアにも入れることにより十分に強制できる。これはカードにより出された許可に確実に結び付けることが好ましい。このようにして、Uの許可EUDdを応答側から得る悪意を持つユーザVは、UのPINを知らないために、ドアのところでUに扮することはできない。前者の保護は権限機関Aに、応答側許可EUDdのカードのCUの内部の、Aに知られている鍵SKCUを暗号化した後で、EUDdを送らせる事により強制される。このゆにして、AはUのカードのみにより許可EUDdに変えられる暗号化された許可EUDd’を応答側に本質的に送って、悪意を持つVがその日の誰か他の許可をダウンロードすることを無用にする。Vが欲する彼自身のカードをなんとか製作したとしても、VはSKCUを依然として知らない。
Aが秘密鍵SKDをドアDと共用すること、および秘密鍵SKUをユーザUと共用することがさらに可能である。そうするとPUDdを、ユーザUの指示、ドアDの指示、および日dの指示およびあるランダムな秘密k、秘密鍵SKDで(Aにより)全て暗号化されている、とより成る値EUDdkとすることができる。(この場合には、UはEUDdkを解読できないことに注意されたい。)また、UはEk、すなわち、SKUで暗号化されたk、を受ける。(DとdはUに知られているかも知れず、または、例えば、主ドアにおいて同じ応答者により、Uへ知らせることができる。)こうすると、UはSKUを知るのでUは秘密鍵を同様に得る。ドアDに入るために、カードUはEUDdkをDへ送る。Dはランダムな値qで応答し、その後でカードUはEq、すなわち、秘密鍵を用いて暗号化されたq、を送る。ドアDはEqを解読し、同じqが使用されたこと、およびUがEUDdkで指定されたものと同じであること、および日dが現在であることを検証し、全ての検査が確認されたならUを通させる。この機構は上記PIN機構を包含でき、それを一層安全にする。kを基にした別の問い掛け‐応答法も可能である。(特に、DはEqの計算と送りおよび正しい解読qを繰り返すことをUに尋ねることができる。)そのような機構は攻撃者がカードとドアの間の通信を傍受したとしても安全である。
しかし、ドアにおいてユーザが入力したPINを見る敵は、Uのカードが内部にEUDdを有するならば少なくとも間隔dの間中、Uのカードを盗んだ後でUを装う。その後で、Uが自分のカードが盗まれたことを報告すると、AはEUDdがUのカードで利用できるようにはもはやしない。
専用鍵(private-key)署名解決策:
例えば、PUDdは、AとDが知っている専用鍵SKで、ある定められた専用鍵署名アルゴリズムに従ってUとd(およびおそらくDも)を指定するメッセージの専用鍵ぎデジタル署名とすることができる。特に、Hを一方向ハッシュ関数であるとすると、PUDd=H(SK,U,d)である。Uをカードから受けると、ドアの読取器はUをそれ自身の専用鍵SKでUとdを署名でき、この計算の結果が、カードから得られた列PUDdと合致するかどうか比較する。クロックを備えているドア読取器はどれが現在の日dであるかを知ることができ、したがって、それをカードから受ける必要はないことに注意されたい。これはAがある時に1日中アクセスを許可する限り機能する。さもなければ、カードはd(または選択された時間間隔)を読取器へまた送り、その後で読取器は得たUとdをSKでデジタル署名し、その結果がPUDdと確かに等しいことを調べ、その後で現在の時刻(ドアのクロックによる)がd内であることを調べる。もしそうであればそれは開く。
またUはPINをトランザクションの一部として入れることを尋ねられる。その場合には、PINはUの一部として使用することもできる。例えば、UはuとPINで構成できる。ここにuはユーザを特定する列、PINはユーザが知っているパスワードである。その場合には、カードはドア読取器へuと、PUDd(およびおそらくDまたはdと付加量)を転送し、ユーザはPINを読取器の結合されているドア制御器へ、または読取器自体に入力し、その後で読取器はU=(uPIN)を再構成し、その後でUdをSKで署名してPUDdが得られたかどうかを検査する。また、dがカードで供給されたとすると、現在の時刻がd以内であることも調べる。この方法はユーザと彼のカードをより緊密に結合するので、カードを盗む敵は適切なPINなしでそれを使用するには長い時間を要する。
もちろん、ドアの集合に同じSKを使用することができ、その場合にはそれらのドアのうちの1つをアクセスすることをUに許可することにより、Aは全てのドアにアクセスすることを彼に自動的に許可する。アクセス粗さを最大にするために、各ドアDに秘密鍵SKDを持たせることができる。
2つの手法を組合わせる:
2つの手法を組合わせる例として、Uはd日のための秘密鍵SKUdをAから受ける(例えば、上記機構を用いて、特に暗号化を利用する)。その後で彼は秘密鍵署名を用いて彼が本人であることと、彼の許可とのうちの少なくとも一方をドアDに「証明」できる。すなわち、ドアDはカードUにランダムなメッセージを送る。それに応答してカードUはmの署名、H(m,SKUd)、を送る。この署名の計算はPINuを要することがあることに注目されたい。その後でドアDはその署名を検証する。これはドアDがSKUd(例えば、Aからそれを直接受け、またはなにか他の情報、例えば、H(SKU,d,U)、等から計算する)を知ることを要する。あるいは、AはDと共用している鍵AでSKUdを暗号化してESKUdを得る。その後でESKUdはUに与えることができ(例えば、上記のようにして)、その後でUはそれを署名と一緒にDへ送ることができる。
多数の機構(組織):
これまで説明してきたように、どのユーザUが所与の時間間隔d内でDをアクセスできるかを管理するためには、機構/権限機関Aが秘密鍵SKDをドアと共用することで十分である。このプロセスは、多数の機構A、B、C、...がドアDまたはドアの集合D1、D2、D3、...へのアクセスを行えるように拡張できる。各機構Xは秘密鍵SKXDをドアDと共用し、その後で上記解決策で使用する。例えば、各機構XはSKXDを選択して、それをDの読取器に差し込むことができる。各機構Xは1つまたは複数の被用者/雇われている作業員/請負人/下請け業者の集団をドアからドアへ送らねばならないことがある。しかし多数のドアがある施設でそれを行うことは実際的ではないか無駄である。というのは他の施設が既にそれを行っているかもしれないからである。また、多数の権限機関が存在するか、存在するであろうとすると、読取器はそれらの鍵の全てを保存することが困難なことがある。また、適切な予防措置を講ずるべきである。さもないと、敵が彼自身の秘密鍵をドアの読取器に差し込むことを何者も阻止できず、その後でそれを知ると、彼自身または彼の同伴者がそのドアにアクセスすることを許可する上記方法のいずれかを使用できる。それらの理由から、我々は下記の解決策へ進む。同じ方法を単一の解決策にも同様に適用できることに注意されたい。
第1の解決策:
これまで説明してきたように、ユーザまたはユーザのカードが所与の時間間隔の間秘密鍵を共用しているとすると、彼は安全なドアを通ることができる。したがって、あるやり方でユーザとドアはセッション鍵を共用する。ケルベロス(Kerberos)およびニードハム−シュレーダー(Needham-Schroeder)プロトコルは、エンティティ対が秘密セッション鍵を共用し、全体のシステム内でここに適用できる。しかし、それらのプロトコルはオンラインの鍵配布センターを基にしており、共用されているセッション鍵を必要とする時は常に接触せねばならない。したがって、追加のより便利な方法へ進みたい。まず、ケルベロスおよびニードハム−シュレーダーを基にしたシステムを実現するためにでも、鍵をドアに配布するための中央権限機関のための方法を必要とする(それは鍵を他の権限機関に配布することより困難なことがある)。
鍵をドア読取器に安全に配布するために特殊な権限機関SAを考える(例えば、空港における空港当局者)。SAはそれを行う実体であることが好ましい。例えば、ドア読取器は内部に秘密鍵を有しないと信じられ、最初の秘密鍵群(おそらく単一の鍵の集合)がひとたび挿入されると、読取器はそれを長時間保存し、将来の保存のために他の鍵は受けない。こうすると、いずれかの鍵をドア読取器に挿入する(設置の前、最中、またはすぐ後)最初の鍵により、SAは他の誰も秘密鍵をドアに挿入できないようにする。あるいは、他の秘密鍵をドア読取器に保存するために管理PINまたは鍵が必要とされる。ドア読取器は管理PINまたは鍵なしで提供され、最初の管理PINまたは鍵(または恐らくそれらの集団)が挿入され、その後で読取器はそれを長時間保存し、将来は他の管理PINまたは鍵を受けない。しかし、正しい管理PIN/鍵が入力されるとすると、どの新しい鍵も読取器に挿入および保存ができる。このようにして、いずれかの管理PIN/鍵をドア読取器に挿入する(設置の前、最中、またはすぐ後)最初の鍵により、SAは他の誰も秘密鍵をドアに挿入できないようにする。
この点でSAはドアDの読取器の全ての秘密鍵、例えば、SKAD、SKBD、SKCD、等を知る、ケルベロスを実施するよりも、SAがSKADを権限機関Aに今与え、SKBDを権限機関Bに今与える、等がより簡単であるかもしれない。この点で、権限機関A/B/...は、秘密鍵暗号化法または秘密鍵署名法によってDへのユーザUのアクセスを管理できる。それらの権限機関は種々のドア群を独立に操作できることに注目されたい。例えば、
1.ドアD1がそれの読取器内部に秘密鍵SKXD1を持ち、SAがSKXD1を権限機関Xに与えること、
2.ドアD2がそれの読取器内部に秘密鍵SKXD2を持ち、SAがSKYD2を権限機関Yに与えること、
3.SAはドアD1の鍵をYに与えず、ドアD2の鍵をXに与えない。
その後で、権限機関XはドアD1へのアクセスを管理でき、権限機関YはドアD2へのアクセスを完全に独立したやり方で管理できる。
より良い解決法:
しかし利用できる上記諸特徴であっても、上記したものなどのシステムをいくつかの重要な面で改良できる。すなわち、
鍵保存サイズ:ドア読取器は異なるそれを管理する各機構ごとに種々の鍵を保存することが好ましいが、これは読取器が安全に保存せねばならない鍵の数を増大する。
新たな管理を付加する:新しい権限機関または新しいドアがシステムに導入されると、新しい管理の問題が起きることがある。ドアDが機構Xのための鍵を保存せず、かつ後でXがドアを再び管理することが望ましいとすると、SAはXのための鍵をDの読取器に入力せねばならない。例えば、新しい鍵が出ると、SAは新しい機構により管理すべきあらゆるドアDにSKXDを挿入するために、作業員のチームを派遣せねばならない。しかし、そのような物理的な「派遣」は不便なことがある。それらを避けるために、SAは付加鍵をドアDの読取器に予め組み込み、その後でそれらを新たに生じた新しい機構に結び付け、またはDへのアクセスを後で管理せねばならない機構に結び付ける。しかし、このやり方は最初のビュレットで説明した点を悪化するのみである。さらに、既存のある権限機関により管理すべき新しいドアが導入されるとすると、SAは新しい鍵をドア読取器に挿入し、その後で、適切な秘密鍵をそのドアを管理せねばならない既存の権限機関に供給せねばならない。実行可能ではあるが、常に秘密鍵を供給することは問題である。
管理を取り戻す:秘密鍵SKXDがドアDにひとたび保存されてそれが機構Xに知られると、ある点でDに対する管理を異なる権限機関のみに与えねばならないとしても、XはDのアクセスの管理を続行する。これを避けるために、SAは再び物理的な派遣を行い、SKXDをドアDから除去せねばならない(例えば、管理PIN/鍵メカニズムにより)。
ここでそれらの付加改良をどのようにして行うかについて説明する。
基本システムの概観:
最初に、ドア当り1つの鍵で機能するシステムを取り扱うことができる。例えば、SAは1つの鍵をドアDに保存する(もちろんこの情報を失わないようにする)。その鍵はDの識別子とSAにのみ知られている秘密種sとからSAにより決定論的に潜在的に計算でき、例えば、SKD=H(d,D)、である。その後でSAは、SKDとXから、例えば、Xで計算された種SKDを持つ疑似ランダム関数として、決定論的に選択された鍵SKXDを権限Xに与えることにより、Dに対する管理をXに与える(簡単にするために、エンティティがそれの適切な識別子と合致すると全体を通じて仮定する)。特に、我々はSKXD=H(SKD,X)を持つことができる。その後で前と同様に、権限機関XはSKXDを用いて、ユーザUにDをある時間間隔d(例えば、日)の間Dをアクセスすることを許可する。特に、SKXDを専用鍵署名技術の署名鍵として使用することにより、例えば、SKXDUd=H(SKXD,U,d)を計算し、その後でSKXDUdをUのカードに保存させることにより。UのカードがDの読取器と通信すると、カードは(a)Xと(b)SKXDUd、およびd(およびユーザUについての情報)などのおそらく他の情報を読取器に与える。この情報を受けると、読取器はH(SKD,X)を計算し、その後で結果を(SKXDに等しいといわれる)同じ専用鍵技術および署名(U,d)の署名鍵として使用する‐上記例ではそれをSKXDに組合わせた後で(U,d)をハッシングすることにより。結果がカードにより与えられた値(SKXDUdといわれる)と合致すると、時間間隔が読取器クロックに対して正しければ(かつUが正しいPINを入れ、PINが上記システム内で適切に使用されるならば)、ドアは開く。
鍵保存、管理を加える:
このドア当り単一鍵システムは鍵保存の要求を最小にするばかりでなく、管理を加えるという問題を極めて簡単にする。権限機関Xが最初にドアDを管理することが必要になった時はいつでも、SAはDに物理的に到達する必要はなく、新しいD‐X鍵をDの読取器に挿入する(またはXの挿入を容易にする)。むしろ、DがSAの知っている鍵SKDを持っているとすると、SAはD‐X鍵をSKDから単に計算し(例えば、SKXD=H(SKD,X))、そのD‐X鍵をXに与える。
管理を取り戻す:
各ドアDと、時間間隔(例えば、日)d’の間Dを管理する資格を与えられている権限機関Xについて、SAはこの事実のそれの署名を計算して使用できるようにする。例えば、この証明書は、SAがドアDと共用する鍵SKDに対する専用鍵署名とすることができる。特に、この署名は値H(SKD,valid,X,d’)とすることができる。専用鍵署名であるとしても、署名自体は案ずることなく公開できることに注意されたい。たしかに、上記の専用鍵署名のHを基にした実現は、Hが安全な一方向ハッシュ関数であるとすると、H(SKD,valid,X,d’)からSKDを計算することは非常に困難である。したがって、ユーザUが彼のカードでその日の正しいドア管理許可を取り出すと、彼はドアDのためにSKXDUdばかりでなくH(SKD,valid,X,d’)も取り出す。ドアDの読取器はその後でSKXDUdを前のように検証し、SKD、有効、Xおよびd,を一緒にハッシングすることにより間隔d,の間Dに対する管理をXが確かに行うことをさらに確認し、カードにより保持されている同じ値が得られるかを調べ、それのクロックに従って現在の時刻がd,内であるかを調べる。実際に、SA(およびD)のみが秘密署名鍵SKDを知り、権限機関XがH(SKD,X)を知るが、H(SKD,X)とH(SKD,valid,X,d’)からSKDを計算することは非常に困難である。時間間隔dとd,は同じではないことがあることに注意されたい。例えば、週ごとにDを管理する許可をXに与えるためにSAを満足させることができるが、Xは毎日Dに対するアクセスの許可をユーザに与えることができることに注意されたい。あるいは、このシステムは上記のようなSKXDの使用の代わりにその鍵の時間に依存するもの、例えば、SKXDd=H(SKD,X,d)を使用できる。そうするとSAは、時間期間dより前に、SKXDdを各権限機関Xに供給せねばならない。管理を取り戻すために、SAはXのドアDに対する管理を否認することを決定する期間の間、SAはSKXDdを送ることを単に停止する。
また、このシステムは隠しておきたいある私的なことを現在許しており、SAはどのユーザUがDにアクセスすることをXにより許されているかや、それの数は知る必要はないことに注意されたい。このやり方は、(例えば、知らせたり、ケルベロスシステムを用いることにより)もちろんこの私的なことを除くことができる。
例14:
ここで、スーパー権限機関SAと、多数の(なるべく切り離されている)ドアDと、多数の機構Xと、多数のユーザUとを取り扱うシステムにおいて安全な物理アクセスを行う我々の好適な実現の概略を説明する。この好適な実施形態は鍵の保存を最小にして、機構XがドアDの管理を付加したり、取り戻すことを非常に容易にする。
好適な実施形態では、SAは機構XがドアDを所与の時間間隔の間管理することを許可する。その時間間隔中は。X自体はユーザUにドアDへのアクセスを許すことができる。
一連の時間間隔に対応する一連の日dの各日にSA(およびおそらく他の関与するもの)が動作を起こすと考える。例えば、dを所与の日の初めとし、対応する時間間隔を所与の日とすることができる。簡単にするために、日と対応する時間間隔を意味するためにdを使用することがある。(しかし、これは限定するものではないことを理解すべきである。例えば、ある日付を所与の日とすることができ、その日付に対応する時間間隔は続く日とすることができる。)具体的には、限定する意図無しに、各日付/時間間隔は日であると仮定する。
専用鍵デジタル署名を用いる好適な実施形態について説明する。これはいかなる限定も意図しない。好適な実施形態は上で説明した他のいかなる専用鍵システムでも実現できるものと考えるべきである。より具体的には、専用鍵署名は一方向ハッシュ関数Hを用いて実現されるものと仮定する。これは限定することを意図しない。H(SK,DATA)はDATAの鍵SKでのデジタル署名であると常に考えるべきである。
SAは秘密鍵SKDをドアDと共用していると仮定する。SAは秘密鍵SKDを機構Xとも共用することがある。(SKDはAにより主秘密鍵SKを介して生ずることができる。SKXに対しても同様である。例えば、SKDはH(SK,D)に等しくでき、SKXはH(SK,X)に等しくできる。そうするとSAはSKDをDに私的に‐または暗号化により‐与えることができる。Xに対しても同様である。)
各d日に、SAがドアDをアクセスする許可を機構Xに与えることを望んだとすると、それは計算して秘密鍵SKXDd、すなわち、X、D、およびDにより検証できる(例えば、入力Xとdで)日dに確実に結び付けられている鍵、をXに受けさせる。
例えば、SKXDd=H(SKD,X,d)、すなわち、SAが鍵SKDでX、dに署名する。その後でSAはXにSKXDdを受けさせる。SAは、好ましくは、Xと共用している秘密鍵SKXでSKXDdを暗号化した後で、SKXDdをXへ送ることによりXにSKXDdを受けさせることがある。さらに好ましくは、SAは、XにSKXDdを応答者に保存させることにより、そのように暗号化されたSKXDdをXへ送る。その後でXは応答者からそれをダウンロードする。
d日内の時間間隔tに、UがドアDをアクセスする許可をUに与えることを望んだとすると、Xは計算して秘密鍵SKXDdUt、すなわち、X、D、UおよびDにより検証できるtに確実に結び付けられている鍵、をUに受けさせる。
例えば、SKXDdUt=H(SKXDd,U,t)、すなわち、Xが鍵SKxDdUtでU、tに署名する。その後でXはUにSKXDdUtを受けさせる。Xは、好ましくは、Uと共用している秘密鍵SKUでSKXDdUtを暗号化した後で、SKXDdUtをXへ送ることによりUにSKXDdUtを受けさせることがある。さらに好ましくは、Xは、XにSKXDdUtを応答者に保存させることにより、そのように暗号化されたSKXDdをUへ送る。その後でUは応答者からそれをダウンロードする。
Uが時間間隔tでDをアクセスすることを望んだとすると、UはDにX、U。tを受けさせる(例えば、UのカードがDの読取器へ転送する)。
Dがd日にX、U、tを受けたとすると、それはそれの秘密鍵SKDからSKXDdUtを計算する。その後でDは時間間隔tが確かにd日内であることを検証し、それ自身のクロックを用いて現在の時刻が確かに時間間隔t内であることを検証する。さらに、鍵SKXDdUtを用いる問い掛け‐応答メカニズムによりそれがU/Uのカードを取り扱っていることを検証する。それらの検証に合格すればDは開く。
例えば、DはH(SKD,X,d)を計算することによりSKXDdをそれの秘密鍵SKDから計算でき、その後でH(SKXDd,U,t)を計算することによりSKXDdUtをそれの秘密鍵SKDdから計算できる。例えば、SKXDdUtを用いる鍵問い掛け‐応答メカニズムはDがランダムな列qを送り、鍵SKXDdUtによるqの暗号化、または鍵SKXDdUtによるqのデジタル署名を受け戻す。あるいは、DはEqと鍵SKXDdUtによるqの暗号化を送ることができ、qを受け戻ねばならない。
この好適な技術は上記とともにPINを使用することを含むことを理解すべきであることに注意されたい。特に、前の節で述べたPINはこの好適な実施形態で使用できる。この好適なシステムはdとtを異ならせることができるという点で大きな融通性をもたらすことに注意されたい。例えば、SAはXがDを1週間dの間中管理できるようにし、XはUがドアDを1週間dのうちのt日アクセスできるようにすることができる。しかし、d=tのことがあり、その場合にはこの好適なシステムではtを指定したり、別々に使用する必要はない。
ケルベロスの手法:
ケルベロスの手法を直接用いることは我々の安全アクセス用途では非常に良くは機能しない。全てのドアとSAを1つの部門として実現することが最も自然である(その部門ではSAを入場券交付サービス、TGS、として機能する)。そうすると各機構およびその被用者は別々の部門である。そうなると各機構の権限機関はその部門に対する認証サービス、AS、(およびおそらくそれ自身のTGS)として機能する。ケルベロスのプロトコルに従って、各ユーザは、入場券交付券、TGT、を得るそれぞれの権限機関/ASに対して認証する。このチケット(券)TGTはその後で、ユーザがアクセスする資格を与えられている各ドアに対するサービス提供券に対する要求と一緒に、ユーザによりSA/TGSへ送られる。そうするとSA/TGSはユーザの資格を検証せねばならず、かつもしユーザが‐全てが正しければ‐それらのサービス提供券を提供するならば。このプロトコルは明らかに全く困難であり、SAに負担の多くを掛ける。特に、特定のユーザにどのドアをアクセスする資格が与えられているかを検証することと、それぞれのチケットを発行することはSAの責任である。さらに、SAがオンラインであることと、リアルタイムでプロトコルを使用することをこの手法は求めている。SAへのユーザチャネルを有することは安全に対する脅威をさらに増大する。
プロトコル無しのケルベロスチケット
原則として、我々はケルベロスプロトコルを「放棄」でき、チケットを使用するのみである。すなわち、全てのチケットは先に予め注文して前もって計算され、ユーザは、適切なケルベロスプロトコルの関与無しに、主ドアに入る際にそれらのチケットを受け取る。
しかし、上記問題の多くはそのまま残る‐特に、SAがあるドアの管理を特定の権限機関に委任することは自然である(しかし、この管理が容易に取り戻せ、おそらく後の点で元に回復されるようにして)。
ケルベロス内でRTCを利用すること
この問題の対処を支援する1つのやり方はリアルタイム証明書、RTC、を利用することである。例えば、上記のやり方のようにしてチケットを使用できる。しかし、このやり方では、チケットを毎日発行できないことがある。その代わりに、チケットの許可データフィールドに設けられているRTCを介して短期アクセス管理を取り扱う長期チケットを使用できる。
この場合にはRTCは公開鍵証明書の場合におけるのと全く同じように機能できる。しかし、ここでは同様にいくらかの最適化が可能である。
上記のようにしてRTCを利用するといくつかの可能な利益がもたらされる。それらには、
1.管理の容易さ:
a.今は、SAは比較的たまに関与せねばならない、
b.比較的大きなチケットの代わりに、ユーザははるかに小さいRTCを取り出す必要がある、
c.RTCの発生は対応する権限機関委任できる、
d.管理の取り戻しが容易である。これは少なくともふたとおりのやり方で行うことができる。第1に、一層簡単かつ不完全である‐チケットは出た後でSAにより更新できないことがある。より精巧になったメカニズムは2種類のRTC、SAにより出されるものと、他の権限機関により出されるもの、を利用する。そうすると各日にSAは各権限機関ごとに1つのRTCを出す必要がある。それはそのままである(あるいは、各権限機関‐ドア対ごとにRTCを出さねばならないかもしれない、この場合にはRTCはドアを開く資格を与えられている)。各権限機関は各ユーザごとに、RTCをまた出す(あるいは、ユーザ‐ドア対ごとに、この場合にはユーザはドアを開く資格を与えられている)。注意、より従来のケルベロス手法はより多くのチケットを発行して、オンライン・プロトコルで次々に回されることを求める、
e.RTCは役割をはっきり分けて、管理および下部構造の多くの面を容易にする。
2.効率:
a.スペース:RTCは対応するチケットよりはるかに小さい、
b.時間:それらははるかに短く(そしてそれらは少なく、全体の通信の数も少ない)ので、通信ははるかに速くて、RTCを妥当なペースでピックアップしている間にユーザはドアを通ることができるようにされる、
c.負荷分散:RTCは安全でない応答者により分配できる。RTCの応答は費用も少なく、危険でもない。
3.セキュリティ:
a.RTCはセキュリティに敏感でなく、ひとたびそれらが発生されると、セキュリティに対する何等の脅威もなしに極めて容易に管理できる(例えば、安全ににされていない応答者により)、
b.チケットと権限機関の分離(RTCによる)によって鍵管理のセキュリティが極めて高くなる(鍵/チケットが実際に発生されて通信された時)、
c.SA分離:SAはユーザのいずれに対しても直接の通信線を引く必要は実際に決してない。
ケルベロスを越えて:
上記メカニズムは核となるケルベロスの機能から得る利益はかなり少ないことが観察できる(この理由の大きなものは、ケルベロスが種々の用途のために構成されたためである)。したがって、ここではケルベロスに直接関連していない、RTCを基にしたメカニズムをどのようにして利用できるかをさぐることにする。それらのメカニズムは上記専用鍵暗号化メカニズムおよび専用鍵署名メカニズムに類似することがある。
それらのメカニズムでは、特殊な権限機関SAが秘密を各機構A(B,C,...)および各ドアDと共用する。これは、例えば、SAが単一の秘密sのみを保存する必要があるように上記方法を用いて行うことができる。そうするとSAとAの間で共用される秘密はSKD=Hash(s,A)である。同様に、SAとDの間で共用される秘密はSKD=Hash(s,D)である。AとDもただ1つの秘密、それぞれSKAまたはSKD、を保存する必要があることに注目されたい。また、各機構‐ドア対(A,D)に追加秘密SKAD=Hash(SHD,A)が対応する。この秘密はSKとDにより容易に計算できる。SKADをAに与えることは必要であるが、Aがドアへのアクセスを管理するにはおそらく十分ではない。また、Aは現在の時間期間dの間中はRTCをSAKから(または他のものから)受ける必要がないことがある。RTCAdと名付けられるこのRTCは秘密である必要はなく、AがSAに対して良い立場に依然としてあることを証明できる。
Aにより採用されて、ドアDに入る資格を与えられている各ユーザUは、その後で鍵SKAUD=Hash(SKAD,U)をAから受ける。SKAUDはいかなる付加秘密もなしにAとDにより容易に計算できる。SKAUDをUに与えることは必要なことかもしれないが、UがドアDを開くことができるためには多分十分ではない。また、Uは現在の時間期間dの間別のRTC、RTCADd、を必要とするかもしれない。
この手法は情報の流れを既に劇的に簡単にしていることに注目されたい。各時間期間dの間、SAは単一のRTCAdを各ユーザ‐ドア対へ送る。それらのRTCの全ては主ゲートに入る被用者によりピックアップできる。あるユーザUが施設内の100のドアを入る資格を与えられていると仮定すると、RTCAUDdの全てのドアは2KBより少なく要することがある。これは遅い(通常は、秒以下を要する)接続でも管理できる量である。
ドアDを開くために、ユーザUはRTCAdとRTCAUDdを提示することと、秘密SKAUDを基にして認証を行うことを必要とすることがある(その認証は秘密を保護するために問い掛け‐応答型とであることがある)。注意:このシステムでは比較的少数のRTCAd証明書が提示されがちであるので、それらの証明書のバリデーションはユーザごとに行う必要が無いことがある。その代わりに、他のユーザのバリデーションに使用するために、各ドアはそれが受ける各RTCAdをバリデートして、結果をキャッシュすることがある。
特殊な権限機関SAがドアに対する機構のアクセスをより細かく管理することを望むことがある。それを行うために、機構証明書RTCAdごとの代わりに、SAは各機構ドア対(A,D):RTCADdごとにRTCを出すことがある。そうすると毎日各機構によりSAに許可を与えて、各ドアに対する管理を取り戻すことが可能である。これは各ユーザが受ける必要があるRTCデータの量をせいぜい2倍にすることがあることに注意されたい(上記例について求められる遷移時間を秒以下に依然として保っている)。
集合RTC:
アクセス管理権は日ごとに劇的に変わることはしばしばはないことを観察できる。したがって、上記メカニズムのパワーの多くは利用されない。我々はRTC集合メカニズムを提案する。それはそのように比較的安定な環境において効率を一層高めるために利用できる。
例15:
例として、おのおの1000のドアをアクセスする100の機構の場合について考えることにする。したがって、100000の機構‐ドア対があり、そのためにSAが毎日発行して配布する100000のRTCADd証明書がある。さらに、各機構が約1000人の人を採用しているならば、これは100000000のRTCADd証明書を全ての機構が発行して配布することになる。
機構‐ユーザ‐ドアの三っ組AUD,sの全てを階層的に配列されている群に分割することにする。全てのAUD,sを平衡されている2進木の葉(好適なやり方で順序付けられている)に対応させる。そうすると木の各節は、nのサブ木の葉に対応するAUD,sの集合に対応する。そのような各節と時間期間dに対して、証明書RTCndも対応する。そうすると期間d中のAUD三っ組のバリディティを、AUDの先行するものnのいずれかにに対して、証明書RTCndのいずれかにより証明できる。d日にAUD三っ組が有効なままであるならば、単一の証明書RTCr,rは木の根、はシステム全体に対して十分である。
一般に、無効になる100のAUD三っ組があるならば、システム全体を証明するためには1500の証明書で十分である(すなわち、100000000の代わりに)。より一般的には、kの三っ組が無効であるならば、たかだかk(26−lg k)の証明書をシステム全体の証明のために必要とする。
この方法は、集合RTC,sがドアとユーザの少なくとも一方に保存すべき値をもっと多く要するとしても、劇的な改良が行われることがある。上記の例では、そのようなオーバヘッドは記憶装置においてせいぜい26の係数のオーバーヘッドとなる結果になることがあるが、通信量は何桁(上記例では4桁または5桁)も減少する。より一般的には、許可すべき全てのエンティティの集合(我々の例では、それはAUD三っ組)がN個の要素を含んでおり、それらのうちのkを除外すべきであるとすると、システム全体を証明書するためにはたかだかk(lgN−lg k)の証明書を必要とし、集合のためのオーバーヘッドはたかだかlgNのことがある。集合の一層効率的な表現が文献にある(例えば、上記はサブセットカバー法として知られているが、我々はサブセット‐差カバーとそれについての最近の結果のいくつかも用いることがある)。したがって、このような集合証明書のバリデーションは、例えば、少なくともより大きい集合のために結果をキャッシングすることにより、最適にできることがある。
RTC実装および最適化:
リアルタイム証明書のために多数の異なる実現が可能である。RTCのそれらの実現は多くの種々の最適化も行えるようにする。例えば、リアルタイム証明書を次のように実現することができる。x0をランダムな値、例えば、20バイト長さ、にする。xiをxi=Hash(xi)と定義する。xnを何等かのやり方で固定された(例えば、SAからドアDへ確実に伝えられる)公開値とする。そうすると、xn-dは時間期間dの間リアルタイム証明書RTCdである。それはHash()をxn-dにd回適用することにより検証でき、結果がxnに等しいことを検証する。これはほぼ、公開鍵証明書の場合にRTCがどのようにして実現できるかである‐例えば、証明書の一部としてxnを含むことができる。
これとほぼ同じ実現を使用することが可能である。証明書の内部にxnを含む代わりに、ここでは我々はそれをケルベロスチケットの一部として含むことができる。または、ドアDのための秘密鍵SKDで暗号化する、等などの、他の安全な方法でそれを通信できるかもしれない。
RTCdのその他の可能な実現はそれをHash(SKD,RTC,d)に等しく単にセットすることである。ここにRTCは証明書IDを指す。例えば、機構Aがd日にドアDの管理を行えるようにするために、証明書RTCADdが使用される。ここにRTCADdはRTCADd=Hash(SKAD,d)にセットできる。ユーザUがd日にドアDをアクセスするための、機構Aにより発行された証明書はRTCAUDd=Hash(SKAD,U,d)とすることができる。そのような方法によって証明書を特定の日付に対して十分前に予め発行できるようにし、しかも所望の時間期間外のいかなる日にもアクセスを許可することはない(それらが隣接していたとしても)。
上記証明書のバリデーションは直線的である。上記証明書は適切な鍵を持つほぼ対称的な署名であることに注意されたい。上記の全てにおいては、暗号化をHashの代わりに使用できる。
我々はシステムを構築し、各ステップで一層効率的であることに注意されたい。1000のドアと100の権限機関が設けられ、ほぼ10000人の労働者が働いている空港について考え、簡単にするために管理が毎日をベースとして行われると仮定する。そうすると中央権限機関が各ドア‐ユーザ鍵の計算に含まれているケルベロス/ニードハムーシュレーダーシステムは1日当り1億の秘密鍵に包含されるはずである。上で概略を述べたシステムは、1日に100000より少ない秘密鍵を発生して、それを全ての権限機関へ供給するためにSAを要する。
OCSPを超えるリアルタイム証明書:
ここで、デジタル証明書バリデーションのためのオープン証明書状態プロトコル(Open Certificate Status Protocol)(OCSP)を使用する環境内でのリアルタイム証明書バリデーションのために本発明の好適な実施形態の使用について説明する。これは本発明の技術がOCSP規格との互換性をどのようにして維持し、しかも従来のOCSP実現よりも質的に優れたセキュリティと大規模化の可能性を提供することを示す。
従来のOCSPの実装:
CRLは、一緒にまとめられた多数の証明書についての無効の(およびしたがって、間接的に、バリディティの)証明を提供するので、大きく成長することがある。対照的に、OCSPは個々の証明書のバリディティの証明を提供する。OCSPのサービスはOCSP応答者により通常実現される。そのような応答者はサーバであって、このサーバは所与のCAにより出された所与の証明書のバリディティについてのクライアント(依頼側ともいう)からの照会を受けると、証明書の状態と応答の時刻を示すデジタル署名された応答を提供する。これを行うためには、OCSP応答者がCAの証明書の全ての状態を知る必要がある。その理由はCA自身の証明書を無効にできるのがCAだからである。OCSP応答者がCA自体であるとすると、その知識は平凡に獲得される。さもなければ、CAの証明書の状態についてOCSP応答者を更新されたままにする何か別の態様を採用せねばならない。例えば(米国特許第5717758号、証人を基にした証明書無効システム(Witness-Based Certificate Revocation System)参照)、CAはそれの最近のCRLを応答者へ送ることができ、応答者は、対象とする証明書が現在有効であるか無効にされたかを演繹するために署名されたドキュメントを参考にし、それの署名された応答でそのように言い、時刻と次の更新の時刻を示す。(ここではこの更新時刻がCAの次のCRLの日付と一致することが自然である。その理由は異なる応答をトリガすることができるのはCRLであるからである)。
もちろん、悪意のある応答者が所与のCAの証明書についての随意に署名された応答を、後者のCRLsと協議して、または協議なしで、与えることができる。信頼している側が所与のCAの証明書についてのOCSP応答者のデジタル署名された応答を確実に信頼するために、OCSPは、応答者に応答者証明書‐CAにより署名された‐特殊なデジタル証明書、をCAが与えること、CAが応答者を信頼してそれの証明書についての正確な証明を与える事を他の側にほぼ証明することを考察する。
このプロセスが機能するために、各OCSP応答者(およびあらゆるCA)は秘密署名鍵を持たねばならず、この鍵は保護しなければならない(理想的にはそれを置いたり、サーバが金庫内でそれを使用することにより)ことに注目されたい。
図2は些細なOCSP環境におけるこのトランザクション・シーケンスを示す。秘密署名鍵が保護されるという事実が、それらを何か濃い「ボーダー」を掛けることにより図形的に強調している。署名されたデータの場合には、署名者の名前がすぐ下に示されている。この図はこのトランザクションの種々のPKI感知要素を陰影をつけられたボックスとして示す。認証局自体は、証明書の無許可発行および無効化を阻止するために、安全に保持せねばならない専用鍵、SKI、を持つ。この鍵はOCSP応答者に公開されているCRLを署名するために用いられる。応答者1Aの秘密鍵も安全に保持せねばならず、かつ応答者1AのOCSP応答を署名するために使用される。
OCSPの欠点:
欠点1:計算量:
デジタル署名は計算集中的な操作である。各応答ごとに応答者により行われるデジタル署名は要求があった時に発生され、それはバリデーション操作の最も計算集中的な部分である。それはトランザクション時間にどこでも50ミリ秒から1秒まで容易に付加できる。
応答者がデジタル証明書についてのそれのデジタル署名をキャッシュし、その後でCについて尋ねられた時に同じ署名を送ったとしても、Cについて尋ねた最初のユーザに対する応答は依然として大きく遅延させられる。
欠点2:(集中化した実装での)通信:
単一のバリデーションサーバがOCSPを集中化したやり方で実現すると仮定する。その後で、全ての証明書‐バリディティ照会を、最終的に、それへ選択した経路で送らねばならず、そうすると、図3に示すように、サーバはかなりの混雑と遅延をひき起こす大きな「ネットワークの隘路」となる。極めて多数の正直なユーザがサーバに突然照会したとすると、混乱を生ずる「サービスの拒否」がおそらく続く。
欠点3:(分散化した実装の場合の)セキュリティ:
集中化したOCSP実現がひき起こすことがある隘路(ボトルネック)問題を阻止するために、CAはそれの証明書により発生された要求負荷をいくつかのOCSPサーバ(それが適切に証明する)に分配することにより、その負荷を分配することを考えることがある。一般に、単一のサーバの負荷を、世界中に戦略的に配置されているいくつか(例えば、100)のサーバの間に分配すると、ネットワークの混雑が軽減される。しかし、OCSPの場合には、負荷を分配するとそれが解決しようとする問題よりも悪い問題をひき起こす。それが受けた証明書照会に対するそれの応答に署名するために、100のサーバのおのおのはそれ自身の秘密署名鍵を持たねばならない。そうすると、100のサーバのいずれもうまくまとめることによってシステム全体が効果的にまとめられる。
従来のOCSP応答者がまとめられたとすると、攻撃者は3つの事のうちの1つを行うことができる。まず、それは応答者がどのような応答を出すことも阻止できる。この種の攻撃は信頼する側の所で検知できるのであまり厳しいものではない。第2に、それは発見された秘密署名鍵を使用して、真正な証明書が無効にされたことを示す応答に署名する。第3に、それは、無効にされた証明書が依然として有効であることを示す署名された応答を応答者に発生させることができる。この種の誤りが顕著な応答によって雇用が終了した被用者がシステムへのアクセスを再び得ることができるようにすること、等が起き得る。
応答者が危険にさらされることがあることを阻止する最良のやり方は、24X7の監視付きの、安全金庫等からそれを動作させることである。不幸なことに、これの実行には高い費用を要する。金融CAに求められる全ての要求を満たす真に安全な金庫は、建設に100万ドル以上、運用に1年当り100万ドル以上もの費用がかかることがある。そのような出費を厭わないとしても、金庫は一晩で建設できず、強化されたコンクリートははがれない!CAの現在の応答者の負荷を軽くするためにCAがもう少し多くの金庫を必要としたとすると、新しい金庫を建設できるまで何か月も待たなければならない。
さらに、費用の掛かる金庫がいくつかあったとしても、それらは依然として安全ではないかもしれない。その理由は、OCSPのメカニズムが、応答者が信頼できない源(現場の顧客)から来る要求を受け、その後で秘密署名鍵を用いてそれらのために業務を行うことを求めるからである。したがって、悪意を持つ者が運用中のシステムの何等かの弱点につけこんで秘密署名鍵を暴露し、夜間に強化コンクリート外壁に穴をあけるという可能性が存在する。要するに、金庫が全く無いか、十分に費用を要する応答者防護外壁が無ければ、危険にさらされる確率が非常に高くなり、しかも真に安全な建物内に応答者が設けられたとしても、応答者はソフトウエア攻撃や、技術に優れたデジタル敵などには依然として攻撃されやすいので、OCSPメカニズムは金庫を「窓」付きのバンカーに非常に良く似たものにする。
欠点4:信頼の流れ:
OCSPは種々の安全領域から出された証明書バリディティ要求を処理することが困難である。図4に示されているシナリオでは、機構#1によって動作させられている応答者はCA#1からの証明書の状態についての応答を提供できるが、別の機構により動作させられている応答者は「外部の」証明書についての応答を提供するために十分な情報を持っていないことがある。例えば、認証局CA2により動作させられている応答者2AはCA1の証明書についての要求にどのように答えるかを知らない。
特定の知識が欠けているために生ずるこの問題は2つのやり方のうちの1つで対処できる。
第1に、機構#2からの依頼人は、機構#1からの応答者にCA#1からの証明書の状態について照会するために、応答者を探すことがある。しかし、機構#1からの応答者は機構#2に関連する依頼人から地理的に遠いことがあるので、ネットワークを経由する時間が長くなってバリデーション全体の処理が極めて遅くなることがある。
第2の方法は、CA#1がそれのCARLsを「外部の」応答者へも送ることにより、機構#2からの応答者が機構#1からの証明書についての応答を行わせることである。この場合にはCARLsはデジタル署名され、かつCAが最大の考えられる客にそれ自身の証明書のバリディティについて知らせることを望むので、それは確かにセキュリティへの脅威とはならない。これは、依頼人からのCA1の証明書についての要求に答えるために、機構#2の応答者に十分な情報を提供する。しかし、依頼人が応答者2Aのデジタル署名された答えを実際に重大なものと取るようにするために、CA1は応答者2Aをそれ自身の証明書についてのバリディティ照会に答えるために信頼に値するものとしてまた証明せねばならない。全体のプロセスが図5により示されている。
この手法はより良い大規模化可能性と性能を提供するが、2つの機構の間のセキュリティと信頼をあいまいにする。上の例では、応答者#2は、CA#1の証明書#321が依然として良いという許可応答を依頼人に対して行う。何等かの理由で(構成の誤り、敵意のある攻撃、またはむき出しの不正直)不正確な応答を行うと、応答者2Aは機構#1からのユーザに悪い結果をもたらすことがある。応答者#2Aがそれ自身の証明書についての許可請求を行えるようにすることにより、機構#1はそれが以前に保持していた信用のいくらかを放棄する。
例として、機構がクレジットカード発行者である場合について考えることにする。銀行#1がユーザ#321に対するカード証明書を無効にし、それの応答者が安全かつ信用できるようにするために支払う。銀行#2からの応答者が誤って構成されているので、商人である依頼人がユーザ#321のバリディティについて照会すると、ユーザが有効であると不正確に応答する。商人はこの答えを受け、無効にされたユーザのためにトランザクションが進行できるようにする。
機構間のこの種の信頼の委任はある場合には許容できるが、従来のOCSPの大規模で雑多な拡張の一般に有用な代替ではない。
OCSPを介したリアルタイム証明書:
上記諸問題にかんがみて、我々は代わりの証明書バリデーションシステムを提供する。リアルタイム証明書(RTC)は、現在のOCSPとの互換性を保ちながら、従来のOCSPの上記諸欠点の全てを解決する。RTC技術は次の点で従来のOCSPとは異なる。
1.外部の応答者に信頼を委任しない、
2.全てのバリディティ信頼を単一の権限機関(RTC権限機関)に集中する。さらに、
3.この1つの権限機関から照会負荷を任意の数の保護されていない応答者を通じて分配する、
4.何千もの応答者(かつそれらの応答者が保護されていないとしても)に依存している分散実現においてさえもセキュリティを減じない、
5.照会に対する応答時間を劇的に短縮する。
これはセキュリティと、性能と、大規模化可能性と、多様性との面で従来のOCSPより極めて大きく改善する。
RTCシステムは下記のステップを備えている。
CAがRTCAを証明する:この新しいシステムはRTC権限機関(RTCA)の周囲に集中させられる。これは所与の機構のCAに一致するか、一致しないことがあるエンティティである。各CAはそれ自身のRTCに特殊な証明書、すなわち、RTCA証明書、を与えることが好ましい。CAはこの証明書をデジタル署名することが好ましい。それはRTCAを信頼していることと、それ自身の証明書についての証明書バリディティ情報を提供する権限をRTCAに与えることを示す。そのような証明書は所与の検証鍵PK(それに対してRTCAは対応する秘密署名鍵を有する)をRTC権限機関(例えば、所与の識別子、OID番号)に結び付け、その証明書がRTC状態をほぼ協議することをあるやり方で指定し、かつ他の従来の証明書情報およびフォーマットを含むことがある。2つのエンティティが一致する場合には、それらが異なる署名鍵を持つことがそれらにとって依然として有利であり、したがって、実際には、いかなる場合にもCAは証明書を出すのみであり、RTC権限機関はそれらを管理するだけで(すなわち、それらが有効であるか無効にされたかを証明する)。これは、CAとRTCAが一致したとしても、そうであり、RTCA証明書を依然として採用できる。各CAはただ1つのRTCを持つことが好ましく、冗長性を持たせるために、同じ署名鍵を使用するか否かにかかわらず、複数持つことが有利なことがある。
RTCAがそれの署名鍵を保護する:RTCAは、例えば、金庫または安全設備によりそれの署名鍵を保護せねばならない。(しかし、後で分かるように、証明書バリデーション目的のためには付加金庫の必要はない!)。RTCAは、同じ保護されている施設内でそれの秘密署名鍵を組み込んでいる2つ以上のサーバを主催し、または鍵のコピーを安全に保存し(例えば、銀行の安全セキュリティ金庫に)、またはCAにより適切に証明されている秘密署名鍵をおのおの有する2つ以上のサーバを主催する。
CAがそれの証明書の状態をRTCに知らせる:例えば、それは証明書バリディティのいかなる変化もオンライン/リアルタイムのやり方でそれを評価したままにする(証明書の状態変化が起きた時にそれを知らせるメッセージをRTCAへ直ちに送るなど)。あるいは、それはそれのCRLsが発生された時にそれをRTCAへ送ることができる。
RTCAが所与の時間間隔の間各証明書のバリディティ状態を、いかなる要求とも独立に、個々に署名する:なるべく定期的に(または一連の日の任意の日に)、RTCAは、それの現在のバリディティ知識を基にして(例えば、CAの最後のCRLを基にして)かついかなる依頼者の要求とも独立に、それのCAの顕著な各証明書を処理し、その証明書の状態を述べている告知にデジタル署名する。したがって、結果は、その証明書の次の更新を示す時間成分を含んでいる。RTCの期間がCAを発行したCRLに依頼するならば、更新時間は次のCRLの更新時間のことがある。時間成分は処理に用いられるCRLの発行時刻を示すこともある。したがって、要するに、RTCAは所与の時間間隔T(例えば、最後のCRLの日付から‐またはそれに十分近い日付から‐次のCRLの日付まで‐またはそれに十分近い日付まで、いずれの場合にも必要な全ての情報を処理することから十分な時間を取れるように)の間の各証明書の状態を示すデジタル署名を予め計算する。そのような先行する計算は証明書についてのいかなる依頼者要求とも独立して行われる。たしかに、RTCAは、その時間間隔中の証明書状態についてのいかなる照会が行われるよりも前に、またはその時間間隔そのものよりも前にそのような署名された証明書告知の全てを予め計算する。特に、RTCAは時間間隔Tが始まる1分前に時間間隔Tについてのそれの署名された告知の全てを予め計算することがある。そうすることによりCRL(それが使用されている場合)と「同期させられる」ようになっていないという事実は余り重大ではない。CRL自体はリアルタイムではなく、証明書無効についての情報およびたしかに、証明書が無効にされたという理由そのものはかなり長い時間をもっと要することがある。例えば、ユーザは彼の秘密鍵が危険にさらされたことを理解でき、したがって、その事実の1日後に彼自身の証明書を無効にすることを求めることがある。このように、いかなる場合にも証明書は1日遅れで無効にされる。RTCAが署名した証明書の告知は標準的なOCSPフォーマットである。すなわち、要するに、OCSPに対するOCSPに従う応答を予め計算することが好ましいRTCAは、まだ発生されていないものを要求する。これは重要である。その理由は、OCSPソフトウエアが所定の場所にあり、既存の依頼者ソフトウエアのいずれも修正することなしにRTCシステムを利用することが非常に便利だからである。
RTCAが彼の予め計算したバリディティ状態の予め計算した署名を保護されていない応答側へ送る:そのような署名を予め計算した後で、RTCAはそれを、依頼者を含めた他の者、特に応答側、が利用できるようにする(例えば、それを送って)。それらの応答者は保護する必要はない。実際にそれらはRTCAが署名したメッセージを取り扱い、それらは検出できないやり方で不正に修正されたり変更されたりすることが本質的にできない。たしかに、RTCAはそれらをセキュリティを危うくすることなしに外部の応答者(他の機構に属する応答者)へ容易に送ることができる。RTCAはそれの署名を応答者に差し出すことによって、その署名を応答者が適切に編成されたやり方で容易に行うことができる。例えば、それはそれの署名した証明書バリディティ状態を証明書一連番号に従って順序付けて、またはアレイで、提示でき、または署名された各データ片が同じ長さまたは適切に閉じられた長さを確実に有するようにする、等である。関連する全ての予め計算された応答が確実に受けられるようにするために、RTCAはそれの応答全部(例えば、同じ時間間隔およびCAに関連するもの全て)に署名し、日付をつけることができる。
また、RTCAはそれの応答者にそれ自身のRTCA証明書を送ることが好ましい。このトランザクションはあらゆる更新で起きる必要はない。特に最初にのみ実行できる。
RTCAが予め計算した署名を応答者が保存する:応答者はRTCAの予め計算された署名を十分な時間保存する。それらの署名が所与の時間間隔Tに関連するものとすると、かれらはそれらを少なくともTの終りまで保存することが好ましい。また、応答者(特にRTCAと同じ機構に属するもの)は順向とすることができ、適切なRTCA署名を正しく時間通りに受けたことを調べることが好ましい。例えば、応答者は、
(1)時間間隔Tについての予め計算された応答がTの初めに(またはTに関連する他の適切な時間)に受けられたことを検証する、
(2)受けられたRTCA署名を検証する(およびおそらく適切なRTCA証明書も)、
(3)それが全ての署名を受けたかどうかを検証する(例えば、予測された署名の数より少ない、最後のトランザクションにおけるより少ない署名、等)、
(4)それが以前に告知された無効にされた証明書についてのRTCAが署名したバリディティ告知を受けたかどうかを検証する、等
ができる。何等かの問題が検出されると、それはRTCAまたはその他の適切なエンティティに知らせることがある。
依頼者がバリディティ状態情報を応答者に照会する:依頼者は証明書のバリディティ状態を応答者に尋ねる。それらはそれらの要求に対するOCSPフォーマットを用いてそれを行う。
応答者は予め計算した応答で照会に応答する:所与の証明書について照会されると、応答者はその証明書についてRTCAが予め計算した応答をメモリからフェッチし、それを戻す。
応答者は予め計算した応答に署名したRTCAに適切な証明書を送ることもする。
依頼者は予め計算した応答(およびRTCA締め)を検証する:依存者は受けた応答を処理して対象とする証明書のバリディティ状態を確認する。その応答がOCSPフォーマットであるならば、それらはその処理のためにOCSPソフトウエアを使用することが好ましい。またそれらは適切なRTCA証明書を検証することも好ましい。
この出願を通じて、証明書は階層的な証明書とすることができ、かつCA証明書とRTCA証明書との現在のバリディティの証明を加え、必要があれば何時でも検証できることが理解される。
図6はRTCシステムを示す。
RTCシステムの諸利点:
RTCAはCAの現在の証明書の全てに対してデジタル署名されたバリディティ告知(証明、その告知は偽造できないので)を定期的に発生し、その後でそれらを任意の対象とする応答者に分配する。(各証明は、RTCA専用鍵により署名された、統語的に正しいOCSP応答として構成することが好ましい)。依頼者が証明書の状態について照会する、RTC応答者はそれが受けた対応する予め発生された応答を戻すことができる。依頼者はRTCAの署名を検証できる。(また、RTCAの証明書を検証して、所与のCAに対する真正なRTC権限機関を確実に取り扱えることができるようにする。)
利点1:計算:
デジタル署名は計算集約操作である。しかし、RTCシステムはこの困難を単一のサーバ(エンティティ)、RTCA、に集中する。したがって、この1つのエンティティに、求められている全てのデジタル署名を取り扱うのに十分強力なコンピュータを装備することは非常に容易で、比較的安い費用で装備できる。対照的に、RTC応答者は些細な計算のみを実行する。それらは本質的には、(1)RTCA署名を保存し、(2)依頼者の照会に応じてフェッチ‐送り操作だけを行う。したがって、それらは非常に安いハードウェアで実現できる。その結果、RTCの総費用をOCSPのそれよりも十分に低くできる!同時に、応答時間ははるかに短い。たしかに、非常に安価なRTC応答者が予め計算されたRTCA応答をフェッチして送るための時間は、依頼者の照会に応じてデジタル署名を実行せねばならないOCSP応答者が要する時間と比べて無視できる。
利点2:通信:
このRTCシステムでは、応答者は些細なハードウェアを使用でき、かつ安全である必要はない。したがって、RTC応答者は確かに非常に安く、膨大な数で配置できる。すなわち、RTCシステムを何時でも分布実現できる。したがって、短い時間内に無数のバリディティ照会が生じたとしても、この負荷は多数のRTC応答者の間に常に分散できて、出費の増大を招くことなしに混雑やサービスの慇懃な拒否が解消される。(RTCAの作業の量は証明書の数に依存し、バリディティ‐状態紹介の数により影響されることはない。したがって、膨大なkz宇野バリディティ照会が予測されたとしても単一のRTCを使用できる。)
利点3:セキュリティ:
RTCシステムではRTCAのみ(他にCA、それが異なる/異なって配置されているエンティティならば)を保護できる。実際に、応答者はいかなる秘密鍵も保存しない。それらはRTCAのデジタル署名を保存するだけであるが、全てのセキュリティ目的のために、RTCAにより計算された後では完全に公開できる。対照的に、各OCSP応答者は秘密署名鍵を有する。それはどれがシステム全体と妥協できるかを妥協する。したがって、足すの等しく重要な場所よりも1つの場所を守ることが好ましい。
さらに、OCSPにおけるのとは異なって、依頼者はソフトウエア攻撃を容易には行えない。実際に、RTC応答者は依頼者の照会を秘密でない情報で処理する。実際にそれらは秘密鍵は持っておらず、予め計算したデジタル署名を保存することだけを必要とする。依頼者がそれの質問にある種のトロイの木馬を埋め込むことに成功したとしても、何も暴露できない。せいぜいRTC応答者が知っていることの全てを暴露できるだけで、それはどの証明書が有効で書の時間間隔内のどれが無効にされるかの完全で正確な記述である。そしてこれは秘密情報でないばかりか、認証局があまねく知られたがるような情報でさえある。したがって、それの証明書の1つを不正確に頼るものはいない!。
最後に、ソフトウエア攻撃はRTCAに対しては容易には行えないことに注目されたい。実際に、秘密鍵を有しているが、RTCAはどのような信頼できない照会には応答しない。それはCA(非常に信頼している源)からの入力を単に受け、データ(署名されたバリディティ報告)を定期的に出力するだけである。したがって、トロイの木馬を送り込む性能はRTCシステムでは失われている!いいかえると、単一の金庫がRTCシステムで十分であるかもしれないばかりでなく、この金庫にはいかなる「窓」もない。
利点4:信頼の流れ:
それらの利点に加えて、OCSPを介したRTC(RTC-over-OCSP)手法によって、多数の機構を含んでいる多様なPKI配置に大きな融通性を持たせることができる。以下の線図はRTC‐over‐OCSPがクロスCA環境でどのようにして配置されるかを示すものである。
図7は機構#2からの応答者が機構#1からの応答を、機構#1から機構#2の応答者へいかなる信頼も転送する必要なしに、中継できるか(OCSPに従順であることが好ましい)を示す。RTC応答者は簡単で、信頼されていない情報中継であるので、それらは、システム全体のセキュリティを減ずることなく広く分布できかつ反映できる。依頼者は、機構#1の証明書のバリディティについて機構2(機構2B)の応答者に照会する。それが得る(OCSPに従順であることが好ましい)応答は、それが機構#1のRTCA(RTCA1)によりデジタル署名されているので、それは確信することに注目されたい。さらに、右の機構(これはそれ自身の証明書が依然として有効である事を知るために最も良く配置され、かつそれは誤りを犯さないことに最大の関心が有る)からの直接デジタル署名は、RTCA1が確かに機構1の適切なRTC権限機関であることを保証する依頼者がRTCA1の証明書(CA1により署名されていることが好ましい)も獲得するという事実により確認することが好ましい。
要するに、機構#1は機構#2自身の証明書のバリディティ状態に対する管理のいかなる量も放棄することなく、機構#2の応答者が機構#1の証明書のバリディティの有力な証明を提供できるようにする。名RTCシステムでは信頼が1つの機構から他方へ流れ、しかもそれに伴うセキュリティや管理の喪失はない。
利点5:セキュアな異種性確保
図7は極端な場合を示し、ここでは応答者が強化された信頼点ではなくて透明なネットワーク下部構造として取り扱われている。それはRTCの極端な場合が、多数の源からの証明書の状態についての照会を処理できる応答者の雑多な群の安全な構造を、どのようにして可能にしているかを示す。これはインターネットのDNS下部構造により提供されるサービス群に類似し、照会の有効な応答を発見およびキャッシュするために明らかに共通動作する名称サーバの異種集合を許す。
この異種性は従来のOCSPに優るRTCシステムの大きな利点である。それにより、種々の機構からの依頼者が他の機構からの証明書を安全で、信頼できる、効率的なやり方で相互バリデイトできるように、多種多様な機構が共通に動作できるようにされる。
リアルタイム証明書(RTC)は費用効果がよく、安全で、大規模化が可能で、全体的に効率が高いバリデーションシステムである。RTCは(1)オープン証明書状態プロトコル(OCSP)の代替物を提供でき、かつ(2)OCSP内で動作してOCSPを強化できる。RTCは、実際に、OCSP規格との互換性を維持する選択を行った場合でも、質的に優れたセキュリティおよび大規模化を提供するように、OCSPよりも大きな利点を提供する。
RTC最適化:
二当事者対三当事者証明書バリデーション:
Uを証明書Cuを持つ関係者とする。関係者Vとのトランザクションの一部として、UはCuをVへ送ることができ(Vがそれを既に持っていなければ)、付加タスク(Uに属しているCuにおいて証明される公開検証鍵に対してデジタル署名を示す、またはUに属しているCuにおいて証明される公開暗号化鍵を用いてVにより暗号化されるランダムな問い掛けを解読することにより特定されるなど)をおそらく実行する。トランザクションを安全にするために、VはCuの現在のバリディティを確認し、RTC応答者にバリディティ照会を行うかもしれない。応答者はこの照会に応答してほとんどの現在のRTCAが署名したCuについての告知をフェッチしかつ戻す。しかし、RTC応答者に照会すると三者を、他の場合には二者であるトランザクションにして、所望のU‐Vトランザクションの時間を長くする。
それの予測可能な時間間隔のおかげで、RTCは大幅に助けることができる。すなわち、関係者Uは各時間間隔Tの初め(またはいずれにしてもその最中)に、CuがTの間中有効であるというRTCAが署名した告知Duを受けることがある。Uは彼に対する照会に応じて(または通常の依頼者照会を行うことにより)Duを受けることができ、またはDuを押す(例えば、更新ごとにRTC応答者によりまたはRTCAによって)ことができる。いずれの場合にも、トランザクションに伴う他のステップまたは他のタスクの全てに加えて、期間T中のVでの処理で、UはDuをVへ送ることができる。したがって、U‐Vトランザクションはスピードが大幅に高くなる。その理由はVがUの証明書の現在のバリディティを確かめるためにVは三者を呼び出す必要はないからである。
ある意味で、Duを含む、「全体の時間」を短縮できないかも知れず、U‐Vトランザクションはそうなるであろう。全体の時間を短くすることなしにU‐Vトランザクションのみを速くすることは依然として全く貴重である。実際に、RTCA告知が真夜中に計算され、全日をそれの時間間隔として指定する。その後で、UはDuを日の早いうち(実際の圧力が存在しない時)に受け、その後で、時間短縮が重要である作業時間中に行われる時間に敏感なU‐Vトランザクション中にそれをVへ送ることができる。DUを獲得した後で、いくつかの(例えば、100)の関係者を処理する日の1日中Uがそれを送るとすると、効率が一層高くなる。このようにして、例えば、単一の関係者照会(U自身のそれ、おそらく緩和された時間に行われる)が100の依頼者照会の置き換えに成功する(おそらく圧力時に)。
この最適化は関係者Vにより達成することもできることに注目されたい。すなわち、関係者Uの証明書Duのバリディティについての照会への回答としてRTC応答者からの応答Duを得た後で、関係者VはUに与えることができ、または他者がDuを使用できるようにする。
この最適化は好適なOCSPに従うRTCAの実現にも適用される。実際には、我々は類似の最適化を従来のOCSP実現にも適用することを示唆する。すなわち、ユーザは彼自身の証明書についてのOCSPを求めて獲得し、その後でこのOCSP応答を彼のトランザクションの部分としてトランザクションの他の関係者へ適切な時間間隔中に送る。あるいは、関係者Uの証明書Cuのバリディティについて依頼者が最初に照会すると、OCSP応答者はそれの応答Ruを計算し、それを照会している依頼者へ戻酢が、またそれをUへ送って、Uがそれをキャッシュできるようにし、少なくともしばらくの間、Cuを基にしてそれのトランザクションの部分として送ることができる。
証明書が支援したバリデーション:
RTCシステムは個々の証明書で見出されるデータを用いて実現でき、それにより付加証明書と応答の長さとの少なくとも一方を省略できる。前に見たように、CAは、RTCA自身の証明書のバリディティについての許可応答を与えることを所与のRTCAができるようにするRTCA証明書を発生できる。そのようなRTCA証明書は、RTCAが署名した応答を検証するために使用せねばならない公開鍵を理想的に指定する。しかし、CAはこのRTCA公開鍵をそれ自身の証明書内に埋め込むことができる。すなわち、CAは(適切なフォーマット、OID等で)Cuのバリディティについてのデジタル署名された応答を検証するために使用すべき公開鍵PKも証明書Cu内に含むことができる。このようにして、依頼者は別のRTCA証明書を受ける必要はない。Cuのバリディティの最後の証明についてRTCに照会すると、それはRTCAが署名した応答のみをちょうど受けることがある(それがそう照会したので)。実際に、Cuは、Cuのバリディティの証明をを検証するために依頼者が者が使用できる公開検証鍵をCu自身内で指定する。これは伝送を大きく節約し(RTCが応答者が別々のRTCA証明書を送る必要がないかもしれず、それはRTCA応答よりもはるかに長いことがある)、および保存を大きく節約できる(Cuに依頼することの将来の苦情に対する保護として、依頼者がRTCA証明書をRTCA応答と一緒に保存する必要がないことがあるので)。
同様に、証明書Cuはそれ自身の時間間隔を指定できる。この場合には、RTCA応答は間隔Tの初めと終わりを指定する必要はないことがある。実際に、Tの初めのみ(または他のより簡単なこと)はTを束縛することがある。例えば、Cuが毎日の日付を指定するものとすると、所与の日内の任意の時刻が、応答が照会する全部の日を指定するのに十分である。あるいは、(例えば、CAの一般的な製作から)、証明書が前日より成るバリディティ間隔を持つことが明らかであるならば、この情報を証明書内で指定する必要はなく、しかもRTCA応答適用を同じように節約する。
別々の無効化:
所与の証明書Cuについてのバリディティまたは一時停止のRTC証明はそれが照会する時間間隔を指定すべきであるが、無効の証明はいかなる時間間隔も指定する必要はない。時間の1つの点(例えば、実際の無効時刻)を指定するだけで十分である。バリディティおよび一時停止とは異なって、実際に、無効は無効にできないプロセスである。したがって、1つの無効時刻rtは無効にされた証明書を明らかにするのに十分である。そして、rtは任意の時間間隔Tの初めにする必要はない(例えば、それを「Tの中間の」任意の時刻にできる)。したがって、永久的な無効の場合には、RTCAはCの無効証明を全ての更新日(例えば、D1、D2等)に送る必要はない。原則として、無効証明は1回だけ(または冗長にするために数回)送ることができ、その後でRTC応答者によりキャッシュでき、その後でCについての依頼者照会が行われる時は常に戻される。
RTCAは証明書Cが無効にされたら、例えば、RTCAがCにバリディティの証明を既に生じてRTC応答者へ送った時間間隔Tの中間に、ただちに知らされることがあることに注目されたい。もちろん、次の更新までに、そのようなバリディティ証明はCについて計算されない。しかし、しばらくの間(すなわち、Tが終わるまで)はバリディティの不正確な証明はそこから出される。したがって、良いカウンタ測定が無効の証明がバリディティの証明より先行することより成る。すなわち、ある時間間隔Tの間のcについてのバリディティの証明と、Cについての無効証明(時刻tは何時でも)を見る正直な依頼者は、Cを無効にされたと見なすべきである(時刻tの後)。しかし、いくつかの依頼者はそのような無効証明を決して見なかったことがあり、したがって、CはTが終わるまでは依然として有効であるといくらか考えるかもしれない。先に見たように、そのような問題は、従来のOCSPにおいてさえも、Cが無効であるという知らせが応答者に到達するのにある時間がかかり、Cを無効にすべきであることを実現するのにより長い時間を要することがある、という意味で多少避けることができない。けれども、それらの問題は、Cが無効にされたことを知る(例えば、次のCRL更新を待つことなくCAから直接)と、RTCAがただちに(予定された日D1、D2、等またはD1’、D2’等)Cの無効の証明を計算してそれを全てのRTC応答者へ送ることにより減少できる。その後で、適切に機能するRTC応答者の全てはCのバリディティのいかなる証明もメモリから消去し、それを新たに受けた無効証明と置き換える。このようにして、その時刻から。彼等はCのバリディティについての正確な証明を依頼者に提供する。
システムの一般性:
CA/RTCA/応答者/関係者/ユーザは任意のエンティティ(例えば、人、機構、サーバ、装置、コンピュータプログラム、コンピュータファイル)またはエンティティの集合とすることができる。
証明書は全ての種類の証明書、特に階層的証明および階層なし証明を含むことを理解すべきである(米国特許第5420927号参照、参照することにより含まれる)。バリディティ状態およびバリディティ状態の証明は階層的証明のバリディティ状態およびバリディティ状態の証明(例えば、一連の証明中の全ての証明のバリディティ状態およびバリディティ状態の証明)を含むことがある。証明書Cのバリディティを検証することはCを発行したCAに対するCA証明のバリディティと、Cのバリディティ状態についての署名された応答を与えるRTCAについてのRTCAのバリディティを検証することを含むことがある。
従来は証明書は所与の鍵を所与のユーザに結び付けるデジタル署名されたドキュメントであるが、米国特許第566416号(参照することにより含まれる)によって、証明書は全ての種類のデジタル署名されたドキュメントを含むべきである。例えば、CAとして機能する売り主が価格表にデジタル署名することにより(おそらく日付情報と一緒に)その価格表を検証できる。そのような証明書のバリディティ状態は非常に重大である。例えば、売主は価格表の現在のバリディティを証明することを望む(およびそれの現在のばでの証明が証明されなければ、価格票の中の所与の価格を尊重することを拒絶する)。そうすると、顧客は価格表ドキュメントの現在のバリディティを確認することを望む。特に、RTCシステムはウエブページの現在のバリディティを立証するために理想的なものである(それの大規模化可能性およびオフライン処理のために)。たしかに、RTCAが発生した現在のバリディティの証明をページ自体の次に(または一緒に)保存できる。
一片のデータDを(関係者Xへ)送ることはDを使用できる(またはXにDを受けさせる)ようにすることを含むものと解すべきである。
リアルタイムバリデーションによる三要素認証:
以下に説明するのは、関係者において連結下部構造なしで実行されるリアルタイムバリデーションおよび無効化による効率的な三要素認証である。これはドアなどの物理アクセス用途、またはファイルやアプリケーションのアクセスなどの論理用途のために機能できる。物理アクセスのシナリオを以下に説明する。その他の応用は当業者にとってはこのモデルから容易に一般化できる。
例16:
1.ユーザは無線装置(物理トークン)に保存されている証明書を有する。このトークンはデジタル署名と専用鍵を安全に保存できる性能を持つことが好ましい。また、トークンは長距離(WAN)接続法(GPRS、SMS、ページャーCDMA、GSM等など)と、短距離(PAN)接続法(ブルートゥース(Bluetooth)、IR、RF等)を有する。トークンは日の付加認証要素(PIN用のキーパッドまたはバイオメトリック読取器など)も有する。この例はトークンがブルーツゥース携帯電話であると仮定している;
2.ドアは標準PKI操作を実行できる小型CPUを有する制御パネルと、物理トークンと会話するための短距離(PAN)接続法とを有する。この例は我々の標準デモドアに類似するブルーツゥースが可能にするコンピュータを仮定している;
3.ユーザはPIN番号を携帯電話に入力すること(または、バイオメトリック読取器を利用できるならば、彼自身のバイオメトリック情報を入力する)を助言される。この助言は、ユーザがドアを通ろうと試みる最初の時に、数時間ごとに、ランダムに、特殊なSMSメッセージを受けた時に、1日に1回行うことができる。PIN(またはバイオメトリック)は認証の第2の要素として機能し、物理アクセス用途に使用するために電話の「ロックを解除する」;
4.ユーザがドアの範囲内(ブルーツゥースの場合には30フィート)に来ると、電話およびドアは相互に認識して最初の心証とバリデーション動作を開始する;
4.1(オプション)ドアはドアの証明書をブルーツゥースを介して電話へ送ることによりドアは自身を電話に対して証明書する。電話は証明書を検査し、我々の標準法のいずれかを用いてドアをバリディイトする(電話へ定期的に送られるドアのmin‐CRLが良いやり方である)。これは「悪党読み手」の問題を解決し、電話が任意の情報を明らかにする前に真正な読み手であることを確かめる;
4.2 電話はユーザのバイオメトリック詳細を含んでいるユーザ証明書を送る。電話はRTC証明の現在のバリディティを示すために、RTC証明(バリデーション‐トークン‐すなわち、バリディティの20バイト証明‐または分布されたOCSP証明)も送る。その証明はWANを介して、1997年9月9日に発行された「証明書無効化システム(Certificate Revocation System)」という名称の米国特許第5666416号に記述されているものなどの、正常なCoresStreetのやり方で既に受けられていた;
4.3 ドアはユーザの証明書を正常なRTCのやり方で認証およびバリデートする。ドアは現在範囲内(多数の被用者がドアの付近に居ることがある)にある多数の(または全ても)電話に対してそれを行うことができる;
5.ユーザがドアに達するまでに、以前のステップは終了している。ユーザは彼女の指(またはその他のバイオメトリック)を、ドアにまたはドアの近く(多分実際のドアノブ)に設置されている読取器で走査する。ドアはバイオメトリック詳細を、その範囲内のバリデートされた全ての証明書に保存されているデータと照合する。バイオメトリックが一致するとドアは開く。さもなければドアは閉じたままである。
これは下記のような利点を有する:
1強力な認証(この例では三要素、もっと多くも可能である);
2.ユーザに対して明らかである(ドアのところまで歩行してそれを開くだけ、カードは不要で、PIN番号を記憶することもない);
3.リアルタイム無効化およびバリデーション;
4.どのドアにも接続下部構造がない‐これを3000フィートまたは大洋の真ん中で行う;
5.標準ハードウェア部品および標準ソフトウエア部品で構成できる。
ステップ4.1は独立関係の独立した発明である。その理由はそれが、現在知られていない解決法がない既知の問題(例えば、国防省により特定されている)を解決するからである。この技術は「無効化証明すなわちアクセスログドアが、接続されている他の人々のカード/電話へ行ったりとか、から来たりとの少なくとも一方を行う」ことにより高めることができる。
携帯コンピュータ資源を保護する:
本発明の好適な実施形態は20バイトの偽造できない、公開「証明」を基にしている。20バイト証明は、ハッシングと呼ばれる一方向関数を用いて暗号的に保護される。このプロセスは簡単で、暗号化を必要とせず、デジタル署名を使用しない。それらの特性は大規模配置(何億という規模)、帯域幅が制限される用途(例えば、無線用途)、オフライン・バリデーション(すなわち、ネットワーク接続を求められない)のためにこの技術を理想的なものにする。
ラップトップの盗難は、交換に要する費用、生産性の喪失、回復できない(バックアップされていない)データの喪失、貴重な/秘密データ(例えば、貴重な運用情報、顧客への提案、eメール、カレンダー、コンタクト、係属中の合併、新製品IP、戦略、および事業計画、金融運用結果、個人保証情報、等)、およびネットワークや下部構造の細部(例えば、ユーザ名およびパスワード、ダイヤルイン番号、IPアドレス技術、DNSネーミング規約、および一次メールサーバ)の喪失をもたらす重大な問題である。
一実施形態では、本発明はリース、すなわち、指定された期間中使用するためのライセンス、を行う。そのリースの機関は構成可能なパラメータである。本発明の技術は有効な「リース」の存在を強制する。リースは20バイトの、偽造できない、「公開トークン」、すなわち、有効なトークン、一時停止トークン、および無効トークン、である。新規なリースは自動的に受けられる。コンピュータは一時的に使用不能にでき、システム管理者またはユーザはラップトッの一時停止を解除できる。コンピュータはシステム管理者による可能な回復により永久に使用不能にできる。図8は本発明の一実施形態によるシステム操作の略図である。
装置が依然として許可されている限り、有効なリーストークンは1日に1回(時間、週等)中央権限機関により発生される。有効なリーストークンを保護されている装置に置くことは多数のことなる方法で行うことができ、それはユーザに対して完全に明らかにされる。装置が盗まれた場合には2つのことが起きる。すなわち、有効なリーストークンは発生を停止する(当日を過ぎると使用を延長する道はない)、無効トークンがネットワークへ伝わる(どの接続も装置をただちに使用不能にする)。盗まれた装置は、秒(最良の場合、プッシュ機能が存在する場合)、時間(平均的なもの、いかなるネットワーク接続が行われても直ちに)、1日(最悪の場合、接続不能)、以内でオフにされる。
このシステムはゆきずりの盗難や内部の者による盗難を防止する。装置を盗んでも意味がない。その理由はハードウェアは使用できず、ソフトウエアは使用できず、データは読出せないからである。
バリディティトークンは次のような方法により提供される。すなわち、有線ネットワーク、無線ネットワーク、SMS無線「プッシュ」、ぺージャーシステム、赤外線ポートを介する手持ち電話/PDA、ブルートゥース装置、ファックス・eメール・電話呼び出しなどの代わりのチャネルを介して受けられる手動型(例えば、「7G9L TC77 U8QL S2PS QK2Q EN9V PXXH XPUL」)。図9は盗まれたコンピュータ時系列の略図である。別の保護法は、阻止のための物理的なアンカー、回収のためおよび妨害物としての資産追跡サービス、妨害物としておよびアクセス管理のためのアクセス鍵、回収のためおよび妨害物としての追跡ソフトウエア、およびデータのみを保護するデータ暗号化、を含むものを使用できる。攻撃の恐れと結果;
ソフトウエアの除去/迂回:「管理特権」を有するならば可能であるが無効になった後は極めて困難である。選択できるBIOS/ハードウェア対策はほぼ100%の保護を行える、
ハードドライブの交換/改造:全てデータ喪失を安全にし、選択するBIPS/ハードウェアはドライブの交換を阻止するために留め金で留める、
データを読出すためにハードドライブを他のマシンへ移動する:データを暗号化できる、
無効トークンの受取り阻止:リースが失効するまでのみラップトップの操作を延長する(最悪の場合)。
本発明のその他の実施形態は、この明細書を読んでから、またはここで開示している本発明の実施から当業者には明らかであろう。明細書および例は例示のみと考えること、本発明の真の範囲と要旨は以下の請求の範囲により示されるものであることを意図している。
本発明の一実施形態に従って、CAが発行したがまだ有効期限内である証明書C1,…,Ckのおのおのについて、そのCAが個々の証明書無効状態情報CRSiをディレクトリへどのようにして送るかを示す概略図である。 ささいなOCSP環境における一連のトランザクションを示す概略図である。 かなりの混雑と遅延をひき起こすサーバにおける大きな「ネットワーク隘路(ボトルネック)」を示す概略図である。 種々のセキュリティドメインから送られてきた証明書有効性の照会(リクエスト)を処理する際にOCSPがどのような困難に遭遇するかを示す概略図である。 本発明の一実施形態による、種々のセキュリティドメインから出た証明書有効性の照会を処理を示す概略図である。 本発明の一実施形態によるRTCシステムを示す概略図である。 本発明の一実施形態によるOCSPを介したRTC(RTC-over-OCSP)がクロスCA環境内にどのようにして配置されるかを示す概略図である。 本発明の一実施形態によるシステム動作の略図である。 盗まれたコンピュータのタイムライン(時間図)を示す概略図である。

Claims (21)

  1. 現在の時刻を決定する手段を有する少なくとも1つの非接続のドアDへの少なくとも1人のユーザUのアクセスをエンティティAが管理する方法であって、
    一連の日付の各時間間隔dに対して、ユーザUが時間間隔d中にドアDをアクセスできることを示すデジタル署名SIGUDdをAが発生するステップと、
    Dを通ることができるようにするために、時間間隔d中にUにSIGUDdを受け付けさせてドアDに提示するステップと、
    UがSIGUDdをドアDに提示するステップと、
    (i)SIGUDdが、確かに、Uが時間間隔dにドアDをアクセスできることを示すAの署名であることと、(ii)現在の時刻が確かに時間間隔d内であることと、を検証した後でDを開かせるステップと、
    を備える方法。
  2. Uがユーザカードを有し、Dが電気機械的な錠に接続されているカード読取器を有し、UはSIGUDdを彼のカードに保存することによりSIGUDdを受け取り、Dのカード読取器により彼のカードを読み取らせることによりSIGUDdをDに提示する、請求項1に記載の方法。
  3. Aは、UがアクセスできるデータベースにSIGUDdを掲載することにより、時間間隔d中にSIGUDdがUに受け取られるようにする、請求項1に記載の方法。
  4. SIGUDdが公開鍵署名であり、DがAの公開鍵を保存する、請求項1に記載の方法。
  5. DがUについての識別(identity)情報も検証する請求項1に記載の方法。
  6. Uについての識別情報は、PINと、Dの問い掛け(チャレンジ)に対する応答との少なくとも1つで構成される、請求項1に記載の方法。
  7. エンティティAと、少なくとも1つの非接続のドアDと、ドアにアクセスするためにユーザカードを所有するユーザとを備えるアクセス管理システムにおける、所与のユーザUがDにアクセスすることを試みたことを、非接続のドアDがAに通知する方法であって、
    UがドアDにアクセスすることを希望していることを示す情報IUをDがUから受け取るステップと、
    DがIUを少なくとも一時的に保存するステップと、
    少なくとも1人の引き続くユーザVに対して、エンティティAに提示するためにDがVにIUをVのカードに少なくとも一時的に保存させるステップと、
    を備える方法。
  8. AがアクセスできるデータベースへIUを転送することにより、あるいはAに情報を送信することにより、VがIUをAへ提示する、請求項7に記載の方法。
  9. IUは、(i)ドアDをアクセスするためにUに供給される情報と、(ii)DをアクセスするためにUにより発生される情報と、の少なくとも1つを含む、請求項7に記載の方法。
  10. IUはUにより発生されるデジタル署名を含む請求項7に記載の方法。
  11. IUはUのデジタル署名を含む請求項7に記載の方法。
  12. リアルタイム信用証明体であって、固定されている第1の部分と、定期的に変更される第2の部分とを含み、前記第2の部分は前記リアルタイム信用証明体が現在通用のものであることの証明を与えるリアルタイム信用証明体を調べることと、
    前記第1の部分に対してある操作を実行して、その結果を前記第2の部分と比較することにより、リアルタイム信用証明体の有効性を検証することと、
    リアルタイム信用証明体が有効であると検証された場合のみに物理アクセスを行えるようにすることと、
    を備える物理アクセスを管理する方法。
  13. 前記第1の部分が権限機関によりデジタル署名される請求項12に記載の方法。
  14. 権限機関が前記第2の部分を提供する請求項13に記載の方法。
  15. 前記第2の部分が前記権限機関以外のエンティティにより提供される請求項14に記載の方法。
  16. 前記リアルタイム信用証明体がスマートカード上に設けられる請求項12に記載の方法。
  17. ユーザは、前記リアルタイム信用証明体の前記第2の部分を第1の場所で取得する請求項12に記載の方法。
  18. 前記ユーザは、前記第1の場所とは異なり離れている第2の場所にアクセスすることを許される、請求項17に記載の方法。
  19. 前記リアルタイム信用証明体の前記第1の部分の少なくとも一部が、前記リアルタイム信用証明体の前記第2の部分の一部に複数回適用される一方向ハッシュを表す、請求項12に記載の方法。
  20. 前記複数回は、前記リアルタイム信用証明体の前記第1の部分が発行されてから経過した時間の量に対応する請求項19に記載の方法。
  21. 物理アクセスの管理は、ドアを通るアクセスを管理することを含む、請求項12に記載の方法。
JP2003585029A 2002-04-08 2003-04-08 物理アクセス制御 Pending JP2005525731A (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US37086702P 2002-04-08 2002-04-08
US37295102P 2002-04-16 2002-04-16
US37321802P 2002-04-17 2002-04-17
US37486102P 2002-04-23 2002-04-23
US42079502P 2002-10-23 2002-10-23
US42119702P 2002-10-25 2002-10-25
US42175602P 2002-10-28 2002-10-28
US42241602P 2002-10-30 2002-10-30
US42750402P 2002-11-19 2002-11-19
US44340703P 2003-01-29 2003-01-29
US44614903P 2003-02-10 2003-02-10
US10/395,017 US7337315B2 (en) 1995-10-02 2003-03-21 Efficient certificate revocation
PCT/US2003/010748 WO2003088166A2 (en) 2002-04-08 2003-04-08 Physical access control

Publications (1)

Publication Number Publication Date
JP2005525731A true JP2005525731A (ja) 2005-08-25

Family

ID=29255792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003585029A Pending JP2005525731A (ja) 2002-04-08 2003-04-08 物理アクセス制御

Country Status (6)

Country Link
EP (1) EP1493131A2 (ja)
JP (1) JP2005525731A (ja)
CN (1) CN100473002C (ja)
AU (2) AU2003228468B2 (ja)
CA (1) CA2479869C (ja)
WO (1) WO2003088166A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511983A (ja) * 2003-11-19 2007-05-10 コアストリート、 リミテッド 分散委任されたパス発見及び検証
JP2010540802A (ja) * 2007-09-28 2010-12-24 イロク オサケ ユキチュア 錠管理システム
JP2014514870A (ja) * 2011-04-28 2014-06-19 クアルコム,インコーポレイテッド ソーシャルネットワークベースのpki認証
JP2015057703A (ja) * 2013-09-16 2015-03-26 アクシス アーベー アクセス制御システムにおける分散されたイベント

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1668617B1 (en) * 2003-09-19 2009-12-09 NTT DoCoMo, Inc. Method and apparatus for efficient certificate revocation
CN1998181B (zh) * 2004-01-09 2012-01-04 科尔街有限公司 批处理ocsp和批处理分布式ocsp
WO2005070116A2 (en) * 2004-01-09 2005-08-04 Corestreet, Ltd. Communication-efficient real time credentials for ocsp and distributed ocsp
US8166532B2 (en) 2006-10-10 2012-04-24 Honeywell International Inc. Decentralized access control framework
CN101241610B (zh) * 2007-02-08 2011-03-23 黄金富 采用无线射频识别技术的行李查核系统和方法
CN104282068A (zh) * 2012-03-15 2015-01-14 江苏省电力公司常州供电公司 变电所防误锁具的许可装置
CN107004315B (zh) * 2014-12-02 2020-08-04 开利公司 利用虚拟卡数据的进入控制系统
EP3208777A1 (en) * 2016-02-16 2017-08-23 ILESO Engineering GmbH Control panel, use, and process for the manufacture thereof
EP3507939B1 (en) 2016-09-02 2020-07-22 Assa Abloy AB Key delegation for controlling access
WO2018154058A1 (en) 2017-02-24 2018-08-30 Assa Abloy Ab Delegation and auxiliary condition for physical access
US10505917B2 (en) 2017-06-05 2019-12-10 Amazon Technologies, Inc. Secure device-to-device process for granting access to a physical space
US11410177B1 (en) 2017-07-21 2022-08-09 Zonar Systems, Inc. System and method for facilitating investigation of expense card fraud
US11263711B2 (en) 2018-03-22 2022-03-01 Honeywell International Inc. Revocable certificates for guestroom access and guestroom controls by mobile devices
CN110086623B (zh) * 2019-03-13 2022-06-03 捷德(中国)科技有限公司 一种基于安全元件的固件防伪方法及安全元件
CN111127706B (zh) * 2019-11-28 2022-04-22 深圳指芯物联技术有限公司 智能锁控制方法、智能锁、云服务器及计算设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01151673A (ja) * 1987-09-18 1989-06-14 Ntt Data Corp 入退室管理装置
JPH10184129A (ja) * 1996-12-26 1998-07-14 Hochiki Corp 入出退管理システム
JPH11296076A (ja) * 1998-03-23 1999-10-29 Internatl Business Mach Corp <Ibm> 小時間鍵生成の方法及びシステム
JP2001148037A (ja) * 1999-11-19 2001-05-29 Open Loop:Kk 電子チケット利用システム、電子チケット発券装置、電子チケット保持装置、電子チケット検札装置、電子チケット利用方法及び記録媒体
JP2001257668A (ja) * 2000-03-14 2001-09-21 Ntt Data Corp 認証システム、携帯端末、認証方法及び記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4453074A (en) * 1981-10-19 1984-06-05 American Express Company Protection system for intelligent cards
US4837822A (en) * 1986-04-08 1989-06-06 Schlage Lock Company Cryptographic based electronic lock system and method of operation
NL9300566A (nl) * 1993-03-31 1994-10-17 Nedap Nv Toegangsverleningssysteem met decentrale autorisaties.
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
EP0723251A3 (en) * 1995-01-20 1998-12-30 Tandem Computers Incorporated Method and apparatus for user and security device authentication
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
US6038666A (en) * 1997-12-22 2000-03-14 Trw Inc. Remote identity verification technique using a personal identification device
FR2774833B1 (fr) * 1998-02-09 2003-02-21 France Telecom Protocole de controle d'acces entre une cle et une serrure electroniques
ES2236973T3 (es) * 1999-01-28 2005-07-16 International Business Machines Corporation Metodo y sistema de control de acceso electronico.

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01151673A (ja) * 1987-09-18 1989-06-14 Ntt Data Corp 入退室管理装置
JPH10184129A (ja) * 1996-12-26 1998-07-14 Hochiki Corp 入出退管理システム
JPH11296076A (ja) * 1998-03-23 1999-10-29 Internatl Business Mach Corp <Ibm> 小時間鍵生成の方法及びシステム
JP2001148037A (ja) * 1999-11-19 2001-05-29 Open Loop:Kk 電子チケット利用システム、電子チケット発券装置、電子チケット保持装置、電子チケット検札装置、電子チケット利用方法及び記録媒体
JP2001257668A (ja) * 2000-03-14 2001-09-21 Ntt Data Corp 認証システム、携帯端末、認証方法及び記録媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511983A (ja) * 2003-11-19 2007-05-10 コアストリート、 リミテッド 分散委任されたパス発見及び検証
JP2010540802A (ja) * 2007-09-28 2010-12-24 イロク オサケ ユキチュア 錠管理システム
US8516250B2 (en) 2007-09-28 2013-08-20 Iloq Oy Lock administration system
JP2014514870A (ja) * 2011-04-28 2014-06-19 クアルコム,インコーポレイテッド ソーシャルネットワークベースのpki認証
US9369285B2 (en) 2011-04-28 2016-06-14 Qualcomm Incorporated Social network based PKI authentication
JP2015057703A (ja) * 2013-09-16 2015-03-26 アクシス アーベー アクセス制御システムにおける分散されたイベント

Also Published As

Publication number Publication date
AU2010200020A1 (en) 2010-01-28
CN1659597A (zh) 2005-08-24
CN100473002C (zh) 2009-03-25
WO2003088166A2 (en) 2003-10-23
WO2003088166A8 (en) 2004-08-05
EP1493131A2 (en) 2005-01-05
AU2003228468B2 (en) 2009-10-01
CA2479869A1 (en) 2003-10-23
WO2003088166A3 (en) 2004-04-01
AU2003228468A1 (en) 2003-10-27
AU2010200020B2 (en) 2012-12-13
CA2479869C (en) 2013-07-09

Similar Documents

Publication Publication Date Title
US8171524B2 (en) Physical access control
US9230375B2 (en) Physical access control
US7353396B2 (en) Physical access control
US20210351931A1 (en) System and method for securely processing an electronic identity
US8732457B2 (en) Scalable certificate validation and simplified PKI management
AU2010200020B2 (en) Physical access control
Micali Scalable certificate validation and simplified pki management
CN100401669C (zh) 用于数据供应、交易和电子投票的方法和系统
EP1325476B1 (en) Wireless lock system
CN102959559B (zh) 用于产生证书的方法
US6775782B1 (en) System and method for suspending and resuming digital certificates in a certificate-based user authentication application system
CN108229962A (zh) 基于区块链的权限管理方法及系统
US20090132813A1 (en) Apparatus and Methods for Providing Scalable, Dynamic, Individualized Credential Services Using Mobile Telephones
EP3395006A1 (en) Method for managing a trusted identity
US20010020228A1 (en) Umethod, system and program for managing relationships among entities to exchange encryption keys for use in providing access and authorization to resources
Panda et al. A blockchain based decentralized authentication framework for resource constrained iot devices
KR19990022451A (ko) 다단계 디지털 서명 방법 및 시스템
WO2002006932A2 (en) Methods and systems for authenticating business partners for secured electronic transactions
KR102131206B1 (ko) 법인 관련 서비스 제공 방법, 이를 지원하는 방법, 이를 수행하는 서비스 서버 및 인증 서버
CN103858377A (zh) 用于管理和控制来自组织成结构化集合的不同身份域的数据的方法
US7660770B2 (en) System and method for providing a secure contact management system
Bosworth et al. Entities, identities, identifiers and credentials—what does it all mean?
JP2005521970A (ja) デジタル・オブジェクトの認証および使用
CA2814254C (en) Physical access control
US20230267426A1 (en) Payment system, coin register, participant unit, transaction register, monitoring register and method for payment with electronic coin data sets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100309

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100630