学习指南

数据完整性

计算机科学· Unit 6: Security, privacy and data integrity· 5 分钟阅读

1. 核心概念:什么是数据完整性?★★☆☆☆⏱ 10 min

📘 定义

数据完整性

确保数据随时间推移保持准确、完整和一致,且不会被未经授权或意外方式篡改的数据特性。

例:

银行交易在存储和传输后仍保留正确数值,即拥有完整的数据完整性。

数据完整性常与两个相关概念混淆,CIE考试经常要求你区分它们:

  • 数据准确性: 指数据是否正确描述了它所代表的现实世界概念。数据可以是一致的(高完整性)但不准确(例如错误的客户出生日期被正确存储)。

  • 数据安全性: 指保护数据免受未经授权的访问。数据可以是安全的但已损坏(例如磁盘上损坏的加密数据会丢失完整性,但仍对未经授权用户不可访问)。

📐 例题

一名学生在在线表单中将出生日期填写为12/13/2005(月份为13)。这会影响准确性、完整性还是两者都受影响?

  1. 1

    月份取值13是无效的,且不符合学生的真实出生日期,因此这是准确性错误。

  2. 2

    如果系统一致无误地存储了13这个值,数据保持输入后未被修改:它仍然拥有完整性。

  3. 3

    结论:这是准确性错误,而非完整性错误。验证规则会在存储前拒绝无效条目,从而维护完整性。

Exam tip:

当题目要求区分这些术语时,务必分别定义每个术语才能获得满分。

2. 数据完整性的常见威胁★★☆☆☆⏱ 15 min

数据完整性可能被意外事件和故意事件破坏:

  • 意外损坏: 硬件故障(例如磁盘坏扇区)、网络传输错误、写入操作时断电,或数据录入/编辑时的人为错误。

  • 故意损坏: 攻击者的未经授权修改、篡改数据的恶意软件,或内部人员篡改记录。

  • 物理/环境损坏: 热、水或冲击对存储介质造成损坏,导致存储位翻转。

📐 例题

银行在保存新客户交易记录时发生断电。解释这对数据完整性的影响。

  1. 1

    断电前可能只有部分新交易记录被写入磁盘。

  2. 2

    这会导致记录不完整,还可能损坏存储设备上定位记录的文件系统索引。

  3. 3

    此时数据不一致且不完整:这就是数据完整性的直接丢失。

Exam tip:

务必将威胁与对完整性的具体影响关联起来,不要只描述威胁本身。

3. 错误检测:奇偶校验与校验和★★★☆☆⏱ 25 min

📘 定义

校验和

从数据块计算得到的小型数值,用于验证数据在传输或存储过程中未被损坏。

例:

对数据分组中所有字节求和得到的8位校验和。

奇偶校验是最简单的错误检测方法。每个数据块添加一个额外的奇偶校验位,使1位的总数为偶数(偶校验)或奇数(奇校验)。

📐 例题

对于7位数据1011010,使用偶校验得到的奇偶校验位是多少?

  1. 1

    统计输入数据中1位的数量:

  2. 2
    1+0+1+1+0+1+0=41 + 0 + 1 + 1 + 0 + 1 + 0 = 4
  3. 3

    偶校验要求1位的总数(包括校验位)为偶数。4已经是偶数,因此校验位为0。

  4. 4

    最终传输的8位值: 01011010

📐 例题

计算3个字节01001011, 00101001, 01011100的8位校验和。

  1. 1

    将每个二进制字节转换为十进制:, ,

  2. 2

    计算这些值的总和:

  3. 3
    75+41+92=20875 + 41 + 92 = 208
  4. 4

    对于8位校验和,我们只保留8位结果(丢弃溢出)。208的8位二进制是11010000,因此这就是校验和。

Exam tip:

务必在答案中明确说明你使用的是偶校验还是奇校验,才能获得满分。

4. 其他完整性维护机制★★★☆☆⏱ 15 min

除了基础错误检测外,还有许多用于长期维护数据完整性的机制:

  • 加密哈希: 从输入数据生成固定长度的哈希;数据的任何修改都会改变哈希值。用于验证完整性,防范故意篡改。

  • 冗余与备份: 数据在不同位置存储多份副本,当一份副本损坏时可以恢复完整数据。RAID存储使用该机制实现硬件故障容错。

  • 数据库验证规则: 约束(数据类型检查、范围检查、外键规则)确保只存储有效、一致的数据。

  • 循环冗余校验 (CRC): 一种基于多项式的错误检测方法,用于网络和存储,比简单校验和更有效。

✓ 快速检测

测试你的理解:

  1. 简单奇偶校验可以检测以下哪种错误?

    • A:任何1位错误

    • B:任何2位错误

    • C:所有错误,无论位数多少

    • D:没有错误

    显示答案
    A

    1位翻转会使1位的数量变化1,从而改变奇偶性,因此会被检测到。2位翻转不会改变奇偶性,因此无法被检测到。

5. 常见陷阱

错误做法:

将数据完整性与数据准确性或数据安全性混淆

原因:

CIE考试经常要求区分这些术语;混淆它们会丢失所有分数

正确做法:

记住:完整性 = 一致且未被修改,准确性 = 符合真实世界,安全性 = 保护免受未经授权访问

错误做法:

声称简单奇偶校验可以纠正错误

原因:

考生经常夸大奇偶校验的功能,导致丢分

正确做法:

始终记住:奇偶校验只能检测奇数个位错误,无法纠正错误

错误做法:

计算奇偶校验时统计1位数量错误

原因:

这是奇偶校验计算题目中最常见的可避免错误

正确做法:

先统计原始数据中的1位数量,再添加校验位以满足要求的总奇偶性

错误做法:

声称校验和可以防止数据损坏

原因:

校验和只能检测损坏,无法阻止损坏发生

正确做法:

校验和是错误检测工具:它们识别损坏,以便你恢复或重新传输数据

6. 速查表

概念

用途

核心能力

数据完整性

保证数据一致/未被修改

可靠系统的核心要求

偶校验

简单错误检测

检测奇数个位错误

奇校验

简单错误检测

检测奇数个位错误

校验和

错误检测

检测大多数意外损坏

加密哈希

完整性验证

检测意外和故意修改

简单奇偶校验

错误检测

无法纠正错误,也无法检测偶数个错误

7. 常见问题

数据完整性和数据安全性之间的区别是什么?

数据完整性指数据在整个生命周期中的准确性和一致性,而数据安全性指保护数据免受未经授权的访问、修改或泄露。你可能拥有安全但完整性已损坏的数据(例如损坏的加密存储),也可能拥有完整但不安全的数据。

简单奇偶校验能纠正错误吗?

不能。简单奇偶校验只能检测奇数个位错误。它无法纠正错误,也不能检测偶数个翻转位。错误纠正需要汉明码这类更复杂的编码。

真题中的出现

AI 根据考纲规律估算的考点位置,请对照官方真题核实准确性。仅作复习重点参考。

  • 2022 · 1

    校验和错误检测计算

  • 2023 · 2

    数据完整性威胁相关问题

深入阅读

下一步

理解数据完整性是进一步学习数据库系统、网络安全和密码学的基础概念。你在此学习的错误检测方法每天都用于数据存储、网络通信和云计算,并且构成从U盘到卫星通信等所有设备使用的更高级纠错技术的基础。数据完整性与数据安全机制协同保护数字信息,是所有现代计算机系统可靠性的基础。