第5章 密钥分配与密钥管理 现代密码学教案

合集下载

密码学密钥分配和密钥管理

密码学密钥分配和密钥管理

静态分配
一个有n个用户的系统,需实现两两之间通信
用户1 用户2 … 用户n
对称密钥配置
非对称密钥配置
K1-2,K1-3,…,K1-n n个用户公钥,用户1自己私钥
K2-1, K2-3,…,K2-n n个用户公钥,用户2自己私钥
Kn-1, Kn-2,…,Kn-n-1 n个用户公钥,用户n自己私钥
• n个用户,需要n(n-1)/2个共享密钥
Simple secret key distribution
•Merkle的建议:[Merkle 79]
A生成{PKa,SKa}, AB: (IDA,PKa) B生成随机密钥Ks, BA: EPKa(Ks) A解密EPKa(Ks)得到Ks: DSKa(EPKa(Ks)) A丢弃{PKa,SKa},B丢弃PKa •通讯前不需存在密钥,通讯后也不存在密钥 •能抵抗偷听,不能抵抗主动攻击(中间人攻击)
Merkle协议的中间人攻击
A生成{PKa,SKa}, AB: (IDA,PKa) E截获,生成{PKe,SKe}冒充AB: (IDA,PKe) B生成随机密钥Ks, BA: EPKe(Ks) E截获,解密后再用EPKa加密KsA: EPKa(Ks) A丢弃{PKa,SKa},B丢弃PKa •E获得了Ks,故以后只需进行窃听. •A,B并不知晓它们被攻击了
对于面向连接的协议,在连接还未建立或断开时,会 话密钥的有效期可以延长。而每次连接时,都应该使用新 的会话密钥。如果逻辑连接的时间长,则应定期更换会话 密钥。
对于无连接的协议(如面向业务的协议),无法决定 更换密钥的频率。为安全起见,用户每进行一次交换,都 要使用新的会话密钥。这又影响了协议本身的优势,因此 最好的办法是在一固定的周期内或对一定数目的业务使用 同一会话密钥。

5-密钥分配与管理

5-密钥分配与管理

分散式密钥分配具体步骤
(2) BA:EMKm[Ks||IDa||IDb||f(N1)||N2] B使用—个用A和B之间共享的主密钥加密 的报文进行响应。响应的报文包括B产生 的会话密钥、A的标识符IDa、B的标识符 IDb、 f(N1)的值和另一个现时N2 。 (3) AB:EKs[f(N2)] A使用B产生的会话密钥Ks对f(N2)进行加 密,返回给B。
(2) BA:EKUa[N1||N2] B返回一个用A的公开密钥KUa加密的报 文给A,报文内容包括A的现时值N1和B新 产生的现时值N2。因为只有B才可以解密(1) 中的报文,报文(2)中的N1存在使得A确信 对方是B。
(3) AB:EKUb[N2] A返回一个用B的公开密钥KUb加密的报文给B,因为只 有A才可以解密(2)中的报文,报文(3)中的N2存在使得B 确信对方是A。 (4) AB:EKUb[ EKRa[Ks]]
四种方式
1. 2. 3. 4. 公开密钥的公开宣布 公开可用目录 公开密钥管理机构 公开密钥证书
四种方式
1. 公开密钥的公开宣布 公开密钥加密的关键就是公开密钥是公开的。任 何参与者都可以将他的公开密钥发送给另外任何 一个参与者,或者把这个密钥广播给相关人群, 比如PGP (pretty good privacy)。 致命的漏洞:任何人都可以伪造一个公开的告示, 冒充其他人,发送一个公开密钥给另一个参与者 或者广播这样—个公开密钥。
每个通信方都必须保存多达(n一1)个主密 钥,但是需要多少会话密钥就可以产生多 少。同时,使用主密钥传输的报文很短, 所以对主密钥的分析也很困难。
公开加密密钥的分配
公开加密密钥的分配要求和常规加密密钥 的分配要求有着本质的区别。公开密钥技 术使得密钥较易分配,但它也有自己的问 题。无论网络上有多少人,每个人只有一 个公开密钥。获取一个人的公开密钥有如 下四种途径:

密钥分配与密钥管理课件

密钥分配与密钥管理课件

