李想 趙相楠
1 引言
云計(jì)算是繼分布式計(jì)算、網(wǎng)格計(jì)算、對(duì)等計(jì)算之后的一種新型計(jì)算模式,它以資源租用、應(yīng)用托管、服務(wù)外包為核心,迅速成為計(jì)算機(jī)技術(shù)發(fā)展的熱點(diǎn)。在云計(jì)算環(huán)境下,IT領(lǐng)域按需服務(wù)的理念得到了真正體現(xiàn)。云計(jì)算通過整合分布式資源,構(gòu)建應(yīng)對(duì)多種服務(wù)要求的計(jì)算環(huán)境,滿足用戶定制化要求,并可通過網(wǎng)絡(luò)訪問其相應(yīng)的服務(wù)資源。云計(jì)算在提高使用效率的同時(shí),為實(shí)現(xiàn)用戶信息資產(chǎn)安全與隱私保護(hù)帶來極大的沖擊與挑戰(zhàn)。當(dāng)前,安全成為云計(jì)算領(lǐng)域亟待突破的重要問題,其重要性與緊迫性已不容忽視。
目前云計(jì)算安全問題具有五大特征。(1)服務(wù)外包和基礎(chǔ)設(shè)施公有化特征:這就導(dǎo)致用戶的應(yīng)用和數(shù)據(jù)交由云端管理,用戶對(duì)自身任務(wù)與數(shù)據(jù)的安全并不可控;(2)動(dòng)態(tài)復(fù)雜性:多層次服務(wù)模式(如IaaS、PaaS和SaaS)以及用戶執(zhí)行環(huán)境的動(dòng)態(tài)定制和更新帶來了云計(jì)算環(huán)境中復(fù)雜的信任關(guān)系;(3)超大規(guī)模、多租戶資源共享特征:現(xiàn)在云平臺(tái)上用戶數(shù)量非常大,實(shí)體關(guān)系很復(fù)雜,存在平臺(tái)和用戶、用戶和用戶之間的惡意攻擊;(4)資源的高度集中性:云計(jì)算環(huán)境比傳統(tǒng)計(jì)算環(huán)境面臨的安全威脅更大以及遭受破壞的可能性更大,因?yàn)樗馁Y源更集中;(5)云平臺(tái)的開放性:云平臺(tái)中存在眾多不可預(yù)計(jì)安全漏洞與缺陷的開放性軟件,導(dǎo)致平臺(tái)的安全風(fēng)險(xiǎn)大大增加,攻擊者更容易竊取或破壞租戶數(shù)據(jù)。
上述云計(jì)算安全特征決定了云計(jì)算訪問控制是云計(jì)算安全問題的核心,訪問控制是實(shí)現(xiàn)用戶數(shù)據(jù)機(jī)密性和進(jìn)行隱私保護(hù)的重要手段。目前,云計(jì)算在訪問控制方面仍然沒有一種足夠安全的方案。
2 訪問控制技術(shù)與基于屬性的訪問控制技術(shù)
訪問控制長(zhǎng)期作為各界的研究熱點(diǎn),從20世紀(jì)60年代誕生至今,已取得了長(zhǎng)足的發(fā)展與進(jìn)步。針對(duì)不同的訪問控制需求,眾多不同的訪問控制模型和技術(shù)也應(yīng)運(yùn)而生,如自主訪問控制DAC、強(qiáng)制訪問控制MAC(機(jī)密性模型BLP、完整性模型Biba)以及基于角色的訪問控制RBAC等。這些模型在現(xiàn)實(shí)中得到了廣泛的應(yīng)用,其中對(duì)RBAC的研究與應(yīng)用最為廣泛。然而在復(fù)雜的云計(jì)算環(huán)境中,包括RBAC在內(nèi)的傳統(tǒng)的訪問控制方法仍然具有較大的局限性。為了解決傳統(tǒng)訪問控制方法的靜態(tài)性以及云服務(wù)商不可信等問題,基于屬性的訪問控制(Attribute-Based Access Control,ABAC)逐漸進(jìn)入了人們的視野并成為各界的研究熱點(diǎn)。由于ABAC具有靈活性、細(xì)粒度、可擴(kuò)展性等十分適合解決上述問題的特征,因此它也逐漸成為訪問控制方法中的熱點(diǎn)技術(shù)。
基于屬性的訪問控制是伴隨著分布式應(yīng)用的發(fā)展而被提出的一種訪問控制機(jī)制,用于解決分布式環(huán)境下的訪問控制問題,因而先天對(duì)云環(huán)境有更好的適應(yīng)性。ABAC可以根據(jù)客戶屬性特征并結(jié)合訪問控制策略判斷是否允許客戶的訪問請(qǐng)求。其基本思想是訪問控制以實(shí)體(主體、資源和環(huán)境)的屬性作為基礎(chǔ)進(jìn)行授權(quán)決策,它可以隨著實(shí)體屬性的變化動(dòng)態(tài)地更新訪問控制決策,提供一種更加細(xì)粒度、靈活的動(dòng)態(tài)訪問控制方法。ABAC尤其是由Sahai和Waters提出的ABE(Attribute-Based Encryption),將解密規(guī)則蘊(yùn)含在加密算法之中,可以免去加密過程中頻繁的密鑰分發(fā)代價(jià)。由于這一良好特性,有很多用ABE實(shí)現(xiàn)的密文訪問控制來解決云存儲(chǔ)中數(shù)據(jù)安全和隱私保護(hù)的研究。此類方法可較好地保證敏感數(shù)據(jù)的機(jī)密性。
基于密文策略的屬性加密(Ciphertext-Policy Attribute-Based Encryption,CP-ABE)目前主要應(yīng)用在云計(jì)算環(huán)境下的密文訪問控制方案。但該類方案在屬性撤銷時(shí),數(shù)據(jù)擁有者DO(Data Owner)需要生成密文重加密信息,并對(duì)相關(guān)密文重加密;由于密文重加密,具有權(quán)限的用戶的舊密鑰也不能解密密文,DO需要生成密鑰升級(jí)信息并發(fā)送給用戶進(jìn)行升級(jí);這些操作都會(huì)導(dǎo)致DO計(jì)算量增加。同時(shí),用戶會(huì)被其它用戶的屬性撤銷所影響,這會(huì)增加用戶的計(jì)算負(fù)擔(dān)。在多次屬性撤銷的時(shí)間段內(nèi),可能沒有或只有少量次數(shù)的文件更新,在文件不更新就不需要重加密的前提下,可以認(rèn)為這樣做會(huì)白白增加屬性權(quán)威和CSP的計(jì)算量和通信消耗。
3 一種基于屬性加密的云數(shù)據(jù)機(jī)密性保護(hù)和訪問控制方法
3.1 方法介紹
經(jīng)過研究,我們提出了一種云數(shù)據(jù)機(jī)密性保護(hù)和訪問控制方法,采用對(duì)稱密碼體制和密文策略的基于屬性加密機(jī)制,對(duì)用戶敏感數(shù)據(jù)提供安全保護(hù),在云服務(wù)提供商不可信的前提下,保證在開放環(huán)境下云存儲(chǔ)系統(tǒng)中數(shù)據(jù)的安全性,實(shí)現(xiàn)敏感數(shù)據(jù)的安全共享,還能減少密鑰分發(fā)和數(shù)據(jù)管理而給數(shù)據(jù)所有者帶來巨大的計(jì)算開銷。
本方法采用對(duì)稱密碼體制相關(guān)算法實(shí)現(xiàn)敏感數(shù)據(jù)的加密,以加密的形式保存在云服務(wù)器中;采用密文策略的基于屬性加密機(jī)制實(shí)現(xiàn)數(shù)據(jù)加密密鑰的保護(hù),加密的訪問策略可根據(jù)需要由數(shù)據(jù)所有者制定,只有滿足訪問策略的數(shù)據(jù)使用者才能通過解密來訪問加密的敏感數(shù)據(jù)。本方法涵蓋的體系構(gòu)成如圖1所示。
(1)認(rèn)證權(quán)威CA:為云計(jì)算環(huán)境中的所有實(shí)體信任的可信第三方,提供數(shù)字證書生命周期管理(簽發(fā)、更新、撤銷)、維護(hù)證書和證書撤銷列表CRL、身份鑒別等功能。
(2)屬性權(quán)威AA:為云計(jì)算環(huán)境中的所有實(shí)體(包括下一級(jí)屬性權(quán)威、主體、客體、權(quán)限、環(huán)境)簽發(fā)屬性, 保存用戶屬性,提供屬性管理功能,根據(jù)主體屬性、客體屬性和環(huán)境屬性和訪問控制策略進(jìn)行訪問控制。
(3)云服務(wù)提供商CSP:通過基于虛擬化技術(shù)實(shí)現(xiàn)計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源復(fù)用方式,遵從服務(wù)水平協(xié)議SLA,為云用戶提供彈性可租用的云服務(wù);根據(jù)協(xié)議,對(duì)被托管數(shù)據(jù)依據(jù)云服務(wù)提供商的安全措施提供安全性、可用性保障。
(4)數(shù)據(jù)所有者DO:數(shù)據(jù)的屬主,根據(jù)對(duì)稱密碼機(jī)制密鑰策略和數(shù)據(jù)安全要求,生成自己的數(shù)據(jù)加密密鑰對(duì)被托管數(shù)據(jù)文件進(jìn)行加密,并將密文上傳到云計(jì)算環(huán)境的服務(wù)器中存儲(chǔ)。
(5)數(shù)據(jù)使用者DU:請(qǐng)求訪問被托管密文的云用戶,必須先向域權(quán)威提出訪問請(qǐng)求并經(jīng)過域權(quán)威驗(yàn)證通過后,才能訪問數(shù)據(jù)。
本方法所述的云數(shù)據(jù)機(jī)密性保護(hù)和訪問控制過程涉及幾個(gè)方面。
(1)用戶注冊(cè):用戶包括數(shù)據(jù)所有者DO和數(shù)據(jù)使用者DU。用戶在使用云服務(wù)提供商CSP的云服務(wù)前,必須注冊(cè)為云服務(wù)的合法用戶。用戶在注冊(cè)時(shí),須提交必要的身份證明材料、用戶屬性信息。在驗(yàn)證用戶及用戶注冊(cè)請(qǐng)求后,認(rèn)證中心CA為用戶分配身份標(biāo)識(shí)ID,并簽發(fā)相應(yīng)的數(shù)字證書,以標(biāo)識(shí)用戶身份和身份鑒別;屬性權(quán)威為用戶簽發(fā)屬性集,將用戶屬性保存到屬性庫中,并分配屬性密鑰。
(2)數(shù)據(jù)上傳:數(shù)據(jù)所有者DO在客戶端根據(jù)數(shù)據(jù)文件的安全重要性,采用相對(duì)應(yīng)的密鑰策略生成對(duì)稱加密密鑰SK,然后使用對(duì)稱加密算法AES和密碼模式,對(duì)數(shù)據(jù)文件進(jìn)行加密得到數(shù)據(jù)文件密文CT。數(shù)據(jù)所有者DO然后使用屬性權(quán)威AA為其分配的屬性密鑰加密數(shù)據(jù)加密密鑰,得到密鑰密文SKCT。
根據(jù)密文策略的基于屬性的加密機(jī)制,數(shù)據(jù)所有者DO制定數(shù)據(jù)文件的訪問控制策略;數(shù)據(jù)所有者DO發(fā)送數(shù)據(jù)上傳請(qǐng)求給屬性權(quán)威AA,在認(rèn)證中心CA鑒別數(shù)據(jù)所有者DO的合法身份后,屬性權(quán)威AA允許數(shù)據(jù)所有者DO的數(shù)據(jù)上傳請(qǐng)求。數(shù)據(jù)所有者DO將密鑰密文SKCT、數(shù)據(jù)文件屬性、數(shù)據(jù)文件的訪問控制策略傳送給屬性權(quán)限AA,屬性權(quán)威AA保存數(shù)據(jù)文件屬性、數(shù)據(jù)文件訪問控制策略到屬性庫和策略庫中,將密鑰密文SKCT安全存儲(chǔ)。數(shù)據(jù)所有者DO將數(shù)據(jù)文件密文CT發(fā)送給云服務(wù)提供商CSP的服務(wù)器保存。
(3)數(shù)據(jù)訪問:當(dāng)數(shù)據(jù)使用者DU要求訪問云服務(wù)提供商的數(shù)據(jù)文件時(shí),向?qū)傩詸?quán)威提出數(shù)據(jù)訪問請(qǐng)求。在認(rèn)證權(quán)威鑒別其身份合法性后,屬性權(quán)威AA通過對(duì)數(shù)據(jù)使用者屬性、被訪問數(shù)據(jù)文件屬性、環(huán)境屬性以及相關(guān)的訪問控制策略進(jìn)行驗(yàn)證,判斷數(shù)據(jù)使用者DU是否具有該數(shù)據(jù)文件的訪問權(quán)限。驗(yàn)證通過后,屬性權(quán)威AA為數(shù)據(jù)使用者DU分發(fā)屬性密鑰,并將密鑰密文SKCT發(fā)送給數(shù)據(jù)使用者DU。
數(shù)據(jù)使用者DU接收到屬性密鑰和密鑰密文SKCT后,使用屬性密鑰解密密鑰密文后得到數(shù)據(jù)文件的對(duì)稱加密密鑰,然后解密從云服務(wù)提供商CSP獲得的數(shù)據(jù)文件密文CT,進(jìn)而完成對(duì)數(shù)據(jù)文件的訪問。
3.2 舉例介紹
為了便于闡述,我們以請(qǐng)求密文訪問舉例說明本方法。密文訪問過程如圖2所示。
在經(jīng)過用戶注冊(cè)和數(shù)據(jù)上傳后,數(shù)據(jù)所有者DO已將對(duì)稱加密的數(shù)據(jù)文件F傳送到云服務(wù)提供商CSP的服務(wù)器中保存,并且屬性權(quán)限AA已將數(shù)據(jù)文件屬性、數(shù)據(jù)文件訪問控制策略分別保存到屬性庫和策略庫中,同時(shí)也安全存儲(chǔ)了密鑰密文。
(1)訪問請(qǐng)求:數(shù)據(jù)使用者DU訪問云服務(wù)提供商CSP中受保護(hù)的數(shù)據(jù)文件,向?qū)傩詸?quán)威提出數(shù)據(jù)訪問請(qǐng)求REQ,其中包括數(shù)據(jù)使用者DU的屬性。
(2)訪問控制:在認(rèn)證權(quán)威CA鑒別DU身份合法性后,屬性權(quán)威AA通過對(duì)數(shù)據(jù)使用者屬性、被訪問數(shù)據(jù)文件屬性、環(huán)境屬性以及相關(guān)的訪問控制策略進(jìn)行驗(yàn)證,判斷數(shù)據(jù)使用者DU是否具有該數(shù)據(jù)文件的訪問權(quán)限。
(3)訪問通過:驗(yàn)證通過后,屬性權(quán)威AA為數(shù)據(jù)使用者DU分發(fā)屬性密鑰,并將密鑰密文SKCT發(fā)送給數(shù)據(jù)使用者DU。
(4)訪問結(jié)果:數(shù)據(jù)使用者DU接收到屬性密鑰和密鑰密文SKCT后,使用屬性密鑰解密密鑰密文后得到數(shù)據(jù)文件F的對(duì)稱加密密鑰SK,然后解密從云服務(wù)提供商CSP獲得的數(shù)據(jù)文件密文CT,進(jìn)而完成對(duì)數(shù)據(jù)文件F的訪問。
4 結(jié)束語
本文提出了一種云數(shù)據(jù)機(jī)密性保護(hù)和訪問控制方法,采用對(duì)稱密碼體制和密文策略的基于屬性加密機(jī)制,對(duì)用戶敏感數(shù)據(jù)提供安全保護(hù),在云服務(wù)提供商不可信的前提下,保證在開放環(huán)境下云存儲(chǔ)系統(tǒng)中數(shù)據(jù)的安全性,實(shí)現(xiàn)敏感數(shù)據(jù)的安全共享,還能減少密鑰分發(fā)和數(shù)據(jù)管理而給數(shù)據(jù)所有者帶來巨大的計(jì)算開銷。
作者簡(jiǎn)介:
李想(1979-),男,漢族,黑龍江哈爾濱人,畢業(yè)于哈爾濱工業(yè)大學(xué),理學(xué)碩士,助理工程師;主要研究方向和關(guān)注領(lǐng)域:信息安全、網(wǎng)絡(luò)滲透、云計(jì)算及云安全。
趙相楠(1987-),男,漢族,遼寧北票人,畢業(yè)于遼寧大學(xué),本科,學(xué)士學(xué)位,現(xiàn)任職中國信息通信研究院信息通信安全研究所安全測(cè)試工程師;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全、應(yīng)用安全、互聯(lián)網(wǎng)業(yè)務(wù)安全等方面的安全測(cè)試與研究。