一种量子安全的外包机器学习方法及系统
文献发布时间:2023-06-28 06:30:04
技术领域
本发明涉及数据安全领域,具体涉及一种量子安全的外包机器学习方法及系统。
背景技术
随着数据采集与处理技术的快速发展,人们已经进入大数据时代。各种组织和机构希望将从不同平台和系统收集大量数据共享给研究人员,进行统计分析、分类和预测等相关研究任务。由于云服务提供商(Cloud Service Providers,CSPs)在计算和存储方面为数据拥有者提供了极大的灵活性,因此,将数据发布和分析任务授权给CSPs的云计算外包服务已成为信息化时代的发展潮流。
现阶段,机器学习技术主要以数据驱动为主流学习范式,利用高效的智能学习算法,实现针对不同领域的预测、分类等任务,并逐渐成为数据共享、分析与挖掘技术发展的主要推动力。在科学研究和工业发展的推动下,机器学习涉及的应用领域也越来越广泛,尤其在能源、生物医学、金融、信息安全等前沿应用领域。例如,在电力需求分析中,通过收集用电用户一天中每个时间段的用电数据训练出一个机器学习模型,帮助分析预测能源消耗的动态结果,为电网企业做出更好的需求响应提供决策依据。然而,基于机器学习的数据分析技术的隐私安全问题也日益突出,机器学习模型泄露用户训练集中隐私信息的事件频频发生,例如利用成员属性攻击,可获得机器学习模型训练集中的隐私属性信息。
目前,云计算外包服务能够根据根据用户需求,利用其强大的存储和计算能力为用户提供相应服务,解决用户计算困难、资源浪费等问题,但作为不完全可信的第三方,将个人数据直接外包给CSPs会面临信息泄露风险,因为数据中通常包含医疗健康、财务状况、联系方式等个人敏感信息。例如,某公司未经用户同意擅自将用户留存的注册信息泄露给第三方合作公司,导致用户隐私泄露,引发大量客户投诉。
为应对上述隐私挑战,现有的解决方法主要是根据特定的数据分析任务使用加密技术设计交互式安全协议保护外包数据的隐私,但这些方案通常不能同时满足高安全性和低计算开销的要求,发布数据的可用性较低。近年来,差分隐私因其可为个人提供高级语义安全而被广泛应用于数据发布与分析领域,其主要思想是通过在原始数据、查询结果或模型参数中添加适当的随机噪声达到隐私保护的目的,对攻击者的背景知识不做假设,提供可证明、量化的隐私保护框架。作为一种替代方案,差分隐私不仅保护数据的隐私性,而且保留发布结果的可用性。因此,数据提供者将加密后的数据外包给云服务器,再通过CSPs对密文进行差分隐私保护,并与数据使用者进行交互,完成安全的外包机器学习任务。
为实现安全的外包机器学习任务,已有技术将差分隐私模型与基于经典密码学困难问题构造的加密算法结合,如基于具有双解密公钥加密、同态加密、属性加密、AES对称加密与保序加密等算法,设计基于差分隐私的安全外包机器学习方法,降低数据拥有者的计算、通信与存储开销,提升处理数据效率的同时,支持多个数据使用者利用隐私化数据进行机器学习建模。但上述方案的缺陷在于无法抵抗量子计算攻击和数据可用性较低。
1)无法抵抗量子计算攻击
量子计算机技术的出现,使得上述基于经典密码学困难问题构造的加密算法不再安全。著名的Shor量子算法可以在大型量子计算机上以多项式时间求解离散对数问题、整数分解问题、椭圆曲线离散对数问题等在经典计算机上困难的计算性问题。Grover量子算法利用量子计算机天然的并行特性和独特计算方式,进行快速的穷举和搜索,使其安全性降低。因此,量子算法对已有的基于上述经典困难问题构造的外包机器学习方法造成了很大的安全威胁。
2)数据可用性较低
已有的方法大多使用同态加密算法保护外包数据,再由CSP对加密后的数据添加拉普拉斯噪声。而同态加密算法生成的密文是不规则的浮点数,拉普拉斯机制被证明只适用于整数数值型数据,因此,使用拉普拉斯机制对不规则的浮点数实现差分隐私保护,发布结果可用性较低。
发明内容
有鉴于此,本发明提供了一种量子安全的外包机器学习方法及系统,能够解决现有技术无法抵抗量子计算攻击及数据可用性较低的技术问题。
为了解决上述技术问题,本发明是这样实现的。
一种量子安全的外包机器学习方法,所述方法包括如下步骤:
步骤S1:利用密钥生成算法KeyGen分别为数据拥有者及数据使用者生成包括公钥及私钥的密钥对;
步骤S2:数据拥有者对数据进行编码,使用加密算法Enc对编码后的数据加密得到密文;基于数据拥有者的私钥和数据使用者的公钥生成代理密钥
步骤S3:所述数据拥有者将噪声向量ξ、密文和代理密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
步骤S4:数据使用者对所述重加密密文解密,得到噪声数据,将所述噪声数据作为输入,基于所述机器学习任务对应的算法对所述噪声数据进行分析,完成机器学习任务。
优选地,所述步骤S1,包括:
从U
优选地,所述步骤S2,包括:
步骤S21:数据拥有者对数据集data∈{0,1,…,n-1}进行二进制编码Encode(data),得到
步骤S22:将编码后的数据data′和数据拥有者公钥
步骤S23:构建代理密钥生成算法
步骤S24:基于数据使用者的机器学习任务,所述数据拥有者确定所述机器学习的函数敏感度集合ΔF和隐私预算ε,并计算噪声向量ξ;其中,函数敏感度和隐私预算是差分隐私参数,差分隐私通过在查询结果上加入噪声来实现对用户隐私信息的保护;函数敏感度Δf用于控制生成的噪声大小,
优选地,所述步骤S3,包括:
步骤S31:所述数据拥有者将噪声向量ξ、密文和重加密密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
步骤S32:构建噪声添加算法
步骤S33:建立重加密算法
优选地,所述步骤S4,包括:
建立解密算法
本发明所提供的一种量子安全的外包机器学习系统,所述系统包括:
密钥对生成模块:配置为利用密钥生成算法KeyGen分别为数据拥有者及数据使用者生成包括公钥及私钥的密钥对;
噪声计算模块:配置为数据拥有者对数据进行编码,使用加密算法Enc对编码后的数据加密得到密文;基于数据拥有者的私钥和数据使用者的公钥生成代理密钥
数据发送模块:配置为所述数据拥有者将噪声向量ξ、密文和代理密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
解密模块:配置为数据使用者对所述重加密密文解密,得到噪声数据,将所述噪声数据作为输入,基于所述机器学习任务对应的算法对所述噪声数据进行分析,完成机器学习任务。
本发明所提供的一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述方法。
本发明所提供的一种电子设备,其特征在于,所述电子设备,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述方法。
有益效果:
通过构造基于环上带容错(Ring Learning with Error,RLWE)问题的代理重加密方案,结合差分隐私技术与云计算技术,设计并实现量子安全的外包机器学习方法及系统。
具有以下技术效果:
(1)本发明面向多个数据用户,将隐私保护数据发布的过程外包给云服务器,降低数据拥有者的计算、通信与存储开销,同时支持根据每个数据使用者的需求实现灵活的噪声添加,提升发布数据的可用性,有效抵抗量子计算攻击。
(2)本发明与已有的外包机器学习方法相比,不需要花费数据提供者大量的存储空间和计算时间,同时利用量子安全的代理重加密的性质,支持多个数据使用者安全、灵活访问CSPs中存储的加噪密文,提升了外包数据的安全性。
(3)本发明通过设计基于RLWE问题的代理重加密技术,相比基于经典密码学困难问题构造的加密算法,有效抵抗量子计算攻击,提升外包数据在运算和存储过程中的安全性,同时支持多个数据使用者灵活访问CSPs中的加噪密文,降低了数据拥有者的计算开销郁通信复杂度。
(4)本发明在不解密状态下直接对密文添加满足ε-差分隐私保护的噪声,提高了外包数据的隐私性的同时,保证了外包机器学习的安全性,隐私数据在没有向不可信的第三方透露的前提下实现机器学习。
附图说明
图1为本发明提供的量子安全的外包机器学习方法流程示意图;
图2为本发明提供的量子安全的外包机器学习系统示意图;
图3(A)为本发明提供方法的数据和原始不加噪数据进行朴素贝叶斯分类的表现示意图;
图3(B)为本发明提供方法的数据和原始不加噪数据进行最近邻分类的表现示意图;
图4为本发明提供的量子安全的外包机器学习系统的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明进行详细描述。
如图1所示,本发明提出了一种量子安全的外包机器学习方法,所述方法包括如下步骤:
步骤S1:利用密钥生成算法KeyGen分别为数据拥有者及数据使用者生成包括公钥及私钥的密钥对;
步骤S2:数据拥有者对数据进行编码,使用加密算法Enc对编码后的数据加密得到密文;基于数据拥有者的私钥和数据使用者的公钥生成代理密钥
步骤S3:所述数据拥有者将噪声向量ξ、密文和代理密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
步骤S4:数据使用者对所述重加密密文解密,得到噪声数据,将所述噪声数据作为输入,基于所述机器学习任务对应的算法对所述噪声数据进行分析,完成机器学习任务。
所述步骤S1:利用密钥生成算法KeyGen分别为数据拥有者及数据使用者生成包括公钥及私钥的密钥对,包括:
从U
数据拥有者P
数据拥有者计算
数据使用者计算
所述步骤S2,所述代理密钥为使用代理重加密算法中生成的密钥。
所述步骤S2,数据拥有者对数据进行编码,使用加密算法Enc对编码后的数据加密得到密文;基于数据拥有者的私钥和数据使用者的公钥生成代理密钥
步骤S21:数据拥有者对数据集data∈{0,1,…,n-1}进行二进制编码Encode(data),得到
步骤S22:将编码后的数据data′和数据拥有者公钥
步骤S23:构建代理密钥生成算法
步骤S24:基于数据使用者的机器学习任务,所述数据拥有者确定所述机器学习的函数敏感度集合ΔF和隐私预算ε,并计算噪声向量ξ;其中,函数敏感度和隐私预算是差分隐私参数,差分隐私通过在查询结果上加入噪声来实现对用户隐私信息的保护;函数敏感度Δf用于控制生成的噪声大小,
本发明采用Laplace机制通过添加基于ΔF和ε添加噪声向量ξ来实现差分隐私保护。
所述步骤S3:所述数据拥有者将噪声向量ξ、密文和代理密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
步骤S31:所述数据拥有者将噪声向量ξ、密文和重加密密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
步骤S32:构建噪声添加算法
步骤S33:建立重加密算法
所述步骤S4:数据使用者对所述重加密密文解密,得到噪声数据,将所述噪声数据作为输入,基于所述机器学习任务对应的算法对所述噪声数据进行分析,完成机器学习任务,包括:
建立解密算法
如图2所示,本发明提供了一种量子安全的外包机器学习系统。以外包电力数据发布与分析场景为例,电网企业为数据拥有者P
步骤1:上传数据。首先,系统生成数据提供者P
步骤2:代理重加密与添加噪声处理。首先,CSPs接收来自数据拥有者P
步骤3:获取与使用加噪数据。首先,数据使用者U
为了更好地说明本发明的技术效果,采用具体实例对本发明进行实验验证。图3(A)-图3(B)是使用原始数据和使用本方法生成的加噪数据在利用不同的机器学习算法进行分类任务时的表现。如图3(A)-图3(B)所示,使用本方法对原始数据加噪后进行朴素贝叶斯和最近邻分类任务的影响很小。因此,本方法在保证安全隐私的前提下并没有太大影响机器学习的准确性,经实验证明本方法完全有效。
本发明还提供了一种量子安全的外包机器学习系统,如图4所示,所述系统包括:
密钥对生成模块:配置为利用密钥生成算法KeyGen分别为数据拥有者及数据使用者生成包括公钥及私钥的密钥对;
噪声计算模块:配置为数据拥有者对数据进行编码,使用加密算法Enc对编码后的数据加密得到密文;基于数据拥有者的私钥和数据使用者的公钥生成代理密钥
数据发送模块:配置为所述数据拥有者将噪声向量ξ、密文和代理密钥发送给云服务提供方CSPs,CSPs基于噪声向量ξ计算拉普拉斯噪声分量
解密模块:配置为数据使用者对所述重加密密文解密,得到噪声数据,将所述噪声数据作为输入,基于所述机器学习任务对应的算法对所述噪声数据进行分析,完成机器学习任务。
以上的具体实施例仅描述了本发明的设计原理,该描述中的部件形状,名称可以不同,不受限制。所以,本发明领域的技术人员可以对前述实施例记载的技术方案进行修改或等同替换;而这些修改和替换未脱离本发明创造宗旨和技术方案,均应属于本发明的保护范围。
- 一种机器学习方法、系统、设备及应用方法
- 一种基于差分隐私的安全外包机器学习方法
- 一种后量子安全的外包隐私数据发布方法及系统