公共密钥基础结构的制作方法

文档序号:7950724阅读:240来源:国知局
专利名称:公共密钥基础结构的制作方法
公共密钥基础结构发明领域本发明涉及公共密钥基础结构(PKI)。尤其是涉及数字签名证书 的颁发及证实、系统以及便利该证实的相关方面。其与PKI系统之间 的交叉认证尤为相关。
背景技术
公共密钥基础结构(PKI)是一种支持在可信任的团体间建立电子 信任的技术基础结构。基于公共密钥密码学(PKC)的概念,该技术迄 今已被证明是为在互联网和任何地方(包括银行网络)上包括安全电 子商务的安全通信的坚固平台。公共密钥密码学(PKC)是一种允许团体通过使用公钥和私钥对进 行安全通信的技术。基于公共密钥密码学的通信可以既可信赖又安 全,即使使公钥广为人知以及可用。该技术在20世纪70年代期间作 为对称密钥密码学(SKC)的替代技术首次被发明,后者要求共享密钥 在希望通信的团体之间保密。为PKC大规模地成功运用通常要求建立一种公共密钥基础结构 (PKI )。在PKI的核心是一个可信代理,通常称作为认证机构(CA ), 其证明用户的公钥的有效性。通过签署这些密钥形成一种数据结构即 (公钥)证书完成上述功能。然后,使用必须通过可靠方法首先获得 的、认证CA的公钥,可以对公钥进行电子方式地交换和验证完整性。指定的认证机构可以支持为整个企业的单个应用或多个应用,假定 该企业规模不太大。由如此的企业CA颁发的证书被典型地存储于诸如 机构目录的数据储存库,在那儿应用对证书进行访问。许多企业—— 包括汽车工业、金融和银行业、石油和国防等部分——现在正在建立 机构CA。一个著名的大案例是美国国防部,该部已经建立一个约有1000 万个证书的才几构PKI。在正式术语中,PKI的两组用户可以被定义如下 订户(subscriber)是一个拥有私钥和由CA颁发的相应数字证书的用户、服务器或加密设备,其使用证书发送已鉴定的(已 签名的)消息。消息可包括数字签名的电子邮件、或在挑战-应答 鉴定协议中使用的消息交换。 信赖方(RP)是一个代理,其使用CA颁发的证书验证由订户 签名的消息的真实性。称其为信赖方是因为信赖方依赖CA代表它 验证那些发送数字签名的电子邮件或通过在挑战-应答鉴定协议中 所使用的消息交换进行反应的订户的身份。使用来启动信任路径建 立的CA证书被称作为信任锚。信任锚经常是但并不总是层次结构 的根。可以建立具有根和一些下属的CA的层次结构,而不是建立为一个 企业中所有应用的所有用户提供服务的单个CA。层次结构允许证书管 理功能被分发到整个机构内,与用户更接近。在适应性与安全性方面 这带来益处。因为CA能够以与其所服务的用户极其接近的方式为证书 与撤销列表出版运行,所以适应性增加。因为极其接近性促进PKI组 件和用户群之间的带外通信,所以安全性增加。现在参考图1,信任总是从严格的CA层次结构中的根产生。这由 在层次结构的根(根A)处的环形箭头图示性地加以说明,该环形箭头 表示自签名(或自颁发)的证书。要指出的重要一点是,该层次结构的根是为机构A内所有信赖方 (RP)的共享信任锚。这是CA的严格层次结构的定义特征.其结果是 所有RP以完全相同的方式确定信任。这起先似乎违反直觉,因为其最 初(虽然错误地)可能被假定大多数本地的CA是为发送和接收安全通 信的开始点。可是,在严格的层次结构中信任管理是不对称的 为发送已签名的通信,信任链从根经由本地CA扩展到订户的 证书。
为接收已签名的通信,信任再次从根开始,如有必要将扩展到 从属CA (或其它地方)的每一个CA。本地CA对该过程没有影响。 可是,严格的层次结构具有某些缺点 根CA是企业失败的单点。如果由于任何原因企业的根CA停止 服务一段时间,则证书撤销信息不能被发布,导致潜在地拒绝经由 企业(包括本地域)的服务。更为严重的是,如果根被永久性的损 坏或受损,则必须对整个企业重新建立密钥基础结构,这会是一个 潜在地非常费时、代价高昂的过程。
严格的层次结构经常不能反映真正的企业需求。例如,在联营
企业或拥有一些小公司的大公司中, 一种更联合的方法可能更为适 宜。
证书和密钥的滚动非常复杂,因为由从属CA颁发的证书的有 效期通常不会超过上级证书的有效期。
如果下级试图与外部团体进行交叉验证,则会发生无法预料的 信任。这在下面进行深入讨论。经常有通过机构边界进行安全通信的需求,其通常也涉及穿过安全 管理边界(包括PKI边界)。有几项技术用于扩展公钥的信任,但目 前所使用的技术中最流行的是交叉认证。对等交叉认证(以下简称为交叉认证)是由许多PKI技术的销售商 支持的方法。交叉认证允许两个单独的PKI系统彼此间建立信任关系。 这种信任关系可以在所施加的某些约束或条件下被建立,因此每一个 PKI不需要无条件地信任该合作PKI系统,但可以在控制的条件下信任 它。两个机构可以在根层次上交叉验证其各自的PKI。如果每个机构意 欲信任其它机构的整个PKI,则这种方法是理想的。可是,其可能是, 一个机构可更愿意只在从属层次上将信任扩展到其它机构,例如仅在 所选择的部门之间建立信任。以这种方式限定信任的需要可以由于多 种原因而产生例如,某些部门可以在商业敏感领域中工作,其希望 对外部团体拒绝信任;而采购部门可以有更开放的政策,其需要与相 当多的外部供应商建立信任关系。从标题为 "Plannibg and implementing Cross—certification and Qualified Subordination Using Windows Server 2003 (使用 Windows Server 2003规划和实现交叉认证和合格下属)"的微软公 司的文档中知悉,利用已知的交叉认证方法以限制外部(被交叉验证 的)合作机构内的信任范围。然而,由颁发交叉证书给外部(被交叉 验证的)机构所建立的任何信任关系, 一律被交叉认证机构内的所有 信赖方继承。该方法的一个问题是,即使在允许从属CA进行交叉验证的应用环 境中应用该方法时,由此引起的信任关系是不对称的外部实体可以 在机构范围内鉴定自身,但只有在交叉验证CA之中或之下的交叉验证 机构内的实体能够对外部机构鉴定自身。这种不对称性可以导致某些通信协议不能正确运行。因此,通常不推荐在从属CA之间创建信任关 系,而总是优选在根层次上创建信任关系以保证这种协议正确运行。因此希望提供改善的PKI系统、装置、方法等,其减轻与已知系统 关联的一个或多个问题。发明内容本发明提供约束PKI或相似系统对证书的颁发与/或使用的方法、 装置、系统与计算机程序(任选地存储在机器可读介质上),包括基 于ITU推荐标准X. 509及相关标准的那些。特别是,根据本发明的第一方面,提供一种包括一个认证机构层次 结构的公共密钥基础结构,其中安排第一认证机构颁发交叉证书,其 中安排层次高于第 一认证机构的第二认证机构,使得仅颁发那些无论 单独或联合均不可以被成功使用以证实交叉证书的证书。当第二认证机构确实可以颁发信任锚(trust anchor)和其它证 书时,其必须保证,无论单独地或联合地,它们中没有一个允许成功 验证由第 一认证机构颁发的交叉证书。在某些实施例中,这些证书包括一个信任锚。在某些实施例中,安排层次上高于第一认证机构的每一个认证机 构,使得仅颁发那些无论单独或联合均不可以被成功使用以证实交叉 证书的证书。在某些实施例中,笫二认证机构向其下级认证机构颁发包括一个阻 止4吏用证书以成功地证实交叉证书的约束的证书。在某些实施例中,该约束包括路径长度约束、命名空间约束、策略 映射约束和应用约束中的一种。在某些实施例中,该约束包括一个策略映射约束。在某些实施例中,该约束禁止策略映射。在某些实施例中,该信任锚包括一个inhibitPolicyMapping (禁 止策略映射)字段,其中该约束包括把inhibitPolicyMapping字段 设置为一个预先确定的值。在某些优选的实施例中,inhibitPolicyMapping字段的预先确定 的值等于零。基本上可以按照ITU推荐标准X. 509对公共密钥基础结构进行操作。
在本上下文中已经有若干基本X. 509推荐标准的派生标准,其不 可避免地会随时间演化。因此,本领域的技术人员容易地理解,本发 明同样应用对于X. 509推荐标准自身的文字措辞的,那些派生标准, 因而该应用基础结构不是字面上地而是实质上依照X. 509。根据本发明的另外一个方面,提供一种为包括认证机构层次结构的 公共密钥基础结构的认证机构,在该基础结构中安排笫 一认证机构使 颁发一份交叉证书,配置认证机构使层次高于第一认证机构,并且安 排重些认证机构使得仅颁发那些无论单独或联合均不可以被成功使用 以证实交叉证书的证书。本发明也提供该基础结构运行的方法以及包括与设备的每一个相 关组件对应的方法步骤。特别是,根据本发明的另外一个方面,提供一种运行公共密钥基础 结构的方法,包括步骤提供包括认证机构层次结构的公共密钥基础 结构,该认证机构层次结构包括笫一认证机构和层次高于笫一认证机 构的第二认证机构;配置笫一认证机构使颁发交叉证书;配置第二认 证机构使颁发那些无论单独或联合均不允许成功地证实由第 一认证机 构颁发的交叉证书。本发明也提供为计算机执行本发明的方法的程序(无论作为软件、 固件、芯片布置软件,或源代码或目标代码,任选地存储在机器可读 的载体或介质上);本发明也提供依靠上述程序的已编程的计算机, 根据本发明的其它方面这些程序也形成装置。特别是,根据本发明的另外一个方面,提供具有组件代码部分的计 算机程序,配置该程序使在包括认证机构层次结构的公共密钥基础结 构中担任一个认证机构,在该基础结构中安排第一认证机构使颁发交 叉证书,配置认证机构使层次高于第一认证机构,并且安排使得仅颁 发那些无论单独或联合均不可以被成功使用以证实交叉证书的证书。根据本发明的另 一个方面,提供包括一个认证机构的公共密钥基础 结构,配置该认证机构使颁发包括一个约束的从属证书或信任锚,在 正常操作中该约束分别防止该从属证书或信任锚被使用于证实由从属 i人证机构颁发的交叉证书。根据本发明的另一个方面,提供包括证书证实功能的公共密钥基础 结构,安排该证书证实功能使响应包含一种约束的从属证书或信任锚 中的约束证实交叉证书,该约束在正常运行中分别防止该从属证书或 信任锚被使用于证实由从属认证机构颁发的交叉证书。优选的特征可以被适当地组合,这一点对本领域的技术人员是显而 易见的,并且可以与本发明的任意方面组合。除上述说明的事例外, 本发明的其它优点对本领域的技术人员也会是显而易见的。


