第一章
信息安全定义:保证信息的保密性、完整性和可用性。另外还涉及保证其它属性比如真实性、可审计性、不可否认性和可靠性。
安全目标一----保密性(Confidentiality)包含两个含义:
- 数据保密性:确保非授权者不能查看或使用
- 隐私性:确保个人可以控制或确定与自身相关的信息的传播
安全目标二----完整性(Integrity)包含两个含义:
①数据完整性:确保信息不能被改变(如果改变只能以授权或特定方式改变),又包含两层含义:
➊数据真实性:数据对象确实是真实的数据
➋不可否认性:发送方和接收方处理了该信息后都不能否认
②系统完整性:系统正常运行,避免非授权操作
安全目标三----可用性(Availability)包含含义:
确保系统能够及时运行,对授权用户不能拒绝服务
CIA三元组,体现了对数据、信息和计算服务的基本安全目标
安全目标四----真实性(Authenticity)包含含义:
确保实体是真实的可被验证和信任,也就是确保信息源是正确的,用户是声称的那个人
安全目标五----可审计性(Accountablity)包含含义:
通过实体行为可以唯一追溯到该实体 (支持不可否认性、阻止、故障隔离、入侵检测和预防、事后恢复以及法律诉讼)
1.假冒攻击 假冒是指某个实体通过出示伪造的凭证来冒充别人或别的主体,从而攫取授权用户的权利。
假冒攻击可分为重放、伪造和代替三种。
2.旁路攻击 旁路攻击是指攻击者利用计算机系统设计和实现中的缺陷或安全上的脆弱之处,获得对系统的局部或全部控制权,进行非授权访问。
3.非授权访问 非授权访问是指未经授权的实体获得了访问网络资源的机会,并有可能篡改信息资源。
4.拒绝服务攻击 拒绝服务攻击的目的是摧毁计算机系统的部分乃至全部进程,或者非法抢占系统的计算资源,导致程序或服务不能正常运行,从而使系统不能为合法用户提供服务。
5.恶意程序 (
1)特洛伊木马 特洛伊木马(Trojan horse)是指伪装成有用的软件,当它被执行时,往往会启动一些隐藏的恶意进程,实现预定的攻击。
2)病毒 病毒和木马都是恶意代码,但它本身不是一个独立程序,它需要寄生在其他文件中,通过自我复制实现对其他文件的感染。 病毒的危害有两个方面,一个是病毒可以包含一些直接破坏性的代码;另一方面病毒传播过程本身可能会占用计算机的计算和存储资源,造成系统瘫痪。
(3)后门 后门是指在某个文件或系统中设置一种机关,使得当提供一组特定的输入数据时,可以不受安全访问控制的约束。
网络系统中的安全威胁
1.截获/修改 攻击者通过对网络传输中的数据进行截获或修改,使得接收方不能收到数据或收到代替了的数据,从而影响通信双方的数据交换。
2.插入/重放 攻击者通过把网络传输中的数据截获后存储起来并在以后重新传送,或把伪造的数据插入到信道中,使得接收方收到一些不应当收到的数据。
3.服务欺骗 服务欺骗是指攻击者伪装成合法系统或系统的合法组 成部件,引诱并欺骗用户使用。
4.窃听和数据分析 窃听和数据分析是指攻击者通过对通信线路或通信设备的监听,或通过对通信量(通信数据流)的大小、方向频率的观察,经过适当分析,直接推断出秘密信息,达到信息窃取的目的。
5.网络拒绝服务 网络拒绝服务是指攻击者通过对数据或资源的干扰、非法占用、超负荷使用、对网络或服务基础设施的摧毁,造成系统永久或暂时不可用,合法用户被拒绝或需要额外等待,从而实现破坏的目的。
攻击对数据信息而言,实际上有三个攻击目标:截获秘密数据(保密性)、伪造数据(完整性)或在上述攻击不能奏效的情况下,破坏数据的可用性(可用性)。
信息安全的主要内容:利用一种或多种安全机制提供安全服务,来阻止攻击
第二章
羊皮传书是置换密码(明文重组)
凯撒密码是替换密码(明文替换)
明文(plaintext)——the original message
密文(ciphertext)——the coded message
密钥key——info used in cipher known only to sender/receiver
加密encipher(encrypt)——converting plaintext to ciphertext
解密decipher(decrtpt)——recovering plaintext from ciphertext
对称密钥密码模型,加密解密过程
对称密钥密码模型形式化定义
A cryptosystem is a 5-tuple (E,D,p,K,C),where
p is the set of plaintexts, //p是明文
C is the set of cipher texts, //C是一组加密后的密文
K is the set of keys, //K是一组密钥
E: is the set of Encryption algorithms, //加密算法是明文和密钥作为输入,最后输出是密文
D: is the set of Decryption algorithms. //解密算法是把密文和密钥作为输入,输出后是明文
Kerckholf假设:
什么当保密;什么当公开?
–19世纪荷兰人A.Kerckhoffs就提出了一个在密 码学界被公认为基础的假设,也就是著名的 “Kerckhoffs假设”: 秘密必须全寓于密钥。 – Kerckhoffs假设密码分析者已有密码算法及其 实现的全部详细资料,在该假设前提下实现安 全的密码体制
算法可以公开
1.如果不公开算法:别人知道算法缺陷和漏洞而自己不知道,会非常危险
2.公开算法带来的好处:全世界聪明的人都在攻击并帮你琢磨这个算法有什么漏洞,全都变成了你的朋友
秘密全部寓于密钥≠算法一定要公开
目前实际情况: 所有商用或者民用使用的密码,它的算法全部是公开的;而军方使用的密码它全部都是不公开的,显然攻击者如果连算法都不知道,那么肯定提高他攻击的难度。
易用性:算法固定不容易改变 ,但易于更换密钥,方便使用
记住密码学里最最基础的一个Kerckholf假设或者叫公理:** 秘密全部寓于密钥**
密码学科的分类
密码编码学(cryptography):研究如何进行密码编码的
密码分析学(cryptanalysis):研究如何在不知道密钥的情况下,对密码进行攻击或者破译的
密码学(cryptology):包含了密码编码学和密码分析学
但是在实际使用过程中,大家并不是这样来细分的,往往用密码编码学替代密码学来用。
密码的分类
分类方法一:根据明文变成密文的方法
替代密码(Substituion):each element in the plaintext is mapped into another element
置换密码(transpositon): elements in the plaintext are rearranged
乘积密码(product):multiple stages of substitutions and transpositions
分类方法二:根据密钥的使用数量(或者加解密是否使用密钥一致)
对称密钥密码Symmetric ( 单密钥密码single-key, 基于秘密密钥密码secret-key, 传统加密密码conventional encryption): Both sender and receiver use the same key
非对称密钥密码Asymmetric( 双密钥two-key, or 公开密钥的密钥系统public-key encryption): the sender and receive each uses a different key
分类方法三:根据明文被处理的方式
分组密码(block cipher):processes the input one block of elements at a time, producing an output block for each input block
流密码(stream cipher): processes the input elements continuously, producing output one element at a time, as it goes along.
知识点
1.信息安全保密模型中假设信道是不安全的,第三方能够随意窃听
2.“Kerckhoffs假设”: 秘密必须全寓于密钥
该假设的含义:
含义1:算法可以公开
含义2:不代表算法一定要公开
含义3:使用灵活
3.密码的三种分类方法
第三章
穷举法攻击
对称密钥密码模型里面有个基础性的公理,攻击者唯一不知道就是密钥。言下之意就是攻击者总有一种手段就是穷举法来进行攻击,那么我们可以假设攻击者总可以用穷举密钥的方法来进行攻击。
穷举攻击:尝试所有密钥直到有一个合法密钥能够把密文还原成明文,这就是穷举攻击
能进行穷举攻击的条件
从凯撒密码穷举攻击的例子我们还可以观察到,如果要使用穷举攻击,必须满足下面两个条件:
①密钥数量比较少,可以穷举;
②明文是有信息量在里面的,可以通过信息来判断解密后的信息是否正确
注意:如果明文是一个纯粹随机的序列,我们是没法解密的
单字母表密码的攻击手段
①出现频率高的词,比如某个字母出现频率高
②频率分析的办法:因为单字母表密码没有改变原来明文里的字母出现的频率。我们可以先用下表统计出字母中的频率,然后再用密文中的频率对应的字母来匹配。
单字母表的致命缺陷
就是把明文里字母的统计规律原封不动的保留到了密文里面。在九世纪的时候,就有阿拉伯的数学家记载了这种破解方法。有了计算机后我们还可以做双字母,三字母的统计分析,这对破解单字母表的密码更加快速有效。 密钥数量多了,但是它还是可以破译的,而且攻击者去攻击的技术手段不需要去穷举
什么是好的密码算法呢
结论是:除了穷举,攻击者没有好的攻击方法了
这就意味着我们可以量化攻击者的攻击成本。
攻击者的攻击成本和key size成正比。
无条件安全&计算上安全
无条件安全:是指我们假设攻击者有无限的时间,有无限的计算资源,它也不能够解密,不能够攻破的密码算法。
计算上安全:是指我们假设攻击者的时间是有限的,攻击者的计算资源是有限的情况下,无法解密。
在计算安全定义下,我们设计密码时,只需要考虑加密者的计算成本远远低于攻击者在不知道密钥的情况下破译密码的成本就可以了(计算成本<不知道密钥破译成本)
无条件安全:能够达到无条件安全的这样一种机制是不存在的,或者只在理论上存在,我们现实中使用的密码方案没有无条件安全这种方案。
好的密码算法是: 攻击者只能用穷举法进行攻击,除此之外,别无他法,这样我们可以量化攻击难度。
针对单字母表的改进方式
①明文分组,一次加密多个字母,如:playfair密码,对明文进行分组,然后一次替代(多对一)
②一个字母被多个字母代替,如:维吉尼亚密码,明文里的一个字母,在密文里被多个字母来替代(一对多)
playfair密码-多对一
Playfair是一次加密双字母组合,也就是我们把明文分组的时候,2个字母为一组。Playfair是惠斯通发明的,配合他发明的电报机一起使用。当要发送一个字母G的时候,黄色的指针偏转,指向字母G。
加密步骤:
1.选一个关键字,关键字是密钥,下面的例子的关键字是“MONARCHY”;
2.构造一个关键字的矩阵,用于加密;
M O N A R
C H Y B D
E F G I K
L P Q S T
U V W X Z
3.规定I和J不做区分,所以I的位置既是J又是I;
4.对明文进行分组,两个字母一组,如果是重复的字母,中间加一个X,剩一个单个字母也用X填充;
如:balloon——ba lx lo on
5.加密规则为,明文分组后的两个字母如果是同行取右边,同列取下边,其他取交叉;
对playfair密码的攻击
单字母表的方法,构造词频分析的统计表,条目是26*26=676个条目的表格
结论告诉大家:只需要几百个单词的文本就可以被攻击
改进方法:可以增大明文分组,比如一组是4个字母,或者6个字母,或者8个字母。然后对这组字母进行一次替代。 比如我们要加密8个字母,我们就要做一个很大的替代表,从8个字母到8个字母这样的映射表。
攻击者的成本词条条目是26的8次方,攻击成本远远上升了,另外,这样就把原来词频统计规律破坏掉。
维吉尼亚密码-一对多
在维吉尼亚密码中有很多张字母表,每张字母表都是一个凯撒密码,我们用Key选字母表。如果Key选了第一张字母表,那么就用第一张字母表进行替换加密。那么同一个字母M,如果用不同的字母表来加密,那么它加密后的密文,肯定是不一样的。
密钥是
deceptive Key:d e c e p t i v e d e c e p t i v e d e c e p t i v e
Plaintext: w e a r e d i s c o v e r e d s a v e y o u r s e l f
Ciphertext: Z I C VTWQNG RZ GVTWA VZ HCQ YGLMGJ
因为维吉尼亚密码的密钥是循环使用的,这样就造成一个结果,就是每间隔一定周期后,同样的字母表会被使用。对于攻击者来说,一旦发现了密钥的长度,那就意味着每隔一个周期就使用同样字母表,比如我们可以盯着d这张字母表,也就是一个单字母表来分析。
自动密钥密码(Autokey Cipher )
密钥和明文一样长 自动密钥密码是密码学中的一种加密算法,与维吉尼亚密码类似,区别在于密钥不同。它的密钥开头是一个关键词,之后则是明文的重复。
下面演示一种自动密钥密码的加密方法。先假设关键词为QUEENLY,而文本信息为ATTACK AT DAWN,
则自动生成的密钥为"QUEENLY ATTACKATDAWN"。
之后再通过维吉尼亚密码的表格法生成密文:
明文:ATTACK AT DAWN…
密钥:QUEENL YA TTACK AT DAWN…
密文:QNXEPV YT WTWP…
比较强的密码
缺陷是什么? 缺陷是可以用来做密码分析,密钥key用的英文文本,加密对象也是英文文本,密钥里的字母频率和明文里统计规律是一样; 密码分析不容易,密码分析最主要手段就是做统计分析,这个问题怎么解决?
把动态生成密钥发挥到极限就是在密文里如何把明文里一些统计上的规律把它屏蔽掉,怎么做到这一点,把这个思想发挥到极致我们要找这样的一个keyword,keyword和明文一样长,不会重复使用不会循环使用,它在统计上和明文是没有任何联系的
第一个条件:密钥和明文一样长;
第二个条件:密钥和明文不能有统计上的联系文章来源:https://www.toymoban.com/news/detail-437428.html
一次一密,One-Time Pad
如果密钥和消息一样长,且真正随机,那么该密码无条件安全。
1918年,Gillbert Vernam提出密钥与明文一样长并且没有统计关系的密钥内容,算法表述采用二进制数据: 申请了专利
1949年,Shannon在他的1949年发表的经典论文中已经证明了一次一密的无条件安全性密钥的分发是大问题,实用价值较弱。因为这个密码要求通讯双方提前共享一个纯粹的密钥序列
香农证明了vernam的无条件安全性文章来源地址https://www.toymoban.com/news/detail-437428.html
到了这里,关于信息安全概论复习笔记 前三章纯干货的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!