王 華
(河南工業(yè)貿(mào)易職業(yè)學(xué)院,河南 新鄭 451191)
云計(jì)算是一種基于互聯(lián)網(wǎng)遠(yuǎn)程服務(wù)器來實(shí)現(xiàn)數(shù)據(jù)的存儲、管理和處理的技術(shù)。云存儲的優(yōu)點(diǎn)是易存儲、易管理、可擴(kuò)展、高可靠性和低成本。基于以上優(yōu)勢,可以將數(shù)據(jù)轉(zhuǎn)移到云端上,使用云服務(wù)提供商(Cloud Service Provider,CSP)提供的存儲服務(wù)。但是,大數(shù)據(jù)云也面臨諸多安全威脅,如數(shù)據(jù)泄露、數(shù)據(jù)丟失、賬戶安全、拒絕服務(wù)、漏洞、共享技術(shù)等,正在影響著數(shù)據(jù)安全,因此,必須要保護(hù)數(shù)據(jù)免受未經(jīng)授權(quán)訪問和拒絕服務(wù)。
要實(shí)現(xiàn)數(shù)據(jù)的安全,就需要使用到加密技術(shù)。加密就是將原始數(shù)據(jù)轉(zhuǎn)換成無法直接讀取的形式,解密就是將編碼后的數(shù)據(jù)轉(zhuǎn)換成原始形式。通過對數(shù)據(jù)的加密,只有被授權(quán)的用戶才可以解碼原始數(shù)據(jù)。因此,數(shù)據(jù)的安全性問題是通過加密實(shí)現(xiàn)的。
本文主要目標(biāo)是通過數(shù)據(jù)加密技術(shù)實(shí)現(xiàn)對云環(huán)境的敏感數(shù)據(jù)進(jìn)行保護(hù),提出一種在云環(huán)境中的多級體系框架,通過認(rèn)證、授權(quán)、加密、解密等多種安全服務(wù),實(shí)現(xiàn)4級數(shù)據(jù)保護(hù)。多級別體系結(jié)構(gòu)見圖1。
圖1 大數(shù)據(jù)云的多級別安全體系
云環(huán)境中安全體系結(jié)構(gòu)分為4個級別。數(shù)據(jù)提供者和數(shù)據(jù)用戶需在系統(tǒng)中注冊,填寫詳細(xì)信息,登錄系統(tǒng)時需由CSP進(jìn)行認(rèn)證,這是第一級安全。CSP通過使用數(shù)據(jù)提供者的證書對數(shù)據(jù)提供者進(jìn)行授權(quán),并向授權(quán)的數(shù)據(jù)提供者提供加密密鑰,這是第二級安全。只有經(jīng)過授權(quán)的用戶才能對數(shù)據(jù)進(jìn)行加密和上傳,數(shù)據(jù)文件授權(quán)后,通過ABE/AES/ABE+AES/SDBS 4種方案中的任何一種對數(shù)據(jù)進(jìn)行加密,并上傳到云端,這是第三級安全[1]。只有經(jīng)過授權(quán)的用戶才可以訪問存儲的加密數(shù)據(jù)。作為第四級安全,授權(quán)用戶在下載數(shù)據(jù)時向CSP請求解密密鑰和動態(tài)口令(One-Time Password,OTP)。
OTP是由CSP生成的隨機(jī)數(shù),生成隨機(jī)數(shù)后向數(shù)據(jù)用戶的電子郵件ID和手機(jī)號碼進(jìn)行發(fā)送。OTP驗(yàn)證后,就可以實(shí)現(xiàn)數(shù)據(jù)文件的下載,并通過算法對收到的密鑰進(jìn)行解密,這樣用戶就可以看到數(shù)據(jù)文件了。
在多級安全架構(gòu)中,涉及的主要實(shí)體有:數(shù)據(jù)提供者、數(shù)據(jù)用戶、CSP和云服務(wù)器,具體定義如下。
1)數(shù)據(jù)提供者可以將數(shù)據(jù)存儲到大數(shù)據(jù)云服務(wù)器中。
2)數(shù)據(jù)用戶可以檢索存儲在云服務(wù)器上的數(shù)據(jù)。
3)大數(shù)據(jù)云服務(wù)器是一個存儲加密數(shù)據(jù)的數(shù)據(jù)倉庫,云服務(wù)器的容量與數(shù)據(jù)量的大小有關(guān)。
4)CSP負(fù)責(zé)驗(yàn)證數(shù)據(jù)提供者和數(shù)據(jù)用戶的登錄信息和個人憑據(jù),并負(fù)責(zé)生成OTP和加密密鑰。1.1 數(shù)據(jù)上傳階段
1)注冊階段。數(shù)據(jù)提供者需要提供用戶名、密碼、電子郵箱、手機(jī)號碼、出生日期、地址等信息,進(jìn)行注冊。
2)登錄階段。數(shù)據(jù)提供者使用用戶名和密碼登錄系統(tǒng)。
3)認(rèn)證階段。數(shù)據(jù)提供者使用用戶名和密碼登錄系統(tǒng)時,CSP對信息進(jìn)行驗(yàn)證,認(rèn)證通過即可訪問系統(tǒng)。
4)授權(quán)階段。經(jīng)過認(rèn)證的數(shù)據(jù)提供者發(fā)送上傳數(shù)據(jù)文件的請求,CSP使用數(shù)據(jù)提供者的證書進(jìn)行授權(quán),并發(fā)送加密密鑰。
5)加密階段。數(shù)據(jù)文件使用ABE/AES/ABE+AES/SDBS算法進(jìn)行加密,并由CSP發(fā)送加密信息。
6)上傳階段。所有權(quán)證明(Proof of Ownership,PoW)用于查找資源擁有者的證明,并由數(shù)據(jù)提供者將加密后的數(shù)據(jù)文件一起上傳到大數(shù)據(jù)云服務(wù)器。
1)注冊階段。數(shù)據(jù)用戶需要提供用戶名、密碼、電子郵箱、手機(jī)號碼、出生日期、地址等信息,進(jìn)行注冊。
2)登錄階段。數(shù)據(jù)用戶使用用戶名和密碼登錄到系統(tǒng)。
3)認(rèn)證階段。通過CSP驗(yàn)證數(shù)據(jù)用戶的用戶名和密碼,并通過認(rèn)證進(jìn)入系統(tǒng)。
4)授權(quán)階段。經(jīng)過CSP認(rèn)證的數(shù)據(jù)用戶可以請求下載數(shù)據(jù)文件。CSP通過使用其證書授權(quán)數(shù)據(jù)用戶,并發(fā)送解密密鑰。CSP還可以通過發(fā)送OTP到數(shù)據(jù)用戶的郵箱或手機(jī)號碼進(jìn)行授權(quán),數(shù)據(jù)用戶在授權(quán)后可以從大數(shù)據(jù)云下載數(shù)據(jù)文件。
5)下載階段。在驗(yàn)證之后,數(shù)據(jù)用戶可以下載加密的數(shù)據(jù)文件。
6)解密階段。數(shù)據(jù)用戶獲取CSP發(fā)送的解密密鑰后,使用ABE/AES/SDBS算法對下載的數(shù)據(jù)文件進(jìn)行解密,解密后的數(shù)據(jù)文件被保存到數(shù)據(jù)用戶的系統(tǒng)中。
數(shù)據(jù)提供者和數(shù)據(jù)用戶的注冊信息存儲在大數(shù)據(jù)云服務(wù)器上。
身份驗(yàn)證是第一級安全。數(shù)據(jù)提供者和數(shù)據(jù)用戶通過CSP進(jìn)行身份驗(yàn)證。如果數(shù)據(jù)提供者想要上傳數(shù)據(jù)文件,他必須使用用戶名和密碼登錄到系統(tǒng)中,登錄時CSP將數(shù)據(jù)提供者的用戶名和密碼與數(shù)據(jù)庫進(jìn)行核對和驗(yàn)證,并接受或者拒絕該請求。這是數(shù)據(jù)提供者的CSP身份驗(yàn)證或非身份驗(yàn)證。以同樣的方式,如果數(shù)據(jù)用戶想從大數(shù)據(jù)云服務(wù)器上下載數(shù)據(jù)文件,也需要用自己的用戶名和密碼登錄。CSP對數(shù)據(jù)用戶登錄信息進(jìn)行驗(yàn)證,信息驗(yàn)證正確就可以接受請求,否則就拒絕請求。這是數(shù)據(jù)用戶的CSP身份驗(yàn)證或非身份驗(yàn)證[2]。
經(jīng)過身份驗(yàn)證的數(shù)據(jù)提供者發(fā)送請求可以獲取密鑰對數(shù)據(jù)文件進(jìn)行加密。CSP將通過驗(yàn)證數(shù)據(jù)提供者的證書存儲在數(shù)據(jù)庫中,用于對數(shù)據(jù)提供者進(jìn)行授權(quán)。只有經(jīng)過授權(quán)的數(shù)據(jù)提供者才能上傳數(shù)據(jù)文件。為了下載數(shù)據(jù)文件,經(jīng)過認(rèn)證的數(shù)據(jù)用戶向CSP發(fā)送請求,以獲得下載數(shù)據(jù)文件所需的OTP和解密密鑰。CSP會核實(shí)數(shù)據(jù)用戶的憑證,并只向獲得授權(quán)的數(shù)據(jù)用戶發(fā)送OTP和密匙,以便下載數(shù)據(jù)文件,并發(fā)送密鑰對數(shù)據(jù)文件進(jìn)行解密。授權(quán)是第二級安全。
數(shù)據(jù)文件使用SDBS(Secure Dynamic Bit Standard)算法進(jìn)行加密,并由授權(quán)的數(shù)據(jù)提供者上傳到云服務(wù)器,只有合法的數(shù)據(jù)用戶才能通過OTP下載和解密文件。
SDBS一共有3個級別,即128 b,256 b和512b。當(dāng)數(shù)據(jù)提供者想要上傳一個數(shù)據(jù)文件到云服務(wù)器時,會隨機(jī)選擇任何一個級別,并將它轉(zhuǎn)換為字節(jié)。基于這個字節(jié)值,CSP將使用隨機(jī)生成器生成主密鑰和會話密鑰,主密鑰由會話密鑰加密,加密后的主密鑰和會話密鑰都將被發(fā)送給數(shù)據(jù)提供者。會話密鑰將被用來解密主密鑰,而主密鑰則用于加密數(shù)據(jù)文件。加密后的數(shù)據(jù)文件將與CSP生成的PoW一起上傳到大數(shù)據(jù)云服務(wù)器中。128位SDBS算法的加密過程見圖2。在SDBS加密過程中,有4種主要運(yùn)算操作:字節(jié)替換、行移位、列混合、輪密鑰加。
圖2 SDBS加密過程
采用密鑰調(diào)度算法(Key Schedule Algorithm,KSA)生成各輪的子密鑰,算法見圖3。
圖3 密鑰調(diào)度算法的加密過程
SDBS算法的優(yōu)點(diǎn):一是安全性高。利用混合加密技術(shù),對稱密鑰密碼用于數(shù)據(jù)加密,非對稱密鑰密碼用于密鑰生成[3]。二是效率高。由于它同時使用了對稱密鑰和非對稱密鑰加密技術(shù),因此非常安全,效率很高。三是數(shù)據(jù)完整性好。由于加密后的數(shù)據(jù)文件只能被經(jīng)過認(rèn)證的用戶解密,因此不可能修改或刪除數(shù)據(jù)文件。四是性能好。數(shù)據(jù)文件加密、解密速度快,上傳和下載的性能也是最好的。
數(shù)據(jù)用戶想下載數(shù)據(jù)時,第一步輸入數(shù)據(jù)用戶名和密碼進(jìn)行數(shù)據(jù)用戶認(rèn)證。數(shù)據(jù)用戶登錄到系統(tǒng)后,CSP就會使用證書對數(shù)據(jù)用戶進(jìn)行授權(quán)。數(shù)據(jù)用戶獲得授權(quán)后,就可以通過CSP發(fā)送的電子郵件和手機(jī)信息獲取動態(tài)口令。OTP是CSP使用隨機(jī)密碼生成器生成的16個或24個或32個字母、數(shù)字或特殊字符的組合,在OTP驗(yàn)證之后,數(shù)據(jù)用戶就可以下載數(shù)據(jù)文件,數(shù)據(jù)文件同時被密鑰解密。
需要通過PoW來識別上傳到大數(shù)據(jù)云服務(wù)器的資源所有者身份。其中包括:數(shù)據(jù)提供者ID、用戶名、上傳文件的日期和時間等信息,這些信息顯示了數(shù)據(jù)文件的來源,數(shù)據(jù)用戶在下載文件后就可以知道以上信息。
大數(shù)據(jù)云中的數(shù)據(jù)安全與數(shù)據(jù)用戶的認(rèn)證相互關(guān)聯(lián)。添加適合的安全策略,如限制數(shù)據(jù)文件的用戶訪問數(shù)量、權(quán)限等。數(shù)據(jù)的完整性也是信息安全系統(tǒng)中的一個重要部分,一般來說,這項(xiàng)服務(wù)可以保護(hù)數(shù)據(jù)不會被未經(jīng)授權(quán)的修改或刪除。
SDBS算法的性能可以通過兩種參數(shù)來分析,即加密時間和解密時間。加密時間是指完成與文件大小相對應(yīng)的加密過程所需的時間,而解密時間是完成與文件大小相對應(yīng)的解密過程所需的時間。
將基于文件大小的SDBS算法加密時間和解密時間與ABE/AES/ABE+AES算法進(jìn)行了比較,與其他技術(shù)相比,SDBS的加密和解密時間較短。該算法加密100 KB的數(shù)據(jù)文件需要0.26 s,加密1 GB的數(shù)據(jù)文件需要2.2 s;對100 KB數(shù)據(jù)文件解密時間為0.15 s,1 GB數(shù)據(jù)文件的解密時間為1.95 s。
為了分析大數(shù)據(jù)云多級安全系統(tǒng)在工作負(fù)荷逐漸增大時的工作情況,創(chuàng)建了云密鑰數(shù)據(jù)庫。數(shù)據(jù)庫創(chuàng)建開始時,會對多級安全云應(yīng)用執(zhí)行多次查詢。大數(shù)據(jù)分析查詢是從多級安全應(yīng)用報(bào)告的整個過程中選擇的,這些查詢基于上傳/下載過程的聚合查詢和分組,或基于數(shù)據(jù)文件ID、數(shù)據(jù)提供者名稱、數(shù)據(jù)用戶、電子郵件、數(shù)據(jù)文件大小、上傳和下載時間、數(shù)據(jù)文件加密和解密時間、數(shù)據(jù)提供者和數(shù)據(jù)用戶使用的字節(jié)數(shù)以及數(shù)據(jù)文件的狀態(tài)。對于每一個數(shù)據(jù)信息,查詢得到的結(jié)果都會存儲到大數(shù)據(jù)云中,大數(shù)據(jù)的分析功能可查看CSP、數(shù)據(jù)提供者和數(shù)據(jù)用戶的當(dāng)前狀態(tài)。根據(jù)以上分析,圖4為使用SDBS算法進(jìn)行數(shù)據(jù)文件上傳、下載的對比數(shù)據(jù),對每個數(shù)據(jù)提供者、數(shù)據(jù)用戶使用的總字節(jié)數(shù)和上傳、下載的數(shù)據(jù)文件進(jìn)行分類并給出結(jié)果。
圖4 基于SDBS算法的文件上傳、下載時間
本文提出了一種面向大數(shù)據(jù)云用戶的安全技術(shù)。在上傳或下載過程中,數(shù)據(jù)文件可使用不同算法進(jìn)行加密或解密,如ABE,AES,ABE+AES和SDBS,本文提出的SDBS算法,在提高數(shù)據(jù)文件存儲安全性的同時,增加對共謀攻擊、暴力破解攻擊、結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)注入攻擊等云攻擊的防護(hù)能力,加密和解密數(shù)據(jù)文件所用時間會更短[4]。與其他算法相比,本文提出的SDBS算法對數(shù)據(jù)文件具有數(shù)據(jù)保密性好、存儲安全性高、數(shù)據(jù)不會丟失等優(yōu)點(diǎn)。