昌 燕 林雨生 黃思維 張仕斌
(成都信息工程大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 成都 610225) (先進(jìn)密碼技術(shù)與系統(tǒng)安全四川省重點(diǎn)實(shí)驗(yàn)室(成都信息工程大學(xué)) 成都 610225)
工業(yè)互聯(lián)網(wǎng)是新一代信息通信技術(shù)與工業(yè)經(jīng)濟(jì)深度融合的新型基礎(chǔ)設(shè)施,蘊(yùn)含了海量的人、機(jī)、物、系統(tǒng)相關(guān)的數(shù)據(jù)信息,分析和利用這些數(shù)據(jù)將會(huì)對優(yōu)化覆蓋全產(chǎn)業(yè)鏈、全價(jià)值鏈的制造體系和服務(wù)體系產(chǎn)生重要的指導(dǎo)價(jià)值.然而對工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)進(jìn)行處理和分析,在給個(gè)人、企業(yè)和國家?guī)頍o限機(jī)遇的同時(shí),也帶來了前所未有的隱私憂患.對敏感工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)的直接處理和分析,意味著個(gè)人、企業(yè)和國家隱私信息的泄露,這給人們的生命財(cái)產(chǎn)安全,乃至國家安全帶來威脅[1].因此,隱私安全是工業(yè)互聯(lián)網(wǎng)安全的重要組成部分,研究可以保護(hù)隱私的工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)處理和分析算法在工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)時(shí)代已經(jīng)非常緊迫和嚴(yán)峻.工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)處理中的隱私保護(hù)需求、高效率需求和高準(zhǔn)確率需求等,都對傳統(tǒng)計(jì)算理論與計(jì)算技術(shù)提出了新的挑戰(zhàn)[2-3].
量子機(jī)器學(xué)習(xí)算法是利用量子疊加態(tài)提高機(jī)器學(xué)習(xí)效率的一種全新的工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)分析方法,隱私保護(hù)是量子機(jī)器學(xué)習(xí)研究的一個(gè)重要組成部分[4].目前已有不少關(guān)于量子機(jī)器學(xué)習(xí)隱私保護(hù)方案的研究,然而,這些方案幾乎都很難同時(shí)保證算法的隱私性、準(zhǔn)確性和可用性,從而影響了算法的實(shí)用性.基于噪聲的差分隱私保護(hù)方案[5-9],其準(zhǔn)確性和可用性受噪聲的不確定性影響,并且隱私保護(hù)只在魯棒界內(nèi)有效;基于量子同態(tài)加密的隱私保護(hù)方案[10-12],需要完全可信的第三方來協(xié)助完成量子機(jī)器學(xué)習(xí)過程,運(yùn)算復(fù)雜度極高;基于量子多方安全計(jì)算的隱私保護(hù)方案[13-16],對用戶計(jì)算能力有較高要求,難以得到推廣.因此,工業(yè)互聯(lián)網(wǎng)環(huán)境下,基于量子機(jī)器學(xué)習(xí)的大數(shù)據(jù)分析研究的關(guān)鍵是隱私性、準(zhǔn)確性、復(fù)雜性和可用性的平衡.
本文的主要貢獻(xiàn)包括3個(gè)方面.
1) 提出了保護(hù)隱私的量子KNN算法,找到了一種對原始訓(xùn)練樣本集和待測樣本的加密方法,使得向量子云服務(wù)器輸入密文樣本可以得到與輸入原始樣本相同的預(yù)測結(jié)果.輸入數(shù)據(jù)的隱私得到了保護(hù),且服務(wù)器的量子算法本身不需要改變.由于輸入云服務(wù)器的是密文數(shù)據(jù),雖然輸出的結(jié)果與直接輸入原數(shù)據(jù)的輸出結(jié)果相同,但輸出結(jié)果不能揭示原數(shù)據(jù)的任何信息,即:①無法從輸出結(jié)果中提取和訓(xùn)練數(shù)據(jù)有關(guān)的信息;②無法從輸出結(jié)果中取得模型內(nèi)部的參數(shù)或結(jié)構(gòu);③無法從輸出結(jié)果中獲知某個(gè)特征數(shù)據(jù)是否包含在模型的訓(xùn)練集中.
2) 從模型隱私、預(yù)測結(jié)果隱私和輸入數(shù)據(jù)隱私等3個(gè)方面分析了本文方案的隱私安全性.本文算法中一個(gè)預(yù)測結(jié)果z反演回去對應(yīng)N+1個(gè)輸入數(shù)據(jù),很難通過多次訪問量子云服務(wù)器得到的預(yù)測結(jié)果反推模型、參數(shù)、輸入數(shù)據(jù)及其相關(guān)屬性特征,因此本文算法可以很好地抵御模型提取攻擊、模型逆向攻擊、成員推斷攻擊、屬性推理攻擊等.
3) 與已有的量子機(jī)器學(xué)習(xí)算法的隱私保護(hù)方案相比,本文隱私保護(hù)方案在隱私性、復(fù)雜度、可用性等3個(gè)方面均優(yōu)于已有方案,實(shí)現(xiàn)了保護(hù)隱私性的同時(shí),不增加額外計(jì)算開銷,不降低算法效率和可用性,不影響算法準(zhǔn)確性.經(jīng)典數(shù)據(jù)在輸入量子算法前由用戶進(jìn)行經(jīng)典加密,量子算法本身不需要改變,因此不會(huì)增加除經(jīng)典加密之外的其他工作量,更不會(huì)增加量子算法的計(jì)算工作量.經(jīng)典加密運(yùn)算可以依據(jù)量子加密運(yùn)算和量子化編碼運(yùn)算倒推得到,因此不是復(fù)雜運(yùn)算,也不會(huì)給用戶帶來過多的加密負(fù)擔(dān).
現(xiàn)有的量子機(jī)器學(xué)習(xí)隱私保護(hù)主要圍繞著以下3類隱私保護(hù)技術(shù)展開研究:基于差分隱私的隱私保護(hù)技術(shù)、基于同態(tài)加密的隱私保護(hù)技術(shù)和基于安全多方計(jì)算的隱私保護(hù)技術(shù).
量子差分隱私是差分隱私的量子方案,目前已經(jīng)被用于分類、回歸和神經(jīng)網(wǎng)絡(luò)等量子機(jī)器學(xué)習(xí)模型的隱私保護(hù).Du等人[5]利用量子信道的去極化噪聲提出了量子分類器的差分隱私保護(hù)方案,給出了抗擾動(dòng)的魯棒性界.Senekane等人[6]在經(jīng)典輸入數(shù)據(jù)集上添加離散的拉普拉斯噪聲,實(shí)現(xiàn)了量子邏輯回歸機(jī)器學(xué)習(xí)模型的隱私保護(hù).Zhou等人[7]基于廣義振幅阻尼噪聲、相位振幅阻尼噪聲和去極化噪聲分別給出了3種量子噪聲隱私保護(hù)機(jī)制.Watkins等人[8]提出了基于差分隱私框架的量子機(jī)器學(xué)習(xí)算法,通過基于高斯噪聲的差分隱私優(yōu)化算法實(shí)現(xiàn)隱私保護(hù).Du等人[9]利用量子去極化噪聲差分隱私Lasso模擬器處理私有稀疏回歸學(xué)習(xí)任務(wù).
同態(tài)加密被廣泛應(yīng)用于量子計(jì)算以實(shí)現(xiàn)保護(hù)隱私的量子計(jì)算.Gong等人[10]提出了基于改進(jìn)T門更新的量子同態(tài)加密方法,實(shí)現(xiàn)了基于云服務(wù)器的保護(hù)隱私的量子K-means算法,算法中H門和T門數(shù)量的增加,導(dǎo)致算法復(fù)雜度增加,準(zhǔn)確性下降.Huang等人[11]首次在IBM量子云平臺(tái)上實(shí)現(xiàn)了基于同態(tài)加密的保護(hù)數(shù)據(jù)隱私的量子線性方程組求解.Fisher等人[12]通過量子同態(tài)加密實(shí)現(xiàn)了保護(hù)數(shù)據(jù)隱私的量子計(jì)算.
量子安全多方計(jì)算是安全多方計(jì)算的量子解決方案,目前已被用于量子機(jī)器學(xué)習(xí)的隱私保護(hù)研究.Sheng等人[13]提出了分布式安全量子機(jī)器學(xué)習(xí)協(xié)議,協(xié)議對客戶端的量子能力要求限制了它的應(yīng)用和推廣.Li等人[14]提出了一種基于盲量子計(jì)算的變分量子分類器私有單方委托訓(xùn)練協(xié)議,并將該協(xié)議擴(kuò)展到包含差分隱私的多方私有分布式學(xué)習(xí).Xia等人[15]提出量子聯(lián)邦學(xué)習(xí)框架QuantumFed,讓多個(gè)具有本地量子數(shù)據(jù)的量子節(jié)點(diǎn)一起訓(xùn)練模型.Chehimi等人[16]為具有量子計(jì)算能力的客戶端提出了完全量子聯(lián)邦學(xué)習(xí)框架.
本文提出的基于類同態(tài)加密的保護(hù)隱私的量子KNN算法,找到了一種對原始訓(xùn)練樣本集和待測樣本的加密方法,使得向量子云服務(wù)器輸入密文樣本可以得到與輸入原始樣本相同的預(yù)測結(jié)果.輸入數(shù)據(jù)的隱私得到了保護(hù),且服務(wù)器的量子算法本身不需要改變.與已有的量子機(jī)器學(xué)習(xí)算法的隱私保護(hù)方案相比,本文隱私保護(hù)方案在隱私性、復(fù)雜度、可用性等3個(gè)方面均優(yōu)于已有方案,實(shí)現(xiàn)了保護(hù)隱私性的同時(shí),不增加額外計(jì)算開銷,不降低算法效率和可用性,不影響算法準(zhǔn)確性.本文的研究為保護(hù)量子機(jī)器學(xué)習(xí)隱私提供了一種新方法,也為提高工業(yè)互聯(lián)網(wǎng)大數(shù)據(jù)分析在隱私性、高效性和準(zhǔn)確性等方面的綜合性能提供了一種新思路.
任意旋轉(zhuǎn)角度的單量子比特旋轉(zhuǎn)門可表示為2×2的酉矩陣U(θ)(其中θ為變量):

