无码成人A片在线观看,性欧美videofree高清变态,中文字幕有码无码av,国产无人区卡一卡二扰乱码 ,最近高清日本免费

CNTXJ.NET | 通信界-中國(guó)通信門戶 | 通信圈 | 通信家 | 下載吧 | 說(shuō)吧 | 人物 | 前瞻 | 智慧(區(qū)塊鏈 | AI
 國(guó)際新聞 | 國(guó)內(nèi)新聞 | 運(yùn)營(yíng)動(dòng)態(tài) | 市場(chǎng)動(dòng)態(tài) | 信息安全 | 通信電源 | 網(wǎng)絡(luò)融合 | 通信測(cè)試 | 通信終端 | 通信政策
 專網(wǎng)通信 | 交換技術(shù) | 視頻通信 | 接入技術(shù) | 無(wú)線通信 | 通信線纜 | 互聯(lián)網(wǎng)絡(luò) | 數(shù)據(jù)通信 | 通信視界 | 通信前沿
 智能電網(wǎng) | 虛擬現(xiàn)實(shí) | 人工智能 | 自動(dòng)化 | 光通信 | IT | 6G | 烽火 | FTTH | IPTV | NGN | 知本院 | 通信會(huì)展
您現(xiàn)在的位置: 通信界 >> 互聯(lián)網(wǎng)絡(luò) >> 技術(shù)正文
 
基于隱私計(jì)算的數(shù)據(jù)庫(kù)全生命周期保護(hù)方法
[ 通信界 | 戴偉濤 俞錦浩 田文生 范佳峰 王澤東 陸一凡 嚴(yán)志超 唐攀攀 | m.k-94.cn | 2023/7/31 22:18:50 ]
 

(南湖實(shí)驗(yàn)室大數(shù)據(jù)研究中心,嘉興 314000)

0 引言

在數(shù)字時(shí)代,數(shù)據(jù)已經(jīng)成為了基本生產(chǎn)要素,因此數(shù)據(jù)安全共享必將是未來(lái)發(fā)展趨勢(shì)之一[1]。數(shù)據(jù)的整個(gè)生命周期包含存儲(chǔ)、流轉(zhuǎn)、使用三個(gè)狀態(tài)。在敏感數(shù)據(jù)存儲(chǔ)、流轉(zhuǎn)方面,業(yè)界已經(jīng)有著成熟完善的技術(shù)支撐,例如各類加密算法(對(duì)稱加密、非對(duì)稱加密、哈希算法等)、傳輸層安全性協(xié)議等。而敏感數(shù)據(jù)在使用層大多以明文形式存在,極易遭受內(nèi)存層面的攻擊。如何對(duì)敏感數(shù)據(jù)安全處理成了待解決的難題。隱私計(jì)算的興起,為這個(gè)難題提供了一個(gè)解決方法。

隱私計(jì)算中主流技術(shù)有聯(lián)邦學(xué)習(xí)、多方安全計(jì)算和可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)[2-3]。其中,聯(lián)邦學(xué)習(xí)與多方安全計(jì)算基于密碼學(xué)進(jìn)行軟件級(jí)的保護(hù),分別側(cè)重于多方數(shù)據(jù)的聯(lián)合計(jì)算、機(jī)器學(xué)習(xí)的模型訓(xùn)練等。而TEE為芯片層級(jí)的隱私計(jì)算技術(shù),由芯片直接形成可信的執(zhí)行環(huán)境來(lái)保護(hù)數(shù)據(jù)不被泄露。目前,主流的TEE解決方案包括基于X86指令集架構(gòu)的Intel SGX和基于ARM指令集架構(gòu)的TrustZone[4]。Intel SGX[5]的出現(xiàn)推動(dòng)了基于芯片級(jí)別隱私計(jì)算的發(fā)展,與傳統(tǒng)的TEE不同,Intel SGX支持遠(yuǎn)程認(rèn)證技術(shù),使得在遠(yuǎn)端運(yùn)行應(yīng)用的執(zhí)行環(huán)境的可信性可以驗(yàn)證,而不只局限于單機(jī)黑盒。得益于基于芯片的硬件特性,在應(yīng)用程序?qū)用媾c底層邏輯解耦,應(yīng)用程序無(wú)需修改自身代碼,直接調(diào)用底層邏輯,可在不改變已部署應(yīng)用的原有架構(gòu)的前提下,實(shí)現(xiàn)隱私計(jì)算來(lái)保護(hù)數(shù)據(jù)。Intel SGX比較多地運(yùn)用在保護(hù)Linux容器[6]和云[7]。RSIC-V是基于精簡(jiǎn)指令集(RSIC)[8]原則的開(kāi)源指令集架構(gòu)(ISA)。國(guó)內(nèi)的許多家廠商也開(kāi)發(fā)了基于國(guó)產(chǎn)芯片的安全擴(kuò)展,目前處于領(lǐng)先地位的是海光和飛騰。海光基于海光CPU推出了安全虛擬技術(shù)CSV[9],飛騰基于飛騰CPU推出了飛騰PSPA(Phytium Security Platform Architecture)。

