百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

信息安全 | 等保测评2.0:应用的数据完整性

moboyou 2025-04-09 13:13 22 浏览

1. 说明

本篇文章主要介绍应用系统测评时数据完整性相关的基础知识和内容。

2. 测评项

a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限千鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;

b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。

3. 完整性

是指信息在传输、交换、存储和处理过程中,保持信息不被破坏或修改、不丢失和信息未经授权不能改变的特性,也是最基本的安全特征。

那么如果是传输过程中的完整性,也即当数据在传输过程中,接收方应该至少具备判断接收到的数据是否完整,如是否被篡改过,或是否因为网络等原因没有接收完整等。

4. 校验技术

校验技术我不怎么了解,实际测评中也没怎么遇到过,比如CRC循环校验等,这里就不多说了。

5. 密码技术

常用来实现数据的完整性判断的密码技术为“单向散列函数”,一般也叫Hash(哈希)算法、散列算法、杂凑算法,下文统称哈希算法。实现数据完整性的判断,往往需要在原始数据里再附加一些额外数据,然后接收方接收到所有数据后,通过一些算法,实现完整性的判断。

那么为什么常用哈希算法来实现完整性判断呢?这里要先说说哈希算法。
哈希算法有一个输入与输出,输入任意长度的数据,会输出一个固定长度的值(哈希值)。且输入的数据不同,输出的哈希值也不同,哪怕只有1bit的不同,产生的哈希值也会完全不一样,且没有规律。

另外,由于输入的值的范围是无限的,而输出的值的范围确实固定的(长度固定了),所以一个MD5值实际上必然对应着无数的原文。但一个合格的哈希算法中,会让这种情况出现的概率极低。

回到完整性来,利用哈希算法,比如MD5算法,可以轻松的实现一个基本的完整性校验方法。当客户端向服务器端发送数据时,在数据原文后面附加上数据的MD5值,一并发送过去。

当服务器端收到数据后,使用MD5计算出数据原文的MD5值,再与附加的MD5值进行对比,即能得数据是否被篡改。如别人修改了原文部分,则无法通过校验。或者修改了MD5值部分,那也无法通过校验。

不过这种简单的方法是还是有很大的漏洞的,因为你的输入值和输出值都是明文,别人经过尝试,可以很快的推断出你所使用的是哪一种哈希算法。

得知后,别人修改原文部分之后,再使用你约定使用的哈希算法,算出哈希值部分,这样就能够在篡改数据的情况下通过校验了。所以可以再加上一些措施,对于原文A,计算出其哈希值B,然后使用某加密算法对哈希值B进行加密,得到C,最后传输“A+C”。

接收方收到数据后,对C进行解密,得到B,然后计算出A的哈希值D,对比B和D,即可得知结果。这样情况下,别人就没办法得知你使用的哈希算法了,因为你对哈希值B进行了加密。一旦修改了A或者B部分,都无法通过校验。

当然,其实这还是有漏洞,因为没有使用随机值或者时间戳,每次传输原文A,最终传输的值都是“A+C”,对方重复几个流程,可得到“D+Z”、“V+M”等等数据。

然后,当传输A时,用“D+Z”整个替换“A+C”,也能通过校验,这叫做重放攻击。

6. 测评项a

a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限千鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;

实际测评过程中,极少有自己编程实现这整个过程的,因为一般情况下没有必要自己造一个轮子,水平不够造的轮子还容易有很多的漏洞。对于B/S类型的应用系统来说,一般都是使用HTTPS协议,HTTPS协议同时实现了保密性和完整性。

而对于C/S类型的应用系统来说,如果是直接连接数据库的那种,要看数据库是否配置了SSL,在连接的时候是否使用了SSL。

或者是否使用了其他的密码技术来实现完整性,比如在“等保测评2.0:Oracle身份鉴别(下)”中,Oracle在进行参数上的配置后,即可保证数据传输过程中的完整性。而如果是使用中间件(也即客户端不直接和数据库打交道)的C/S类型的应用系统,要看是否使用了SSL。

