CN115378693B - 一种用于纵向联邦学习数据对齐的隐匿集合求交方法 - Google Patents

一种用于纵向联邦学习数据对齐的隐匿集合求交方法 Download PDF

Info

Publication number
CN115378693B
CN115378693B CN202210995361.9A CN202210995361A CN115378693B CN 115378693 B CN115378693 B CN 115378693B CN 202210995361 A CN202210995361 A CN 202210995361A CN 115378693 B CN115378693 B CN 115378693B
Authority
CN
China
Prior art keywords
user
information
value
hash table
confusion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210995361.9A
Other languages
English (en)
Other versions
CN115378693A (zh
Inventor
马卓
杨昊
刘洋
李腾
张俊伟
杨易龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN202210995361.9A priority Critical patent/CN115378693B/zh
Publication of CN115378693A publication Critical patent/CN115378693A/zh
Application granted granted Critical
Publication of CN115378693B publication Critical patent/CN115378693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种用于纵向联邦学习数据对齐的隐匿集合求交方法,实现步骤为:两个用户初始化相应参数;两个用户分别将各自的用户信息和关键键值信息进行映射;两个用户对各自映射后的哈希表进行编码;两个用户对编码后结果进行混淆和共享;两个用户交换混淆信息共享值,计算得到隐匿集合求交结果。本发明在用户对编码结果进行混淆阶段,是通过不经意混淆网络协议和随机选取的重排列规则对两用户的编码数据进行混淆,避免了现有技术由于仅对发送方数据进行了随机置换导致的接收方可以通过计算得知的求交结果的明文信息反推出其他参与方样本的关键键值信息和相关数据的缺陷,有效提高了数据求交过程中的数据隐私安全性。

Description

一种用于纵向联邦学习数据对齐的隐匿集合求交方法
技术领域
本发明属于联邦学习技术领域,涉及一种隐匿集合求交方法,具体涉及一种用于纵向联邦学习数据对齐的隐匿集合求交方法,可用于纵向联邦学习中对不同数据集间的数据对齐并避免了数据泄露。
背景技术
随着人工智能和大数据科学的发展,机器学习技术在各类应用场景中迅速发展,并取得了显著成效,但如今传统基于单一企业的数据模型逐渐难以满足需求,需要进行跨机构间数据协作来构建更加准确的模型,然而由于数据安全、隐私保护等监管要求日趋严厉,加剧了机构间数据合作的难度,“数据孤岛”问题普遍存在,基于此联邦学习技术被提出,以“数据可用不可见”的方式安全地构建跨行业数据共享,打通了企业间的数据孤岛,众多企业和研究机构利用该技术解决多方跨域机器学习相关业务的数据隐私问题。根据参与方数据分布的不同,联邦学习分为横向联邦学习和纵向联邦学习,纵向联邦学习本质是特征的联合,适用于各参与机构间用户重叠多,特征重叠少的场景,以一种隐私保护的方式计算训练损失和梯度,将不同的特征聚合在一起。纵向联邦学习在执行模型训练前要对数据进行预处理,各参与方持有的数据可能来自不同的样本空间,需要根据所选关键键值信息完成数据的对齐。
数据对齐是纵向联邦学习的数据预处理过程,各参与方依据所选关键键值信息实现样本的求交,并保护各自非交集数据的隐私,当前纵向联邦学习中数据安全对齐的实现借助隐匿集合求交方法PSI来完成,通过PSI参与方可以得到所有数据集合的交集数据,而无法获知或反推其他参与方的非交集部分数据,但在现有实现中,参与方可以得到交集数据的明文信息,进而可以反推得到其他参与方样本的关键键值信息和相关数据,其中可能包括用户身份证号、手机号等非常重要的个人隐私信息,需要加以防范。
例如神州融安数字科技(北京)有限公司在其拥有的专利技术“具有交集计数的PSI获取交集信息的方法及装置”(专利申请号CN202111493660.4,申请公告号CN114374518A)中,公开了一种重构的基于DH的隐匿集合求交方法,该发明发送方用自己的私钥将自己的数据集合SA加密,并将加密后的数据集合SA发送给接收方,接收方用自己的私钥对发送方第一次加密的数据集合SA、自己的数据集合SB执行加密,并对二次加密的发送方数据集合SA进行随机置换,最后将乱序的二次加密发送方数据集合SA和一次加密的接收方数据集合SB传回给发送方,发送方用自己的私钥对第一次加密的接收方数据集合SB执行加密,然后计算二次加密的接收方数据集合SB与乱序的二次加密的发送方数据集合SA之间的交集,得到交集个数,接收方通过交集信息可以得到其明文信息,实现发送方统计交集数量和接收方得到正确交集的功能。该发明在协议流程中接收方可以获取两方集合的交集信息,但不能获得交集之外发送方的其他集合元素,发送方可以获得交集的个数,也不能获得其他信息,在一定程度上保护了用户的隐私信息,但是,该方法由于仅对发送方数据进行了随机置换,接收方可以通过计算得知的求交结果的明文信息反推出其他参与方样本的关键键值信息和相关数据,仍然会导致参与方交集数据泄漏,此外,在计算过程中多次涉及加密和乱序计算,使得用户计算负担大,运行效率低。
发明内容
本发明的目的是克服现有技术中的不足,提出一种用于纵向联邦学习数据对齐的隐匿集合求交方法,旨在解决现有技术中存在的用户隐私信息泄露的技术问题。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)初始化参数:
初始化包括来自不同类型机构的两个参与方用户A和用户B的纵向联邦学习系统,用户A参与求交的用户信息为X0={X01,X02,...,X0n,...,X0N},X0对应的关键键值信息为D0={D01,D02,...,D0n,...,D0N},用户B参与求交的用户信息为X1={X11,X12,...,X1n,...,X1N},X1对应的关键键值信息为D1={D11,D12,...,D1n,...,D1N},用户A待映射的布谷鸟哈希表S0和用户B待映射的简单哈希表S1均包括M个分箱,用户A构建布谷鸟哈希表S0和用户B构建简单哈希表S1所用的哈希函数为F={f1,f2,...,fk,...,fK},其中,X0n表示A的第n个用户信息,D0n表示X0n对应的关键键值信息,X1n表示B的第n个用户信息,D1n表示X1n对应的关键键值信息,N表示用户A、用户B参与求交的用户信息的总数,N≥1,M=εN,ε表示超参数,ε≥1,fk表示第k个哈希函数,K表示哈希函数的总数,1≤K≤M;
(2)两个用户分别对各自的用户信息和关键键值信息进行映射:
用户A采用布谷鸟哈希表映射函数FC将第n个用户信息X0n及其对应的关键键值信息D0n映射至布谷鸟哈希表S0中的一个分箱中,得到X0n所在分箱映射值为D0,n||X0,n、其余M-N个分箱为空的布谷鸟哈希表S′0;用户B采用简单哈希表映射函数FS将第n个用户信息X1n及其对应的关键键值信息D1n映射至简单哈希表S1中的K个分箱中,得到X1n所在第fk(D1,n||X1,n)个分箱的值为D1,n||X1,n的简单哈希表S′1
(3)两个用户对哈希表S′0、S′1进行编码:
(3a)用户A生成伪随机函数的密钥kA,用户B生成伪随机函数的密钥kB
(3b)用户A和用户B按照不经意伪随机函数协议FOPRF,并通过kB对布谷鸟哈希表S′0进行编码,得到用户A的编码后的布谷鸟哈希表
(3c)用户A对编码后的布谷鸟哈希表中的每个空分箱进行随机填充,并对随机填充得到的包含N个映射值和M-N个填充有随机值的布谷鸟哈希表复制log N-1次,然后通过kA对由随机填充后的布谷鸟哈希表及其M log N个复制结果组成的布谷鸟哈希表S″0使用伪随机函数进行编码,得到包含用户信息X0和关键键值信息D″′0的用户A布谷鸟哈希表S′0的编码结果/>
(3d)用户B对S′1的M个分箱进行随机填充,得到由M个包含log N个元素的分箱组成的简单哈希表,并使用伪随机函数,通过伪随机函数密钥kB对该简单哈希表进行编码,得到用户B的编码后由M log N个元素组成的简单哈希表S″1
(3e)用户A和用户B按照不经意伪随机函数协议FOPRF,并通过kA对向量S″1进行编码,得到包含用户信息X1和关键键值信息D″′1的用户B简单哈希表S′1的编码结果
(4)两个用户对编码结果S″′0、S″′1进行混淆:
(4a)用户A对编码结果S″′0中的用户信息X0进行加性秘密共享,得到用户A、用户B的X0的信息共享值<X0>A、<X0>B,用户B对编码结果S″′1中的用户信息X1进行加性秘密共享,得到用户A、用户B的X1信息共享值<X1>A、<X1>B
(4b)用户A计算用户信息共享值<X>A=<X0>A+<X1>A并将S″′0中的关键键值信息D″′0与<X>A进行拼接,得到拼接结果D″′0||<X>A,用户B计算用户信息共享值<X>B=<X0>B+<X1>B并将S″′1中的关键键值信息D″′1与<X>B进行拼接,得到拼接结果D″′1||<X>B
(4c)用户A将随机选择的重排列规则ωA,用户B将D1″′||<X>B作为混淆网络的输入,按照不经意混淆网络协议FO-Shuffle,并通过重排列规则ωA对拼接结果D1″′||<X>B进行混淆,得到D1″′的混淆值ωA(D1″′)和<X>B的混淆值ωA(<X>B),然后对ωA(D1″′)和ωA(<X>B)进行加性秘密共享,得到用户A、用户B的混淆结果共享值<ωA(D1″′)>A||<ωA(<X>B)>A、<ωA(D1″′)>B||<ωA(<X>B)>B
(4d)用户A使用ωA对D0″′、<X>A分别进行混淆,得到混淆关键键值信息ωA(D0″′)和混淆用户信息共享值ωA(<X>A),并计算<ωA(D1″′)>A||<ωA(<X>B)>A的关键键值信息共享值<ωA(D1″′)>A与混淆关键键值信息ωA(D0″′)的差值α=<ωA(D1″′)>AA(D0″′),以及<ωA(D1″′)>A||<ωA(<X>B)>A的混淆用户信息共享值<ωA(<X>B)>A与混淆加性秘密共享值ωA(<X>A)的和值β=<ωA(<X>B)>AA(<X>A);
(4e)用户A将α和β的拼接结果α||β,用户B将随机选择的重排列规则ωB作为混淆网络的输入,按照不经意混淆网络协议FO-Shuifffle,并通过ωB对α||β进行混淆,得到α的混淆值ωB(α)和β的混淆值ωB(β),然后对ωB(α)和ωB(β)进行加性秘密共享,得到用户A、用户B的混淆结果共享值<ωB(α)>A||<ωB(β)>A、<ωB(α)>B||<ωB(β)>B,再将<ωB(α)>A、<ωB(β)>A作为用户A的保留比特串共享值<res>A、混淆用户信息共享值<X′>A
(4f)用户B使用ωB对混淆结果共享值<ωA(D1″′)>B||<ωA(<X>B)>B中的<ωA(D1″′)>B、<ωA(<X>B)>B分别进行混淆,得到混淆关键键值信息ωB(<ωA(D1″′)>B)和混淆用户信息共享值ωB(<ωA(<X>B)>B),并将<ωB(α)>BB(<ωA(D1″′)>B)、<ωB(β)>BB(<ωA(<X>B)>B)作为用户B的保留比特串共享值<res>B、混淆用户信息共享值<X′>B
(5)用户获取隐匿集合求交结果:
(5a)初始化保留比特串res的项数为t,最大项数为T=M log N,并令t=1;
(5b)用户A和用户B通过加性秘密共享交换共享值<res>A和<res>B,计算项数为T的保留比特串res=<res>A+<res>B
(5c)用户A和用户B判断res中第t项比特位的数值是否为0,若是,则用户A保留<X′>A中第t项位置的数据,用户B保留<X′>B中第t项位置的数据,否则,用户A删除<X′>A中第t项位置的数据,用户B删除<X′>B中第t项位置的数据;
(5d)用户A和用户B判断t=T是否成立,若是,用户A返回删除冗余信息后的混淆用户信息共享值<X″>A至用户B,用户B返回删除冗余信息后的混淆用户信息共享值<X″>B至用户A,用户A和用户B计算<X″>A与<X″>B的交集信息X″=<X″>A+<X″>B,否则,令t=t+1,并执行步骤(5c)。
本发明与现有技术相比,具有以下优点:
第一,本发明在用户对编码结果进行混淆阶段,是通过不经意混淆网络协议和随机选取的重排列规则对两用户的编码数据进行混淆,避免了现有技术由于仅对发送方数据进行了随机置换,即随机混淆导致的接收方可以通过计算得知的求交结果的明文信息反推出其他参与方样本的关键键值信息和相关数据的缺陷,有效提高了数据求交过程中的数据隐私安全性。
第二,本发明在用户对映射数据进行编码阶段,是通过不经意伪随机函数协议对映射哈希表进行编码,仅涉及少量的哈希编码计算,避免了现有技术由于对数据编码时使用大量公私钥加解密计算而产生的损耗问题,有效减轻了用户的计算负担,提高了集合求交过程的计算效率。
附图说明
图1是本发明的实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详细描述。
参照附图1,本发明包括如下步骤:
步骤1)初始化参数:
初始化包括来自不同类型机构的两个参与方用户A和用户B的纵向联邦学习系统,用户A参与求交的用户信息为X0={X01,X02,...,X0n,...,X0N},X0对应的关键键值信息为D0={D01,D02,...,D0n,...,D0N},用户B参与求交的用户信息为X1={X11,X12,...,X1n,...,X1N},X1对应的关键键值信息为D1={D11,D12,...,D1n,...,D1N},用户A待映射的布谷鸟哈希表S0和用户B待映射的简单哈希表S1均包括M个分箱,用户A构建布谷鸟哈希表S0和用户B构建简单哈希表S1所用的哈希函数为F={f1,f2,...,fk,...,fK},其中,X0n表示A的第n个用户信息,D0n表示X0n对应的关键键值信息,X1n表示B的第n个用户信息,D1n表示X1n对应的关键键值信息,N表示用户A、用户B参与求交的用户信息的总数,N≥1,M=εN,ε表示超参数,ε≥1,fk表示第k个哈希函数,K表示哈希函数的总数,1≤K≤M;
本实施例中,ε取2.4,用户构建布谷鸟哈希表和简单哈希表的哈希函数f(·),其表达式为:
f(·):{0,1}l→[M]
其中,{0,1}l表示长度为l的比特串,→表示生成操作;
步骤2)两个用户分别对各自的用户信息和关键键值信息进行映射:
用户A采用布谷鸟哈希表映射函数FC将第n个用户信息X0n及其对应的关键键值信息D0n映射至布谷鸟哈希表S0中的一个分箱中,得到X0n所在分箱映射值为D0,n||X0,n、其余M-N个分箱为空的布谷鸟哈希表S0';用户B采用简单哈希表映射函数FS将第n个用户信息X1n及其对应的关键键值信息D1n映射至简单哈希表S1中的K个分箱中,得到X1n所在第fk(D1,n||X1,n)个分箱的值为D1,n||X1,n的简单哈希表S1';
本实施例中,布谷鸟哈希表为解决哈希冲突的问题而提出,利用较少计算换取了较大空间,每个存储分箱中只有一个元素,具有占用空间小、查询迅速等特性。简单哈希表将元素进行映射时,则不考虑其存储位置是否已经存在元素,一个分箱内可能有多个元素存在,将元素映射至哈希表中,减小数据之间的比较次数;布谷鸟哈希表S0',以及简单哈希表S1',其获取步骤为:
布谷鸟哈希表S0'的获取步骤为:用户A计算数据元素D0,n||X0,n的K个哈希值{f1(D0,n||X0,n),f2(D0,n||X0,n),...,fk(D0,n||X0,n),...,fK(D0,n||X0,n)},并判断从该K个哈希值随机选取的一个哈希值所在的分箱是否为空,若是,将D0,n||X0,n存储到该分箱中,否则,按照D0,n||X0,n计算哈希值以及判断方法对分箱中原有的数据进行处理,并将D0,n||X0,n存储到该分箱中,得到X0n所在分箱映射值为D0,n||X0,n、其余M-N个分箱为空的布谷鸟哈希表S0';
简单哈希表S1'的获取步骤为:用户B计算D1,n||X1,n的K个哈希值{f1(D1,n||X1,n),f2(D1,n||X1,n),...,fk(D1,n||X1,n),...,fK(D1,n||X1,n)},对于k个哈希函数值fk(D1,n||X1,n),将D1,n||X1,n存储到简单哈希表的第fk(D1,n||X1,n)个分箱,得到X1n所在第fk(D1,n||X1,n)个分箱的值为D1,n||X1,n的简单哈希表S1';
步骤3)两个用户对哈希表S0'、S1'进行编码:
本实施例中,两个用户通过不经意伪随机函数协议FOPRF和伪随机数生成器生成的密钥对映射数据后的哈希表进行编码,完成哈希表S0'、S1'的编码过程;
步骤3a)用户A生成伪随机函数的密钥kA,用户B生成伪随机函数的密钥kB
本实例中,用户A生成伪随机函数的密钥kA,用户B生成伪随机函数的密钥kB,其生成方法为:用户A、用户B分别采用伪随机数生成器,并将伪随机数生成器生成的数字序列kA、kB作为用户A的伪随机函数的密钥、用户B的伪随机函数的密钥;
步骤3b)用户A和用户B按照不经意伪随机函数协议FOPRF,并通过kB对布谷鸟哈希表S0'进行编码,得到用户A的编码后的布谷鸟哈希表FkB(S0');
本实施例中,用户使用不经意伪随机函数协议和伪随机函数密钥对映射哈希表进行编码,仅有少量的哈希编码计算,避免了大量运算,保证其运行效率优于其他计算协议,减轻隐匿集合求交过程的计算负担;
用于对布谷鸟哈希表S0'进行编码的伪随机函数其表达式为:
其中,表示kB的比特串,/>表示S'0的比特串,→表示生成操作,⊥表示无效符号,{0,1}σ表示生成比特串;
步骤3c)用户A对编码后的布谷鸟哈希表中的每个空分箱进行随机填充,并对随机填充得到的包含N个映射值和M-N个填充有随机值的布谷鸟哈希表复制log N-1次,然后通过kA对由随机填充后的布谷鸟哈希表及其M log N个复制结果组成的布谷鸟哈希表S0”使用伪随机函数进行编码,得到包含用户信息X0和关键键值信息D0”'的用户A布谷鸟哈希表S0'的编码结果/>
步骤3d)用户B对S1'的M个分箱进行随机填充,得到由M个包含log N个元素的分箱组成的简单哈希表,并使用伪随机函数,通过伪随机函数密钥kB对该简单哈希表进行编码,得到用户B的编码后由M log N个元素组成的简单哈希表S1”;
本实施例中,步骤(3c)和(3d)中对布谷鸟哈希表和简单哈希表进行填充复制,得到包含M log N个元素的布谷鸟哈希表和简单哈希表,进行之后的计算;
步骤3e)用户A和用户B按照不经意伪随机函数协议FOPRF,并通过kA对向量S1″进行编码,得到包含用户信息X1和关键键值信息D1″的用户B简单哈希表S1′的编码结果
步骤4)两个用户对编码结果S0″′、S1″′进行混淆:
本实施例中,为避免用户通过编码数据的顺序获取数据信息,此步骤对(3)中所得编码结果S0″′、S1″′进行混淆,得到混淆后的编码数据,并通过加性秘密共享将信息共享给用户,确保用户无法从顺序中获取编码信息;
步骤4a)用户A对编码结果S0″′中的用户信息X0进行加性秘密共享,得到用户A、用户B的X0的信息共享值<X0>A、<X0>B,用户B对编码结果S1″′中的用户信息X1进行加性秘密共享,得到用户A、用户B的X1信息共享值<X1>A、<X1>B
步骤4b)用户A计算用户信息共享值<X>A=<X0>A+<X1>A并将S0″′中的关键键值信息D0″′与<X>A进行拼接,得到拼接结果D0″′||<X>A,用户B计算用户信息共享值<X>B=<X0>B+<X1>B并将S1″′中的关键键值信息D1″′与<X>B进行拼接,得到拼接结果D1″′||<X>B
步骤4c)用户A将随机选择的重排列规则ωA,用户B将D1″′||<X>B作为混淆网络的输入,按照不经意混淆网络协议FO-Shuffle,并通过重排列规则ωA对拼接结果D1″′||<X>B进行混淆,得到D1″′的混淆值ωA(D1″′)和<X>B的混淆值ωA(<X>B),然后对ωA(D1″′)和ωA(<X>B)进行加性秘密共享,得到用户A、用户B的混淆结果共享值<ωA(D1″′)>A||<ωA(<X>B)>A、<ωA(D1″′)>B||<ωA(<X>B)>B
本实施例中,采用不经意混淆网络协议FO-Shuffle和随机选取的重排列规则ωA来对数据进行混淆,完成对数据的随机重排列,确保用户无法从结果中得知数据顺序信息;
通过重排列规则ωA对拼接结果D1″′||<X>B进行混淆,实现步骤为:用户A和用户B通过A随机选择的重排列规则ωA={ωA1,ωA2,...,ωAn,...,ωAN},对拼接结果D1″′||<X>B中包含的D1″′={D11″′,D12″′,...,D1n″′,...,D1N″′},以及<X>B={<X>B1,<X>B2,...,<X>Bn,...,<X>BN}中的每一项进行重排列,实现对D1″′||<X>B的混淆,得到D1″′的混淆值和<X>B的混淆值其中,ωAn表示ωA的第n个数据值,D1n″′表示D1″′的第n个数据,<X>Bn表示<X>B的第n个数据,/>表示D1″′的第ωAn个数据,/>表示<X>B的第ωAn个数据;
步骤4d)用户A使用ωA对D0″′、<X>A分别进行混淆,得到混淆关键键值信息ωA(D0″′)和混淆用户信息共享值ωA(<X>A),并计算<ωA(D1″′)>A||<ωA(<X>B)>A的关键键值信息共享值<ωA(D1″′)>A与混淆关键键值信息ωA(D0″′)的差值α=<ωA(D1″′)>AA(D0″′),以及<ωA(D1″′)>A||<ωA(<X>B)>A的混淆用户信息共享值<ωA(<X>B)>A与混淆加性秘密共享值ωA(<X>A)的和值β=<ωA(<X>B)>AA(<X>A);
步骤4e)用户A将α和β的拼接结果α||β,用户B将随机选择的重排列规则ωB作为混淆网络的输入,按照不经意混淆网络协议FO-Shuffle,并通过ωB对α||β进行混淆,得到α的混淆值ωB(α)和β的混淆值ωB(β),然后对ωB(α)和ωB(β)进行加性秘密共享,得到用户A、用户B的混淆结果共享值<ωB(α)>A||<ωB(β)>A、<ωB(α)>B||<ωB(β)>B,再将<ωB(α)>A、<ωB(β)>A作为用户A的保留比特串共享值<res>A、混淆用户信息共享值<X′>A
步骤4f)用户B使用ωB对混淆结果共享值<ωA(D1″′)>B||<ωA(<X>B)>B中的<ωA(D1″′)>B、<ωA(<X>B)>B分别进行混淆,得到混淆关键键值信息ωB(<ωA(D1″′)>B)和混淆用户信息共享值ωB(<ωA(<X>B)>B),并将<ωB(α)>BB(<ωA(D1″′)>B)、<ωB(β)>BB(<ωA(<X>B)>B)作为用户B的保留比特串共享值<res>B、混淆用户信息共享值<X′>B
步骤5)用户获取隐匿集合求交结果:
本实施例中,得到混淆数据信息后,两个用户使用保留比特串res的判断方式删除冗余数据信息,获取隐匿集合求交结果,此步骤是在数据经过编码混淆的形式下进行的,用户最终获取的求交结果也是编码混淆后的,确保数据隐私安全;
步骤5a)初始化保留比特串res的项数为t,最大项数为T=M log N,并令t=1;
步骤5b)用户A和用户B通过加性秘密共享交换共享值<res>A和<res>B,计算项数为T的保留比特串res=<res>A+<res>B
步骤5c)用户A和用户B判断res中第t项比特位的数值是否为0,若是,则用户A保留<X′>A中第t项位置的数据,用户B保留<X′>B中第t项位置的数据,否则,用户A删除<X′>A中第t项位置的数据,用户B删除<X′>B中第t项位置的数据;
步骤5d)用户A和用户B判断t=T是否成立,若是,用户A返回删除冗余信息后的混淆用户信息共享值<X″>A至用户B,用户B返回删除冗余信息后的混淆用户信息共享值<X″>B至用户A,用户A和用户B计算<X″>A与<X″>B的交集信息X″=<X″>A+<X″>B,否则,令t=t+1,并执行步骤5c)。