2022年,YANNICK等[10]為了使Fabric運(yùn)行在安全的執(zhí)行環(huán)境,結(jié)合Intel SGX,提出了E-Fabric。E-Fabric擁有更好的安全保障,增加了8%的延時(shí),降低了4%的吞吐,整個(gè)網(wǎng)絡(luò)的性能下降了6%。2019年,王冠等[11]提出了基于Intel SGX的Hadoop KMS安全增強(qiáng)方案,安全增強(qiáng)帶來(lái)的性能損耗為10.08%。工業(yè)物聯(lián)網(wǎng)也在快速向Intel SGX靠攏。2021年,王冠等[12]提出了基于Intel SGX的Kerberos安全增強(qiáng)方案,保證密鑰保存和運(yùn)行在Enclave中。2021年,劉忻等[13]提出了基于Intel SGX的IIoT身份認(rèn)證協(xié)議。2020年,羅杭光等[14]提出的無(wú)線傳感器網(wǎng)絡(luò)中實(shí)時(shí)數(shù)據(jù)接入的輕量級(jí)三因素方案相比,性能方面有小的損失,但是有更加強(qiáng)大和有效的安全性。

目前,數(shù)據(jù)安全的問(wèn)題日益突出,特別是數(shù)據(jù)庫(kù)的安全。數(shù)據(jù)庫(kù)是當(dāng)今社會(huì)中重要的存儲(chǔ)軟件之一。語(yǔ)義安全加密可以為存儲(chǔ)的數(shù)據(jù)和傳輸?shù)臄?shù)據(jù)提供強(qiáng)大而且有效的保護(hù)。但是,數(shù)據(jù)在進(jìn)行處理的時(shí)候,是以明文的方式存儲(chǔ)在內(nèi)存中。2016年,Poddar R等[15]基于語(yǔ)義安全加密提出了Arx的數(shù)據(jù)庫(kù)框架,使用了ArxRange和ArxEq。ArxRange實(shí)現(xiàn)范圍查詢和限制順序查詢;ArxEq實(shí)現(xiàn)等式查詢。CryptDB[16]、Monomi[17]和Seabed[18]使用屬性保護(hù)的方式進(jìn)行加密,在加密的情況下能夠?qū)?shù)據(jù)進(jìn)行查詢處理。微軟的Always Encrypted[19]和谷歌的Encrypted Bigque Client[20]都使用了這種加密方式。但是這種加密的方式會(huì)產(chǎn)生信息泄露的問(wèn)題[21-23]。于是,Christian、Priebe等[24]基于Intel SGX實(shí)現(xiàn)了新的數(shù)據(jù)庫(kù)EnclaveDB,有較低的開(kāi)銷(TPC-C高達(dá)40%)卻有強(qiáng)大的安全性。

本文將芯片級(jí)的隱私計(jì)算和數(shù)據(jù)庫(kù)結(jié)合,保證數(shù)據(jù)庫(kù)擁有安全運(yùn)行環(huán)境。數(shù)據(jù)庫(kù)增加30%左右開(kāi)銷的同時(shí),保證了數(shù)據(jù)庫(kù)的安全。本文的主要貢獻(xiàn)表現(xiàn)在以下兩個(gè)方面。

(1)提出了一種基于隱私計(jì)算的數(shù)據(jù)庫(kù)全生命周期保護(hù)方法,在Intel SGX的Enclave安全容器中進(jìn)行敏感操作,不依靠第三方服務(wù)。

(2)實(shí)現(xiàn)Intel SGX兼容MySQL和SQLCipher。MySQL在Intel SGX的環(huán)境中運(yùn)行;SQLCipher在Intel SGX安全環(huán)境中進(jìn)行加解密和數(shù)據(jù)庫(kù)操作。

1 背景知識(shí)

1.1 海光CSV

海光CSV是基于海光CPU自主研發(fā)的安全虛擬化技術(shù),并且采用了國(guó)密算法實(shí)現(xiàn)。龍蜥8.4操作系統(tǒng)已經(jīng)支持了CSV。CSV虛擬機(jī)通過(guò)海光CPU對(duì)內(nèi)存進(jìn)行加解密。CSV虛擬機(jī)具有以下幾個(gè)特點(diǎn)。

(1)計(jì)算資源的隔離。對(duì)于每一臺(tái)CSV虛擬機(jī),都有各自獨(dú)立的內(nèi)存和密鑰。同時(shí)使用海光芯片中的安全管理模塊,保證CSV虛擬機(jī)之間資源互不干涉。

(2)啟動(dòng)過(guò)程可度量。 海光CPU的安全模塊能將虛擬文件和度量值進(jìn)行對(duì)比,保證虛擬文件的安全,防止篡改。

(3)虛擬機(jī)身份的認(rèn)可。每一顆海光CPU中都有唯一的芯片密鑰,在制作芯片的時(shí)候已經(jīng)燒錄了。用戶可以使用芯片密鑰對(duì)芯片和CSV虛擬機(jī)的合法性進(jìn)行評(píng)估。

1.2 飛騰PSPA

飛騰公司推出了基于飛騰芯片的飛騰PSPA處理器安全架構(gòu)標(biāo)準(zhǔn)。飛騰PSPA標(biāo)準(zhǔn)分為10個(gè)模塊:密碼加速引擎;密鑰管理;可信啟動(dòng);可信執(zhí)行環(huán)境;安全存儲(chǔ);固件管理;量產(chǎn)注入;生命周期管理;抗物理攻擊;硬件漏洞免疫,涉及到了硬件軟件,支持各種算法運(yùn)用,各方面的安全都能進(jìn)行防護(hù)。

1.3 Intel SGX

