发明内容
为了解决上述技术问题,本发明提供一种金融敏感风险数据安全保护方法,所述方法包括:
采集得到敏感风险数据序列,将敏感风险数据序列拆分成多个可行性字符串,根据可行性字符串得到特征字符串;
获取各特征字符串的所有后缀字符,计算各特征字符串的各后缀字符的出现可能性,根据所述出现可能性得到各特征字符串的长字符串;根据各特征字符串的长字符串完成各特征字符串处的字典更新,完成对敏感风险数据序列的加密得到密文数据;
将密文数据解密成敏感风险数据序列。
优选的,所述将敏感风险数据序列拆分成多个可行性字符串,包括的具体步骤为:
设置一个可行字符串集合;
设置一个预设滑窗,先将预设滑窗的左侧与敏感风险数据序列的第一个字符对齐,以一个字符为滑动步长,将预设滑窗向右滑动,直至预设滑窗的右侧与敏感风险数据序列的最后一个对齐,获取每次滑动时预设滑窗在敏感风险数据序列上对应的子序列;
在每个子序列中获取不同长度的所有子串,判断各子串在可行字符串集合中是否存在,当子串在可行字符串集合中不存在时,将子串加入到可行字符串集合中,当可行字符串集合中存在时,可行字符串集合无变化;
获取最后的可行字符串集合中的多个可行字符串。
优选的,所述根据可行性字符串得到特征字符串,包括的具体步骤为:
统计敏感风险数据序列中各可行字符串出现频数,将出现频数大于预设频数阈值的字符串称为固定字符串;
确定每个固定字符串的周期分布程度;
将周期分布程度大于预设周期分布程度阈值的固定字符串称为特征字符串。
优选的,所述确定每个固定字符串的周期分布程度,包括的具体步骤为:
在敏感风险数据序列中获取相邻的两个相同固定字符串之间的间隔字符数,计算每个固定字符串的间隔字符数标准差,将每个固定字符串频数与间隔字符数标准差的乘积作为每个固定字符串的周期分布程度。
优选的,所述获取各特征字符串的所有后缀字符,包括的具体步骤为:
在敏感风险数据序列上,获取与各特征字符串相同的所有字符串,获取每个相同字符串的下一个位置的字符,将每个相同字符串的下一个位置的字符记为特征字符串的一个后缀字符,所有相同字符串的所有下一个位置的字符构成特征字符串的所有后缀字符。
优选的,所述计算各特征字符串的各后缀字符的出现可能性,包括的具体步骤为:
统计各特征字符串的各后缀字符的出现频率;
获取包含各特征字符串的各后缀字符的所有可行字符串的编码次数,作为各特征字符串各后缀字符的编码次数;
根据各特征字符串的各后缀字符的出现频率和编码次数得到各特征字符串的各后缀字符的出现可能性。
优选的,所述根据各特征字符串的各后缀字符的出现频率和编码次数得到各特征字符串的各后缀字符的出现可能性,包括的具体计算公式为:
其中,表示第i特征字符串的第j个后缀字符的出现可能性,/>表示第i特征字符串的第j个后缀字符的出现频率,/>表示第i特征字符串的第j个后缀字符的编码次数。
优选的,所述根据出现可能性得到各特征字符串的长字符串,包括的具体步骤为:
选取出现可能性最大的三个后缀字符作为各特征字符串的优选后缀字符,将每个优选后缀字符分别拼接在各特征字符串之后得到各特征字符串的三个长字符串。
优选的,所述根据各特征字符串的长字符串完成各特征字符串处的字典更新,包括的具体步骤为:
分别判断各特征字符串或各长字符串在字典中是否存在,将不存在的字符串加入到字典中,并给新加入的字符串分配编码。
优选的,所述完成对敏感风险数据序列的加密得到密文数据,包括的具体步骤为:
将各敏感风险数据序列中的各可行字符串利用字典中的对应编码值替换得到密文数据。
本发明实施例至少具有如下有益效果:获取敏感风险数据序列,分析敏感风险数据序列中各处字符串的统计特征得到特征字符串,因而此处可以获取得到敏感风险数据序列中的高统计特征的字符串,便于后续对高敏感风险数据中的统计特征的隐藏;
分析各特征字符串下一个位置字符的出现频率情况及编码情况计算得到各特征字符串的各后缀字符的出现可能性,根据出现可能性得到各特征字符串的优选后缀字符,此处可以获得各特征字符串下一个位置常出现字符,将优选后缀字符拼接在各特征字符串之后得到各特征字符串的长字符串,该长字符串在敏感风险数据序列中出现频率较大,因而这样可以将所需的长字符串存入字典中,防止后续由于字典中未存入相应字符串导致的特征字符串信息暴露问题。因而通过本方法能够较好的隐藏统计信息,提高敏感风险数据的安全。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种金融敏感风险数据安全保护方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种金融敏感风险数据安全保护方法的具体方案。
请参阅图1,其示出了本发明的一个实施例提供的一种金融敏感风险数据安全保护方法的步骤流程图,该方法包括以下步骤:
步骤S001,获取敏感风险数据序列。
在金融行业,敏感风险数据中包含很多重要信息,例如包含客户个人身份信息、财务数据,这些信息一旦泄露很容易造成经济损失,因而需对敏感风险数据进行加密处理,从而保护数据安全。要想对敏感风险数据进行加密分析,需先获取敏感风险数据。
在金融系统中获取长度为N1的敏感风险数据序列,本实施例中N1取10000,其他实施例中实施者可根据实际设置,本实施例不进行具体限定。
步骤S002,根据敏感风险数据序列得到多个固定字符串,确定每个固定字符串的周期分布程度,根据周期分布程度得到特征字符串。
LZW编码是利用简短的编码代替冗长编码的方式来实现数据加密,因而这种加密方式很容易暴露数据中的统计特征。敏感风险数据序列中包含多个字符串,各字符串特征不尽相同,利用LZW编码对敏感风险数据序列进行加密,会导致敏感分析数据序列中统计特征较为明显字符串容易被泄密。因而只需改变敏感风险数据序列中统计特征较为明显字符串的编码方式,隐藏该字符串的统计特征,从而提高对敏感风险数据序列的加密安全性。
由于敏感风险数据序列中只有统计特征较为明显字符串容易泄露数据信息,因而需先对敏感风险数据序列中各字符串进行分析,来获取统计特征较为明显的特征字符串,具体过程如下:
1、将敏感风险数据序列拆分成多个可行字符串:
设置一个N2*1的预设滑窗,本实施例中N2取10,其他实施例中实施者可根据实际设置。设置一个空的可行字符串集合;
先将预设滑窗的左侧与敏感风险数据序列的第一个字符对齐,以一个字符为滑动步长,将预设滑窗向右滑动,直至预设滑窗的右侧与敏感风险数据序列的最后一个对齐,获取每次滑动时预设滑窗在敏感风险数据序列上对应的子序列;
在每个子序列中分别获取长度为1的所有子串,以及长度为2的所有子串,长度为3的所有子串,……,长度为n的所有子串,本实施例中n=10,其他实施例实施者可根据实际设置,本实施例不进行具体限定。
判断各子串在可行字符串集合中是否存在,当子串在可行字符串集合中不存在时,将子串加入到可行字符串集合中,当可行字符串集合中存在时,可行字符串集合无变化。利用该方法完成所有子序列的操作,获取最后的可行字符串集合,将可行字符串集合中各字符串称为可行字符串。
2、根据各可行字符串的周期分布程度得到特征字符串:
统计敏感风险数据序列中各可行字符串出现频数,将出现频数大于预设频数阈值M0的字符串称为固定字符串,本实施例中M0取20,其他实施例中实施者可根据实际设置。
在敏感风险数据序列中获取相邻的两个相同固定字符串之间的间隔字符数,每个固定字符串对应多个间隔字符数,计算每个固定字符串的间隔字符数标准差,将每个固定字符串频数与间隔字符数标准差的乘积作为每个固定字符串的周期分布程度。
利用最大值最小值归一化方法对每个固定字符串的周期分布程度进行归一化处理得到归一化后的周期分布程度,为了便于描述,后续将归一化后的周期分布程度依旧记为周期分布程度,将周期分布程度大于预设周期分布程度阈值P0的固定字符串称为特征字符串,本实施例中P0取0.8,其他实施例中实施者可根据实际设置。
至此,得到特征字符串,在获取特征字符串的时,考虑了敏感风险数据序列中字符串的统计特征,将统计特征较为明显的字符串作为特征字符串。
步骤S003,获取各特征字符串的后缀字符,计算各特征字符串的各后缀字符的出现可能性,根据各特征字符串的各后缀字符的出现可能性得到各特征字符串的长字符串,根据各特征字符串的长字符串对金融交易数据进行加密处理得到密文数据。
敏感风险数据序列中特征字符串的具有明显的统计特征,而LZW编码是利用简短的编码代替冗长数据的方式来实现数据加密,这种加密方式无法隐藏数据的统计特征,因而要想提高敏感风险数据序列的加密安全性,需更改敏感风险数据序列中特征字符串的编码方式。
LZW编码,是在字典中找到数据序列中各字符串对应的编码,并将编码代替字符串,来实现对数据的加密;在字典中寻找编码的过程中,会出现一些字符串在字典中找不到对应编码,此时就需要对字典进行扩增,将新出现的字符串纳入到字典中,并对新扩增的字符串赋予一个编码,从而便于数据序列中后续数据的加密。这种编码方式会存在如下问题,例如数据序列“abcabeabf”,假设“ab”的编码值为1,“c”、“e”、“f”的编码值为“2”、“3”、“4”,因而数据序列“abcabeabf”的密文数据为“121314”,可以发现利用LZW编码得到密文序列会多次出现字符串“ab”对应的编码值,这时就很容易暴露统计特征。如果将数据序列中“abc”、“abe”、“abf”分别编码为“1”、“2”“3”,此时数据序列“abcabeabf”的密文数据为“123”,可以发现此时就没有暴露统计特征。该问题主要是由于字典中长字符串存入滞后导致,因而要想实现这种效果,需要在数据序列中出现该字符串出现之前,在字典中就已经存在该字符串以及该字符串的编码数据。
为了解决上述问题,本实施例提出如下方法,具体实现过程如下:
由于敏感风险数据序列中非特征字符串的统计特征不明显,因而非特征字符串采用传统的LZW方法不会暴露数据信息,因而敏感风险数据序列中的非特征字符串采用传统的LZW进行编码即可。而特征字符串的统计特征较为明显,其采用传统的LZW方法很容易出现数据信息暴露问题,因而主要对特征字符串的编码进行更正。
更正后的加密方法与传统LZW方法的主要区别在:特征字符串处的字典更新和特征字符串处的编码设置。
为了解决字典中长字符串存入滞后的问题,需在各特征字符串处对字典更新时,不仅将该特征字符串的存入字典中,还需分析包含该特征字符串的长字符串在未来的出现可能性,将出现可能性较大的长字符串存入字典中,具体如下:
以第i个特征字符串的字典更新为例来说明,其他特征字符串的处理方式相同。
1、获取特征字符串的长字符串:
(1)获取各特征字符串的后缀字符以及各后缀字符的出现频率:
对于第i个特征字符串,在敏感风险数据序列与该字符串相同的所有字符串,获取每个相同字符串的下一个字符,将所有相同字符串的所有下一个字符构成的集合称为后缀字符集合,为了便于描述将后缀字符集合中各元素称为后缀字符。后缀字符集合的所有后缀字符的出现频率进行统计,得到每个后缀字符的出现频率。
(2)获取各特征字符串的各后缀字符的编码次数:
以第i个特征字符串的第j个后缀字符为例来说明后缀字符串的出现可能性计算方法,其他后缀字符串的计算方法相同。
在已有的编码过程中,对于包含第i个特征字符串的第j个后缀字符,获取包含该后缀字符的所有可行字符串的编码次数。为了方便理解“编码次数”,此处以一个例子来对编码次数进行解释:例如上述例子中将数据序列“abcabeabf编码为“121314”,在该序列中,字符串“ab”的编码次数为3,字符串“c”的编码次数为1,字符串“e”的编码次数为1,字符串“f”的编码次数为1。将第i特征字符串的第j个后缀字符的编码次数记为。
(3)计算各特征字符串的各后缀字符的出现可能性:
将第i特征字符串的第j个后缀字符的出现频率记为。因而第i个特征字符串的第j个后缀字符的出现可能性为:
其中,表示第i特征字符串的第j个后缀字符的出现可能性,该值越大说明在第i特征字符串后面缀有第j个后缀字符的长字符串在未来出现的可能性较大,因而将第i特征字符串后面缀有第j个后缀字符的长字符串存入字典中的可能性较大。/>表示第i特征字符串的第j个后缀字符的出现频率,该值越大说明第j个后缀字符在第i特征字符串后相邻程度越大,因而第i特征字符串后面缀有第j个后缀字符的长字符串的未来出现可能性越大。/>表示第i特征字符串的第j个后缀字符的编码次数,/>表示编码完成率,该值越大,说明第j个后缀字符在第i特征字符串后相邻程度越小。
(4)确定各特征字符串的长字符串:
通过该方式得到第i特征字符串的每个后缀字符的出现可能性,选取出现可能性最大的三个后缀作为第i个特征字符串的优选后缀字符,将每个优选后缀字符分别拼接在第i个特征字符串之后与得到第i个特征字符串的三个长字符串。
2、特征字符串的字典更新:
分别判断第i个特征字符串或各长字符串在字典中是否存在,将不存在的字符串加入到字典中,并给新加入的各字符串分配相应编码,具体分配编码的方式与LZW相同,此处不再赘述。
3、对敏感风险数据序列的加密处理得到密文数据:
基于LZW算法,将各敏感风险数据序列中的各可行字符串利用字典中的对应编码值替换得到密文数据。
至此,完成对敏感风险数据序列的加密得到密文数据,在加密过程中,相较于传统LZW方法,先获取敏感风险数据序列中的特征字符串,然后分析特征字符串后的所有后缀字符的出现可能性情况得到各特征字符串的长字符串,进而完成各特征字符串处字典的更新。
将密文数据存储与金融系统中。
步骤S004,对密文数据进行解密处理得到敏感风险数据序列。
在字典中获取各字符串与编码的对应关系,将密文中的各编码利用相应字符串替换即可得到敏感风险数据序列,实现数据解密。
综上所述,本发明实施例提供了一种金融敏感风险数据安全保护方法,获敏感风险数据序列,分析敏感风险数据序列中各处字符串的统计特征得到特征字符串,因而此处可以获取得到敏感风险数据序列中的高统计特征的字符串,便于后续对高敏感风险数据中的统计特征的隐藏;
分析各特征字符串下一个位置字符的出现频率情况及编码情况计算得到各特征字符串的各后缀字符的出现可能性,根据出现可能性得到各特征字符串的优选后缀字符,此处可以获得各特征字符串下一个位置常出现字符,将优选后缀字符拼接在各特征字符串之后得到各特征字符串的长字符串,该长字符串在敏感风险数据序列中出现频率较大,因而这样可以将所需的长字符串存入字典中,防止后续由于字典中未存入相应字符串导致的特征字符串信息暴露问题。因而通过本方法能够较好的隐藏统计信息,提高敏感风险数据的安全。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。