CN100473002C - 物理访问控制方法 - Google Patents
物理访问控制方法 Download PDFInfo
- Publication number
- CN100473002C CN100473002C CNB038132664A CN03813266A CN100473002C CN 100473002 C CN100473002 C CN 100473002C CN B038132664 A CNB038132664 A CN B038132664A CN 03813266 A CN03813266 A CN 03813266A CN 100473002 C CN100473002 C CN 100473002C
- Authority
- CN
- China
- Prior art keywords
- certificate
- door
- user
- card
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/22—Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
- G07C9/23—Individual 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
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/22—Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
- G07C9/25—Individual 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/257—Individual 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
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Lock And Its Accessories (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于通过数字证书确认过程来控制物理访问的系统和方法,数字证书确认过程与标准证书格式一起工作,且其使发证机构(CA)能够证明每一证书C自C的发出日期D1开始的任何时间间隔(如每天、小时、或分钟)的有效性状态,C的时间间隔可在证书本身内指明,除非其对所有证书是一样的。例如,所有证书可具有1天的间隔,每一证书自发出365天后过期。假定某些初始输入由CA提供,单向散列函数被用于计算包括在数字证书上的指定字节大小的值,并计算其它保密的且用在确认过程中的值。
Description
相关申请的交叉参考
本申请基于:2002年4月8日申请的、题为“可升级的证书确认及简化的PKI管理”的美国临时申请60/370,867;2002年4月16日申请的、题为“无时钟装置确认”的美国临时申请60/372,951;2002年4月17日申请的、题为“遍历散列序列的技术”的美国临时申请60/373,218;2002年4月23日申请的、题为“物理访问控制”的美国临时申请60/374,861;2002年10月23日申请的、题为“安全物理访问”的美国临时申请60/420,795;2002年10月25日申请的、题为“OCSP上的实时凭证”的美国临时申请60/421,197;2002年10月28日申请的、题为“实时凭证”的美国临时申请60/421,756;2002年10月30日申请的、题为“保护移动计算资源”的美国临时申请60/422,416;2002年11月19日申请的、题为“类似Kerberos的设置中的私钥安全物理访问或实时凭证(RTC)”的美国临时申请60/427,504;2003年1月29日申请的、题为“带有实时确认的三因素鉴别”的美国临时申请60/443,407;及2003年2月10日申请的、题为“带有低端卡的RTC物理访问”的美国临时申请60/446,149;所有这些申请的示教均组合于此以供参考。
本申请是2002年3月20日申请的、题为“可升级的证书确认及简化的管理(未决的)”的美国专利申请10/103,541的部分的延续,其示教组合于此以供参考,其本身是2001年7月25日申请的、题为“证书废除系统(未决的)”的美国专利申请09/915,180的部分的延续,且其是2000年1月14日申请的美国专利申请09/483,125的延续(未决的),其是1999年7月19日申请的美国专利申请09/356,745的延续(未决的),其是1997年3月24日申请的美国专利申请08/823,354的延续(现在为美国专利5,960,083),其是1995年11月16日申请的美国专利申请08/559,533的延续(现在为美国专利5,666,416),其基于1995年10月24日申请的美国临时申请60/006,038。美国专利申请10/103,541还是1997年12月18日申请的美国专利申请08/992,897的延续,其基于1996年12月18日申请的美国临时申请60/033,415,且其是1996年9月19日申请的、题为“证书废除系统”(已放弃)的美国专利申请08/715,712的部分的延续,其基于1995年10月2日申请的、题为“证书废除系统”的美国临时申请60/004,796的延续。美国专利申请08/992,897的部分还是1996年10月11日申请的、题为“基于树状的证书废除系统”的美国专利申请08/729,619(现在为美国专利6,097,811)的延续,其基于1995年11月2日申请的、题为“基于树状的证书废除系统”的美国临时申请60/006,143。美国专利申请08/992,897的部分还是1997年2月24日申请的、题为“基于树状的证书废除系统”的美国专利申请08/804,868(已放弃)的延续,其是1996年11月1日申请的、题为“基于树状的证书废除系统”的美国专利申请08/741,601的延续,其基于1995年11月2日申请的、题为“基于树状的证书废除系统”的美国临时申请60/006,143。美国专利申请08/992,897的部分还是1997年6月11日申请的、题为“基于证明的证书废除系统”的美国专利申请08/872,900(已放弃)的延续,其是1996年11月5日申请的、题为“证书废除系统”的美国专利申请08/746,007(现在为美国专利5,793,868)的延续,其基于1996年8月29日申请的、题为“证书废除系统”的美国临时申请60/025,128。美国专利申请08/992,897还基于1997年2月3日申请的、题为“证书废除系统”的美国临时申请60/035,119,其还是1997年8月5日申请的、题为“基于证明的证书废除系统”的美国专利申请08/906,464(已放弃)的延续,其部分是1996年12月9日申请的、题为“基于证明的证书废除系统”的美国专利申请08/763,536(现在为美国专利5,717,758)的延续,其基于1996年9月10日申请的、题为“基于证明的证书废除系统”的美国临时申请60/024,786,并基于1996年4月23日申请的美国专利申请08/636,854(现在为美国专利5,604,804),并还基于1996年8月29日申请的、题为“证书废除系统”的美国临时申请60/025,128。美国专利申请08/992,897的部分还是1996年11月26日申请的、题为“分段的证书废除列表”的美国专利申请08/756,720(已放弃)的延续,其基于1996年8月29日申请的、题为“证书废除系统”的美国临时申请60/025,128,并还基于1996年9月19日申请的、题为“证书废除系统”的美国专利申请08/715,712(已放弃),并还基于1995年11月16日申请的美国专利申请08/559,533(现在为美国专利5,666,416)。美国专利申请08/992,897的部分还是1996年11月19日申请的、题为“证书发行列表”的美国专利申请08/992,897(现在为美国专利5,717,757)的延续,其基于1996年8月29日申请的、题为“证书废除系统”的美国临时申请60/025,128,且部分还是1997年2月24日申请的、题为“基于树状的证书废除系统”的美国专利申请08/804,869(已放弃)的延续,其是。1996年11月1日申请的、题为“基于树状的证书废除系统”的美国专利申请08/741,601(已放弃)的延续,其基于1995年11月2日申请的、题为“基于树状的证书废除系统”的美国临时申请60/006,143。美国专利申请08/992,897的部分还是1997年3月24日申请的、题为“证书废除系统”的美国专利申请08/823,354(现在为美国专利5,960,083)的延续,其是1995年11月16日申请的、题为“证书废除系统”的美国专利申请08/559,533(现在为美国专利5,666,416)的延续,其基于1995年10月24日申请的、题为“增强的证书废除系统”的美国临时申请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日申请的、题为“证书废除系统”(未决的)的美国专利申请09/915,180的延续,其示教组合于此以供参考,其本身是2000年1月14日申请的美国专利申请09/483,125(未决的)的延续,其是1999年7月19日申请的美国专利申请09/356,745(已放弃)的延续,其是1997年3月24日申请的美国专利申请08/823,354(现在为美国专利5,960,083)的延续,其是1995年11月16日申请的美国专利申请08/559,533(现在为美国专利5,666,416)的延续,其基于1995年10月24日申请的美国临时申请60/006,038(已放弃)。上述所有申请的示教均组合于此以供参考。
本申请的部分还是2003年3月21日申请的、题为“有效的证书废除”的美国专利申请10/395,017(未决的)的延续,其示教组合于此以供参考,其本身是2002年9月16日申请的美国专利申请10/244,695(未决的)的延续,其是1997年12月18日申请的美国专利申请08/992,897(现在为美国专利6,487,658)的延续,其基于1996年12月18日申请的美国临时专利申请60/033,415,且其部分是1996年9月19日申请的、题为“证书废除系统”的美国专利申请08/715,712(已放弃)的延续,其基于1995年10月2日申请的、题为“证书废除系统”的美国专利申请60/004,796,且其部分还是1996年10月10日申请的、题为“基于树状的证书废除系统”的美国专利申请08/729,619(现在为美国专利6,097,811)的延续,其基于1995年11月2日申请的、题为“基于树状的证书废除系统”的美国专利申请60/006,143,且其部分还是1997年2月24日申请的、题为“基于树状的证书废除系统”的美国专利申请08/804,868(已放弃)的延续,其是1996年11月1日申请的、题为“基于树状的证书废除系统”的美国专利申请08/741,601(已放弃)的延续,其基于1995年11月2日申请的、题为“基于树状的证书废除系统”的美国专利申请60/006,143,且其部分还是1997年6月11日申请的、题为“基于证明的证书废除系统”的美国专利申请08/872,900(已放弃)的延续,其是1996年11月5日申请的、题为“证书废除系统”的美国专利申请08/746,007(现在为美国专利5,793,868)的延续,其基于1996年8月29日申请的、题为“证书废除系统”的美国专利申请60/025,128,且其还基于1997年2月3日申请的、题为“证书废除系统”的美国专利申请60/035,119,且其部分还是1997年8月5日申请的、题为“基于著名的证书废除系统”的美国专利申请08/906,464(已放弃)的延续,其是1996年12月9日申请的、题为“基于证明的证书废除系统”的美国专利申请08/763,536(现在为美国专利5,717,758)的延续,其基于1996年9月10日申请的、题为“基于证明的证书废除系统”的美国专利申请60/024,786,且还基于1997年4月23日申请的美国专利申请08/636,854(现在为美国专利5,604,804)及1996年8月29日申请的、题为“证书废除系统”的美国专利申请60/025,128,且其部分还是1996年11月26日申请的、题为“分段的证书废除列表”的美国专利申请08/756,720(已放弃)的延续,其基于1996年8月29日申请的、题为“证书废除系统”的美国专利申请60/025,128,并还基于1996年9月19日申请的、题为“证书废除系统”的美国专利申请08/715,712(已放弃),并还基于1995年11月16日申请的美国专利申请08/559,533(现在为美国专利5,666,416),且其部分还是1996年11月19日申请的、题为“证书发行列表”的美国专利申请08/752,223(现在为美国专利5,717,757)的延续,其基于1996年8月29日申请的、题为“证书废除系统”的美国专利申请60/025,128,且部分还是1997年2月24日申请的、题为“基于树状的证书废除系统”的美国专利申请08/804,869(已放弃)的延续,其是1996年11月1日申请的、题为“基于树状的证书废除系统”的美国专利申请08/741,601(已放弃)的延续,其基于1995年11月2日申请的、题为“基于树状的证书废除系统”的美国专利申请60/006,143,且其部分还是1997年3月24日申请的、题为“证书废除系统”的美国专利申请08/823,354(现在为美国专利5,960,083)的延续,其是1995年11月16日申请的、题为“证书废除系统”的美国专利申请08/559,533(现在为美国专利5,666,416)的延续,其基于1995年10月24日申请的、题为“证书废除系统”的美国专利申请60/006,038。上述所有申请的示教均组合于此以供参考。
技术领域
本发明涉及数字证书领域,特别是用于控制物理访问的数字证书确认领域。
背景技术
数字证书(C)由发证机构(CA)的数字签名组成,其将几个数值安全汇集在一起:SN、对证书唯一的序列号、PK、用户的公钥、U-用户的标识符、D1-发行日期、D2-有效期、及另外的字段。表示成符号,C=SIGCA(SN,PK,U,D1,D2,...)。
经过广泛验证的是,数字证书提供最佳形式的因特网和其它访问鉴别。然而它们也难于管理。证书可能在一年后过期(即D2-D2=1年),但它们可能在其过期前被取消,例如,由于它们的持有人离开他们的公司或在公司内担任不同的职务。因而,由给定数字证书使能的每一事务需要该证书当前有效的适当证据,且该证据通常需要被存档以保护将来的主张。
不幸地,用于证明所发出的证书的有效性的传统技术并没有做得很好。以未来的数字证书的容量,今天的有效性证据将既难于以安全方式获得,又太长了,因而太昂贵从而不能传输(特别是在无线设置中)。证书确认被普遍认为是至关重要的问题。除非得以有效地解决,其将严重限制PKI的增长和有用。
目前,有两种主要的方法来证明证书的有效性:证书废除列表(CRL)及在线证书状态协议(OCSP)。
CRL
CRL被定期发出。CRL实质上由CA签署的列表组成,其包含所有被取消的证书的序列号。与电子事务一起出现的数字证书接着与最近的CRL进行比较。如果给定证书没有过期但在列表上,则每个人均可从CRL知道该证书不是有效的,且证书持有人不再有权进行该事务处理;否则,如果证书没有出现在CRL中,则证书被演绎为是有效的(双重否定)。
CRL尚没有得到太多的关切,因为害怕它们变得难以管理的长。(该害怕已通过最近的CRL分区技术而得以稍微减轻)。几年前,国家标准和技术研究院向MITRE公司分发任务,令其研究联邦政府的公钥基础设施(PKI)的组织和成本。(见公钥基础设施,最终报告;MITRE公司;国家标准和技术研究院,1994)。该研究得出结论,到目前为止,CRL构成联邦的PKI成本列表中的最大项目。
OCSP
在OCSP中,CA通过返回C自己的数字签名在当前时间的有效性状态而回答一询问。OCSP在以下方面有一些问题。
带宽。由OCSP产生的每一有效性证据具有不同寻常的长度。如果使用基于RSA或其它因子分解的签名方案,实际上,该证据要求最少2,048位用于CA的签名。
计算。数字签名是计算上复杂的运算。在某些大型应用中,如在峰值业务量时,OCSP可能要求在短时间内计算数百万个签名,其在计算上代价非常高。
通信(如果集中)。假设一个确认服务器以集中的方式实施OCSP。则,所有证书有效性询问最好均将不得不发送给它,该服务器将是导致相当的拥塞和延迟的大“瓶颈”。如果大量诚实的用户突然询问服务器,则“拒绝服务”的中断将可能发生。
安全(如果是分布式的)。通常,将一个服务器的负载跨几个(如,100)服务器分布,这些服务器战略地位于全球各地,以减轻网络拥塞。然而,在OCSP情况下,负载分布产生比其解决的问题更坏的问题。为了将其响应加到其接收的证书询问,100个服务器的每一个均应有其自己的秘密签名钥匙。因而,危及100个服务器的任一服务器均将危及整个系统。安全电子库可保护这样的分布服务器,但非常昂贵。
发明内容
本发明公开了一种通过数字证书确认过程控制物理访问的系统和方法,其与标准证书格式一起工作并使发证机构(CA)能够在任何时间间隔(如每天、小时、或分钟)证明每一证书C的有效性状态,时间间隔起始于C的发出日期D1。C的时间间隔可在证书本身内指定,除非对所有证书其是一样的。例如,所有证书可具有一天的间隔,且每一证书在发出365天后过期。假定由CA提供某些初始输入,使用单向散列函数来计算包括在数字证书上的所指定的字节大小的值,并计算保密并使用在确认过程中的其它值。
控制物理访问包括检查实时凭证,其中实时凭证包括固定的第一部分及定期修改的第二部分,其中第二部分提供实时凭证是最新的证据;通过执行第二部分上的运算并将结果与第一部分比较来验证实时凭证的有效性;及仅在实时凭证被验证为有效时允许物理访问。第一部分可由机构数字签署。机构可提供第二部分或第二部分可由机构以外的实体提供。实时凭证可被提供在智能卡上。用户可在第一位置获得实时凭证的第二部分。用户可被允许访问不同于第一位置并与其分开的第二位置。实时凭证的第一部分的至少一部分可代表单向散列,其被多次施加到实时凭证的第二部分的一部分。多次可对应于自实时凭证的第一部分发出后逝去的时间量。控制物理访问可包括通过门控制访问。
附图说明
本发明将参考几个附图进行描述,其中:
图1为根据本发明的一实施例的示出CA怎样将关于每一其发出的单个证书废除状态信息CRSi发送给索引簙的示意图,其中这些证书C1,...Ck尚未过期。
图2为在不重要的OCSP环境中的事务顺序的示意图。
图3为在服务器中导致相当拥塞和延迟的大“瓶颈”的示意图。
图4为示出在服务于源自不同安全领域的证书有效性请求中OCSP如何具有困难的示意图。
图5为根据本发明的一实施例的服务于源自不同安全领域的证书有效性请求的示意图。
图6为根据本发明的一实施例的RTC系统的示意图。
图7为根据本发明的一实施例,在跨CA环境中,RTC-over-OCSP将被怎样展开的示意图。
图8为根据本发明的一实施例的系统运行的示意图。
图9为偷取的计算机时间线(timeline)的示意图。
优选实施例的详细描述
安全物理访问
确保只有经授权的个人才能访问受保护的区域是至关重要的(如,在机场、军事装置、办公楼等)。受保护的区域可由物理的门(特别地,通过门人可进入,或集装箱、保险箱、或汽车的门)和墙确定,或可以其它方式实质性地确定。例如,受保护的区域可包括这样的区域,进入其将导致检测器发出侵入信号(且如果未被授权,则可能发出警报信号或声音)。在机场,通常,通过出口通道进入大门区域将引发这样的信号,即使没有门或墙被侵犯。还应注意的是,在本申请中,门应被解释为包括所有其它类型的访问-控制装置,其可以传统或更现代类型的钥匙实施。特别地,用于启动引擎的钥匙机构(从而我们的发明成为确保只有当前经授权的用户才能启动飞机、火车、或其它有价值的访问的新方式)。
已建立了我们上下文的一般性,在具体性的、但不损失一般性的结局中,我们将“门”称为控制访问或建立周界的手段,并将“进入”称为访问希望保护的区域的手段。
智能门提供这样的访问控制。在最简单的层次,智能门可被装备以键座,用户通过其输入他/她的PIN或密码。键座具有一附加的存储器或基本的处理器,其中保存有有效PIN/密码的列表,从而可检查当前输入的PIN/密码是否属于列表上的PIN/密码之一。如果是,则门打开,否则其保持为锁住的状态。该基本的访问控制机构提供最小的安全性。特别地,解聘的雇员不再被授权通过该门;然而,如果他还记得自己的PIN,他将没有任何问题的打开这样的基本的智能门。因此,“消除”已解聘雇员的PIN是非常必要的。然而,这样的程序非常麻烦且成本高昂:机场设施可能有数百个门,无论雇员何时离开或被解聘,派遣一特殊的工人队伍出去“消除”所有这样的门太不实际了。肯定需要更多的安全性,且不产生过多的花费和牺牲方便性。
当然,除了(唯一地)依赖于传统的钥匙或简单的键座,更现代的智能门可与如智能卡及磁条卡的卡或无接触装置一起工作(单独的或连同一起)。但该增强的工具装置并不本质上保证访问-控制系统的安全性、便利性和低成本。这些均非常重要地依赖于在整个安全体系结构中使用了多少这样的工具。
理想地,智能门应识别进入的人并验证其当前是否有权进入。在两个任务中,第一个可能较容易。身份识别可以各种方式执行:具体地:
1.使用PIN及密码,其可在连接到门的键座上输入;
2.使用生物测定特征,其可由用户经连接到门的特殊读取机输入;
3.使用传统的签名,其由用户经连接到门的特殊的垫提供;
4.使用智能卡或无接触卡(如经特殊的读卡机/接收器将PIN发送给门);
5.使用数字证书—如其保存在智能卡、无接触卡或无线装置中,其可经读卡机或其它接收器“通信给门”。
我们认为,对于使用在本发明的系统内,数字证书特别有吸引力,因而我们希望进一步详细描述其以某些方式与智能卡一起使用,我们设想将其组合在本发明系统内。具体地,但不损失一般性,我们将希望访问的个人拥有的装置称为“卡”。卡可保存数字证书及相应的密钥。基于卡持有人的适当指令(例如,通过在卡上的键座上按密码而执行),卡将数字证书传输给门机构并通过使用相应的密钥执行识别协议(如解密随机的挑战)。优选地,数字证书,特别地及其相应的密钥,应被保护在卡/装置的安全硬件部分内。
在某些情况下,可能希望匿名的而不是安全访问控制。在这种情况下,不需要执行识别,但需执行授权。然而,在大多数情况下,某些形式的识别被规定:因而我们假定识别可或已经被执行(如通过上述的5种方法之一)。总之:授权可怎样被执行?即使门已肯定地知道正应付John Doe,但门怎样能确保John Doe是当前有权进入的人?传统地,智能门请教当前(如给定的天/日期)授权的用户的数据库以验证其实际上为请求访问的个人。但这要求智能门连接到远处的数据库。此外,这不是普通的网络连接:其必须是安全的网络连接。实际上,不仅必须使用密码保护的通信以防止冒名顶替者模仿连接到门的数据库,还必须防止敌人切断将门连接到数据库的线缆,否则一旦断开,门必须从同等坏的选项选择:(a)一直打开或(b)一直保持关闭。但安全网络连接很容易使门锁的机电组件的成本变小:线路组件最多花费$1000,而安全网络连接可能花费$4000(如果线缆必须大距离安全连接则更多,如在机场。此外,即使在花费该$4000之后,在公共场所如机场有安全网络连接吗?应注意的是,向智能门提供到远处的数据库的无线连接也是不可能的。首先,长距离无线发射机和接收机非常昂贵。其次,在某些设施中,无线带宽可能被严格限制(以避免可能干扰其它装置)或根本禁止这样的使用。第三,无线通信很容易堵塞,从而有效地将门与数据库断开(因而强迫其选择两个同等坏的决定)。第四,如果门属于大西洋中间的集装箱,很可能其根本不能与岸上的任何数据库无线通信)。
因而本发明的一方面是提供低成本、方便且安全的分离的智能门,其是不连接到(无论有线或无线)任何数据库或机构的低成本、方便且安全的智能门。
数字签名和证书
在优选实施例中,本发明依赖于数字签名,且优选地依赖于20字节技术。数字签名(如RSA)用于证明特定的消息M源自特定的用户U。为此目的,U产生一对匹配钥:验证钥PK和签名钥SK。数字签名经SK产生,且经匹配钥PK验证。用户U应对其自己的SK保密(使得只有U可代表U签名)。数字签名之所以工作是因为PK不会“背叛”匹配钥SK,即,PK的知识不会在计算SK方面给敌人任何实际的好处。因此,用户U应使其自己的PK尽可能公开(使得每一人均能验证U的签名)。为此,PK最好被叫作公钥。我们将用SIGU(M)表示消息M的U的数字签名。数字签名意于包括私钥签名,在这种情况下,签名人和验证人可共享一公共的密钥。
叫作证书的文字数字字符串通过保证特定钥PK确实是用户U的公钥而使能数字签名。一旦确定用户的身份,发证机构(CA)产生并发出证书给用户。因而,该证书向所有人证明CA已验证持有人的身份,及可能其它属性。(如,如果公司充当其自己的CA并向其雇员发出证书,证书一定程度上可证明其持有人是经授权的以绑定他/她的雇主)。证书在指定的时间量之后过期,在公共CA的情况下通常为1年。实质上,数字证书C由CA的数字签名组成,其将几个数字安全地结合在一起:SN、唯一的证书序列号、PK、用户的公钥、U、用户的名字、发出日期D1、期满日期D2、及另外的数据。表示成符号,C=SIGCA(SN,PK,U,D1,D2,...)。
证书还可包括PK为加密钥的情况。在这种情况下,U可向验证人V证明其身份,其通过将证书C发送给V,并使V使用钥PK加密随机挑战(字符串)R,并继而请求U将解密发回。如果用户使用R做出响应,则V确信其正应付U,因为只有U知道匹配PK的解密钥。
本发明的优选实施例提供了非常好的用于访问控制的解决方案。具体地,如果卡包含根据本发明的数字证书,则授权将被很便宜地执行。代替向中央数据库询问每一数字证书的有效性,门只需获得根据本发明的20字节有效性证据,其确认卡的当前有效性。
例1:
现在,A为控制一组智能门的机构(即实体),U为在特定时间段应被授权访问特定门的用户。
每一用户拥有一卡(如前述一般意义的卡)。
每一智能门具有一关联的读卡机(一般意义的能够通信或至少可从用户卡接收信息),在真正物理(而不是虚拟的)门的情况下,其与机电锁连接。优选地,每一门还具有唯一的标识符(并知道其自己的标识符)。门具有读卡机及不易窜改的锁及拥有A的公钥PKA并能够验证A的签名的计算装置。
在特定时间段,机构决定哪一用户可通过哪一门。(例如,在不损失一般性的情况下,我们假定每一感兴趣的时间间隔由天组成。)为此目的,A可使用其自己的私用数据库DB1,保存所有的许可,其为在特定日(或任何可预见的未来的某天)谁有权通过哪一门。可推测地,A保护该数据库,否则敌人可能为其目的而改变保存在那里的许可。然而,A从DB计算公共数据库PDB如下。对于具有在天d通过门D的许可的每一用户U,A计算数字签名SUDd,其指出这确实是事实。例如,A计算SUDd=SIGA(U,D,d)。应注意的是,只有A可计算这些数字签名,所有具有A的公钥PKA的人均可验证它们。不知道A的密钥SKA的人不可能伪造这些签名,且他们在不使这些签名无效的情况下也不能以任何方式(如将U的许可转换为用于未授权用户U的许可)修改这些签名。因而,A可及时且没有太多担忧地计算和发送(如在一天的开始)这些签名到储存库PR。储存库是可由用户访问的地方。例如,位于大型设施的雇员入口(如机场的雇员入口)处的服务器。因为A的签名是不可伪造的,在A和PR之间的连接不需要是安全的。其足以使A在合理的时间内将其签名成功转移到PR。
当雇员U在一天d到达设施(如通过PR位于其处的入口点)工作时,其可将其卡与PR相连接(如,其将卡插入与PR连接或与PR远程通信的读卡机/记录器)。通过这样做,其在其卡上获得SIGUDd,指出该天其有权通过门D的数字签名。这要求入口点而不是数百个门与A连接,且该连接也不需要是安全的。实际上,D不必仅指单一的门。例如,其可指一组门(如行李处理门),且A的签名指U可通过由D所指的每一门。或者,多个门D1、...、Dn可被逐一指定,且U可通过其中的每一门的事实可由A的一个以上的签名指出。例如,SIGUD1d...SIGUDnd。在这种情况下,所有这些签名均被转移到U的卡中。
现在假定在一天d期间U在设施中四处行走并到达其已有授权的许可的门D。因此,其卡现在保存SIGUDd。接着,U可将其卡C插入在门D处的读卡机。与该门关联的处理器则使用A的公钥验证SIGUDd确实是有效的。接着使用其自己的时钟验证当前日确实是d。如果两项均是真的,则门D打开。应注意的是,门可通过执行各种方式的识别检查其确实是卡持有人。特别地,U还可被要求在与门关联的键座上输入其PIN。(注意,不同于以前的,被解雇的雇员不能进入门D,即使其记得自己的PIN。实际上,在该例子中的门将同时需要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具有通过门D的许可,其通过指出U的证书携带其所有人的许可实现。例如,SIGUDd=SIGuDd,其中u是U的证书的标识符,如U的证书的序列号(和发行人)。
在所有这些方式中,应该意识到的是,门“分离”于A。门仅(可能识别U并)经内部计算和使用A的公钥及其自己的内部时钟检查U具有进入的许可。因此,系统不仅非常安全,而且还非常经济。
该有效性或授权证据可以多种不同的方式提供。下面正是这个怎样被完成的例子。
例2:
卡所有人可在适当时间“获得”有效性证据。例如,在工作环境中,每人在报到而开始工作时可获得当前的有效性证据。在许多工作地方(特别是那些对安全敏感的地方,如机场),雇员在报到而开始工作时签到。该“签到”可包括获得20字节的有效值,SIGUDd,并将其保存在卡上。卡可经有线的或无线的连接获得该值。
例3:
卡可经无线网络如呼机网络获得有效性证据。在适当的时间,如果卡被授权访问,20字节的值被发送给卡。应注意,带宽要求是最小的:授权值短于呼机网络传输的典型消息。在适当的时间,如果卡被授权访问,SIGUDd被发送到该卡。
例4:
经有线或无线网络,门可类似地提前获得其预期将遭遇的每一卡的有效性证据。
例5:
当卡开始与其相互作用时,门可经要求获得卡的有效性证据。
应注意,没有任何上述方法要求门和中央服务器之间的任何种类的安全连接。这是因为有效性证据是自我鉴别的,从而即使门从一不信任的源和/或经不安全的连接接收有效性证据,仍可确定其正确性。事实是,在大型和/或远程区域、具有多个门的区域及移动区域,如飞机或火车的门,这些方法根本不要求连接来用于门提供更好的手段以进行访问控制。
还应注意的是,在本申请中,门和受保护的区域应被解释为包括可以传统或更现代类型的钥匙保护的所有其它类型的访问点。特别地,用于启动引擎的钥匙机构(使得只有当前有权的雇员可启动飞机、火车或其它引擎)。
本领域技术人员可认识到的是,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)机构组件产生授权;(2)机构组件在可能不安全的连接上传输授权给分发数据库。这些数据库可以在多个位置且不需要是安全的。例如,在具有5个雇员入口的公司中,可能在每一入口均有一分发数据库。(3)分发数据库将授权传输给卡和/或门,或基于请求(“拉”)或自动地(“推”)。
使能上述分发的特性在于授权本身是不可伪造的,其仅能由机构组件产生。因此,一旦产生,其可在可能不信任的线路和装置上分发,没有任何安全风险。这使得不需要任何其它方或装置与机构组件交互,因而导致较任何要求安全连接的方案更便宜的解决方案。
事实上,该系统中的任何组件之间的连接均不需要是安全的。(只有机构组件本身必须是安全的,使得不会产生不适当的授权。)因而,容错的、分布式的访问授权体系结构可被更容易地建立。此外,如前所述,可能在不需要任何用于门的连接的情况下建立该体系结构。
应该意识到的是,本发明的访问控制系统可与部分3的租户CA结合。例如,几个机构(如在一办公楼内,停车机构、清洁机构、或共享使用办公楼的多个公司)在保持对访问不同受保护区域的持有人的能力进行单独控制的基础上可使用同样的证书。
例6:
系统可运行如下。用户U(或其卡)具有证书CERT,其包含一确认字段—即D365—用于感兴趣的每一门D。U可在天j通过门D的许可可通过释放不可伪造的20字节值X365-j进行证明。门D可通过将其散列j次并检查结果是否与CERT的有效性字段D365一致而检查该许可。假使A必须应付多个门(如1000个门),则CERT可包含1000个不同的有效性字段,每一字段对应于不同的门,且每一门Dj检查其相对于第j个有效性字段的计算。在这种情况下,即使用户通过每一门的许可被分开提供,每一用户在特定日具有至多1000个证据。因而在特定日需要至多20k字节装载于其卡上。
应注意的是,因为在此卡为一般的卡,卡可以是无接触卡,读卡机可以是接收机,且卡不需插入读卡机但需传输到读卡机。注意,该“无线”卡-读卡机交互还是非常局部的,且非常不同于A或数据库在远处时的卡-机构/数据库交互。
此外,授权数字签名可被赋于卡持有人的长期证书。例如,卡可包含在每一年有效的长期证书,且机构组件可发出每天的签名以验证证书在当前日还有效。
在没有任何请求的情况下,机构组件可自动产生授权。例如,机构组件可在每天晚上为第二天将被授权的雇员产生授权签名。这种方法使授权组件能够是非交互的,因而较容易安全地建立。
事实上,该系统中的任何组件之间的连接均不需要是安全的。(只有机构组件本身必须是安全的,使得不会产生不适当的授权。)因而,容错的、分布式的访问授权体系结构可被更容易地建立。此外,如前所述,可能在不需要任何用于门的连接的情况下建立该体系结构。
应该意识到的是,本发明的访问控制系统可与部分3的租户CA结合。例如,几个机构(如在一办公楼内,停车机构、清洁机构、或共享使用办公楼的多个公司)在保持对访问不同受保护区域的持有人的能力进行单独控制的基础上可使用同样的证书。
记录分离的门的访问证据
当分离的(分离于机构和数据库)且也非常安全的同时,低成本且便利的智能门最好是连接的智能门,后者提供通过特定门记录访问的能力。例如,知道谁曾在特定日通过特定门是非常重要的。连接的门通过发送适当的访问信息到远处的数据库或机构而很容易做到这点。但分离的门不能彻底做到这点。访问信息可通过发送适当的个人信息以从门到门收集该信息而收集。这不总是很方便地去做。然而,下面的系统提供了非常可行的选择。
当用户U在时间t通过(或企图通过)门D时,门可产生适当的字符串LOGUDt,并将其本机保存(至少暂时地)。为确保该信息到达适当的数据库,门可使用用于通过其进入的卡。例如,D可将LOGUDt写(或使得LOGUDt被写)在其它用户U(可能包括U自己)的卡上。无论U在何时与PR(如下一工作日)或任何其它有线的或良好连接的装置连接,则PR或所述装置将LOGUDt传输到适当的数据库。这种情况下,适当的数据库将最后接收并继而以较容易核查的方式更永久地保存LOGUDt。可能数据库将接收LOGUDt的冗余拷贝,但其很容易清除任何不想要的冗余并仅保留原始副本。
优选的LOGUDt包括U自身的数字签名。这种情况下,当U在特定时间通过特定门时其不能容易地拒绝,且U声称门的访问信息是伪造的。事实上,只有他具有用于产生LOGUDt的秘密签署的钥匙。例如,LOGUDt e由SIGU(D,t)组成,其指出U在时间t通过门D。如果用户U的卡携带与公钥PKU匹配的秘密签署的钥匙SKU,则这非常容易实现。优选地,卡还携带PKU的数字证书,并因而LOGUD可不仅包括SIGU(D,t),还包括U的证书。也是优选地,用户卡可根据在其自己的时钟上显示的时间t产生SIGU(D,t),且门可仅在U提供该访问证据(可能除了其它授权证据如那些前面讨论的证据以外)SIGU(D,t)之后让U进入,假如由U鉴定的时间足够接近门时钟测量的当前时间t。用户还可能要求在时间t进入门D,但该门完全在另一地方,因而SIGU(D,t)一点也不能证明其曾通过如特定建筑的第三层的第二门:某些人有问题的通过以将所述位置传输到门的读卡机等。为防止这样的要求,或保护用户免遭这样的欺骗,用户卡(装置)可结合一GPS机构,SIGU(D,t)可实际上包括由卡测量的本地位置LP。在这种情况下,用户可将访问证据SIGU(D,t,ps)趋向于门,门可接受它且仅在不仅时间看上去正确而且本地位置也正确时让用户进入。与其计算卡/装置内的ps,用户不如使用其信任的一个或多个组件,且该组件可从它们自用户处接收的信息计算用户的位置(及可能它们自己的位置)。
实施
基本系统
如图1中所见,CA将个人证书废除状态信息CRS发送给目录,其关于每一其发出的、但尚未过期的证书C1,...Ck。目录将CRSi发送给已询问该发证机构的序列号为“i”的证书的请求用户。
本发明公开了一种用于通过数字证书确认过程来控制物理访问的系统和方法,数字证书确认过程与标准证书格式(如X.509v3)一起工作,且其使发证机构(CA)能够证明每一证书C自C的发出日期D1开始的任何时间间隔(如每天、小时、或分钟)的有效性状态,C的时间间隔可在证书本身内指明,除非其对所有证书是一样的。具体地但非限制的目的,下面我们为所有证书假定一天的间隔,且每一证书自其发出365天后期满。
制作证书C。除了传统的数字如序列号SN、公钥PK、用户名U、发出日期D1、期满日期D2(=D1+365)之外,证书C还包括两个对其唯一的20字节值。明确地,在发出证书C之前,CA随机地选择两个不同的20字节值,Y0和X0,并从它们计算两个对应的20字节值,Y1和X365,其使用享有下述特性的单向散列函数H:H至少10000倍快于数字签名计算;无论输入多长,H产生20字节输出;且H很难颠倒:给定Y,发现X使得H(X)=Y实际上是不可能的。(见,例如,安全散列标准;FIPS PUB180,94年7月11日修订(联邦注册,Vol.59,No.131,pp.3521134460);1994年8月5日修订(联邦注册,Vol.59,No.150,pp.39937-40204))。值Y1通过散列Y0一次计算:Y1=H(Y0);X365通过散列X0365次计算: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称为废除目标,把X365称为有效目标。
废除及确认尚未过期的证书C。在C发出后第i天(即在D1+i天),CA按如下计算并释放C的状态的20字节证据。如果C被废除,则作为C废除的证据,CA释放Y0,即,废除目标Y1的H倒置(H-inverse)。否则,作为C在那天有效的证据,CA释放X365-i,即,有效目标X365的第i H倒置。(例如,C在发出100天后有效的证据由X265组成。)CA可通过提供响应于询问的值或将其发送在万维网上而释放Y0或X365-i。
验证尚未过期的证书C的状态。在任何日子,C的废除证据Y0通过散列Y0一次并检查结果是否等于C的废除目标Y1来验证。(即,验证人自己测试Y0真地是Y1的H倒置。)注意,Y1被保证是C的废除目标,因为Y1在C内被证明。在C发出后第i天,C在该天的有效证据X365-i通过将值X365-i散列i次并检查结果是否等于C的有效目标X365而验证。(即验证人自己测试X365-i真地是X365的H倒置)。注意,验证人知道当前日D及C的发出日D1,(因为D1在C内被证明),并因而立即计算i=D-D1。
安全性
废除证据不能被伪造。证书C的废除证据由C的废除目标Y1的H倒置组成。因为H实质上不可能倒置,一旦验证人检查给定的20字节值Y0确实是C的废除证据,其知道Y0肯定已被CA释放。事实上,只有CA可计算Y1的H倒置:不是因为CA比任何其它人能更好地倒置H,而是因为其通过以Y0开始并散列它而计算Y1。因为只要C保持有效,CA永远不释放C的废除证据,敌人不能伪造废除证据。
有效性证据不能被伪造。在天i,证书C的有效性证据由C的有效性目标X365的第i H倒置组成。因为H实质上不可能倒置,一旦验证人检查给定的20字节值X365-i确实是C在天i的有效性证据,其知道CA肯定已释放X365-i。事实上,只有CA可计算X365的第i H倒置:不是因为CA比任何其它人能更好地倒置H,而是因为其通过以X0开始并散列它365次而计算X365,因而计算X365的所有第一365倒置。如果证书C在天i+1被废除,CA已经在先前的i天中释放值X365-1,...,X365-i(当C还有效时)但尚未释放并将在将来永远释放值X365-i-1(或任何其它值Xj,j<365-i)。因此,为伪造C的在i+1天有效的证据,敌人应计算X365的i+1SUH倒置(即X365-i的H倒置),其非常难于实现。类似地,敌人不能为C计算在i+1之后的任何天的有效性证据。要那样做,应该能够再次在输入X365-i的基础上倒置H。例如,如果其能计算C在i+2天的有效性证据,X362-i-2,则通过将其散列一次,可容易地获得X365-i-1,X365-i的H倒置。
效率
证书C仅包括两个另外的20字节值,Y1和X365。这是可忽略的成本。取消了C已经包括数据的CA签名(至少2048位长),其包括公钥PK(至少1024位长),及C可包括注释及除SN、PK、U、D1和D2之外的大量其它数据。
产生和仅要求366次散列。这是可忽略的成本。其取消了发出证书已经要求计算签名。
废除证据和有效性证据仅20字节长。我们的20字节证据均为微不足道的传输和存储,使得20字节技术对无线应用是理想的技术(在此,因为带宽还有限,许多移动电话和其它无线设备的存储容量也有限)。
根据本发明的实施例的证据可以如此短,因为它们使它们的安全性源自基本的密码组成,如单向函数,其可展现指数级的安全性。(非常不同地,数字签名方案具有复杂的安全性要求。它们的典型的数字理论实施至多提供亚指数级的安全性,并因而使非常长的密钥称为必要。)无论证书的总数字是几百还是几十亿,证据保持20字节长。事实上,有2160种可能的20字节字符串,且两个证书碰巧具有相同的废除或有效性证据的可能性可以忽略不计。
还应注意的是,由于加密或鉴别,我们的20字节证据的长度不会增加。我们的20字节证据倾向于公开并因而不必加密。类似地,我们的20字节证据是自我鉴别的:通过将它们散列适当的次数,它们产生证书内指明的有效性目标或废除目标。如果被伪造或改变,它们将不工作,因而不必以任何方式签署或鉴别。
最后,在i天的20字节有效性证据X365-i不必另外包括值i:在某种意义上,其已经包括其自己的时间戳。实际上,如上所述,i是当前日期和证书的发出日期之间的差,如果散列X365-ii次产生证书C的有效性目标,则这证明X365-i是C在i天的有效性证据。
20字节证据被立刻计算。废除证据Y0或有效性证据X365-i只是从存储器检索。(或者,如果在证书发出期间只是X0被保存,每一X365-i可被在i天匆忙地再次计算;例如,通过至多364次散列。令人惊奇地更有效的策略在下面的部分中讨论。)
无线环境
本发明的实施例对于无线实施是理想的。其可升级性是巨大的:其可轻松供应几十亿证书。其要求的带宽可忽略不计,实质上30位序列号用于询问,20字节用于响应。其要求的计算也是可以忽略的,因为证书状态询问由单一的表查询回答且可立即被验证。当然,大可升级性、最小带宽及微不足道的计算使得本发明技术为无线环境中的一个选择。
但有本发明的另一应用,其在无线应用中提供另外的优点。即,每天早上—例如,在午夜—无线用户可接收其证书的20字节有效性证据用于该天的剩余时间。(该20字节值可基于用户的请求获得,或被自动推到用户的移动装置—如,借助于SMS消息或其它控制消息。)由于其微不足道的长度,该证据可被容易地保存在大多数移动电话和PDA中。接着,无论用户想在那天的何时办理,用户简单地将其自己的证书连同证书的用于那天的20字节有效性证据一起发送。因为有效性证据是到处可验证的,证书和证据的验证人不必调用任何CA或任何回应者。验证人可完全离线工作。在移动环境中,其中任何调用转换成钱和时间成本,该离线能力是非常有价值的。
与OCSP比较
本发明和OCSP均为经请求的系统:即,用户发送关于证书当前有效性的询问并取回不可伪造的且到处可验证的证据作为响应。但也有如下区别:时间精确性;带宽;CA效率;安全性;及运行费用。
时间精确性:原则上,OCSP可指明具有极大精确性的时间,而根据本发明的优选实施例的响应指明具有预定精确性的时间:一天、一小时、一分钟等。在低价值应用中,1天有效性是广为接受的。对于大多数财务应用,Digital Signature Trust考虑4小时的精确性就足够了。(也许这较其看上去更不令人惊讶:对于大多数财务事务,在早上接收的定单在下午执行,在下午接收的定单在第二个工作日执行。)在任何情况下,时间不由具有无限多阿拉伯数字的真实数字指明。在经请求确认系统中,小于1分钟的时间精确性很少有意义,因为询问和证书信任方的时钟可能不是同步的。事实上,在这样的系统中,15秒的时间精确性是实际的实时。
为处理这样的极端精确性,本发明的优选实施例计算大约1M长的散列链(即,需要计算X1M型的有效性字段),因为在一年中至多有527,040分钟。如果那样长的链可被有效处理,则本发明的优选实施例实际上是实时。在证书发出时计算1M散列是没有问题的:1M散列可在少于1秒的时间中执行,即使使用非常合理的平台,且证书通常一年发出一次,且没有巨大的时间压力。类似地,考虑到其通常仅关注于个别的事务且有较多的时间,1秒计算对于证书有效性证据的验证人(如依靠证书的商人)也是没有问题的。然而,根据证书状态请求计算1M散列可能影响产生有效性证据的服务器的性能,因为其通常在某时处理许多事务。幸运地,该服务器不必在线计算所有这些开始于X0的散列,而是通过表查寻—利用存储器中具有每一证书的全部散列链。但是,保存1M长的散列链在具有巨大数目的证书的应用中可能是一个问题。但,幸运地,如我们将在随后提及的,即使普通的服务器也可通过使用较好的算法以令人惊奇的效率重新计算1M长的散列链。
带宽:本发明的优选实施例较OCSP具有明显的带宽优势。前者使用20字节的回答,而后者通常使用256字节。
CA效率:在OCSP情况下,有效性询问由(复杂的)数字签名回答,而在本发明的情况下,通过(微不足道的)表查寻回答,只要CA保存每一证书的整个X链。
注意,具有1百万证书的量,当时间精确性为1天或1小时时CA可负担得起保存每一证书的整个X链。(在第一种情况下,CA不得不保存365个20字节值,即每证书7.3K字节,因而全部为7.3B字节。在第二情况下,全部为175.2B字节。)如果时间精确性为15秒,则每一散列链包括1M20字节值,对于整个系统,全部存储要求将在10.5tera字节,一个相当大的存储量。
为大力降低该存储要求,CA可仅为每一证书保存单一20字节值(即X0),并从其通过至多1M散列重新计算每一Xi值。或者,Jacobsson[5]已经发现令人惊奇的时间/存储折衷。即,CA可以正确的顺序重新计算所有n个Xi值,其通过保存log(n)散列值并每次执行log(n)散列实现。如果n为1M,这意味着仅保存每证书20散列值,且每次证书需确认时仅执行20次散列。其它折衷也是可能的。特别地,对于我们的1M链的情况,Reyzin[R]已示出,CA可计算所有Xi值(i=1M下降到1),其通过仅保存3个散列值并每次至多执行100次散列实现。
总之,即使在实际上实时的应用中(即使用15秒时间精确性),本发明的优选实施例通过仅保存60字节每证书即可以微不足道的100次散列运算代替复杂的数字签名运算。
安全性及运行费用:最后两个区别将在指明本发明的优选实施例和在考虑中的OCSP的实施类型之后被更好地论述。
集中的实施:安全性分析
无论何时,证明证书的有效性均依赖于特定钥匙的保密,安全的电子库(vault)应可保护该钥匙,以保证整个系统的完整性。通过本发明或OCSP的集中实施,我们意指一个电子库可回答所有有效性询问。如果配置的证书的数量较小(如不大于100K),则集中实施是优选的,使得电子库可处理产生的询问容量,即使几乎所有证书在很小的时间间隔内均被使用,几乎同时触发有效性询问。在该实施中,优选实施例相对于OCSP在以下方面更好。
末日保护:在传统的OCSP中,如果(尽管电子库和装甲的保护)敌人成功穿透电子库并危及秘密签署的密钥的安全,则其可使先前废除的证书“复活”及“废除”还有效的证书。(类似地,如果CRL签署密钥在CRL系统中被危及安全)。通过对比,在本发明的优选实施例中,穿透安全的电子库不会帮助对手伪造任何先前废除的证书的有效性。事实上,当证书在i天被废除时,不仅其废除证据Y0被公开,而且,同时地,所有其Xi值(或至少值X0到X365-i)被删除。因此,在成功进入后,敌人发现没有什么东西使其能够“延伸”废除的证书的有效性。要那样做,其应在没有任何帮助的情况下成功基于X365-i而倒置单向散列H,其中其被欢迎尝试(且可在没有进入任何安全电子库的情况下进行真实的尝试)。最坏的情况,根据本发明,敌人可在成功进入后在系统中伪造有效证书的废除,因而阻止诚实的用户鉴别合法的事务。当然,这是坏的情况,但尚没有使不诚实的用户鉴别非法的事务一样坏。
分布式实施:安全性及运行费用分析
集中实施要求所有关于证书有效性的询问发送到同一电子库。在具有几百万活性证书的应用中,这很容易导致较长的耽搁及拒绝服务。为保护免于这样的拥塞、耽搁及服务拒绝,可将回答有效性询问的负载扩展到几个地理上分开的回应者服务器。然而,在OCSP的情况下,每一另外的回应者需要具有秘密签署的密钥,并因而需要被保存在电子库中,使得OCSP系统的拥有花费非常繁重。满足财务机构要求的高级电子库花费至少$1M来建立,及$1M来运行。(好的电子库应包含装甲的混凝土、钢门、备用功率发电机、受保护的燃料库以运行发电机潜在的一段时间等。运行它将涉及最少4个不同组的24×7×365运算,加上管理监督等。)在一应用中,要求10该电子库在峰值业务量时保证合理快的响应,OCSP系统的拥有成本将是$10M的初始投资及进行中的$10M每年的预算。即使使用较不安全的电子库及运算,几百万美元的初始及进行成本还是必须的。
然而,在本发明的优选实施例的情况下,可以使用一个电子库(其为CA无论如何应具有的)及任意数的“不信任回应者”(即普通服务器)可实现分布式实施。让我们看看根据本发明的分布式系统的准确细节,具体地,假定(a)有10M证书;(b)有1000个服务器,战略地位于全球各地以使响应时间最小;及(3)时间间隔为1天。
CA运行(初始化费用):每天早上,以最小的序列号开始,按如下编译10M记录阵列:对于具有序列号j的每一证书C,保存C的20字节有效性/废除证据在位置j。接着,注明F的日期并签署F并将其发送到1000个服务器中的每一个。
用户运行(询问费用):为知道证书C的状态,将C的序列号、j(及CA ID,如果必要)发送到服务器S。
服务器运行(回答费用):每天早上,如果接收到适当注明日期并签署的阵列F,用新阵列替换旧阵列。
在任何时间:通过返回当前F的在位置j的20字节值而回答关于序列号j的询问。
优选实施例的运行
1.即时准备阵列F
如果每一证书的整个散列链被保存,则每一记录仅仅通过表查寻操作计算。在另一实施例中,其还可被当场计算。
2.F不包含秘密
其包括还有效的证书及已废除的证书的准确的及全部账户。(CA的目标实际上是以最有效的方式使该非秘密的信息尽可能公开。)
3.直接将F传输到服务器
这样做是因为F不包含秘密,不要求加密,且不会造成安全风险。尽管10M证书量较大,在正常的时间间隔发送200M字节文件到1000个服务器是非常可行的。
4.每一服务器回答为20字节长
再次地,每一回答不要求加密、签名或时间戳。
5.没有诚实的拒绝服务
因为发送的每一值仅为20字节长,因为每一个这样的值被立即计算(通过表查寻),且因为业务量可被展开到1000个服务器,不应有拒绝服务发生,至少在系统的合法使用期间没有。
6.服务器不必被信任
它们仅转发由CA接收的20字节证据。由于是自我鉴别的,这些证据不可被改变且散列到相应的目标。
本发明的分布式实施继续享有同样的、其集中副本的末日保护:即,成功进入电子库的敌人不可能使废除的证书复活。然而,老练的对手忍住钻电子库中的空子,只要可能,其宁愿软件攻击。幸运地,尽管可能对撞分布式/集中的OCSP,软件攻击不能登上本发明的分布式实施。
在OCSP中,事实上,CA被要求接收来自不信任方的外部询问,并通过数字签名并因而借助于其宝贵的密钥回答它们。因此,存在这样的可能性,OCSP要求的“向外部世界开窗”可能被有敌意地使用从而暴露秘密签署的密钥。
用于对比,在本发明的分布式实施中,则没有这样的“窗口”:CA是在电子库中并永远不接收或回答来自外界的任何询问;其仅在定期的间隔输出非秘密的数据。事实上,每天(或小时)其输出包括公开信息的文件F。(CA可从其RA接收废除请求,但这些请求为经鉴别的通道来自较少的几个信任的实体—例如使用安全智能卡。)不信任的回应者从不信任方接收询问,但它们借助于它们的文件F并因而通过公开的数据回答那些询问。因此,在软件攻击本发明的优选实施例时,普通回应者仅“暴露”公开信息。
简化的PKI管理
PKI管理不是微不足道的。(见,例如,因特网公钥基础结构,部分III:Certificate Management Protocols;by S.Farrell,A.Adams,and W.Ford;Internet Draft,1996;Privacy Enhancementfor Internet Electronic Mail-PART II:Certificate-Based KeyManagement;by S.Kent and J.Linn;1989)。本发明的优选实施例可改善许多应有中的PKI管理,通过:(1)减少发出的证书的数量;(2)使能够对证书进行特权管理;及(3)与多个独立的CA共享注册功能。
让我们以一系列具体的例子非正式地阐释PKI管理中的改进。(注意,在一例子中使用的特征和技术可很容易地嵌入在另一例子中。我们不明确地这样做以避免无穷数量的可能变化。)
打开/关闭证书(及中止它)
例7:音乐下载
假定因特网音乐卖主希望让用户从1000个服务器的任一个以$1/天的费用下载他们想要的任何歌曲。这可用数字证书有效地实现。然而,在该例子中,U可能非常肯定其将在该年的某些天下载音乐,但他不能预期这些天是哪一天或是多少天。因而音乐中心需要为U发出不同的1天证书,无论U在何时那样请求:U请求这样的证书,并在支付或许可支付之后,其接收证书并继而在那天与1000个音乐服务器的任一个一起使用。然而,发出1天证书具有不同寻常的管理成本,既用于卖主也用于用户。且在用户希望享有另一“音乐日”时这些成本每次肯定被复制。
在优选实施例中,本发明可按如下减轻这些成本。U联系卖主的第一次,其可被发给具有发出日期D1=0、期满日期D2=365、及有效字段X365、废除目标Y1、及中止字段Z365的证书C。(卖主的CA建立与有效性字段一样的中止字段:通过以随机的20字节值Z0开始,并接着将其散列365次,在1天间隔的情况下。其接着保存整个散列链,或仅Z0,或使用适当的能产生任何想要的Zi的时间/存储方法。)在日子i=1,...,365,如果U请求那天的“音乐日”,则卖主简单地释放20字节值Z365-i以指明证书是有效的。否则其释放以指明证书是“暂停的”。否则,其释放Y0以指明证书已被废除。可选地,如果U和音乐卖主同意—假定—“音乐周在日子i开始”,则或用于那7天的20字节值在适当时间被释放,或单一的20字节值X365-i-7在日i被释放。
也就是说,与其无论U在何时希望下载音乐而给予U一新的单天证书,不如卖主给予一个1年的证书。在任何时间,该单一的证书可被在某天打开,其仅通过释放适当的20字节值。因而,例如,本发明的优选实施例通过发出每年的证书代替发出(及嵌入在用户的浏览器中)10单天的证书,因为其碰巧将在该年的365天中的10天打开。卖主还可使用上述方法发出先验地指明可被打开的天的数量的证书(例如,365天中的10天的证书)。因为其具有可预计的成本,这样的证书更适于作为礼物。
为同一用户打开/关闭许多证书
例8:安全验证管理
数字证书在保证只有适当的用户才可访问某些资源方面真地工作得很好。原则上,特权可被指明在证书自身上面。例如,国务院可具有10个不同的安全验证级别,L1...L10,通过发出类似下面的证书C,表示其具有授权的安全性级别5:
C=SIGSD(SN,PK,U,L5,D1,D2,...)
其中,D1和D2表示发出日期和期满日期。
然而,在证书自身上面指明特权可导致证书管理恶梦:无论其特权在何时变化,证书需要被废除。事实上,雇员的安全性级别可随其任务改变,其在同一年内经常改变。例如,如果U的安全验证级别被临时升级到3,则国务院应废除原始的C并发出新证书C。这个任务可被简单化,其通过使U因而及C’保持与以前一样的公钥(及期满日期)实现;例如,通过使:
C’=SIGSD(SN’,PK,U,L3,D1’,D2,...)
然而,U还面临将新C’“插入”其在各个地方的浏览器内的任务:其桌面PC、其膝上型电脑、其移动电话、其PDA等。现在,使CA以稍微不同的形式采取行动重新发出证书是一回事,但依靠用户采取行动是完全不同的另一回事。
如果使用短期证书(如在发出1天后过期),该管理问题仅被加剧。在本例子的上下文中,单天证书可使国务院雇员或用户U能够出席需要更高安全级别的会议。(如果U在适当的移动设备、智能卡甚或磁条卡中具有这样的证书,其可,例如,使用证书打开通向该天的会议的门。)短期证书的使用非常广泛,并已被提倡,因为其很大程度上省却了废除的困难(没必要废除将在24小时内过期的证书,至少在大多数应用中是这样)。然而,发出短期证书使得它们位于所有有关用户的浏览器中还是有管理成本。
这些管理成本可通过按如下使用本发明的优选实施例而得以减轻。假定1天的时间精确度就足够了,国务院发给用户U一证书,其包含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的废除字段。证书C被按如下使用。在天n,如果U还在位(即证书C还有效),且U的安全验证级别为5,则国务院公开(如,发送给其所有在分布式NOVOMODO实施中的回应者)20字节的有效性证据E365-n。如果在天m,U的安全验证级别变为2,则国务院公开B365-m。以此类推。一旦C变成无效的(如因为U被终止作为雇员或因为U的密钥被危及),则国务院公开Y0(且从其存储器擦除)“未来的”A、B、C、D、E、F、G、H、I和J值。
这种方式,尽管内部指明其自己的特权,当它们的特权以正常方式变化时,证书C不需要被废除,且用户不必在他们的浏览器中装载新证书。实质上,本发明的优选实施例具有这样的最小痕迹,CA(而不是发出、废除、再发出许多有关的证书)能够非常简单地发出一个证书,具有非常高的不被废除的可能性(因为安全验证级别的变化并不转化为废除)。因此,很少有证书将停止被发出或废除在该应用中,从而导致更简单的PKI管理。
总之,本发明的优选实施例代替关于一组动态变化的特性或属性的复杂的证书管理,其通过单一的证书(具有最小的额外长度)及单一的20字节值用于属性实现。
电信公司可使用类似于例2的方法来将无线设备从一收费表切换到另一收费表,如用于漫游的目的。
房东CA和租户CA
主要的PKI成本与RA功能有关。事实上,识别用户U可要求昂贵的个人会见并验证U确实知道正确的密钥(对应于将被证明的公钥PK)。如果该RA功能可在许多CA中共享则是很好的,同时使它们对它们自己的证书保持完全独立的控制。
例9:机构证书
政府及大的机构包括并列的及分级的分支机构:部门、营业单位等。雇员可能与两个或多个分支机构有从属关系。例如,在美国政府中,其可为NIST及商务部工作。为每一这样的从属关系发出数字证书将导致证书的总数很高,并导致复杂的PKI管理:每次雇员停止/增加一个其从属关系时,最好废除相应的证书/发出新证书。理想地,两个对立面应被协调:(1)机构仅为每一雇员发出一个证书,及(2)每一分支机构为每一其从属关系发出并控制单独的证书。
这两个对立面可按如下由本发明的优选实施例协调。在开始,应注意本发明的优选实施例与将证明过程分离于确认过程是一致的,第一过程由CA控制,第二过程有确认机构(VA)控制。例如,假定1天的时间精确度,一旦CA准备发出具有序列号SN的证书C,其将SN发送给VA,其选择Y0和X0,秘密地保存三元组(SN,Y0,X0),照常计算Y1和X365,并接着将Y1和X365返回给CA,其将它们包括在C内。这种方式,CA不必打扰对C的确认:CA独自负责识别用户并适当地发出C,而VA是唯一可证明C有效或已废除的机构。该分离可被以各种方式使用,以使机构证书灵活地反映内部的分支机构动态。下述的仅是这些方式中的一个,并使用政府及部门作为运行的例子。政府总体上将具有其自己的CA,每一部门也将具有自己的CA。
设想k个不同的部门具有相应的CA,CA1...CAk,及1天的时间精确度,政府证书C具有下面的形式:
C=SIGGOV(SN,PK,U,D1,D2,X365,Y1,[X365 1,Z365 1],...,[X365 k,Z365 k])
其中,照常,SN是证书的序列号,PK是用户的公钥,U为用户的身份,D1为发出日期,D2为期满日期,X365为有效性字段,Y1为废除字段,且其中X365j是CAj的确认字段,及Z365 j是CAj的中止字段。
这样的证书由具有来自部门CA的输入的政府CA产生。在识别用户U并选择唯一的序列号SN、发出日期D1、及期满日期D2之后,政府CA将SN、PK、U、D1、D2(最好以鉴别的形式)发送给每一部门CA。第j个这样的CA接着:选择两个秘密的20字节值X0 j和Z0 j;保存(SN,PK,U,D1,D2,X0 j,Z0 j),或更简单地,(SN,X0 j,Z0 j);并返回用于在位置j(或使用“标签”j)将其组合在政府证书中。
该证书C按如下用本发明的分布式实施管理,使得工作为1证书、2证书、…、k证书;即,作为k个独立的证书,每部门一个。在天n,设想100个响应者:如果C还有效,政府CA发送20字节值X365-n给所有100个响应者,否则发送Y0。接着,第j部门CA发送20字节值X365-n j之给所有100个响应者,以表明C可作为j证书而被依赖,否则发送Z365-n j。
因此,政府CA独自负责识别用户并发出证书,但每一部门CA可独立地管理实际上是其自己的证书。(这是绝对至关重要的。如果CA1为司法部门,CA2为DOD,则尽管有一些重迭的兴趣,最好每一个单独行动)。所得的证书系统运行非常经济。首先,证书的数量被大大减少(原则上,仅有一个证书用于雇员)。第二,特定的雇员在不需要废除旧证书或发出新证书的情况下可离开并加入不同的部门。第三,不同的部门CA可共享同一响应者。(实际上,无论何时,特定用户从属于特定部门不是秘密的起码的事实—某些事对于大多数部门将是真的—服务器实质地仅包含“可公开的信息”。)因而,关于作为j证书的C的状态的询问被用两个20字节值回答:一个作为政府证书,个作为j证书。这使得一个或多个能够敏捷地废除在“集中级别”的C(如,如果U丢失了对应于PK的密钥)。
例10:
在上述例子中,证书C仅可以集中的方式废除,但其可容易地安排,废除的责任被推到各个部门。例如,为使第j部门CA能够完全自治地废除并中止C作为j证书,C可采取下述形式:
C=SIGGOV(SN,PK,U,D1,D2,[XN1 1,Y1 1ZN1 1],...,[XNk k,Y1 1,ZNk k]).
同样,不同的部门对它们自己的证书可具有不同的时间精确度。这通过使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。)
在一个机构内,发出按上述构造并管理的证书的一个主要优点包括:使证书能够保持有效的,尽管用户从一个分支机构移到另一分支机构。然而,应该认识到的是,上述技术还可用于单一机构范围之外。事实上,政府CA可被看作为房东CA,k个部门CA看作服务不相干机构(而不是分支机构)的租户CA,且证书可被看作租用的证书。该术语借自更常见的例子,其中应用“联合结构和独立控制”的优点。租用的证书事实上模拟于具有同一层痕迹的标本建筑。
而不是仅其自己的房间的建筑,富裕的建筑商建造20层的建筑,将其自己置于小棚屋房间,而将其它层的好房出租或出售。20个租户的每一个接着充作单一的所有人。其完全自治地并不依赖于建筑商地决定谁将被允许进入其公寓及谁将被给予钥匙。当然,20层建筑较单层的20倍便宜:其可能正好花费10倍。该经济节约在租用的证书中甚至更显著。事实上,发出正常证书的成本及发出租用的证书的成本完全一样。因而,发出租用的证书对房东CA是非常有利的,或至少可完全偿还其自己的证书产生的费用。另一方面,租户CA也具有它们自己的优势,实际上:它们节约了发行费用:它们共享发出证书k的费用,且它们节约了基础结构费用:它们共享同一响应者(因为它们仅包含公开数据)。
用作外部租户CA的房东CA的自然候选人为:信用卡公司、大的财务机构、及政府(如经USPS或IRS)。实际上,在许多情况下,它们与几百万“用户”具有长久的和密切的关系,并可能在不投资太多资源用于用户识别的情况下更容易地发给他们一数字证书(如,信用卡公司已将年度账单发送给其客户,并可补充支持该知识)。信用卡公司可能喜欢作为房东CA发出证书的想法,以更有效地运行其自己的类似程序(具有宾馆链、航空公司等作为他们的租户)。IRS可能已经决定使用数字证书,及租用的证书可能随后将提供他们以收入流,其将偿还建设快速的和更好的服务所产生的费用。
例11:
迄今为止,我们已描述房东和租户CA的方式要求房东CA在发出过程期间与其自己的租户CA合作,并因而其已经预先识别其租户CA。然而,对于房东CA,发出租用的证书设想—假定—20个租户CA实际上是可能的,并未已识别所有或任一这些租户。更合适地,未来的租户CA将能够出租已经发出的证书中的空间。该能力对新证书使能的应用是理想的。而不是忍受发出证书给几百万客户所必须的开支,提供新证书使能的产品的公司可着手处理房东CA,其具有发出的几百万证书,在设备之后出租他们中的空间,并接着签订客户作为大部分房东CA用户,其通过彻夜打开他们所有的相应证书(没有任何客户识别及其它发行费用)并接着根据其自己的规则启动管理他们。我们将在下文中描述各种使能该功能的技术。
另外的系统
设备确认系统
现在让我们看看,我们可怎样使本发明的技术适于设备(如移动电话、PDA、射频识别权标、PC、膝上型电脑、VCR、网络设备、路由器、防火墙、置顶盒、CD播放机、游戏机、DVD设备等)。
例如,有十足的能力打开这些设备,或让它们继续运行。如果设备被偷窃,例如,希望其不再运行。另一方面,如果其未被偷窃,则其将继续正常地运行。类似地,如果用户“租用”该设备,或支付订费,或代表公司使用设备(如该设备是公司的膝上型电脑),如果其不再支付租金或订费,或不再为公司工作,则设备需要被关掉/禁用。否则,设备应正常运行。同样,这些设备可以动态的方式打开、关闭、再打开。
当然,这些功能可借助于根据本发明的优选实施例的系统来实现。实质上,再次假定,用于具体的但没有任何限制的目的,以每天的间隔,设备可携带数字证书C,其指明有效性字段X,及设备仅在其具有每天的关于X的有效性证据时才可在特定天工作。设备可具有信任的/受保护的时钟来避免被欺骗。设备(特别是移动设备)可被“推”以其自己的每天的有效性证据。或者,设备可向第二实体请求其该天的有效性证据。例如,设备可提供其序列号并接收作为回应的该天的有效性证据。
这可以工作是因为有效性字段的整体性由证书保证,并因而由CA的X的数字签名保证(连同其它信息,如日期信息)。然而,我们可以下述另外的方式保护X的整体性:即,通过以不可改变的方式“烧进”设备:例如,通过将其写入只读存储器中,即芯片(智能卡/PDA/电话/膝上型电脑等芯片组)。在这种方式中,设备的用户不能以任何方式改变X。证据验证算法还可被烧进。从而,一旦特定日的所谓的有效性证据P出现,则P被散列适当的次数并接着与烧进的X比较。更普遍地,在此可使用单向函数F,而不是单向散列函数。从而,整个过程包括制造看起来像这样:
第一实体产生初始值IV,并在V的基础上将单向函数F迭代给定的次数,使得获得最后的值FV。第二实体(可能等于第一)将X烧进设备D。设备D具有迭代函数F的装置。设备D随后接收所谓的第n证据值PV,其中n为正整数,并通过基于PV对函数F迭代n次而验证PV并检查所得的值是否等于烧进的值X。
设备D可询问其自己的时钟以确保第n证据值对应于当前日期。当前日期实际上可以是自固定日期开始的日期序列中的第n日期。固定日期也可被烧进设备中以保护其整体性。
在每一迭代,函数F可接收另外的输入作为输入(不仅仅是先前计算的值,还有)。例如,D的标识符可以是在每一迭代时的输入。该另外的输入在每一不同的迭代时也可以不同。例如,整数k可以是在迭代k时的输入。
同样,不可能只有一个单向函数F。事实上,有一连串单向函数,且Fk可以是在迭代k应用的函数。
有效性字段X(实质上对D是唯一的)还可被用作D的标识符(或其的一部分),以分别节省对D的序列号和有效性字段的处理。
迄今为止,所描述的系统可被用于打开或关闭特定的设备D。但其还可被用于打开或关闭特定的唯一一个功能或几个可能功能中的一个。例如,X可以是对于功能FX的有效性字段,Z为功能FZ的有效性字段,以此类推。在这种情况下,接收关于X(Z)的有效性证据意味着功能FX(FZ)在那天在设备D上被打开。这样的另外的有效性字段Z……还可被烧进设备D。同样,其功能与X/Z/……关联的描述/标识符也可被烧进。
如果可能的功能的数量(及有效性字段的数量)较大,则有效性字段可被Merkle散列并接着Merkle树的根值可被烧进。在这种情况下,要打开功能FX(在特定天),可向设备提供适当的关于X的有效性证据(对于那天的),连同在Merkle树中从X到根的鉴别路径。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,如果确认者希望设备再多活动一天,其公布(如发送给响应者)值Vj=H(K,j)。现在假定设备在已经于天d活动后在天j被打开,并接着在天j以前被关闭。则设备已将值Vd=H(K,d)或最近天的指示器(如d)保持在存储器中。设备将不会再次运行直到其在天d后得到有效性证据。或者,设备自己持续保存—如在一个变量中—其在天d期间已工作的时间量。因此,当设备被关闭时,其不仅可记住d,而且还记住如6小时10分钟。因而,当其被再次打开时,其将继续工作17小时50分钟。在其后,其其将要求d之后的日子的有效性证据。现在假定设备真地在天j>d被再次打开。则设备获得用于天j的(所谓的)有效性证据Vj(如,在向响应者请求后,其被推以那样的证据或其接收那样的证据)。接着,设备试图看Vj是否是当前在存储器中的证据Vd之后的有效性证据(或关于存储器中的天d之后的天)。例如,设备使用其密钥K继续产生Vd+1,Vd+2…直到值Vj被产生(或者直到超出给定的天数—如设想我们根本不再关心设备在10000天后的工作)。如果这是那样,则其将自己打开另外的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-2和Vj-1。则这样的敌人可至多反馈这两个值给设备并使其至多再工作两天。
例13:
该方法实质上如例11中公开的方法一样工作,其使用一连串不可预知的值,在一连串日期的每一日期(如,非限制性的,天)公布或使其可用于设备,时钟不安全等,但没有在设备中使用密钥。例如,设备保存Xk及如上所述并使用同样的变量基于初始值X0迭代一(或多个)单向函数F k次的结果。接着Xk被写入防火墙(如以不可改变的方式)或保存在存储器的受保护的部分。天j的有效性证据简单地为Xk-j,如本发明的基础方案中那样。再次地,中止和废除可以类似的方式出现。
RTC物理访问结构
在混合环境中的多特权管理
加强的访问控制系统必须回答用于每一用户的两个问题。第一问题为鉴别或识别:“你是你说的那个人吗?”该问题通常通过识别证章、钥匙生物测定特征或密码而直接或间接地提出。这些为长久的用户识别提供了合理的回答,但没有提出时间更紧急的确认问题:“你当前被允许做你想做的了吗?”
例如,识别证章可告诉你Alice已在最近的10年作为雇员被雇请,但不能单独地确定她依然是具有计算机服务器房间的访问许可的雇员。
对于物理访问控制,安全的锁必须通过鉴别来确定身份,并接着执行确认以确定用户当前的特权是否允许进入。某些锁通过有线的网络连接到中央托管的许可机构来执行该确认。整个基于网络有线锁的物理访问解决方案具有两个很大的限制。每一有线锁的成本包括安全配线、现场控制面板、及劳工的成本,总共每门几千美元。有线结构的区域限于可通过永久网络而轻松地访问的锁。这阻止了用于移动的或很难到达那些如汽车、存储集装箱、有用的橱柜等上的锁的加强的访问控制。
根据本发明的优选实施例的实时凭证技术提供了安全的方式,其对有线的及分离的锁执行有效的物理访问确认。这允许智能门锁在不要求到每一锁的昂贵网络连接的情况下确认当前用户的特权和许可。
本公开内容描述了几种结构,其可用于基于大量独立的用户特权而提供分离的确认。每一结构提供与现有的访问控制硬件和软件的互用性,以用在不同种类的安装中。对于每一结构,本文将描述实时凭证是怎样提供另外的灵活性的,同时引人注目地降低了高安全性的总成本。
下面,描述的所有四个结构特征在于同一RTC确认过程。在这些方案之间的主要区别在于鉴别用户的过程,其影响价格及与现有访问解决方案的兼容性。
无接触ID/存储器
第一RTC确认结构为基于具有读/写存储器访问的无接触ID卡的访问控制环境。这被使用普通的MIFARETM标准无接触卡作为例子进行描述,但该确认解决方案可同样用于任何存储器ID卡。
当MIFARE ID卡被用在当前网络化的物理访问环境中时,锁从卡读ID并将其传输给附近的面板或服务器,其检查特权并执行确认。鉴别过程为卡ID的确定,确认过程被基于该ID而远程处理。
本发明的物理访问解决方案可保持与该种有线门的兼容性,并增加对分离的门的支持,其通过使用卡的读/写存储器以保存该卡的数字签署的“确认证据”而实现。该证据被定期在任何网络化的读卡机写到卡中,接着其可在任何分离的锁处被读以建立该用户的当前有效性及许可。
下面的表示出了保存在卡上的RTC确认证据的逻辑内容,连同每一组成的存储要求:
卡ID:#123456 4字节
状态:卡有效 1字节
开始时间:8/4/03 09:00 4字节
结束时间:8/5/04 08:59 4字节
授权:ACME Inc. 20字节
特权:R&D实验室 1位到10字节
停车 1位到10字节
柜53 1位到10字节
终端B 1位到10字节
数字签名 42字节
总大小:~100字节
当用户通过有线门进入一设施时,门检索用户的上述格式的全部确认证据,并将其放置在卡上的存储器区域中。一旦证据被装载在卡上,分离的锁可通过下述步骤确认用户的许可:
(1)通过检索用户的卡ID执行标准鉴别;
(2)从存储器检索RTC确认证据;
(3)验证数字签名与信任的机构的现有公钥匹配;
(4)验证证据是最新的(使用开始和结束时间);
(5)验证卡是有效的;
(6)基于证据的特权检查随机访问控制需求。
分离的锁基于特权而不是单个用户的ID被配置以一套访问控制规则。例如,锁可被配置来仅允许用户有“停车”特权,且仅在营业时间。由于单个用户的特权可通过RTC确认证据改变,当添加新用户时锁本身不需要被改变或抹掉以改变访问许可。此外,锁不需要保存任何密钥或数据,其意味着单个的锁可被分解,而不降低整个系统的安全性。
根据本发明的优选实施例的RTC确认证据具有使它们对物理访问控制环境非常有功效的某些特征。由于证书是数字签署的,它们是不可伪造和纂改的证据。由于证据不包含任何密钥,它们可以是公开的,并没有安全风险的传输。证书足够小以被保存在低端存储卡上。
这些特征允许RTC确认证据用在如MIFARE标准的卡中,同时还对每卡数千独立用户特权提供高安全性密码确认。
成本。MIFARE1k标准卡可在$1到$5之间获得,其价格取决于制造商和容量。基于MIFARE卡和RTC确认技术的分离的锁可在每门$500以下制造。使用该装置,单个的门或容器在$1000以下即可是安全的。
安全性。简单的ID鉴别针对复制和伪造提供较弱的保护。与PKI保护结合的第二和第三因素鉴别可用于增加鉴别安全性。凭证确认由强大的PKI加密保护,防止许可伪造和修改。
无接触共享的秘密
RTC凭证确认还可与身份证如HID的iClass一起使用,其使用直接或间接与所有读卡机共享的密码信息执行确认。锁将使用随机的挑战/响应协议对卡执行鉴别,前述协议证明卡知道对其ID的秘密通信。
用于共享的秘密卡的RTC确认与用于简单的ID卡的确认是一样的。当用户进入有线的门时,锁将当前RTC确认证据写到用户的卡上。该证据随后由分离的读卡机检索以用于离线确认。
成本。具有存储器的无接触共享的秘密卡可在$5到$10之间获得,其价格取决于制造商和容量。基于共享的秘密卡和RTC确认技术的分离的锁可在每门$500以下制造。使用该装置,单个的门或容器在$1000以下即可是安全的。
安全性。共享的秘密鉴别减少了单个卡的复制机会,但单一的离线读卡机可允许许多卡的复制。凭证确认由强大的PKI加密保护,防止许可伪造和修改。
无接触PKI
能够执行公钥数字签名的卡提供最高级别的鉴别安全性。这包括基于MIFARE PRO X芯片的卡及许多高端JavaCard。锁在不要求锁中的任何敏感信息的情况下可基于挑战/响应协议鉴别卡。这大大降低了钥匙复制的风险。
用于公钥卡的RTC确认与用于简单的ID卡的确认是一样的。当用户进入有线的门时,锁将当前RTC确认证据写到用户的卡上。该证据随后由分离的读卡机检索以用于离线确认。
卡的公钥通常将由数字证书表示,其可被用于另外的应用如计算机访问及电子邮件安全。高端公钥卡可支持另外的应用如信息安全或保存的值,其有助于降低每一应用的总成本。
成本。无接触PKI卡可在$10到$20之间获得,其价格取决于制造商和容量。基于MIFARE卡和RTC确认技术的分离的锁可在每门$500以下制造。使用该装置,单个的门或容器在$1000以下即可是安全的。
安全性。PKI卡能够对锁提供强大的密码鉴别,具有较低的危及钥匙风险或卡复制的风险。凭证确认由强大的PKI加密保护,防止许可伪造和修改。
遍历散列序列的技术
H为单向散列函数。长度n的散列链是值x0,x1,...,xn的收集,使得H(xi)=xi-1。当xi-1很容易从xi计算时,由于H的单向性,相反方向的计算是不可行的。
下面是散列链的表示:
X0(H)x1(H)...(H)xn-1(H)xn
在许多应用中(如,文档确认及特权管理服务),能够遍历散列链是必要的,即在某一时间段(如为一年的一天输出一值)按顺序产生值x0,x1,...xn(在上述链中,从左到右)。注意,左到右的顺序使该问题很难,因为H的单向性。在通过简单地重复应用H而很容易以顺序x0,x1,...xn产生和输出时,相反的顺序要求更多的时间和/或存储器。
两个明显的途径是:
仅保存一值xn,及,为了输出xi,计算Hn-1(xn);
保存所有值x0,x1,...xn,当它们被输出时将其擦除。
第一途径要求两个散列值(一个用于xn,另一用于计算xi)的存储及总共n(n+1)/2次H的求值,或者,平均地,每值输出n/2次的求值。第二途径要求n+1个散列值的存储及共n次H的求值,或者平均地,每值输出1次求值。
我们感兴趣的是中间的方案:提供其它存储器(保存的散列值数量)对时间(所需的H的求值的数量)的平衡。
一算法已在现有技术中提出,其导致下述平衡:保存散列值,且至多每散列值输出次H的计算。(见Don Coppersmithand Maruks Jakobsson,Almost Opt imal Hash Sequence Traversal,in Matt Blaze,editor,Financial Cryptography:SixthInternational Conference(FC’02),Southhampton,Bermuda,11-14,March 2002)。
具有常数存储器的新算法
Jakobsson的方法要求关于log2n散列值的存储,且在只有较少的存储量可用时不能使用该方法。注意,对于长度365的散列链,这意味着9个值需要被保存,对于长度1000000的散列链,这意味着20个值需要被保存。我们更愿意使用要求较低存储量的算法。此外,我们希望能够独立于散列链长度而指明存储量要求。这种方式,同样的存储量将被要求管理短链及长链;因而,如果散列链变化,则不需获得新的存储器。
为了论证该算法的方便。我们称值j为算法在位置j保存一卵石。接着卵石被“允许”:(i)移到另一卵石所在的位置(这对应于拷贝值),或,(ii)自其当前位置向左移一步(这对应于求值H)。初始地,卵石可起程于散列链上的随机位置。
注意,卵石的数量对应于保存的散列值的数量,卵石向左一步所花的时间数量对应于H的求值数量。接着,我们的目标是提出在给定特定量的卵石的情况下降低卵石步骤(我们将称为“成本”)的数量的算法。
两个卵石(Pebble)
很清楚的是,如果xn未被保存,在n总是需要一卵石,当其在遍历结束时被需要时,没有办法去重新获得它因而没有办法输出它。同样清楚的是,在当前位置i总是需要一卵石,以能够输出xi。因而,至少需要两个卵石。
如果只使用两个卵石,则它们之一必须总是呆在xn,而另一个没有任何选择,只能每次从xn开始并移到xi。因而,两个卵石的最好算法需要花n(n+1)/2步,或平均每输出n/2步。例如,对于长度1000000的散列链,每值输出的步骤的平均数是500000。
三个卵石
如果在绝对必要的2个卵石基础上增加一个卵石,其结果是我们可引人注目地改善步骤的数量。
我们将按如下进行:将散列链分成长度为s的间隔,其中(注意,将有n/ssqrt{n}个间隔)。将卵石数3放在xn,卵石数2在xs。接着,使用上述的两卵石算法,使用卵石数1遍历点x0...xs(每次在xs开始)。接着将卵石数2放在x2s(通过在xn开始并向左移动),并再次使用两卵石的算法遍历xs+1,...x2s。继续以这种方式,对于长度s的间隔,每次均使用两卵石的算法。
该算法的步骤的总数可计算如下:使用两卵石遍历每一间隔,我们需要s(s+1)/2步。此外,在遍历前将卵石数2移到每一间隔的开始,我们需要(n-s)+(n-2s)+...+s+0(n/s)(n/2)步。调用则没输出值的平均步骤数为
因而,增加到三个卵石与最小的两个相比,可允许我们将每值输出的时间从n/2减少到sqrt{n}。该减少实际上是引人注目的:例如,对于长度1000000的散列链,每值输出的步骤平均数为11000(而对于两个卵石,则需要500000)。
四个卵石
如果我们还有其它卵石可用,我们可再次将散列链分为间隔。这次,我们将设定s=|sqrt{n(2/3)}|,并将整个链分为长度为s的n/s n(1/3)个间隔。
接着我们将卵石数4放在n,并将其使用为卵石数3的开始点,其将移到大小为s的每一间隔的开始点,以从左到右的顺序。在每一间隔,我们将使用上述的三卵石遍历算法。即,我们还将每一间隔细分为大小为的子间隔,并将卵石数2放在每一子间隔的开始,以从左到右的顺序(卵石数2将开始,每次,及卵石数3)。接着卵石数1将遍历子间隔,每次在卵石数2开始。
因而,遍历每一间隔的成本将为sqrt{s},或|n(1/3)|每值输出。这样,我们不得不增加将卵石数3移到每一间隔的开始的成本。卵石数3将被移动n/s次:首先n-s步,接着n-2s步,以此类推,得出每值输出(n/s)/2n(1/3)/2的平均成本。
因而,每值输出的步骤的平均数为|1.5n(1/3)|。再一次地,使用长度1000000的链,每值输出的步骤的平均数为150。
推广到更多的卵石
从上述例子形成的更一般的技术如下:给定c个卵石,将散列链分为每一长度为n((c-2)/(c-1))的n(1/(c-1))个间隔。在每一这些间隔上使用c-1个卵石的技术。每值输出的平均成本将为((c-1)/2)n(1/(c-1))}。
该推广被认为不仅可用于常数的卵石,而且,例如可用于c=1+log2n。在这种情况下,使用等式n1/log2n=2,使用我们的算法我们计算每值输出的平均成本将为log2n。
改善最坏情况的费用
即使上述技术获得了较好的一般情况的每输出值成本,某些输出值将较其它值花更长的时间计算。
例如,采用3个卵石的例子。每次我们遍历s卵石时,我们不得不重新定位卵石数2。因而,在间隔的最左端的输出值将花更长的时间计算;例如,要计算xs+1,我们将需要进行n-(s+1)步。另一方面,在间隔内的所有其它卵石将至多s步。
当然,在一些应用中这可能出现严重的问题:所涉及的计算装置不得不足够快以处理这些“坏”的情况。但如果其已经那样快时,则看上去不具有较好的“一般”情况:我们还宁愿需要强有力的计算装置,其在一般情况下简单地闲着。
为了防止这个问题,我们需要使最坏情况的输出值成本接近于一般情况的输出值成本。在三个卵石的情况下,这可通过仅增加一个额外的卵石实现。称为卵石“2a”。其工作是提前移到卵石2接下来将移到的位置。例如,当卵石2位于点s时,卵石2a将在点n开始移向点2s。其将在卵石2需要在点2s时准确地到达点2s—在值s被输出之前。
因而,在任何给定的大小为s的间隔正被遍历时,卵石2a将在位置n开始并向左移到下一间隔的开始。注意,卵石2a需要较n步少的步骤以到达其目的地。对于卵石2a,明显的途径是采取至多n/s步用于间隔中的每一输出值。这可导致每输出值步的最坏情况的成本。然而,注意,可做得更好:因为卵石1对于间隔左端的值较间隔右端的值将花更多的步骤,为减少最坏情况的成本,卵石2a应“慢慢地”起程并接着“加速”。这种方式,卵石1和2a所用的步骤总数将为常数。具体地,卵石2a首先花(n/s)/2步,接着花(n/s)/2+1步,以此类推,直到间隔的最后值被输出时的3(n/s)/2步。这将最坏情况的成本进一步减小到
应注意的是,步骤总数因而及每输出值的平均成本不会随该额外的卵石的添加而增加。这是因为,额外的卵石将不做任何额外的工作,只是稍微提前做工作。因而,对于长度1000000的散列链,最坏情况的成本将是1500,而一般情况的每输出值成本为1000。
该方法可延伸到更多的卵石。如果我们采用具有4个卵石的解决方案,并增加卵石2a和3a,其分别提前移到卵石2和3的适当位置,我们将把最坏情况的成本减小到|2n1/3|。再次使用长度1000000的链的例子,最坏情况的成本将是200,而每输出值的一般情况的成本为150。
因此,一般而言,使用2c-2个卵石,我们可以每输出值((c-1)/2)n{1/(c-1)}的平均成本遍历散列链,且对于任何给定的输出值,最坏情况的成本为(c/2)n{1/(c-1)}。
再次,该推广被认为不仅可用于常数的卵石,而且,例如可用于c=1+log2n。在这种情况下,使用2log2n个卵石,我们的算法将以每输出值log2n的平均成本遍历散列链,且最坏情况的成本为1+log2n。
最佳解决方案
下面我们描述,给定任何数量c的卵石,用于获得具有可证实地最佳总(因而及每输出值的平均)计算成本的算法。然而,注意,对于较小的值c,该可证实地最佳解决方案相比于上面的解决方案仅将稍微地较少步骤数。
假定我们具有c个卵石。我们必须保存xn,其占有1个卵石。接着,另一卵石将被移到xk(某些k将在下面确定),其对xn应用H n-k次。接着,递归地,对c个卵石使用最佳解决方案以按顺序输出值xk+1,...,xn。这再次等于遍历了一较短的链—长度为n-k,因为第一k值已经被遍历。
现在,定义F(c,n)为遍历长度为n的散列链所必须的步骤数,同时在任何给定时间保存不多于c个卵石。很明显地,对于任何c≥1,F(c,O)=0,及对于任何n,F(O,n)=。接下来,在我们的上述方法中,F(k,n)=minkF(c-1,k)+F(c,n-k-1)+n-k,且k应被选择使得F(c,n)最小。
对于特定c和n,发现最佳点k是以memoization(a.k.a.动态编程)递归的简单事情。我们提出用C语言实现该任务。这样的最佳点可被提前容易地发现,并继而集成在散列遍历编码中。
我们的用于任何数量的存储器的最佳解决方案的实施
#include″stdio.h″
int**table;
int**ktable;
int f(int r,int n)
{
intk,t_min=-2,t,k_min=-2,t1,t2;//-2 Stands forinfinity;
//-1 stands for uninitialized
if(table [r] [n]!=-1)
return table [r] [n];
if(n==0 & & r>0) {
table [r][n]=0;
ktable [r] [n]=0;
return 0;
}
if(r==0) {
table [r] [N]=-2;
ktable [r] [n]=-2;
return-2;
}
for(k=0;k<n;k++) {
t1=f(r-l,k);
if(t1==-2)
continue;
t2=f(r,n-k-1);
if(t2==-2)
continue;
t=t1+t2+n-k;
if(t<t_min ‖ t_min=-2) {
t_min=t;
k_min=k;
}
}
table [r] [n]=t_min;
ktable [r] [n]=k_min;
return table [r] [n];
}
void main()
{
int max_r,max_n,i,j;
printf(″max balls:″);
scanf(″% d″,&max_r);
printf(″chain length:″);
scanf(″% d″,&max_n);
table=(int**)malloc((max_r+1)*sizeof(int));
ktable=(int**)malloc((max_r+1)*sizeof(int));
if(table==NULL ‖ ktable=NULL){
printf(″Out of memory!\n″);
return;
}
for(i=0;i<=max_r;i++){
table[i]=(int*)malloc((max_n+1)*sizeof(int));
ktable[i]=(int*)malloc((max_n+1)*sizeof(int));
if(table[i]==NULL ‖ ktable [i]=NULL) {
printf(″Out of memory!\n″);
return;
}
for(j=0;j<=max_n;j++)
ktable[i][j]=table[i][j]=-1;
}
for(i=0;i<=max_r;i++)
for(j=0;j<=max_n;j++)
f(i,j);
printf(″\nTable for F(r,n)--the number of steps needed:\nn\\r″);
for(i=0;i<=max_r;i++)
printf(″% 6d″,i);
printf(″\n″);
for(j=0;j<=max_n;j++){
printf(″%6d:″,j);
for(i=0;i<=max_r;i++)
printf(″%6d″,table[i][j]);
printf(″\n″);
}
printf(″\nTable for k--theoptimal position toput thefirst pebble:\n n\\r″);
for(i=0;i<=max_r;i++)
printf(″%6d″,i);
printf(″\n″);
for(j=0;j<=max_n;j++){
printf(″% 6d:″,j);
for(i=0;i<=max_r;i++)
printf(″% 6d″,ktable[i][j]);
printf(″\n″);
}
}
\end{verbatim}
私钥安全物理访问(在类似KERBEROS的设置中的实时凭证)
一般而言,想定可包括多个门及多个用户。此外,访问可由多个机构控制(每一机构控制通过某些门的访问,用于不同机构的一批门可能重迭)。在大多数一般情况,访问通过使用户将凭证提交给门而进行控制(这样的凭证的验证可能要求用户和门的交互,如PIN输入,及门和用户卡之间的消息交换)。在门的情况下,以最少的成本支持访问安全性是特别重要的,甚至不将门连接到网络或任何特定的服务器。
一个重要的发现是,无论我们使用什么凭证,我们的RTC技术可得到重要的安全性、基础结构及成本利益。RTC可连同公钥密码方法(证书、公钥签名、PKI)及私钥密码工具(对称的或私钥签名及加密、类似Kerberos的系统等)一起使用。
使用公钥技术对分离的门进行访问控制已被提出。在此,我们描述怎样将这些想法适用到私钥技术。
基本原语
加密、签名、假随机函数
特别地,私钥加密、私钥签名(aka MAC)、私钥随机函数均是我们将使用的典型的私钥原语。对于我们的许多目的,这些原语可被交替地使用。例如,确定性的私钥签名方案(在共享秘密签署的密钥SK的两个实体之间)及随机函数Fs(其种子在两个实体之间共享)实际上可被认为是等价的。二者均产生对第三方而言不可预知的输出,第三方可能直到对应的输入,但不是SK或s。例如,返回具有密钥SK的x的数字签名的函数FSK(x)在实践中可被认为是一个较好的具有种子SK的足够假的随机函数。另一方面,函数Fs(x),其在输入x的基础上返回在具有种子s的假随机函数F的x的值,可被认为是具有密钥s的私钥签名算法。
单向及单向散列函数
我们还将使用另外的基本原语:单向函数F和单向散列函数H。实质上,函数F是单向的,如果(1)给定输入X,可有效地计算F(X),同时,(2)给定F(X),其中X最好已被足够随机地选择以足够地不可预知,计算X实际上是不可能的(如,原则上,因为太多的X值不得不被尝试,且没有有效的方法来缩小可能的候选值的数量)。函数H为单向散列函数,如果其是单向的且(尽管最好使较长的输入匹配较短的输入或任意长的输入,如160位长)难于发现两个截然不同的输入X和Y使得H(X)=H(Y)。
在实践中,我们可使用单向散列函数H构建其它原语。例如,私钥签名可以下面的简单方式构建。要用密钥SK签署消息M,可计算H(SK,M)。即,适当地结合SK和M—如,连接它们—并接着散列该结果。当然,要签署M并注明M的日期,可增加日期d到该结合中,因而代之以计算H(SK,M,d)。类似地,假随机函数可按如下构建。基于输入x,要产生具有种子s的假随机函数的输出,可计算H(s,x);即,可适当地结合s和x,并接着应用单向散列函数到该结果。
安全物理访问
我们只关注由私钥设置产生的新的方面,而跳过那些可自然适于新想定的普通方面(如,每日的/正常的计算方面等)。我们以简单的想定开始。
单一机构
让D为门(具有所述的机制),A为希望控制D的访问的机构,及U为用户(可能为A工作),再次地,具有一卡CU,具有适当的标识符等。接下来,A可通过与D共享密钥SK而控制D的访问。如果A希望授权U在天d(时间间隔d)访问D,其计算证据PUDd,A以外的其它任何人(及可能D)都很难计算,但对于D很容易验证。让我们看看这是怎样被完成的,二者均使用私钥加密和私钥签名。
私钥加密解决方案(具有可能的恒等证据)
例如,PUDd可以是消息的加密EUDd,其用专用加密密钥SK根据一些已经建立的私钥加密算法如DES指明U及可能D和d。在从U的卡接收EUDd的基础上,D用密钥SK将其解密,且如果结果指明U和当前日(时间间隔)d,则门打开。门可用其自己的锁确定其自己的时间是否落在时间间隔d的范围内。
在此,与其它地方一样,U用以指示用户及U的适当标识符。如果用户U具有与其关联的卡(最好安全地),则U可以是该卡或其适当的标识符。在后面的情况下,例如,门的读卡机可从卡得到U,且还得到EUDd,则其用密钥SK解密EUDd,并将解密的U与卡提供的进行比较,以确保它们相等。
注意,EUDd向门D证明用户U被授权在时间间隔d通过其进入,但这并不向D证明其确实是与用户U打交道。因而,我们可增加基本的计划,用于U向门提供其自己的身份。这可以几种方式实现。特别地,机构A可仅提供EUDd给U的卡,且U的卡被提供以键座,并仅在正确的PIN在其键座上被输入时才将EUDd传输到门(且如果错误的PIN被输入大于给定数量的次数,卡可自我毁坏或擦除有关的非永久性存储器内容)。这种方式下,无论门在何时接收EUDd,其知道其正从U的卡接收(因为A仅传输EUDd给U的卡)且其知道“卡背后的用户”肯定是U(与具有偷窃的U的卡的怀恶意的用户相对照)因为U的卡不会工作或传输EUDd给D,除非U的PIN已在其键座上输入。用于U向D证明其身份的第二种方式包括使U向D直接提供其自己的PIN。例如,门D可具有其自己的键座,且U使用它来输入他自己的PIN、PINu。门可具有内部的方式(如表)来将PINu到U,并因而可认识到其确实是与U打交道。然而,如果在系统中有许多门,为每一门提供和更新(如,因为新用户加入系统)表可能是不实际的。因而最好使U的标识符可直接为PINu。例如,EUDd可以是EPINuDd。当用户U接近门D时,他输入PINu到D的键座及其卡将EPINuDd传输给门。门接下来检查所输入的PIN是否等于EPINuDd中所指明的,在这种情况下,其正与正确的用户打交道且该同一用户被A授权通过门D,并不使用任何PIN用户表:实际上,键座告诉D一知道PINu的用户在其前面,且EPINuDd告诉D知道PINu的用户为当前授权通过D的用户。在第三种方式中,而不是直接出现在EUDd中,用户PIN可被安全地与EUDd结合。例如,A可能将EUDd给予用密钥PINu或从PINu可重构建的密钥K加密的U的卡(如,k=H(PINu)or K=H(PINu,d)or K=H(D,PINu,d)等)。在这种情况下,门D将检查在时间间隔d,PIN被安全地结合到用户的授权。例如,其使用PINu解密EUDd,并使用其与机构A共享的密钥SK检查EUDd为适当的授权。
使用回答者
但是:A怎样才可容易地并安全地将EUDd传输到U的卡?我们提出使用响应者。这些均为设备(如服务器或能够连接到服务器的计算机终端/读卡机)。优选地,这些响应者不必被放在库里或被保护。这样的保护可能增加大量的成本且不方便系统,使系统在不保护响应者的情况下安全的工作是至关重要的。理想地,机构A在一系列日期中的每天d执行更新。每一日期最好指明时间间隔(如一天)。例如,d可以是天d或天d的开始。在更新d期间,A决定哪一用户U应被授权访问/通过D,并计算可由D验证的证据。例如,在基于加密的共享密钥的系统中,该证据可以是上述的字符串EUDd,并可被验证,因为A与D共享密钥SK,A用其计算EUDd。所有这些证据接着被发送给响应者。这些响应者最好位于方便的位置。例如,在机场系统中,响应者可位于机场的主要入口。用户U接着(如当到达工作时)从响应者获得其自己的通过门D的授权。优选地,U的卡可向响应者鉴别其自身以接收EUDd。这是非常方便的,因为没有无线的及其它昂贵的系统,用户可获得其每天的对于所有其在特定天被授权从正门(用户不得不通过其通过)通过的门的授权,并使用传统的机制如将其自己的卡插入读卡机中(如,以证明他已出现开始工作)。其后,他可自由地在机场四处行走,并可容易地使用其已获得的授权EUDd通过所有其被授权的受保护的门D。但是因为该方便性及响应者最好是不安全的事实,怀恶意的用户也可能获得诚实的用户的授权。因而下述是必要的,(1)在不保护响应者的前提下阻止这样的事发生,和/或(2)确保对诚实的用户的授权不可为任何其它人使用。后者的情况通过使用户在门输入PIN而可被足够地加强,如已经所讨论的,最好安全地结合到由卡释放的授权。因而,从响应者获得U的授权EUDd的怀恶意的用户V不能在门模仿U,因为其不知道U的PIN。前者的保护可通过使机构A在用U的卡CU内的并为A知道的密钥SKCU加密授权EUDd之后将其发送给响应者而得以加强。这种方式下,A实质上给响应者一加密的授权EUDd’,其仅可由U的卡转换为授权EUDd,使其对下载别人的该天授权的怀恶意的V没用。即使V以任何其想要的方式制造其自己的卡,V还是不知道SKCU。
进一步地,使A与门D共享密钥SKD及与用户U共享密钥SKU是可能的。则PUDd可以是值EUDdk,包括用户U、门D及天d的指示,及某一随机秘密的k,所有这些均(由A)用密钥SKD加密。(注意,在这种情况下,U不能解密EUDdk)。此外,U可接收Ek,即用SKU加密的k。(D和d可为U知道,或可被通信给U—如,通过在主门的同一响应者。)这种方式下,因为U知道SKU,U同样获得秘密的k。为了进入门D,卡U可发送EUDdk给D。D可以一随机的值q响应,且卡U接着发送Eq,即用秘密的k加密的q。门D可解密Eq,验证使用了同样的q,且U与EUDdk中指明的相同,且日期d为当前日期,如果所有的检查均被确认,将让U通过。这种机制还可组合上述的PIN机制,使其更加安全。基于k的另外的挑战-响应方法也是可能的。(特别地,D可计算和发送Eq并要求U发回正确的解密q。)即使攻击者监控卡和门之间的通信,这样的机制也可提供安全性。
然而,在门看见由用户输入的PIN的敌人在偷窃U的卡之后可模仿U,至少在时间间隔d期间,如果U的卡内具有EUDd的话。其后,如果U报告其卡已被偷窃,A将不再使EUDd可用于U的卡。
私钥签名解决方案
例如,PUDd可以是消息的私钥数字签名,其根据一些已建立的私钥签名算法,用A和D均知道的私钥SK指明U和d(可能及D)。特别地,H为单向散列函数,则UDd=H(SK,U,d)。在从卡接收U的基础上,门的读卡机可用其自己的私钥SK签署U和d并比较该计算的结果是否与从可获得的字符串PUDd匹配。注意,携带有锁的门读卡机可能知道当前日d,因而不必从卡检索d。只要A每次授权所有天的访问,这就可以工作。否则,卡还发送d(或选择的时间间隔)给读卡机,接着读卡机用SK签署所获得的U和d,检查结果确实等于PUDd,接着检测当前时间(根据门的时钟)在d的范围内。如果是,则其打开。
再次地,U可被要求输入PIN作为交易的一部分。在这种情况下,PIN还可被用作U的部分。例如,U可包括u和PIN,其中u为识别用户的字符串,PIN为用户知道的密码。在这种情况下,卡将u及PUDd(可能及D或d及另外的数字)传输给门读卡机,用户向与读卡机结合的门控或读卡机自身输入PIN,接着读卡机重构U=(u PIN),接着用SK签署Ud以检查PUDd是否被获得。再次地,如果d由卡提供,其还检查当前时间在d的范围内。该方法使得用户及其卡以更紧密的方式结合,使得偷窃卡的敌人在没有适当的PIN时很难使用它。
当然,同样的SK可被用于一组门,在这种情况下,通过授权U范围其中的一个,A自动授权他访问所有的门。为允许最大的访问间隔,每一门D可具有密钥SKD。
结合两种方法
作为结合两种方法的例子,U可从A接收(如使用上述的机制,特别地,使用加密)用于天d的密钥SKUd。他接着使用私钥签名向门D“证明”他的身份和/或授权。即,门D可发送随机的消息m给卡U;作为响应,卡U可发送m的签名:H(m,SKUd)。注意,该签名的计算可能要求PINu。门D接着验证该签名。这可能要求门D知道SKUd(如,已直接从A接收,或从其它信息计算,如H(SKD,d,U)等。)或者,A可使用与D共享的密钥加密SKUd,从而获得ESKUd。接着ESKUd可被给予U(如,如上所述),接着U可将其连同签名发送给D。
多个机构
如我们已看到的,对于组织/机构A,有能力与门D共享密钥SKD,以控制哪一用户U可在给定的时间间隔d访问D。该过程可被扩展以使多个组织A、B、C...单独地控制通过门D或一组门D1、D2、D3...的访问,每一组织X与门D共享密钥SKXD,接着使用上述的解决方案。例如,每一组织X可选择SKXD并将其插入D的读卡机。每一组织X可能不得不从门到门发送一个或多个的一组给雇员/雇请的工人/承包人/次承包人。在具有许多门的设施中,要这样做可能是不实际的或浪费的,因为其它组织可能已经那样做了。同样,如果有或将有许多机构,则读卡机在保存所有这些密钥方面有困难。此外,应当采取适当的预防措施。否则,没有东西能防止敌人将其自己的密钥插入门的读卡机,接着,分辨它,其可使用任何上述方法来授权他自己或他的同谋对该门的访问。由于这些原因,我们提出下述解决方案。注意,同样的方法可被应用于单个的解决方案。
第一解决方案
如我们已看到的,如果他或他的卡共享特定时间间隔的密钥,用户可通过安全的门。因此,在这种情况下,用户及门共享一会话密钥。Kerberos及Needham-Schroeder协议提供了用于确保实体对共享秘密会话密钥的机制,在此并可被应用在整个系统中。然而,这些协议均基于密钥分发中心,其是在线的且无论共享的会话密钥在何时被需要,其必需被联系。因而,我们希望提出另外的、更方便的方法。在开始,即使对于实施基于Kerberos/Needham-Schroeder的系统,我们需要一种用于中央机构分发密钥给门的方式(其可能较分发密钥给其它机构更为困难)。
我们设想特殊的机构SA(例如,在机场,机场机构)可安全地分发密钥给门读卡机。优选地,SA可以是可那样做的唯一实体。例如,门读卡机在递送和制造时没有密钥在其内,使得一旦第一组密钥(可能是一组单一的密钥)被插入,则读卡机将其长时间保存,并不接受其它密钥用于将来的存储。这种方式下,通过首先插入任何密钥在门读卡机中(之前,期间,或安装后不久),SA确保没有其它人可在门内安装密钥。或者,对于在门读卡机中保存其它密钥,则需要控制PIN或密钥。门读卡机在没有任何控制PIN或密钥的情况下被递送和制造,使得一旦第一控制PIN或密钥(或可能一组密钥)被插入时,则读卡机将它们长时间保存,并在将来不再接受其它控制PIN或密钥。然而,假定输入正确的控制PIN/密钥,则任何新密钥可被插入和保存在读卡机内。这种方式下,通过首先插入任何控制PIN/密钥在门读卡机中(之前,期间,或安装后不久),SA确保没有其它人可在门读卡机内插入和保存密钥。
在这一点上,SA知道门D的读卡机的所有密钥,例如,SKAD、SKBD、SKCD等。不是实施Kerberos,而是更简单的,即SA现在将SKAD给予机构A,SKBD给予机构B,等。这里,机构A/B/…可控制用户U访问D,其通过私钥加密方法或私钥签名方法实现。注意,这些机构可单独操作不同组的门。例如,假定
1.门D1在其读卡机内具有密钥SKXD1,及SA将SKXD1给予机构X;
2.门D2在其读卡机内具有密钥SKXD2,及SA将SKXD2给予机构Y;同时
3.SA不将门D1的密钥给予Y,及不将门D2的密钥给予X。
接着,机构X可控制对门D1的访问,机构Y可控制门D2,二者为完全独立的方式。
一较好的解决方案
但即使使用上述可用的特征,我们可在某些重要方面改善系统如上述的系统。即:
密钥-存储器大小。在门读卡机最好为每一不同的组织保存控制其的不同密钥的同时,这抬高了读卡机应安全保存的密钥的数量。
增加新控制。当新机构或新门被引入到系统中时,新控制发出可能发生。如果门D不为组织X保存密钥,且随后想要X获得对D的控制,则SA必须在D的读卡机内插入用于X的密钥。例如,如果新组织出现,则SA必须派遣一队工人去在应由新组织控制的每一门D内插入SKXD。然而,这样的物理“旅行”可能是不方便的。为避免它们,SA可在门D的读卡机中预安装另外的密钥,接着将它们与出现的新组织结合,或与随后必须控制通过D的访问的组织结合。然而,这个策略只会加剧在第一加重号处描述的情况。此外,如果引入新门,其将由某些已经存在的机构控制,则SA将不得不在门读卡机中插入新密钥,并接着将适当的密钥递送给已经存在的、必须控制新门的机构。尽管可做,但递送密钥总是有问题的。
收回控制。一旦密钥SKXD被保存在门D中并为组织X知道,则X将继续控制通过D的访问,即使在某一点对D的控制应被专门地给予不同的组织。为避免此,SA应再次从事于物理旅行并将SKXD从门D中移除(如借助于控制PIN/密钥机制)。
现在让我们描述怎样致使这些另外的改善。
基本系统轮廓
在开始,我们可使系统与每门单一的密钥一起工作。例如,SA在门D中保存单一的密钥SKD(当然跟踪该信息)。该密钥可潜在地由SA从唯一由SA知道的D的标识符和秘密种子s计算:例如,SKD=H(s,D)。接着,SA将对D的控制给予机构X,通过给予X以选自SKD和X的密钥SKXD实现。例如,作为在X求值的具有种子SKD的假随机函数(为了简单,我们假定实体与其适当的标识符一致)。特别地,我们可使SKXD=H(SKD,X)。机构A接着使用SKXD授权用户U在时间间隔(如天)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简单地从SKD计算D-X密钥(如,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、valid、X及d’而另外地确定X确实已在间隔d’控制D,并检查由卡看管的同样的值在d’之内。事实上,只有SA(及D)知道秘密签署的密钥SKD:机构X仅知道H(SKD,X)且从H(SKD,X)和H(SKD,valid,X,d’)计算SKD是非常困难的。注意,时间间隔d和d’不可一样。例如,SA可对在每周的基础上授权X对D控制感到满意,同时X可在每天的基础上授权用户访问通过D。或者,系统可用密钥的取决于时间的版本代替上述的SKXD的使用:如,SKXDd=H(SKD,X,d)。则SA将不得不在时间间隔d之前将SDXDd递送给每一机构X。为收回控制,SA简单地停止发送时期d的SKXDd,因为其SA决定决绝X对D的控制。
还应注意的是,系统当前考虑了一些隐私,因为SA不必知道哪一用户U被X给予了对D的访问,也不知道它们的号码。当然,方案可除去该隐私保护(如,报告或通过使用Kerberos系统)。
例14:
现在让我们概括一下我们的优选实施方式,其用于在具有超级机构SA、多个(最好是分离的)门D、多个组织X、多个用户U的系统中实现安全物理访问。优选的实施例使密钥存储量最小并使添加及收回组织X对门D的控制非常容易。
在优选实施例中,SA授权组织X在给定的时间间隔控制门D。在该时间间隔期间,X本身可授权用户U访问D。
我们设想(及可能其它参与者)在对应于一连串时间间隔的一连串日期d的每一日期采取行动。例如,d可以是特定天的开始及特定天的相应时间间隔。为了简单,我们可使用d表示日期及相应的时间间隔。(然而,应该理解的是,这不是限制性的:例如,日期可以是特定的天,时间间隔对应于在该天之后的日期。)具体地,但非限制性的,我们可假设每一日期/时间间隔为一天。
我们使用私钥数字签名描述优选实施例。这并没有限制的目的。我们的优选实施例应被认为可用上述任何其它私钥系统实施。更具体地,我们假定私钥签名使用单向散列函数H实施。这并没有限制的目的:H(SK,DATA)应总是被认为是具有数据的密钥SK的数字签名。
我们假定SA与门D共享密钥SKD。SA还可与组织X共享密钥SKX。(SKD可由A经主密钥SK产生。对于SKX是类似的。例如,SKD等于H(SK,D),及SKX可等于H(SK,X)。SA接着可秘密地—或经加密—提供给D以SKD。对于X是类似的。)
在每一天d,如果SA希望授权组织X访问门D,其计算并使X接收密钥SKXDd,其是安全结合到X、D、及可由D验证(如,基于输入X和d)的天d的密钥。
例如,SKXDd=H(SKD,X,d),即,SA使用密钥SKD签署X、d。SA接着使X接收SKXDd。SA可通过发送SKXDd到X而使X接收SKXDd,这最好在使用与X共享的密钥SKX将其加密之后。也是优选地,SA发送那样加密的SKXDd给X,这通过使其被保存在响应者中、X接着从其下载而实现。
如果X希望在天d内的时间间隔t授权用户U访问D,则X计算并使得U接收密钥SKXDdUt,其是安全结合到X、D、U及可由D验证的t的密钥。
例如,SKXDdUt=H(SKXDd,U,t),即,X使用密钥SKXDd签署U、t。X接着使U接收SKXDdUt。X可通过发送SKXDdUt到U而使U接收SKXDdUt,这最好在使用与U共享的密钥SKU将其加密之后。也是优选地,X发送那样加密的SKXDdUt给U,这通过使其被保存在响应者中、U接着从其下载而实现。
如果U希望在时间间隔t访问D,U使得D接收X、U、t(如,U的卡传输到D的读卡机)。
如果D在天d接收X、U、t,其从其密钥SKD计算SKXDd并接着从SKXDd计算SKXDdUt。D接着验证时间间隔t确实在天d的范围内,并使用其自己的时钟验证当前时间确实在时间间隔t的范围内。此外,D通过使用密钥SKXDdUt的挑战-响应机制验证其正与U/U的卡打交道。如果这些验证均通过,D打开。
例如,D可通过计算H(SKD,X,d)而从其密钥SKD计算SKXDd,并接着通过计算H(SKXDd,U,t)而从SKXDd计算SKXDdUt。例如,使用密钥SKXDdUt的挑战-响应机制可包括:使D发送一随机的字符串q并接收回具有密钥SKXDdUt的q的加密,或具有密钥SKXDdUt的q的数字签名。或者,D可发送Eq,具有密钥SKXDdUt的q的加密,且必须接收回q。
注意,优选方案应被理解为包括使用与上述方案协作的PIN。特别地,在前面部分中所述的任何PIN应用均可被使用在优选方案内。注意,优选方案提供了大量的灵活性,因为d和t可以不同。例如,SA可提供X在周d对D进行控制,而X可在周d内的天t授权用户U访问D。然而,我们可使d=t,在这种情况下,t不必被指明或单独使用在优选系统中。
Kerberos方法
在我们的安全访问应用中,直接使用Kerberos方法将不能很好地工作。将所有门及SA实施为同一区域是最自然的(对于该区域,SA充作入场券授权服务(Ticket Granting Service),TGS)。每一组织及其雇员将在分开的区域。对于该区域每一组织的机构则可充作鉴别服务AS(及可能其自己的TGS)。根据Kerberos协议,每一用户可通过获得入场授权的入场券(ticket-granting ticket)TGT而为各自的机构/AS鉴别。该入场券TGT接着由用户发送给SA/TGS,连同请求用户被授权的每一门的服务授权入场券。SA/TGS接着不得不验证用户的合格性,且,如果用户—如果所有均是正确的—提供这些服务授权的入场券。很显然,该协议是非常费力的,并赋予SA大量的负担。特别地,验证特定的用户被授权哪一门并发出各自的入场券是SA的职责。此外,其要求SA是在线的并实时从事于协议。使用户具有到SA的通道也引出了额外的安全性威胁。
没有协议的Kerberos入场券
原则上,我们可“放弃”Kerberos协议而仅使用入场券。即,所有入场券可以预先预定或提前预计算,且用户可在主门进入的时间获得它们,并不需要参加适当的Kerberos协议。
然而,许多上述问题仍将保留—特别地,将某些门的控制授权给特定的机构对SA而言应是自然的(但在这种情况下,该控制可被很容易地收回,可能在随后的点被恢复)。
在Kerberos内使用RTC
帮助解决该问题的一种办法是使用实时凭证RTC。例如,我们可使用上述方法中的入场券。然而,在该方法中,我们不会在每天的基础上产生入场券。而是,我们可使用长效入场券,经在入场券的授权数据字段中已传递的RTC管理短效访问控制。
在该例子中,RTC可如公钥证书的例子中那样正确地工作。然而,在此某些优化是可能的。
使用上述的RTC带来大量可能的好处。这些包括(但不限于):
1.容易管理
a.现在,SA肯定很少被涉及
b.代替相对较大的入场券,用户将需要获得非常小的RTC
c.产生RTC可被委托给相应的机构
d.收回控制是容易的:这可以至少两种方式实现。第一,更简单和自然的—在入场券期满时不需由SA更新。更精确的机制将使用两种RTC:由SA发出的RTC及由其它机构发出的RTC。接着,每天SA需要对每一机构发出单一的RTC,其保持(或者,其不得不为每一机构-门对发出RTC,其中机构被授权打开门)。每一机构还将为每一用户发出RTC(或者,为每一用户-门对,其中用户被授权打开门)。注意:更传统的Kerberos方法要求更多的入场券被产生并在在线协议这传递。
e.RTC允许清晰的角色分离,有助于管理和基础结构的许多方面。
2.效率
a.空间:RTC大大小于相应的入场券。
b.时间:因为它们非常短(且它们较少且只有较少数量的通信巡回),通信将非常快,使用户能够在获得RTC的同时以合理的速度移动通过门。
c.负载分布:RTC可由非安全的响应者分发。RTC的复制既不昂贵也不危险。
3.安全性
a.RTC对安全性不敏感,一旦它们被产生,即可被更容易地管理(如由不安全的响应者),并没有对安全性的任何威胁。
b.入场券和授权的分开(经RTC)在密钥管理中具有更多的安全性(当密钥/入场券被实际上产生和通信时)。
c.SA隔离:SA永远不会真正需要具有与任何用户的直接通信线路。
除Kerberos之外
可以发现的是,上述机制从核心Kerberos特征获益甚少(这主要由于Kerberos被设计用于不同的应用的事实)。这样,在此我们探究我们可怎样使用基于RTC的机制,其不直接关于Kerberos。这些机制可类似于上面的私钥加密和私钥签名。
在这些机制中,特殊机构SA将与每一组织A(B,C,...)和每一门D共享秘密。例如,这可以通过使用上述方法使得SA需要仅保存单一的秘密s实现。在SA和A之间共享的秘密接着可以是SKA=Hash(s,A)。类似地,在SA和D之间共享的秘密为SKD=Hash(s,D)。注意,A和D也需要分别仅保存一密钥SKA或SKD。此外,另外的密钥SKAD=Hash(SKD,A)对应于每一组织-门对(A,D)。该密钥可由SK和D容易地计算。将SKAD给予A是必须的但可能不足以使A控制对门的访问。此外,A可能需要从SA(或从另一方)接收用于当前时间周期d的RTC。该RTC,称为RTCAD,不需要是秘密的,并可证明A还与SA保持良好的关系。
由A雇用并被授权进入门D的每一用户U接着可从A接收密钥SKAUD=Hash(SKAD,U)。注意,SKAUD可由A和D在没有任何另外的密钥的情况下容易地计算。将SKAUD给予U是必须的但可能不足以使U能够打开门D。此外,U可能需要单独的用于当前时间周期d的RTC:RTCAUDd。
注意,该方法已引人注目地简化了信息流:在每一时间周期d的开始,SA为每一组织A发出单一的RTCAD。每一组织A继而为每一用户-门对发送单一的TCAUDd。所有这些RTC均可由雇员在进入主门时获得。假定,用户U被授权进入设施内的100个门,用于所有门的RTCAUDd要求少于2KB—即使慢速连接也可管理的量(通常,其仅花不到1秒的时间)。
要打开门D,用户U需要呈现RTCAd及RTCAUDd,并基于密钥SKAUD执行鉴别(该鉴别可以是挑战-响应型以保护密钥)。注意:由于相对少量的RTCAd凭证可能呈现在系统中,这些凭证的确认可能不需要在每用户的基础上进行。而是,每一门可确认其接收的每一RTCAd并缓存结果,以用于其它用户的确认。
特殊机构SA可能希望对组织访问门进行更好的控制。要实现此,代替每组织凭证RTCAd,SA可发出每一组织门对(A,D)的RTC:RTCADd。接着,对于SA,授权并收回每一组织在每天的基础上对每一门的控制是可能的。注意,这至多使每一用户需要接收的RTC数据量翻倍(对于上述例子,依然保持所要求的过渡时间在不到1秒的时间内)。
聚集RTC
可以发现,访问控制权不会引人注目地天天改变。这样,上述机制的许多能力均未被使用。我们提出RTC聚集机制,其可被用在相对稳定的环境中以提高甚至另外的效率。
例15:
作为一个例子,有100个组织,每一组织有权使用1000个门。因此,有100000个组织-门对,因而,RTCADd凭证将由SA每天发出和分发。此外,如果每一组织雇用大约1000人,这将导致100000000个RTCAUDd凭证将由所有组织发出和分发。
让我们将所有组织-用户-门三个一组的AUD分为按层级安排的组。例如按如下可很容易地想象这些。让所有AUD对应于对称的二进制树形网络的树叶(以优选方式排序的)。接着,树的每一节点n对应于一组所有AUD对应于在n的子树中的树叶的AUD。对于每一这样的节点和时间周期d,让其有一个对应凭证RTCnd。则对于任一AUD祖先n,AUD在周期d的有效性可由任一凭证RTCnd证明。因而,如果所有AUD组在天d保持有效,则单一的凭证RTCr足以用于整个系统,其中r为树的根。
总之,如果有100个AUD组变得无效的,则至多1500个凭证就足以证明整个系统(其代替100000000)。更一般地,如果有k组无效,至多k(26-lg k)个凭证被需要用于整个系统的证明。
该方法导致引人注目的改善,即使聚集RTC要求更多的值被保存在门和/或用户中:在上述例子中,这样的开销可至多导致存储器中的26开销的因素,而节约了通信中的巨大的定购(在上述例子中为4或5)。更一般地,如果将被授权的(在我们的例子中,这些是AUD组)一组实体保护N个成员,且其中的k个将被排除,则至多需要k(lg N-lg k)个凭证来证明整个系统,同时用于聚集的开销至多为1gN。甚至更有效的组表示法可能存在(如,在上述已被认知为子集覆盖方法时,我们还可使用子集区分覆盖及基于其的最新结果)。
这样,该聚集凭证的确认可被优化,如通过缓存至少用于较大的组的结果。
RTC实施及最优化
实时凭证的许多不同的实施是可能的。这些RTC的实施还允许许多不同的优化。例如,实时凭证可被实施如下:x0为随机值,如20字节长。xi被定义为xi=Hash(xi)。xn为以某一方式(如由SA从SA安全通信到门D)固定的公开值。接着,Xn-d为时间周期d的实时凭证RTCd。其可通过应用Hash()到xn-dd次而被验证并验证结果是否等于xn。这实质上是RTC怎样被实施在公钥证书的情况中—例如,xn可被包括为证书的一部分。
在此实质上使用同样的实施也是可能的。代替将xn包括在证书内,在此我们可将其包括为Kerberos入场券的一部分。或者,我们可通过其它一些安全方式通信它,如用门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个可能的工人,为了简单,并假设控制在每天的基础上给出。则中央机构被卷入计算每一门-用户密钥的Kerberos/Needham-Schroeder系统肯定每天涉及1亿个密钥。如上面所概述的系统,仅要求SA每天产生并递送少于100000个密钥给所有机构。
在OCSP中的实时凭证
我们现在描述本发明的优选实施例的实时凭证确认技术在使用开放证书状态协议(OCSP)用于数字证书确认的环境中的使用。这表明本发明技术怎样保持与OCSP的兼容性,同时提供较传统OCSP实施质量上较高的安全性和可升级性。
传统的OCSP实施
CRL可能变得非常大,因为它们集中提供关于许多证书的废除证据(因而,及间接地,有效性证据)。比较地,OCSP为单个的证书提供有效性证据。OCSP服务通常由OCSP响应者实施。这样的响应者为服务器,其在从客户(aka证书信任方)接收关于由特定CA发出的特定证书的有效性的问题的基础上,提供指示证书状态和回答时间的数字签署的回答。为实现此,对于OCSP响应者而言,知道所有CA的证书的状态是必须的,因为只有CA可废除其自己的证书。如果OCSP响应者为CA自身,这样的知识被很一般地获得。否则,必须采用一些其它形式来使OCSP响应者保持关于CA的证书的状态的更新。例如(cfr,美国专利号5,717,758,基于证明的证书废除系统),CA可将其最近的CRL发送给响应者,且响应者可请教签署的文档以推断感兴趣的证书当前是有效还是已被废除,且在其签署的响应中,同样指明时间及下一更新的时间。(在此,该更新时间与CA的下一CRL的日期一致是自然的,因为CRL可触发不同的响应。)
当然,怀恶意的响应者可提供关于特定CA的证书的假的签署的回答,有或没有请教后者的CRL。对于证书信任方,要安全地依赖于OCSP响应者关于特定CA的证书的数字签署的回答,OCSP设想CA提供一响应者证书给响应者,一特殊的数字证书—由CA签署—其实质上向其它方证明CA委托响应者提供关于其证书的准确证据。
注意,对于该工作过程,每一OCSP响应者(及每一CA)必须具有秘密签署的密钥,且该密钥必须被保护(理想地,通过将其放置在电子库或服务器在电子库中使用它)。
图2示出了在繁琐的OCSP环境中的事务处理顺序。秘密签署的密钥被保护的事实通过将它们置入粗的“边线”而被强调。在签署的数据的情况下,签署者的名字被立即指示在下面。该图示出了该事务处理的各个PKI敏感的组成,如阴影框所示。发证机构自身具有私钥SK1,其必须被保持安全的以防止未经授权的证书发出和废除。该密钥被用于签署CRL,其被公布给OCSP响应者。响应者1A的密钥也必须被保持安全的,并被用于签署响应者1A的OCSP响应。
OCSP的缺点
缺点1:计算
数字签名是计算集中的运算。由响应者基于每一响应创建的数字签名在请求时产生,且是到目前为止确认运算的计算最集中的部分:其可容易地在任何地方增加从50毫秒到1秒的时间到事务处理时间。
即使响应者缓存其关于数字证书C的数字签名,并接着当询问C时发送同一签名,直到下一更新,对询问C的第一用户的回答将被大大延迟。
缺点2:通信(与集中的实施)
假设单个确认服务器以集中的方式实施OCSP。则所有证书有效性询问将实际上不得不发送给它,且服务器将是导致相当的拥塞和延迟的主要“网络瓶颈”,如图3中所示。如果巨大数量的诚实用户突然询问服务器,则中断的“拒绝服务”将可能发生。
缺点3:安全性(如果是分布式的实施)
为防止集中的OCSP实施可能导致的瓶颈问题,CA可考虑分布由其证书产生的请求负载,其通过将它分布在几个OCSP服务器中(其适当地证明)。一般而言,分布单个服务器的负载到几个服务器(如100个),战略地位于全球各地,将减轻网络拥塞。然而,在OCSP情况下,负载分布产生比其解决的问题更坏的问题。为了将其响应加到其接收的证书询问,100个服务器的每一个均应有其自己的秘密签名钥匙。因而,危及100个服务器的任一服务器均将危及整个系统。
如果传统的OCSP响应者被危及安全,攻击者可做下述三件事之一。第一,其可阻止响应者发出任何响应。这种类型的攻击在证书信任方是可检查的,因而不是太严重。第二,其可使用已发现的秘密签署的密钥签署响应,其指明合法的证书已被废除。第三,最具破坏性地,其可使响应者产生签署的响应,其指明废除的证书依然有效。这种类型的假肯定响应可允许已终止的雇员重新有权使用系统等。
防止响应者被危及的最好办法是使其从安全的电子库运行,具有24×7的监视等。不幸地,这是成本高昂的选择。真正安全的电子库,满足财务CA需要的所有要求,可能需花费$1M以上来建立及$1M/年来运行。即使愿意付出这样的费用,电子库也不能在一夜建成!如果CA需要几个电子库来减轻其当前响应者的负载,在新电子库建成以前其不得不等上几月。
此外,即使几个昂贵的电子库已在合适的位置,它们还可能是不安全的。这是因为OCSP机制要求响应者接收来自不信任的源的请求,并使用其秘密签署的密钥服务它们。因而存在这样的可能性,怀恶意的代理更喜欢探索操作系统下面的任何弱点并因而将秘密签署的密钥暴露以通过装甲的混凝土墙钻空子。总之,如果没有电子库或足够昂贵的周界保护响应者,则危及安全的可能性非常高,但即使真正安全的建筑容纳响应者,响应者还可能受软件攻击:对于老练的数字敌人,OCSP机制使电子库看起来非常像具有“窗口”的料仓。
缺点4::信任流
OCSP在服务源自不同安全领域的证书有效性请求时有困难。在图4所示的想定中,由组织#1运行的响应者能够提供关于来自CA#1的证书的状态的响应,但由另一组织运行的响应者则可能没有足够的信息来提供关于“外来的”证书的响应。例如,由发证机构CA2运行的响应者2A不知道怎样回答关于CA1的证书的请求。
源自缺乏特定的知识的这个问题可以下述两种方式之一提出。
第一,来自组织#2的证书信任方可发现来自组织#1的响应者向它们询问来自CA#1的证书的状态。然而,这限制了性能,因为来自组织#1的响应者可能在地理上远离于组织#2中感兴趣的证书信任方,这样,网络时间可大大减慢整个确认过程。
第二是允许来自组织#2的响应者做出关于来自组织#1的证书的响应,通过使CA#1转发其CRL到“外来的”响应者。这确实不引起安全威胁,因为CRL是数字签署的,并因为CA希望通知最大可能的受众关于其自己的证书的有效性。这向组织#2的响应者提供了足够的信息以用于回答来自证书信任方的关于CA1的证书的请求。但对于证书信任方,要真地认真地采用响应者2A的数字签署的回答,CA1还应证明响应者2A对回答其自己的证书的有效性询问是可信赖的。整个过程如图5所示。
该方法提供了较好的可升级性和性能,但其弄混了两个组织之间的安全性和信任流。在上述例子中,响应者#2A权威地响应于证书信任方CA#1的证书#321还是有效的。因为任何原因(错配置、敌方攻击、或直接欺骗)做出不正确的响应,响应者2A可导致对来自组织#1的用户不利的结果。通过允许响应者#2A做出关于其自己的证书的权威声明,组织#1放弃其先前保有的某些信任。
作为例子,设想组织为信用卡发行者。银行#1废除了用户#321的卡证书,且其支付以确保其响应者是安全的和可靠的。来自银行#2的响应者被错配置,使得当商人证书信任方询问用户#321的有效性时,它们错误地响应该用户有效。商人接受该回答并允许被废除的用户的交易进行。
组织之间的这种类型的信任委托在某些情况下是可接受的,但其对传统的OCSP的任何大规模按级调配不总是有用的。
在OCSP中的实时凭证
根据上述问题,我们希望提出另外的证书确认系统,实时凭证(RTC),其在保持与当前的OCSP标准的兼容性的同时,解决了传统OCSP的所有上述缺陷。RTC技术不同于传统的OCSP,因为:
1.其不委托信任给外来的响应者;
2.其将所有确认信任集中到单一机构(RTC机构);还有
3.其将来自该单一机构的询问负载分布给任意数量的未受保护的响应者;
4.即使在依赖于数千响应者的分布式实施中其也不降低安全性(即使这些响应者未受保护);
5.其引人注目地改善了对询问的响应时间。
这在安全性、性能、可升级性及非均匀性方面对传统OCSP提供了根本的改善。
RTC系统包括下述步骤:
CA证明RTCA:新系统以RTC机构(RTCA)为中心。这是一个可以或可不与特定组织的CA一致的实体。优选地,每一CA提供其自己的具有特殊证书的RTC,RTCA证书。CA最好数字地签署该证书,指明其委托且确实授权RTCA提供关于其自己的证书的有效性信息。该证书可结合特定的验证密钥PK(对于其,RTCA拥有相应的秘密签署的密钥)到RTC机构(如由特定的标识符、OID号识别)并以某些方式指明证书实质上给予RTC状态,并可包括其它传统的证书信息和格式。在两个实体一致的情况中,具有不同的签署密钥对它们还是有利的,有效地使得在任何情况下,CA仅发出证书及RTC机构仅管理它们(即,证明它们有效或被废除)。存在这样的情况,即使CA和RTCA一致,RTCA证书依然可被采用。优选地,每一CA具有唯一一个RTC,尽管用于冗余的目的,具有一个以上可能是有利的,无论是否使用同一签署的密钥。
RTCA保护其签署的密钥:RTCA必须保护其签署的密钥,例如,借助于电子库或安全设施。(然而,如我们将看到的,对于证书确认目的,没有必要需要另外的电子库)。RTCA可位于同一受保护的设施中,一个以上的服务器嵌入其秘密签署的密钥,或者安全地保存(如,在银行的安全保险箱中)密钥的拷贝,或招待一个以上的服务器,每一服务器具有由CA适当证明的秘密签署的密钥。
CA通知RTCA其证书的状态。例如,其以在线/实时的方式保持对证书有效性的任何变化的评价(发送消息通知RTCA证书状态的变化,只要其发生)。或者,当产生时,其可发送其CRL给RTCA。
RTCA独立于任何请求,单独签署给定时间间隔的每一证书的有效性状态:最好定期地(或在一连串日期的任何日期),基于其当前确认知识(如基于CA的最新CRL)并独立于任何证书信任方请求,RTCA处理其CA的每一显著地证书,并数字地签署陈述该证书状态的声明。因此,结果携载指明用于该证书的下一更新的时间组成。如果RTC的周期取决于发出CA发出的CRL,更新时间可以是下一CRL的时间。时间组成还可指明用于处理中的CRL的发出时间。因此,实质上,RTCA预计算数字签名,其指示每一证书在给定时间间隔T的状态(如从最新CRL的日期---或从足够近的日期---到下一CRL的日期---或到足够近的日期,在任一情况下,允许足够的时间来处理所有必要的信息)。该预计算独立于任何关于证书的证书信任方请求执行。事实上,优选地,RTCA在时间间隔中进行的任何关于证书状态的询问之前预计算所有签署的证书状态的声明,或完全在时间间隔之前。特别地,RTCA可早于T开始1分钟而预计算所有其签署的关于时间间隔T的声明。这样做将不与CRL“同步”的事实不太严重。CRL本身不是实时的,关于证书废除的信息及证书已被废除的原因可能需要相当多的时间。例如,用户可认识到,其密钥已被危及安全并因而在该事实之后1天请求其自己的证书被废除。因而,在任何情况下,证书以1天的延迟被废除。优选地,RTCA签署的证书有效性的声明为标准的OCSP格式。即,实质上,RTCA最好预计算OCSP—响应于尚未被产生的OCSP请求。这是重要的,因为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证书及CRTA证书的当前有效性的证据可被添加及验证,只要需要。
图6示出了RTC系统
RTC系统的优点
RTCA定期产生CA的所有当前证书的数字签署的有效性声明(证据,因为该声明不能被伪造),并将它们分发给任何感兴趣的响应者。(每一证据最好被构建为句法正确的OCSP响应,由RTCA私钥签署。)当证书信任方询问证书的状态时,RTC响应者能够返回其已缓存的相应预产生的响应。证书信任方可验证RTCA的签名。(此外,其还可验证RTCA的证书,以确保其正与特定CA的可信RTC机构打交道。当然,这样的所有其它证书可以是不同类的。)
优点1:计算
数字签名是计算几种的运算。但RTC系统将该困难集中于单一服务器(实体)上:RTCA。因此,非常容易和相对便宜的给给单一的实体装备以足够强大的计算机以处理所有要求的数字签名。对比地,RTC响应者仅执行微不足道的计算。它们实质地(1)保存RTCA签名及(2)仅响应于证书信任方询问执行取回-转发操作。因此,它们可被实施以非常便宜的硬件。因此,总RTC成本可显著地低于OCSP的成本。同时,响应时间非常快。事实上,非常便宜的RTC响应者用于取回并发送预计算的RTCA响应的时间相对于OCSP响应者所花的时间可以忽略不计,因为OCSP必须响应于证书信任方请求执行数字签名。
优点2:通信
在RTC系统中,响应者可使用微不足道的硬件且不需要是安全的。结果,RTC响应者是非常便宜的,事实上,可被大量配置。即,可总是负担得起RTC系统的分布式实施。因此,即使在短时间内巨量的证书-有效性请求被产生,该负载可总是被扩展到许多RTC响应者,在不产生更多成本的情况下,消除了拥塞和良性拒绝服务的风险。(注意,RTCA的工作量仅取决于证书的量并受有效性状态请求的数量的影响。因而,单一的RCA可被使用,即使预期有数以亿计的有效性请求。)
优点3:安全性
在RTC系统中,只有RTCA(包括CA,如果其是不同位置的实体)被保护。事实上,响应者不保存任何密钥:它们仅保存RTCA的数字签名,但为了所有安全性的目的,在由RTCA计算之后其可被完全公开。对比地,每一OCSP响应者具有秘密签署的密钥,危及其可危及整个系统。因此,防护单点是首选的且较防护许多同等重要的点容易。
此外,不像在OCSP中,证书信任方不能容易地上演软件攻击。事实上,RTC响应者以非秘密的信息服务证书信任方的请求。实际上,它们没有任何密钥并仅需要保存预计算的数字签名。因而,即使证书信任方成功地嵌入某种特洛伊木马询问,其将不能暴露任何东西。其至多可暴露RTC响应者知道的所有东西,也就是说,其证书的全部和准确的账户是有效的且其在给定的时间间隔被废除。及这不仅是非秘密的信息,而且甚至是发证机构愿意大家普遍知道的信息,使得没有人会不正确地依赖于其证书之一。
最后,注意,软件攻击不可容易地由RTCA上演。实际上,尽管用于秘密签署的密钥,RTCA不处理来自不信任源的请求。这是因为,RTCA不回答任何不信任的请求:其简单地从CA(非常可信的源)接收输入并定期输出数据(签署的有效性声明)。因此,插入特洛伊木马的能力将在RTC系统中丧失!换言之,在RTC系统中,不仅单一的电子库就足够了,而且没有任何“窗口”。
优点4:信任流
除了这些优点外,在OCSP上的RTC方法在涉及多个组织的不同类的PKI配置内能够有相当的灵活性。下面的图表示出了OCSP上的RTC可怎样被配置在跨CA环境中。
图7示出了来自组织#2的响应者可怎样从组织#1接替响应,而不需要从组织#1传输任何信任到组织#2的响应者。由于RTC响应者是简单的、非委托的接替信息,它们可被广泛分布和镜像,并不降低整个系统的安全性。证书信任方询问组织2的响应者(响应者2B)关于组织#1的证书的有效性。注意,其得回的响应令人信服的,因为其是由组织#1(RTCA1)的RTCA数字签署的。此外,来自正确组织的直接数字签名最好由证书信任方也得到RTCA1的证书(最好由CA1签署)的事实确证,其保证RTCA1确实是组织1的适当的RTC机构。
总之,组织#1使组织#2的响应者能够提供令人信服的有效性证据,其用于组织#1的证书,并不放弃任何量的对其自己的证书的有效性状态的控制。即,在RTC系统中,信任可从一组织流到另一组织,没有任何相关的安全性或控制损失。
优点5:安全的不均匀性
图7示出了极端的情况,其中响应者被对待为明显的网络基础结构而不是坚毅的信任点。其示出了使不同类的响应者能够安全构简单RTC的极端情况,其能够从许多源服务关于证书状态的请求。这类似于由因特网的DNS基础结构提供的服务,因为其允许不同类的命名服务器的收集,其显然地发现和缓存询问的有效响应。
该非均匀性是RTC系统相对于传统的OCSP的一个显著优点。其允许很广范围的组织相互工作,使得来自不同组织的证书信任方可以安全的、可靠的、有效的方式交互确认来自其它组织的证书。
实时凭证(RTC)是成本低的、安全的、可升级的、及完全有效的证书确认系统。RTC可(1)提供选择给开放证书状态协议(OCSP),及(2)在OCSP内工作并增强OCSP。RTC系统甚至在行使与OCSP标准保持兼容性的选择时,提供相对于OCSP的显著优点,以提供质量高的安全性和可升级性。
RTC最优化
2方对3方证书确认
U为具有证书Cu的一方。作为与V方交易的部分,U可发送Cu给V(除非V已经有了),并可能执行另外的任务(如展示关于在Cu中证明的公开验证密钥的数字签名,其属于U或通过解密随机挑战加密识别)。为了交易安全,V可确认Cu的当前有效性并使有效性询问到达RTC响应者。响应者可回答该询问,其通过取回并返回最近的RTCA签署的关于Cu的声明。然而,询问RTC响应者使3方交易而不是2方交易,从而增加了所希望的U-V交易时间。
由于其是可预知的时间间隔,RTC可值得注意地帮助。
即,U方可在每一时间间隔T的开始接收Cu在T期间均有效的RTCA签署的声明Du。U可响应于到其的请求接收Du或可被推以Du。在每一情况下,在间隔T期间与V交易,U可转发Du给V,除了交易所必需的所有其它步骤或任务之外。因此,U-V交易被显著地加速,因为V为了确认U的证书的当前有效性,不必调用任何第三方。
在某种意义上,尽管“全部时间”,其包括U获得Du,不可被加速,U-V交易将是。注意,不需要在全部时间中保存,仅加速U-V交易依然是有价值的。事实上,假定RTCA声明在午夜被计算并指明全天为它们的时间间隔。接着,U可在该天前期获得Du(当没有真正的压力存在时),并接着在工作小时期间进行的时间敏感的U-V交易期间将其转发给V,当节约时间可能是实质的时。此外,效率被获得,在获得和缓存Du之后,如果U在与几方(如100)交易时将其在全天转发。这种方式下,例如,单一证书信任方询问成功地替换100个证书信任方请求。
注意,该优化还可由V方实现。即,在从RTC响应者获得响应Du之后,响应于关于U方的证书Cu的有效性的询问,V方可将Du给予U或使Du可用于其它方使用。
该优化也可应用于优选的、RTC的与OCSP相容的实施中。实际上,我们建议也应用类似的优化到传统的OCSP实施中。即,用户请求并获得关于其自己的证书的OCSP响应,接着将该OCSP响应作为其交易的部分在适当的时间间隔转发给其它交易方。或者,当由证书信任方第一次询问U方的证书Cu的有效性时,OCSP响应者计算其响应Ru,将其返回给询问的证书信任方,且还将其转发给U,使得U可缓存它,至少一段时间,及可将其作为其基于Cu的交易的部分转发。
有帮助的证书确认
注意,RTC系统可使用在单个证书中发现的数据实施,从而节约另外的证书和/或响应长度。如我们已看到的,CA可发出RTCA证书,其授权特定RTCA提供关于其自己的证书的有效性的权威回答。理想地,该RTCA证书指明必需被用于验证RTCA签署的响应的公钥。然而,CA可将该RTCA嵌入在其自己的证书内。即,CA(具有适当的格式,OID等)可包括在证书Cu中,同样,应被用于验证关于Cu的有效性的数字签署的响应的公钥PK。这种方式下,证书信任方不需接收单独的RTCA证书。当向RTC响应者询问最新的Cu的有效性证据时,其仅可获得RTCA签署的响应。事实上,Cu在其内指明公开的验证密钥,证书信任方可使用其用于验证Cu的有效性证据。这可产生显著的传输节约及存储节约。
类似地,证书Cu可指明其自己的时间间隔。在这种情况下,RTCA响应不需指明间隔T的开始和结束。或者,如果证书具有包括全天的有效性间隔是清楚的,则不需要该信息在证书内指明,且在RTCA响应应用中也实现了同样的节约。
单独废除
在特定证书C的有效性或中止的RTC证据应指明时间间隔的同时,废除的证据不必指明任何时间间隔:其有能力及时指明单一的点。实际上,不像有效性和中止,传统的废除是不能取消的过程。因而,单一的废除时间rt可有能力用于证明废除的证书。且rt不必是任何时间间隔T的开始。因此,一旦被永久废除,RTCA不必在所有更新的日期发送C的废除证据。原则上,废除证据可被发送一次并接着由RTC响应者缓存并在证书信任方询问关于C时被返回。
注意,RTCA在证书C已被废除时可被立刻通知。例如,在时间间隔T的中间,其中RTCA已经产生并转发C的有效性证据给RTC响应者。当然,在下一更新之前,不会为C计算这样的有效性证据。因而,较好的计数器测量包括使废除证据优先于有效性证据。即,诚实的证书信任方在某一时间间隔T既看到C的有效性证据,又看到C的废除证据(在时间t),并将C当作废除的(在时间t后)。然而,某些证据信任方可能永远不会看到这样的废除证据,因而C在T结束之前可能被认为依然有效。如我们所看到的,这样的问题是不可避免的,在这种意义上,及时在传统的OCSP中,C的废除新闻需要一定的时间才能到达响应者,且其可能需要花更长的时间来认识到C应被废除。但是,这些问题可通过使RTCA计算并发送C的废除证据给所有RTC响应者而被减轻,只要其获悉该废除。所有正常运行的RTC响应者接着将从存储器擦除C的任何有效性证据并用新近接收的废除证据代替。这种方式下,自那时起,它们将向证书信任方提供关于C的有效性的准确证据。
系统一般性
CA/RTCA/响应者/参与方/用户可以是任何实体(如个人、组织、服务器、设备、计算机程序、计算机文件)或实体的集合。
证书应被解释为包括所有种类的证书,及特别地,包括分级的证书及平面证书(cfr.美国专利号5,420,927,组合于此以供参考)。有效性状态和有效性状态证据卡包括用于分级的证书的有效性状态和有效性状态证据。验证证书C的有效性可包括验证CA证书的有效性,对于具有发出的C的CA而言,及验证CRTA证书的有效性,对于提供签署的关于C的有效性状态的响应的RTCA而言。
尽管传统地,证书是数字签署的文档,其将特定的密钥结合到特定的用户,下面的美国专利5,666,416(组合于此以供参考),证书应包括所有种类的数字签署的文档。例如,充作CA的卖主可通过数字地签署其价格列表而证明它(可能连同日期信息)。该证书的有效性状态同样是至关重要的。例如,卖主可能想要证明价格列表的当前有效性。因而客户可能希望确认价格列表文档的当前有效性。特别地,对于证明网页的当前有效性,RTC系统是理想的选择。事实上,产生当前有效性证据的RTCA可在网页本身后面保存。(在这种情况下,则一方可被认为是计算机文件。)
发送数据D(给X方)应被解释为包括使D可用(或使X接收D)。
具有实时确认的三因素鉴别
下述为具有实时确认和废除的有效的三因素鉴别,其被执行以没有在证书信任方连接基础结构。这可工作于物理访问应用如门或逻辑的应用如文件或应用访问。下面描述的一物理访问想定。其它应用很容易由本领域技术人员从该模型推及。
例16:
1.用户具有保存在无线设备上的凭证(物理权标)。该权标最好具有安全保存数字证书和私钥的能力。优选地,权标具有长距离(WAN)连接方法(如GPRS、SMS、寻呼、CDMA、GSM等)及短距离(PAN)连接方法(如蓝牙、IR、RF等)。权标还可具有一个或多个另外的鉴别因素(用于PIN的键座或生物测定特征读取器)。该例子假定权标为蓝牙移动电话。
2.门具有带有能够执行标准PKI操作的小CPU的控制面板,且短距离(PAN)连接方法被用于该物理权标。这个例子假定蓝牙使能的计算机类似于我们的标准演示门。
3.用户被提示将PIN号码输入到其移动电话内(或输入其自己的生物测定信息,如果生物测定信息读取器可用的话)。该提示可一天发生一次,用户试图第一次通过门时,每几个小时一次,随机地,基于特殊的SMS消息的接收。PIN(或生物测定信息)用作第二鉴别因素(第一因素为电话上的证书),并“解锁”电话以用在物理访问应用中。
4.一旦用户在门的范围内(对于蓝牙,30英尺),电话及门相互认可并开始初始的鉴别及确认顺序:
4.1(可选的)门通过经蓝牙将门的证书发送给电话而向电话确认其自己。电话使用我们的任一标准方法检查证书并确认门。这解决了“欺诈读卡机”的问题并在电话公开任何信息之前确保门是合法的读卡机。
4.2电话将用户的证书发送给门,其包含用户的生物测定信息细节。电话还发送RTC证据(优选地,或确认权标,即20字节有效性证据,或分布OCSP证据)以证明其当前有效性。证据先前已经WAN以正常的CoreStreet方式接收,如1997年9月9日授权的、题为“证书废除系统”的美国专利5,666,416所描述的。
4.3门以正常的RTC方式鉴别并确认用户的证书。门可在当前范围内(多个雇员可能在门的附近)对多个(甚至所有)电话进行上述工作。
5.在用户到达门时,先前的步骤已被完成。用户在安装在门上或门附近的读取器上扫描其指纹(或其它生物测定特征)。门将生物测定特征细节与保存在范围内的所有确认的证书中的数据进行匹配。如果生物测定特征匹配,则门打开。否则,门保持关闭。
其具有下述优点:
1.强大的鉴别(在该例子中为3因素,还可能更多)
2.对用户很清楚的(仅走近门并打开它,没有卡或PIN号需被记住)
3.实时废除和确认
4.在任何门没有连接基础结构被要求—可在30000英尺或在海洋的中间进行
5.可被建立以标准的硬件和软件组件
步骤4.1是有单独的利益的独立发明,因为其解决了现有的问题(如由国防部识别),对于这些问题,除此之外尚无其它解决方案。该方案可被扩大,其通过使“废除证据或服务登录行进到和/或自其它人的卡/电话到分离的门”实现。
保护移动计算资源
本发明的优选实施例基于20字节的、不可伪造的、公开的“证据”。20字节证据通过使用称为散列的单向函数而密码地保护。该方法很简单,不需要加密且不使用数字签名。这些特性使该技术可理想的用于:大规模配置(规模上1亿);带宽有限的应用(如无线应用);离线确认(即不要求网络连接)。
膝上型电脑偷窃是一个严重的问题,其强加了置换成本、降低了生产率、丢失不可恢复的数据。失去对敏感/机密数据的控制(敏感的运行信息、对客户的建议、电子邮件、日历、联系表、未决的合并、新产品IP、战略、及投放计划、财务运算结果、秘密的赔偿信息),并丢失了网络和基础结构的细节(如用户名&密码、拨入号、IP地址配置、DNS命名规则、及主要的邮件服务)。
在一实施例中,本发明提供用于租用,即许可使用指定的时间,其中租期是可配置的参数。本发明的技术加强了有效“租用”的出现。租用为20字节,不可伪造的“公开权标”:有效的权标,中止权标及废除权标。新租用被自动接收。计算机可以被暂时禁用,且系统管理员或用户可恢复膝上型电脑。计算机由系统管理员使用可能的防御可被永久的禁用。图8示出了根据本发明的一实施例的系统运行。
只要设备还有权,有效的租用权标由中央机构1天产生1次。在受保护的设备上得到有效的租用权标可以许多方式实现并对终端用户是非常清楚的。如果设备被窃取,将发生两件事:有效租用权标中止产生(没有办法能够延伸超出当天的使用);废除权标被传播到网络(任何连接实施设备立即不可用)。被偷窃的设备在以下时间内被关闭:几秒(最好的情况,如果实现推能力);几小时(一般情况,只要进行任何网络连接);一天(最坏的情况,没有连接可能)。
系统保护免遭任意的窃贼及内部窃贼的破坏。偷窃设备没有任何意义,因为:硬件不可用;软件不可用;及数据不可读。类似于某些卡式无线电品种,只要被偷窃其不再可用,因此阻止偷窃。
有效性权标通过下述方法递送:有线网络;无线网络;SMS无线“推”;寻呼系统;经红外端口的手持电话/PDA;蓝牙设备;手动型的经另外的通道接收(如,″7G9L TC77U8QL S2PS QK2Q EN9V PXXHXPUL″)如经传真、电子邮件、电话呼叫。图9为被偷窃的计算机时线的示意图。
另外的保护方法可被使用,包括:用于保护的物理锚;用于重新获得并作为威慑的资产跟踪服务;运动敏感元件及警报以作为威慑;访问密钥作为威慑及访问控制;用于重新获得并作为威慑的跟踪软件;及其仅保护数据的数据加密,潜在的攻击及结果包括:
移除/包围软件:如果有“管理特权”则可能的,但在废除后极难。可选的BIOS/硬件反措施,其提供几乎100%的保护。
替换/重新格式化硬盘:所有安全的数据丢失,及可选的BIPS/硬件钩以防止驱动器替换。
将硬驱移到另一机器以读数据:数据可被加密。
阻止废除权标的接收:拖延膝上型电脑的运行,直到租用期满(最坏的情况)。
根据在此公开的本发明的实践或说明,本发明的其它实施例对本领域的技术人员而言是显而易见的。说明书及其中的例子进应被视为示例性的,本发明具有的真实范围和实质将由下述的权利要求指出。
Claims (6)
1、一种用于实体A控制至少一用户U访问至少一不连接的门D的方法,门D具有确定当前时间的装置,包括步骤:
对于一日期序列的每一时间间隔d,使实体A产生数字签名SIGUDd,其指明用户U在时间间隔d期间可访问门D;
使得用户U在所述时间间隔d期间接收用于呈现给门D以通过门D的数字签名SIGUDd;
使用户U将数字签名SIGUDd呈现给门D;及
在验证下述两项后使门D打开:(i)数字签名SIGUDd确实是指明用户U在时间间隔d可访问门D的实体A的数字签名,及(ii)当前时间确实在时间间隔d内,其中门D将与不同用户的访问企图相对应的信息保存在用户U的卡上。
2、根据权利要求1所述的方法,其中用户U具有用户卡及门D具有与机电锁连接的读卡机,且其中用户U通过将数字签名SIGUDd保存在其卡中而接收数字签名SIGUDd,并通过使其卡由门D的读卡机读取而将数字签名SIGUDd呈现给门D。
3、根据权利要求1所述的方法,其中实体A使得数字签名SIGUDd在时间间隔d期间可由用户U接收,其通过将数字签名SIGUDd置入用户U可访问的数据库中实现。
4、根据权利要求1所述的方法,其中数字签名SIGUDd是公钥签名,且其中门D保存实体A的公钥。
5、根据权利要求1所述的方法,其中门D还验证关于用户U的身份信息。
6、根据权利要求5所述的方法,其中关于用户U的身份信息由下述至少之一组成:个人身份号码PIN及对门D的挑战的回答。
Applications Claiming Priority (24)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37086702P | 2002-04-08 | 2002-04-08 | |
US60/370,867 | 2002-04-08 | ||
US37295102P | 2002-04-16 | 2002-04-16 | |
US60/372,951 | 2002-04-16 | ||
US37321802P | 2002-04-17 | 2002-04-17 | |
US60/373,218 | 2002-04-17 | ||
US37486102P | 2002-04-23 | 2002-04-23 | |
US60/374,861 | 2002-04-23 | ||
US42079502P | 2002-10-23 | 2002-10-23 | |
US60/420,795 | 2002-10-23 | ||
US42119702P | 2002-10-25 | 2002-10-25 | |
US60/421,197 | 2002-10-25 | ||
US42175602P | 2002-10-28 | 2002-10-28 | |
US60/421,756 | 2002-10-28 | ||
US42241602P | 2002-10-30 | 2002-10-30 | |
US60/422,416 | 2002-10-30 | ||
US42750402P | 2002-11-19 | 2002-11-19 | |
US60/427,504 | 2002-11-19 | ||
US44340703P | 2003-01-29 | 2003-01-29 | |
US60/443,407 | 2003-01-29 | ||
US44614903P | 2003-02-10 | 2003-02-10 | |
US60/446,149 | 2003-02-10 | ||
US10/395,017 US7337315B2 (en) | 1995-10-02 | 2003-03-21 | Efficient certificate revocation |
US10/395,017 | 2003-03-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1659597A CN1659597A (zh) | 2005-08-24 |
CN100473002C true CN100473002C (zh) | 2009-03-25 |
Family
ID=29255792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB038132664A Expired - Lifetime CN100473002C (zh) | 2002-04-08 | 2003-04-08 | 物理访问控制方法 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1493131A2 (zh) |
JP (1) | JP2005525731A (zh) |
CN (1) | CN100473002C (zh) |
AU (2) | AU2003228468B2 (zh) |
CA (1) | CA2479869C (zh) |
WO (1) | WO2003088166A2 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005029445A2 (en) * | 2003-09-19 | 2005-03-31 | Ntt Docomo, Inc. | Method and apparatus for efficient certificate revocation |
JP2007511983A (ja) * | 2003-11-19 | 2007-05-10 | コアストリート、 リミテッド | 分散委任されたパス発見及び検証 |
CA2872032A1 (en) * | 2004-01-09 | 2005-08-04 | Corestreet, Ltd. | Signature-efficient real time credentials for ocsp and distributed ocsp |
CN1922815B (zh) * | 2004-01-09 | 2011-03-23 | 科尔街有限公司 | 用于ocsp和分布式ocsp的签名有效实时凭证 |
US8166532B2 (en) | 2006-10-10 | 2012-04-24 | Honeywell International Inc. | Decentralized access control framework |
CN101241610B (zh) * | 2007-02-08 | 2011-03-23 | 黄金富 | 采用无线射频识别技术的行李查核系统和方法 |
EP2043055B1 (en) * | 2007-09-28 | 2020-08-26 | iLOQ Oy | Lock administration system |
US9369285B2 (en) | 2011-04-28 | 2016-06-14 | Qualcomm Incorporated | Social network based PKI authentication |
CN104282068A (zh) * | 2012-03-15 | 2015-01-14 | 江苏省电力公司常州供电公司 | 变电所防误锁具的许可装置 |
US9807161B2 (en) * | 2013-09-16 | 2017-10-31 | Axis Ab | Distributed events in an access control system |
CA2968537A1 (en) * | 2014-12-02 | 2016-06-09 | Carrier Corporation | Access control system with virtual card data |
EP3208777A1 (en) * | 2016-02-16 | 2017-08-23 | ILESO Engineering GmbH | Control panel, use, and process for the manufacture thereof |
EP3742667A1 (en) | 2016-09-02 | 2020-11-25 | Assa Abloy AB | Key delegation for controlling access |
US11263840B2 (en) | 2017-02-24 | 2022-03-01 | 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 | 深圳指芯物联技术有限公司 | 智能锁控制方法、智能锁、云服务器及计算设备 |
Family Cites Families (15)
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 |
JP2752097B2 (ja) * | 1987-09-18 | 1998-05-18 | エヌ・ティ・ティ・データ通信株式会社 | 入退室管理装置 |
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 |
JP3907078B2 (ja) * | 1996-12-26 | 2007-04-18 | ホーチキ株式会社 | 入出退管理システム |
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 |
JP3659791B2 (ja) * | 1998-03-23 | 2005-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 小時間鍵生成の方法及びシステム |
ES2236973T3 (es) * | 1999-01-28 | 2005-07-16 | International Business Machines Corporation | Metodo y sistema de control de acceso electronico. |
JP2001148037A (ja) * | 1999-11-19 | 2001-05-29 | Open Loop:Kk | 電子チケット利用システム、電子チケット発券装置、電子チケット保持装置、電子チケット検札装置、電子チケット利用方法及び記録媒体 |
JP2001257668A (ja) * | 2000-03-14 | 2001-09-21 | Ntt Data Corp | 認証システム、携帯端末、認証方法及び記録媒体 |
-
2003
- 2003-04-08 CA CA2479869A patent/CA2479869C/en not_active Expired - Lifetime
- 2003-04-08 CN CNB038132664A patent/CN100473002C/zh not_active Expired - Lifetime
- 2003-04-08 WO PCT/US2003/010748 patent/WO2003088166A2/en active Application Filing
- 2003-04-08 EP EP03726222A patent/EP1493131A2/en not_active Ceased
- 2003-04-08 JP JP2003585029A patent/JP2005525731A/ja active Pending
- 2003-04-08 AU AU2003228468A patent/AU2003228468B2/en not_active Ceased
-
2010
- 2010-01-04 AU AU2010200020A patent/AU2010200020B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
CN1659597A (zh) | 2005-08-24 |
AU2003228468B2 (en) | 2009-10-01 |
JP2005525731A (ja) | 2005-08-25 |
AU2010200020A1 (en) | 2010-01-28 |
EP1493131A2 (en) | 2005-01-05 |
CA2479869A1 (en) | 2003-10-23 |
AU2003228468A1 (en) | 2003-10-27 |
WO2003088166A3 (en) | 2004-04-01 |
AU2010200020B2 (en) | 2012-12-13 |
WO2003088166A2 (en) | 2003-10-23 |
CA2479869C (en) | 2013-07-09 |
WO2003088166A8 (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100473002C (zh) | 物理访问控制方法 | |
US20230091605A1 (en) | Accessing an internet of things device using blockchain metadata | |
US20210217007A1 (en) | Distributed ledger for encrypted digital identity | |
US7353396B2 (en) | Physical access control | |
US9230375B2 (en) | Physical access control | |
US8171524B2 (en) | Physical access control | |
CN100401669C (zh) | 用于数据供应、交易和电子投票的方法和系统 | |
CN100533368C (zh) | 控制对区域的访问 | |
US20130061055A1 (en) | Apparatus and Methods for Providing Scalable, Dynamic, Individualized Credential Services Using Mobile Telephones | |
CN113382405B (zh) | 一种网络空间信息安全控制方法 | |
JP2003527035A (ja) | 遠隔の第三者監視を有する自動識別保護システム | |
EP3185465A1 (en) | A method for encrypting data and a method for decrypting data | |
CA3184856A1 (en) | Method, participatant unit, transaction register, and payment system for managing transaction data sets | |
CN101065789B (zh) | 记录对区域的访问尝试 | |
US20240140249A1 (en) | Method for authorizing a first participant in a communication network, processing device, motor vehicle and infrastructure device | |
US20230267426A1 (en) | Payment system, coin register, participant unit, transaction register, monitoring register and method for payment with electronic coin data sets | |
KR100194767B1 (ko) | 전자화폐 대금결제의 익명성 보장 방법 | |
Reno et al. | Implementation of Private Blockchain in Smart Card Management System | |
CA2814254C (en) | Physical access control | |
KR20040098066A (ko) | 물리적 액세스 제어 | |
Putra et al. | Blockchain Technology for Implementation of Vehicle Tax Payment Digital Receipt Authentication Using IPFS and Hyperledger Fabric | |
KR20240131971A (ko) | 블록체인 상의 스마트컨트랙트로 운영되는 권력분산형 모임통장 운영서비스 제공 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: ASSA ABLOY CO., LTD. Free format text: FORMER OWNER: CORESTREET LTD. Effective date: 20150105 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150105 Address after: Stockholm Patentee after: ASSA ABLOY AB Address before: Massachusetts Patentee before: CORESTREET, Ltd. |
|
CX01 | Expiry of patent term |
Granted publication date: 20090325 |
|
CX01 | Expiry of patent term |