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