异常情况处理机制
密钥泄露处理
一旦发现密钥泄露,立即启动应急响 应机制,撤销泄露密钥,重新分发新 密钥,并对泄露原因进行调查和处理 。
密钥失效处理
备份与恢复
定期备份密钥,并制定详细的密钥恢 复方案,以防意外情况导致密钥丢失 。
当密钥过期或因其他原因失效时,及 时通知相关用户更新或重新申请密钥 ,确保业务正常运行。
持续改进方向和目标设定
改进方向
根据风险评估结果,确定需要改进的方面,如加强密钥管理、完善审计机制等。
目标设定
明确改进的具体目标,如提高密钥的安全性、降低密钥泄露风险等。
效果评估及反馈机制
效果评估
定期对改进措施的效果进行评估,包括安全 风险发生的频率、影响程度等。
反馈机制
建立用户反馈渠道,收集用户对改进措施的 意见和建议,以便及时调整和优化。
非对称加密算法原理及实践
原理
采用公钥和私钥进行加密和解密操作,其中公钥用于加密,私钥用于解密,常见 算法包括RSA、ECC等。
实践
在通信双方未共享密钥的情况下,使用非对称加密算法进行安全通信。发送方使 用接收方的公钥加密信息,接收方使用自己的私钥解密信息。
数字签名技术应用场景
数据完整性验证
发送方使用自己的私钥对信息进行数 字签名,接收方使用发送方的公钥验 证签名的有效性,确保信息在传输过 程中未被篡改。
时效性保障
设定密钥有效期限,过期 密钥自动失效,确保密钥 在有效期内使用。
更新周期确定和执行
更新周期确定
根据密钥使用频率、重要性和安 全需求,制定合理的密钥更新周
期,如季度、半年或一年等。
定期提醒
设置定期提醒机制,提醒用户及时 更新密钥,确保密钥持续有效。

密码学密钥分配和密钥管理

密码学密钥分配和密钥管理

1.
2.
控制矢量:该方案为每一个会话密钥都指 定了一个控制矢量。
控制矢量CV 主密钥 加密的会话密钥 会话密钥
实现算法:
杂凑函数
H h(CV )

Kin K m H K out EKin [ K s ]
解密函数 加密函数
加密的会话密钥 会话密钥 结合过程 恢复过程
秘密密钥的管理
密钥由用户使用,用以保护存储在文件中的 数据,最简单的方法是不把密钥存储在系统中。 仅仅在加密、解密时才把密钥输入系统。 比如我们在DES加密算法中,要求输入56位 密钥通常有两种方法; 一种是直接输入8字节密钥,在这种情况 下,只有完全随机选择56位密钥的情况下才 能使用这种格式,因为仅有由英文字母或数字 构成的密钥太容易被穷举法破译,因为用户比 较容易记忆有意义的字母。
KDC
① K K ② ① K K
KTC
② ③
A

B
A
B
(a)
KTC
① K K ② ① K
KTC
K ②
A
K
B

A
B
(b)
会话密钥的有效期
原则上,会话密钥更换的越频繁,系统的安全性就越高。 因为这样的话,即使敌手获得了一个会话密钥,也只能解 密很少的密文。但是,会话密钥更换的太频繁,将会延迟 用户之间的交换,同时还造成网络的负担。所以,应对会 话密钥的有效期作出合理的权衡。 对于面向连接的协议,在连接还未建立或断开时,会 话密钥的有效期可以延长。而每次连接时,都应该使用新 的会话密钥。如果逻辑连接的时间长,则应定期更换会话 密钥。 对于无连接的协议(如面向业务的协议),无法决定 更换密钥的频率。为安全起见,用户每进行一次交换,都 要使用新的会话密钥。这又影响了协议本身的优势,因此 最好的办法是在一固定的周期内或对一定数目的业务使用 同一会话密钥。

杨波,_《现代密码学(第2版)》第五章 5.4-5.5节

杨波,_《现代密码学(第2版)》第五章 5.4-5.5节

5.4.1 随机数的使用
很多密码算法都需使用随机数,例如: 很多密码算法都需使用随机数,例如: • 相互认证。在密钥分配中需使用一次性随机数来 相互认证。 防止重放攻击。 防止重放攻击。 • 会话密钥的产生。 会话密钥的产生。 • 公钥密码算法中密钥的产生,用随机数作为公钥 公钥密码算法中密钥的产生, 密码算法中的密钥, 密码算法中的密钥,或以随机数来产生公钥密码算 法中的密钥。 法中的密钥。 在随机数的上述应用中, 在随机数的上述应用中,都要求随机数序列满 随机性和不可预测性。 足随机性和不可预测性。
一种方法是将高质量的随机数作为随机数库编 一种方法是将高质量的随机数作为随机数库编 辑成书,供用户使用。 辑成书,供用户使用。然而与网络安全对随机数巨 大的需求相比,这种方式提供的随机数数目非常有 大的需求相比,这种方式提供的随机数数目非常有 再者, 限。再者,虽然这时的随机数的确可被证明具有随 机性,但由于敌手也能得到这个随机数源, 机性,但由于敌手也能得到这个随机数源,而难以 保证随机数的不可预测性。 保证随机数的不可预测性。 网络安全中所需的随机数都借助于安全的密码 网络安全中所需的随机数都借助于安全的密码 算法来产生。但由于算法是确定性的, 算法来产生。但由于算法是确定性的,因此产生的 数列不是随机的。然而如果算法设计得好, 数列不是随机的。然而如果算法设计得好,产生的 数列就能通过各种随机性检验,这种数就是伪随机 数列就能通过各种随机性检验,这种数就是伪随机 数。
如果取a=7,其他值不变,则产生的数列为 5, 25, ,其他值不变,则产生的数列为{1, 如果取 29, 17, 21, 9, 13, 1,…},周期增加到 。 ,周期增加到8。 周期尽可能大, 应尽可能大 应尽可能大。 为使随机数数列的周期尽可能大 为使随机数数列的周期尽可能大,m应尽可能大。 普遍原则是选 接近等于计算机能表示的最大整数 接近等于计算机能表示的最大整数, 普遍原则是选m接近等于计算机能表示的最大整数, 如接近或等于2 如接近或等于231。

