现代密码学理论与实践 第7章 利用对称密钥实现保密

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

NAT与ICMP交互.
信号与系统 第三章 傅里叶变换 东北大学 2017/2/27.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
计算机网络(第 5 版) 第 7 章 网络安全 课件制作人:谢希仁.
计算机网络安全 第五章.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Hadoop I/O By ShiChaojie.
利用Wireshark观察网络报文 2015.
R in Enterprise Environment 企业环境中的R
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
管理信息结构SMI.
矢量距离路由.
网络常用常用命令 课件制作人:谢希仁.
实用组网技术 第一章 网络基础知识.
乐驾-车载无线终端-CARRO 产品类型:车载无线路由器 建议零售价格:¥599 江苏鸿信
数 控 技 术 华中科技大学机械科学与工程学院.
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
S 数控机床故障诊断与维修.
第17章 网站发布.
计算机数学基础 主讲老师: 邓辉文.
现代密码学理论与实践 第9章 公钥密码学与RSA
利用Arduino制作定向装置 核科学与技术系 崔伟毅 梁嘉祺
逆向工程-汇编语言
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
应用实例 识别Ps & Pt ADTS 压力通道并校验 CPD8000 New MENSOR‘s ADTS: CPA8001.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
NoteExpress进阶 宋敏 电子资源部
实用网络营销基础 冯英健 2006年8月6日 首页.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
2.3 线性乘同余方法 (Linear Congruential Method)
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
VisComposer 2019/4/17.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
IT 安全 第 11节 加密控制.
实体描述呈现方法的研究 实验评估 2019/5/1.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
现代密码学理论与实践 第7章用对称密码实现保密性
实验一 熟悉MATLAB环境 常用离散时间信号的仿真.
IT 安全 第 9节 通信和网络控制.
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
数据报分片.
无线网络特性展现 张琦.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
第一部分:概率 产生随机样本:对分布采样 均匀分布 其他分布 伪随机数 很多统计软件包中都有此工具 如在Matlab中:rand
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
随机间隔法和随机置换法 《信息隐藏实验教程》教学幻灯片 三.
Google的云计算 分布式锁服务Chubby.
VoIP组工作汇报 黄权 李光华.
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
Copyright © 2004 HRBEU.605. All Rights Reserved
第十七讲 密码执行(1).
第十二讲 密码执行(上).
B12 竺越
入侵检测技术 大连理工大学软件学院 毕玲.
混沌保密通讯 实验人 郝洪辰( ) 李 鑫( ).
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
Presentation transcript:

现代密码学理论与实践 第7章 利用对称密钥实现保密 Fifth Edition by William Stallings 苗付友 mfy@ustc.edu.cn 2018年10月 网络视频:http://wlkt.ustc.edu.cn/video/detail_3363_0.htm

本章要点 链路加密中每个结点都需要一套加密设备,端到端加密 只需在系统的两个终端执行加密和解密操作 即使通信数据都被加密,攻击者仍能通过流量分析来获 取信息。有效的对付手段是对传输数据进行填充。 密钥分配为需要传输加密数据的通信双方提供传递密钥 的功能,需要机制和协议保障密钥传输的安全性 主密钥不经常使用并长期存在,临时生成会话密钥并分 发给通信双方 随机或伪随机数发生器数许多密码函数在实际应用中必 备的能力,其原则是产生的比特串不能够被猜测。

本章提纲 7.1 密码功能的位置 7.2 传输保密性 7.3 密钥分配 7.4 随机数的产生 7.1.1 安全隐患 7.1.2 链路加密与端到端加密 7.2 传输保密性 7.2.1 链路加密方式 7.2.2 端到端加密的方法 7.3 密钥分配 7.3.1 一个密钥分配方案 7.3.2 层次化密钥控制和会话密钥的使用寿 7.3.3 一种透明的密钥控制方案命 7.3.4 分散式密钥的控制 7.3.5 控制密钥的使用方式 7.4 随机数的产生 7.4.1 随机数的来源 7.4.2 伪随机数产生器 7.4.3 线性拟合发生器 7.4.4 用密码学方法生成随机数 7.4.5 Blum Blum Shub (BBS) Generator 7.4.6 真随机数发生器和偏差

第7章 用对称密码实现保密性 本章讨论加密逻辑功能所处的位置,使用加密防止通信量 分析攻击的方法,密钥分配问题及随机数的产生。 7.1 密码功能的位置 7.1.1 安全隐患 从同一网上其他工作站发起的窃听 使用拨号进入局域网或服务器进行窃听 使用外部路由链接进入网络和窃听 在外部链路上对通信业务的监听和修改

7.1.2 链路加密与端到端加密 基本方法:链路加密与端到端加密 加密是在每一条链路上独立发生的 意味着链路之间每次分组交换都必须被解密 要求的设备多,且需要成对的密钥 端到端加密 加密解密的过程在两端系统中进行 在两端需要加密装置,源主机与目的主机共享密钥 依然存在弱点: 不能对整个数据包加密,否则不能实现包的路由 如果只对数据加密,信息头保持明文,则传输过程又不安全了, 因为可以有通信量分析攻击

