测试数据脱敏综合评价体系

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

测试数据脱敏综合评价体系

摘要

本文提出一种全面的测试数据脱敏方法评价体系,从高效性、有效性、真实性、稳定性及多样性五个方面来对测试数据脱敏需求及脱敏方法进行综合评估。

测试数据脱敏综合评价体系

测试数据脱敏工作通常涉及数据使用方及数据管理方两个角色,测试数据脱敏不仅要保证数据敏感性被去除,还要尽可能满足测试使用方的测试需求,同时还要确保其技术方案是可行且易于管理的。综合两方面角色考虑,本文从高效性、有效性、真实性、稳定性及多样性五个方面提出了一种全面的测试数据脱敏评价指标体系。

(一)有效性

测试数据脱敏的最基本原则就是要去掉数据的敏感性,保证数据安全,这是对测试数据脱敏最基本的要求,即有效性。

有效性主要从以下两个方面进行评价:

1.相对于原有数据,脱敏后数据敏感性的去除程度。例如,对客户姓名采用置为常数的方法进行脱敏,脱敏后所有敏感的姓名数据都被置为某个没有敏感性的字符串,即数据敏感性完全去除;相对的,对客户姓名采用屏蔽若干位字符的方法(张三置为张*)进行脱敏,则脱敏后数据仍然保留了具有敏感性的姓信息,即数据敏感性部分去除。

2.脱敏后数据可能被反推回具有敏感性原始数据的程度。采用的脱敏方法不一样,其破坏脱敏轨迹的程度也不一样,从而最终导致脱敏后数据被反推回脱敏钱数据的程度也不一样。例如,对客户姓名采用置为常数的方法进行脱敏,脱敏结果不可能被反推回原始数据;对客户姓名采用按偏移值查姓名表的方法(按配置的固定偏移值选取表中假的姓名)进行脱敏,如果姓名表及配置偏移值泄露,脱敏结果是可能被反推出原始数据的。

(二)真实性

测试数据最终是需要在测试中使用,越能真实体现原始数据特征的脱敏后数据,越能更好地满足测试工作的需求。这是从数据使用方的角度来看对测试数据脱敏的基本要求,即真实性。

真实性主要从以下两个方面进行评价:

1.相对于原有数据,脱敏后数据业务逻辑特征的保留程度。任何数据都是具备一定业务逻辑特征的,例如客户姓名、身份证号、交易金额等数据都有明显的特征。对客户姓名采用置为常数的方法进行脱敏,脱敏后数据完全保留了客户姓名的特征;相对的,对客户姓名采用每个姓名字符的码值偏移固定值的方法进行脱敏,则脱敏后数据为乱码,完全丧失了客户姓名的特征。

2.相对于原有数据,脱敏后数据统计分布特征的保留程度。任何数据都是具备一定统计分布特征的,例如客户姓名数据中,有单姓多,复姓少,大姓多,小姓少,一些字符高频出现,一些字符根本不会出现等。对客户姓名采用置为常数的方法进行脱敏,脱敏后数据统计分布特征完全被破坏;相对的,对客户姓名采用按偏移值查姓名表的方法(按配置的固定偏移值选取表中假的姓名)进行脱敏,

由于姓名表的数量远小于真实情况,故脱敏数据部分保留了统计分布特征;对客户姓名采用每个姓名字符的码值偏移固定值的方法进行脱敏,则完全保留了客户姓名的特征。

(三)高效性

不同的测试数据脱敏方法,其实施难度是不一样的,是否能高效地完成数据脱敏,是从数据管理方的角度来看对测试数据脱敏的重要要求,即高效性。

高效性主要从以下两个方面进行评价:

1.测试脱敏方法实施的时间开销情况。实施脱敏的时间及计算资源占用越少

越好。

2.测试脱敏方法实施的空间开销情况。实施脱敏必须的存储空间越少越好。(四)稳定性

由于原始数据间存在关联性(如两张表中都有客户姓名数据,并且业务要求两张表的客户姓名必须一致),如果对两张表分别脱敏后客户姓名数据不一致了,就会影响后期测试。这要求测试数据脱敏方法需要保证对相同的原始数据,只要配置参数一定,无论脱敏多少次,结果数据是相同的,即稳定性。

(五)多样性

多样性即测试数据脱敏可能根据需求不同而生成不同脱敏结果的程度。这是从测试数据管理方的角度出发对测试数据脱敏的高级要求,一般情况,有配置参数的数据脱敏方法都可以按照输入参数不同而产生不同的测试结果,从而使得测试数据管理方可以方便的按测试场景,测试环境等因素为不同的测试项目提供不同的脱敏后数据环境,去除多个测试项目使用数据间的关联性,提高多项目数据使用的安全性。