实际测评过程中还是很简单的,甚至你都不需要了解相关的密码知识。不过最好还是要懂一些,万一真有自己编程实现这个过程的,你也不至于完全不明白。
另外,如果连密码算法都是自己实现的,且不属于国家密码部门核准的密码算法,一般顶多给部分符合。因为这种自己造的轮子(密码算法),根本没有得到验证,其安全性很值得怀疑。

7. MD5的安全性

MD5是大家最常用的密码算法,也有人说MD5不够安全,应该使用更安全的SHA256等哈希算法。
这其实要看MD5不安全在哪方面:

2005年山东大学的王小云教授发布算法可以轻易构造MD5碰撞实例,此后2007年,有国外学者在王小云教授算法的基础上,提出了更进一步的MD5前缀碰撞构造算法“chosen prefix collision”,此后还有专家提供了MD5碰撞构造的开源的库。

什么是碰撞实例呢?举个例子,比如原文A,其MD5值为B。当我们拿到B时,可以很快的构造出一个C(C可能是A也可能不是),这个C的散列值也是B。
在这种情况下,MD5在保证数据完整性或实现数字签名方面,确实有很大的问题。

8. 测评项b

b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。

这里要注意和传输过程分开区别,传输过程是一个短暂的、动态的、进行过程,而这里的存储则其实应该理解为长期的保存的过程。

当然,存储是否有短暂的、动态的、进行过程?当然是有的,比如你用记事本或者任何程序保存数据时,当你下指令保存数据后,程序就会将内存中的数据保存至硬盘当中,这个就是短暂的存储过程。但明显的,测评项指的应该是长期的保存过程。

应用系统中,一般都会将重要的数据存储到数据库当中。那么在数据库中,如何使用密码技术保证数据库中的数据一旦被非法篡改,你就能发现呢?在实际测评中,我没遇到过实现的相关例子,只是自己设想了一个简单的模型。比如存储用户的个人信息的表中,有姓名、性别、号码等字段,然后除了这个字段,再添加一个校验字段,按照一定的算法,比如:SHA256 ( SHA256(姓名+性别+号码)+SHA256(姓名) )。

然后算出哈希值。这样,每次存储、更新数据的时候,都按照这个算法计算哈希值,存储到校验字段中。每次读取数据的时候,也按照这个算法,再次计算出哈希值,看是否等于校验字段的值。

这样,一旦出现了非法篡改,就能够得知,不过这个不能抵御重放攻击,还需要再使用一些其他的措施,这里就不多说了。

虽然这一项基本没人实现,但是至少被测评方问你怎么实现的时候,你可以大概回答下,不至于说我也不知道。

另外,如果应用系统存储了一些重要文件(比如个人照片)等,也需用使用校验技术或密码技术保证其完整性。

这个理论上也可以实现,比如个人照片文件,一般来说,在数据库应该也会有一个表存储其相关属性,比如路径等,再增加一个校验字段,按照一定的算法,比如:SHA256 ( SHA256(个人照片)+SHA256(路径) )。然后算出哈希值,存储到校验字段中。每次使用的时候,进行校验。或者为了降低资源占用,可以写一个定时脚本、策略等,定时进行校验。

相关推荐

Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录

首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...

Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用

一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...

Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用

原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...

FILTER函数介绍及经典用法12:FILTER+切片器的应用

EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...

office办公应用网站推荐_office办公软件大全

以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...

WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!

办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...

收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程

原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数

批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...

Excel函数公式教程(490个实例详解)

Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...

Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!

工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...

Excel中的SCAN函数公式,把计算过程理清,你就会了

Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...

Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效

在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...

Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!

在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...

Excel新版本,IFS函数公式,太强大了!

我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...

Excel不用函数公式数据透视表,1秒完成多列项目汇总统计

如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...