《网络信息安全技术》课件第3章_第1页
《网络信息安全技术》课件第3章_第2页
《网络信息安全技术》课件第3章_第3页
《网络信息安全技术》课件第3章_第4页
《网络信息安全技术》课件第3章_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

第3章密钥管理技术3.1密钥的管理概述3.2密钥的分类3.3密钥分配技术3.4公开密钥基础设施3.1.1密钥生成与分配密码系统通常采用一定的生成算法来保证密钥安全性,密钥的生成和分配是密钥管理的首要环节。也就是说,如何生成安全的随机密钥是密码系统的重要内容,对生成密钥的分配与传输是保证安全性的另一个重要内容。3.1密钥的管理概述

1.密钥设置协议目前流行的密钥管理方案中一般采用层次的密钥设置,目的在于减少单个密钥的使用周期,增加系统的安全性。总体上密钥分两大类:数据加密密钥(DK)和密钥加密密钥(KK)。前者直接对数据进行操作,后者用于保护密钥,使之通过加密而安全传递。

2.密钥的分配密钥的分配主要研究密码系统中密钥的发送、验证等传送中的问题,在后面章节中将专门介绍。3.1.2密钥的保护与存储

1.密钥的保护密钥从产生到终结的整个生存期中,都需要加强安全保护。密钥决不能以明文的形式出现,所有密钥的完整性也需要保护,因为一个攻击者可能修改或替代密钥,从而危及机密性服务。另外,除了公钥密码系统中的公钥外,所有的密钥都需要保密。在实际中,存储密钥最安全的方法是将其放在物理上安全的地方。当一个密钥无法用物理的办法进行安全保护时,密钥必须用其他的方法来保护,可通过机密性(例如用另一个密钥加密)或完整性服务来保护。在网络安全中,用最后一种方法可形成密钥的层次分级保护。2.密钥的存储密钥存储时必须保证密钥的机密性、可认证性、完整性,以防止泄露和修改。最简单的密钥存储问题是单用户的密钥存储,用户用来加密文件以备后用。因为该密钥只涉及用户个人,所以只有他一人对密钥负责。一些系统采用简单方法:密钥存放于用户的脑子中,而决不能放在系统中,用户只需记住密钥,并在需要对文件加密或解密时输入。在某些系统中用户可直接输入64位密钥,或输入一个更长的字符串,系统自动通过密钥碾碎技术从这个字符串生成64位密钥。

其他解决方案可以将密钥存放在简单便于携带的装置中,例如:将密钥存储在磁卡、ROM密钥卡、智能卡或USB密钥设备中,用户先将物理标记插入加密箱或连在计算机终端上的特殊读入装置中,然后把密钥输入到系统中。当用户使用这个密钥时,他并不知道具体的密钥值,也不能泄露它,使密钥的存储和保护更加简便。更严格的方法是把密钥平分成两部分,一半存入终端一半存入ROM密钥,使得这项密钥存储技术更加安全。这样,只有两者同时被攻击者获取才会损害整个密钥。美国政府的STU[CD*2]Ⅲ保密电话用的就是这种方法。由于密钥分别存放,ROM密钥或终端密钥丢失不会使加密密钥遭受完全的损害,更换密钥并重新分发ROM密钥和终端密钥就可以恢复到正常安全状态。

其它解决方案有:将密钥储存在磁卡、ROM密钥卡或智能卡中,用户先将物理标记插入加密箱上或连在计算机终端上的特殊读入装置中,然后把密钥输入到系统中。当用户使用这个密钥时,他并不知道它,也不能泄露它。使储存和保护它更加地直观。把密钥平分成两部分,一半存入终端,一半存入ROM密钥使得这项技术更加安全。美国政府的STU-III保密电话就是用的这种方法。丢失了ROM密钥并不能使加密密钥受到损害——换掉它一切就正常如初。丢失终端密钥情况也如此。这样,两者之一被损害都不能损害整个密钥。

此外,还可采用类似于密钥加密密钥的方法对难以记忆的密钥进行加密保存。例如,一个RSA私钥可用DES(数据加密标准)密钥加密后存在磁盘上,要恢复密钥时,用户只需把DES密钥输入到解密程序中即可。如果密钥是确定性产生的(使用密码上安全的伪随机序列发生器),则每次需要时从一个容易记住的口令产生出密钥会更加简单。

3.密钥的备份/恢复密钥在某些特殊情况下可能会丢失,造成已加密的重要信息永远无法正常解密。密钥的备份是为了避免这种事情发生而采取的有效措施,它可以在密钥主管发生意外等情况下取得备用密钥,是非常有意义的。

密钥的备份目前主要采用密钥托管方案和秘密共享协议两种方法实现。密钥托管方案是最简便可行的方法,安全官负责所有雇员的密钥托管,由安全官将密钥文件保存在物理安全的保险柜里(或用主密钥对它们进行加密)。当发生意外情况时,相关人员可通过流程向安全官索取密钥。这种方法必须保证安全官不会滥用雇员的密码,否则由于安全官掌握了所有人的密码,将成为重大的安全隐患。

