第8章 报文鉴别技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

22
MAC和基于加密的鉴别方式的比较
基于MAC的消息鉴别,鉴别过程独立于加密和解密。 适用于不同的应用场合。 鉴别函数与保密函数的分离能提供结构上的灵活性。 可将鉴别和加密在不同层次、节点完成。 MAC方式更适合不需要加密保护的数据的鉴别。 在某些应用中,鉴别报文的真实性比报文的保密性 更重要 与基于加密的鉴别方式相比,MAC方式不能提供数字 签名,因为收发双方共享相同的密钥。
密钥仅被A和B共享,A是唯一拥有密钥K和生成密文的一方。如 果密文被恢复,B就可以知道M中的内容没有被篡改,因为不 知道密钥K将无法改变密文X从而使明文Y产生变化。
消息M对于B来说 未知的,B如何判 断密文M的合法性
9
对称密钥加密鉴别实现方式
• 问题:B如何判断收到的密文X的合法性? • 如果消息M是具有某种语法特征的文本,或者M本身 具有一定的结构 :B可通过分析Y的语法或结构特征。 • 如果消息M是完全随机的二进制比特序列: B无法判 断是否正确恢复密文。 • 解决办法:强制明文使其具有某种结构。 –这种结构易于识别、不能被复制,同明文相关, 并且不依赖于加密。 • 最简单的办法:对报文M进行加密以前,在报文上附 加一个检错码(检错码形式可以多种多样,如使用贞 检验序列号或贞校验和)。
13
TCP Header
14
基于报文加密方式的鉴别—公开密钥加密方式
A是唯一拥有 Kra的人,用Kua 解密,鉴别消息 来源为A; 附加特定结构 提高鉴别能力, 一般包含用户A 签名
15
报文鉴别码MAC
• 报文鉴别码或消息鉴别码(message authentication code,MAC):核心是一个类似于加 密的算法CK()。 • CK() 在密钥的作用下,以报文内容作为输入,其输 出值是一个较短的定长数据分组,也就是MAC,即: MAC = CK(M) • MAC被附加在报文中传输,用于消息的合法性鉴别。 • 鉴别过程:假定通信双方共享一个密钥K。当源点A 向终点B发送消息M时,首先计算出该消息报文M的 MAC值: MAC = CK(M)。MAC被附加到原始报文发 送到接收者B。B使用相同的密钥K对收到的报文M执 行相同的计算并计算出新的MAC,并与收到的MAC进 行比较。 16
7
鉴别函数的分类
• 基于报文加密方式的鉴别: 以整个报文的密文作为 鉴别符。 • 报文鉴别码(MAC)方式。 • 散列函数方式: 采用一个公共散列函数,将任意长 度的报文映射为一个定长的散列值,并以散列值作 为鉴别符。
8
基于报文加密方式的鉴别—常规对程加密
对称密钥加密方式 :加密的同时提供保密和鉴别。
12
附加报文鉴别结构
• 终点B –接收密文 X; –用密钥K解密得到明文Y=DK(X),其中Y被视为附加 校验码的消息,即 Y= [M′‖C′]; –利用校验函数F 计算明文Y中消息部分的校验码 F(M′)。若校验码相匹配,即F(M′)=C′,则可 确认报文是可信的,M′就是原始消息M,并且可 以确认该报文就是来自A的,因为任何随机的比特 序列是不可能具有这种期望的数学关系的。
32
散列函数的特性
• • • •
散列函数H( ) 的输入可以是任意大小的数据块。 散列函数H( ) 的输出是定长。 计算需要相对简单,易于用软件或硬件实现。 单向性:对任意散列码值 h,要寻找一个M,使 H(M) = h在计算上是不可行的。 • 弱抗冲突性(weak collision resistance):对任何给 定的报文M,若要寻找不等于M的报文M1 使H( M1 ) = H(M) 在计算上是不可行的。该性质能够防止伪造 。 • 强抗冲突性(stronge collision resistance):要找到 两个报文M和N使H(M)=H(N)在计算上是不可行的。 该性质指出了散列算法对“生日攻击”的抵抗能力。
20
MAC的应用——明文鉴别和保密
AB: EK2[ M||CK1(M)]—明文与鉴别连接 Provides authentication -- only A and B share K1 21 Provides confidentiality -- only A and B share K2
MAC函数 Vs 加密函数 两者类似,都需要密钥。 MAC函数可以是一个单向函数,而加密函数必须是可逆 的。MAC鉴别函数的这个数学性质使得它比加密函数 更不易被破解。 MAC算法不能提供信息的保密性 ,保密性可以通过对 消息加密来提供。 两种方式: 1.先计算 MAC 再加密; 2.先加密再计算 MAC。 需要两个独立的密钥。
信息工程学院
景旭
jingxu1818@163.com
第8章
报文鉴别技术
Βιβλιοθήκη Baidu
1
报文鉴别的概念
报文鉴别(Message Authentication) Message:消息、报文。 Authentication: 鉴别、认证。 鉴别:消息的接收者对消息进行的验证。 鉴别的主要目的: 真实性:验证报文的发送者是真正的,而不是冒 充的,此为信源识别; 完整性:在传送或存储过程中未被篡改,重放或 延迟等
报文鉴别码的安全性分析
对MAC的强行攻击 这种验证可能需要进行多个轮次,这到最终产生一个惟一的 密钥; 第一轮:选择M1和MAC1,对所有2k个key计算,得到的匹配的 密钥的数量2(k-n); 第二轮:再选择M2和MAC2,对2(k-n)个key计算,得到的匹配 的密钥的数量2(k-2n); „„ 大约需要进行k/n轮才能找出一个惟一正确的密钥。 攻击的计算量约为:2k+2(k-n)+2(k-2n)+„„。 MAC函数强行攻击的难度大于对密码的攻击的难度。
30
报文鉴别码的安全性分析
对MAC函数CK()进行强行攻击的过程 已知消息M1及其对性的 MAC1; 对所有可能的MAC密钥Ki,计算消息M1的MAC值,其 中至少存在一个Ki,使得 CKi(M1)=MAC1 由于密钥的空间为2k个,因此上述的计算将产生2k 个MAC结果,而MAC的空间为2n<2k,故必然存在多 密钥产生相同 MAC结果; 因此,一般来说,对密钥空间进行一次穷举搜索, 将产生大约2k-n个可能正确的密钥,而分析者无 法确定其中哪一个是正确的key; 为此,分析者需要选择一组新的M2和MAC2,对上面 产生的 2k-n个结果进行验证,进一步缩小搜索的 范围。 31
2
网络通信的安全威胁
(1)泄漏:消息的内容被泄漏没有合法权限的人或过程。 加强消息和报文的保密性,通过加密手段 (2)伪造:以假冒源点的身份向网络中插入报文; 防范的一般方法是消息鉴别技术,数字 (3)消息篡改:内容篡改、序号篡改、时间篡改 (4)行为抵赖 签名也有防信息伪造和篡改的能力,是 包括防止信源或信宿抵赖的鉴别技术 • 接收端否认收到某报文; • 源点否认发过某报文。 数字签名 (5)流量分析:发现通信双方的通信方式。在一个面向 连接的应用中,可以用来确定连接的频率和持续时 间长度。在一个面向连接或无连接的应用中,可以 报文鉴别提供了一种证实收到的报文来自可信的源 用来确定报文数量和长度。 点且未被篡改的过程,它也可证实序列编号和及时 性。
27
基于常规加密报文和公钥散列码加密的鉴别方案 K可以用 Kub吗?
使用常规密钥对报文和已使用公开密钥加密的散列码 一起进行加密AB: EK[M||EKRa[H(M)]]
Provides authentication and digital signature Provides confidentiality
18
MAC的应用——只提供鉴别
AB: M||CK(M) Provides authentication-- only A and B share K
19
MAC的应用——密文鉴别
该方案不可取
AB: EK2 [M]||CK(EK2 [M])—密文与鉴别连接 Provides authentication -- Using K1 Provides confidentiality -- Using K2
23
散列函数
• hash function:哈希函数、摘要函数(报文鉴别码 特例)。 • 输入:任意长度的消息报文 M。 • 输出:一个固定长度的散列码值 H(M)。 • 散列码值是报文中所有比特的函数值,并具有差错检 测能力,报文中任意内容的变化将导致散列码的改 变。 • 单向函数。 • 散列算法自身不保密,需要某些手段来保护散列值
对程密钥的散列码加密的鉴别方案
对称加密,将加密后的散列值Ek[H(M)]附加在报文M上
Provides authentication -- H(M) is cryptographically protected
26
基于公钥的散列码加密的鉴别方案
AB: M||EKRa[H(M)] 提供鉴别和数字签名(只有发送方A可以生成加 密的散列码EKRa[H(M)],这是数字签名本质)。
10
基于报文加密方式的鉴别—附加报文鉴别结构
F(M)消息的任何 附加类型结构, 如TCP头部
检验码被作为作为内部差错控 制,在加密之前附加到明文
11
附加报文鉴别结构
• 源点A –对消息明文M首先利用校验函数F 计算出消息的 校验码 C=F(M); –校验码 C=F(M)被附加到原始消息明文上,生成 新的明文 [M‖C]; –利用密钥K对明文 [M‖C]进行加密,得到密文 X=EK [M‖C]; –将密文X发送给接收端 B
24
基本的散列函数报文鉴别
对称密钥加密。对附加了散列码的报文[M||H(M)]加密, 得到密文Ek[M||H(M)]。保密和鉴别
Provides confidentiality -- only A and B share K Provides authentication -- H(M) is cryptographically protected 25
3
鉴别与保密的关系
是构成信息系统安全的两个方面,但属于两个不同属 性上的问题:用密码保护传送的报文,使其不被破 译;是防止对手对系统进行主动攻击,如伪造,篡 改报文等。 鉴别或认证(authentication)则是防止主动攻击的 重要技术,它对于开放的网络中的各种信息系统的 安全性有重要作用。 鉴别的主要目的: 验证报文的发送者是真正的,而不是冒充的,此为信源 识别; 验证报文的完整性,在传送或存储过程中未被篡改, 重放或延迟等。
6
报文鉴别系统的功能
从层次角度上来看,报文鉴别系统的功能一般可以划 分成两个基本的层次: (1)鉴别函数:在较低的层次上,系统需要提供某种报 文鉴别函数 f 来产生一个用于实现报文鉴别的鉴别 符或鉴别码; (2)鉴别协议:消息的接收者通过鉴别协议完成对报文 合法性的鉴别,底层的鉴别函数通常作为一个原语, 为高层鉴别协议的各项功能提供服务; 鉴别函数 f 是决定鉴别系统特性的主要因素。
采用报文鉴别码的鉴别方式
17
报文鉴别码的功能
• 如果B端通过比较发现MAC匹配,则可确信报文M没有 被篡改过 (完整性) –若攻击者更改报文内容而末更改MAC,则接收者 计算出的MAC将不同于接收到的MAC; –由于攻击者不知道密钥K,故他不可能计算出一 个与更改后报文相对应MAC值。 • 接收者B也能够确信报文M是来自发送者A的 (真实 性) –只有A了解密钥K,也只有A能够计算出报文M所对 应的正确的MAC值。
28
散列码明文鉴别方案
不使用加密技术,但灵活使用散列码。双方约定公 共密值S。计算散列值时密值S被附加,传输时仅传 M,即AB: M||H(M||S)
Provides authentication -- only A and B share S
29
报文鉴别码的安全性分析
MAC函数的特性:为多对一映射 M相同,存在多个 Key 产生相同的 MAC; Key相同,多个 M 产生相同的 MAC。 n-bitMAC:有2n个可能的 MAC。 k-bit密钥:有2k个可能的密钥(n< k)。 N种可能的消息。 显然,N >> 2n。
4
纯报文鉴别系统模型
5
报文鉴别系统模型说明
(1)在这个系统中的发送者通过一个公开的无干扰信道 将消息送给接收者,接收者不仅要收到消息本身, 而且还要验证消息是否来自合法的发送者及消息是 否经过篡改。 (2)系统中的密码分析者不仅要截收和破译信道中传送 的密报,而且可伪造密文送给接收者进行欺诈(将 其称为系统的窜扰者------tamper) 。 (3)实际鉴别系统可能还要防止收方、发方之间的相互 欺诈。 (4)上述标出的鉴别编码器和鉴别译码器可抽象为鉴别 函数。一个安全的鉴别系统,首先要选好恰当的鉴 别函数,然后在此基础上,给出合理的鉴别协议 (Authentication Protocol)。
相关文档
最新文档