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函数的安全性
-
单向性:第(1)个问题不可解
-
抗弱碰撞:第(1)和(2)问题不可解
-
抗强碰撞:第(1)和(3)问题不可解
5.基于对称密码加密的数据完整性保护模型
-
提供的安全服务:
-
数据原发鉴别:基于共享的密钥K
-
数据完整性检测:消息摘要
-
6.基于数字签名的数据完整性保护模型
-
提供的安全服务:
-
数据原发鉴别:基于共享的密钥K
-
数据完整性检测:消息摘要
-
7.消息认证码MAC模型
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
DAA的安全隐患
对于短消息,攻击者可以很容易就找到符合条件的M‘使MAC(K,M')=MAC(K,M)
(3)CMAC
相当于使用三个密钥客服DAA的安全弱点,其中两个密钥由加密密钥导出
适用AES和3DES文章来源:https://www.toymoban.com/news/detail-479410.html
文章来源地址https://www.toymoban.com/news/detail-479410.html
到了这里,关于2.4数据完整性验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!