Claims (6)

1.一种用于纵向联邦学习数据对齐的隐匿集合求交方法,其特征在于,包括如下步骤:
(1)初始化参数:
初始化包括来自不同类型机构的两个参与方用户A和用户B的纵向联邦学习系统,用户A参与求交的用户信息为X0={X01,X02,...,X0n,...,X0N},X0对应的关键键值信息为D0={D01,D02,...,D0n,...,D0N},用户B参与求交的用户信息为X1={X11,X12,...,X1n,...,X1N},X1对应的关键键值信息为D1={D11,D12,...,D1n,...,D1N},用户A待映射的布谷鸟哈希表S0和用户B待映射的简单哈希表S1均包括M个分箱,用户A构建布谷鸟哈希表S0和用户B构建简单哈希表S1所用的哈希函数为F={f1,f2,...,fk,...,fK},其中,X0n表示A的第n个用户信息,D0n表示X0n对应的关键键值信息,X1n表示B的第n个用户信息,D1n表示X1n对应的关键键值信息,N表示用户A、用户B参与求交的用户信息的总数,N≥1,M=εN,ε表示超参数,ε≥1,fk表示第k个哈希函数,K表示哈希函数的总数,1≤K≤M;
(2)两个用户分别对各自的用户信息和关键键值信息进行映射:
用户A采用布谷鸟哈希表映射函数FC将第n个用户信息X0n及其对应的关键键值信息D0n映射至布谷鸟哈希表S0中的一个分箱中,得到X0n所在分箱映射值为D0,n||X0,n、其余M-N个分箱为空的布谷鸟哈希表S′0;用户B采用简单哈希表映射函数FS将第n个用户信息X1n及其对应的关键键值信息D1n映射至简单哈希表S1中的K个分箱中,得到X1n所在第fk(D1,n||X1,n)个分箱的值为D1,n||X1,n的简单哈希表S′1
(3)两个用户对哈希表S′0、S′1进行编码:
(3a)用户A生成伪随机函数的密钥kA,用户B生成伪随机函数的密钥kB
(3b)用户A和用户B按照不经意伪随机函数协议FOPRF,并通过kB对布谷鸟哈希表S′0进行编码,得到用户A的编码后的布谷鸟哈希表
(3c)用户A对编码后的布谷鸟哈希表中的每个空分箱进行随机填充,并对随机填充得到的包含N个映射值和M-N个填充有随机值的布谷鸟哈希表复制logN-1次,然后通过kA对由随机填充后的布谷鸟哈希表及其MlogN个复制结果组成的布谷鸟哈希表S″0使用伪随机函数进行编码,得到包含用户信息X0和关键键值信息D″′0的用户A布谷鸟哈希表S′0的编码结果/>
(3d)用户B对S′1的M个分箱进行随机填充,得到由M个包含log N个元素的分箱组成的简单哈希表,并使用伪随机函数,通过伪随机函数密钥kB对该简单哈希表进行编码,得到用户B的编码后由MlogN个元素组成的简单哈希表S″1
(3e)用户A和用户B按照不经意伪随机函数协议FOPRF,并通过kA对向量S″1进行编码,得到包含用户信息X1和关键键值信息D″′1的用户B简单哈希表S′i的编码结果
(4)两个用户对编码结果S″′0、S″′1进行混淆:
(4a)用户A对编码结果S″′0中的用户信息X0进行加性秘密共享,得到用户A、用户B的X0的信息共享值<X0>A、<X0>B,用户B对编码结果S″′1中的用户信息X1进行加性秘密共享,得到用户A、用户B的X1信息共享值<X1>A、<X1>B
(4b)用户A计算用户信息共享值<X>A=<X0>A+<X1>A并将S″′0中的关键键值信息D″′0与<X>A进行拼接,得到拼接结果D″′0||<X>A,用户B计算用户信息共享值<X>B=<X0>B+<X1>B并将S″′1中的关键键值信息D″′1与<X>B进行拼接,得到拼接结果D″′1||<X>B
(4c)用户A将随机选择的重排列规则ωA,用户B将D″′1||<X>B作为混淆网络的输入,按照不经意混淆网络协议FO-Shuffle,并通过重排列规则ωA对拼接结果D″′1||<X>B进行混淆,得到D″′1的混淆值ωA(D″′1)和<X>B的混淆值ωA(<X>B),然后对ωA(D″′1)和ωA(<X>B)进行加性秘密共享,得到用户A、用户B的混淆结果共享值<ωA(D″′1)>A||<ωA(<X>B)>A、<ωA(D″′1)>B||<ωA(<X>B)>B
(4d)用户A使用ωA对D″′0、<X>A分别进行混淆,得到混淆关键键值信息ωA(D″′0)和混淆用户信息共享值ωA(<X>A),并计算<ωA(D″′1)>A||<ωA(<X>B)>A的关键键值信息共享值<ωA(D″′1)>A与混淆关键键值信息ωA(D″′0)的差值α=<ωA(D″′1)>AA(D″′0),以及<ωA(D″′1)>A||<ωA(<X>B)>A的混淆用户信息共享值<ωA(<X>B)>A与混淆加性秘密共享值ωA(<X>A)的和值β=<ωA(<X>B)>AA(<X>A);
(4e)用户A将α和β的拼接结果α||β,用户B将随机选择的重排列规则ωB作为混淆网络的输入,按照不经意混淆网络协议FO-Shuffle,并通过ωB对α||β进行混淆,得到α的混淆值ωB(α)和β的混淆值ωB(β),然后对ωB(α)和ωB(β)进行加性秘密共享,得到用户A、用户B的混淆结果共享值<ωB(α)>A||<ωB(β)>A、<ωB(α)>B||<ωB(β)>B,再将<ωB(α)>A、<ωB(β)>A作为用户A的保留比特串共享值<res>A、混淆用户信息共享值<X′>A
(4f)用户B使用ωB对混淆结果共享值<ωA(D″′1)>B||<ωA(<X>B)>B中的<ωA(D″′1)>B、<ωA(<X>B)>B分别进行混淆,得到混淆关键键值信息ωB(<ωA(D″′1)>B)和混淆用户信息共享值ωB(<ωA(<X>B)>B),并将<ωB(α)>BB(<ωA(D″′1)>B)、<ωB(β)>BB(<ωA(<X>B)>B)作为用户B的保留比特串共享值<res>B、混淆用户信息共享值<X′>B
(5)用户获取隐匿集合求交结果:
(5a)初始化保留比特串res的项数为t,最大项数为T=M log N,并令t=1;
(5b)用户A和用户B通过加性秘密共享交换共享值<res>A和<res>B,计算项数为T的保留比特串res=<res>A+<res>B
(5c)用户A和用户B判断res中第t项比特位的数值是否为0,若是,则用户A保留<X′>A中第t项位置的数据,用户B保留<X′>B中第t项位置的数据,否则,用户A删除<X′>A中第t项位置的数据,用户B删除<X′>B中第t项位置的数据;
(5d)用户A和用户B判断t=T是否成立,若是,用户A返回删除冗余信息后的混淆用户信息共享值<X″>A至用户B,用户B返回删除冗余信息后的混淆用户信息共享值<X″>B至用户A,用户A和用户B计算<X″>A与<X″>B的交集信息X″=<X″>A+<X″>B,否则,令t=t+1,并执行步骤(5c)。
2.根据权利要求1所述的一种用于纵向联邦学习数据对齐的隐匿集合求交方法,其特征在于,步骤(1)中所述的用户构建布谷鸟哈希表和简单哈希表的哈希函数f(·),其表达式为:
f(·):{0,1}l→[M]
其中,{0,1}l表示长度为l的比特串,→表示生成操作。
3.根据权利要求1所述的一种用于纵向联邦学习数据对齐的隐匿集合求交方法,其特征在于,步骤(2)中所述的布谷鸟哈希表S′0,以及简单哈希表S′1,其获取步骤为:
布谷鸟哈希表S′0的获取步骤为:用户A计算数据元素D0,n||X0,n的K个哈希值{f1(D0,n||X0,n),f2(D0,n||X0,n),...,fk(D0,n||X0,n),...,fK(D0,n||X0,n)},并判断从该K个哈希值随机选取的一个哈希值所在的分箱是否为空,若是,将D0,n||X0,n存储到该分箱中,否则,按照D0,n||X0,n计算哈希值以及判断方法对分箱中原有的数据进行处理,并将D0,n||X0,n存储到该分箱中,得到X0n所在分箱映射值为D0,n||X0,n、其余M-N个分箱为空的布谷鸟哈希表S′0
简单哈希表S′1的获取步骤为:用户B计算D1,n||X1,n的K个哈希值{f1(D1,n||X1,n),f2(D1,n||X1,n),...,fk(D1,n||X1,n),...,fK(D1,n||X1,n)},对于k个哈希函数值fk(D1,n||X1,n),将D1,n||X1,n存储到简单哈希表的第fk(D1,n||X1,n)个分箱,得到X1n所在第fk(D1,n||X1,n)个分箱的值为D1,n||X1,n的简单哈希表S′1
4.根据权利要求1所述的一种用于纵向联邦学习数据对齐的隐匿集合求交方法,其特征在于,步骤(3a)中所述的用户A生成伪随机函数的密钥kA,用户B生成伪随机函数的密钥kB,其生成方法为:用户A、用户B分别采用伪随机数生成器,并将伪随机数生成器生成的数字序列kA、kB作为用户A的伪随机函数的密钥、用户B的伪随机函数的密钥。
5.根据权利要求1所述的一种用于纵向联邦学习数据对齐的隐匿集合求交方法,其特征在于,步骤(3b)中所述的用于对布谷鸟哈希表S′0进行编码的伪随机函数其表达式为:
其中,表示kB的比特串,/>表示S′0的比特串,→表示生成操作,⊥表示无效符号,{0,1}σ表示生成比特串。
6.根据权利要求1所述的一种用于纵向联邦学习数据对齐的隐匿集合求交方法,其特征在于,步骤(4c)中所述的通过重排列规则ωA对拼接结果D″′1||<X>B进行混淆,实现步骤为:用户A和用户B通过A随机选择的重排列规则ωA={ωA1,ωA2,...,ωAn,...,ωAN},对拼接结果D″′1||<X>B中包含的D″′1={D″′11,D″′12,...,D″′1n,...,D″′1N},以及<X>B={<X>B1,<X>B2,...,<X>Bn,...,<X>BN}中的每一项进行重排列,实现对D″′1||<X>B的混淆,得到D″′1的混淆值和<X>B的混淆值其中,ωAn表示ωA的第n个数据值,D″′1n表示D″′1的第n个数据,<X>Bn表示<X>B的第n个数据,/>表示D″′1的第ωAn个数据,/>表示<X>B的第ωAn个数据。
CN202210995361.9A 2022-08-18 2022-08-18 一种用于纵向联邦学习数据对齐的隐匿集合求交方法 Active CN115378693B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210995361.9A CN115378693B (zh) 2022-08-18 2022-08-18 一种用于纵向联邦学习数据对齐的隐匿集合求交方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210995361.9A CN115378693B (zh) 2022-08-18 2022-08-18 一种用于纵向联邦学习数据对齐的隐匿集合求交方法

