CN117235814A - 一种含有时间序列关联混淆数据的数据处理方法及装置 - Google Patents
一种含有时间序列关联混淆数据的数据处理方法及装置 Download PDFInfo
- Publication number
- CN117235814A CN117235814A CN202311527872.9A CN202311527872A CN117235814A CN 117235814 A CN117235814 A CN 117235814A CN 202311527872 A CN202311527872 A CN 202311527872A CN 117235814 A CN117235814 A CN 117235814A
- Authority
- CN
- China
- Prior art keywords
- data
- confusion
- result set
- user
- data result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 21
- 238000000586 desensitisation Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 150000003839 salts Chemical class 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于信息安全领域,具体涉及一种含有时间序列关联混淆数据的数据处理方法及装置,包括:根据用户的请求在数据库内检索获得数据结果集;根据数据结果集获取数据标识、数据类型和数据结果集的大小;根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;基于种子数产生随机数序列;对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列对目标混淆列进行混淆;将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件。本发明可以防止真实数据泄露。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种含有时间序列关联混淆数据的数据处理方法及装置。
背景技术
企业通常需要将生产数据库中储存的生产数据赋值到非生产或者测试数据库中,这样做是为了真实地完成应用功能测试以及涵盖实时场景或者最大限度减少生产漏洞或缺陷。这样做法的影响是,非生产环境很容易成为网络罪犯或者恶意内部人员的简易目标,让他们可以轻易地获取敏感数据。由于非生产环境并没有像生产环境那样受到严格控制和管理,当数据泄露事故发生时,企业可能需要花费数百万用于修复声誉或者品牌价值损失。
在技术领域,数据混淆是将测试或者开发环境中现有的敏感信息替换为看起来像真实生产信息的信息,但是这些信息无法被任何人滥用。换句话说,测试或者开发环境的用户不需要看到真实的生产数据,只要这些数据与真实数据相似即可。因此,数据混淆计划也可以被用于保护数据,可以帮助掩蔽非生产环境中包含的敏感信息,让用户缓解数据泄露的风险。数据混淆也是数据仓库体系里面一个重要的组成部分。
但是在现有技术中,仅可以将数据进行混淆,却无法通过泄露数据查证泄露人员的相关信息,降低了搜查恶意人员的效率。
发明内容
为解决如何预防数据泄露以及数据加密的问题,本发明提供了一种含有时间序列关联混淆数据的数据处理方法,包括:
根据用户的请求在数据库内检索获得数据结果集;
根据数据结果集获取数据标识、数据类型和数据结果集的大小;
根据数据类型和数据结果集的大小获取混淆策略,数据的混淆策略包括数据的混淆方式和目标混淆列;
基于种子数产生随机数序列;
对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列对目标混淆列进行混淆;
将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件。
根据本发明的一个方面,根据数据类型和数据结果集的大小获取混淆策略包括;
在数据结果集的行数超过或等于阈值时,对数据结果集的一列或者多列采用混淆的方式进行处理;
在数据结果集的行数低于阈值时,对数据结果集的多列采用混淆的方式进行处理。
根据本发明的一个方面,根据用户的请求在数据库内检索获得数据结果集包括:
判断用户的请求中是否包含有效的用户令牌;
基于用户令牌有效,根据用户令牌获取用户所属的用户组;
根据用户所属的用户组确定源数据脱敏策略;
基于源数据脱敏策略对数据结果集进行脱敏处理;
所述用户令牌为服务器为用户分配的用于查询数据的凭证,根据所述用户对数据结果集的读取权限将用户被划分至不同的用户组,且基于用户组对于数据结果集的读取权限确定源数据脱敏策略。
根据本发明的一个方面,数据的混淆方式包括对字符串格式的数据列进行混淆或对数值型的赋值,对字符串格式的数据列进行混淆包括将字符串中的中文字符转换为字符组,使用随机数序列中的值对字符进行加和获取最小的不可见字符,之后将不可见字符组构建新的字符串;
对数值型的赋值包括将数值转换为长整数或者字符串,并对其进行赋值后转换为字符串。
根据本发明的一个方面,种子数为时间戳或用户请求中的用户令牌。
根据本发明的一个方面,对数据结果集按照目标混淆列进行排序包括:
将结果集按照数值列和字符串进行排序。
为实现上述目的,本发明还提供一种含有时间序列关联混淆数据的数据处理装置,包括:
数据查询单元,用于根据用户的请求在数据库内检索获得数据结果集;
混淆单元,用于根据数据结果集获取数据标识、数据类型和数据结果集的大小;以及根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的数据结果集使用随机数序列使用混淆方式对目标混淆列进行混淆,所述种子数为用户请求中的用户令牌;
输出单元,用于将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件;
还原单元,用于根据用户的历史用户令牌在数据结果集中获取数据标识、数据类型和数据结果集的大小;以及根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列使用混淆方式对目标混淆列进行混淆,按照数据结果集的原有顺序将混淆后的数据结果集写入还原文件;所述历史用户令牌用于产生种子数;
验证单元,用于获取用户输入的文件,以及根据用户的历史用户令牌和用户的请求,使用还原单元生成还原文件,基于还原文件和用户输入的文件确定文件是否被篡改。
本发明有以下优点:
本发明通过种子数产生随机序列,其中种子数可以包括时间戳或者用户请求中的令牌用于证明用户身份,当数据泄露时,可以通过追溯泄露数据中的种子数查找到泄露人员。并通过随机序列通过不同混淆方式对需要混淆的目标混淆列进行混淆,防止真实数据泄露。
附图说明
图1为一种含有时间序列关联混淆数据的数据处理方法的流程图;
图2为一种含有时间序列关联混淆数据的数据处理装置的流程图;
图3为另一种含有时间序列关联混淆数据的数据处理装置的流程图。
具体实施方式
现在将参照若干示例性实施例来论述本发明的内容。应当理解,论述了这些实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。术语“另一个实施例”要被解读为“至少一个其他实施例”。
当今社会对手机、电脑等电子设备的应用越来越广泛,日常中越来越多的功能需要依靠电子设备进行,然而,随着用户使用电子设备的频率增加,储存在客户端中的数据的信息安全问题也逐渐引起了公众的注意。由于没有对这些数据进行保护,导致用户信息或者公司数据泄露的现象发生。在现有技术中,为应对上述问题,出现了在服务器侧对脚本资源进行混淆,并在客户端侧对采集的数据进行加密和混淆,再传输给服务器端的方法。但是大多采用固定的加密算法,固定的加密密钥和固定的混淆参数,即大多采用静态数据,缺少加密和混淆的更新机制,一旦静态数据被破解,数据很容易被破解和伪造,威胁了数据的安全性,并且无法通过泄露数据查证泄露人员的相关信息,降低了搜查恶意人员的效率。
为了进一步解决现有技术中存在的问题,本发明提供了一种含有时间序列关联混淆数据的数据处理方法及装置,包括:
根据用户的请求在数据库内检索获得数据结果集;
根据数据结果集获取数据标识、数据类型和数据结果集的大小;
根据数据类型和数据结果集的大小获取混淆策略,数据的混淆策略包括数据的混淆方式和目标混淆列;
基于种子数产生随机数序列;
对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列对目标混淆列进行混淆;
将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件。
在本实施例中,图1为一种含有时间序列关联混淆数据的数据处理方法的流程图,如图1所示,本发明首先根据用户请求在数据库内进行检索,其中,检索的内容可以是字符串或者数字,用户可以通过搜索关键字或者通过选择合适的标签得到所需要的数据。
用户所需的数据数量不限,可以是单独的数据,也可以形成数据结果集。进一步地,通过数据结果集或者单独的数据,得到数据信息。其中,数据信息可以包括数据标识、数据类型,当所需的数据为数据结果集时,数据信息还可以包括数据结果集的大小。
在获取数据信息后,可以通过数据信息获得混淆策略,其中,混淆策略可以包括混淆方式和目标混淆列,其中,混淆方式可以包括随机化混淆、加密混淆、扰动混淆等。由于用户通过检索获得信息时,往往具有多列数据,并非每一列数据均需要进行混淆保密,因此,为了提高工作效率,在数据结果集内具有多组数据的情况下,可以选择目标混淆列进行混淆。
应当意识到,混淆后的数据的精度高于原始数据的数据精度,且混淆后的数据在使用低于原始数据的数据精度进行渲染时,具有一致的排序;此处的精度为有效数字的长度,其不同于浮点数的单精度或者双精度标识。例如,对于数值型的数据,在数据库内以long长整型数据格式保存,或者以double双精度64位的格式保存,在进行传输时和保存时,如数值3.01以整型数值30100保存,并在实际获取时通过除以10000.0以获得实际值;则混淆的原始数据为30100,混淆后的数据可以为30121,或者30122,即在进行数值还原时额外引入新的参考数;进一步的,如果其以双精度数保存,则3.01可以被混淆为3.011到3.014之间的数据,其中末尾新引入的数值增加了数据的精度,对应的,可以在业务系统内约定数据精度实现。
数据列内原始数据,混淆后的数值列至少在一个视图设置下具有和数值列一致的显示,或者具有和数值列近似的显示,其中一致的显示为具有和预期精度相等的呈现,而近似的显示为精度低于实际精度;在数据被发送至客户后,通过一个列或者多个列进行排序,可以确定对应的数据列中是否包含隐写的信息,例如对最后一列或者所有的列进行排序后,获取数值的最后两位,判断是否形成一个循环的数列,从而判断相应的数据是否包含隐写的信息;如果是,则可以通过此隐写的信息进行验证,例如通过隐写的文本从服务器侧获得对应的数据,并基于对应的数据进行请求者的追溯。
针对数字进行混淆,其也可以为在字符串内提供不可见的Unicode码,例如提供一个基码,并通过隐写入基码+偏移对应的字符的形式提供数据的混淆;其中偏移对应的字符记为根据循环的数列生成。
循环的数列可以为随机数序列,例如java的Random类提供了根据种子数生成long类型整数,如其可以提供如25114-51189-21445-27011形式的整数,则对于列的混淆可以转换为在数据列的末尾按序循环添加不同位置的字符形式来实现。对于列的混淆除可以通过混淆方式来实现外,其可以通过提供随机数序列的整数,并通过加法或者减法的方式来实现。
在用户数据被混淆后,其应当至少在默认的Excel视图中和原始的数据具有一致的呈现,然而,如果混淆过程改变真实的数据分布,则数据被加密。
在数据被混淆或者加密后,可以通过如POI或者Office Open XML(ooxml)的SDK将数据写入文档内。进一步地,可以基于种子数产生随机数序列。其中,种子数可以包括可证明用户身份的唯一身份信息、当前时间、所在位置的经纬度等信息中至少一个信息序列,用于辨别用户身份,如果后续数据泄露,可以通过读取泄露数据中种子数所储存的信息推断出泄密者身份以及泄露时间。其中,也可以根据不同的数据类型,根据一定规则将种子数转换为字符串插入至随机序列中。随机序列可以根据目标混淆列的数据类型改变随机数据类型。
进一步地,将数据结果集重新进行排序,增加数据可靠性,从而进一步降低数据泄露的可能性。其中,排序方式可以是根据目标混淆列的相关顺序进行排序,也可以根据非根据目标混淆列的相关顺序进行排序。由于目标混淆列数据往往较为重要,且加大目标混淆列数据与排序方式的相关性,降低后续查找数据泄露人员的难度,本发明优选地使用目标混淆列进行排序。进一步地,使用随机序列对目标混淆列进行混淆,加强对数据的保护。例如,可以根据数据结果集中数据大小进行排序,即按照从小到大的顺序将目标混淆列进行排序,将随机数序列加入目标混淆列中得到混淆列。选择不同的混淆方式得到的数据混淆程度不同,越难破解则混淆度越高,越容易被破解则混淆度越低。可以根据数据的重要程度随机地选择不同混淆度的混淆方法。
进一步地,考虑到不同数据的重要程度以及不同用户的权限不同,可以将混淆程度进行分类。分为高度混淆、中度混淆,以及轻度混淆。混淆程度由高到低,越容易破解。同一程度混淆可以有多种混淆方式,在进行数据混淆时随机选择。当数据结果集内具有多列目标混淆列时,可以选择不同混淆方式进行混淆,从而得到不同的混淆效果,例如混淆后的数据大小不同、精度不同。
完成数据混淆后,可以将种子数保存到服务器中,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件,传输至客户端。当混淆数据泄露时,可以提取泄露混淆数据与原始目标混淆列数据进行比对,得到排序后的随机数序列,从而得到种子数,从而得到种子数内用户唯一身份信息,得到泄密人员身份,提高寻找泄密人员的效率。
在另一些实施例中,根据数据类型和数据结果集的大小获取混淆策略包括:
在数据结果集的行数超过或等于阈值时,对数据结果集的一列或者多列采用混淆的方式进行处理;
在数据结果集的行数低于阈值时,对数据结果集的多列采用混淆的方式进行处理。
在本实施例中,由于随机数序列过大,可能导致生成速度过慢,且查找种子数效率低下。因此,随机数序列具有阈值。在数据结果集的行数超过阈值时,即对数据结果集的一列或者多列中的数据采用混淆的方式进行处理。在数据结果集的行数低于阈值时,对数据结果集的一列或者多列采用混淆的方式进行处理。其中,随机数序列插入数据结果集数据的方式不限,可以是连续插入,也可以是间隔插入,可以根据实际情况自行选择。即可以保证在数据结果集行数大于随机数序列阈值时,该方法同样可以对数据进行混淆。
在数据结果集的行数超过阈值时,通过对数据结果集中的一列进行混淆即可以实现防止数据结果集被攻击;而在另一实例中,对两列数据或散列数据进行混淆的方式来实现数据集的安全型防护,此种情况下可以相较单列混淆提供额外的防护,例如额外嵌入随机数序列。和此情况对应的情况为数据集的结果低于阈值,例如,设置阈值为32时,数据结果集的大小为12,则此时可以对数据结果集的多列进行混淆,例如数据列2和3为混淆的目标列,按照数据列进行排序,并分别对数据列2和3进行混淆,混淆时可以采用列混淆优先或行混淆优先的规则进行,例如按照第1行第2列、第1行第3列、第3行第2列、第3行第3列等的序列为行优先,而按照第1行第2列、第2行第2列、第3行第2列、第4行第2列,之后再混淆第3列的序列为列优先。通过此方式可以按照列混淆优先或行混淆优先的方式提取获得两个随机数序列,之后通过在服务器侧检索的方式确定混淆策略,检索时使用模糊检索以确定使用的种子数是否存在,即保存种子数时,可以进一步保存生成的随机数序列以用于逆向的检索。通过此方式可以实现低数据量时数据的保护。
在另一些实施例中,根据用户的请求在数据库内检索获得数据结果集包括:
判断用户的请求中是否包含有效的用户令牌;
基于用户令牌有效,根据用户令牌获取用户所属的用户组;
根据用户所属的用户组确定源数据脱敏策略;
基于源数据脱敏策略对数据结果集进行脱敏处理;
所述用户令牌为服务器为用户分配的用于查询数据的凭证,根据所述用户对数据结果集的读取权限将用户被划分至不同的用户组,且基于用户组对于数据结果集的读取权限确定源数据脱敏策略。
本实施例可以实现对于用户获取数据的前置脱敏处理,脱敏后的数据即为待处理的数据结果集。在本实施例中,考虑到不同用户具有不同的权限,在获取用户请求时可以先判断是否有有效的用户令牌Token。其中。用户令牌Token里可以包括唯一的用户身份识别信息以及用户所属的用户组,用于识别不同用户,用户令牌Token在登录时被分配,如通过API的形式获取,在获取时,服务器侧记录用户和用户令牌Token的映射关系,用户在后续的接入过程中可以使用用户令牌替代其他凭据。在确定令牌时,由于用户对于不同的数据具有不同的读取权限,则根据用户的权限,其被划分到不同的用户组,这样,基于用户令牌也可以获取对应的数据结果集的读取权限。
进一步的,基于权限可以获得数据结果集的脱敏策略,可以采取的策略包括多种,如对无权限数据或者有限权限的数据进行脱敏处理,对完全权限数据不进行脱敏处理;或者对无权限数据或者有限权限的数据进行返回默认值的处理,对完全权限数据不进行脱敏处理。此处的默认值可以为空值或者默认值(如数字返回0.0,字符串返回”*”)。
所述的无权限数据为无读写权限的数据,所述的有限权限的数据对应用户权限为只读权限或脱敏数据读权限,通过所述脱敏数据读权限获取的数据为脱敏数据,如通过*对关键数据进行保护,所述的完全权限为完全读写权限,服务器以此权限原样返回原有的数据。此外,如果用户请求不具有有效的用户令牌,则拒绝用户访问,或者只展现非保密数据,保密数据均被脱敏。如果用户请求具有有效的用户令牌,则可以访问保密数据。例如,用户为普通用户时,权限为注册用户权限PlainUserPrivilege,用户对用户名称为完全读写权限,不需要进行脱敏;而对于电量的数据,其可能反映用户隐私,并且用户对该用户无修改权限,则需要进行脱敏保护;而对于用户端侧设备信息,用户无权限查看,则对应于此三项数据,分别返回未脱敏的用户名称(如“张三”)、精度降低的电量数据(如对应于518.2141,返回518.2)和脱敏的端侧设备信息(如“*”)。而当用户为客服权限时,权限为客服权限PlainCSPrivilege,用户对用户名称为有限权限,需要进行脱敏;而对于电量的数据,其可能反映用户隐私,并且用户对该用户无修改权限,则需要进行脱敏保护;而对于用户端侧设备信息,用户仅有权限查看,则对应于此三项数据,分别返回脱敏的用户名称(如“张*”)、精度降低的电量数据(如对应于518.2141,返回518.21)和脱敏的端侧设备信息(如“41258AE***F178”)。而当用户为后台管理员权限时,权限为管理员权限AdminGroupHighPrivilege,用户对用户名称为读写权限,不需要进行脱敏;而对于电量的数据,管理员可能会对数据进行查验,则不需要进行脱敏保护;而对于用户端侧设备信息,基于同样查看数据的理由无需脱敏,则对应于此三项数据,分别返回原始用户名称(如“张三”)、原始电量数据(如对应于518.2141,返回518.2141)和脱敏的端侧设备信息(如“41258AE8744F1B8C”)。应当理解,上文提供的三种权限是示例性质的,在实际的业务操作中,由于存在多种数据源、用户、电力公司内部各部门以及外部对接的各个业务管理部门,其对于数据的要求也是不一致的,从而使得在单个数据列的基础上进行组合,可以生成多个具有不同权限的用户组,不同用户组的用户的权限可能各不相同的,同一用户组内的用户具有相同权限。
在另一些实施例中,数据的混淆方式包括对字符串格式的数据列进行混淆或对数值型的赋值,将字符串中的中文字符转换为字符组,使用随机数序列中的值对字符进行加和获取最小的不可见字符,之后将不可见字符组构建新的字符串;
对数值型的赋值包括将数值转换为长整数或者字符串,并对其进行赋值后转换为字符串。
在本实施例中,考虑到数据具有多种类型,数据的混淆方式可以包括对字符串格式的数据列进行混淆或者对数值型数据进行赋值。例如,由于中文字符串语段连续,只在字符串中插入个别不可见字符无法改变整体字符串的语义,无法起到混淆数据的作用。因此,可以将字符串中的中文字符转换为字符组,使用随机数序列中的值对字符进行加和获取最小的不可见字符,之后将不可见字符组构建为新的字符串加入数据中,在字符串格式数据中插入不可见字符既不影响原有数据的逻辑和用户理解,但是对数据进行了改变,增大了非预期或者存在数据管制需求的用户的数据复制难度。
其中,对数值型数据的赋值可以包括将数值转换为长整数或者字符串,再对其进行赋值,将其转换为字符串,并加入不可见字符,改变数据精度。当其想恢复数据时,即可根据字符串得到赋值,根据赋值得到其应对的字符串或者长整数。例如,当小数点保存位数为两位,且数据为3.00的数据进行插入一个不可见字符后再使用随机数序列将数据与0.001相加,此时数据显示仍为3.00,但是数据已被改变。上述方法可以在不改变数据整体可读性,以及数据未出现巨大变动的情况下,降低了字符串格式的数据的可复制性以及改变数值类数据的精度。
在另一些实施例中,种子数为时间戳或用户请求中的用户令牌。
在本实施例中,由于用户令牌里可以包括唯一的用户身份识别信息以及用户所属的用户组,即用户令牌所代表的用户身份唯一。因此,可以将用户请求中的用户令牌作为种子数,用于查询用户身份。当混淆数据被泄露后,根据被泄露的混淆数据查找种子数,提高查找泄密用户效率。种子数还可以采用其他的用户身份信息,例如身份证件信息对应的MD5码。
进一步地,种子数还可以包括时间戳。可以通过时间戳所记录的时间,查阅操作系统用户,从而提高查找泄密用户效率。
在另一些实施例中,对数据结果集按照目标混淆列进行排序包括:
将数据结果集按照数值列和字符串的优先级进行排序。
在本实施例中,对数据结果集进行排序时,可以按照目标混淆列进行排序。其中,排序方法可以包括:按照数据大小进行排序,按照数值列和字符串的优先级进行排序,以及按照数据类型进行排序。具体方式不限,可以根据实际情况自行选择。优选地,由于目标混淆列中数据可以包括多种类型,为了适应目标混淆列中多种类型数据,将数据结果集按照数值列和字符串的优先级进行排序。
更进一步的,混淆过程包括:
将数据结果集进行排序,对应于数据结果集中数据类型为浮点数的列,循环获取数据的值,并将其转换为字符串,后将随机数序列中的数字(即盐数字)拼接到字符串末尾,得到的值为混淆后的数值。在对数据进行混淆后,该列具有和原始数据集一致的排序。
进一步地,当想要获得原始保密数据顺序时,可以使用原有的排序方式进行重新排序,即可得到原始数据顺序,从数据的末尾或者其他位置读取对应的盐数字,根据盐数字组成的数列是否具有规律即可以判断数值是否被修改;在数值未被修改时,可以去除盐得到真实的数据。
更进一步的,根据盐数字组成的数列获取随机数序列,基于随机数序列从服务器检索获得令牌,基于令牌的使用者获得数据的请求者。
图2为一种含有时间序列关联混淆数据的数据处理装置的示意图,请参考图2,一种含有时间序列关联混淆数据的数据处理装置,包括:
数据查询单元,用于根据用户的请求在数据库内检索获得数据结果集;
混淆单元,用于根据数据结果集获取数据标识、数据类型和数据集的大小;以及根据数据类型和数据集的大小获取混淆策略,数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列使用混淆方式对目标混淆列进行混淆;
输出单元,用于将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件。
在本实施例中,为实现上述的处理方法,本发明还提供一种含有时间序列关联混淆数据的数据处理装置,可以包括:数据查询单元、混淆单元、输出单元以及服务器。数据查询单元可以先获取用户的检索式,并根据检索式在数据库内得到数据结果集,并将其传输至混淆单元。混淆单元根据用户是否具有用户令牌,以及令牌的等级,对数据结果集进行混淆,并将混淆后的数据结果集内数据进行重新排序。输出单元按照数据结果集的原有顺序将混淆后的数据结果集写入文件,防止数据大小出现明显差异导致失真,并将数据展现给用户。服务器可以用于储存混淆策略以及混淆过程中的相关信息,例如用户的请求信息、历史令牌信息、种子数信息。在一些实施例中,服务器还存储了生成的随机数序列的信息。
通过上述的方案可以实现接收用户的请求,基于用户请求进行查询,并对查询结果集进行混淆后输出,输出得到的数据可以用于防止数据被篡改和泄露溯源。
请参考图3示出的一种对用户数据进行验证的流程示意图,一种含有时间序列关联混淆数据的数据处理装置包括:
数据查询单元,用于根据用户的请求在数据库内检索获得数据结果集;
混淆单元,用于根据数据结果集获取数据标识、数据类型和数据结果集的大小;以及根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的数据结果集使用随机数序列使用混淆方式对目标混淆列进行混淆,所述种子数为用户请求中的用户令牌;
输出单元,用于将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件;
还原单元,用于根据用户的历史用户令牌在数据结果集中获取数据标识、数据类型和数据结果集的大小;以及根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列使用混淆方式对目标混淆列进行混淆,按照数据结果集的原有顺序将混淆后的数据结果集写入还原文件;所述历史用户令牌用于产生种子数;
验证单元,用于获取用户输入的文件,以及根据用户的历史用户令牌和用户的请求,使用还原单元生成还原文件,基于还原文件和用户输入的文件确定文件是否被篡改。
在本实施例中,本发明优选地设置有一种有时间序列关联混淆数据的数据处理装置,该装置可以包括数据查询单元、还原单元、输出单元以及服务器。其中,数据单元可以根据用户名称在数据库内检索获得用户的历史令牌。服务器中储存了种子数、用户历史检索式、数据排序方式以及混淆方式。还原单元可以根据用户的历史令牌得到原始数据结果集的相关信息以及混淆策略,数据的混淆策略可以包括数据的混淆方式和目标混淆列。根据服务器中储存的数据排序方式,对目标混淆列数据顺序进行还原,接着通过数据混淆方式对目标混淆列数据再次进行还原,得到原始数据结果集。其中,服务器可以用于保存混淆方式、种子数、用户历史检索式等相关信息。当原始数据结果集数据丢失时,可以利用还原单元提取服务器中储存的相关信息,将混淆后的数据结果集进行还原,得到原始数据结果集。
上述的实施例的应用场景包括对于数据的核验,即用户选择一个文件并对文件进行验证,以确定数据是否被篡改,此场景对于不同角色的用户具有实用性,如用户A从系统内下载了数据进行发布,但是需要对数据进行验证,此时用户A可以进行验证过程或者由用户B进行验证,此时需要提供的数据包括用户A的历史令牌,由于用户A的历史令牌用于验证时不会造成泄密,因此可以其对于其他用户开放,且控制历史用户令牌和查询获取的数据在服务器侧获取、存储和销毁是风险可控的,且其他用户并未实际接触到服务器还原数据时产生的还原文件,因此,此过程也是相对安全的。因此,在提供了用户的历史令牌(如根据下载时间、用户名进行确定)后,可以基于还原单元在服务器侧进行和混淆单元一致的混淆过程,生成一致的文件,并通过比较两文件是否一致确定数据是否被篡改。
所述用户的历史令牌可以基于用户下载记录确定或用户提供的文件确定。在基于前者确定时,由于服务器侧保存了用户的下载记录和用户令牌分配历史,则根据下载记录对应的时间戳可以确定用户的历史令牌。在基于用户提供的文件确定时,可以使用用户名称和文件创建时间进行查询,以确定用户的历史令牌。基于其他的信息也可以确定用户的令牌信息,如在文件的元信息内保存或者在文件的正文内进行保存。上述过程中,如果未采用用户的历史令牌,则会发生种子数错误,从而导致文件不能被匹配。
上述方式还可以实现在确定了文件来源时,通过获取历史用户令牌并通过还原单元和验证单元进行泄漏源的确认。即可以通过管理员输入文件以及用户信息,确定是否经由用户泄密,而在用户修改文件无法通过验证单元确认泄漏源时,则可以通过还原单元产生的还原文件,并和泄密的文件进行值的匹配以确定泄密可能性,此过程中通过比较用户的文件相较于原始值的差异,并分析差异是否由随机数序列所引入进而确定泄密数据来源。
本发明的有益效果在于:本发明通过种子数产生随机序列,其中种子数可以包括时间戳或者用户请求中的令牌用于证明用户身份,当数据泄露时,可以通过追溯泄露数据中的种子数查找到泄露人员。并通过随机序列通过不同混淆方式对需要混淆的目标混淆列进行混淆,防止真实数据泄露,且具有可比对性。
出于示例和描述的目的,已经给出了本公开实施的前述说明。前述说明并非是穷举性的也并非要将本公开限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本公开的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本公开的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本公开。
Claims (7)
1.一种含有时间序列关联混淆数据的数据处理方法,其特征在于,包括:
根据用户的请求在数据库内检索获得数据结果集;
根据数据结果集获取数据标识、数据类型和数据结果集的大小;
根据数据类型和数据结果集的大小获取混淆策略,数据的混淆策略包括数据的混淆方式和目标混淆列;
基于种子数产生随机数序列,对数据结果集按照目标混淆列进行排序,对排序后的数据结果集使用随机数序列对目标混淆列进行混淆;
将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件。
2.如权利要求1所述的一种含有时间序列关联混淆数据的数据处理方法,其特征在于,根据数据类型和数据结果集的大小获取混淆策略包括;
在数据结果集的行数超过或等于阈值时,对数据结果集的一列或者多列采用混淆的方式进行处理;
在数据结果集的行数低于阈值时,对数据结果集的多列采用混淆的方式进行处理。
3.如权利要求2所述的一种含有时间序列关联混淆数据的数据处理方法,其特征在于,根据用户的请求在数据库内检索获得数据结果集包括:
判断用户的请求中是否包含有效的用户令牌;
基于用户令牌有效,根据用户令牌获取用户所属的用户组;
根据用户所属的用户组确定源数据脱敏策略;
基于源数据脱敏策略对数据结果集进行脱敏处理;
所述用户令牌为服务器为用户分配的用于查询数据的凭证,根据所述用户对数据结果集的读取权限将用户被划分至不同的用户组,且基于用户组对于数据结果集的读取权限确定源数据脱敏策略。
4.如权利要求3所述的一种含有时间序列关联混淆数据的数据处理方法,其特征在于,数据的混淆方式包括对字符串格式的数据列进行混淆或对数值型的赋值;
所述对字符串格式的数据列进行混淆包括将字符串中的中文字符转换为字符组,使用随机数序列中的值对字符进行加和获取最小的不可见字符,之后将不可见字符组构建新的字符串;
所述对数值型的赋值包括将数值转换为长整数或者字符串,并对其进行赋值后转换为字符串。
5.如权利要求4所述的一种含有时间序列关联混淆数据的数据处理方法,其特征在于,种子数为时间戳或用户请求中的用户令牌。
6.如权利要求5所述的一种含有时间序列关联混淆数据的数据处理方法,其特征在于,对数据结果集按照目标混淆列进行排序包括:
将结果集按照数值列和字符串进行排序。
7.一种含有时间序列关联混淆数据的数据处理装置,其特征在于,包括:
数据查询单元,用于根据用户的请求在数据库内检索获得数据结果集;
混淆单元,用于根据数据结果集获取数据标识、数据类型和数据结果集的大小;以及根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的数据结果集使用随机数序列使用混淆方式对目标混淆列进行混淆,所述种子数为用户请求中的用户令牌;
输出单元,用于将种子数保存到服务器,并按照数据结果集的原有顺序将混淆后的数据结果集写入文件;
还原单元,用于根据用户的历史用户令牌在数据结果集中获取数据标识、数据类型和数据结果集的大小;以及根据数据类型和数据结果集的大小获取混淆策略;数据的混淆策略包括数据的混淆方式和目标混淆列;以及用于基于种子数产生随机数序列;以及对数据结果集按照目标混淆列进行排序,对排序后的结果集使用随机数序列使用混淆方式对目标混淆列进行混淆,按照数据结果集的原有顺序将混淆后的数据结果集写入还原文件;所述历史用户令牌用于产生种子数;
验证单元,用于获取用户输入的文件,以及根据用户的历史用户令牌和用户的请求,使用还原单元生成还原文件,基于还原文件和用户输入的文件确定文件是否被篡改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311527872.9A CN117235814B (zh) | 2023-11-16 | 2023-11-16 | 一种含有时间序列关联混淆数据的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311527872.9A CN117235814B (zh) | 2023-11-16 | 2023-11-16 | 一种含有时间序列关联混淆数据的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117235814A true CN117235814A (zh) | 2023-12-15 |
CN117235814B CN117235814B (zh) | 2024-01-26 |
Family
ID=89091647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311527872.9A Active CN117235814B (zh) | 2023-11-16 | 2023-11-16 | 一种含有时间序列关联混淆数据的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117235814B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2189925A2 (en) * | 2008-11-25 | 2010-05-26 | SafeNet, Inc. | Database obfuscation system and method |
US20140344569A1 (en) * | 2013-05-20 | 2014-11-20 | Alibaba Group Holding Limited | Protecting data |
CN110096897A (zh) * | 2019-04-15 | 2019-08-06 | 山东三未信安信息科技有限公司 | 数据脱敏方法及装置、数据泄露源头定位方法及装置 |
CN111651736A (zh) * | 2020-06-16 | 2020-09-11 | 杭州美创科技有限公司 | 一种身份证数据脱敏的水印溯源方法 |
CN113032840A (zh) * | 2021-05-26 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN113268769A (zh) * | 2021-05-25 | 2021-08-17 | 平安普惠企业管理有限公司 | 基于随机混淆的生物特征数据处理方法、系统及存储介质 |
CN113742763A (zh) * | 2021-11-08 | 2021-12-03 | 中关村科技软件股份有限公司 | 一种基于政务敏感数据混淆加密方法及系统 |
CN115065457A (zh) * | 2022-06-15 | 2022-09-16 | 抖音视界(北京)有限公司 | 数据查询方法及装置 |
CN115544579A (zh) * | 2022-11-24 | 2022-12-30 | 北京融数联智科技有限公司 | 一种双随机数据混淆查询方法、装置和系统 |
CN116611092A (zh) * | 2023-06-07 | 2023-08-18 | 数安云智(杭州)科技有限公司 | 一种基于多因子的数据脱敏方法及装置、溯源方法及装置 |
-
2023
- 2023-11-16 CN CN202311527872.9A patent/CN117235814B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2189925A2 (en) * | 2008-11-25 | 2010-05-26 | SafeNet, Inc. | Database obfuscation system and method |
US20140344569A1 (en) * | 2013-05-20 | 2014-11-20 | Alibaba Group Holding Limited | Protecting data |
CN110096897A (zh) * | 2019-04-15 | 2019-08-06 | 山东三未信安信息科技有限公司 | 数据脱敏方法及装置、数据泄露源头定位方法及装置 |
CN111651736A (zh) * | 2020-06-16 | 2020-09-11 | 杭州美创科技有限公司 | 一种身份证数据脱敏的水印溯源方法 |
CN113268769A (zh) * | 2021-05-25 | 2021-08-17 | 平安普惠企业管理有限公司 | 基于随机混淆的生物特征数据处理方法、系统及存储介质 |
CN113032840A (zh) * | 2021-05-26 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN113742763A (zh) * | 2021-11-08 | 2021-12-03 | 中关村科技软件股份有限公司 | 一种基于政务敏感数据混淆加密方法及系统 |
CN115065457A (zh) * | 2022-06-15 | 2022-09-16 | 抖音视界(北京)有限公司 | 数据查询方法及装置 |
CN115544579A (zh) * | 2022-11-24 | 2022-12-30 | 北京融数联智科技有限公司 | 一种双随机数据混淆查询方法、装置和系统 |
CN116611092A (zh) * | 2023-06-07 | 2023-08-18 | 数安云智(杭州)科技有限公司 | 一种基于多因子的数据脱敏方法及装置、溯源方法及装置 |
Non-Patent Citations (3)
Title |
---|
NAZANIN TAKBIRI 等: "Matching Anonymized and Obfuscated Time Series to Users’ Profiles", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 65, no. 2, XP011706002, DOI: 10.1109/TIT.2018.2873134 * |
李学琴: "云环境中抑制信息泄露的数据检索技术研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 2022, pages 138 - 225 * |
黄保华;王添晶;贾丰玮;: "数据库中数值型数据的加密存储与查询方法", 计算机工程, no. 07 * |
Also Published As
Publication number | Publication date |
---|---|
CN117235814B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9514330B2 (en) | Meta-complete data storage | |
US11366918B1 (en) | Methods and apparatus for encrypted indexing and searching encrypted data | |
JP5536067B2 (ja) | データを暗号化および処理するための装置、システム、方法および対応するソフトウエアコンポーネント | |
US20220019678A1 (en) | Method, apparatus, and computer-readable medium for automated construction of data masks | |
CN107798253B (zh) | 数据脱敏方法及装置 | |
CN110110163A (zh) | 安全子字符串搜索以过滤加密数据 | |
CN106228084A (zh) | 基于角色的敏感字段动态调整的数据保护方法和系统 | |
GB2484382A (en) | Generating a test database for testing applications by applying format-preserving encryption to a production database | |
US10885516B2 (en) | Secure validation using hardware security modules | |
CN113076554B (zh) | 一种基于区块链的体检数据安全存储方法 | |
CN113127915A (zh) | 数据加密脱敏方法、装置、电子设备及存储介质 | |
Fu et al. | Data correlation‐based analysis methods for automatic memory forensic | |
JP2012248940A (ja) | データ生成装置、データ生成方法、データ生成プログラム及びデータベースシステム | |
CN109729076B (zh) | 数据脱敏、逆脱敏方法及装置、存储介质、终端 | |
CN117235814B (zh) | 一种含有时间序列关联混淆数据的数据处理方法及装置 | |
US20230043544A1 (en) | Secure database extensions | |
Hwang et al. | Encrypted keyword search mechanism based on bitmap index for personal storage services | |
CN113434535B (zh) | 数据处理方法、通信系统、设备、产品及存储介质 | |
US20210326470A1 (en) | Data sundering | |
CN111898157A (zh) | 机器学习多源训练集的不经意存储访问方法 | |
Heinl et al. | AntiPatterns regarding the application of cryptographic primitives by the example of ransomware | |
EP3402117B1 (en) | Method, apparatus, and computer-readable medium for automated construction of data masks | |
US20240143829A1 (en) | Permission based data masking | |
US11847244B1 (en) | Private information detector for data loss prevention | |
Göge et al. | Improving fuzzy searchable encryption with direct bigram embedding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |