[发明专利]一种基于聚类加权多维桶分组的安全数据库水印构造方法有效
申请号: | 202110094622.5 | 申请日: | 2021-01-25 |
公开(公告)号: | CN112800394B | 公开(公告)日: | 2022-10-25 |
发明(设计)人: | 张迎周;汪天琦;邸云龙;朱林林;李鼎文;帅东昕 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F21/16 | 分类号: | G06F21/16;G06F21/62;G06F21/64;G06F21/60;G06K9/62 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 徐激波 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 加权 多维 分组 安全 数据库 水印 构造 方法 | ||
1.一种基于聚类加权多维桶分组的安全数据库水印构造方法,其特征在于,包括以下步骤:
步骤S1、根据抽象域选取数据库稳定单元和属性;基于语义的属性,根据范围不同将属性分为单元格属性、元组内属性、元组间属性和关联数据库间属性;将所述基于语义的属性进行累并操作,得到基于语义的不变属性集;具体地,
步骤S1.1、设定数据库DB和与DB交互的应用程序集B,Q为B中应用程序发出的查询集;所述查询集Q包括SELECT、UPDATE、DELETE、INSERT操作;用迁移系统表示数据库的状态变化如下:
数据库初始状态表示为(S0,Λ0,τ,WM);其中S0表示数据库的初始状态;Λ0表示初始查询Q的非空集合;τ表示状态迁移关系WM表示嵌入在初始状态中的水印;数据库在时态i时的状态表示为(Si,Λi,τ,WM);其中Si表示数据库在i时的状态,Λi表示查询Q的非空集合;
步骤S1.2、将属性集{A1,A2......,Aγ}分为属于稳定部分的属性集合和属于不稳定部分的属性集合其中p+q=γ;
步骤S1.3、设定初始状态S0中不受查询影响的稳定单元为其中tj表示第j个元组;提取一组基于语义的属性用l表示数据库要划分的v个不重叠分区的元组数;所述属性集由单元内元组内元组属性之间和数据库之间的不变量组成状态S0中的数据库信息,稳定单元分别表示为STBIC、STBIT、STBIA和STBIDB;
步骤S1.4、用最小完美哈希函数对属性集的稳定单元进行编码,将所有属性按词法顺序映射成一组保留单调属性的整数;
步骤S2、数据聚类;根据准标识符属性值对数据库进行聚类,将具有共同特征的准标识符属性聚为一类,将数据库分为若干子数据库;然后再对数据库的敏感属性进行聚类,将每一维数值型敏感属性值聚成多个簇,任意两簇之间的交集为空集;
步骤S3、构建加权多维桶分组;首先构建多维桶,根据敏感属性的值对数据进行映射,得到初步的多维桶分组;然后计算每个桶的加权选择度,利用熵权法计算得到敏感属性的客观权重,为每个桶赋予一个加权选择度由此构建加权多维桶;根据最大维容量优先算法优先选择加权选择度大的桶中的数据构造满足l-多样性的分组;
步骤S4、构造安全数据库水印;具体地,
步骤S4.1、从数据库中选取敏感属性,通过哈希函数生成报文摘要,然后用私钥key对报文摘要进行加密生成数字签名,将长度为m的所有者的签名ξ转换为二进制的形式;
步骤S4.2、使每个分区{G0,G1,...,Gv}平均包含l个元组,其中i≠j;i=0,1…v,j=0,1…v;
步骤S4.3、对于分区Gv中的每个元组r,在WM中生成一个元组a,所述a的主键与r的主键相等;然后在a中为属性P1、P2、P3、P4添加四个值,分别对应STBID、STBIT、STBIA、STBIDB的编码值,依次用q1,q2,q3,q4表示;当任一属性缺失时,将相应的单元格置0;用Vstable表示r中的稳定属性,Gi表示从伪随机序列发生器中获得的第i个值,由稳定属性Vstable、元组r和私钥key作为参数计算,j表示随机选取r中的一个属性;当r中第j个属性稳定时,则将r的第j个属性的最高位与长度为m的所有者的签名ξ的第v-1位进行异或操作;当r中第j个属性不稳定时则采取置0操作;删除r中的第j个属性,最后得到安全的数据库水印WMPK,e1,e2...eγ,q1,q2,q3,q4;
所述步骤S3中构建加权多维桶分组具体步骤如下:
步骤S3.1、构建多维桶;基于步骤S2中聚类过后的敏感属性值,对数据表进行映射,构建多维桶分组表,其中每个单元格代表一个桶,空桶即该桶中不包含数据,以元组为单位进行分组;
步骤S3.2、获取用户对n个敏感属性的敏感程度,记为SI1,...,SIn;设定非敏感属性的重要程度为SI0;
步骤S3.3、利用熵权法计算得到敏感属性SAj的客观权重如下:
其中k表示指标个数,Ei表示第i个指标的信息熵,记为W1,W2,...,Wn,当前维的权重维为W0;
步骤S3.4、根据公式计算每个桶的加权选择度,其中Ci为第i维敏感属性与当前桶属于同一簇的记录数,c为每个桶的容量,为每个桶赋予相应的加权选择度,构造加权多维桶;
步骤S3.5、根据多样性参数l的值进行分区;首先选择最大的桶提取其中的一条元组,屏蔽该行和该列上的其他桶,并将桶大小减1;在剩余桶中继续选择元组,以此类推确定元组所属分区,将元组分配给分区Gv。
2.根据权利要求1所述的一种基于聚类加权多维桶分组的安全数据库水印构造方法,其特征在于,所述步骤S2中数据聚类的具体步骤如下:
步骤S2.1、采用K-means算法对数据库进行聚类;根据准标识符的相似程度,将数据库划分成若干准标识符属性值接近的子数据库,缩小数据库中准标识符的取值范围;
步骤S2.2、针对不同的准标识符类型分别采用不同的方法进行聚类;对于数值型的属性数值差采用距离作为聚类标准;对于非数值型的属性则为每个属性构建泛化树,通过泛化树计算非数值类型属性的距离,并作为聚类标准;
步骤S2.3、采用K-means算法对数值型敏感属性进行聚类;对于含有h条数据记录和n维数值型敏感属性的数据表,将每一维数值型敏感属性值聚成多个簇,记作{Ci1,Ci2,...,Cij}(1≤i≤n,1≤j≥n),其中i和j是整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110094622.5/1.html,转载请声明来源钻瓜专利网。