链路加密与端到端加密 理想的是同时使用链路加密与端到端加密 端到端加密保证在整个路径上的数据安全和提供认证 链路加密防止通信流被监听和分析

两种加密策略的特点

加密函数的逻辑位置 可以在OSI参考模型的各个层次上设置加密功能 采用前端处理器FEP实现加密功能 链路加密可以在物理层和数据链路层 端到端加密可以在网络层、传输层、表示层和应用层 越往高层移,需要加密的信息量越少,参与的实体和密钥越多,加密越复杂,但是会更安全 采用前端处理器FEP实现加密功能 端系统用户进程和应用使用同一个密钥采用同一个加密方案

通信量分析 Traffic Analysis 通信量分析是监控通信双方的通信流 军事和商业环境下都有用 也可用于产生隐蔽信道 链路加密掩盖了头部细节 但是在网络中和端节点的额外通信量仍然是可见可读的 通信量填充可以进一步掩盖通信流信息 但是会带来连续的通信量

存储转发通信网络中的加密覆盖范围 将加密设备用于端到端协议,不能提供网络之间的服务, 如电子邮件、电子数据交换和文件传输等。因此,端到端 加密需要到应用层上进行。

不同加密策略的实现(1)

不同加密策略的实现(2)

7.2 传输保密性 可以从通信量分析攻击得到的信息类型 传输双方的标识 传输双方的联系频率 消息格式、消息长度,或者消息交换频繁程度可以暗示 出消息的重要性 与传输双方的某些谈话相关的事件

7.2.1 链路加密方式 使用链路加密时分组首部要加密,因此可以减少通信 量分析的机会,但攻击者仍有可能估算出网络上的通 信量并观察到进入和离开每个端系统的通信量的大小。 有效防范措施是通信量填充(traffic padding)

7.2.2 端到端加密的方法 端到端加密方式 端到端加密方式使信息防护者可以采用的措施更有限, 例如应用层加密可以使攻击者确定哪些通信实体参与了 通信过程;传输层加密仍会透露网络层地址和通信量模 式。 解决办法是在传输层或应用层把所有数据单元都填充到 一个统一的长度,以防止攻击者获得端用户之间交换的 数据量信息,掩盖通信量模式。

7.3 密钥分配 密钥分发问题 密钥分发可以采用的多种方法 对称的加密机制要求双方一个秘密密钥 问题是如何安全保密地传递这个密钥 许多密码系统出问题多在密钥分发上 密钥分发可以采用的多种方法 密钥由A选择,并亲自交给B 第三方C选择密钥后亲自交给A和B 如果A和B以前或最近使用过某密钥,其中一方可以 用它加密一个新密钥后再发送给另一方 A和B与第三方C均有秘密渠道,则C可以将密钥分 别秘密发送给A和B

端到端加密所涉及的密钥分配任务的难度 N个结点需要的 密钥数量是 [N(N-1)]/2 1000个结点需 要多达50万个 密钥

密钥层次结构的使用

7.3.1 一个密钥分配方案 A和B各自拥有与KDC共享的主密钥KA和KB: A向KDC发出请求,要求得到与B通信的会话密钥 KDC用KA加密传送给A如下内容: 一次性会话密钥KS 原始请求报文 用KB加密的要发给B的会话密钥KS和A的标识符IDA A得到会话密钥KS并将有关信息发给B A和B之间进行认证,并正式秘密通信 Nonces(临时交互号,或现时,可以是时间戳、计 数器或随机数),主要用在认证协议中防范重放攻击

一种密钥分配过程:分配加认证

7.3.2 层次化密钥控制和会话密钥的使用寿命 分层式密钥的控制 会话密钥的生命期 建立一系列KDC,各个KDC之间存在层次关系,使得主密 钥分配所涉及的工作量减至最小,因为大部分的主密钥都 是由一个本地的KDC和它的本地实体共享的,并将出错或 受到破坏的KDC的危害限制在它的本地区域 会话密钥的生命期 会话密钥更换越频繁就越安全 对于面向连接的协议,每次会话使用新的密钥 对于无连接的协议,每次交互使用新的密钥,或者每个固 定时间或对于一定数量的交互使用一个给定的会话密钥

7.3.3 一种透明的密钥控制方案

7.3.4 分散式密钥的控制 要求每个端系统能够与所有潜在的伙伴以安全方式协 商会话密钥,因此对于一个有n个端系统的配置可能 需要多达[n(n-1)]/2个主密钥

