CN115659398A - 基于云辅助下可验证的安全预测方法及相关设备 - Google Patents
基于云辅助下可验证的安全预测方法及相关设备 Download PDFInfo
- Publication number
- CN115659398A CN115659398A CN202211311191.4A CN202211311191A CN115659398A CN 115659398 A CN115659398 A CN 115659398A CN 202211311191 A CN202211311191 A CN 202211311191A CN 115659398 A CN115659398 A CN 115659398A
- Authority
- CN
- China
- Prior art keywords
- model
- groups
- prediction
- blinding
- cloud
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于云辅助下可验证的安全预测方法,包括:用户端生成公私钥对,并利用公钥加密数据,将加密数据发送给模型提供端;模型提供端利用盲化因子盲化模型得到N组盲化后的模型,并将盲化后的模型与加密数据发送给云服务器;云服务器利用盲化后的模型对加密数据进行N组预测,并将N组预测结果发送给模型提供端;模型提供端将N组预测结果及其对应的盲化因子发送给用户端;用户端对执行去盲化步骤及解密步骤,获得N组输出结果,若N组输出结果均相同,则验证结果正确。本发明利用盲化因子盲化模型参数,确保了模型的安全性;对数据进行加密,确保了数据的安全性,根据去盲化的结果进行验证,确保了预测的正确性。
Description
技术领域
本发明属于信息安全技术领域,涉及一种基于云辅助下可验证的安全线性预测方法及相关设备。
背景技术
随着大数据时代的到来,机器学习得到了快速迅猛的发展,其中数据的训练和预测是两个关键问题,学者们更加重视数据训练的过程,提出了联邦学习等其他的安全方案。但对于数据的预测有所忽略,当模型训练成功后,如何安全的进行预测,保证预测结果的正确性,是所有机器学习训练完成后,都需要考虑的问题。
随着人工智能(AI)的普及,许多公司、机构和云平台(如亚马逊网络服务、谷歌云、微软)Azure和阿里云)提供了通用机器在付费预测的基础上向客户提供学习(ML)预测服务,如自然语言理解,图像分类、视频注释和异常检测。此外,云平台也已经推出机器学习即服务(MLaaS),支持专家甚至非专家用户也可以在他们的私人数据,并进一步提供更广泛的预测服务。然而,存在一个关键的安全问题,即在不损害功能隐私和输入隐私的情况下,很难验证预测的正确性。隐私保护要求服务提供商不仅可以在不了解客户敏感测试数据的情况下进行预测,还可以生成正确预测结果,同时保证预测结果的隐私性。
因此,如何提供一种能够保证预测过程隐私性以及预测可行性的基于云辅助下可验证的安全预测方法及相关设备是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提出了一种基于云辅助下可验证的安全预测方法及相关设备,解决现有技术中的技术问题。
为了实现上述目的,本发明采用如下技术方案:
本发明公开了一种基于云辅助下可验证的安全预测方法,所述方法基于包括用户端、云服务器、模型提供端的系统模型,所述方法包括如下步骤:
S1:用户端生成公私钥对(pk,sk),并利用公钥pk加密数据X,将加密数据X'发送给模型提供端;
S2:模型提供端利用盲化因子盲化模型得到N组盲化后的模型,N大于1,并将盲化后的模型与加密数据X'发送给云服务器;
S3:云服务器利用盲化后的模型对加密数据X'进行N组预测,并将N组预测结果发送给模型提供端;
S4:模型提供端将N组预测结果及其对应的盲化因子发送给用户端;
S5:用户端对N组预测结果执行去盲化步骤及解密步骤,获得N组输出结果,若N组输出结果均相同,则验证结果正确。
本发明模型提供端利用盲化因子盲化模型参数,确保了模型的安全性;用户端在数据发送前对数据进行加密,确保了数据的安全性,用户根据去盲化的结果进行验证,确保了预测的正确性。
优选的,所述S1中的加密方法采用Paillier加解密算法,公私钥对为Paillier加解密算法的公私钥对。基于Parllier加密算法的加法同态性,确保了数据的安全性。
优选的,所述S2中利用盲化因子盲化模型包括:利用两组随机数盲化模型:
W1=W+a=(w_1+a,w_2+a,..,w_n+a)
W2=W+b =(w_1+b,w_2+b,..,w_n+b)
其中,模型提供段拥有的模型W=(w_1,w_2,...,w_n),a,b为两组随机数。
优选的,所述S3中云服务器使用W1和W2对X'进行两组预测,得到两组预测结果P1'、P2',该预测方法为安全线性预测方法:
P1'=W1*X'=x_1'^(w_1+a) * x_1'^(w_1+a) *...* x_n'^(w_n+a))
P2'=W2*X'=x_1'^(w_1+b) * x_2'^(w_2+b) *...* x_n'^(w_n+b))。
优选的,所述S5具体包括:
S51:用户端用公钥pk加密盲化的随机数a,b:
a' =E(a,pk),b'=E(b,pk);
S52:用户端利用a'和b'对预测结果P1'、P2'执行去盲化:
P1=P1'/a' ,P2=P2'/b';
S53:用户端利用私钥sk解密P1,P2:
p1=D(P1,sk),p2=D(P2,sk)。
本发明还提供了一种设备,包括:存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现所述的基于云辅助下可验证的安全预测方法。
经由上述的技术方案可知,与现有技术相比,本发明的有益效果包括:
本发明用户数据使用了加密方案进行保护,模型通过盲化手段进行掩盖。并提供了模型预测结果的正确性验证,即模型使用两组盲化参数进行盲化,但最终去盲化结果应该一致,确保了预测的正确性。去盲化阶段和验证阶段属于同一阶段,用户仅仅获得最终结果和盲化系数,而对于系统模型来说并不可知。由此本发明避免了用户或者辅助方信息进行合谋的可能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图;
图1为本发明一种实施例提供的基于云辅助下可验证的安全预测方法的系统模型图;
图2为本发明一种实施例提供的基于云辅助下可验证的安全预测方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明主要解决的三大核心问题是:
1用户数据安全性;
2模型安全性;
3预测结果正确性。
基于上面三个问题,本发明能在模型和数据外包的情况下保证隐私问题,同时为了保证预测结果的正确性,基于提出的验证方法,这避免一些伪造预测结果的情况。
如图1所示,为本发明实施例第一方面提供的一种基于云辅助下可验证的安全预测方法,具体执行过程如下:
基于包括用户端、云服务器、模型提供端的系统模型,用户端拥有待预测的数据X=(x_1,x_2,...,x_n),模型提供端拥有模型W=(w_1,w_2,...,w_n),云服务器作为第三方服务器执行预测过程。
方法包括如下步骤:
S1:用户端生成公私钥对(pk,sk),并利用公钥pk加密数据X,将加密数据X'发送给模型提供端;
S2:模型提供端利用盲化因子盲化模型得到N组盲化后的模型,N大于1,并将盲化后的模型与加密数据X'发送给云服务器;
S3:云服务器利用盲化后的模型对加密数据X'进行N组预测,并将N组预测结果发送给模型提供端;
S4:模型提供端将N组预测结果及其对应的盲化因子发送给用户端;
S5:用户端对N组预测结果执行去盲化步骤及解密步骤,获得N组输出结果,若N组输出结果均相同,则验证结果正确。
在整个预测过程中,第三方辅助器无法获得任何模型信息和用户数据信息,用户无法获得任何模型信息,提供方无法获得用户数据信息。
在一个实施例中,S1中的加密方法采用Paillier加解密算法,公私钥对为Paillier加解密算法的公私钥对。加密表达式为:
X'=E(X,pk)=(x_1',x_2',...,x_n')。
本实施例中,需要对Paillier加解密算法的加解密原理进行说明:
S10:生成公钥密钥
随机选取大素数 p, q,计算 n=pq, λ=[p−1, q−1]n=pq, 保证 (pq, (p−1)⋅(q−1))=1,即 (n, ϕ(n))=1;
令 (n, g)为公钥,(p, q, λ)为私钥;
S20:加密
将明文 m 映射成正整数;
计算密文 c=gm⋅rn (mod n2);
S30:解密
计算 m=L(cλ mod n2)·μ (mod n);
S40:正确性
paillier算法的正确性基于以下事实:
(1+n)x≡1+nx (mod n2);
由
λ=[p−1, q−1]=(p−1)(q−1)/(p−1, q−1);
所以对于 ∀v∈Z,满足
vλ≡1 (mod p), vλ≡1 (mod q);
所以 vλ≡1 (mod n),这是因为 n=pq且 (p,q)=1;
所以有 gλ≡1 (mod n), rλ≡1 (mod n);
不妨设 gλ=1+qn, rλ=1+q’n,满足 q, q′∈Z;
计算
cλ≡gmλ⋅rnλ (mod n2)
≡(1+qn)m⋅(1+q’n)n (mod n2)
≡(1+qnm)⋅(1+q’n2) (mod n2)
≡1+qnm (mod n2)c;
所以
(cλ−1)/n≡qm (mod n2);
同理计算出
(gλ−1)/n≡q (mod n2);
所以
S50:随机选取g
令 g=1+n;
则 (1+n)n≡1+n2≡1 (mod n2),这意味着 ord(1+n)∣n;
进一步,令 g=1+kn, 0<k<n;
则 (1+kn)n≡1 (mod n2);
所以对 g 的随机选取,转化为对 k∈Z∗n的随机选取;
S60:加法同态性
考虑加密 m1+m2,得到
c=Enc(m1+m2)≡gm1+m2(mod n2);
在考虑分别加密 m1, m2,得到
所以
考虑解密 c1c2,设 gλ=1+qn, q∈Zn∗;
(c1c2)λ≡1+qn(m1+m2) (mod n2);
剩下的计算与之前类似,解密得到明文为 m1+m2;
也就是说 c1c2的解密结果为 m1+m2,即
Dec(Enc(m1)⋅Enc(m2))=m1+m2;
满足加法同态性。
在一个实施例中,S2中利用盲化因子盲化模型包括:利用两组随机数盲化模型:
W1=W+a=(w_1+a,w_2+a,..,w_n+a)
W2=W+b =(w_1+b,w_2+b,..,w_n+b)
其中,模型提供段拥有的模型W=(w_1,w_2,...,w_n),a,b为两组随机数。
在一个实施例中,S3中云服务器使用W1和W2对X'进行两组预测,得到两组预测结果P1'、P2':
P1'=W1*X'=x_1'^(w_1+a) * x_1'^(w_1+a) *...* x_n'^(w_n+a))
P2'=W2*X'=x_1'^(w_1+b) * x_2'^(w_2+b) *...* x_n'^(w_n+b))
在一个实施例中,S4中将(P1,a),(P2,b)打包发送给用户,即将预测结果及其对应的盲化因子打包发送给用户端。
在一个实施例中,S5具体包括:
S51:用户端用公钥pk加密盲化的随机数a,b:
a' =E(a,pk),b'=E(b,pk);
S52:用户端利用a'和b'对预测结果P1'、P2'执行去盲化:
P1=P1'/a' ,P2=P2'/b';
S53:用户端利用私钥sk解密P1,P2:
p1=D(P1,sk),p2=D(P2,sk)。
S54:用户端对比p1,p2,若相同则输出结果,若不同则结果错误。
在一个实施例中,当模型提供者需要从第三方服务器中获取模型,比如联邦学习,则增加获取加密权重的步骤,从而获得当前模型拥有者所需的相关模型;对于某种场景中,若模型提供者拥有模型,则可以省略此步骤。
本发明第二方面还公开了一种设备,包括:存储器和处理器;其中,存储器用于存储计算机程序,处理器用于执行计算机程序时实现的第一方面的基于云辅助下可验证的安全预测方法。
本发明具备可证明的安全性,实验证明了该方法的高效性。
以上对本发明所提供的基于云辅助下可验证的安全预测方法及相关设备进行了详细介绍,本实施例中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本实施例中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本实施例所示的这些实施例,而是要符合与本实施例所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种基于云辅助下可验证的安全预测方法,其特征在于,所述方法基于包括用户端、云服务器、模型提供端的系统模型,所述方法包括如下步骤:
S1:用户端生成公私钥对(pk,sk),并利用公钥pk加密数据X,将加密数据X'发送给模型提供端;
S2:模型提供端利用盲化因子盲化模型得到N组盲化后的模型,N大于1,并将盲化后的模型与加密数据X'发送给云服务器;
S3:云服务器利用盲化后的模型对加密数据X'进行N组预测,并将N组预测结果发送给模型提供端;
S4:模型提供端将N组预测结果及其对应的盲化因子发送给用户端;
S5:用户端对N组预测结果执行去盲化步骤及解密步骤,获得N组输出结果,若N组输出结果均相同,则验证结果正确。
2.根据权利要求1所述的基于云辅助下可验证的安全预测方法,其特征在于,所述S1中的加密方法采用Paillier加解密算法,公私钥对为Paillier加解密算法的公私钥对。
3.根据权利要求1所述的基于云辅助下可验证的安全预测方法,其特征在于,所述S2中利用盲化因子盲化模型包括:利用两组随机数盲化模型:
W1=W+a=(w_1+a,w_2+a,..,w_n+a)
W2=W+b =(w_1+b,w_2+b,..,w_n+b)
其中,模型提供段拥有的模型W=(w_1,w_2,...,w_n),a,b为两组随机数。
4.根据权利要求3所述的基于云辅助下可验证的安全预测方法,其特征在于,所述S3中云服务器使用W1和W2对X'进行两组预测,得到两组预测结果P1'、P2':
P1'=W1*X'=x_1'^(w_1+a) * x_1'^(w_1+a) *...* x_n'^(w_n+a))
P2'=W2*X'=x_1'^(w_1+b) * x_2'^(w_2+b) *...* x_n'^(w_n+b))。
5.根据权利要求4所述的基于云辅助下可验证的安全预测方法,其特征在于,所述S5具体包括:
S51:用户端用公钥pk加密盲化的随机数a,b:
a' =E(a,pk),b'=E(b,pk);
S52:用户端利用a'和b'对预测结果P1'、P2'执行去盲化:
P1=P1'/a' ,P2=P2'/b';
S53:用户端利用私钥sk解密P1,P2:
p1=D(P1,sk),p2=D(P2,sk)。
6.一种设备,其特征在于,包括:存储器和处理器;其中,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1-5中任一项所述的基于云辅助下可验证的安全预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211311191.4A CN115659398A (zh) | 2022-10-25 | 2022-10-25 | 基于云辅助下可验证的安全预测方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211311191.4A CN115659398A (zh) | 2022-10-25 | 2022-10-25 | 基于云辅助下可验证的安全预测方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115659398A true CN115659398A (zh) | 2023-01-31 |
Family
ID=84991927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211311191.4A Pending CN115659398A (zh) | 2022-10-25 | 2022-10-25 | 基于云辅助下可验证的安全预测方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115659398A (zh) |
-
2022
- 2022-10-25 CN CN202211311191.4A patent/CN115659398A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5488596B2 (ja) | 署名装置、署名検証装置、匿名認証システム、署名方法、署名認証方法およびそれらのプログラム | |
CA2792787C (en) | System and method for protecting cryptographic assets from a white-box attack | |
Liu et al. | A Survey of Public Auditing for Shared Data Storage with User Revocation in Cloud Computing. | |
JP5957095B2 (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP2014126866A (ja) | 暗号処理装置および方法 | |
JP5762232B2 (ja) | プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム | |
JP4818663B2 (ja) | 同種写像ベースの署名の生成および検証のためのシステムおよび方法 | |
CN109120606B (zh) | 一种具有隐私保护的特征属性的处理方法及装置 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN115865348A (zh) | 数据加密方法、同态计算方法及设备 | |
JP6294882B2 (ja) | 鍵保管装置、鍵保管方法、及びそのプログラム | |
JP2014137474A (ja) | 改ざん検知装置、改ざん検知方法、およびプログラム | |
JP5730805B2 (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
CN104410500A (zh) | 基于指定验证者的签名、签名验证及副本模拟方法和系统 | |
KR102122773B1 (ko) | 복원가능 기능을 가지는 리댁터블 서명 시스템 및 방법 | |
CN111552950A (zh) | 一种软件授权方法、装置及计算机可读存储介质 | |
CN115659398A (zh) | 基于云辅助下可验证的安全预测方法及相关设备 | |
KR102284877B1 (ko) | 효율적인 교집합 연산을 위한 함수 암호 기술 | |
US8731187B2 (en) | Computing genus-2 curves using general isogenies | |
JP5227201B2 (ja) | ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム | |
JP6634171B2 (ja) | 公開鍵の信頼性を証明するための装置、方法及びそのためのプログラム | |
EP4024755B1 (en) | Secured performance of an elliptic curve cryptographic process | |
CN110955883B (zh) | 一种用户密钥生成的方法、装置、设备及存储介质 | |
CN116599662A (zh) | 针对弱口令的审计方法及装置 | |
KR20230048912A (ko) | 분산화된 키 발급을 지원하는 교집합 연산을 위한 효율적인 함수 암호 기술 |
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 |