《现代密码学》理论课程教学

《现代密码学》理论课程教学

《现代密码学基础》课程教学大纲一、课程基本信息二、课程教学目标《现代密码学》是网络工程专业网络安全的基础课程。

通过本课程的学习,使得学生对密码学领域的基本概念、基本理论和基本应用有全面的理解,作为进一步学习网络安全专业知识的基础、作为网络安全理论研究和相关应用开发的准备知识。

理解密码体制概念和密码学发展沿革;理解公钥密码体制的设计思想;掌握常用的密码体制的设计机制,包括DES;掌握对称密码体制的设计和分析特点;掌握非对称密码体制的设计和分析特点;掌握认证体系相关知识,包括数字签名、身份认证和消息认证等;了解密码技术应用技术,包括数字现金等。

增强学生的信息安全、网络安全意识,增强防范的能力,为以后学习和掌握网络工程网络安全方向课打下坚实的基础。

三、教学学时分配《现代密码学基础》课程理论教学学时分配表《现代密码学基础》课程实验内容设置与教学要求一览表四、教学内容和教学要求第一章密码学概述及古典密码学(2学时)(一)教学要求通过本章内容的学习,了解信息安全面临的威胁,了解信息安全的模型,了解密码学基本概念,掌握几种古典密码,其中包括单表代换密码和多表代换密码。

(二)教学重点与难点1.教学重点:密码学基本概念、单表代换密码和多表代换密码。

2. 教学难点:单表代换密码和多表代换密码算法。

(三)教学内容第一节信息安全的威胁与模型1. 信息安全面临的威胁;2.信息安全的模型。

第二节古典密码算法1.密码学基本概念;2. 单表代换密码和多表代换密码。

本章习题要点:练习单表代换密码和多表代换密码。

第二章流密码(2学时)(一)教学要求1.了解流密码的基本概念;2.掌握序列的伪随机性;3.掌握序列密码的破译。

(二)教学重点与难点1.教学重点:序列的伪随机性、序列密码的破译。

2. 教学难点:序列的伪随机性。

(三)教学内容第一节流密码1.流密码的基本概念;2.序列的伪随机性。

第二节序列密码1.序列密码的破译。

本章习题要点:练习序列的伪随机性。

第5章-密钥管理

第5章-密钥管理
第5章 密钥管理
本章要求
密钥的管理内容 密钥分配技术 公开密钥管理体制
本章主要内容
5.1 密钥管理的内容 5.2 密钥的分配 5.3 公钥的全局管理
5.1 密钥管理的内容
5.1.1 密钥的组织结构 5.1.2 密钥生成 5.1.3 密钥储存和保护 5.1.4 密钥更新 5.1.5 密钥分发 5.1.6 密钥验证 5.1.7 密钥的使用 5.1.8 密钥备份 5.1.9 密钥销毁
Kerberos就是建立在这个安全的、可信赖的密钥分配中 心的概念上。建有KDC的系统用户只需保管与KDC之间 使用的密钥加密密钥—与KDC通信的密钥即可
KDC的工作过程简述如下:
假设用户A要与B通信,A先向KDC提出申请与B的联系和 通信会话密钥;
KDC为用户A和B选择一个会话密钥Ks,分别用A和B知道 的密钥进行加密,然后分别传送给A和B;
5.1.6 密钥验证
密钥在传输过程中如果出错,会影响解密工作的 正确进行。由于明文的使用是由系统自动进行的, 所以由密钥引起的错误不一定能够被发现,进而 引起错误的结果或后续处理。因此,在传递密钥 时通常要附带一个用密钥加密的密文,其中的明 文内容是接收者预知的,接收者能够通过对这个 密文进行解密来验证密钥的正确性
5.2.1 密钥分配中心方式
Kerberos是一种使用对称密钥加密算法实现通过可信任 的第三方密钥分配中心KDC(Key Distribute Center) 的身份验证系统。Kerberos的主要功能之一是解决保密 密钥管理与分发问题
Kerberos中有三个通信参与方:需要验证身份的通信双 方和一个双方都信任的第三方,即密钥分配中心(KDC)。 KDC可以看作一个秘密密钥源,与DES一起使用;也可以 是一个公开密钥源

