信息系统安全工程认证技术软件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信息系统安全工程》之
认证技术
西南交通大学 信息科学与技术学院 李晓航
Last Modified: 2015.09
1
零、认证
认证(Authentication)是防止主动攻击的重要技术, 对于开放环境中各种信息系统的安全有着重要作用
认证的主要目的:
验证消息来自意定的、真实的发送者; 验证消息的完整性,在传送或存储过程中未被篡改、重
14
采用对称加密算法产生MAC
可以将任何工作于CBC模式的常规分组算法作为 MAC函数,并将CBC的最后一个分组当作MAC
DAA(Data Authentication Algorithm)算法
该算法是使用最广的MAC函数(FIPS PUB 113, ANSI X9.17),基于DES-CBC模式;
放或延迟等; 提供不可否认性。
认证采用的主要技术
报文鉴别(Message authentication) 数字签名(Digital signature) 身份识别(Identity verification)
2
一、散列函数
1、散列函数概况 2、常用散列函数
3
1、散列函数(Hash函数)概况
报文鉴别码(Message Authentication Code, MAC)是一个定长的数据分组,它是报文和一个 密钥的函数:
MAC = Ck(M)
如果收发双方共享一个密钥,则
1、发送端发送报文时,可计算报文的MAC,并将其附 在报文后一起传送。
2、接收端采用相同的算法和密钥,对收到的报文进行 同样的计算,产生新的MAC, 如果新的 MAC 和收到的 MAC相同,则收端可以确信:
得 H(x)=H(y), 在计算上不可行(弱抗碰撞); 6、寻找任意的一对分组(x,y), 使得 H(x)=H(y),
在计算上不可行(强抗碰撞)。
5
散列函数的有效安全级别
假设散列函数的输出为 m 比特,可以将其抗各种攻 击的有效安全级别表示为:
单向
2m
弱抗碰撞
2m
强抗碰撞
2m/2
这意味着安全散列函数的输出长度有一个下界:
SHA-1
25D55AD283AA400AF464 C76D713C07AD
7C222FB2927D828AF22F5 92134E8932480637C0D
MD5
输入文件(1.4G):
The.Imitation.Game.2014.mp4 SHA-1
A3DD6A05AD84FB733 ECB01EFA275002F
散列函数本身不是保密的
散列函数没有密钥的参与,散列值仅仅是报文的函数
4
散列函数的需求
1、H能用于任意长度的数据分组; 2、H产生定长的输出; 3、对任意给定的X,H(X)要容易计算; 4、对任何给定的 h,寻找 x 使得H(x)=h,在计算
上不可行(单向特性); 5、对任意给定的分组 x,寻找不等于 x 的 y,使
生一个定长值的密钥作为鉴别符; 带密钥的散列函数(HMAC):将秘密因素引入原始报
文,然后对其进行散列,并将散列函数的结果作为鉴 别码。
10
2、利用单钥加密实现鉴别
报文加密本身可以提供一定程度的鉴别能力 如果采用常规加密,则
1)接收方知道报文一定是由发送方创建的,因为创建 该报文对应的密文的密钥只有发送方和接收方所共享;
算法步骤: 1)取IV=0, 并将报文最后一个分组用 0 填充成 64 比特; 2)采用 DES 的 CBC 模式加密报文; 3)抛弃加密的中间结果,只将最后一组密文(或最后一 组密文的左边 M (16≤M≤64)比特)作为MAC;
从目前的角度看,64 比特的MAC长度较小
15
产生MAC的DAA算法
散列函数以一个变长的报文M作为输入,产生一 个定长的输出(散列码)的函数,可记为
h = H(M) ( |M| > |h| )
散列函数的目的是为文件、报文或其他分组数据 产生“指纹”,常用于报文鉴别和数字签名
散列函数是一个多对一的函数
因此在理论上,必定存在不同的报文对应同样的散列, 但这种情况在实际中必须不可能出现(计算上不可行)
1)报文没有被更改过(包括外界的干扰和人为篡改); 2)报文来自意定的发送者。
13
利用MAC保证数据完整性的原理
数如据调发发度送系送方统方A,
M
k
C
事先共享密钥 K
在网络上传输的报 文,如调度命令
||
M
Ck(M)
k
数 如据被接接控收收站方方B,
C
是 和Ck(M) 否 相同吗?
接受
拒绝
攻击者(不知道收发双方当前 的密钥 K),试图篡改报文
93F661DAB2E912AF28 02F1BB32BB527739F6 3107
8
二、报文鉴别
1、概述 2、利用单钥加密实现鉴别 3、报文鉴别码(MAC) 4、带密钥的散列函数
9
1、概述
报文鉴别的主要用途
保证消息的完整性; 保证消息来源的可靠性;
报文鉴别的主要方法
报文加密: 以整个报文的密文作为它的鉴别符; 报文鉴别码(MAC):以一个报文的公共函数和用于产
2、 SHA-百度文库 算法
SHA(安全散列算法)由 NIST在1993年公布 (FIPS PUB 180),并在1995年进行了修订, 称为SHA-1( FIPS PUB 180-1);
算法产生160比特的散列码; SHA-1是目前首选的散列算法。
7
常用散列函数演示
MD5
输入字符串: “12345678”
40 bit 的散列长度将非常不安全:因为仅仅在220≈100 万个随机的散列值中就有 50% 的概率发现一个碰撞。
一般建议最小的报文散列的长度为128 bit,实际中常 采用 160bit。
6
2、常用散列函数
1、 MD5 算法
MD5的散列码只有128比特, 其对抗生日攻击的 有效级是264,从现在的角度看太小,安全性不 够。
2)并且(加密后的)报文的内容没有被篡改过,如果报 文的内容(密文)被篡改,则解密后无法恢复原始的合法 报文(明文)。
报文的内部结构
为了增强鉴别能力,最好能使原始的报文(明文)具有某 种结构,这样在接收端可以通过验证这种结构,来确 定报文是否被篡改。
11
利用单钥加密实现鉴别
发送方
接收方
12
3、报文鉴别码
相关文档
最新文档