李能能 徐希煒 李丹陽

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