杨波, 《现代密码学(第2版)》05-2

杨波, 《现代密码学(第2版)》05-2

在设计密码算法时,经常使用似乎是随机的数 列,称为伪随机数列,例如RSA算法中素数的产生。 一般来说,决定一个大数N是否为素数是很困难的。 最原始的方法是用小于 的每个数去除N,如果N N 很大,比如10150,这一方法则超出了人类的分析能 力和计算能力。很多有效的算法是通过使用随机选 择的整数序列作为相对简单计算的输入,可检测一 个数的素性。如果随机选择的序列足够长(当然, 远小于 ),就可比较肯定地得出这个数的素 10150 性。这种方法称为随机化,在设计密码算法时经常 使用。
2. 不可预测性 在诸如相互认证和会话密钥的产生等应用中, 不仅要求数列具有随机性而且要求对数列中以后的 数是不可预测的。
对于真随机数列来说,数列中每个数都独立于 其他数,因此是不可预测的。 对于伪随机数来说,就需要特别注意防止敌手 从数列前边的数预测出后边的数。
5.4.2 随机数源
• 真随机数很难获得,物理噪声产生器,如离子辐射 脉冲检测器、气体放电管、漏电容等都可作为随机 数源,但在网络安全系统中很少采用,一方面是因 为数的随机性和精度不够,另一方面这些设备又很 难连接到网络系统中。
a n mod m 1 n 1, 2, , m 2 m1 a mod m 1
时,产生的数列是整周期的。例如, a=75=16807即 为m=231-1的一个本原根,由此得到的随机数产生 器Xn+1=(aXn)mod (231-1)已被广泛应用,而且与其 他产生器相比,经历过更多的检验,这种产生器常 用于统计和模拟工作。
EDE表示两个密钥的三重DES。
本方案具有非常高的密码强度,因为:
•采用了112比特长的密钥和9个DES加密;
•算法由两个伪随机数输入驱动,一个是当前的日 期和时间,另一个是算法上次产生的新种子; •即使某次产生的随机数Ri泄露了,但由于Ri又经一 次EDE加密才产生新种子Vi+1,所以别人即使得到 Ri也得不到Vi+1,从而得不到新随机数Ri+1。

现代密码学第5章

现代密码学第5章

1.PKA||IDA
2.PKE||IDA
A
攻击者E
B
4. EPKA [KS ]
3. EPKE [KS ]
3/26/2020
21
用公钥加密分配单钥密码体制 的密钥
具有保密性和认证性的密钥分配
1.
EPKB [N1 || IDA ]
2. EPKA [N1 || N2 ]
A
B
3. EPKB [N2 ]
4. EPKB [ESK A [KS ]]
-CA的私钥 时戳T保证证书的新鲜性,防止重放旧证书。
3/26/2020
19
证书的产生过程
产生密钥
公开钥
秘密钥 用户的计算机
姓名 证书
3/26/2020
CA的公开钥
CA的秘密钥 签字 CA的计算机
20
用公钥加密分配单钥密码体制 的密钥
简单分配
1.PKA||IDA
A
B
2. EPKA [KS ]
易受到主动攻击
用户B
3/26/2020
23
密钥托管
Key Escrow
3/26/2020
24
密钥托管
也称托管加密,其目的在于保证个人没 有绝对的银丝和绝对不可跟踪的匿名性。
实现手段是把已加密的数据和数据恢复 密钥联系起来。
由数据恢复密钥可以得到解密密钥,由 所信任的委托人持有。
提供了一个备用的解密途径,不仅对政 府有用,也对用户自己有用。
3/26/2020
39
噪声源技术 (了解)
噪声源输出的随机数序列按照产生的方法可以分为: 伪随机序列:用数学方法和少量的种子密钥产生的周 期很长的随机序列。
伪随机序列一般都有良好的能经受理论检验的随机统计特性,但 是当序列的长度超过了唯一解距离时,就成了一个可预测 的序列。

密钥分配与管理ppt课件

密钥分配与管理ppt课件