Intel(R) Software Guard Extensions(Intel(R) SGX)是Intel架構(gòu)新的擴(kuò)展, 在原有架構(gòu)上增加了一組新的指令集和內(nèi)存訪問(wèn)機(jī)制。Intel SGX使用擴(kuò)展的指令,調(diào)用應(yīng)用程序,實(shí)現(xiàn)一個(gè)名為Enclave的容器。Enclave容器所在的內(nèi)存空間的地址是被保護(hù)的。整個(gè)被保護(hù)的地址空間是由Intel芯片進(jìn)行管理,操作系統(tǒng)沒(méi)有權(quán)限訪問(wèn)這些地址空間。所以,Enclave容器能夠?yàn)閿?shù)據(jù)和代碼提供一個(gè)安全的環(huán)境,即使是超級(jí)管理員也無(wú)法進(jìn)行訪問(wèn)。Enclave容器在保護(hù)數(shù)據(jù)和代碼機(jī)密性的同時(shí),也會(huì)進(jìn)行度量操作,保證應(yīng)用完整性。Intel SGX關(guān)鍵技術(shù)如下。

(1)認(rèn)證

Intel SGX在進(jìn)行初始化的時(shí)候,會(huì)自動(dòng)啟動(dòng)兩個(gè)由Intel自己編寫(xiě)的Enclave,即SGX Launch和SGX Quoting Enclave。SGX Launch和SGX Quoting Enclave主要通過(guò)使用EINIT 和 EREPORT兩個(gè)指令對(duì)在同一個(gè)環(huán)境下其他Enclave容器的身份認(rèn)證。Enclave容器之間可以通過(guò)本地認(rèn)證和遠(yuǎn)程認(rèn)證確認(rèn)信任的關(guān)系。在同一臺(tái)物理機(jī)上,使用本地認(rèn)證;在不同的物理機(jī)上,使用遠(yuǎn)程認(rèn)證。

一個(gè)Enclave通過(guò)圖1中所示的EREPORT指令向另一個(gè)目標(biāo)Enclave證明其身份。SGX指令生成一個(gè)認(rèn)證報(bào)告(REPORT),該報(bào)告加密地將Enclave提供的信息與Enclave基于度量和基于證書(shū)的身份綁定。加密綁定是通過(guò)一個(gè)MAC標(biāo)簽來(lái)完成的,該標(biāo)簽使用的對(duì)稱密鑰只在目標(biāo)飛地和SGX實(shí)現(xiàn)之間共享。EREPORT指令從當(dāng)前Enclave的SECS中讀取當(dāng)前身份信息,并使用它來(lái)填充報(bào)表結(jié)構(gòu)。

圖1 DCAP認(rèn)證形式

就認(rèn)證本身而言,遠(yuǎn)程證明僅是向用戶保證遠(yuǎn)程執(zhí)行的Enclave是可信的。除了這種保證之外,用戶還需要?jiǎng)?chuàng)建一個(gè)安全通道,以便與遠(yuǎn)程 Enclave進(jìn)行可信通信,用于透明地將密鑰或其他敏感信息提供給遠(yuǎn)端的Enclave。Intel SGX中的遠(yuǎn)程認(rèn)證有兩種形式,分別為EPID和DCAP。EPID適用于客戶端機(jī)器,而DCAP適用于數(shù)據(jù)中心環(huán)境。EPID大多數(shù)的活動(dòng)部件都是固定的,與Intel提供的服務(wù)強(qiáng)相關(guān),而DCAP是一種在不依賴Intel基礎(chǔ)架構(gòu)的情況下啟動(dòng)Enclave的方法,且適用于服務(wù)器環(huán)境。

如圖1所示,第一步在Enclave中的應(yīng)用程序打開(kāi)文件/dev/attestation/user_report_data來(lái)寫(xiě)入;第二步后臺(tái)軟件調(diào)用硬件指令EREPORT來(lái)生成SGX報(bào)告;第三步在生成SGX報(bào)告后,應(yīng)用程序讀取另一個(gè)特殊文件/dev/attestation/quote;第四步,后臺(tái)軟件與引用飛地進(jìn)行通信來(lái)接受SGX引用;第五步,引用飛地與供應(yīng)認(rèn)證飛地(Provisioning Certification Enclave,PCE)通信;第六步,PCE使用另一個(gè)稱為Intel 供應(yīng)認(rèn)證服務(wù)(PCS)的Intel服務(wù)來(lái)獲取身份證明的信息:SGX機(jī)器的證明證書(shū)和證書(shū)撤銷列表。此外,每次新的SGX引用到達(dá)時(shí),最終用戶都不需要咨詢Intel的Web服務(wù)。相反,最終用戶會(huì)定期獲取DCAP 證明證書(shū)并將它們緩存在本地機(jī)器上(步驟 0)。當(dāng)SGX的Quote到達(dá)時(shí),用戶將Quote 中嵌入的證書(shū)與這些緩存的證書(shū)進(jìn)行比較(步驟9)[25]。

(2)數(shù)據(jù)密封

