现代密码学-理论与实践管理密钥的技术_第1页
现代密码学-理论与实践管理密钥的技术_第2页
现代密码学-理论与实践管理密钥的技术_第3页
现代密码学-理论与实践管理密钥的技术_第4页
现代密码学-理论与实践管理密钥的技术_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

管理密钥的技术冶金自动化院 李勇、张锐TOC\o"1-3"\p""\h\z1. 控制密钥使用的技术21.1密钥别离和密钥使用约束2密钥分析和密钥误用的危害21.2对称密钥使用的技术3密钥标记和密钥变数(KeytagsandKeyVariants)3密钥公证(KeyNotarization)3控制向量(ControlVectors)42. 多个域的密钥管理52.1两个域之间的信任关系52.2多个认证机构的信任模型7证书链和认证路径(Certificatechainsandcertificationpaths)7相互隔离的域间的信任(trustwithseparatedomains)8严格等级信任模型(stricthierarchicaltrustmodel)8反向证书和一般有向图信任模型(reversecertificatesandthegeneraldigraphtrustmodel)10信任模型中的约束(constraintsintrustmodels)102.3证书的分发和撤消11证书撤消和证书撤消列表(certificaterevocationandCRLs)113. 密钥生存期问题123.1生存期保护需求12密钥更新中的依赖对平安性的影响12各种不同类型密钥的生存期存储需求123.2密钥管理生命期13生存期中密钥的状态(keystatewithinlifecycle)14系统初始化和密钥安装(systeminitializationandkeyinstallation)14密钥管理技术〔局部〕综述控制密钥使用的技术这一节考虑那些如何将密钥使用于预先授权的用途的技术。1.1密钥别离和密钥使用约束那些可能与密码学密钥相关联的信息不仅包括那些限制它们使用的特征,还包括其他操作性使用的信息。这些信息包括谁是密钥的拥有者。有效期〔预先定义的秘密期限〕。密钥标识符〔允许对密钥的非密码学性质的引用〕。特定的算法。特定用途的系统或环境,或者密钥的合法用户。那些与密钥生成,注册和认证的实体的名称。密钥的整体校验和〔通常是认证需求的一局部〕。1.1.1密钥分析和密钥误用的危害在简单密钥管理系统中,和密钥相关联的信息,包括对它们的合法使用信息,是通过上下文环境推断出来的。另外,为了透明性和对信息的控制,对信息明显明显许可的使用可能伴随着密钥的分发,而且在使用信息的时候,要通过对企图使用的信息做验证来加强这一点。如果受控信息服从管理的话,就应当通过一种可以保证完整性和真实性的方法保证受控信息受密钥约束。例如通过签名的方法〔和公开密钥相比拟〕,或者某一种提供数据完整性的加密技术。密钥分析的原理就是应用于不同目的的密钥应当是密码学性质隔离的〔参见备注1〕。密钥的误用的危害可以用某些技术来说明,而这些技术保证密钥只应用于那些在密钥生成的时候预先授权的目标。对密钥使用的限制可以通过程序技术,物理保护〔防窜扰的硬件〕,或者下面讨论的密码学技术来保证。在1.2节讨论的其他方法包括a)密钥标记,密钥标记允许密钥和显式定义的用途别离;b)密钥变数,密钥变数可以别离密钥而无需显式定义授权用途;c)密钥公证和控制向量,它们可以将控制信息和密钥来源进程绑定在一起。备注1〔密钥隔离的密码学理由〕一个可靠的密码学设计钥防止在多种应用目的使用同样密钥。一个密钥加密密钥不能当作一个数据加密密钥使用而保持不变,这是因为不管加密数据是什么,在应用程序中加密密钥并不是总是可用的。由于密钥生命周期不一致性和密码学慎重性,不同的非对称加密和签名密钥也在普遍的使用着。如果下面三种情况之一出现,也可能出现潜在的纰漏。非对称密钥既应用于签名,又用于挑战——响应实体认证;密钥既使用于加密,又使用于挑战——响应认证〔选择密文攻击〕;对称密钥同时使用于加密和消息认证,或者潜在的使用。也可以参考备注3。1.2对称密钥使用的技术下面讨论的主要技术是控制向量的使用。由于历史的原因,我们还要讨论密钥标记、密钥变量和密钥公证的问题。1.2.1密钥标记和密钥变数(KeytagsandKeyVariants)密钥标记提供了一种详细说明密钥可使用的范围的简单方法〔例如数据加密比照密钥加密密钥〕。一个密钥标记是一个比特向量或者一个结构化的字段,在密钥的整个生命周期它和密钥在一起并且保持关联。标记比特位和密钥连接到一起加密,从而被密钥绑定,只有当密钥被加密之后,它才会以明文的方式显示出来。如果标记比特位和密钥结合在一起,信息还是足够短从而允许在一个单独的块操作中完成加密〔例如一个56比特的密钥和一个8比特的标记合成一个64位的块密码〕,那么加密提供的继承完整性就排除了对标记有意义的操作。一个提供密码隔离的简单朴素的方法是通过使用附加的非秘密性的参数和一个非秘密性的函数从一个基密钥〔或者派生密钥〕得到隔离密钥。所得密钥称成为密钥变数或者派生密钥。一个改变密钥的技术是密钥是密钥偏置法。在密钥偏置法中通过一个通常使用的不变的数的根底上一个在每次使用之后都会产生增量的计数器来修改加密密钥的密钥c。这样会防止加密密钥的重发。修改后的密钥被用于加密另外〔例如会话〕的密钥。接收者按照同样的方法修改来解密会话密钥。第二个技术是用的最开始的4比特来补充的可选的4比特位块。该技术是固定掩码偏置法的一个特例〔参见例1〕。例1〔使用固定掩码偏置法(fixed-maskoffsets)的密钥变数〕。假定正好只考虑三种类型的密钥。通过变数一个主密钥的变数和来构造密钥,其中,,和都是非秘密掩码值。使用,和来加密其他密钥后,我们就允许这些密钥别离成为三类。如果派生进程是可逆的,那么基密钥可以从派生密钥恢复。理想情况下,派生技术是不可逆的〔单向的〕,说明一个派生密钥损坏了不影响基密钥(例如,章节2.1关于相关密钥的平安影响)。还可以举一个具有这种属性的派生密钥的例子:计算,这里是一个随机数,或者将加密算法换成MAC(消息认证码)算法。或者简单地使用一个带有适宜属性的哈希函数h散列化密钥和随机数。1.2.2密钥公证(KeyNotarization)密钥公证是一种可以防止密钥替代的技术,该技术通过要求参与密钥管理关系的各个局部提供身份详细的、显式的说明。通过修改一个加密密钥的密钥来保证一个密钥对于这些实体来说是真实的〔防止冒名顶替〕,这样正确的实体必须可以合情合理地恢复检测到的密钥。可以说密钥被这些实体“密封〞起来了。在所有〔认证过〕的密钥建立协议中都需要防止密钥复制。密钥公证要求有适当的控制信息来精确地恢复加密密钥,提供了和对隐性认证的公钥类似的隐含性密钥保护。根本的技术〔简单密钥公证〕包含了一个可信效劳器〔公正人〕,或者一个分享该密钥的一方,使用一个加密密钥的密钥来加密一个会话密钥,目标是源发方和接收方一块使用该密钥。加密后的结果可以用下面的公式表示:这里假定和可以鉴别给定系统中特定实体的身份。某一方假设想从这个加密信息中恢复出会话密钥必须享有密钥,显式地以正确的顺序指定和的具体数值,否那么恢复出来的将是一个随机密钥。之所以拿公正人做比喻是基于下面的假设:第三方可以正确地认证这些组织的身份,然后提供一个只可以被该方恢复的会话密钥。一个更深入讨论有关使用偏置法公证的过程在例2中给出。例2(使用偏置法(offsetting)进行密钥公证)是块密码,使用64比特密钥操作64比特块;是128比特密钥加密密钥,是64比特计数器,,是128比特源与目标标识符。对于偏置法密钥公证方案,计算:,。上面产生出的128比特的公证密钥就在两密钥三重加密算法中充当密钥加密密钥。在上述计算中最左端的术语,被称为公证封印,当该“封印〞分别和、结合后,相比拟那些使用在简单密钥公证中产生的密钥数〔也就是说,的函数数〕来说密钥数量多得多。对于64比特〔单块长度〕的密钥,密码加密过程可以做如下修改:使用,如上步骤计算密钥封印,,使用的最左边32比特和的最后边32比特相连接来获得,然后计算作为公证密钥。1.2.3控制向量(ControlVectors)密钥公证可以看作是建立认证密钥的机制。控制向量通过将密钥标记的思想和简单密钥认证的机制结合在一起,提供了控制密钥匙使用的一种方法。和每个密钥相关联的一个控制向量。它和密钥标记类似,定义密钥授权使用的范围。在每次加密之前,它给密钥加密密钥一个变化值,然后再用该变化值去加密。加密公式为:。因此密钥解密需要确定适宜的控制向量和正确的密钥加密密钥;如果数值不正确,恢复出来的是一个毫无用处的虚假的密钥。密码学性质的在密钥生成阶段绑定控制向量到防止了对控制向量的没有授权的操作,假定只有授权的一方可以访问密钥加密密钥。通过在控制向量中使用一个或多个字段指定实体,控制向量可以包含密钥公证。和访问控制的标准模型相关联〔参看注解1〕,一个控制向量可以用于表示一个主体的身份()和访问密钥()的权限()。在用于一个特定的密码学操作中,控制向量和受保护的密钥一块输入。在这个时候,要做一个校验保证要求的操作和控制向量相一致。这样一来,密钥就要使用控制向量解密。如果控制向量不匹配和受保护密钥绑定的数据〔或者密钥不正确〕,恢复出来的密钥,就是错误的。这里的平安依赖于校验和使用不可别离的假定,而且校验是在一个可信的子系统中完成的。如果控制密钥的位长和密钥加密密钥的位长不一致,在耦合前要使用一个防止碰撞的哈希函数。这就允许任意长度的控制向量。因此一个128比特的密钥和一个有128比特输出的哈希函数就可以用于加密密钥,得到:。注解1(访问控制模型(modelforaccesscontrol))有一种方法可以控制对资源的访问。访问矩阵模型使用一个2维的矩阵,其中每一行代表每一个主体〔〕,每一列代表一个对象〔〕,依赖于对主体的正确的鉴别。每一个访问纪录表示实体对对象拥有的权限〔例如,一个应用程序可以对文件拥有读、写、修改、或者执行权限〕。列还可以表示对象可访问列表,用条目代表权限,这里。另外一种资源保护的方法是Capability的思想:一个Capability表示一个对象和它的权限集,而且如果一个函数对Capability有访问权,不需要进一步确实认和身份验证就可以获得特定的权限。例3〔使用控制向量的例子〕控制向量可以用于提供类似如下功能的公开密钥。分发对一个对称密钥的两个拷贝,一个只用于加密〔或者消息认证码的生成〕,第二份拷贝只允许解密或者消息认证码确实认。其他使用控制字段的例子包括:允许随机数的生成;允许密文翻译〔KTC的例子〕;区分数据加密和密码加密密钥;公开密钥认证中任何字段的合并。备注2〔密钥确认和防止重发(keyverificationandpreventreplay)〕密钥重发问题同样可能在用来提供唯一性和及时性和防止消息〔序列号,时间戳、挑战——应答〕重发技术中遇到,这些技术也同样用密钥传送协议。在从一个密钥派生出密钥之前,实际使用的是公证技术和控制向量技术,对它的完整性确认是可以考虑的。这个目的可以使用数据完整性的标准技术到达〕。简单的方法涉及到发送某一个数据的加密密文的生成者〔在所讨论的密钥情况下〕,而且该数据能够被接收者识别。多个域的密钥管理这一节考虑实际多个域或者权限主体的系统的密钥管理模型。定义1:一个平安域(域)(securitydomain)被定义成一个受单独的认证机构控制的〔子〕系统,该认证机构是该〔子〕系统中所有实体所信任的。一个域上适宜的平安策略是由它的认证机构隐形或者显性定义的。在一个域上,每一个实体对它的认证机构的信任来源域一个具体实体享有的密钥或者密码〔在对称情况下〕,或者实体拥有认证机构真实的公钥〔在非对称情况下〕。这两种信任关系也就通过这两种方式保持。这就允许在实体和认证机构之间建立平安通道〔可保证真实性和机密性〕。2.1两个域之间的信任关系两方和分别属于不同的平安域和,两个平安域分别拥有认证机构和。现在和可能想平安地通信〔或者想访问另外一个平安域的资源〕。这一点可以简化成和之间的如下两个可选一的需求:1).(共享一个对称密钥)建立一个共享的两方都信任的密钥,仅有两方或者认证机构知道该密钥。2).〔分享公开密钥〕通过可以用于两方之间信任桥梁的一个或者更多公共密钥获得信任关系。例如,允许对另外一方的消息真实性做确认,或者保证发送给应外一方的消息是可靠的。上面两种方法中的任何一种都可能为认证机构和提供存在的可信任关系,该信任关系是基于可信的公开密钥或者共享的秘密密钥。如果和已经有了信任关系,通过使用两方初始的信任关系可以满足上面任何一种需求。该信任关系允许为了在和之间建立对象信任关系,而在信任对,,之间建立平安的通信通道。可以通过和分别委托它们自己的认证机构完成获得其他实体信任的工作,实体是在另外一个认证机构管理之下〔参见下面的详细说明〕。如果和之间并不共享一个存在的信任关系,双方共同信任的第三方认证机构可以作为一个中介完成同样的最终结果。这和章节2.2所提到的公开密钥情况下的信任链类似。在这个子章节开始所讲的两个可选项在下面我们要详细展开讨论。图表STYLEREF1\s2SEQ图表\*ARABIC\s111)可信对称密钥:建立在共享的秘密密钥上的信任可以通过多种可信密钥建立技术获得。参考上面的图,下面给出了两方和建立信任关系的简略描述。(a)向认证机构提出获得一个可以和分享的密钥(1)。(b)和之间建立一个临时的秘密密钥(2)。(c)和分别向和分发,保证机密性和真实性(3A,3B)。(d)使用和之间建立平安的直接通信。如果消息(3B)的内容可以通过由传递到,作为现存消息(2),(3A)的一局部,那么就可以删掉消息(3B)。在这种情况下,从的视角来看,作为认证关系图的组成成分和和信任关系可以看作一个单独〔复合〕的认证机构,A和和该认证机构通信,该机构扮演的是标准情况下的KDC或者KTC中的单个认证机构的角色。2)可信公开密钥。基于现存的信任关系,通过象数字签名或者消息认证码这样的标准技术认证消息的来源,依靠公开密钥可以获得对方的信任。可以获得上面描述的方的可信公开密钥。〔a〕向认证机构获得方的可信公开密钥——方法(1)〔b〕通过获得该密钥,该过程可以保证真实性——方法(2)。〔c〕向传输该公开密钥,该过程可以保证真实性——方法(3A)。(d)使用公开密钥和建立直接平安通信——方法(4)。定义2交叉认证证书一个交叉认证证书〔或者CA认证〕是一个认证机构(CA)创立的,说明它认证了另外一个CA的公钥。备注3〔特定用户信任vs域间交叉信任〕上面的方法2特别以的公开密钥的形式向A提供了信任;这种信任可以被称为特定用户的信任传输。作为替代方法,域之间信任传输通常是下面这样:假设创立了一个包含实体信息和的公钥的证书。在这种情况下,创立了一个包括实体信息和的公钥的交叉证书,如果拥有的可信的签名验证密钥,就可以确认后面这种证书的签名,因此可以信任的签名认证密钥,这样就可以验证证书中的公钥〔或者其他由签名的证书中的公钥〕并且信任它。于是,来自于域的用户(和认证机构)获得了对域中由认证机构认证的公共密钥的信任。2.2多个认证机构的信任模型有多种方法可以在涉及多个认证机构的公钥密钥系统中组织认证机构之间的信任关系。这些被称为信任模型或者认证拓扑结构,从逻辑上说和模型之间的通讯模型显著不同〔虽然有可能这些模型和通讯模型正好巧合〕。特别地,一个通讯链接并不表示一个信任关系。认证机构(CA)之间的信任关系决定一个认证机构发布的证书怎样才能被别的认证机构〔其他域的〕认证的实体使用或者验证。在讨论几种认证信任模型之前,我们先介绍认证链。2.2.1证书链和认证路径(Certificatechainsandcertificationpaths)公开密钥认证提供了获得真实可靠的公开密钥的方法,前提是验证者拥有签署证书的认证机构(CA)的一个可信任的、用来做验证的公开密钥。在有多个认证机构的前提下,一个验证者可能设想通过验证一个由该认证机构签署的证书而获得一个公开密钥而不是设想该认证机构从一开始就拥有一个可信的公开密钥。但在这种情况下,验证者可能还是可以到达他的目的,因为可以创立一个证书链,该链对应一条来源于验证者确实信任的公开密钥组成的牢不可破的信任链,该证书链尽头链接的是它想获得信任的公开密钥。证书链对应于一个CA认证关系模型图形表示中的有向路径〔参见图表2.2〕。我们的目标是找到一个对应一条有向路径〔认证路径〕的有向证书的序列,该有向路径的起点是对应于一个认证机构的节点,验证者信任该认证机构发布的公开密钥是真实的;终点是对密钥验证的公钥进行签名的认证机构。例4〔对证书链的图解说明〕考虑图表2.2(e),假定一个实体拥有认证机构的公钥,想验证认证机构为实体签名的证书,因此可以获得对的信任。因此就存在一个有向路径。让表示签名的证书将的名字绑定到公开密钥上。这样证书链还有最初对公开密钥的信任这样的先决条件,允许验证中的签名,从中获得的一个可信拷贝。再使用验证获得的一个可信拷贝,于是我们就可以使用去验证证书中所包含的公钥的真实性。给定一个初始的公钥和一个要验证的证书,如果证书链没有提供应验证者,在实际的密码学性质的信任链验证之前,我们需要一个从公开途径得到的数据建立一个适宜的〔信任〕链的方法。这个非密码学性质的任务和在标注通讯网络中进行路由选择的任务很类似。例5〔使用交叉证书(cross-certificate)对建立认证链〕在例4中提到了一个涉及交叉证书对的寻找证书路径的搜索技巧。在一个公开目录中,在每一个认证机构对应的目录条目中,对于每一个认证机构来说,或者对做交叉认证或者对做交叉认证,因而对应的目录条目中存储了证书对(正向,反向)或者用公式表示为,称为交叉证书对。这里的符号和例4中的类似,证书对同时包括了的正向和方向证书,并且两个证书至少存在一个。在缺乏更先进的技术或者更先进的路由表的情况下,通过对证书对中的反向证书做深度优先或者广度优先搜索找到任何可能存在的认证路径,这些认证路径的起点就是验证者最初拥有公开密钥的认证机构。作为证书链签名认证的一局部,对交叉证书的验证要求必须检查这些证书本身是否有效。2.2.2相互隔离的域间的信任(trustwithseparatedomains)图表2.2给出了许多可能的认证信任模型,这些模型建立在相互隔离的域上的。简单的密钥系统设计到一个认证机构(CA)。更大的系统中要设计到两个以上的认证机构(CA)。在这种情况下,为了满足在不同的认证机构管理下用户之间的秘密协作的需求,必须确定多个认证机构之间的信任关系。在缺省情况下,两个不同的认证机构如图表2.2(a)所示的那样定义隔离的平安域,两个域之间没有信任关系。一个域中的用户不能构验证来源域另外一个隔离的域中证书的真实性。2.2.3严格等级信任模型(stricthierarchicaltrustmodel)对于两个隔离的域之间缺乏密码学的可操作性的问题的解决方案之一就是图表2.2(b)中所画的严格等级划分的思想。每一个实体的起点是根节点的公钥,例如实体在注册的时候获得了认证机构的公开密钥,而不是象图表2.2(a)中所示得到的是的密钥。这个模型叫做根链模型(rootedchainmodel),因为所有的信任链都从根节点开始。它是一个中心式信任模型。多个这样的根树,每一个都“等级森严〞,可以象图表2.2(c)里那样支持多根节点树。在这种情况下,就允许在多个树的根节点之间做交叉认证,在图上表示为根节点之间的双向箭头。从到的箭头表示创立的给的公钥的证书。这就允许树中管理的用户通过起点是终点是的认证链获得对发布的证书的信任。在严格等级模型中,所有的实体都在单独的域中有效〔域被根节点所定义〕。尽管有这样的事情出现:签署了的公钥证书,但直接信任的是根结点而不是节点。只是通过根结点间接地信任。该模型潜在的缺点包括:对系统所有的信任都依赖于根结点密钥。甚至对于在两个受同一个认证机构管理的两个实体需要证书链。在比拟深的层次结构中证书链会变得很长。在某些组织中更自然一点的模型是要获得对本地节点的信任〔父亲CA〕而不是去获得远程根节点的信任。图表STYLEREF1\s2SEQ图表\*ARABIC\s122.2.3反向证书和一般有向图信任模型(reversecertificatesandthegeneraldigraphtrustmodel)一个更一般的等级模型,带有反向认证的等级关系,在图表2.2(d)中给出。该等级关系类似于图表2.2(b)中的严格等级模型,但现在在等级图中每一个认证机构(CA)也创立了认证它的直接上级认证机构的公钥的证书。在一个等级结构中,两种类型的证书是明显不同的:正向证书(forwardcertificate)一个正向证书〔和认证机构相联系〕由的上一级创立,签发给的公钥。从等级图上看到的是一个到的向下的箭头。反向证书(reversecertificate)一个反向证书〔和认证机构相联系〕由创立,签发给它的直接上级的公钥。从等级图上看到的一个是来源于的向上的箭头。在这个模型里,每一个实体并不从根节点的公钥开始,而是从创立它自己的证书的CA节点的公开密钥开始,也就是从它的本地父节点开始。现在所有的信任链从一个实体本地认证机构〔CA〕开始。从任何实体到其它实体的最短信任链就在从树中从向上到和的最近公共祖先,然后从该节点向下到的路径上。具有反向证书的等级模型的一个缺点是在不同的认证机构管理下的不同实体总可能出现很长的认证链,即使这些实体间经常通信〔例子:考虑在图表2.2(d)中和下的实体的关系〕。如果允许对直接作交叉认证,即使在图中和之间并没有边相关联,那么情况就会好一点。这就是最普通的有向图信任模型(图表2.2(e))。该模型可以和图论做比拟如下:在图中用节点或者顶点表示认证机构,用有向边表示认证关系。〔具有n个顶点的完全图,从每一个顶点到其他顶点都有有向边,表示完全信任关系,任何CA都可以直接对其他CA做交叉认证〕。有向图模型是一个分布式信任模型。在图中灭有中心节点或者根节点,任何CA都可以对其他节点做认证,每一个用户实体的动作都从它本地的CA的可信公钥开始。等级图的概念有助于作为组织有向信任关系的参考。如果最初提供应最终用户实体的可信密钥可以发生变化,这个模型可以用于补充上面讨论的其他信任模型,包括严格的等级关系模型。备注5(向认证机构CA分派用户)在等级模型中,一个可选项就是限定只有最低层次的CA才能认证最终用户,同时内部的CA只为其他的CA效劳。在一般有向图中,所有的CA都是平等的,自然允许任何CA都可以认证最终用户。2.2.4信任模型中的约束(constraintsintrustmodels)如果要通过证书链获得信任,需要对链中链接的证书做成功的验证。一旦一个CA(如)对另外一个CA〔〕的公钥做交叉认证,缺少了附加的约束,这种由扩展的信任就会慢慢的提供应所有开始于的证书链的所有认证机构。为了限制单个交叉证书扩展的信任的范围,一个CA可以对它所签发的证书施加约束,而且这种约束可以通过附加的表示特定策略的证书字段或者属性证书显性地记录下来。对交叉证书简单的约束包括:限制链的长度。可以对来源于所提到的交叉证书的证书链的长度施加约束。例如,一个CA可以限制对它可以直接做交叉认证的CA的信任范围,指定在所有它签署的交叉证书中,所有证书都是任何信任链中的最后一个。限制有效域集合。可以知道指定一个有效的CA的集合〔或者域名字列表〕来授予交叉证书。在认证链中来源于所提到的交叉证书的所有CA都必须属于该集合。为了执行验证,相联系的有一个验证策略,该策略指定验证发生的条件,比方在认证一个密钥之前对证书主题的验证类型,以及验证证书中保证唯一对象名字的方法。2.3证书的分发和撤消一个证书目录是一个数据库,它是以Pull模型实现的――用户在必要的时候从数据库中取出〔拉〕证书。证书分发的另一种不同模型,Push模型,在证书创立时或周期性的将证书发给〔push〕所有的用户,这可能适合于封闭系统。换句话说〔Alternatively〕,个人用户在明确需要时给其它用户提供他们自己的证书,例如,签名验证。在有证书撤消列表〔certificaterevocationlists,CRLs〕的基于证书的系统中,和分发证书一样,也需要有一种分发CRLs的方法。一个证书目录经常被看作是不平安的第三方。当目录访问控制的形式为写入和删除时,必需有保护措施允许维护和更新,而不是拒绝效劳,通过在证书上签名来保证它们各自是平安的,不需要将它们通过平安信道传送。在线认证是一个例外,它们由一个认证机构在接受请求时实时创立,没有生存期,或者由一个值得信任的机构分发,该机构保证证书没有被取消。可以使用缓存〔caching〕证书或CRLs的方法,将经常使用的引用项被短期存储在本地存储器中,防止了反复查找的花销。缓存的CRLs必须保持足够的刷新率,以确保能反映最近的撤消。2.3.1证书撤消和证书撤消列表(certificaterevocationandCRLs)当一个秘密密钥损坏〔compromise〕了,通过禁止随后对密钥的使用或者不再信任相关的密钥资料〔keyingmaterial〕来将损失降低到最小。〔注意签名和加密密钥间隐含的不同〕。这里包括任何可能使一个敌手获得加密数据的知识的情况。如果公钥必须从一个在线效劳器上实时获得,该公钥无疑可被立即删除或替换。包含证书的情况会更加困难,因为所有分发的拷贝都必须被有效的收回。虽然〔猜想或事实上〕密钥的损害可能很少,仍可能有其它的一些原因使一个CA过早的将一个公钥和用户名解除绑定〔如,取消证书〕。过早的终止使用密钥资料的原因包括相关的实体离开或改变了他在组织中的角色,或者不再作为一个用户进行授权。解决撤消密钥问题的技术包括:证书中包含过期时间〔expirationdateswithincertificates〕。过期时间限制了暴露随后资料的损失。短时有效期的一个极端例子是在线认证,它的证书根本上立即就过期。没有CRLs的短期证书可以和需要经常更新CRLs的长期证书进行比拟。手工通知(manualnotification)。通过使用带外数据或特定信道的方法将撤消的密钥通知给系统中的所有用户。这可能在小的或封闭的系统中是可行的。包含撤消密钥的公共文件(publicfileofrevokedkeys)。维护一个公共文件来鉴别已撤消的密钥,所有用户在使用密钥前都要检查该文件〔从文件中取出的数据可以采用和公钥相似的技术来保证它的真实性〕。证书撤消列表〔CRLs〕。一个CRL是一种管理一个包含撤消密钥的公共文件的方法。撤消证书(revocationcertificates)。它是实现CRLs的另一种方法,它可被视作在公钥证书中包含一个撤消标志和一个撤消时间,用来取消相应的证书。最初的证书可以从认证目录中删除而用撤消证书代替。一个CRL是一个和已取消的公钥相应的带符号的入口列表〔signedlistofentries〕,每一个入口指明了相应证书的序列号,第一次撤消的时间和其它可能的信息,如撤消原因。列表的签名〔保证它的真实性〕是由最初发出证书的CA产生的;通常该CRL也包括CA的名字。在所有的CRL中都包含日期,这提供了一种说明它的新鲜性的方法。如果CRLs通过一个Pull模型来分发〔例如,通过一个公共数据库〕,即使它们没有任何改变,它们也应该被定期〔或者根据CRL本身指定的间隔〕分发,这防止了新的CRLs被旧的CRLs恶意替换。在别离的授权撤销列表〔authorityrevocationlists即ARLs〕中撤消交叉证书可能比拟特殊,这和CRLs类似(CRLs被限制到只能撤消终端用户的证书)。注解2〔CRL分段〕为了有效的进行操作,当CRLs变的很大时,一个可选的方法是将CRLs分段发送。使用的一个技术是delta-CRLs:当更新CRL时,仅发送从最进更新后才被撤消的入口。这需要终端用户平安的维护〔和更新〕当前CRL的本地映像。第二种方法是将一个CRL根据撤消的原因分成段。第三种方法是根据证书中已经指定的标志〔在创立时〕将一个CRL分成特定的子列表,在所有的情况下,对每个证书,可获得的信息必须指明要参考CRL的哪个段。密钥生存期问题当所有的加密密钥在整个生存期都是固定的时,密钥管理是最简单的。密钥周期(cryptoperiods)要求密钥必须被更新。这强加了额外的需求,例如,在维护和更新用户密钥的认证机构方面。密钥存在时所经历的阶段,即密钥生存期,将在本节讨论。3.1生存期保护需求在使用和存储中需要有一种控制方法来保护密钥。关于密钥的长期存储,保护期需依赖于加密功能〔例如,加密,签名,数据真实性/完整性〕,毫无疑问它也依赖于数据对时间的敏感性。3.1.1密钥更新中的依赖对平安性的影响密钥资料〔Keyingmaterial〕应该在加密周期过期以前更新。更新包括通过适宜的密钥建立协议和密钥层,使用已存在的密钥资料来建立新的密钥资料。为了限制万一长期秘密密钥或过时的会话密钥的损害而暴露其它资料,应该禁止密钥资料间的相互依赖性。例如,不推荐用旧的会话密钥加密新的会话密钥来确保新密钥的平安性〔因为旧密钥的损害会导致新密钥的损害〕。3.1.2各种不同类型密钥的生存期存储需求存储的私钥必须足够平安以提供机密性和真实性。存储的公钥必须足够的平安使得它们的真实性是可被验证的。机密性和真实性分别抵消了泄漏和篡改的威胁,可以通过加密技术,程序〔基于信任〕技术,或物理保护〔防窜扰硬件〕的方法来提供。公钥的签名证书需要存档,以便允许在将来需要时验证签名,这可能包括在私钥停止以后。一些应用程序可能要求私钥的签名既不备份也不存档:这些密钥暴露给除了潜在所有者之外的任何机构,这使不可否认的属性无效。在这儿要注意丧失〔没有损害〕一个私钥的签名可以通过产生一个新的来解决,由于在访问过去的事务时不再需要该私钥;同样,公钥的加密密钥也不需要被存档。另一方面,私钥的解密密钥可能需要存档,因为如果解密密钥丧失的话,过去用该密钥加密的信息可能会丧失。用来保证实体真实性的密钥不需要被备份或存档。所有用来加密或验证数据真实性的秘密密钥,只要它们加密的数据需要继续保护〔保护生存期〕,它们仍需要保密,并需要备份或存档以防止数据的丧失或防止密钥不能被验证。3.2密钥管理生命期除了一些在所有时间秘密密钥都保持不变的简单系统外,和密钥相关的加密周期要求密钥被周期性的更新。更新密钥必须有另外的过程和协议,通常包括在公钥系统中和第三方通信。接下来的语句陈述了密钥资料〔keyingmaterial〕在它的整个生存期的过程,即密钥管理生存期。见图3,生存期的阶段可包括:用户注册用户注册用户初始化密钥生成密钥建立协议密钥恢复密钥安装密钥更新密钥备份密钥注册公钥目录密钥的正常使用撤消存档密钥注销和销毁新用户存在的用户初始密钥新密钥新密钥恢复的密钥旧密钥〔过期的〕密钥损害或过早终止无害的丧失密钥加密周期到期密钥活动系统触发操作前的操作中的操作后的过时的图3密钥管理生存期用户注册—一个实体成为一个平安域的授权成员。这包括通过一个平安的一次性技术获得,创立和交换初始密钥资料,如共享密码或个人身份号码〔PINs〕〔例如,个人交换,挂号信,委托信使〕。用户初始化—一个实体初始化它的加密应用〔例如,安装和初始化软件或硬件〕,包括使用或安装从用户注册时获得的密钥资料。密钥产生—加密密钥的生成应该包括一种方法,以确定预定的应用或算法的正确属性,而且被随机预测的可能性〔对敌手来说〕是可以忽略的。一个实体可以产生它自己的密钥,或者从一个可信任的系统中获得密钥。密钥安装—密钥资料被安装在一个实体的软件或硬件中以便操作使用,它通过一个或多个以下技术安装:手工给一个密码或PINs建立入口,从以下设备中转换:磁盘,只读存储设备,芯片卡〔chipcard〕或其它硬件标志〔token〕或设备〔如,密码装载器〕。初始的密钥资料可被用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论