3.2.3 证书的认证 1.拆封数字证书 2.证书链的认证 3.序列号验证 4.有效期验证 5.查询CRL 6.证书使用策略的认证
3.3 公钥基础设施简介
PKI(Public Key Infrustructure)又 称为公钥基础设施,是一种遵循既定标 准的密钥管理平台,它能够为所有网络应 用提供加密和数字签名等密码服务及所 必需的密钥和证书管理体系。 完整的 PKI 系统必须具有权威认证机 关 (CA) 、数字证书库、密钥备份及恢复 系统、证书作废系统、应用接口等基本 构成部分 , 构建PKI 也将围绕着这五大系 统来着手构建。
3.2.1 Kerberos模型的工作原理和步骤
Kerberos是为TCP/IP网络设计的基于对称密码体系的可 信第三方鉴别协议,负责在网络上进行可信仲裁及会 话密钥的分配。 Kerberos有一个所有客户和它们的秘密密钥的数据库, 对于个人用户来说,秘密密钥是一个加密口令,需要 对访问客户身份进行鉴别的服务器以及要访问此类服 务器的客户,需要用Kerberos注册其秘密密钥,由于 Kerberos知道每个人的秘密密钥,故而它能产生消息向 一个实体证实另一个实体的身份。Kerberos还能产生会 话密钥,供两个实体加密通信消息,通信完毕后销毁 会话密钥。
3.3.3 CA系统的结构
R oot C A
Policy CA
Operation C A
个人证书、代码证书、服务器证书、企业证书等
3.3.4 CA的功能
CA的主要功能包括: 1、证书颁发 2、证书更新 3、证书撤销 4、证书和证书撤销列表(CRL)的公布 5、证书状态的在线查询 6、证书认证 7、制定政策等。
后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用

密钥的管理和分配

密钥的管理和分配

5.3 密钥的管理和分配
5.3.1 密钥的产生
密钥的产生必须考虑具体密码体制的公认的限制。在网络系统 中加密需要大量的密钥,以分配给各主机、节点和用户。可以用手工 的方法,也可以用密钥产生器产生密钥。 基本密钥是控制和产生其他加密密钥的密钥,而且长度使用, 其安全性非常关键,须要保证其完全随机性、不可重复性和不可预测 性。 基本密钥量小,可以用掷硬币等方法产生。密钥加密密钥可以 用伪随机数产生器、安全算法等产生。 会话密钥、数据加密密钥可在密钥加密密钥控制下通过安全算 法产生。
5.3 密钥的管理和分配
5.3.2 密码体制的密钥分配
在大型网络中,不可能每对用户共享一个密钥。因此采用中心 化密钥分配方式,由一个可信懒的联机服务器作为密钥分配中心 (KDC)来实现 。
5-8
5.3 密钥的管理和分配
5.3.2 密码体制的密钥分配
用户A和B要建立共享密钥,可以采用如下5个步骤: (1)A向KDC发出会话密钥请求。该请求由两个数据项组成,一 个是A与B的身份,另一个是一次性随机数N1。 (2)KDC为A的请求发出应答。应答是用A与KDc的共享主密钥加 密的,因而只有A能解密这一消息,并确信消息来自KDC。消息中包 含A希望得到的一次性会话密钥K以及A的请求,还包括一次性随机数 N1。因此A能验证自己的请求有没有被篡改,并能通过一次性随机 数N1得知收到的应答是不是过去应答的重放。消息中还包含A要转 发给B的部分,这部分包括一次性会话密钥Ks和A的身份,它们是用 B与KDC的共享主密钥加密的。
5.3.3 公钥密码体制的密钥分配
(1)公开发布 用户将自己的公钥发给所有其他用户或向某一团体广播。这种 方法简单,但有一个非常大的缺陷,就是别人能容易地伪造这种公开 的发布。

现代密码学PPT课件

现代密码学PPT课件

1.3 密码学基本概念
1.3.1 保密通信系统
通信双方采用保密通信系统可以隐蔽和保护需要发 送的消息,使未授权者不能提取信息。发送方将要 发送的消息称为明文,明文被变换成看似无意义的 随机消息,称为密文,这种变换过程称为加密;其 逆过程,即由密文恢复出原明文的过程称为解密。 对明文进行加密操作的人员称为加密员或密码员。 密码员对明文进行加密时所采用的一组规则称为加 密算法。
② 系统的保密性不依赖于对加密体制或算法的保密, 而依赖于密钥。这是著名的Kerckhoff原则。
③ 加密和解密算法适用于所有密钥空间中的元素。
④ 系统便于实现和使用。
1.3.2 密码体制分类
密码体制从原理上可分为两大类,即单钥体制和双 钥体制。
1.1.3 安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务
保护数据以防被动攻击。保护方式可根据保护范围 的大小分为若干级,其中最高级保护可在一定时间 范围内保护两个用户之间传输的所有数据,低级保 护包括对单个消息的保护或对一个消息中某个特定 域的保护。保密业务还包括对业务流实施的保密, 防止敌手进行业务流分析以获得通信的信源、信宿、 次数、消息长度和其他信息。
20世纪90年代,因特网爆炸性的发展把人类带进了 一个新的生存空间。因特网具有高度分布、边界模 糊、层次欠清、动态演化,而用户又在其中扮演主 角的特点,如何处理好这一复杂而又巨大的系统的 安全,成为信息安全的主要问题。由于因特网的全 球性、开放性、无缝连通性、共享性、动态性发展, 使得任何人都可以自由地接入,其中有善者,也有 恶者。恶者会采用各种攻击手段进行破坏活动。信 息安全面临的攻击可能会来自独立的犯罪者、有组 织的犯罪集团和国家情报机构。对信息的攻击具有 以下新特点: 无边界性、突发性、蔓延性和隐蔽性。

