云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法及系統(tǒng),其中,保護(hù)方法包括以下步驟:接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安SSL安全連接方式接收用戶傳輸?shù)臄?shù)據(jù);通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行加密,并通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用程序?qū)⒓用芎蟮臄?shù)據(jù)拷貝至預(yù)設(shè)區(qū)域以進(jìn)行操作;當(dāng)數(shù)據(jù)傳輸至云平臺(tái)的云存儲(chǔ)設(shè)備進(jìn)行保存時(shí),讀取預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與SSL安全連接方式將從預(yù)設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至云存儲(chǔ)設(shè)備中。根據(jù)本發(fā)明實(shí)施例的方法,通過(guò)SSL安全連接方式進(jìn)行數(shù)據(jù)傳輸,且通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)用戶數(shù)據(jù)進(jìn)行保護(hù),以及對(duì)用戶數(shù)據(jù)加密后進(jìn)行存儲(chǔ),很好地保證了用戶數(shù)據(jù)的安全性和私密性。
【專利說(shuō)明】云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及系統(tǒng)安全【技術(shù)領(lǐng)域】,特別涉及一種云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法及系 統(tǒng)。
【背景技術(shù)】
[0002] 在云端服務(wù)中,虛擬化技術(shù)是根本與核心,也是云端服務(wù)最重要、最創(chuàng)新的部分, 但其也是云端服務(wù)私密性問(wèn)題的根源。由于云端服務(wù)使用的物理計(jì)算與存儲(chǔ)介質(zhì)不屬于用 戶所有,當(dāng)用戶使用云端服務(wù)時(shí),云端服務(wù)提供商會(huì)具有數(shù)據(jù)有限訪問(wèn)權(quán)。同時(shí)由于云端服 務(wù)的虛擬化特性,正常用戶和惡意用戶會(huì)使用同一朵云中的資源,企業(yè)和企業(yè)的競(jìng)爭(zhēng)對(duì)手 也會(huì)使用同一朵云上的云服務(wù),導(dǎo)致在云端上,惡意用戶、企業(yè)的競(jìng)爭(zhēng)對(duì)手乃至云端服務(wù)提 供商都有可能會(huì)非法訪問(wèn)并竊取云端服務(wù)用戶的私密數(shù)據(jù)。其中,在Gartner的一篇報(bào)告 中指出,云計(jì)算中最重要的安全挑戰(zhàn)是云服務(wù)提供商對(duì)其物理設(shè)備上的客戶數(shù)據(jù)即用戶數(shù) 據(jù)的訪問(wèn)對(duì)于用戶來(lái)說(shuō)是不可見(jiàn),導(dǎo)致無(wú)法保證用戶數(shù)據(jù)的安全性和私密性。
【發(fā)明內(nèi)容】
[0003] 本申請(qǐng)是基于發(fā)明人對(duì)以下問(wèn)題的認(rèn)識(shí)和發(fā)現(xiàn)作出的:
[0004] 近些年來(lái),計(jì)算機(jī)科學(xué)和互聯(lián)網(wǎng)技術(shù)飛速發(fā)展,大型企業(yè)、大型研究機(jī)構(gòu)等擁有的 各式各樣的IT(Internet Technology,互聯(lián)網(wǎng)技術(shù))資源及IT基礎(chǔ)架構(gòu)也日趨龐大。然而, 這些龐大的計(jì)算資源、存儲(chǔ)資源、數(shù)據(jù)資源和軟件資源等分散在網(wǎng)絡(luò)各處,利用率低下,造 成資源的浪費(fèi)。因此,如何合理有效的利用已有的物理資源,避免浪費(fèi)和重復(fù)建設(shè),盡量提 高資源利用率,使得這些資源創(chuàng)造出更多的價(jià)值一直是這些物理資源所有者關(guān)注的焦點(diǎn)。 另外,眾多中小企業(yè)、中小研究機(jī)構(gòu)與個(gè)人急切需要各種IT資源,但卻難以承擔(dān)物理資源 的采購(gòu)、維護(hù)等開(kāi)銷(xiāo),或者缺乏人員對(duì)這些IT資源進(jìn)行維護(hù)與配置。因此,如何將大型企業(yè) 與研究機(jī)構(gòu)等擁有的各種大量IT物理資源整合起來(lái),為用戶提供一個(gè)虛擬的、可配置的、 可擴(kuò)展的、穩(wěn)定的計(jì)算和存儲(chǔ)虛擬環(huán)境,以盡量提高物理資源的利用率,就成為當(dāng)前一個(gè)亟 待解決的重要問(wèn)題。
[0005] 2007年9月,云計(jì)算作為一種全新的商業(yè)計(jì)算服務(wù)模式迅速發(fā)展起來(lái),它將大量 的計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)連接起來(lái)構(gòu)成一個(gè)資源池,并使用軟件對(duì)這些計(jì)算機(jī)進(jìn)行統(tǒng)一抽象和自 動(dòng)化管理。云可以根據(jù)用戶的需求動(dòng)態(tài)的為用戶分配計(jì)算能力、存儲(chǔ)空間和軟件服務(wù)等。 具體地,云計(jì)算整體架構(gòu)主要分為四個(gè)部分:基礎(chǔ)設(shè)施層(IaaS)、平臺(tái)層(PaaS)、軟件服務(wù) 層(SaaS)和對(duì)以上三層進(jìn)行管理的云管理層。其中,基礎(chǔ)設(shè)施層包含底層大量同構(gòu)或是異 構(gòu)的物理計(jì)算與存儲(chǔ)等資源,并對(duì)這些物理資源進(jìn)行虛擬化,為上層提供統(tǒng)一的資源調(diào)度 和使用接口;平臺(tái)層負(fù)責(zé)提供操作系統(tǒng)及編程框架;軟件服務(wù)層則為云服務(wù)用戶提供一定 的軟件支持,進(jìn)行軟件的自動(dòng)化安裝等,使得用戶申請(qǐng)到計(jì)算與存儲(chǔ)資源的同時(shí)就可以進(jìn) 行各自的業(yè)務(wù)而無(wú)需自行安裝與配置軟件;云管理層則負(fù)責(zé)資源調(diào)度、管理與備份,用戶注 冊(cè)、監(jiān)控與計(jì)費(fèi)等管理問(wèn)題。
[0006] 綜上所述,"云"式的服務(wù)模式非常好的解決了上述問(wèn)題,因此云存儲(chǔ),云計(jì)算等云 端服務(wù)受到越來(lái)越多的關(guān)注。因此,國(guó)內(nèi)外許多IT企業(yè)都推出了各自的云平臺(tái)并為個(gè)人用 戶和企業(yè)用戶提供多種多樣的云服務(wù)。例如有針對(duì)個(gè)人的在線云文檔服務(wù)Google Docs、 在線云筆記服務(wù)Evernote、有道云筆記、在線云存儲(chǔ)服務(wù)Dropbox、盛大網(wǎng)盤(pán)Everbox等; 也有針對(duì)企業(yè)用戶的云主機(jī)服務(wù)Google Cloud Platform、Sina App Engine、云存儲(chǔ)服務(wù) Amazon S3、微軟的Azure Storage等。其中,許多著名的企業(yè)級(jí)應(yīng)用都部署在這些平臺(tái)上, 如 〇1'(^13(?、111311111:11〇116、1\11]11311',甚至41]^2011自身的各種全球應(yīng)用均基于41]^201133。這些 IT企業(yè)使用虛擬化技術(shù)將自身?yè)碛械挠?jì)算與存儲(chǔ)資源整合為一個(gè)云,并為每個(gè)用戶在云中 分配一定的資源進(jìn)行服務(wù)。
[0007] 云端服務(wù)具有高度的彈性、可擴(kuò)展性和可用性,隨時(shí)隨地可以訪問(wèn),且用戶不需要 購(gòu)買(mǎi)物理硬件,不需要對(duì)計(jì)算存儲(chǔ)等環(huán)境進(jìn)行配置、管理和維護(hù)。另外,由于云端服務(wù)充分 整合了計(jì)算與存儲(chǔ)資源,極大的提高了資源的利用率,充分降低了成本,用戶僅需要為自己 實(shí)際使用的資源進(jìn)行少量付費(fèi)就可以即時(shí)獲得配置完備的云端服務(wù)。
[0008] 由于云端服務(wù)的這些優(yōu)良特性,越來(lái)越多的個(gè)人和企業(yè)用戶將其應(yīng)用與數(shù)據(jù)遷移 到云端上來(lái),但更多的用戶卻保持觀望的態(tài)度。根據(jù)IDC(Internet Data Center,即互聯(lián) 網(wǎng)數(shù)據(jù)中心)調(diào)查結(jié)果顯示人們對(duì)于按需云計(jì)算問(wèn)題的擔(dān)心程度排序中,安全問(wèn)題排在第 一位,其次才是性能、可用性、集成問(wèn)題和可定制能力等問(wèn)題。另外,根據(jù)國(guó)內(nèi)專業(yè)調(diào)研機(jī) 構(gòu)CBI Research的相關(guān)數(shù)據(jù)表明:目前大約有80%左右的企業(yè)基于數(shù)據(jù)安全性的考慮,并 不愿意將企業(yè)內(nèi)部數(shù)據(jù)放在公有云上。對(duì)于個(gè)人用戶而言,如何保證云平臺(tái)上的個(gè)人隱私 不被竊取和濫用是人們關(guān)注的焦點(diǎn)。對(duì)于企業(yè)用戶而言,數(shù)據(jù)是企業(yè)的重要資產(chǎn)乃至核心 競(jìng)爭(zhēng)力,如何保證企業(yè)數(shù)據(jù)和服務(wù)在云平臺(tái)上的私密性是一個(gè)企業(yè)決定是否使用云端服務(wù) 的關(guān)鍵。然而,由于云計(jì)算中最重要的安全挑戰(zhàn)是云服務(wù)提供商對(duì)其物理設(shè)備上的客戶數(shù) 據(jù)即用戶數(shù)據(jù)的訪問(wèn)對(duì)于用戶來(lái)說(shuō)是不可見(jiàn),即無(wú)法很好地保證用戶數(shù)據(jù)的安全性和私密 性,導(dǎo)致用戶存在一定顧慮。
[0009] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。為此,本發(fā)明的 一個(gè)目的在于提出一種對(duì)用戶透明的保護(hù)用戶數(shù)據(jù)的安全性和私密性的云環(huán)境下用戶數(shù) 據(jù)的保護(hù)方法。
[0010] 本發(fā)明的另一個(gè)目的在于提出一種云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)。
[0011] 為達(dá)到上述目的,本發(fā)明一方面實(shí)施例提出了一種云環(huán)境下用戶數(shù)據(jù)的保護(hù) 方法,包括以下步驟:接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安全套階層 SSL(Secure Sockets Layer,安全套接層)安全連接方式接收所述用戶傳輸?shù)臄?shù)據(jù);通過(guò)安 全虛擬監(jiān)督系統(tǒng)對(duì)所述數(shù)據(jù)進(jìn)行加密,并通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用程序?qū)⒓用芎蟮臄?shù)據(jù)拷 貝至預(yù)設(shè)區(qū)域以進(jìn)行操作;以及當(dāng)所述數(shù)據(jù)傳輸至所述云平臺(tái)的云存儲(chǔ)設(shè)備進(jìn)行保存時(shí), 讀取所述預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與所述SSL安全連接方式將從所述預(yù) 設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至所述云存儲(chǔ)設(shè)備中。
[0012] 根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法,通過(guò)SSL安全連接方式進(jìn)行 數(shù)據(jù)傳輸,以實(shí)現(xiàn)用戶與云平臺(tái)網(wǎng)絡(luò)數(shù)據(jù)交互時(shí),保證用戶數(shù)據(jù)的私密性,并且通過(guò)安全虛 擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)加密,并拷貝至預(yù)設(shè)區(qū)域,從而對(duì)運(yùn)行中的用戶應(yīng)用程序進(jìn)行保護(hù),將內(nèi) 存中的實(shí)際物理地址和每個(gè)用戶的虛擬地址匹配起來(lái),防止系統(tǒng)管理員或者其他惡意用戶 訪問(wèn)用戶在內(nèi)存中的數(shù)據(jù),以實(shí)現(xiàn)用戶應(yīng)用程序在云平臺(tái)上運(yùn)行時(shí),保證用戶數(shù)據(jù)的安全 性和私密性。另外,通過(guò)安全虛擬監(jiān)督系統(tǒng),使用戶實(shí)際存儲(chǔ)在云平臺(tái)上的數(shù)據(jù)為密文,當(dāng) 用戶讀出數(shù)據(jù)時(shí),再進(jìn)行解密返回給用戶,整個(gè)過(guò)程對(duì)于用戶是透明的,云平臺(tái)管理員及其 他惡意用戶均無(wú)法截獲和竊取正常用戶的私密數(shù)據(jù),更好地保證了用戶數(shù)據(jù)的安全性和私 密性。
[0013] 另外,根據(jù)本發(fā)明上述實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法還可以具有如下附 加的技術(shù)特征:
[0014] 在本發(fā)明的一個(gè)實(shí)施例中,所述云平臺(tái)中的應(yīng)用程序部署在虛擬機(jī)中。
[0015] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,該方法還包括:當(dāng)所述用戶訪問(wèn)所述云存儲(chǔ) 設(shè)備中的數(shù)據(jù)時(shí),接收所述用戶通過(guò)所述第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)訪問(wèn)請(qǐng)求;通過(guò)所述第二網(wǎng) 絡(luò)從所述云存儲(chǔ)設(shè)備中獲取所述數(shù)據(jù),并通過(guò)所述安全虛擬監(jiān)督系統(tǒng)進(jìn)行解密,以通過(guò)所 述第一網(wǎng)絡(luò)發(fā)送給所述用戶。
[0016] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳 輸請(qǐng)求具體包括:接收所述用戶請(qǐng)求文件,并通過(guò)分塊形成多個(gè)文件塊;向第一服務(wù)器請(qǐng) 求每個(gè)文件塊所在的第二服務(wù)器的地址與在所述第二服務(wù)器上的相應(yīng)的位置;以及與所述 第二服務(wù)器進(jìn)行數(shù)據(jù)交互,以讀取和寫(xiě)入所述每個(gè)文件塊的數(shù)據(jù),并反饋給所述用戶。
[0017] 另外,在本發(fā)明的一個(gè)實(shí)施例中,通過(guò)所述SSL安全連接方式寫(xiě)入所述文件塊的 數(shù)據(jù)。
[0018] 本發(fā)明另一方面實(shí)施例提出的一種云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng),包括:接收模 塊,用于接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安全套階層SSL安全連接方 式接收所述用戶傳輸?shù)臄?shù)據(jù);控制模塊,所述控制模塊與所述接收模塊相連,所述控制模塊 包括安全虛擬監(jiān)督系統(tǒng),用于通過(guò)所述安全虛擬監(jiān)督系統(tǒng)對(duì)所述數(shù)據(jù)進(jìn)行加密和解密,并 通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用程序?qū)⒓用芎蟮臄?shù)據(jù)拷貝至預(yù)設(shè)區(qū)域以進(jìn)行操作;以及傳輸模 塊,所述傳輸模塊與所述控制模塊相連,當(dāng)所述數(shù)據(jù)傳輸至所述云平臺(tái)的云存儲(chǔ)設(shè)備進(jìn)行 保存時(shí),用于讀取所述預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與所述SSL安全連接方 式將從所述預(yù)設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至所述云存儲(chǔ)設(shè)備中。
[0019] 根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng),通過(guò)SSL安全連接方式進(jìn)行 數(shù)據(jù)傳輸,以實(shí)現(xiàn)用戶與云平臺(tái)網(wǎng)絡(luò)數(shù)據(jù)交互時(shí),保證用戶數(shù)據(jù)的私密性,并且通過(guò)安全虛 擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)加密,并拷貝至預(yù)設(shè)區(qū)域,從而對(duì)運(yùn)行中的用戶應(yīng)用程序進(jìn)行保護(hù),將內(nèi) 存中的實(shí)際物理地址和每個(gè)用戶的虛擬地址匹配起來(lái),防止系統(tǒng)管理員或者其他惡意用戶 訪問(wèn)用戶在內(nèi)存中的數(shù)據(jù),以實(shí)現(xiàn)用戶應(yīng)用程序在云平臺(tái)上運(yùn)行時(shí),保證用戶數(shù)據(jù)的安全 性和私密性。另外,通過(guò)安全虛擬監(jiān)督系統(tǒng),使用戶實(shí)際存儲(chǔ)在云平臺(tái)上的數(shù)據(jù)為密文,當(dāng) 用戶讀出數(shù)據(jù)時(shí),再進(jìn)行解密返回給用戶,整個(gè)過(guò)程對(duì)于用戶是透明的,云平臺(tái)管理員及其 他惡意用戶均無(wú)法截獲和竊取正常用戶的私密數(shù)據(jù),更好地保證了用戶數(shù)據(jù)的安全性和私 密性。
[0020] 另外,根據(jù)本發(fā)明上述實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)還可以具有如下附 加的技術(shù)特征:
[0021] 其中,在本發(fā)明的一個(gè)實(shí)施例中,所述云平臺(tái)中的應(yīng)用程序部署在虛擬機(jī)中。
[0022] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述接收模塊還用于當(dāng)所述用戶訪問(wèn)所述 云存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),接收所述用戶通過(guò)所述第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)訪問(wèn)請(qǐng)求。
[0023] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述系統(tǒng)還包括:獲取模塊,所述獲取模塊 與所述控制模塊相連,用于通過(guò)所述第二網(wǎng)絡(luò)從所述云存儲(chǔ)設(shè)備中獲取所述數(shù)據(jù),并通過(guò) 所述控制模塊進(jìn)行解密,以通過(guò)所述第一網(wǎng)絡(luò)發(fā)送給所述用戶。
[0024] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述接收模塊還用于接收所述用戶請(qǐng)求文 件,并通過(guò)分塊形成多個(gè)文件塊,并向第一服務(wù)器請(qǐng)求每個(gè)文件塊所在的第二服務(wù)器的地 址與在所述第二服務(wù)器上的相應(yīng)的位置,以及與所述第二服務(wù)器進(jìn)行數(shù)據(jù)交互,以讀取和 寫(xiě)入所述每個(gè)文件塊的數(shù)據(jù),并反饋給所述用戶。
[0025] 另外,在本發(fā)明的一個(gè)實(shí)施例中,所述接收模塊通過(guò)所述SSL安全連接方式寫(xiě)入 所述文件塊的數(shù)據(jù)。
[0026] 本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說(shuō)明】
[0027] 本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變 得明顯和容易理解,其中 :
[0028] 圖1為根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法的流程圖;
[0029] 圖2(a)為根據(jù)本發(fā)明一個(gè)具體實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法的示意 圖;
[0030] 圖2(b)為根據(jù)本發(fā)明一個(gè)具體實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)示 意圖;
[0031] 圖3(a)為根據(jù)本發(fā)明另一個(gè)實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法的示意圖;
[0032] 圖3(b)為根據(jù)本發(fā)明另一個(gè)實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)示意 圖;
[0033] 圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的用戶讀取數(shù)據(jù)的示意圖;
[0034] 圖5為根據(jù)本發(fā)明另一個(gè)具體實(shí)施例的接收數(shù)據(jù)的示意圖;
[0035] 圖6(a)為根據(jù)本發(fā)明一個(gè)實(shí)施例的向第一服務(wù)器請(qǐng)求文件的示意圖;
[0036] 圖6(b)為根據(jù)本發(fā)明一個(gè)實(shí)施例的部分云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)示 意圖;
[0037] 圖7(a)為根據(jù)本發(fā)明一個(gè)實(shí)施例的與第二服務(wù)器數(shù)據(jù)交互的示意圖;
[0038] 圖7(b)為根據(jù)本發(fā)明一個(gè)實(shí)施例的另一部分云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié) 構(gòu)示意圖;
[0039] 圖8為根據(jù)本發(fā)明一個(gè)實(shí)施例的向云存儲(chǔ)設(shè)備寫(xiě)入數(shù)據(jù)的示意圖;
[0040] 圖9為根據(jù)本發(fā)明一個(gè)實(shí)施例的從云存儲(chǔ)設(shè)備讀取數(shù)據(jù)的示意圖;
[0041] 圖10為根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖;以及
[0042] 圖11為根據(jù)本發(fā)明一個(gè)具體實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)示意 圖。
【具體實(shí)施方式】
[0043] 下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終 相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附 圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
[0044] 下文的公開(kāi)提供了許多不同的實(shí)施例或例子用來(lái)實(shí)現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡(jiǎn) 化本發(fā)明的公開(kāi),下文中對(duì)特定例子的部件和設(shè)置進(jìn)行描述。當(dāng)然,它們僅僅為示例,并且 目的不在于限制本發(fā)明。此外,本發(fā)明可以在不同例子中重復(fù)參考數(shù)字和/或字母。這種重 復(fù)是為了簡(jiǎn)化和清楚的目的,其本身不指示所討論各種實(shí)施例和/或設(shè)置之間的關(guān)系。此 夕卜,本發(fā)明提供了的各種特定的工藝和材料的例子,但是本領(lǐng)域普通技術(shù)人員可以意識(shí)到 其他工藝的可應(yīng)用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之 "上"的結(jié)構(gòu)可以包括第一和第二特征形成為直接接觸的實(shí)施例,也可以包括另外的特征形 成在第一和第二特征之間的實(shí)施例,這樣第一和第二特征可能不是直接接觸。
[0045] 在本發(fā)明的描述中,需要說(shuō)明的是,除非另有規(guī)定和限定,術(shù)語(yǔ)"安裝"、"相連"、 "連接"應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個(gè)元件內(nèi)部的連通,可 以是直接相連,也可以通過(guò)中間媒介間接相連,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù) 具體情況理解上述術(shù)語(yǔ)的具體含義。
[0046] 下面參照附圖描述根據(jù)本發(fā)明實(shí)施例提出的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法及保 護(hù)系統(tǒng),首先將參照附圖描述根據(jù)本發(fā)明實(shí)施例提出的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法。 [0047] 為了解決相關(guān)技術(shù)中不能有效的在云端保護(hù)用戶數(shù)據(jù)的私密性,本發(fā)明提出了一 種云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法。如圖1所示,該云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法包括以下 步驟:
[0048] S101,接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安全套階層SSL安全 連接方式接收用戶傳輸?shù)臄?shù)據(jù)。
[0049] 其中,為了保護(hù)用戶數(shù)據(jù)在網(wǎng)絡(luò)傳輸上的私密性,在用戶數(shù)據(jù)傳輸過(guò)程中,僅將明 文的用戶數(shù)據(jù)暴露給用戶本身和云平臺(tái)中的應(yīng)用程序部分,即在云平臺(tái)中,確保明文的用 戶數(shù)據(jù)僅會(huì)出現(xiàn)在用戶態(tài)內(nèi)存空間中而不出現(xiàn)在內(nèi)核態(tài)地址空間中。因此,在本發(fā)明的一 個(gè)實(shí)施例中,參照?qǐng)D2所示,用戶數(shù)據(jù)在用戶即用戶客戶端與云平臺(tái)和云平臺(tái)內(nèi)部進(jìn)行傳 輸時(shí),通過(guò)SSL安全連接方式實(shí)現(xiàn)。具體地,SSL安全連接可以對(duì)數(shù)據(jù)傳輸?shù)碾p方進(jìn)行認(rèn)證, 確保數(shù)據(jù)發(fā)送目的地的正確性,可以對(duì)數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)在傳輸途中被竊取,可以維 護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過(guò)程中不被改變。
[0050] 進(jìn)一步地,參照?qǐng)D2(a)所示,由于使用了 SSL安全連接,用戶數(shù)據(jù)在傳輸前會(huì)先 進(jìn)行認(rèn)證,傳輸時(shí)會(huì)在用戶客戶端的應(yīng)用程序中的SSL模塊中就被加密,之后再傳遞給用 戶客戶端操作系統(tǒng)與硬件并通過(guò)第一網(wǎng)絡(luò)進(jìn)行傳輸,接收方即云平臺(tái)的分布式文件系統(tǒng)硬 件與操作系統(tǒng)得到數(shù)據(jù)后提交給應(yīng)用程序的用戶數(shù)據(jù)寫(xiě)入模塊,用戶數(shù)據(jù)在接收方的應(yīng)用 程序的SSL模塊中被解密。其中,P指明文的用戶數(shù)據(jù),C指密文即加密后的用戶數(shù)據(jù)。因 此,在數(shù)據(jù)傳輸?shù)恼麄€(gè)過(guò)程中,操作系統(tǒng)與網(wǎng)絡(luò)中的用戶數(shù)據(jù)均為密文形式,明文形式的數(shù) 據(jù)僅存在與云平臺(tái)中的應(yīng)用程序的用戶態(tài)內(nèi)存空間之中,可以有效防止攻擊者通過(guò)偽裝為 數(shù)據(jù)接收者、網(wǎng)絡(luò)監(jiān)聽(tīng)、修改傳輸數(shù)據(jù)等手段竊取用戶數(shù)據(jù),可以防止云平臺(tái)管理員監(jiān)守自 盜,利用操作系統(tǒng)或硬件在網(wǎng)絡(luò)傳輸時(shí)竊取用戶數(shù)據(jù),能夠保證用戶數(shù)據(jù)在網(wǎng)絡(luò)傳輸中的 私密性。
[0051] S102,通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行加密,并通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用程序 將加密后的數(shù)據(jù)拷貝至預(yù)設(shè)區(qū)域以進(jìn)行操作。
[0052] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,云平臺(tái)中的應(yīng)用程序部署在虛擬機(jī)中。
[0053] 具體地,為了保護(hù)用戶數(shù)據(jù)運(yùn)行時(shí)的數(shù)據(jù)私密性,需要將操作系統(tǒng)與應(yīng)用程序隔 離開(kāi)來(lái)。因此,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D2(a)所示,本發(fā)明實(shí)施例在云平臺(tái)中采用 虛擬化的方法,將云平臺(tái)中的應(yīng)用都部署在虛擬機(jī)之中,并通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)虛擬 機(jī)和物理機(jī)來(lái)進(jìn)行管理和控制。其中,通過(guò)安全虛擬監(jiān)督系統(tǒng)的管理,實(shí)現(xiàn)不允許虛擬機(jī)操 作系統(tǒng)訪問(wèn)應(yīng)用程序的用戶態(tài)內(nèi)存空間的目的。當(dāng)云平臺(tái)的操作系統(tǒng)為了對(duì)云平臺(tái)中運(yùn)行 的應(yīng)用程序提供系統(tǒng)服務(wù)需要對(duì)用戶態(tài)內(nèi)存空間訪問(wèn)操作時(shí),安全虛擬監(jiān)督系統(tǒng)將透明的 把應(yīng)用程序用戶態(tài)內(nèi)存空間中的數(shù)據(jù)即用戶數(shù)據(jù)進(jìn)行加密,然后將加密后的數(shù)據(jù)拷貝到預(yù) 設(shè)區(qū)域中例如一個(gè)安全虛擬監(jiān)督系統(tǒng)和操作系統(tǒng)共享的緩沖區(qū),再由操作系統(tǒng)進(jìn)行訪問(wèn), 以進(jìn)行操作,實(shí)現(xiàn)了操作系統(tǒng)與應(yīng)用程序的隔離,從而確保了用戶數(shù)據(jù)在內(nèi)存中的私密性。
[0054] S103,當(dāng)數(shù)據(jù)傳輸至云平臺(tái)的云存儲(chǔ)設(shè)備進(jìn)行保存時(shí),讀取預(yù)設(shè)區(qū)域中加密后的 數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與SSL安全連接方式將從預(yù)設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至云存儲(chǔ)設(shè)備 中。
[0055] 其中,為了保護(hù)用戶數(shù)據(jù)在存儲(chǔ)時(shí)的私密性,因此,在本發(fā)明的一個(gè)實(shí)施例中,參 照?qǐng)D3(a)所示,當(dāng)云平臺(tái)中的應(yīng)用程序要將用戶數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)例如云存儲(chǔ)設(shè)備時(shí),安 全虛擬監(jiān)督系統(tǒng)會(huì)將用戶數(shù)據(jù)加密,并將加密后的數(shù)據(jù)拷貝到一個(gè)安全虛擬監(jiān)督系統(tǒng)與操 作系統(tǒng)共享的緩沖區(qū)即預(yù)設(shè)區(qū)域中,其次操作系統(tǒng)讀取這個(gè)緩沖區(qū)中的數(shù)據(jù),并將讀取的 數(shù)據(jù)寫(xiě)入云存儲(chǔ)設(shè)備中,即讀取預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與SSL安全連 接方式傳輸至云平臺(tái)的云存儲(chǔ)設(shè)備中。在本發(fā)明的實(shí)施例中,存儲(chǔ)在存儲(chǔ)介質(zhì)中的用戶數(shù) 據(jù)均為密文,因此存儲(chǔ)介質(zhì)即使發(fā)生了物理性的丟失也能確保用戶數(shù)據(jù)的私密性。另外,在 本發(fā)明實(shí)施例中,上述用戶可以是個(gè)人或企業(yè),上述第一網(wǎng)絡(luò)以及第二網(wǎng)絡(luò)可以是無(wú)線網(wǎng) 絡(luò)或有線網(wǎng)絡(luò)。
[0056] 另外,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D4所示,用戶程序使用數(shù)據(jù)時(shí),先由操作 系統(tǒng)讀出存儲(chǔ)介質(zhì)中的數(shù)據(jù),再經(jīng)由安全虛擬監(jiān)督系統(tǒng)進(jìn)行解密后交由用戶程序使用,具 體包括以下步驟:
[0057] S401,當(dāng)用戶訪問(wèn)云存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)訪 問(wèn)請(qǐng)求。
[0058] S402,通過(guò)第二網(wǎng)絡(luò)從云存儲(chǔ)設(shè)備中獲取數(shù)據(jù),并通過(guò)安全虛擬監(jiān)督系統(tǒng)進(jìn)行解 密,以通過(guò)第一網(wǎng)絡(luò)發(fā)送給用戶。
[0059] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D5所示,接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送 的數(shù)據(jù)傳輸請(qǐng)求,具體包括以下步驟:
[0060] S501,接收用戶請(qǐng)求文件,并通過(guò)分塊形成多個(gè)文件塊。
[0061] S502,向第一服務(wù)器請(qǐng)求每個(gè)文件塊所在的第二服務(wù)器的地址與在第二服務(wù)器上 的相應(yīng)的位置。以及
[0062] S503,與第二服務(wù)器進(jìn)行數(shù)據(jù)交互,以讀取和寫(xiě)入每個(gè)文件塊的數(shù)據(jù),并反饋給所 述用戶。
[0063] 具體而言,在本發(fā)明的一個(gè)實(shí)施例中,分布式文件系統(tǒng)是云平臺(tái)的核心,因此需要 對(duì)分布式文件系統(tǒng)的客戶端和塊數(shù)據(jù)服務(wù)器進(jìn)行保護(hù)。因此,需要在分布式文件系統(tǒng)客戶 端和塊數(shù)據(jù)服務(wù)器上部署安全虛擬機(jī)監(jiān)督系統(tǒng),而元數(shù)據(jù)服務(wù)器上則不需要部署安全虛擬 機(jī)監(jiān)督系統(tǒng)。具體地,參照?qǐng)D6(a)所示,在用戶通過(guò)用戶客戶端向分布式文件系統(tǒng)客戶端 請(qǐng)求文件服務(wù)的時(shí)候,首先分布式文件系統(tǒng)客戶端會(huì)向第一服務(wù)器即元數(shù)據(jù)服務(wù)器請(qǐng)求文 件的元數(shù)據(jù)信息及文件塊存儲(chǔ)位置等信息。由于這個(gè)過(guò)程中并不涉及到用戶文件的實(shí)際數(shù) 據(jù),所以在這個(gè)過(guò)程中不需要進(jìn)行任何保護(hù),所有的操作完全按照原有的分布式文件系統(tǒng) 的流程進(jìn)行。另外,在這個(gè)過(guò)程中,用戶客戶端首先向分布式文件系統(tǒng)客戶端請(qǐng)求文件,分 布式文件系統(tǒng)客戶端會(huì)將文件進(jìn)行分塊,以形成多個(gè)文件塊,并向第一服務(wù)器請(qǐng)求每個(gè)文 件塊所在的第二服務(wù)器即塊服務(wù)器的地址與每個(gè)文件塊在相應(yīng)第二服務(wù)器上的位置,并且 第一服務(wù)器向分布式文件系統(tǒng)客戶端回饋這些信息,以完成文件元數(shù)據(jù)信息的交互。進(jìn)一 步地,分布式文件系統(tǒng)客戶端得到文件元信息之后,與指定的第二服務(wù)器進(jìn)行交互,以讀寫(xiě) 文件數(shù)據(jù)塊即每個(gè)文件塊的數(shù)據(jù),并將讀寫(xiě)后的文件信息傳遞給用戶客戶端。
[0064] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D7 (a)所示,通過(guò)SSL安全連接方式寫(xiě) 入文件塊的數(shù)據(jù)。
[0065] 其中,寫(xiě)入文件數(shù)據(jù)塊即文件塊的數(shù)據(jù)時(shí),用戶客戶端的文件數(shù)據(jù)通過(guò)用戶客戶 端的SSL模塊進(jìn)行加密傳輸,通過(guò)操作系統(tǒng)和硬件與第一網(wǎng)絡(luò)傳輸?shù)椒植际轿募到y(tǒng)客戶 端后再經(jīng)過(guò)分布式文件系統(tǒng)客戶端的SSL模塊進(jìn)行解密。進(jìn)一步地,在分布式文件系統(tǒng)客 戶端中,文件會(huì)被進(jìn)行分塊等操作,其次通過(guò)分布式文件系統(tǒng)客戶端的SSL模塊進(jìn)行加密 后通過(guò)虛擬機(jī)操作系統(tǒng)和硬件與第二網(wǎng)絡(luò)傳輸?shù)降诙?wù)器,再經(jīng)過(guò)第二服務(wù)器的SSL模 塊解密,解密后的數(shù)據(jù)將被寫(xiě)入到第二服務(wù)器的本地硬盤(pán)之中。另外,在進(jìn)行寫(xiě)入數(shù)據(jù)的系 統(tǒng)調(diào)用時(shí),會(huì)被安全虛擬機(jī)監(jiān)督系統(tǒng)截獲,安全虛擬機(jī)監(jiān)督系統(tǒng)將存在與用戶空間的文件 數(shù)據(jù)進(jìn)行加密,并將其拷貝到一個(gè)由安全虛擬機(jī)監(jiān)督系統(tǒng)與虛擬機(jī)操作系統(tǒng)共享的緩沖區(qū) 即預(yù)設(shè)區(qū)域中,其次將系統(tǒng)調(diào)用移交至虛擬機(jī)操作系統(tǒng)執(zhí)行,因此寫(xiě)入到硬盤(pán)中的數(shù)據(jù)將 是密文。在本發(fā)明的實(shí)施例中,在整個(gè)用戶文件數(shù)據(jù)傳輸?shù)倪^(guò)程中,SSL模塊的存在保證了 用戶數(shù)據(jù)在各個(gè)應(yīng)用程序間進(jìn)行傳遞時(shí),端到端的數(shù)據(jù)安全性和私密性。另外,通過(guò)在塊數(shù) 據(jù)服務(wù)器中將文件數(shù)據(jù)加密寫(xiě)入硬盤(pán),從而保證了數(shù)據(jù)在物理硬盤(pán)上的安全性和私密性。 [0066] 本發(fā)明實(shí)施例的方法可以確保用戶每個(gè)文件數(shù)據(jù)塊在網(wǎng)絡(luò)傳輸、內(nèi)存訪問(wèn)、硬盤(pán) 存儲(chǔ)這整個(gè)過(guò)程中的安全性與私密性,使攻擊者即使獲得了操作系統(tǒng)管理員權(quán)限,仍然無(wú) 法對(duì)用戶數(shù)據(jù)的安全性和私密性造成危害。然而,在整個(gè)傳輸過(guò)程中,用戶數(shù)據(jù)在內(nèi)存中的 安全性和私密性卻沒(méi)有收到任何保護(hù),因此下面將對(duì)用戶數(shù)據(jù)在內(nèi)存中的保護(hù)進(jìn)行詳細(xì)描 述。
[0067] 在此,將對(duì)用戶數(shù)據(jù)在內(nèi)存中的保護(hù)的兩個(gè)子問(wèn)題進(jìn)行詳細(xì)描述。其中,兩個(gè)子 問(wèn)題分別為操作系統(tǒng)與應(yīng)用程序的隔離問(wèn)題和在DMA (Direct Memory Access,直接內(nèi)存存 ?。┻^(guò)程中的用戶數(shù)據(jù)的保護(hù)問(wèn)題。首先將參照附圖描述操作系統(tǒng)與應(yīng)用程序的隔離問(wèn) 題。
[0068] 具體地,相關(guān)技術(shù)中,現(xiàn)有的應(yīng)用程序進(jìn)程都會(huì)各自擁有獨(dú)立的內(nèi)存地址空間 (虛擬地址空間)而操作系統(tǒng)會(huì)保留一部分內(nèi)存地址空間(內(nèi)核地址空間)僅供其自身使 用。對(duì)于每一個(gè)應(yīng)用程序進(jìn)程來(lái)說(shuō)內(nèi)核地址空間的地址分布是相同的,除去內(nèi)核地址空間 外的虛擬地址空間被稱為用戶地址空間。對(duì)于應(yīng)用程序進(jìn)程來(lái)說(shuō),其自身僅能訪問(wèn)用戶地 址空間的內(nèi)容而不能直接訪問(wèn)內(nèi)核地址空間,如果需要訪問(wèn)內(nèi)核地址空間,則需要使用操 作系統(tǒng)提供的各種系統(tǒng)調(diào)用,在進(jìn)行系統(tǒng)調(diào)用時(shí),進(jìn)程會(huì)從用戶態(tài)切換至內(nèi)核態(tài),由操作系 統(tǒng)來(lái)實(shí)現(xiàn)內(nèi)核地址空間的訪問(wèn)操作,在系統(tǒng)調(diào)用返回時(shí),應(yīng)用程序進(jìn)程會(huì)從內(nèi)核態(tài)切換回 用戶態(tài)繼續(xù)執(zhí)行。但是,如果如上述所說(shuō),則操作系統(tǒng)卻可以直接訪問(wèn)整個(gè)虛擬地址空間中 的內(nèi)容,導(dǎo)致無(wú)法保證用戶數(shù)據(jù)的安全性和私密性。
[0069] 進(jìn)一步地,由于應(yīng)用程序進(jìn)程各自擁有獨(dú)立的內(nèi)存地址空間,但實(shí)際的物理內(nèi)存 地址空間僅有一個(gè),所以每個(gè)應(yīng)用程序進(jìn)程會(huì)關(guān)聯(lián)一個(gè)頁(yè)表,這個(gè)頁(yè)表保存了該應(yīng)用程序 進(jìn)程的虛擬地址空間到實(shí)際的物理內(nèi)存地址空間的地址映射。
[0070] 具體地,對(duì)于每個(gè)應(yīng)用程序進(jìn)程來(lái)說(shuō),它的數(shù)據(jù)并非被其自身獨(dú)自占有,操作系統(tǒng) 可以訪問(wèn)所有應(yīng)用程序進(jìn)程的用戶地址空間,所以每個(gè)應(yīng)用程序進(jìn)程的數(shù)據(jù)對(duì)于操作系統(tǒng) 來(lái)說(shuō)都是可見(jiàn)的。因此,如果攻擊者獲得了操作系統(tǒng)管理員的權(quán)限,則可以很容易的竊取到 應(yīng)用程序的各種數(shù)據(jù)信息。需要注意的是,現(xiàn)代商用操作系統(tǒng)的代碼量龐大,接口眾多,操 作系統(tǒng)中的各種驅(qū)動(dòng)程序良莠不齊、漏洞很多,所以操作系統(tǒng)很容易被攻破,導(dǎo)致攻擊者獲 得操作系統(tǒng)管理員權(quán)限。綜上所述,讓操作系統(tǒng)可以直接訪問(wèn)到應(yīng)用程序進(jìn)程的用戶地址 空間的內(nèi)容是非常不安全的。因此,為了保證用戶數(shù)據(jù)的私密性,本發(fā)明實(shí)施例采用安全虛 擬監(jiān)督系統(tǒng)對(duì)虛擬機(jī)操作系統(tǒng)和應(yīng)用程序之間做了良好的隔離。
[0071] 具體而言,本發(fā)明實(shí)施例通過(guò)使用安全虛擬監(jiān)督系統(tǒng)之后,受保護(hù)的應(yīng)用程序進(jìn) 程會(huì)關(guān)聯(lián)兩個(gè)頁(yè)表,一個(gè)是原始頁(yè)表,另一個(gè)是僅包含內(nèi)核地址空間映射的影子頁(yè)表。其 中,應(yīng)用程序進(jìn)程在用戶態(tài)時(shí)使用原始頁(yè)表,在內(nèi)核態(tài)時(shí)使用影子頁(yè)表。在本發(fā)明的一個(gè)實(shí) 施例中,參照?qǐng)D8和9所示,當(dāng)應(yīng)用程序進(jìn)程在內(nèi)核態(tài)和用戶態(tài)之間切換時(shí)會(huì)被安全虛擬監(jiān) 督系統(tǒng)所截獲,安全虛擬監(jiān)督系統(tǒng)負(fù)責(zé)切換應(yīng)用程序的原始頁(yè)表與影子頁(yè)表。因此,當(dāng)應(yīng)用 程序進(jìn)程進(jìn)行系統(tǒng)調(diào)用后在內(nèi)核態(tài)運(yùn)行時(shí),由于使用了影子頁(yè)表,影子頁(yè)表中并不包含用 戶態(tài)地址空間的映射表項(xiàng),所以操作系統(tǒng)不可能訪問(wèn)到應(yīng)用程序進(jìn)程用戶態(tài)地址空間中的 任何數(shù)據(jù),從而嚴(yán)格的將操作系統(tǒng)與應(yīng)用程序隔離開(kāi)來(lái),使攻擊者即使獲得了操作系統(tǒng)管 理員權(quán)限,仍然無(wú)法威脅到用戶數(shù)據(jù)的安全性和私密性,并且對(duì)于那些需要在內(nèi)核態(tài)訪問(wèn) 用戶態(tài)地址空間數(shù)據(jù)的系統(tǒng)調(diào)用,本發(fā)明實(shí)施例通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)其進(jìn)行截獲,以 將這些數(shù)據(jù)從用戶態(tài)地址空間拷貝到內(nèi)核態(tài)地址空間或從內(nèi)核態(tài)地址空間拷貝到用戶態(tài) 地址空間,并在拷貝的過(guò)程中對(duì)于涉及到的用戶文件數(shù)據(jù)的系統(tǒng)調(diào)用(例如 :SyS_write向 云存儲(chǔ)設(shè)備寫(xiě)入數(shù)據(jù)、sys_read向云存儲(chǔ)設(shè)備讀取數(shù)據(jù)等)中的數(shù)據(jù)進(jìn)行加密或者解密處 理以保證用戶數(shù)據(jù)的安全性和私密性。
[0072] 另外,相關(guān)技術(shù)中的DMA數(shù)據(jù)交換操作在應(yīng)用程序進(jìn)程的內(nèi)核態(tài)地址空間和用戶 態(tài)地址空間均可進(jìn)行。由于在DMA過(guò)程中可以任意訪問(wèn)應(yīng)用程序進(jìn)程的用戶態(tài)地址空間, 導(dǎo)致攻擊者可以通過(guò)DMA的方式來(lái)竊取用戶位于內(nèi)存中的數(shù)據(jù)。其中,在相關(guān)技術(shù)中,可以 通過(guò)硬件相應(yīng)的技術(shù)(例如Intel的VT-d和AMD的SVM)保證虛擬計(jì)算平臺(tái)上各個(gè)虛擬機(jī) 間的DMA隔離,以確保一個(gè)虛擬機(jī)不會(huì)對(duì)另一個(gè)虛擬機(jī)的內(nèi)存地址空間進(jìn)行DMA訪問(wèn),所以 本發(fā)明實(shí)施例僅需要將一個(gè)虛擬機(jī)內(nèi)部的各個(gè)應(yīng)用程序進(jìn)程及虛擬機(jī)操作系統(tǒng)的DMA訪 問(wèn)隔離開(kāi)來(lái)即可。
[0073] 具體地,對(duì)于容許進(jìn)行DMA訪問(wèn)的內(nèi)存頁(yè)面,其映射信息會(huì)保存在I0MMU的映射表 中,只有通過(guò)該映射表進(jìn)行查找才能進(jìn)行相應(yīng)的DMA訪問(wèn)操作。因此,在一個(gè)需要被保護(hù)的 應(yīng)用程序進(jìn)程啟動(dòng)時(shí),本發(fā)明實(shí)施例通過(guò)安全虛擬監(jiān)督系統(tǒng)來(lái)檢查這個(gè)映射表,刪除受保 護(hù)的應(yīng)用程序用戶地址空間的映射信息,僅保留內(nèi)核地址空間的映射信息,并且在這個(gè)映 射表更新時(shí),安全虛擬監(jiān)督系統(tǒng)會(huì)對(duì)更新的映射信息進(jìn)行檢查,以確保不會(huì)有受保護(hù)的應(yīng) 用程序進(jìn)程用戶地址空間的映射被添加進(jìn)來(lái),從而實(shí)現(xiàn)DMA訪問(wèn)僅能在內(nèi)核態(tài)地址空間中 進(jìn)行的目的。另外,通過(guò)上述的操作系統(tǒng)與應(yīng)用程序隔離問(wèn)題的描述,從而得知拷貝到內(nèi)核 態(tài)的用戶數(shù)據(jù)均進(jìn)行了加密處理,全部為密文,所以在這種情況下非法的DMA訪問(wèn)也不會(huì) 對(duì)用戶數(shù)據(jù)的安全性和私密性造成影響,很好地保證了用戶數(shù)據(jù)的安全性和私密性。
[0074] 根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法,通過(guò)SSL安全連接方式進(jìn)行 數(shù)據(jù)傳輸,以實(shí)現(xiàn)用戶與云平臺(tái)網(wǎng)絡(luò)數(shù)據(jù)交互時(shí),保證用戶數(shù)據(jù)的私密性,并且通過(guò)安全虛 擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)加密,并拷貝至預(yù)設(shè)區(qū)域,從而對(duì)運(yùn)行中的用戶應(yīng)用程序進(jìn)行保護(hù),將內(nèi) 存中的實(shí)際物理地址和每個(gè)用戶的虛擬地址匹配起來(lái),防止系統(tǒng)管理員或者其他惡意用戶 訪問(wèn)用戶在內(nèi)存中的數(shù)據(jù),以實(shí)現(xiàn)用戶應(yīng)用程序在云平臺(tái)上運(yùn)行時(shí),保證用戶數(shù)據(jù)的安全 性和私密性。另外,通過(guò)安全虛擬監(jiān)督系統(tǒng),使用戶實(shí)際存儲(chǔ)在云平臺(tái)上的數(shù)據(jù)為密文,當(dāng) 用戶讀出數(shù)據(jù)時(shí),再進(jìn)行解密返回給用戶,整個(gè)過(guò)程對(duì)于用戶是透明的,云平臺(tái)管理員及其 他惡意用戶均無(wú)法截獲和竊取正常用戶的私密數(shù)據(jù),很好地保證了用戶數(shù)據(jù)的安全性和私 密性。
[0075] 圖10為根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)的結(jié)構(gòu)示意圖。參照 圖10所示,根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng)100包括:接收模塊10、控 制模塊20和傳輸模塊30。
[0076] 其中,接收模塊10用于接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安全 套階層SSL安全連接方式接收用戶傳輸?shù)臄?shù)據(jù)??刂颇K20與接收模塊10相連,控制模 塊20包括安全虛擬監(jiān)督系統(tǒng)206,控制模塊20用于通過(guò)安全虛擬監(jiān)督系統(tǒng)206對(duì)數(shù)據(jù)進(jìn) 行加密和解密,并通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用程序?qū)⒓用芎蟮臄?shù)據(jù)拷貝至預(yù)設(shè)區(qū)域以進(jìn)行操 作。傳輸模塊30與控制模塊20相連,當(dāng)數(shù)據(jù)傳輸至云平臺(tái)的云存儲(chǔ)設(shè)備207進(jìn)行保存時(shí), 傳輸模塊30用于讀取預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與SSL安全連接方式將從 預(yù)設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至云存儲(chǔ)設(shè)備207中。另外,在本發(fā)明的一個(gè)實(shí)施例中,云平臺(tái) 40的應(yīng)用程序部署在虛擬機(jī)中。本發(fā)明實(shí)施例的保護(hù)方法,通過(guò)SSL安全連接方式進(jìn)行數(shù) 據(jù)傳輸,并通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)加密,并拷貝至預(yù)設(shè)區(qū)域,且對(duì)數(shù)據(jù)加密后進(jìn)行存 儲(chǔ),很好地保證了數(shù)據(jù)的安全性與私密性。
[0077] 具體地,為了保護(hù)用戶數(shù)據(jù)在網(wǎng)絡(luò)傳輸上的私密性,在用戶數(shù)據(jù)傳輸過(guò)程中,僅將 明文的用戶數(shù)據(jù)暴露給用戶本身和云平臺(tái)40中的應(yīng)用程序部分,即在云平臺(tái)40中,確保明 文的用戶數(shù)據(jù)僅會(huì)出現(xiàn)在用戶態(tài)內(nèi)存空間中而不出現(xiàn)在內(nèi)核態(tài)地址空間中。因此,在本發(fā) 明的一個(gè)實(shí)施例中,參照?qǐng)D2(b)所示,用戶數(shù)據(jù)在用戶即用戶客戶端201與云平臺(tái)40和云 平臺(tái)40內(nèi)部進(jìn)行傳輸時(shí),通過(guò)SSL安全連接方式實(shí)現(xiàn)。具體地,SSL安全連接可以對(duì)數(shù)據(jù) 傳輸?shù)碾p方進(jìn)行認(rèn)證,確保數(shù)據(jù)發(fā)送目的地的正確性,可以對(duì)數(shù)據(jù)進(jìn)行加密,防止數(shù)據(jù)在傳 輸途中被竊取,可以維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過(guò)程中不被改變。
[0078] 進(jìn)一步地,參照?qǐng)D2 (b)所示,由于使用了 SSL安全連接,用戶數(shù)據(jù)在傳輸前會(huì)先進(jìn) 行認(rèn)證,傳輸時(shí)會(huì)在用戶客戶端201的應(yīng)用程序中的SSL模塊202中就被加密,之后再傳遞 給用戶客戶端操作系統(tǒng)與硬件并通過(guò)第一網(wǎng)絡(luò)203進(jìn)行傳輸,接收方即云平臺(tái)40的分布式 文件系統(tǒng)硬件與操作系統(tǒng)得到數(shù)據(jù)后提交給應(yīng)用程序的用戶數(shù)據(jù)寫(xiě)入模塊204,用戶數(shù)據(jù) 在接收方的應(yīng)用程序的SSL模塊205中被解密。其中,P指明文的用戶數(shù)據(jù),C指密文即加 密后的用戶數(shù)據(jù)。因此,在數(shù)據(jù)傳輸?shù)恼麄€(gè)過(guò)程中,操作系統(tǒng)與網(wǎng)絡(luò)中的用戶數(shù)據(jù)均為密文 形式,明文形式的數(shù)據(jù)僅存在與云平臺(tái)40中的應(yīng)用程序的用戶態(tài)內(nèi)存空間之中,可以有效 防止攻擊者通過(guò)偽裝為數(shù)據(jù)接收者、網(wǎng)絡(luò)監(jiān)聽(tīng)、修改傳輸數(shù)據(jù)等手段竊取用戶數(shù)據(jù),可以防 止云平臺(tái)40管理員監(jiān)守自盜,利用操作系統(tǒng)或硬件在網(wǎng)絡(luò)傳輸時(shí)竊取用戶數(shù)據(jù),能夠保證 用戶數(shù)據(jù)在網(wǎng)絡(luò)傳輸中的私密性。
[0079] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,云平臺(tái)40中的應(yīng)用程序部署在虛擬機(jī)中。
[0080] 具體地,為了保護(hù)用戶數(shù)據(jù)運(yùn)行時(shí)的數(shù)據(jù)私密性,需要將操作系統(tǒng)與應(yīng)用程序隔 離開(kāi)來(lái)。因此,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D2(b)所示,本發(fā)明實(shí)施例在云平臺(tái)40中 采用虛擬化的方法,將云平臺(tái)40中的應(yīng)用都部署在虛擬機(jī)之中,并通過(guò)安全虛擬監(jiān)督系統(tǒng) 206對(duì)虛擬機(jī)和物理機(jī)來(lái)進(jìn)行管理和控制。其中,通過(guò)安全虛擬監(jiān)督系統(tǒng)206的管理,實(shí)現(xiàn) 不允許虛擬機(jī)操作系統(tǒng)訪問(wèn)應(yīng)用程序的用戶態(tài)內(nèi)存空間的目的。當(dāng)云平臺(tái)40的操作系統(tǒng) 為了對(duì)云平臺(tái)中運(yùn)行的應(yīng)用程序提供系統(tǒng)服務(wù)需要對(duì)用戶態(tài)內(nèi)存空間訪問(wèn)操作時(shí),安全虛 擬監(jiān)督系統(tǒng)206將透明的把應(yīng)用程序用戶態(tài)內(nèi)存空間中的數(shù)據(jù)即用戶數(shù)據(jù)進(jìn)行加密,然后 將加密后的數(shù)據(jù)拷貝到預(yù)設(shè)區(qū)域中例如一個(gè)安全虛擬監(jiān)督系統(tǒng)206和操作系統(tǒng)共享的緩 沖區(qū),再由操作系統(tǒng)進(jìn)行訪問(wèn),以進(jìn)行操作,實(shí)現(xiàn)了操作系統(tǒng)與應(yīng)用程序的隔離,從而確保 了用戶數(shù)據(jù)在內(nèi)存中的私密性。
[0081] 其中,為了保護(hù)用戶數(shù)據(jù)在存儲(chǔ)時(shí)的私密性,因此,在本發(fā)明的一個(gè)實(shí)施例中,參 照?qǐng)D3 (b)所示,當(dāng)云平臺(tái)40中的應(yīng)用程序要將用戶數(shù)據(jù)寫(xiě)入存儲(chǔ)介質(zhì)例如云存儲(chǔ)設(shè)備207 時(shí),安全虛擬監(jiān)督系統(tǒng)206會(huì)將用戶數(shù)據(jù)加密,并將加密后的數(shù)據(jù)拷貝到一個(gè)安全虛擬監(jiān) 督系統(tǒng)206與操作系統(tǒng)共享的緩沖區(qū)即預(yù)設(shè)區(qū)域中,其次操作系統(tǒng)讀取這個(gè)緩沖區(qū)中的數(shù) 據(jù),并將讀取的數(shù)據(jù)寫(xiě)入云存儲(chǔ)設(shè)備207中,即讀取預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二 網(wǎng)絡(luò)與SSL安全連接方式傳輸至云平臺(tái)40的云存儲(chǔ)設(shè)備207中。在本發(fā)明的實(shí)施例中,存 儲(chǔ)在存儲(chǔ)介質(zhì)中的用戶數(shù)據(jù)均為密文,因此存儲(chǔ)介質(zhì)即使發(fā)生了物理性的丟失也能確保用 戶數(shù)據(jù)的私密性。另外,在本發(fā)明實(shí)施例中,上述用戶可以是個(gè)人或企業(yè),上述第一網(wǎng)絡(luò)以 及第二網(wǎng)絡(luò)可以是無(wú)線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)。
[0082] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D10所示,接收模塊10還用于當(dāng)用戶 訪問(wèn)云存儲(chǔ)設(shè)備207中的數(shù)據(jù)時(shí),接收用戶通過(guò)第一網(wǎng)絡(luò)203發(fā)送的數(shù)據(jù)訪問(wèn)請(qǐng)求。
[0083] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D11所示,本發(fā)明實(shí)施例的云環(huán)境下 用戶數(shù)據(jù)的保護(hù)系統(tǒng)100還包括:獲取模塊50。獲取模塊50與控制模塊20相連,獲取模 塊50用于通過(guò)第二網(wǎng)絡(luò)從云存儲(chǔ)設(shè)備207中獲取數(shù)據(jù),并通過(guò)控制模塊20進(jìn)行解密,以通 過(guò)第一網(wǎng)絡(luò)203發(fā)送給用戶。
[0084] 進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,參照?qǐng)D11所示,接收模塊10還用于接收用 戶請(qǐng)求文件,并通過(guò)分塊形成多個(gè)文件塊,且向第一服務(wù)器602請(qǐng)求每個(gè)文件塊所在的第 二服務(wù)器603的地址與在第二服務(wù)器603上的相應(yīng)的位置,以及與第二服務(wù)器603進(jìn)行數(shù) 據(jù)交互,以讀取和寫(xiě)入每個(gè)文件塊的數(shù)據(jù),并反饋給用戶。其中,在本發(fā)明的一個(gè)實(shí)施例中, 接收模塊10通過(guò)SSL安全連接方式寫(xiě)入文件塊的數(shù)據(jù)。
[0085] 具體而言,在本發(fā)明的一個(gè)實(shí)施例中,分布式文件系統(tǒng)是云平臺(tái)40的核心,因此 需要對(duì)分布式文件系統(tǒng)的客戶端和塊數(shù)據(jù)服務(wù)器進(jìn)行保護(hù)。因此,需要在分布式文件系統(tǒng) 客戶端601和塊數(shù)據(jù)服務(wù)器上部署安全虛擬機(jī)監(jiān)督系統(tǒng)206,而元數(shù)據(jù)服務(wù)器上則不需要 部署安全虛擬機(jī)監(jiān)督系統(tǒng)206。具體地,參照?qǐng)D6 (b)所示,在用戶通過(guò)用戶客戶端201向分 布式文件系統(tǒng)客戶端601請(qǐng)求文件服務(wù)的時(shí)候,首先分布式文件系統(tǒng)客戶端601會(huì)向第一 服務(wù)器602即元數(shù)據(jù)服務(wù)器請(qǐng)求文件的元數(shù)據(jù)信息及文件塊存儲(chǔ)位置等信息。由于這個(gè)過(guò) 程中并不涉及到用戶文件的實(shí)際數(shù)據(jù),所以在這個(gè)過(guò)程中不需要進(jìn)行任何保護(hù),所有的操 作完全按照原有的分布式文件系統(tǒng)的流程進(jìn)行。另外,在這個(gè)過(guò)程中,用戶客戶端201首先 向分布式文件系統(tǒng)客戶端601請(qǐng)求文件,分布式文件系統(tǒng)客戶端601會(huì)將文件進(jìn)行分塊,以 形成多個(gè)文件塊,并向第一服務(wù)器602請(qǐng)求每個(gè)文件塊所在的第二服務(wù)器603即塊服務(wù)器 的地址與每個(gè)文件塊在相應(yīng)第二服務(wù)器603上的位置,并且第一服務(wù)器602向分布式文件 系統(tǒng)客戶端601回饋這些信息,以完成文件元數(shù)據(jù)信息的交互。進(jìn)一步地,分布式文件系統(tǒng) 客戶端601得到文件元信息之后,與指定的第二服務(wù)器603進(jìn)行交互,以讀寫(xiě)文件數(shù)據(jù)塊即 每個(gè)文件塊的數(shù)據(jù),并將讀寫(xiě)后的文件信息傳遞給用戶客戶端201。
[0086] 其中,參照?qǐng)D7(b)所示,寫(xiě)入文件數(shù)據(jù)塊即文件塊的數(shù)據(jù)時(shí),用戶客戶端201的文 件數(shù)據(jù)通過(guò)用戶客戶端201的SSL模塊202進(jìn)行加密傳輸,通過(guò)操作系統(tǒng)和硬件與第一網(wǎng) 絡(luò)203傳輸?shù)椒植际轿募到y(tǒng)客戶端601后再經(jīng)過(guò)分布式文件系統(tǒng)客戶端601的SSL模塊 205進(jìn)行解密。進(jìn)一步地,在分布式文件系統(tǒng)客戶端601中,文件會(huì)被進(jìn)行分塊等操作,其 次通過(guò)分布式文件系統(tǒng)客戶端601的SSL模塊205進(jìn)行加密后通過(guò)虛擬機(jī)操作系統(tǒng)和硬件 與第二網(wǎng)絡(luò)604傳輸?shù)降诙?wù)器603,再經(jīng)過(guò)第二服務(wù)器603的SSL模塊605解密,解密 后的數(shù)據(jù)將被寫(xiě)入到第二服務(wù)器603的本地硬盤(pán)之中。另外,在進(jìn)行寫(xiě)入數(shù)據(jù)的系統(tǒng)調(diào)用 時(shí),會(huì)被安全虛擬機(jī)監(jiān)督系統(tǒng)206截獲,安全虛擬機(jī)監(jiān)督系統(tǒng)206將存在與用戶空間的文件 數(shù)據(jù)進(jìn)行加密,并將其拷貝到一個(gè)由安全虛擬機(jī)監(jiān)督系統(tǒng)206與虛擬機(jī)操作系統(tǒng)共享的緩 沖區(qū)即預(yù)設(shè)區(qū)域中,其次將系統(tǒng)調(diào)用移交至虛擬機(jī)操作系統(tǒng)執(zhí)行,因此寫(xiě)入到硬盤(pán)中的數(shù) 據(jù)將是密文。在本發(fā)明的實(shí)施例中,在整個(gè)用戶文件數(shù)據(jù)傳輸?shù)倪^(guò)程中,SSL模塊的存在保 證了用戶數(shù)據(jù)在各個(gè)應(yīng)用程序間進(jìn)行傳遞時(shí),端到端的數(shù)據(jù)安全性和私密性。另外,通過(guò)在 塊數(shù)據(jù)服務(wù)器中將文件數(shù)據(jù)加密寫(xiě)入硬盤(pán),從而保證了數(shù)據(jù)在物理硬盤(pán)上的安全性和私密 性。
[0087] 本發(fā)明實(shí)施例的方法可以確保用戶每個(gè)文件數(shù)據(jù)塊在網(wǎng)絡(luò)傳輸、內(nèi)存訪問(wèn)、硬盤(pán) 存儲(chǔ)這整個(gè)過(guò)程中的安全性與私密性,使攻擊者即使獲得了操作系統(tǒng)管理員權(quán)限,仍然無(wú) 法對(duì)用戶數(shù)據(jù)的安全性和私密性造成危害。然而,在整個(gè)傳輸過(guò)程中,用戶數(shù)據(jù)在內(nèi)存中的 安全性和私密性卻沒(méi)有收到任何保護(hù),因此下面將對(duì)用戶數(shù)據(jù)在內(nèi)存中的保護(hù)進(jìn)行詳細(xì)描 述。
[0088] 在此,將對(duì)用戶數(shù)據(jù)在內(nèi)存中的保護(hù)的兩個(gè)子問(wèn)題進(jìn)行詳細(xì)描述。其中,兩個(gè)子問(wèn) 題分別為操作系統(tǒng)與應(yīng)用程序的隔離問(wèn)題和在DMA過(guò)程中的用戶數(shù)據(jù)的保護(hù)問(wèn)題。首先將 參照附圖描述操作系統(tǒng)與應(yīng)用程序的隔離問(wèn)題。
[0089] 具體地,相關(guān)技術(shù)中,現(xiàn)有的應(yīng)用程序進(jìn)程都會(huì)各自擁有獨(dú)立的內(nèi)存地址空間 (虛擬地址空間)而操作系統(tǒng)會(huì)保留一部分內(nèi)存地址空間(內(nèi)核地址空間)僅供其自身使 用。對(duì)于每一個(gè)應(yīng)用程序進(jìn)程來(lái)說(shuō)內(nèi)核地址空間的地址分布是相同的,除去內(nèi)核地址空間 外的虛擬地址空間被稱為用戶地址空間。對(duì)于應(yīng)用程序進(jìn)程來(lái)說(shuō),其自身僅能訪問(wèn)用戶地 址空間的內(nèi)容而不能直接訪問(wèn)內(nèi)核地址空間,如果需要訪問(wèn)內(nèi)核地址空間,則需要使用操 作系統(tǒng)提供的各種系統(tǒng)調(diào)用,在進(jìn)行系統(tǒng)調(diào)用時(shí),進(jìn)程會(huì)從用戶態(tài)切換至內(nèi)核態(tài),由操作系 統(tǒng)來(lái)實(shí)現(xiàn)內(nèi)核地址空間的訪問(wèn)操作,在系統(tǒng)調(diào)用返回時(shí),應(yīng)用程序進(jìn)程會(huì)從內(nèi)核態(tài)切換回 用戶態(tài)繼續(xù)執(zhí)行。但是,如果如上述所說(shuō),則操作系統(tǒng)卻可以直接訪問(wèn)整個(gè)虛擬地址空間中 的內(nèi)容,導(dǎo)致無(wú)法保證用戶數(shù)據(jù)的安全性和私密性。
[0090] 進(jìn)一步地,由于應(yīng)用程序進(jìn)程各自擁有獨(dú)立的內(nèi)存地址空間,但實(shí)際的物理內(nèi)存 地址空間僅有一個(gè),所以每個(gè)應(yīng)用程序進(jìn)程會(huì)關(guān)聯(lián)一個(gè)頁(yè)表,這個(gè)頁(yè)表保存了該應(yīng)用程序 進(jìn)程的虛擬地址空間到實(shí)際的物理內(nèi)存地址空間的地址映射。
[0091] 具體地,對(duì)于每個(gè)應(yīng)用程序進(jìn)程來(lái)說(shuō),它的數(shù)據(jù)并非被其自身獨(dú)自占有,操作系統(tǒng) 可以訪問(wèn)所有應(yīng)用程序進(jìn)程的用戶地址空間,所以每個(gè)應(yīng)用程序進(jìn)程的數(shù)據(jù)對(duì)于操作系統(tǒng) 來(lái)說(shuō)都是可見(jiàn)的。因此,如果攻擊者獲得了操作系統(tǒng)管理員的權(quán)限,則可以很容易的竊取到 應(yīng)用程序的各種數(shù)據(jù)信息。需要注意的是,現(xiàn)代商用操作系統(tǒng)的代碼量龐大,接口眾多,操 作系統(tǒng)中的各種驅(qū)動(dòng)程序良莠不齊、漏洞很多,所以操作系統(tǒng)很容易被攻破,導(dǎo)致攻擊者獲 得操作系統(tǒng)管理員權(quán)限。綜上所述,讓操作系統(tǒng)可以直接訪問(wèn)到應(yīng)用程序進(jìn)程的用戶地址 空間的內(nèi)容是非常不安全的。因此,為了保證用戶數(shù)據(jù)的私密性,本發(fā)明實(shí)施例采用安全虛 擬監(jiān)督系統(tǒng)206對(duì)虛擬機(jī)操作系統(tǒng)和應(yīng)用程序之間做了良好的隔離。
[0092] 具體而言,本發(fā)明實(shí)施例通過(guò)使用安全虛擬監(jiān)督系統(tǒng)206之后,受保護(hù)的應(yīng)用程 序進(jìn)程會(huì)關(guān)聯(lián)兩個(gè)頁(yè)表,一個(gè)是原始頁(yè)表,另一個(gè)是僅包含內(nèi)核地址空間映射的影子頁(yè)表。 其中,應(yīng)用程序進(jìn)程在用戶態(tài)時(shí)使用原始頁(yè)表,在內(nèi)核態(tài)時(shí)使用影子頁(yè)表。在本發(fā)明的一個(gè) 實(shí)施例中,參照?qǐng)D8和9所示,當(dāng)應(yīng)用程序進(jìn)程在內(nèi)核態(tài)和用戶態(tài)之間切換時(shí)會(huì)被安全虛 擬監(jiān)督系統(tǒng)206所截獲,安全虛擬監(jiān)督系統(tǒng)負(fù)責(zé)切換應(yīng)用程序的原始頁(yè)表與影子頁(yè)表。因 此,當(dāng)應(yīng)用程序進(jìn)程進(jìn)行系統(tǒng)調(diào)用后在內(nèi)核態(tài)運(yùn)行時(shí),由于使用了影子頁(yè)表,影子頁(yè)表中并 不包含用戶態(tài)地址空間的映射表項(xiàng),所以操作系統(tǒng)不可能訪問(wèn)到應(yīng)用程序進(jìn)程用戶態(tài)地址 空間中的任何數(shù)據(jù),從而嚴(yán)格的將操作系統(tǒng)與應(yīng)用程序隔離開(kāi)來(lái),使攻擊者即使獲得了操 作系統(tǒng)管理員權(quán)限,仍然無(wú)法威脅到用戶數(shù)據(jù)的安全性和私密性,并且對(duì)于那些需要在內(nèi) 核態(tài)訪問(wèn)用戶態(tài)地址空間數(shù)據(jù)的系統(tǒng)調(diào)用,本發(fā)明實(shí)施例通過(guò)安全虛擬監(jiān)督系統(tǒng)206對(duì)其 進(jìn)行截獲,以將這些數(shù)據(jù)從用戶態(tài)地址空間拷貝到內(nèi)核態(tài)地址空間或從內(nèi)核態(tài)地址空間拷 貝到用戶態(tài)地址空間,并在拷貝的過(guò)程中對(duì)于涉及到的用戶文件數(shù)據(jù)的系統(tǒng)調(diào)用(例如: sys_write、sys_read等)中的數(shù)據(jù)進(jìn)行加密或者解密處理以保證用戶數(shù)據(jù)的安全性和私 密性。
[0093] 另外,相關(guān)技術(shù)中的DMA (Direct Memory Access,存儲(chǔ)器直接訪問(wèn))數(shù)據(jù)交換操 作在應(yīng)用程序進(jìn)程的內(nèi)核態(tài)地址空間和用戶態(tài)地址空間均可進(jìn)行。由于在DMA過(guò)程中可以 任意訪問(wèn)應(yīng)用程序進(jìn)程的用戶態(tài)地址空間,導(dǎo)致攻擊者可以通過(guò)DMA的方式來(lái)竊取用戶位 于內(nèi)存中的數(shù)據(jù)。其中,在相關(guān)技術(shù)中,可以通過(guò)硬件相應(yīng)的技術(shù)(例如Intel的VT-d和 AMD的SVM)保證虛擬計(jì)算平臺(tái)上各個(gè)虛擬機(jī)間的DMA隔離,以確保一個(gè)虛擬機(jī)不會(huì)對(duì)另一 個(gè)虛擬機(jī)的內(nèi)存地址空間進(jìn)行DMA訪問(wèn),所以本發(fā)明實(shí)施例僅需要將一個(gè)虛擬機(jī)內(nèi)部的各 個(gè)應(yīng)用程序進(jìn)程及虛擬機(jī)操作系統(tǒng)的DMA訪問(wèn)隔離開(kāi)來(lái)即可。
[0094] 具體地,對(duì)于容許進(jìn)行DMA訪問(wèn)的內(nèi)存頁(yè)面,其映射信息會(huì)保存在I0MMU的映射表 中,只有通過(guò)該映射表進(jìn)行查找才能進(jìn)行相應(yīng)的DMA訪問(wèn)操作。因此,在一個(gè)需要被保護(hù)的 應(yīng)用程序進(jìn)程啟動(dòng)時(shí),本發(fā)明實(shí)施例通過(guò)安全虛擬監(jiān)督系統(tǒng)206來(lái)檢查這個(gè)映射表,刪除 受保護(hù)的應(yīng)用程序用戶地址空間的映射信息,僅保留內(nèi)核地址空間的映射信息,并且在這 個(gè)映射表更新時(shí),安全虛擬監(jiān)督系統(tǒng)206會(huì)對(duì)更新的映射信息進(jìn)行檢查,以確保不會(huì)有受 保護(hù)的應(yīng)用程序進(jìn)程用戶地址空間的映射被添加進(jìn)來(lái),從而實(shí)現(xiàn)DMA訪問(wèn)僅能在內(nèi)核態(tài)地 址空間中進(jìn)行的目的。另外,通過(guò)上述的操作系統(tǒng)與應(yīng)用程序隔離問(wèn)題的描述,從而得知拷 貝到內(nèi)核態(tài)的用戶數(shù)據(jù)均進(jìn)行了加密處理,全部為密文,所以在這種情況下非法的DMA訪 問(wèn)也不會(huì)對(duì)用戶數(shù)據(jù)的安全性和私密性造成影響,很好地保證了用戶數(shù)據(jù)的安全性和私密 性。
[0095] 根據(jù)本發(fā)明實(shí)施例的云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng),通過(guò)SSL安全連接方式進(jìn)行 數(shù)據(jù)傳輸,以實(shí)現(xiàn)用戶與云平臺(tái)網(wǎng)絡(luò)數(shù)據(jù)交互時(shí),保證用戶數(shù)據(jù)的私密性,并且通過(guò)安全虛 擬監(jiān)督系統(tǒng)對(duì)數(shù)據(jù)加密,并拷貝至預(yù)設(shè)區(qū)域,從而對(duì)運(yùn)行中的用戶應(yīng)用程序進(jìn)行保護(hù),將內(nèi) 存中的實(shí)際物理地址和每個(gè)用戶的虛擬地址匹配起來(lái),防止系統(tǒng)管理員或者其他惡意用戶 訪問(wèn)用戶在內(nèi)存中的數(shù)據(jù),以實(shí)現(xiàn)用戶應(yīng)用程序在云平臺(tái)上運(yùn)行時(shí),保證用戶數(shù)據(jù)的安全 性和私密性。另外,通過(guò)安全虛擬監(jiān)督系統(tǒng),使用戶實(shí)際存儲(chǔ)在云平臺(tái)上的數(shù)據(jù)為密文,當(dāng) 用戶讀出數(shù)據(jù)時(shí),再進(jìn)行解密返回給用戶,整個(gè)過(guò)程對(duì)于用戶是透明的,云平臺(tái)管理員及其 他惡意用戶均無(wú)法截獲和竊取正常用戶的私密數(shù)據(jù),更好地保證了用戶數(shù)據(jù)的安全性和私 密性。
[0096] 流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括 一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明 的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0097] 在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是 用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以 供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指 令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置 或設(shè)備而使用。就本說(shuō)明書(shū)而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳 播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使 用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè) 布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤(pán)盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀 存儲(chǔ)器(R0M),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光 盤(pán)只讀存儲(chǔ)器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其 他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^(guò)對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必 要時(shí)以其他合適方式進(jìn)行處理來(lái)以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器 中。
[0098] 應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述 實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件 或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下 列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路 的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專用集成電路,可編程門(mén)陣列(PGA),現(xiàn)場(chǎng) 可編程門(mén)陣列(FPGA)等。
[0099] 本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步 驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0100] 此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模 塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中。另外,術(shù)語(yǔ)"第一"、"第二"僅用于描述目的,而不能理解為指示或暗示 相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有"第一"、"第二"的特征 可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,"多個(gè)"的含義是至少兩個(gè), 例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
[0101] 上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
[0102] 在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)"一個(gè)實(shí)施例"、"一些實(shí)施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不 一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何 的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0103] 盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以 理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換 和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【權(quán)利要求】
1. 一種云環(huán)境下用戶數(shù)據(jù)的保護(hù)方法,其特征在于,包括以下步驟: 接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安全套階層SSL安全連接方式接 收所述用戶傳輸?shù)臄?shù)據(jù); 通過(guò)安全虛擬監(jiān)督系統(tǒng)對(duì)所述數(shù)據(jù)進(jìn)行加密,并通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用程序?qū)⒓用?后的數(shù)據(jù)拷貝至預(yù)設(shè)區(qū)域以進(jìn)行操作;以及 當(dāng)所述數(shù)據(jù)傳輸至所述云平臺(tái)的云存儲(chǔ)設(shè)備進(jìn)行保存時(shí),讀取所述預(yù)設(shè)區(qū)域中加密后 的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與所述SSL安全連接方式將從所述預(yù)設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至 所述云存儲(chǔ)設(shè)備中。
2. 如權(quán)利要求1所述的方法,其特征在于,所述云平臺(tái)中的應(yīng)用程序部署在虛擬機(jī)中。
3. 如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 當(dāng)所述用戶訪問(wèn)所述云存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),接收所述用戶通過(guò)所述第一網(wǎng)絡(luò)發(fā)送的 數(shù)據(jù)訪問(wèn)請(qǐng)求; 通過(guò)所述第二網(wǎng)絡(luò)從所述云存儲(chǔ)設(shè)備中獲取所述數(shù)據(jù),并通過(guò)所述安全虛擬監(jiān)督系統(tǒng) 進(jìn)行解密,以通過(guò)所述第一網(wǎng)絡(luò)發(fā)送給所述用戶。
4. 如權(quán)利要求1所述的方法,其特征在于,所述接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳 輸請(qǐng)求具體包括: 接收所述用戶請(qǐng)求文件,并通過(guò)分塊形成多個(gè)文件塊; 向第一服務(wù)器請(qǐng)求每個(gè)文件塊所在的第二服務(wù)器的地址與在所述第二服務(wù)器上的相 應(yīng)的位置;以及 與所述第二服務(wù)器進(jìn)行數(shù)據(jù)交互,以讀取和寫(xiě)入所述每個(gè)文件塊的數(shù)據(jù),并反饋給所 述用戶。
5. 如權(quán)利要求4所述的方法,其特征在于,通過(guò)所述SSL安全連接方式寫(xiě)入所述文件塊 的數(shù)據(jù)。
6. -種云環(huán)境下用戶數(shù)據(jù)的保護(hù)系統(tǒng),其特征在于,包括: 接收模塊,用于接收用戶通過(guò)第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)傳輸請(qǐng)求,并通過(guò)安全套階層SSL 安全連接方式接收所述用戶傳輸?shù)臄?shù)據(jù); 控制模塊,所述控制模塊與所述接收模塊相連,所述控制模塊包括安全虛擬監(jiān)督系統(tǒng), 用于通過(guò)所述安全虛擬監(jiān)督系統(tǒng)對(duì)所述數(shù)據(jù)進(jìn)行加密和解密,并通過(guò)云平臺(tái)中運(yùn)行的應(yīng)用 程序?qū)⒓用芎蟮臄?shù)據(jù)拷貝至預(yù)設(shè)區(qū)域以進(jìn)行操作;以及 傳輸模塊,所述傳輸模塊與所述控制模塊相連,當(dāng)所述數(shù)據(jù)傳輸至所述云平臺(tái)的云存 儲(chǔ)設(shè)備進(jìn)行保存時(shí),用于讀取所述預(yù)設(shè)區(qū)域中加密后的數(shù)據(jù),并通過(guò)第二網(wǎng)絡(luò)與所述SSL 安全連接方式將從所述預(yù)設(shè)區(qū)域中讀取的數(shù)據(jù)傳輸至所述云存儲(chǔ)設(shè)備中。
7. 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述云平臺(tái)中的應(yīng)用程序部署在虛擬機(jī)中。
8. 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述接收模塊還用于當(dāng)所述用戶訪問(wèn)所述 云存儲(chǔ)設(shè)備中的數(shù)據(jù)時(shí),接收所述用戶通過(guò)所述第一網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)訪問(wèn)請(qǐng)求。
9. 如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括: 獲取模塊,所述獲取模塊與所述控制模塊相連,用于通過(guò)所述第二網(wǎng)絡(luò)從所述云存儲(chǔ) 設(shè)備中獲取所述數(shù)據(jù),并通過(guò)所述控制模塊進(jìn)行解密,以通過(guò)所述第一網(wǎng)絡(luò)發(fā)送給所述用 戶。
10. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述接收模塊還用于接收所述用戶請(qǐng)求文 件,并通過(guò)分塊形成多個(gè)文件塊,并向第一服務(wù)器請(qǐng)求每個(gè)文件塊所在的第二服務(wù)器的地 址與在所述第二服務(wù)器上的相應(yīng)的位置,以及與所述第二服務(wù)器進(jìn)行數(shù)據(jù)交互,以讀取和 寫(xiě)入所述每個(gè)文件塊的數(shù)據(jù),并反饋給所述用戶。
11. 如權(quán)利要求10所述的系統(tǒng),其特征在于,所述接收模塊通過(guò)所述SSL安全連接方式 寫(xiě)入所述文件塊的數(shù)據(jù)。
【文檔編號(hào)】H04L29/06GK104092743SQ201410302629
【公開(kāi)日】2014年10月8日 申請(qǐng)日期:2014年6月27日 優(yōu)先權(quán)日:2014年6月27日
【發(fā)明者】武永衛(wèi), 姜進(jìn)磊, 陳康, 鄭緯民, 侯清鏵 申請(qǐng)人:清華大學(xué)