余麗萍,朱 亮,雷婷婷
(鄭州輕工業(yè)大學,河南 鄭州 450001)
伴隨著云計算時代的來臨,全球云盤市場將受到更大的安全挑戰(zhàn)。5G、云計算技術推動了云盤行業(yè)的快速發(fā)展,據(jù)數(shù)據(jù)統(tǒng)計,2020年中國云計算(Infrastructure as a Service,IaaS)市場規(guī)模約達895億元。市場發(fā)展日趨成熟,配套設施不斷完善。以云計算為基礎的云盤服務也不斷發(fā)展,5G技術的高速率傳播特性能夠優(yōu)化云盤體驗,驅(qū)動云盤市場發(fā)展[1]。個人云盤使得用戶的應用場景豐富化,并提升用戶的工作、生活效率。個人云盤將進一步取代個人計算機(Personal Computer, PC)的核心地位,成為人們工作和生活的主要工具[2]。此外,個人云盤與智慧家居、5G生活、虛擬現(xiàn)實(Virtual Reality, VR)技術等相結(jié)合,極大地改變了用戶的生活方式,打造了一個智能化的人類文明社會。企業(yè)云盤的投入使用能促進企業(yè)數(shù)字經(jīng)濟的發(fā)展,提高企業(yè)的工作效率,為企業(yè)帶來豐富的云上資源,促進企業(yè)高質(zhì)量發(fā)展。云存儲系統(tǒng)能夠解決當前普遍存在的數(shù)據(jù)資源安全存儲、便捷快速共享等問題,使內(nèi)容安全性得到保障[3-4]。
本文主要設計了一套私有云平臺的總體構建方案,提出了基于(Rivest-Shamir-Adleman, RSA)加密算法的私有云平臺架構,并通過響應速度、并發(fā)壓力、文件下載速度3個方面對私有云平臺的性能進行了測試。
國內(nèi)個人云盤行業(yè)主要以免費的網(wǎng)盤服務吸引用戶并培育市場,2011年廣州市政府提倡建設智慧城市,國內(nèi)三大運營商快速開發(fā)自己的私有云存儲空間。例如:中國聯(lián)通2012年推出的“悅云”、中國電信2013年推出的“天翼云”、中國移動2014年推出的“彩云”。為了推進上云時代的到來,三大運營商決定無論使用哪個運營商的電話號碼都可以進行注冊、登錄,極大地方便了廣大用戶對私有云平臺的使用。直到2016年的關停潮,其他的云盤廠商開始積極嘗試探索新的商業(yè)模式,逐漸發(fā)展為以付費為主的云平臺服務,用戶如果想使用云存儲空間的額外大小和下載速度,需要付費才能全速下載。截至2021年,中國個人云盤市場交易規(guī)模預計達24億元,同比增長42%[6]。隨著疫情的到來,從2020年起企業(yè)逐漸支持線上辦公,上班群體的需求逐漸增大,用戶不僅需要在家里進行移動辦公,而且還要做到文件數(shù)據(jù)同步到公司數(shù)據(jù)庫,激發(fā)了云盤市場的增量化以及對私有云平臺的迫切需求。截至2021年1月,百度網(wǎng)盤約占市場份額比的85%,行業(yè)已經(jīng)趨顯寡頭化,但是隨著個人云盤行業(yè)的活躍用戶在波動中緩慢擴大,阿里云盤快速興起,同時也出現(xiàn)了其他各式各樣的私有云平臺。
2002年RapidShare成立,它是全球最早的網(wǎng)盤產(chǎn)品。2007年開始轉(zhuǎn)型為云盤企業(yè),使用企業(yè)級用戶超過2 000萬。美國憑借其較先進的信息技術,最早提出“云文件”的研究概念。谷歌在2006年已經(jīng)提出云計算的概念,之后主流的IT廠家均推進了云計算和私有云平臺的服務和應用,例如:Google的Cloud Storage云盤,亞馬遜的簡單儲存服務(Amazon Simple Storage Service, Amazon S3),EMC的EMC Atmos 云存儲平臺,微軟云存儲skydrive,IBM企業(yè)級的云計算技術和服務組合IBM SmartCloud[5]。2020年以來,私有云平臺市場的用戶量呈指數(shù)型快速增長,推動了全球私有云市場規(guī)模的發(fā)展。面對龐大的市場需求,大型的互聯(lián)網(wǎng)企業(yè)紛紛推出自己的云存儲產(chǎn)品類型,而作為更具功能性的私有云存儲將成為未來云存儲的主流模式。
綜上所述,5G信息時代的到來,私有云平臺廠商加大力度推陳出新。未來的私有云平臺將伴隨著人工智能、大數(shù)據(jù)等新興技術的出現(xiàn)而快速發(fā)展,云上文件將像現(xiàn)在的電腦文件一樣,實現(xiàn)隨時可取、隨地可存。
私有云平臺的主要模塊包括:Nginx服務模塊、Tomcat服務模塊以及DNS服務模塊。Nginx服務主要是云服務的反向代理,保證服務器域名或IP地址到Tomcat服務的映射關系,不參與應用提供服務的同時還可以抵御大部分的網(wǎng)絡攻擊和非法請求;Tomcat服務主要是為應用提供服務,保證私有云系統(tǒng)能在Tomcat服務上正常、穩(wěn)定地運行;DNS服務主要是域名解析,通過域名訪問請求解析出對應的IP地址,實現(xiàn)網(wǎng)絡域名通信的正常訪問。
為了搭建私有云平臺,本文在業(yè)務邏輯上采用MVC分層架構。在網(wǎng)絡通信上采用B/S架構,當應用服務需要更新或者擴展時,它可以在不需要停服更新的情況下處理系統(tǒng)維護,實現(xiàn)無縫替換部署上線,私有云平臺的總體架構如圖1所示。
圖1 私有云平臺的總體架構
在圖1中,數(shù)據(jù)請求訪問的流程如下:
(1)通過https://www.hzw2022.top域名訪問,DNS云解析服務器首先查找對應的IP服務主機,完成域名解析;
(2)當DNS云解析服務器找到IP服務主機時,返回IP服務主機的地址;
(3)瀏覽器根據(jù)IP主機服務地址發(fā)送請求,端口為443(瀏覽器HTTPS的默認端口);
(4)服務器主機(47.107.31.26)收到請求后,處理來自443端口的所有請求并轉(zhuǎn)發(fā),根據(jù)請求轉(zhuǎn)發(fā)給http://127.0.0.1∶8080;
(5)Tomcat服務收到來自Nginx的HTTP請求,處理并響應,返回響應數(shù)據(jù);
(6)Nginx收到來自Tomcat的響應數(shù)據(jù),再次轉(zhuǎn)發(fā)數(shù)據(jù)到客戶端,完成數(shù)據(jù)請求。
CA證書是相關權威機構頒發(fā)的數(shù)字簽名證書,簽名證書上有頒發(fā)的機構,SSL協(xié)議涵蓋了許多加密需求。也可以使用Linux系統(tǒng)中的OpenSSL工具生成CA證書,但是會顯示此鏈接不是安全連接。
在Linux環(huán)境中生成CA證書過程如下:
(1)安裝OpenSSL工具;
(2)生成CA證書。
CA證書添加方法:安裝以上命令生成的CA證書,在/usr/local/nginx/conf文件夾下會有3個文件,分別是server.crt、server.key和server.csr 3個文件(其中的server.crt也可以是server.pem),其中server.crt文件是證書,其中包含了公鑰,server.key文件是私鑰。
CA證書用于Nginx代理服務,在數(shù)據(jù)傳輸時進行加密。由于本文所設計的架構中,Nginx服務和Tomcat服務處于同一個服務器,故在Nginx和對外互聯(lián)網(wǎng)連接的接口上添加了SSL協(xié)議,而在Linux本機內(nèi)部沒有使用SSL協(xié)議。同時,Nginx與代理器端也進行了數(shù)據(jù)傳輸加密,和CA證書添加方法類似,只需在nginx.conf配置文件中添加proxy_ssl_certificate和proxy_ssl_certificate_key,具體流程如圖2所示。
圖2 SSL協(xié)議數(shù)據(jù)傳輸流程
本文的數(shù)據(jù)庫設計分為MySQL數(shù)據(jù)庫和H2數(shù)據(jù)庫。MySQL數(shù)據(jù)庫主要存放用戶信息、密碼信息相關的表。用戶使用云數(shù)據(jù)庫時,可以實現(xiàn)按需付費、彈性擴容、動態(tài)升級等功能。根據(jù)數(shù)據(jù)庫功能數(shù)據(jù)設計要求,為了滿足數(shù)據(jù)的存儲效率和數(shù)據(jù)表的信息完整性,本文所設計的表數(shù)據(jù)庫滿足第一范式、第二范式、第三范式的設計模式[7]??紤]到安全問題,用戶密碼表采用了MD5加密的方式,實際上存放的是前端MD5算法加密后的64位字符串。對于云存儲文件,用戶可以自定義文件分類,例如:依據(jù)個人的喜好或者需求來分類。分類的基本原則是用戶能夠方便管理和查找文件資料[8]。
在數(shù)據(jù)傳輸安全方面,本文采用CA證書,使用HTTPS傳輸協(xié)議,保障數(shù)據(jù)傳輸安全,避免用戶數(shù)據(jù)在傳輸過程中出現(xiàn)被不法分子竊取、篡改等情況。除此之外,系統(tǒng)本身還涉及預防網(wǎng)絡攻擊的安全防護功能,例如:常見的DDOS攻擊,通過大規(guī)模互聯(lián)網(wǎng)訪問請求目標主機服務器,造成網(wǎng)絡擁堵、CPU阻塞等現(xiàn)象,以達到使服務器出現(xiàn)宕機或者對外拒絕訪問的目的。對于DDOS攻擊,只需在Nginx上限制同一個IP請求訪問的次數(shù),同一個IP地址發(fā)出的請求每秒允許2個,按照正常人的手速,刷新一個網(wǎng)頁的速度基本在每秒2~3次左右,如果超出這個頻率將可能是代碼發(fā)出的請求。Nginx任務是當同一個IP的請求每秒大于2時,將不再接收這一秒內(nèi)的其他請求。
對于內(nèi)存而言,每個連接數(shù)分別對應一個read_event和一個write_event。每個連接數(shù)占用232字節(jié),2個事件總占96字節(jié),那么一個連接占用328字節(jié),通過數(shù)學公式算出100 000個連接數(shù)大概占用31 MB=100 000×328/1 024/1 024,這只是Nginx啟動時,connections連接數(shù)所占用的Nginx,現(xiàn)在的計算機內(nèi)存已經(jīng)達到至少4GB、8GB,進程的最大可打開文件數(shù)取決于本機操作系統(tǒng)。文中使用的單核Linux系統(tǒng)進程最大可打開文件數(shù)為65 535,而實際在代理服務器中Nginx最大并發(fā)數(shù)為worker_processes×worker_connections/2。
系統(tǒng)測試采用響應速度測試和并發(fā)壓力測試,響應速度測試是保證在全國各地都能訪問到私有云平臺,不會出現(xiàn)由于地理位置原因而影響私有云平臺使用的情況,壓力測試是保證私有云平臺服務的穩(wěn)定性,能夠承受并處理大量并發(fā)請求。
本部分使用https://www.17ce.com網(wǎng)站測試,該工具的特點是在全國各地都有測試請求服務器,幫助用戶做請求訪問測試,同時生成測試數(shù)據(jù)分析表。生成的數(shù)據(jù)分析表如圖3所示,由于本文實驗部分購買的服務器處在華南地區(qū)的深圳,因此網(wǎng)速較好的地方集中在華南地區(qū)。
圖3 測試數(shù)據(jù)分析
本部分使用ApiPost測試工具ApiPost可以模擬POST、GET、PUT等常見HTTP請求,直接生成并導出接口文檔的API文檔,測試發(fā)出的所有請求中完成響應的次數(shù)百分比,同時顯示請求失敗時的位置。在ApiPost工具中選擇測試,本次測試為10個進程,每個進程請求10次,共計100個請求,測試結(jié)果通過。
此外,本文對文件下載速度也做了測試,由于云服務器的帶寬有限,不能完全測試出私有云的下載速度,因此只能在單機上測試文件下載速度。在單機上運行私有云平臺,提前上傳一個1 452 MB的電影,默認下載工具是迅雷,下載速度可以達到224 MB/s,相當于1 792 MB帶寬的下載速度。
云存儲系統(tǒng)雖然能夠?qū)崿F(xiàn)數(shù)據(jù)的云上存儲,但是在數(shù)據(jù)的安全性以及下載速度等方面存在缺陷,數(shù)據(jù)資源安全存儲及快速共享成為影響用戶隱私安全及系統(tǒng)可靠性的主要因素。本文提出了一種基于RSA加密算法的私有云平臺架構,使用基于SpringBoot框架快速搭建私有云平臺,形成對私有云網(wǎng)絡傳輸安全、高性能、高可用的一套解決方案,通過搭建原型系統(tǒng)及測試,驗證了本文提出的私有云平臺架構比傳統(tǒng)的私有云平臺具有更高下載速度,下載速度可達每秒百兆級別。