《网络安全课件_0909第02-3章数据加密》由会员分享,可在线阅读,更多相关《网络安全课件_0909第02-3章数据加密(33页珍藏版)》请在金锄头文库上搜索。
1、第02-3章 数据加密,主讲人:郭松涛 单 位:重庆大学计算机学院 2010年10月,2.4 密钥的管理,2.4.1 密钥的管理 密钥的管理综合了密钥的设置、产生、分配、存储、进入、使用、备份、保护和销毁等一系列过程。其中密钥分配是最棘手的问题。,1密钥设置协议,为了提高密钥的安全性,目前流行的密钥管理方案一般采用层次的密钥设置。X9.17标准描述了两种层次的密钥: 数据密钥(data key,DK):直接对信息序列加密。 密钥加密密钥(keyencryption key,KK):加密需要分发的密钥。,密钥的分层保护也叫主密钥管理体制。它是以对称密钥为基础的管理体制。把密钥分为几层,高一层密钥
2、保护低一层密钥。 一般把密钥分为主密钥、辅助主密钥和会话密钥三个层次。主密钥对辅助主密钥进行加密保护,辅助主密钥对会话密钥进行加密保护。再用会话密钥对传输的具体信息进行加密保护。,1密钥设置协议,1、会话密钥 Session Key-三级密钥 两个通信端用户在一次通话或数据交换时使用的密钥 用于文件加密时称为文件密钥(File Key); 用于数据加密时称为数据加密密钥(Data Encrypting Key) 会话密钥又称为三级密钥 2、密钥加密密钥 Key Encrypting Key -二级密钥 用于对会话密钥进行加密时的采用的密钥 密钥加密密钥又称为二级密钥 3、主机主密钥Host M
3、aster Key-一级密钥 对密钥加密密钥进行加密的密钥,密钥类别,该思想就是把网络中大量使用的会话密钥置于辅助主密钥的保护之下,通过网络送到各通信点。再由极少量的主密钥保护辅助主密钥。 也可根据网络的大小分为一级密钥、二级密钥和三级密钥等。 整个网络的密钥的保护与传输,都由计算机控制,实现密钥管理的自动化。,1密钥设置协议,例如:一种公开密钥的保护体制 若A与B通信,A产生公钥Ke和私钥Kd; A将Ke传输给B; B用Ke加密其产生的一个会话密钥Ks,并传输给A; A用Kd解密Ks ; 用Ks加密A发给B的数据; 通信结束后, Ks被清除。,1密钥设置协议,2密钥分配,目前,典型的自动密钥
4、分配途径有两类:集中式分配方案和分布式分配方案。 所谓集中式分配是指利用网络中的“密钥管理中心”来集中管理系统中的密钥,“密钥管理中心”接受系统中用户的请求,为用户提供安全分配密钥的服务。 分布式分配方案取决于它们自己的协商,不受任何其他方面的限制。,3. 密钥的保护,密钥从产生到终结,在整个的生存期中都需要保护。 一些基本的措施有: (1)密钥决不能以明文形式存放。 (2)密钥首先选物理上择最安全的地方存放。 (3)在有些系统中可以使用密钥碾碎技术由一个短语生成单钥密钥。 (4)可以将密钥分开存放。例如: 将密钥平分成两段,一段存入终端,一段存入ROM 将密钥分成若干片,分发给不同的可信者保
5、管。,密钥的产生是密钥管理中的基本问题。首先要保证所产生的密钥具有良好的随机性,避免产生简单、明显的密钥或一串容易记忆的字符或数字。现在代网络的信息量越来越大,需要密钥量也大,密钥的产生要能自动大量地进行。,4. 密钥的产生,密钥的产生主要利用噪声源技术,该技术就是产生二进制的随机序列或与之对应的随机数。其主要理论基础是混沌理论。 使用随机系列发生器可以自动地产生大量随机的密钥。,4. 密钥的产生,不同密钥的产生方式是不同的 1) 主密钥安全性至关重要,故要保证其完全随机性、不可重复性和不可预测性。 可用噪声发生器等方法产生 2) 密钥加密密钥数量大,可由机器自动产生,如用安全算法、伪随机数发
6、生器等产生 3) 会话密钥可利用密钥加密密钥及某种算法(加密算法,单向函数等)产生。,4. 密钥的产生,不重复密钥生成法:ANSI X9.17密钥生成器 是密码强度最高的伪随机数生成器之一。 目前已经在PGP等许多应用中被采纳。 用来生成密钥的加密算法是三重DES。,K为主密钥,K是为密钥发生器保留的一个特殊密钥 Vi为64比特的随机种子,Ti为时间标记 Ri为生成的64位密钥,4. 密钥的产生,4. 密钥的产生,重复密钥生成法:由一个初始密钥生成多个密钥 首先,如果初始密钥在密钥空间中是随机的,则由其生成的密钥也应该是随机的。 其次,密钥生成的方法可以用迭代法,即可由一个初始密钥生成一个新密
7、钥,接着再用新密钥作为初始密钥生成一个新密钥,依此类推,不断衍生出新的密钥。 最后,密钥生成过程具有不可逆性,即由后继密钥不能推出其前导密钥。,5密钥的保存,密钥整体保存的最简单方法是将其记忆在脑子中。 密钥分散保存的目的是为了降低由于某个人或保密装置的问题而导致密钥泄漏的危险。,6.密钥的使用、备份和销毁,密钥被替换后,旧密钥必须销毁。旧密钥虽然不再使用,却可以给攻击者提供许多有重大参考价值的信息,为攻击者推测新的密钥提供许多有价值的信息。为此,必须保证被销毁的密钥不能给任何人提供丝毫有价值的信息。下面是在销毁密钥时使用过的一些方法,供参考: 密钥写在纸上时,要把纸张切碎或烧毁; 密钥存在E
8、EPROM中时,要对EEPROM进行多次重写; 密钥存在EPROM或PROM时,应将EPROM或PROM打碎成小片; 密钥存在磁盘时,应当多次重写覆盖密钥的存储位置,或将磁切碎; 要特别注意对存放在多个地方的密钥的同时销毁。,2.4.2 密钥的分配,密钥的分配技术解决的是在网络环境中需要进行安全通信的端实体之间建立共享的对称密钥问题。 1对称密码体制的密钥分配 对于通信方A和B来说,密钥分配可以用以下的多种方法完成。,(1)一个密钥可以由A选定,然后物理地传递给B。 (2)一个第三方可以选定密钥,然后物理地传递给A和B。 (3)如果A和B在不久以前使用过一个密钥,一方可以使用旧密钥加密新密钥并
9、传输给另一方。 (4) 如果A和B每人都有一个和三方C的加密连线,C就可以加密连线把密钥传递给A和B。,对称密码体制的密钥分配,对称密码体制的密钥分配,在这个方案中,一个密钥分配中心(Key Distribution Center,KDC)负责按照需要分配密钥给各对用户(主机、进程和应用)。每个用户必须与KDC共享一个惟一的密钥,以便进行密钥分配。 每一个端系统或用户都与KDC共享惟一的主密钥,当然,这些主密钥要以某种方式进行分配。,密钥分配的几种方法,在单钥加密体制中,信息交换方必须共享一个密钥,并且这个密钥要防止被他人获得。在公开加密体制中,为了使加密有效进行,信息接受方必须发布其公开密钥
10、,同时防止其私钥被人窃取。此外,密钥还要经常更换,以便泄露见降至最小。,密钥分配的几种方法,设有通信的双方:A和B,密钥的分配可以有如下几种方法: (1)网外分发方法 密钥由A选定,然后通过物理方法传递给B。 密钥由可信任的第三方选定,然后通过物理方法传递给A和B。 (2)密钥分配中心分发 若A和B有一个共同的可信任的第三方KDC(密钥分配中心),KDC可以通过加密连接将密钥安全地传送给A和B。这种方法多用于单钥密钥的分配。图6.10为一个采用这种方法的密钥分配例子。,(1)集中式密钥分配,密钥分配的概念可以用多种方式实施。一种典型的方案如图2.12所示。假定每个用户与KDC之间共享惟一的密钥
11、。, A向KDC发请求,要求得到一个用来保护他与B间会话的会话密钥 这个报文包括A和B的标志以及一个对于这次交互而言的唯一的标识符N1,称此标志符为现时(nonce),即 A-KDC: IDa| IDb|N1 (N1具有抵抗重放攻击的作用) KDC用一个经过Ka加密的报文作为响应 这个报文包含给A的两项内容: 用于会话的一次性会话密钥Ks及原来的请求报文(包括现时,以便使得A能够将这个响应与相应的请求进行匹配); 还包括给B的两项内容: 用于会话的一次性会话密钥Ks及A的标志符IDA。后两项内容是用Kb(KDC与B共享的主密钥)进行加密的,他们被发送到B来建立连接并证明A的身份。 KDC-A:
12、EKaKs|IDa|IDb|N1|EKbKs|IDa,(1)集中式密钥分配, A把KDC发来的消息转发给B A把会话密钥Ks存放起来用于后续会话,并将KDC发送给B的信息即EkbKs,IDA转发给B。 因为这个信息是用Kb加密的,它对窃听有了防护。 B现在知道了会话密钥(Ks),知道了通信的另一方是A(从IDA)得知,并且知道了信息是从KDC发出的(因为它是用EKb加密的) B使用会话密钥Ks发送一个现时N2的密文给A B-A:EksN2 A也使用Ks响应一个f(N2) 其中f是一个对N2进行某种变换的函数(如N2+1)。即 A-B:Eksf(N2) 、 可使B相信第步收到的消息不是一个重放消
13、息,属于鉴别功能,(1)集中式密钥分配,(2)分布式密钥分配,每个通信方同时也是密钥分配中心,这种方案要求有n个通信方的网络要保存n(n-1)/2个主密钥。 对于大型网络,该方案不适合;对于小型网络或者一个大型网络的局部范围,还是比较适用。,发起方A,响应方B,(1),(2),(3),(2)分布式密钥分配,A给B发出一个要求会话密钥的请求 请求包括:IDa和N1 B使用一个用A和B之间共享的主密钥加密的报文进行响应 B-A:EMKmKs|IDa|IDb|f(N1) |N2 A使用B产生的会话密钥Ks对f(N2)进行加密,返给B A-B:EKsf(N2),2非对称密码体制的密钥分配,在公开密钥密
14、码体制中进行安全密钥的分发最重要的问题是确保公钥的完整性。 假设交易伙伴双方是A和B,A想要得到B的公钥。 第一种方法是A可以采用人工方式获得B的公钥,B通过信使将密钥交给A。 第二种方法是B将其公钥email给A,A可以用单向函数对该公钥生成一个160位的信息摘要并以16进制显示,这一特点称作密钥的指纹。然后A打电话给B,让B在电话中对证指纹,如果双方一致则该公钥被认可。,公钥的分发最常用的方法,最常用的方法是采用数字证书来实现密钥分发。 数字证书通常用于证明某个实体的公钥的有效性。 证书中除了包含密钥信息之外,还包含用户的姓名、地址、使用期限等信息。它是将成员的标识符和一个公钥值绑定在一起
15、。 数字证书由一个大家都信任的证书权威机构的成员来签发,该成员称为认证中心(CA)。,公钥密码体制的密钥分配要求与对称密码体制的密钥分配要求有着本质的差别: 当分配一个公钥时,不需要机密性。 然而,公钥的完整性是必需的 完整性是指:某个公钥确实是某个人的。 因为:公钥是公开的,易被非法使用,(2) 公开密钥的管理,如何发布公钥 公开发布。 公用目录表。 公钥管理机构。 公钥证书,(2) 公开密钥的管理,公开发布 : 指用户将自己的公钥发给每一其他用户,或向某一团体广播; 比较简单; 缺陷: 任何人都可伪造这种公开发布,即发布伪造的公钥 。,(2) 公开密钥的管理,公用目录表 : 建立一个公用的
16、公钥动态目录表,目录表的建立、维护以及公钥的分布由某个可信的实体或组织承担。 公用目录表的建立过程如下: 1)管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项,一是用户名,二是用户的公钥。 2)每个用户亲自或以某种安全的认证通信在管理者那里注册自己的公钥。 3)用户如果由于自己的公钥用过的次数太多或由于与公钥相关的私钥己被泄露,则可随时用新公钥替换现有的公钥。 4)管理员定期公布或定期更新目录表。例如,像电话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新。 5)用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信。,(2) 公开密钥的管理,公钥管理机构 在公钥目录表的基础上,由一个公钥管理机构对公钥的分配进行更严密的控制。,(2) 公开密钥的管理,