日志脱敏方法和装置与流程

allin2022-11-25  14



1.本技术涉及计算机技术领域,尤其涉及一种日志脱敏方法和装置。


背景技术:

2.随着互联网业务的迅速发展,各线上平台用户的个人信息,如用户的姓名、证件号、手机号、银行卡号、居住地址和邮箱地址等涉及用户隐私的个人信息的保护就变的尤为重要。
3.但是,由于业务需要,通常线上平台的系统会把用户在互联网页面录入的个人信息,这些个人信息直接记录到线上平台的系统日志中。因此,如何提供一种日志脱敏方法以避免用户个人信息的泄露,仍然需要提供进一步的解决方案。


技术实现要素:

4.本技术实施例的目的是提供一种日志脱敏方法和装置,用于避免日志打印过程中用户个人信息的泄露。
5.第一方面,提供了一种日志脱敏方法,包括:
6.获取待打印的目标日志;
7.基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;
8.基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;
9.将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。
10.第二方面,提供了一种日志脱敏装置,包括:
11.日志获取模块,用于获取待打印的目标日志;
12.数据确定模块,用于基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;
13.脱敏处理模块,用于基于所述多个预设类别的敏感数据对应的脱敏规则,,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;
14.日志脱敏模块,用于将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。
15.第三方面,提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面的日志脱敏方法的步骤。
16.第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面的日志脱敏方法的步骤。
17.在本技术实施例中,能够在日志被打印之前,基于预先设定的敏感数据的字段池
中的多个预设类别的敏感数据,确定出日志中存在的敏感数据即待脱敏数据,再基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,最后,将日志中的待脱敏数据替换为脱敏处理后的数据,便得到脱敏处理后的日志,并打印脱敏处理后的日志,避免了日志中涉及用户敏感信息的数据直接被打印出来,有效保护了用户的敏感信息。
附图说明
18.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
19.图1是本技术的一个实施例提供的一种日志脱敏方法的流程示意图。
20.图2是本技术的一个实施例提供的日志脱敏方法的应用的一种实际场景的示例图。
21.图3是本技术的一个实施例提供的日志脱敏方法的应用的一种实际场景的详细流程示意图。
22.图4是本技术的一个实施例提供的一种日志脱敏装置的结构示意图。
23.图5是本技术的一个实施例提供的一种电子设备的结构示意图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。本技术中附图编号仅用于区分方案中的各个步骤,不用于限定各个步骤的执行顺序,具体执行顺序以说明书中描述为准。
25.如背景技术中所述,线上平台的系统在用户录入个人信息后,往往会直接将用户录入的个人信息打印到日志中。这就使得用户录入的个人信息完全暴露在打印的日志中,容易造成用户个人信息的泄露。
26.针对此,本技术实施例提供一种日志脱敏方法,能够将日志中可能会出现的敏感数据分类枚举存储到敏感数据的字段池中,并为每一类敏感数据创建对应的脱敏规则。同时对日志打印方法进行重写,使得在日志被打印之前,能够获取日志中与敏感数据的字段池中存储的敏感数据的类别相匹配的待脱敏数据,作为重写的日志打印方法的入参数据,以对这些待脱敏数据通过对应的脱敏规则进行脱敏处理,并将待脱敏数据替换为脱敏处理后的数据,最后打印脱敏处理后的日志。避免了日志中涉及用户敏感信息的数据直接被打印出来,有效保护了用户的敏感信息。
27.首先,介绍nodejs、json、键值对、json.parse()方法和json.stringify()方法的概念:
28.nodejs:node.js是一个基于chrome v8引擎的javascript运行环境。
29.json:json的英文全称为javascript object notation,是一种轻量级的数据交互格式。它基于ecmascript(中文全称为欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
30.键值对:英文可写为key+value,简称k+v,指json数据的一个字段和值,如:{“name”:“张三”,“age”:20},其中name、age均是键名key,其中张三、20均是键名key对应的键值value。
31.json.parse()方法:是一种json字符串解析方法,用于将数据转换为javascript对象的方法。
32.json.stringify()方法:是一种json字符串转换方法,用于将javascript对象转换为json字符串的方法。
33.本技术实施例提供一种日志脱敏方法,应用于日志脱敏装置。如图1所示,本技术实施例提供的方案包括:
34.s110,获取待打印的目标日志。
35.其中,待打印的目标日志为用户在办理线上业务时在页面输入包含个人信息的信息之后,发起页面的api请求时,所获取的目标日志,此时该目标日志还未被打印到日志系统中。
36.通常情况下,用户在办理线上业务时,往往需要填报个人信息,比如手机号码、身份证号码、家庭住址、邮箱等涉及用户个人隐私的敏感信息。这类敏感信息在用户填报完成后,并发起页面的api请求时,为了避免这些信息被完整地打印到日志中,本技术实施例可在每次用户发起页面的api请求时,获取待打印的目标日志,并在确定目标日志中存在敏感信息时,将这些敏感信息进行脱敏处理,以保护页面中涉及用户个人隐私的敏感信息。
37.s120,基于敏感数据的字段池中多个预设类别的敏感数据,确定目标日志中存在的待脱敏数据。
38.应理解,为了提高确定目标日志中的敏感信息的效率,本技术实施例可预先枚举出所有可能的敏感数据的类别和对应的敏感数据规则,并将这些敏感数据的类别和对应的敏感数据规则记录到敏感数据的字段池中。比如身份证号码的敏感数据规则为通常由18位数字或者17位数字和一位字母x组成,手机号码的敏感数据规则为通常由11位数字组成,邮箱地址的敏感数据规则为通常有@和.com或者.cn等字母组成。具体地,基于敏感数据的字段池中多个预设类别的敏感数据,确定目标日志中存在的待脱敏数据,包括:
39.遍历目标日志,确定目标日志中与多个预设类别的敏感数据的敏感数据规则相匹配的待脱敏数据。
40.作为一种示例,假设目标日志中包含有手机号码和身份证号码,可遍历目标日志,将目标日志中的数据逐个与敏感数据的字段池中多个预设类别的敏感数据的敏感数据规则进行匹配,确定目标日志中与多个预设类别的敏感数据的敏感数据规则相匹配的待脱敏数据。
41.可选地,目标日志中可包括两种类型的数据,一种是键值对类型的数据,即包括key和value,另一种则是只有键值没有键名的数据,即只包括value。为了能够提高脱敏后的日志的安全性,避免有涉及敏感信息的数据在脱敏处理时被漏掉,本技术实施例中预设的敏感数据特征中可包括敏感键名标识和敏感键值特征。具体地,所述多个预设类别的敏感数据中包括敏感键值标识以及敏感键值,遍历目标日志,确定所述目标日志中与多个预设类别的敏感数据的敏感数据规则相匹配的待脱敏数据,包括:
42.遍历目标日志,获取目标日志中的键值对数据;
43.从键值对数据中,确定与敏感键值对数据中的敏感键值标识相匹配的目标键值对数据;以及
44.从所述目标日志中除去所述目标键值对数据以外的日志中,获取与敏感键值的敏感数据规则相匹配的目标键值数据;
45.基于目标键值对数据中的键值数据以及目标键值数据,确定目标日志中的待脱敏数据。
46.作为一种示例,敏感键名标识可包括姓名的键名标识、手机号码的键名标识、身份证号码的键名标识、银行卡号的键名标识、邮箱地址的键名标识和家庭地址的键名标识。其中,姓名的键名标识可表示为“name”或者“username”,手机号码的键名标识可表示为“mobile”或者“mobilephone”,身份证号码的键名标识可表示为“idno”或者“idnum”,银行卡号的键名标识可表示为“bankcardno”,邮箱地址的键名标识可表示为“e-add”或者“emailaddress”,家庭地址的键名标识可表示为“add”或者“address”。
47.作为一种示例,敏感键值的敏感数据规则可包括姓名的敏感数据规则、手机号码的敏感数据规则、身份证号码的敏感数据规则、银行卡号的敏感数据规则和邮箱地址的敏感数据规则。其中,姓名的敏感数据规则为由2~4个汉字组成,手机号码的敏感数据规则为由1开头的11位数字组成,身份证号码的敏感数据规则为由18位数字或者17位数字加上1位x或x组成,银行卡号的敏感数据规则为由14位至19位的数字组成,邮箱地址的敏感数据规则为由任意字符开头+@符号+字母或数字+小数点+字母组成,家庭地址的敏感数据规则为包含有省、市、县/区等字的字符组成。
48.作为一种示例,假设目标日志中包含数组:[“189012345678”,“501234123412341234”,“621234123412341234”,“hello world”,{username:“张三”,usermobile:“189012345678”}],遍历该数组,首先,获取目标日志中的键值对数据“username:“张三
””
和“usermobile:“189012345678
””
,再从这两个键值对数据中,确定与敏感键名标识相匹配的目标键值对数据“username:“张三
””
和“usermobile:“189012345678
””
,以及从目标日志中除去目标键值对数据以外的日志中
““
189012345678”,“501234123412341234”,“621234123412341234”,“hello world
””
,获取与敏感键值的敏感数据规则相匹配的目标键值数据“189012345678”,“501234123412341234”,“621234123412341234”。
[0049]
作为一种示例,若目标日志中包含有json对象或包含json对象的数组,则基于敏感数据的字段池中多个预设类别的敏感数据的敏感数据规则,逐个与目标日志中包含的json对象或包含json对象的数组进行匹配,确定目标日志中的待脱敏数据。而如果json对象或包含json对象的数组还中嵌套有json对象或包含json对象的数组,则继续对所嵌套的json对象或包含json对象的数组进行判断,将所嵌套的json对象或包含json对象的数组逐个与多个预设类别的敏感数据对应的敏感数据规则进行匹配,确定所嵌套的json对象或包含json对象的数组中包含的待脱敏数据,直到确定出目标日志中所有的待脱敏数据。
[0050]
s130,基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据。
[0051]
作为一种示例,姓名类的敏感数据对应的脱敏规则为只显示第一个字,其他字以x或者*代替,手机号码类的敏感数据对应的脱敏规则为显示前3和后4位数字,其他数字以x
或*代替,身份证号码类的敏感数据对应的脱敏规则为显示前4和后4位数字,其他数字以x或*代替,邮箱地址类的敏感数据对应的脱敏规则为显示第一个字符,其他字符以x或*代替,家庭地址类的敏感数据对应的脱敏规则为只显示到市、县/区为止,其他字符以x或者*代替。
[0052]
作为一种示例,假设待脱敏数据为字符串:msdemo@msxf.com,通过与待脱敏数据的类型相匹配,匹配得到待脱敏数据为邮箱地址类的敏感数据,则可使用该邮箱地址类的敏感数据对应的脱敏规则,将待脱敏数据脱敏处理得到m*****@msxf.com。
[0053]
作为另一种示例,假设待脱敏数据为数组:[“189012345678”,“501234123412341234”,“621234123412341234”,“hello world”,{username:“张三”,usermobile:“188012345678”}],遍历该数组,与待脱敏数据的类型相匹配,匹配得到待脱敏数据“189012345678”和“188012345678”为手机号码类的敏感数据,待脱敏数据“501234123412341234”为身份证号码类的敏感数据,待脱敏数据“621234123412341234”为银行卡号类的敏感数据,待脱敏数据“张三”为姓名类的敏感数据,则依次使用手机号码类的敏感数据对应的脱敏规则、身份证号码类的敏感数据对应的脱敏规则、身份证号码类的敏感数据对应的脱敏规则、银行卡号类的敏感数据对应的脱敏规则、姓名类的敏感数据对应的脱敏规则对对应的待脱敏数据进行脱敏处理,得到[“189****2212”,“5****************x”,“6212**********4510”,“hello world”,{username:“张*”,usermobile:“188****7766”}]。
[0054]
可选地,当待脱敏数据的类型为json对象或包含json对象的数组时,为了避免待脱敏数据被脱敏处理后,在后续使用待脱敏数据时出现直接引用脱敏后的数据,导致引用错误的问题,本技术实施例可对这类待脱敏数据进行深度复制,并对深度复制后的待脱敏数据进行脱敏处理。具体地,基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,包括:
[0055]
判断待脱敏数据的类型;
[0056]
若待脱敏数据的类型为json对象或包含json对象的数组,则深度复制待脱敏数据,得到复制后的待脱敏数据;
[0057]
基于多个预设类别的敏感数据对应的脱敏规则,确定待脱敏数据对应的脱敏规则;
[0058]
基于待脱敏数据对应的脱敏规则,对复制后的待脱敏数据进行脱敏处理,得到脱敏处理后的数据。
[0059]
其中,深度复制是对申请的新变量重新分配地址,将待脱敏数据赋值给申请的新变量,使得待脱敏数据脱敏后不会对申请的新变量产生影响,从而避免在后续使用待脱敏数据时出现直接引用脱敏后的数据,导致引用错误的问题。
[0060]
作为一种示例,若待脱敏数据的类型为json对象或包含json对象的数组,则深度复制待脱敏数据,得到复制后的待脱敏数据,再将复制后的待脱敏数据逐个与多个预设类别的敏感数据对应的脱敏规则进行匹配,确定待脱敏数据对应的脱敏规则。而如果复制后的待脱敏数据中嵌套有json对象或包含json对象的数组,则继续对复制后的待脱敏数据所嵌套的json对象或包含json对象的数组进行深度复制,并将复制后的json对象或包含json对象的数组逐个与多个预设类别的敏感数据对应的脱敏规则进行匹配,确定待脱敏数据对
应的脱敏规则,直到匹配得到待脱敏数据中所有的敏感数据所对应的脱敏规则。
[0061]
可选地,当待脱敏数据的类型为json字符串或包含json字符串的数组时,由于json字符串或包含json字符串的数组无法实现遍历操作,因此要将这类数据通过json字符串解析方法进行解析,即对其格式进行转换,得到能够被遍历的javascript对象。具体地,基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,包括:
[0062]
若待脱敏数据的类型为json字符串或包含json字符串的数组,则通过json字符串解析方法解析待脱敏数据,得到解析后的待脱敏数据;
[0063]
基于多个预设类别的敏感数据对应的脱敏规则,确定待脱敏数据对应的脱敏规则;
[0064]
基于待脱敏数据对应的脱敏规则,对解析后的待脱敏数据进行脱敏处理,得到脱敏处理后的数据。
[0065]
其中,json字符串解析方法可表示为json.parse()方法,该方法可将json字符串等包含json字符串的数据转换为javascript对象。
[0066]
图2是本技术的一个实施例提供的日志脱敏方法的应用的一种实际场景的示例图,包括:
[0067]
s21,获取待脱敏的目标日志。
[0068]
s22,判断目标日志是否存在json对象、包含json对象的数组、json字符串以及包含json字符串的数组。
[0069]
如果目标日志存在json对象、包含json对象的数组、json字符串以及包含json字符串的数组,则执行s23,否则执行s26。
[0070]
s23,解析目标日志。
[0071]
将目标日志中的json对象、包含json对象的数组进行深度复制,以及将目标日志中的json字符串以及包含json字符串的数组转换为javascript对象。
[0072]
s24,确定解析后的目标日志中的键值对中的键名是否在敏感键名标识中。
[0073]
若确定解析后的目标日志中的键值对中的键名在敏感键名标识中,则执行s25。
[0074]
s25,使用敏感键名标识对应的敏感数据的脱敏规则进行脱敏处理。
[0075]
s26,确定是否与敏感键值特征相匹配。
[0076]
若确定与敏感键值特征相匹配,则执行s27。
[0077]
s27,使用敏感键值特征对应的敏感数据的脱敏规则进行脱敏处理。
[0078]
s140,将目标日志中的待脱敏数据替换为脱敏处理后的数据,得到脱敏处理后的目标日志,以打印脱敏处理后的目标日志。
[0079]
可选地,将目标日志中的待脱敏数据替换为脱敏处理后的数据,得到脱敏处理后的目标日志,包括:
[0080]
将目标日志中的目标键值对数据中的键值数据以及目标键值数据,替换为各自对应的脱敏处理后的数据,得到脱敏处理后的目标日志。
[0081]
作为一种示例,假设目标日志中包含数组:[“189012345678”,“501234123412341234”,“621234123412341234”,“hello world”,{username:“张三”,usermobile:“188012345678”}],在对该目标日志中的待脱敏数据进行脱敏处理后得到“189****2212”,“5****************x”,“6228**********4510”,“张*”和“188****7766”之后,可将目标日志中的键值对数据中的敏感键名对应的键值数据、以及目标键值数据,替换为各自对应的脱敏处理后的数据,得到脱敏处理后的目标日志为[“189****2212”,“5****************x”,“6212**********4510”,“hello world”,{username:“张*”,usermobile:“188****7766”}]。
[0082]
可选地,在脱敏处理后,为了还原转换为javascript对象的json字符串,便于原目标日志中的数据的后续处理,本技术实施例可将将脱敏处理后的数据通过json字符串转换方法,转换为脱敏处理后的字符串。具体地,目标日志中的待脱敏数据替换为脱敏处理后的数据,得到脱敏处理后的目标日志,包括:
[0083]
将脱敏处理后的数据通过json字符串转换方法,转换为脱敏处理后的字符串;
[0084]
将目标日志中的待脱敏数据替换为脱敏处理后的字符串,得到脱敏处理后的目标日志。
[0085]
其中,json字符串转换方法可表示为json.stringify()方法,用于将将javascript值转换为json字符串。
[0086]
图3是本技术的一个实施例提供的日志脱敏方法的应用的一种实际场景的详细流程示意图,包括:
[0087]
s31,枚举待脱敏数据的类别,如:姓名、手机号、邮箱、银行卡号、身份证号码等。
[0088]
s32,根据待脱敏数据的类别,创建敏感数据的字段池和敏感数据规则。
[0089]
其中,敏感数据的字段池中存储有所有可能的待脱敏数据的类别,包括姓名、手机号、邮箱、银行卡号、身份证号码和家庭地址等类别的敏感数据。敏感数据的敏感数据规则指示了敏感数据的组成规则,比如姓名类敏感数据的敏感数据规则为由2~4个汉字字符组成,手机号类敏感数据的敏感数据规则为由1开头的11个数字组成,等等。
[0090]
s33,根据敏感数据的字段池和敏感数据规则,创建对应的脱敏规则。
[0091]
如姓名类的敏感数据的脱敏规则为只显示第一个字,其他字以x或者*代替,手机号码类的敏感数据的脱敏规则为显示前3和后4位数字,其他数字以x或*代替,身份证号码类的敏感数据的脱敏规则为显示前4和后4位数字,其他数字以x或*代替,邮箱地址类的敏感数据的脱敏规则为显示第一个字符,其他字符以x或*代替,家庭地址类的敏感数据的脱敏规则等。
[0092]
s34,重写日志打印方法。
[0093]
即在日志被打印之前,添加日志脱敏的过程,获取待打印日志中的入参数据,判断入参数据中是否包含有待脱敏数据。
[0094]
s35,获取待打印日志的入参数据。
[0095]
s36,判断待打印日志的入参数据的数据类型。
[0096]
若为json字符串或包括json字符串的数组,则执行s37,若为json对象或包含json对象的数组,则执行s38,若为其他数据类型,则执行s321。
[0097]
s37,使用json.parse方法解析入参数据,得到新数据。
[0098]
s38,深度复制入参数据,得到新数据。
[0099]
s39,判断新数据的数据类型。
[0100]
若新数据的数据类型为数组则执行s310,若新数据的数据类型为json对象,则执
行s311。
[0101]
s310,循环判断数组中的各项数据的数据类型。
[0102]
s311,递归解析json对象中的所有key。
[0103]
s312,判断数据类型。
[0104]
若数据类型为json对象,则执行s311,若数据类型为数组,则执行s310,若数据类型为其他数据类型,则执行s321。
[0105]
s313,判断key是否在敏感数据的字段池中。
[0106]
若确定key在敏感数据的字段池中,则执行s315,若确定key不在敏感数据的字段池中,则执行s314。
[0107]
s314,获取key对应的value。
[0108]
s315,确定对应的脱敏规则。
[0109]
s316,使用脱敏规则对新数据中key的value进行脱敏处理得到value1。
[0110]
s317,将新数据中key的value替换为value1。
[0111]
s318,直到递归结束,得到脱敏处理后的新数据。
[0112]
s319,确定是否要将脱敏处理后的新数据转换回字符串。
[0113]
若确定要将脱敏处理后的新数据转换回字符串,则执行s320,若确定不需要将脱敏处理后的新数据转换回字符串,则执行s324。
[0114]
s320,使用json.stringify方法将脱敏处理后的新数据转换成字符串。
[0115]
s321,是否匹配敏感数据规则。
[0116]
若确定有匹配的敏感数据规则,则执行s322,若确定没有匹配的敏感数据规则,则执行s324。
[0117]
s322,确定敏感数据规则对应的脱敏规则。
[0118]
s323,使用脱敏规则对入参数据进行脱敏处理。
[0119]
在本技术实施例中,能够在日志被打印之前,基于预先设定的敏感数据的字段池中的多个预设类别的敏感数据,确定出日志中存在的敏感数据即待脱敏数据,再基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,最后,将日志中的待脱敏数据替换为脱敏处理后的数据,便得到脱敏处理后的日志,并打印脱敏处理后的日志,避免了日志中涉及用户敏感信息的数据直接被打印出来,有效保护了用户的敏感信息。
[0120]
为了解决现有技术中存在的问题,如图4所示,本技术实施例还提供一种日志脱敏装置400,包括:
[0121]
日志获取模块410,用于获取待打印的目标日志;
[0122]
数据确定模块420,用于基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;
[0123]
脱敏处理模块430,用于基于所述多个预设类别的敏感数据对应的脱敏规则,,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;
[0124]
日志脱敏模块440,用于将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。
[0125]
通过本技术实施例提供的日志脱敏装置,能够在日志被打印之前,基于预先设定
的敏感数据的字段池中的多个预设类别的敏感数据,确定出日志中存在的敏感数据即待脱敏数据,再基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,最后,将日志中的待脱敏数据替换为脱敏处理后的数据,便得到脱敏处理后的日志,并打印脱敏处理后的日志,避免了日志中涉及用户敏感信息的数据直接被打印出来,有效保护了用户的敏感信息。
[0126]
可选地,在一种实施方式中,所述数据确定模块420,用于:
[0127]
遍历所述目标日志,确定所述目标日志中与所述多个预设类别的敏感数据的敏感数据规则相匹配的待脱敏数据。
[0128]
可选地,在一种实施方式中,所述数据确定模块420,用于:
[0129]
遍历所述目标日志,获取所述目标日志中的键值对数据;
[0130]
从所述键值对数据中,确定与所述敏感键值对数据中的敏感键值标识相匹配的目标键值对数据;以及
[0131]
从所述目标日志中除去所述目标键值对数据以外的日志中,获取与所述敏感键值的敏感数据规则相匹配的目标键值数据;
[0132]
基于所述目标键值对数据中的键值数据以及所述目标键值数据,确定所述目标日志中的所述待脱敏数据。
[0133]
可选地,在一种实施方式中,所述日志脱敏模块440,用于:
[0134]
将所述目标日志中的所述目标键值对数据中的键值数据以及所述目标键值数据,替换为各自对应的所述脱敏处理后的数据,得到所述脱敏处理后的目标日志。
[0135]
可选地,在一种实施方式中,所述脱敏处理模块430,用于:
[0136]
判断所述待脱敏数据的类型;
[0137]
若所述待脱敏数据的类型为json对象或包含json对象的数组,则深度复制所述待脱敏数据,得到所述复制后的待脱敏数据;
[0138]
基于所述多个预设类别的敏感数据对应的脱敏规则,确定所述待脱敏数据对应的脱敏规则;
[0139]
基于所述待脱敏数据对应的脱敏规则,对所述复制后的待脱敏数据进行脱敏处理,得到所述脱敏处理后的数据。
[0140]
可选地,在一种实施方式中,所述脱敏处理模块430,用于:
[0141]
若所述待脱敏数据的类型为json字符串或包含json字符串的数组,则通过json字符串解析方法解析所述待脱敏数据,得到所述解析后的待脱敏数据;
[0142]
基于所述多个预设类别的敏感数据对应的脱敏规则,确定所述待脱敏数据对应的脱敏规则;
[0143]
基于所述待脱敏数据对应的脱敏规则,对所述解析后的待脱敏数据进行脱敏处理,得到所述脱敏处理后的数据。
[0144]
可选地,在一种实施方式中,所述日志脱敏模块440,用于:
[0145]
将所述脱敏处理后的数据通过json字符串转换方法,转换为所述脱敏处理后的字符串;
[0146]
将所述目标日志中的待脱敏数据替换为所述脱敏处理后的字符串,得到所述脱敏处理后的目标日志。
[0147]
其中,本技术实施例提供的装置中的上述模块还可以实现上述方法实施例提供的方法步骤。或者,本技术实施例提供的装置还可以包括除上述模块以外的其他模块,用以实现上述方法实施例提供的方法步骤。且本技术实施例提供的装置能够实现上述方法实施例所能达到的技术效果。
[0148]
图5是本说明书的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0149]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0150]
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0151]
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成日志脱敏装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
[0152]
获取待打印的目标日志;
[0153]
基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;
[0154]
基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;
[0155]
将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。
[0156]
本说明书实施例提供的电子设备,能够在日志被打印之前,基于预先设定的敏感数据的字段池中的多个预设类别的敏感数据,确定出日志中存在的敏感数据即待脱敏数据,再基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,最后,将日志中的待脱敏数据替换为脱敏处理后的数据,便得到脱敏处理后的日志,并打印脱敏处理后的日志,避免了日志中涉及用户敏感信息的数据直接被打印出来,有效保护了用户的敏感信息。
[0157]
上述如本说明书图1~图3所示实施例揭示的日志脱敏装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑
器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0158]
该电子设备还可执行图1~图3的方法,并实现日志脱敏装置在图1~图3所示实施例的功能,本说明书实施例在此不再赘述。
[0159]
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1~图3所示实施例的方法,并具体用于执行以下操作:
[0160]
获取待打印的目标日志;
[0161]
基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;
[0162]
基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;
[0163]
将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。
[0164]
本说明书实施例提供的计算机可读存储介质,能够在日志被打印之前,基于预先设定的敏感数据的字段池中的多个预设类别的敏感数据,确定出日志中存在的敏感数据即待脱敏数据,再基于多个预设类别的敏感数据对应的脱敏规则,对待脱敏数据进行脱敏处理,得到脱敏处理后的数据,最后,将日志中的待脱敏数据替换为脱敏处理后的数据,便得到脱敏处理后的日志,并打印脱敏处理后的日志,避免了日志中涉及用户敏感信息的数据直接被打印出来,有效保护了用户的敏感信息。
[0165]
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0166]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0167]
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
[0168]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可
以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0169]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0170]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0171]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

