李能能 徐希煒 李丹陽(yáng)
摘要:在數(shù)據(jù)存儲(chǔ)至云服務(wù)器的過(guò)程中,數(shù)據(jù)被非法訪問(wèn)以及密鑰極易被破解的安全性問(wèn)題成為限制其發(fā)展的主要問(wèn)題。對(duì)此,本文提出了一種基于RSA一次一密加密策略的可信第三方平臺(tái)數(shù)據(jù)安全方案,該方案的核心是通過(guò)RSA一次一密加密技術(shù)實(shí)現(xiàn)密鑰的實(shí)時(shí)更新,并且通過(guò)可信第三方平臺(tái)實(shí)現(xiàn)對(duì)密鑰的管理。理論分析以及實(shí)驗(yàn)表明,本方案增大了非法用戶破解密鑰的難度,降低了數(shù)據(jù)被非法訪問(wèn)的可能性。
關(guān)鍵詞:可信第三方平臺(tái);RSA加密算法;一次一密;logistic映射
中圖分類號(hào):TP309? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)16-0009-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
近年來(lái),隨著云計(jì)算和大數(shù)據(jù)的快速發(fā)展,將數(shù)據(jù)存儲(chǔ)到云服務(wù)器進(jìn)行管理的企業(yè)、組織和個(gè)人的數(shù)量成爆發(fā)式增長(zhǎng),這主要?dú)w因于云計(jì)算具有可存儲(chǔ)大量數(shù)據(jù)和運(yùn)算速率高的特點(diǎn)。但是,云計(jì)算在廣泛被使用的同時(shí),安全隱患也越來(lái)越突出。與此同時(shí),各個(gè)服務(wù)商由于管理制度的差異,提供的服務(wù)水平也存在著很大的不同,用戶也無(wú)法判斷具體哪一個(gè)服務(wù)商更加可靠[1]。在2012底,著名的VMware企業(yè)公布了第三次云熱度調(diào)查的統(tǒng)計(jì)結(jié)果,有將近70%的用戶拒絕采用云服務(wù),他們不使用云服務(wù)的主要原因是擔(dān)心云服務(wù)器會(huì)將自己的數(shù)據(jù)泄露,對(duì)數(shù)據(jù)的安全性造成威脅。
上述內(nèi)容表明,數(shù)據(jù)的安全與隱私為題已經(jīng)嚴(yán)重阻礙到了云服務(wù)的發(fā)展[2]。另一方面,在數(shù)據(jù)存儲(chǔ)至云端后,云服務(wù)商擁有過(guò)大的權(quán)限,用戶對(duì)服務(wù)商的不信任感也大大增加。針對(duì)上述提出的兩種問(wèn)題,本文在分析云計(jì)算發(fā)展現(xiàn)狀的基礎(chǔ)上提出了一種基于RSA一次一密加密技術(shù)和可信第三方平臺(tái)的云數(shù)據(jù)安全方案。通過(guò)該種方案,既解決了非法盜取數(shù)據(jù)密鑰的問(wèn)題,也解決了云服務(wù)商權(quán)限過(guò)大的問(wèn)題[3]。另外,可信第三方平臺(tái)除了可以管理密鑰和存儲(chǔ)用戶的信息的功能,還具有記錄數(shù)據(jù)和訪問(wèn)信息的功能,將生成的記錄與云服務(wù)商的記錄做對(duì)比,在數(shù)據(jù)被非法訪問(wèn)時(shí)能及時(shí)發(fā)現(xiàn)[4]。
1 可信第三方平臺(tái)
1.1 RSA一次一密加密技術(shù)
RSA一次一密加密技術(shù)是在RSA加密算法的基礎(chǔ)上同時(shí)增加了一對(duì)加密密鑰和解密密鑰(e0,d0),在數(shù)據(jù)被加密解密一次后,該算法就會(huì)通過(guò)迭代函數(shù)生成一對(duì)新的加密密鑰和解密密鑰(e1,d1),這種生成過(guò)程并非和傳統(tǒng)算法相同,不是通過(guò)生成大素?cái)?shù)來(lái)生成密鑰。
該種一次一密加密算法可以理解為當(dāng)我們使用RSA加密算法老對(duì)數(shù)據(jù)進(jìn)行加密時(shí),并不是將所有的密鑰進(jìn)行一次性的生成,來(lái)永久的加密數(shù)據(jù),而是當(dāng)用戶每訪問(wèn)一次數(shù)據(jù),就得密鑰在使用過(guò)后就會(huì)失效,這是,算法就會(huì)自動(dòng)生成一對(duì)新的密鑰(en,dn)。通過(guò)en來(lái)重新對(duì)數(shù)據(jù)進(jìn)行加密,并將新的解密密鑰傳送至數(shù)據(jù)屬主或者云端上,等用戶訪問(wèn)者通過(guò)驗(yàn)證之后才可以得到來(lái)解密數(shù)據(jù)。但是,每一次加密結(jié)束之后,必須確保e0和d0的和能夠被n整除,為了使加密解密能夠完整無(wú)誤,在初始化時(shí)可以使e0=n-d0。具體加密過(guò)程如下[8]。
第一步是密鑰的生成:
(1)由算法選取兩個(gè)素?cái)?shù) p 和 q,計(jì)算 n=pq,保密p 和 q,公開(kāi)n 。
(2)計(jì)算 Φ(n)=(p-1)(q-1), 任取一個(gè)值使得 2 ≤ e ≤ Φ(n)成立,且gcd(e, Φ(n))=1, e為算法的加密密鑰,且該密鑰是公開(kāi)的。
(3)計(jì)算d,使 ed=1(mod(Φ(n)), 稱d 為e對(duì)模Φ(n) 的逆,其中d為算法的解密秘鑰,該密鑰是保密的。
(4)按照如下方法初始化 e0,d0。
利用 Logistic 映射產(chǎn)生的混沌序列來(lái)將e0和d0初始化,e0(2≤ e0 Logistic映射的離散模型為 : 研究表明,在Logistic 映射中μ的取值從3逐漸趨向4時(shí),由Logistic 映射產(chǎn)生的序列周期通向混沌,只要給定的μ值在合適的取值范圍內(nèi),就能夠產(chǎn)生一個(gè)序列是趨向于混沌的。 (5)將 {e,e0,n} 設(shè)為加密算法的公開(kāi)密鑰,{d,d0} 設(shè)為私密密鑰。 第二步是使用密鑰對(duì)數(shù)據(jù)進(jìn)行加密: 在加密時(shí),首先應(yīng)將所得到的明文比特串進(jìn)行分組,使得分得的每一個(gè)小組所對(duì)應(yīng)的十進(jìn)制數(shù)都小于n,即分組后每組的長(zhǎng)度都小于log2n,然后加密每一個(gè)明文分組m: 最后一步,進(jìn)行解密,過(guò)程為: 在此過(guò)程中,密鑰實(shí)現(xiàn)動(dòng)態(tài)性改變:先生成隨機(jī)的整數(shù)z。待所有的分組的明文都加密結(jié)束后,利用(4)中的迭代函數(shù)使e0發(fā)生改變: 等到所有的密文分組都完成加密之后,利用公式(5)中的迭代函數(shù)使d0發(fā)生改變: 1.2 基于RSA一次一密的可信第三方平臺(tái)的設(shè)計(jì)思路 傳統(tǒng)的RSA加密算法只使用于云端和客戶端之間,具體的流程可以簡(jiǎn)述為: (1)當(dāng)用戶將自己的數(shù)據(jù)存儲(chǔ)于云服務(wù)器時(shí),首先會(huì)產(chǎn)生一對(duì)密鑰; (2)將公鑰1和用戶傳輸?shù)臄?shù)據(jù)一并發(fā)送至云服務(wù)器,使用云服務(wù)器對(duì)數(shù)據(jù)進(jìn)行加密,并存儲(chǔ)密鑰; (3)客戶端保對(duì)私鑰進(jìn)行自行保存; (4)當(dāng)其他用戶想要查看數(shù)據(jù)時(shí),系統(tǒng)將利用算法自行生成一對(duì)新的私鑰和公鑰,然后將生成的新的公鑰的舊的私鑰一并發(fā)送至云服務(wù)器,新的私鑰傳輸至密鑰管理模塊進(jìn)行存儲(chǔ); (5)使用舊的私鑰對(duì)數(shù)據(jù)進(jìn)行解密,將解密后的數(shù)據(jù)提供給數(shù)據(jù)訪問(wèn)者訪問(wèn),然后再將云服務(wù)器保存的數(shù)據(jù)用新的公鑰加密成密文。 通過(guò)RSA一次一密加密技術(shù),達(dá)到了用戶只獲得私鑰仍無(wú)法對(duì)數(shù)據(jù)進(jìn)行解密的效果,如果該用戶屬于非法用戶,那么就無(wú)法解密數(shù)據(jù),因?yàn)楫?dāng)前的數(shù)據(jù)已有新公鑰加密,但是能夠加密當(dāng)前數(shù)據(jù)的最新私鑰并未發(fā)送給服務(wù)器,所以無(wú)權(quán)限用戶不能獲得[10-12]。 本文中提出的基于RSA一次一密和可信第三方平臺(tái)的安全方案,不僅可以保留可信第三方平臺(tái)在使用過(guò)程中自身所具備的優(yōu)勢(shì),在此基礎(chǔ)上也增加了RSA一次一密加密技術(shù)的優(yōu)點(diǎn),使得密鑰更難破解,從而阻止非法用戶訪問(wèn)數(shù)據(jù)。 1.2 基于RSA一次一密的可信第三方平臺(tái)的工作流程 在該方案中,用戶對(duì)數(shù)據(jù)進(jìn)行安全管理時(shí),第一步是利用RSA一次一密加密算法生成一對(duì)密鑰,使用密鑰加密數(shù)據(jù),之后再對(duì)于用戶的每次訪問(wèn),都會(huì)改變之前使用的密鑰,生成新密鑰替換掉原來(lái)的舊密鑰,使用新密鑰重新加密被訪問(wèn)過(guò)后的數(shù)據(jù)。在此過(guò)程中,所有的密鑰由可信第三方平臺(tái)進(jìn)行儲(chǔ)存,通過(guò)可信第三方的密鑰管理模塊對(duì)密鑰進(jìn)行管理,不需要經(jīng)由云服務(wù)商進(jìn)行操作。 具體上傳下載過(guò)程如下: 在用戶將數(shù)據(jù)上傳至云端時(shí),先連接客戶端和可信第三方平臺(tái),驗(yàn)證用戶身份,驗(yàn)證通過(guò)后可將數(shù)據(jù)進(jìn)行上傳。如果檢測(cè)用戶上傳的是新的數(shù)據(jù),就將上傳的新的數(shù)據(jù)記錄添加到數(shù)據(jù)庫(kù)中,如果用戶想要對(duì)原有的數(shù)據(jù)進(jìn)行修改,則先驗(yàn)證用戶的身份。當(dāng)用戶通過(guò)身份驗(yàn)證之后就需要在可信第三方平臺(tái)通過(guò)RSA一次一密加密技術(shù),按照上述加密流程,使用新密鑰對(duì)數(shù)據(jù)進(jìn)行加密解密和對(duì)密鑰進(jìn)行管理。 下載數(shù)據(jù)時(shí),首先將客戶端與可信第三方平臺(tái)建立連接,在連接之后驗(yàn)證用戶身份,驗(yàn)證通過(guò)后可以對(duì)目標(biāo)數(shù)據(jù)進(jìn)行下載。同樣,根據(jù)上述RSA一次一密加密技術(shù),先獲得解密密鑰對(duì)數(shù)據(jù)進(jìn)行解密,在讀取數(shù)據(jù)之后再用新生成的密鑰對(duì)數(shù)據(jù)進(jìn)行重新加密。被解密的數(shù)據(jù)傳送至客戶端以備客戶端來(lái)進(jìn)行訪問(wèn)。 2 仿真實(shí)驗(yàn) 本文是在Inter Core 1.73 GHz的CPU,4.00GB的內(nèi)存中,操作系統(tǒng)為windows 10,在VMware Workstation10.5.2 上安裝了 Ubuntu 16.10,以此來(lái)建立虛擬環(huán)境,分配2GB內(nèi)存來(lái)進(jìn)行實(shí)驗(yàn)。在該環(huán)境中通過(guò)對(duì)云服務(wù)器中的數(shù)據(jù)進(jìn)行訪問(wèn)和修改,測(cè)試實(shí)施本文方案前后數(shù)據(jù)被修改成功的概率。 實(shí)驗(yàn)一:在該實(shí)驗(yàn)中,對(duì)總量為N的數(shù)據(jù)塊進(jìn)行惡意修改,只修改其中的k塊,然后對(duì)當(dāng)N數(shù)量相同但是攻擊塊數(shù)k不同和總塊數(shù)N不同單數(shù)攻擊塊數(shù)K相同的情況分別進(jìn)行比較。結(jié)果如上圖,由上圖可以看出當(dāng)N相同,k不同時(shí),k越大,數(shù)據(jù)被修改成功的概率越大;當(dāng)N越大但是保持k變時(shí),數(shù)據(jù)被修改成功的概率也越大。 實(shí)驗(yàn)二:在實(shí)驗(yàn)一得出的結(jié)論的基礎(chǔ)上,設(shè)置1000塊數(shù)據(jù)塊的總量,分別對(duì)這其中的5、10、20、50、100、150、200、500塊數(shù)據(jù)塊惡意修改。在修改成功率為100%的基礎(chǔ)上,分別對(duì)圖中標(biāo)明的三種不同保護(hù)措施的情況下進(jìn)行數(shù)據(jù)修改成功率比較,實(shí)驗(yàn)結(jié)果如上圖所示。本實(shí)驗(yàn)表明,本文提出的方案數(shù)據(jù)修改成功率更低,數(shù)據(jù)的安全性也就越高。 3 結(jié)束語(yǔ) 本文中提出的數(shù)據(jù)安全性方案,一方面增大了密鑰的破解難度,保障數(shù)據(jù)的安全性,另一方面消減了云服務(wù)供應(yīng)商的權(quán)限。所以,本文提出的數(shù)據(jù)安全方案能夠充分保障數(shù)據(jù)的安全。 參考文獻(xiàn): [1] 吳翰清.白帽子講Web安全[M].北京:電子工業(yè)出版社, 2012. [2] 劉建毅,王樅,薛向東.云存儲(chǔ)安全分析[J].中興通訊技術(shù),2012,18(06):30-33. [3] 吳旭東.云計(jì)算數(shù)據(jù)安全研究[J].信息網(wǎng)絡(luò)安全,2011,09:38-40. [4] 韓司.基于云存儲(chǔ)的數(shù)據(jù)安全共享關(guān)鍵技術(shù)研究[D].北京郵電大學(xué),2015. [5] 楊波,何德全.現(xiàn)代密碼學(xué)[M].北京: 清華大學(xué)出版社,2005.4-96 [6] 范九倫,張雪鋒.分段Logistic混沌映射及其性能分析[J].電子學(xué)報(bào),2009,04:720-725. [7] 呂金虎.混沌時(shí)間序列分析及其應(yīng)用[M].武漢:武漢大學(xué)出版社,2002.11-14. [8] 張蓓,孫世良.基于RSA的一次一密加密技術(shù)[J].計(jì)算機(jī)安全,2009,03:53-55. [9] 王威,吳羽翔,金鑫,等.基于可信第三方的公有云平臺(tái)的數(shù)據(jù)安全存儲(chǔ)方案[J].信息網(wǎng)絡(luò)安全,2014,02:68-74. [10] 譚勵(lì),胡計(jì)鵬,楊明華,等.基于完整性度量的端到端可信匿名認(rèn)證協(xié)議[J].計(jì)算機(jī)應(yīng)用研究,2017,(06):1-6. [11] 丁潔,林志陽(yáng),沈荻帆.淺談無(wú)可信第三方的身份認(rèn)證協(xié)議[J]. 科技創(chuàng)新與應(yīng)用,2016,(10):57-58. [12] 懷特.Hadoop權(quán)威指南 [M].北京:清華大學(xué)出版社, 2010. 【通聯(lián)編輯:唐一東】