陳旭 王朝斌 廖彬宇 陸旭
摘要:在虛擬云服務(wù)器存儲(chǔ)時(shí)代,由于所有用戶都會(huì)訪問虛擬服務(wù)器中的資源,并且需要將用戶的數(shù)據(jù)安全地存儲(chǔ)在虛擬服務(wù)器中,因此云安全問題促進(jìn)了很多安全性保障方法的產(chǎn)生.虛擬數(shù)據(jù)安全是云服務(wù)器中所有安全問題中最重要的部分,可以通過密碼算法來保證機(jī)密性,數(shù)據(jù)在發(fā)送到虛擬云服務(wù)器之前進(jìn)行加密.而密碼算法是為了避免攻擊者并且保護(hù)數(shù)據(jù)而產(chǎn)生的,目前廣泛使用的是非對(duì)稱密碼術(shù),也稱為公鑰密碼術(shù),而RSA密碼是非對(duì)稱密碼中的著名算法之一.本文在傳統(tǒng)RSA算法的基礎(chǔ)上使用參數(shù)替換來隱藏公鑰,避免了黑客對(duì)密碼的直接攻擊,增加了破解難度,保障了虛擬服務(wù)器存儲(chǔ)的安全性.
關(guān)鍵詞:虛擬服務(wù)器;RSA算法;加密解密;參數(shù)替換
中圖分類號(hào):TP309? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):1673-260X(2019)01-0054-03
0 引言
虛擬云服務(wù)器存儲(chǔ)架構(gòu)是以分布式方式收集相互關(guān)聯(lián)信息的系統(tǒng),并提供諸如硬件、軟件、應(yīng)用程序、內(nèi)存、操作系統(tǒng)等共享資源.目前,在傳統(tǒng)的云服務(wù)器存儲(chǔ)模式中,用戶計(jì)算機(jī)的主要作用是計(jì)算、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)分析與處理.用戶的計(jì)算機(jī)與數(shù)據(jù)和所有軟件集成在一起,隨著數(shù)據(jù)大小和計(jì)算復(fù)雜度呈指數(shù)級(jí)增長(zhǎng),用戶系統(tǒng)的計(jì)算效率會(huì)受到損失.由于大多數(shù)互聯(lián)網(wǎng)用戶需要更多的存儲(chǔ)空間來存儲(chǔ)個(gè)人數(shù)據(jù),因此他們轉(zhuǎn)向使用云[1].安全性是云存儲(chǔ)的主要問題,數(shù)據(jù)安全和隱私,身份和訪問管理,災(zāi)難恢復(fù)/業(yè)務(wù)連續(xù)性規(guī)劃等是一些安全問題,這些問題在虛擬云服務(wù)器存儲(chǔ)環(huán)境中變得更加嚴(yán)重,因?yàn)閿?shù)據(jù)分散在不同的機(jī)器和存儲(chǔ)設(shè)備中,包括服務(wù)器,PC和各種移動(dòng)設(shè)備.此外,全球各行業(yè)的擴(kuò)張需要在世界各地能夠共享數(shù)據(jù)庫(kù),而虛擬云服務(wù)器存儲(chǔ)系統(tǒng)則可以有效解決該問題.虛擬云服務(wù)器存儲(chǔ)使軟件應(yīng)用程序,部署平臺(tái)甚至計(jì)算資源都可以使用按工作單位付費(fèi)模式按需提供.這在近年來引起了人們對(duì)這個(gè)領(lǐng)域的極大關(guān)注,任何用戶都可以共享云中的資源,但其中有許多安全問題受到挑戰(zhàn),所以我們需要保障云系統(tǒng)的安全性.
1 云服務(wù)器的虛擬化
云服務(wù)器虛擬化:就是把一臺(tái)服務(wù)器其中的硬件資源按照邏輯結(jié)構(gòu)分成幾臺(tái)有著相互獨(dú)立功能的服務(wù)器,或是把若干臺(tái)服務(wù)器組合成一臺(tái)服務(wù)器來使用.云服務(wù)器的虛擬化實(shí)現(xiàn)了多個(gè)虛擬機(jī)在單個(gè)服務(wù)器上的運(yùn)行,并且完成了對(duì)硬件資源的抽象.云服務(wù)器的虛擬化為虛擬機(jī)提供了安全措施與良好的運(yùn)行環(huán)境,從而保證了在虛擬機(jī)下的數(shù)據(jù)傳輸和資源共享.
虛擬云服務(wù)器存儲(chǔ)以靈活和可擴(kuò)展的方式為管理互聯(lián)網(wǎng)基礎(chǔ)架構(gòu)提供了經(jīng)濟(jì)高效的解決方案[2],而同時(shí)虛擬云服務(wù)器存儲(chǔ)中的數(shù)據(jù)安全性比傳統(tǒng)信息系統(tǒng)中的數(shù)據(jù)安全性更復(fù)雜.所以在云服務(wù)器虛擬化中,應(yīng)用密碼學(xué)是保障虛擬云服務(wù)器存儲(chǔ)中云計(jì)算安全性的最佳解決方案之一.
2 虛擬云服務(wù)器安全的影響因素
2.1 對(duì)物理設(shè)備的非法控制
在通信雙方發(fā)送消息的過程中,如果攻擊者通過對(duì)物理設(shè)備的遠(yuǎn)程非法控制從而得到了對(duì)物理層設(shè)備的控制權(quán)限,那么攻擊者就可以隨意地對(duì)設(shè)備和虛擬服務(wù)器下的網(wǎng)絡(luò)環(huán)境進(jìn)行操作,進(jìn)而可能破壞整個(gè)網(wǎng)絡(luò)系統(tǒng).
2.2 對(duì)虛擬機(jī)遷移的威脅
在虛擬服務(wù)器下的網(wǎng)絡(luò)環(huán)境下,服務(wù)器中存在大量數(shù)據(jù),虛擬機(jī)的遷移可能會(huì)造成在各種復(fù)雜的網(wǎng)絡(luò)環(huán)境中,信息通信或數(shù)據(jù)傳輸易遭受中間人攻擊,造成虛擬機(jī)信息的泄露或篡改,導(dǎo)致大量的私密信息泄露,用戶的信息被竊取,網(wǎng)絡(luò)中的信息傳輸受到嚴(yán)重影響,極大地威脅了網(wǎng)絡(luò)環(huán)境,因此如何在虛擬機(jī)遷移過程中保護(hù)的服務(wù)器數(shù)據(jù)的安全性是一個(gè)急需解決的問題.
2.3 對(duì)虛擬管理的威脅
虛擬服務(wù)器的網(wǎng)絡(luò)環(huán)境中,中間攻擊者可能通過范圍虛擬管理通信信息的方式來改變虛擬服務(wù)器環(huán)境下的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其中可以具體破壞虛擬網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)設(shè)備端口以及VLAN之間的映射關(guān)系,進(jìn)而威脅虛擬服務(wù)器.
3 虛擬網(wǎng)絡(luò)技術(shù)
在密碼學(xué)中,加密與解密也是安全通信的重要組成部分.密碼學(xué)中定義:加密是將純文本轉(zhuǎn)換為密文的過程,解密是加密的逆過程,即在另一端將密文轉(zhuǎn)換為純文本,這個(gè)過程稱為解密.于是也就有兩種類型的密碼算法,即對(duì)稱密碼學(xué)和非對(duì)稱密碼學(xué).最初未加密的數(shù)據(jù)被視為普通文本.對(duì)稱密碼學(xué)在加密和解密過程中使用的密鑰都是一致的,而非對(duì)稱密碼學(xué)則使用公鑰和私鑰.其中Rivest Shamir Adleman(RSA)是最著名的非對(duì)稱密碼體制[3].本文基于傳統(tǒng)RSA算法而提出改進(jìn)方法來提升虛擬云服務(wù)器存儲(chǔ)云環(huán)境中數(shù)據(jù)的安全性.而同時(shí)虛擬網(wǎng)絡(luò)技術(shù)能夠保障網(wǎng)絡(luò)中的信息安全,其算法改進(jìn)過程中主要用到以下2種:
3.1 加密技術(shù)
加密技術(shù)是一種不可獲取的技術(shù),它是虛擬網(wǎng)絡(luò)技術(shù)中非常重要的技術(shù)之一,加密技術(shù)能夠保護(hù)計(jì)算機(jī),避免網(wǎng)絡(luò)中一些非法用戶的入侵,保護(hù)用戶的信息和數(shù)據(jù),防止不必要的損失.
3.2 解密技術(shù)
在消息發(fā)送方針對(duì)消息加密后,接收方接收到消息輸入加密后的密文,輸入解密密鑰,對(duì)密文進(jìn)行解密,輸出解密后明文.
4 RSA算法的數(shù)學(xué)背景
云服務(wù)器虛擬化中,密碼學(xué)中的RSA算法是保障云計(jì)算安全性的最佳方法之一.密碼學(xué)中RSA算法由三部分組成:第一部分是用來作為密鑰加密和解密數(shù)據(jù)的密鑰生成部分,在這個(gè)階段會(huì)生成加密密鑰和解密密鑰,即公鑰和私鑰,公鑰被公開以供所有消息發(fā)送方加密信息,私鑰被消息接收方秘密保存,不對(duì)外公開;第二部分是加密部分,消息接收方把公鑰公開給消息發(fā)送方,然后消息發(fā)送方利用公鑰把明文轉(zhuǎn)換為密文;最后一部分是解密,消息接收方接收到密文后利用私鑰把密文轉(zhuǎn)換為純文本[4]:
4.1 密鑰生成算法
(1)首先隨機(jī)選取兩個(gè)互不相同的大素?cái)?shù),假定其為p和q.
(2)然后計(jì)算模數(shù)n=p*q,歐拉函數(shù)?椎(n)=(p-1)*(q-1),歐拉函數(shù)為小于n且與n互質(zhì)的數(shù)的個(gè)數(shù).
(3)在范圍(1,?椎(n))之間選取一個(gè)隨機(jī)數(shù)e作為公鑰,并且e滿足gcd(e,?椎(n))=1.
(4)然后利用隨機(jī)數(shù)e和歐拉函數(shù)?椎(n)計(jì)算私鑰d,ed≡1mod(e,?椎(n)).
到此密鑰生成算法結(jié)束,然后把(e,n)公開作為公鑰,(d,n)作為私鑰,開始執(zhí)行加密和解密算法.
4.2 加密算法
假設(shè)消息發(fā)送方的明文為M,消息加密后的密文為C,利用公鑰對(duì)明文進(jìn)行加密,那么密文C=Memod(n).
4.3 解密算法
消息接收方收到密文后使用私鑰,對(duì)收到的密文解密,M=Cemod(n).
5 改進(jìn)的RSA算法
由于公鑰是用于加密的,并且公鑰是公開的,所以黑客可以使用強(qiáng)力方法來破解公鑰而獲得p和q,進(jìn)而獲得歐拉函數(shù)?椎(n),最后計(jì)算出私鑰.又由于在虛擬云服務(wù)器中,云計(jì)算處于開放環(huán)境下工作,當(dāng)我們?cè)谠品?wù)器中上傳或存儲(chǔ)數(shù)據(jù)時(shí),云服務(wù)器平臺(tái)中有許多用戶想要訪問文件或數(shù)據(jù),為了數(shù)據(jù)的安全性,只有授權(quán)用戶才能訪問文件.此外當(dāng)用戶共享一個(gè)文件給客戶端或其他用戶時(shí),暴力攻擊者可以破解該文件并且未經(jīng)授權(quán)的用戶也可以嘗試訪問文件.因此,當(dāng)我們上傳下載和共享文件時(shí),需要安全算法或加密技術(shù)來保障文件和數(shù)據(jù)的安全性.為了避免攻擊者對(duì)公鑰的直接攻擊,本文利用參數(shù)替換法隱藏公鑰,算法過程如下[5].
5.1 密鑰生成過程
(1)隨機(jī)選擇4個(gè)互不相同的大素?cái)?shù),假定為p,q,r和s,計(jì)算模數(shù)n=p*q*r*s,再計(jì)算歐拉函數(shù)?漬(n)=(p-1)*(q-1)*(r-1)*(s-1);
(2)隨機(jī)選擇一個(gè)正整數(shù)e,并且e要滿足gcd(e,?漬(n))=1和1<e<?漬(n);
(3)利用正整數(shù)e和歐拉函數(shù)?漬(n)計(jì)算私鑰d,ed≡1mod?漬(n);
(4)此時(shí)需要生成一個(gè)新模數(shù)來隱藏原來的模數(shù),假定新的模數(shù)為y,替換原則如下:如果p>q,則y滿足n-p<y<n,gcd(y,n)=1;如果q>p,則y滿足n-q<y<n,gcd(y,n)=1.
(5)最后新模數(shù)y代替原來的模數(shù)n作為公鑰和私鑰,現(xiàn)在公鑰為(e,y),私鑰為(d,y);
5.2 加密過程
消息發(fā)送方收到消息接收方公開的公鑰之后,使用公鑰(e,y)對(duì)消息進(jìn)行加密,C≡Memody.
5.3 解密過程
消息接收方收到消息發(fā)送方傳輸?shù)拿芪暮?,使用私鑰(d,y)對(duì)消息進(jìn)行解密,M≡Cemody
5.4 安全性分析
虛擬云服務(wù)器中數(shù)據(jù)安全是重中之重,同時(shí)也是保障正常運(yùn)行的基礎(chǔ)條件.目前的方法是利用RSA密碼對(duì)數(shù)據(jù)進(jìn)行加密,而破解密碼所花的時(shí)間越多,則說明該密碼體制越安全.在文獻(xiàn)[5]中已通過實(shí)驗(yàn)證明,對(duì)傳統(tǒng)RSA算法和改進(jìn)RSA算法進(jìn)行暴力攻擊,在10bit素?cái)?shù)情況下,破解傳統(tǒng)RSA算法需要6.151s,破解改進(jìn)的RSA算法需要35.204s,可以知道破解改進(jìn)算法所花的時(shí)間大約是傳統(tǒng)算法的5.72倍[5],當(dāng)素?cái)?shù)比特位越大,改進(jìn)算法和傳統(tǒng)算法的破解時(shí)間差距也會(huì)越大.
6 結(jié)論
本文介紹的算法表明,在公鑰密碼算法中使用參數(shù)替換可以提高安全性.在使用參數(shù)替換之后,可以避免攻擊者對(duì)密鑰的直接攻擊,同時(shí)黑客很難直接通過暴力攻擊來找出密鑰,增加了破解的難度,因此該算法比傳統(tǒng)的RSA算法更安全.將參數(shù)替換后的RSA算法應(yīng)用于雙方發(fā)送消息的過程中,只有通過身份驗(yàn)證的用戶才能訪問文件或數(shù)據(jù),所以這種方法保障了數(shù)據(jù)在虛擬云服務(wù)器上傳和下載時(shí)的安全性.
參考文獻(xiàn):
〔1〕Rajan S Jamgekar, Geeta Shantanu Joshi, “File Encryption and Decryption using Secure RSA”, International Journal of Emerging Science and Engineering (IJESE) ISSN: 2319–6378, Volume-1, Issue-4, February 2013.
〔2〕Gaurav R. Patel, Prof. Krunal Panchal, Sarthak R. Patel, “A Comprehensive Study on Various Modifications in RSA Algorithm”, International Journal of Engineering Development and Research. ISSN: 2321-9939.
〔3〕Pallav Sharma, Varsha Sharma, Sanjeev Sharma and Jitendra Agrawal, “Data Protection in Clouds using Two Stage Encryption”, International Journal of Grid Distribution Computing, 8, 269-276, 2015.
〔4〕Yunchuan Sun, Junsheng Zhang, Yongping Xiong, Guangyu Zhu, “Data Security and Privacy in Cloud Computing”,International Journal of Distributed Sensor Networks, doi.10.1155/2014/190903, 2014.
〔5〕周金治,高磊.基于多素?cái)?shù)和參數(shù)替換的改進(jìn)RSA算法研究[J].計(jì)算機(jī)應(yīng)用研究,2019(02):1-6[2018-05-16].
〔6〕Nandita Sengupta,’’Designing of Hybrid RSA Encryption Algorithm for Cloud Security”, International Journal of Innovative Research in Computer and Communication Engineering, 3, 4146-4152, 2015.
〔7〕M Ghazali Kamardan,N Aminudin,Norziha Che-Him,Suliadi Sufahani,Kamil Khalid,Rozaini Roslan. Modified Multi Prime RSA Cryptosystem[J]. Journal of Physics: Conference Series,2018,995(1).
〔8〕Panda P K, Chattopadhyay S, Panda P K, et al. A hybrid security algorithm for RSA cryptosystem[C]// International Conference on Advanced Computing and Communication Systems. 2017:1-6.
〔9〕Boneh D.Twenty Years of Attacks on the RSA Cryptosystem[J].Notices of the American Mathematical Society (AMS),1999,46(2):203-213.
〔10〕JIANG ZHONGPIN. A note on chaotic secure communication systems[J]. IEEE Transactions on Circuits System, 2002, 49(1):92- 96(in Chinese).
〔11〕陳春玲,齊年強(qiáng),余瀚.RSA算法的研究和改進(jìn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(8):48-51.