Intel SGX是一項(xiàng)為了保護(hù)數(shù)據(jù)安全而誕生的新技術(shù)。當(dāng)Enclave進(jìn)行實(shí)例化之后,所有的數(shù)據(jù)會(huì)運(yùn)行在內(nèi)存之中。當(dāng)Encalve實(shí)例關(guān)閉的時(shí)候,因?yàn)橹皇沁\(yùn)行在內(nèi)存中,所以會(huì)被清除,導(dǎo)致數(shù)據(jù)丟失。Intel官方為了能夠?qū)?shù)據(jù)庫(kù)保存下來(lái),推出了數(shù)據(jù)密封技術(shù)(Sealing)。每一個(gè)Enclave中都有唯一的密鑰,Intel SGX使用這個(gè)密鑰對(duì)Enclave中的數(shù)據(jù)進(jìn)行加密的操作,加密完成后的數(shù)據(jù)會(huì)存放在磁盤上,數(shù)據(jù)就不會(huì)因?yàn)镋nclave實(shí)例關(guān)閉導(dǎo)致數(shù)據(jù)丟失。Intel將這些加密和解密操作分別稱為密封和解封。數(shù)據(jù)密封是將Enclave實(shí)例中的數(shù)據(jù)加密保存下來(lái)。數(shù)據(jù)解密是將已經(jīng)加密的數(shù)據(jù)放在同一個(gè)Enclave實(shí)例中解密或者是同一平臺(tái)下的Enclave實(shí)例中解密。這兩種解密的方式分別對(duì)應(yīng)了兩種密封的方式: Enclave Identity(安全區(qū)認(rèn)證)和Signing Identity(簽名認(rèn)證)。

Enclave Identity由 MREnclave的值表示,它是 Enclave日志(測(cè)量值)的加密哈希。每一個(gè)Enclave構(gòu)建和初始化都不相同。所以每一個(gè)MREnclave都能唯一地標(biāo)識(shí)一個(gè)Enclave。由Enclave Identity密封的數(shù)據(jù),只能由同一個(gè)Enclave解封。相同的Enclave不同版本,構(gòu)建和初始化Enclave的過(guò)程是不一樣的,所以MREnclave的值也是不一樣的。Enclave Identity密封的數(shù)據(jù)不能在同一個(gè)Enclave不同版本下進(jìn)行解封。Signing Identity 密封的數(shù)據(jù)能夠在同一個(gè)Enclave不同版本下進(jìn)行解封。如果數(shù)據(jù)是處于同一個(gè)平臺(tái),由Signing Identity 密封的數(shù)據(jù)都能夠進(jìn)行解封。

1.4 SQLCipher數(shù)據(jù)庫(kù)

SQLite是一個(gè)輕量級(jí)的數(shù)據(jù)庫(kù),廣泛運(yùn)用于嵌入式的領(lǐng)域。SQLCipher是SQLite數(shù)據(jù)庫(kù)的擴(kuò)展,能夠讓使用者更加方便地使用加密數(shù)據(jù)庫(kù)。SQLCipher加密使用SQLite內(nèi)部的256 bit AES進(jìn)行加密。SQLite編解碼器使用回調(diào)的方法保證在數(shù)據(jù)寫(xiě)入和讀取存儲(chǔ)之前進(jìn)行加密的操作。因此,SQLCipher的加密是非常安全的。SQLCipher中的頁(yè)面分成不同的塊。每次進(jìn)行加密或者是解密的時(shí)候,只是對(duì)相對(duì)應(yīng)的塊進(jìn)行操作,不會(huì)對(duì)所有的塊全部進(jìn)行操作,這樣使SQLCipher的加解密效率大幅度提升[26]。

1.5 MySQL數(shù)據(jù)庫(kù)

MySQL數(shù)據(jù)庫(kù)是一個(gè)免費(fèi)的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)。與其他的大型數(shù)據(jù)庫(kù)(如Oracle、DB2、SQL Server等)相比,MySQL略有不足。但是MySQL的性能能夠滿足中小型企業(yè)的使用。MySQL是開(kāi)源的數(shù)據(jù)庫(kù),企業(yè)能夠通過(guò)修改源碼,優(yōu)化MySQL,得到適合企業(yè)的數(shù)據(jù)庫(kù)。

1.6 Gramine

Gramine[25]是一個(gè)輕量級(jí)庫(kù)操作系統(tǒng),旨在以最低的主機(jī)要求運(yùn)行單個(gè)應(yīng)用程序。Gramine可以在隔離的環(huán)境中運(yùn)行應(yīng)用程序,其優(yōu)勢(shì)可與在虛擬機(jī)中運(yùn)行完整的操作系統(tǒng)相媲美——包括應(yīng)用程序定制、易于移植到不同的操作系統(tǒng)以及進(jìn)程遷移。

Gramine在任何平臺(tái)上都支持原生的、未經(jīng)修改的Linux二進(jìn)制文件。目前,Gramine在Linux和Linux平臺(tái)上的Intel SGX Enclave上運(yùn)行。

在不受信任的云和邊緣部署中,用戶希望將整個(gè)應(yīng)用程序與基礎(chǔ)設(shè)施的其余部分隔離開(kāi)來(lái)。Gramine支持這種應(yīng)用程序的運(yùn)行方式。Gramine通過(guò)Intel SGX將未經(jīng)修改的應(yīng)用程序引入機(jī)密計(jì)算。Gramine可以通過(guò)最少的移植工作來(lái)保護(hù)應(yīng)用程序免受惡意入侵。

Intel通過(guò)Gramine實(shí)現(xiàn)了一些使用Intel SGX的例子,在提升安全的同時(shí),小幅度增加開(kāi)銷。

2 系統(tǒng)設(shè)計(jì)

2.1 加密數(shù)據(jù)庫(kù)

