掌桥专利:专业的专利平台
掌桥专利
首页

多源数据上的安全内积函数求解方法与系统

文献发布时间:2023-06-19 19:30:30


多源数据上的安全内积函数求解方法与系统

技术领域

本发明属于安全多方计算领域,具体涉及一种多源数据上的安全内积函数求解方法与系统。

背景技术

云计算环境下的数据处理,需要兼顾数据实用性、数据安全性和处理效率,现有工作往往会涉及安全多方计算。传统的数据处理方式有效数据收集效率低、结构单一且缺少良好的准确度,仅以此数据支撑的安全多方计算服务难以做出全面、及时、高效的数据分析与处理,所以安全多方计算服务所需的数据应满足时效性和充分性,必须以多源数据支撑安全多方计算服务。在多源数据背景下,可以实现结构化数据与非结构化数据结合,以更加多元化和动态化的数据采集方式获取全面、系统的有效数据;同时,多源数据经过加工、处理和融合可转化为统一规格数据,其在数据口径、精准度等方面可以更好地满足安全多方计算服务的要求。因此,以多源数据驱动的数据分析与处理可以提高计算的及时性、可靠性、科学性。

安全多方计算(MPC)技术可以让多个参与方在保证自身隐私数据不被泄露的前提下,进行基于各方数据的协同计算,即是这样一种分布式协议:n个参与方P1,P2,…,Pn分别拥有自己的秘密输入v1,v2,…,vn,在不借助第三方的情况下,某个n变元函数f(v1,v2,…,vn)联合计算各个参与方的输出值f1,f2,…,fn。安全多方计算至少满足两个基本特性:(1)正确性,即每个参与方Pi都得到本方的正确输出;(2)安全性,即任何一方Pi的输入vi都未泄露给其它人(包括协议的其它参与方和其它任何第三方)。

云计算中的基于内积的安全多方计算是信息安全的重要内容,通过安全内积函数求解可以使各个参与方能安全访问自身数据而不被其他任意一方知晓,同时不妨碍各方数据进行协同计算,广泛应用于密文检索、数据挖掘、神经网络和机器学习等领域。比如CN111512589A的专利公开一种用于利用SPDZ的快速安全多方内积的方法,其改进了SPDZ协议以降低针对安全内积的计算要求,但是其多方计算针对的是各方之间的单一向量,且涉及复杂的密码秘钥和元组共享等传统加密技术,适用范围极为有限,对于云计算环境下的大批量的多源数据,此类安全多方计算的技术方案并不适用,在及时性和安全性上都存在不足。

发明内容

有鉴于此,本发明提出了一种多源数据上的安全内积函数求解方法与系统,用于解决云计算环境下,现有的安全多方计算方式不适用于求解多源数据上的安全内积的问题。

本发明第一方面,公开一种多源数据上的安全内积函数求解方法,所述方法包括:

中间参与方生成随机噪声矩阵M并发送给第一参与方;

第一参与方使用所述随机噪声矩阵M对第一隐私矩阵A掩蔽后获得第一中间值MA,并将所述第一中间值MA发送给第二参与方;

第二参与方通过第二隐私矩阵B和所述第一中间值MA计算获得第二中间值MAB,并将所述第二中间值MAB发送给中间参与方;

中间参与方通过所述第二中间值MAB和所述随机噪声矩阵M的逆矩阵M

在以上技术方案的基础上,优选的,所述第一隐私矩阵A是对第一参与方持有的第一隐私数据集的每条数据归一化处理后组成的;

所述第二隐私矩阵B是对第二参与方持有的第二隐私数据集的每条数据归一化处理后组成的;

所述第一隐私数据集、第而二隐私数据集均由多源数据构成,所述多源数据包括各类结构化数据和非结构化数据。

在以上技术方案的基础上,优选的,所述归一化处理的方法为批归一化、层归一化、实例归一化、组归一化、可切换归一化中的任意一种归一化方式。

在以上技术方案的基础上,优选的,所述第一参与方使用所述随机噪声矩阵M对第一隐私矩阵A掩蔽后获得第一中间值MA具体包括:

