《安徽工程大学信息安全原理及应用第5讲密钥管理.ppt》由会员分享,可在线阅读,更多相关《安徽工程大学信息安全原理及应用第5讲密钥管理.ppt(74页珍藏版)》请在金锄头文库上搜索。
1、第第5讲讲 密钥管理密钥管理 1主要内容主要内容概概 述述1密钥长度密钥长度2密钥生成密钥生成3密钥分配密钥分配4密钥保护密钥保护55.1 概述概述v密钥是加密解密算法中的可变部分,采用密码技术保护的系密钥是加密解密算法中的可变部分,采用密码技术保护的系统,其安全性在很大程度上统,其安全性在很大程度上取决于对密钥的保护取决于对密钥的保护,而不仅仅,而不仅仅是对算法和硬件本身的保护。因此,密钥的保密和密钥的安是对算法和硬件本身的保护。因此,密钥的保密和密钥的安全管理在信息系统、通信系统等现代系统安全中是极其重要全管理在信息系统、通信系统等现代系统安全中是极其重要的。的。密钥管理密钥管理包含了密钥
2、自产生到最终销毁的整个过程中的包含了密钥自产生到最终销毁的整个过程中的各种安全问题各种安全问题。如:密钥的产生、存储、装入、分配、保护、。如:密钥的产生、存储、装入、分配、保护、遗忘、丢失和销毁。遗忘、丢失和销毁。密钥安全的几个关键步骤:密钥安全的几个关键步骤:v(1)密钥生成密钥生成 密钥算法,公式,实现密钥算法,公式,实现v(2)密钥分配密钥分配 分配方式,途径,拥有者分配方式,途径,拥有者v(3)密钥密钥验证验证 密钥附着一些检错和纠错位来传输密钥附着一些检错和纠错位来传输,当密钥在传输中发生错误当密钥在传输中发生错误,能很容易地被检查出来能很容易地被检查出来.v(4)更新密钥更新密钥
3、如需频繁改变密钥如需频繁改变密钥,可从旧密钥中产生新密钥可从旧密钥中产生新密钥,或利用单向函数或利用单向函数更新密钥更新密钥.v(5)密钥保护密钥保护 保密,权限,授权,存储,加密,携带保密,权限,授权,存储,加密,携带v(6)备份密钥备份密钥 密钥托管、秘密分割、秘密共享密钥托管、秘密分割、秘密共享v(7)密钥有效期密钥有效期v(8)密钥销毁密钥销毁 更换,销毁更换,销毁v(9)公开密钥的密钥管理公开密钥的密钥管理密钥安全的几个关键步骤:密钥安全的几个关键步骤:密钥类型密钥类型v基本密钥基本密钥 Base Key 又称初始密钥(又称初始密钥( Primary Key)、)、 用户密钥用户密钥
4、(User key) ,是由是由用户选定或由系统分配给用户的,可在较长时间(相对于会用户选定或由系统分配给用户的,可在较长时间(相对于会话密钥)内,由一对用户所专用的密钥。话密钥)内,由一对用户所专用的密钥。v会话密钥会话密钥 Session Key 即两个通信终端用户在一次通话或交换数据时使用的密钥,即两个通信终端用户在一次通话或交换数据时使用的密钥,当它用于加密文件时称为文件密钥当它用于加密文件时称为文件密钥(File key),当它用于加密,当它用于加密数据时称为数据加密密钥数据时称为数据加密密钥(Data Encrypting Key)。密钥的种类繁杂,但一般可以将不同场合的密钥分为以
5、下几类:密钥的种类繁杂,但一般可以将不同场合的密钥分为以下几类:密钥类型密钥类型v密钥加密密钥密钥加密密钥 Key Encrypting Key 用于对会话密钥或文件密钥进行加密时采用的密钥,又称辅助用于对会话密钥或文件密钥进行加密时采用的密钥,又称辅助(二级)密钥(二级)密钥(Secondary Key)或密钥传送密钥或密钥传送密钥(key Transport key),通信网中的每个节点都分配有一个这类密钥。,通信网中的每个节点都分配有一个这类密钥。v主机主密钥主机主密钥 Host Master Key 它是对密钥加密密钥进行加密的密钥,存于主机处理器中。它是对密钥加密密钥进行加密的密钥,
6、存于主机处理器中。v在公钥体制下,还有公开密钥、秘密密钥、签名密钥之分。在公钥体制下,还有公开密钥、秘密密钥、签名密钥之分。密钥分级保护密钥分级保护v将用于数据加密的密钥称三级密钥。将用于数据加密的密钥称三级密钥。v保护三级密钥的密钥称二级密钥保护三级密钥的密钥称二级密钥 也称密钥加密密钥。也称密钥加密密钥。v保护二级密钥的密钥称一级密钥保护二级密钥的密钥称一级密钥 也称密钥保护密钥。也称密钥保护密钥。v如用口令保护二级密钥如用口令保护二级密钥 那么口令就是一级密钥。那么口令就是一级密钥。密钥的生存期密钥的生存期密钥的生存周期密钥的生存周期-授权使用该密钥的周期。授权使用该密钥的周期。v 原因
7、:原因:1 拥有大量的密文有助于密码分析拥有大量的密文有助于密码分析 ,一个密钥使用得太多了,一个密钥使用得太多了, 会给攻击者增大收集密文的机会。会给攻击者增大收集密文的机会。2 假定一个密钥受到危及或用一个特定密钥的加密假定一个密钥受到危及或用一个特定密钥的加密/解密过程被解密过程被分析,则限定密钥的使用期限就相当于限制危险的发生。分析,则限定密钥的使用期限就相当于限制危险的发生。v一个密钥主要经历以下几个阶段一个密钥主要经历以下几个阶段1 产生产生 (可能需要登记);(可能需要登记);2 分配;分配;3 使用;使用;4 更新更新/替换;替换;5 撤撤销;销;6 销毁。销毁。密钥管理密钥管
8、理v密钥管理密钥管理 key management) 在一种安全策略指导下密钥的产生、在一种安全策略指导下密钥的产生、 存储、分配、删除、存储、分配、删除、 归档及应用归档及应用 (GB/T 9387.21995ISO 7498-21989) 处理密钥自产生到最终销毁的整个过程中的有关问题,包括系统的初始化、密处理密钥自产生到最终销毁的整个过程中的有关问题,包括系统的初始化、密钥的产生、存储钥的产生、存储 、备份、备份/恢复、装入、恢复、装入、 分配分配 、保护、保护、 更新、更新、 泄露泄露 、撤销和销、撤销和销毁等内容毁等内容v密钥管理的目的:维持系统中各实体之间的密钥关系,以抗击各种可能
9、的密钥管理的目的:维持系统中各实体之间的密钥关系,以抗击各种可能的威胁:威胁:密钥的泄露密钥的泄露秘密密钥或公开密钥的身份的真实性丧失秘密密钥或公开密钥的身份的真实性丧失经未授权使用经未授权使用5.2 密密 钥钥 长长 度度 v决定密钥长度需要考虑多方面的因素:决定密钥长度需要考虑多方面的因素:数据价值有多大?数据价值有多大?数据要多长的安全期?数据要多长的安全期?攻击者的资源情况怎样?攻击者的资源情况怎样?v选择比需要的密钥长度更长的密钥。选择比需要的密钥长度更长的密钥。 不同安全需求的密钥长度不同安全需求的密钥长度 信息信息类型型 时间最小密最小密钥长度度战场军事信息事信息产品品发布、合并
10、、利率布、合并、利率贸易秘密易秘密氢弹秘密秘密间谍的身份的身份个人个人隐私私外交秘密外交秘密数分数分钟/小小时几天几天/几周几周几十年几十年40年年50年年50年年65年年56-64 bits64 bits112 bits128 bits128 bits128 bits至少至少128 bits攻击难度相当的对称密钥密码和攻击难度相当的对称密钥密码和公钥密码的密钥长度(位)公钥密码的密钥长度(位) 对称密称密钥密密码的密的密钥长度度 公公钥密密码的密的密钥长度度 56bits 384bits 64bits 512bits 80bits 768bits 112bits 1792bits 128bi
11、ts 2304bits5.3 密钥生成密钥生成 v尽量避免容易记忆的安全性差的密钥:尽量避免容易记忆的安全性差的密钥:如用户的姓名、简写字母、帐户姓名和其他有关的个人如用户的姓名、简写字母、帐户姓名和其他有关的个人信息等;信息等; 字典攻击。字典攻击。v最好的密钥还是随机密钥最好的密钥还是随机密钥 ,但不容易记忆。,但不容易记忆。5.3.1 密钥的选择密钥的选择v一个叫一个叫Danial Klein的人使用以下方法构造字典破译了的人使用以下方法构造字典破译了40%的的计算机口令:计算机口令:用户的姓名、首字母、帐户名等与用户相关的个人信息;用户的姓名、首字母、帐户名等与用户相关的个人信息;从各
12、种数据库得到的单词,如地名、山名、河名、著名人物的名字、从各种数据库得到的单词,如地名、山名、河名、著名人物的名字、著名文章或者小说的名字等;著名文章或者小说的名字等;数据库单词的置换,如数据库单词的大写置换,字母数据库单词的置换,如数据库单词的大写置换,字母o变成数字变成数字0,或,或者单词中的字母颠倒顺序;者单词中的字母颠倒顺序;如果被攻击者为外国人,可以尝试外国文字;如果被攻击者为外国人,可以尝试外国文字;尝试一些词组尝试一些词组不同等级的密钥的产生方式不同不同等级的密钥的产生方式不同主机主密钥主机主密钥安全性至关重要,故要保证其完全随机性、不可重复安全性至关重要,故要保证其完全随机性、
13、不可重复性和不可预测性。可用投硬币、骰子性和不可预测性。可用投硬币、骰子,噪声发生器等方法产生。噪声发生器等方法产生。密钥加密密钥密钥加密密钥数量大数量大(N(N-1)/2),可由机器自动产生可由机器自动产生,安全算法、安全算法、伪随机数发生器等产生。伪随机数发生器等产生。会话密钥会话密钥可利用密钥加密密钥及某种算法可利用密钥加密密钥及某种算法(加密算法加密算法、单向函数单向函数等等)产生。产生。初始密钥初始密钥 类似于主密钥或密钥加密密钥的方法产生。类似于主密钥或密钥加密密钥的方法产生。随机数主要的应用:随机数主要的应用: v网络安全中的随机数通常借助于安全的密码算法产生,由于算法是确定网络
14、安全中的随机数通常借助于安全的密码算法产生,由于算法是确定的,由此产生的数列不是真正随机的,但能通过各种随机性检测,故称的,由此产生的数列不是真正随机的,但能通过各种随机性检测,故称为伪随机数。为伪随机数。5.3.2 随机密钥与随机数随机密钥与随机数伪随机数:伪随机数:v相互认证,如在密钥分配过程中使用一次性随机数来防止相互认证,如在密钥分配过程中使用一次性随机数来防止重放攻击重放攻击;v对称密码体制中会话密钥的生成;对称密码体制中会话密钥的生成;v公钥密码体制中密钥的生成。公钥密码体制中密钥的生成。常用的伪随机数生成器:常用的伪随机数生成器: v线性同余算法线性同余算法v基于密码算法的随机数
15、生成器基于密码算法的随机数生成器 循环加密;循环加密; DES的输出反馈(的输出反馈(OFB)模式;)模式;ANSI X9.17密钥生成器。密钥生成器。 vBBS(Blum-Blum-Shub)生成器生成器5.4 密密 钥钥 分分 配配 v解决两个主要问题解决两个主要问题:引进自动密钥分配机制,减轻负担,提高系统的效率;引进自动密钥分配机制,减轻负担,提高系统的效率;尽可能减少系统中驻留的密钥量,提高安全性。尽可能减少系统中驻留的密钥量,提高安全性。 v典型的两类自动密钥分配途径:典型的两类自动密钥分配途径:集中式分配方案;集中式分配方案;分布式分配方案分布式分配方案v几种公钥分配方法:公开发
16、布;公开可访问目录;公钥授权;几种公钥分配方法:公开发布;公开可访问目录;公钥授权;公钥证书公钥证书密钥分配途径密钥分配途径v典型的两类自动密钥分配途径:典型的两类自动密钥分配途径:集中式分配方案集中式分配方案:利用网络中的密钥分配中心:利用网络中的密钥分配中心(key distribution center,KDC)来集中管理系统中的密钥,密钥分配中心接收系统中来集中管理系统中的密钥,密钥分配中心接收系统中用户的请求,为用户提供安全地分配密钥的服务。用户的请求,为用户提供安全地分配密钥的服务。分布式分配方案分布式分配方案 :网络中各主机具有相同的地位,它们之间的密:网络中各主机具有相同的地位
17、,它们之间的密钥分配取决于它们自己的协商,不受任何其他方面的限制。钥分配取决于它们自己的协商,不受任何其他方面的限制。v通常采取两种方案的混合:主机采用分布式方式分配密钥,而主机对通常采取两种方案的混合:主机采用分布式方式分配密钥,而主机对于终端或它所属的通信子网中的密钥可采用集中方式分配。于终端或它所属的通信子网中的密钥可采用集中方式分配。 21 两种密钥分配体制两种密钥分配体制 1.对称密钥分配的基本方法对称密钥分配的基本方法 密钥由密钥由A选取并通过物理手段发送给选取并通过物理手段发送给B; 密钥由第三方选取并通过物理手段发送给密钥由第三方选取并通过物理手段发送给A和和B; 如果如果A、
18、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方;密新密钥并发送给另一方; 如果如果A和和B与第三方与第三方C分别有一保密信道,则分别有一保密信道,则C为为A、B选取密钥后,分别选取密钥后,分别在两个保密信道上发送给在两个保密信道上发送给A、B。 5.4.1 对称密码体制的密钥分配对称密码体制的密钥分配2.密钥分配实例密钥分配实例 v假定两个用户假定两个用户A、B分别与密钥分配中心有一个共享的主密钥分别与密钥分配中心有一个共享的主密钥KA和和KB,A希望与希望与B建立一个逻辑连接,并希望有一个一次性会话密钥建立
19、一个逻辑连接,并希望有一个一次性会话密钥来保护该连接上的数据传送来保护该连接上的数据传送 ,分配过程见下图:,分配过程见下图:3. KDC的分层的分层如果网络中的用户数目非常多且地域分布非常广如果网络中的用户数目非常多且地域分布非常广 ,可采用分层结构,可采用分层结构 :在每个小范围(如一个在每个小范围(如一个LAN或一个建筑物)内建立一个本地或一个建筑物)内建立一个本地KDC,负,负责该范围内的密钥分配;责该范围内的密钥分配; 如果两个不同范围的用户想获得共享密钥,需要通过各自的本地如果两个不同范围的用户想获得共享密钥,需要通过各自的本地KDC,并由两个本地,并由两个本地KDC经过一个全局经
20、过一个全局KDC完成密钥分配。这样就建立完成密钥分配。这样就建立了两层了两层KDC结构。结构。 好处:好处:可减少主密钥的分布,因为大多数主密钥是在本地可减少主密钥的分布,因为大多数主密钥是在本地KDC和本地用户之和本地用户之间共享;间共享;可将虚假可将虚假KDC的危害限制到一个局部区域内。的危害限制到一个局部区域内。 4. 密钥自动分配的透明实现方案密钥自动分配的透明实现方案 5.分布式密钥分配分布式密钥分配 过程包括以下三步:过程包括以下三步:1A向向B发出建立会话密钥的请求和一个一次性随机数发出建立会话密钥的请求和一个一次性随机数 。2B用与用与A共享的主密钥共享的主密钥 对应答的消息加
21、密,并发送给对应答的消息加密,并发送给A。应答的消息中有应答的消息中有B 选取的会话密钥、选取的会话密钥、B的身份、的身份、 和另一个和另一个一次性随机数一次性随机数 。3A使用新建立的会话密钥使用新建立的会话密钥 对对 加密后返回给加密后返回给B。 5. 分布式密钥分配分布式密钥分配 EMKmKS|IDB|f(N1)|N25.4.2 公钥加密体制的密钥分配公钥加密体制的密钥分配 v包括两方面内容:包括两方面内容:公钥密码体制所用的公钥的分配;公钥密码体制所用的公钥的分配;如何用公钥体制来分配对称密钥密码体制中使用的密钥。如何用公钥体制来分配对称密钥密码体制中使用的密钥。 v公钥的分配方法:公
22、钥的分配方法:公开发布公开发布公用目录表公用目录表公钥管理机构公钥管理机构公钥证书公钥证书指用户将自己的公钥发给每一其他用户,或向某一团体广指用户将自己的公钥发给每一其他用户,或向某一团体广播;播; 比较简单;比较简单; 缺陷:任何人都可伪造这种公开发布,即发布伪造的公钥缺陷:任何人都可伪造这种公开发布,即发布伪造的公钥 。(1)公开发布公开发布(2)公用目录表公用目录表公用目录表的建立过程如下:公用目录表的建立过程如下:1)管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项,一是用)管理员为每个用户都在目录表中建立一个目录,目录中有两个数据项,一是用户名,二是用户的公开钥。户名,二
23、是用户的公开钥。2)每个用户都亲自或以某种安全的认证通信在管理者那里注册自己的公钥。)每个用户都亲自或以某种安全的认证通信在管理者那里注册自己的公钥。3)用户如果由于自己的公开钥用过的次数太多或由于与公开钥相关的秘密钥己被)用户如果由于自己的公开钥用过的次数太多或由于与公开钥相关的秘密钥己被泄露,则可随时用新公开钥替换现有的公开钥。泄露,则可随时用新公开钥替换现有的公开钥。4)管理员定期公布或定期更新目录表。例如,像电话号码本一样公布目录表或在)管理员定期公布或定期更新目录表。例如,像电话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新。发行量很大的报纸上公布目录表的更新。5)用户可
24、通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信。)用户可通过电子手段访问目录表,这时从管理员到用户必须有安全的认证通信。v在公钥目录表的基础上,由一个公钥管理机构对公钥的分在公钥目录表的基础上,由一个公钥管理机构对公钥的分配进行更严密的控制。配进行更严密的控制。 (3)公钥管理机构公钥管理机构v用户通过公钥证书相互交换自己的公钥而无需和公钥管理机构用户通过公钥证书相互交换自己的公钥而无需和公钥管理机构联系。联系。 v公钥证书由证书管理机构公钥证书由证书管理机构CA(Certificate Authority)为用户建立,为用户建立,其中的数据项包括与该用户的秘密钥相匹配的公开钥
25、及用户的其中的数据项包括与该用户的秘密钥相匹配的公开钥及用户的身份和时间戳等,所有的数据项经身份和时间戳等,所有的数据项经CA用自己的秘密钥签字后用自己的秘密钥签字后就形成证书。就形成证书。 v证书的形式为证书的形式为 ,其中,其中 是用户是用户A的身份标的身份标识,识, 是是A的公钥,的公钥, 是当前时间戳,是当前时间戳, 是是CA的秘密钥。的秘密钥。 (4) 公钥证书公钥证书公钥证书产生过程公钥证书产生过程 (1)简单使用公钥加密算法建立会话密钥)简单使用公钥加密算法建立会话密钥 2.用公钥加密分配对称密码体制的用公钥加密分配对称密码体制的密钥密钥 (2)具有保密性和认证性的密钥分配)具有
26、保密性和认证性的密钥分配 3. Diffie-Hellman密钥交换方法密钥交换方法 v选择大素数选择大素数p=353,p的本原根的本原根a=3vA和和B分别选择密钥分别选择密钥XA=97和和XB=233,计算相应公钥:,计算相应公钥: A计算计算YA=397 mod353=40 B计算计算YB=3233 mod353=248vA和和B交换公钥后,双方均可计算出公共的密钥:交换公钥后,双方均可计算出公共的密钥: A计算计算K=(YB)XAmod233=24897mod353=160 B计算计算K=(YA)XBmod353=40233mod353=1603. Diffie-Hellman密钥交换
27、方法密钥交换方法 v首先,挑选一个大正数首先,挑选一个大正数q以及椭圆方程中的参数以及椭圆方程中的参数a和和b,这里,这里q为为素数素数p或是形如或是形如2m的整数,由此可以定义出椭圆群的整数,由此可以定义出椭圆群Eq(a,b);其次在;其次在Eq(a,b)中挑选基点中挑选基点G=(x1,y1),G的阶为一个非常大的阶为一个非常大的数的数n。椭圆曲线上点。椭圆曲线上点G的阶的阶n是使得是使得nG=O成立的最小正整成立的最小正整数。数。Eq(a,b)和和G是该密码体制中通信各方均已知的参数。是该密码体制中通信各方均已知的参数。v全局公开量:全局公开量:Eq(a,b),参数为,参数为a,b和和q的
28、椭圆曲线,其中的椭圆曲线,其中q为素数或行为为素数或行为2m的整数的整数 G 阶为阶为n的椭圆曲线上的点,其中的椭圆曲线上的点,其中n是大整数是大整数 用椭圆曲线密码实现用椭圆曲线密码实现Diffie-Hellman密钥交换密钥交换v用户用户A和用户和用户B之间完成密钥交换的过程如下:之间完成密钥交换的过程如下:1. A选择一个小于选择一个小于n的整数的整数nA作为其私钥,然后产生其公钥作为其私钥,然后产生其公钥PA=nAG;该公钥是;该公钥是Eq(a,b)中的一个点;中的一个点;2. B可类似的选择私钥可类似的选择私钥nB,并计算公钥,并计算公钥PB;3. A产生秘密钥产生秘密钥K=nAPB
29、,B产生秘密钥产生秘密钥K=nBPA。v步骤步骤3中中K的两种计算结果是相同的,因为的两种计算结果是相同的,因为 nAPB=nA(nBG)=nB(nAG)=nBPA用椭圆曲线密码实现用椭圆曲线密码实现Diffie-Hellman密钥交换密钥交换v例如,取例如,取p=211,Eq(0,-4),G=(2,2),这里,这里Eq(0,-4)即是曲线即是曲线y2=x3-4,则计算可得,则计算可得240G=O。A的私钥的私钥nA=121,所以,所以A的公的公钥钥PA=121(2,2)=(115,48)。B的私钥的私钥nB=203,所以,所以B的公钥为的公钥为203(2,2)=(130,203),它们共享的
30、秘密钥为,它们共享的秘密钥为121(130,203)=203(115,48)=(161,69)v这里密钥是一对数字,若将它用作传统密码中的会话密钥,这里密钥是一对数字,若将它用作传统密码中的会话密钥,则必须是一个数字。可以简单地选取则必须是一个数字。可以简单地选取x坐标或者坐标或者x坐标的某简坐标的某简单函数。单函数。用椭圆曲线密码实现用椭圆曲线密码实现Diffie-Hellman密钥交换密钥交换5.5 密密 钥钥 保保 护护 v确定密钥的有效期确定密钥的有效期v存储密钥存储密钥v销毁密钥销毁密钥v备份密钥备份密钥v密钥托管密钥托管5.5.1 密钥的有效期密钥的有效期v密钥使用时间越长,泄露的
31、机会就越大;密钥使用时间越长,泄露的机会就越大;v如果密钥已泄露,那么密钥使用越久,损失就越大;如果密钥已泄露,那么密钥使用越久,损失就越大;v密钥使用越久,人们花费精力破译它的诱惑力越大,甚至采密钥使用越久,人们花费精力破译它的诱惑力越大,甚至采用穷举攻击法;用穷举攻击法;v对用同一密钥加密的多个密文进行密码分析一般比较容易。对用同一密钥加密的多个密文进行密码分析一般比较容易。不同的密钥应有不同的有效期:不同的密钥应有不同的有效期:1. 会话密钥会话密钥 会话密钥更换得越频繁,系统的安全性越高。但是会话密钥更会话密钥更换得越频繁,系统的安全性越高。但是会话密钥更换得太频繁,将使通信交互时延增
32、大,同时还造成网络负担。所以换得太频繁,将使通信交互时延增大,同时还造成网络负担。所以在决定会话密钥有效期时,要综合考虑这两个方面。在决定会话密钥有效期时,要综合考虑这两个方面。 为避免频繁进行新密钥的分发,一种解决的办法是从旧密钥中为避免频繁进行新密钥的分发,一种解决的办法是从旧密钥中产生新的密钥,称为密钥更新。密钥更新采用单向函数,通信双方产生新的密钥,称为密钥更新。密钥更新采用单向函数,通信双方共享同一个密钥,并用同一个单向函数进行操作,双方得到相同的共享同一个密钥,并用同一个单向函数进行操作,双方得到相同的结果,可以从结果中得到他们所需要的数据来产生新的密钥。结果,可以从结果中得到他们
33、所需要的数据来产生新的密钥。密钥的有效期密钥的有效期密钥的有效期密钥的有效期2. 密钥加密密钥密钥加密密钥 密钥加密密钥无需频繁更换,由于它们只是偶尔地用作密钥交换,因密钥加密密钥无需频繁更换,由于它们只是偶尔地用作密钥交换,因此只给密钥破译者提供很少的密文分析数据,而且相应的明文也没有特殊此只给密钥破译者提供很少的密文分析数据,而且相应的明文也没有特殊的形式。同时分发新密钥也存在泄漏的危险,因此需要在的形式。同时分发新密钥也存在泄漏的危险,因此需要在保存密钥的潜在保存密钥的潜在危险危险和和分发新密钥的潜在危险分发新密钥的潜在危险之间权衡。之间权衡。 用来加密保存数据文件的加密密钥也不能经常地
34、变换。可以将文件用用来加密保存数据文件的加密密钥也不能经常地变换。可以将文件用唯一的密钥加密,然后再用密钥加密密钥把所有密钥加密,密钥加密密钥唯一的密钥加密,然后再用密钥加密密钥把所有密钥加密,密钥加密密钥要么被记忆下来,要么保存在一个安全地点,或某个地方的保险柜中。要么被记忆下来,要么保存在一个安全地点,或某个地方的保险柜中。3.公钥密码应用中的私钥公钥密码应用中的私钥 其有效期是根据应用的不同而变化,如用作数字签名和其有效期是根据应用的不同而变化,如用作数字签名和身份识别的私钥可以持续数年乃至终身,通常一般可两三年身份识别的私钥可以持续数年乃至终身,通常一般可两三年更换一次。但旧密钥仍需保
35、密,以便用户验证从前的签名,更换一次。但旧密钥仍需保密,以便用户验证从前的签名,新密钥用来对新文件签名,以减少密码分析者所能攻击的签新密钥用来对新文件签名,以减少密码分析者所能攻击的签名文件数目。名文件数目。5.5.2 存储密钥存储密钥v单用户的密钥存储比较简单,因为只涉及用户自己,且只有用户本人对单用户的密钥存储比较简单,因为只涉及用户自己,且只有用户本人对密钥负责。这种系统的一个例子是:用户可直接输入密钥负责。这种系统的一个例子是:用户可直接输入64位密钥,或输入位密钥,或输入一个更长的字符串,系统自动通过密钥碾碎技术从这个字符串生成一个更长的字符串,系统自动通过密钥碾碎技术从这个字符串生
36、成64位位密钥。密钥。v其他解决方案通常通过物理手段进行密钥存储:将密钥储存在磁卡中、其他解决方案通常通过物理手段进行密钥存储:将密钥储存在磁卡中、嵌入嵌入ROM芯片的密钥或智能卡。芯片的密钥或智能卡。v把密钥分割后以不同的方式存放是更安全的办法,例如把密钥平分成两把密钥分割后以不同的方式存放是更安全的办法,例如把密钥平分成两部分,一半存入终端一半存入部分,一半存入终端一半存入ROM密钥。美国政府的密钥。美国政府的STU-III保密电话保密电话就是用的这种办法。就是用的这种办法。v用密钥加密密钥可以对难以记忆的密钥进行加密保存。例如,一个用密钥加密密钥可以对难以记忆的密钥进行加密保存。例如,一
37、个RSA私钥可用私钥可用DES密钥加密后存在磁盘上,要恢复密钥时,用户只需把密钥加密后存在磁盘上,要恢复密钥时,用户只需把DES密钥输入到解密程序中。密钥输入到解密程序中。5.5.3 销毁密钥销毁密钥v如果密钥必须定期替换,旧密钥就必须销毁。旧密钥是有价如果密钥必须定期替换,旧密钥就必须销毁。旧密钥是有价值的,即使不再使用,有了它们,攻击者就能读到由它加密值的,即使不再使用,有了它们,攻击者就能读到由它加密的一些旧消息。的一些旧消息。5.5.4 备份密钥备份密钥v密钥保护的一方面是防止泄露,另一方面是保证安全的密钥密钥保护的一方面是防止泄露,另一方面是保证安全的密钥始终可用。始终可用。v如果保
38、护核心密钥的人或系统发生了意外,必须保证仍然可如果保护核心密钥的人或系统发生了意外,必须保证仍然可以进行安全的通信,而不需要重建相关的密钥,否则由此引以进行安全的通信,而不需要重建相关的密钥,否则由此引起的直接和间接的开销会很大。起的直接和间接的开销会很大。v密钥托管就是满足这种需求的一种有效的技术。密钥托管就是满足这种需求的一种有效的技术。5.5.5 密钥托管密钥托管 v出发点是政府机构希望在需要时可通过密钥托管技术解密一出发点是政府机构希望在需要时可通过密钥托管技术解密一些特定信息,此外用户的密钥若丢失或损坏时也可通过密钥些特定信息,此外用户的密钥若丢失或损坏时也可通过密钥托管技术恢复出自
39、己的密钥。托管技术恢复出自己的密钥。 v实现手段通常是把加密的数据和数据恢复密钥联系起来,数实现手段通常是把加密的数据和数据恢复密钥联系起来,数据恢复密钥不必是直接解密的密钥,但由它可以得到解密密据恢复密钥不必是直接解密的密钥,但由它可以得到解密密钥。钥。 v1993年年4月,美国政府为了满足其电信安全、公众安全和国家月,美国政府为了满足其电信安全、公众安全和国家安全的要求,提出了托管加密标准安全的要求,提出了托管加密标准(escrowed encryption standard,EES)。托管加密标准托管加密标准(EES) v两个核心内容两个核心内容 :Skipjack加密算法,由加密算法,
40、由NSA设计,用于加解密用户间通信的消息。设计,用于加解密用户间通信的消息。Skipjack算法是一个对称密钥分组加密算法,密钥长算法是一个对称密钥分组加密算法,密钥长80位,输入和输出位,输入和输出的分组长均为的分组长均为64位。可使用位。可使用4种工作模式:电码本模式,密码分组链接种工作模式:电码本模式,密码分组链接模式,模式,64位输出反馈模式,位输出反馈模式,1、8、16、32或或64位密码反馈模式。该算位密码反馈模式。该算法于法于1998年年3月公布,目前未发现这种算法的陷门;月公布,目前未发现这种算法的陷门;法律实施访问域法律实施访问域LEAF(law enforcement ac
41、cess field)。通过这个域,法。通过这个域,法律实施部门可在法律授权下,实现对用户通信的解密(无密钥)。这律实施部门可在法律授权下,实现对用户通信的解密(无密钥)。这也可以看成是一个也可以看成是一个“后门后门” 。密钥托管密码体制的组成部分密钥托管密码体制的组成部分 5.6 公钥基础设施(公钥基础设施(PKI)vPKI是一种遵循既定标准的基于公钥密码学(是一种遵循既定标准的基于公钥密码学(Public Key Cryptography)理论、提供密钥产生和管理的安全基础平台)理论、提供密钥产生和管理的安全基础平台设施。设施。v支持用户实现高效数据加密和密钥交换,为所有网络应用透支持用户
42、实现高效数据加密和密钥交换,为所有网络应用透明地提供加密和数字签名等密码服务,以及所必需的密钥和明地提供加密和数字签名等密码服务,以及所必需的密钥和证书管理服务。证书管理服务。 PKI的应用的应用 v一个完整的一个完整的PKI系统应具有认证中心系统应具有认证中心CA (Certificate Authority)、证书注册机构、证书注册机构RA(Registration Authority)、数字、数字证书库、密钥备份及恢复系统、证书作废处理系统、证书库、密钥备份及恢复系统、证书作废处理系统、PKI应应用程序接口用程序接口API(Application Programming Interfac
43、e)等基)等基本构成部分。其中本构成部分。其中CA是是PKI的核心。的核心。PKI基本组成基本组成PKI基本组成成分基本组成成分 v认证中心认证中心CA:负责数字证书的申请和签发的机构。它必须:负责数字证书的申请和签发的机构。它必须具有权威性,是具有权威性,是PKI的核心构成要素。的核心构成要素。v证书注册机构证书注册机构RA(Registration Authority):数字证书的):数字证书的注册审查机构,是用户和注册审查机构,是用户和CA之间的一个中介。它负责证书之间的一个中介。它负责证书申请人的资料录入、审核和发放。同时,对证书完成相应申请人的资料录入、审核和发放。同时,对证书完成相
44、应的管理功能。的管理功能。 v数字证书库:用于存放和检索认证中心已经签发的数字证书数字证书库:用于存放和检索认证中心已经签发的数字证书和证书撤销列表和证书撤销列表 。v密钥备份及恢复系统:密钥备份及恢复系统: PKI提供的备份与恢复密钥的机制。提供的备份与恢复密钥的机制。 v证书作废系统:负责数字证书的撤销,通常将作废的证书存证书作废系统:负责数字证书的撤销,通常将作废的证书存储于证书撤销列表储于证书撤销列表CRL中中 。v应用程序接口:提供应用程序接口:提供PKI应用的统一标准接口,方便应用。应用的统一标准接口,方便应用。CA系统系统vCA是负责签发证书、认证证书、管理已颁发证书的机关。是负
45、责签发证书、认证证书、管理已颁发证书的机关。 v典型的典型的CA系统组成:安全服务器、系统组成:安全服务器、CA服务器、注册机构服务器、注册机构RA、数据库服务器和、数据库服务器和LDAP服务器。(服务器。( LDAP轻量目录访问轻量目录访问协议,英文全称是协议,英文全称是Lightweight Directory Access Protocol )典型典型CA系统组成系统组成CA服务器服务器CA数据库数据库安全服务器安全服务器LDAP安全服务器安全服务器注册机构注册机构RA申申请请/撤撤消消返返回回证证书书布发布发下下载载/查查询询返返回回结结果果申请申请/撤消撤消返回证书返回证书v安全服务
46、器安全服务器 vCA服务器服务器 v数据库服务器数据库服务器 v注册机构注册机构RA vLDAP服务器服务器 v对于一个大型的应用系统,对于一个大型的应用系统,CA往往采用一种多层次的分级管理体系往往采用一种多层次的分级管理体系结构,形成根结构,形成根CA和子和子CA的金字塔模式的金字塔模式 。子子CA1子子CA2子子CA3RootCA子子CA4子子CA5子子CA6子子CA7UserUserUserUserUserUserUservCA的主要功能包括:证书发放、证书撤消、证书更新、证书认证、证书的主要功能包括:证书发放、证书撤消、证书更新、证书认证、证书查询以及证书存储。查询以及证书存储。 C
47、A的主要功能的主要功能v(1)证书的发放:)证书的发放:CA接受用户数字证书的申请信息,对申请用接受用户数字证书的申请信息,对申请用户信息进行审核备案,判断决定是否发放数字证书。如果决定发户信息进行审核备案,判断决定是否发放数字证书。如果决定发放证书,则进一步决定授予用户证书的类型再发放证书到专用数放证书,则进一步决定授予用户证书的类型再发放证书到专用数据库据库LDAP,供用户下载使用。,供用户下载使用。v(2)证书的更新:证书更新过程同发放过程类似。认证中心根据)证书的更新:证书更新过程同发放过程类似。认证中心根据用户的请求或者证书期限的要求定期要更新发放的数字证书。用户的请求或者证书期限的
48、要求定期要更新发放的数字证书。v(3)证书的撤销:当用户的数字证书使用期限到达、密钥存储介)证书的撤销:当用户的数字证书使用期限到达、密钥存储介质的丢失、密钥泄密等情况下,需要质的丢失、密钥泄密等情况下,需要CA撤销发放的数字证书。撤销发放的数字证书。 证书发布流程证书发布流程用户提交申请用户提交申请是否合法?是否合法?判断判断是是判判定定证证书书类类型型生成证书生成证书CA签名签名存储存储/发布发布CA数据库数据库/LDAP数据数据库库拒绝申请拒绝申请否否v(4)证书的认证:)证书的认证:CA要制定政策和具体步骤来验证、识别要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确
49、保证书持有者的身用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。份和公钥的拥有权。 v(5)证书的查询:通常证书的查询指用户申请证书的查询和)证书的查询:通常证书的查询指用户申请证书的查询和用户使用证书的查询两种。通过访问用户使用证书的查询两种。通过访问LDAP服务器实现证书的服务器实现证书的查询使用。查询使用。v(6)证书的存储:通常证书存储在数字证书的专用数据库中。)证书的存储:通常证书存储在数字证书的专用数据库中。CA的主要功能的主要功能数字证书数字证书 v数字证书是经数字证书是经CA签名认证的包含有用户信息及公钥的文件。签名认证的包含有用户信息及公钥的文件。v最简
50、单的证书应包含有一个公钥、证书名称和最简单的证书应包含有一个公钥、证书名称和CA数字签名。数字签名。 vX.509标准标准X.509信息信息 证书版本号证书版本号证书序列号证书序列号签名算法标示符签名算法标示符认证机构名称认证机构名称证书使用期限证书使用期限持证人信息持证人信息认证机构数字签名认证机构数字签名v证书版本号:用来区分证书版本号:用来区分X.509的不同版本,并与的不同版本,并与X.509未来版本兼容。未来版本兼容。v证书序列号:每一个证书的唯一标示号。证书序列号:每一个证书的唯一标示号。 v签名算法标示符:签名算法标示符:CA所使用的签名算法,用来指定用所使用的签名算法,用来指定
51、用CA签发证书时所使签发证书时所使用的签名算法。用的签名算法。 v认证机构名称:发放该数字证书的机构名称,即发出该证书的机构唯一的认证机构名称:发放该数字证书的机构名称,即发出该证书的机构唯一的CA名。名。v证书使用期限:证书使用的有效期限。证书使用期限:证书使用的有效期限。 v持证人信息:包括持证人姓名、公钥值、公钥算法、持证人身份标示等信持证人信息:包括持证人姓名、公钥值、公钥算法、持证人身份标示等信息。息。v认证机构数字签名:以确保这个证书在发放之后没有被撰改过。认证机构数字签名:以确保这个证书在发放之后没有被撰改过。X.509信息信息CA信任关系信任关系 vCA信任关系中有三种类型的信
52、任模型:信任关系中有三种类型的信任模型:(1)基于层次结构的信任模型)基于层次结构的信任模型(2)交叉认证)交叉认证(3)以用户为中心的信任模型)以用户为中心的信任模型 (1)基于层次结构的信任模型)基于层次结构的信任模型 CA层次结构建立过程如下:层次结构建立过程如下: v根根CA具有一个自签名的证书;具有一个自签名的证书;v根根CA依次对它下面的依次对它下面的CA进行签名;进行签名;v层次结构中叶子节点上的层次结构中叶子节点上的CA用于对安全个体进行签名;用于对安全个体进行签名;v对于个体而言,它只需要信任根对于个体而言,它只需要信任根CA,中间的,中间的CA是透明的,可以不必关心;是透明
53、的,可以不必关心;同时它的证书是由底层的同时它的证书是由底层的CA签发;签发;v在在CA的机构中,为了要维护这棵树,在每个节点的机构中,为了要维护这棵树,在每个节点CA上,需要保存两种证上,需要保存两种证书:前向证书(书:前向证书(Forward Certificates)和反向证书()和反向证书(Reverse Certificates)。)。 CA层次结构的建立层次结构的建立 CA 证明链证明链 v两个不同的两个不同的CA层次结构之间可以使用单向交叉认证和双向交层次结构之间可以使用单向交叉认证和双向交叉认证两种方式建立信任关系。叉认证两种方式建立信任关系。v单向交叉认证:一个单向交叉认证:
54、一个CA可以承认另一个可以承认另一个CA在一定名字空间范在一定名字空间范围内的所有被授权签发的证书。围内的所有被授权签发的证书。v双向交叉认证:交叉认证可以分为域内交叉认证双向交叉认证:交叉认证可以分为域内交叉认证(同一个层次同一个层次结构内部结构内部)和域间交叉认证和域间交叉认证(不同的层次结构之间不同的层次结构之间)。v交叉认证的约束:名字约束、路径长度约束、策略约束交叉认证的约束:名字约束、路径长度约束、策略约束 。(2)交叉认证交叉认证(3)以用户为中心的信任模型)以用户为中心的信任模型v对于每一个用户而言,应该建立各种信任关系,这种信任关对于每一个用户而言,应该建立各种信任关系,这种信任关系可以被扩展。系可以被扩展。 作作 业业教材教材P163:1、5v简述公钥基础设施(简述公钥基础设施(PKI)。)。v考虑一个常用素数考虑一个常用素数p=11, 生成元生成元g=2的的Diffie_Hellman方案方案(1) 如果用户如果用户A的公钥为的公钥为YA=9, 则则A的私钥的私钥XA是多少?是多少?(2) 如果用户如果用户B的公钥为的公钥为YB=3, 则共享的密钥则共享的密钥K是多少?是多少?