主动攻击:对数据流进行窜改或产生假的数据流
(1)中断(阻止):对系统可用性进行攻击
破坏计算机硬件,网络,或文件管理系统。如DoS,病毒等
(2)篡改:对完整性进行攻击
修改文件中的数据(数据修改后存储),替换某一程序使其执行不同功能
修改网络中传送消息的内容等,比如中间节点对转发的图象进行了压缩
(3)伪造:对真实性进行攻击
在网络中插入伪造的消息冒充消息发送者,在文件中插入伪造记录等
安全攻击的主要形式:
正常信息流
(1)中断
(2)截取
(3)伪造
(4)篡改
(5)重放
密码学分类:
(1)密码编码学
密码分析学:研究如何分析或破解各种密码编码体制的一门科学
(2)密码分析也称为密码破译,是指在密码通信过程中,非授权者在不知道密钥的条件下对密文进行分析,试图得到明文或密钥的过程。
密码分析分类:
(1)唯密文攻击(Ciphertext only)
破译者已知:加密算法、待破译的密文
(2)已知明文攻击(Known plaintext)
破译者已知:加密算法、一定数量的明文和对应的密文
(3)选择明文攻击(Chosen plaintext)
破译者已知:加密算法、选定的明文和对应的密文
(4)选择密文攻击(Chosen ciphertext)
破译者已知:加密算法、选定的密文和对应的明文
(5)选择文本攻击(Chosen text)
破译者已知:加密算法、选定的明文和对应的密文、选定的密文和对应的明文
攻击密码体制的常用方法
(1)穷举攻击
(2)统计分析攻击
(3)数学分析攻击
明文,密文,密钥,加密算法,解密算法。
3.对加密系统的攻击类型(前四种)
1.已知明文攻击 (知道一些名密文对)2选择明文攻击 (任意明文->密文)
3.唯密文攻击 (只知道一些密文) 4选择密文攻击(任意密文->明文)
5.选择文本攻击(任意明文<->任意密文)
4.kerchkoffs原则
假设攻击者是在已知密码体制的前提下来破译密码系统的密钥
o1883年Kerchkoffs第一次明确提出编码原则:
加密算法应建立在算法的公开不影响明文和密钥的安全
这一原则以普遍得到承认,称为判定密码强度的衡量标准,实际上也称为传统密码和现代密码的分界线
Kerchkhoffs假设:
--假定:密码分析者知道对方所使用的密码系统
-包括明文的统计特性,加密体制(操作方式,处理方法和加/解密算法),密钥空间及统计特性
-不知道密钥
成功的密码分析不仅能够恢复出消息明文和密钥,而且能够发现密码体制的弱点,从而控制通信
在设计一个密码系统时,目标是在Kerchkhoffs假设的前提下实现安全。
5.两大密码体制各自的优缺点并分析原因,各自的应用场景
优点/缺点 | 对称密码 | 公钥密码 |
---|---|---|
优点 | 1.算法运算速度较快2.密钥相对较短3.密文明文长度相同 | 1.密钥分发管理比较简单 2.支持数字签名(解决了不可否认问题) |
缺点 | 1.密钥分发需要安全的通道 2.密钥量大,密钥难于管理 3.难以解决不可否认问题 | 1.算法复杂,处理速度慢 |
eg:DES的E盒扩展S盒压缩,一起引起引起雪崩效应
分组长度:明文和密文为64位分组长度
迭代轮数:每个组合先代换后置换,共16轮
密钥长度:56位(64位-8位奇偶校验位=56位),但存在弱密钥,容易避开。
E盒:(E盒扩展S盒压缩,一起引起引起雪崩效应)
S盒:(压缩作用)
P盒:(进行位置置换)(原理:将1~32位的表代换成P盒对应的表)
AES的基本运算:
(1)字节代换(AES的S盒)
(2)行位移
(3)列混淆
(4)轮密钥加
(1)字节代换(AES的S盒)
功能:将一个字节代换为S表对应的一个新字节
方法:把该字节的高4位作为行值,低4位作为列值
eg:输入字节ox12,查s盒的第ox01行ox02列,得到值oxc9.
哈希函数的性质:
1.可用于“任意”长度的消息
2.产生定长的输出
3.对于给定的消息x,计算H(x)比较容易,用于硬件软件均可实现
4.单向性
5.抗弱碰撞性
6.抗强碰撞性
hash 函数的重要应用:
1.数字签名
2.数据完整性的保证
3.安全存储口令
4.快速进行关键字查找
MD5的主要特点:
输入:最大长度为小于2^64位(2^64 -1位)的消息————>输出:128位消息摘要
处理:输入消息以512比的分组为单位处理
SHA1的主要特点:
输入:最大长度为小于2^64位(2^64 -1位)的消息————>输出:160位消息摘要
处理:输入消息以512比的分组为单位处理
消息认证的目的:
1.验证消息的真实性(身份认证),验证消息的来源是真实的而不是冒充的
2.验证消息的完整性(消息认证),检查消息在传送或存储过程中是否被修改
1.基于消息加密的认证
2.基于消息认证码(MAC)的认证
3.基于哈希函数的认证
A发送消息给B:A(不可抵赖)——————>B(不可伪造)(不可重用)
(1)不可抵赖 (假如:A可以否认发过该消息,B无法证明A确实发了该消息)
(2)不可伪造 (假如:B伪造一个不同的消息,但声称是从A收到的)
(3)不可重用 (假如:签名没有和消息绑定)
eg:
问题的提出:
普通的报文鉴别能用来保护通信双方免受任何第三方的攻击,
然而, 它无法防止通信双方互相攻击
假定A发送一个经过鉴别的消息给B,双方之间的争议可能有多种形式:
1)B伪造一个不同的消息,但声称是从A收到的
2)A可以否认发过该消息,B无法证明A确实发了该消息
解决以上问题可以用数字签名技术,它是对传统笔迹签名的模拟
传统笔迹签名:
一般认为,传统的手写签名具有以下特点:
1)手写签名是“不可伪造”的
2)手写签名是“不可抵赖”的
3)手写签名是“不可重用”的
数字签名至少应该具有这些能力
如果不使用HASH函数
1.(存在性伪造)使用“已知消息攻击”
利用RSA的乘法特性,可以进行如下攻击
假设 y1=sigk(m1)和y2=sigk(m2) 是签名者曾经签署的有效签名,
那么 verk (m1m2 mod n, y1y2 mod n) = true
2. (选择性伪造)利用“选择消息攻击”
假设攻击者要对消息 m 伪造一个签名,m=m1m2mod n。
假设攻击者能请求签名者为 m1 和 m2 签名(结果分别为y1和y2),
那么, y1 y2 mod n 就是消息 m 的有效签名
对抗攻击的方法:使用HASH函数
私钥签名,公钥验证
特殊的数字签名:
不可否认签名
盲签名
代理签名
群签名
环签名
应用场景:
1. 为了防止签名的非法复制,产生了不可否认的签名;(电子现金,加密货币)
2. 为了保护信息内容的隐私,产生了盲签名;
3. 为了保护签名者身份的隐私,产生了群签名和环签名;(选举投票)
4.为了实现签名权的安全传递,产生了代理签名;
(1) 零知识证明
特点:
解决的问题:向别人证明拥有某个信息,但不需要透露该信息具体内容
(2)比特承诺
特点:
解决的问题:A想对B承诺一个比特,但暂时不能告诉B 承诺的信息,直到某个时间才公开车能诺;另一方面B可确信在A承诺后到公开前,A没有改变承诺。
(3)公平投币协议
特点:
解决的问题:网络中实现公平投币问题
(4)安全多方计算
特点:
解决问题:
主密钥
密钥加密密钥
会话密钥
密钥分配方法
(1)对称密码(双方事先有相同密钥)
(2)公钥加密(基于公钥)
(3)第三方(分配中心)
公钥的目录需要保护,公钥证书实现用户公钥的真实性
(部分素材来源于公开PPT,侵删)