(1)
如果在任意量子態(tài)|φ〉=cosα|0〉+sinα|1〉上作用U(θ)操作,則該量子態(tài)變?yōu)?/p>

(2)
2個(gè)量子態(tài)|φ〉和|ω〉的保真度(相似度)是指兩量子態(tài)內(nèi)積范數(shù)的平方|〈φ|ω〉|2.任意2個(gè)維數(shù)相同的量子態(tài),通過SWAP-Test量子線路(圖1),可以得到2個(gè)量子態(tài)的保真度,反映了它們的重疊情況.

Fig. 1 SWAP-Test quantum circuit圖1 SWAP-Test量子電路
量子態(tài)|0〉,|φ〉,|ω〉輸入SWAP-Test線路后的運(yùn)算過程為
(3)

KNN算法是一種有監(jiān)督學(xué)習(xí)方法,其原理是:當(dāng)對測試樣本進(jìn)行分類時(shí),首先通過掃描訓(xùn)練樣本集,找到與該測試樣本最相似的k個(gè)訓(xùn)練樣本,然后根據(jù)這k個(gè)樣本的類別進(jìn)行投票確定測試樣本的類別.下面我們從KNN算法的輸入和具體步驟2方面來簡單描述KNN算法.
1) 輸入:訓(xùn)練樣本集(含標(biāo)簽)和待測樣本
訓(xùn)練樣本集表示為X={X1,X2,…,XN},其中Xi=〈Xi1,Xi2,…,Xid〉(i∈[1,N])表示訓(xùn)練樣本集中的第i個(gè)樣本,Xij(j∈[1,d])表示樣本Xi的第j個(gè)屬性.
待測樣本表示為Y0=〈Y01,Y02,…,Y0d〉,其中Y0j(j∈[1,d])表示樣本Y0的第j個(gè)屬性.
2) 步驟
① 通過交叉驗(yàn)證確定k的取值,將樣本數(shù)據(jù)按比例拆分為訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù),先給定一個(gè)小的k值,將訓(xùn)練數(shù)據(jù)作為訓(xùn)練樣本,驗(yàn)證數(shù)據(jù)做待測樣本,運(yùn)行KNN算法的步驟②~④,不斷增加k值,然后計(jì)算驗(yàn)證數(shù)據(jù)集合的方差,最終找到一個(gè)比較合適的k值.
② 求待測樣本和訓(xùn)練樣本集中每個(gè)樣本的相似度(常見計(jì)算距離的方法有曼哈頓距離算法和歐氏距離算法等).
③ 按照距離的遞增關(guān)系進(jìn)行排序,選取距離最小的k個(gè)點(diǎn),即取k個(gè)最相似的數(shù)據(jù).
④ 選擇k個(gè)最相似訓(xùn)練樣本中出現(xiàn)次數(shù)最多的分類作為待測樣本的預(yù)測分類.
顯然,KNN算法的步驟①本質(zhì)上還是通過執(zhí)行KNN算法的步驟②~④確定最優(yōu)k值,因此,在后續(xù)的量子KNN算法中著重介紹步驟②~④.
量子KNN算法(quantumK-nearest neighbor, QKNN)是將量子計(jì)算思想運(yùn)用到經(jīng)典KNN算法中,利用量子計(jì)算的高并行性優(yōu)勢,對經(jīng)典KNN算法進(jìn)行指數(shù)級加速.下面我們從量子KNN算法的輸入前準(zhǔn)備、輸入和具體步驟等3個(gè)方面來簡單描述量子KNN算法.
1) 前期準(zhǔn)備
將訓(xùn)練樣本集和待測樣本中的屬性值歸一化,得到歸一化的訓(xùn)練樣本集x={x1,x2,…,xN},其中xi=〈xi1,xi2,…,xid〉(i∈[1,N])表示歸一化的訓(xùn)練樣本集中的第i個(gè)樣本,xij(j∈[1,d])表示歸一化樣本xi的第j個(gè)歸一化屬性.歸一化待測樣本y0=〈y01,y02,…,y0d〉,其中y0j(j∈[1,d])表示歸一化待測樣本y0的第j個(gè)歸一化的屬性.
2) 輸入
輸入歸一化的訓(xùn)練樣本集x和待測樣本y0.
3) 步驟
① 將歸一化的訓(xùn)練樣本集x和待測樣本y0分別編碼為量子疊加態(tài).歸一化待測樣本量子疊加態(tài)表示為