Publications (2)

Publication Number Publication Date
CN115378693A CN115378693A (zh) 2022-11-22
CN115378693B true CN115378693B (zh) 2024-02-23

Family

ID=84065173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210995361.9A Active CN115378693B (zh) 2022-08-18 2022-08-18 一种用于纵向联邦学习数据对齐的隐匿集合求交方法

Country Status (1)

Country Link
CN (1) CN115378693B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115544579B (zh) * 2022-11-24 2023-03-28 北京融数联智科技有限公司 一种双随机数据混淆查询方法、装置和系统
CN115765969B (zh) * 2023-01-10 2023-06-09 蓝象智联(杭州)科技有限公司 一种基于同态加密的隐匿集合求交方法、装置及存储介质
CN116319111B (zh) * 2023-05-24 2023-08-01 北京中超伟业信息安全技术股份有限公司 一种基于进化算法的数据链式传输方法及系统
CN116401693B (zh) * 2023-06-09 2023-07-28 北京融数联智科技有限公司 一种具有隐私保护的数据库的一对多等值连接方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259443A (zh) * 2020-01-16 2020-06-09 百融云创科技股份有限公司 一种基于psi技术保护联邦学习预测阶段隐私的方法
CN112085159A (zh) * 2020-07-24 2020-12-15 西安电子科技大学 一种用户标签数据预测系统、方法、装置及电子设备
CN113761563A (zh) * 2021-11-05 2021-12-07 深圳致星科技有限公司 数据交集计算方法、装置及电子设备
CN113868693A (zh) * 2021-07-27 2021-12-31 朱玮 一种在反洗钱中对数据进行隐私保护的查询方法及系统
CN113961961A (zh) * 2021-10-11 2022-01-21 百保(上海)科技有限公司 一种基于scalable-ot的隐私集合求交方法及装置
CN114648130A (zh) * 2022-02-07 2022-06-21 北京航空航天大学 纵向联邦学习方法、装置、电子设备及存储介质
CN114745092A (zh) * 2022-04-11 2022-07-12 浙江工商大学 一种基于联邦学习的金融数据共享隐私保护方法
CN114900325A (zh) * 2022-03-25 2022-08-12 杭州博盾习言科技有限公司 基于联邦学习的隐私集合求交方法、系统、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182595B (zh) * 2019-07-03 2024-03-26 北京百度网讯科技有限公司 基于联邦学习的模型训练方法及装置
US20210406782A1 (en) * 2020-06-30 2021-12-30 TieSet, Inc. System and method for decentralized federated learning
US20220255764A1 (en) * 2021-02-06 2022-08-11 SoterOne, Inc. Federated learning platform and machine learning framework

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259443A (zh) * 2020-01-16 2020-06-09 百融云创科技股份有限公司 一种基于psi技术保护联邦学习预测阶段隐私的方法
CN112085159A (zh) * 2020-07-24 2020-12-15 西安电子科技大学 一种用户标签数据预测系统、方法、装置及电子设备
CN113868693A (zh) * 2021-07-27 2021-12-31 朱玮 一种在反洗钱中对数据进行隐私保护的查询方法及系统
CN113961961A (zh) * 2021-10-11 2022-01-21 百保(上海)科技有限公司 一种基于scalable-ot的隐私集合求交方法及装置
CN113761563A (zh) * 2021-11-05 2021-12-07 深圳致星科技有限公司 数据交集计算方法、装置及电子设备
CN114648130A (zh) * 2022-02-07 2022-06-21 北京航空航天大学 纵向联邦学习方法、装置、电子设备及存储介质
CN114900325A (zh) * 2022-03-25 2022-08-12 杭州博盾习言科技有限公司 基于联邦学习的隐私集合求交方法、系统、设备及介质
CN114745092A (zh) * 2022-04-11 2022-07-12 浙江工商大学 一种基于联邦学习的金融数据共享隐私保护方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SMSS: Secure Member Selection Strategy in Federated Learning;K. Zhao, W. Xi, Z. Wang, J. Zhao, R. Wang and Z. Jiang;《IEEE Intelligent Systems》;20200808;第35卷(第4期);37-49 *
云环境下实用安全计算与隐私保护关键技术研究;宋祥福;《中国优秀硕士学位论文全文数据库(电子期刊) 信息科技辑》;20211115;全文 *
杨靖世 ; 王思源 ; 袁博 ; 刘嘉夕 .隐私计算产品性能测评标准化研究.《信息通信技术与政策》.2022,全文. *

