Public key infrastructure 计算机系统安全 第七章 公开密钥设施PKI Public key infrastructure
一、需要解决的问题 网络安全的要求: 安全解决方案: 数据传输的机密性 数据交换的完整性 发送信息的不可否认性 交易者身份的确定性 第七章 公开密钥设施PKI 一、需要解决的问题 网络安全的要求: 数据传输的机密性 数据交换的完整性 发送信息的不可否认性 交易者身份的确定性 安全解决方案: 建立安全证书体系结构。提供在网上验证身份的方式。主要采用了公开密钥体制,其它还包括对称密钥加密、数字签名、数字信封等技术。
我们为什么需要PKI 密码协议和密码算法解决了应用安全中的一些关键问题 如何实现它们,并使它们能够真正应用起来? 如何将公钥颁发给个体? 个体的私钥存储在哪里? 到哪里去获得其它个体的公钥? 如何确定他人的公钥是否有效、合法?
什么是PKI PKI(Public-key infrastructure) 提供了解决这些问题的基础和框架 X.509定义PKI为:创建、管理、存储、发布和撤消基于公钥密码系统的数字证书所需要的硬件、软件、人和过程的集合。
PKI 基于非对称密钥系统的一套安全体系 基于数字证书的身份验证 基于对称密钥的数据保护
PKI 该体系建立在统一的安全认证和规范基础上。 PKI从技术上解决网上身份认证、信息完整性、抗抵赖等安全问题。 为网络应用提供保证。
PKI的应用 PKI提供一个安全的框架,使得PKI的应用可以获得最终的利益。 例子: 在WEB服务器和浏览器之间的通信 电子邮件 电子数据内部交换 在Internet上的信用卡交易 虚拟专用网VPN
PKI的构成 认证中心(CA):负责签发、管理和作废证书等操作 注册中心(RA):建立证书持有者和证书之间的联系。 证书库 密钥备份及恢复系统 证书作废处理系统 PKI应用接口系统
PKI的基本功能 用户注册 证书申请 密钥产生 密钥更新 密钥备份 密钥恢复 证书作废 证书归档
二、信任及信任模式 1、什么是信任 信任:实体A认定实体B将严格地按A所期望的那样行动,则A 信任B。(ITU-T推荐标准X.509的定义) 第七章 公开密钥设施PKI 二、信任及信任模式 1、什么是信任 信任:实体A认定实体B将严格地按A所期望的那样行动,则A 信任B。(ITU-T推荐标准X.509的定义) 称A是信任者,B是被信任者。信任涉及对某种事件、情况的预测、期望和行为。信任是信任者对被信任者的一种态度,是对被信任者的一种预期,相信被信任者的行为能够符合自己的愿望。 国际电信联盟(ITU-T)标准
信任涉及假设、期望和行为,这意味着信任是不可能被定量测量的,信任是与风险相联系的并且信任的建立不可能总是全自动的。在PKI中,我们可以把这个定义具体化为:如果一个用户假定CA可以把任一公钥绑定到某个实体上,则他信任该CA。
信任具有时间差。信任者的期待在前,被信任者的行为在后,信任者与被信任者之间存在着时间上的某种不对称性。 第七章 公开密钥设施PKI 信任具有不同的类别。按照涉及到的事件、情况的分类,信任可以表现为三种期待:对自然与社会的秩序性,对合作伙伴承担的义务,对某角色的技术能力。例如在电子商务中,交易者信任交易系统对每个用户是公平的、对用户的私有信息是严加保密的、交易系统是稳定的并且能够完成交易的全过程而且保证交易的正确性等等。 信任具有时间差。信任者的期待在前,被信任者的行为在后,信任者与被信任者之间存在着时间上的某种不对称性。
第七章 公开密钥设施PKI 信任具有不确定性。依据信任而做出的决策,产生的行为结果是不确定的,即结果可能与期望相符也可能与期望不符。信任是实体决策时的一个主观概念,是一种非理性的行为,它处在全知与无知之间,是一种依据过去形成的信任关系对未来的期望。 信任与风险是相联系的。信任是在对未来事件的不可预料中才会有的,行为结果的不确定性使信任者的决策具有风险,即便决策依据完全信任。行为结果如果具备了确定性,就不存在风险与应对风险这一特定方式了。
第七章 公开密钥设施PKI 信任是动态和非单调的。信任关系的建立有很多种,如自觉的、强制的、道德约束的或法律制约的、利益驱动的。信任随着实体的行为结果将动态变化。对一个实体得出的信任或不信任评价依赖于被信任者的交易历史,良好的交易评价将得到较高程度的信任,信任者依据对决策之后行动结果的信任评价,不断修正对实体的信任程度。 信任是决策的重要因素,但不是唯一因素。例如实体A信任实体B,而同时实体B不信任实体A,但实体B可能为获得较大的收益而不顾风险与实体A与进行一次交易。
信任者与被信任者建立信任关系分为四个阶段: 1)信任者对被信任者的行为进行信任评价,得到预测结果; 第七章 公开密钥设施PKI 信任者与被信任者建立信任关系分为四个阶段: 1)信任者对被信任者的行为进行信任评价,得到预测结果; 2)依据预测结果及其他参考因素,进行综合决策,决定被信任者的行为是否发生; 3)若被信任者的行为发生,将产生实际结果; 4)对被信任者的行为结果进行信任评价,即比较预测结果与实际结果,根据信任评价修正信任关系。
按照有无第三方可信机构参与,信任可划分为直接信任和第三方的推荐信任。 第七章 公开密钥设施PKI 2、直接信任与推荐信任 按照有无第三方可信机构参与,信任可划分为直接信任和第三方的推荐信任。 1)第三方信任 第三方信任是指两个实体以前没有建立起信任关系,但双方与共同的第三方有信任关系,第三方为两者的可信任性进行了担保,由此建立起来的信任关系。第三方信任的实质是第三方的推荐信任,是目前网络安全中普遍采用的信任模式。
第七章 公开密钥设施PKI 第三方信任 信任 信任 信任 第三方 第三方信任 Alice Bob
扩展的第三方信任模型 (交叉认证) 第七章 公开密钥设施PKI CA CA 第三方信任 Bob Alice CA域X CA域Y Alice
直接信任是最简单的信任形式。两个实体间无须第三方介绍而直接建立信任关系。 第七章 公开密钥设施PKI 2)直接信任 直接信任是最简单的信任形式。两个实体间无须第三方介绍而直接建立信任关系。 在Web浏览器中,用户直接信任根CA密钥,因为密钥是由制造商直接提供的;在PGP中,用户自己验证密钥,从不设置其他可信介绍人,这就是直接信任;当两个从不同的CA来的实体要进行安全通信,而这两个CA之间不能交叉认证时,这时也需要直接信任,在此基础上直接交换密钥,建立起信任关系。如果没有直接信任,交换密钥就没有价值的。
CA CA 直接信任 Bob Bill Anne Alice CA域X CA域Y
数字证书能够解决信息传输的保密性、完整性、不可否认性、交易者身份的确定性问题。数字证书和PKI结合解决电子商务中的安全问题。 在传统的安全解决方案中,密码服务与应用紧密地结合在一起,每一种网络应用都有自己的一套密钥管理,功能大量冗余,管理维护工作复杂,费用高,而且这种分散式的方案存在安全隐患,互操作性也得不到保证; 而PKI以统一的、通用的方式来解决所有应用的共同安全问题。利用PKI可以方便地建立和维护一个可信的网络计算环境,从而使得人们在这个无法直接相互面对的环境里,能够确认彼此身份和所交换的信息,能够安全地从事商务活动。
数字认证的过程 证书授权 王丽 李华 (1)证书请求 (证书+公钥) (2)消息(使用CA私钥 进行了签名) (3)王丽将证书交给李华
数字认证过程 王丽将一个签名的证书请求(包括她的名字、公钥、可能还有其他的一些信息)发送到CA CA使用王丽的请求创建一个消息。CA使用其私钥对消息进行签名,以便创建一个单独的签名。CA将消息和签名返回给王丽。消息和签名共同构成了王丽的证书。
王丽将她的证书发送给李华,以便授权他访问他的公钥。 李华使用CA的公钥对证书进行验证,如果证明证书是有效的,他就承认证书中的公钥是王丽的公钥。 与数字签名的情况一样,任何有权访问CA公钥的接收者都可以确定证书是否是由特定CA签名的。这个过程不要求访问任何机密信息。上面这个方案假定李华有权访问CA的公钥。如果李华有权拥有包含该公钥的CA证书副本,则他就有权访问该密钥。
美国的公开密钥体制 第七章 公开密钥设施PKI 1.PAA(Policy Approval Authority)策略机构是PKI核心和基础,为所有的用户、用户组织和CA制定指南,监管所有制定策略的机构。 2.PCA(Policy Creation Authority)是整个PKI的二级CA,开发安全策略。 3.CA是第三层实体。CA在其上级PCA规定的安全策略下运行。 4.ORA(Organization Registration Authority)鉴别个人身份,确认用户与单位的隶属关系。 5.用户:用户是整个PKI树的叶节点,用户通常是个人。6.目录服务器:使用X.500或LDAP提供证书和CRL发布功能。 CRL(Certificate Revocation List) 证书废止列表 LDAP (lightweight Directory Access Protocol
第七章 公开密钥设施PKI 1、认证机关 为信息安全提供有效的、可靠的保护机制,包括机密性、身份验证特性、不可否认性(交易的各方不可否认它们的参与)。这就需要依靠一个可靠的第三方机构验证,而认证中心(CA:Certification Authority)专门提供这种服务。 证书机制是目前被广泛采用的一种安全机制,使用证书机制的前提是建立CA(Certification Authority-认证中心)以及配套的RA(Registration Authority --注册审批机构)系统。
第七章 公开密钥设施PKI 什么是CA机构 CA机构,又称为证书授证中心,是为了解决电子商务活动中交易参与的各方身份、资信的认定,维护交易活动中的安全,从根本上保障电子商务交易活动顺利进行而设立的,是受一个或多个用户信任,提供用户身份验证的第三方机构,承担公钥体系中公钥的合法性检验的责任。 在SET交易中,CA不仅对持卡人、商户发放证书,还要对收款的银行、网关发放证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。
二、PKI RA(Registration Authority) 数字证书注册审批机构。RA系统是CA的证书发放、管理的延伸。它负责证书申请者的信息录入、审核以及证书发放等工作;同时,对发放的证书完成相应的管理功能。发放的数字证书可以存放于IC卡、硬盘或软盘等介质中。RA系统是整个CA中心得以正常运营不可缺少的一部分。
二、PKI 第七章 公开密钥设施PKI CA的职能 (1)接收验证最终用户数字证书的申请。 (2)确定是否接受最终用户数字证书的申请-证书的审批。 (3)向申请者颁发、拒绝颁发数字证书-证书的发放。 (4)接收、处理最终用户的数字证书更新请求-证书的更新。 (5)接收最终用户数字证书的查询、撤销。 (6)产生和发布证书废止列表CRL(Certificate Revocation List) 。 (7)数字证书的归档。 (8)密钥归档。 (9)历史数据归档。
认证中心为了实现其功能,主要由以下三部分组成: 第七章 公开密钥设施PKI 认证中心为了实现其功能,主要由以下三部分组成: 注册服务器:通过 Web Server 建立的站点,可为客户提供每日24小时的服务。因此客户可在自己方便的时候在网上提出证书申请和填写相应的证书申请表,免去了排队等候等烦恼。 证书申请受理和审核机构:负责证书的申请和审核。它的主要功能是接受客户证书申请并进行审核。 认证中心服务器:是数字证书生成、发放的运行实体,同时提供发放证书的管理、证书废止列表(CRL)的生成和处理等服务。
中国电信CA安全认证体系(CTCA)、上海电子商务CA认证中心(SHECA)和中国金融认证中心(CA)等。 第七章 公开密钥设施PKI 我国CA的建设情况 中国电信CA安全认证体系(CTCA)、上海电子商务CA认证中心(SHECA)和中国金融认证中心(CA)等。 数字证书 数字证书是网络通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。由权威机构CA机构发行的,人们可以在交往中用它来识别对方的身份。 最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
第七章 公开密钥设施PKI 证书原理:数字证书采用公钥体制。用户设定一把特定的仅为本人所有的私有密钥(私钥), 用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。 数字证书的作用:使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证信息除发方和接方外不被其它人窃取或篡改。 数字证书可用于:安全地发送电子邮件;访问安全站点、网上招投标、网上签约、网上订购、安全网上公文传送、 网上办公、网上缴费、网上购物等网上的安全电子事务处理和交易。
1)用户自己产生密钥对:用户自己生成密钥对,然后将公钥以安全的方式传送给CA,该过程必须保证用户公钥的可验证性和完整性。 第七章 公开密钥设施PKI 产生、验证和分发密钥方式 1)用户自己产生密钥对:用户自己生成密钥对,然后将公钥以安全的方式传送给CA,该过程必须保证用户公钥的可验证性和完整性。 2)CA为用户产生密钥对: CA替用户生成密钥对,然后将其安全地传给用户,该过程必须确保密钥对的机密性、完整性和可验证性。该方式下由于用户的私钥为CA所知,故对CA的可信性要求更高。 3)CA(包括PAA、PCA、CA)自己产生自己的密钥对。 PAA(Policy Approval Authority)策略机构是PKI核心和基础,为所有的用户、用户组织和CA制定指南,监管所有制定策略的机构。 PCA(Policy Creation Authority)是整个PKI的二级CA,开发安全策略。
在PKI体系中,对信息和文件的签名,以及对签名的验证是很普遍的操作。 签名和验证 在PKI体系中,对信息和文件的签名,以及对签名的验证是很普遍的操作。 PKI成员对数字签名和认证是采用多种算法的,如RSA、DES等等,这些算法可以由硬件、软件或硬软结合的加密模块(固件)来完成。 密钥和证书存放的介质可以是内存、IC卡或软盘等。
——发送者发送签名信息时,附加发送自己的证书; ——单独发送证书信息的通道; ——可从访问发布证书的目录服务器获得; 第七章 公开密钥设施PKI 证书的获取 ——发送者发送签名信息时,附加发送自己的证书; ——单独发送证书信息的通道; ——可从访问发布证书的目录服务器获得; ——或者从证书的相关实体(如RA)处获得; 在PKI体系中,可以采取某种或某几种的上述方式获得证书。 发送数字签名证书的同时,可以发布证书链。这时,接收者拥有证书链上的每一个证书,从而可以验证发送者的证书。
PKI中的证书 证书(certificate),有时候简称为cert PKI适用于异构环境中,所以证书的格式在所使用的范围内必须统一 证书是一个机构颁发给一个安全个体的证明,所以证书的权威性取决于该机构的权威性 一个证书中,最重要的信息是个体名字、个体的公钥、机构的签名、算法和用途 签名证书和加密证书分开 最常用的证书格式为X.509 v3
X.509证书格式 版本1、2、3 序列号 签名算法标识符 签发人名字 有效时间 个体名字 在CA内部唯一 指该证书中的签名算法 CA的名字 起始和终止时间 个体名字
X.509证书格式(续) 个体的公钥信息 算法 参数 密钥 签发人唯一标识符 个体唯一标识符 扩展域 签名
用户能方便地查找各种证书及已经撤销的证书。 根据用户请求或其它相关信息撤销用户的证书。 能根据证书的有效期限自动地撤销证书。 第七章 公开密钥设施PKI 证书的管理 用户能方便地查找各种证书及已经撤销的证书。 根据用户请求或其它相关信息撤销用户的证书。 能根据证书的有效期限自动地撤销证书。 能完成证书数据库的备份工作。 证书的管理通过目录服务来实现。
验证证书的过程是迭代寻找证书链中下一个证书和它相应的上级CA证书。 第七章 公开密钥设施PKI 验证证书 验证证书的过程是迭代寻找证书链中下一个证书和它相应的上级CA证书。 在使用每个证书前,必须检查相应的CRL(对用户来说这种在线的检查是透明的)。 用户检查证书的路径是从最后一个证书(即用户已确认可以信任的CA证书)所签发的证书有效性开始,检验每一个证书,一旦验证后,就提取该证书中的公钥,用于检验下一个证书,直到验证完发送者的签名证书,并将该证书中包括的公钥用于验证签名。 证书废止列表(CRL)
指PKI实体在本地储存证书,以减少在PKI体系中获得证书的时间,并提高证书签名的效率。 保存证书 指PKI实体在本地储存证书,以减少在PKI体系中获得证书的时间,并提高证书签名的效率。 在存储每个证书之前,应该验证该证书的有效性。PKI实体可以选择存储其证书链上其他实体所接收到的所有证书,也可以只存储数字签名发送者的证书。 证书存储单元应对证书进行定时管理维护,清除已作废的或过期的证书及在一定时间内未使用的证书。证书存储数据库还要与最新发布的CRL(证书废止列表)文件相比较,从数据库中删除CRL文件中已发布的作废证书。
如果用户的本地存储区中未保存发送者的证书,用户则应按照上述证书获取的过程取得所需的证书。 第七章 公开密钥设施PKI 本地保存证书的获取 CA证书可以集中存放或分布式存放,即可从本地保存的证书中获取证书。用户收到签名数据后,将去检查证书存储区中是否已有发送者签发的证书,用签发者的公钥验证签名。 用户可以选择在每次使用前来检查最新发布的CRL (证书废止列表) ,以确保发送者的证书未被作废;用户也可选择定期证实本地证书在存储区中的有效性。 如果用户的本地存储区中未保存发送者的证书,用户则应按照上述证书获取的过程取得所需的证书。
——当PKI中某实体的私钥被泄漏时,被泄密的私钥所对应的公钥证书应被作废。 证书废止的申请 ——当PKI中某实体的私钥被泄漏时,被泄密的私钥所对应的公钥证书应被作废。 对CA而言,私钥的泄密不大可能,除非有意破坏或恶意攻击所造成;对一般用户而言,私钥的泄密可能是因为存放介质的遗失或被盗。 ——另外一种情况是证书中所包含的证书持有者已终止或与某组织的关系已经中止,则相应的公钥证书也应该作废。
(1)如果是密钥泄露,证书的持有者以电话或书面的方式,通知相应的CA; 第七章 公开密钥设施PKI 终止的方式: (1)如果是密钥泄露,证书的持有者以电话或书面的方式,通知相应的CA; (2)如果是因关系中止,由原关系中组织方面出面通知相应的ORA或CA。 处理过程: 如果ORA得到通知,ORA应通知相应的CA,作废请求得到确认后,CA在数据库中将该证书记上作废标志,并在下次发布CRL时加入证书作废列表,并标明作废时间。在CRL中的证书作废列表时间有规定,过期后即可删除。 ORA(Organization Registration Authority)鉴别个人身份,确认用户与单位的隶属关系。
第七章 公开密钥设施PKI 密钥的恢复 在密钥泄密、证书作废后,泄密实体将获得(包括个人用户)一对新的密钥,并要求CA产生新的证书。 泄漏密钥的实体是CA的情况下,它需要重新签发以前那些用泄密密钥所签发的证书。每一个下属实体将产生新的密钥时,获得CA用新私钥签发新的证书,而原来用泄密密钥签发的旧证书将作废,并被放入CRL。 可采取双CA的方式来进行泄密后的恢复,即每一个PKI实体的公钥都由两个CA签发证书,当一个CA泄密钥后,得到通知的用户可转向另一个CA的证书链,可以通过另一个CA签发的证书来验证签名。这样可以减少重新产生密钥时和重新签发证书的巨大工作量,也可以使泄密CA的恢复和它对下属实体证书的重新发放工作稍慢进行,系统的功能不受影响。
每一个CA均可以产生CRL,CRL可以定期产生也可以在每次有证书作废请求后,实时产生,CA应将其产生的CRL及时发布到目录服务器上去。 第七章 公开密钥设施PKI CRL的获取 每一个CA均可以产生CRL,CRL可以定期产生也可以在每次有证书作废请求后,实时产生,CA应将其产生的CRL及时发布到目录服务器上去。 CRL的获取就可以有多种方式: ——CA产生CRL后,自动发送到下属各实体; ——大多数情况是:由使用证书的各PKI实体从目录服务器获得相应的CRL。
认证方式是根CA用自己的私钥为其他的需要交叉认证的根CA的公钥签发证书。 第七章 公开密钥设施PKI 交叉认证方式 需要互通的PKI体系中的PAA(Policy Approval Authority)在经过协商和政策制定之后,可以互相认证对方系统中的PAA(即根CA)。 认证方式是根CA用自己的私钥为其他的需要交叉认证的根CA的公钥签发证书。 这种认证方式减少了操作中的政策因素,对用户而言,也只在原有的证书链上增加一个证书而已。但对于每一个根CA而言,需要保存所有其它需要与之进行交叉认证的根CA的证书。
----证书库是证书的集中存放地,是网上的一种公共信息库,用户可以从此处获得其他用户的证书和公钥。 第七章 公开密钥设施PKI 2、证书库 ----证书库是证书的集中存放地,是网上的一种公共信息库,用户可以从此处获得其他用户的证书和公钥。 ----构造证书库的最佳方法是采用支持LDAP协议的目录系统,用户或相关的应用通过LDAP来访问证书库。系统必须确保证书库的完整性,防止伪造、篡改证书。
----密钥的备份与恢复应该由可信的机构来完成,例如CA可以充当这一角色。强调:密钥备份与恢复只能针对脱密密钥,签名私钥不能够作备份。 第七章 公开密钥设施PKI 3.密钥备份及恢复系统 ----如果用户丢失了用于脱密数据的密钥,则密文数据将无法被脱密,造成数据丢失。为避免这种情况的出现,PKI应该提供备份与恢复脱密密钥的机制。 ----密钥的备份与恢复应该由可信的机构来完成,例如CA可以充当这一角色。强调:密钥备份与恢复只能针对脱密密钥,签名私钥不能够作备份。
•证书的作废处理必须安全、可验证,必须保证CRL的完整性。 第七章 公开密钥设施PKI 4.证书作废处理系统 它是PKI的一个重要组件。有三种策略: 作废一个或多个主体的证书; 作废由某一对密钥签发的所有证书; 作废由某CA签发的所有证书。 •通过将证书列入作废证书表(CRL)来完成。CA创建并维护一张及时更新的CRL,而由用户在验证证书时负责检查该证书是否在CRL之列。CRL一般存放在目录系统中。 •证书的作废处理必须安全、可验证,必须保证CRL的完整性。
完成证书的验证工作,为所有应用以一致、可信的方式使用公钥证书提供支持; 第七章 公开密钥设施PKI 5.PKI应用接口系统 •PKI的价值:提供加密、数字签名等安全服务,因此需要良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保所建立起来的网络环境的可信性,同时降低管理维护成本。 •向应用系统屏蔽密钥管理的细节: 完成证书的验证工作,为所有应用以一致、可信的方式使用公钥证书提供支持; 以安全、一致的方式与PKI的密钥备份与恢复系统交互,为应用提供统一的密钥备份与恢复支持;
在所有应用系统中,确保用户的签名私钥始终只在用户本人的控制之下,阻止备份签名私钥的行为; 根据安全策略自动为用户更换密钥; 第七章 公开密钥设施PKI 在所有应用系统中,确保用户的签名私钥始终只在用户本人的控制之下,阻止备份签名私钥的行为; 根据安全策略自动为用户更换密钥; 为方便用户访问加密的历史数据,向应用提供历史密钥的安全管理服务; 为所有应用访问公用证书库提供支持; 向所有应用提供统一的证书作废处理服务; 为所用应用提供统一模式的交叉验证支持; 支持多种密钥存放介质,如IC卡、PC卡、安全文件等。 •PKI应用接口系统应该是跨平台。
第七章 公开密钥设施PKI PKI系统的常用信任模型 选择适当的信任模型(Trust Model)是构筑和运作PKI所必需的一个环节。选择正确的信任模型以及与它相应的安全级别是非常重要的,同时也是部署PKI所要做的较早和基本的决策之一。 ----信任模型主要阐述了以下几个问题: ● 一个PKI用户能够信任的证书是怎样被确定的? ● 这种信任是怎样被建立的? ● 在一定的环境下,这种信任如何被控制?
•认证机构的严格层次结构模型(Strict Hierarchy of Certification Authorities Model) 第七章 公开密钥设施PKI 常用的四种信任模型: •认证机构的严格层次结构模型(Strict Hierarchy of Certification Authorities Model) •分布式信任结构模型(Distributed Trust Architecture Model) • Web模型(Web Model) •以用户为中心的信任模型(UserCentric Trust Model)。
第七章 公开密钥设施PKI 1)认证机构的严格层次结构模型 ----认证机构的严格层次结构为一棵倒转的树,根在顶上,树枝向下伸展,树叶在下面。在这棵倒转的树上,根代表一个对整个PKI系统的所有实体都有特别意义的CA——通常叫做根CA,它充当信任的根或“信任锚(trust anchor)”——也就是认证的起点或终点。在根CA的下面是零层或多层中介CA,也被称作子CA,因为它们从属于根 CA。子CA用中间节点表示,从中间节点再伸出分支。与非CA的PKI实体相对应的树叶通常被称作终端实体或终端用户。在这个模型中,层次结构中的所有实体都信任唯一的根CA。
根CA认证(创立和签署证书)直接连接在它下面的CA。 第七章 公开密钥设施PKI 这个层次结构按如下规则建立: 根CA认证(创立和签署证书)直接连接在它下面的CA。 每个CA都认证零个或多个直接连接在它下面的CA。(在一些认证机构的严格层次结构中,上层的CA既可以认证其他CA也可以认证终端实体。虽然在现有的PKI标准中并没有排除这一点,但是在文献中层次结构往往都是假设一个给定的CA要么认证终端实体要么认证其他CA,但不能两者都认证。我们将遵循这个惯例,但不应该认为这是有限制的。) 倒数第二层的CA认证终端实体。 在认证机构的严格层次结构中,每个实体(包括中介CA和终端实体)都必须拥有根CA的公钥
第七章 公开密钥设施PKI 认证过程举例 持有根CA公钥的终端实体A通过下述方法检验另一个终端实体B的证书。假设B的证书是由CA2签发的,而CA2的证书是由CA1签发的,CA1的证书又是由根CA签发的。A拥有根CA的公钥KR,能够验证CA1的公钥K1,因此可提取出可信的CA1的公钥。然后,这个公钥可以被用作验证CA2的公钥,类似地就可以得到CA2的可信公钥K2。公钥K2能够被用来验证B的证书,从而得到B的可信公钥KB。 现在A能根据密钥的类型来使用密钥KB,如对发给B的消息加密或者用来验证据称是B的数字签名,从而实现A和B之间的安全通信。
第七章 公开密钥设施PKI 2)分布式信任结构模型 ----与在PKI系统中的所有实体都信任唯一一个CA的严格层次结构相反,分布式信任结构把信任分散在两个或多个CA上。也就是说,A把CA1 作为他的信任锚,而B可以把CA2做为他的信任锚。因为这些CA都作为信任锚,因此相应的CA必须是整个PKI系统的一个子集所构成的严格层次结构的根CA(CA1是包括A在内的严格层次结构的根,CA2是包括B在内的严格层次结构的根)。
第七章 公开密钥设施PKI ----如果这些严格层次结构都是可信颁发者层次结构,那么该总体结构被称作完全同位体结构,因为所有的CA实际上都是相互独立的同位体(在这个结构中没有子CA)。另一方面,如果所有的严格层次结构都是多层结构,那么最终的结构就被叫做满树结构。(注意,根CA之间是同位体,但是每个根又是一个或多个子CA的上级。混合结构也是可能的(具有若干个可信颁发者层次结构和若干个多层树型结构)。一般说来,完全同位体结构部署在某个组织内部,而满树结构和混合结构则是在原来相互独立的PKI系统之间进行互联的结果。同位体根CA的互连过程通常被称为“交叉认证(crosscertification)”。
交叉认证要考虑的问题 交叉认证把以前无关的CA连在一起,使各自主体群之间的安全通信成为可能。它也扩展了信任概念。 名字约束 例:限定某一特定公司的证书有效。 策略约束 例:限制证书使用目的 路径长度约束 限制交叉证书的数目
第七章 公开密钥设施PKI 3)Web模型 ----Web模型是在WWW上诞生的,依赖于浏览器,如Navigator和Internet Explorer。许多CA的公钥被预装在标准的浏览器上。这些公钥确定了一组浏览器用户最初信任的CA。普通用户很难修改这组根密钥。 ----该模型似乎与分布式信任结构模型相似,但从根本上讲,它更类似于认证机构的严格层次结构模型。因为在实际上,浏览器厂商起到了根CA的作用,而与被嵌入的密钥相对应的CA就是它所认证的CA,当然这种认证并不是通过颁发证书实现的,而只是物理地把CA的密钥嵌入浏览器。
第七章 公开密钥设施PKI ----Web模型方便、简单、互操作性好,但存在安全隐患。例如,因为浏览器的用户自动地信任预安装的所有公钥,所以即使这些根CA中有一个是“坏的”(例如,该CA从没有认真核实被认证的实体),安全性将被完全破坏。A将相信任何声称是B的证书都是B的合法证书,即使它实际上只是由其公钥嵌入浏览器中的CAbad 签署的挂在B名下的C的公钥。所以,A就可能无意间向C 透露机密或接受C伪造的数字签名。这种假冒能够成功的原因是:A一般不知道收到的证书是由哪一个根密钥验证的。在嵌入到其浏览器中的多个根密钥中,A可能只认可所给出的一些CA,但并不了解其他CA。然而在Web模型中,A的软件平等而无任何疑问地信任这些CA,并接受它们中任何一个签署的证书。
----每个用户自己决定信任哪些证书。通常,用户的最初信任对象包括用户的朋友、家人或同事,但是否信任某证书则被许多因素所左右。 第七章 公开密钥设施PKI 4)以用户为中心的信任模型 ----每个用户自己决定信任哪些证书。通常,用户的最初信任对象包括用户的朋友、家人或同事,但是否信任某证书则被许多因素所左右。 ----在PGP中,一个用户通过担当CA(签署其他实体的公钥)并使其公钥被其他人所认证来建立“信任网”。例如,当A收到一个据称属于B的证书时,她将发现这个证书是由她不认识的D签署的,但是D的证书是由她认识并且信任的C签署的。在这种情况下,A可以决定信任B的密钥(即信任从C到D再到B的密钥链),也可能不信任B的密钥(认为“未知的” B与“已知的”C之间的“距离太远”)。 此模型依赖于用户行为、决策,不适于普通群体。
实施PKI应考虑的因素 关键:商业驱动,而不是以技术为中心 1)好处:安全的E-mail、EDI、内(外)部网、实体访问控制、Web应用、客户签名、简化登录。 提高工作效率、节省劳动力、减少风险、降低通信费用等。 2)成本因素 3)实施步骤
三、X.509标准 相关国际标准 PKI (Public-Key Infrastructure)公钥体系基础框架。 PKIX (Public-Key Infrastructure Using X.509)使用X.509的公钥体系基础框架。 X.500 由ISO和ITU提出的为大型网络提供目录服务的标准体系。 X.509 为X.500提供验证(Authenticating)体系的标准。 PKCS(Public Key Cryptography Standards)公钥加密标准,为PKI提供一套完善的标准体系。
X.509是重要的标准,它定义的证书结构、身份验证协议已经用于S/MIME、IPSEC、SSL/TLS、SET协议等。 第七章 公开密钥设施PKI X.509是X.500推荐系列的一部分,提供安全目录服务。目录是维护用户信息数据库的服务器或一组分布式服务器。一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息的通用证书格式,所有的证书都符合X.509标准。X.509最初是1988年发布,此后针对安全问题作了改进。1995年发布V3版本,它在原有版本基础上进行功能的扩充。 X.509是重要的标准,它定义的证书结构、身份验证协议已经用于S/MIME、IPSEC、SSL/TLS、SET协议等。
X.509 PKI 主要特性 第七章 公开密钥设施PKI X.509 v1 & 2 X.509 v3 证书信息 只有X.500 实体名,包括CA、证主(subject)名,证主公钥及其有效期。 充分扩展,可包含任何信息。 CA 规范 CA体系鼓励带交叉的层状树型结构,无信任限制规范。 CA体系鼓励带交叉的层状树型结构,有信任限制规范。 CA、证主 、用户 CA、证主、用户在概念上严格区分 CA、证主、用户 信任关系 认为每个用户至少信任一个CA。CA无法操纵与其它CA、证主及用户间的信任关系。 认为每个用户至少信任一个CA。CA可以规范与其它CA及证主间的信任关系。
第七章 公开密钥设施PKI 证书有效性验证方式 离线方式,通过检查证书有效期及是否出现在最近的CRL(证书吊销表)上。 支持离线与在线方式。 证书吊销方法 简单CRL。 复杂的CRL,通过功能扩展支持在线方式。 证书形式特点 身份形式的证书。 主要还是身份形式的证书,但支持信任委托形式的证书。 匿名性 匿名程度依赖于 X.500 条目的匿名程度。 扩展功能支持彻底的匿名服务。
(2) 由CA给每个证书的分配的编号即序列号; (3) 产生证书签名所用的算法及参数 (4) CA的x.500名字即发出该证书的认证机构 第七章 公开密钥设施PKI 各版本必须包含下列信息: (1) 用来区分X.509的不同版本号既版本号 (2) 由CA给每个证书的分配的编号即序列号; (3) 产生证书签名所用的算法及参数 (4) CA的x.500名字即发出该证书的认证机构 (5) 证书有效期:生效日期和截止日期 (6) 持证人的姓名、服务处所等信息即主题信息 (7) 认证机构的数字签名 (8) 公钥值,使用这个公钥的算法名称、参数
四、SET支付 支付工具:现金信用卡。 网上交易: 商家、消费者和银行通过Internet交互,无法用传统方法完成支付的查验过程。 第七章 公开密钥设施PKI 四、SET支付 支付工具:现金信用卡。 网上交易: 商家、消费者和银行通过Internet交互,无法用传统方法完成支付的查验过程。 1995年,信用卡国际组织、资讯业者及网络安全专业团体等开始组成策略联盟,共同研究开发电子商务的安全交易系统。1996年6月,由IBM,Master Card International,Visa International,Microsoft,Netscape等共同制定的标准SET(Secure Electronic Transaction)正式公告,涵盖了信用卡在电子商务交易中的交易协定、信息保密、资料完整即数字认证、数字签名等。这一标准被公认为全球网际网络的标准,被用于B2C交易模式中。
●商家:在Internet上提供商品或服务的商店; ●支付网关:由金融机构或第三方控制,它处理持卡人购买和商家支付的请求; 第七章 公开密钥设施PKI 在SET标准中,定义了五种实体: ●持卡人:拥有信用卡的消费者; ●商家:在Internet上提供商品或服务的商店; ●支付网关:由金融机构或第三方控制,它处理持卡人购买和商家支付的请求; ●收单行(Acquirer):负责将持卡人的帐户中资金转入商家帐户的金融机构; ●发卡行:负责向持卡人发放信用卡的金融机构。
1)用户向商家发订单和经过签名、加密的信托书。书中的信用卡号是经过加密的,商家无从得知; 第七章 公开密钥设施PKI SET协议流程: 1)用户向商家发订单和经过签名、加密的信托书。书中的信用卡号是经过加密的,商家无从得知; 2)收单银行收到商家发来的信托书,解密信用卡号,并通过认证验证签名; 3)收单银行向发卡银行查问,确认用户信用卡是否属实; 4)发卡银行认可并签证该笔交易; 5)收单银行认可商家并签证此交易; 6)商家向用户传送货物和收据;
9) 发卡银行向用户定期寄去信用卡消费账单。 第七章 公开密钥设施PKI 7) 交易成功,商家向收单银行索款; 8) 收单银行按合同将货款划给商家; 9) 发卡银行向用户定期寄去信用卡消费账单。 SET协议规定了参加电子交易各方在交易中的行为规范和信息交换的过程和规则,有助于实现安全、可靠的电子商务,得到了许多著名网络和计算机公司的支持。但是,SET协议实施起来很复杂,因而在短期内推广SET协议还存在一定的困难。