(4)
其中sinα0j=y0j.歸一化訓(xùn)練樣本集量子疊加態(tài)表示為

(5)
其中sinβij=xij.
② 求待測樣本和訓(xùn)練樣本集中每個(gè)樣本的相似度.將|y0〉和|x〉輸入SWAP-Test門,輸出量子態(tài)|γ〉,即:
(6)
|γ〉也可以表示為

(7)
其中
(8)
式(8)中“=”兩端都表示|γ〉態(tài)的第1個(gè)量子位測得|1〉的概率.
(9)
如果用d(y0,xi)來表征待測樣本y0和訓(xùn)練樣本xi的相似度,那么d(y0,xi)值越小,y0和xi的相似度越大.通過相位估計(jì)將相似度轉(zhuǎn)換到量子比特上.
③ 用Grover搜索算法取k個(gè)最相似的數(shù)據(jù).
④ 選擇k個(gè)訓(xùn)練樣本中出現(xiàn)次數(shù)最多的分類作為待測樣本的分類.
1) 類同態(tài)加密
定義1.量子構(gòu)件三元組表示為T(in,Bq(·),out), 其中Bq(·)是量子構(gòu)件的基本量子算法,in是基本量子算法的量子態(tài)輸入,out是基本量子算法的輸出,三者之間的關(guān)系可表示為Bq(in)=out.
定義2.假設(shè)經(jīng)典數(shù)據(jù)表示為a,Q表示對經(jīng)典數(shù)據(jù)的量子化編碼方法,E是一種經(jīng)典數(shù)據(jù)加密方法,V為其對應(yīng)的量子加密方法,存在關(guān)系:
V(Q(a))=Q(E(a)).
(10)
若能找到一種加密方法,滿足條件
Bq(Q(E(a)))=Bq(Q(a)),
(11)
則稱我們找到了能保護(hù)該量子構(gòu)件隱私的類同態(tài)加密算法.式(11)的含義是:對經(jīng)典數(shù)據(jù)先加密再量子化后輸入量子構(gòu)件的基本量子算法,其輸出結(jié)果與直接對經(jīng)典數(shù)據(jù)量子化后輸入量子構(gòu)件基本量子算法的輸出結(jié)果相同.
如果存在經(jīng)典加密算法和對應(yīng)的量子加密算法滿足上述關(guān)系,就可以認(rèn)為:用戶可以先對要輸入量子構(gòu)件的數(shù)據(jù)進(jìn)行加密,再輸入量子構(gòu)件基本量子算法,其輸出的結(jié)果與直接將數(shù)據(jù)(不加密)輸入量子構(gòu)件結(jié)果相同,輸入數(shù)據(jù)(可以是訓(xùn)練數(shù)據(jù)集、模型的參數(shù)和權(quán)重等)的隱私得到了保護(hù),且量子構(gòu)件的基本量子算法本身不需要改變.由于輸入的是加密后的數(shù)據(jù),雖然輸出的結(jié)果與直接輸入原數(shù)據(jù)的輸出結(jié)果相同,但輸出結(jié)果不能揭示原數(shù)據(jù)的任何信息,即:①無法從輸出結(jié)果中提取和訓(xùn)練數(shù)據(jù)有關(guān)的信息;②無法從輸出結(jié)果中取得模型內(nèi)部的參數(shù)或結(jié)構(gòu);③無法從輸出結(jié)果中獲知某個(gè)特征數(shù)據(jù)是否包含在模型的訓(xùn)練集中.
因此,如果能夠找到滿足以上3個(gè)條件的加密函數(shù)V和E,就找到了保護(hù)量子構(gòu)件隱私的方法.步驟為:
① 設(shè)計(jì)或找到一種量子加密方法V滿足
Bq(V(Q(a)))=Bq(Q(a)).
(12)
② 根據(jù)經(jīng)典數(shù)據(jù)量子化編碼的規(guī)則,反推量子加密方法V對應(yīng)的經(jīng)典加密方法E,使得它們滿足
V(Q(a))=Q(E(a)).
(13)
2) SWAP-Test內(nèi)積運(yùn)算的類同態(tài)加密
① 量子化編碼規(guī)則.任意的歸一化經(jīng)典數(shù)據(jù)y按幅度編碼規(guī)則編碼為量子疊加態(tài),即:
|φ〉=cosμ|0〉+sinμ|1〉,
(14)
其中μ=arcsiny.
② 任意2個(gè)量子疊加態(tài)|φ1〉=cosμ1|0〉+sinμ1|1〉和|φ2〉=cosμ2|0〉+sinμ2|1〉輸入SWAP-Test線路求內(nèi)積的結(jié)果為
〈φ1|φ2〉=cos(μ1-μ2).
(15)
量子旋轉(zhuǎn)門U(θ)作用在|φ1〉和|φ2〉分別得到
U(θ)|φ1〉=cos(μ1+θ)|0〉+sin(μ1+θ)|1〉,
(16)
U(θ)|φ2〉=cos(μ2+θ)|0〉+sin(μ2+θ)|1〉.
(17)
U(θ)|φ1〉和U(θ)|φ2〉輸入SWAP-Test線路求內(nèi)積的結(jié)果為
〈U(θ)φ1|U(θ)φ2〉=cos(μ1+θ-μ2-θ)= cos(μ1-μ2)=〈φ1|φ2〉.
(18)
③ 根據(jù)①中的量子化編碼規(guī)則,推導(dǎo)出量子加密U(θ)|φ〉對應(yīng)的經(jīng)典加密函數(shù)為
E(θ,y)=sin(arcsiny+θ).
(19)
3) 基于SWAP-Test類同態(tài)加密的量子KNN隱私保護(hù)算法
① 數(shù)據(jù)集加密

