自动化证书管理的制作方法

文档序号:7848444阅读:207来源:国知局
专利名称:自动化证书管理的制作方法
自动化证书管理
背景技术
许多组织和系统包括向组织提供各种重要功能的服务器计算机系统。例如,甚至小型企业也可能有电子邮件服务器、一个或多个数据库服务器、由web服务器托管的公司内联网门户、文件服务器等等。这些功能可驻留在单个计算机系统或若干个计算机系统上,诸如以便增加可伸缩性并基于预期或测量的负载为每一功能提供充足的资源。诸如MICR0S0FTtmWIND0WS 小型企业服务器之类的产品在单个产品中提供多个服务器功能。当组织具有多个服务器时,服务器可包括各种认证机制和安全协议以允许服务器彼此信任以及允许用户登录以访问每一服务器提供的功能。用于允许服务器使用单个登录来通信的一个安全系统包括MICR0S0FTtmACTIVEDIRECT0RY 联合服务(ADFS)。ADFS在 MICR0S0FT WIND0WSSERVER 2003中被引入以供组织参与基于标准的身份联合。ADFS提供跨服务器甚至跨组织的基于声明的认证。基于声明的认证使用令牌和证书来按照令牌内包含的一组声明认证用户或服务器。不幸的是,引入证书也引入了证书管理的问题,因为证书会随时间的流逝而过期。在使用公钥基础架构(PKI)或类似策略以执行其某些功能的产品部署中,假定产品依赖于管理员来手动管理证书寿命是非常常见的。此外,这样的产品依赖于管理员来进行在服务器场中共享这些证书的繁重工作。对于其中通常没有雇佣有经验的管理员的许多组织,尤其是小型企业,这种假定通常导致功能的损失以及服务器不能正确地通信以向组织提供预期的功能。即使当管理员确实按期用新证书替换老证书时,存在因未对依赖于系统的其它事物事先给予关于此改变的警告,系统中的什么东西可能由于此突然改变而破坏的可能性。此外,证书更新涉及大量的规划,因为通常是作为调度的停工期的一部分,在同一天在每一服务器上手动更新证书的。

发明内容
此处描述了提供对证书寿命和证书分发的自动管理的证书管理系统。与依赖于管理员或其他用户手动分发和管理证书不同,证书管理系统本身生成证书、向合适的服务器或其它方分发证书、并以避免中断功能的良好定义的方式从老证书过渡到新证书。在生成一个或多个证书之后,系统以使用证书的各方可找到新证书而无需管理员手动分发证书来的方式安全地共享证书。当到了更新证书的时候,系统以类似方式生成新证书并共享新证书。在过渡时期期间,系统提供老和新证书均可用于执行对资源的经认证的访问的协议,因此从老到新证书的过渡不会中断服务。稍后,系统移除老证书,在新证书接近过期时,该循环重复。在这些阶段的每一个期间,没有预期或需要任何管理干预。因此,证书管理系统极大地简化了在组织的各个服务器之间建立信任的过程,并使用户卸下了诊断通常在证书寿命的手动管理情况下通常会发生的复杂问题的负担。提供本发明内容以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。