更好的密钥备份方法是采用一种秘密共享协议,将密钥分成若干片,让每个有关的人员分别保管一部分,任何人保管的一部分都不是完整密钥,只有将所有的密钥片搜集全合并在一起,才能重新把密钥恢复出来。

3.1.3密钥的有效性与使用控制

1.密钥的泄露与撤销

密码系统中的密钥在保存和使用等环节可能产生密钥泄露情况。密钥的安全是所有密码协议、技术、算法安全的基础,如果密钥丢失、被盗、公开,或以其他方式泄露,则所有的保密性都失去了。密钥泄露后惟一补救的办法是及时更换新密钥并及时撤销公开的密钥。对称密码体制一旦泄露了密钥,必须尽快更换密钥,以保证实际损失最小。如果泄露的是公开密钥系统中的私钥,问题就非常严重了。由于公钥通常在一定范围的网络服务器上可以公开获得,因此其他人如果得到了泄露的私钥,他就可以在网络上使用该私钥冒名顶替,非法读取加密邮件,对信件签名、签合同等等。

如果用户知道他的密钥已经泄密,应该立即报告负责管理密钥的密钥分配中心(KDC),通知他们密钥已经泄露。如果没有KDC,就要通知自己的密钥管理员或者所有可能接收到用户消息的人。私钥泄露的消息通过网络迅速蔓延是最致命的。负责管理密钥的公钥数据库必须立即声明一个特定私钥已被泄露,以免有人用已泄露的密钥加密消息。如果用户不知道他的密钥已经泄露,或者密钥泄露后较长时间才得知,问题就非常复杂了。偷密钥者可能冒名代替用户签定了合同,而用户得知后则会要求撕毁被冒名代签的合同,这将引起争执而需要法律、公证机构裁决。2.密钥的有效期对于任何密码应用,没有哪个加密密钥可以无限期使用,必须对密钥设定一个合理的有效期。其原因如下:(1)密钥使用时间越长,它泄露的机会就越大。密钥会因为各种偶然事件而泄露,比如人们可能不小心丢失了自己写下的密钥,或者在使用密码时被他人偷窥记下。(2)如果密钥已泄露,那么密钥使用越久,损失就越大。如果密钥仅用于加密一个文件服务器上的单个文件,则它的丢失或泄露仅意味着该文件的丢失或泄露。如果密钥用来加密文件服务器上的所有信息,那损失就大得多。

(3)密钥使用越久,人们花费精力破译它的诱惑力就越大,甚至值得花费大量时间采用穷举法攻击。攻击者如果破译了两个军事单位使用一天的共享密钥,他就能阅读当天两个单位之间的通信信息。攻击者破译的如果是所有军事机构使用一年的共享密钥,他就可以获取和伪造通行所有军事机构一年的信息。(4)对用同一密钥加密的多个密文进行密码分析一般比较容易。

用来加密保存数据文件的加密密钥不能经常地变换。在人们重新使用文件前,文件可以加密储藏在磁盘上数月或数年,每天将它们解密,再用新的密钥进行加密,这无论如何都不能加强其安全性,这只是给破译者带来了更多的方便。一种解决方法是每个文件用惟一的密钥加密,然后再用密钥加密密钥把所有密钥加密,密钥加密密钥要么被记忆下来,要么被保存在一个安全地点,或在某个地方的保险柜中。当然,丢失该密钥意味着丢失了所有的文件加密密钥。3.控制密钥使用控制密钥使用是为了保证密钥按预定的方式使用。在一些应用中控制怎样使用密钥是有意义的,有的用户需要控制密钥或许仅仅是为了加密,有的或许是为了解密。可以赋予密钥的控制信息有:密钥的主权人、密钥的合法使用期限、密钥识别符、密钥预定的用途、密钥限定的算法、密钥预定使用的系统、密钥授权用户、密钥有关的实体名字(用于生成、注册和证书中)等。密钥控制信息的一个实施方案是在密钥后面附加一个控制向量(CV,ControlVector),用它来标定密钥的使用限制。对CV取单向Hash运算,然后与主密钥异或,把得到的结果作为密钥对密钥进行加密,再把合成的加密了的密钥跟CV存在一起。恢复密钥时,对CV取Hash运算再与主密钥异或,最后用结果进行解密。

4.密钥的销毁如果密钥必须定期替换,旧密钥就必须销毁。旧密钥是有价值的,即使不再使用,有了它们,攻击者就能读到由它加密的一些旧消息。密钥必须安全销毁。如果密钥是写在纸上的,那么必须切碎或烧掉;如果密钥存储在EEPROM硬件中,密钥应进行多次重写;如果密钥存储在EPROM或PROM硬件中,芯片应被打碎成小碎片;如果密钥保存在计算机磁盘里,就应多次重写覆盖磁盘存储的实际位置或将磁盘切碎。一个潜在的问题是,在计算机中的密钥易于被多次复制并存储在计算机硬盘的多个地方。采用专用器件能自动彻底销毁存储在其中的密钥。