(20)
其中α0j=arcsiny0j.
(21)
其中βij=arcsinxij.
② 輸入

③ 步驟


(22)
訓(xùn)練樣本集密文x*編碼為量子疊加態(tài),即:

(23)


(24)

(25)

(26)

(27)

Ⅲ.用Grover搜索算法取k個(gè)最相似的數(shù)據(jù).
Ⅳ.選擇k個(gè)訓(xùn)練樣本中出現(xiàn)次數(shù)最多的分類作為待測樣本的分類.

機(jī)器學(xué)習(xí)的隱私保護(hù)分為對用戶輸入數(shù)據(jù)的保護(hù)、機(jī)器學(xué)習(xí)模型的保護(hù)和機(jī)器學(xué)習(xí)預(yù)測結(jié)果的保護(hù).攻擊者對機(jī)器學(xué)習(xí)的攻擊,因階段不同,采取的攻擊方式也不同.Rigaki等人[17]調(diào)查研究了針對機(jī)器學(xué)習(xí)的所有可能隱私攻擊,并對已有的隱私攻擊方式及隱私泄露的原因進(jìn)行了分析和總結(jié).下面,我們從模型提取隱私、預(yù)測結(jié)果隱私和輸入數(shù)據(jù)隱私等3個(gè)方面分析本文方案的隱私安全性.
在機(jī)器學(xué)習(xí)模型安全性的研究中,Papernot等人[18]引入了信息安全CIA理論,指出機(jī)器學(xué)習(xí)模型安全包括模型的機(jī)密性、完整性和可用性.現(xiàn)有的模型隱私攻擊大部分是針對模型機(jī)密性的攻擊,常用的攻擊方式是模型提取攻擊[19].模型提取攻擊是指攻擊者訪問云服務(wù)器機(jī)器學(xué)習(xí)模型后,獲取模型的參數(shù)或者構(gòu)建一個(gè)等價(jià)的模型.一方面,如果云服務(wù)器提供收費(fèi)的機(jī)器學(xué)習(xí)服務(wù),那么通過模型提取攻擊獲取服務(wù)模型就會(huì)破壞云服務(wù)的收費(fèi)模式,對云服務(wù)器造成損失;另一方面,攻擊者通過多次訪問模型得到的數(shù)據(jù)反饋,可能會(huì)推斷出訓(xùn)練數(shù)據(jù)的信息,導(dǎo)致用戶訓(xùn)練數(shù)據(jù)的泄露,對用戶造成損失.
本文提出的保護(hù)隱私的量子KNN算法是一種非參數(shù)模型算法,算法中的參數(shù)k不通過用戶數(shù)據(jù)訓(xùn)練得到.為構(gòu)建一個(gè)等價(jià)模型及獲取參數(shù)k的值,攻擊者用多次訪問云服務(wù)器量子算法模型反饋的結(jié)果以及對應(yīng)的輸入構(gòu)建方程組:
(28)