设第一参与方需要计算的数据向量数为k;

第一参与方将k×k维的随机噪声矩阵M与k×n维的第一隐私数据矩阵A相乘,获得第一中间值MA。

在以上技术方案的基础上,优选的,所述第二参与方通过第二隐私矩阵B和所述第一中间值MA计算获得第二中间值MAB具体包括:

第二参与方将第一中间值MA与n×p维的第二隐私数据矩阵B相乘,获得第二中间值MAB。

在以上技术方案的基础上,优选的,所述k×k维的随机噪声矩阵M、k×n维的第一隐私矩阵A、n×p维的第二隐私矩阵B的行与列的关系为:p

在以上技术方案的基础上,优选的,所述中间参与方通过所述第二中间值MAB和所述随机噪声矩阵M的逆矩阵M

中间参与方将所述第二中间值MAB与所述随机噪声矩阵M的逆矩阵M

本发明第二方面,公开一种多源数据上的安全内积函数求解系统,所述系统包括第一参与方、第二参与方和中间参与方;

第一参与方,用于根据随机噪声矩阵M对第一隐私矩阵A掩蔽后获得第一中间值MA,并将所述第一中间值MA发送给第二参与方;

第二参与方,用于通过第二隐私矩阵B和第一中间值MA计算获得第二中间值MAB,并将所述第二中间值MAB发送给中间参与方;

中间参与方,用于根据第一参与方需要计算的数据向量数k生成k×k维的随机噪声矩阵M并发送给第一参与方;接收第二参与方发送的第二中间值MAB,通过所述第二中间值MAB和所述随机噪声矩阵M的逆矩阵M

本发明相对于现有技术具有以下有益效果:

1)本发明分别将各个参与方的隐私数据集构造成隐私矩阵,通过中间参与方生成的一个可逆随机噪声矩阵M对其中一个隐私矩阵进行掩蔽,使第一参与方与第二参与方的交互都通过基于矩阵乘积的中间结果代替,中间参与方使用随机噪声矩阵的逆矩阵从所述矩阵乘积结果中获得所述第一隐私数据集和所述第二隐私数据集的内积函数值矩阵,可在保障隐私安全的同时安全求解第一参与方和第二参与方的隐私数据的内积函数值,提高云计算环境下的隐私安全性;

2)本发明在不使用传统加密技术的前提下,根据矩阵方程无穷解的条件,实现不同参与方的多源数据上的内积函数求解,可以提高云计算环境下的隐私保护和不同多源数据集之间的协同计算的处理速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的一种多源数据上的安全内积函数求解方法流程图;

图2为中间参与方、第一参与方和第二参与方交互的时序图;

图3为第一参与方、第二参与方和中间参与方的交互示意图;

图4为第一参与方、第二参与方的交互示意图。

具体实施方式

下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

请参阅图1,本发明提出一种多源数据上的安全内积函数求解方法,涉及中间参与方、第一参与方和第二参与方的交互,如图2所示,所述方法包括:

S1、中间参与方生成一个可逆的随机噪声矩阵M并发送给第一参与方。

首先,第一参与方确认所需要的计算的数据向量数k并发送给中间参与方。

然后,中间参与方根据数据向量数k生成一个随机噪声矩阵M,该随机噪声矩阵M为k×k维可逆矩阵,M中的元素为随机生成的值,并生成所述随机噪声矩阵的逆矩阵M

最后,中间参与方将随机噪声矩阵M发送给第一参与方。

S2、第一参与方使用所述随机噪声矩阵M对第一隐私矩阵A掩蔽后获得第一中间值MA,并将所述第一中间值MA发送给第二参与方。

