第5章 认证技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图5-5(a) 使用对称加密方法对附加哈希值的消息进行加密
22
⑵使用对称加密方法仅对哈希值进行加密
用户A M H E Ek [H(M)] M || H 比较 D 用户B
K
K
这种方法针对消息无需保密的情况,从而减少了 图5-5(b) 使用对称加密方法仅对哈希值进行加密 由加密而增加的处理负担。
23
⑶使用公开密钥加密方法和发送方的私有密钥仅
10
算法描述:
O1=EK(D1)
O2=EK(D2⊕O1)
O3=EK(D3⊕O3) …………………… ON=EK(DN⊕ON-1) MAC函数类似于加密。它与加密的区别是MAC
函数无需可逆,而对解密则必须是可逆的。
结果由于认证函数的这个数学性质使得它比加密 函数更不易被破解。
11
3. 消息认证方案
38
5.3.2 数字签名 1. 数字签名的需要 消息认证是一个证实收到的消息来自可信的源点 且未被第三方篡改的过程。消息认证也可证实序列编 号和及时性,但它并不能保证双方自身的相互欺骗。 例如,假设A发送一个认证消息给B,双方之间的 争议可能有多种形式: ●B伪造一个不同的消息,但声称是A发送的。
作为消息认证码。
9
Time = 1
Time = 2 D2 (64bits)
Time = N
D1 (64bits)
DN (64bits)
K
DES
K
DE S
s)
O2 (64bits)
ON (64bits) DAC (16 to 64 bits)
图5-2 基于DES的消息认证码
第5章 认证技术
李文媛
E-mail:lwyuan78@ M. P. :89008713 QQ:106190093 Office:2-604
教学目标
本章介绍认证的概念、认证码、认证协议、 数字签名及一些认证的方法与技术。
应掌握以下内容:
(1) 理解认证、认证系统、认证码、认证协议 及数字签名的概念;
● 加密算法可能受专利的保护。
● 加密算法易遭到美国政府的出口限制。
28
表5-1归纳了图5-5中说明的保密和认证方法。
表5-1 不同哈希值提供的保密和认证方法 (a) A→B:EK[M||H(M)] ● 提供认证 ● 提供保密 (b) A→B:M||EK[H(M)] ● 提供认证 (c) A→B:M||EKRa[H(M)] ● 提供认证和数字签名 (d) A→B:EK[M||EKRa[H(M)]] ● 提供认证和数字签名 ● 提供保密 (e) A→B:M||H(M||S) ● 提供认证 (f) A→B:EK[M||H(M||S)] ● 提供认证和数字签名 ● 提供保密
33
1. 仲裁协议(Arbitration Protocol) 在该协议的完成过程中,引入值得信赖的、公正 的第三方仲裁者。仲裁者能帮助互不信任的双方完成 协议。 T
A
B
在现实生活中,律师、银行等可充当仲裁人角色。
34
然而,在计算机领域中,若让计算机充当仲裁人
时,则会遇到如下一些新的问题:
●互相怀疑的通信双方很可能也怀疑作为仲裁者 的计算机。 ●在计算机网络中,引入仲裁者,也同样会产生 额外的成本开销。 ●当协议中引入仲裁者时,就会增加时延。 ●作为仲裁者的计算机需要对每一次会话加以处 理,可能会成为系统的瓶颈。
M C
D
M
K2
K1 K1
K2 比较
CK1[EK2(M)] 图5-3(c) 消息认证与保密 ,认证与密文连接
14
对称加密能提供认证,同时也已有广泛应用的现
成产品,为什么不简单地使用它们而要采用独立的消 息认证码呢? ⑴将相同的消息对许多终点进行广播的应用。如 通知用户某时段网络进行维护。此时,只需要一个终 端进行消息的认证。 ⑵一方有繁重的任务,无法负担对所有收到的消 息进行解密的工作量。仅进行有选择地认证,对消息
秘密值S本身并不被发送,攻击者无法更改中途截 获的消息,也就无法产生假消息。此方法只提供认证。
26
图5-5(e) 通信各方共享一个公共的秘密值S的哈希值
⑹通过对包含消息和哈希值的整体进行加密就能 对方法⑸增加保密功能
图5-5(f) 在方法(e)的基础上增加保密功能
27
需要认证的几种原因: ● 使用加密软件加密速度很慢。 ● 加密硬件的费用是不可忽略的。 ● 加密硬件是针对大长度数据进行优化的。
16
5.2.2 使用哈希函数的消息认证 1. 哈希函数概念 哈希函数可以接受可变长度的数据输入,并生成 定长数据输出的单向函数。这个定长的输出是输入数 据的哈希值或称消息摘要、散列码、数字指纹。
17
哈希值以函数H产生: h=H(M) 其中: ● M是变长的消息; ● H是一个将任意长度的消息M映射为一个较短 定长的哈希值h的哈希函数;
(2) 理解消息认证的原理; (3) 掌握认证方案;
教学内容
● 5.1 概述
● 5.2 消息认证
● 5.3 数字签名
● 实验与习题
5.1 概述
认证(Authentication)是保证信息完整性、
有效性,以防止主动攻击的重要技术。
认证的主要分为两个方面:
⑴消息认证:验证信息的完整性,即验证数
据在传输或存储过程中未被窜改、重放或延迟等。 ⑵实体认证:包括信源、信宿等的身份认证 和识别;
证据 证据 骗是否存在,而不能防止
欺骗的发生。
36
3. 自动执行协议(Self-enforcing Protocol) 协议本身就保证公平性,这种协议不需要仲裁者 的参与,也不需要裁决者来解决争端,如果协议中的 一方试图欺骗另一方,那么另一方会立刻检测到该欺
骗的发生,并停止执行协议。
A
B
37
若让计算机代替人类,必须使计算机按照事先设 计的协议来执行。人可以对新环境作出相应的反应, 而计算机在这点上却几乎无灵活性可言。
哈希值是消息中所有位的函数值,并有差错检测 能力,消息中任意一位或若干位发生改变都将导致哈
希值发生改变。
不同哈希值可以提供的几种消息认证的方式如下。
21
⑴使用对称加密方法对附加哈希值的消息加密
用户A
M || M‖H(M) Ek[M‖H(M)] M E M D M H 比较
用户B
H
K K H(M)
认证原理:因为只有A和B共享密钥K,因此M消 息必定来自A且未被篡改。因为对包括消息和哈希值 的整体进行加密,因此还提供保密。
传输或过程中是否被假冒、伪造或篡改,是否感染病毒等, 即保证信息的完整性和有效性。
在网络应用中,许多报文是并不需要加密,只需要确
认真实性。如何让接收报文的目的站来鉴别没有加密的报 文的真伪,正是消息认证的目的。 消息认证通常采用的方法: ● 采用MAC的消息认证
● 使用哈希函数的消息认证
7
5.2.1 采用MAC的消息认证 1. 消息认证码 消息认证码(Message Authentication Code, MAC)是一种实现消息认证的方法。MAC是由消息M 和密钥K的一个函数值产生的,即:MAC=Ck(M)
29
3.2.3 MD5算法 消息摘要(Message Digest,MD)算法(RFC 1321)由Rivest提出,是当前最为普遍的哈希算法, MD5是第5个版本。 MD5 算法逻辑:
● 输入:任意长度的消息
● 输出:128位消息摘要
● 处理:以512位输入数据块为单位
30
教学内容
● 5.1 概述
● 5.2 消息认证
● 5.3 数字签名
● 实验与习题
5.3 认证协议与数字签名
5.3.1 协议的基本概念
协议(Protocol)是两个或两个以上的参与
者为完成某项特定的任务而采取的一系列步骤。 这个定义包含三层含义: ● 协议自始至终是有序的过程,必须依次执 行每一步骤。 ● 协议至少需要两个参与者。
● h=H(M)是定长的哈希值。
哈希函数并不能提供机密性,并且它们不能使用 密钥来生成消息摘要。哈希函数非常适合于认证和确 保数据的完整性。
18
哈希函数的性质:
⑴H可以作用于一个任意长度的数据分组输入, 产生一个固定长度的输出。
⑵任意给定消息M,计算h=H(M)容易。 ⑶任意给定h,找到M满足H(M)=h很难,计算上 不可行性,即单向性。 ⑷任意给定的数据块M,找到不等于M的M',使 H(M)=H(M')在计算是不可行性。有时也称弱抗冲突。 ⑸找到任意数据对(x,y),满足H(x)=H(y)是计算不 可行的。有时也称强抗冲突—生日攻击。
因此,协议应该对所要完成的某项任务的过程加
以抽象。无论是客户机还是服务器,所采用的通信协
议都是相同的。这种抽象不仅可以大大提高协议的适
应性,而且还可使我们十分容易地辨别协议的优劣。 协议不仅应具有很高的运行效率,而且还应具有 行为上的完整性。在设计协议时,要考虑到完成某项 任务时可能发生的各种情况,并对其作出相应的反应。
● 执行协议后,必须能够完成某项任务。
32
密码协议是使用密码学的协议。在协议中使用密 码的目的是防止偷听或欺骗。 协议的参与者可能是相互完全信任的人,也可能 相互完全不信任的人甚至是敌人。 其主要协议类型有3种: ●仲裁协议(Arbitration Protocol) ●裁决协议(Adjudicated Protocol) ●自动执行协议(Self-enforcing Protocol)
其中: MAC的认证过程:通信双方A和B共享密钥K。 ● M是变长的消息; 当A要向B发消息时,首先计算MAC,并将它附加在 消息的后面,然后发给B。接收者B首先使用相同的 ● K是仅由收发双方共享的密钥;
密钥K,对收到的消息M重新计算一个新的MAC,然 ● Ck(M)是定长的认证码。 后将收到的MAC与新计算得出的MAC进行比较。
用户A源点
M || M C 比较 CK(M) K 用户B终点
C
K
图5-3(a) 消息认证,只提供认证而不提供保密
12
用户A M || C CK1(M) K1 CK1(M) K2 K2 M E M D M
用户B
C
比较
K1
图5-3(b) 消息认证与保密 ,认证与明文连接
13
用户A
用户B
M
E
M || EK2(M) C
对哈希值进行加密
用户A M H E ERa [H(M)] KRa D || M H 用户B
比较
KUa
既提供认证,又提供数字签名。 图5-5(c) 使用公开密钥加密方法和发送方的私有密钥 仅对哈希值进行加密
24
⑷同时提供保密性和数字签名
图5-5(d) 同时提供保密性和数字签名
25
⑸通信各方共享一个公共的秘密值S的哈希值
19
2. 简单的哈希算法
简单哈希函数的操作使用一般性原则,即输入消
息序列。输入的处理方式是以迭代的方式每次处理一
个分组。一个最简单的哈希函数是每个分组按比特异
或(XOR)。
M1M2M3M4…Mn
+
M1 +M2 + M3 + M4 + … +Mn
图5-4 最简单的哈希函数
20
3. 采用哈希函数的消息认证
8
假定只有接收方和发送方知道密钥K,同时,如 果收到的MAC与计算得出的MAC匹配,那么: ● 接收者确信消息未被更改过。 ● 接收者确信消息来自所谓的发送者。 ● 接收者确信消息所包含序号的正确性。
2. 基于DES的消息认证码
有很多算法可用来生成消息认证码。例如,基于
DES可以生成消息认证码,这时可使用密文后若干位
4
认证不能自动地提供保密性,而加密也不能自然 地提供认证功能。
窜扰者
信源
认证编码器
认证译码器
信宿
安全信道 密钥源
图5-1 纯认证系统的模型
5
教学内容
● 5.1 概述
● 5.2 消息认证
● 5.3 数字签名
● 实验与习题
5.2 消息认证
消息认证是一种过程,它使通信的接收方能够验证所
收到的报文(发送者和报文内容、发送时间、序列等)在
进行随机检查。
⑶对某些应用,也许不关心消息的保密性而更看
重消息的真实性。
15
⑷用户期望在超过接收时间后继续延长保护期限,
同时允许处理消息的内容。
(5)认证函数与保密函数的分离能够提供结构上 的灵活性。如可以在应用层完成认证,而在传输层实
现保密功能。 注意:MAC并不提供数字签名,因为收发双方
共享相同的密钥。
●A可以否认发过该消息,B无法证明A确实发了 该消息。
●仲裁者容易成为被攻击的焦点。
35
2. 裁决协议(Adjudicated Protocol) 在仲裁协议中引入仲裁者会增加系统的造价,在 实际中引入“裁决”协议。只有发生纠纷时,裁决者 才执行此协议;而无纠纷发生时,并不需要裁决人的
参与。裁决者也是一个公正的、可信赖的第三方。
A B T
裁决协议只能检测欺
相关文档
最新文档