CN112257111A - 动态数值脱敏方法、装置及存储介质 - Google Patents

动态数值脱敏方法、装置及存储介质 Download PDF

Info

Publication number
CN112257111A
CN112257111A CN202011268765.5A CN202011268765A CN112257111A CN 112257111 A CN112257111 A CN 112257111A CN 202011268765 A CN202011268765 A CN 202011268765A CN 112257111 A CN112257111 A CN 112257111A
Authority
CN
China
Prior art keywords
value
desensitization
data
data segment
determining
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.)
Pending
Application number
CN202011268765.5A
Other languages
English (en)
Inventor
王家彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011268765.5A priority Critical patent/CN112257111A/zh
Publication of CN112257111A publication Critical patent/CN112257111A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种动态数值脱敏方法、装置及存储介质,该方法包括:接收数值脱敏请求,该述数值脱敏请求中包含有源待脱敏数值以及业务标识;获取与业务标识对应的脱敏规则;将正实数域用M个数据段表示,并将每个数据段划分为第二预设值个首尾相连的数据片;确定源待脱敏数值的位置locij,该位置locij表征源待脱敏数值位于第i个数据段的第j个数据片;将第i个数据段中第j个数据片的前一个数据片对应的最大脱敏值,确定为第一脱敏数值;基于脱敏规则中与第j个数据片对应的单调递增函数,确定第二脱敏数值;将第一脱敏数值和第二脱敏数值之和,确定为脱敏后数值。本申请能够在动态数值脱敏的基础上,实现对实数域中任一数值进行保序脱敏。

Description