第5章 密钥分配与密钥管理 现代密码学教案

第5章  密钥分配与密钥管理 现代密码学教案

单钥体制中的密钥控制技术有以下两种。 (1) 密钥标签 用于DES的密钥控制,将DES的64比特密钥中的8个 校验位作为控制使用这一密钥的标签。标签中各比 特的含义为: 一个比特表示这个密钥是会话密钥还是主密钥; 一个比特表示这个密钥是否能用于加密; 一个比特表示这个密钥是否能用于解密; 其他比特无特定含义,留待以后使用。
第5章 密钥分配与密钥管理
5.1 单钥加密体制的密钥分配 5.2 公钥加密体制的密钥管理 5.3 密钥托管 5.4 随机数的产生 5.5 秘密分割 习题
5.1 单钥加密体制的密钥分配
5.1.1 密钥分配的基本方法
两个用户(主机、进程、应用程序)在用单钥密码 体制进行保密通信时,首先必须有一个共享的秘密 密钥,而且为防止攻击者得到密钥,还必须时常更 新密钥。因此,密码系统的强度也依赖于密钥分配 技术。
由于标签是在密钥之中,在分配密钥时,标签与密 钥一起被加密,因此可对标签起到保护作用。本方 案的缺点: 第一,标签的长度被限制为8比特,限制 了它的灵活性和功能;第二,由于标签是以密文形 式传送,只有解密后才能使用,因而限制了对密钥 使用的控制方式。
(2) 控制矢量
这一方案比上一方案灵活。方案中对每一会话密钥 都指定了一个相应的控制矢量,控制矢量分为若干 字段,分别用于说明在不同情况下密钥是被允许使 用还是不被允许使用,且控制矢量的长度可变。控 制矢量是在KDC产生密钥时加在密钥之中的,过程 由图5.3(a)所示。
5.2.1 公钥的分配
本小节讲述公钥的分配方法。
1. 公开发布
公开发布指用户将自己的公钥发给每一其他用户, 或向某一团体广播。例如PGP(pretty good privacy) 中采用了RSA算法,它的很多用户都是将自己的公 钥附加到消息上,然后发送到公开(公共)区域, 如因特网邮件列表。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
何人都可伪造这种公开发布。如果某个用户假装是 用户A并以A的名义向另一用户发送或广播自己的公 开钥,则在A发现假冒者以前,这一假冒者可解读所 有意欲发向A的加密消息,而且假冒者还能用伪造的 密钥获得认证。
2. 公用目录表
公用目录表指一个公用的公钥动态目录表,公用目 录表的建立、维护以及公钥的分布由某个可信的实 体或组织承担,称这个实体或组织为公用目录的管 理员。与第1种分配方法相比,这种方法的安全性更 高。该方案有以下一些组成部分:
图5.3 控制矢量的使用方式
KDC在向用户发送会话密钥时,同时以明文形式发 送控制矢量。用户只有使用与KDC共享的主密钥以 及KDC发来的控制矢量才能恢复会话密钥,因此
还必须保留会话密钥和它的控制矢量之间的对应关 系。
与使用8比特的密钥标签相比,使用控制矢量有两个 优点: 第一,控制矢量的长度没有限制,因此可对密 钥的使用施加任意复杂的控制;第二,控制矢量始终
对面向连接的协议,在连接未建立前或断开时,会 话密钥的有效期可以很长。而每次建立连接时,都 应使用新的会话密钥。如果逻辑连接的时间很长, 则应定期更换会话密钥。
无连接协议(如面向业务的协议),无法明确地决 定更换密钥的频率。为安全起见,用户每进行一次 交换,都用新的会话密钥。然而这又失去了无连接 协议主要的优势,即对每个业务都有最少的费用和 最短的延迟。比较好的方案是在某一固定周期内或 对一定数目的业务使用同一会话密钥。
由于标签是在密钥之中,在分配密钥时,标签与密 钥一起被加密,因此可对标签起到保护作用。本方 案的缺点: 第一,标签的长度被限制为8比特,限制 了它的灵活性和功能;第二,由于标签是以密文形 式传送,只有解密后才能使用,因而限制了对密钥 使用的控制方式。
(2) 控制矢量
这一方案比上一方案灵活。方案中对每一会话密钥 都指定了一个相应的控制矢量,控制矢量分为若干 字段,分别用于说明在不同情况下密钥是被允许使 用还是不被允许使用,且控制矢量的长度可变。控 制矢量是在KDC产生密钥时加在密钥之中的,过程 由图5.3(a)所示。
无中心的密钥分配时,两个用户A和B建立会话密钥 需经过以下3步,见图5.2:
① A向B发出建立会话密钥的请求和一个一次性随机 数N1。 ② B用与A共享的主密钥MKm对应答的消息加密,并 发送给A。应答的消息中有B选取的会话密钥、B的 身份、f(N1)和另一个一次性随机数N2。 ③ A使用新建立的会话密钥KS对f(N2)加密后返回给B。
注意: 第③步就已完成密钥分配,第④、⑤两步结 合第③步执行的是认证功能。
5.1.3 密钥的分层控制
网络中如果用户数目非常多而且分布的地域非常广, 一个KDC就无法承担为用户分配密钥的重任。问题 的解决方法是使用多个KDC的分层结构。例如,在 每个小范围(如一个LAN或一个建筑物)内,都建 立一个本地KDC。同一范围的用户在进行保密通信 时,由本地KDC为他们分配密钥。如果两个不同范 围的用户想获得共享密钥,则可通过各自的本地 KDC,而两个本地KDC的沟通又需经过一个全局 KDC。这样就建立了两层KDC。类似地,根据网络 中用户的数目及分布的地域,可建立3层或多层KDC。
首先由一杂凑函数将控制矢量压缩到与加密密钥等 长,然后与主密钥异或后作为加密会话密钥的密钥, 即
H hCV
K in K m H
K out E K m H K S
其中CV是控制矢量,h是杂凑函数,Km是主密钥, KS是会话密钥。会话密钥的恢复过程如图5.3(b)所示, 表示为:
K sD K m H [E K m H [K S]]
如果在公钥目录表中对公钥的分配施加更严密的控 制,安全性将会更强。与公用目录表类似,这里假 定有一个公钥管理机构来为各用户建立、维护动态 的公钥目录,但同时对系统提出以下要求,即:每 个用户都可靠地知道管理机构的公开钥,而只有管 理机构自己知道相应的秘密钥。公开钥的分配步骤 如下,如图5.4:
图5.4 公钥管理机构分配公钥
图5.2 无中心的密钥分配
5.1.6 密钥的控制使用
密钥可根据其不同用途分为会话密钥和主密钥两种 类型,会话密钥又称为数据加密密钥,主密钥又称 为密钥加密密钥。由于密钥的用途不同,因此对密 钥的使用方式也希望加以某种控制。
如果主密钥泄露了,则相应的会话密钥也将泄露, 因此主密钥的安全性应高于会话密钥的安全性。一 般在密钥分配中心以及终端系统中主密钥都是物理 上安全的,如果把主密钥当作会话密钥注入加密设 备,那么其安全性则降低。
5.2.1 公钥的分配
本小节讲述公钥的分配方法。
1. 公开发布
公开发布指用户将自己的公钥发给每一其他用户, 或向某一团体广播。例如PGP(pretty good privacy) 中采用了RSA算法,它的很多用户都是将自己的公 钥附加到消息上,然后发送到公开(公共)区域, 如因特网邮件列表。
这种方法虽然简单,但有一个非常大的缺点,即任
① 用户A向公钥管理机构发送一个带时戳的消息, 消息中有获取用户B的当前公钥的请求。
② 管理机构对A的请求作出应答,应答由一个消息 表示,该消息由管理机构用自己的秘密钥SKAU加密, 因此A能用管理机构的公开钥解密,并使A相信这个 消息的确是来源于管理机构。
应答的消息中有以下几项:
B的公钥PKB,A可用之对将发往B的消息加密;
是以明文形式存在,因此可在任一阶段对密钥的使 用施加控制。
5.2 公钥加密体制的密钥管理
前一节介绍了单钥密码体制中的密钥分配问题,而 公钥加密的一个主要用途是分配单钥密码体制使用 的密钥。本节介绍两方面内容: 一是公钥密码体制 所用的公开密钥的分配,二是如何用公钥体制来分 配单钥密码体制所需的密钥。
两个用户A和B获得共享密钥的方法有以下几种:
① 密钥由A选取并通过物理手段发送给B。
② 密钥由第三方选取并通过物理手段发送给A和B。
③ 如果A、B事先已有一密钥,则其中一方选取新 密钥后,用已有的密钥加密新密钥并发送给另一方。
④ 如果A和B与第三方C分别有一保密信道,则C为 A、B选取密钥后,分别在两个保密信道上发送给A、 B。
⑤ 用户可通过电子手段访问目录表,这时从管理员 到用户必须有安全的认证通信。
本方案的安全性虽然高于公开发布的安全性,但仍 易受攻击。如果敌手成功地获取管理员的秘密钥, 就可伪造一个公钥目录表,以后既可假冒任一用户 又能监听发往任一用户的消息。而且公用目录表还 易受到敌手的窜扰。
3. 公钥管理机构
A的请求,用于A验证收到的应答的确是对相应请求 的应答,且还能验证自己最初发出的请求在被管理 机构收到以前是否被篡改;
最初的时戳,以使A相信管理机构发来的消息不是 一个旧消息,因此消息中的公开钥的确是B当前的公 钥。
③ A用B的公开钥对一个消息加密后发往B,这个消 息有两个数据项: 一是A的身份IDA,二是一个一次 性随机数N1,用于惟一地标识这次业务。
第5章 密钥分配与密钥管理
5.1 单钥加密体制的密钥分配 5.2 公钥加密体制的密钥管理 5.3 密钥托管 5.4 随机数的产生 5.5 秘密分割 习题
5.1 单钥加密体制的密钥分配
5.1.1 密钥分配的基本方法
两个用户(主机、进程、应用程序)在用单钥密码 体制进行保密通信时,首先必须有一个共享的秘密 密钥,而且为防止攻击者得到密钥,还必须时常更 新密钥。因此,密码系统的强度也依赖于密钥分配 技术。
第4种方法比较常用,其中的第三方通常是一个负责 为用户分配密钥的密钥分配中心。这时每一用户必 须和密钥分配中心有一个共享密钥,称为主密钥。 通过主密钥分配给一对用户的密钥称为会话密钥, 用于这一对用户之间的保密通信。通信完成后,会 话密钥即被销毁。如上所述,如果用户数为n,则会 话密钥数为n(n-1)/2。但主密钥数却只需n个,所以主 密钥可通过物理手段发送。
5.1.5 无中心的密钥控制
用密钥分配中心为用户分配密钥时,要求所有用户 都信任KDC,同时还要求对KDC加以保护。如果密 钥的分配是无中心的,则不必有以上两个要求。然 而如果每个用户都能和自己想与之建立联系的另一 用户安全地通信,则对有n个用户的网络来说,主密 钥应多达n(n-1)/2个。当n很大时,这种方案无实用价 值,但在整个网络的局部范围却非常有用。
④ B以相同方式从管理机构获取A的公开钥(与步骤 ①、②类似)。这时,A和B都已安全地得到了对方 的公钥,所以可进行保密通信。然而,他们也许还 希望有以下两步,以认证对方。
⑤ B用PKA对一个消息加密后发往A,该消息的数据 项有A的一次性随机数N1和B产生的一个一次性随机 数N2。因为只有B能解密③的消息,所以A收到的消 息中的N1可使其相信通信的另一方的确是B。 ⑥ A用B的公开钥对N2加密后返回给B,可使B相信 通信的另一方的确是A。
② KDC为A的请求发出应答。应答是由KA加密的消 息,因此只有A才能成功地对这一消息解密,并且A 可相信这一消息的确是由KDC 发出的。消息中包括 A希望得到的两项内容:
一次性会话密钥KS; A在①中发出的请求,包括一次性随机数N1,目的 是使A将收到的应答与发出的请求相比较,看是否匹 配。
因此A能验证自己发出的请求在被KDC收到之前,是 否被他人篡改。而且A还能根据一次性随机数相信自 己收到的应答不是重放的过去的应答。
分层结构可减少主密钥的分布,因为大多数主密钥 是在本地KDC和本地用户之间共享。再者,分层结 构还可将虚假KDC的危害限制到一个局部区域。
5.1.4 会话密钥的有效期
会话密钥更换得越频繁,系统的安全性就越高。因 为敌手即使获得一个会话密钥,也只能获得很少的 密文。但另一方面,会话密钥更换得太频繁,又将 延迟用户之间的交换,同时还造成网络负担。所以 在决定会话密钥的有效期时,应权衡矛盾的两个方 面。
此外,消息中还有B希望得到的两项内容:
一次性会话密钥KS; A的身份(例如A的网络地址)IDA。 这两项由KB加密,将由A转发给B,以建立A、B之 间的连接并用于向B证明A的身份。
相关文档
最新文档