1.根据密码系统的类型划分密码系统的密钥可以从类型上进行分类。密钥根据其所对应的密码系统可以分为对称密钥和公开密钥,即单密钥系统和双密钥系统。其中:(1)对称密钥在加密和解密时使用同一个密钥,这个对称密钥在信息的加解密过程中均被采用;通信双方必须要保证采用的是相同的密钥,要保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。对称密钥的管理和分发工作是一件潜在危险和繁琐的过程。3.2密钥的分类(2)公开密钥的密钥总是成对出现,一个由密钥所有者保存称为私钥,另一个可以公开发布称为公钥。公开密钥的管理简单且更加安全,同时还解决了对称密钥存在的可靠性问题和鉴别问题。

2.根据密钥的用途划分根据密钥的用途,密钥可以分为数据会话密钥、密钥加密密钥、公钥系统的私钥、公钥系统的公钥等几类。(1)数据会话密钥。数据会话密钥中数据用于数据通信过程中的信息加密。数据会话密钥要求的加密效率和可靠性高。理论上看会话密钥更换得越频繁,系统的安全性就越高。因为攻击者即使获得一个会话密钥,也只能解密很少的密文。但另一方面,会话密钥更换得太频繁,将使通信交互时延增大,同时还造成网络负担。所以在决定会话密钥的有效期时,应综合考虑这两个方面。为避免频繁进行新密钥的分发,一种解决办法是从旧的密钥中产生新的密钥,称为密钥更新,更新密钥可以采用单向函数实现。(2)密钥加密密钥。密钥加密密钥是为了安全传输数据会话密钥,而采用另一个双方约定的密钥对数据会话密钥进行加密的密钥。密钥加密密钥只是偶尔地用作密钥交换,给密钥破译者提供很少的密文分析数据,而且相应的明文也没有特殊的形式,因此无需频繁更换。然而,如果密钥加密密钥泄露,那么其潜在损失将是巨大的,因为所有的通信密钥都经其加密。在某些应用中,密钥加密密钥一月或一年更换一次。同时,分发新密钥也存在泄露的危险,因此需要在保存密钥的潜在危险和分发新密钥的潜在危险之间权衡。(3)公钥系统中的私钥。公钥密码应用中的私钥是由证书拥有者自己保存的密钥,用来作证书拥有者的身份数字签名和解密其他人传送来的消息。它的有效期是根据应用的不同而变化的,如用作数字签名和身份识别的私钥可以持续数年乃至终身,而用作抛掷硬币协议的私钥在协议完成之后就应该立即销毁。即使期望密钥的安全性持续终身,每两年更换一次密钥也是值得考虑的。许多网络中的私钥仅能使用两三年,此后用户必须采用新的私钥。但旧密钥仍需保密,以便用户验证从前的签名;新密钥用来对新文件签名,以减少密码分析者所能攻击的签名文件数目。(4)公钥系统中的公钥。公钥就是公开密钥体系中公开使用的密钥,用来完成数据加密和数字认证。公钥可以通过CA中心证书发布系统、电子邮件等发布,也可以通过网站下载。用公钥加密的内容只能用私钥解密。公钥密码应用中公钥的有效期是根据应用的不同而变化的。

3.根据密钥的有效期划分不同密钥有不同的有效期,可以划分为一次性密钥和重复型密钥。(1)一次性密钥。从理论上看,一次性密钥具有最大的安全性,因为攻击者无法提前获取历史加密信息,所以减少了攻击的可能性,但密钥需要在通信双方多次传递,容易遭到中间人攻击。目前的一次一密系统在电话通信中得到了很好的应用。(2)重复型密钥。重复型密钥也称为多次密钥,密钥在一定时期内重复使用,达到一定数据加密量或者一定有效期后终止使用。重复型密钥存在受到统计型攻击的可能,所以即使保存很安全仍然不可以永久使用,以避免因密钥破解造成的泄密。 3.3密钥分配技术3.3.1密钥分配实现的基本方法和基本工具

1.密钥分配实现的基本方法安全的密钥分配是通过建立安全信道来实现的,当前主流的安全信道算法有三种,具体内容如下。

1)基于对称加密算法的安全信道要使通信的双方实现保密通信,他们就需要使用同一密钥。这种密钥可当面分发或通过可靠信使传递,传统的方法是通过邮政或通信员传送密钥。这种方法的安全性取决于信使的忠诚和素质。这种方法的成本高,适用于高安全级密钥。为了既安全又减少费用,可采用分层方式传送密钥,通信员仅传送密钥加密密钥,而不去传送大量的数据加密密钥,这既减少了通信员的工作量,又克服了用同一个密钥加密过多数据的问题。