7.3.5 控制密钥的使用方式 因用途不同而定义的不同类型密钥 依据密钥特征限制密钥的使用方式 控制向量的方案 数据加密密钥 PIN加密密钥 文件加密密钥 依据密钥特征限制密钥的使用方式 给予每个密钥一个关联标记,如DES64位密钥中留作做 奇偶校验的8位非密钥比特 1比特指示此密钥是主密钥还是会话密钥 1比特指示此密钥是否可以用于加密 1比特指示此密钥是否可以用于解密 其余比特留待将来使用 控制向量的方案

带控制向量的加密和解密

7.4 随机数的产生 随机数random numbers的用途 Nonces(临时交互号或现时,可以是时间戳、计数器或 随机数) 用于相互鉴别authentication,以防重放攻击 会话密钥session keys的产生 产生公开密钥,如在RSA算法中产生密钥 一次一密密码中的密钥流 Nonces(临时交互号或现时,可以是时间戳、计数器或 随机数) Statistically random(随机程度) uniform distribution, 均匀分布,每个数出现的频率应 该近似相等 Independent,独立性,系列中的任意一个数都无法从 其他数推测得到 Unpredictable (不可预测程度),基于前值不能推导出未来的随 机数序列

7.4.1 随机数的来源 最好的来源是真实世界中的自然随机事件 可以找一个一般的但是随机的事件进行监控 一般需要特殊的硬件来实现,如衰变计数器,无线电噪 声,声音噪声,二极管热噪声,漏电电容,闸流管等。 这些随机数源的问题是信号偏离或者信号的不均匀分布 所以在采样和使用时需要加以补偿 最好是只使用每个采样中最具噪声的位 还可以来自随机数出版物的内容,但是随机数有限,有 些知名随机数用得太多太滥了

7.4.2 伪随机数产生器(PRNG) Pseudorandom Number Generators (PRNGs) 产生随机数的算法与技术 尽管不是完全随机,但是产生的伪随机数仍然可 以通过某些随机性测试

7.4.3 线性拟合发生器 Linear Congruential Generator (线性同余) m,模数,m>0 a,乘数,0<=a<=m c,增量,0<=c<=m X0,初始值或种子, 0<=X0<=m 通用迭代技术采用 Xn+1 = (aXn + c) mod m 给定恰当的参数,能够产生长的类随机序列 e.g. a=7, c=0, m=32, X0=1, 产生{7, 17, 23, 1, 7, ...}, 不满足随机性,因为周期是4 e.g. a=5, c=0, m=32, X0=1, 产生{1, 5, 25, 29, 17, 21, 9, 13, 1, ...}, 周期为8 (上例中,如果a是Zm的生成元,则可以实现全周期长的随机数)

随机数产生器的评价 必须产生完整周期full-period 产生的序列应该看起来是随机的 用32位算法实现容易 一种容易的实现是选择素数m,如 m=231-1, 则有 Xn+1 = (aXn + c) mod (231-1),由此产 生的随机数很少有通不过随机性测试的 如果给定的数值太小,攻击者可以重组随机数 序列

7.4.4 用密码学方法生成随机数 循环加密 从一个主密钥产生 随机数作为会话 密钥 Xi = EKm[i]

DES输出反馈模式和ANSI X9.17 PRNG生成随机数 Xi = EKm[Xi-1] ANSI X9.17 PRNG 采用日期/时间加“种 子”作为输入, Triple-DES加密产生 新的种子和随机数

7.4.5 Blum Blum Shub (BBS) Generator 基于公开密钥算法 首先选择两个大素数p和q,满足p≡q≡3 mod 4 设n=p.q, 选择随机数s,gcd(s, n)=1, 算法为: X0=s2 mod n for i=1 to ∞ xi=(xi-1)2 mod n Bi=xi mod 2 随机数系列不可预期,通过next-bit测试 安全性取决于合数N的因子分解 速度慢,因为要用到非常大的数 如果用来做加密就太慢了,但是适用于做密钥产生器

BBS产生器操作过程举例 n=192649=383*503

7.4.6 真随机数发生器和偏差 真随机数发生器(TRNG)使用不可预测源来产生随机数, 大多数通过物理噪声来实现,如离子辐射、闸流管、漏 电容等。Intel开发出一种电阻两端电压产生的热噪声的 芯片;Bell实验室利用硬盘读操作产生的辐射作为随机 源;LavaRnd使用充满光源的CCD作为混沌源产生种子, 用软件将种子加工成各种形式的真随机数。 这些随机数的随机性和精度都存在问题,设备笨拙。 一个真随机数发生器的输出有时会有偏差,比如1的个 数比0多,或者反之。将一个比特串减少或消除偏差的 方法称为消偏算法,如通过MD5或SHA-1等散列函数 进行处理。

思考题与习题 What is the difference between link and end-to-end encryption? What is the difference between a session key and a master key? What is the difference between statistical randomness and unpredictability? What is a nonce? What is traffic padding and its purpose? 第7章作业: 其中,英文7.5题原文“provided that k is less than m and that m-1 is not divisible by k”应改为“provided that k is less than m and that m-1 is relatively prime to k”。

本章作业