加密數(shù)據(jù)庫(kù)(Encrypted SQL)意味著數(shù)據(jù)庫(kù)能夠?qū)?shù)據(jù)庫(kù)中保存的數(shù)據(jù)進(jìn)行加密操作。本文提到的MySQL和SQLCipher就是加密數(shù)據(jù)庫(kù)(Encrypted SQL)。SQLCipher通過(guò)一段密鑰對(duì)數(shù)據(jù)庫(kù)進(jìn)行加密解密,保證數(shù)據(jù)安全保存,依靠賬號(hào)密碼對(duì)數(shù)據(jù)庫(kù)訪問(wèn)進(jìn)行限制。MySQL通過(guò)賬號(hào)密碼限制數(shù)據(jù)庫(kù)的訪問(wèn),用事務(wù)的特性保證數(shù)據(jù)正確,不同的數(shù)據(jù)庫(kù)引擎適應(yīng)不同的使用環(huán)境。

2.2 密鑰管理服務(wù)器

密鑰管理服務(wù)器(Key Manager Server,KMS)服務(wù)用于對(duì)Secret Key的存儲(chǔ)和管理,通過(guò)遠(yuǎn)程認(rèn)證,為目標(biāo)APP配置Secret Key,并提供接口用于對(duì)Key的維護(hù)、升級(jí)、重置等操作。KMS主要包含的部分如圖2所示。

2.2.1 加密數(shù)據(jù)庫(kù)SQLCipher

SQLCipher基于SQLite,可以將其看作SQLite的一個(gè)分支,它繼承了SQLite輕量、高性能的特點(diǎn),同時(shí)提供加密擴(kuò)展,為存儲(chǔ)數(shù)據(jù)提供可靠的加密層保護(hù)。參考官方介紹,其中幾個(gè)特點(diǎn)適合當(dāng)前KMS。

圖2 總體結(jié)構(gòu)

(1)快速性能,在許多操作中加密的開(kāi)銷僅為5%~15%。對(duì)加密數(shù)據(jù)進(jìn)行操作之后,加密算法會(huì)對(duì)數(shù)據(jù)庫(kù)進(jìn)行加密,加密開(kāi)銷占整個(gè)操作開(kāi)銷很小的一部分。

(2)數(shù)據(jù)庫(kù)文件中的數(shù)據(jù)100%加密。所有存儲(chǔ)在數(shù)據(jù)庫(kù)的數(shù)據(jù)都是處于加密的狀態(tài)。

(3)良好安全實(shí)踐(CBC模式、HMAC、密鑰派生)。各種安全的方案,使用戶得到很好的體驗(yàn)。

(4)零配置和應(yīng)用程序級(jí)加密。SQLCipher不需要復(fù)雜的配置就能使用。整個(gè)程序在運(yùn)行的過(guò)程中是加密的。

(5)由同行評(píng)審的OpenSSL加密庫(kù)提供的算法。所有的加密算法都通過(guò)實(shí)踐的檢驗(yàn)。

(6)可配置加密程序。加密的程序并不是固定的,可以通過(guò)配置的方式進(jìn)行更改。

2.2.2 KMS遠(yuǎn)程認(rèn)證

遠(yuǎn)程認(rèn)證的證書(shū)鏈如圖3所示。

KMS接收來(lái)自客戶端或者數(shù)據(jù)庫(kù)服務(wù)端申請(qǐng)Secret Key請(qǐng)求,對(duì)于認(rèn)證合法的客戶端或者是數(shù)據(jù)庫(kù)服務(wù)端,將向其發(fā)送Secret Key。具體的工作流如圖4所示。

(1)客戶端或者數(shù)據(jù)庫(kù)服務(wù)端生成密鑰對(duì),并將公鑰通過(guò)控制臺(tái)頁(yè)面提交到KMS。

(2)KMS根據(jù)上傳公鑰生成客戶端證書(shū),客戶端或者數(shù)據(jù)庫(kù)服務(wù)端下載該證書(shū),同時(shí)下載服務(wù)器根證書(shū)。

(3)將服務(wù)器根證書(shū)和客戶端證書(shū)導(dǎo)入到客戶端或者數(shù)據(jù)庫(kù)服務(wù)端。

(4)客戶端或者數(shù)據(jù)庫(kù)服務(wù)端(通過(guò)有權(quán)限的管理人員)在控制臺(tái)頁(yè)面請(qǐng)求KMS,生成Token,該Token由KMS簽發(fā),用于進(jìn)一步驗(yàn)證和訪問(wèn)控制。

圖3 證書(shū)鏈

(5)將Token導(dǎo)入到客戶端或者數(shù)據(jù)庫(kù)服務(wù)端。

(6)啟動(dòng)客戶端或者數(shù)據(jù)庫(kù)服務(wù)端,在初始階段向KMS發(fā)起Https請(qǐng)求,雙方各自對(duì)對(duì)方證書(shū)進(jìn)行驗(yàn)證(雙向驗(yàn)證)。

(7)第6步驗(yàn)證成功后,KMS對(duì)Token進(jìn)行驗(yàn)證,驗(yàn)證成功后,向客戶端或者數(shù)據(jù)庫(kù)服務(wù)端發(fā)送Secret Key。

2.3 系統(tǒng)介紹

本文使用SQLCipher數(shù)據(jù)庫(kù)和MySQL數(shù)據(jù)庫(kù)作為實(shí)例實(shí)現(xiàn)整個(gè)系統(tǒng)。本方案中將加密數(shù)據(jù)庫(kù)對(duì)外共享定義為兩種形式:第一種,在可信機(jī)器上部署數(shù)據(jù)庫(kù)服務(wù)器,通過(guò)遠(yuǎn)程連接訪問(wèn);第二種,數(shù)據(jù)庫(kù)以加密文件的形式存儲(chǔ)在本地機(jī)器當(dāng)中,共享時(shí)分享整個(gè)或部分加密數(shù)據(jù)庫(kù)文件。