对密钥分配问题的另一个方法是将密钥分成许多不同的部分,然后用不同的并行信道发送出去,有的通过电话,有的通过邮寄,等等。即使截获者能收集到部分密钥,但因缺少某一部分,他仍然不知道密钥是什么,所以除了安全要求非常高的环境外,该方法在很多场合得到了广泛使用。对称加密体制中,对密钥进行分配还可以采用多级层次结构来实现,可将密钥分成两类,分别为初始密钥和密钥加密密钥。初始密钥用于保护数据,密钥加密密钥用于保护初始密钥。初始密钥有时也被称做会话密钥,密钥加密密钥有时也被称做主密钥。用主密钥对会话密钥加密以后,可通过公用网传送,或用双密钥体制分配来实现,如果采用的加密系统足够安全,则可将其看成是一种安全通道。如ANSIX9.17标准就使用了该种密钥分配方法。

2)基于双钥体制的安全信道

Newman等在1986年提出的SEEK(SecureElectronicExchangeofKeys)密钥分配体制系统,是采用DiffieHellman和HellmanPohlig密码体制实现的。美国Cylink公司的密码产品中就采用了这一方法。在小型网络中,每对用户可以很好地使用密钥加密密钥。如果网络变大,那么每对用户必须交换密钥,n个人的网络总的交换次数为n(n-1)/2。1000人的网络则需近500000次,在这种情况下,建造一个密钥管理中心进行密钥分配,会使操作更加有效。

3)基于量子密码的安全信道基于量子密码的安全信道,其原理和传输依赖于物理学内容而不是数学,其安全性由“海森堡测不准原理”及“单量子不可复制定理”保证,具有很高的安全性。量子密码学的理论基础是量子力学,用来传输的信道以量子为信息载体,目前是利用单个光子和它们固有的量子属性完成的。使用量子密码安全信道传递数据,则此数据将不会被任意截取或被插入另一段具有恶意的数据,数据流将可以安全地被编码及译码。当前,量子密码研究的核心内容就是如何利用量子技术在量子信道上安全可靠地分配密钥。

2.密钥分配实现的基本工具认证技术和协议技术是分配密钥的基本工具。认证技术是安全分配密钥的保障,协议技术是实现认证必须遵守的流程。3.3.2密钥分配系统实现的基本模式密钥分配系统实现的基本模式有两种,一种是对小型网络,由于用户人数较少,每对用户之间可用共享一个密钥的方法来分配密钥,如图3.1所示。图3.1共享密钥分配方法另一种是在一个大型网络中,如由n个用户组成的系统中,希望相互之间保密通信,如果用户之间互相传递密钥,则需要生成n(n-1)/2个密钥进行分配和存储,造成较大的工作量。这种环境下的密钥分配问题比较复杂,为了解决这一问题,常采用密钥中心管理方式。在这种结构中,每个用户和密钥中心共享一个密钥,保密通信的双方之间无共享密钥。密钥中心机构有两种形式:密钥分配中心(KDC)和密钥传送中心(KTC)。在KDC中,当A向KDC请求发放与B通信用的密钥时,KDC生成一个密钥k传给A,并通过A传给B,如图3.2(a)所示;或者利用A和B与KDC共享密钥,由KDC直接传送给B,如图3.2(b)所示。图3.2密钥分配中心管理方式密钥传送中心(KTC)和密钥分配中心(KDC)的形式十分相似,主要差别在于密钥传送中心形式下由通信双方的一方产生需求的密钥,而不是由中心来产生,利用A与B和KTC的共享密钥来实现保密通信。当A希望和B通信时,A产生密钥k并将密钥发送给KTC,A再通过KTC转送给B如图3.3(a)所示;或直接送给B,如图3.3(b)所示。图3.3密钥传送中心管理方式3.3.3密钥的验证在密钥分配过程中,需要对密钥进行验证,以确保正确无误地将密钥送给指定的用户,防止伪装信使用假密钥套取信息,并防止密钥分配中出现错误。当用户收到密钥时,如何知道这是对方传送的而不是其他人假冒传送的信息呢?针对密钥的具体分发过程,密钥安全性存在以下几种情况:(1)如果是对方亲自人工传递,那自然简单,可以直接信任得到的密钥。(2)如果通过可靠的信使传送密钥,其安全性就依赖于信使的可靠程度,让信使传送加密密钥更为安全。这种情况需要对得到的密钥进行验证,例如采用指纹法进行密钥提供者身份的验证;(3)如果密钥由密钥加密,必须确信只有对方才拥有那个加密密钥。(4)如果运用数字签名协议为密钥签名,那么当验证签名时就必须相信公开密钥数据库;如果某个密钥分配中心(KDC)在对方的公钥上签名,那么必须相信KDC的公开密钥副本不曾被篡改过。这两种密钥传递方法都需要对公开密钥进行认证。密钥签名的验证比较复杂,公开密钥如果被篡改,那么任何一个人都可以伪装成对方传送一个加密和签名的消息,当你访问公钥数据库以验证对方的签名时,还认为是正确的。利用该缺陷的一些人声称公钥密码体制是无用的,对提高安全性一点用处也没有,但实际情况却复杂得多。采用数字签名和可信赖KDC的公钥体制,使得一个密钥代替另一个密钥变得非常困难。你可以通过电话核实对方的密钥,那样他可以听到你的声音。声音辨别是一个真正好的鉴别方案。如果是一个秘密密钥,他就用一个单向Hash函数来核实密钥。AT&T的TSD就用这种方法对密钥进行验证。有时,核实一个公开密钥到底属于谁并不重要,核实它是否属于去年的同一个人或许是有必要的。如果某人送了一个签名提款的信息到银行,银行并不关心到底谁来提款,它仅关心是否与第一次来存款的人是同一个人。3.4公开密钥基础设施(PKI)3.4.1