为显示本发明如何被实现,下面仅举例和参考附图对本发明的实施例进行描述,附图中图l表示依照本发明的第一系统; 图2表示依照本发明的第一PKI系统; 图3表示依照本发明的第二PKI系统。
具体实施方式
现参考图1,控制交叉认证范围的一种可能的方法是在从属的、部 门的层次上运行交叉认证。它例证性说明在两个从属层次的CA之间的 信任关系财务A和财务B。显然,此处的目的是把信任关系限定于两 个机构的财务部门。在寻找满足该要求中,当在根CA层次上进行交叉 验证时所使用的以前已知的方法是要使用众所周知的证书约束的技 术。可是,当在从属CA层次上进行交叉验证时,该方法令人遗憾地不 能满足需要,下面会进行阐述。X. 509标准允"MH吏用证书约束(例如,如"APC ^/J^-//7fei77efM尸C W"-J^辟丄5"^并齊钩差4潜^证并々^2;無要义#>> " (Http: 〃www. faqs. org/rfcs/rfc259. html)中所定义).这样的约 束可以包括命名空间、策略映射、路径长度、或应用策略约束。这样 的约束被放置在交叉证书内,并且具有限制信任扩展到合作机构内的 程度的作用。以例证性说明的方式以及再次参考图1,约束可以被CA 财务A以如下方式^f吏用 可以使用路径长度约束以防止信任扩展到财务B与之已经交 叉验证的任何其它CA。例如,在由财务A颁发的交叉证书中将路径 长度设置为零,将保证信任不会扩展到财务B之外的任何其它CA。
在由财务A向财务B颁发的交叉证书中,可以使用命名空间 约束以防止信任扩展到所允许的命名空间之外的证书在本例中,
交叉证书可能仅允许格式为"xxx.Organisation-B.com"的命名 空间,该格式会把证书的使用限制在机构B内的任何实体"xxx" 之中(在本例中"xxx"可能是与机构B关联的命名空间)。 可以使用由财务A颁发的交叉证书中的策略映射约束以防止 信任扩展到没有使用所允许的策略类型之一的CA 。 可以使用由财务A颁发的交叉证书中的应用策略约束以将安 全通信限制于所定义的应用集。RFC 2459包括证书约束的不同类型、证书的语法以及可以如何使 用证书的详细描述。理解约束的重要一点是,虽然约束确实应用于被交叉验证的机构 (本例中为机构B)中的订户10,但它们不选择性地应用于交叉验证 机构(机构A)中的信赖方11-13。而是,包含在证书中的任何约束全 局性地应用于所有开始与特别的信任锚建立信任关系的信赖方。因此 在本例中,在机构A内的所有团体,无论其在财务部门内部还是外部, 都将以相同方式处理交叉证书。每一个订户或信赖方保留或访问一组证书20-23。虽然显示每一个用户似乎在本地保留证书,但证书实际上可以被保留在每一个机构内 的一个可公共访问的存储库中。然而本发明的发明者已经确定这种方案的一个不合乎要求的结果 是在被交叉验证的机构内信任路径意外出现,并且已经经验性地确认 这些出乎意料的信任路径的存在。仍参考图1,机构B的财务部的订户IO发送一封签名的电子邮件 给机构A的销售部的用户12。即使在两个财务CA之间已经实现交叉认 证,然而从根A到发送用户的证书的信任链仍然存在。接收用户的信 任锚24由根A颁发,并且因为由财务CA创建的交叉证书25在机构A 的目录内被自由地分发,所以接收者的电子邮件应用程序将以完全相 同的方式处理签名的电子邮件,遵守由财务A建立的由交叉认证施加 的相同约束。这种无意的且因此出乎意料的信任路径的存在将被称作"意外信 任"。意外信任具有对机构产生重要的并且在某些情况下严重的影响 的可能。这意味着在机构B内的用户例如能够发送签名的电子邮件 26-28到机构A内的任何地点并且使之被接收。它们还可以与web服
务器或文件服务器安全地连接,或远程登录系统,等等。采取减轻这一问题的影响的措施是有可能的。这些措施可能包括在 机构的边界设置防火墙使仅允许特定应用程序,或者限制应用程序以 检查证书路径的其它方面,例如命名约束或距信任锚的最大路径长 度。可是,这些措施只能部分解决该问题,并且导致另外的复杂性。 如果机构的注册程序有缺陷,则有很大的可能性是,怀有不良企图的 人能够伪装成合作机构内的另 一名用户,绕开由应用程序所使用的任 何命名约束。在上面所描述的简单模式中,已经确定从属CA层次上交叉验证的 系统内的意外信任的存在,本发明的发明者继续开发使用以特别方式 配置的CA层次结构的加强的PKI方案。总之根CA支持机构内部的信 任并且从属CA也在可以被称作多根层次结构的结构内担当为本地用户 的信任点。从属CA也可以与合作者交叉验证以支持本地事务要求。可 是,来自根CA的约束防止该信任被传播到该机构的其它不希望的部 分,从而避免意外信任的问題。现参考图2,为机构A的已修正的认证机构结构包括自验证CA(如 前面的根A)和从属CA (工程A、销售A和财务A,从机构而言分别对 应于工程部、销售部和财务部)。可是在本事例中,财务A的CA也同 样自验证29,形成为从属CA的用户的信任锚。机构B的组织结构与前 面所述相同,因为该确切的结构不重要。在本例中,除根A向依赖于其自身或其从属CA的信任的用户ll-13颁发信任锚以外,财务A也向它自己的信任的用户13颁发信任锚, 虽然其并未向依赖于其它对等的CA (例如销售A)的从属用户11-12 颁发信任锚。可是,除财务A有能力颁发其自身的信任锚之外,上级根A CA施 加约束31给当在这一点上开始时能够被证实的证书。特别是,这些证 书被限制来防止使用于证实由从属CA财务A颁发的交叉证书。这可以 通过一些方式得以实现,但是最容易和最有效的方式是可以通过把颁 发给从属CA的证书的inhibitPolicyMapping字段设置为零来实现。 这意味着,虽然由根A颁发的证书30可以被使用于证实机构A内颁发 的证书,但是它们不能被使用于证实由从属CA颁发给其他机构的交叉 证书25。
在财务A颁发交叉证书25给财务B而财务B依次验证财务B的财 务B的订户IO的事例中,该证书链可以被反过来呈现给财务A信任的 用户13用于证实。在该例中,通过一种简单的机制,例如提供和检查 该证书内的策略映射字段,该证书可被确认为交叉证书。虽然财务A 信任的用户可以保留来自根A的信任锚,但在由根A颁发的证书中策 略映射被抑制为长度为零的路径意味着根A的证书不能被成功地使用 于证实交叉证书。可是,财务A信任的用户也保留来自财务A的、可 以被成功地使用于证实交叉证书的信任锚29,从而允许所要求的交互 继续进行。相反,如果财务B的订户IO将包括交叉证书25的相同证书链呈现 给机构A的部分内的信任的、不保留来自财务A的信任锚的用户ll-lZ, 则证实将失败。例如,如果财务B的订户要将它的证书呈现给销 售A信任的用户12,则任何使用来自根A的信任锚24以证实证书的尝 试都会失敗,因为不可以使用该信任锚来证实距颁发的根A CA零步以上颁发的交叉证书。这通过使用前述的约束得以实现。此外,因为销 售A信任的用户12不依赖于财务A,所以其不保留来自财务A的信任 锚,该信任锚将会是证实由财务A颁发的交叉证书的唯一其它方法。 因此,销售A信任的用户不能证实由财务B的订户呈现的交叉证书, 因此所要求的交互将被拒绝。如果该交叉证书被呈现给工程A信任的 用户则相似情形产生,因此如上所述的意外信任从而被防止。本发明的发明者于是已经意识到,多根的层次结构与对证书颁发的 约束一起提供控制企业外部的信任的改进方法。约束被施加于由根颁发给从属CA的证书。这些防止信任在信任可 以从根开始的机构外扩展。约束可以包括前述所列约束中的任意一个 ——命名空间、策略映射、路径长度和应用策略。 一个事例是对于根 将具有一个"inhibitPolicyMapping"约束的证书颁发给从属CA。这 防止信赖方使用其内具有策略映射字段的证书来从根建立信任路径。在从属CA可以希望颁发交叉证书,以及该证书包含一个策略映射 的地方,该映射将超越(override)来自根的约束,而只应用于除从 根之外开始路径建立的信赖方。在多根层次结构的当前事例中,这是 从属CA的本地订户13。在本方案中的用户保留信任两个信任锚 部门/本地CA (即自签名的从属CA),其可以实施它自己的 策略,以及其仅应用于那些保留本地CA证书作为信任锚的用户。 根CA,通过根CA本地用户将能够信任它们自己机构的其它 部分。根CA将实施一种全局策略,该策略的作用是要禁止建立到 被交叉验证的CA的信任。其结果是,通过从根CA颁发给从属CA的证书用户信任它们自己机 构的其它部分。根据证书被约束的事实,来自本地CA的信任不传播到 该机构的其余部分。采取这项技术,仍参考图2,在表1中概括了作为结果的信任关系。 表l:信任关系来自该部门的用 户…—财务A的用户机构B的用户销售A的用户和工 程A的用户...信任/不信任 来自该部门的用 户1财务A的用户《一经由根 A和财务A的 信任锚《一经由交 叉证书《--经由根A的 信任锚机构B的用户V --经由交 叉证书《一经由根 A信任锚x --没有信任路 径存在(来自根A 的约束超越交叉证 书)销售A的用户和 工程A的用户V —经由根 A的信任锚x —没有信 任路径存在V—经由根A和销 售A或工程A的信 任锚通过检查本表可见,期望获得的信任的需求已经完全被满足 财务A的用户,在左手侧那列中,信任每一个人。
外部(机构B)用户,在中间那列中,只信任财务用户以及他们自己机构的用户。他们不信任销售A或工程A的用户,因为在团体间不存在有效的证书路径。 销售A或工程A的用户,在右手侧那列中,信任财务A以及
他们自己本地的用户。他们不信任外部CA的用户,因为从信任的 应用程序的观点而言来自根的策略约束使得该路径成为一个非法 路径。可用于该目的的一个简单、有效的约束是设置 "inhibitPolicyMapping,,(如RFC 2459中所述)属性为零,如此 则不允许策略映射从而禁止交叉认证。这允许机构的PKI具有如所要 求的深度。虽然命名约束可以作为另一种可选方案被使用,但它们的 使用依赖于外部合作机构内的注册的正确实施和运行,而策略映射约 束的使用把对信任传播的全部控制保留在颁发交叉证书的机构手中。 策略映射约束的使用也好于路径长度约束,否则路径长度约束会限制 本地机构CA的深度。通过该方法,可能看起来似乎在以下两个方面存在明显的矛盾,一 方面根(或其它上级)CA禁止对其从属的策略映射,另一方面从属CA 实际上颁发包含策略映射的证书。在这些策略基础上而言所提出的方 案可能因此被反对。可是进一步观察看出不是该层次结构的根CA定义 该机构的策略,而是根据机构的策略其仅负责实施策略中的某些部 分。因此,机构的PKI策略可以选择指定一个根(或其它层次上级) CA作为仅负责实施其安全通信的某些方面,例如仅负责内部通信。从 属CA于是由该策略允许,负责机构的安全通信的需求的其它方面,例 如交叉认证,假定该从属CA实施与交叉证书的颁发关联所要求的、必 需的约束。根CA和从属CA二者因此依照机构的PKI策略运行。虽然在基于X. 509推荐标准的已知PKI中约束可以在从上级CA颁 发到下级CA的证书中被执行,但也已经被确认的是约束也可以被嵌入 到由自验证的CA颁发的信任锚之中。在该实施例中仅需要由该CA把 约束包括在其信任锚中,而在其它实施例中约束必须被包括在由上级 CA颁发到其每一个下级的每一份证书之中。通过对信任锚的数据结构 作简单修改以及对读取和解释这些数据结构的系统作相应修改(通常 经由计算机程序实施),将约束包括在信任锚中的单点实施可以被实 现。虽然按照两个层次的CA层次结构在上面对该方案进行描述,但该 方案可以轻易地推广为多于两个层次的层次结构,这一点对本领域的 技术人员是显而易见的。特别是,现参考图3,多个层次的层次结构可
包括三个或更多层次的CA。在该例中,总体方案与图2中的方案相似, 除在根A的CA和工程A、销售A以及财务A的CA之间插入另外一个层 次。具体而言,工程CA被作为R&A的CA的下级,使销售A和财务A 的CA二者作为总部A的CA的下级。在任何或所有层次内的CA可以被 安排35-36使颁发信任锚,虽然不是认证机构R&A A,但在所示的事 例中认证机构总部A和工程A被显示能够执行该职能。如前所述,自验证CA可以颁发交叉证书。然而,在由比那些颁发 给定交叉证书的CA层次更高的CA颁发的信任锚之内所施加的约束的 性质,比前述事例中更为复杂。总的来说,那时必需保证由比给定交 叉证书的颁发机构层次更高的CA所颁发的信任锚不能成功地使用于证 实所颁发的交叉证书。为实现上述目的, 一种简单的方法是通过使用 该证书的路径长度约束或禁止策略映射约束的"跳跃证书"子字段, 来限制距离所颁发信任锚的证实路径的长度。因此在所示的事例中, 如果希望防止关于由最低层次的CA (例如工程A、销售A以及财务A) 颁发的交叉证书25的意外信任的产生,则根A的CA把 inhibitPolicyMapping设置为一个不大于1的值,同时总部A的CA 把inhibitPolicyMapping i殳置为一个不大于零的值。以这种方式, 来自根A的信任锚24和来自总部A的25 二者都不能被成功使用于证 实由工程A、销售A或财务A颁发的交叉证书25。(注意在现有基于 X. 509的系统中,交叉证书必须在其内总是具有一个策略映射字段为该 具体实施例正常运行)然而注意如果在根A已经把inhibitPolicyMapping设置为1 (而 不是零)的情况下,总部A要颁发交叉证书36,则意外信任仍可能作 为通过使用根A的信任锚证实由总部A颁发的交叉证书36的结果发 生。因此,如果也要防止上述问题,则根A的信任锚也必须限定其路 径长度为零(或总的来说限定为某一长度,该长度防止信任锚被使用 于证实由任何从属CA颁发的任何交叉证书)。如前所述,这可以通过 把inhibitPolicyMapping再次设置为零得以实现。相反,如果由才艮A施加的约束是要把inhibitPolicyMapping设置 为零,但是没有对应的约束被施加于由总部A颁发的信任锚,则由从 属于总部A的任何CA颁发的交叉证书将有效地把信任锚扩展到所有总 部A的信任的用户12-13。因此以该方式选择性地限制信任锚的能力允
许创建复杂的信任结构。虽然仅就两个交互的机构中的一个进行了展示,但是显然,所提议 的配置可以被应用于许多交互的机构中的每一个,以便使它们中的每 一个在它们各自的机构内将意外信任限制到所选择的程度。仍参考图3,本地CA (例如财务A)为该CA的订户13形成另外一 个信任锚。因此每一个用户具有几个信任锚,该用户从它们可以验证 证书链在上述事例中,用户具有来自根的一个信任锚、来自本地CA 的另一个信任锚以及一些用户12-13具有来自总部A的另外一个信任 锚。来自从属CA的另外的信任锚允许本地通信得以继续进行,即使该 企业的根因为任何原因停止服务。多根层次结构(其为一个从属CA在其内可以颁发信任锚的层次机 构)克服上面所列的严格层次结构的许多问题。它去除根C A成为企业 失败的单点的问题。它也使证书和密钥的有效期管理得以简化,因为 本地CA的密钥和证书可以从根的密钥和证书中被分离。因此,总的来说,对许多情况而言多根方法要优于严格的层次结构。总而言之,仍参考图3,提供一种限制信任在证书颁发机构内传播 的方法。通过在层次上第一高的CA (根CA)和第二交叉证书颁发CA(财务A )之间,设置一个笫三CA (总部A )——该CA具有它自己的、 能够证实由第二交叉证书颁发CA所颁发的交叉证书25的信任锚35, 信任的范围被限制。通过把合适的约束包括在由第一层次上高级CA(根 CA)所颁发的证书之中,由第二CA (财务A)所颁发的交叉证书25只 可以在第三CA (总部A)或层次低于第三CA的CA中被证实。这把证 书颁发机构(机构A)内的信任关系的范围作为整体限定在那些第三 CA (总部A)或层次低于第三CA的机构单元中。从前面的描述中显而 易见的是,在某些情况下第三CA和第二CA可以是同一个CA (例如财 务A),由此在该颁发机构中的信任被限定仅在交叉证书颁发机构单元(财务A)之内进行传播。因此,尽管在已知的系统中通过施加于颁发给外部机构的交叉证 书的约束,外部机构(机构B)内的信任的范围可以被限定于该机构结 构的一个子集,然而本发明允许颁发机构(机构A)内的信任范围被相 应地加以限制。这允许在进行交叉验证的机构和被交叉验证的机构的 子集之间建立信任并将信任限定于其中。
在不失去目标效果的情况下,可以对此处给定的任何范围或设备 值进行扩展或更改,这对于本领域的技术人员理解此处的技术内容而 言是显而易见的。
权利要求
1.一种包括认证机构层次结构的公共密钥基础结构,其中安排第一认证机构颁发交叉证书,其中安排层次高于第一认证机构的第二认证机构,使得仅颁发那些无论单独或联合均不可以被成功使用以证实交叉证书的证书。
2. 根据前面任意一条权利要求的公共密钥基础结构,其中该证书 包括一个信任锚。
3. 根据前面任意一条权利要求的公共密钥基础结构,其中安排层 次高于第一认证机构的每一个认证机构,使得仅颁发那些无论单独或 联合均不可以被成功使用以证实交叉证书的证书。
4. 根据前面任意一条权利要求的公共密钥基础结构,其中第二认 证机构向其下级认证机构颁发证书,所述证书包括一个排除该证书被 使用于成功地证实交叉证书的约束。
5. 根据前面任意一条权利要求的公共密钥基础结构,其中该约束 包括路径长度约束、命名空间约束、策略映射约束和应用约束中的一 种。
6. 根据前面任意一条权利要求的公共密钥基础结构,其中该约束 包括一个策略映射约束。
7. 根据前面任意一条权利要求的公共密钥基础结构,其中该约束 禁止策略映射。
8. 根据前面任意一条权利要求的公共密钥基础结构,其中信任锚 包括一个禁止策略映射字段,其中约束包括设置禁止策略映射字段为 一个预先确定的值。
9. 根据权利要求8的公共密钥基础结构,其中该预先确定的值等 于零。
10. 根据前面任意一条权利要求的公共密钥基础结构,其基本上 按照ITU推荐标准X. 509运行。
11. 一种用于包括认证机构层次结构的公共密钥基础结构的认证 机构,其中安排第一认证机构颁发一份交叉证书,配置认证机构使层 次高于第一认证机构,并且安排使仅颁发那些无论单独或联合均不可 以寻皮成功4吏用以证实交叉证书的证书。
12. —种运行公共密钥基础结构的方法,包括以下步骤 提供一个包括认证机构层次结构的公共密钥基础结构,该层次结构包括第 一认证机构和层次高于笫 一认证机构的第二认证机构; 配置笫一认证机构使颁发交叉证书;配置第二认证机构使颁发那些无论单独或联合均不允许成功地证 实由第 一认证机构颁发的交叉证书的证书。
13. —种具有组件代码部分的计算机程序,配置该程序使在包括认 证机构层次结构的公共密钥基础结构中担任一个认证机构,其中安排 第一认证机构颁发一份交叉证书,配置认证机构使层次高于第一认证 机构,并且安排使仅颁发那些无论单独或联合均不可以被成功使用于 证实交叉证书的证书。
14. 一种包括一个认证机构的公共密钥基础结构,配置该认证机构 使颁发包括一个约束的信任锚,在正常操作中该约束防止该信任锚被 使用于证实由从属认证机构颁发的交叉证书。
15. —种包括证书证实功能的公共密钥基础结构,安排该证书证实 功能使响应包含一种约束的信任锚中的约束证实交叉证书,该约束在 正常操作中防止该信任锚被使用于证实由从属认证机构颁发的交叉证书。
16. —种公共密钥基础结构,包括根认证机构和从属于根认证机构 的第二认证机构,其中第二认证机构可以颁发信任锚。
17. 根据权利要求16的公共密钥基础结构,其中第二认证机构也 可以颁发交叉证书。
18. 公共密钥基础结构方法、装置、系统以及可选地在机器可读介 质上的计算机程序,基本上在前面的描述中以及参考附图被公开。
全文摘要
本发明为公共密钥基础结构(PKI)中的交叉认证提供方法、装置、系统和软件。提供一种具有认证机构层次结构的公共密钥基础结构。安排第一CA颁发一份交叉证书。安排层次高于第一认证机构的第二认证机构,使得不颁发任何可被成功使用于证实交叉证书的信任锚。在验证机构内的信任不扩展到整个验证机构,而仅被限定于该验证机构的预先确定的部分。
文档编号H04L9/32GK101129016SQ200580048655
公开日2008年2月20日 申请日期2005年12月23日 优先权日2004年12月24日
发明者T·B·迪恩 申请人:秦内蒂克有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1