动态数值脱敏方法、装置及存储介质
技术领域
本申请涉及数据脱敏技术领域,尤其涉及一种动态数值脱敏方法、装置及 存储介质。
背景技术
随着大数据时代的到来,大数据中蕴藏的巨大商业价值被逐步挖掘出来, 但是同时也对敏感信息的保护带来了巨大的挑战。为了防止敏感信息泄露,在 数据共享过程中,通常采用数据脱敏技术对源数据进行脱敏处理,以实现数据 的伪装。现有的数据脱敏技术主要以字符串脱敏为主,通过直接将源数据部分 内容遮蔽或去掉而实现数据的伪装。这种脱敏方式下,脱敏后数据已改变了源 数据的内容,例如某手机号脱敏后是“134***216”,同样的还有姓名/身份证号 /银行卡号等等。
但对于数值型数据而言,往往希望在不能透露真实值的情况下,脱敏后数 据可以看到数据大致的趋势和基本的情况,即要求脱敏后数据不仅是数值类型, 且脱敏后数据保持与源数据具有相同的顺序。例如,A主播的粉丝数比B主播 的粉丝数多,如果脱敏后数据不是具体数值,将不能反应出A主播的粉丝数与 B主播的粉丝数的关系;或者如果脱敏后数据表示B主播的粉丝数超过A主播 的粉丝数,不仅存在误导也有失公平。显然,字符串脱敏的方式将不再适用, 而对数值型数据的保序脱敏成为一个亟待解决的问题。
发明内容
本申请提供一种动态数值脱敏方法、装置及存储介质,能够在对源待脱敏 数值进行脱敏处理时,使脱敏后数值保持与源待脱敏数值具有相同的顺序,从 而实现对数值型数据的保序脱敏。
一方面,本申请提供了一种动态数值脱敏方法,所述方法包括:
接收数值脱敏请求,所述数值脱敏请求中包含有源待脱敏数值以及业务标 识,所述业务标识表征所述源待脱敏数值所属业务的唯一标识;
获取与所述业务标识对应的脱敏规则,所述脱敏规则中至少包括第二元数 据,所述第二元数据中包括第一预设值个单调递增函数,且每个所述单调递增 函数的值域均是0到1之间;
将正实数域用M个数据段表示,并将每个所述数据段划分为第二预设值个 首尾相连的数据片,其中,每个所述数据段为下一个数据段的第1个数据片,M 为无穷大的正整数;
确定所述源待脱敏数值的位置locij,所述位置locij表征所述源待脱敏数值位 于第i个数据段的第j个数据片;
将所述第i个数据段中所述第j个数据片的前一个数据片对应的最大脱敏值, 确定为所述源待脱敏数值对应的第一脱敏数值;
基于所述第二元数据中与所述第j个数据片对应的单调递增函数,确定所述 源待脱敏数值对应的第二脱敏数值;
将所述第一脱敏数值和所述第二脱敏数值之和,确定为所述源待脱敏数值 对应的脱敏后数值。
另一方面提供了一种动态数值脱敏装置,所述装置包括:
请求接收模块,用于接收数值脱敏请求,所述数值脱敏请求中包含有源待 脱敏数值以及业务标识,所述业务标识表征所述源待脱敏数值所属业务的唯一 标识;
规则获取模块,用于获取与所述业务标识对应的脱敏规则,所述脱敏规则 中至少包括第二元数据,所述第二元数据中包括第一预设值个单调递增函数, 且每个所述单调递增函数的值域均是0到1之间;
数据段划分模块,用于将正实数域用M个数据段表示,并将每个所述数据 段划分为第二预设值个首尾相连的数据片,其中,每个所述数据段为下一个数 据段的第1个数据片,M为无穷大的正整数;
位置确定模块,用于确定所述源待脱敏数值的位置locij,所述位置locij表征 所述源待脱敏数值位于第i个数据段的第j个数据片;
第一脱敏数值确定模块,用于将所述第i个数据段中所述第j个数据片的前一 个数据片对应的最大脱敏值,确定为所述源待脱敏数值对应的第一脱敏数值;
第二脱敏数值确定模块,用于基于所述第二元数据中与所述第j个数据片对 应的单调递增函数,确定所述源待脱敏数值对应的第二脱敏数值;
脱敏数值生成模块,用于将所述第一脱敏数值和所述第二脱敏数值之和, 确定为所述源待脱敏数值对应的脱敏后数值。
另一方面提供了一种计算机存储介质,所述计算机存储介质中存储有至少 一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加 载并执行以实现如上所述的动态数值脱敏方法。
本申请对于同一个业务使用相同的脱敏规则,保证脱敏结果的一致性,实 现了对数值型数据的动态脱敏处理;将位于源待脱敏数值前的数据片对应的最 大脱敏值,作为脱敏后数值的基础值,实现了位于不同数据片中的源待脱敏数 值的保序脱敏;通过值域在0到1之间的单调递增函数,实现了位于相同数据 片中的源待脱敏数值的保序脱敏,从而实现了对实数域中任一数值进行保序脱 敏。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将 对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下 面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种动态数值脱敏方法的应用场景示意图。
图2是本申请实施例提供的一种动态数值脱敏方法的流程示意图。
图3是本申请实施例提供的一个数据段划分的示例图。
图4是本申请实施例提供的另一个数据段划分的示例图。
图5是本申请实施例提供的另一种动态数值脱敏方法的流程示意图。
图6是本申请实施例提供的确定数据片对应的最大脱敏值的流程示意图。
图7是本申请实施例提供的确定数据片的份额值的流程示意图。
图8是本申请实施例提供的一个数据片对应的最大脱敏值的示例图。
图9是本申请实施例提供的一个脱敏规则的散点图的示例图。
图10是本申请实施例提供的确定第二脱敏数值的流程示意图。
图11是本申请实施例提供的另一个脱敏规则的散点图的示例图。
图12是本申请实施例提供的另一个脱敏规则的散点图的示例图。
图13是本申请实施例提供的进行保序脱敏的一个示例图。
图14是本申请实施例提供的一种动态数值脱敏装置的结构框图示意图。
图15是本申请实施例提供的另一种动态数值脱敏装置的结构框图示意图。
图16是本申请实施例提供的最大脱敏值确定模块的结构框图示意图。
图17是本申请实施例提供的一种用于实现本申请实施例所提供的方法的设 备的硬件结构示意图。
具体实施方式
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络 等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管 理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云 计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资 源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发 展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系 统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强 大的系统后盾支撑,只能通过云计算来实现。
本申请实施例的方案涉及云技术的大数据(Big data)技术领域。大数据是 指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合, 是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、 高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多 的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。 适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系 统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
随着大数据时代的到来,大数据中蕴藏的巨大商业价值被逐步挖掘出来, 但是同时也对敏感信息的保护带来了巨大的挑战,例如身份证号码、交易数额 以及收入等等。为了防止敏感信息泄露,在数据共享过程中,通常采用数据脱 敏技术对源数据进行脱敏处理,以实现数据的伪装。
本申请实施例针对现有技术中不能实现对数值型数据的保序脱敏的问题, 提出了一种动态数值脱敏方法。为使本申请的目的、技术方案和优点更加清楚, 下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是 本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领 域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都 属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、 “第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。 应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实 施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括” 和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了 一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的 那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品 或设备固有的其它步骤或单元。
首先对本说明书实施例中涉及的相关名词做以下解释:
数据脱敏:数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形, 实现敏感隐私数据的可靠保护。
数值脱敏:针对数值型数据进行脱敏处理,数值脱敏与传统脱敏不同之处 在于,传统脱敏会直接将原始数据部分内容遮蔽或去掉,而数值脱敏后是完整 的另一个数值。如本月收入1000元,脱敏后可能变成1334元,所以也称为数 值脱敏与伪装。
保序性:是指在对数据进行脱敏处理的同时,还保证了脱敏结果与源数据 顺序一致。例如,对于4个源数据a,b,c和d,符合a<b<c<d的关系,对应脱 敏结果分别为A,B,C和D,同样符合A<B<C<D的关系。
反预测性:是指即使数据使用者有能力构造海量的数据,也很难预测这批 数据对应的源数据。相反的,预测性则是指数据使用者可能会通过构造数据-> 观察结果来推测数据关系进而推算出脱敏规则,从而获得脱敏数据对应的源数 据,这样使得脱敏完全失去意义。当然,由于保序性,通过夹逼思想,预测两 个相距不大的值中间的值是很容易的,这是保序脱敏固有的情况,并不影响本 申请的反预测性的成立。
有界性:指脱敏结果不会与源值相差得过于离谱,会保证结果在一定合理 范围之内。数值型脱敏的目的,本来就是让数据使用者可以看到数据大致的趋 势和基本的情况,只不过不能透露真实值。如果脱敏结果过于离谱,完全无法 使用,那就脱离了脱敏的初衷。
可计算:对整个实数域上的任何源数据都能计算,且对任意源数据,都能 在合理的时间内完成计算,比如,1ms以内。
静态脱敏:是指数据集是确定的,然后对该数据集进行一次性的脱敏处理。 在这种情况下,往往也只需要一次交付,不需要考虑后续。
动态脱敏:是指数据集可能在持续发生变化中,例如新增、变更或者删除。 动态脱敏无法依赖数据集的关联性,对于多次交付,也要保证脱敏结果的稳定。
伪随机数发生器:生成一系列“看起来是随机的”的数字,这些数字符合 随机数的统计特征,但并不是随机的。对于确定的“随机种子”,生成出来的 数字序列一定是相同的。
0-1函数:指定义域在[0,1],值域在[0,1],且单调递增的函数。
指数性周期函数:是指采用类似周期函数的设定,例如sin(x),但周期是按 照“指数”来发生的。比如,在十进制方案下,0-10的函数图像,与0-102、0-103以及0-104都很相似,这种相似是以指数形式存在的,类似于一种“分形”。
请参阅图1,其示出了本申请实施例提供的一种动态数值脱敏方法的应用场 景示意图。如图1所示,该实施环境可以包括至少一个数据提供者01、大数据 中心共享交换平台02以及至少一个数据使用者03。
具体的,大数据中心共享交换平台02是一个通用的数据中间层平台,用于 为数据提供者01和数据使用者03之间的数据共享提供场所,并在数据提供者 01有对某项数值型数据进行保序脱敏的需求时,对该项数值型数据进行数值脱 敏处理,并将脱敏处理所得到的数据提供给数据使用者03使用。
以下以大数据中心共享交换平台(简称共享交换平台)为执行主体介绍本 申请的动态数值脱敏方法。图2是本申请实施例提供的一种动态数值脱敏方法 的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基 于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举 的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。 在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺 序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2 所示,所述方法可以包括:
S201,接收数值脱敏请求,所述数值脱敏请求中包含有源待脱敏数值以及 业务标识,所述业务标识表征所述源待脱敏数值所属业务的唯一标识。
共享交换平台在对源待脱敏数值进行脱敏处理时,以业务标识对源待脱敏 数值进行识别,区分出源待脱敏数值是属于哪种业务,不同业务具有不同的脱 敏规则,相同业务下使用相同的脱敏规则。其中,业务是指源待脱敏数值所表 示的真实内容,例如源待脱敏数值所表示的是收入、年龄、考试分数还是粉丝 数等等。
S202,获取与所述业务标识对应的脱敏规则,所述脱敏规则中至少包括第 二元数据,所述第二元数据中包括第一预设值个单调递增函数,且每个所述单 调递增函数的值域均是0到1之间。
本申请实施例中,脱敏规则是共享交换平台预先基于业务标识生成的,一 个业务标识对应一个脱敏规则。具体而言,共享交换平台将所述业务标识转换 成幻数,将该幻数作为随机种子;基于所述随机种子,利用预设伪随机数发生 器得到与所述业务标识对应的脱敏规则。在具体实施时,若用biz_id表示业务标 识,可以通过使用magic()函数得到随机种子,即随机种子seed可以表示为 seed=magic(biz_id)。
预设伪随机数发生器基于随机函数以及分形构造脱敏函数的思想,生成脱 敏规则g(x),所生成的脱敏规则g(x)具有单调递增特性。利用g(x)对源待脱敏 数值x进行脱敏处理,实际上是将源待脱敏数值x映射成目标值y,以使该目标值 y保持与x相同的顺序。映射关系可以用以下式子表示:
x→f(x)→y
在实际应用中,为实现保序脱敏,脱敏规则f(x)可以是任意的单调递增函 数,即直接利用一个单调递增函数对源待脱敏数值x进行脱敏,但是这种方式的 反预测性较弱。当然,也可以基于生产随机数进行逐个迭代,但是这种方式的 可计算性较差,特别是在处理小数区域以及当源数据x很大时,可能导致无法在 合理时间内完成计算。
本申请实施例中脱敏规则利用累加与单调递增函数的思想来实现保序脱 敏。其主要思路是,将正实数域划分为若干个数据区间,在确定源待脱敏数值 所在的区间后,将源待脱敏数值位置之前的区间所能表示的最大脱敏值作为基 础值,然后利用单调递增函数计算相同区间的计算问题。
在处理相同区间的计算问题上,通过单调递增函数来计算出源待脱敏数值 在该区间的占比值,从而计算出在该区间的一个脱敏数值。由于占比值是属于 0-1之间的数,因而预设伪随机数发生器通过将这第一预设值个单调递增函数进 行归一化处理,限定每个单调递增函数的值域在0-1之间,并将结果存储在第二 元数据中,以供后续脱敏处理使用。其中,第一预设值为大于或等于1的正整 数。
在一些实施例中,预设伪随机数发生器也可以直接采用0-1函数作为第二元 数据中所存储的单调递增函数,这些0-1函数可以相同也可以不同。在具体实施 时,可以选择变形logistic函数、实指数幂函数或logistic与tan复合函数等函数 作为0-1函数。
其中,变形logistic函数可通过以下式子表示:
Figure BDA0002777018970000071
实指数幂函数可通过以下式子表示:
g(x)=xt,t∈R+
logistic与tan复合函数可通过以下式子表示:
Figure BDA0002777018970000072
S203,将正实数域用M个数据段表示,并将每个所述数据段划分为第二预 设值个首尾相连的数据片,其中,每个所述数据段为下一个数据段的第1个数 据片,M为无穷大的正整数。
本申请实施例基于累加的思想来进行保序脱敏,因而首先需要将正实数域 进行数据段(section)的划分,每个section对应一个数据区间,并将前一个section 作为下一个section的第1个数据片(part)。那么,第二预设值为大于或等于2 的正整数,即至少将每个section划分为2个part。
在实际应用中,每个section的终止值可以是任一指定值,或者是随机生成 的值,只要满足每个section是在下一个section的数值区间内即可。但是,如果 是任一指定值,或者是随机生成的值,在计算的过程中可能需要耗费很长时间。 特别是随机数序列的处理,计算耗时会随着输入的增大而增大,这种方式不具 备可计算性。而如果为了可计算性,采用周期函数来处理的话,就会便得很容 易预测。数据使用者生成不同规模的序列,总是可以发现此周期性,进而推算 出函数公式。
本申请实施例利用指数性周期函数结合不动点来解决上述可计算性问题。 指数性周期函数使用脱敏规则中随机生成的第一元数据来实现。其中,第一元 数据为大于或等于2的正整数,每个section的终止值均是以第一元数据为底数, 并以该section的段数为指数的值,即第k(1≤k≤M)个section的终止值是以所 述第一元数据为底数并以所述k为指数的值。
如图3和图4中所示,其分别示出了第一元数据为10和97时的数据段划 分情况。在图3中,每个section的起始值均为0,上一个section作为下一个section 的第1个part,每个section中均包含有10个首尾相连的part,每个part均有相 等的数值区间;例如,第4个section为第5个section的第1个part,第5个section 的第1个part和第2个part的数值区间都是104。在图4中,每个section的终 止值均是以97为底数的值,每个section都包含有97个part,第2个section是 第3个section的第1个part,第3个section的第2个part和第1个part的数值 区间都是972
需要说明的是,图3和图4中的每个section中的各个part均是等分的,但 具体实施时,并不限于等分划分的情况。而且,预设伪随机数发生器可以随机 选取大于或等于2的任一正整数作为第一元数据。但是,第一元数据越大,每 个数据段所要表示的数值区间也就越大,数据过大也会影响处理速度。如果将 第一元数据看做是进位制,2进制、8进制以及10进制等进制数在应用中也较 为常见,很容易预测出来。因此,预设伪随机数发生器可以在设定进制数范围 内随机的选取一个数作为第一元数据,例如设定进制数范围可以是13~97的范 围。
S204,确定所述源待脱敏数值的位置locij,所述位置locij表征所述源待脱 敏数值位于第i个数据段的第j个数据片。
在一些应用场景下,源待脱敏数值不仅可以是正数,也可能是负数,例如 某客户在一段时间内的支出是1000元,通常会用-1000表示。因而,共享交换 平台根据源待脱敏数值的绝对值,确定源待脱敏数值位于哪个section的哪个 part。由于每个section是下一个section的第1个part,在确定源待脱敏数值的 位置时,必然会落入某个section的第1个part,此时会优先选取较小的section 作为最终位置。
例如,若源待脱敏数值为9800,按照图3中数据段的划分,其位于第4个 section的第10个part,也位于第5个section的第1个part,则最终确定9800 位于第4个section的第10个part。
S205,将所述第i个数据段中所述第j个数据片的前一个数据片对应的最大脱 敏值,确定为所述源待脱敏数值对应的第一脱敏数值。
在本申请实施例中,每个数据片对应的最大脱敏值表征对位于该数据片中 的源待脱敏数值进行脱敏处理后,所能得到的最大的脱敏数值。那么,在数轴 上可以将第j个数据片的前一个数据片对应的最大脱敏值,看成是一个不动点, 位于该不动点之后的点对应的脱敏值,都是在该不动点的基础上加上一定的偏 移计算得到。如图5所示,在步骤S205之前,所述方法还包括:
S501,确定所述第i个数据段中每个数据片对应的最大脱敏值。
共享交换平台会预先确定第i个数据段中每个数据片对应的最大脱敏值,由 第j个数据片的前一个数据片对应的最大脱敏值,作为源待脱敏数值对应的脱敏 后数值的基础值,这样使得位于在后数据段的源待脱敏数值对应的脱敏后数值, 总是大于位于在前数据段的源待脱敏数值对应的脱敏后数值。例如,源待脱敏 数值S1和源待脱敏数值S2,两者之间存在S1<S2,且S1位于第4个数据段的第3 个数据片,S2位于第4个数据段的第6个数据片,则源待脱敏数值S1对应的脱敏 后数值D1,也必然小于源待脱敏数值S2对应的脱敏后数值D2
参照图6中所示,步骤S501可具体包括:
S5011,对于所述M个数据段中的每个数据段,基于所述数据段的终止值, 确定所述数据段的固定值。
本申请实施例中,每个数据段的固定值是通过该数据段的终止值进行映射 而得到的,固定值可以看成是该数据段对应的最大脱敏值。当然,也可以直接 将终止值确定为固定值,但是这种方式很容易被预测出来。为了强化随机性, 本申请实施例通过分区缩放的方式,利用脱敏规则中的第三元数据对每个数据 段的终止值进行缩放处理,得到该数据段的固定值。其中,第三元数据表征平 均值为1的缩放序列,该缩放序列中包括至少一个缩放值。
相应的,步骤S5011可以具体包括:对于所述M个数据段中的每个数据段, 将所述数据段对应的段数,除以所述第三元数据的长度的余数,作为第一索引 值;将所述第一索引值作为所述第三元数据中的索引,得到目标缩放值;将所 述目标缩放值与所述数据段的终止值的乘积,确定为所述数据段的固定值。
以第三元数据(用zoom表示)为{0.8,0.6,1.6}为例,由于第三元数据的长度 为3,若第一元数据为10,对于第1个数据段,其终止值为101,段数为1,且1%3的 余数为3,则目标缩放值为zoom[3]=1.6,第1个数据段的固定值为1.6*101。 对于第2个数据段,其终止值为102,段数为2,且2%3的余数为2,则目标缩 放值为zoom[2]=0.6,第2个数据段的固定值为0.6*102=60。同理,可得到 每个数据段的固定值。
根据上述计算固定值的表述,若用n表示第n个数据段,用system表示第一 元数据,则第n个数据段的固定值可以用以下式子表示:
zoom[n%len(zoom)]*systemn
其中,len(zoom)表示zoom的长度。
那么,按照上述计算方式,当zoom中仅有1个缩放值1时,每个数据段的 终止值即为该数据段的固定值。
S5012,获取所述第i个数据段中每个数据片的份额数。
在脱敏规则确定下,每个数据段包含的数据片个数也是确定的,则可以将 每个数据片的份额数都设置为相同,但这种常规方式很容易被预测出来。
为了减小被预测出的概率,本申请实施例中,每个数据片在数据脱敏过程 中所占据的权重即份额数是不同的。共享交换平台可以读取脱敏规则中的第四 元数据,得到第i个数据段中每个数据片的份额数。其中,所述第四元数据为从 目标排列中随机选取的一个排列,所述目标排列是按照预设排列规则对从1至 所述第二预设值的所有整数进行排列所得到的。
具体而言,所述获取所述第i个数据段中每个数据片的份额数,可以包括: 将所述第四元数据中的第q位对应的数值,确定为所述第i个数据段的第q个数据 片的份额数。
例如,若第二预设值为3,预设排列规则为全排列,则对1至3中的所有整 数(1、2和3)进行全排列,所得到的目标排列有6种,分别为{1,2,3},{1,3,2}, {2,1,3},{2,3,1},{3,1,2}以及{3,2,1},然后从这6中排列中随机选取一种排列 {2,1,3}作为第四元数据。那么{2,1,3}中的第1位对应的数值2即为第1个数据片 的份额数,第2位对应的数值1即为第2个数据片的份额数,第3位对应的数 值3即为第3个数据片的份额数。
在一些实施例中,第四元数据也可以是随机生成的一个数据序列,该数据 序列中包含有第二预设值个数值,每个数值对应于每个数据片的份额数。
S5013,基于所述第i个数据段的固定值,以及,所述第i个数据段中每个数 据片的份额数,确定所述第i个数据段中每个数据片的份额值。
根据数据段的定义,每个数据段都是下一个数据段的第1个数据片,每个 数据段的终止值都是一个定值。因而,可以基于每个数数据段的定值来确定出 每个数据段的总份额值,然后基于该数据段中每个数据片的份额数,确定出每 个数据片的份额值。但是对于第1个数据段而言,其第1个数据片并不是任何 一个数据段,因而在确定总份额值时,需要进行特殊处理。
具体可参见图7中所示,步骤S5013可以包括:
S50131,判断所述第i个数据段是否为第1个数据段。
若所述第i个数据段是所述第1个数据段,则执行以下步骤:
S50132,将所述第i个数据段的固定值,确定为第一总份额值。
对于第1个数据段,由于该数据段中的第1个数据片并不是某个数据段, 而该数据段的起始值为零,那么该数据段的所有数据片共享了该数据段的固定 值这么大的数值范围,因而将该数据段的固定值确定为第一总份额值。
S50133,将所述第i个数据段中每个数据片的份额数之和,确定为第一总份 额数。
S50134,将所述第一总份额值除以所述第一总份额数,得到第一份额值。
S50135,对于所述第i个数据段中每个数据片,将所述数据片的份额数与所 述第一份额值之积,确定为所述数据片的份额值。
若所述第i个数据段不是所述第1个数据段,则执行以下步骤:
S50136,将所述第i个数据段的固定值与第i-1个数据段的固定值之差,确 定为第二总份额值。
对于非第1个数据段,由于该数据段中的第1个数据片是上一个数据段, 那么该数据段中,除第1个数据片以外的所有数据片就共享了两个数据段的固 定值之间这么大的数值范围,因而将该数据段的固定值与上一个数据段的固定 值之差,确定为第二总份额值。
例如,如果用fixed[i]表示第i个数据段的固定值,用fixed[i-1]表示第i-1 个数据段的固定值,那么第二总份额值为fixed[i]-fixed[i-1]。
S50137,将所述第i个数据段中除第1个数据片以外的所有数据片的份额数 之和,确定为第二总份额数。
S50138,将所述第二总份额值除以所述第二总份额数,得到第二份额值。
S50139,对于所述第i个数据段的第1个数据片,将所述第i-1个数据段的 固定值,确定为所述第1个数据片的份额值。
S501310,对于所述第i个数据段的第p(p≠1)个数据片,将所述第p个数据 片的份额数与所述第二份额值之积,确定为所述第p个数据片的份额值。
举例说明,假设第i个数据段的总份额值为1500,第四元数据为{3,5,4,1,2}。 若第i个数据段是第1个数据段,则第1个数据段中的5个数据片共享1500的总 份额值,总份额数为每个数据片的份额数之和即3+5+4+1+2=15,可以得到第一 份额值为1500/15=100。进一步可以确定出每个数据片的份额值依次为 3*100=300,5*100=500,4*100=400,1*100=100,2*100=200。
若第i个数据段不是第1个数据段,则第i个数据段中除第1个数据片以外的 4个数据片共享1500的总份额值,总份额数为除第1个数据片以外的4个数据 片的份额数之和即5+4+1+2=12,可以得到第二份额值为1500/12=125。进一步 可以确定出第1个数据片的份额值为第i-1个数据段的固定值,其他数据片的份 额值依次为5*120=600,4*120=480,1*120=120,2*120=240。
S5014,对于所述第i个数据段的第1个数据片,将所述第1个数据片的份额 值,确定为所述第1个数据片对应的最大脱敏值。
S5015,对于所述第i个数据段的第m(m≠1)个数据片,将第m-1个数据片 对应的最大脱敏值与所述第m个数据片的份额值之和,确定为所述第m个数据片 对应的最大脱敏值。
举例说明,以第i个数据段不是第1个数据段为例,如图8所示,按照上述 例子中其他数据片(part)的份额值依次为5*120=600,4*120=480,1*120=120, 2*120=240,假设第i-1个数据段的固定值为500即第1个part的份额值为500, 则第1个part对应的最大脱敏值为500,第2个part对应的最大脱敏值为 500+600=1100,第3个part对应的最大脱敏值为1100+480=1580,第4个part 对应的最大脱敏值为1580+120=1700,第5个part对应的最大脱敏值为 1700+240=1940。
如图9中所示,其为脱敏规则f(x)中第i个section(x取值范围为0~1e10) 的一个散点图示例,横轴表示源待脱敏数值,纵轴表示脱敏后数值。在图9中, 第i-1个section(图中用section[i-1]来示出)是第i个section的第1个part (图中用part[1]来示出)。第i个section的固定值(图中用fixed[i]来示出) 为第i个section对应的最大脱敏值,第i-1个section的固定值(图中用fixed[i-1] 来示出)为第i-1个section对应的最大脱敏值,即第i个section中除第1个part 以外的所有part,共享fixed[i]-fixed[i-1]之差的份额。fixed[i]和 fixed[i-1]两个值在坐标轴中对应的点均可看成是不动点,位于第i个section 中的源待脱敏数值对应的脱敏后数值,可以看成目标点,随着源待脱敏数值的 不同,其所对应的目标点在两个不动点之间移动。
S206,基于所述第二元数据中与所述第j个数据片对应的单调递增函数,确 定所述源待脱敏数值对应的第二脱敏数值。
第一脱敏数值保证了处于不同part中的源待脱敏数值具有保序性,而对于 处于相同part中的源待脱敏数值而言,为了实现保序性,本申请实施例利用第 二元数据中的第一预设值个单调递增函数来实现。
参照图10中所示,步骤S206可以包括:
S2061,确定源待脱敏数值在所述第j个数据片中的位置标签。
对于处于相同part中的两个数值而言,其在该part中的位置是不同的,本 申请使用位置标签来对源待脱敏数值在第j个数据片中的位置进行标记。
具体的,将所述源待脱敏数值与所述第j个数据片的起始值之差,作为第一 数值;将所述第j个数据片的终止值与所述第j个数据片的起始值之差,作为第二 数值;将所述第一数值与所述第二数值的比值,确定为所述源待脱敏数值在所 述第j个数据片中的位置标签。
例如,若源待脱敏数值为15800,则按照图3中的数据段划分,15800位于 第5个section的第2个part,第2个part的终止值为20000,起始值为10000, 那么15800在第2个part中的位置标签可表示为:
Figure BDA0002777018970000131
S2062,将所述位置标签作为所述第j个数据片对应的单调递增函数的输入, 得到所述源待脱敏数值在所述第j个数据片中的占比值。
本申请实施例中,每个section包含有第二预设值个part,第二元数据中包 括第一预设值个单调递增函数,第一预设值和第二预设值可以相同,也可以不 同。当两者不相同时,共享交换平台可以从第二元数据中随机选取一个单调递 增函数,或者按照顺序依次选取一个单调递增函数,作为第j个数据片对应的单 调递增函数;当两者相同时,除上述两种方式以外,共享交换平台还可以将每 个单调递增函数与每个part进行一一对应,例如第二元数据中第一个单调递增 函数作为第1个part对应的单调递增函数,第二元数据中第二个单调递增函数 作为第2个part对应的单调递增函数,以此类推。当然,还可以有其他选择方 式,本申请实施例在此不做具体限定。
假设第j个数据片对应的单调递增函数为实指数幂函数,且t为1,即第j个 数据片对应的单调递增函数为g(x)=x,则源待脱敏数值在所述第j个数据片中 的占比值为0.58。
S2063,将所述占比值与所述第j个数据片的份额值之积,确定为所述源待 脱敏数值对应的第二脱敏数值。
例如,若第j个数据片的份额值为240,则第二脱敏数值为0.58*240。可以 理解的,即使两个源待脱敏数值处于相同的数据片,如果这两个源待脱敏数值 相同,那么最终所得到的第二脱敏数值必然相等;如果这两个源待脱敏数值不 同,由于在该数据片中的位置标签不同,加上0-1函数的单调递增特性,将会使 得这两个源待脱敏数值对应的第二脱敏数值也保持相同的顺序。
S207,将所述第一脱敏数值和所述第二脱敏数值之和,确定为所述源待脱 敏数值对应的脱敏后数值。
通过将第一脱敏数值和第二脱敏数值之和作为源待脱敏数值对应的脱敏后 数值,不仅使脱敏后数值具有与源待脱敏数值相同的顺序,也会保证结果在一 定合理范围之内。也就是说,通过脱敏规则f(x)进行保序脱敏后的数值具有一 定的混乱性或自相似性等特征。
如图11和图12所示,其分别示出了不同业务下x取值范围分别在0~1e6和 0~1e7时f(x)的散点图示例。从图中可以看出,对于相同的两个待脱敏数值,由 于业务不同,两者所对应的脱敏后数值可能不同。而在同一个业务下,对于脱 敏后数值始终具有保序性,而且脱敏后数值与源数值相差在一定范围之内。
下面以某直播平台业务,需要开放主播礼物收入、粉丝数以及人气数等数 据,供工作室或工会进行数据分析与商业智能为例,对本申请的动态数据脱敏 方法进行阐述。由于在初步合作阶段,该直播平台不愿意提供真实数据,但又 不能伪装得很离谱,共享交换平台需要对这些数据进行保序脱敏,以保证公平 性。比如A主播的粉丝数比B主播的粉丝数多,伪装后的数据如果表示B主播 的粉丝数超过了A主播的粉丝数,会影响A主播的合法利益和评价,明显有失 公平。
假设共享交换平台获取到粉丝数所对应的脱敏规则中,第一元数据(用 system表示)为10;第二元数据(用z1funcs表示)中包括10个0-1函数;第 三元数据(用zoom表示)中只有1个缩放值,即每个section的终止值为该section 的固定值;第四元数据(用perm表示)为对1至10的所有整数进行全排列所 得到的目标排列中随机选取的一种排列,且perm为{10,3,4,6,2,1,8,5,7,9}。
共享交换平台将正实数域用M个section表示,如图3所示,每个section 的初始值均为零,终止值是以10为底数且该section所在段数为指数的值,每个 section中包含有10个part,每个section中各个part的终止值与起始值之差相等, 即每个section都分成10等分。共享交换平台然后利用粉丝数所对应的脱敏规则, 分别对两个主播的粉丝数进行脱敏处理。
在一个示例中,假设共享交换平台提取到的粉丝数分别为x1=25768和 x2=14726。
对于第一个主播的粉丝数x1=25768,先确定该x1位于第5个section的第 3个part,由于第5个section的固定值fixed[5]为10^5(100000),第4个section 的固定值fixed[4]是10^4(10000),则第5个section的总份额值为 fixed[5]-fixed[4]=90000。则第5个section的总份额数即第二总份额数为:
sum(perm[2:system])=3+4+6+2+1+8+5+7+9=45
接着,每份额所表示的份额值即第二份额值为:90000/45=2000,由此计 算出的各个part的份额值share可分别表示为:
share(part[1])=fixed(4)=10000
share(part[2])=perm[2]*2000=3*2000=6000
share(part[3])=perm[3]*2000=4*2000=8000
share(part[4])=perm[4]*2000=6*2000=12000
share(part[5])=perm[5]*2000=2*2000=4000
share(part[6])=perm[6]*2000=1*2000=2000
share(part[7])=perm[7]*2000=8*2000=16000
share(part[8])=perm[8]*2000=5*2000=10000
share(part[9])=perm[9]*2000=7*2000=14000
share(part[10])=perm[10]*2000=9*2000=18000
由于各个part是首尾相连的,即上一个part的终止值为下一个part的起始 值,则part[2]的终止值为:
10000+share(part[2])=10000+3*2000=16000
依次类推,如图13所示,可以计算出每个part的数值区间,每个part的 数值区间的最大值(终止值)即为该part对应的最大脱敏值。那么可以得到x1对 应的第一脱敏数值为:fixed[4]+share(part[2:2])=16000。
而x1=25768是位于第3个part,第3个part的原始区间是[20000,30000], 则x1在第3个part中的位置标签为:
Figure BDA0002777018970000161
假设第3个part对应的单调递增函数g(x)=x,则根据位置标签0.5768, 所得到的占比值也为0.5768,相应的,可以得到x1对应的第二脱敏数值为 0.5768*share(part[3])=4614.4。综上,可以得到x1对应的脱敏后数值为 16000+4614.4=20614.4。
对于第二个主播的粉丝数x2=14726,确定该x2位于第5个section的第2 个part。由于采用的是与x1相同的脱敏规则,即第一元数据、第二元数据、第三 元数据以及第四元数据均相同,则每个part对应的最大脱敏值与图13也相同。 那么,可以得到x2对应的第一脱敏数值为:fixed[4]=10000。
而x2=14726位于第2个part,第2个part的原始区间是[10000,20000], 则x2在第2个part中的位置标签是:
Figure BDA0002777018970000162
假设第2个part对应的单调递增函数为g(x)=x,则根据位置标签0.4762, 所得到的占比值也为0.4762,相应的,可以得到x2对应的第二脱敏数值为 0.4762*share(part[2])=2857.2。
综上,可以得到x2=14726对应的脱敏后数值为10000+2857.2= 12857.2。可以发现,x1对应的脱敏后数值也同样大于x2对应的脱敏后数值。
在另一个示例中,假设共享交换平台提取到的粉丝数分别为x3=29863和 x4=23654。x3和x4均是位于第5个section的第3个part。每个part对应的最 大脱敏值也与图13相同,x3对应的第一脱敏数值和x4对应的第一脱敏数值均是 第2个part对应的最大脱敏数值,即16000。
但x3在第3个part中的位置标签是:
Figure BDA0002777018970000163
x4在第3个part中的位置标签是:
Figure BDA0002777018970000164
相应的,x3对应的第二脱敏数值为:0.9863*share(part[3])=7890.4,而 x4对应的第二脱敏数值为:0.3564*share(part[3])=2851.2,显然,x3对应的 脱敏后数值也大于x4对应的脱敏后数值。
通过上述示例不难看出,共享交换平台通过对该直播平台主播的粉丝数进 行脱敏处理后,可以使各主播的粉丝数仍然保持与脱敏前的顺序,即实现了直 播场景下对粉丝数的保序脱敏;而且脱敏后数值不会与脱敏前数值相差得过于 离谱,会保证结果在一定合理范围之内,而且反预测性使得真实数据也很难被 数据使用者推算出来。
本申请实施例还提供了一种动态数值脱敏装置,参见图14中所示,所述装 置可以包括:
请求接收模块1410,用于接收数值脱敏请求,所述数值脱敏请求中包含有 源待脱敏数值以及业务标识,所述业务标识表征所述源待脱敏数值所属业务的 唯一标识;
规则获取模块1420,用于获取与所述业务标识对应的脱敏规则,所述脱敏 规则中至少包括第二元数据,所述第二元数据中包括第一预设值个单调递增函 数,且每个所述单调递增函数的值域均是0到1之间;
数据段划分模块1430,用于将正实数域用M个数据段表示,并将每个所述 数据段划分为第二预设值个首尾相连的数据片,其中,每个所述数据段为下一 个数据段的第1个数据片,M为无穷大的正整数;
位置确定模块1440,用于确定所述源待脱敏数值的位置locij,所述位置locij表征所述源待脱敏数值位于第i个数据段的第j个数据片;
第一脱敏数值确定模块1450,用于将所述第i个数据段中所述第j个数据片 的前一个数据片对应的最大脱敏值,确定为所述源待脱敏数值对应的第一脱敏 数值;
第二脱敏数值确定模块1460,用于基于所述第二元数据中与所述第j个数据 片对应的单调递增函数,确定所述源待脱敏数值对应的第二脱敏数值;
脱敏数值生成模块1470,用于将所述第一脱敏数值和所述第二脱敏数值之 和,确定为所述源待脱敏数值对应的脱敏后数值。
在一些实施例中,如图15所示,所述装置还可以包括:
最大脱敏值确定模块1480,用于确定所述第i个数据段中每个数据片对应的 最大脱敏值。
具体如图16所示,最大脱敏值确定模块1480可以包括:
固定值确定单元1481,用于对于所述M个数据段中的每个数据段,基于所 述数据段的终止值,确定所述数据段的固定值;
份额数获取单元1482,用于获取所述第i个数据段中每个数据片的份额数;
份额值确定单元1483,用于基于所述第i个数据段的固定值,以及,所述第 i个数据段中每个数据片的份额数,确定所述第i个数据段中每个数据片的份额 值;
第一确定单元1484,用于对于所述第i个数据段的第1个数据片,将所述第 1个数据片的份额值,确定为所述第1个数据片对应的最大脱敏值;
第二确定单元1485,用于对于所述第i个数据段的第m(m≠1)个数据片, 将第m-1个数据片对应的最大脱敏值与所述第m个数据片的份额值之和,确定 为所述第m个数据片对应的最大脱敏值。
在一些实施例中,所述脱敏规则还包括第三元数据,所述第三元数据表征 平均值为1的缩放序列,所述缩放序列中包括至少一个缩放值。
相应的,所述固定值确定单元1481可以包括:
索引值计算单元,用于对于所述M个数据段中的每个数据段,将所述数据 段对应的段数,除以所述第三元数据的长度的余数,作为第一索引值;
缩放值计算单元,用于将所述第一索引值作为所述第三元数据中的索引, 得到目标缩放值;
固定值计算单元,用于将所述目标缩放值与所述数据段的终止值的乘积, 确定为所述数据段的固定值。
在一些实施例中,所述脱敏规则还包括第四元数据,所述第四元数据为从 目标排列中随机选取的一个排列,所述目标排列是按照预设排列规则对从1至 所述第二预设值的所有整数进行排列所得到的。
相应的,所述份额数获取单元1482可以包括:
份额数计算单元,用于将所述第四元数据中的第q位对应的数值,确定为所 述第i个数据段的第q个数据片的份额数。
在一些实施例中,所述份额值确定单元1483可以包括:
数据段判断单元,用于判断所述第i个数据段是否为第1个数据段;
第一总份额值确定单元,用于将所述第i个数据段的固定值,确定为第一总 份额值;
第一总份额数确定单元,用于将所述第i个数据段中每个数据片的份额数之 和,确定为第一总份额数;
第一份额值确定单元,用于将所述第一总份额值除以所述第一总份额数, 得到第一份额值;
第一结果确定单元,用于对于所述第i个数据段中每个数据片,将所述数据 片的份额数与所述第一份额值之积,确定为所述数据片的份额值。
在一些实施例中,所述份额值确定单元1483还可以包括:
第二总份额值确定单元,用于将所述第i个数据段的固定值与第i-1个数据 段的固定值之差,确定为第二总份额值;
第二总份额数确定单元,用于将所述第i个数据段中除第1个数据片以外的 所有数据片的份额数之和,确定为第二总份额数;
第二份额值确定单元,用于将所述第二总份额值除以所述第二总份额数, 得到第二份额值;
第二结果确定单元,用于对于所述第i个数据段的第1个数据片,将所述第 i-1个数据段的固定值,确定为所述第1个数据片的份额值;
第三结果确定单元,用于对于所述第i个数据段的第p(p≠1)个数据片,将 所述第p个数据片的份额数与所述第二份额值之积,确定为所述第p个数据片的 份额值。
在一些实施例中,第二脱敏数值确定模块1460可以包括:
位置标签确定单元,用于确定所述源待脱敏数值在所述第j个数据片中的位 置标签;
占比值确定单元,用于将所述位置标签作为所述第j个数据片对应的单调递 增函数的输入,得到所述源待脱敏数值在所述第j个数据片中的占比值;
第四结果确定单元,用于将所述占比值与所述第j个数据片的份额值之积, 确定为所述源待脱敏数值对应的第二脱敏数值。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功 能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由 不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以 上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于 同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种动态数值脱敏设备,所述设备包括处理器和存 储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令 或至少一段程序由所述处理器加载并执行上述方法实施例提供的动态数值脱敏 方法。
进一步地,图17示出了一种用于实现本申请实施例所提供的方法的设备的 硬件结构示意图,所述设备可以参与构成或包含本申请实施例所提供的装置或 系统。如图17所示,设备17可以包括一个或多个(图中采用1702a、1702b,……, 1702n来示出)处理器1702(处理器1702可以包括但不限于微处理器MCU或可 编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1704、以及用于通 信功能的传输装置1706。除此以外,还可以包括:显示器、输入/输出接口(I/O 接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被 包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图17所 示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备17还 可包括比图17中所示更多或者更少的组件,或者具有与图17所示不同的配置。
应当注意到的是上述一个或多个处理器1702和/或其他数据处理电路在本 文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体 现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的 处理模块,或全部或部分的结合到设备17(或移动设备)中的其他元件中的任 意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控 制(例如与接口连接的可变电阻终端路径的选择)。
存储器1704可用于存储应用软件的软件程序以及模块,如本申请实施例中 所述的方法对应的程序指令/数据存储装置,处理器1702通过运行存储在存储 器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现 上述的一种动态数值脱敏方法。存储器1704可包括高速随机存储器,还可包括 非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固 态存储器。在一些实例中,存储器1704可进一步包括相对于处理器1702远程 设置的存储器,这些远程存储器可以通过网络连接至设备17。上述网络的实例 包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1706用于经由一个网络接收或者发送数据。上述的网络具体实例 可包括设备17的通信供应商提供的无线网络。在一个实例中,传输装置1706 包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与 其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1706可 以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通 讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户 能够与设备17(或移动设备)的用户界面进行交互。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有 至少一条指令或至少一段程序,该至少一条指令或至少一段程序由处理器加载 并执行以实现上述方法实施例提供的动态数值脱敏方法。
可选地,在本实施例中,上述计算机存储介质可以位于计算机网络的多个 网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质 可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存 取存储器(RAM,Random AccessMemory)、移动硬盘、磁碟或者光盘等各种 可以存储程序代码的介质。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序 产品或计算机程序包括计算机指令,该计算机指令存储在计算机存储介质中。 动态数值脱敏设备的处理器从计算机存储介质读取该计算机指令,处理器执行 该计算机指令,使得该动态数值脱敏设备执行上述的方法实施例提供的动态数 值脱敏方法。
由上述本申请提供的动态数值脱敏方法、装置、设备及存储介质的实施例 可见,本申请对于同一个业务使用相同的脱敏规则,保证脱敏结果的一致性, 实现了对数值型数据的动态脱敏处理;将位于源待脱敏数值前的数据片对应的 最大脱敏值,作为脱敏后数值的基础值,实现了位于不同数据片中的源待脱敏 数值的保序脱敏;通过值域在0到1之间的单调递增函数,实现了位于相同数 据片中的源待脱敏数值的保序脱敏;使用指数性周期函数和固定值的方式,解 决了全实数范围内均可计算的问题;使用随机进制、全排列以及分区缩放的方 式,强化随机性,实现反预测性,使得数据使用者很难通过脱敏后数值推算出源真实数据,为数据提供者提供了安全保障;脱敏后数值不会与源值相差得过 于离谱,会保证脱敏后数值在一定合理范围之内,实现了有界性。
综上所述,本申请的动态数值脱敏方法,在动态数值脱敏的基础上,不仅 能实现对实数域中任一数值进行保序脱敏,还可以实现有界性、反预测性以及 可计算性等特性。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例 的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要 求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不 同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描 绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某 些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相 似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。 尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以 描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述说明已经充分揭露了本申请的具体实施方式。需要指出的是,熟悉该 领域的技术人员对本申请的具体实施方式所做的任何改动均不脱离本申请的权 利要求书的范围。相应地,本申请的权利要求的范围也并不仅仅局限于前述具 体实施方式。

Claims (10)

1.一种动态数值脱敏方法,其特征在于,包括:
接收数值脱敏请求,所述数值脱敏请求中包含有源待脱敏数值以及业务标识,所述业务标识表征所述源待脱敏数值所属业务的唯一标识;
获取与所述业务标识对应的脱敏规则,所述脱敏规则中至少包括第二元数据,所述第二元数据中包括第一预设值个单调递增函数,且每个所述单调递增函数的值域均是0到1之间;
将正实数域用M个数据段表示,并将每个所述数据段划分为第二预设值个首尾相连的数据片,其中,每个所述数据段为下一个数据段的第1个数据片,M为无穷大的正整数;
确定所述源待脱敏数值的位置locij,所述位置locij表征所述源待脱敏数值位于第i个数据段的第j个数据片;
将所述第i个数据段中所述第j个数据片的前一个数据片对应的最大脱敏值,确定为所述源待脱敏数值对应的第一脱敏数值;
基于所述第二元数据中与所述第j个数据片对应的单调递增函数,确定所述源待脱敏数值对应的第二脱敏数值;
将所述第一脱敏数值和所述第二脱敏数值之和,确定为所述源待脱敏数值对应的脱敏后数值。
2.根据权利要求1所述的方法,其特征在于,在所述将所述第i个数据段中所述第j个数据片的前一个数据片对应的最大脱敏值,确定为所述源待脱敏数值对应的第一脱敏数值之前,还包括确定所述第i个数据段中每个数据片对应的最大脱敏值的步骤;
所述确定所述第i个数据段中每个数据片对应的最大脱敏值,包括:
对于所述M个数据段中的每个数据段,基于所述数据段的终止值,确定所述数据段的固定值;
获取所述第i个数据段中每个数据片的份额数;
基于所述第i个数据段的固定值,以及,所述第i个数据段中每个数据片的份额数,确定所述第i个数据段中每个数据片的份额值;
对于所述第i个数据段的第1个数据片,将所述第1个数据片的份额值,确定为所述第1个数据片对应的最大脱敏值;
对于所述第i个数据段的第m(m≠1)个数据片,将第m-1个数据片对应的最大脱敏值与所述第m个数据片的份额值之和,确定为所述第m个数据片对应的最大脱敏值。
3.根据权利要求2所述的方法,其特征在于,所述脱敏规则还包括第三元数据,所述第三元数据表征平均值为1的缩放序列,所述缩放序列中包括至少一个缩放值;
相应的,所述对于所述M个数据段中的每个数据段,基于所述数据段的终止值,确定所述数据段的固定值,包括:
对于所述M个数据段中的每个数据段,将所述数据段对应的段数,除以所述第三元数据的长度的余数,作为第一索引值;
将所述第一索引值作为所述第三元数据中的索引,得到目标缩放值;
将所述目标缩放值与所述数据段的终止值的乘积,确定为所述数据段的固定值。
4.根据权利要求2所述的方法,其特征在于,所述脱敏规则还包括第四元数据,所述第四元数据为从目标排列中随机选取的一个排列,所述目标排列是按照预设排列规则对从1至所述第二预设值的所有整数进行排列所得到的;
所述获取所述第i个数据段中每个数据片的份额数,包括:
将所述第四元数据中的第q位对应的数值,确定为所述第i个数据段的第q个数据片的份额数。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第i个数据段的固定值,以及,所述第i个数据段中每个数据片的份额数,确定所述第i个数据段中每个数据片的份额值,包括:
判断所述第i个数据段是否为第1个数据段;
若所述第i个数据段是所述第1个数据段,则将所述第i个数据段的固定值,确定为第一总份额值;
将所述第i个数据段中每个数据片的份额数之和,确定为第一总份额数;
将所述第一总份额值除以所述第一总份额数,得到第一份额值;
对于所述第i个数据段中每个数据片,将所述数据片的份额数与所述第一份额值之积,确定为所述数据片的份额值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第i个数据段不是所述第1个数据段,则将所述第i个数据段的固定值与第i-1个数据段的固定值之差,确定为第二总份额值;
将所述第i个数据段中除第1个数据片以外的所有数据片的份额数之和,确定为第二总份额数;
将所述第二总份额值除以所述第二总份额数,得到第二份额值;
对于所述第i个数据段的第1个数据片,将所述第i-1个数据段的固定值,确定为所述第1个数据片的份额值;
对于所述第i个数据段的第p(p≠1)个数据片,将所述第p个数据片的份额数与所述第二份额值之积,确定为所述第p个数据片的份额值。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第二元数据中与所述第j个数据片对应的单调递增函数,确定所述源待脱敏数值对应的第二脱敏数值,包括:
确定所述源待脱敏数值在所述第j个数据片中的位置标签;
将所述位置标签作为所述第j个数据片对应的单调递增函数的输入,得到所述源待脱敏数值在所述第j个数据片中的占比值;
将所述占比值与所述第j个数据片的份额值之积,确定为所述源待脱敏数值对应的第二脱敏数值。
8.根据权利要求1所述的方法,其特征在于,所述脱敏规则还包括第一元数据,所述第一元数据为大于或等于2的正整数;
相应的,第k(1≤k≤M)个数据段的终止值是以所述第一元数据为底数并以所述k为指数的值。
9.一种动态数值脱敏装置,其特征在于,所述装置包括:
请求接收模块,用于接收数值脱敏请求,所述数值脱敏请求中包含有源待脱敏数值以及业务标识,所述业务标识表征所述源待脱敏数值所属业务的唯一标识;
规则获取模块,用于获取与所述业务标识对应的脱敏规则,所述脱敏规则中至少包括第二元数据,所述第二元数据中包括第一预设值个单调递增函数,且每个所述单调递增函数的值域均是0到1之间;
数据段划分模块,用于将正实数域用M个数据段表示,并将每个所述数据段划分为第二预设值个首尾相连的数据片,其中,每个所述数据段为下一个数据段的第1个数据片,M为无穷大的正整数;
位置确定模块,用于确定所述源待脱敏数值的位置locij,所述位置locij表征所述源待脱敏数值位于第i个数据段的第j个数据片;
第一脱敏数值确定模块,用于将所述第i个数据段中所述第j个数据片的前一个数据片对应的最大脱敏值,确定为所述源待脱敏数值对应的第一脱敏数值;
第二脱敏数值确定模块,用于基于所述第二元数据中与所述第j个数据片对应的单调递增函数,确定所述源待脱敏数值对应的第二脱敏数值;
脱敏数值生成模块,用于将所述第一脱敏数值和所述第二脱敏数值之和,确定为所述源待脱敏数值对应的脱敏后数值。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8任一所述的动态数值脱敏方法。
CN202011268765.5A 2020-11-13 2020-11-13 动态数值脱敏方法、装置及存储介质 Pending CN112257111A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011268765.5A CN112257111A (zh) 2020-11-13 2020-11-13 动态数值脱敏方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011268765.5A CN112257111A (zh) 2020-11-13 2020-11-13 动态数值脱敏方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN112257111A true CN112257111A (zh) 2021-01-22

Family

ID=74265541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011268765.5A Pending CN112257111A (zh) 2020-11-13 2020-11-13 动态数值脱敏方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN112257111A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158249A (zh) * 2021-04-28 2021-07-23 国网山东省电力公司潍坊供电公司 数据脱敏方法、装置、电子设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113158249A (zh) * 2021-04-28 2021-07-23 国网山东省电力公司潍坊供电公司 数据脱敏方法、装置、电子设备和介质

Similar Documents

Publication Publication Date Title
CN109949046B (zh) 风险团伙的识别方法和装置
CN108733706B (zh) 热度信息的生成方法和装置
CN111158613B (zh) 基于访问热度的数据块存储方法、装置及存储设备
CN108833458B (zh) 一种应用推荐方法、装置、介质及设备
CN109783757B (zh) 渲染网页的方法及装置、系统、存储介质、电子装置
CN110413867B (zh) 用于内容推荐的方法及系统
CN112751883B (zh) Ip威胁分值判定方法、装置、设备及介质
CN111090807A (zh) 一种基于知识图谱的用户识别方法及装置
CN112257111A (zh) 动态数值脱敏方法、装置及存储介质
CN111667018B (zh) 一种对象聚类的方法、装置、计算机可读介质及电子设备
CN114328632A (zh) 基于位图的用户数据分析方法、装置及计算机设备
CN106156123B (zh) 活跃值计算方法及装置
CN108696418B (zh) 一种社交网络中隐私保护方法及装置
CN110059097B (zh) 数据处理方法和装置
CN111008873A (zh) 一种用户确定方法、装置、电子设备及存储介质
CN112182107B (zh) 名单数据获取方法、装置、计算机设备及存储介质
CN114092268A (zh) 用户社群检测方法、装置、计算机设备及存储介质
CN113407702A (zh) 员工合作关系强度量化方法、系统、计算机和存储介质
CN110232393B (zh) 数据的处理方法、装置、存储介质和电子装置
Alyatama et al. Continuous memory allocation model for cloud services
CN112396151A (zh) 谣言事件的分析方法、装置、设备及计算机可读存储介质
CN111858542B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN105468603A (zh) 数据选择方法及装置
CN115102920B (zh) 基于关系网络的个体的传输管控方法
CN111127064B (zh) 用户社会属性的确定方法、装置与电子设备

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