PKI概述

1.公钥密码体制的基本概念

1)密钥对在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务(如电子商务等)能够广泛应用,一个关键的基础性问题就是公钥的分发与管理。公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。

2)数字证书数字证书是将公钥和公钥的主人名字联系在一起,再请一个大家都信得过的有信誉的公正、权威机构确认,并加上这个权威机构的签名,这就形成了证书。由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。互联网络的用户群绝不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任,所以公钥加密体系采取数字证书解决了公钥的发布和彼此信任的问题。

3)电子认证中心电子认证中心(即CA)是负责证书认证的权威机构。CA也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA的签字从而信任CA,任何人都应该可以得到CA的证书(含公钥),用公钥来验证它所签发的证书。如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA私钥加密的信息,签字验证的过程还伴随使用CA公钥解密的过程),一旦验证通过,该证书就被认为是有效的。CA除了签发证书之外,它的另一个重要作用是证书和密钥的管理。由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的个人身份证作用一样。CA相当于网上公安局,专门发放、验证身份证。

2.PKI的组成和基本功能完整的PKI系统应该具有五大系统,包括了认证中心CA、数字证书库、密钥备份及恢复系统、证书作废处理系统、客户端应用接口系统等基本构成部分。每个系统的具体内容如下:(1)认证中心CA。认证中心CA是证书的签发机构和权威认证机构,是PKI的核心。认证中心是保证电子商务、电子政务、网上银行、网上证券等环境秩序的第三方机构,具有权威性、可信任性和公正性的特征。(2)数字证书库。数字证书库是CA颁发证书和撤销证书的集中存储区域,用于存放已签发过的数字证书及公钥,可供用户进行开放式查询,获得所需的其他用户的证书及公钥。(3)密钥备份及恢复系统。PKI提供了密钥备份和恢复解密密钥机制,密钥的备份与恢复必须由可信的机构来完成。密钥备份与恢复只能针对解密密钥,签名私钥为确保其惟一性不能够作备份。该机制是针对用户如果丢失了用于解密数据的密钥,加密数据将无法被解密而造成合法数据的丢失。为避免这种情况,PKI提供了备份与恢复密钥的机制。(4)证书作废处理系统。任何证书都有一定的有效期,PKI系统必须定期自动更换证书和密钥,超过有效期限的证书就要进行作废处理,因此证书作废处理系统是PKI的一个必备组件。证书作废的原因也可能是密钥介质丢失或用户身份变更等。(5)客户端应用接口系统。用户使用PKI系统需要在客户端装有软件,或者使用应用接口系统。这些应用接口系统使用户能够方便地使用加密、数字签名等安全服务,申请人可以通过浏览器申请、下载证书,并可以查询证书的各种信息,对特定的文档提供时间戳请求等。PKI应用接口系统使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。构建PKI也围绕着这五大系统来进行,实用的PKI体系必须具有安全性、易用性、灵活性和经济性,还必须充分考虑互操作性和可扩展性。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。一个典型、完整、有效的PKI应用系统的基本功能包括:公钥密码证书管理、黑名单的发布和管理、密钥的备份和恢复、自动更新密钥、自动管理历史密钥和支持交叉认证。为了保证系统的可用性,对PKI的结构进行了层次划分,便于系统构建。PKI主要由三个层次构成,如图3.4所示。图3.4

PKI系统应用框架层次图3.4.2公钥密码体制的原理与算法

1.公钥密码体制的原理

某一用户A有一加密密钥ka,有一解密密钥ka′,可将加密密钥ka公开,

ka′保密。若B要向A传送明文m,可查A的公开密钥ka,用A的公开密钥ka加密的密文为A收到密文C以后,用只有自己才知道的解密密钥对C进行解密得由于加密密钥ka不同于解密密钥ka′,因此公钥密码体制也称为非对称密码体制。若任何第三者窃得密文,则由于无解密密钥ka′,无法恢复明文。其加解密模型如图3.5(a)所示。公钥密码体制的另一种模型是认证模型,用于数据起源的认证,以确保信息的完整性。在这种情况下,任何人都可以获得解密密钥,解读信息,但只有具有相应秘密密钥的人才能产生该信息,其模型如图3.5(b)所示。图3.5公钥密码体制加解密模型及认证模型图3.6公钥密码体制基本通信模型

2.单向函数的定义

1)可逆函数令f是集A到集B的一个映射,如果对任意的x1≠x2,

x1,x2∈A,有y1≠y2,y1,y2∈B,则称f是从A到B的单射,或一对一映射,或可逆的函数,记为y=f(x)。

2)单向函数一个可逆函数y=f(x),如果满足以下两条就称为一个单向函数:(1)对于给定所有x∈A,能方便地计算出f(x);(2)对于给定的所有y,求x是困难的,以至于实际是做不到的。

例3.1有限域GF(p)中的指数函数f(x)=bx,其中p是素数,即y=f(x)=bx,x∈GF(p)也就是x为满足0≤x<p-1的整数。其逆运算是求离散对数,即x=logby

给定x求y是容易的,即是当p足够大时,如b=2,p=2100需做100次乘法,利用高速计算机可在0.1ms内完成。但是从x=logbN中要计算x是非常困难的,如b=2,p=2100,所需计算量为1600年,可见,当p很大时,有限域GF(p)中的指数函数f(x)=bx是一个单向函数。

3.用于构造公约密码常用的单向函数1)多项式求根有限域GF(p)上的一个多项式y=f(x)=(xn+an-1xn-1+…+a1x+a0)modp

当给定多项式的系数和x、p以后,易求y的值,利用Honer算法最多进行n次乘法、n-1次加法。但已知多项式的系数和y、p以后,要求x,需对高次方程求根,至少要进行不小于n2(log2p)2的整数次乘法。当n、p很大时,很难求解。

2)离散对数如果p是一足够大的素数,a是{0,1,2,…,p-1}中与p互素的数。则已知p,a,x,计算y=f(x)-axmodp并不困难;若已知p,a,y,计算x=logbymodp(称为离散对数问题),就很困难了。如p=512,则计算乘法次数为1077。

3)大整数分解(FactorrizationProblme)

若已知两个大素数p,q,求n=p×q仅需一次乘法,但已知n求p,q则是几千年来数论专家的一道难题。已知的各种算法有:试除法、二次筛、数域筛、椭圆曲线,其中RSA问题是FAC问题的特例。n是两个素数p,q之积,给定n以后求p,q的问题称为RSA问题。求n=p×q分解问题有以下几种形式:

(1)分解整数n为p,q;(2)给定整数M,C,求d使得Cd≡Mmodn;(3)给定整数k,C,求M使得Mk≡Cmodn;(4)给定整数x,C,决定是否存在y使得x≡y2modm(二次剩余问题)。

4)菲-赫尔曼(Diffie-Hellman)问题

给定素数p,可构造一乘群Z*p,令α为Z*p的生成元,若已知αa,αb,求αab问题为菲-赫尔曼问题。5)二次剩余问题给定一个奇合数n和整数a,决定是a否为modn平方剩余问题就称为二次剩余问题。3.4.3公钥证书

1.证书的结构和格式

尽管X.509已经定义了证书的标准字段和扩展字段的具体要求,但仍有很多的证书在颁发时需要一个专门的协议子集来进一步定义说明。Internet工程任务组(IETF)PKIX.509工作组就制定了这样一个协议子集,即RFC2459(PKIX的第一部分)。V3版的证书结构包含的信息主要有:版本号、序列号、签名算法、证书颁发者、有效期、拥有者主体名、主体公钥值、证书颁发者标识、拥有者主体标识、可选扩展等内容。表3.1给出了X.509V3的证书结构。表3.1

X.509V3证书结构

1)简单公开密钥基础设施(SPKI)简单公开密钥基础设施(SPKI)是一个独立的IETF工作组的工作成果,该工作组致力于为Internet提供一个简单的公开密钥基础设施。该IETF工作组的目标是发展支持IETF公钥证书格式、签名和其他格式以及密钥获取协议的Internet标准。SPKI密钥证书格式以及相关协议应该是简单易懂、易于实现和使用的。

SPKI的工作重点在于授权而不是身份认证,因此SPKI证书也叫授权证书。SPKI授权证书的主要目的就是传递许可权,当然也有授予许可权的能力。

2)PGP密钥格式证书

PGP密钥格式证书应用于PGP(PrettyGoodPrivacy)体系中,PGP是一种对电子邮件和文件进行加密与数字签名的方法。最新的PGP版本OpenPGP,以IETF的标准“OpenPGP报文格式”的形式颁布。该标准规范了在两个实体间传递信息和文件时的PGP报文格式,以及在两个实体间传递PGP密钥(或称为PGP证书)的报文格式。