技术特征:
1.一种日志脱敏方法,其特征在于,包括:获取待打印的目标日志;基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。2.如权利要求1所述的方法,其特征在于,基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据,包括:遍历所述目标日志,确定所述目标日志中与所述多个预设类别的敏感数据的敏感数据规则相匹配的待脱敏数据。3.如权利要求2所述的方法,其特征在于,所述多个预设类别的敏感数据中包括敏感键值标识以及敏感键值,遍历所述目标日志,确定所述目标日志中与所述多个预设类别的敏感数据的敏感数据规则相匹配的待脱敏数据,包括:遍历所述目标日志,获取所述目标日志中的键值对数据;从所述键值对数据中,确定与所述敏感键值对数据中的敏感键值标识相匹配的目标键值对数据;以及从所述目标日志中除去所述目标键值对数据以外的日志中,获取与所述敏感键值的敏感数据规则相匹配的目标键值数据;基于所述目标键值对数据中的键值数据以及所述目标键值数据,确定所述目标日志中的所述待脱敏数据。4.如权利要求3所述的方法,其特征在于,将目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,包括:将所述目标日志中的所述目标键值对数据中的键值数据以及所述目标键值数据,替换为各自对应的所述脱敏处理后的数据,得到所述脱敏处理后的目标日志。5.如权利要求1~4中任一所述的方法,基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据,包括:判断所述待脱敏数据的类型;若所述待脱敏数据的类型为json对象或包含json对象的数组,则深度复制所述待脱敏数据,得到所述复制后的待脱敏数据;基于所述多个预设类别的敏感数据对应的脱敏规则,确定所述待脱敏数据对应的脱敏规则;基于所述待脱敏数据对应的脱敏规则,对所述复制后的待脱敏数据进行脱敏处理,得到所述脱敏处理后的数据。6.如权利要求5所述的方法,基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据,包括:若所述待脱敏数据的类型为json字符串或包含json字符串的数组,则通过json字符串解析方法解析所述待脱敏数据,得到所述解析后的待脱敏数据;
基于所述多个预设类别的敏感数据对应的脱敏规则,确定所述待脱敏数据对应的脱敏规则;基于所述待脱敏数据对应的脱敏规则,对所述解析后的待脱敏数据进行脱敏处理,得到所述脱敏处理后的数据。7.如权利要求6所述的方法,将所述目标日志中的所述待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,包括:将所述脱敏处理后的数据通过json字符串转换方法,转换为所述脱敏处理后的字符串;将所述目标日志中的待脱敏数据替换为所述脱敏处理后的字符串,得到所述脱敏处理后的目标日志。8.一种日志脱敏装置,其特征在于,包括:日志获取模块,用于获取待打印的目标日志;数据确定模块,用于基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;脱敏处理模块,用于基于所述多个预设类别的敏感数据对应的脱敏规则,,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;日志脱敏模块,用于将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的日志脱敏方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的日志脱敏方法的步骤。

技术总结
本申请公开一种日志脱敏方法和装置,用于避免日志打印过程中用户个人信息的泄露。本方案包括:获取待打印的目标日志;基于敏感数据的字段池中多个预设类别的敏感数据,确定所述目标日志中存在的待脱敏数据;基于所述多个预设类别的敏感数据对应的脱敏规则,对所述待脱敏数据进行脱敏处理,得到脱敏处理后的数据;将所述目标日志中的待脱敏数据替换为所述脱敏处理后的数据,得到所述脱敏处理后的目标日志,以打印所述脱敏处理后的目标日志。以打印所述脱敏处理后的目标日志。以打印所述脱敏处理后的目标日志。


技术研发人员:丁杰 蒋宁 曾琳铖曦 周旋 吴海英 吴鹏
受保护的技术使用者:马上消费金融股份有限公司
技术研发日:2022.03.31
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-4222.html

最新回复(0)