陳克非,翁 健
(1.杭州師范大學(xué)理學(xué)院,浙江 杭州 310036;2.暨南大學(xué)信息科學(xué)技術(shù)學(xué)院,廣東 廣州 510632)
作為新一代信息技術(shù)和IT應(yīng)用方式變革的重要支柱,云計算已經(jīng)成為當(dāng)前信息技術(shù)產(chǎn)業(yè)發(fā)展和應(yīng)用創(chuàng)新的熱點,其巨大的應(yīng)用前景帶動了云計算的迅猛發(fā)展.市場研究公司IDC認為云計算的增長速度將是傳統(tǒng)IT行業(yè)增長率的6倍,預(yù)計未來四年云計算市場的年增長率是26%.據(jù)Gartner預(yù)測,隨著云計算服務(wù)認可度的持續(xù)升高,云計算服務(wù)市場將延續(xù)高速增長的態(tài)勢, 2015年將突破1 800億美元[1].云計算已經(jīng)從概念走向?qū)嶋H應(yīng)用,將愈加促進信息化、工業(yè)化的整合進程.隨著大數(shù)據(jù)時代的到來,云計算巨大的潛力將得到充分的釋放,并獲得更快速的發(fā)展.目前,中國的云計算產(chǎn)業(yè)鏈已經(jīng)開始形成,虛擬化技術(shù)、分布式計算、大數(shù)據(jù)處理挖掘等創(chuàng)新成果開始得以應(yīng)用,云計算技術(shù)不再是“只見其聲不見其形”的空洞概念,交通物流云、醫(yī)療健康云、金融云、電商云等與百姓生活息息相關(guān)的行業(yè)云應(yīng)用也正在推出.雖然云計算被一致認為有巨大的增長空間,但在推廣過程中面臨著用戶認可度不高、運營經(jīng)驗不足、產(chǎn)業(yè)鏈不完善等諸多問題.在諸多不利因素中,云計算的安全性問題一直排在首位,云安全逐漸成為制約云計算發(fā)展的瓶頸[2],而其中的云計算隱私問題也被大數(shù)據(jù)技術(shù)進一步放大,成為阻礙云計算發(fā)展的關(guān)鍵問題之一[3].
在國際信息系統(tǒng)審計與控制協(xié)會(ISACA)最近進行的一項調(diào)查中,約45%的IT專業(yè)受訪者表示,云計算所涉及的風(fēng)險已高于任何利益.美國IDG公司2013年對1 300多位企業(yè)高管進行調(diào)研,66%的企業(yè)高管認為安全問題,包括訪問控制、數(shù)據(jù)保護是云計算中的關(guān)鍵因素[4].
近年來關(guān)于云計算隱私泄露的問題層出不窮,引發(fā)了云計算的信任危機,對云計算發(fā)展造成了嚴(yán)重不利的影響.2013年,斯諾登“棱鏡門”事件曝光了美國國家安全局的秘密監(jiān)聽計劃,事件表明美國政府通過技術(shù)手段一直在對各大網(wǎng)絡(luò)服務(wù)商的服務(wù)器進行監(jiān)聽,并對獲取的用戶數(shù)據(jù)進行分析.2012年8月,蘋果公司的iCloud云服務(wù)受到黑客攻擊,黑客暴力破解用戶密碼后,刪除了部分用戶資料,而云平臺并未備份用戶數(shù)據(jù),導(dǎo)致了用戶數(shù)據(jù)的丟失,并致使用戶Gmail和Twitter賬號被盜.2012年8月,盛大無錫數(shù)據(jù)中心因服務(wù)器硬盤損壞,導(dǎo)致用戶數(shù)據(jù)丟失.2011年4月,Amazon的EC2云計算服務(wù)被黑客租用,對Sony PlayStation網(wǎng)站進行了攻擊,造成了大規(guī)模用戶數(shù)據(jù)的泄露.2011年3月,谷歌郵箱爆發(fā)用戶數(shù)據(jù)泄露事件,大約15萬用戶的信息受到影響.2010年9月,谷歌員工David Barkadale利用職權(quán)查看了多個用戶的隱私數(shù)據(jù),其中包括4個未成年人的信息[5].2014年10月,美國資產(chǎn)規(guī)模第一大銀行摩根大通稱,由于公司計算機系統(tǒng)遭遇網(wǎng)絡(luò)攻擊,7 600萬家庭和700萬小企業(yè)的相關(guān)信息被泄露[6].這是美國歷史上波及范圍最廣的信息泄漏事件之一,進一步加劇了用戶尤其是重要企業(yè)客戶對網(wǎng)絡(luò)安全以及云計算、大數(shù)據(jù)環(huán)境下數(shù)據(jù)安全和隱私的擔(dān)憂.此外,2014年5月美國電商巨頭億貝公司遭遇網(wǎng)絡(luò)攻擊,全球范圍內(nèi)1.45億條客戶信息被泄露.因此保護數(shù)據(jù)隱私成為目前極為重要而緊迫的任務(wù).
通常所說的數(shù)據(jù)安全,是指用戶數(shù)據(jù)應(yīng)受到保護不被非授權(quán)者讀取具有保密性,同時如果數(shù)據(jù)被篡改或假冒能夠有效自動甄別即具有完整性,用戶及其所屬數(shù)據(jù)的真實要有保障即具有認證性,此外還要保證數(shù)據(jù)的可用性等等.現(xiàn)代密碼技術(shù)為數(shù)據(jù)安全需求提供了堅實有效的保障,通過加密、認證、簽名及其衍生技術(shù),面對網(wǎng)絡(luò)時代的各種安全需求幾乎都能夠找到基于密碼的解決方案.
與之相比,針對隱私的保護手段還很有限,結(jié)果也不能令人滿意.上述用戶資料泄露的事例恰恰說明目前在隱私保護方面問題嚴(yán)重.
按照一般的看法,隱私是一種與公共利益、群體利益無關(guān),當(dāng)事人不愿他人知道或他人不便知道的個人信息,當(dāng)事人不愿他人干涉或他人不便干涉的個人私事,以及當(dāng)事人不愿他人侵入或他人不便侵入的個人領(lǐng)域[7],可以分為個人事務(wù)、個人信息、個人領(lǐng)域3種.由于民族文化、生活習(xí)慣的差異,對隱私的界定可謂仁者見仁,智者見智.但至少有以下幾點是公認的:首先,隱私是一個抽象的概念,它不能代替具體事物或人的行為,只能是它們所反映出來的信息.隱私的本質(zhì)是一種信息,一種屬于私人的排他性的不愿為他人知曉或干涉的信息.如信件、記事本等,其本身并不是隱私,其中記載并反映出來的信息才是隱私;再如年齡、身高、體重、心理疾病、女性三圍等具體的個人人身性數(shù)據(jù),以及個人嗜好、投資、收入、行蹤等非人身性數(shù)據(jù)信息;其次,隱私應(yīng)包括絕對個人隱私和相對個人隱私.絕對個人隱私是指純個人的,與一切非本人的他人無關(guān)的信息,如上文提到的人身性數(shù)據(jù)等.相對個人隱私是指由于某種關(guān)系如夫妻關(guān)系、合同關(guān)系等與特定的他人相關(guān)的應(yīng)為他們共同支配、共同保護的隱私.
在網(wǎng)絡(luò)世界中隱私的對照物有多種表現(xiàn)形式:1)網(wǎng)絡(luò)用戶在申請上網(wǎng)開戶、個人主頁、免費郵箱以及申請服務(wù)商提供的其他服務(wù)(購物、醫(yī)療、交友等)時,登錄的姓名、年齡、住址、身份證、工作單位、健康狀況等信息.2)個人的信用和財產(chǎn)狀況,包括信用卡、電子消費卡、上網(wǎng)卡、上網(wǎng)帳號和密碼、交易帳號和密碼等.3)郵箱地址.4)個人的網(wǎng)絡(luò)活動蹤跡,如IP地址、瀏覽蹤跡、活動內(nèi)容等.
上文已提及,隱私是與個人相關(guān)的一些特定信息.當(dāng)這些隱私與某些個人發(fā)生明確關(guān)聯(lián),也就是在明確涉及個人身份信息PII(Personal Identifiable Information,如姓名、手機號、身份證號、電子郵箱、住址等)時,稱其為顯性隱私信息;但很多情況下,隱私呈現(xiàn)隱蔽的形式,它并不與任何PII聯(lián)系在一起,只是涉及模糊的用戶相關(guān)信息(比如年齡、性別、公司、職業(yè)等).這類準(zhǔn)標(biāo)識符(Quasi-identifier)信息雖然不能直接標(biāo)識一個用戶,但把這些條件組合在一起,還是有相當(dāng)?shù)碾[私風(fēng)險的.為此,人們用進一步泛化模糊的用戶屬性標(biāo)簽解決“Quasi-identifier”問題,即把年齡、職業(yè)、地址等準(zhǔn)標(biāo)識信息放寬到一個更大的范圍中,并確保符合每一個屬性的對應(yīng)物有足夠多的數(shù)量,從而無法與明確的個體關(guān)聯(lián),這就是k-anonymity的概念.
在大數(shù)據(jù)時代有太多的數(shù)據(jù)樣本,很多公開的信息看似并不涉及隱私內(nèi)容,或者僅有少量隱式的隱私信息具有k-anonymity性,但是大量如此碎片化的數(shù)據(jù),經(jīng)過“大數(shù)據(jù)技術(shù)”挖掘、關(guān)聯(lián)、分析和整理,還是可能披露出重要的隱私內(nèi)容.所以,面對大數(shù)據(jù)的沖擊,要達到絕對意義的隱私保護也許無解?
圖1 云環(huán)境的數(shù)據(jù)隱私保護系統(tǒng)架構(gòu)
圖2 包含多個公有云的混合云架構(gòu)
云計算的特色是將大量計算資源、存儲資源與軟件資源鏈接在一起,形成規(guī)模巨大的虛擬共享IT資源池,為個人用戶提供集中的公共服務(wù).用戶將個人數(shù)據(jù)交由公共數(shù)據(jù)中心管理,出于安全性的考慮用戶數(shù)據(jù)自然需要先進行加密.具有挑戰(zhàn)性的問題是如何實現(xiàn)密文數(shù)據(jù)的快速搜索、有效共享等,同時搜索的相關(guān)信息作為用戶隱私也能得到充分的保護; 另外針對云計算的一項特色服務(wù)外包計算需要提供對委托人的保護,即云服務(wù)商可以在不知道用戶數(shù)據(jù)的情況下為用戶計算處理數(shù)據(jù),保護了用戶的數(shù)據(jù)隱私性;還有,在云計算、移動互聯(lián)和大數(shù)據(jù)環(huán)境下,用戶一方面需要得到便捷的服務(wù),另一方面?zhèn)€人隱私也要得到有效的保護,這就需要建立一種支持數(shù)據(jù)分割機制的新型混合云存儲框架(圖1),既能保護用戶數(shù)據(jù)的隱私,又可充分利用云平臺的計算和存儲能力.
根據(jù)NIST的定義[8],混合云是由兩個或者多個獨立運行卻綁定在一起的云組成的混合體,它可支持數(shù)據(jù)和應(yīng)用在不同云之間遷移.由私有云和公有云組成的混合云兼具了兩種云的優(yōu)點,既有私有云的隱私性,也具有公有云的低計算成本.因此混合云成為許多公司或機構(gòu)的首選模式,并被認為是將來云計算的主要模式[9].如圖2所示,公司或者機構(gòu)可以將它們的核心機密,例如財務(wù)數(shù)據(jù)、員工數(shù)據(jù)等,保留在自己的私有云中,而將其他的數(shù)據(jù)外包給公有云,以充分利用公有云低廉的計算資源.目前IBM、Microsoft、Amazon、VMWare、CISCO等公司均推出了自己的混合云解決方案[10],混合云成為解決云安全及隱私保護的重要方向.
公有云和私有云相結(jié)合是解決云計算安全和隱私的理想方案,但如何將公有云和私有云有效組合,在充分利用公有云的豐富計算和存儲資源的同時,有效保護用戶的隱私信息是混合云架構(gòu)設(shè)計的關(guān)鍵.
國外對混合云安全和隱私保護已經(jīng)有了較為深入的研究,并獲得了一定的成果.Zhang等[11]提出了名為Sedic的面向大數(shù)據(jù)的隱私感知混合云計算模式,該模式在開源云計算系統(tǒng)Hadoop MapReduce的基礎(chǔ)上增加了隱私保護模塊,實現(xiàn)了隱私感知的混合云計算.其基本思想是將計算任務(wù)分割,將敏感的隱私數(shù)據(jù)留在私有云中處理,而將非敏感數(shù)據(jù)外包到公有云上計算.Sedic可以根據(jù)用戶指定的敏感數(shù)據(jù)標(biāo)識,自動劃分計算任務(wù),分離出其中的敏感數(shù)據(jù);同時,Sedic中的程序分析器可以對MapReduce中的歸約過程進行分析,通過組合器減少歸約過程中的云間數(shù)據(jù)交換,這對于突破云計算的性能瓶頸具有重要的意義.但是Sedic的局限性在于用戶必須指定敏感數(shù)據(jù),對于在數(shù)據(jù)處理前未知的敏感數(shù)據(jù)無能為力.同時,在類似在線社交網(wǎng)絡(luò)(Online Social Networks)等應(yīng)用中,多個相互關(guān)聯(lián)的數(shù)據(jù)之間蘊含有朋友關(guān)系的信息,Sedic對此無法進行有效的防范.此外,Sedic將所有的非敏感數(shù)據(jù)外包給一個公有云,公有云可以根據(jù)其所承擔(dān)的計算量、數(shù)據(jù)量等信息推斷用戶的業(yè)務(wù)量等商業(yè)機密. Chen等[12]提出了保護隱私的大規(guī)?;旌显朴嬎惴桨福糜谌祟惢蛐蛄械钠ヅ?Oktay等[13]提出了在混合云模式下計算任務(wù)分配的最優(yōu)化框架.該框架綜合考慮計算性能、隱私泄露風(fēng)險及資源使用代價三方面的指標(biāo),采用最優(yōu)化方法對任務(wù)進行分配.然而該方案對數(shù)據(jù)隱私的處理較為簡單,只對敏感的數(shù)據(jù)項進行了計數(shù),并未考慮數(shù)據(jù)引起的人員識別或者用戶商務(wù)機密的泄露.Smit等[14]針對Web應(yīng)用利用混合云計算平臺對應(yīng)用進行了任務(wù)分配,根據(jù)應(yīng)用開發(fā)者對應(yīng)用中的不同代碼所做的敏感/非敏感標(biāo)識,將它們分配到私有云或公有云中分開執(zhí)行.該方案只適用于Web應(yīng)用,而且需要應(yīng)用開發(fā)者對代碼進行標(biāo)識,無法滿足一般的云數(shù)據(jù)處理的要求.
對于如何將關(guān)系復(fù)雜的圖數(shù)據(jù)進行合理的劃分,再分配到云平臺上計算的問題,Gao等[15]提出了將圖數(shù)據(jù)進行變形轉(zhuǎn)化的方法.他們將原始的圖數(shù)據(jù)轉(zhuǎn)化為一個包含敏感信息的關(guān)聯(lián)圖和一個無敏感信息的外包圖,分別在本地和公有云上進行計算.盡管此方案非常適合混合云計算模式,但是它僅能用于圖數(shù)據(jù)的處理,對于關(guān)系數(shù)據(jù)庫等常見數(shù)據(jù)無法處理.
Rekatsinas等[16]認為將所有的計算任務(wù)分配給一個云計算平臺是非常危險的,因此提出了將敏感數(shù)據(jù)分配給k個不合謀的計算平臺的方案SPARSI.該方案可以防范兩類隱私泄露問題:用戶身份泄露和企業(yè)/機構(gòu)業(yè)務(wù)機密泄露.此方案還考慮了不同數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系暴露出來的隱私問題,并使用超圖模型對之進行了形式化處理.在隱私保護的限定條件下,該方案通過最優(yōu)化方法求解獲得最終的數(shù)據(jù)分配方案.但SPARSI中數(shù)據(jù)效用簡單地定義為割離后的各個獨立數(shù)據(jù)集的效用之和,并未考慮完整的數(shù)據(jù)集可能具有更高的價值.因此SPARSI數(shù)據(jù)分割方式有可能降低數(shù)據(jù)效用,導(dǎo)致現(xiàn)有數(shù)據(jù)挖掘算法的不適用.
盡管國內(nèi)外的研究者在隱私感知的混合云方面已有較深入的研究,但現(xiàn)有的成果存在適用范圍有限、隱私保護有限、數(shù)據(jù)效用降低的顯著問題,因此亟需一套適用面廣、隱私保護全面、支持數(shù)據(jù)挖掘的混合云隱私保護方案.
對數(shù)據(jù)加密后,破壞了原有的有序性、可比較性等特性,數(shù)據(jù)的檢索將變得困難.在云存儲中一個直接的密文檢索方案是數(shù)據(jù)擁有者先將所有密文從云服務(wù)器中下載至本地,然后解密密文獲取數(shù)據(jù)明文,最后對數(shù)據(jù)明文進行檢索.很明顯該方法缺乏效率,一種更有效的密文檢索方案是采用帶關(guān)鍵字搜索的公鑰加密.
Song等[17]在2000年首次提出加密數(shù)據(jù)檢索的實用算法.該算法使用對稱加密算法對文檔及其關(guān)鍵字分別加密,服務(wù)器能夠根據(jù)用戶提交的關(guān)鍵字檢索出哪些文檔包含該關(guān)鍵字,但并不能獲得有關(guān)文檔內(nèi)容的實用信息.隨后,又出現(xiàn)了進一步的工作[18-20].一方面,現(xiàn)有的對稱密鑰環(huán)境下的可搜索加密方案大部分僅支持單一關(guān)鍵字的搜索,無法滿足用戶一般性的查詢,也即用單調(diào)布爾邏輯表達式(包含任意多個邏輯與和邏輯或)表示的查詢;另一方面,在云環(huán)境下,基于對稱密鑰的可搜索加密將面臨密鑰管理、密鑰分發(fā)困難等諸多問題.Boneh等[21]于2004年提出并構(gòu)造了第一個帶關(guān)鍵字搜索的公鑰加密方案.后續(xù)的研究者們基于不同的技術(shù)構(gòu)造了多個PKES(Public Key Encryption with Keyword Search)方案[22-23].無安全信道的帶關(guān)鍵字搜索公鑰加密(Secure Channel Free Public Key Encryption with Keyword Search, SCF-PEKS)也被稱為指定測試者的帶關(guān)鍵字搜索公鑰加密(Searchable Public Key Encryption with Designated Tester,dPEKS)[24].PKES方案僅僅支持關(guān)鍵字密文的相等查詢.Park等[25]提出了支持關(guān)鍵字邏輯與查詢的公鑰加密概念(Public Key Encryption with Conjunctive Keyword Search, PECK),并給出了相應(yīng)的構(gòu)造.Boneh等[26]擴展了PKES的概念,提出可搜索公鑰加密(Searchable Public Key Encryption)以支持關(guān)鍵字的邏輯與、子集、范圍比較等查詢.所有上述方案都無法支持關(guān)鍵字的邏輯或查詢. Katz等[27]提出了內(nèi)積謂詞加密(Inner-Product Predicate Encryption,IPE)的概念,并注意到IPE可以用來構(gòu)造支持復(fù)雜邏輯表達的可搜索公鑰加密,也即支持任意可用單調(diào)布爾邏輯表達式(包含任意多個邏輯與和邏輯或)表示的查詢.
事實上,上述所有的可搜索的公鑰加密方案都并不保證陷門不泄露相對應(yīng)的查詢內(nèi)容信息.當(dāng)用戶的查詢內(nèi)容包含敏感信息時,這將限制可搜索公鑰加密在云環(huán)境下的運用.用戶在使用查詢服務(wù)的同時,也希望自己的查詢隱私能得到保護.為使可搜索的公鑰加密更好地適用云計算環(huán)境,需要構(gòu)造可保護隱私、支持復(fù)雜邏輯表達的有效可搜索公鑰加密方案.
以云計算為代表的第三方外包平臺技術(shù)的快速發(fā)展,使得數(shù)據(jù)擁有者能夠把海量數(shù)據(jù)上傳到云服務(wù)器上并提供計算、查詢請求,以降低自身的存儲、計算和管理等開銷.近年來,屬性加密、同態(tài)加密等功能加密技術(shù)被用于解決外包云數(shù)據(jù)的計算問題.功能加密(Functional Encryption)又稱函數(shù)加密,它可以看成是公鑰加密的一種新擴展,能夠提供更為靈活的數(shù)據(jù)加密方法.在功能加密中,任何人可以使用公鑰pk對明文m進行加密得到密文C=Enc(m),私鑰持有者針對某個函數(shù)f頒發(fā)一個密鑰sk[f], 利用sk[f]可以從密文C中計算出f(m), 但是除了f(m)外不能獲得關(guān)于m的任何信息.基于身份加密、屬性加密、同態(tài)加密等都可以視為功能加密的具體形式.
保護數(shù)據(jù)的隱私性和驗證第三方外包平臺提供計算結(jié)果的正確性是數(shù)據(jù)和計算外包技術(shù)的兩個核心問題.國內(nèi)外學(xué)者為解決上述兩個問題提出了一系列方法,包括同態(tài)加密、同態(tài)簽名及消息認證碼、非交互可驗證計算.以下逐一對其進行分析.
3.3.1 同態(tài)加密
Rivest等[28]首次提出了同態(tài)加密(Homomorphic Encryption)的概念.同態(tài)是指直接對密文進行操作的同時也對明文執(zhí)行了相應(yīng)的操作.同態(tài)加密方案允許任何人在不知道明文的情況下對密文直接進行操作,效果等同于先對明文進行操作然后加密得到結(jié)果.早期的同態(tài)加密方案[29-33]或者只支持對密文的加法運算,或者只支持對密文的乘法運算,或者只支持對密文的加法運算和一次乘法運算.直到2009年Gentry[34]才構(gòu)造出第一個全同態(tài)加密方案,自此以后,全同態(tài)加密獲得了蓬勃的發(fā)展.
全同態(tài)加密允許對密文進行任意的操作,因而非常適合應(yīng)用于云計算環(huán)境以保護數(shù)據(jù)的隱私性.用戶首先用全同態(tài)加密方案對數(shù)據(jù)進行加密,再將加密后獲得的密文上傳至云服務(wù)器;云服務(wù)器可以對數(shù)據(jù)密文進行用戶指定的任意操作,并將計算結(jié)果返回用戶;用戶使用其私鑰解密返回的密文,獲取對應(yīng)的明文計算結(jié)果.全同態(tài)加密方案的安全性要求使得敵手在沒有對應(yīng)私鑰的情況下無法從密文中獲得對應(yīng)明文的任意信息,從而保證了數(shù)據(jù)的隱私性.然而,用戶無法驗證云服務(wù)器返回的計算結(jié)果是否正確,即全同態(tài)加密可以保障云數(shù)據(jù)和計算外包服務(wù)中用戶數(shù)據(jù)的隱私性,但無法提供外包計算的可驗證性.
3.3.2 同態(tài)簽名及消息認證碼
在一個同態(tài)簽名(或消息認證碼)方案中,給定多個消息m1,…,mk的簽名(或認證碼),任何人都可以對這些簽名(或認證碼)進行函數(shù)f的運算從而獲得一個新的簽名(或認證碼);該簽名(或認證碼)是消息f(m1,…,mk)的一個合法簽名(或認證碼).同態(tài)簽名是以非對稱形式呈現(xiàn),而同態(tài)消息認證碼是以對稱形式呈現(xiàn).即在同態(tài)簽名驗證過程中,驗證者僅僅需要簽名者的公鑰便能夠驗證簽名的合法性;而在同態(tài)消息認證碼驗證過程中,只有消息認證碼的簽發(fā)者能夠驗證認證碼的合法性.
同態(tài)簽名及消息認證碼最早被用于網(wǎng)絡(luò)編碼[35]中的消息認證以防止數(shù)據(jù)污染.Johnson等[36]提出第一個同態(tài)簽名算法.隨后,一系列高效的同態(tài)簽名及消息認證碼方案被提出,包括一些在隨機預(yù)言機模型以及標(biāo)準(zhǔn)模型下被證明安全的方案.同態(tài)簽名及消息認證碼方案僅支持線性組合計算,也即前述提及的函數(shù)f必須是線性函數(shù).因此,上述方案也被稱為線性同態(tài)簽名及消息認證碼方案.Boneh等[37]提出了目前唯一一個非線性的同態(tài)簽名方案,該方案建立在格困難問題之上,能夠支持k次多項式運算.構(gòu)造能夠支持任意函數(shù)運算的同態(tài)簽名方案,也即全同態(tài)簽名方案,仍然是一個公開問題.最近,Gennaro等[38]基于全同態(tài)加密方案提出一個支持全同態(tài)的消息認證碼方案,能夠?qū)ο⒄J證碼進行任意函數(shù)運算,但效率非常低.Catalano等[39]提出了能夠支持k次多項式運算的有效同態(tài)消息認證碼方案,但方案的安全性僅在一個較弱的安全模型下(在該安全模型下,敵手無法驗證預(yù)言機)可獲得.
全同態(tài)簽名及消息認證碼能夠用于驗證外包計算的正確性.用戶首先對每個外包數(shù)據(jù)做簽名或者消息認證碼運算來生成標(biāo)簽,而后將數(shù)據(jù)及標(biāo)簽上傳到云服務(wù)器.用戶向云服務(wù)器發(fā)出計算請求,云服務(wù)器根據(jù)收到的請求做出相應(yīng)的計算,并將數(shù)據(jù)對應(yīng)的標(biāo)簽根據(jù)函數(shù)做相應(yīng)的合成,以證明計算結(jié)果的正確性.在收到計算結(jié)果以及相對應(yīng)的標(biāo)簽之后,用戶能夠通過標(biāo)簽來驗證結(jié)果是否正確.然而,在上述應(yīng)用場景中,數(shù)據(jù)是以明文形式存儲在云服務(wù)器上的,因而云服務(wù)器知道數(shù)據(jù)擁有者的隱私數(shù)據(jù).也即,全同態(tài)簽名及消息認證碼可以提供云數(shù)據(jù)和計算外包服務(wù)中外包計算的可驗證性,但無法保障用戶數(shù)據(jù)的隱私性.
3.3.3 非交互可驗證計算
非交互可驗證計算(Non-Interactive Verifiable Computation)的概念是Gennaro等[40]提出的.一般而言,非交互可驗證計算使得計算資源受限的用戶能夠?qū)⒁粋€函數(shù)F作用在輸入x上的操作(通常這一操作需要大量的計算資源)外包給擁有大量計算資源的工作站或云服務(wù)器.云服務(wù)器計算y=F(x),然后返回y和能夠向用戶證明y確實是函數(shù)F作用在x上的結(jié)果的有效證據(jù).這里的有效證據(jù)是指用戶驗證該證據(jù)的計算花費要遠小于用戶自己計算F(x)的開銷,否則用戶就沒有將F(x)的計算外包給云服務(wù)器的必要.自從Gennaro等[40]構(gòu)造了第一個非交互可驗證計算方案以來,國內(nèi)外學(xué)者提出了一系列的非交互可驗證計算方案.這些方案或者側(cè)重于外包一般性函數(shù)的計算[41-44],或者側(cè)重于外包某一特定函數(shù)或某類函數(shù)的計算[45-50].
現(xiàn)有的非交互可驗證計算方案或者無法保證函數(shù)輸入x的隱私性,或者用戶需要外包計算的函數(shù)必須事先確定(即需要外包計算的函數(shù)F必須在系統(tǒng)建立時就確定).更重要的是,使用非交互可驗證計算方案外包函數(shù)F的計算時,用戶需要知道函數(shù)F的輸入x.考慮下面一個常見的云計算外包場景:用戶將其數(shù)據(jù)上傳至云服務(wù)器上(即外包數(shù)據(jù)),用戶本身將不再保存數(shù)據(jù)或僅存儲該數(shù)據(jù)的簡要描述;而后用戶請求云服務(wù)器對其數(shù)據(jù)進行函數(shù)F1運算(即外包函數(shù)F1的計算);用戶對存儲在云服務(wù)器上的數(shù)據(jù)進行增加和刪除操作(即存放在云服務(wù)器上的數(shù)據(jù)是動態(tài)變化的);用戶請求云服務(wù)器對其數(shù)據(jù)進行另一函數(shù)F2運算(即外包函數(shù)F2的計算).這個特性將限制其在云計算外包中的應(yīng)用.非交互可驗證計算適用于解決用戶數(shù)據(jù)未外包的情況下計算外包的可驗證性.在用戶數(shù)據(jù)已經(jīng)外包到云服務(wù)器上的情況下,如果此時用戶希望使用非交互可驗證計算方案來獲得外包計算結(jié)果的可驗證性,用戶需要首先將存儲在云服務(wù)器上的數(shù)據(jù)下載到本地,這將大大增加用戶的存儲和通信開銷,尤其是當(dāng)用戶存儲在云服務(wù)器上的數(shù)據(jù)量很大時.因此,非交互可驗證計算同樣無法有效解決在云數(shù)據(jù)和計算外包服務(wù)中同時保障用戶數(shù)據(jù)的隱私性和提供外包計算的可驗證性這兩個安全需求.
此前大部分做法是直接將數(shù)據(jù)存放在服務(wù)器,然后通過訪問控制(Access Control)的方法來限制只有訪問權(quán)限的用戶進行共享.然而,這種做法是不適合云計算環(huán)境的,因為以明文形式存放數(shù)據(jù),無法保證對服務(wù)商的保密性要求,而且一旦云數(shù)據(jù)服務(wù)中心被非法入侵,用戶數(shù)據(jù)的安全性也會蕩然無存.此外,一個簡單(但不理想)的方法是,利用用戶的公鑰對數(shù)據(jù)加密后存放在云數(shù)據(jù)服務(wù)商,當(dāng)用戶A想讓另外的用戶B來共享數(shù)據(jù)時,用戶A先把數(shù)據(jù)下載到本地來解密,然后利用用戶B的公鑰加密后發(fā)給用戶B.顯然,這不是理想的做法,因為它大大增加通信和運算開銷.基于屬性加密(Attribute-Based Encryption, ABE)近年來被用于解決數(shù)據(jù)共享問題[51-52].然而,利用ABE的方法不能很好地支持跨域操作.在云計算環(huán)境中,用戶常常來自不同的管理域,因而ABE在這種場合下難以勝任.此外,在采用密文規(guī)則的ABE(Ciphertext-Policy Attribute-Based Encryption, CP-ABE)時,需要用戶在數(shù)據(jù)加密時事先確定共享用戶必須滿足的條件,在一定程度上缺乏靈活性.
Blaze等[53]提出了代理重加密(Proxy Re-Encryption)的概念.在代理重加密方案中,一個代理者在得到授權(quán)人所給予的轉(zhuǎn)換鑰rk后,就可以將原先加密給授權(quán)人的密文C轉(zhuǎn)換為針對受理人的密文C’.受理人收到C’之后,只需利用自己的私鑰就可以對C’進行解密獲得對應(yīng)的明文.而對于代理者來說,雖然他擁有轉(zhuǎn)換鑰rk,也無法獲得關(guān)于該明文的任何信息.此后又有人提出其他代理重加密方案[54].然而,這些傳統(tǒng)的代理重加密中,代理者可以將授權(quán)人的所有密文都轉(zhuǎn)換為針對受理人的密文.換句話來說,授權(quán)人沒能在更細致層次上對代理者進行控制.Weng等[55]提出了條件代理重加密(Conditional Proxy Re-Encryption)的概念.在條件代理重加密中,只有當(dāng)密文符合一定條件時,代理者才可以對該密文進行轉(zhuǎn)換,這樣就能較好地控制代理者的轉(zhuǎn)換權(quán)限.條件代理重加密能較好地解決云計算環(huán)境中的加密數(shù)據(jù)共享問題:在將用戶A數(shù)據(jù)存入云計算服務(wù)商之前,用戶先用條件代理重加密對數(shù)據(jù)進行加密;當(dāng)用戶A的數(shù)據(jù)要被用戶B(即使是其它管理域的用戶)共享時,用戶A只需要生成一個針對某一條件的轉(zhuǎn)換鑰交給云計算服務(wù)商或者第三方,后者就可以利用轉(zhuǎn)換鑰將滿足該條件的指定加密數(shù)據(jù)轉(zhuǎn)換為針對用戶B的密文;用戶B僅利用自身的私鑰就可以訪問這些數(shù)據(jù)內(nèi)容.條件代理重加密的性質(zhì)能夠保證:即使云計算服務(wù)商擁有轉(zhuǎn)換鑰,也無法獲得用戶的數(shù)據(jù)內(nèi)容;更嚴(yán)格的要求為,即使云計算服務(wù)商與用戶B合作,也無法獲得用戶A的私鑰.與ABE相比,(條件)代理重加密能更好地支持跨域操作.目前已經(jīng)存在幾個條件代理重加密方案[56-58].但這些方案均使用了雙線性配對(bilinear pairing).眾所周知,與模指數(shù)運算相比較,雙線性配對的運算代價要昂貴得多,導(dǎo)致這些方案的效率都不夠理想.因此,隨之而來的問題是,能否構(gòu)建一個無需雙線性配對的條件代理重加密方案,以便能高效地用于云計算環(huán)境,解決加密數(shù)據(jù)的共享問題? 目前存在一個匿名的條件代理重加密方案[58],該方案只能支持簡單的AND型條件表達式,且只能在非自適應(yīng)模型下達到選擇密文安全.而非自適應(yīng)模型無法準(zhǔn)確刻畫云計算環(huán)境下敵手的強大攻擊能力,簡單的AND型條件表達式只能滿足較粗糙粒度的數(shù)據(jù)共享.因此,如何構(gòu)建一個自適應(yīng)選擇密文安全的、具有細粒度條件控制的匿名條件代理重加密方案,以便能在更細粒度上控制用戶的數(shù)據(jù)共享、且不向云計算服務(wù)商泄漏轉(zhuǎn)換條件的信息,成為一個值得研究的問題.
過去的幾年中,本課題組在國家自然科學(xué)基金重點項目“云計算環(huán)境下的數(shù)據(jù)安全基礎(chǔ)問題研究”的支持下,在面向云計算安全的相關(guān)密碼理論研究,以及將密碼技術(shù)應(yīng)用在云計算安全的實現(xiàn)方面做了一些嘗試,并取得了一些有意義的進展.
本課題組提出一個基于云存儲服務(wù)的數(shù)據(jù)共享系統(tǒng)模型[59],根據(jù)該模型實現(xiàn)了一個原型系統(tǒng),并實施了部署.使用密文策略屬性加密技術(shù)(Ciphertext Policy-Attribute Based Encryption, CP-ABE)同時實現(xiàn)高效的數(shù)據(jù)加密與細粒度的訪問控制,合并了加解密模塊與訪問控制模塊.在搜索模塊上,使用Lucene構(gòu)建了一個輕量級的搜索引擎,以實現(xiàn)快速數(shù)據(jù)檢索,并與訪問控制結(jié)合,保證未授權(quán)的內(nèi)容不會出現(xiàn)在檢索結(jié)果上(圖3).針對系統(tǒng)在響應(yīng)速度、系統(tǒng)資源使用等性能方面的缺陷,提出利用緩存等技術(shù)、預(yù)解密技術(shù)以及使用摘要替代整個源文件進一步對系統(tǒng)進行優(yōu)化,提高整個系統(tǒng)的效率與資源利用率,能夠滿足應(yīng)用的需要(圖4,圖5).
圖3 帶權(quán)限控制的密文數(shù)據(jù)搜索系統(tǒng)
圖4 不同機制下的檢索響應(yīng)時間對比
圖5 檢索服務(wù)性能測試結(jié)果
大數(shù)據(jù)時代的信息安全與隱私保護是一項系統(tǒng)工程.無論是在國家層面、技術(shù)層面,還是個人以及企業(yè)的社會責(zé)任感層面,都應(yīng)該負擔(dān)起相應(yīng)的責(zé)任.一方面應(yīng)該通過法律規(guī)范限制對用戶數(shù)據(jù)的過度采集和使用,同時技術(shù)上需要將目前的數(shù)據(jù)存儲模式變?yōu)檎嬲饬x的分布式分割存儲,這樣既可以方便對重要的和敏感的數(shù)據(jù)進行加密保護,還可以最大限度地將數(shù)據(jù)內(nèi)容與用戶個人信息、用戶相關(guān)信息、屬性信息實現(xiàn)剝離,從而達到對隱私的保護.
[1] 新華網(wǎng).云計算從概念走向應(yīng)用 至2015年收入將突破1800億美元[EB/OL].(2013-12-20)[2014-10-05].http://news.xinhuanet.com/info/2013-12/20/c_132982365.htm.
[2] 中國工業(yè)和信息化部.云計算安全問題及對策[EB/OL]. [2014-10-05].http://www.miit.gov.cn/n11293472/n11293832/n15214847/n15218234/15475208.
[3] 新華網(wǎng).大數(shù)據(jù)和云計算使的個人隱私四面楚歌[EB/OL].(2013-11-20)[2014-10-05].http://news.xinhuanet.com/info/2013-11/20/c_132902969.htm.
[4] Columbus L. IDG cloud computing survey: security, integration challenge growth[EB/OL].(2013-08-13)[2014-10-05].http://www.forbes.com/sites/louiscolumbus/2013/08/13/idg-cloud-computing-survey-security-integration-challenge-growth/.
[5] 陶濤.云計算領(lǐng)域隱私權(quán)保護的現(xiàn)實困境分析[J].現(xiàn)代情報,2014,34(2):162-167.
[6] 中文國際.摩根大通數(shù)據(jù)泄露影響8300萬客戶[EB/OL].(2014-10-03)[2014-10-05].http://www.chinadaily.com.cn/hqgj/jryw/2014-10-03/content_12481331.html.
[7] 互動百科.隱私[EB/OL].[2014-10-05].www.baike.com/wiki/隱私.
[8] Liu F,Tong J,Mao J,etal. NIST cloud computing reference architecture[J].NIST Special Publication,2011,500:292.
[9] ZDNet. Enterprise cloud outlook: inevitably hybrid, surprisingly agile and (eventually) cheap[EB/OL].(2014-04-03)[2014-10-05].http://www.zdnet.com/enterprise-cloud-outlook-inevitably-hybrid-surprisingly-agile-and -eventually-cheap-7000028032/.
[10] IBM.IBM hybrid cloud solution[EB/OL].[2014-10-05].http://www-01.ibm.com/software/tivoli/products/hybrid-cloud/.
[11] Zhang K H, Zhou X Y, Chen Y Y,etal. Sedic: privacy-aware data intensive computing on hybrid clouds[C]//CCS.Proceedings of the 18th ACM conference on computer and communications security.New York:ACM,2011:515-526.
[12] Chen Y Y, Peng B, Wang X F,etal. Large-scale privacy-preserving mapping of human genomic sequences on hybrid clouds[C]//Proceedings of NDSS.NDSS,2012.
[13] Oktay K Y, Khadilkar V, Hore B,etal. Risk-aware workload distribution in hybrid clouds[C]//2012 IEEE 5th international conference on cloud computing.Honolulu:IEEE,2012:229-236.
[14] Smit M, Shtern M, Simmons B,etal. Partitioning applications for hybrid and federated clouds[C]//CASCON.Proceedings of the 2012 conference of the center for advanced studies on collaborative research.Riverton:IBM Corp,2012:27-41.
[15] Gao J, Yu J X, Jin R,etal. Neighborhood-privacy protected shortest distance computing in cloud[C]//SIGMOD.Proceedings of the 2011 ACM SIGMOD international conference on management of data.New York:ACM,2011:409-420.
[16] Rekatsinas T, Deshpande A, Machanavajjhala A. SPARSI: partitioning sensitive data amongst multiple adversaries[J]. Proceedings of the VLDB endowment,2013,6(13):1594-1605.
[17] Song D, Wagner D, Perrig A. Practical techniques for searches on encrypted data[C]//Proceedings of 2000 IEEE symposium on security and privacy.Berkeley: IEEE,2000:44-55.
[18] Goh E J. Secure indexes[J].Cryptology ePrint Archive,2003,2003:216.
[19] Waters B R, Balfanz D, Durfee G,etal. Building an encrypted and searchable audit log[J].NDSS,2004,4:5-6.
[20] Curtmola R, Garay J, Kamara S,etal.Searchable symmetric encryption: improved definitions and efficient constructions[C]//CCS. Proceedings of the 13th ACM conference on computer and communications security.New York: ACM,2006:79-88.
[21] Boneh D, Crescenzo G D, Ostrovsky R,etal. Public key encryption with keyword search[M]//Cachin C,Camenisch J L.Advances in cryptology: EUROCRYPT 2004.Berlin: Springer-Verlag,2004:506-522.
[22] Bellare M, Boldyreva A, O’Neill A. Deterministic and efficiently searchable encryption[M]//Menezes A. Advances in cryptology:CRYPTO 2007.Berlin:Springer-Verlag,2007:535-552.
[23] Crescenzo G D, Saraswat V. Public key encryption with searchable keywords based on jacobi symbols[M]//Srinathan K, Rangan C P, Yung M. Progress in cryptology:INDOCRYPT 2007.Berlin: Springer-Verlag,2007:282-296.
[24] Rhee H S, Park J H, Susilo W,etal.Improved searchable public keyencryption with designated tester[C]//ASIACCS. Proceedings of the 4th international symposium on information, computer, and communications security.New York:ACM,2009:376-379.
[25] Park D J, Kim K, Lee P J. Public key encryption with conjunctive field keywordsearch[M]//Lim C H,Yung M. Information security applications.Berlin: Springer-Verlag,2005:73-86.
[26] Boneh D, Waters B. Conjunctive, subset, and range queries on encrypted data[M]//Vadhan S P.Theory of cryptography. Berlin: Springer-Verlag,2007:535-554.
[27] Katz J, Sahai A, Waters B. Predicate encryption supporting disjunctions,polynomial equations, and inner products[M]//Smart N. Advances in cryptology:EUROCRYPT 2008.Berlin: Springer-Verlag,2008:146-162.
[28] Rivest R L, Adleman L, Dertouzos M L. On data banks and privacy homomorphisms[J]. Foundations of Secure Computation,1978,4(11):169-180.
[29] Rivest R L, Shamir A, Adleman L. A method for obtaining digital signatures and public-key cryptosystems[J]. Communication of the ACM,1978,21(2):120-126.
[30] Goldwasser S, Micali S. Probabilistic encryption and how to play mental pokerkeeping secret all partial information[C]//STOC. Proceedings of the fourteenth annual ACM symposium on theory of computing. New York:ACM,1982:365-377.
[31] ElGamal T. A public-key cryptosystem and a signature scheme based on discrete logarithms[M]//Blakley G R,Chaum D. Advances in cryptology. Berlin: Springer-Verlag,1985:10-18.
[32] Paillier P. Public-key cryptosystems based on composite degree residuosity classes[M]//Sterm J.Advances in cryptology: EUROCRYPT’99.Berlin: Springer-Verlag,1999:223-238.
[33] Boneh D, Goh E-J, Nissim K. Evaluating 2-DNF formulas on ciphertexts[M]//Kilian J.Theory of cryptography.Berlin: Springer-Verlag,2005:325-341.
[34] Gentry C. Fully homomorphic encryption using ideal lattices[C]//STOC. Proceedings of the 2009 ACM symposium on theory of computing.New York:ACM,2009:169-178.
[35] Ahlswede R, Cai N, Li S Y R,etal. Network information flow[J]. IEEE Transactions on Information Theory,2000,46(4):1204-1216.
[36] Johnson R, Molnar D, Song D,etal. Homomorphic signature schemes[M]//Preneel B. Topics in cryptology: CT-RSA 2002.Berlin: Springer-Verlag,2002:244-262.
[37] Boneh D, Freeman D M.Homomorphic signatures for polynomial functions[M]//Paterson K G. Advances in cryptology:EUROCRYPT 2011.Berlin: Springer-Verlag,2011:149-168.
[38] Gennaro R, Wichs D. Fully homomorphic message authenticators[M]//Sako K,Sarkar P. Advances in cryptology:ASIACRYPT 2013.Berlin: Springer-Verlag,2013:301-320.
[39] Catalano D, Fiore D. Practical homomorphic MACs for arithmetic circuits[M]//Johansson T,Nguyen P. Proceedings of EUROCRYPT 2013. Berlin:Springer-Verlag,2013:336-352.
[40] Gennaro R, Gentry C, Parno B. Non-interactive verifiable computing: outsourcing computation to untrusted workers[M]//Rabin T. Advances in cryptology:CRYPTO 2010.Berlin: Springer-Verlag,2010:465-482.
[41] Chung K M, Kalai Y, Vadhan S.Improved delegation of computation using fully homomorphicencryption[M]//Rabin T. Advances in cryptology:CRYPTO 2010.Berlin: Springer-Verlag,2010:483-501.
[42] Barbosa M, Farshim P. Delegatable homomorphic encryption with applications to secure outsourcing of computation[M]//Dunkelman O. Topics in cryptology:CT-RSA 2012. Berlin:Springer-Verlag,2012:296-312.
[43] Parno B, Raykova M, Vaikuntanathan V. How to delegate and verify in public: verifiable computation from attribute-based encryption[M]//Cramer R. Theory of cryptography. Berlin: Springer-Verlag,2012:422-439.
[44] Goldwasser S, Kalai Y T, Popa R A,etal. Succinct functional encryption and applications: reusable garbled circuits and beyond[C]//STOC.Proceedings of STOC 2013. New York:ACM,2013:555-564.
[45] Benabbas S, Gennaro R, Vahlis Y. Verifiable delegation of computation over large datasets[M]//Rogaway P. Advances in cryptology:CRYPTO 2011.Berlin:Springer-Verlag,2011:111-131.
[46] Fiore D, Gennaro R. Publicly verifiable delegation of large polynomials and matrix computations, with applications[C]//CCS .Proceedings of the 2012 ACM conference on computer and communications security. New York:ACM,2012:501-512.
[47] Catalano D, Fiore D, Gennaro R,etal. Algebraic (trapdoor) one way functions and their applications[M]//Sahai A.Theory of cryptography. Berlin:Springer-Verlag,2013:680-699.
[48] Papamanthou C, Shi E, Tamassia R. Signatures of correct computation[M]//Sahai A.Theory of cryptography. Berlin:Springer-Verlag,2013:222-242.
[49] Backes M, Fiore D, Reischuk R M. Verifiable delegation of computation on outsourced data[C]//CCS. Proceedings of the 2013 ACM SIGSAC conference on computer and communications security. New York:ACM,2013:863-874.
[50] Papamanthou C, Tamassia R, Triandopoulos N.Optimal verification of operations on dynamic sets[M]//Rogaway P. Advances in cryptology:CRYPTO 2011.Berlin:Springer-Verlag,2011:91-110.
[51] Goyal V, Pandey O, Sahai A,etal. Attribute-based encryption for fine-grained access control of encrypted data[C]//CCS. Proceedings of the 13th ACM conference on computer and communications security. New York:ACM,2006:89-98.
[52] Lewko A, Okamoto T, Sahai A,etal. Fully secure functional encryption: attribute-based encryption and (hierarchical) inner product encryption[M]//Gilbert H. Advances in cryptology:EUROCRYPT 2010.Berlin: Springer-Verlag,2010:62-91.
[53] Blaze M, Bleumer G, Strauss M. Divertible protocols and atomic proxy cryptography[M]//Nyberg K. Advances in cryptology:EUROCRYPT’98.Berlin: Springer-Verlag,1998:127-144.
[54] Ateniese G, Fu K, Green M,etal. Improved proxy re-encryption schemes with applications to secure distributed storage[J]. ACM Transactions on Information and System Security,2006,9(1):1-30.
[55] Weng J, Deng R H, Ding X H,etal. Conditional proxy re-encryption secure against chosen-ciphertext attack[C]//ASIACCS. Proceedings of the 4th international symposium on information, computer, and communications security.New York:ACM,2009:322-332.
[56] Weng J, Yang Y J, Tang Q,etal. Efficient conditional proxy re-encryption with chosen-ciphertext security[M]//Samarati P,Yung M,Martinelli F,etal. Information cecurity.Berlin: Springer-Verlag,2009:151-166.
[57] Chu C K, Weng J, Chow S S M,etal.Conditional proxy broadcast re-rncryption[M]//Boyd C,Nieto J G.Information security and privacy. Berlin: Springer-Verlag,2009:327-342.
[58] Fang L M, Susilo W, Wang J D. Anonymous conditional proxy re-encryption without random oracle[M]//Pieprzyk J,Zhang F G. Provable security. Berlin: Springer-Verlag,2009:47-60.
[59] 張婧,陳克非,呂林,等.云存儲中的用戶數(shù)據(jù)安全[J].計算機科學(xué)與探索,2013,7(12):1093-1103.