PGP标准在Internet上得到了应用,PGP密钥格式的证书也发挥了重要作用,但它所有的信任决策主要是基于个人,而不是针对组织和机构。PGP方案对企业内部网来说,不是最好的解决方案。

3)安全电子交易(SET)标准安全电子交易(SET)标准定义了在分布式网络(如因特网)上进行信用卡支付交易所需的标准。SET定义了一种标准的支付协议,并且规范了协议中采用PKI所需的条件。SET采用了X.509V3版本公钥证书的格式,但是采用了标准扩展的一些属性要求,制定了自己私有的扩展。虽然SET证书的格式兼容于X.509V3版本格式,但非SET应用无法识别SET定义的私有扩展,所以非SET应用(如S/MIME格式)的电子邮件就无法接收SET证书。

4)属性证书属性证书不是公钥证书,尽管在X.509建议中定义了属性证书的基本ASN.1结构。属性证书用来传递一个给定主体的属性,以便实现灵活、可扩展的特权管理。属性证书的主体可以结合相应公钥证书通过“指针”来确定。

2.证书的使用公钥证书通常用来为实现安全的信息交换建立身份并创建信任,所以证书颁发机构(CA)可以把证书颁发给人员、设备和计算机上运行的服务。某些情况下,计算机必须能够在高度信任涉及交易的其他设备、服务或个人身份的情况下进行信息交换。某些情况下,人们需要在高度信任涉及交易的其他设备、服务或个人身份的情况下进行信息交换。运行在计算机上的应用程序和服务也频繁地需要确认它们正在访问的信息来自可信任的信息源。当两个实体(例如设备、个人、应用程序或服务)试图建立身份和信任时,如果两个实体都信任相同的证书颁发机构,就能够在它们之间实现身份和信任的结合。一旦证书主题已呈现由受信任的CA所颁发的证书,那么通过将证书存储在它自己的证书存储区中,并且(如果适用)使用包含在证书中的公钥来加密会话密钥以及所有与证书主题随后进行的通信都是安全的,试图建立信任的实体就可以继续进行信息交换。公钥证书使得保密通信系统中的主机不必相互之间分别维护一套密码。主机只需在证书颁发者中通过身份验证建立信任,就可以进行相互之间可信的保密通信了。大型组织中使用证书时,很多组织安装有自己的证书颁发机构,并将证书颁发给内部的设备、服务和雇员,以创建更安全的计算环境。大型组织还可能有多个证书颁发机构,它们被设置在指向某个根证书颁发机构的分层结构中。这样,雇员的证书存储区中就可能有多个由各种内部证书颁发机构所颁发的证书,而所有这些证书颁发机构均通过到根证书颁发机构的证书路径共享一个信任连接。当雇员利用虚拟专用网络(VPN)从家里登录到组织的网络时,VPN服务器可以提供服务器证书以建立起自己的身份。因为公司的根证书颁发机构被信任,而公司根证书颁发机构颁发了VPN服务器的证书,所以,客户端计算机可以使用该连接,并且雇员知道其计算机实际上连接到组织的VPN服务器。3.4.4公钥证书的管理

1.公钥证书的生成公钥证书与证书拥有者密切相关。要生成有效的公钥证书,证书拥有者就必须先向认证中心CA注册。认证中心负责确认用户的身份,并对接收到的证书拥有者的信息进行数字签名,将经过数字签名的证书拥有者的信息和数字签名发送到数字证件的存储库中,由数字证书库存储经过数字签名的证书拥有者的信息和数字签名。在认证机构向用户颁发证书之前,用户须向认证机构进行登记,该登记一般是通过填写、提交证书申请表来完成的。登记涉及用户与认证机构之间关系的确立,并将用户的基本信息在认证机构进行登载。对于证书的发放,可以进行更新申请,或撤销后再申请。而对于申请来说,用户可以撤销证书发放的申请,认证机构可以明确撤销认证请求的条件,以及其处理撤销请求的程序等。证书的申请实际是一个注册过程,通常称为终端实体注册,是用户的终端实体身份被建立和验证的过程。注册流程主要是终端实体在线提供注册表格,并提交给认证中心CA,注册过程必须得到保护和确认。注册过程将共享密钥赋予终端实体,并传递给CA,便于CA在后续的工作中确认用户身份。尽管注册功能可以直接由CA来实现,但为了减轻CA的处理负担,专门用一个单独的机构即注册机构(RA)来实现用户的注册、申请以及部分其他管理功能。多个RA也叫局部注册机构LRA,它的实施将有助于解决这一问题。RA的主要目的就是分担CA的一定功能以增强可扩展性并且降低运营成本。

2. 公钥证书的分发

