[发明专利]基于多方安全计算的数据隐匿查询安全共享系统及方法有效
申请号: | 202110036670.9 | 申请日: | 2021-01-12 |
公开(公告)号: | CN112367170B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 贾坤;王萍;徐志华 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 胡文莉 |
地址: | 610094 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多方 安全 计算 数据 隐匿 查询 共享 系统 方法 | ||
1.一种基于多方安全计算的数据隐匿查询安全共享系统,其特征在于,包括DH密钥交互模块、用户关键信息隐匿交互模块、用户核心数据隐匿交互模块和用户核心数据安全共享模块;
DH密钥交互模块,用于通过系统机构间两两握手,实现机构间公钥信息的共享,私钥的两两隐私交互;
用户关键信息隐匿交互模块,用于基于DH公钥和DH私钥实现用户信息集的隐匿交互;
用户核心数据隐匿交互模块,用于数据资产机构B基于用户加密信息交集U查询核心数据元素,并将核心数据分割分享至主体机构A;
用户核心数据安全共享模块,用于主体机构A通过解密数据资产机构B传输的用户核心数据分割秘密集UBs,实现主体机构A与数据资产机构B之间信息的安全共享;
其中,DH密钥交互模块,用于主体机构A生成动态公钥,由主体机构A随机动态生成1个机构间的公钥信息,公钥满足256位字节要求,公钥信息动态变化,变化周期由随机数产生,假设主体机构A与数据资产机构B间的公钥信息为p;
DH密钥交互模块,还用于公钥信息交互,主体机构A分别与B机构进行握手,使得数据资产机构B获得与机构A之间的公钥信息,公钥信息在握手的两机构间共享;
DH密钥交互模块,还用于机构DH私钥生成,各个机构生成各自机构的DH私钥,该私钥随机生成,该私钥只有机构自身知道,其中A机构的私钥为a,满足ap;数据资产机构B的私钥为b,满足bp;
其中,用户关键信息隐匿交互模块具体如下:
主体机构A用户集信息确定,由主体机构确定用户关键信息集,将关键信息转化为数值,确定用户关键信息集合,假设该集合为X包含m个元素,形如X={x1,x2,......,xm}的集合;
数据资产机构B用户集信息确定,由数据资产机构确定用户关键信息集,关键信息如身份证号,将用户身份证信息转化为数值,确定用户关键信息集合,假设数据资产机构B的用户集为Y包含k个元素,形如Y={y1,y2,......,yk}的集合;
主体机构用户A关键数据双重加密,主体机构A将用户信息通过DH公钥和DH私钥进行双重加密,采用幂次方并求余的组合加密方式;主体机构A加密之后的用户关键信息集合形为Xa={x1a mod p,x2a mod p,......,xma mod p};
数据资产机构B用户关键数据双重加密,数据资产机构B用户信息集Y通过DH公钥和DH私钥进行双重加密,采用幂次方并求余的组合加密方式,主体机构B加密之后的用户关键信息集合形为Yb={y1b mod p,y2b mod p,......,ykb mod p};
主体机构用户A关键信息加密集Xa传输,主体机构A将加密好的用户关键信息集合Xa,传输至数据资产机构B;
数据资产机构B用户关键信息加密集Yb传输,数据资产机构B将加密好的用户关键信息集合Yb,传输至主体机构A;
数据资产机构B对主体机构A的信息集Xa再次加密,数据资产机构B对主体机构A的加密信息集xa进行DH加密,加密之后的集合为Xab={x1ab mod p,x2ab mod p,......,xmab modp};
数据资产机构B将用户信息加密集Xab传输至主体机构A;
主体机构A对数据资产机构B的信息集Yb再次加密,主体机构A对数据资产机构B的加密信息集Yb进行DH加密,加密之后的集合为Yba={y1ba mod p,y2ba mod p,......,ykba modp};
主体机构A确定和数据资产机构B间的共有用户集,主体机构A对加密之后的2个用户信息集进行比对碰撞,找出交集,由于幂方运算交换顺序之后,结果依旧相等,即xab mod p=xba mod p;同理,若加密之后的信息值相等,那么原始数据也一定相等,即如果y1ab mod p=x1ab mod p,则说明y1=x1;假设主体机构A与数据资产机构B的共有用户信息加密集为U包含t个元素,U={u1,u2,......,ut},U对应与主体机构A的元素为:
U={xi1ab mod p,xi2ab mod p,......,xitab mod p},其中i1,i1,...,it分别对应1,2,……,t中的元素;U对应与数据资产机构B的元素为:
U={yk1ba mod p,yk2ba mod p,......,yktba mod p},其中k1,k2,...,kt分为对应1,2,……,t中的元素;
主体机构A将共有用户信息加密集U传送至数据资产机构B;
用户核心数据隐匿交互模块具体如下:
共有用户加密交集U的核心数据映射集查询,数据资产机构B基于共有用户加密交集U,在核心数据库进行核心数据查询,并形成核心数据映射集,假设数据资产机构B拥有w个核心数据元素,分别命名为b1,b2,......,bw.共有用户加密交集U的核心数据映射集为UB=[{u1:B1},{u2:B2},......,{ut:Bt}],其中Bi表示主体机构A和数据资产机构B的共有用户ui在数据资产机构B对应的核心数据集,表示共有用户ui在数据资产机构B的第w项核心数据元素bw对应的具体值,i=1,2,......,t;
秘密分享技术核心数据分割,通过秘密分享算法将核心数据进行分割加密,共有用户加密交集U包含t个元素,设r<t,构造t个r阶多项式,fj(X)=Bj+M1jX+M2jX2+...MrjXr,其中j=1,2,......,t.;随机选择r个常量向量V1,V2,......,Vr,构造t个秘密集,假设其中j=1,2,......,t,每一个秘密集即为共有用户加密交集U中每个元素对应的秘密集;假设共有用户加密交集U对应的核心数据分割秘密集为UBs,则UBs=[{u1:S1},{u2:S2},......,{ut:St}];
用户核心数据隐匿交互,数据资产机构B将共有用户加密交集U对应的用户核心数据分割秘密集UBs传输至主体机构A;
用户核心数据安全共享模块具体如下:
用户核心数据隐匿解密,主体机构A将获取到的核心数据分割秘密集为UBs通过多项式插值方法,计算出每个用户信息对应的原始核心数据,即UB=[{u1:B1},{u2:B2},......,{ut:Bt}];
用户核心数据获取,主体机构A通过关联匹配UB和共有用户加密交集U={xi1ab mod p,xi2ab mod p,......,xitab mod p},还原主体机构A与数据资产机构B的共有用户核心数据集UBA=[{xi1:B1},{xi2:B2},.......,{xit:Bt}],其中i1,i1,......,it分别对应1,2,……,t中的元素。
2.一种基于多方安全计算的数据隐匿查询安全共享方法,其特征在于,包括以下步骤:
步骤1:通过系统机构间两两握手,实现机构间公钥信息的共享,私钥的两两隐私交互;
步骤2:基于DH公钥和DH私钥实现用户信息集的隐匿交互;
步骤3:数据资产机构B基于用户加密信息交集U查询核心数据元素,并将核心数据分割分享至主体机构A;
步骤4:主体机构A通过解密数据资产机构B传输的用户核心数据分割秘密集UBs,实现主体机构A与数据资产机构B之间信息的安全共享,
其中,步骤1的详细步骤如下:
步骤1.1:主体机构A生成动态公钥,由主体机构A随机动态生成1个机构间的公钥信息,公钥满足256位字节要求,公钥信息动态变化,变化周期由随机数产生,假设主体机构A与数据资产机构B间的公钥信息为p;
步骤1.2:公钥信息交互,主体机构A分别与B机构进行握手,使得数据资产机构B获得与机构A之间的公钥信息,公钥信息在握手的两机构间共享;
步骤1.3:机构DH私钥生成,各个机构生成各自机构的DH私钥,该私钥随机生成,该私钥只有机构自身知道,其中A机构的私钥为a,满足a<p;数据资产机构B的私钥为b,满足b<p;
步骤2的详细步骤如下:
步骤2.1:主体机构A用户集信息确定,由主体机构确定用户关键信息集,将关键信息转化为数值,确定用户关键信息集合,假设该集合为X包含m个元素,形如X={x1,x2,......,xm}的集合;
步骤2.2:数据资产机构B用户集信息确定,由数据资产机构确定用户关键信息集,关键信息如身份证号,将用户身份证信息转化为数值,确定用户关键信息集合,假设数据资产机构B的用户集为Y包含k个元素,形如Y={y1,y2,......,yk}的集合;
步骤2.3:主体机构用户A关键数据双重加密,主体机构A将用户信息通过DH公钥和DH私钥进行双重加密,采用幂次方并求余的组合加密方式;主体机构A加密之后的用户关键信息集合形为Xa={x1a mod p,x2a mod p,......,xma mod p};
步骤2.4:数据资产机构B用户关键数据双重加密,数据资产机构B用户信息集Y通过DH公钥和DH私钥进行双重加密,采用幂次方并求余的组合加密方式,主体机构B加密之后的用户关键信息集合形为Yb={y1b mod p,y2b mod p,......,ykb mod p};
步骤2.5:主体机构用户A关键信息加密集Xa传输,主体机构A将加密好的用户关键信息集合Xa,传输至数据资产机构B;
步骤2.6:数据资产机构B用户关键信息加密集Yb传输,数据资产机构B将加密好的用户关键信息集合Yb,传输至主体机构A;
步骤2.7:数据资产机构B对主体机构A的信息集Xa再次加密,数据资产机构B对主体机构A的加密信息集Xa进行DH加密,加密之后的集合为Xab={x1ab mod p,x2ab mod p,......,xmabmod p};
步骤2.8:数据资产机构B将用户信息加密集Xab传输至主体机构A;
步骤2.9:主体机构A对数据资产机构B的信息集Yb再次加密,主体机构A对数据资产机构B的加密信息集Yb进行DH加密,加密之后的集合为Yba={y1ba mod p,y2ba mod p,......,ykbamod p};
步骤2.10:主体机构A确定和数据资产机构B间的共有用户集,主体机构A对加密之后的2个用户信息集进行比对碰撞,找出交集,由于幂方运算交换顺序之后,结果依旧相等,即xabmod p=xba mod p;同理,若加密之后的信息值相等,那么原始数据也一定相等,即如果y1abmod p=x1ab mod p,则说明y1=x1;假设主体机构A与数据资产机构B的共有用户信息加密集为U包含t个元素,U={u1,u2,......,ut},U对应与主体机构A的元素为:
U={xi1ab mod p,xi2ab mod p,......,xitab mod p},其中i1,i1,...,it分别对应1,2,……,t中的元素;U对应与数据资产机构B的元素为:
U={yk1ba mod p,yk2ba mod p,......,yktba mod p},其中k1,k2,...,kt分为对应1,2,……,t中的元素;
步骤2.11:主体机构A将共有用户信息加密集U传送至数据资产机构B;
步骤3的详细步骤如下:
步骤3.1:共有用户加密交集U的核心数据映射集查询,数据资产机构B基于共有用户加密交集U,在核心数据库进行核心数据查询,并形成核心数据映射集,假设数据资产机构B拥有w个核心数据元素,分别命名为b1,b2,......,bw.共有用户加密交集U的核心数据映射集为UB=[{u1:B1},{u2:B2},.......,{ut:Bt}],其中Bi表示主体机构A和数据资产机构B的共有用户ui在数据资产机构B对应的核心数据集,表示共有用户ui在数据资产机构B的第w项核心数据元素bw对应的具体值,i=1,2,......,t;
步骤3.2:秘密分享技术核心数据分割,通过秘密分享算法将核心数据进行分割加密,共有用户加密交集U包含t个元素,设r<t,构造t个r阶多项式,fj(X)=Bj+M1jX+M2jX2+...MrjXr,其中j=1,2,......,t.;随机选择r个常量向量V1,V2,......,Vr,构造t个秘密集,假设其中j=1,2,......,t,每一个秘密集即为共有用户加密交集U中每个元素对应的秘密集;假设共有用户加密交集U对应的核心数据分割秘密集为UBs,则UBs=[{u1:S1},{u2:S2},......,{ut:St}];
步骤3.3:用户核心数据隐匿交互,数据资产机构B将共有用户加密交集U对应的用户核心数据分割秘密集UBs传输至主体机构A;
步骤4的详细步骤如下:
步骤4.1:用户核心数据隐匿解密,主体机构A将获取到的核心数据分割秘密集为UBs通过多项式插值方法,计算出每个用户信息对应的原始核心数据,即UB=[{u1:B1},{u2:B2},......,{ut:Bt}];
步骤4.2:用户核心数据获取,主体机构A通过关联匹配UB和共有用户加密交集U={xi1abmod p,xi2ab mod p,......,xitab mod p},还原主体机构A与数据资产机构B的共有用户核心数据集UBA=[{xi1:B1},{xi2:B2},......,{xit:Bt}],其中i1,i1,......,it分别对应1,2,……,t中的元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110036670.9/1.html,转载请声明来源钻瓜专利网。