信息安全概念的历史变化和含义.docx
《信息安全概念的历史变化和含义.docx》由会员分享,可在线阅读,更多相关《信息安全概念的历史变化和含义.docx(32页珍藏版)》请在冰豆网上搜索。
信息安全概念的历史变化和含义
信息安全概念的历史变化和含义
◇信息安全概念的历史变化和含义.
信息安全的含义
(80-90年代)
•信息安全的三个基本方面
–保密性Confidentiality
即保证信息为授权者享用而不泄漏给XX者。
–完整性Integrity
•数据完整性,未被未授权篡改或者损坏
•系统完整性,系统未被非授权操纵,按既定的功能运行
–可用性Availability
即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况。
•信息安全的其他方面
–信息的不可否认性Non-repudiation:
要求无论发送方还是接收方都不能抵赖所进行的传输
–鉴别Authentication
鉴别就是确认实体是它所声明的。
适用于用户、进程、系统、信息等
–审计Accountability
•确保实体的活动可被跟踪
–可靠性Reliability
•特定行为和结果的一致性
◇导致信息安全问题的原因有哪些?
计算机在网络通信环境下进行信息交换所面临的安全威胁有哪些?
安全的信息交换应满足哪些性质?
保密性:
窃听、业务流分析
完整性:
篡改、重放、旁路、木马
鉴别:
冒充
不可否认性:
抵赖
可用性:
拒绝服务、蠕虫病毒、中断
◇ISO7498-2-1989确立了基于OSI参考模型的七层协议之上的信息安全体系结构,其中五大类安全服务分别是什么?
1989.2.15颁布,确立了基于OSI参考模型的七层协议之上的信息安全体系结构
–五大类安全服务(鉴别、访问控制、保密性、完整性、抗否认)
–八类安全机制(加密、数字签名、访问控制、数据完整性、鉴别交换、业务流填充、路由控制、公证)
◇1999年9月我国制定并颁布了《计算机信息系统安全保护等级划分准则》,该准则将计算机系统分别划分为哪几个等级?
-分组密码(blockcipher):
将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。
-流密码(streamcipher):
又称序列密码.序列密码每次加密一位或一字节的明文,也可以称为流密码。
序列密码是手工和机械密码时代的主流
◇古典密码算法和现代对称分组密码算法的基本手段是什么?
有何本质差别?
代替置换数据安全基于算法的保密,数据安全基于密钥的保密
•in1949ClaudeShannon提出了代替置换网络的思想substitution-permutation(S-P)networks
–modernsubstitution-transpositionproductcipher
•这是构成现代分组密码的基础
•S-P网络基于密码学的两个基本操作
–substitution(S-box)
–permutation(P-box)
•提供了消息的扩散与混乱
•Diffusion(扩散)
–小扰动的影响波及到全局
–密文没有统计特征,明文一位影响密文的多位,增加密文与明文之间关系的复杂性
•Confusion(混乱)
–强调密钥的作用
–增加密钥与密文之间关系的复杂性
◇代替加密的原理和实现
•简单代替密码(simplesubstitutioncipher),又称单字母密码(monoalphabeticcipher):
明文的一个字符用相应的一个密文字符代替,而且密文所用的字符与一般的明文所用字符属同一语言系统。
•多字母密码(ployalphabeticcipher):
明文中的字符映射到密文空间的字符还依赖于它在上下文中的位置。
◇换位加密的原理和实现
基于字符的密码
•代替密码(substitutioncipher):
就是明文中的每一个字符被替换成密文中的另一个字符。
接收者对密文做反向替换就可以恢复出明文。
•置换密码(permutationcipher),又称换位密码(transpositioncipher):
明文的字母保持相同,但顺序被打乱了。
◇密码分析的基本类型有哪些?
•假设破译者Oscar是在已知密码体制的前提下来破译Bob使用的密钥。
这个假设称为Kerckhoff原则。
最常见的破解类型如下:
①唯密文攻击:
Oscar具有密文串y.
②已知明文攻击:
Oscar具有明文串x和相应的密文y.
③选择明文攻击:
Oscar可获得对加密机的暂时访问,因此他能选择明文串x并构造出相应的密文串y。
④选择密文攻击:
Oscar可暂时接近密码机,可选择密文串y,并构造出相应的明文x.。
这一切的目的在于破译出密钥或密文
◇密码算法的安全性含义?
•无条件安全(Unconditionallysecure)
无论破译者有多少密文,他也无法解出对应的明文,即使他解出了,他也无法验证结果的正确性.
Onetimepad
•计算上安全(Computationallysecure)
- 破译的代价超出信息本身的价值
- 破译的时间超出了信息的有效期.
◇现代对称分组密码的两个基本的设计原则和方法.
针对安全性的一般原则:
–混乱
–扩散
•S-盒是许多密码算法的唯一非线性部件,因此,它的密码强度决定了整个算法的安全强度。
提供了密码算法所必须的混乱作用.
•P置换的目的是提供雪崩效应(明文或密钥的一点小的变动都引起密文的较大变化)
◇典型算法的名称.
•1.TripleDES
•2.IDEA
•3.RC5
•4.RC6
•5.AES
•其他一些较实用的算法,如Blowfish,CAST,以及RC2。
◇分组密码的操作模式
方式
描述
典型应用
特点
电子密码本ECB(electroniccodebookmode)
每个64bit的明文分组使用 同样的密钥加密
单个数值的加密传送(例如一个加密密钥)
在整个报文中同一个64bit明文分组如果出现多次,它们产生的密文总是一样的
密码分组链接CBC(cipherblockchaining)
加密算法的输入是下一个64bit明文和上一个64bit明文的异或,第一块使用初始向量,每个分组使用相同的密钥
通用的面向分组的传输
用户鉴别
用户鉴别
密码反馈CFB(cipherfeedback)
输入每次被处理J个比特。
前边的密文被用来作为加密算法的输入以产生伪随机的输出,这个输出再和明文异或产生下一个单元的密文
通用的面向流的传输
用户鉴别
密文单元反馈回移位寄存器
输出反馈OFB(outputfeedback)
与CFB类似,除了加密算法的输入是前一个DES输出之外
在多噪声信道上(如卫星信道)进行面向流的传输
加密函数的输出被反馈回移位寄存器,传输中的差错不会被传播。
容易受到报文流篡改攻击
•计数器模式CTR(Counter)
◇Feistel分组加密算法结构之思想
•基本思想:
用简单算法的乘积来近似表达大尺寸的替换变换
•乘积密码就是以某种方式连续执行两个或多个密码,以使得所得到的最后结果或乘积从密码编码的角度比其任意一个组成密码都更强。
•交替使用代替和置换(permutation)
•混乱(confusion)和扩散(diffusion)概念的应用
◇数据长度不满足分组长度整数倍时的处理办法?
对最后一个分组做填充。
◇双重DES和三重DES的原理和安全性分析
•C=EK2(EK1(P)) <=>P=DK1(DK2(C))
◇先进对称分组加密算法的特点(了解)
◇DES和AES分别属于Feistel结构和SP网络结构.(了解)
◇链路方式和端到端的方式的优缺点
- 端到端
•Thesourcehostencryptsthedata.
•Thedestinationhostdecryptsit.
•Thepacketheadisintheclear.
•Theuserdataaresecure.
•Thetrafficpatternisinsecure.
•Requireonekeyperuserpair
•Adegreeofuserauthentication.
•在较高的网络层次上实现
- 链路方式
•Dataexposedinsendingnode
•Dataexposedinintermediatenode
•Thepacketheadalmostinsecure.
•Thetrafficpatternissecuretosomedgree.
•Requireonekeyperhosttonodeandnodetonode
•Adegreeofhostauthentication.
•在较低的网络层次上实现
◇基于密码的随机数的产生方式(了解)
•随机数用途,重要的角色,例如
–认证过程中,避免重放攻击
–会话密钥
–RSA公钥算法
•产生方式(线性同余法,密码编码方法)
–循环加密
–DES输出反馈方式
–ANSIX.917伪随机数产生器
–BlumBlumShub(BBS)产生器
◇公钥密码的提出和应用范围
• 密钥管理:
量的困难,分配的困难
• 数字签名的问题:
传统加密算法无法实现抗抵赖的需求。
•加密/解密
•数字签名(身份鉴别)
•密钥交换
◇公钥密码的基本思想和要求
•基本思想:
- 加密与解密由不同的密钥完成
加密:
X->Y:
Y=EKU(X)
解密:
Y->X:
X=DKR(Y)=DKR(EKU(X))
- 知道加密算法,从加密密钥得到解密密钥在计算上是不可行的
- 两个密钥中任何一个都可以用作加密而另一个用作解密(不是必须的)
X=DKR(EKU(X))=EKU(DKR(X))
•公钥算法的条件:
–产生一对密钥是计算可行的
–已知公钥和明文,产生密文是计算可行的
–接收方利用私钥来解密密文是计算可行的
–对于攻击者,利用公钥来推断私钥是计算不可行的
–已知公钥和密文,恢复明文是计算不可行的
–(可选)加密和解密的顺序可交换
◇三种重要的公钥算法的名称及其依据
三类算法:
RSA,ElGamal,ECC
•RSA
–基础:
IFP(IntegerFactorizationProblem)
–加/解密、密钥交换、数字签名
–使用最广泛
•ElGamal
–基础:
DLP(DiscreteLogarithmProblem)
–加/解密、密钥交换、数字签名
•ECC
–基础:
ECDLP(EllipticCurveDiscreteLogarithmProblem)
–加/解密、密钥交换、数字签名
–密钥短,速度快
–正在开始广泛应用
◇ 对公钥密钥加密算法的常见误解
-公开密钥密码算法更安全(×)
任何加密方案的安全程度都依赖于密钥的长度和破译密码所包含的计算工作量。
-公开密钥密码使对称密钥密码过时了(×)
由于当前公开密钥加密在计算上的巨大开销,只限于密钥管理和数字签名中使用。
-公钥的分发是简单和一目了然的(×)
仍然需要某种形式的协议,一般涉及到一个中心代理,整个过程比常规加密中的过程既不简单也不更有效。
◇对称及非对称算法的优缺点
•对称密码算法
–运算速度快、密钥短、多种用途(随机数产生、Hash函数)、历史悠久
–密钥管理困难(分发、更换)
•非对称密码算法
–运算速度慢、密钥尺寸大、历史短
–只需保管私钥、可以相当长的时间保持不变、需要的密钥数目较小
•消息鉴别(MessageAuthentication):
•散列函数(HashFunctions):
•数字签名(DigitalSignature)
◇消息鉴别的目的
是一个证实收到的消息来自可信的源点且未被篡改的过程。
•鉴别的主要目的有二:
第一,验证信息的发送者是真正的,而不是冒充的,此为信源识别;
第二,验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。
•鉴别(Authentication):
真伪性
•认证(Certification)资格审查
◇鉴别函数(理解)
一个散列函数以一个变长的报文作为输入,并产生一个定长的散列码,有时也称报文摘要,作为输出。
–消息加密函数
用完整信息的密文作为对信息的鉴别。
–消息鉴别码MAC
公开函数+密钥产生一个固定长度的值作为鉴别标识
1、接收者可以确信消息M未被改变。
2、接收者可以确信消息来自所声称的发送者;
3、如果消息中包含顺序码(如HDLC,X.25,TCP),则接收者可以保证消息的正常顺序;
–散列函数
是一个公开的函数,它将任意长的信息映射成一个固定长度的信息。
◇散列函数的特性
这个散列值是消息M的所有位的函数并提供错误检测能力:
消息中的任何一位或多位的变化都将导致该散列值的变化。
◇散列函数的构造方法(了解)
◇经典的散列算法
•MD5
•SHA-1
•RIPEMD-160
•HMAC:
HMAC=Hf[IV,So||f(IV,Si||M)]
比较:
MD5 SHA-1 RIPEMD-160
摘要长度 128位 160位 160位
基本处理单位 512位 512位 512位
步数 64(4of16) 80(4of20) 160(5pairedof16)
最大消息长度 无限 264-1位 264-1位
基本逻辑函数 4 4 5
加法常数 64 4 9
Endianness Little-endian Big-endian Little-endian
性能32.4Mbps 14.4Mbps 13.6Mbps
◇数字签名:
特点、分类
是一种防止源点或终点抵赖的鉴别技术。
•必须能够验证作者及其签名的日期时间;
•必须能够认证签名时刻的内容;
•签名必须能够由第三方验证,以解决争议;
因此,数字签名功能包含了鉴别的功能
分类:
直接数字签名directdigitalsignature;仲裁数字签名arbitrateddigitalsignature
◇密钥的生存期和密钥管理的基本概念
密钥的生存期:
授权使用该密钥的周期,限制危险发生,降低密码分析机会。
产生、分配、使用、更新/替换、撤销、销毁
密钥类型:
1)主密钥(KKMs),通过手工分配;
2)密钥加密密钥(KKs),通过在线分配;
3)数据密钥(KDs)。
◇密钥分配
-公开密钥的分配
公开宣布
公开可以得到的目录
需要可以信任的中央授权机构,若成功修改了目录,则攻击者可假冒用户
图7,公开目录
公开密钥管理机构
图8,公开密钥管理机构
公钥证书:
泄漏私钥等价于丢失证书,证书的时间作为有效期
图9,公开密钥证书的交换
–基于对称密码体制的密钥分配
主密钥需要通过安全信道传输:
直接方式或分拆开来部分传输
静态分配:
由中心以脱线方式预分配
动态分配:
在线的“请求-分发”,
集中式分配:
引入一个KDC,该KDC与任何一个实体均共享一个密钥,如Kerboros协议
分步式分配:
通过相同地位的主机间协商解决,如Diffie-Hellman密钥交换
图1,带鉴别与抗重放机制的密钥分配方案(Needham/SchroederProtocol[1978])
图2,一种透明的密钥控制方案
图3,分散式密钥控制
–基于公开密码体制的秘密密钥分配
图4,简单秘密密钥分配
图5,具有保密和鉴别能力的分配
混合方案
•仍然使用KDC
•KDC与每个用户都拥有{公钥,私钥}对
•KDC与每个用户共享主密钥(对称密钥密码)
•会话密钥的分发由主密钥完成
•主密钥更新由公钥完成
◇PKI基本概念
PKI是一个用公钥概念与技术来提供安全服务的普适性基础设施;
PKI是一种标准的密钥管理平台,
能够为所有网络应用透明地提供采用加密和数字签名等服务所需的密钥和证书管理。
提供的基本服务:
鉴别,完整性,保密性和不可否认性
注册机构(RA):
是一个负责执行和注册一个主体有关的管理性工作实体。
包括确认主体的身份和验证主体确实有权拥有在证书中所请求的值
证书的注销是通过CRL(证书吊销列表)进行的
证书中最重要的信息为:
个体名字、个体公钥、机构签名、算法、用途
◇Diffie-Hellman密钥交换协议及中间人攻击及改进办法
•Diffie-Hellman密钥交换协议:
双方选择素数p以及p的一个原根a
(1)U随机选择aU∈Zp,计算aaUmodp并发给V
(2)V随机选择aV∈Zp,计算aaVmodp并发给U
(3)U计算(aaVmodp)aUmodp=aaUaVmodp
(4)V计算(aaUmodp)aVmodp=aaUaVmodp
双方获得共享密钥(aaUaVmodp)
•Diffie-Hellman密钥交换协议的中间人攻击
(1)U随机选择aU∈Zp,计算aaUmodp并发给V
(2)W截获,选择a1∈Zp,计算aa1modp并发给V
(3)V随机选择aV∈Zp,计算aaVmodp并发给U
(4)W截获,选择a2∈Zp,计算aa2modp并发给U
(5)U计算(aa1modp)aUmodp=aaUa1modp
(6)V计算(aa2modp)aVmodp=aaVa2modp
(7)W计算(aaUmodp)a1modp=aaUa1modp,
(aaVmodp)a2modp=aaVa2modp
•数字签名可抵抗中间人攻击的方法→STS协议
(1)U随机选择aU∈Zp,计算aaUmodp并发给V
(2)V随机选择aV∈Zp,计算aaVmodp以及K=aaUaVmodp=(aaU)aVmodp,YV=SigV(aaUmodp||aaVmodp)并把(aaVmodp,YV)发给U
(3)U计算K=aaUaVmodp=(aaV)aUmodp,解密YV后验证SigV(aaUmodp||aaVmodp);然后计算YU=SigU(aaUmodp||aaVmodp),再把YU发给V
(4)V解密YU并验证SigU(aaUmodp||aaVmodp)
•数字签名使得中间人攻击无法成人奏效
•共享密钥K(=aaUaVmodp)也得到了验证
◇压缩、编码和加密
1,压缩和加密一起使用的原因:
减少明文中的冗余,降低密码分析成功的几率,提高加密速度
2,如果要加入纠错码的话,应在加密之后
◇鉴别的概念和两种情形:
鉴别就是确认实体是它所声明的。
实体(身份)鉴别:
证实客户的真实身份与其所声称的身份是否相符的过程。
数据原发鉴别:
鉴定某个指定的数据是否来源于某个特定的实体。
◇实现身份鉴别的途经
–Somethingtheuserknow(所知)
•密码、口令等
–Somethingtheuserpossesses(拥有)
•身份证、护照、密钥盘等
–Somethingtheuseris(orHowhebehaves个人特征)
•指纹、笔迹、声音、虹膜、DNA等
◇鉴别机制:
(了解)
–非密码的鉴别机制
–基于密码算法的鉴别
采用对称密码算法的机制
采用公开密码算法的机制
采用密码校验函数的机制
◇重放攻击的形式和对抗措施
常见的消息重放攻击形式有:
1、简单重放:
攻击者简单复制一条消息,以后在重新发送它;
2、可被日志记录的复制品:
攻击者可以在一个合法有效的时间窗内重放一个带时间戳的消息;
3、不能被检测到的复制品:
这种情况可能出现,原因是原始信息已经被拦截,无法到达目的地,而只有重放的信息到达目的地。
4、反向重放,不做修改。
向消息发送者重放。
当采用传统对称加密方式时,这种攻击是可能的。
因为消息发送者不能简单地识别发送的消息和收到的消息在内容上的区别。
1)针对同一验证者的重放:
非重复值
2)针对不同验证者的重放:
验证者的标识符
◇鉴别和交换协议的核心问题
–保密性:
为了防止伪装和防止暴露会话密钥,基本鉴别与会话密码信息必须以保密形式通信。
–时效性:
防止消息重放攻击。
◇传统加密方法
–Needham/SchroederProtocol[1978]
1、A→KDC:
IDA||IDB||N1
2、KDC→A:
EKa[Ks||IDB||N1||EKb[Ks||IDA]]
3、A→B:
EKb[Ks||IDA]
4、B→A:
EKs[N2]
5、A→B:
EKs[f(N2)]
–DenningProtocol[1982]
1、A→KDC:
IDA||IDB
2、KDC→A:
EKa[Ks||IDB||T||EKb[Ks||IDA||T]]
3、A→B:
EKb[Ks||IDA||T]
4、B→A:
EKs[N1]
5、A→B:
EKs[f(N1)]
–KEHN92
1、A→B:
IDA||Na
2、B→KDC:
IDB||Nb||EKb[IDA||Na||Tb]
3、KDC→A:
EKa[IDB||Na||Ks||Tb]||EKb[IDA||Ks||Tb]||Nb
4、A→B:
EKb[IDA||Ks||Tb]||EKs[Nb]
◇Kerberos
•特点
–基于口令的鉴别协议
–利用对称密码技术建立起来的鉴别协议
–可伸缩性——可适用于分布式网络环境
–环境特点:
User-to-serverauthentication
•
SummaryofKerberosVersion4MessageExchanges
(a)AuthenticationServiceExchange:
toobtainticket-grantingticket
(1)C→AS:
IDC||IDtgs||TS1
(2)AS→C:
EKC[Kc,tgs||IDtgs||TS2||Lifetime2||Tickettgs]
Tickettgs=EKtgs[Kc,tgs||IDC||ADC||IDtgs||TS2||Lifetime2]
(b)Ticket-grantingServiceExchange:
toobtainservice-granting