证书机构的制作方法

文档序号:7548165阅读:147来源:国知局
专利名称:证书机构的制作方法
技术领域
本发明针对被用来发行通常供与公钥密码算法配合使用的数字证书的证书机构。
背景技术
公钥加密是一种使用非对称密钥来提供安全的妥善建立的技术。如本领域熟知的,可以生成公钥和私钥对,其中私钥被保密而公钥则可以被广泛公布。使用特定公钥所加密的任何消息仅能够使用相对应的私钥进行解密。类似地,使用特定私钥所加密的任何消息仅能够使用相对应的公钥进行解密。重要的是,公钥和私钥 在数学上是相关的,但是私钥无法从公钥可行地得出。因此,知道公钥无法使得私钥能够得以被确定。图I示出了总体上由参考标记I所指示的系统,其包括第一用户2和第二用户4。第一用户具有加密模块6;第二用户具有解密模块8。如图I所示,第一用户的加密模块6具有接收消息M的第一输入以及接收第一密钥Keyl的第二输入。加密模块具有以加密形式提供消息M的输出。加密模块6的输出被用作到第二用户4的解密模块8的第一输入。解密模块8具有接收第二密钥Key2的第二输入并且具有输出。如果第一密钥是第一用户2的私钥,则加密模块6所输出的加密消息可以被知道第一用户的公钥的任何解密模块所解密。因此,如果第二密钥是第一用户的公钥,则解密模块的输出将是消息M。在这种情况下,消息M的加密证明第一用户具有与第一用户的公钥相匹配的私钥,并且因此提供了第一用户的身份的良好证据。这种形式的加密通常被称之为数字签名。类似地,如果第一密钥是第二用户4的公钥,则加密模块6所输出的加密消息仅能够被知道第二用户的私钥的解密模块所解密。因此,如果第二密钥是第二用户的私钥,则解密模块的输出将是消息M。在这种情况下,消息M的加密确保了该消息仅能够由持有第二用户的私钥的某人所读取。这种形式的加密通常被称之为公钥加密。假定公钥和私钥对能够被用来证明用户的身份,如果第三方要信任该密钥系统,密钥的安全是至关重要的。一种增加公钥和私钥对中的信任的已知方法是使用公钥基础设施(PKI)系统。公钥基础设施(PKI)是将公钥和用户身份进行绑定的配置。这是使用证书(或认证)机构(CA)来实现的。证书机构(有时被称作“信任的第三方”)发行与特定用户身份相关联的公钥证书。为了这样做,用户需要证明其身份以使得认证机构满意。因此,在PKI系统中,特定公钥与特定身份相关的、第三方具有的信任水平取决于该第三方在发行公钥证书的证书机构中所具有的信任水平。证书处理在建立公钥基础设施(PKI)以及对其进行部署和保护时需要来自用户/客户端和服务提供商两者的至少一些技术知识。典型地,客户端证书和客户端私钥存储在客户端硬件中并且因此不易进行传输,这可能是不安全的并且通常并非是用户友好的。签署客户端证书在正常情况下由根证书机构(CA)离线完成并且占用时间,这是因为根证书机构需要验证客户端的身份。很多公司可被用来作为公共的根证书机构,但是这样的公司针对签署其顾客的证书而对他们进行收费;因此,即使专家级用户也被要求支付额外的费用。在市场中存在若干可用工具,如OpenSSUSSL或Java Keytool。这些工具能够生成私钥,并且利用该密钥创建最终保存在介质(例如,记忆棒)处的CSR (证书签署请求)。为了识别用户,需要如post-ident的机制。该解决方案公开了一些安全风险。