Also Published As

Publication number Publication date
CN115378693A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN115378693B (zh) 一种用于纵向联邦学习数据对齐的隐匿集合求交方法
Sun et al. Practical backward-secure searchable encryption from symmetric puncturable encryption
CN106127075B (zh) 一种云存储环境下基于隐私保护的可搜索加密方法
Zhang et al. A covert communication method using special bitcoin addresses generated by vanitygen
US8533489B2 (en) Searchable symmetric encryption with dynamic updating
Hemenway Falk et al. Private set intersection with linear communication from general assumptions
Dehornoy Braid-based cryptography
CN105406967B (zh) 一种分层属性加密方案
CN108989287B (zh) 加密方法、装置、终端设备及存储介质
CN110337649A (zh) 用于搜索模式未察觉的动态对称可搜索加密的方法和系统
CN104780161A (zh) 一种云存储中支持多用户的可搜索加密方法
Applebaum et al. Better secret sharing via robust conditional disclosure of secrets
CN107276766B (zh) 一种多授权属性加解密方法
CN115242371B (zh) 差分隐私保护的集合交集及其基数计算方法、装置及系统
CN106254074A (zh) 一种基于混合加密的宋词载体文本信息隐藏技术
CN104038493B (zh) 无双线性对的云存储数据安全审计方法
Van Rompay et al. Secure and scalable multi-user searchable encryption
CN103457932A (zh) 一种云计算环境数据安全存储方法和系统
CN116112168A (zh) 多方隐私求交中的数据处理方法及系统
CN116324778A (zh) 可更新私有集合交集
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
D'Arco et al. Secure computation without computers
Raikhlin et al. The elements of associative stegnanography theory
Jakobsen et al. How to bootstrap anonymous communication
CN108650268A (zh) 一种实现多级访问的可搜索加密方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant