全世界数百万个浏览器都自动地废止该密钥的使用是不可能的。
7. 以用户为中心的信任模型是怎样实现信任关系的?哪个实际系统是使用这种模型的?
PGP最能说明以用户为中心的信任模型,在PGP中,一个用户通过担当CA(签署其他实体的公钥)并使其公钥被其他人所认证来建立(或参加)所谓的信任网(Web of Trust)。 例如,当A1ice收到一个据称属于Bob的证书时,她将发现这个证书是由她不认识的David签署的,但是David的证书是由她认识并且信任的Catherine签署的。在这种情况下,Alice可以决定信任Bob的密钥(即信任从Catherine到David再到Bob的密钥链),也可以决定不信任Bob的密钥(认为“未知的”Bob与“已知的”Catherine之间的“距离大远”)。
因为要依赖于用户自身的行为和决策能力,因此以用户为中心的模型在技术水平较高和利害关系高度一致的群体中是可行的,但是在一般的群体(它的许多用户有极少或者没有安全及PKI的概念)中是不现实的。
8. 如何实现双向的交叉认证证书?
每个CA只可能覆盖一定的作用范围,即CA的域,当隶属于不同CA的用户需要交换信息时,就需要引入交叉证书和交叉认证,这也是PKI必须完成的工作。
两个CA安全地交换密钥信息,这样每个CA都可以有效地验证另一方密钥的可信任性,我们称这样的过程为交叉认证。事实上,交叉认证是第三方信任的扩展,即一个CA的网络用户信任其他所有自己CA交叉认证的CA用户。 交叉认证可以是单向的,更常见的是双向的。根据X.509中术语,从CA1的观点来看,为它颁发的证书(也就是CA1作为主体而其他CA作为颁发者)叫做“正向交叉证书”,被它颁发的证书叫做“反向交叉证书”。如果一个X.500目录被用作证书资料库,那么正确的正/反向交叉证书可以被存储在相关的CA目录项的交叉证书结构中。
例如假设Alice已经被CA1认证持有可信的一份CA1的公钥,并且Bob已经被CA2认证持有可信的一份CA2的公钥。在CA1和CA2交叉认证之后,Alice的信任能够扩展到CA2的主体群(包括Bob),反之亦然。
在交叉认证之前,两个CA都会去了解对方的安全策略,包括在CA内哪个人负责高层的安全职责。同时还可能要两个CA的代表签署一个具有法律依据的协议。在这些协议中会陈述双方需要的安全策略,并签字保证这些策略要切实实施。
9. CA有哪些具体的职责?
? 验证并标识证书申请者的身份。
? 确保CA用于签名证书的非对称密钥的质量。
? 确保整个签证过程的安全性,确保签名私钥的安全性。 ? 证书材料信息(包括公钥证书序列号、CA标识等)的管理。 ? 确定并检查证书的有效期限。
? 确保证书主体标识的惟一性,防止重名。 ? 发布并维护作废证书表(CRL)。 ? 对整个证书签发过程做日志记录。 ? 向申请人发通知。
其中最为重要的是CA自己的一对密钥的管理,它必须确保高度的机密性,防止他方伪造证书。
33
10. 构造证书库的最佳方法是什么?
证书库是证书的集中存放地,是网上的一种公共信息库,用户可以从此处获得其他用户的证书和公钥。构造证书库的最佳方法是采用支持LDAP协议的目录系统,用户或相关的应用通过LDAP来访问证书库。系统必须确保证书库的完整性,防止伪造、篡改证书。
11. 掌握证书管理有哪3个阶段组成,每个阶段包括哪些具体内容?
1 证书管理 (1)初始化阶段 1. 终端实体注册
终端实体注册是单个用户或进程的身份被建立和验证的过程。注册过程能够通过不同的方法来实现,图示说明了一个实体初始化包括一个RA和一个CA的可能的方案(注意RA部件根本不存在的其他可能方案也是可用的)。终端实体注册是在线执行的,是用注册表格的交换来说明的。注册过程一般要求包括将一个或更多的共享秘密赋给终端实体以便后来在初始化过程中CA确认那个个体。 2. 密钥对产生
密钥资料可以在终端实体注册过程之前或直接响应终端实体注册过程时产生。在RA中或在CA中产生密钥资料是可能的。每个终端实体多个密钥可以被用做支持分离的和截然不同的服务。例如,一个密钥对可以被用作支持不可否认性服务而另一个密钥对可以被用作支持机密性或密钥管理功能(双密钥对模型)。 3. 证书创建和密钥/证书分发
无论密钥在哪里产生,证书创建的职责都将单独地落在被授权的CA上。如果公钥是被终端实体而不是CA所产生的,那么该公钥必须被安全地传送到CA以便其能够被放入证书。
一旦密钥资料和相关的证书已经被产生,它们必须被适当分发。请求证书和从可信实体(即CA)取回证书(以及相关的密钥,如果适用的话)的必要条件是要求一个安全协议机制。
4. 证书分发
如果私钥和相应的公钥证书已经被分发,那么有一种或多种传送给另一个实体的方法: ? 带外分发;
? 在一个公众的资料库或数据库中公布,以使查询和在线检索简便; ? 带内协议分发,例如,包括带有安全E-mail报文的适用的验证证书。
被用做数字签名目的的证书可以仅需要分发给它们的所有者,被用做机密性目的的证书对于发信方必须是容易获得的。 5. 密钥备份和托管
一定比例的加密密钥将因为许多原因(忘记密码、磁盘被破坏、失常的智能卡或雇员被解雇)使这些密钥的所有者无法访问,这就需要事先进行密钥备份。
密钥托管是指把一个秘密的密钥或私钥交由第三方保管,这样做的问题是哪些密钥应委托保管以及谁是可以信任的第三方(政府?)。 (2)颁布阶段 1. 证书检索
证书检索与访问一个终端实体证书的能力有关。检索一个终端实体证书的需求可能被两个不同的使用要求所驱动。
34
? 加密发给其他实体的数据的需求;
? 验证一个从另一个实体收到的数字签名的需求。 2. 证书验证
证书验证与评估一个给定证书的合法性和证书颁发者的可信赖性有关。证书验证是在基于那个证书被准许加密操作之前进行的。 3. 密钥恢复
密钥管理生命周期包括从远程备份设施(如可信密钥恢复中心或CA)中恢复私有加密密钥的能力。 密钥的恢复能使PKI管理员和终端用户的负担减至最小,这个过程必须尽可能最大程度自动化。 4. 密钥更新
当证书被颁发时,其被赋与一个固定的生存期。当证书“接近”过期时,必须颁发一个新的公/私钥和相关证书,这被称为密钥更新。应该允许一个合理的转变时间使依托方取得新证书,从而避免与过期证书所有有关的服务中断。这个过程是自动的,并对终端用户完全透明。
(3)取消阶段 1. 证书过期
证书在颁布时被赋与一个固定的生存期,在其被建立的有效期结束后,证书将会过期。当一个证书过期后,与该证书有关的终端实体可能发生三件事: ? 没有活动:终端实体不在参加PKI;
? 证书恢复:相同的公钥被加入新有效期的新证书(当与最初证书的颁布有关的环境没有变化时使用,并且它仍然认为是可靠的);
? 证书更新:一个新的公/私钥对被产生,并且一个新的证书被颁发。 2. 证书撤消
在证书自然过期之前对给定证书的即时取消(可疑的密钥损害、作业状态的变化或者雇佣终止等)。
一个终端用户个人可以亲自初始化自己的证书撤消(例如由于相应私有密钥的可疑损害)。RA可以代表终端用户被用做初始化证书撤消。经授权的管理者也可以有能力撤消终端实体的证书。 3. 密钥历史
由于机密性加密密钥最后要过期,因此可靠安全地存储用做解密的私有密钥是必须的,这被称作密钥历史,否则无法恢复。 4. 密钥档案
可靠地保存已经过期的用于验证数字签名的公钥,以便对历史文档的数字签名进行验证。
12. 什么是X.500目录服务?
X.500是一种CCITT针对已经被ISO接受的目录服务系统的建议,它定义了一个机构如何在一个企业的全局范围内共享名字和与它们相关的对象。
一个完整的X.500系统称为一个“目录”,X.500是层次性的,其中的管理性域(机构、分支、部门和工作组)可以提供这些域内的用户和资源的信息。它被认为是实现一个目录服务的最好途径。
X.500目录服务是一种用于开发一个单位内部人员目录的标准方法,这个目录可以成为全球目录的一部分,任何人都可以查询这个单位中人员的信息。这个目录有一个树型结
35
构:国家,单位(或组织),部门和个人。一个知名和最大的X.500目录是用于管理域名注册的InterNIC。
X.500目录服务可以向需要访问网络任何地方资源的电子函件系统和应用,或需要知道在网络上的实体名字和地点的管理系统提供信息。这个目录是一个目录信息数据库
(DIB)。
13. 什么是X.509方案,它是如何实现数字签名的?
X.509是一种行业标准或者行业解决方案——X.509公共密钥证书,在X.509方案中,默认的加密体制是公钥密码体制。
为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(指纹)。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将之与收到的信息“指纹”进行比较,以确定其真实性。
14. 同样开发一种提供公共信息查询的系统,相比基于Web的数据库设计方式而言,LDAP协议支持的目录服务有什么优点?
如果需要开发一种提供公共信息查询的系统,一般的设计方法可能是采用基于Web的数据库设计方式,即前端使用浏览器而后端使用Web服务器加上关系数据库。
(1)目录服务的推出主要是解决上述方式中存在的问题。目录是指具有描述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检索的需要添加了BIN(二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(syntax)。
它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚机制,它的数据修改使用简单的锁定机制实现A11-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。
(2)它最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录、而且也很容易定制应用程序为它加上LDAP的支持。 (3)LDAP服务器可以是任何一个开放源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。用户不必为LDAP的每一个客户端连接或许可协议付费,大多数的LDAP服务器安装起来很简单、也容易维护和优化。
(4)LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,复制技术是内置在LDAP服务器中的而且很容易配置。
15. X.500和LDAP有什么联系和区别?
LDAP协议基于X.500标准,但是比较简单,并且可以根据需要定制,LDAP支持TCP/IP。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息(电子邮件地址、邮件路由信息、人力资源数据、公用密钥、联系人列表)。
16. 实施PKI的过程中产生了哪些问题,如何解决?
首先是实施的问题,PKI定义了严格的操作协议和信任层次关系。任何向CA申请数字证书的人必须经过线下(offline)的身份验证(通常由RA完成),这种身份验证工作很难扩展到整个Internet范围,因此,现今构建的PKI系统都局限在一定范围内,这造成了PKI
36