CN116383848B - 一种三方安全计算防作恶方法、设备及介质 - Google Patents
一种三方安全计算防作恶方法、设备及介质 Download PDFInfo
- Publication number
- CN116383848B CN116383848B CN202310354833.7A CN202310354833A CN116383848B CN 116383848 B CN116383848 B CN 116383848B CN 202310354833 A CN202310354833 A CN 202310354833A CN 116383848 B CN116383848 B CN 116383848B
- Authority
- CN
- China
- Prior art keywords
- matrix
- party
- participant
- output
- formula
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 92
- 239000011159 matrix material Substances 0.000 claims abstract description 683
- 230000008569 process Effects 0.000 claims abstract description 51
- 238000000354 decomposition reaction Methods 0.000 claims description 22
- 230000006399 behavior Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 206010063659 Aversion Diseases 0.000 claims description 5
- 206010061619 Deformity Diseases 0.000 abstract description 3
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 59
- 238000004458 analytical method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000212941 Glehnia Species 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种三方安全计算防作恶方法、设备及介质,涉及数据安全领域,所述方法,包括:确定三个参与方各自的私有数据矩阵;每个参与方接收由商品服务节点生成的相应的随机矩阵对;基于随机矩阵对,在三个参与方的计算过程中生成相应的内部矩阵,分别针对存在合谋行为和不存在合谋行为时的计算过程增加相应的安全性约束,安全性约束实现对内部矩阵的秩的约束,使得计算过程中任何一个参与方都无法推测出另外两个参与方的私有数据矩阵。本发明能提升三方安全计算的数据的安全性。
Description
技术领域
本发明涉及数据安全领域,特别是涉及一种三方安全计算防作恶方法、设备及介质。
背景技术
随着社会进入数据要素时代,国际局势越发变化莫测,数据要素问题变得更加复杂,在隐私计算领域,个人数据安全、企业市内和企业间的数据分析流通及全球性的数据跨境交易都面临着各种挑战。随着相关行业部门对安全的标准化、规范化使得该项技术有了稳步发展。多方安全计算便是隐私计算领域常用的技术方案,尤其是在数据治理、数据协作、人工智能等新兴数字产业的商业应用中发挥重要作用。
现有的多方安全计算技术多基于半诚实模型的假设,即在计算任务中,参与方均会按照指定协议来按规则运行,计算结束各方只能获取自己一方的数据结果,而无法得知关于其他参与方的任何输入输出信息。由于整个过程分为计算阶段和通信阶段,因而存在着一定数据泄露的风险。其一,当在计算阶段,参与方虽然严格按照协议指示执行,但是存在好奇的半诚实节点利用执行协议中的中间计算结果来反向推测其余参与方的原始数据信息;其二,在计算完成后的通信阶段,存在参与方节点互相勾结的情况,通过相互共享数据来推测剩余参与方的原始数据信息。因此,现有不同的多方安全参与方案分别根据各自的技术特征采用了以下主流的几种应对方案:
(1)基于秘密共享的乘法抗合谋技术。通过引入大量的外部节点来存储和计算由参与方的数据拆分后的秘密碎片来防止合谋,其中Shamir秘钥共享的门限阈值的大小决定了该方案抗合谋的安全级别。但是由于该方法采取将矩阵乘法拆分为向量碎片进行多项式运算造成了大量的通信开销。
(2)基于同态加密的乘法抗合谋技术。基于数学难题的计算复杂性理论将数据采取密文计算,以保障数据的安全,防止节点之间合谋。但是该方案由于引入了大素数的加密,使得计算密文位数增大,不仅增加了计算的开销,同时也无法保证浮点数情况下计算结果的可靠性。
(3)基于随机置换矩阵的乘法抗合谋技术。通过设计一个特殊的系数矩阵来加密原始的数据信息,使得中间计算结果均混淆了一个随机扰动的矩阵信息,有效防止参与方节点的合谋。但是该方案由于无法保证加法扰动稳定,因此存在泄漏矩阵局部零元素信息的风险。
综上,现有的多方安全计算方案的数据安全性仍有待提升。
发明内容
基于此,本发明实施例提供一种三方安全计算防作恶方法、设备及介质,以提升三方安全计算的数据的安全性。
为实现上述目的,本发明实施例提供了如下方案:
一种三方安全计算防作恶方法,包括:
确定第一私有数据矩阵、第二私有数据矩阵和第三私有数据矩阵;所述第一私有数据矩阵为第一参与方所持有的维度为n×s且存储在自身计算节点的私有数据矩阵;所述第二私有数据矩阵为第二参与方所持有的维度为s×t且存储在自身计算节点的私有数据矩阵;所述第三私有数据矩阵为第三参与方所持有的维度为t×m且存储在自身计算节点的私有数据矩阵;
所述第一参与方接收由商品服务节点生成的第一随机矩阵对,所述第二参与方接收由所述商品服务节点生成的第二随机矩阵对,所述第三参与方接收由所述商品服务节点生成的第三随机矩阵对;所述第一随机矩阵对,包括:维度为n×s的第一随机矩阵和维度为n×m的第二随机矩阵;所述第二随机矩阵对,包括:维度为s×t的第三随机矩阵和维度为n×m的第四随机矩阵;所述第三随机矩阵对,包括:维度为t×m的第五随机矩阵和维度为n×m的第六随机矩阵;
确定所述第一参与方、所述第二参与方和所述第三参与方在执行安全计算流程时是否存在合谋行为;
当不存在合谋行为时,执行满足第一安全性约束的第一计算过程、无安全性约束的第二计算过程或满足第二安全性约束的第三计算过程,得到所述第一参与方输出的第一输出矩阵、所述第二参与方输出的第二输出矩阵和所述第三参与方输出的第三输出矩阵;
当存在合谋行为时,执行满足第三安全性约束的第一计算过程、满足第四安全性约束的第二计算过程或满足第五安全性约束的第三计算过程,得到所述第一参与方输出的第一输出矩阵、所述第二参与方输出的第二输出矩阵和所述第三参与方输出的第三输出矩阵;
计算请求方获取所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵,并根据目标需求,对所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵进行运算;
其中,所述第一计算过程,包括:
所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方;/>表示第一内部矩阵,A表示第一私有数据矩阵,Ra表示第一随机矩阵;
所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;/>表示第三内部矩阵,C表示第三私有数据矩阵,Rc表示第五随机矩阵;
所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;/>表示第二内部矩阵,Mb表示第二M矩阵,/>表示第一中间项矩阵,γ1表示第二中间项矩阵,/>表示第三中间项矩阵,γ2表示第四中间项矩阵,B表示第二私有数据矩阵,Rb表示第三随机矩阵;
所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;Sa表示第一S矩阵,Ma表示第一M矩阵;
所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;Sc表示第三S矩阵,Mc表示第三M矩阵;
所述第二参与方采用满秩分解的方式将所述第二内部矩阵拆分为列满秩矩阵和行满秩矩阵,并将所述列满秩矩阵发给所述第一参与方,将所述行满秩矩阵发给所述第三参与方;
所述第一参与方基于列满秩矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和t1=Ra·B1计算第一T矩阵和第一t矩阵,将所述第一T矩阵和所述第一t矩阵发给第二参与方;Ta表示第一T矩阵,t1表示第一t矩阵,Va表示第一输出矩阵,ra表示第二随机矩阵,B1表示列满秩矩阵,B1所属空间的维度为s×r;
所述第三参与方根据公式t2=B2·Rc计算第二t矩阵,并将所述第二t矩阵发给所述第二参与方;t2表示第二t矩阵,B2表示行满秩矩阵,B2所属空间的维度为r×t;
所述第二参与方基于所述第一T矩阵、所述第一t矩阵和所述第二t矩阵生成第二输出矩阵,并根据公式计算第二S矩阵,根据所述第二S矩阵由公式Tb=Ta-Mb+Sb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;Sb表示第二S矩阵,Tb表示第二T矩阵,Vb表示第二输出矩阵,rb表示第四随机矩阵;
所述第三参与方根据公式Vc=Tb-Mc+Sc-rc计算第三输出矩阵;Vc表示第三输出矩阵,rc表示第六随机矩阵;
所述第二计算过程,包括:
所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方;
所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;
所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;
所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;
所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;
所述第二参与方采用满秩分解的方式将所述第二内部矩阵拆分为列满秩矩阵和行满秩矩阵,并将所述列满秩矩阵发给所述第一参与方,将所述行满秩矩阵发给所述第三参与方;
所述第一参与方基于列满秩矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和t1=Ra·B1计算第一T矩阵和第一t矩阵,将所述第一T矩阵发给第二参与方,将所述第一t矩阵发给所述第三参与方;
所述第三参与方根据公式t2=B2·Rc计算第二t矩阵;
所述第二参与方基于所述第一T矩阵生成第二输出矩阵,并根据公式Tb=Ta-Mb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;
所述第三参与方根据公式计算第二S矩阵,并根据所述第二S矩阵和所述第二T矩阵采用公式Vc=Tb+Sb-Mc+Sc-rc计算第三输出矩阵;
所述第三计算过程,包括:
所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方;
所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;
所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;
所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;
所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;
所述第二参与方将所述第二内部矩阵发给第一参与方;
所述第一参与方基于所述第二内部矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和计算第一T矩阵和第一t矩阵,将所述第一T矩阵发给第二参与方,将所述第一t矩阵发给所述第三参与方;
所述第三参与方根据公式计算第二S矩阵;
所述第二参与方基于所述第一T矩阵生成第二输出矩阵,并根据公式Tb=Ta-Mb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;
所述第三参与方根据公式Vc=Tb+Sb-Mc+Sc-rc计算第三输出矩阵;
所述第一安全性约束为所述第二安全性约束为/>所述第三安全性约束为/>和/>所述第四安全性约束为和r(B1)<s;所述第五安全性约束为/>和/>r()表示矩阵的秩。
本发明还提供了一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的三方安全计算防作恶方法。
本发明还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的三方安全计算防作恶方法。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明实施例提出了一种三方安全计算防作恶方法、设备及介质,分别针对存在合谋行为和不存在合谋行为时的计算过程增加相应的安全性约束,安全性约束实现对内部矩阵的秩的约束,使得计算过程中任何一个参与方都无法推测出另外两个参与方的私有数据矩阵,提升三方安全计算的数据的安全性,适用于安全需求较高的场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的三方安全计算防作恶方法的流程图;
图2为三方安全矩阵乘法计算问题示意图;
图3为三方安全乘法计算方法的流程图;
图4为三方安全乘法计算方法对应不同抗合谋方案的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参见图1,本实施例的三方安全计算防作恶方法,包括:
步骤101:确定第一私有数据矩阵、第二私有数据矩阵和第三私有数据矩阵。
所述第一私有数据矩阵为第一参与方所持有的维度为n×s且存储在自身计算节点的私有数据矩阵;所述第二私有数据矩阵为第二参与方所持有的维度为s×t且存储在自身计算节点的私有数据矩阵;所述第三私有数据矩阵为第三参与方所持有的维度为t×m且存储在自身计算节点的私有数据矩阵。
步骤102:所述第一参与方接收由商品服务节点生成的第一随机矩阵对,所述第二参与方接收由所述商品服务节点生成的第二随机矩阵对,所述第三参与方接收由所述商品服务节点生成的第三随机矩阵对。
所述第一随机矩阵对,包括:维度为n×s的第一随机矩阵和维度为n×m的第二随机矩阵;所述第二随机矩阵对,包括:维度为s×t的第三随机矩阵和维度为n×m的第四随机矩阵;所述第三随机矩阵对,包括:维度为t×m的第五随机矩阵和维度为n×m的第六随机矩阵。
所述第二随机矩阵、所述第四随机矩阵和所述第六随机矩阵的和等于所述第一随机矩阵、所述第三随机矩阵和所述第五随机矩阵的乘积。
步骤103:确定所述第一参与方、所述第二参与方和所述第三参与方在执行安全计算流程时是否存在合谋行为。
当不存在合谋行为时,转到步骤104:执行满足第一安全性约束的第一计算过程、无安全性约束的第二计算过程或满足第二安全性约束的第三计算过程,得到所述第一参与方输出的第一输出矩阵、所述第二参与方输出的第二输出矩阵和所述第三参与方输出的第三输出矩阵。
当存在合谋行为时,转到步骤105:执行满足第三安全性约束的第一计算过程、满足第四安全性约束的第二计算过程或满足第五安全性约束的第三计算过程,得到所述第一参与方输出的第一输出矩阵、所述第二参与方输出的第二输出矩阵和所述第三参与方输出的第三输出矩阵。
步骤106:计算请求方获取所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵,并根据目标需求,对所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵进行运算。具体的:
若计算请求方的目标需求为计算三方矩阵的乘积,则将所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵的相加值确定为三方矩阵的乘积;三方矩阵的乘积为所述第一私有数据矩阵、所述第二私有数据矩阵和所述第三私有数据矩阵的乘积。
其中,所述第一计算过程,包括:
(10)所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方。/>表示第一内部矩阵,A表示第一私有数据矩阵,Ra表示第一随机矩阵。
(11)所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;/>表示第三内部矩阵,C表示第三私有数据矩阵,Rc表示第五随机矩阵。
(12)所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;/>表示第二内部矩阵,Mb表示第二M矩阵,/>表示第一中间项矩阵,γ1表示第二中间项矩阵,/>表示第三中间项矩阵,γ2表示第四中间项矩阵,B表示第二私有数据矩阵,Rb表示第三随机矩阵。
(13)所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;Sa表示第一S矩阵,Ma表示第一M矩阵。
(14)所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;Sc表示第三S矩阵,Mc表示第三M矩阵。
(15)所述第二参与方采用满秩分解的方式将所述第二内部矩阵拆分为列满秩矩阵和行满秩矩阵,并将所述列满秩矩阵发给所述第一参与方,将所述行满秩矩阵发给所述第三参与方。
(16)所述第一参与方基于列满秩矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和t1=Ra·B1计算第一T矩阵和第一t矩阵,将所述第一T矩阵和所述第一t矩阵发给第二参与方;Ta表示第一T矩阵,t1表示第一t矩阵,Va表示第一输出矩阵,ra表示第二随机矩阵,B1表示列满秩矩阵,B1所属空间的维度为s×r。
(17)所述第三参与方根据公式t2=B2·Rc计算第二t矩阵,并将所述第二t矩阵发给所述第二参与方;t2表示第二t矩阵,B2表示行满秩矩阵,B2所属空间的维度为r×t。
(18)所述第二参与方基于所述第一T矩阵、所述第一t矩阵和所述第二t矩阵生成第二输出矩阵,并根据公式计算第二S矩阵,根据所述第二S矩阵由公式Tb=Ta-Mb+Sb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;Sb表示第二S矩阵,Tb表示第二T矩阵,Vb表示第二输出矩阵,rb表示第四随机矩阵。
(19)所述第三参与方根据公式Vc=Tb-Mc+Sc-rc计算第三输出矩阵;Vc表示第三输出矩阵,rc表示第六随机矩阵。
所述第二计算过程,包括:
(20)所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方。
(21)所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方。
(22)所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方。
(23)所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵。
(24)所述第三参与方根据公式和计算第三S矩阵和第三M矩阵。
(25)所述第二参与方采用满秩分解的方式将所述第二内部矩阵拆分为列满秩矩阵和行满秩矩阵,并将所述列满秩矩阵发给所述第一参与方,将所述行满秩矩阵发给所述第三参与方。
所述列满秩矩阵和所述行满秩矩阵满足约束条件
(26)所述第一参与方基于列满秩矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和t1=Ra·B1计算第一T矩阵和第一t矩阵,将所述第一T矩阵发给第二参与方,将所述第一t矩阵发给所述第三参与方。
(27)所述第三参与方根据公式t2=B2·Rc计算第二t矩阵。
(28)所述第二参与方基于所述第一T矩阵生成第二输出矩阵,并根据公式Tb=Ta-Mb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方。
(29)所述第三参与方根据公式计算第二S矩阵,并根据所述第二S矩阵和所述第二T矩阵采用公式Vc=Tb+Sb-Mc+Sc-rc计算第三输出矩阵。
所述第三计算过程,包括:
(30)所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方。
(31)所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方。
(32)所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方。
(33)所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵。
(34)所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵。
(35)所述第二参与方将所述第二内部矩阵发给第一参与方。
(36)所述第一参与方基于所述第二内部矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和计算第一T矩阵和第一t矩阵,将所述第一T矩阵发给第二参与方,将所述第一t矩阵发给所述第三参与方。
(37)所述第三参与方根据公式计算第二S矩阵。
(38)所述第二参与方基于所述第一T矩阵生成第二输出矩阵,并根据公式Tb=Ta-Mb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方。
(39)所述第三参与方根据公式Vc=Tb+Sb-Mc+Sc-rc计算第三输出矩阵。
其中,所述第一安全性约束为所述第二安全性约束为/>所述第三安全性约束为/>和/>所述第四安全性约束为和r(B1)<s;所述第五安全性约束为/>和/>r()表示矩阵的秩。
在实际应用中,下面以计算三方矩阵的乘积为例,对上述实施例进行进一步详细的说明。
首先,定义三方安全矩阵乘法计算问题。
已知存在三个参与方Alice、Bob、Carol,彼此独立且互不信任,Alice持有一个维度为n×s仅存储在自身计算节点的私有数据矩阵A,Bob持有一个维度为s×t私有数据矩阵B,Carol持有一个维度为t×m私有数据矩阵C。三个参与方共同执行一个三方矩阵乘法协议计算f(A,B,C)=A·B·C=Va+Vb+Vc,最终每个计算参与方节点得到各自对应的维度均为n×m的输出矩阵Va、Vb、Vc,并发送给计算请求方聚合得到其期望的三方矩阵乘积结果。计算过程中,各参与方节点只能了解自己的输入输出信息,无法获取其他参与方的中间结算结果及持有数据信息。具体示意图见图2。
参见图3,下面介绍三方安全矩阵乘法计算方法执行流程。
步骤1:由辅助计算节点也称为商品服务节点(Commodity Server,CS)生成三组随机矩阵对,其具体形式为维度为n×s的随机矩阵Ra、维度为s×t的随机矩阵Rb、维度为t×m的随机矩阵Rc以及维度为n×m的三个随机矩阵ra、rb、rc。这些随机矩阵之间须严格满足如下约束ra+rb+rc=Ra·Rb·Rc。然后由CS辅助节点将随机矩阵对(Ra,ra)发给参与方Alice计算节点、将随机矩阵对(Rb,rb)发给参与方Bob计算节点、将随机矩阵对(Rc,rc)发给参与方Carol计算节点。在整个计算协议执行过程中,CS辅助节点需严格满足以下三点要求:1)不接触关于Alice、Bob、Carol相关的私有数据信息,无论是中间计算过程的输入或者输出结果;2)不与任何参与方计算节点合谋;3)严格按照协议流程正确执行分配的子任务。由于CS辅助节点并不直接参与三方安全乘法计算后续实际的计算过程,只是在协议执行初始阶段提供与私有数据矩阵相互独立的随机矩阵对,进而保护参与方私有矩阵信息保证后续计算过程中原始数据的安全性。因此,该辅助节点CS可以离线预先生成大量的彼此相互独立的随机矩阵对,并以类似商品出售的方式在协议执行的初试阶段将随机数种子发送给Alice、Bob及Carol计算节点,便能使得计算节点获取对应的随机矩阵信息,这也是商品服务器CS的名称由来。
步骤2:参与方Alice在收到对应的随机矩阵对(Ra,ra)后,其节点内部计算并将其发送给参与方节点Bob。
步骤3:参与方Carol在收到对应的随机矩阵对(Rc,rc)后,其节点内部计算并将其发送给参与方节点Bob。
步骤4:参与方Bob在其节点内部计算并将/>和/>发给节点Carol,将/>和/>发给节点Alice。
步骤5:参与方Alice节点接收到Bob节点发送过来的矩阵γ2后,依次在本地计算/>和/>
步骤6:参与方Carol节点接收到Bob节点发送过来的矩阵γ1后,依次在本地计算/>和/>
步骤7:参与方Bob节点内部采用满秩分解的方式对矩阵实现拆分,分解后的两个子矩阵为列满秩矩阵/>和行满秩矩阵/>其中非零矩阵/>与拆分后的矩阵B1、B2的秩满足约束条件/>节点Bob将矩阵B1发给节点Alice,将矩阵B2发给节点Carol。
步骤8:参与方Alice节点接收到来自Bob节点的矩阵B1后,内部秘密生成一个的随机矩阵,并在本地计算Ta=Ma+Sa-Va-ra和t1=Ra·B1,并将Ta和t1发送给节点Bob。
步骤9:参与方Carol节点接收到来自Bob节点的矩阵B2后,秘密计算t2=B2·Rc,并将结果t2发送给节点Bob。
步骤10:参与方Bob节点接收到来自Alice节点发送的矩阵Ta和t1以及Carol节点发送的矩阵t2后,内部秘密生成一个随机矩阵并在本地秘密计算矩阵和/>最终计算得出Tb=Ta-Mb+Sb-Vb-rb,发送给Carol节点。
步骤11:参与方Carol节点收到Tb之后,本地秘密计算得到矩阵Vc=Tb-Mc+Sc-rc。
步骤12:参与方Alice节点、Bob节点、Carol节点分别将其对应的最终混淆拆分结果Va、Vb和Vc发送给三方矩阵乘法计算请求方,由其汇总得到最终的乘积ABC=Va+Vb+Vc。
很容易可以验证出:
接下来,介绍三方安全矩阵乘法计算防作恶机制。
通常对于不同隐私计算应用场景下的安全多方计算问题,都会涉及一个安全性假设,包括敌手方的能力、行为和在体系中作恶节点的数量。只有在建立在对应某种安全性假设下的隐私计算协议才具备安全可解释性的意义。而通常根据模型中是否存在恶意参与方将安全行为模型分为半诚实模型和恶意模型两大类。半诚实模型中,所有半诚实或者诚实节点都会诚实地参与多方计算的协议,严格遵照协议流程执行每一步,但是会存在一些半诚实的、单方面好奇的参与方节点试图通过协议执行过程中获取的内容来推测其他参与方节点的原始数据隐私信息。另外一种半诚实模型下存在的被动攻击行为是多个参与方节点被腐败后,通过合谋串通的方式共享彼此的信息试图获取剩余诚实参与者节点的数据信息。而恶意模型则是参与方节点中存在主动攻击的恶意参与者,这种类型的参与方但不会严格按照协议执行流程,还可能会恶意篡改中间计算的输入、输出结果,甚至是终止协议,在恶意模型中,攻击行为都是主动的。现阶段在各种数据安全法以及网络安全保护法等法律手段约束下,通常极端恶意的攻击行为很少出现,而建立恶意模型下的安全性计算则需要采取大量密码学技术,这也将在追求高度安全性的同时牺牲了计算的效率以及造成极大的通信开销,这对于一些对于安全等级不是极端要求保密的商业行为其实是得不偿失的。因此,本方案主要建立在半诚实模型的前提假设下,敌手也主要以单方节点好奇窥探原始数据或者双节点合谋推测原始数据的作恶手段为分析目标,来评估和保障模型的计算安全性。
在本实施例中各参与方节点的原始数据在初始阶段已经通过CS辅助节点提供的随机矩阵混淆相加的方式进行了信息加密保护,且最后结果也采用了随机混淆机制拆分为三个随机的结果子矩阵保证了计算结果的安全性。因此存在安全性风险的环节主要体现在中间计算过程中步骤7到步骤10的Alice、Bob、Carol三方数据的交互环节。由于这几步的最终目的是为了构建出一个有效的中间计算分量因此在拆解合并该项的过程中存在着三方中间结果的多次交互引起的数据泄露的风险。对于该项的构建方案一共有五种,如图4所示,其中图4的(a)部分表示方案1,图4的(b)部分表示方案2a,图4的(c)部分表示方案2b,图4的(d)部分表示方案3a,图4的(e)部分表示方案3b。其中方案2a和方案2b是完全等价的,方案2a和方案2b称为方案2,方案3a与方案3b也是完全等价的,方案3a与方案3b称为方案3,实际意义上的方案其实是三类,因此后续只讨论等价方案中的a方案作为代表,图4中参与方用A、B、C代表Alice、Bob、Carol三个参与方的名称。方案1的思路对应上述步骤7-步骤10,将矩阵/>满秩分解为两个子矩阵B1、B2,然后经过Alice和Carol两个参与方节点的调制后,将携带有Alice和Carol数据信息的Ra·B1、B2·Rc作为计算中间项共同传递给参与方Bob,并由其汇总得到最终的目标分量/>如图4的(b)部分和(c)部分所示,方案2的思路与方案1不同的地方在于最终计算的中间结果数据汇总流向到Carol节点,但是将矩阵/>满秩分解为两个子矩阵B1、B2拆分后发送的流程同方案1无异。如图4的(d)部分和(e)部分所示,方案3的思路与方案1不同的地方在于,Bob节点其并未采用矩阵拆解的方式而是直接以初始阶段混淆后的矩阵/>传递到Alice节点,并最终由Carol节点实现目标项的聚合。因此针对这三种不同类别的计算方案,本实施例从三方安全乘法方法计算安全性的角度,按照诚实且好奇的单方节点和腐败合谋的双节点攻击行为来对这三种方案进行对比,并提出相应的安全性约束解决方案。
(1)无合谋条件下的安全性分析
当三个参与方计算节点在执行安全计算流程中不存在合谋行为时,由于协议是异步协同执行的,因此涉及到安全性风险的环节只需要分析到步骤10即可,此时各参与方节点将不再需要交互涉及到原始数据的关键信息项了。因此对于方案1,节点在执行到第10步时,参与方节点Alice持有的数据项为参与方节点Bob持有的数据项为B2·Rc,B1,B2,参与方Carol持有的数据项为/>因此根据各节点的数据项分布可以观察得出节点Alice因缺乏关于Bob和Carol的私有矩阵的信息因此是无法推测出Bob和Carol的原始数据矩阵B、C的,类似的Carol也无法推测出另外两方的私有矩阵信息。而对于Bob而言,其可能根据持有的数据项Ra·B1、B2·Rc和B1、B2反向推测涉及Alice的私有矩阵Ra和涉及Carol的私有矩阵Rc的相关信息。
表1三方安全乘法计算方法单节点半诚实行为分析表
这里通过引入一种秩约束的方法来保障单一节点无法根据矩阵方程中的单一系数矩阵反推出目标矩阵信息。其原理为:存在矩阵使得矩阵方程A·X=B有无穷解的充要条件为矩阵A、B的秩严格满足r(A)=r(A:B)<t,类似的矩阵方程XA=B有无穷解的充要条件为矩阵A、B的秩严格满足r(A)<m。因此为了防止Bob根据Ra·B1、B2·Rc和B1、B2反向推测出Ra和Rc,进一步根据/>推测出Alice和Carol的原始矩阵A、C的信息,只需要加上秩约束条件/>即可,具体操作方式为在步骤4计算/>的时候进行条件限制,若符合秩约束条件则可进入下一步流程,反之重新进行随机矩阵Rb的生成环节,直到保障其符合条件为止。类似的对于方案2,采用前面的分析方式,可以得出方案2的秩约束条件为/>表示无需添加约束条件即可保证计算过程中单一节点无法根据持有的数据项信息来推测其他参与方持有的原始数据信息。类似的对于方案3,采用前面的分析方式,可以看到对于节点Bob,因缺乏涉及另外两方原始数据项Ra、Rc的关键信息,故而无法推测出另外两方的原始数据A、C矩阵信息,Carol同理无法推测出A、B矩阵信息。对于Alice而言因为持有中间数据项/>因此需防止Alice通过/>推测出/>后进而与中间项推测出Bob的私有矩阵B,故而根据前面秩约束的方法,只需保证/>即可,也就是说只需要保证在执行第4步流程的时候使得矩阵/>满足列非满秩的条件即可。从表1可以看出,在不存在合谋节点串通作恶行为时,三方安全乘法计算问题的三种方案中方案2是最优的,因其兼具更少的通信轮数以及不需要引入计算开销较大得秩约束。
(2)有合谋条件下的安全性分析
当三个参与方计算节点在执行安全计算流程中存在两方节点合谋行为时,将进一步增大对剩下一方参与方节点数据泄露的风险。类似前面的分析方式,依旧是从步骤7开始分析到步骤10结束,将这个环节中各方节点Alice、Bob和Carol持有的数据项信息分类整理至表2所示的作恶行为分析表中。结合表中方案1所示信息,可以看到,当计算参与方Alice和Bob合谋串通进而共享数据时,因持有中间计算结果B2·Rc以及子矩阵B1,存在通过合谋推测出Carol持有的秘密矩阵Rc的风险,一旦Rc泄露,则Alice和Bob可以根据获得Carol的原始矩阵信息。故而在步骤7执行的时候添加秩约束r(B2)<t,以保障Carol的原始数据安全。同理可分析得出Alice和Carol合谋后,因为持有数据项/>和/>存在反向推测出Rb进而通过/>推测出Bob的秘密矩阵B的风险,因此需添加秩约束在步骤2和步骤3执行完成后进行安全检验,符合秩约束条件则可进行下面步骤的执行流程,反之终止回退到前面步骤循环执行。类似的,当参与方节点Bob和Carol合谋时,因为共同持有中间计算数据项Ra·B1以及子矩阵B1,因此存在双方合谋反推出Alice的秘密矩阵Ra的风险,需在步骤7执行后添加秩约束r(B1)<s的安全性检验。由于子矩阵B1、B2是根据满秩分解的方式得出的,因此综合上述子矩阵的约束等价于也即只需要在步骤4执行结束后添加秩约束/>即可,相当于要求混淆后的原始矩阵/>需满足非满秩的条件。对于方案2而言,参与方节点Alice和Bob的合谋由于缺乏涉及Carol的关键性矩阵Rc因此也无法推测出Carol的秘密矩阵C,因此无需添加约束;当参与方Alice和Carol合谋时,因共同持有数据项/>和/>存在反向推测出Bb进而通过/>推测出Bob的秘密矩阵B的风险,因此需添加秩约束/>在步骤2和步骤3执行完成后进行安全检验,符合秩约束条件则可进行下面步骤的执行流程,反之终止回退到前面步骤循环执行;当参与方节点Bob和Carol合谋时,因为共同持有中间计算数据项Ra·B1以及子矩阵B1,因此存在双方合谋反推出Alice的秘密矩阵Ra的风险,需在步骤7执行后添加秩约束r(B1)<s对矩阵B1进行行非满秩的安全性检验。对于方案3而言,参与方节点Alice和Bob的合谋由于缺乏涉及Carol的关键性矩阵Rc因此也无法推测出Carol的秘密矩阵C,因此无需添加约束;当参与方Alice和Carol合谋时,因共同持有数据项/>和/>存在反向推测出Rb进而通过/>推测出Bob的秘密矩阵B的风险,因此需添加秩约束/>在步骤2和步骤3执行完成后进行矩阵/>列非满秩以及矩阵/>行非满秩的安全检验,符合秩约束条件则可进行下面步骤的执行流程,反之终止回退到前面步骤循环执行;当参与方节点Bob和Carol合谋时,因为共同持有中间计算数据项/>以及子矩阵/>因此存在双方合谋反推出Alice的秘密矩阵Ra的风险,需在步骤7执行后添加秩约束/>对矩阵/>进行行非满秩安全性检验。
表2三方安全乘法计算方法双节点合谋作恶行为分析表
上述实施例具有如下技术效果:
三种大类的技术方案本质区别在于围绕构建中间数据项采取了不同的拆分与合并执行方法,而其具体执行流程则体现在三方安全矩阵乘法计算流程中的步骤7-步骤11。更为具体的:
对于方案1,其具体的执行流程为:
步骤7:参与方Bob节点内部采用满秩分解的方式对矩阵实现拆分,分解后的两个子矩阵为列满秩矩阵/>和行满秩矩阵/>其中非零矩阵/>与拆分后的矩阵B1、B2的秩满足约束条件/>节点Bob将矩阵B1发给节点Alice,将矩阵B2发给节点Carol。
步骤8:参与方Alice节点接收到来自Bob节点的矩阵B1后,内部秘密生成一个的随机矩阵,并在本地计算Ta=Ma+Sa-Va-ra和t1=Ra·B1,并将Ta和t1发送给节点Bob。
步骤9:参与方Carol节点接收到来自Bob节点的矩阵B2后,秘密计算t2=B2·Rc,并将结果t2发送给节点Bob。
步骤10:参与方Bob节点接收到来自Alice节点发送的矩阵Ta和t1以及Carol节点发送的矩阵t2后,内部秘密生成一个随机矩阵并在本地秘密计算矩阵和/>最终计算得出Tb=Ta-Mb+Sb-Vb-rb,发送给Carol节点。
步骤11:参与方Carol节点收到Tb之后,本地秘密计算得到矩阵Vc=Tb-Mc+Sc-rc。
对于方案1,其技术手段及效果为:
在方案1中,先行检验混淆后的原始矩阵是否满足秩约束也即要求矩阵/>需在分解前满足行非满秩的条件,矩阵/>满足非满秩的条件;在满足该条件约束后,将矩阵/>满秩分解为两个子矩阵B1、B2,然后经过Alice和Carol两个参与方节点的调制后,将携带有Alice和Carol数据信息的Ra·B1、B2·Rc作为计算中间项共同传递给参与方Bob,并由其汇总得到最终的目标分量/>由于该方案执行前添加了秩约束后,使得计算过程中即使存在两方节点合谋共享数据信息,也无法推测另外第三方的原始数据信息。这是因为当秩约束条件满足时,解空间为无穷集合,所以能有效保护原始数据的真实信息。并且该约束条件因属于强约束,同时满足了无合谋情况时对于单一节点无法反向推测其他参与方原始数据信息的约束条件,因此满足该约束的方案1能保障无论是否存在合谋节点,模型均能对抗被动攻击的安全性。从应用场景的角度来看,由于该约束条件可以在矩阵分解前进行校验,因此从先验安全性更高和添加约束操作更容易的角度来说,该方案更适合对于安全需求较高的场景;
对于方案2a或者2b,其具体的执行流程为:
步骤7:参与方Bob节点内部采用满秩分解的方式对矩阵实现拆分,分解后的两个子矩阵为列满秩矩阵/>和行满秩矩阵/>其中非零矩阵/>与拆分后的矩阵B1、B2的秩满足约束条件/>节点Bob将矩阵B1发给节点Alice,将矩阵B2发给节点Carol。
步骤8:参与方Alice节点接收到来自Bob节点的矩阵B1后,内部秘密生成一个的随机矩阵,并在本地计算Ta=Ma+Sa-Va-ra和t1=Ra·B1,并将Ta发送给节点Bob和t1发送给节点Carol。
步骤9:参与方Carol节点接收到来自Bob节点的矩阵B2后,秘密计算t2=B2·Rc。
步骤10:参与方Bob节点接收到来自Alice节点发送的矩阵Ta后,内部秘密生成一个随机矩阵并在本地秘密计算矩阵/>最终计算得出Tb=Ta-Mb-Vb-rb,发送给Carol节点。
步骤11:参与方Carol节点收到来自Alice节点发送的矩阵t1以及Bob节点发送的矩阵Tb后,本地秘密计算和矩阵Vc=Tb+Sb-Mc+Sc-rc。
对于方案2a或者2b,其技术手段及效果为:
在方案2中,将矩阵满秩分解为两个子矩阵B1,B2,然后经过Alice和Carol两个参与方节点的调制后,将携带有Alice数据信息的Ra·B1作为计算中间项共同传递给参与方Carol,并由其汇总得到最终的目标分量/>该方案在无合谋行为的情况下,无需添加任何的秩约束即可保障单节点无法根据中间计算结果从而反向推测其他参与方的原始数据信息的安全性。因此在涉及到安全性要求相对不高,可信任的执行环境时,可采取该方案保障无合谋情况的计算安全性。
但面向存在合谋情况的场景,则需要采取同方案1类似的约束条件,需先行检验混淆后的原始矩阵是否满足秩约束/>也即要求矩阵/>需在分解前满足行非满秩的条件;在满足该条件约束后,将矩阵/>满秩分解为两个子矩阵B1、B2,但与方案1不同的是,方案2需要进行后验秩约束,当分解后的子矩阵B1满足秩约束条件r(B1)<s时,才能允许步骤7的继续执行,否则直到分解满足该条件为止。
对于方案3a或者3b,其具体的执行流程为:
步骤7:参与方Bob节点将矩阵发给节点Alice。/>
步骤8:参与方Alice节点接收到来自Bob节点的矩阵后,内部秘密生成一个的随机矩阵,并在本地计算Ta=Ma+Sa-Va-ra和/>并将Ta发送给节点Bob和t发送给节点Carol。
步骤9:参与方Carol节点接收到来自Alice节点的矩阵t后,秘密计算
步骤10:参与方Bob节点接收到来自Alice节点发送的矩阵Ta后,内部秘密生成一个随机矩阵并在本地秘密计算矩阵/>最终计算得出Tb=Ta-Mb-Vb-rb,发送给Carol节点。
步骤11:参与方Carol节点收到来自Bob节点发送的矩阵Tb后,本地秘密计算矩阵Vc=Tb+Sb-Mc+Sc-rc。
对于方案3a或者3b,其技术手段及效果为:
在方案1中,先行检验混淆后的原始矩阵是否满足秩约束也即要求矩阵/>需在分解前满足行非满秩的条件;在满足该条件约束后,矩阵/>无需分解,直接将携带有Alice数据信息的/>作为计算中间项传递给参与方Carol,并由其汇总得到最终的目标分量/>由于该方案执行前添加了秩约束后,使得计算过程中即使存在两方节点合谋共享数据信息,也无法推测另外第三方的原始数据信息。这是因为当秩约束条件满足时,解空间为无穷集合,所以能有效保护原始数据的真实信息。并且该约束条件因属于强约束,同时满足了无合谋情况时对于单一节点无法反向推测其他参与方原始数据信息的约束条件,因此满足该约束的方案3能保障无论是否存在合谋节点,模型均能对抗被动攻击的安全性。从应用场景的角度来看,由于该约束条件可以在矩阵分解前进行校验,且整个流程通信轮数相较于其他两个方案更少,因此从先验安全性更高和通信开销更小的角度来说,该方案更适合对于安全需求较高且计算资源有限的场景。
上述任一方案,具体实际应用的场景很多,这里以金融行业为例进行说明:假设存在Alice、Bob、Carol三家金融机构,其中Alice机构拥有维度为n×m1私有矩阵A,其中n表示该银行拥有n个客户样本,m1表示这些样本涉及到客户的m1个特征属性(譬如关于收入、税收相关的参数);Bob机构拥有维度为n×m2私有矩阵B,其中n表示该银行拥有n个客户样本,m2表示这些样本涉及到客户的m2个特征属性(譬如关于负债、房贷相关的参数);Carol机构拥有维度为n×m3私有矩阵C,其中n表示该银行拥有n个客户样本,m3表示这些样本涉及到客户的m3个标签属性(譬如用户是否为黑名单用户、用户是否属于银行高级客户等标签属性)。此时三家金融机的上级金控监管机构希望在互相不暴露三家金融子公司彼此私有客户信息的前提下,实现三方隐私数据矩阵的联合建模,用于划分用户群体的贷款水平,其建模结果由请求方金控监管机构所获得,而三家参与方子公司只获取局部模型参数信息。在这个计算过程中参与计算的私有矩阵A、B、C将会在联合建模的过程中产生三方矩阵相乘A×B×C的计算问题,此时即可运用本方法实现该过程的安全计算,在不泄露彼此信息的前提下,使得三家子金融机构获得联合建模的局部输出结果Va、Vb、Vc参数矩阵。而当三个参数矩阵传递给上级金控监管机构时,则可由三个参数矩阵的相加得到联合建模模型参数的完整输出结果信息。
本实施例提出了一种基于半诚实模型下,有效防范三方安全乘法计算过程中单方节点好奇,反向推测其余计算参与方原始矩阵数据信息的作恶行为的约束方法;提出了一种基于半诚实模型下,有效防范三方安全乘法计算完成后双节点合谋串通,反向推测剩余参与方原始矩阵数据信息的作恶行为的约束方法;提出了一套面向三方安全矩阵乘法计算在不同安全需求和计算资源条件下的抗合谋约束方案。
本实施例提出的方法,解决了现有技术譬如秘密共享方案在参与方较少(例如三方)的半诚实模型下,面临的节点合谋的风险,同时在多方安全计算问题涉及到关于模型的安全性、可用性、低开销三元悖论的制约下提出面向不同场景的替代方案,具体的:(1)解决现有的基于半诚实模型假设下的多方安全矩阵乘法计算技术在计算过程中,如何有效保障原始参与方矩阵数据无法被好奇半诚实参与节点反向推理出来的安全问题。(2)解决现有的基于半诚实模型假设下的多方安全矩阵乘法计算技术在计算完成后,如何有效防止参与方节点因腐败合谋行为而引起的原始数据泄露的安全问题。(3)解决现有的基于半诚实模型假设下的多方安全矩阵乘法计算技术无法平衡模型性能相关的安全性、可用性、低开销三个指标的制约,提出在不同场景需求下的最优实施方案。
本发明还提供了一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述的三方安全计算防作恶方法。
本发明还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述的三方安全计算防作恶方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种三方安全计算防作恶方法,其特征在于,包括:
确定第一私有数据矩阵、第二私有数据矩阵和第三私有数据矩阵;所述第一私有数据矩阵为第一参与方所持有的维度为n×s且存储在自身计算节点的私有数据矩阵;所述第二私有数据矩阵为第二参与方所持有的维度为s×t且存储在自身计算节点的私有数据矩阵;所述第三私有数据矩阵为第三参与方所持有的维度为t×m且存储在自身计算节点的私有数据矩阵;
所述第一参与方接收由商品服务节点生成的第一随机矩阵对,所述第二参与方接收由所述商品服务节点生成的第二随机矩阵对,所述第三参与方接收由所述商品服务节点生成的第三随机矩阵对;所述第一随机矩阵对,包括:维度为n×s的第一随机矩阵和维度为n×m的第二随机矩阵;所述第二随机矩阵对,包括:维度为s×t的第三随机矩阵和维度为n×m的第四随机矩阵;所述第三随机矩阵对,包括:维度为t×m的第五随机矩阵和维度为n×m的第六随机矩阵;
确定所述第一参与方、所述第二参与方和所述第三参与方在执行安全计算流程时是否存在合谋行为;
当不存在合谋行为时,执行满足第一安全性约束的第一计算过程、无安全性约束的第二计算过程或满足第二安全性约束的第三计算过程,得到所述第一参与方输出的第一输出矩阵、所述第二参与方输出的第二输出矩阵和所述第三参与方输出的第三输出矩阵;
当存在合谋行为时,执行满足第三安全性约束的第一计算过程、满足第四安全性约束的第二计算过程或满足第五安全性约束的第三计算过程,得到所述第一参与方输出的第一输出矩阵、所述第二参与方输出的第二输出矩阵和所述第三参与方输出的第三输出矩阵;
计算请求方获取所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵,并根据目标需求,对所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵进行运算;
其中,所述第一计算过程,包括:
所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方;/>表示第一内部矩阵,A表示第一私有数据矩阵,Ra表示第一随机矩阵;
所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;/>表示第三内部矩阵,C表示第三私有数据矩阵,Rc表示第五随机矩阵;
所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;/>表示第二内部矩阵,Mb表示第二M矩阵,/>表示第一中间项矩阵,γ1表示第二中间项矩阵,/>表示第三中间项矩阵,γ2表示第四中间项矩阵,B表示第二私有数据矩阵,Rb表示第三随机矩阵;
所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;Sa表示第一S矩阵,Ma表示第一M矩阵;
所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;Sc表示第三S矩阵,Mc表示第三M矩阵;
所述第二参与方采用满秩分解的方式将所述第二内部矩阵拆分为列满秩矩阵和行满秩矩阵,并将所述列满秩矩阵发给所述第一参与方,将所述行满秩矩阵发给所述第三参与方;
所述第一参与方基于列满秩矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和t1=Ra·B1计算第一T矩阵和第一t矩阵,将所述第一T矩阵和所述第一t矩阵发给第二参与方;Ta表示第一T矩阵,t1表示第一t矩阵,Va表示第一输出矩阵,ra表示第二随机矩阵,B1表示列满秩矩阵,B1所属空间的维度为s×r;
所述第三参与方根据公式t2=B2·Rc计算第二t矩阵,并将所述第二t矩阵发给所述第二参与方;t2表示第二t矩阵,B2表示行满秩矩阵,B2所属空间的维度为r×t;
所述第二参与方基于所述第一T矩阵、所述第一t矩阵和所述第二t矩阵生成第二输出矩阵,并根据公式计算第二S矩阵,根据所述第二S矩阵由公式Tb=Ta-Mb+Sb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;Sb表示第二S矩阵,Tb表示第二T矩阵,Vb表示第二输出矩阵,rb表示第四随机矩阵;
所述第三参与方根据公式Vc=Tb-Mc+Sc-rc计算第三输出矩阵;Vc表示第三输出矩阵,rc表示第六随机矩阵;
所述第二计算过程,包括:
所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方;
所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;
所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;
所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;
所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;
所述第二参与方采用满秩分解的方式将所述第二内部矩阵拆分为列满秩矩阵和行满秩矩阵,并将所述列满秩矩阵发给所述第一参与方,将所述行满秩矩阵发给所述第三参与方;
所述第一参与方基于列满秩矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和t1=Ra·B1计算第一T矩阵和第一t矩阵,将所述第一T矩阵发给第二参与方,将所述第一t矩阵发给所述第三参与方;
所述第三参与方根据公式t2=B2·Rc计算第二t矩阵;
所述第二参与方基于所述第一T矩阵生成第二输出矩阵,并根据公式Tb=Ta-Mb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;
所述第三参与方根据公式计算第二S矩阵,并根据所述第二S矩阵和所述第二T矩阵采用公式Vc=Tb+Sb-Mc+Sc-rc计算第三输出矩阵;
所述第三计算过程,包括:
所述第一参与方根据公式计算第一内部矩阵,并将所述第一内部矩阵发送给所述第二参与方;
所述第三参与方根据公式计算第三内部矩阵,并将所述第三内部矩阵发送给所述第二参与方;
所述第二参与方根据公式 和/>计算第二内部矩阵、第二M矩阵、第一中间项矩阵、第二中间项矩阵、第三中间项矩阵和第四中间项矩阵,并将所述第三中间项矩阵和所述第四中间项矩阵发送给第一参与方,将所述第一中间项矩阵和所述第二中间项矩阵发送给第三参与方;
所述第一参与方根据公式和/>计算第一S矩阵和第一M矩阵;
所述第三参与方根据公式和/>计算第三S矩阵和第三M矩阵;
所述第二参与方将所述第二内部矩阵发给第一参与方;
所述第一参与方基于所述第二内部矩阵生成第一输出矩阵,并根据公式Ta=Ma+Sa-Va-ra和计算第一T矩阵和第一t矩阵,将所述第一T矩阵发给第二参与方,将所述第一t矩阵发给所述第三参与方;
所述第三参与方根据公式计算第二S矩阵;
所述第二参与方基于所述第一T矩阵生成第二输出矩阵,并根据公式Tb=Ta-Mb-Vb-rb计算第二T矩阵,将所述第二T矩阵发给所述第三参与方;
所述第三参与方根据公式Vc=Tb+Sb-Mc+Sc-rc计算第三输出矩阵;
所述第一安全性约束为所述第二安全性约束为/>所述第三安全性约束为/>和/>所述第四安全性约束为和r(B1)<s;所述第五安全性约束为/>和/>r()表示矩阵的秩。
2.根据权利要求1所述的一种三方安全计算防作恶方法,其特征在于,计算请求方根据目标需求,对所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵进行运算,具体包括:
若计算请求方的目标需求为计算三方矩阵的乘积,则将所述第一输出矩阵、所述第二输出矩阵和所述第三输出矩阵的相加值确定为三方矩阵的乘积;三方矩阵的乘积为所述第一私有数据矩阵、所述第二私有数据矩阵和所述第三私有数据矩阵的乘积。
3.根据权利要求1所述的一种三方安全计算防作恶方法,其特征在于,所述第二随机矩阵、所述第四随机矩阵和所述第六随机矩阵的和等于所述第一随机矩阵、所述第三随机矩阵和所述第五随机矩阵的乘积。
4.根据权利要求1所述的一种三方安全计算防作恶方法,其特征在于,所述列满秩矩阵和所述行满秩矩阵满足约束条件
5.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至4中任一项所述的三方安全计算防作恶方法。
6.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的三方安全计算防作恶方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310354833.7A CN116383848B (zh) | 2023-04-04 | 2023-04-04 | 一种三方安全计算防作恶方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310354833.7A CN116383848B (zh) | 2023-04-04 | 2023-04-04 | 一种三方安全计算防作恶方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116383848A CN116383848A (zh) | 2023-07-04 |
CN116383848B true CN116383848B (zh) | 2023-11-28 |
Family
ID=86980245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310354833.7A Active CN116383848B (zh) | 2023-04-04 | 2023-04-04 | 一种三方安全计算防作恶方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116383848B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110889447A (zh) * | 2019-11-26 | 2020-03-17 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算检验模型特征显著性的方法和装置 |
US10630468B1 (en) * | 2019-01-11 | 2020-04-21 | Alibaba Group Holding Limited | Distributed multi-party security model training framework for privacy protection |
WO2020077573A1 (en) * | 2018-10-17 | 2020-04-23 | Alibaba Group Holding Limited | Secret sharing with no trusted initializer |
CN111680322A (zh) * | 2020-05-26 | 2020-09-18 | 矩阵元技术(深圳)有限公司 | 基于安全多方计算的数据处理方法、装置及电子设备 |
WO2021190424A1 (zh) * | 2020-03-25 | 2021-09-30 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行多方联合降维处理的方法和装置 |
CN115102693A (zh) * | 2022-05-23 | 2022-09-23 | 清华大学 | 基于多方安全计算的隐私保护序列nj树构建方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150122162A (ko) * | 2013-03-04 | 2015-10-30 | 톰슨 라이센싱 | 프라이버시 보호 카운팅을 위한 방법 및 시스템 |
CN112597540B (zh) * | 2021-01-28 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的多重共线性检测方法、装置及系统 |
US11687667B2 (en) * | 2021-08-06 | 2023-06-27 | Amazon Technologies, Inc. | Privacy-preserving computing with third-party service |
-
2023
- 2023-04-04 CN CN202310354833.7A patent/CN116383848B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020077573A1 (en) * | 2018-10-17 | 2020-04-23 | Alibaba Group Holding Limited | Secret sharing with no trusted initializer |
US10630468B1 (en) * | 2019-01-11 | 2020-04-21 | Alibaba Group Holding Limited | Distributed multi-party security model training framework for privacy protection |
CN110889447A (zh) * | 2019-11-26 | 2020-03-17 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算检验模型特征显著性的方法和装置 |
WO2021190424A1 (zh) * | 2020-03-25 | 2021-09-30 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行多方联合降维处理的方法和装置 |
CN111680322A (zh) * | 2020-05-26 | 2020-09-18 | 矩阵元技术(深圳)有限公司 | 基于安全多方计算的数据处理方法、装置及电子设备 |
CN115102693A (zh) * | 2022-05-23 | 2022-09-23 | 清华大学 | 基于多方安全计算的隐私保护序列nj树构建方法及系统 |
Non-Patent Citations (2)
Title |
---|
Using secure multi-party computation to protect privacy on a permissioned blockchain;Zhou Jjiapeng 等;Sensors;第1-16页 * |
基于可逆方阵的隐私保护关联规则挖掘;田宏 等;计算机工程(07);说明书第153-155页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116383848A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230087864A1 (en) | Secure multi-party computation method and apparatus, device, and storage medium | |
US20230245131A1 (en) | Method, System, and Computer Program Product for Determining Solvency of a Digital Asset Exchange | |
Galil et al. | Cryptographic computation: Secure fault-tolerant protocols and the public-key model | |
JP5925969B2 (ja) | 2パーティ秘匿関数計算向けの入力整合性検証 | |
JP2023068139A (ja) | ブロックチェーンベースのスマートコントラクトの複数当事者生成のためのシステム及び方法 | |
US11764943B2 (en) | Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology | |
Niu et al. | Toward verifiable and privacy preserving machine learning prediction | |
Guo et al. | A secure delegation scheme of large polynomial computation in multi–party cloud | |
Fan et al. | PPMCK: Privacy-preserving multi-party computing for K-means clustering | |
Guo et al. | Rational sumchecks | |
Brandt et al. | On the existence of unconditionally privacy-preserving auction protocols | |
Fehr et al. | Composing quantum protocols in a classical environment | |
CN111917533A (zh) | 具有减少泄漏的区间统计量的隐私保护基准分析 | |
Yan et al. | Blockchain-based verifiable and dynamic multi-keyword ranked searchable encryption scheme in cloud computing | |
CN116383848B (zh) | 一种三方安全计算防作恶方法、设备及介质 | |
Yang et al. | Federated Medical Learning Framework Based on Blockchain and Homomorphic Encryption | |
Xiao et al. | Fault-tolerant quantum private comparison protocol | |
CN113656829A (zh) | 一种基于格密码与联盟链的医疗数据安全共享方法 | |
Zeng et al. | A Federated Learning Framework Based on CSP Homomorphic Encryption | |
Keshavarzkalhori et al. | Federify: A Verifiable Federated Learning Scheme Based on zkSNARKs and Blockchain | |
Wu et al. | Bpf-payment: Fair payment for cloud computing with privacy based on blockchain and homomorphic encryption | |
An et al. | Efficient and Privacy‐Preserving Outsourcing of 2D‐DCT and 2D‐IDCT | |
US20230014392A1 (en) | Method and system for privacy-preserving portfolio pricing | |
Liu et al. | Privacy-Preserving and Verifiable Outsourcing Linear Inference Computing Framework | |
Waiwitlikhit et al. | Trustless Audits without Revealing Data or Models |
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 |