張紅巖 靳明 任賀賀 劉建輝
摘要:隨著云計算與云存儲技術(shù)的日益發(fā)展,國內(nèi)外出現(xiàn)了很多云存儲服務(wù),向用戶提供文檔的存儲、訪問、下載、備份、共享等功能。但目前云存儲服務(wù)仍存在安全性差、分享策略不夠靈活、缺少文檔協(xié)作等方面的問題。該篇文章基于這些問題,設(shè)計與實現(xiàn)了一種安全云存儲系統(tǒng)并應(yīng)用動態(tài)加密算法,經(jīng)實驗驗證該系統(tǒng)能夠加強用戶文件存儲的安全性。
關(guān)鍵詞:云計算;云存儲;動態(tài)加密;安全
中圖分類號:TN711 文獻標識碼:A 文章編號:1009-3044(2018)17-0080-03
Abstract: With the development of cloud computing and cloud storage technology, many cloud storage services have emerged at home and abroad to provide the users with the functions of storage, access, downloading, backup and sharing of documents. However, there are still some problems in cloud storage service, such as poor security, lack of flexibility in sharing strategy, lack of document collaboration and so on. Aiming at the above problems, a secure cloud storage system based on dynamic encryption algorithm is designed and implemented. This system can enhance the security of user file storage.
Key words: cloud computing; cloud storage; dynamic encryption; security
1 背景
隨著信息化時代的發(fā)展,眾多網(wǎng)絡(luò)公司正逐步開始推進云存儲系統(tǒng)的開發(fā),目的在于在為用戶提供更加便捷的云上文檔管理。用戶使用所提供的云存儲服務(wù),不必再隨身攜帶各種存儲設(shè)備,只需使用PC端連接到網(wǎng)絡(luò)就可以管理和編輯云存儲系統(tǒng)中已經(jīng)保存的文檔[1]。云存儲的最大特點在于存儲即服務(wù),用戶可以通過電腦終端、手機APP、web網(wǎng)站將自己的文檔上傳到云端保存并在需要時進行下載。但由于數(shù)據(jù)保存在云端,用戶喪失了對數(shù)據(jù)的絕對控制權(quán),一些數(shù)據(jù)安全的隱患也由此產(chǎn)生,用戶的重要資料可能存在泄漏的風險,那么將給使用云存儲的企業(yè)和個人帶來不可估量的損失[2]。該文將設(shè)計并實現(xiàn)基于動態(tài)加密算法的安全云存儲系統(tǒng),充分保證用戶數(shù)據(jù)安全性。
2 系統(tǒng)整體設(shè)計
2.1 云存儲系統(tǒng)總體架構(gòu)
云存儲系統(tǒng)中系統(tǒng)后端的編寫由C#語言來完成,并且使用CSS/JavaScript/ HTML5語言編寫系統(tǒng)前端應(yīng)用程序,在windows server服務(wù)器上搭建web服務(wù)器,在Linux服務(wù)器上搭建文件存儲服務(wù)。系統(tǒng)文檔加密方式是通過動態(tài)秘鑰實現(xiàn)的,后臺使用隨機動態(tài)產(chǎn)生秘鑰對文檔進行加密,增強了文檔存儲的安全性[3]。如圖1所示,為云存儲系統(tǒng)總體架構(gòu)。
2.2 系統(tǒng)功能模塊
云存儲系統(tǒng)主要實現(xiàn)功能有用戶管理和文檔安全分享,主要將其分為以下3個不同的模塊:用戶管理、文檔管理及日志模塊。其中用戶管理模塊是為用戶提供一些用戶服務(wù)功能如系統(tǒng)注冊、完成登錄、修改賬號密碼和即時通信等;文檔管理模塊主要為用戶提供文件上傳、下載、重命名、移動、預覽、分享、刪除、協(xié)作等功能;日志模塊記錄了用戶在使用系統(tǒng)過程中的有關(guān)操作。如圖2所示,展示了系統(tǒng)中各模塊實現(xiàn)的具體功能。
2.3 主要技術(shù)架構(gòu)
采用扁平化設(shè)計風格設(shè)計web前端頁面,采用asp.net的三層架構(gòu)來編寫后臺服務(wù)器,數(shù)據(jù)庫采用MySQL關(guān)系型數(shù)據(jù)庫,文件服務(wù)器搭建在Linux上確保存儲服務(wù)的穩(wěn)定與安全。后臺服務(wù)器架構(gòu)如圖3所示。
2.4 系統(tǒng)技術(shù)體系
如圖4所示,為系統(tǒng)的技術(shù)體系。
如圖4,CSS、HTML5、XML、AJAX和JavaScript技術(shù)用于構(gòu)建前端網(wǎng)頁,頁面采用的設(shè)計方式為扁平化設(shè)計風格,注重顏色搭配,整體界面簡潔大方,為使用者提供了良好的使用平臺。
WebSocket是一種基于TCP新型的網(wǎng)絡(luò)協(xié)議,目的是解決HTTP協(xié)議僅能單向通信以及comet只能在一定程度上模擬雙向通信等問題,該協(xié)議可以完成瀏覽器和服務(wù)器之間的全雙工(full-duplex)通信。使用WebSocket協(xié)議有以下一些優(yōu)勢:互相通信的頭部文件占用字節(jié)數(shù)較少(約2個字節(jié)),顯著減少了數(shù)據(jù)之間的傳送量;能從服務(wù)端推送相關(guān)數(shù)據(jù)到用戶客戶端;客戶端接口開發(fā)相較簡單[4]。
ASP.NET是微軟公司推出的新一代腳本語言,其具有網(wǎng)站開發(fā)程序所有的解決方案,其中包括驗證、調(diào)試、緩存、網(wǎng)站狀態(tài)管理、部署等所有功能。在編寫代碼方面主要特點是把頁面邏輯及業(yè)務(wù)邏輯相分離,并將程序代碼和顯示的內(nèi)容分開,讓編寫網(wǎng)頁更加簡便。也使程序代碼瀏覽起來更整潔、更簡單[5]。
MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),所使用的 SQL 語言是訪問數(shù)據(jù)庫的經(jīng)常使用的標準化語言。MySQL 采用雙授權(quán)的政策,分為社區(qū)版、商業(yè)版,因其占用內(nèi)存小、運行速度比較快、總體擁有成本較低,尤其是其開放源碼,使得一般的中小型網(wǎng)站建設(shè)開發(fā)都會選用 MySQL 作為自身網(wǎng)站的數(shù)據(jù)庫。本系統(tǒng)采用MySQL作為存儲用戶數(shù)據(jù)的數(shù)據(jù)庫,經(jīng)濟又實用。
IIS(Internet Information Server),是微軟公司研發(fā)且主推的服務(wù)器,其最新的版本為Windows2003里面包含的IIS 6.0,將IIS與WindowNT Server集成在一起,用戶能利用Windows NT Server及NTFS(NT File System,NT中的文件系統(tǒng))已經(jīng)內(nèi)置的安全性能,建立起強大,靈活且安全的Internet與Intranet站點。ASP.NET開發(fā)的網(wǎng)站將部署在IIS上,用戶通過IIS可以訪問到web服務(wù)。
3 云存儲系統(tǒng)實現(xiàn)
3.1 用戶管理模塊的實現(xiàn)
在用戶管理模塊中,其是對系統(tǒng)使用者的管理,其中包含用戶注冊、用戶登錄、修改密碼、網(wǎng)盤容量管理等功能。該模塊的部分實現(xiàn)代碼如下:
3.2 文檔管理模塊的實現(xiàn)
云存儲中文檔管理模塊中,其主要功能為新建文檔、文檔刪除、文檔在線預覽、文檔分享、文檔重命名、文檔上傳下載、文檔移動、文檔在線編輯、資源搜索和項目協(xié)作等。此模塊通過使用被動式動態(tài)秘鑰分發(fā)技術(shù)以實現(xiàn)在網(wǎng)絡(luò)中用戶數(shù)據(jù)的安全存儲,采用Ajax技術(shù)進行前后臺相互間交互,加快渲染速度,顯示效果良好,減輕服務(wù)器內(nèi)部負擔,提高相互交互的效率[6]。使用者之間可通過WebSocket進行實時交流,可以在線協(xié)作一同處理文檔,極大地提高工作效率。該模塊的部分代碼如下:
3.3 文檔加解密模塊的實現(xiàn)
在文檔加解密模塊中,其主要的功能是為云上文檔的傳輸、下載、存儲與分享過程中提供有效的安全保護。該模塊采用的數(shù)據(jù)云存儲方案具有被動式動態(tài)密鑰分發(fā)機制,實現(xiàn)了對數(shù)據(jù)存儲及加密的分離,如若存儲與加密有任何一方被不法分子獲取,其能得到的只是一堆無法使用的加密數(shù)據(jù),只有經(jīng)過密鑰認證中心與存儲服務(wù)器聯(lián)動通過的客戶端用戶才能獲取有效數(shù)據(jù)。首先通過架設(shè)完成的密鑰認證中心生成的動態(tài)密鑰,客戶端獲得密鑰后加密本地文件并上傳至文件存儲服務(wù)器,存儲服務(wù)器中的加密文件只能通過客戶端向密鑰認證中心請求密鑰,客戶端得到解密密鑰后進行文件解密[7]。如圖5所示,為文檔加解密模塊的整體架構(gòu)。
4 系統(tǒng)主要功能的展示
4.1 電腦web端
打開云存儲系統(tǒng)網(wǎng)址,輸入用戶名、密碼,驗證成功后進入系統(tǒng)主界面。登錄界面如圖6所示。
使用者登錄成功后可進入主界面,如圖7中所示。系統(tǒng)功能包含個人空間、企業(yè)空間、系統(tǒng)日志、個人日志、項目協(xié)作、成員管理等。在這些功能中,個人空間和企業(yè)空間不僅具備常規(guī)的文件上傳、下載及刪除功能外,還添加了文檔分享、新建文件夾、文檔預覽、文檔編輯、文檔移動等功能。
4.2 企業(yè)微信web端
順應(yīng)科技發(fā)展的潮流,將云存儲系統(tǒng)嵌入到企業(yè)微信中,方便企業(yè)員工進行文檔的隨身管理,文檔與電腦端完全同步。部分功能的實現(xiàn)如圖8-圖9所示。
5 結(jié)束語
云存儲系統(tǒng)可以為使用者提供以下功能:分享、存儲、下載、備份等,與此同時,也會給使用者如數(shù)據(jù)丟失、數(shù)據(jù)泄露及侵犯隱私等一系列隱患。該文設(shè)計的基于動態(tài)秘鑰分發(fā)機制的安全云存儲系統(tǒng),通過將密鑰認證中心及文件存儲服務(wù)器進行隔離,且兩者之間不清楚對方的具體位置,因而即便其中任一方出現(xiàn)安全泄露,也不影響已存儲文件的安全性,從而實現(xiàn)了云存儲系統(tǒng)中加密與存儲的分離。在提供用戶便捷的存儲、下載等服務(wù)的同時,保證了用戶數(shù)據(jù)的安全,推動了云存儲技術(shù)的發(fā)展。
參考文獻:
[1] 吳繼康, 于徐紅, 王虹. 基于第三方可信平臺的混合云安全存儲系統(tǒng)構(gòu)建[J]. 信息網(wǎng)絡(luò)安全, 2015(12): 28-33.
[2] 傅穎勛, 羅圣美, 舒繼武. 安全云存儲系統(tǒng)與關(guān)鍵技術(shù)綜述[J]. 計算機研究與發(fā)展, 2013(1): 136-145.
[3] 鄭周, 張大軍, 李運發(fā). 云計算中面向數(shù)據(jù)存儲的安全訪問控制機制[C].
[4] 薛隴彬, 劉釗遠. 基于WebSocket的網(wǎng)絡(luò)實時通信[J]. 計算機與數(shù)字工程, 2014(3): 478-481.
[5] 王輝, 唐俊勇. 移動終端云存儲技術(shù)研究[J]. 工業(yè)儀表與自動化裝置, 2017(5): 104-107.
[6] 林雄飛. 淺談電子文件動態(tài)加密技術(shù)[J]. CAD/CAM與制造業(yè)信息化, 2011(2): 20-21.
[7] 趙鳳怡. 數(shù)字圖像加密技術(shù)的研究[J]. 信息安全與技術(shù), 2014(9): 7-8, 13.