不同场景的测试数据脱敏需求分析

商业银行应用系统测试过程中,不同的测试场景,测试数据脱敏的需求则不同。本节将上文提出测试数据脱敏综合评价体系中的五维评价指标进行分级细化,以此作为分析具体场景测试数据脱敏需求的基础。

为简化分析,本文将场景对于单个指标的最低要求从低到高分为三级或者两级,以数字1、2、3等代表不同分级,其中1代表场景对于该指标的要求最低,能容忍其表现不佳;2代表场景对于该指标的要求中等,能容忍其表现一般;3代表场景对于该指标的要求最高,需要其表现优秀。

各指标具体分级依据如下:

(一)有效性

1级:相对于原有数据,脱敏后数据敏感性可允许部分非关键信息残留;脱敏后数据不易被反推回原始数据,如泄露多项关键配置数据,可能被反推,但反推难度较大。

2级:相对于原有数据,脱敏后数据敏感性必须全部去掉;脱敏后数据不易被反推回原始数据,如泄露多项关键配置数据,可能被反推,但反推难度较大。

3级:相对于原有数据,脱敏后数据敏感性必须全部去掉;无论泄露多少配置数据,脱敏后数据不能被反推回原始数据。

(二)真实性

1级:相对于原有数据,脱敏后数据业务逻辑特征可允许被完全破坏;相对于原有数据,脱敏后数据统计分布特征可允许被完全破坏。

2级:相对于原有数据,脱敏后数据业务逻辑特征要在一定程度保留;相对于原有数据,脱敏后数据统计分布特征要在一定程度保留。

3级:相对于原有数据,脱敏后数据业务逻辑特征要尽可能保留;相对于原有数据,脱敏后数据统计分布特征要尽可能保留。

(三)高效性

1级:测试脱敏方法实施能容忍较大的时间或空间开销。

2级:测试脱敏方法实施能容忍较小的时间或空间开销。

3级:测试脱敏方法实施要尽可能降低时间或空间开销。

(四)稳定性

1级:测试脱敏方法不用保证配置参数一定时,多少次处理结果一致。

3级:测试脱敏方法必须保证配置参数一定时,多少次处理结果一致。(五)多样性

1级:测试脱敏方法不需要根据配置参数不同生成不同的脱敏结果。

2级:测试脱敏方法需要根据配置参数不同生成不同的脱敏结果,可选结果接近有限集合。

3级:测试脱敏方法需要根据配置参数不同生成不同的脱敏结果,可选结果接近无限集合。

在对具体场景进行分析时,着重从五个指标维度来分析该场景下测试数据脱敏的最低需求,如下面两个场景:

场景一,网上银行“查询交易”功能测试。执行20余个(配套卡数据20余个)正反向测试用例,使用卡号和密码登陆网上银行,点击账户查询,输入要素包括卡号和密码,输出要素包括账号、币种、开户行、开户时间、账户注册类型、账户状态、当前余额、可用余额、交易日期、交易时间、收入金额、支出金额、本次余额、对方账号、交易行名、交易渠道、交易说明、交易摘要等。

场景二,银行资金交易系统“现券交易_提交合规交易”性能测试。对现券交易_提交合规交易进行单交易负载测试,并发10用户,单批次执行30分钟,共对比测试5个批次。测试铺底数据及交易数据预估千万量级。

分析场景一,由于涉及密码等高敏感性数据,数据脱敏有效性需达最高级;测试需要详细验证输出结果,真实性至少达到中等级;功能测试数据量小,高效性要求可为最低级;交易数据中涉及账号、卡号等有关联性要求数据,有稳定性要求,其他数据没有;该交易属于重点回归测试对象,不同环境数据有多样性要求,达到中等级即可。

分析场景二,由于未涉及高敏感性数据,但由于数据量较多,数据脱敏有效性达到中等级即可;性能测试不验证交易执行详细结果,真实性达到最低级即可;测试数据量大,处理时间空间有要求,高效性需达到最高级;交易数据中涉及账号等有关联性要求数据,有稳定性要求,其他数据没有;多轮对比测试批次一般要求相同数据环境,无多样性要求。

综上,这两个场景测试数据脱敏的最低需求如下:

序号有效性真实性高效性稳定性多样性

场景一 3 2 1 1-3 2

场景二 2 1 3 1-3 1

主流数据脱敏方法分析

按上节中的分析方法,下表对目前商业银行主流数据脱敏方法进行归类后分

相关文档
最新文档