密码学中的数据完整性
到目前为止,我们讨论了使用对称和公钥方案来实现信息的机密性。 在本章中,我们开始讨论旨在提供其他安全服务的不同加密技术。
本章的重点是数据完整性和用于实现数据完整性的加密工具。
数据完整性的威胁
交换敏感信息时,接收方必须确保消息完整地来自预期发送方,并且没有被无意或其他方式修改。 数据完整性威胁有两种不同类型,即被动和主动。
被动威胁
此类威胁的存在是由于数据的意外更改。
这些数据错误很可能是由于通信信道中的噪声而发生的。 此外,当文件存储在磁盘上时,数据可能会损坏。
纠错码和简单的校验和(例如循环冗余校验(CRC))用于检测数据完整性的丢失。 在这些技术中,数据摘要通过数学计算并附加到数据中。
主动威胁
在此类威胁中,攻击者可以恶意操纵数据。
在最简单的层面上,如果数据没有摘要,则可以在不被检测到的情况下对其进行修改。 系统可以使用将 CRC 附加到数据的技术来检测任何主动修改。
在更高级别的威胁下,攻击者可能会修改数据并尝试从现有摘要中导出修改数据的新摘要。 如果使用简单的机制(例如 CRC)计算摘要,则这是可能的。
采用哈希函数等安全机制来应对主动修改威胁。