本章要点 15 消息认证是用来验证消息完整性的一种机制或服务。消 息认证确保收到的数据确实和发送时的一样(即没有修 改、插入、删除或重放),且发送方声称的身份是真实 有效的。 对称密码在那些相互共享密钥的用户间提供认证。用消 息发送方的私钥加密消息也可提供一种形式的认证。 用于消息认证的最常见的密码技术是消息认证码和安全 散列(hash)函数。 MAC是一种需要使用秘密密钥的算法,以可变长的消 息和秘密密钥作为输入,产生一个认证码。拥有秘密密 钥的接收方产生一个认证码来验证消息的完整性 。 散列函数将可变长度的消息映射为固定长度的散列值 或叫消息摘要。对于消息认证码,安全散列函数必须以 某种方式和秘密密钥捆绑起来。 2022/10/9 现代密码学理论与实践-11 2/34
2022/10/9 现代密码学理论与实践-11 2/34 本章要点 ⚫ 消息认证是用来验证消息完整性的一种机制或服务。消 息认证确保收到的数据确实和发送时的一样(即没有修 改、插入、删除或重放),且发送方声称的身份是真实 有效的。 ⚫ 对称密码在那些相互共享密钥的用户间提供认证。用消 息发送方的私钥加密消息也可提供一种形式的认证。 ⚫ 用于消息认证的最常见的密码技术是消息认证码和安全 散列(hash)函数。 ⚫ MAC是一种需要使用秘密密钥的算法,以可变长的消 息和秘密密钥作为输入,产生一个认证码。拥有秘密密 钥的接收方产生一个认证码来验证消息的完整性。 ⚫ 散列函数将可变长度的消息映射为固定长度的散列值, 或叫消息摘要。对于消息认证码,安全散列函数必须以 某种方式和秘密密钥捆绑起来
海连天才 15 消息认证Message Authentication 。消息认证(报文认证)关心的问题是 。保护消息的完整性 ·验证发起方身份 。消息源的不可否认(解决分歧) ·消息认证要考虑安全需求 ·三种消息认证的方法 ●消息加密 ●消息认证码(MAC) 。哈希函数 甲 受.道置品 2022/10/9 现代密码学理论与实践-11 3/34
2022/10/9 现代密码学理论与实践-11 3/34 消息认证 Message Authentication ⚫ 消息认证(报文认证)关心的问题是 ⚫ 保护消息的完整性 ⚫ 验证发起方身份 ⚫ 消息源的不可否认(解决分歧) ⚫ 消息认证要考虑安全需求 ⚫ 三种消息认证的方法 ⚫ 消息加密 ⚫ 消息认证码(MAC) ⚫ 哈希函数
11.1对认证的要求 15 。网络通信环境中可能的攻击 泄密Disclosure,将消息透露给没有合法身份的第三方 传输分析Traffic analysis,分析双方通信模式 ● 伪装Masquerade,欺诈源向网络中插入一条消息 内容篡改Content modification,对消息内容的修改 ● 顺序篡改Sequence modification,对消息顺序的修改 计时篡改Timing modification,对消息的延时和重放 ● 信源抵赖Source repudiation,发送方否认发送过某消息 ●信宿抵赖Destination repudiation,接收方否认接收过某消息 ● 消息认证就是验证所收到的消息确实来自真正的发送 方且未被修改的消息,也可以验证消息的顺序和时效 2022/10/9 现代密码学理论与实践-11 4/34
2022/10/9 现代密码学理论与实践-11 4/34 11.1 对认证的要求 ⚫ 网络通信环境中可能的攻击 ⚫ 泄密Disclosure,将消息透露给没有合法身份的第三方 ⚫ 传输分析Traffic analysis,分析双方通信模式 ⚫ 伪装Masquerade,欺诈源向网络中插入一条消息 ⚫ 内容篡改Content modification,对消息内容的修改 ⚫ 顺序篡改Sequence modification,对消息顺序的修改 ⚫ 计时篡改Timing modification,对消息的延时和重放 ⚫ 信源抵赖Source repudiation,发送方否认发送过某消息 ⚫ 信宿抵赖Destination repudiation,接收方否认接收过某消息 ⚫ 消息认证就是验证所收到的消息确实来自真正的发送 方且未被修改的消息,也可以验证消息的顺序和时效
11.2认证函数 15 11.2.1消息加密 。消息加密本身提供了一种认证手段 对称加密 接收方可以确信消息是由发送方产生的, 因为除了 接收方以外只有发送方拥有加密密钥,产生出用此 密钥可以解密的密文 如果消息可以是任意的位模式,接收方无法确定收 到的消息是合法明文的密文。因此,通常不管密文 的值是什么,如果解密后得到的明文有合法明文的 位模式,接收方都会作为真实的密文接收。 评 2022/10/9 现代密码学理论与实践-11 5/34
2022/10/9 现代密码学理论与实践-11 5/34 11.2 认证函数 11.2.1 消息加密 ⚫ 消息加密本身提供了一种认证手段 ⚫ 对称加密 ⚫ 接收方可以确信消息是由发送方产生的,因为除了 接收方以外只有发送方拥有加密密钥,产生出用此 密钥可以解密的密文 ⚫ 如果消息可以是任意的位模式,接收方无法确定收 到的消息是合法明文的密文。因此,通常不管密文 的值是什么,如果解密后得到的明文有合法明文的 位模式,接收方都会作为真实的密文接收
Source- Destination 步⊙车K术 M E M 1950/ K EK(M) (a)Conventional encryption:confidentiality and authentication M E D M KUb EKUp(M) KRb (b)Public-key encryption:confidentiality M D M KRa EKR(M) KUa (c)Public-key encryption:authentication and signature M 一9 M KR EKRa(M)KUp EKUp[EKR(M)]KRb EKRa(M)KUa 2022/10/9 (d)Public-key encryption:confidentiality,authentication,and signature 6/34
2022/10/9 现代密码学理论与实践-11 6/34
解决解密所得消息是否具有可读性的问题 15 要求明文具有某种易于识别的结构,如在加密前 对每个消息附加一个帧校验序列FCS FCS和加密函数执行的顺序很重要 Source A Destination B- M F M F(M) F(M) Compare Eg[M II F(M)] (a)Internal error control K K Ek[M] M M Ex[M] FEx[M]) (b)External error control 受赠道■显 20 Figure 11.2 Internal and External Error Control 7134
2022/10/9 现代密码学理论与实践-11 7/34 解决解密所得消息是否具有可读性的问题 ⚫ 要求明文具有某种易于识别的结构,如在加密前 对每个消息附加一个帧校验序列FCS ⚫ FCS和加密函数执行的顺序很重要
公钥加密作为认证手段 15 若要提供认证,发送方用自己的私钥对消息加密, 接收方用发送方的公钥解密(验证),就提供了认证 功能。 ● 如果发送方用私钥加密消息,再用接收方的公钥加 密,就实现了既保密又认证的通信。 这也需要注意区分伪造的不合理的消息。 既保密又认证的通信的代价是需要执行四次复杂的 公钥算法而不是两次。 评 处道道品 2022/10/9 现代密码学理论与实践-11 8/34
2022/10/9 现代密码学理论与实践-11 8/34 ⚫ 若要提供认证,发送方用自己的私钥对消息加密, 接收方用发送方的公钥解密(验证),就提供了认证 功能。 ⚫ 如果发送方用私钥加密消息,再用接收方的公钥加 密,就实现了既保密又认证的通信。 ⚫ 这也需要注意区分伪造的不合理的消息。 ⚫ 既保密又认证的通信的代价是需要执行四次复杂的 公钥算法而不是两次。 公钥加密作为认证手段
Table 11.1 Confidentiality and Authentication Implications of Message Encryption(see Figure 11.1) 海车柔大 A→B:E[MM 105 .Provides confidentiality -Only A and B share K .Provides a degree of authentication -Could come only from A -Has not been altered in transit -Requires some formatting/redundancy .Does not provide signature -Receiver could forge message Sender could deny message (a)Symmetric encryption A→B:ExU,M] .Provides confidentiality -Only B has KR,to decrypt .Provides no authentication -Any party could use KUp to encrypt message and claim to be A (b)Public-key encryption:confidentiality A→B:E,M] .Provides authentication and signature -Only A has KR to encrypt Has not been altered in transit -Requires some formatting/redundancy -Any party can use KU to verify signature (c)Public-key encryption:authentication and signature A→B:EKU[EKR(M] .Provides confidentiality because of KU .Provides authentication and signature because of Kra 2022/10/9 (d)Public-key encryption:confidentiality,authentication,and signature 9/34
2022/10/9 现代密码学理论与实践-11 9/34
11.2.2消息认证码MAC 15 使用密钥产生短小的定长数据分组,即所谓的密码检 验MAC,将它附加在报文中。通信双方A和B共享密 钥K,报文从A发往B,A计算MAC=CK(M),附在报文 后发给B。B对接收到的报文重新计算MAC,并与接 收到的MAC比较。如果只有收发双方知道密钥且两个 MAC匹配,则: 接收方可以确信报文未被更改; ● 接收方可以确信报文来自声称的发送者; 。接收方可以确信报文序号正确,如果有的话。 ● 报文认证不提供保密 MAC函数类似加密,但非数字签名,也无需可逆 将MAC直接与明文并置,然后加密传输比较常用 道道道品 2022/10/9 现代密码学理论与实践-11 10/34
2022/10/9 现代密码学理论与实践-11 10/34 11.2.2 消息认证码MAC ⚫ 使用密钥产生短小的定长数据分组,即所谓的密码检 验MAC,将它附加在报文中。通信双方A和B共享密 钥K,报文从A发往B,A计算MAC=CK(M), 附在报文 后发给B。B对接收到的报文重新计算MAC,并与接 收到的MAC比较。如果只有收发双方知道密钥且两个 MAC匹配,则: ⚫ 接收方可以确信报文未被更改; ⚫ 接收方可以确信报文来自声称的发送者; ⚫ 接收方可以确信报文序号正确,如果有的话。 ⚫ 报文认证不提供保密 ⚫ MAC函数类似加密,但非数字签名,也无需可逆 ⚫ 将MAC直接与明文并置,然后加密传输比较常用
MAC:消息认证码的特点 ”★家水 15 ·MAC加密所得的消息校验和 MAC Ck(M) 使用一个秘密密钥K,浓缩一个变长的消息M,产生一个固 定长度的认证子 ● MAC是一种多对一的函数 定义域由任意长的消息组成,值域由所有可能的MAC和密 钥组成。若使用n位长的MAC,则有2n个可能的MAC,有N条 可能的消息,N>>2”.若密钥长度为k,则有2k种可能的密钥。 如N为2100,n为10,共有2100不同的消息,210种不同的MAC, 平均而言同一MAC可由210/210=290条不同的消息产生。若 密钥长度为5,测从消息集合到MAC值的集合有25=32不同 映射。 可以证明,由于认证函数的数学性质,与加密相比,认证 函数更易被攻破 道置道品 2022/10/9 现代密码学理论与实践-11 11/34
2022/10/9 现代密码学理论与实践-11 11/34 ⚫ MAC加密所得的消息校验和 MAC = CK(M) ⚫ 使用一个秘密密钥K,浓缩一个变长的消息M,产生一个固 定长度的认证子 ⚫ MAC是一种多对一的函数 ⚫ 定义域由任意长的消息组成,值域由所有可能的MAC和密 钥组成。若使用n位长的MAC, 则有2 n个可能的MAC, 有N条 可能的消息, N>>2n . 若密钥长度为k, 则有2 k种可能的密钥。 ⚫ 如N为2 100, n为10, 共有2 100不同的消息, 210种不同的MAC, 平均而言同一MAC可由2 100/ 210=290条不同的消息产生。若 密钥长度为5,则从消息集合到MAC值的集合有2 5=32不同 映射。 ⚫ 可以证明,由于认证函数的数学性质,与加密相比,认证 函数更不易被攻破 MAC:消息认证码的特点