公钥证书的分发这个阶段包括证书检索、证书验证、密钥恢复、密钥更新等几个密钥管理的环节。几个环节主要依赖于证书目录服务器和证书链实现证书的分发与维护。证书检索完成远程资料库的证书检索;证书验证负责确定一个证书的有效性(包括证书路径的验证);密钥恢复是当不能正常访问密钥资料时,从CA或信任第三方处恢复用户证书及密钥;密钥更新是在一个合法的密钥对将过期时,进行新的公/私钥的自动产生和相应证书的颁发。这几个环节体现在公钥证书分发的每一步。

1)证书的颁发在颁发认证证书之前,认证机构应当确定证书申请人、设施或实体的身份。一般说来,认证机构必须对申请人、设施或实体的身份特征进行辨认识别。认证机构只有在认定申请人符合CA中心的规定时,才可向申请人颁发证书。

2)证书的接受接受证书是指证书申请人获得认证机构的证书,了解证书的内容后,同意使用证书作为自己数字身份代表的行为。当证书用户接受证书后,认证机构应及时将此信息公布,通过公布认证证书的方式表明用户已经同意接受证书这一法律事实。

3)证书的保存认证机构必须有证据证明自己根据认证规定,按申请者要求完成了证书发放的业务过程,并且所发放的证书能在事后对依据其证书所从事的交易,提供不可抵赖的验证支持。因此,认证机构应当保存已发放的用户证书。

4)构建证书目录服务器认证中心CA颁发完成的证书,只是绑定了证书持有人的身份和公钥,还需要进一步提供该证书的寻找方法。目录服务器(DirectoryServiceServer)可以为认证中心的大量证书提供稳定可靠、规模可扩充的在线数据库存储系统。目录服务器存放了认证中心所签发的所有证书,当终端用户需要确认证书信息时,通过LDAP协议下载证书或吊销证书列表,或者通过在线证书状态协议(OCSP)向目录服务器查询证书的当前状况。5)证书链CRL的构造大型CA本身具有层次结构,通常把大量证书映射为证书链进行维护,一条证书链是后续CA发行的证书序列。证书链的每个证书由发行者使用自己的根证书对应私钥进行签名,该签名可用发行者的证书公钥进行验证。在证书链中,每个证书的下一级证书是发行者的证书,每个证书都包含了证书发行者的可识别名称(DN),该名称同证书链中的下一级证书的主体名字相同。6)证书应用与数字认证证书在使用时需要数字认证进行检验。检查一份给定的证书是否可用的过程,就是数字认证,也称为证书验证。数字认证引入了一种机制来核查证书的完整性和证书颁发者的可信赖性。数字认证包括验证证书上是否包括了一个可信的CA签名、通过Hash计算验证证书是否有良好的完整性、证书是否处在有效期内、证书是否没有被撤销、证书的使用方式与使用策略(使用限制)相一致。在PKI框架中,认证是一种将实体及其属性和公钥绑定的一种手段。认证中心CA对它所颁发的证书使用私钥进行了数字签名,因而保护了证书的完整性和有效性。

3.公钥证书的终止与撤销

PKI系统的密钥/证书的管理以取消阶段来结束。此阶段包括证书过期、证书撤销、证书终止、密钥历史记录、密钥存档几个部分。证书过期是指依据有效期证书生命周期的自然结束;证书终止是指使一证书在某段时间内临时丧失有效性。证书撤销是宣布一个合法证书(及其相关私有密钥)不再有效;密钥历史记录是维持一个有关密钥资料的记录,以便密钥过期后,使用该密钥加密的资料能够解密;密钥存档是为了应对密钥历史恢复、审计和解决争议等问题,所进行的密钥资料的第三方安全储存。1)证书的终止终止证书,并非永久性地撤销该证书,而只是使之在某段时间内临时丧失有效性。由于认证证书暂停生效,会对任何信赖证书内容的相关交易方产生不利影响。因此,它只是在特殊情形下使用的紧急措施。2)证书的撤销一般说来,当证书签发后,会在整个有效期内都有效。但是,在有些情况下,用户必须在有效期届满之前,停止对证书的信赖。这些情况包括用户要求终止服务、用户的身份变化、用户的私钥泄露、用户的密钥遭到破坏或非法使用等,这时认证机构就应撤销原有的证书。由于证书存在撤销的可能,因此证书的应用期限通常比预计的有效期限短。3.4.5

PKI信任模型

1.严格层次化信任模型严格层次化信任模型是指认证机构按照严格层次结构划分形成的信任模型(StrictHierarchyofCertificationAuthoritiesModel)。这个模型结构类似为一棵倒置的树,其中树根代表整个PKI系统中信任的起始点,称为根CA,PKI系统中的所有实体都信任根CA。根CA下存在多级子认证中心CA,根CA只负责颁发自己和下级子CA的数字证书,并不负责用户证书的颁发。无下级的

温馨提示

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

评论

0/150

提交评论