730 likes | 894 Views
计算机系统安全. 第七章 公开密钥设施 PKI Public key infrastructure. 第七章 公开密钥设施 PKI. 一、需要解决的问题. 网络安全的要求 : 数据传输的机密性 数据交换的完整性 发送信息的不可否认性 交易者身份的确定性 安全解决方案: 建立安全证书体系结构。提供在网上验证身份的方式。主要采用了公开密钥体制,其它还包括对称密钥加密、数字签名、数字信封等技术。. 我们为什么需要 PKI. 密码协议和密码算法解决了应用安全中的一些关键问题 如何实现它们,并使它们能够真正应用起来? 如何将公钥颁发给个体? 个体的私钥存储在哪里?
E N D
计算机系统安全 第七章 公开密钥设施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的基本功能 • 用户注册 • 证书申请 • 密钥产生 • 密钥更新 • 密钥备份 • 密钥恢复 • 证书作废 • 证书归档
第七章公开密钥设施PKI 二、信任及信任模式 1、什么是信任 信任:实体A认定实体B将严格地按A所期望的那样行动,则A 信任B。(ITU-T推荐标准X.509的定义) 称A是信任者,B是被信任者。信任涉及对某种事件、情况的预测、期望和行为。信任是信任者对被信任者的一种态度,是对被信任者的一种预期,相信被信任者的行为能够符合自己的愿望。
信任涉及假设、期望和行为,这意味着信任是不可能被定量测量的,信任是与风险相联系的并且信任的建立不可能总是全自动的。在PKI中,我们可以把这个定义具体化为:如果一个用户假定CA可以把任一公钥绑定到某个实体上,则他信任该CA。
第七章公开密钥设施PKI 信任具有不同的类别。按照涉及到的事件、情况的分类,信任可以表现为三种期待:对自然与社会的秩序性,对合作伙伴承担的义务,对某角色的技术能力。例如在电子商务中,交易者信任交易系统对每个用户是公平的、对用户的私有信息是严加保密的、交易系统是稳定的并且能够完成交易的全过程而且保证交易的正确性等等。 信任具有时间差。信任者的期待在前,被信任者的行为在后,信任者与被信任者之间存在着时间上的某种不对称性。
第七章公开密钥设施PKI 信任具有不确定性。依据信任而做出的决策,产生的行为结果是不确定的,即结果可能与期望相符也可能与期望不符。信任是实体决策时的一个主观概念,是一种非理性的行为,它处在全知与无知之间,是一种依据过去形成的信任关系对未来的期望。 信任与风险是相联系的。信任是在对未来事件的不可预料中才会有的,行为结果的不确定性使信任者的决策具有风险,即便决策依据完全信任。行为结果如果具备了确定性,就不存在风险与应对风险这一特定方式了。
第七章公开密钥设施PKI 信任是动态和非单调的。信任关系的建立有很多种,如自觉的、强制的、道德约束的或法律制约的、利益驱动的。信任随着实体的行为结果将动态变化。对一个实体得出的信任或不信任评价依赖于被信任者的交易历史,良好的交易评价将得到较高程度的信任,信任者依据对决策之后行动结果的信任评价,不断修正对实体的信任程度。 信任是决策的重要因素,但不是唯一因素。例如实体A信任实体B,而同时实体B不信任实体A,但实体B可能为获得较大的收益而不顾风险与实体A与进行一次交易。
第七章公开密钥设施PKI 信任者与被信任者建立信任关系分为四个阶段: 1)信任者对被信任者的行为进行信任评价,得到预测结果; 2)依据预测结果及其他参考因素,进行综合决策,决定被信任者的行为是否发生; 3)若被信任者的行为发生,将产生实际结果; 4)对被信任者的行为结果进行信任评价,即比较预测结果与实际结果,根据信任评价修正信任关系。
第七章公开密钥设施PKI 2、直接信任与推荐信任 按照有无第三方可信机构参与,信任可划分为直接信任和第三方的推荐信任。 1)第三方信任 第三方信任是指两个实体以前没有建立起信任关系,但双方与共同的第三方有信任关系,第三方为两者的可信任性进行了担保,由此建立起来的信任关系。第三方信任的实质是第三方的推荐信任,是目前网络安全中普遍采用的信任模式。
第七章公开密钥设施PKI 第三方信任 信任信任 信任 第三方 第三方信任 Alice Bob
第七章公开密钥设施PKI 扩展的第三方信任模型(交叉认证) CA CA 第三方信任 Bob Alice Bob Alice CA域X CA域Y
第七章公开密钥设施PKI 2)直接信任 直接信任是最简单的信任形式。两个实体间无须第三方介绍而直接建立信任关系。 在Web浏览器中,用户直接信任根CA密钥,因为密钥是由制造商直接提供的;在PGP中,用户自己验证密钥,从不设置其他可信介绍人,这就是直接信任;当两个从不同的CA来的实体要进行安全通信,而这两个CA之间不能交叉认证时,这时也需要直接信任,在此基础上直接交换密钥,建立起信任关系。如果没有直接信任,交换密钥就没有价值的。
CA CA 直接信任 Bob Bill Anne Alice CA域X CA域Y
第七章公开密钥设施PKI 数字证书和PKI解决哪些问题 数字证书能够解决信息传输的保密性、完整性、不可否认性、交易者身份的确定性问题。数字证书和PKI结合解决电子商务中的安全问题。 在传统的安全解决方案中,密码服务与应用紧密地结合在一起,每一种网络应用都有自己的一套密钥管理,功能大量冗余,管理维护工作复杂,费用高,而且这种分散式的方案存在安全隐患,互操作性也得不到保证; 而PKI以统一的、通用的方式来解决所有应用的共同安全问题。利用PKI可以方便地建立和维护一个可信的网络计算环境,从而使得人们在这个无法直接相互面对的环境里,能够确认彼此身份和所交换的信息,能够安全地从事商务活动。
数字认证的过程 (1)证书请求 (证书+公钥) 证书授权 (2)消息(使用CA私钥 进行了签名) 王丽 李华 (3)王丽将证书交给李华 (4)验证CA签名
数字认证过程 • 王丽将一个签名的证书请求(包括她的名字、公钥、可能还有其他的一些信息)发送到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发布功能。
第七章公开密钥设施PKI 1、认证机关 为信息安全提供有效的、可靠的保护机制,包括机密性、身份验证特性、不可否认性(交易的各方不可否认它们的参与)。这就需要依靠一个可靠的第三方机构验证,而认证中心(CA:Certification Authority)专门提供这种服务。 证书机制是目前被广泛采用的一种安全机制,使用证书机制的前提是建立CA(Certification Authority-认证中心)以及配套的RA(Registration Authority --注册审批机构)系统。
第七章公开密钥设施PKI 什么是CA机构 CA机构,又称为证书授证中心,是为了解决电子商务活动中交易参与的各方身份、资信的认定,维护交易活动中的安全,从根本上保障电子商务交易活动顺利进行而设立的,是受一个或多个用户信任,提供用户身份验证的第三方机构,承担公钥体系中公钥的合法性检验的责任。 在SET交易中,CA不仅对持卡人、商户发放证书,还要对收款的银行、网关发放证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。
第七章公开密钥设施PKI 二、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)的生成和处理等服务。
第七章公开密钥设施PKI 我国CA的建设情况 中国电信CA安全认证体系(CTCA)、上海电子商务CA认证中心(SHECA)和中国金融认证中心(CA)等。 数字证书 数字证书是网络通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。由权威机构CA机构发行的,人们可以在交往中用它来识别对方的身份。 最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
第七章公开密钥设施PKI 证书原理:数字证书采用公钥体制。用户设定一把特定的仅为本人所有的私有密钥(私钥), 用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。 数字证书的作用:使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证信息除发方和接方外不被其它人窃取或篡改。 数字证书可用于:安全地发送电子邮件;访问安全站点、网上招投标、网上签约、网上订购、安全网上公文传送、 网上办公、网上缴费、网上购物等网上的安全电子事务处理和交易。
第七章公开密钥设施PKI 产生、验证和分发密钥方式 1)用户自己产生密钥对:用户自己生成密钥对,然后将公钥以安全的方式传送给CA,该过程必须保证用户公钥的可验证性和完整性。 2)CA为用户产生密钥对: CA替用户生成密钥对,然后将其安全地传给用户,该过程必须确保密钥对的机密性、完整性和可验证性。该方式下由于用户的私钥为CA所知,故对CA的可信性要求更高。 3)CA(包括PAA、PCA、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 证书的管理 用户能方便地查找各种证书及已经撤销的证书。 根据用户请求或其它相关信息撤销用户的证书。 能根据证书的有效期限自动地撤销证书。 能完成证书数据库的备份工作。 证书的管理通过目录服务来实现。
第七章公开密钥设施PKI 验证证书 验证证书的过程是迭代寻找证书链中下一个证书和它相应的上级CA证书。 在使用每个证书前,必须检查相应的CRL(对用户来说这种在线的检查是透明的)。 用户检查证书的路径是从最后一个证书(即用户已确认可以信任的CA证书)所签发的证书有效性开始,检验每一个证书,一旦验证后,就提取该证书中的公钥,用于检验下一个证书,直到验证完发送者的签名证书,并将该证书中包括的公钥用于验证签名。
第七章公开密钥设施PKI 保存证书 指PKI实体在本地储存证书,以减少在PKI体系中获得证书的时间,并提高证书签名的效率。 在存储每个证书之前,应该验证该证书的有效性。PKI实体可以选择存储其证书链上其他实体所接收到的所有证书,也可以只存储数字签名发送者的证书。 证书存储单元应对证书进行定时管理维护,清除已作废的或过期的证书及在一定时间内未使用的证书。证书存储数据库还要与最新发布的CRL(证书废止列表)文件相比较,从数据库中删除CRL文件中已发布的作废证书。
第七章公开密钥设施PKI 本地保存证书的获取 CA证书可以集中存放或分布式存放,即可从本地保存的证书中获取证书。用户收到签名数据后,将去检查证书存储区中是否已有发送者签发的证书,用签发者的公钥验证签名。 用户可以选择在每次使用前来检查最新发布的CRL (证书废止列表),以确保发送者的证书未被作废;用户也可选择定期证实本地证书在存储区中的有效性。 如果用户的本地存储区中未保存发送者的证书,用户则应按照上述证书获取的过程取得所需的证书。
第七章公开密钥设施PKI 证书废止的申请 ——当PKI中某实体的私钥被泄漏时,被泄密的私钥所对应的公钥证书应被作废。 对CA而言,私钥的泄密不大可能,除非有意破坏或恶意攻击所造成;对一般用户而言,私钥的泄密可能是因为存放介质的遗失或被盗。 ——另外一种情况是证书中所包含的证书持有者已终止或与某组织的关系已经中止,则相应的公钥证书也应该作废。
第七章公开密钥设施PKI 终止的方式: (1)如果是密钥泄露,证书的持有者以电话或书面的方式,通知相应的CA; (2)如果是因关系中止,由原关系中组织方面出面通知相应的ORA或CA。 处理过程: 如果ORA得到通知,ORA应通知相应的CA,作废请求得到确认后,CA在数据库中将该证书记上作废标志,并在下次发布CRL时加入证书作废列表,并标明作废时间。在CRL中的证书作废列表时间有规定,过期后即可删除。
第七章公开密钥设施PKI 密钥的恢复 在密钥泄密、证书作废后,泄密实体将获得(包括个人用户)一对新的密钥,并要求CA产生新的证书。 泄漏密钥的实体是CA的情况下,它需要重新签发以前那些用泄密密钥所签发的证书。每一个下属实体将产生新的密钥时,获得CA用新私钥签发新的证书,而原来用泄密密钥签发的旧证书将作废,并被放入CRL。 可采取双CA的方式来进行泄密后的恢复,即每一个PKI实体的公钥都由两个CA签发证书,当一个CA泄密钥后,得到通知的用户可转向另一个CA的证书链,可以通过另一个CA签发的证书来验证签名。这样可以减少重新产生密钥时和重新签发证书的巨大工作量,也可以使泄密CA的恢复和它对下属实体证书的重新发放工作稍慢进行,系统的功能不受影响。
第七章公开密钥设施PKI CRL的获取 每一个CA均可以产生CRL,CRL可以定期产生也可以在每次有证书作废请求后,实时产生,CA应将其产生的CRL及时发布到目录服务器上去。 CRL的获取就可以有多种方式: ——CA产生CRL后,自动发送到下属各实体; ——大多数情况是:由使用证书的各PKI实体从目录服务器获得相应的CRL。
第七章公开密钥设施PKI 交叉认证方式 需要互通的PKI体系中的PAA(Policy Approval Authority)在经过协商和政策制定之后,可以互相认证对方系统中的PAA(即根CA)。 认证方式是根CA用自己的私钥为其他的需要交叉认证的根CA的公钥签发证书。 这种认证方式减少了操作中的政策因素,对用户而言,也只在原有的证书链上增加一个证书而已。但对于每一个根CA而言,需要保存所有其它需要与之进行交叉认证的根CA的证书。
第七章公开密钥设施PKI 2、证书库 ----证书库是证书的集中存放地,是网上的一种公共信息库,用户可以从此处获得其他用户的证书和公钥。 ----构造证书库的最佳方法是采用支持LDAP协议的目录系统,用户或相关的应用通过LDAP来访问证书库。系统必须确保证书库的完整性,防止伪造、篡改证书。
第七章公开密钥设施PKI 3.密钥备份及恢复系统 ----如果用户丢失了用于脱密数据的密钥,则密文数据将无法被脱密,造成数据丢失。为避免这种情况的出现,PKI应该提供备份与恢复脱密密钥的机制。 ----密钥的备份与恢复应该由可信的机构来完成,例如CA可以充当这一角色。强调:密钥备份与恢复只能针对脱密密钥,签名私钥不能够作备份。
第七章公开密钥设施PKI 4.证书作废处理系统 它是PKI的一个重要组件。有三种策略: 作废一个或多个主体的证书; 作废由某一对密钥签发的所有证书; 作废由某CA签发的所有证书。 •通过将证书列入作废证书表(CRL)来完成。CA创建并维护一张及时更新的CRL,而由用户在验证证书时负责检查该证书是否在CRL之列。CRL一般存放在目录系统中。 •证书的作废处理必须安全、可验证,必须保证CRL的完整性。