数据完整性
计算机科学· Unit 6: Security, privacy and data integrity· 5 分钟阅读
1. 核心概念:什么是数据完整性?★★☆☆☆⏱ 10 min
数据完整性
确保数据随时间推移保持准确、完整和一致,且不会被未经授权或意外方式篡改的数据特性。
例:
银行交易在存储和传输后仍保留正确数值,即拥有完整的数据完整性。
数据完整性常与两个相关概念混淆,CIE考试经常要求你区分它们:
数据准确性: 指数据是否正确描述了它所代表的现实世界概念。数据可以是一致的(高完整性)但不准确(例如错误的客户出生日期被正确存储)。
数据安全性: 指保护数据免受未经授权的访问。数据可以是安全的但已损坏(例如磁盘上损坏的加密数据会丢失完整性,但仍对未经授权用户不可访问)。
一名学生在在线表单中将出生日期填写为12/13/2005(月份为13)。这会影响准确性、完整性还是两者都受影响?
- 1
月份取值13是无效的,且不符合学生的真实出生日期,因此这是准确性错误。
- 2
如果系统一致无误地存储了13这个值,数据保持输入后未被修改:它仍然拥有完整性。
- 3
结论:这是准确性错误,而非完整性错误。验证规则会在存储前拒绝无效条目,从而维护完整性。
Exam tip:
当题目要求区分这些术语时,务必分别定义每个术语才能获得满分。
2. 数据完整性的常见威胁★★☆☆☆⏱ 15 min
数据完整性可能被意外事件和故意事件破坏:
意外损坏: 硬件故障(例如磁盘坏扇区)、网络传输错误、写入操作时断电,或数据录入/编辑时的人为错误。
故意损坏: 攻击者的未经授权修改、篡改数据的恶意软件,或内部人员篡改记录。
物理/环境损坏: 热、水或冲击对存储介质造成损坏,导致存储位翻转。
银行在保存新客户交易记录时发生断电。解释这对数据完整性的影响。
- 1
断电前可能只有部分新交易记录被写入磁盘。
- 2
这会导致记录不完整,还可能损坏存储设备上定位记录的文件系统索引。
- 3
此时数据不一致且不完整:这就是数据完整性的直接丢失。
Exam tip:
务必将威胁与对完整性的具体影响关联起来,不要只描述威胁本身。
3. 错误检测:奇偶校验与校验和★★★☆☆⏱ 25 min
校验和
从数据块计算得到的小型数值,用于验证数据在传输或存储过程中未被损坏。
例:
对数据分组中所有字节求和得到的8位校验和。
奇偶校验是最简单的错误检测方法。每个数据块添加一个额外的奇偶校验位,使1位的总数为偶数(偶校验)或奇数(奇校验)。
对于7位数据1011010,使用偶校验得到的奇偶校验位是多少?
- 1
统计输入数据中1位的数量:
- 2
- 3
偶校验要求1位的总数(包括校验位)为偶数。4已经是偶数,因此校验位为0。
- 4
最终传输的8位值:
01011010
计算3个字节01001011, 00101001, 01011100的8位校验和。
- 1
将每个二进制字节转换为十进制:, ,
- 2
计算这些值的总和:
- 3
- 4
对于8位校验和,我们只保留8位结果(丢弃溢出)。208的8位二进制是
11010000,因此这就是校验和。
Exam tip:
务必在答案中明确说明你使用的是偶校验还是奇校验,才能获得满分。
4. 其他完整性维护机制★★★☆☆⏱ 15 min
除了基础错误检测外,还有许多用于长期维护数据完整性的机制:
加密哈希: 从输入数据生成固定长度的哈希;数据的任何修改都会改变哈希值。用于验证完整性,防范故意篡改。
冗余与备份: 数据在不同位置存储多份副本,当一份副本损坏时可以恢复完整数据。RAID存储使用该机制实现硬件故障容错。
数据库验证规则: 约束(数据类型检查、范围检查、外键规则)确保只存储有效、一致的数据。
循环冗余校验 (CRC): 一种基于多项式的错误检测方法,用于网络和存储,比简单校验和更有效。
测试你的理解:
简单奇偶校验可以检测以下哪种错误?
A:任何1位错误
B:任何2位错误
C:所有错误,无论位数多少
D:没有错误
显示答案
A —1位翻转会使1位的数量变化1,从而改变奇偶性,因此会被检测到。2位翻转不会改变奇偶性,因此无法被检测到。
5. 常见陷阱
错误做法:
将数据完整性与数据准确性或数据安全性混淆
原因:
CIE考试经常要求区分这些术语;混淆它们会丢失所有分数
正确做法:
记住:完整性 = 一致且未被修改,准确性 = 符合真实世界,安全性 = 保护免受未经授权访问
错误做法:
声称简单奇偶校验可以纠正错误
原因:
考生经常夸大奇偶校验的功能,导致丢分
正确做法:
始终记住:奇偶校验只能检测奇数个位错误,无法纠正错误
错误做法:
计算奇偶校验时统计1位数量错误
原因:
这是奇偶校验计算题目中最常见的可避免错误
正确做法:
先统计原始数据中的1位数量,再添加校验位以满足要求的总奇偶性
错误做法:
声称校验和可以防止数据损坏
原因:
校验和只能检测损坏,无法阻止损坏发生
正确做法:
校验和是错误检测工具:它们识别损坏,以便你恢复或重新传输数据
6. 速查表
概念 | 用途 | 核心能力 |
|---|---|---|
数据完整性 | 保证数据一致/未被修改 | 可靠系统的核心要求 |
偶校验 | 简单错误检测 | 检测奇数个位错误 |
奇校验 | 简单错误检测 | 检测奇数个位错误 |
校验和 | 错误检测 | 检测大多数意外损坏 |
加密哈希 | 完整性验证 | 检测意外和故意修改 |
简单奇偶校验 | 错误检测 | 无法纠正错误,也无法检测偶数个错误 |
7. 常见问题
数据完整性和数据安全性之间的区别是什么?
数据完整性指数据在整个生命周期中的准确性和一致性,而数据安全性指保护数据免受未经授权的访问、修改或泄露。你可能拥有安全但完整性已损坏的数据(例如损坏的加密存储),也可能拥有完整但不安全的数据。
简单奇偶校验能纠正错误吗?
不能。简单奇偶校验只能检测奇数个位错误。它无法纠正错误,也不能检测偶数个翻转位。错误纠正需要汉明码这类更复杂的编码。
真题中的出现
AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。
- 2022 · 1
校验和错误检测计算
- 2023 · 2
数据完整性威胁相关问题
深入阅读
下一步
理解数据完整性是进一步学习数据库系统、网络安全和密码学的基础概念。你在此学习的错误检测方法每天都用于数据存储、网络通信和云计算,并且构成从U盘到卫星通信等所有设备使用的更高级纠错技术的基础。数据完整性与数据安全机制协同保护数字信息,是所有现代计算机系统可靠性的基础。
