|
知识路径: > 信息安全知识 >
|
考试要求:掌握
相关知识点:30个
|
|
|
|
|
完整性是指数据不以未经授权的方式进行改变或毁损的特性。完整性包括软件完整性和数据完整性两方面内容。软件完整性是指防止对程序的修改,如病毒和特洛伊木马。数据完整性是保证存储在计算机系统中或在网络上传输的数据不受非法删改或意外事件的破坏,保持数据整体的完整。
|
|
|
对数据完整性的五个最常见的威胁是:①人类:可能由于人类的疏忽、故意破坏等原因导致完整性被破坏;②硬件故障:包括磁盘故障、芯片和主板故障、电源故障等;③网络故障:包括网络连接问题、网络接口卡和驱动程序等问题;④灾难:例如火灾、水灾、工业破坏和蓄意破坏等;⑤逻辑问题:包括软件错误、文件损坏、容量错误、数据交换错误和操作系统错误等。
|
|
|
|
完整性机制保护数据免遭未授权篡改、创建、删除和复制。为了恢复数据完整性或防止数据完整性丧失,可以采用的技术有:备份、镜像技术、归档、分级存储管理、转储、系统安全程序、奇偶校验和故障前兆分析等。
|
|
|
对于由人类引起的威胁来说,受完整性保护的数据应该在控制下被实体创建、修改和删除,完整性策略要识别出受到控制的数据,并指示是否允许创建、修改和删除数据。可以通过如下行为来完成完整性服务:①屏蔽:从数据生成受完整性保护的数据;②证实:对受完整性保护的数据进行检查以检测完整性故障;③屏蔽:从受完整性保护的数据中重新生成数据。这些行为不一定使用密码技术,当使用密码技术时就不必对数据进行变换。
|
|
|
有时候,一个用来存储和处理复杂输入数据的程序在执行任务(和其他没产生任何问题的任务看起来没什么不同)时意外崩溃了,这可能是因为一些内部数据被损坏(可能是语法上的损坏,也可能是语义上的损坏)了。这种数据可以无限期地存在于系统中而不引发任何问题,直到访问一段特定的数据时,损坏的数据才导致运行错误的出现。输入完整性就是针对于此类问题的治疗和预防的,具体措施是:对输入数据尽量多地并且尽量早地执行完整性检查(语法分析),最好第一次读取输入内容时就执行尽可能彻底的完整性检查,而不是在以后访问的时候才检查。此外,对于已经损坏的持久数据,也要加以研究并检查其完整性。
|
|
|
数据库的完整性是指数据的正确性和相容性。数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的。为维护数据库的完整性,DBMS必须提供一种机制来检查数据库中的数据是否满足语义规定的条件。DBMS的完整性控制机制应具有三个方面的功能:①定义功能:提供定义完整性约束条件的机制;②检查功能:检查用户发出的操作请求是否违背了完整性约束条件;③如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。DBMS通常是在一条语句执行完后立即检查是否违背完整性约束,有时完整性检查需要延迟到整个事务执行结束后才进行,检查正确才可以提交。
|
|
|
现今,黑客和病毒横行,软件完整性已变得越来越重要。软件完整性测量系统在安全方面的抗攻击(包括偶然的和蓄意的攻击)能力。攻击可能发生在软件的三个主要成分上,即程序、数据和文档。软件一般来说规模都比较大,而目前的公钥算法(如RSA)在实现上比较慢。可以采用数字签名的方法,数字签名能够保护软件的完整性,对软件在传输过程中的非法更改比较敏感。在对软件进行数字签名时,先将软件代码通过散列函数转换成信息摘要,并用用户的私钥对摘要进行签名,将签名后的摘要与软件一起传送给其他用户。当其他用户验证时,用同样的散列函数将软件代码转换成新的信息摘要,将签名解密后与新的信息摘要相比较,如果比较结果一致则说明软件没有被更改过,否则,就说明软件被非法更改了。
|
|
|