本方案的系統(tǒng)模型如圖5所示,由兩個(gè)實(shí)體(數(shù)據(jù)提供方和數(shù)據(jù)使用方)、三個(gè)部分(加密數(shù)據(jù)庫(kù)(Encrypted SQL)、密鑰管理服務(wù)器(Key Manager Server,KMS)、搭載含有SGX功能的機(jī)器(SGX Worker)模型定義)組成。

第一步,將加密數(shù)據(jù)庫(kù)運(yùn)行在Enclave中。

第二步,讓運(yùn)行在Enclave中的應(yīng)用去訪問(wèn)加密數(shù)據(jù)庫(kù)。

圖4 工作流程

圖5 系統(tǒng)的運(yùn)行流程

3 運(yùn)行過(guò)程與分析

系統(tǒng)的運(yùn)行流程主要可以分為系統(tǒng)初始化、密鑰生成和管理以及數(shù)據(jù)流轉(zhuǎn)三個(gè)階段。

3.1 Intel SGX啟動(dòng)SQLCipher

Gramine是Intel公司的一個(gè)軟件擴(kuò)展,主要是為了簡(jiǎn)化Intel SGX的使用。本文以SQLite作為模板進(jìn)行SQLCipher的編寫(xiě)。Gramine實(shí)例的編寫(xiě)主要的文件有兩個(gè)Makefile和manifest.template。首先將Makefile中的SQLite改為SQLCipher,然后將manifest.template中程序的入口改為SQLCipher。使用Intel SGX進(jìn)行編譯完成之后,在SQL文件中添加解密的代碼。SQLCipher基于Intel SGX運(yùn)行SQL文件的時(shí)候,在安全區(qū)里面完成數(shù)據(jù)庫(kù)的解密并進(jìn)行數(shù)據(jù)庫(kù)的操作。

3.2 Intel SGX啟動(dòng)MySQl

與Intel SGX啟動(dòng)SQLCipher的流程相差不大,將Makefile和manifest.template兩個(gè)文件進(jìn)行修改,保證Intel SGX啟動(dòng)MySQL時(shí),將MySQL的運(yùn)行進(jìn)程運(yùn)行在Intel SGX的安全環(huán)境中。同時(shí),將MySQL的文件作為信任的文件,保證數(shù)據(jù)的交互能夠正常進(jìn)行。

3.3 試驗(yàn)分析

3.3.1 試驗(yàn)環(huán)境的描述

試驗(yàn)的操作系統(tǒng)是Ubuntu20.04, CPU是Intel(R) Xeon(R) Gold 6330N CPU @ 2.20 GHz,總內(nèi)存是377G,剩余的內(nèi)存是243G。在試驗(yàn)中使用的各個(gè)軟件的版本SQLCipher 3.39.2、SQLite 3.31.1、MySQL 8.0.29-0ubuntu0、Python 3.8.10、Intel SGX和Gramine 1.2。所有的試驗(yàn)數(shù)據(jù)由Python生成,通過(guò)命令行進(jìn)行操作。

3.3.2 SQLCipher對(duì)比試驗(yàn)

在整個(gè)系統(tǒng)中,為了保證數(shù)據(jù)庫(kù)的數(shù)據(jù)安全,SQLCipher會(huì)放入Intel SGX的安全區(qū)中。對(duì)于正常的系統(tǒng)環(huán)境中,在CPU環(huán)境中使用SQLCipher進(jìn)行數(shù)據(jù)庫(kù)的存儲(chǔ),不放入Intel SGX中。所以兩個(gè)系統(tǒng)環(huán)境中,主要的差距是在數(shù)據(jù)庫(kù)運(yùn)行環(huán)境。因此,本文做了在Intel SGX安全區(qū)中的SQLCipher和普通環(huán)境下的SQLCipher的對(duì)比試驗(yàn)。在兩個(gè)數(shù)據(jù)庫(kù)中插入相同的數(shù)據(jù),對(duì)比所消耗的時(shí)間。本次試驗(yàn)使用的數(shù)據(jù)量分別是50 萬(wàn)、100 萬(wàn)、150 萬(wàn)和200 萬(wàn);贗ntel SGX的SQLCipher數(shù)據(jù)如表1所示。

表1 基于Intel SGX的SQLCipher

不基于Intel SGX的SQLCipher數(shù)據(jù)如表2所示。

表2 不基于Intel SGX的SQLCipher

兩方對(duì)比的折線圖參見(jiàn)圖6。

圖6 SQLCipher兩方數(shù)據(jù)的對(duì)比

從圖6可以看出,在使用相同的數(shù)據(jù)進(jìn)行插入操作的時(shí)候,基于Intel SGX的SQLCipher和不基于Intel SGX的SQLCipher的各類操作消耗的時(shí)間相差在8 s左右。數(shù)據(jù)操作的規(guī)模越大,由Intel SGX產(chǎn)生的性能損失比例越小。

3.3.3 MySQL對(duì)比試驗(yàn)

MySQL在Intel SGX中運(yùn)行與普通的環(huán)境下運(yùn)行進(jìn)行對(duì)比,不基于Intel SGX的SQLCipher如表3所示。

表3 不基于Intel SGX的MySQL

基于Intel SGX的MySQL的數(shù)據(jù)如表4所示。

表4 基于Intel SGX的MySQL

