当前位置:
文档之家› 第3讲 公钥密码和消息认证-(1)消息认证方法
第3讲 公钥密码和消息认证-(1)消息认证方法
2
3.1 消息认证方法
加密可以防止被动攻击(窃听)。
消息认证可以检测主动攻击(伪造数据和业 务)。
认证包括:
•验证消息的内容有没有被篡改 •验证消息的来源是否可信 •验证消息的时效性(消息有没有被认为地延迟或重放) •两个实体之间消息流的相对顺序
3
网络与信息安全
3
消息内容认证
• 消息内容认证常用的方法:
②冒充攻击 •攻击者冒充合法用户发布虚假消息。 •为避免这种攻击可采用身份认证技术。
③重组攻击
•把以前协议执行时一次或多次传输的信息重新组合进行攻击。 •为了避免这类攻击,把协议运行中的所有消息都连接在一起。
④篡改攻击 •修改、删除、 添加或替换真实的消息。 •为避免这种攻击可采用消息认证码MAC或hash函数等技术。
网络与信息安全
8
方法二:非加密算法的消息认证
• 不依赖于加密算法,都会生成认证标签, 并附在消息的后面进行传输。消息本身并 不会被加密,因此不提供消息的保密性。
• 通常消息认证和消息加密是两个独立的功 能,但在一些特殊场景下可以将两者结合 起来使用。
网络与信息安全
9
消息认证码
• MAC(Message authentication code)
• 另一种是通信双方事先约定各自发送消息所使用的通行字 ,发送消息中含有此通行字并进行加密,接收者只需判别 消息中解密的通行字是否等于约定的通行字就能鉴别发送 者。为了安全起见,通行字应该是可变的。
网络与信息安全
5
消息序号和操作时间的认证
• 消息的序号和时间性的认证主要是阻止消 息的重放攻击。
• 常用的方法有消息的流水作业、链接认证 符随机数认证和时间戳等。
• 可以使用现有的算法来充当MAC算法。MAC 算法类似于加密,不同点是认证算法不需 要可逆,加密算法必须可逆。
网络与信息安全
12
单向哈希函数
• 哈希函数接收变长的消息作为输入,生成定长的 哈希摘要H(M)。
• 利用哈希函数进行认证的工作原理同MAC一样。 区别是哈希函数不需要密钥输入。• 方法:网络与信来自安全15使用秘密值
秘密值:发送方和接收方共享的秘密
MD'M=H(S||M)2
MDM=H(S||M)2
网络与信息安全
MDM=H(S||M)2
16
消息认证中常见的攻击和对策
①重放攻击
•截获以前协议执行时传输的信息,然后在某个时候再次使用。
•对付这种攻击的一种措施是在认证消息中包含一个非重复值,如序列号、时戳、随 机数或嵌入目标身份的标志符等。
网络与信息安全
10
消 息 认K 证 码
消息
MAC 算法
消息 MAC
消息 MAC 算法
MAC
双 方 K共 享 密 钥
MAC
MAC
MAC'M=F(K,M)
MACM=F(K,M)
发送方
MACM=F(K,M)
接收方
网络与信息安全
11
消息认证码
• 许多算法可以生产MAC,NIST标准推荐使用 DES,使用密文的最后几个比特用作MAC(如 16bit或32bit)。
网络与信息安全
Network and information security
主讲 陈付龙
安徽师范大学 计算机与信息学院 (2020年)
第3讲公钥密码和消息认证
3.1 消息认证方法 3.2 安全散列函数 3.3 消息认证码 3.4 公钥密码原理 3.5 公钥密码算法 3.6 数字签名
网络与信息安全
– 消息发送者在消息中加入一个鉴别码(MAC、 MDC等)并经加密后发送给接受者(有时只需 加密鉴别码即可)。
– 接受者利用约定的算法对解密后的消息进行鉴 别运算,将得到的鉴别码与收到的鉴别码进行 比较,若二者相等,则接收,否则拒绝接收。
网络与信息安全
4
源和宿的认证
• 一种是通信双方事先约定发送消息的数据加密密钥,接收 者只需要证实发送来的消息是否能用该密钥还原成明文就 能鉴别发送者。如果双方使用同一个数据加密密钥,那么 只需在消息中嵌入发送者识别符即可。
• 又称:消息鉴别码、文件消息认 证码、讯息鉴别码、信息认证码
• 利用密钥对消息加密获得的数据
• 是经过特定算法后产生的一小段 信息,检查某段消息的完整性, 以及作身份验证。
• 它可以用来检查在消息传递过程 中,其内容是否被更改过,不管 更改的原因是来自意外或是蓄意 攻击。同时可以作为消息来源的 身份验证,确认消息的来源。
网络与信息安全
17
网络与信息安全
6
如何进行实现消息认证功能?
• 方法一:利用常规加密算法的消息认证 • 方法二:非加密算法的消息认证
网络与信息安全
7
方法一:利用常规加密算法的消息认证
• 若使用对称加密模型,如果消息里带有错误检测 码和序列号,则接收者能够确认消息是否被篡改 过。
• 对数据认证而言只使用对称加密的方法不是一个 合适的工具。例如分组重排的威胁,即在分组加 密ECB模式下,攻击者重排密文分组次序后每一个 分组仍然能被成功地解密。
– 使用传统加密
– 使用公钥加密
– 使用秘密值
网络与信息安全
13
使用传统加密
MD'M=H(M)
MDM=H(M)
MDEM=EK(MDM) 网络与信息安全
MDM=DK(MDEM)
14
使用公钥加密
MD'M=H(M)
MDEM=EPRa(MDM)
MDM=H(M)
MDM=DPUa(MDEM)
优势:既能提供数字签名又能提供消息认证;不需要在通信各方之间分发密钥。