第8章 消息认证(Message Authentication)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M2
Ek (x)
M3
M4
Ek(x) Ek (x)
…
Mn
… Ek (x)
C1
C2
C3
C4 … Cn = MAC′
如何实现消息认证
1. 加密 – 消息內容只有加密者和拥有解密密钥者才知道, 确保消息的秘密性。 – 如果明文內容中有可辨别的信息,则可确认消息 的正确性
1) 对称加密系统 – 优点:计算速度快 – 缺点:事先必須分享好共同密钥
or a checksum to detect any changes
Encryption for authentication
• First symmetric encryption:
– Let M be a message of some bit pattern – Eg. M=X||111110000011111 – Authenticator: V=EK(M) – Authentication
认证内容
• 认证的种类 • 认证的需求 • 认证的功能
认证的种类
• 消息认证(Message Authentication) • 身份认证(Identity Authentication) • 基于身份的身份认证(ID-based Identity
Authentication)
消息认证
• 目的 – 验证消息是否为真正的通讯双方所传送,并 验证信息在传送过程中未遭受遗失、插入 及篡改也就是确保信息的完整性(Integrity)
Source
Destination
M
||
M
E
F
D
M
F(M)
K
F(M)
EK[ M || F(M) ]
K
Compare
F
(a) Internal error control
K
EK[ M ]
K
M
E
||
EK[ M ]
F
F(EK[M])
D
M
F
Compare
(b) External error control
Message Encryption
• Compute DK(V)=M’ • Check M’=X’||111110000011111
Encryption for authentication (cont.)
• Second symmetric encryption • Compute a “checksum” (frame check
Recall: Encryption for authentication
Source
Destination
M
||
M
E
F
D
M
F(M)
K
F(M)
EK[ M || F(M) ]
K
Compare
F
(a) Internal error control
K
EK[ M ]
1. Guarantee no message changed 2. Confirm the message sent by specified user
2. 如何实现消息认证
• 消息认证码(Message Authentication Code)
MAC
M
发送方
• 发送方用双方都知道的密钥计算出 MAC值,并连同消息送給接收方
如何实现消息认证
1. 加密实现认证——CBC-MAC
CBC模式
n 分组消息 M = (M1,", Mn ) , 校验码为MAC:
Cn为认证码 MAC。
M1
M2
IV
M3
M4
…
Mn
Ek (x) Ek(x)
Ek (x)
Ek (x)
… Ek (x)
C1
C2
C3
C4
仅需对消息认证, 而不需加密时,传送 消息 : M 认证码: Cn=MAC ( k, IV, M) 初始向量: IV
• 方法 – 消息认证码(Message Authentication Code, MAC) – 数字签名(Digital Signature) – 加密(Encryption)
认证的功能
• 认证的应用 – Authenticated Key Exchange (AKE) • 同时进行身份认证与密钥交换的协议 – Authenticated Encryption • 同时具备签名与加密两种功能,有确保消 息完整性与身份认证的效果 – 电子商务上的应用,如电子付款、电子投票
3. 数字签名 – 消息来源认证 – 消息不可否否认性 – 消息的完整性 – 但计算量大
如何实现消息认证
4. hash函数构造—消息认证码 (Message Authentication Code, MAC) 较简单的方法是利用具密钥的杂凑函数 (Keyed Hash Function)产生MAC. 可以实现消 息认证 (Message Authentication)或完整性 (Integrity)
Structure of Message Digest
MD5不再安全!?
安全的杂凑函数在设计时必须满足两个要求
● 找到两个不同输入而得到相同的输出值在计算上是不可行的—— 抗碰撞 ● 给定一输出值找出输入值在計算上是不可行的——单向性
2004年在Crypto會議,來自山東大學的王小云等教授发表了一 份「破解」MHale Waihona Puke Baidu5的把报告
MAC′
M
接收方
• 接收方欲知道在消息传送的过程中, 是否有被篡改,於是做以下验证: – Step1:用与发送方共享的密钥算 M’的MAC值 – Step2: 比较算出來的MAC值是否 和传送过来的MAC’一样,如果一 样即通过验证
• Authenticator: a short string (value) MAC appended to a message M for authenticating the message
• An attacker cannot modify M without recalculating the MAC=CK(M’)
Message Digest
目标:确保信息的完整性(Integrity) 特色:
(1) 不需密钥 (2) 任意长信息输入,固定长摘要输出 (3) 找出两个不同的输入,使输出相同在计算上很难 常用系統: MD5 (RFC 1321) SHA-1 (FIPS 180-1)
2) 公钥加密系统 – 优点:不需要事先必須分享好共同密钥 – 缺点:计算速度慢, 需要认证公钥来源的正确性
如何实现消息认证
2. 数字信封 – 结合对称加密系统和公钥加密系统 – 利用对称加密系统计算量较少优点來加密消息 – 利用公钥加密系统來加密对称密钥,所以不必 事先分享好密钥。
如何实现消息认证
… Cn = MAC
检验方法:
验证者仅收到消息 M 和认证码 MAC ,他需要:
Step1 计算消息 M 的校验码 Step2 利用共享密钥使用CBC模式对 M 加密,将得到的最 后一个密文分组与接受到的认证码 MAC 比较,二者一致时 判定接收的明文无错;二者不一致时判定明文出错。
M1
IV
Ek (x)
• if public-key encryption is used:
– encryption provides no confidence of sender – since anyone potentially knows public-key – however if
• sender signs message using their private-key • then encrypts with recipients public key • have both secrecy and authentication
认证的种类–消息认证
• 以MAC為例
– M为发送方要发送给接收方的信息 – K为发送方与接收方事先分享的密钥 – MAC的输入为M与K,输出为digest (只有拥有K的人才能計
算出digest) – 接收方可以利用MAC,对收到的M’或digest’做验证,以确
保消息的完整性
Message Encryption
– Compute C’’=CK(M’) – Check whether C’=C’’
MAC: example
• The last block of DES-CBC Cipher block
chainiTnimge =m1 ode Time = 2
D1 (64 bits)
D2
Time = N - 1
MAC: security
• Only A and B who share a key can create a valid MAC code for a message M
• Only the designated receiver A or B can authenticate the received message
– again need to recognize corrupted messages – but at cost of two public-key uses on message
Message authentication code
• Prerequisite: A and B shares a key K
● 提出一种可以快速找到碰撞的方法 ● 受影响的算法—— MD5、HAVAL-128、MD4、RIPEMD ● SHA-0及減弱条件下的SHA-1不安全——在任何初始值下
用240次hash运算可以找出SHA-0的碰撞 ● SHA-1预计至2010年也会被破解
美国政府5年内将不再使用SHA-1,并计划在2010年改用其他更长 更安全的算法(如SHA-224、SHA-256、SHA-384和SHA-512)来替 代
DN-1
Time = N
DN
K (56 bits)
DES Encrypt
+
K
DES Encrypt
+
• • •K
DES Encrypt
+
DES
K
Encrypt
O1 (64 bits)
O2
ON-1
ON
DAC (16 to 64 bits)
Figure 8.6 Data Authentication Algorithm (FIPS PUB 113)
– Can be a session key
• MAC: a short fixed-size data block, depending on the message M and the shared key K
• MAC(K,M)=CK(M) • Sender: M||CK(M) • Receiver: on receiving M’|C’
• message encryption by itself also provides a measure of authentication
• if symmetric encryption is used then:
– receiver know sender must have created it – since only sender and receiver know key used – know content cannot of been altered – if message has suitable structure, redundancy
1. 消息认证目的
双方通讯时,可能面临 • 窃听、伪造、伪装、重放、篡改……攻击 • 双方如何知道消息的来源和內容是否正确、完整?
1. 消息认证目的
• 消息认证目的包括 – 消息內容认证 – 消息来源认证 – 可信任的通訊密钥建立
消息认证(Message Authentication)
Goal: A => M => B
– Sender: M Î M||MAC – Receiver: M||MAC Î yes/no (authentication)
• Methods (Important)=> Thinking
Method-1: Message encryption Method-2: Message authentication code Method-3: Hash function (Partial properties)
sequence)
– Let F be a public checksum function – Compute C=EK(M||F(M)) – Authentication
• Compute DK(C)=M’||S’ • Check S’=F(M’)
Encryption for authentication (cont.)