一种虚拟主键生成方法、装置、设备及存储介质制造方法及图纸

技术编号:37602835 阅读:13 留言:0更新日期:2023-05-18 11:54
本申请公开了一种虚拟主键生成方法、装置、设备及存储介质,方法包括:将属性的参与比例进行二进制转换,生成属性的比例串;将MSB部分和虚拟主键密钥进行哈希运算,得到属性值的哈希串;获取第一哈希串;将属性值的哈希串和第一哈希串进行合并,生成合并哈希串;在合并哈希串中截取哈希串,得到最终的属性串;对最终的属性串和比例串执行二进制匹配算法;根据匹配结果,判断属性值是否参与虚拟主键VPK的构建;当属性值参与虚拟主键VPK的构建时,将多个匹配成功的最终的属性串,组装拼接为元组的VPK,基于多个元组的VPK构建VPK集合。本申请解决了现有方案在面对攻击者删除属性时鲁棒性和抵抗力较弱的问题,此外,本申请生成的VPK集合具有更多的唯一值。合具有更多的唯一值。合具有更多的唯一值。

【技术实现步骤摘要】
一种虚拟主键生成方法、装置、设备及存储介质


[0001]本专利技术涉及数据库安全
,特别涉及一种虚拟主键生成方法、装置、设备及存储介质。

技术介绍

[0002]目前,全球范围内产生的数据量仍在快速增加,数据库市场规模也在不断增大。数据要素的市场化将进一步挖掘数据的价值,激发经济增长潜力。但是由于数据具有非竞争性、低成本、易复制的特点,在数据交易流通时经常面临数据确权和泄漏溯源的问题,而数据库水印技术被认为是有效的解决方法。但目前大多数水印技术都存在主键依赖问题,主键攻击将让技术失效。所以研究人员希望通过提出虚拟主键生成方法解决该问题。
[0003]通常,虚拟主键生成方法会随机选取数据表中非主键的属性值来构建VPK集合,并在运行水印算法的过程中,使用该集合替代主键执行水印的相关操作。然而,目前存在的虚拟主键生成方法存在四大问题:1.面对属性删除攻击时抵抗力还不够好;2.构建VPK集合时,方案不能单独对每个参与属性的比例加以控制,易出现某个属性的参与比例过高;3.可控制的比例范围有限且误差不够小;4.VPK集合中唯一值的比例不够高,其数量与主键的个数还有距离。

技术实现思路

[0004]本专利技术提出一种虚拟主键生成方法,目的在于解决现有方案生成VPK时无法控制每个属性的参与比例的问题。
[0005]第一方面,本实施例提供了一种虚拟主键生成方法,所述虚拟主键生成方法包括:
[0006]获取属性的参与比例、属性值、最低有效位位数和虚拟主键密钥;
[0007]将所述属性的参与比例进行二进制转换,生成所述属性的比例串,所述属性的比例串为所述属性的参与比例的二进制串;
[0008]将所述属性值转换为二进制形式,并根据所述最低有效位位数划分为两部分,分别为最高有效位部分MSB部分和最低有效位LSB部分;
[0009]将所述MSB部分和所述虚拟主键密钥进行哈希运算,得到所述属性值的哈希串;
[0010]在同一个元组的多个所述属性值的哈希串中,获取第一哈希串,所述第一哈希串为数值最大的哈希串;
[0011]通过比特位交叉合并的方式,将所述属性值的哈希串和所述第一哈希串进行合并,生成合并哈希串;
[0012]在所述合并哈希串中确定随机的起始比特位;
[0013]根据所述随机的起始比特位,在所述合并哈希串中截取哈希串,得到最终的属性串;
[0014]基于预设的匹配方式,对所述最终的属性串和所述比例串执行二进制匹配算法;
[0015]根据匹配结果,判断所述属性值是否参与虚拟主键VPK的构建;
[0016]当所述属性值参与虚拟主键VPK的构建时,基于预设的组装规则,将多个匹配成功的所述最终的属性串,组装拼接为所述元组的VPK,基于多个所述元组的VPK构建VPK集合。
[0017]作为一个可选的实施方式,所述在所述合并哈希串中确定随机的起始比特位,具体为:
[0018]采用预设的随机寻找比特位模型,在所述合并哈希串中确定随机的起始比特位;
[0019]其中,所述随机寻找比特位模型为:
[0020][0021]其中,pos为所述随机的起始比特位,A
tmp
为所述属性值的哈希串,A
max
为所述数值最大的哈希串,A
cross
为所述合并哈希串,B为所述属性的比例串,len为返回所述属性的比例串的长度。
[0022]作为一个可选的实施方式,所述根据所述随机的起始比特位,在所述合并哈希串中截取哈希串,得到最终的属性串,具体为:
[0023]采用预设的截取模型,根据随机的起始比特位和所述截取模型,在所述合并哈希串中截取哈希串,得到最终的属性串;
[0024]其中,所述截取模型为:
[0025]A
s

vpk
=substring(A
cross
,0,pos);
[0026]其中,pos为所述随机的起始比特位,A
s