攻擊者常常采用模型逆向攻擊和成員推斷攻擊等方式,對機(jī)器學(xué)習(xí)模型產(chǎn)生的預(yù)測結(jié)果進(jìn)行隱私攻擊.模型逆向攻擊是指攻擊者從預(yù)測結(jié)果中推斷出用戶訓(xùn)練數(shù)據(jù)的信息[19].攻擊者首先使用自身構(gòu)造的數(shù)據(jù)訪問云服務(wù)器,得到構(gòu)造數(shù)據(jù)的輸出結(jié)果,進(jìn)而使用模型提取攻擊構(gòu)建服務(wù)器等價(jià)(模擬)機(jī)器學(xué)習(xí)模型,當(dāng)截獲用戶輸入數(shù)據(jù)的預(yù)測結(jié)果時(shí),通過攻擊者模擬的模型進(jìn)行反演,則可以得到用戶輸入的訓(xùn)練數(shù)據(jù).
攻擊者構(gòu)建的等價(jià)(模擬)模型表示為
f(x1,x2,…,xm)=y,
(29)
其中xm為攻擊者構(gòu)造的輸入數(shù)據(jù)的第m個(gè)屬性,f(·)為攻擊者模擬的模型,y為攻擊者利用模擬模型獲取的預(yù)測結(jié)果.
當(dāng)攻擊者獲取到云服務(wù)器模型對用戶輸入訓(xùn)練數(shù)據(jù)的預(yù)測結(jié)果y′時(shí),將其代入攻擊者模擬的模型,則可以通過以下式子還原出用戶輸入的訓(xùn)練數(shù)據(jù):
(30)
本文提出的保護(hù)隱私的量子KNN算法中,用戶將數(shù)據(jù)(待測樣本和訓(xùn)練樣本集)傳輸?shù)皆品?wù)器前先進(jìn)行了加密,該加密對數(shù)據(jù)的影響等價(jià)于云服務(wù)器對原始待測樣本量子疊加態(tài)和訓(xùn)練樣本集量子疊加態(tài)分別進(jìn)行了U(θ)操作(θ可以是任意角度).
(31)
其中g(shù)(·)為云服務(wù)器的真實(shí)量子算法模型,E(θN,x)表示用θN角度加密訓(xùn)練樣本集,E(θN,y0)表示用θN角度加密待測樣本,z為云服務(wù)器模型預(yù)測結(jié)果.式(31)描述了本文保護(hù)隱私的量子KNN算法的隱私保護(hù)基本原理,即只要對訓(xùn)練樣本集和待測樣本選用相同的角度旋轉(zhuǎn)加密,對于選取的任意角度,云服務(wù)器模型都會(huì)得到相同的預(yù)測結(jié)果.這意味著用一個(gè)預(yù)測結(jié)果z反演回去可能會(huì)反演出N+1個(gè)輸入數(shù)據(jù):{{x,y0},{E(θ1,x),E(θ1,y0)},{E(θ2,x),E(θ2,y0)},…,{E(θN,x),E(θN,y0)}}.
假定攻擊者模擬的模型無限接近云服務(wù)器的真實(shí)模型,并且獲取的預(yù)測結(jié)果是準(zhǔn)確的,攻擊者進(jìn)行模型逆向攻擊,反演出的用戶輸入數(shù)據(jù)可能是用任意θ角加密原始數(shù)據(jù)的結(jié)果,因此,攻擊者很難還原出用戶的真實(shí)數(shù)據(jù).
成員推斷攻擊[20]用于判斷輸入的指定樣本是否為訓(xùn)練樣本集的一部分.攻擊者將指定樣本輸入云服務(wù)器真實(shí)模型得到預(yù)測結(jié)果,同時(shí)攻擊者也將指定樣本輸入模擬模型得到模擬預(yù)測結(jié)果,通過對比真實(shí)預(yù)測結(jié)果和模擬預(yù)測結(jié)果,再結(jié)合模擬模型推導(dǎo)出指定樣本是否為訓(xùn)練樣本集的一部分.由于本文算法中一個(gè)預(yù)測結(jié)果z反演回去對應(yīng)N+1個(gè)輸入數(shù)據(jù),因此很難通過成員推斷攻擊判斷輸入的指定樣本是否為訓(xùn)練樣本集的一部分.
此外,很顯然,模型逆向攻擊和成員推斷攻擊都以模型提取攻擊為前提,因此,在本文算法中,模型逆向攻擊和成員推斷攻擊都較模型提取攻擊更難成功.
屬性推理攻擊是常見的一種針對輸入數(shù)據(jù)隱私進(jìn)行攻擊的方式[21],體現(xiàn)了攻擊者提取沒有編碼為特征或與機(jī)器學(xué)習(xí)數(shù)據(jù)集不相關(guān)的屬性的能力.攻擊者利用提取到的無關(guān)屬性進(jìn)行推理,進(jìn)而得到數(shù)據(jù)集中有特征的屬性值,例如通過癌癥患者的性別等無關(guān)致癌的屬性值推理出導(dǎo)致癌癥指標(biāo)的相關(guān)屬性值.
在本文的隱私保護(hù)方案中,假設(shè)攻擊者有能力獲取到用戶輸入到云服務(wù)器量子模型的數(shù)據(jù)(訓(xùn)練樣本集密文和待測樣本密文),假設(shè)攻擊者也知道客戶端加密的方法,但客戶端加密的密鑰θ是保密的,攻擊者基于以上2項(xiàng)已知信息,無法推導(dǎo)出原始數(shù)據(jù)明文.假設(shè)客戶端多次將同一組數(shù)據(jù)送到量子云服務(wù)器進(jìn)行分類運(yùn)算,每次都采用不同的密鑰加密數(shù)據(jù),那攻擊者也只能推導(dǎo)出任意2個(gè)密鑰的差值θi-θj,這對還原出原始數(shù)據(jù)集的相關(guān)屬性信息沒有任何幫助.
此外,用戶對原始數(shù)據(jù)集進(jìn)行任意角度θ加密,會(huì)導(dǎo)致數(shù)據(jù)集中所有屬性的特征分布都發(fā)生改變,攻擊者利用加密后的數(shù)據(jù)集進(jìn)行推理,也只可能推理出加密后的屬性信息,無法推導(dǎo)出原始數(shù)據(jù)集的特征屬性信息.