发明内容
本发明寻求解决以上所概括的问题中的至少一些问题。本发明提供了一种方法,包括提供输入以使得用户能够管理该用户的一个或多个数字证书;使用身份管理系统来识别该用户;并且使用身份管理系统签署和控制该用户的所述一个或多个数字证书。数字证书的管理通常采取签署和控制该用户的数字证书的形式。本发明还提供了一种身份管理系统,包括第一输入,其用于使得用户能够管理该 用户的一个或多个数字证书(例如,通过请求数字证书的发布/签署或者通过请求数字证书的撤销);识别模块,其用于识别用户;和证书模块,其适于签署和控制该用户的所述一个或多个数字证书。因此,本发明提供了一种证书签署/生成/处理协议,其中使用身份管理系统来提供/生成/撤销证书(作为证书机构进行操作)。本发明因此使得能够实现基于IDM的PKI系统。本发明提供了一种用于提供证书的相对快捷和容易的解决方案。所述输入可以使用图形用户界面来提供。这为用户提供了与本发明的装置和方法进行交互的简单手段。该身份管理系统通常能够签署该用户的多个数字证书(典型地,根据用户的请求)。用户的该(或每个)数字证书可以包括该用户可用属性的子集。在本发明的一些形式中,用户指定至少一些要包括在特定数字证书中的属性。在本发明的一些形式中,用户指定至少一些要从特定数字证书排除的属性。用户的该(或每个)数字证书可以包括至少一些由身份管理系统所添加的属性。身份管理系统所插入的至少一些属性可以在没有要求来自用户的输入的情况下被插入。该身份管理系统例如可以插入诸如用户年龄或出生日期的属性,或者用户是否低于18岁的指示。该身份管理系统可以添加IDM系统的完全合格的域名(FQDN)。该身份管理系统可以负责检查用户所请求包括的属性是正确的。如果这样的属性不正确,则该身份管理系统可以拒绝签署证书。作为示例,如果用户请求指示用户年龄大于18岁的属性被包括在证书中,则该身份管理系统就不应当在该属性不为真的情况下签署这样的证书。IDM经常检查用户希望包括在特定证书中的所有属性的有效性。该身份管理系统可以能够撤销一个或多个数字证书。证书撤销例如是根据来自用户的请求。证书撤销例如可以是取决于时间的;例如,特定证书可以具有有效性期间,在其之后该证书应当被撤销。本发明还提供了一种方法,包括生成证书签署请求,该请求包括用户的公钥;在身份管理系统处对用户进行认证;向该身份管理系统发送该证书签署请求;并且响应于该证书签署请求从该身份管理系统接收数字证书。当然,这些步骤的顺序可以与以上给出步骤的顺序有所不同;作为示例,可以在用户被身份管理系统所认证之前发送证书签署请求。本发明进一步提供了一种设备,包括用于生成证书签署请求的装置,该请求包括用户的公钥;用于请求在身份管理系统处对用户进行认证的装置;用于向该身份管理系统发送该证书签署请求的装置;以及用于响应于该证书签署请求从该身份管理系统接收数字证书的装置。数字证书通常由IDM的私钥进行签署。数字证书通常以未加密形式包括IDM的公钥。因此,可以使用IDM的公钥轻易地对数字签名进行解密以连同数字证书中所包括的任意属性和其它数据一起提取用户的身份和公钥。本发明可以包括为用户生成公钥和私钥对,其中所述公钥是所述证书签署请求中所包括的公钥。
证书签署请求可以包括所要包括在该数字证书中的一个或多个用户属性的细节。证书签署请求可以包括要从该数字证书中排除的一个或多个用户属性的细节。可以提供界面(例如,GUI)以使得用户能够指示应当和/或不应当包括在数字证书中的用户属性。这例如可以以可用选项的检查列表或下拉列表的形式来提供,其中用户能够轻易地指示哪些属性应当和/或不应当包括在证书中。属性可以是“模糊的(fuzzed)”。这使用用户能够例如出于隐私的原因而提供与完全属性数据相比较不精确的属性数据。作为示例,不是向证书签署请求中输入客户端的精确地址,而将允许地点模糊(仅地区或城镇/城市或者州)。IDM系统可以被用来检查客户端所透露的内容(较不精确的“模糊”数据)是否正确。身份管理系统可以能够签署该用户的多个数字证书(典型地,根据用户的请求)。本发明进一步提供了一种计算机程序,包括用于提供输入以使得用户能够管理(该管理通常采取签署和控制用户的数字证书的形式)该用户的一个或多个数字证书的代码(或其它一些装置);用于使用身份管理系统来识别该用户的代码(或其它一些装置);以及用于使用身份管理系统签署和控制所述该用户的一个或多个数字证书的代码(或其它一些装置)。该计算机程序可以是包括承载实现于其中以便供与计算机配合使用的计算机程序代码的计算机可读介质的计算机程序产品。本发明还进一步提供了一种计算机程序,包括用于生成证书签署请求的代码(或其它一些装置),该请求包括用户的公钥;用于在身份管理系统处对用户进行认证的代码(或其它一些装置);用于向该身份管理系统发送该证书签署请求的代码(或其它一些装置);以及用于响应于该证书签署请求从该身份管理系统接收数字证书的代码(或其它一些装置)。该计算机程序可以是包括承载实现于其中以便供与计算机配合使用的计算机程序代码的计算机可读介质的计算机程序产品。