本文從SELECT、UPDATE和INSERT三個(gè)方面進(jìn)行數(shù)據(jù)對(duì)比(見(jiàn)圖7、圖8、圖9)。

圖7 MySQL SELECT的數(shù)據(jù)對(duì)比

圖8 MySQL UPDATE的數(shù)據(jù)對(duì)比

圖9 MySQL INSERT的數(shù)據(jù)對(duì)比

從圖7、圖8、圖9可以看出,基于Intel SGX的MySQL比不基于Intel SGX的MySQL多消耗30%左右的時(shí)間。Christian Priebe等[24]提出EnclaveDB,消耗40%性能換取數(shù)據(jù)庫(kù)在安全的環(huán)境中運(yùn)行;贗ntel SGX的MySQL更優(yōu)于基于Intel SGX的EnclaveDB 。

3.3.4 試驗(yàn)總結(jié)

從試驗(yàn)可以看出,基于Intel SGX的數(shù)據(jù)庫(kù)與正常環(huán)境下的數(shù)據(jù)庫(kù)相比,損耗的性能和數(shù)據(jù)庫(kù)的類型有關(guān)系;贗ntel SGX的SQLCipher性能損耗主要原因是每次對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候,都需要啟動(dòng)Intel SGX;基于Intel SGX的MySQL的性能損耗主要原因是Intel SGX對(duì)數(shù)據(jù)庫(kù)的IO限制。兩種數(shù)據(jù)庫(kù)在Intel SGX的環(huán)境下,性能損失在可接受的范圍內(nèi);贗ntel SGX的數(shù)據(jù)庫(kù)環(huán)境能夠支持對(duì)于數(shù)據(jù)庫(kù)操作量不大的項(xiàng)目使用。

4 結(jié)束語(yǔ)

本文提出了一種基于隱私計(jì)算的數(shù)據(jù)庫(kù)全生命周期保護(hù)方法,能夠在沒(méi)有第三方服務(wù)器的情況下完成各個(gè)數(shù)據(jù)庫(kù)服務(wù)器的認(rèn)證,保證數(shù)據(jù)在應(yīng)用端和服務(wù)端之間進(jìn)行存儲(chǔ)、流轉(zhuǎn)、使用的安全性,F(xiàn)有的Intel SGX應(yīng)用方案在進(jìn)行遠(yuǎn)程認(rèn)證的時(shí)候,需要Intel公司的服務(wù)器進(jìn)行第三方認(rèn)證,但是本文提出的基于隱私計(jì)算的數(shù)據(jù)庫(kù)全生命周期保護(hù)方法,在沒(méi)有聯(lián)網(wǎng)的情況下,同樣可以保證數(shù)據(jù)的安全性。本文通過(guò)試驗(yàn)驗(yàn)證了Intel SGX能夠適配MySQL數(shù)據(jù)庫(kù)和SQLCipher數(shù)據(jù)庫(kù),損耗也在應(yīng)用可以接受的范圍內(nèi)。本文提出的基于隱私計(jì)算的數(shù)據(jù)庫(kù)全生命周期保護(hù)方法目前基于Intel SGX硬件實(shí)現(xiàn),未來(lái)將擴(kuò)展到ARM TrustZone、AMD SEV、海光CSV等平臺(tái),并與基于Intel SGX的實(shí)現(xiàn)進(jìn)行對(duì)比驗(yàn)證。

 

1作者:戴偉濤 俞錦浩 田文生 范佳峰 王澤東 陸一凡 嚴(yán)志超 唐攀攀 來(lái)源:信息通信技術(shù)與政策 編輯:顧北

 

