《信息安全复习总结(共16页).doc》由会员分享,可在线阅读,更多相关《信息安全复习总结(共16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上密码分析学密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为解密变换。1977年美国公布实施的数据加密标准DES,标志着密码学发展的革命。对称密钥密码对称算法就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫秘密密钥算法或单密钥算法。对称算法可分为两类。序列密码(流密码)与分组密码。序列密码(流密码)序列密码主要应用于军事和外交场合。序列密码的优点是错误扩展小、速度快、利于同步、安全程度高。1、伪随机序列发生器是指输入真随机的较短的密钥(种子
2、)通过某种复杂的运算产生大量的伪随机位流。 2、真随机序列从真实世界的自然随机性源产生。如自然界中的抛币。 3、伪随机序列用确定的算法产生,不是真正的随机序列。伪随机序列发生器指使用短的真随机序列(称为种子)x扩展成较长的伪随机序列y。 4、随机数是较短的随机位序列。 分组密码:分组密码是将明文按一定的位长分组,明文组和密钥组的全部经过加密运算得到密文组。分组密码根据攻击者所掌握的信息,其攻击可分为:唯密文攻击、已知明文攻击、选择明文攻击攻击的复杂度:1、 数据复杂度:实施该攻击所需输入的数据量 2、处理复杂度:处理这些数据所需要的计算量分组密码的典型攻击方法:最可靠的攻击办法:强力攻击穷尽密
3、钥搜索攻击:唯密文,2k、已知(选择)明文, 2k, k-密钥长度字典攻击:明密文对编成字典, 2n,n-分组长度查表攻击:选择明文攻击, 给定明文,用所有的2k个密钥,预计算密文, k-密钥长度时间存储权衡攻击:选择明文攻击,由穷尽密钥搜索和查表攻击混合而成,它在选择明文攻击中以时间换取空间最有效的攻击:差分密码分析,通过分析明文对的差值对密文对的差值的影响来恢复某些密钥比特.线性密码分析:本质上是一种已知明文攻击方法,通过寻找一个给定密码算法的有效的线性近似表达式来破译密码系统 、插值攻击方法 、密钥相关攻击DESDES利用56比特串长度的密钥K来加密长度为64位的明文,得到长度为64位的
4、密文DES算法:64位块长度 56位密钥 迭代16轮(前一轮输出是下一轮的输入,经过16轮得到密文) 子密钥48位初始置换IP和初始逆置换IP1 DES算法安全性主要在S盒(非线性)、输入32位,扩展输出48位子密钥每一轮的输出都不一样输入64比特明文数据初始置换IP在密钥控制下16轮迭代初始逆置换IP-1输出64比特密文数据DES算法框图交换左右32比特 S盒:有八个S盒,每一个S盒由6位组成,输入2为输入,4位输出对每个盒,6比特输入中的第1和第6比特组成的二进制数确定的行,中间4位二进制数用来确定的列。相应行、列位置的十进制数的4位二进制数表示作为输出。例如的输入为,则行数和列数的二进制
5、表示分别是11和0100,即第3行和第4列,的第3行和第4列的十进制数为3,用4位二进制数表示为0011,所以的输出为0011。 S -盒的设计原则 S -盒的设计原理没有公开,一些原则如下:所有S-盒的每一行是0,1,15的一个置换;所有S-盒的输出都不是输入的线性函数或仿射函数;S-盒的输入改变任意一位都会引起输出中至少两位发生变化;对于任何输入x(6位),S(x)与S(x)至少有两位不同;对于任何输入x(6位),S(x)与S(x00ef00)不相等,e, f取0或1;对于任意一个输入位保持不变而其他五位变化时,输出中0和1的数目几乎相等。 子密钥的产生DES的安全性分析 DES的安全性完
6、全依赖于密钥,与算法本身没有关系。 主要研究内容:密钥的互补性;弱密钥与半弱密钥;密文-明文相关性;密文-密钥相关性;S-盒的设计;密钥搜索。 弱密钥:由密钥 k 确定的加密函数与解密函数相同,即。DES的弱密钥: 如果各轮产生的子密钥一样,则加密函数与解密函数相同。 DES至少有4个弱密钥 :10101、1f1f1f1f0e0e0e0e、e0e0e0e0f1f1f1f1、fefefefefefefefe半弱密钥 :对于密钥 k ,存在一个不同的密钥 ,满足。DES的半弱密钥:子密钥生成过程中只能产生两个不同的子密钥或四个不同的子密钥,互为对合。 DES至少有12个半弱密钥。 差分密码分析法,
7、可对DES进行选择明文攻击。线性密码分析比差分密码分析更有效双重DES (Double DES) C = EK2(EK1(P) P = DK1(DK2(C)攻击DES的方法主要有:密钥穷搜索攻击、差分攻击、线性攻击,较有效的方法、相关密钥攻击分组密码的操作模式电子密码本ECB 、密码分组链接CBC、密码反馈CFB 、输出反馈OFB 、计数器模式CTR公钥密码公开密钥算法中用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内),所以加密密钥能够公开,每个人都能用加密密钥加密信息,但只有解密密钥的拥有者才能解密信息。又称为双钥密码和非对称密码,是197
8、6年由Diffie和Hellman在提出的。在公开密钥算法系统中,加密密钥叫做公开密钥(简称公钥),解密密钥叫做秘密密钥(私有密钥,简称私钥)。公开密钥算法主要用于加密/解密、数字签名、密钥交换。 为什么要设计公钥密码算法? 密钥分配保密通信双方需共享密钥,而共享密钥要经常更换例如:A选择密钥并手工传递给B,第三方C选择密钥分别手工传递给A,B,用A,B原有共享密钥传送新密钥。与A,B分别有共享密钥的第三方C传送新密钥给A和/或B。N个用户集需要N(N-1)/2个共享密钥。密钥分发中心(Key Distribution Center)每个用户与KDC有共享密钥(Master Key)、N个用户
9、,KDC只需分发N个Master Key。两个用户间通信用会话密钥(Session Key)、用户必须信任KDC、KDC能解密用户间通信的内容公开密钥密码的重要特性加密与解密由不同的密钥完成加密: mc: c = EK(m)解密: cm: m = DB(c) = DB(EK(m)知道加密算法,从加密密钥得到解密密钥在计算上是不可行的两个密钥中任何一个都可以用作加密而另一个用作解密(不是必须的)m = DB(EK(m) = EK(DB(m)用公钥密码实现保密用公钥密码实现认证用公钥密码实现保密与认证公钥密钥的应用范围:加密/解密、数字签名(身份鉴别)、密钥交换公钥密码算法涉及到各方:发送方、接收
10、方、攻击者涉及到数据:公钥、私钥、明文、密文公钥算法的条件:1、产生一对密钥是计算可行的2、已知公钥和明文,产生密文是计算可行的3、接收方利用私钥来解密密文是计算可行的4、对于攻击者,利用公钥来推断私钥是计算不可行的5、已知公钥和密文,恢复明文是计算不可行的6、(可选)加密和解密的顺序可交换一、 背包问题(公钥相关)背包问题:已知一长度为B的背包,及长度分别为a1,a2,.,an的n个物品。假定这些物品的半径和背包相同,若从这n个物品中选出若干个正好装满这个背包。现在反过来问:究竟是哪些物品?背包问题数学描述背包问题求解:超递增序列背包问题求解方法思思路:xi取值只可能为0或者1;如果为0,表
11、示不能装入对应的物体,否则可以装入。RSA密码系统其安全性是建立在因式分解的困难性上。已知n,求p和q使得n=pq是NP完全问题。算法概要:1、Bob选择保密的素数p和q,并计算n=pq;2、Bob通过gcd(e,(p-1)(q-1)=1来选择e;3、Bob通过de1(mod(p-1)(q-1)来计算d;4、Bob将n和e设为公开的,p、q、d设为秘密的;5、Alice将m加密为c me(mod n),并将c发送给Bob;6、Bob通过计算m cd(mod n)解密。例1选择两个素数: p=17 & q=11计算 n = pq =1711=187计算 (n)=(p1)(q-1) =1610=1
12、60选择 e : gcd(e,160)=1; 其中e=7计算d: de=1 mod 160 且d 160 ,则 d=23 (因为237=161= 10160+1)公布公钥KU=7,187保存私钥KR=23,17,11如果待加密的消息 M = 88 (注意: 88BobStep 1:Bob选择Ep(a,b)的元素G,使得G的阶n是一个大素数,秘密选择整数k.计算P=kG,公开(p,a,b,G,P),保密k。其中KbkG为Bob公钥,Kbk为Bob私钥Step 2:将消息m编码为x-y形式的点PmStep 3:Alice随机选择一个正整数r,对Pm产生密文CmrG,PmrKbStep 4:Bob解
13、密Cm-Kb(rG)=Pm+rKb-krG=Pm+r(kG)-rkG=Pm示例:Alice-Bob(示例)Step 1:Bob选择E88331(3,45),G(4,11), Bob私钥KbK=3, Bob公布公钥Kb(413,1808) Step 2: Pm=(5,1734) Step 3:Alice随机选择一个正整数r=8,对Pm产生密文:CmrG,PmrKb=(5415,6321),(6626,3576)Step 4:Bob解密Kb(rG)=3(5415,6321)=(673,146);Cm -Kb(rG)=(6626,3576)-(673,146)=(5,1734)对称密钥密码系统只有一
14、个密钥,同样的密钥加密和解密 公钥密码系统有2个密钥,其中一个密钥可以公开即公钥,用公钥加密,用私钥解密。对称密钥速度快,不需公钥基础设施 2、公钥可实现数字签名,实现不可否认性公钥基础设施:信任模型、垄断模式、寡头模式其他密码学知识不知道密码,可能入侵密码系统不知道密钥,仍然可能入侵密码系统被动攻击:截获密文,分析推断出明文的攻击。主动攻击:向系统注入假信息(串扰、删除、增添、篡改、伪造等)手段的攻击。唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击OSI网络模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层信息安全的需求:保密性、可用性、完整性、不可否认性CIA:机密性、
15、完整性、可用性哈希函数散列函数 (Hash Function)是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。Hash函数H一般满足以下几个基本要求:(1)输入x可以为任意长度;输出数据串长度固定;(2)正向计算容易,即给定任何x,容易算出H(x);反向计算困难,即给出一Hash值h,很难找出一特定输入x,使h=H(x);(3)抗冲突性(抗碰撞性),包括两个含义,一是给出一消息x,找出一消息y使H(x)=H(y)是计算上不可行的(弱抗冲突),二是找出任意两条消息x、y,使H(x)=H(y)也是计算上不可行的(强抗冲突)。 常用的散列函数有:消息摘要4(MD4)算法、消息摘要5(MD
16、5)算法、安全散列函数(SHA)。 (被王小云攻破)。输入:任意长度的消息报文 M 、 输出:一个固定长度的散列码值 H(M) 、是报文中所有比特的函数值、单向函数根据是否使用密钥1、带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制。此时,散列值称作MAC。2、不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。此时,散列值称作MDC。Hash函数需满足以下条件:输入x可以为任意长度,输出为固定长度;正向计算容易,反向计算困难;抗冲突性(无冲突性)成熟的Hash FunctionMD5: 输入:消息长度任意 输出:128位SHA-1: 输入:消息长度264 输
17、出:160位密码学哈希函数特性:可压缩性、高效性、单向性、弱的抗碰撞性、强的抗碰撞性Hash函数密钥必须是其他DES算法的2倍以上设置密码哈希函数的准则:蝴蝶效应(雪崩效应)HMAC 消息认证代码消息认证码:使用一个密钥生成一个固定大小的短数据块,并将该数据块加载到消息后面,称MAC(或密码校验和)MACCk(M)MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少。密码学哈希函数常用算法:哈希函数的基本用法(a):提供认证 提供保密哈希函数的基本用法(b):提供认证哈希函数的基本用法(c):提供认证哈希函数的基本用法(d):提供认证、提供保密哈希函数的基本用法(e
18、)提供认证哈希函数的基本用法(f)提供认证 、提供保密数字签名:Digital Signature传统签名的基本特点签名是可信的:能与被签的文件在物理上不可分割签名是不可抵赖的:签名者不能否认自己的签名签名不能被伪造:除了合法者外,其他任何人不能伪造其签名签名是不可复制的:对一个消息的签名不能通过复制的方式变为另外一个消息的签名签名是不可改变的:经签名的消息不能被篡改容易被验证数字签名是传统签名的数字化能与所签文件“绑定”签名者不能否认自己的签名容易被自动验证签名不能被伪造数字签名五元组(P,A,K,S,V)P是所有消息组成的有限集A是所有可能的签名组成的有限集K是所有可能的密钥组成的有限集S
19、签名算法V验证算法分类:直接数字签名方案、基于仲裁的数字签名方案用户认证1) 身份标识(Marking):实证、码证、生物特征、其他(知识、财产。)、标识组合2) 用户识别: 一对多的搜索和发现过程、 反复搜索记忆,直至明确用户身份、 识别失败:认错人,错认是识别的弱点、识别安全:标记的综合(组合)考虑3) 用户验证: 一对一 的过程,声明、提问、应答、 证实不曾相识、自称为某人的人是真实的、用户伪装:存在特征与标志的伪造4) 认证放行:验证不会简单地给出是与不是的回答,而是给出识别某人的可信等级。系统验证给出两种错误率:错误拒绝率(PRR)。用户被拒绝,不准进入系统,拒绝率约小于十万分之一。
20、错误接受率(PAR)。黑客入侵,非法用户进入,允许在1:20左右。高可靠性的系统要求错误接受率几乎为零,仅允许极低的错误拒绝率。相等错误率(误判率=拒判率) 相等错误率越低越好基于公钥密码的认证 站对站(Station-to-Station)协议站间协议具有前向保密性(Forward secret)。前向保密性是指长期密钥被攻破后,利用长期密钥建立的会话密钥仍具有保密性。不使用加密的站对站协议A以为与B通信,实际上与C改进的站对站协议零知识身份认证 证明者Peggy拥有某些知识(如某些长期没有解决的难问题的解决方法),零知识证明就是在不将该知识的内容泄露给验证者Victor的前提下,Peggy
21、向Victor证明自己拥有该知识。例如:Peggy:“我可以对加密为C的消息进行解密。”Victor:“我不相信。请证明。”Peggy(好的回答):“让我们使用一个零知识协议,我将以任意高的概率证明我的知识(但是不会将关于消息的任何情况泄露给您)。”Victor:“好”。Peggy 和 Victor 通过该协议认证函数:加密函数对称加密:保密性与认证 提供保密、提供认证、不提供签名公钥加密:保密性 提供保密、不提供认证公钥加密:认证与签名 提供认证公钥加密:保密、认证与签名 提供认证、提供保密性认证函数:消息认证码MAC的基本用法:消息认证 提供认证置换密码置换加密是将明文字母互相换位,明文的
22、字母保持相同,但顺序被打乱了。例如“天书”代换密码(代替密码)是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字母保持原来位置。凯撒密码就是单表代替密码,它的每一个明文字符都由其右边第3个(模26)字符代替(A由D代替,B由E代替,W由Z代替,X由A代替,Y由B代替,Z由C代替)。 DH算法: 1、用来建立一个共享对称密钥。计算离骚对数的难题 2、会受中间人的攻击。简述DH算法中间人的攻击过程例子:Alice Bob:我叫Alice,我的公开密钥是Ka,你选择一个会话密钥K,用Ka加密后传送给我。Bob Alice:使用Ka加密会话密钥K;Alice Bob:使用K加密传输信息;Bo
23、b Alice :使用K加密传输信息。攻击的成功本质上在于Bob收到的Alice的公开密钥可能是攻击者假冒的,即无法确定获取的公开密钥的真实身份,从而无法保证信息传输的保密性、不可否认性、数据交换的完整性。 为了解决这些安全问题,采用公钥基础设施(Pubic Key Infrastructure简称PKI)。 CA机构,又称为证书授证(Certificate Authority)中心,是PKI的核心。CA是受一个或多个用户信任,提供用户身份验证的第三方机构,承担公钥体系中公钥的合法性检验的责任。PKI包括:认证中心(认证权威),注册权威,证书库、档案库、PKI的用户 公钥密码用途:1. 人机密性2. 数字签名,保证完整性和不可否认性生日问题改“访问控制”:(认证、鉴定)理想的生物统计学特性:通用性、可区分性、可持久性、可收集性面向用户:能力表面向资源:访问控制列表人类协议网络协议安全协议建立会话密钥协议设定设制访问控制列表专心-专注-专业