以下仅通过示例参考以下经编号的附图对本发明的示例性实施例进行描述。图I是论证公钥和私钥的使用的系统的框 图2是依据本发明一个方面的系统的框 图3示出了依据本发明一个方面的消息序列;和图4是依据本发明一个方面的系统的框图。
具体实施例方式本发明的发明人已经意识到,与现有技术的证书签署和处理协议相关联的许多问题都能够通过使用身份管理系统来提供和处理证书由此提供基于IDM的PKI而得以解决。如以下详细讨论的,该解决方案将高级别的安全性与高级别的灵活性相结合。例如,本发明的系统足够灵活以例如在用户不再有信誉或不再可靠的情况下撤销证书。而且,证书可以被补充有能够由IDM进行验证的与用户相关的属性(诸如用户的出生日期)。“身份管理”描述了用来使得能够实现身份信息跨另外的自治安全域的可移植性的各种技术。身份管理(有时被称作身份联合(federation))的目标是使得一个域的用户能够无缝且安全地访问另一个域的数据或系统,而无需进行冗余用户管理。消除了每次访问新应用或账户时的重复登录过程的需要,这实质性地改善了用户体验。
如以上所讨论的,为了使得证书机构能够发行与特定用户身份相关联的公钥证书,用户需要证明其身份以使得认证机构满意。发明人已经意识到,身份管理系统现有的能力能够通过使用身份管理系统发行和管理数字证书而得以开拓,即作为证书机构进行操作。因此,出于用户认证的目的而使用IDM的优势在于,IDM并不需要post-ident或其它类似机制来对人员进行验证。相反,IDM能够使用之前经认证的会话来对照数据库对用户进行检查并且在那里存储新生成的数字证书。因此,IDM的操作人员已经建立了其自己的PKI。图2是依据本发明一个方面的系统的系统框图,其总体上由参考标记10所指示。系统10包括客户端12 (通常为软件模块的形式)、用于该客户端的图形用户界面(⑶1)14、身份管理(IDM)系统16和数据库18。客户端12与⑶I 14和IDM 16进行双路通信。IDM还与数据库18进行双路通信。图3是示出系统10的示例性使用的消息序列,其总体上由参考标记20所指示。消息序列20在步骤22开始,其中在IDM 16处对客户端12进行认证。存在各种能够被用来在IDM处对用户进行认证的机制。使用用户名和密码对以及使用例如存储在SIM模块中的数据是许多示例中的两种。技术人员将意识到实施消息序列20的该步骤的许多选择。用来实施认证步骤22的装置并非是本发明的实质性特征。在识别之后,客户端12在消息序列20的步骤23生成证书签署请求(CSR)。为了生成CSR,在客户端12处生成公钥和私钥对(如果这样的密钥对还不存在)并且该公钥包括在发送至IDM 16的CSR中。一旦被生成,CSR就在消息24中被发送至IDM 16。通过向IDM 16发送(包括客户端12的公钥的)CSR,客户端12要求(作为证书机构的)IDM生成数字证书,所述数字证书将客户端12的身份与CSR 23中所包括的公钥进行绑定。除了客户端12希望包括在数字证书中的公钥之外,CSR可以包括与用户希望包括在所请求证书中的属性相关的信息。用户可以能够使用GUI 14来指示应当包括在该数字证书中的信息。作为示例,用户可以能够选择或不选择将包含在证书中的预先定义的属性和扩展(extension)。一些属性/扩展可能无法由客户端进行修改(例如,“年龄>18”)。可能改变其它属性/扩展(例如,昵称=“Bugs Bunny”而不是“John Doe”)。
在接收到CSR时,IDM 16与数据库18进行通信以获取应当包括在数字证书中的信息,诸如所请求的用户属性(见消息26)。IDM可以对照数据库18中所存储的数据和/或对照可配置的IDM规则集合/策略(例如,如果年龄>18包括在CSR中,则仅在其被数据库中所存储的数据所验证的情况下进行签署)对CSR中由客户端12所指定的属性进行验证。此外,IDM系统可以能够向客户端证书添加另外的扩展和约束。现在,基于在步骤22所确认的身份信息、在CSR中提供的公钥、以及从数据库18所获得的任意所请求属性数据,IDM 16在步骤27生成数字证书。该数字证书通过利用IDM的私钥签署数据而将该身份、公钥和属性数据绑定在一起。该证书通常连同证书机构的未加密公钥一起被发送,以使得任何实体都能够读取加密证书。然而,使用密钥来验证该证书的有效性(即,检查该证书已经被证书机构所签署)。在步骤27所签署的数字证书被提供至客户端12 (在消息28中)并且可以任选地被存储在数据库中18 (消息30)。客户端12可以被实施为软件模块并且可以被直接提供在客户端硬件上或者例如 提供在SM卡或所谓的IDM卫星上。IDM卫星例如可以以可移动的形式来提供,例如作为记忆棒(诸如USB棒)。在这样的实施例中,客户端的私钥可能连同该数字证书一起被存储在记忆棒上。这样的部署使得(包括识别信息的)记忆棒能够是便携式的。IDM卫星可以被密码保护(或者可以提供一些其它安全机制)以避免他人对所存储证书以及相对应私钥的轻易访问(即,如果IDM卫星丢失或被盗)。在使用中,客户端12执行朝IDM 16的SSL通信。客户端12已经存储了 IDM服务器证书并且对照其对从IDM所接收的证书进行检查。如果它们不同,则客户端12检查该证书是否由(作为认证机构的)IDM所签署。如果该证书并非由IDM所签署,则通信会话中止。服务器证书和根CA证书被存储并且可在到IDM系统的连接建立期间用于认证。这禁止了非安全环境中的DNS有毒攻击和客户端证书钓鱼。本发明使得能够由IDM 16为单个用户发行多个证书。此外,那些证书中的至少一些可以彼此不同。IDM能够对这样的多个证书进行管理,并且用户能够决定哪些证书最适用于特定的使用情况(或者能够针对新的使用情况请求新的证书)。证书管理可以使得用户能够以相同的便利方式删除有效证书和/或撤销它们。该功能可以由用户经由GUI 14进行控制。IDM 16 (或者如果有的情况下,与IDM 16相关联的数据库18)可以被用作用于一个或多个客户端的证书的安全存储的机制。任选地,IDM客户端(诸如客户端12)能够独自生成客户端证书签署请求并且将其发送至IDM以便进行验证(属性/过期日期/扩展等)而并不使用以上所描述的软件支持。IDM 16可以包括以下功能中的至少一些。·在(服务器认证的)SSL隧道中成功注册之后利用IDM群体的授权成员引导(bootstrap) PKI
客户端证书的安全存储和管理 使得能够由用户删除证书
一旦IDM系统了解到客户端持有任何有效客户端证书后就执行相互SSL认证 根据来自用户的请求签署证书 客户端证书的证书撤销 与其它PKI联合
其它PKI能够经由SAML针对IDM群体所生成的证书的有效性查询IDM 验证CSR中所声明的客户端属性。图4是依据本发明一个方面的系统的框图,其总体上由参考标记40所指示。系统40提供示出了基于IDM的PKI系统和另一个PKI系统(在该示例中是由用户的在线银行所使用的PKI系统)之间的示例性交互。系统40包括分别与以上所描述的客户端12和IDM 16相类似的客户端42和IDM44。如以上所描述的,IDM 44用作客户端42的证书机构。因此,客户端42和IDM 44形成了 PKI系统(在图4中标记为PKI I)的一部分。如图4所示,客户端42与IDM 44进行双路通信,并且还与银行46进行双路通信。银行46处于单独的PKI系统中(在图4中标记为PKI 2)。 在使用中,银行46从客户端或从IDM 44接收用于客户端42的数字证书。该数字证书由IDM 44所签署,并且如果银行信任IDM,则银行能够使用该数字证书中所包括的客户端42的公钥对由客户端42发送至银行46的、使用客户端的私钥所签署的消息进行解
LU O在本发明的一个实施例中,银行46可以存储从IDM 44所接收的多个数字证书并且从IDM定期接收证书撤销列表(CRL),其指示了 IDM所发行的不再有效的数字证书。当银行从客户端接收到消息时,银行46能够确定IDM是否认为该客户端的数字证书为有效。当然,直接与IDM 44进行通信以在一对一的基础上在IDM处验证单个客户端证书对于银行而言也是开放的。如果客户端42自己删除了证书或者嵌入在证书中的客户端属性/扩展已经废弃,则证书将被IDM 44所撤销。例如,属性可能由于属性的拥有者已经18岁、拥有者不再有信誉或者其地址改变而废弃。如果银行46不再接受客户端证书,则客户端42会被强制直接联系IDM系统44以请求生成新的用于该具体应用情形的最新证书(例如,在amazon, de购买)。对于银行46而言,如果正确的SAML令牌处于目标URL中则接受客户端证书是另一种选择。如以上详细讨论的,本发明使得能够由IDM发行并管理数字证书。依据本发明的原则所生成的数字证书可以被用于许多不同用途。典型的使用情形包括
支付请求,其中客户端证书可以被用来签署支付请求;
银行应用,其中高等级的安全性是强制的(相互认证);
在因特网咖啡馆中,其中终端设备并非处于用户控制之下 任何需要便携式证书的情况;以及 为了提供一种容易且安全的管理VPN访问的方式。以上所描述的本发明的实施例是说明性而非限制性的。对于本领域技术人员显而易见的是,以上设备和方法可以结合多种修改而并不背离本发明的一般范围。在其落入所附权利要求的范围之内的情况下,所有这样的修改都意在包括在本发明的范围之内。
权利要求
1.一种方法,包括 提供输入以使得用户能够管理该用户的一个或多个数字证书; 使用身份管理系统来识别该用户;并且 使用身份管理系统签署和控制该用户的所述一个或多个数字证书。
2.根据权利要求I所述的方法,其中使用图形用户界面提供该输入。
3.根据权利要求I或2所述的方法,其中该身份管理系统能够签署该用户的多个数字证书。
4.根据前述任一权利要求所述的方法,其中该用户的该或每个数字证书包括该用户的可用属性的子集。
5.根据权利要求4所述的方法,进一步包括该用户指定要包括在特定数字证书中的属性。
6.根据权利要求4或5所述的方法,其中至少一些所述属性由该身份管理系统添加至 证书。
7.根据前述任一权利要求所述的方法,其中该身份管理系统能够撤销一个或多个数字证书。
8.一种方法,包括 生成证书签署请求,该请求包括用户的公钥; 在身份管理系统处对用户进行认证; 向该身份管理系统发送该证书签署请求;并且 响应于该证书签署请求从该身份管理系统接收数字证书。
9.根据权利要求8所述的方法,进一步包括为用户生成公钥和私钥对,其中所述公钥是包括在所述证书签署请求中的公钥。
10.根据权利要求8或9所述的方法,其中该证书签署请求包括要包括在该数字证书中的一个或多个用户属性的细节。
11.根据权利要求10所述的方法,进一步包括提供界面以使得用户能够指示应当包括在该数字证书中的用户属性。
12.—种身份管理系统,包括 第一输入,其用于使得用户能够管理该用户的一个或多个数字证书; 识别模块,其用于识别用户;和 证书模块,其适于签署和控制该用户的所述一个或多个数字证书。
13.根据权利要求12所述的身份管理系统,其中该身份管理系统能够签署该用户的多个数字证书。
14.根据权利要求12或13所述的身份管理系统,其中该用户的该或每个数字证书包括该用户的可用属性的子集。
15.根据权利要求12至14中任一项所述的身份管理系统,其中该身份管理系统能够撤销一个或多个数字证书。
16.一种计算机程序产品,包括 用于提供输入以使得用户能够管理该用户的一个或多个数字证书的装置; 用于使用身份管理系统来识别该用户的装置;以及用于使用身份管理系统签署和控制该用户的所述一个或多个数字证书的装置。
17.一种计算机程序产品,包括用于生成证书签署请求的装置,该请求包括用户的公钥;用于在身份管理系统处对用户进行认证的装置;用于向该身份管理系统发送该证书签署请求的装置;以及用于响应于该证书签署请求从该身份管理系统接收数字证书的装置。
全文摘要
描述了一种用于发行和控制数字证书的协议,其中身份管理系统被用来识别请求数字证书的用户并且还被用来发行数字证书本身。相应地,提供了基于IDM的PKI系统。
文档编号H04L29/06GK102823217SQ201080066049
公开日2012年12月12日 申请日期2010年4月1日 优先权日2010年4月1日
发明者R.赛德尔, N.格特策, M.鲍尔-赫尔曼 申请人:诺基亚西门子通信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1