具体的,设第一参与方持有第一隐私数据集{a

步骤S2的具体实现方式包括:

将第一参与方持有的第一隐私数据集{a

第一参与方通过数据矩阵生成算法将归一化的第一隐私数据集生成k×n维第一隐私矩阵A=(a

第一参与方调用矩阵乘法算法将k×k维的随机噪声矩阵M与k×n维的第一隐私数据矩阵A相乘,获得第一中间值MA。

将第一中间值MA发送给第二参与方。

S3、第二参与方通过第二隐私矩阵B和所述第一中间值MA计算获得第二中间值MAB,并将所述第二中间值MAB发送给中间参与方。

具体的,设第二参与方持有第二隐私数据集{b

将第二参与方持有的第二隐私数据集{b

第二参与方通过数据矩阵生成算法将归一化的第二隐私数据集生成n×p维第二隐私矩阵B=(b

第二参与方调用矩阵乘法算法第二参与方将第一中间值MA与n×p维的第二隐私数据矩阵B相乘,获得第二中间值MAB。

将第二中间值MAB发送给中间参与方。

S4、中间参与方通过所述第二中间值MAB和所述随机噪声矩阵M的逆矩阵M

中间参与方调用矩阵乘法算法将第二中间值MAB与随机噪声矩阵M的逆矩阵M

如图3所示为第一参与方、第二参与方和中间参与方的交互示意图,本发明分别将各个参与方的隐私数据集构造成隐私矩阵,通过中间参与方生成的一个可逆随机噪声矩阵M对其中一个隐私矩阵进行掩蔽,使第一参与方与第二参与方的交互都通过基于矩阵乘积的中间结果代替。最后,中间参与方使用随机噪声矩阵的逆矩阵从所述矩阵乘积结果中获得所述第一隐私数据集和所述第二隐私数据集的内积函数值矩阵,可在安全求解第一参与方和第二参与方的隐私数据的内积函数值的同时,提高云计算环境下的隐私安全性。

与上述方法实施例相对应,本发明还提出一种多源数据上的安全内积函数求解系统,如图3所示,所述系统包括第一参与方、第二参与方和中间参与方;

第一参与方,用于根据随机噪声矩阵M对第一隐私矩阵A掩蔽后获得第一中间值MA,并将所述第一中间值MA发送给第二参与方;

第二参与方,用于通过第二隐私矩阵B和第一中间值MA计算获得第二中间值MAB,并将所述第二中间值MAB发送给中间参与方;

中间参与方,用于根据第一参与方需要计算的数据向量数k生成k×k维的可逆随机噪声矩阵M并发送给第一参与方;接收第二参与方发送的第二中间值MAB,通过所述第二中间值MAB和所述随机噪声矩阵M的逆矩阵M

以上系统实施例和方法实施例是一一对应的,系统实施例简述之处请参阅方法实施例即可。

本发明提出的多源数据上的安全内积函数求解方法及系统可应用于密文检索、数据挖掘、神经网络和机器学习等领域。下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

实施例一

本实施例涉及第一参与方、第二参与方、中间参与方的多源数据上的安全内积函数求解,其中以协作医院甲为第一参与方、就诊医院乙为第二参与方、中央服务器为中间参与方,实现就诊医院和协作医院间患者病例数据的内积函数计算,即求病例间的相似性评分。

其中,每份病例包含发热、头痛、咳嗽、胸痛、耳鸣、胃痛等6种症状,以病例数据向量相应分量中的1和0表示患者是否出现该症状,比如一名出现发热、头痛、耳鸣症状的患者病例数据向量表示为(1,1,0,0,1,0)。

假设协作医院甲拥有三条患者病例数据C

表1协作医院甲和就诊医院乙患者病例数据

参见图2和图3,本实施例的多源数据上的安全内积函数求解方法具体包括以下步骤:

步骤1:中央服务器将随机噪声矩阵M发送给协作医院甲。

步骤1.1:设置参数,取症状种类数量n=6,患者病例数据数量k=3;

步骤1.2:中央服务器通过随机噪声矩阵生成算法生成3×3维可逆随机噪声矩阵M:

步骤1.3:中央服务器通过随机噪声矩阵生成算法生成所述随机噪声矩阵的逆矩阵M

步骤2:协作医院甲将持有的患者病例数据集{C

步骤2.1:协作医院甲持有的患者病例数据集{C

步骤2.2:通过公式

表2归一化的协作医院甲患者病例数据

步骤2.3:协作医院甲通过数据矩阵生成算法将归一化的患者病例数据集{C

步骤2.4:协作医院甲调用矩阵乘法算法将来自中央服务器的随机噪声矩阵M与患者病例数据矩阵A相乘,获得MA:

并发送MA的值给就诊医院乙。

步骤3:就诊医院乙通过接诊的患者病例数据集{P

步骤3.1:就诊医院乙接症的患者病例数据集{P

步骤3.2:通过公式

表3归一化的就诊医院乙患者病例数据

步骤3.3:就诊医院乙通过数据矩阵生成算法将归一化的患者病例数据集{P

步骤3.4:就诊医院乙调用矩阵乘法算法将来自协作医院甲的MA与患者病例数据矩阵B相乘,获得MAB:

并发送MAB的值给中央服务器。

步骤4:中央服务器通过来自就诊医院乙的MAB和随机噪声矩阵的逆矩阵M

步骤4.1:中央服务器调用矩阵乘法算法将随机噪声矩阵的逆矩阵M

根据患者病例数据矩阵的内积函数值矩阵可以得到就诊医院和协作医院间患者病例数据的相似度,内积值越大表示两个数据集之间的相似程度越大,反之越小,比如矩阵AB中第1行第2列的元素表示了患者病例数据C

实施例二

本实施例涉及第一参与方、第二参与方在多源数据上的安全内积函数求解,其中第一参与方承担了中间参与方的功能,如图4所示为第一参与方、第二参与方的交互示意图,以服务提供者为第一参与方、用户客户端为第二参与方,实现用户客户端上的用户特征数据向量和服务提供者提供的服务特征数据向量的内积函数计算,即求用户特征和服务特征间的相似性程度。

其中,每条特征信息涉及F

用户客户端上的两条用户特征数据向量为S

表2-用户特征数据向量和服务特征数据向量

参见图2和图4,本实施例的多源数据上的安全内积函数求解方法具体包括以下步骤:

步骤1:服务提供者生成随机噪声矩阵M及其逆矩阵M

步骤1.1:设置参数,特征值个数n=7,服务类别数k=3;

步骤1.2:服务提供者通过随机噪声矩阵生成算法生成3×3维的可逆随机噪声矩阵M:

步骤1.3:服务提供者通过随机噪声矩阵生成算法生成所述随机噪声矩阵M的逆矩阵M

步骤2:服务提供者将提供的服务特征数据向量集{P

步骤2.1:服务提供者持有的服务特征数据集{P

步骤2.2:通过公式

表5归一化的服务特征数据向量

步骤2.3:服务提供者通过数据矩阵生成算法将归一化的服务特征数据集{P

步骤2.4:服务提供者调用矩阵乘法算法将步骤1生成的随机噪声矩阵M与服务特征数据矩阵A相乘,获得MA:

并发送MA的值给用户客户端。

步骤3:用户客户端通过持有的用户特征数据集{S

步骤3.1:用户客户端持有的用户特征数据集{S

步骤3.2:通过公式

表6归一化的用户特征数据向量

步骤3.3:用户客户端通过数据矩阵生成算法将归一化的用户特征数据集{S

步骤3.4:用户客户端调用矩阵乘法算法将来自服务提供者的MA与用户特征数据矩阵B相乘,获得MAB:

并发送MAB的值给服务提供者。

步骤4:服务提供者通过MAB和随机噪声矩阵的逆矩阵M

步骤4.1:服务提供者调用矩阵乘法算法将随机噪声矩阵的逆矩阵M

根据用户特征数据矩阵和服务特征数据矩阵的内积函数值矩阵可以得到用户特征和服务特征间的相似性程度,比如矩阵AB中第1行第2列的元素表示了特征数据向量P

本发明还公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明前述的方法。

本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现本发明实施例所述方法的全部或部分步骤。所述存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以分布到多个网络单元上。本领域普通技术人员在不付出创造性的劳动的情况下,可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115934133