李 瀾,景 峰,楊 華
(國網山西省電力公司陽泉供電公司,山西 陽泉 045000)
2010年,微軟出現數據庫腳本錯誤,導致上萬個真實賬號被刪除;2011年亞馬遜的云計算中心宕機,導致亞馬遜云服務中斷了4 d[1]。為了解決以上這些傳統密文訪問控制存在的問題,本文提出了一種基于雙因子加密的密文訪問控制方法(Double-Factor Access Control for Cloud Storage,DF-ACCS),將數據加密和訪問控制的功能分開,把數據密鑰和授權用戶表作為因子分別完成這2個功能。數據也不會因為訪問控制授權的變更,而需要變更密鑰并重新加密[2]。
實驗結果表明,該種機制比傳統的密文訪問控制機制效率更高,訪問控制的時長和空間開銷更小,尤其在撤銷授權的情況下表現更加明顯[3]。
密文訪問控制方法是一種基于密碼學原理的訪問控制方法,包括密文訪問控制方法相關密碼學原理。
在密文訪問控制方法中,使用了對稱加密和非對稱加密。
對稱加密是一種單鑰密碼系統,一個密鑰被用作加密和解密。它常常被用作數據加密,相比非對稱加密,具有更高的加密效率[4-5]。
對稱加密模型如圖1所示,假設明文信息X=[X1,X2,…,XM],加密算法E根據輸入信息X和密鑰K,加密得到密文信息Y=[Y1,Y2,…,YN],即:

圖1 對稱加密模型

可見密文Y是明文X的函數。解密過程是擁有密鑰K的接收者通過解密算法D和密鑰K,解密得到明文信息X,即:

非對稱加密是一種擁有2個不同密鑰,分別用來加密和解密的密碼系統。這2個密鑰之間,在計算上無法通過其中一個得到另外一個。這2個密鑰被稱為公鑰和私鑰[6]。
非對稱加密模型如圖2所示。非對稱加密模型的提出主要是為了解決2個問題:密鑰分發和數字簽名。密鑰分發,是通過公鑰加密消息,私鑰解密獲得消息來實現。
如圖2(a)所示,當把消息X換成對稱加密的密鑰時,就能進行密鑰分發。這個方法將會被應用在下面提出的基于雙因子加密的密文訪問控制中,用于向訪問用戶分發加密數據的對稱密鑰[7-8]。數字簽名,是通過私鑰加密信息、公鑰解密驗證消息來實現,如圖2(b)所示,這個方法將會被應用在下面提出的基于雙因子加密的密文訪問控制中,用于數據屬主對授權用戶表的簽名加密,以防止授權被惡意篡改。

圖2 非對稱加密模型
Access Control for Cloud Storage(ACCS)是一個基本的密文訪問控制的方法,本文提出的基于雙因子加密的訪問控制方法是基于該方法改進而來。
ACCS方法中,每個用戶維護一對RSA公私鑰Kpub和Kpriv,每一份數據都維護一個數據密鑰Kdata,以及一對公私鑰Ksign和Kverify分別用于授予讀寫權限和只讀權限。在可信介質S中為每份數據設置了一個用戶信息表Grantee[],用于保存授權用戶的信息,每一個信息項都對應了一個授權用戶,比如用戶A有訪問數據的權限,則用戶信息表中有Grantee[A]這一項。整個體系的結構圖如圖3所示。

圖3 ACCS結構圖
對于某數據FID,用戶A具有讀寫權限。數據屬主使用用戶A的公鑰對Kdata、Ksign和Kverify進行加密,那樣該用戶信息項則只能由用戶A解密;然后再用數據屬主的公鑰進行簽名加密,以保證該用戶信息項的真實性;最后再存儲在Grantee[A]中。
基于雙因子加密的密文控制方法(DF-ACCS)是在ACCS方法的基礎之上,將數據加密和訪問控制的實現進行合理分離,從而避免了更新數據密鑰以及數據重加密帶來的系統開銷。
雙因子加密的體系結構如圖4所示,每個用戶維護一對RSA公私鑰Kpub和Kpriv,每一份數據都維護一個數據密鑰Kdata,以及一個授權用戶表Grantee。數據屬主用數據密鑰Kdata對數據F進行加密后,發送存放到CSP中。訪問用戶申請訪問數據時,數據屬主確定訪問用戶在授權用戶表內后,使用訪問用戶的公鑰加密數據密鑰Kdata,將其發送給訪問用戶。那樣數據密鑰只能被該訪問用戶解密,能避免數據密鑰被第三方截取。

圖4 雙因子加密的體系結構
本部分將對雙因子加密方案設計實驗進行驗證,同時與ACCS方案進行對比,以評估該方案的性能優劣。
使用10 Mbyte大小的文件,通過將文件內容進行重復復制粘貼,產生20 MB、30 MB,一直到200 MB的20個文件。分別通過DF-ACCS方法和ACCS方法,對這些文件進行讀寫操作,2種方案在讀寫不同文件大小的情況下,時長基本一樣,不會增長。
2種方案在權限變更時長基本一樣,都較小,因為只是修改元數據。但是在撤銷權限的時長上,雙因子加密方案能比ACCS方案好很多。
本文首先分析了大數據安全的形勢以及數據保護的必要性,然后闡述ACCS方法的基礎理論,在此基礎上提出了一種雙因子加密的密文訪問控制方法。該方法將數據加密和訪問控制用對稱密鑰和授權用戶表這2個不同因子分別實現,避免了權限變更時數據重加密帶來的系統開銷。
通過實驗驗證,雙因子加密的密文訪問控制相比ACCS方法,能保證其性能不變,同時更有效地降低權限變更時帶來的系統開銷。