vpk
为所述最终的属性串,A
cross
为所述合并哈希串,substring为截取函数。
[0027]作为一个可选的实施方式,所述基于预设的匹配方式,对所述最终的属性串和所述比例串执行二进制匹配算法,具体为:
[0028]按预设的比特匹配的方向,获取所述最终的属性串的当前比特和所述比例串的当前比特;
[0029]对所述最终的属性串的当前比特和所述比例串的当前比特执行二进制匹配;
[0030]若所述最终的属性串的当前比特为1,所述比例串的当前比特为0,则匹配失败;
[0031]若所述最终的属性串的当前比特为1,所述比例串的当前比特为1,则匹配成功;
[0032]若所述最终的属性串的当前比特为0,则判断所述比例串的当前比特是否为所述比例串的最后一个比特位,如果所述比例串的当前比特不是所述比例串的最后一个比特位时,按照预设的匹配方式,对所述最终的属性串的当前比特的下一个比特位和所述比例串的当前比特的下一个比特位执行二进制匹配,如果所述比例串的当前比特为所述比例串的最后一个比特位,就匹配结束,匹配失败。
[0033]作为一个可选的实施方式,所述按预设的比特匹配的方向,获取所述最终的属性串的当前比特和所述比例串的当前比特,具体为:
[0034]按从右到左的方向,获取所述最终的属性串第i个比特为所述最终的属性串的当前比特,按从左到右的方向,获取所述比例串第i个比特为所述比例串的当前比特;其中,所述i为正整数。
[0035]作为一个可选的实施方式,所述当所述属性值参与虚拟主键VPK的构建时,基于预设的组装规则,将多个匹配成功的所述最终的属性串,组装拼接为所述元组的VPK,基于多个所述元组的VPK构建VPK集合,具体为:
[0036]获取所述数值最大的哈希串中0的个数;
[0037]当所述数值最大的哈希串中0的个数为偶数时,从小到大合并多个匹配成功的所述最终的属性串,拼接为所述元组的VPK,基于多个所述元组的VPK构建VPK集合;
[0038]当所述数值最大的哈希串中0的个数为奇数时,从大到小合并合并多个匹配成功的所述最终的属性串,拼接为所述元组的VPK,基于多个所述元组的VPK构建VPK集合。
[0039]作为一个可选的实施方式,所述基于多个所述元组的VPK构建VPK集合,具体为:
[0040]获取数据库表的n个所述元组,获取n个所述元组产生的m个VPK,基于所述m个VPK构建VPK集合,其中,0<=m<=n,所述n和所述m为正整数。第二方面,本实施例还提供了一种虚拟主键生成装置,所述虚拟主键生成装置包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行上述的虚拟主键生成方法。
[0041]第三方面,本实施例还提供了一种设备,所述设备包括如上述的虚拟主键生本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟主键生成方法,其特征在于,所述虚拟主键生成方法包括:获取属性的参与比例、属性值、最低有效位位数和虚拟主键密钥;将所述属性的参与比例进行二进制转换,生成所述属性的比例串,所述属性的比例串为所述属性的参与比例的二进制串;将所述属性值转换为二进制形式,并根据所述最低有效位位数划分为两部分,分别为最高有效位部分MSB部分和最低有效位LSB部分;将所述MSB部分和所述虚拟主键密钥进行哈希运算,得到所述属性值的哈希串;在同一个元组的多个所述属性值的哈希串中,获取第一哈希串,所述第一哈希串为数值最大的哈希串;通过比特位交叉合并的方式,将所述属性值的哈希串和所述第一哈希串进行合并,生成合并哈希串;在所述合并哈希串中确定随机的起始比特位;根据所述随机的起始比特位,在所述合并哈希串中截取哈希串,得到最终的属性串;基于预设的匹配方式,对所述最终的属性串和所述比例串执行二进制匹配算法;根据匹配结果,判断所述属性值是否参与虚拟主键VPK的构建;当所述属性值参与虚拟主键VPK的构建时,基于预设的组装规则,将多个匹配成功的所述最终的属性串,组装拼接为所述元组的VPK,基于多个所述元组的VPK构建VPK集合。2.如权利要求1所述的虚拟主键生成方法,其特征在于,所述在所述合并哈希串中确定随机的起始比特位,具体为:采用预设的随机寻找比特位模型,在所述合并哈希串中确定随机的起始比特位;其中,所述随机寻找比特位模型为:pos=([A
tmp
]
10
+[A
max
]
10
)%[len(A
cross
)

len(B)]+len(B);其中,pos为所述随机的起始比特位,A
tmp
为所述属性值的哈希串,A
max
为所述数值最大的哈希串,A
cross
为所述合并哈希串,B为所述属性的比例串,len为返回所述属性的比例串的长度。3.如权利要求1所述的虚拟主键生成方法,其特征在于,所述根据所述随机的起始比特位,在所述合并哈希串中截取哈希串,得到最终的属性串,具体为:采用预设的截取模型,根据随机的起始比特位和所述截取模型,在所述合并哈希串中截取哈希串,得到最终的属性串;其中,所述截取模型为:A
s

v
=substring(A
cross
,0,pos);其中,pos为所述随机的起始比特位,A
s

vpk
为所述最终的属性串,A
cross
为所述合并哈希串,substring为截取函数。4.如权利要求1所述的虚拟主键...

【专利技术属性】
技术研发人员:王兆国梁天材王文超刘川意
申请(专利权)人:哈尔滨工业大学深圳
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1