Fig. 2 Feature distribution of data set圖2 數(shù)據(jù)集特征分布
IRIS數(shù)據(jù)集是常用的分類實(shí)驗(yàn)數(shù)據(jù)集,數(shù)據(jù)集中的每個(gè)數(shù)據(jù)包含4個(gè)屬性(花萼長度、花萼寬度、花瓣長度和花瓣寬度),可通過4個(gè)屬性預(yù)測鳶尾花卉的類別.本文選取了IRIS數(shù)據(jù)集中的2類花卉(山鳶尾與雜色鳶尾)作為數(shù)據(jù)隱私攻擊分析的對象,考察每個(gè)花卉的3個(gè)屬性(花萼長度、花萼寬度和花瓣長度),分別展示了原始數(shù)據(jù)集的特征分布和用θ=π/8角旋轉(zhuǎn)加密后的密文數(shù)據(jù)集的特征分布.圖2(a)是原始數(shù)據(jù)集的特征分布圖,圖2(b)是對原始數(shù)據(jù)集進(jìn)行θ=π/8角旋轉(zhuǎn)加密后的密文數(shù)據(jù)集的特征分布圖.顯然,θ角旋轉(zhuǎn)加密操作使得原始數(shù)據(jù)集中各屬性的特征分布發(fā)生了變化,攻擊者利用密文數(shù)據(jù)集,很難推導(dǎo)出原始數(shù)據(jù)集的屬性特征.
目前有關(guān)量子機(jī)器學(xué)習(xí)隱私保護(hù)的研究還比較少.Gong等人[10]提出了基于改進(jìn)T門更新的量子同態(tài)加密方法,實(shí)現(xiàn)了基于云服務(wù)器的保護(hù)隱私[22]的量子K-means算法,該算法需要完全可信的第三方參與密鑰的更新.Gong等人提出的量子K-means同態(tài)隱私保護(hù)方案資源花銷較大,且對客戶端的運(yùn)算能力要求高,雖然引入了完全可信的第三方,但也造成了不穩(wěn)定的因素.與之相比,本文保護(hù)隱私的量子KNN算法有4個(gè)優(yōu)勢:
1) 經(jīng)典數(shù)據(jù)在輸入量子算法前由客戶端用戶進(jìn)行經(jīng)典加密,服務(wù)端量子算法本身不需要改變,因此不會(huì)增加除經(jīng)典加密之外的其他工作量,更不會(huì)增加量子算法的計(jì)算工作量.經(jīng)典加密運(yùn)算是簡單的反三角函數(shù)運(yùn)算(其作用相當(dāng)于對輸入量子態(tài)的一次U(θ)操作),不是復(fù)雜運(yùn)算,也不會(huì)給用戶帶來過多的加密負(fù)擔(dān).而Gong等人使用的T門運(yùn)算包含了其他基礎(chǔ)泡利門(如泡利X,Y,Z門),其運(yùn)算復(fù)雜度隨著加入的量子門數(shù)量的增加而增加,運(yùn)算準(zhǔn)確度隨著量子門數(shù)量的增加而降低(環(huán)境噪聲影響).
2) 本文方案不涉及多次量子態(tài)疊加和去疊加,在運(yùn)算過程中信息量的損失少.
3) 本文提出的隱私保護(hù)方法是基于量子構(gòu)件的隱私保護(hù),利用受控SWAP線路的運(yùn)算特性,能對輸入的原始數(shù)據(jù)集和密文數(shù)據(jù)集產(chǎn)生相同的輸出結(jié)果,但云服務(wù)器只知道密文數(shù)據(jù)集,不知道原始數(shù)據(jù)集,從而實(shí)現(xiàn)隱私保護(hù).本文方案的運(yùn)算復(fù)雜度為普通量子KNN算法的復(fù)雜度,既實(shí)現(xiàn)了隱私保護(hù),又沒有增加整體分類算法的復(fù)雜度,也沒有降低算法的可用性和準(zhǔn)確性.
4) 本文提出的量子KNN算法的隱私保護(hù)方案操作簡單,能夠推廣到其他量子機(jī)器學(xué)習(xí)算法中,而Gong等人的方案不具有一般性,只適用于某些特定的量子機(jī)器學(xué)習(xí)算法.
Du等人[5]提出了一種使用量子噪聲來保護(hù)量子分類器免受對抗攻擊的方法,在實(shí)現(xiàn)分類任務(wù)的量子電路里添加去極化噪聲實(shí)現(xiàn)差分隱私保護(hù),提高了量子機(jī)器學(xué)習(xí)的魯棒性,并且魯棒性會(huì)隨著噪聲的增大而增大,但由于量子噪聲的不可控,也導(dǎo)致了使用該方法進(jìn)行隱私保護(hù)時(shí)的不確定性.
與Du等人的方案對比:1)Du的方案使用去極化噪聲添加到量子線路,存在量子噪聲不可控、實(shí)現(xiàn)難度高、計(jì)算復(fù)雜度由不同機(jī)器學(xué)習(xí)任務(wù)而改變等問題;而本文提出的隱私保護(hù)方法操作簡單、加密可控、易實(shí)現(xiàn)且計(jì)算復(fù)雜度低.2)Du等人的方案存在一定的局限性,只針對了差分隱私攻擊進(jìn)行隱私保護(hù),沒有對用戶輸入數(shù)據(jù)進(jìn)行保護(hù);而本文的方案直接對用戶輸入數(shù)據(jù)集進(jìn)行保護(hù),因此可以抵御常見的攻擊.3)由于容錯(cuò)計(jì)算的要求,Du等人提出的方案中量子電路的規(guī)模與深度受到一定的限制;而本文提出的方案沒有對量子機(jī)器學(xué)習(xí)過程添加噪聲,可以適用于任意規(guī)模的量子機(jī)器學(xué)習(xí)算法.
Watkins等人提出了差分隱私保護(hù)的混合量子經(jīng)典模型[8],能在不降低量子機(jī)器學(xué)習(xí)算法精度的同時(shí)實(shí)現(xiàn)對本地用戶隱私的保護(hù),并且在經(jīng)典計(jì)算機(jī)上對該模型進(jìn)行模擬和測試,證明了量子機(jī)器學(xué)習(xí)中使用差分隱私對數(shù)據(jù)進(jìn)行保護(hù)時(shí),仍然能保持模型的精度與機(jī)密性.
與Watkins等人提出的方案對比:1)Watkins等人提出的混合量子經(jīng)典模型的隱私保護(hù)方案是在經(jīng)典計(jì)算機(jī)上實(shí)現(xiàn);而本文提出的方案則是在量子計(jì)算機(jī)運(yùn)行實(shí)現(xiàn),因此Watkins的方案在量子設(shè)備上的實(shí)現(xiàn)還需進(jìn)一步研究.2)Watkins等人的方案是通過使用差分隱私的方法來對數(shù)據(jù)進(jìn)行查詢保護(hù),由于差分隱私針對的是本地私有化查詢,在云服務(wù)器的模式下該方法不能保護(hù)用戶輸入數(shù)據(jù)的隱私;而本文的方案在云服務(wù)模式下不僅能對用戶輸入數(shù)據(jù)進(jìn)行隱私保護(hù),也能抵御對數(shù)據(jù)的查詢攻擊.3)Watkins等人的方案使用高斯噪聲進(jìn)行差分隱私保護(hù),由于噪聲的不確定性,對不同量子機(jī)器學(xué)習(xí)任務(wù)進(jìn)行保護(hù)時(shí)效果也各不相同;而本文的方案沒有引入噪聲,因此對不同的量子機(jī)器學(xué)習(xí)算法都具有普適性.
將本方案與現(xiàn)有量子機(jī)器學(xué)習(xí)隱私保護(hù)方案進(jìn)行對比分析,如表1所示:

Table 1 Comparison of Quantum Machine Learning Privacy Protection Schemes
因此本文提出的量子KNN算法隱私保護(hù)方案與量子KNN算法相比,在保證復(fù)雜度相同的情況下,能達(dá)到隱私保護(hù)的目的,與目前已有的量子機(jī)器學(xué)習(xí)隱私保護(hù)算法相比,有易實(shí)現(xiàn)、計(jì)算復(fù)雜度低等特點(diǎn),并且只需用戶和云服務(wù)器兩方即可完成,無需第三方的加入.綜合比較可以得出,本文提出的方法能以更簡單的運(yùn)算達(dá)到隱私保護(hù)的目的,并且不會(huì)引起算法復(fù)雜度的提升以及較多的信息損失.
本文提出了保護(hù)隱私的量子KNN算法,找到了一種對原始訓(xùn)練樣本集和待測樣本的加密方法,使得輸入密文樣本可以得到與輸入原始樣本相同的預(yù)測結(jié)果.從模型提取隱私、預(yù)測結(jié)果隱私和輸入數(shù)據(jù)隱私等3個(gè)方面分析本文方案的隱私安全性,發(fā)現(xiàn)在本文方案中攻擊者很難獲取與模型、預(yù)測結(jié)果和輸入數(shù)據(jù)相關(guān)的隱私信息.與已有的量子機(jī)器學(xué)習(xí)算法的隱私保護(hù)方案[5,8,10]對比,本文隱私保護(hù)方案在隱私性、復(fù)雜度、可用性等3個(gè)方面均優(yōu)于已有方案,實(shí)現(xiàn)了保護(hù)隱私性的同時(shí),不增加額外計(jì)算開銷,不降低算法效率和可用性,不影響算法準(zhǔn)確性.
作者貢獻(xiàn)聲明:昌燕負(fù)責(zé)算法設(shè)計(jì);林雨生負(fù)責(zé)安全性分析;黃思維負(fù)責(zé)文獻(xiàn)整理;張仕斌負(fù)責(zé)整體文字把關(guān).