图I是示出在一个实施例中的证书管理系统的各组件的框图。图2是示出在一实施例中系统生成并共享证书的处理的流程图。图3是示出在一实施例中系统更新一个或多个证书的处理的流程图。
具体实施例方式此处描述了提供对证书寿命和证书分发的自动管理的证书管理系统。与依赖于管理员或其他用户手动分发和管理证书不同,证书管理系统本身生成证书、向合适的服务器 或其它方分发证书、并以避免中断功能的良好定义的方式从老证书过渡到新证书。在生成一个或多个证书之后,系统以使用证书的各方可找到新证书而无需管理员手动分发证书的方式安全地共享证书。例如,小型企业中的证书服务器向其它服务器(例如,电子邮件服务器)提供证书而无需手动干预。当到了更新证书的时候,系统以类似方式生成新证书并共享新证书。例如,在证书过期前,系统可为快要过期的证书创建替换证书。在过渡期期间,系统提供老和新证书均可用于执行对资源的经认证的访问的协议,因此从老到新证书的过渡不会中断服务。稍后,系统移除老证书,在新证书接近过期时,该循环重复。在这些阶段的每一个期间,没有预期或需要任何管理干预。因此,证书管理系统极大地简化了在组织的各个服务器之间建立信任的过程,并解除了用户诊断通常在证书寿命的手动管理情况下通常会发生的复杂问题的负担。在某些实施例中,在使用证书管理系统首次配置新服务器场时,系统创建其自己的自签署/发放的证书以便进行令牌签署和加密。系统使用标准协议向其它安全令牌服务或应用发布这些证书,作为联合元数据。如果系统被配置用于场配置,则系统用对称密钥加密这些证书,并与场中的其它证书管理机器共享经加密的证书。对称密钥(或其它服务器可从其得到该对称密钥的密钥导出密钥)也被保存并可由场中的其它机器使用安全方法来访问。在系统创建证书之后,系统开始定期地(例如,每天)监视证书以确定证书是否快要过期。在证书过期前的预定时间(例如,几周前),系统创建新证书,并开始发布新证书作为辅助证书(例如,使用被称为联合元数据的标准)。发布这些证书作为辅助证书确保了在老证书快过期的情况下没有安全令牌服务或应用被中断,并给予其它方足够的时间来对其侧进行适当的改变。在创建新证书之后,证书管理系统自动使用对称密钥与场中的其它机器共享新证书,而不依赖于管理员来共享证书。一旦原来创建的证书过期,系统就删除它们。在创建证书之后、老证书过期之前的可配置时间,系统将新证书提升为主要证书。生成/发布新证书和将新证书提升为主要证书之间的时间就是过渡阶段。系统然后通过监视新证书和管理其寿命来重复该过程。图I是示出在一个实施例中的证书管理系统的各组件的框图。系统100包括证书生成组件110、证书发布组件120、证书检索组件130、证书更新组件140、证书过期组件150以及证书存储160。这些组件中的每一个都在此处进一步详细讨论。证书生成组件110生成一个或多个证书以进行令牌签署和加密。组件110在系统100安装以及服务器场配置时创建初始的证书集合以便进行自动化的证书管理。之后,在该初始的证书集合接近过期时,证书生成组件110创建新证书以替换老证书。组件110随时间重复该过程,以维护可用于执行应用服务器所需的加密和签署服务的当前的证书集合。证书发布组件120发布由证书生成组件110创建的新证书以使得证书可对系统100与之通信的其它服务器可用。证书发布组件120可使用诸如联合元数据和WS-Trust等的标准协议,来使得新证书应请求对其它服务器可用。主要服务器可按照安全的方式与其它服务器交换对称密钥,并使用对称密钥来加密证书。以此方式,证书可被开放共享(例如,经由文件共享),但仅可由具有适当的访问级别(如对称密钥的所有权所示)的各方访问和使用。当发布给同一场的成员时,组件120以加密方式发布证书,且内容包括证书的公钥以及私钥。在一些实施例中,这种发布是经由场内部的web服务进行的(例如,使用WINDOWS 通信基础(WCF))。当发布给ADFS场的外部信任伙伴时,组件120可仅发布证书的公钥,且这种发布是使用外部可见联合元数据来进行的。在一些实施例中,组件120可包括用于发布给外部各方以及发布给内部场成员的单独的子组件。证书发布组件120可发布主要和辅助证书两者。例如,初始创建的证书集合是主 要证书,但是之后的替换证书一开始可被发布为在一段时间内是辅助证书,以允许老和新证书之间的平滑过渡。在过渡时期之后,证书发布组件120发布替换证书作为主要证书。证书检索组件130在服务器上操作,其依赖于证书管理系统100来检索证书发布组件120共享的新证书。应用服务器或其它服务器可周期性地轮询系统的主要服务器,以确定是否有新的证书可供下载到应用服务器的证书存储。证书更新组件140在一服务器上操作,其依赖于证书管理系统100将通过证书发布组件120而从系统100检索到的主要证书添加到服务器场中一服务器本地的证书存储。证书更新组件140还检索辅助证书,并以可由客户机在过渡期间或者使用主要证书或者使用辅助证书来进行访问的方式将辅助证书置于证书存储中。因此,即使特定的服务器无法更新到替换证书集合,客户机仍可使用主要或辅助证书之一来与特定服务器通信。在系统将辅助证书提升为主要证书(例如,在过渡时期结束时)之前,所有服务器将具有充足的时间来更新到最新的证书集合。证书过期组件150从系统100移除过期的证书,并将辅助替换证书提升为主要证书。一旦证书超出其寿命,服务器将不再使用该证书来进行加密和签署,因此组件150删除已过期的证书。此前,如此处所述,系统100已发布辅助证书集合作为替换,组件150将辅助证书提升为主要证书。证书存储160为证书生成组件110生成的ADFS存储证书。证书存储160可包括主要证书和辅助证书。此外,各个应用服务器可包括其自己的用于存储已下载的主要和辅助证书供加密和签署数据的证书存储160。可能存在由密码服务供应商(CSP)提供的单独的密码存储(未示出)。尽管以上在单个证书管理系统100的上下文中描述了以上组件,本领域的普通技术人员将认识到,组件可分布在各个服务器和计算机系统上,以执行此处所述的功能。例如,组织中的每一服务器可包括其自己的证书过期组件150,该组件为该服务器移除老证书并提升新证书。或者或另外地,主要证书服务器可按照集中管理的方式移除一个或多个服务器上的老证书。系统不限于组件的任何具体分布,且与实现此处所述的目的和功能的各种分布兼容。
在其上实现了证书管理系统的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和指示设备)、输出设备(例如,显示设备)以及存储设备(例如,磁盘驱动器或其它非易失性存储介质)。存储器和存储设备是可以用实现或启用该系统的计算机可执行指令(如软件)来编码的计算机可读存储介质。此外,数据结构和消息结构可被存储或经由诸如通信链路上的信号等数据传输介质传送。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网络等。该系统的实施例可以在各种操作环境中实现,这些操作环境包括个人计算机、月艮务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码相机、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。计算机系统可以是蜂窝电话、个人数字助理、 智能电话、个人计算机、可编程消费电子设备、数码相机等。该系统可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。图2是示出在一实施例中系统生成并共享证书的处理的流程图。开始于框210,系统生成一个或多个证书以进行令牌签署和加密。证书是自签署/自发放的。系统可创建各种用途的证书。例如,系统可创建服务器场中的服务器使用的、以便建立服务器彼此之间的信任的通用证书,供远程服务器用来与服务器场通信的证书等。在框220继续,系统使用在服务器场中的服务器之间安全共享的密钥来对证书加密。例如,系统可生成并使用对称密钥来对一个或多个生成的证书加密。对证书加密允许更自由地共享证书而不必担心未经授权的各方能够访问证书。在框230继续,系统在对服务器场中每一服务器可用的位置处发布证书。例如,系统可在文件共享处或经由常规协议在证书服务器的端口处共享证书。系统还可指示每一证书的用途,以及证书是主要证书还是辅助证书。稍后,一个或多个服务器按照以下步骤所述地请求所发布的证书。在框240继续,系统监听对访问所发布的证书的请求。例如,系统可在公知端口监听访问与服务器场相关联的证书的服务器请求。在判定框250继续,如果系统接收访问证书的请求,则系统在框260继续,否则系统循环到框240以继续监听请求。在框260继续,系统处理所接收的访问证书的请求。例如,服务器场中的服务器可周期性地向证书服务器轮询新证书。在框270继续,系统用所请求的证书来答复。在一些实施例中,服务器可向证书服务器请求多个证书或比指定日期/时间新的证书,系统可用满足指定准则的一个或多个证书来答复。在框270之后,系统循环到框240以监听其它的证书访问请求。图3是示出在一实施例中系统更新一个或多个证书的处理的流程图。开始于框310,系统检测到证书待处理的过期。例如,系统可周期性地轮询存储在证书存储中的证书,以标识快要过期的证书(例如,在过期前的一或两周内)。系统可接收指定过期前的一持续时间以开始更新证书的可配置参数。尽管在此示例中描述了单个证书,但系统可在同时处理许多证书的过期。在框320继续,系统生成新证书以替换要过期的证书。例如,系统可调用操作系统应用编程接口(API)或其它组件来生成证书。
在框330继续,系统将新证书标识为辅助证书,使得检索证书的服务器将继续使用现有的证书并接受使用新证书的请求。在框340继续,系统在对服务器场中每一服务器可用的位置处发布新证书。服务器将自动挑选新证书,并开始允许依赖于新证书的访问。发布新证书还可包括向ADFS场外的外部伙伴发布证书。在框350继续,系统检测过渡时期是否结束,如果结束,则在框306继续,否则系统循环到框350以等待过渡时期的结束。过渡时期在证书过期或证书过期后的某一时刻(允许证书在刚刚过期之后保持有效可能是有用的)结束。在框360继续,系统将新证书从辅助证书提升为主要证书。这实现了用新证书对过期证书的替换。系统可简单地在证书存储中不同地标记证书,使得相关服务器注意到改变并更新其自己的证书存储以指示新的主要证书。在框370继续,系统从证书存储移除过期的证书。这还可在相关服务器根据其自己的过期管理日程安排尚未移除过期证书时提示相关服务器移除过期的证书。所提供的过渡时期确保了在老证书快过期的情况下没有安全令牌服务或应用被中断,并给予其它方足够的时间来对其侧进行适当的改变。在框370之后,这些步骤结束。在一些实施例,证书管理系统向服务器场中的每一服务器提供通用服务账户,通过该账户,每一服务器可访问共享的证书。例如,通过在标记为可由服务账户访问的存储中共享证书,持有服务账户凭证的任何其它服务器可访问该存储以及该存储内的任何数据。这提供了按照已经由现有的服务器用户访问管理提供的安全方式在多个机器之间共享数据的容易方式。在一些实施例中,证书管理系统提供管理员可调节以增加安全性或增加证书之间成功过渡的可能性的可配置参数。例如,一些管理员可能为增加的安全性而想要较短的过渡时期,而其他管理员可能为增加的兼容性而偏好较长的过渡时期。系统允许管理员配置过渡时期以便于调谐系统以适应这样不同的目的。在一些实施例中,证书管理系统发布元数据,这些元数据指示诸如正在使用哪些证书、哪些证书过期、哪些证书是主要证书、哪些证书是辅助证书等等的信息。以此方式,月艮务器场中的服务器可周期性地检查已发布的元数据以确定是否到了要进行诸如更新或提升证书等的进一步动作的时间。在一些实施例中,证书管理系统从单独的证书授权机构(CA)检索证书。尽管此处描述为生成其自己的证书,系统还可服从进行访问的服务器所信任的特定CA来生成系统共享和管理的证书。例如,系统可调用WIND0WSSERVER 2008R2web服务API来从公共CA获得证书。从前面的描述中可以看出,可以理解,证书管理系统的特定实施例只是为了说明,但是,在不偏离本发明的精神和范围的情况下,可以进行各种修改。因此,本发明只受所附权利要求限制。权利要求
1.一种计算机实现的用于自动生成和共享安全证书的方法,其特征在于,所述方法包括 生成一个或多个证书以便在服务器场中进行令牌签署和加密; 使用在所述服务器场中的服务器之间安全共享的密钥对所述证书加密; 在对所述服务器场中的每一服务器可用的位置发布所述证书; 监听访问所发布的证书的请求;以及 在接收访问证书的请求时, 处理所接收的访问证书的请求;以及 用所请求的证书答复所处理的请求, 其中,前述步骤由至少一个处理器来执行。
2.如权利要求I所述的方法,其特征在于,生成一个或多个证书包括调用本地应用编程接口(API)来创建证书。
3.如权利要求I所述的方法,其特征在于,生成一个或多个证书包括调用远程公共证书授权机构(CA)来生成证书。
4.如权利要求I所述的方法,其特征在于,对所述证书加密包括使用所述服务器场中的每一服务器来访问共享的证书信息的通用服务账户来访问所述密钥。
5.如权利要求I所述的方法,其特征在于,对所述证书加密包括生成并存储对称密钥或从所述对称密钥导出的密钥以对所述一个或多个生成的证书加密。
6.如权利要求I所述的方法,其特征在于,发布所述证书包括将所述证书置于使用通用服务账户保护的服务器场中的公开位置,使得仅授权方可访问所发布的证书。
7.如权利要求I所述的方法,其特征在于,发布所述证书包括将每一证书标识为主要或辅助证书。
8.如权利要求I所述的方法,其特征在于,监听访问所发布的证书的请求包括在公知端口监听访问与所述服务器场相关联的证书的服务器请求。
9.如权利要求I所述的方法,其特征在于,处理所接收的请求包括在来自所述服务器场中的服务器的周期性轮询时标识所述请求,以检测新生成或提升的证书。
10.如权利要求I所述的方法,其特征在于,处理所接收的请求包括标识已在证书集合中改变的证书,且其中答复所处理的请求包括响应于所述请求发送所标识的证书。
11.一种用于自动管理多个服务器共享的证书的计算机系统,所述系统包括 处理器和存储器,所述处理器和存储器被配置成执行软件指令; 证书生成组件,被配置成生成一个或多个证书以进行令牌签署和加密; 证书发布组件,被配置成发布由证书生成组件创建的新证书以使得所述证书可对所述系统与之通信的其它服务器可用; 证书检索组件,被配置成检索由证书发布组件共享的新证书; 证书更新组件,被配置成将从证书发布组件检索的主要证书添加到所述服务器场中的服务器本地的证书存储中; 证书过期组件,被配置成从所述系统移除过期的证书,并将辅助替换证书提升为主要证书;以及 证书存储,被配置成存储由证书生成组件生成的证书。
12.如权利要求11所述的系统,其特征在于,所述证书生成组件还被配置成在所述系统安装以及服务器场配置时创建初始的证书集合以便进行自动化的证书管理。
13.如权利要求11所述的系统,其特征在于,所述证书生成组件还被配置成创建新证书以替换接近过期的老证书而无需管理员的干预。
14.如权利要求11所述的系统,其特征在于,所述证书发布组件还被配置成发布主要和辅助证书两者,以允许在证书接近过期时的原始和替换证书之间的过渡时期。
15.如权利要求11所述的系统,其特征在于,证书更新组件还被配置成检索辅助证书,并以访问可对在过渡期间或者使用主要证书或者使用辅助证书的其它服务器来进行的方式将所述辅助证书置于证书存储中。
全文摘要
证书管理系统提供了对证书寿命和证书分发的自动管理。与依赖于管理员手动分发和管理证书不同,该系统本身生成证书、向合适的服务器或其它方分发证书、并以避免中断功能的良好定义的方式从老证书过渡到新证书。在生成一个或多个证书之后,系统以使用证书的各方可找到新证书而无需管理员手动分发证书来的方式安全地共享证书。当到了更新证书的时候,系统以类似方式生成新证书并共享新证书。在过渡时期期间,系统提供老和新证书均可用于执行对资源的经认证的访问的协议,因此从老到新证书的过渡不会中断服务。
文档编号H04L9/32GK102792632SQ201180012917
公开日2012年11月21日 申请日期2011年3月4日 优先权日2010年3月8日
发明者C·H·布雷斯, N·加吉, T·谢里夫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1