第6章 公钥基础设施.docx
- 文档编号:23292183
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:20
- 大小:349.97KB
第6章 公钥基础设施.docx
《第6章 公钥基础设施.docx》由会员分享,可在线阅读,更多相关《第6章 公钥基础设施.docx(20页珍藏版)》请在冰豆网上搜索。
第6章公钥基础设施
第六章公钥基础设施
学习目标:
1.什么是公钥基础设施
2.了解认证授权的过程和作用
3.了解PKI组件
4.掌握PKI中使用的加密技术
5.了解PKI的应用
6.1PKI技术的产生
随着Internet的普及,人们通过因特网进行沟通越来越多,相应的通过网络进行商务活动即电子商务也得到了广泛的发展。
电子商务为我国企业开拓国际国内市场、利用好国内外各种资源提供了一个千载难逢的良机。
电子商务对企业来说真正体现了平等竞争、高效率、低成本、高质量的优势,能让企业在激烈的市场竞争中把握商机、脱颖而出。
发达国家已经把电子商务作为21世纪国家经济的增长重点,我国的有关部门也正在大力推进我国企业发展电子商务。
然而随着电子商务的飞速发展也相应的引发出一些Internet安全问题。
进行电子交易的互联网用户所面临的安全问题概括起来,进行电子交易的互联网用户所面临的安全问题有:
●保密性
如何保证电子商务中涉及的大量保密信息在公开网络的传输过程中不被窃取;
●完整性
如何保证电子商务中所传输的交易信息不被中途篡改及通过重复发送进行虚假交易;
●身份认证与授权
在电子商务的交易过程中,如何对双方进行认证,以保证交易双方身份的正确性;
●抗抵赖
在电子商务的交易完成后,如何保证交易的任何一方无法否认已发生的交易。
这些安全问题将在很大程度上限制电子商务的进一步发展,因此如何保证Internet网上信息传输的安全,已成为发展电子商务的重要环节。
为解决这些Internet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Internet安全解决方案,即目前被广泛采用的PKI技术(PublicKeyInfrastructure-公钥基础设施),PKI(公钥基础设施)技术采用证书管理公钥,通过第三方的可信任机构--认证中心CA(CertificateAuthority),把用户的公钥和用户的其他标识信息(如名称、e-mail、身份证号等)捆绑在一起,在Internet网上验证用户的身份。
目前,通用的办法是采用基于PKI结构结合数字证书,通过把要传输的数字信息进行加密,保证信息传输的保密性、完整性,签名保证身份的真实性和抗抵赖。
PKI是基于公钥算法和技术,为网上通信提供安全服务的基础设施。
是创建、颁发、管理、注销公钥证书所涉及到的所有软件、硬件的集合体。
其核心元素是数字证书,核心执行者是CA认证机构。
6.2X.509协议发展介绍
由ITUTX.509和ISO/IECITU9594-8定义的标准证书格式[X.509],首先在1988年作为X.500目录服务系统推荐的一部分出版。
在1988标准中证书格式称为版本1格式。
当X.500在1993年修正的时候,在版本2格式中增加一额外的两个字段。
这两个字段可以使用来支持目录服务系统的存取控制。
在1993年出版的Internet隐私增强邮递(PEM)RFCs包含在X.509v1证书[RFC1422]的基础上公开密钥基础设施建立说明。
在部署RFC1422的尝试中获得经验明确表示v1和v2证书格式在几个方面不足。
最重要的是在PEM设计和应用经验已证明需要携带更多的信息。
面对这些新的要求,ISOIEC/ITU和ANSIX9开发了X.509v3证书格式。
v3格式在v2基础上通过扩展添加额外的字段(扩展字段)。
特殊的扩展字段类型可以在标准中或者可以由任何组织或者社区定义和注册。
在1996年6月,基本v3格式的标准化被完成[X.509]。
同时ISOIEC/ITU和ANSIX9为在v3扩展字段[X.509][X9.55]中使用发展标准范围。
这些扩展能表达像附加主题确认信息、密钥属性信息、策略信息和证书路径约束这样的数据。
然而ISOIEC/ITU和ANSIX9标准扩展在他们的应用中是非常宽广的。
为了开发Internet使用X.509v3系统可由双方共同操作的工具,指定本文作为使X.509v3扩展适合Internet的使用是必要的。
它是本文的一个目标,指定本文作为InternetWWW,电子邮件和IPsec应用。
同时随着附加要求环境的改变可以建设本文或者可以取代它。
作为安全服务的用户通常需要公开密钥如何获得以及需要公开密钥验证证书有效性方面的知识。
如果公开密钥用户还没有一份由CA签发的证书的公开密钥拷贝、CA的名字和相关信息(例如有效期和名字约束),然后它可能需要一张附加证书得到公开密钥。
一般地说,需要经过CA签发的一系列多重证书公开密钥所有者(末端实体)和其它CAs签发的零张或更多附加CAs证书。
这样的链被称作证书路径,因为一个公开密钥用户仅用有限CA的数目签发。
CAs可以有不同的方式被配置为了公开密钥用户能查找证书路径。
在PEM,RFC1422定义了CAs的严格等级制度的结构。
有三种类型的PEM证明授权中心:
1)Internet策略注册授权中心(IPRA):
这个授权中心,作为PEM证书等级制度的根(等级1),预兆Internet社会的权力。
为下一级发行证书,称为PCAs。
所有的证书路径以IPRA开始。
2)策略授权中心(PCAs):
每个PCA由IPRA等级制度中授权,PCAs在等级制定中处于2级。
PCA将建立和发表它关于确认用户或者下属认证权威策略的声明。
不同PCAs目标是符合不同用户的需要。
例如,PCA可以支持普遍电子邮件商业组织的需求,而另一PCA可以有一更严格策略设计去符合合法捆绑的数字的签名要求。
3)授权中心(CAs):
CAs是在等级制度的第3级,可能也是在低水平方面。
在第3级被PCAs授权。
CAs代表特殊组织,例如特定组织的单位(例如区,组织,部门)或者特定地理区域。
此外RFC1422还有一名字下级定义规则,其要求CA仅能为名字是CA本身从属的实体(在X.500命名树中)颁发证书。
使用PCA名字意味着把信任和PEM证书路径联系起来。
名字下级定义规则保证在PCA以下的CAs针对他们从属能验证的实体是敏感强迫的(例如,CA仅能验证在那个特定组织名字树中的实体)。
证书用户系统有能力用机器检查遵守名字下级定义的规则。
RFC1422使用X.509v1证书格式。
X.509v1的局限性要求征收对清楚地限制结合的策略或者限制证书的功用的几个结构上。
这些限制包含:
●伴随所有的从IPRA开始的证书路径的纯粹上下(top-down)等级制度;
●限制CA的主题名字下级命名规则;
●使用需要个人PCAs的知识构建证书逻辑的验证链条的概念。
个人PCAs的知识决定是否链条能被接受。
经过RFC1422的呼吁请求使用证书扩展,使用X.509v3不需要限制使用CA结构的使用。
特别是,和证书政策相关联的证书扩展排除PCAs的需要以及扩展约束排除下级名字定义规则的需要。
因此,本文支持更有弹性的证书结构,包含:
●证书路径可以在一个用户的自己领域中CA的公开密钥或者等级制度顶部的公开密钥开始。
开始于一个用户的自己领域中CA的公开密钥确实有优势。
在一些环境中,本地领域是最受信任的。
●名字约束可以通过在证书中的名字约束扩展的明确被接收,但不作为要求。
●策略扩展和策略映射代替允许一定程度的自动化PCA概念。
应用程序应该能决定是否接受把证书路径建立在代替PCAs的先验知识的证书的目录的基础上。
这允许证书链条处理的自动化。
当一张证书被颁发的时候,预期它是在它的整个有效期内使用。
但是,各种各样境况可能导致一张证书在有效期满期之前变得无效。
这样境况包含名字的改变,在主题和CA之间联合的改变(例如,雇员结束在一个组织的工作),以及损害或者怀疑相应的私有密钥。
在这样情况下,CA需要撤销证书。
X.509定义一种证书撤销的方法。
这方法需要CA周期性地发布称为证书撤销列表(CRL)的由CA签名的数据结构。
CRL是盖了时间印章的经过CA签名的自由发布长期有效的能识别出被撤销证书的清单。
每一个撤销证书在CRL中通过证书序列号识别出。
当证书使用系统使用证书(例如,验证一个远程用户的数字签名),那个系统不仅需要检验证书签名和有效性而且需要在最近发布的CRL中检验证书序列号不在其中。
"最近发布"的意思是可能随着本地策略改变,但是它通常意味着最近一次发行的CRL。
CA按正常周期(例如,每隔一小时,每天或者每周)发行一次新的CRL。
也有可能随着撤销通知的到来而发布下一个新的信息被加入到CRL。
这个时刻可能出现在正常CRL发布周期之后不久,而远离下一次发布的周期。
这种撤销算法的优势是CRLs可以准确地和证书发布同样的做法经由不受信任的通讯和服务器系统传播。
CRL撤销算法的一个局限是在不受信任的通讯和服务器限制CRL颁发周期撤销的时间粒度。
例如,如果撤销现在发布,那撤销将不能保证通知证书应用系统,直到下一个周期CRL被发布,这可能是一个小时、一天或者一星期,CA发行CRLs取决于频率。
和X.509v3证书格式一样,为了便于(支持)从多重销售商共同操作的工具,X.509v2CRL格式应该是为Internet使用描述轮廓。
这是(指定)本文的一个目标。
但是,本文不要求CAs发行CRLs。
支持联机(On-line)撤销通知信息格式和协议可以在其它PKIX文本中定义(中找到)。
撤销通知的联机方法可以是适用于一些可选择X.509CRL的环境。
联机撤销检查可以在相当大的程度上减少在(一份)撤销报告之间和信息分配依赖双方的潜伏。
CA一旦接受的报告是可靠的和有效的,任何联机服务问题将正确反映出撤销的证书批准影响。
但是,这些方法需要新的安全要求;当仓库(repository)不应该受信任的同时,证书生效者将指望联机批准服务。
6.3认证机构与数字证书
在PKI中,认证机构(CertificationAuthority,CA)是负责创建或者证明身份的可信赖的权威机构。
这远不止是运行一个能够生成作用电子身份的数字证书的应用程序那么简单。
它们之间的区别好比是护照颁发管理局与复印店一样。
就是说能够创建身份并不等价于能够让所有人都使用和信赖这种身份。
CA实现了对申请注册证书的申请者的身份验证以及颁发可用于证明身份的数字证书的过程。
被颁发的身份有特定的有效期,该CA有能力撤销该证书并且通知证书使用者该证书已被撤销。
当一个人需要证书的时候,注册机构(RegistrationAuthority,RA)确认这个人的身份,并将证书请求提交给CA;然后CA创建证书并签名,再把它传送给请求者,CA同时为请求者在证书的有效期内保管这个证书。
当另一个人想和这个人通信的时候,CA就要担保那个人的身份。
当小张受到小李发送的数字证书的时候,小张就会对其进行验证。
他提取出小李嵌入在签名内的公钥,然后在CA上确认,得知这个公钥和小李绑定在一起。
此时,小张还可以利用这个公钥对小李的加密信息进行解密,并且知道签名的确是小李的,如图6-1所示:
6-1认证授权的作用
通常,人们会想到应该相信谁颁发的证书,他们颁发的身份所使用的步骤是什么,现实中我们的身份证相当于签名,公安局相当于CA。
然而,对于创建那些用于电子世界身份的CA,人们还会有应该信任那些人运作的CA、身份适用范围、确定那些身份需要使用的步骤以及如何证明、采用何种机制来提供一种合理的不可伪造的身份等问题。
合适的CA一定是可信赖的机构。
比如银行、信用卡公式、邮局、政府部门等。
但是这些组织不一定都是CA运作的合适人选。
比如,交通部颁发的用于驾驶执照的电子证书是合理的,但是用户也许并不希望它们和自己的信用卡或者信誉评价相关联。
除了传统形式的可信赖实体之外,新形式的颁发证书的权威机构也已经出现。
这些公共CA当中的许多都曾经不得不在没有事先存在的名声或者声誉可以利用的情况下建立可以信赖的名声。
公共CA是通过建立十分安全的程序,小心地确立和审计操作过程以及操作人员而建立起它们可以被信赖的名声。
有些CA是专门提供这种服务的机构,其他的个人和公司都需要付费才能得到这种服务。
著名的认证机构有Entrust和VeriSign。
许多浏览器都默认设置了若干个署名的CA。
数字证书是由权威机构——CA证书授权中心发行的,能够提供在Internet上进行身份验证的一种权威的电子文档,人们可以在互联网上用它来证明自己的身份和识别对方的身份。
数字证书在一个身份和该身份的持有者所拥有的公/私密钥对之间建立一种联系。
通常,人们可以信赖一个特定的颁发机构,由它根据用户所要达到的目标来确立身份。
另外,还要生成一份可以证实用户已经获得了一个有效身份的文件。
数字证书就是这一文件的电子形式。
在电子领域中,如果要使用“身份”的话,用户需要生成一份数字文件或者证书,这份文件或者证书应该提供足够的信息,使得他人能够相信你就是该身份的合法使用者。
认证中心所颁发的数字证书均遵循X.509V3标准,其格式在ITU标准和X.509V3中均有定义,下图为X.509证书的结构示意图,其中证书和级别信息采用X.500的可辨别名DN来表示,它是一个复核域,通过一个自组件来定义。
版本号(VersionNumber)
序列号(SerialNumber)
签名算法标识(Signaturealgorithm)
颁发者名称(Issuername)
证书有效期(Validityperiod)
证书持有者名称(Subjectname)
证书持有者公钥(Subjectpublickey)
证书颁发者唯一标识号(Issueruniqueidentifier)
证书持有者唯一标识号(Subjectuniqueidentifier)
证书扩展部分(Extensions)
●版本号:
定义证书的版本,这将最终影响证书中包含信息的类型和格式。
目前版本4已经发布,但是实际使用过程中仍然以版本3为主。
●序列号:
序列号是富裕证书的唯一整数值,主要用于将证书与同一CA颁发的其他证书相区别。
●签名算法标识:
该域中含有CA签发证书所使用的数字签名算法的算法标识符,如SHA1WithRSA,有CA的签名,便可以保证证书拥有者身份的真实性,而且CA也不能否认其签名。
●颁发者名称:
该域中含有签发证书实体的唯一名称(DN),明明必须符合X.500格式,通常为某个CA。
●证书有效期:
证书仅仅在一个有限的时间段内有效,证书的有效期就是该证书的有效时间段,该域表示两个日期的序列,即证书的有效开始日期(notBefore)和证书有效期结束的日期(notAfter)。
●证书持有者名称:
即证书拥有者的可识别名称,命名规则也采用X.500格式。
●证书持有者公钥:
即主体的公钥和它的算法标识符。
●证书颁发者唯一标识号:
它含有证书颁发者的唯一标识符。
●证书吃哟这唯一标识号:
它含有证书持有者的唯一标识号。
●证书扩展部分:
证书扩展部分是版本3在RFC2459中定义的,可供选择的标准和扩展包括证书颁发者的密钥标识、证书持有者密钥标识符、公钥用途、证书取消列表(CRL)发布点、证书策略、证书持有者别名、证书颁发者别名和主体目录属性等。
6.4PKI组件
PKI是一种遵循标准的密钥管理平台,它能够为所有网络应用透明地提供采用加密和数字签名等密码服务所必需的密钥和证书管理。
通常公钥基础设施由多个组件构成。
●认证机构
CA是证书的签发机构,它是PKI的核心。
众所周知,构建密码服务系统的核心内容是如何实现密钥管理,公钥体制涉及到一对密钥,即私钥和公钥,私钥只由持有者秘密掌握,无须在网上传送,而公钥是公开的,需要在网上传送,故公钥体制的密钥管理主要是公钥的管理问题,目前较好的解决方案是引进证书(certificate)机制。
证书是公开密钥体制的一种密钥管理媒介。
它是一种权威性的电子文档,形同网络计算环境中的一种身份证,用于证明某一主体(如人、服务器等)的身份以及其公开密钥的合法性。
在使用公钥体制的网络环境中,必须向公钥的使用者证明公钥的真实合法性。
因此,在公钥体制环境中,必须有一个可信的机构来对任何一个主体的公钥进行公证,证明主体的身份以及他与公钥的匹配关系。
CA正是这样的机构,它的职责归纳起来有:
1)验证并标识证书申请者的身份;
2)确保CA用于签名证书的非对称密钥的质量;
3)确保整个签证过程的安全性,确保签名私钥的安全性;
4)证书材料信息(包括公钥证书序列号、CA标识等)的管理;
5)确定并检查证书的有效期限;
6)确保证书主体标识的唯一性,防止重名;
7)发布并维护作废证书表;
8)对整个证书签发过程做日志记录;
9)向申请人发通知。
其中最为重要的是CA自己的一对密钥的管理,它必须确保其高度的机密性,防止他方伪造证书。
CA的公钥在网上公开,整个网络系统必须保证完整性。
CA制定了一些规则,通过这些规则使申请者和证书用户确信该CA所确认的身份符合自己的目的并且是可以信赖的。
而描述CA在各方面受到的约束情况以及运作方式的规则都被定义在一个名为认证操作管理规范(CertificationPracticesStatement,CPS)的文件中。
颁发证书的CA必须将它的认证操作管理规范提供给证书用户。
●注册机构
注册机构负责申请者的等级和初始鉴别。
申请者是指那些提供登记请求并在请求批准后被授予证书的用户。
这样的交互可能还包括证书撤销以及申请者在同PKI交互时需要的其他服务。
RA及其接口既可以被实现为证书服务器的一部分,也可以形成一个独立的组件。
RA的职责可以由一个担任操作者的人来执行,所有的身份确认过程都可以被认为是一组手工操作的过程。
RA职责就是将来自某个具有合法资格并且经过认证的用户的证书请求提交上去。
控制证书申请者等级和证书生成的业务规则多种多样,一个CA所用到的所有这种规则都应该在CPS中描述。
那些准备使用由改CA颁发的证书的企业中的安全管理员应该自己查看CA中描述的各方面。
●证书服务器
证书服务器是负责根据注册过程中提供的信息生成证书的机器或者服务。
用户的公钥,连同其他一些标识信息以及得到的证书机构一起用CA的私钥签名。
CPS中管理服务器部分具体说明了如何管理CA密钥的安全,那些信息将被放到证书档案中,以及对撤销信息多久生成一次等问题进行描述。
●证书库
证书库是证书的集中存放地,是一种公共信息库,用户可以从此处获得其他用户的证书和公钥。
构造证书库的最佳方法是采用支持LDAP协议的目录系统,用户或相关的应用通过LDAP来访问证书库。
系统必须确保证书库的完整性,防止伪造、篡改证书。
●密钥备份及恢复系统
如果用户丢失了用于解密数据的密钥,则密文数据将无法被解密,造成数据丢失。
为避免这种情况的出现,PKI应该提供备份与恢复解密密钥的机制。
密钥的备份与恢复应该由可信的机构来完成,例如CA可以充当这一角色。
值得强调的是,密钥备份与恢复只能针对脱密密钥,签名私钥不能够作备份。
●证书作废处理系统
证书作废处理系统是PKI的一个重要组件。
同日常生活中的各种证件一样,证书在CA为其签署的有效期以内也可能需要作废,例如,A公司的职员a辞职离开公司,这就需要终止a证书的生命期。
为实现这一,PKI必须提供作废证书的一系列机制。
作废证书有如下三种策略:
1)作废一个或多个主体的证书;
2)作废由某一对密钥签发的所有证书;
3)作废由某CA签发的所有证书。
作废证书一般通过将证书列入证书取消列表(CRL)来完成。
通常,系统中由CA负责创建并维护一张及时更新的CRL,而由用户在验证证书时负责检查该证书是否在CRL之列。
CRL一般存放在目录系统中。
证书的作废处理必须在安全及可验证的情况下进行,系统还必须保证CRL的完整性。
●时间标识
可靠的时间与数字签名一样,是发布可验证的时间戳所需要的前提条件之一。
这需要一个单调增加的精确时间源,还需要对时间戳进行安全地传输以保证其不被窃听或者替换。
最后,还需要对时间戳签名以便人们能够验证这个可信时间值的发布者是谁。
6.5PKI步骤
现在我们已经知道了PKI的主要组成部分以及它们在一起的实际工作方式,下面让我们来看一个例子。
首先,小王需要一个自己的数字证书,以便加入PKI。
这个过程由以下步骤组成:
1)小王向RA发送一个请求。
2)RA会向他索要验证其身份的信息,比如他的电话号码、身份证号、地址以及其他的身份信息。
3)一旦RA接收到并验证了小王的身份信息,RA就将该请求发送给CA。
4)CA创建一个证书,其中嵌入了小王的公钥及其身份信息(私钥由CA或者由小王自己的机器产生,如果是CA产生的,那就要通过安全的方式发送给小王)。
现在小王已经注册好了,他可以参与到公钥加密体系中来。
小王想和小朱通信,他们采取图示6-2步骤。
5)小王从一个公共目录那里请求小朱的公钥。
6)这个目录(有时也叫知识库)把小朱的数字证书发给小王。
7)小王核实数字证书并提取出小朱的公钥。
小王用这个公钥加密一个会话密钥,这个会话密钥将用于加密他们之间传送的消息。
小王把加密的会话密钥发送给小朱,然后再把自己的证书连同他的公钥一起发送给小朱。
当小朱收到小王的证书的时候,他的浏览器验证这个CA是否签署了这个证书。
小朱请求CA检查这个证书是否仍然有效。
CA回复说证书仍然有效,于是小朱用他的私钥解密会话密钥。
现在他们两个就可以使用公钥密码来通信了。
6-2PKI注册步骤
PKI的功能归纳起来,PKI应该为应用提供如下的安全支持:
●证书与CA,PKI应实现CA以及证书库、CRL等基本的证书管理功能。
●密钥备份及恢复证书。
●密钥对的自动更换证书、密钥都有一定的生命期限。
当用户的私钥泄露时,必须更换密钥对;另外,随着计算机速度日益提高,密钥长度也必须相应地长。
因此,PKI应该提供完全自动(无须用户干预)的密钥更换以及新的分发工作。
●交叉验证。
每个CA只可能覆盖一定的作用范围,即CA的域,例如,不同的企业往往有各自的CA,它们颁发的证书都只在企业范围内有效。
当隶属于不同CA的用户需要交换信息时,就需要引入交叉证书和交叉验证,这也是PKI必须完成的工作。
●加密密钥和签名密钥的分隔。
如前所述,加密和签名密钥的密钥管理需求是相互抵触的,因此PKI应该支持加密和签名密钥的分隔使用。
●支持对数字签名的不可抵赖任何类型的电子商务都离不开数字签名,因此PKI必须支持数字签名的不可抵赖性,而数字签名的不可抵赖性依赖于签名私钥的唯一性和机密性,为确保这一点,PKI必须保证签名密钥与加密密钥的分隔使用。
●密钥历史的管理。
每次更新加密密钥后,相应的解密密钥都应该存档,以便将来恢复用旧密钥加密的数据。
每次更新签名密钥后,旧的签名私钥应该妥善销毁,防止破坏其唯一性;相应的旧验证公钥应该进行存档,以便将来用于验证旧的签名。
这些工作都应该是PKI自动完成的。
6.6PKI具体技术介绍
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。
下面就PKI的各种技术做简单的介绍。
6.6.1加密
加密是指使用密码算法对数据作变换,使得只有密钥持有人才能恢复数据面貌,主要目的是防止信息的非授权泄漏。
现代密码学的基本原则是:
一切密码寓于密钥之中即算法公开,密钥保密。
密码算法的分类:
1)对称密码算法:
加密密钥和解密密钥相同,密钥必须特殊保管。
优点是保密强度高,计算开销小,处理速度快。
缺点是密钥管理困难。
2)非对称密码算法:
加密密钥与解密密钥不同,不可能由加密密钥解出解密密钥。
每个用户都有两个密钥:
一个在信息团体内公开称公钥,一个由用户秘密保存,称为私钥。
若以公钥加密,用私钥解密,可实现多个用户加密信息,只能由一个用户解读,是用于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 公钥基础设施 基础设施