韋韜 潘無(wú)窮 李婷婷 衛(wèi)振強(qiáng)
(螞蟻科技集團(tuán)股份有限公司,杭州 310063)
數(shù)據(jù)流通對(duì)于國(guó)家信息化進(jìn)程、產(chǎn)業(yè)數(shù)字化轉(zhuǎn)型是必不可缺的。以前,為了便利數(shù)據(jù)生產(chǎn)加工和導(dǎo)入導(dǎo)出,許多應(yīng)用系統(tǒng)常常直接基于明文數(shù)據(jù)進(jìn)行開發(fā)和流通。在這個(gè)過(guò)程中,數(shù)據(jù)流過(guò)的每一家機(jī)構(gòu)都有可能會(huì)拷貝一份明文數(shù)據(jù)。隨著傳播路徑的擴(kuò)散,擁有這份數(shù)據(jù)的機(jī)構(gòu)越來(lái)越多。任何一個(gè)機(jī)構(gòu)出現(xiàn)數(shù)據(jù)濫用或者泄露,都會(huì)產(chǎn)生嚴(yán)重影響。可見,明文流通有著顯著危害。
《中華人民共和國(guó)網(wǎng)絡(luò)安全法》《中華人民共和國(guó)數(shù)據(jù)安全法》《中華人民共和國(guó)個(gè)人信息保護(hù)法》等都明確規(guī)定數(shù)據(jù)的持有者必須要確保所持有的數(shù)據(jù)安全,并且對(duì)數(shù)據(jù)的使用進(jìn)行了嚴(yán)格的限制。在大部分場(chǎng)景下,除了匿名化之后的數(shù)據(jù)或者已經(jīng)取得用戶授權(quán)的數(shù)據(jù),是不允許任意流通的。在這種情況下,密態(tài)流通無(wú)疑是最好的選擇,能夠更好地控制數(shù)據(jù)的使用和流通范圍。
在數(shù)據(jù)要素行業(yè)發(fā)展、安全、法規(guī)等多種因素的作用下,密態(tài)數(shù)據(jù)流通會(huì)成為未來(lái)數(shù)據(jù)流通的主要形式,促進(jìn)各行各業(yè)安全合規(guī)的蓬勃發(fā)展,并最終迎來(lái)密態(tài)時(shí)代。當(dāng)前密態(tài)時(shí)代才剛剛開啟,未來(lái)涉及到的場(chǎng)景、處理的數(shù)據(jù)規(guī)模、模型的復(fù)雜程度都將遠(yuǎn)遠(yuǎn)大于現(xiàn)在。在底層支撐的數(shù)據(jù)密態(tài)技術(shù),一定要達(dá)到作為廣泛性業(yè)務(wù)基礎(chǔ)設(shè)施的技術(shù)門檻。
(1)性能足夠高。在全場(chǎng)景覆蓋、大數(shù)據(jù)、復(fù)雜模型的需求下,密態(tài)計(jì)算的性能要足夠高。理想情況下,對(duì)于樹模型這類中等復(fù)雜度的機(jī)器學(xué)習(xí)訓(xùn)練問(wèn)題,性能要達(dá)到每小時(shí)處理億級(jí)數(shù)據(jù)。
(2)穩(wěn)定性足夠強(qiáng)。在全場(chǎng)景覆蓋、實(shí)時(shí)場(chǎng)景的需求下,密態(tài)計(jì)算要足夠的穩(wěn)定,要能夠達(dá)到和其他基礎(chǔ)設(shè)施一樣的穩(wěn)定性,在關(guān)鍵應(yīng)用領(lǐng)域至少能夠達(dá)到99.99%,甚至更高。
(3)成本足夠低。為了不對(duì)現(xiàn)有計(jì)算資源和網(wǎng)絡(luò)資源造成嚴(yán)重沖擊,密態(tài)計(jì)算相對(duì)明文計(jì)算的成本增長(zhǎng)最好控制在一個(gè)數(shù)量級(jí)以內(nèi)。
(4)適用性足夠廣。在全場(chǎng)景覆蓋的情況下,密態(tài)計(jì)算要能夠支持任意的處理邏輯,尤其是靈活地支持不同數(shù)量的參與方。
(5)安全性足夠高且達(dá)成行業(yè)共識(shí)。密態(tài)計(jì)算的安全性要足夠高,客觀上要能夠抵御潛在的攻擊。另外,在滿足安全需求的情況下應(yīng)選擇性價(jià)比最高的方案,且該方案要能夠得到行業(yè)共識(shí)。
匿名化技術(shù)和隱私計(jì)算技術(shù)是密態(tài)時(shí)代的基礎(chǔ)技術(shù)。密態(tài)時(shí)代對(duì)這兩項(xiàng)技術(shù)的需求也超過(guò)以往的任何時(shí)刻。
匿名化,是指?jìng)€(gè)人信息經(jīng)過(guò)處理無(wú)法識(shí)別特定自然人且不能復(fù)原的過(guò)程[1]。匿名化之后的信息在流通的時(shí)候,即便泄露也不會(huì)泄露個(gè)人信息。個(gè)人的隱私權(quán)可以得到保障,也不會(huì)因?yàn)樾畔⑿孤秾?dǎo)致詐騙等。
隱私計(jì)算技術(shù)是指多個(gè)參與方在不泄露自己數(shù)據(jù)的情況下進(jìn)行聯(lián)合計(jì)算的技術(shù)。相比于匿名化只是保護(hù)身份信息,隱私計(jì)算技術(shù)則保護(hù)所有的數(shù)據(jù)信息,能夠有效地阻止因數(shù)據(jù)流通帶來(lái)的信息泄露風(fēng)險(xiǎn),并且能夠充分保證數(shù)據(jù)所有者的權(quán)益。
匿名化的過(guò)程通常是對(duì)數(shù)據(jù)進(jìn)行模糊處理,比如添加噪聲或者區(qū)間化。一些匿名化后的數(shù)據(jù),看似與個(gè)人信息無(wú)關(guān),但是通過(guò)深入的數(shù)學(xué)分析仍能定位出個(gè)人信息。2015年的《科學(xué)》雜志載文稱,MIT研究人員[2]發(fā)現(xiàn),利用4筆匿名信用卡的交易信息,就可以識(shí)別出90%的信用卡持有者的真實(shí)身份。2006年,視頻網(wǎng)站Netflix公布了用戶的匿名化信息,但研究人員發(fā)現(xiàn),通過(guò)8部電影的評(píng)分信息,就可以唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)中99%的用戶[3]。
可以從信息熵的角度解釋為什么匿名化總是失效。全球有80 億人口,有33 bit的熵就可以唯一定位一個(gè)人(233=80 億)。假設(shè)公布了33個(gè)特征,每個(gè)特征有1 bit有效信息,如果這些信息互不相關(guān),就達(dá)到了33 bit的熵。但典型的機(jī)器學(xué)習(xí)使用幾百個(gè)特征、每個(gè)特征幾十個(gè)比特,遠(yuǎn)遠(yuǎn)超過(guò)了上述上限。也就是說(shuō),在開放的空間中(匿名化信息能夠公開獲取),匿名化和個(gè)體粒度的數(shù)據(jù)要素價(jià)值是兩個(gè)不可調(diào)和的對(duì)立面。絕對(duì)匿名化的個(gè)體粒度信息實(shí)際上也不再具備使用價(jià)值。
1.2.1 多方安全計(jì)算
多方安全計(jì)算(Secure Muti-Party Computation,MPC)[4]是指基于密碼協(xié)議達(dá)到隱私計(jì)算的目標(biāo),一般包括秘密分享、混淆電路、不經(jīng)意傳輸?shù)?,并與加法同態(tài)等配合使用。MPC以基于模加的秘密分享最為常見[5]。例如,每個(gè)變量都被表示成兩(多)個(gè)隨機(jī)數(shù)的模加,x=x1+x2mod 264。
在這種表示下,計(jì)算加法是很容易的(對(duì)應(yīng)的分量相加),但是計(jì)算乘法就困難得多。在不降低安全性的情況下,一般采用不經(jīng)意傳輸或加法同態(tài),尤其是后者。圖1展示了“MPC+同態(tài)”下乘法的典型實(shí)現(xiàn)流程。甲、乙分別擁有敏感數(shù)據(jù)x、y,目標(biāo)共同計(jì)算z=xy,輸出z以秘密分享形式表示,即z=z1+z2。具體流程如下(對(duì)于維度適當(dāng)?shù)木仃囈策m用)。
(1)乙將自己的數(shù)據(jù)y加密后發(fā)送。
(2)甲生成一個(gè)用于掩蓋的隨機(jī)數(shù)r,并使用x、r、Enc(y)基于加法同態(tài)算法計(jì)算出Enc(xy+r)。
(3)乙解密獲得xy+r。
(4)甲、乙擁有的z的分量為z1=-r、z2=xy+r。
上述過(guò)程中的消耗是非常大的,需要一系列的加法同態(tài)操作和一次公網(wǎng)傳輸。加法同態(tài)的計(jì)算量與非對(duì)稱運(yùn)算相當(dāng)(如RSA、SM2),大約在ms級(jí);公網(wǎng)往返耗時(shí)在10 ms級(jí);公網(wǎng)傳輸耗時(shí)在100 us級(jí)(按1 000 bit傳輸量,10 Mbit/s 公網(wǎng)帶寬估計(jì))。雖然通過(guò)硬件加速、批處理等方式能夠一定程度上減少或分?jǐn)傆?jì)算消耗、公網(wǎng)往返耗時(shí),但是公網(wǎng)傳輸耗時(shí)是無(wú)法通過(guò)這些方式減少的。相比于明文計(jì)算乘法只需要一個(gè)CPU時(shí)鐘周期,約0.3 ns,兩者的差距在5~7個(gè)數(shù)量級(jí)(取決于批處理的量)。
乘法是整個(gè)計(jì)算生態(tài)的一個(gè)基礎(chǔ)操作,占比很大,導(dǎo)致MPC技術(shù)路線的性能比明文要低5~7個(gè)量級(jí),并且這個(gè)差距的很大一部分來(lái)自于公網(wǎng)耗時(shí),很難提升。
1.2.2 MPC+中心預(yù)計(jì)算
為了降低MPC技術(shù)的耗時(shí),“MPC+中心預(yù)計(jì)算”采用中立第三方進(jìn)行預(yù)計(jì)算[6]。具體地,引入一個(gè)中立第三方,在明文的形式下進(jìn)行一些預(yù)計(jì)算,然后將預(yù)計(jì)算結(jié)果分發(fā)給MPC的參與方,MPC的參與方實(shí)時(shí)進(jìn)行隱私乘法時(shí)就不再需要非對(duì)稱運(yùn)算等大的運(yùn)算量。
這種方式在安全性上有很大犧牲,如果中立第三方和其中一個(gè)參與方合謀,就可以獲得其他參與方的數(shù)據(jù)。也就是說(shuō),一個(gè)參與方不能完全依靠技術(shù)手段保證自己的數(shù)據(jù)安全。
雖然計(jì)算耗時(shí)很小,但本路線仍然像“MPC+同態(tài)”一樣每(批)次乘法都需要公網(wǎng)交互,考慮公網(wǎng)傳輸量一般較后者小,所以與明文的耗時(shí)差距大概在4~7個(gè)數(shù)量級(jí)(取決于批處理的量)。
1.2.3 聯(lián)邦學(xué)習(xí)
聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L)的底層也是采用MPC、加法同態(tài)等密碼協(xié)議,但是會(huì)把一些看似和原始數(shù)據(jù)無(wú)關(guān)的中間過(guò)程使用明文進(jìn)行計(jì)算,目的是提升計(jì)算性能。這些算法在設(shè)計(jì)之初時(shí)往往沒有進(jìn)行過(guò)充分論證。要特別說(shuō)明的是,這與一般的密碼算法設(shè)計(jì)有很大不同,后者一般要大量密碼專家進(jìn)行長(zhǎng)時(shí)間的論證。產(chǎn)生這種情況也是因?yàn)槊軕B(tài)時(shí)代到來(lái)的太過(guò)迅速。
過(guò)去公開的攻擊已經(jīng)表明[7-10],這種部分明文化的做法并不可靠,存在通過(guò)中間過(guò)程數(shù)據(jù)反推出原始信息的隱患。
另外,該思路仍然有一部分計(jì)算過(guò)程需要使用多方安全計(jì)算、加法同態(tài)等,所以雖然性能比多方安全計(jì)算要快,但仍然在相似量級(jí)上,計(jì)算成本依然居高不下。
1.2.4 全同態(tài)
全同態(tài)[11-12]支持在密文上直接進(jìn)行計(jì)算,效果等同于在明文上進(jìn)行計(jì)算再加密。但是目前的性能比MPC低,并且數(shù)據(jù)膨脹效應(yīng)非常顯著,適用范圍很小。
1.2.5 可信執(zhí)行環(huán)境
可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)能夠基于硬件提供一個(gè)隔離的運(yùn)行環(huán)境,其隔離性不受任何外部軟硬件和人員的影響,各方可以將數(shù)據(jù)匯聚到TEE中進(jìn)行融合計(jì)算。但是,TEE的安全性是依賴于技術(shù)體系設(shè)計(jì)和實(shí)現(xiàn)的正確性,受系統(tǒng)漏洞影響。目前,TEE的安全風(fēng)險(xiǎn)主要來(lái)自于側(cè)信道攻擊和供應(yīng)鏈攻擊[13-17]。尤其是一些供應(yīng)鏈異常的情況會(huì)導(dǎo)致攻擊者有機(jī)會(huì)在物理上接近TEE,進(jìn)而可以實(shí)施更多的攻擊手段。一旦攻擊成功,就有機(jī)會(huì)竊取TEE內(nèi)部的數(shù)據(jù)。
基于密碼的隱私計(jì)算技術(shù)與常見的密碼算法有很大不同,需要大量的公網(wǎng)交互,這些交互極大地限制了密碼算法的性能。在性能的壓力下,一些場(chǎng)景被迫采用有隱患的算法,即便如此,性能仍然嚴(yán)重受限于公網(wǎng)交互。TEE技術(shù)受供應(yīng)鏈等安全隱患影響,也面臨著顯著挑戰(zhàn)。
在絕對(duì)匿名化會(huì)損失數(shù)據(jù)價(jià)值的情況下,相對(duì)匿名化逐漸成為公認(rèn)的出路。相對(duì)匿名化指的是在不結(jié)合密鑰、外部場(chǎng)景信息的情況下,無(wú)法恢復(fù)出個(gè)人身份的匿名化技術(shù)。受控匿名化技術(shù)是指將相對(duì)匿名化的數(shù)據(jù)限制在受控環(huán)境中,切斷其與外部信息的關(guān)聯(lián),達(dá)到安全性近似絕對(duì)匿名化的效果。
在受控匿名化技術(shù)中,各個(gè)參與方需要在本地對(duì)用戶身份進(jìn)行去標(biāo)識(shí),同時(shí)在數(shù)據(jù)價(jià)值損失有限的前提下對(duì)屬性信息進(jìn)行模糊處理。上述處理之后的數(shù)據(jù)仍然要受到嚴(yán)格管控,禁止公開。為此,上述數(shù)據(jù)必須在受控環(huán)境中使用;并且該環(huán)境與外部的交互必須受到嚴(yán)格的管控,包括數(shù)據(jù)的存儲(chǔ)、傳輸、計(jì)算、研發(fā)等。圖2是受控匿名化技術(shù)典型的示例圖。
(1)參與者對(duì)ID等身份信息進(jìn)行去標(biāo)識(shí)。為了防止攻擊者建立去標(biāo)識(shí)前后的對(duì)應(yīng)關(guān)系,去標(biāo)識(shí)過(guò)程應(yīng)使用基于密鑰的密碼計(jì)算過(guò)程,比如HMAC或確定性加密算法,并且確保密鑰的安全。建議將密鑰存放在參與者本地的受控環(huán)境中,避免惡意的參與者獲取密鑰。
(2)參與者對(duì)用戶屬性信息進(jìn)行一定程度的模糊處理,如區(qū)間化、加噪聲等。在某些機(jī)器學(xué)習(xí)訓(xùn)練算法中,區(qū)間化和加噪聲本來(lái)就是其中一個(gè)步驟。這些操作能夠大幅增加通過(guò)屬性追蹤用戶身份的難度。
(3)所有參與者將去標(biāo)識(shí)之后的ID、模糊處理后的屬性信息傳輸?shù)绞芸丨h(huán)境中,在受控環(huán)境中進(jìn)行碰撞和融合計(jì)算。
(4)對(duì)受控環(huán)境與外部交互的各個(gè)通道進(jìn)行嚴(yán)格管控。例如,在研發(fā)過(guò)程中,對(duì)少量需要展示的數(shù)據(jù)進(jìn)行k匿名或脫敏處理;對(duì)輸出的結(jié)果,進(jìn)行差分隱私、泛化/有效位截?cái)?精度過(guò)高會(huì)推出哪些數(shù)據(jù)參與了運(yùn)算)等。
在受控環(huán)境的技術(shù)實(shí)現(xiàn)上,可信計(jì)算是非常好的一個(gè)選擇,它能夠提供可靠的隔離環(huán)境。另外,參與方還可以從遠(yuǎn)程確認(rèn)數(shù)據(jù)的處理、輸出方式,進(jìn)一步確保數(shù)據(jù)安全可控。
? 受控匿名化的安全性:在參與方之外,只有相對(duì)匿名化后的信息在受控環(huán)境中出現(xiàn)。由于受控環(huán)境采用了可信計(jì)算等高安全保障的技術(shù),一般不會(huì)發(fā)生大規(guī)模數(shù)據(jù)泄露。即便有少量數(shù)據(jù)泄露,因?yàn)檫@些數(shù)據(jù)都是經(jīng)過(guò)相對(duì)匿名化處理的,對(duì)安全性影響不大。
? 受控匿名化的性能:首先,受控匿名化對(duì)身份信息、屬性等數(shù)據(jù)價(jià)值損失不大,最大程度地保證了數(shù)據(jù)的價(jià)值;其次,整個(gè)過(guò)程沒有大計(jì)算量的操作,整體性能非常高。
經(jīng)分析發(fā)現(xiàn),決定隱私計(jì)算性能的關(guān)鍵是它屬于同網(wǎng)密態(tài)技術(shù)還是跨網(wǎng)密態(tài)技術(shù),即計(jì)算過(guò)程中是否需要頻繁的公網(wǎng)交互。在這一思想的引導(dǎo)下,提出了一種新的隱私計(jì)算技術(shù)路線:可信密態(tài)計(jì)算(Trusted-Environment-Based Cryptographic Computing,TECC)。TECC通過(guò)在多個(gè)高速互聯(lián)的可信執(zhí)行環(huán)境中運(yùn)行密碼協(xié)議,將兩者有機(jī)地結(jié)合在一起,可以顯著解決這兩項(xiàng)技術(shù)的主要缺陷。綜合考慮性能、安全性、可靠性和成本等因素,TECC是最有希望滿足密態(tài)時(shí)代要求的隱私計(jì)算技術(shù)。
TECC的一個(gè)主要特征是可信執(zhí)行環(huán)境里運(yùn)行的是密態(tài)數(shù)據(jù)。為了充足的安全余量,建議搭配全棧可信(TPM+外殼防拆)技術(shù),形成全??尚拧EE、密態(tài)程序三層防御。這三層不是簡(jiǎn)單地累加,TECC的安全特性可以克制全??尚?、TEE的主要缺陷。另一個(gè)主要特征是多個(gè)可信執(zhí)行環(huán)境運(yùn)行在高速網(wǎng)(內(nèi)網(wǎng))中。TECC因此成功地突破了其他技術(shù)都有的公網(wǎng)傳輸瓶頸,再結(jié)合其他優(yōu)化技術(shù),最終的性能遠(yuǎn)超現(xiàn)有隱私技術(shù)并接近明文。圖3是TECC典型的示例圖。
(1)數(shù)據(jù)提供者在本地將數(shù)據(jù)拆分成多個(gè)密態(tài)分量,并將每個(gè)分量傳遞給不同分區(qū)的可信計(jì)算節(jié)點(diǎn)。
(2)每個(gè)可信計(jì)算節(jié)點(diǎn)只有部分密態(tài)(分量)數(shù)據(jù),多個(gè)節(jié)點(diǎn)分區(qū)通過(guò)密碼協(xié)議完成目標(biāo)計(jì)算。
(3)可信計(jì)算節(jié)點(diǎn)受TEE、TPM、全??尚疟Wo(hù),運(yùn)營(yíng)者無(wú)法窺探。
(4)密碼協(xié)議的同一個(gè)角色由一個(gè)節(jié)點(diǎn)分區(qū)集群承擔(dān),可以進(jìn)行并行化加速。
2.2.1 TECC的安全性優(yōu)勢(shì)
研究者建議TECC與全??尚偶夹g(shù)(包括外殼防拆技術(shù)、基于TPM的可信啟動(dòng)技術(shù)等)配合使用。因?yàn)楣鬞EE一般需要物理接觸TEE或者攻入操作系統(tǒng),全??尚诺姆啦鸷蛙浖滘?yàn)證正好可以阻止這些行為。雖然全??尚偶夹g(shù)會(huì)增加一定的成本,但是對(duì)于隱私計(jì)算這么關(guān)鍵的任務(wù)是值得的。
在使用全??尚胖螅琓ECC具備了全??尚?、TEE、密態(tài)程序三層防御,安全性遠(yuǎn)高于單獨(dú)使用TEE。這三層防御并不是簡(jiǎn)單的疊加,TECC的安全能力可以克制全??尚?、TEE的主要安全缺陷。TEE歷史上的安全漏洞[18]主要是由以下幾個(gè)原因產(chǎn)生。
(1)因?yàn)門EE很難被直接攻破,側(cè)信道攻擊是最主要的攻擊形式。根據(jù)攻擊的關(guān)鍵對(duì)象,可以分為地址類側(cè)信道攻擊[19-22]和分支判斷類側(cè)信道攻擊等[23-25]。前者指通過(guò)觀測(cè)TEE訪問(wèn)了哪些緩存行或內(nèi)存頁(yè)等,獲得TEE訪問(wèn)的地址信息,進(jìn)而推斷敏感信息;后者指通過(guò)觀測(cè)能耗曲線、執(zhí)行時(shí)間等,分析出TEE內(nèi)部程序在分支判斷的時(shí)候走的是哪個(gè)分支,進(jìn)而推斷敏感信息。
(2)因性能優(yōu)化導(dǎo)致的瑕疵。性能是所有系統(tǒng)追求的指標(biāo)之一,但是過(guò)度的性能優(yōu)化會(huì)導(dǎo)致安全問(wèn)題,主要包括側(cè)信道攻擊和預(yù)測(cè)執(zhí)行攻擊(幽靈攻擊、Spectre)[26-28]。預(yù)測(cè)執(zhí)行是TEE(CPU)的一個(gè)特性,TEE會(huì)根據(jù)歷史運(yùn)行情況猜測(cè)要跳轉(zhuǎn)的分支,并提前執(zhí)行,達(dá)到加速的效果。針對(duì)這一特性,攻擊者通過(guò)反復(fù)操縱輸入,最終讓TEE猜測(cè)錯(cuò)誤,并進(jìn)一步完成攻擊。
(3)設(shè)計(jì)實(shí)現(xiàn)疏忽導(dǎo)致的瑕疵。保障寄存器、內(nèi)存等大的組件相對(duì)容易被正確設(shè)計(jì)和實(shí)現(xiàn)。但是一些細(xì)小組件的安全防護(hù)可能會(huì)被疏忽,如加載端口、行填充緩沖等。攻擊者有可能以采樣的方式從這些細(xì)小組件中讀取到TEE運(yùn)行數(shù)據(jù)碎片,如微體系結(jié)構(gòu)數(shù)據(jù)采樣(MDS)攻擊[13][15][29-32]。
(4)供應(yīng)鏈攻擊。在一些異常的供應(yīng)鏈流程中,攻擊者有可能會(huì)物理接觸TEE,進(jìn)而可以實(shí)施更多的攻擊手段。例如,在維修的過(guò)程中,TEE一般會(huì)關(guān)閉物理防護(hù)安全措施,攻擊者就有機(jī)會(huì)注入硬件木馬。全??尚乓灿蓄愃频膯?wèn)題,供應(yīng)鏈攻擊也是全??尚抛畲蟮陌踩[患。
從上面可以看出,歷史上的漏洞對(duì)TEE的破壞一般不是顛覆性的,攻擊者能夠獲取的信息非常有限,并且有很多前提條件。在TECC中,這些限制和前提條件基本不會(huì)被滿足,最終使得攻擊無(wú)法奏效。
? TECC中的TEE的內(nèi)部數(shù)據(jù)都是密態(tài)數(shù)據(jù)(分量),這些數(shù)據(jù)是很長(zhǎng)的隨機(jī)數(shù),不會(huì)作為地址或者地址偏移使用,所以地址類的側(cè)信道攻擊對(duì)TECC沒有威脅。同樣地,這些數(shù)據(jù)也不會(huì)作為分支判斷的依據(jù)。實(shí)際上,密態(tài)程序因?yàn)椴恢婪种袛嗟闹?,所有可能的分支都?huì)執(zhí)行一遍。所以分支判斷類的側(cè)信道攻擊對(duì)TECC也沒有威脅。
? 預(yù)測(cè)執(zhí)行攻擊成立的前提條件是,攻擊者能夠操縱輸入影響分支判斷走向。在TECC中,參與方的輸入都會(huì)被轉(zhuǎn)換為密態(tài)數(shù)據(jù),只用于計(jì)算,不會(huì)作為分支判斷的條件,所以這種攻擊對(duì)TECC無(wú)效。
? 在微體系結(jié)構(gòu)數(shù)據(jù)采樣攻擊中,攻擊者難以控制自己獲得的具體是哪一條數(shù)據(jù)。這種情況下,攻擊者從TECC的各個(gè)TEE中獲取的密態(tài)數(shù)據(jù)(分量)很有可能不對(duì)應(yīng)同一個(gè)明文,也就形不成攻擊。尤其是當(dāng)攻擊者從單個(gè)TEE中獲取的數(shù)據(jù)量非常少的時(shí)候,對(duì)應(yīng)同一個(gè)明文的概率基本可以忽略。在微體系結(jié)構(gòu)數(shù)據(jù)采樣(Microarchitecture Data Sampling,MDS)攻擊中,攻擊者只能通過(guò)非常細(xì)小的組件獲取數(shù)據(jù),所以能夠獲得的數(shù)據(jù)量非常少。
? 對(duì)于來(lái)自異常供應(yīng)鏈流程的TEE,如維修,可以將它們放到TECC的同一個(gè)分區(qū)。TECC的安全機(jī)制保證,即便同一個(gè)分區(qū)的TEE都被攻破了,也不會(huì)有安全問(wèn)題。
從表1可以看出,TECC能夠克制TEE歷史上出現(xiàn)過(guò)的大部分安全漏洞。由此推斷,對(duì)于TEE未來(lái)可能會(huì)出現(xiàn)的漏洞,TECC大概率也可以抵御。即便不能完全抵御,在全棧可信、TEE、密態(tài)程序三層防御下,攻擊者也很難成功。
表1 TECC克制TEE、全??尚诺闹饕[患
2.2.2 TECC的性能優(yōu)勢(shì)
TECC的一部分性能優(yōu)勢(shì)來(lái)自于內(nèi)網(wǎng)交互,例如典型的公網(wǎng)帶寬10 Mbit/s、內(nèi)網(wǎng)帶寬10 Gbit/s,就是1 000倍的差距。TECC的性能優(yōu)勢(shì)還來(lái)自于其特有的并行化能力。TECC中心可以為密碼協(xié)議的每個(gè)角色分配多個(gè)TEE資源,把同一個(gè)角色的所有TEE叫做一個(gè)分區(qū)。圖4展示了密碼協(xié)議的三個(gè)分區(qū),每個(gè)分區(qū)有t個(gè)TEE。來(lái)自不同分區(qū)的三個(gè)TEE組成一組,承擔(dān)總?cè)蝿?wù)中的一個(gè)子任務(wù)。所有組可以并行計(jì)算,大大加速整體的計(jì)算效率。大規(guī)模數(shù)據(jù)處理任務(wù)通常都是可以并行化的,所以這一措施非常有效。
這一并行化的原理與常見的多線程相似,但對(duì)跨網(wǎng)密態(tài)技術(shù)并不成立。因?yàn)檫@些技術(shù)的瓶頸點(diǎn)在公網(wǎng)帶寬上,即使采用類似的方式分組,多個(gè)組仍然要共享同一份公網(wǎng)帶寬,性能提升十分有限。但是對(duì)于TECC來(lái)說(shuō),每一組內(nèi)部的通信帶寬近乎是“免費(fèi)”的。從另一個(gè)角度來(lái)說(shuō),假設(shè)內(nèi)網(wǎng)帶寬10 Gbit/s,TEE組數(shù)為100組,則執(zhí)行密碼協(xié)議的總帶寬就高達(dá)1 000 Gbit/s,這是前述公網(wǎng)帶寬的10萬(wàn)倍。
為了把TECC的性能優(yōu)勢(shì)發(fā)揮到極限,TECC還需要選擇計(jì)算量小的密碼協(xié)議。通過(guò)安全性分析得知,只要滿足TECC 中的TEE 內(nèi)是密態(tài)數(shù)據(jù),就能達(dá)到非常高的安全效果。因此,可以選擇門限低的密碼協(xié)議,其計(jì)算量膨脹非常小。這也是使用TEE帶來(lái)的好處,單獨(dú)使用這些協(xié)議安全強(qiáng)度有限。
在消除了網(wǎng)絡(luò)瓶頸和計(jì)算瓶頸后,TECC的性能迎來(lái)了質(zhì)的飛躍,遠(yuǎn)超TEE以外的隱私計(jì)算技術(shù),并且在少量的資源膨脹下可以接近明文。
2.2.3 TECC的功能優(yōu)勢(shì)
TECC中的TEE之間可以通過(guò)執(zhí)行MPC協(xié)議完成目標(biāo)運(yùn)算,所以MPC能夠支持的功能TECC都可以支持。目前,MPC協(xié)議能夠支持的功能已經(jīng)非常完善了。圖5展示了MPC功能層次關(guān)系。
(1)基礎(chǔ)算子層包括算術(shù)運(yùn)算、邏輯運(yùn)算,以及它們之間的相互轉(zhuǎn)化。常見的多方安全計(jì)算協(xié)議一般指的是這一層,如aby、spdz[32]、SWIFT[33]。
(2)對(duì)于一些高級(jí)算子,人們會(huì)去研究特定的高效實(shí)現(xiàn)算法[34],包括數(shù)學(xué)類函數(shù)和數(shù)據(jù)結(jié)構(gòu)算法等。
(3)構(gòu)建隱私應(yīng)用一般不再需要特殊的協(xié)議或算法,與明文過(guò)程基本相同。隱私應(yīng)用主要分為機(jī)器學(xué)習(xí)和數(shù)據(jù)分析兩類。
相對(duì)于跨網(wǎng)密態(tài)計(jì)算技術(shù),TECC的功能優(yōu)勢(shì)在于天然地支持任意多個(gè)參與方和任意的數(shù)據(jù)分割形式,數(shù)據(jù)分割形式指的是一個(gè)參與方擁有全部數(shù)據(jù)的哪一部分。在TECC中,多個(gè)參與方先將各自的數(shù)據(jù)密態(tài)拆分,上傳合并后再計(jì)算。因此,參與方數(shù)量、數(shù)據(jù)分割形式對(duì)上述過(guò)程沒有影響。但是對(duì)于跨網(wǎng)MPC來(lái)說(shuō),出于對(duì)性能、實(shí)現(xiàn)復(fù)雜度等方面的考慮,不同的參與方數(shù)量、不同的數(shù)據(jù)分割形式通常對(duì)應(yīng)不同的算法,比如兩方協(xié)議和多方協(xié)議、橫向聯(lián)邦和縱向聯(lián)邦。這就導(dǎo)致TECC一個(gè)算法能夠?qū)崿F(xiàn)的功能,跨網(wǎng)MPC要使用多個(gè)算法
2.2.4 TECC的穩(wěn)定性和成本優(yōu)勢(shì)
跨網(wǎng)密態(tài)技術(shù)對(duì)公網(wǎng)嚴(yán)重依賴,例如一次兩方密態(tài)機(jī)器學(xué)習(xí)訓(xùn)練需要的交互次數(shù)高達(dá)數(shù)萬(wàn)次。這給穩(wěn)定性保障帶來(lái)了極大的挑戰(zhàn)。這一點(diǎn)與常規(guī)的網(wǎng)絡(luò)應(yīng)用很不同,后者一般只需要幾次公網(wǎng)交互。TECC只有數(shù)據(jù)上傳的時(shí)候需要公網(wǎng)交互,沒有這方面的憂慮。同時(shí),這也為TECC節(jié)省了大量的公網(wǎng)購(gòu)買成本。
TECC的計(jì)算節(jié)點(diǎn)采用集中部署的形式,參與方只需要使用輕量級(jí)SDK就可以接入,大大降低了接入成本。集中化的部署方式更有利于日常的功能巡檢、應(yīng)急演練和故障處理。
除了突破技術(shù)瓶頸,數(shù)據(jù)密態(tài)時(shí)代的發(fā)展還需要:一方面由法律法規(guī)確立用戶的權(quán)益。數(shù)據(jù)行業(yè)基礎(chǔ)的、合理的安全需求將成為強(qiáng)制要求;另一方面,標(biāo)準(zhǔn)和評(píng)測(cè)將為產(chǎn)業(yè)甄別不同產(chǎn)品的安全程度,并指導(dǎo)行業(yè)在不同的場(chǎng)景使用合適的技術(shù)。
合規(guī)是行業(yè)的基本保障。密態(tài)時(shí)代要做到合規(guī),最關(guān)鍵的幾點(diǎn)如下。
(1)專數(shù)專用,即數(shù)據(jù)不能隨意跨主體、跨業(yè)務(wù)場(chǎng)景使用。首先,理清楚首次收集數(shù)據(jù)的主體、獲得充分授權(quán)后數(shù)據(jù)的歸屬主體、各方的權(quán)利和責(zé)任;其次,需要根據(jù)業(yè)務(wù)場(chǎng)景2B和2C的授權(quán)情況來(lái)限定數(shù)據(jù)的合規(guī)使用范圍。
(2)個(gè)人信息授權(quán)問(wèn)題?!秱€(gè)人信息保護(hù)法》規(guī)定的27個(gè)同意形成了一道堅(jiān)固的授權(quán)墻,任何業(yè)務(wù)場(chǎng)景必須按規(guī)定獲得用戶的授權(quán)。但是在某些情況下這一要求很難達(dá)到,例如惡意攻擊者一定不會(huì)授權(quán)風(fēng)控系統(tǒng)獲取他的數(shù)據(jù),但這一數(shù)據(jù)對(duì)模型訓(xùn)練很重要。目前在法律許可下主要有兩個(gè)解決路徑,一是匿名化,二是執(zhí)行合同的必須條件。
在無(wú)授權(quán)場(chǎng)景下,要做好匿名化,在保證個(gè)人隱私權(quán)益的前提下發(fā)揮數(shù)據(jù)價(jià)值;在有授權(quán)場(chǎng)景下,要專數(shù)專用,保障這個(gè)場(chǎng)景獲得的數(shù)據(jù)只在這個(gè)場(chǎng)景中使用。
(3)數(shù)據(jù)的使用和流通要做到可審計(jì)、可舉證。隱私計(jì)算等技術(shù)在保護(hù)數(shù)據(jù)明文信息的同時(shí)也可能阻礙對(duì)數(shù)據(jù)實(shí)際使用范圍的審計(jì)監(jiān)控。在實(shí)際使用中,如果沒有妥善的管控,同樣可能導(dǎo)致侵犯用戶隱私權(quán)益或者造成敏感信息泄露。因此,審計(jì)和固證是非常重要的作用。
隱私計(jì)算技術(shù)底層技術(shù)路線非常多,實(shí)際產(chǎn)品迫于性能壓力可能還會(huì)舍棄部分安全性,一些新興的思路可能會(huì)將多種技術(shù)相融合。這些因素導(dǎo)致在用的隱私計(jì)算技術(shù)路線非常多,安全性差異非常大,且社會(huì)對(duì)此認(rèn)知比較模糊。為了產(chǎn)業(yè)的健康發(fā)展,對(duì)安全性給出準(zhǔn)確評(píng)估至關(guān)重要。
同時(shí),必須承認(rèn)客觀上無(wú)法對(duì)產(chǎn)品的安全性給出形式化的證明。一個(gè)實(shí)際系統(tǒng)的安全必然涉及到密碼學(xué)、代碼安全、網(wǎng)絡(luò)安全、AI算法安全等多個(gè)層面,其中大部分都無(wú)法得到形式化證明。甚至,密碼學(xué)的部分內(nèi)容也無(wú)法得到形式化證明。
在這種情況下,評(píng)測(cè)應(yīng)回歸到安全的基本原則。首先,安全的核心是對(duì)抗,對(duì)抗是多維度、持續(xù)的,承載著行業(yè)數(shù)據(jù)命脈的關(guān)鍵基礎(chǔ)性技術(shù),必須清晰地分析面對(duì)各種已知和潛在攻擊的安全強(qiáng)度,這需要行業(yè)安全專家的廣泛介入;其次,一定需要根據(jù)場(chǎng)景安全分類分級(jí),不能用一個(gè)指標(biāo)鎖死各行各業(yè)不同業(yè)務(wù)的安全水位要求。
通過(guò)對(duì)密態(tài)時(shí)代所需的兩項(xiàng)基本技術(shù)——匿名化和隱私計(jì)算進(jìn)行分析,發(fā)現(xiàn)它們都存在一些難以克服的短板,密態(tài)時(shí)代陷入了“技術(shù)困局”。為此,本文提出了可信隱私計(jì)算技術(shù),它融合了可信計(jì)算、密碼等多項(xiàng)技術(shù),在安全性、性能、可靠性、適用性和成本等方面均達(dá)到了非常高的水平,幾乎是當(dāng)前唯一能夠全方位滿足密態(tài)時(shí)代要求的技術(shù)。除了技術(shù)突破外,本文強(qiáng)調(diào)了合規(guī)、標(biāo)準(zhǔn)、評(píng)測(cè)等是保證行業(yè)健康發(fā)展的關(guān)鍵。有理由相信,可信隱私計(jì)算以其顯著的綜合性優(yōu)勢(shì),必將能夠幫助數(shù)據(jù)要素行業(yè)破解技術(shù)困局,邁入密態(tài)時(shí)代。