6.3.25 完整性和校验码

6.3.25.1 校验码用于检查所存储、发送或复制的数据没有错误的计算值。 该值根据适当的算法计算, 并与数据一起传输或存储。当随后 访问数据时, 计算新的校验码并与原始校验码进行比较, 如果 匹配, 则表明没有错误。校验码算法有许多类型和版本, 并且 被推荐用于检测归档文件中的意外或故意错误的实践和标准。

6.3.25.2 加密版本是在保护数据不受有意损坏的情况下唯一一种具有可 靠信任记录的类型, 而即使是最简单的加密版本现在也不可 靠。最近显示, 有些方法可以创建无意义的位, 并计算成给定 的 MD5 校验码。这意味着外部或内部入侵者可以用无意义的数 据替换数字内容, 除非利用时打开该文件, 否则错误检查管理 系统并不会察觉到这种攻击。 MD5, 长度是 124 bit, 尽管仍然 用于传输, 但是在安全问题很关键的地方不应该使用。SHA -1 是另一种受到威胁的加密算法, 在理论上已被证明可以被规 避。SHA-1 的长度为160 bit: SHA-2 具有 224 bit、256 bit、 348 bit 和 512 bit 长度的版本, 与 SHA-1 在算法上类似。从长 远来看, 计算能力的稳步增长意味着这些校验码也会受到影响。

6.3.25.3 即使有这些影响, 校验码也是检测意外错误的有效途径, 如 果并入受信任的数字仓储, 可能足以在低风险情况下发现对 数据文件的故意损害。但是, 在存在风险的地方, 甚至在不 存在风险的地方, 保存计划中必须包括对校验码及其有效性 的监控。