2.4数据完整性验证

1.数据完整性概述

  • 数据完整性指数据不会被非授权更改或破坏,如篡改、删除、插入等

  • 主要类型:带恢复的连接完整性、不带恢复的连接完整性、选择字段连接完整性、无连接完整性、选择字段无连接完整性

  • 主要实现技术:基于密码技术的完整性保护和基于非密码技术的完整性保护

  • 在网络中的配置:可以配置在网络层、传输层和应用层

2.基于密码技术的完整性保护

  • 基本思想:利用密码技术在密钥的控制下生成被保护数据的认证符,密钥私密性保证只有授权用户才能产生正确的认证符,密码技术的安全特性保证只要对数据做了非授权修改,则通过认证符一定可以检测,即认证符对于数据的变化非常敏感

  • 主要方法:

    • 消息加密:将整个消息加密或者将消息的Hash值加密形成的消息摘要作为认证符。可以应用对称密码和公钥密码技术,如果用公钥密码,该方法则为数字签名。

    • 消息认证码(Message Authentication Code,MAC):输入消息和密钥,产生定长的输出作为认证符。

    • 认证加密(AE):同时为数据提供机密性和完整性的算法,避免分离地利用机密性和完整性算法,提高效率。

3.数据完整性验证Hash函数H:X->Y

  • 把任意长度的消息X,通过算法变换成固定长度的输出Y--Hash值或消息摘要(Message Digest)

  • 常用的Hash函数:

    • SHA1输出长度为160bit

    • SHA256输出长度为256bit

    • SHA512输出长度为512bit

    • MD5输出长度为128bit

    • 中国的Hash函数标准--SM3         其输出值的长度为256位,其安全性及效率与SHA-256相当

4.Hash函数的安全性

2.4数据完整性验证_第1张图片

  • 单向性:第(1)个问题不可解

  • 抗弱碰撞:第(1)和(2)问题不可解

  • 抗强碰撞:第(1)和(3)问题不可解

5.基于对称密码加密的数据完整性保护模型

2.4数据完整性验证_第2张图片

  • 提供的安全服务:

    • 数据原发鉴别:基于共享的密钥K

    • 数据完整性检测:消息摘要

6.基于数字签名的数据完整性保护模型

2.4数据完整性验证_第3张图片

  • 提供的安全服务:

    • 数据原发鉴别:基于共享的密钥K

    • 数据完整性检测:消息摘要

7.消息认证码MAC模型

2.4数据完整性验证_第4张图片

K为密钥,F为MAC函数

  • 基于Hash函数MAC--HMAC

  • 基于分组的MAC--DAA和CMAC

8.基于分组密码的MAC

(1)HMAC

  • 改进已有的Hash函数,将密钥用到Hash函数中

  • 应用不同的Hash函数得到不同的HMAC     HMAC-MD5   HMAC-SHA1  HMAC-SHA256  HMAC-SHA512

  • HMAC已作为NIST的标准发布

(2)DAA

采用DES算法的密码块链(CBC)模式,且初始向量取为0

2.4数据完整性验证_第5张图片

DAA的安全隐患

对于短消息,攻击者可以很容易就找到符合条件的M‘使MAC(K,M')=MAC(K,M)

2.4数据完整性验证_第6张图片

(3)CMAC

相当于使用三个密钥客服DAA的安全弱点,其中两个密钥由加密密钥导出

适用AES和3DES

2.4数据完整性验证_第7张图片

你可能感兴趣的:(网络安全,网络,安全)