聲明:①凡本網(wǎng)注明“來(lái)源:通信界”的內(nèi)容,版權(quán)均屬于通信界,未經(jīng)允許禁止轉(zhuǎn)載、摘編,違者必究。經(jīng)授權(quán)可轉(zhuǎn)載,須保持轉(zhuǎn)載文章、圖像、音視頻的完整性,并完整標(biāo)注作者信息并注明“來(lái)源:通信界”。②凡本網(wǎng)注明“來(lái)源:XXX(非通信界)”的內(nèi)容,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多行業(yè)信息,僅代表作者本人觀點(diǎn),與本網(wǎng)無(wú)關(guān)。本網(wǎng)對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。③如因內(nèi)容涉及版權(quán)和其它問(wèn)題,請(qǐng)自發(fā)布之日起30日內(nèi)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除內(nèi)容。 
熱點(diǎn)動(dòng)態(tài)
普通新聞 中信科智聯(lián)亮相2023中國(guó)移動(dòng)全球合作伙伴大會(huì)
普通新聞 全球首個(gè)基于Data Channel的新通話商用網(wǎng)絡(luò)呼叫成功撥通
普通新聞 中國(guó)聯(lián)通:以優(yōu)質(zhì)通信服務(wù) 助力“一帶一路”共建繁華
普通新聞 楊杰:未來(lái)五年,智算規(guī)模復(fù)合增長(zhǎng)率將超過(guò)50%
普通新聞 長(zhǎng)沙電信大樓火災(zāi)調(diào)查報(bào)告發(fā)布:系未熄滅煙頭引燃,20余人被問(wèn)責(zé)
普通新聞 鄔賀銓:生態(tài)短板掣肘5G潛能發(fā)揮,AI有望成“破局之劍”
普通新聞 工信部:加大對(duì)民營(yíng)企業(yè)參與移動(dòng)通信轉(zhuǎn)售等業(yè)務(wù)和服務(wù)創(chuàng)新的支持力
普通新聞 摩爾線程亮相2023中國(guó)移動(dòng)全球合作伙伴大會(huì),全功能GPU加速云電腦體
普通新聞 看齊微軟!谷歌表示將保護(hù)用戶免受人工智能版權(quán)訴訟
普通新聞 聯(lián)想王傳東:AI能力已成為推動(dòng)產(chǎn)業(yè)升級(jí)和生產(chǎn)力躍遷的利刃
普通新聞 APUS李濤:中國(guó)的AI應(yīng)用 只能生長(zhǎng)在中國(guó)的大模型之上
普通新聞 外媒:在電池競(jìng)賽中,中國(guó)如何將世界遠(yuǎn)遠(yuǎn)甩在后面
普通新聞 三星電子預(yù)計(jì)其盈利能力將再次下降
普通新聞 報(bào)告稱華為5G專利全球第1 蘋(píng)果排名第12
普通新聞 黨中央、國(guó)務(wù)院批準(zhǔn),工信部職責(zé)、機(jī)構(gòu)、編制調(diào)整
普通新聞 榮耀Magic Vs2系列正式發(fā)布,刷新橫向大內(nèi)折手機(jī)輕薄紀(jì)錄
普通新聞 GSMA首席技術(shù)官:全球連接數(shù)超15億,5G推動(dòng)全行業(yè)數(shù)字化轉(zhuǎn)型
普通新聞 北京聯(lián)通完成全球首個(gè)F5G-A“單纖百T”現(xiàn)網(wǎng)驗(yàn)證,助力北京邁向萬(wàn)兆
普通新聞 中科曙光亮相2023中國(guó)移動(dòng)全球合作伙伴大會(huì)
普通新聞 最高補(bǔ)貼500萬(wàn)元!哈爾濱市制定工業(yè)互聯(lián)網(wǎng)專項(xiàng)資金使用細(xì)則
通信視界
鄔賀銓:移動(dòng)通信開(kāi)啟5G-A新周期,云網(wǎng)融合/算
普通對(duì)話 中興通訊徐子陽(yáng):強(qiáng)基慧智,共建數(shù)智熱帶雨
普通對(duì)話 鄔賀銓:移動(dòng)通信開(kāi)啟5G-A新周期,云網(wǎng)融合
普通對(duì)話 華為輪值董事長(zhǎng)胡厚崑:我們正努力將5G-A帶
普通對(duì)話 高通中國(guó)區(qū)董事長(zhǎng)孟樸:5G與AI結(jié)合,助力提
普通對(duì)話 雷軍發(fā)布小米年度演講:堅(jiān)持做高端,擁抱大
普通對(duì)話 聞庫(kù):算網(wǎng)融合正值挑戰(zhàn)與機(jī)遇并存的關(guān)鍵階
普通對(duì)話 工信部副部長(zhǎng)張?jiān)泼鳎何覈?guó)算力總規(guī)模已居世
普通對(duì)話 鄔賀銓:我國(guó)互聯(lián)網(wǎng)平臺(tái)企業(yè)發(fā)展的新一輪機(jī)
普通對(duì)話 張志成:繼續(xù)加強(qiáng)海外知識(shí)產(chǎn)權(quán)保護(hù)工作 為助
普通對(duì)話 吳春波:華為如何突破美國(guó)6次打壓的逆境?
通信前瞻
亨通光電實(shí)踐數(shù)字化工廠,“5G+光纖”助力新一
普通對(duì)話 亨通光電實(shí)踐數(shù)字化工廠,“5G+光纖”助力新
普通對(duì)話 中科院錢德沛:計(jì)算與網(wǎng)絡(luò)基礎(chǔ)設(shè)施的全面部
普通對(duì)話 工信部趙志國(guó):我國(guó)算力總規(guī)模居全球第二 保
普通對(duì)話 鄔賀銓院士解讀ChatGPT等數(shù)字技術(shù)熱點(diǎn)
普通對(duì)話 我國(guó)北方海區(qū)運(yùn)用北斗三號(hào)短報(bào)文通信服務(wù)開(kāi)
普通對(duì)話 華為云Stack智能進(jìn)化,三大舉措賦能政企深度
普通對(duì)話 孟晚舟:“三大聚力”迎接數(shù)字化、智能化、
普通對(duì)話 物聯(lián)網(wǎng)設(shè)備在智能工作場(chǎng)所技術(shù)中的作用
普通對(duì)話 軟銀研發(fā)出以無(wú)人機(jī)探測(cè)災(zāi)害被埋者手機(jī)信號(hào)
普通對(duì)話 AI材料可自我學(xué)習(xí)并形成“肌肉記憶”
普通對(duì)話 北斗三號(hào)衛(wèi)星低能離子能譜儀載荷研制成功
普通對(duì)話 為什么Wi-Fi6將成為未來(lái)物聯(lián)網(wǎng)的關(guān)鍵?
普通對(duì)話 馬斯克出現(xiàn)在推特總部 收購(gòu)應(yīng)該沒(méi)有懸念了
普通對(duì)話 臺(tái)積電澄清:未強(qiáng)迫員工休假或有任何無(wú)薪假
普通對(duì)話 新一代載人運(yùn)載火箭發(fā)動(dòng)機(jī)研制獲重大突破
推薦閱讀
Copyright @ Cntxj.Net All Right Reserved 通信界 版權(quán)所有
未經(jīng)書(shū)面許可,禁止轉(zhuǎn)載、摘編、復(fù)制、鏡像