熊英琴,劉 兆,韓 剛,羅 維
(1.商洛學(xué)院 人文學(xué)院,陜西 商洛 726000;2.西安郵電大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,陜西 西安 710121)
互聯(lián)網(wǎng)、移動端和智能手機的出現(xiàn),改變了多媒體時代人們的生活方式、思維觀念和價值體系,同時也改變了人們的寫作途徑。與傳統(tǒng)寫作相比,新媒體寫作不僅具有內(nèi)容個性化、呈現(xiàn)方式多樣化、信息發(fā)布實時性和受眾傳播選擇性等特點,還在多種應(yīng)用場景下展現(xiàn)出交互性強、易全息化、可數(shù)字化及可網(wǎng)絡(luò)化的優(yōu)勢。新媒體寫作中海量的寫作數(shù)據(jù)需要存放于云端,隨著云計算技術(shù)[1-3]的發(fā)展,云存儲作為一種在線存儲模式,聯(lián)結(jié)云狀的廣域網(wǎng)和互聯(lián)網(wǎng),是眾多存儲設(shè)備和服務(wù)器構(gòu)成的集合體[4-5]。以數(shù)據(jù)存儲和管理為核心功能的云存儲系統(tǒng),允許用戶海量上傳,可按需付費以降低使用成本[6]。然而,當(dāng)云服務(wù)器受到惡意攻擊或入侵時,數(shù)據(jù)的安全性便面臨極大挑戰(zhàn)。用戶的照片、視頻、音頻,以及文字、文件、文稿和相關(guān)管理等數(shù)據(jù)的存儲安全存在隱患。2016年,6 800萬Dropbox賬號密碼被泄露完全暴露在公共網(wǎng)絡(luò)上。2017年,亞馬遜Web服務(wù)(Amazon Web Services,AWS)云存儲系統(tǒng)宕機,使得Youtube、雅虎等無法訪問服務(wù)。2018年,Facebook卷入了“史上最大個人信息泄露風(fēng)波”,近5 000萬用戶的個人信息及資料被非法曝光。同年8月,騰訊云數(shù)據(jù)的丟失進一步使云存儲安全問題引起了人們的廣泛關(guān)注[7]。因此,將數(shù)據(jù)上傳給云服務(wù)器時,如何保證數(shù)據(jù)的安全和隱私性尤為重要。
目前,眾多云盤上傳的數(shù)據(jù)實際仍是以明文上傳,并未真正加密。在云端服務(wù)器上,數(shù)據(jù)可以被云服務(wù)提供商任意讀取,而在數(shù)據(jù)上傳的過程中,文件也有可能被竊取或篡改,無法有效保護用戶的隱私數(shù)據(jù)[8]。以結(jié)合可搜索公鑰加密和外包數(shù)據(jù)完整性驗證的方案[9],從云計算的基礎(chǔ)設(shè)施層、平臺層和軟件服務(wù)層等三層架構(gòu)及內(nèi)容層次討論了安全問題,但難以解決可搜索公鑰加密中陷門濫用、外包數(shù)據(jù)缺少審計追蹤和復(fù)雜算法加大成本開銷等問題。文獻[10]通過密鑰派生加密和數(shù)據(jù)分析,為物聯(lián)網(wǎng)設(shè)備提供了安全的數(shù)據(jù)刪除方案。文獻[11]提出一種基于模逆性質(zhì)形成的概率陷門方案,允許客戶端搜索外包給云的大量加密數(shù)據(jù)。但是,上述兩個方案是在數(shù)據(jù)上傳前先通過算法進行加密,雖然保護了云存儲系統(tǒng)中的隱私數(shù)據(jù),并不能實現(xiàn)保證隱私數(shù)據(jù)安全的同時使系統(tǒng)輕量化高效運行。
針對上述問題,擬設(shè)計一種基于國密算法[12]的安全云存儲系統(tǒng)。先利用嵌入在客戶端軟件中的SM4算法,對要上傳的數(shù)據(jù)文件進行加密,再在服務(wù)器端利用SM2算法對SM4算法的對稱密鑰進行加密,并分配給客戶端用戶私鑰,將私鑰存放在數(shù)據(jù)擁有者的個人設(shè)備目錄下。當(dāng)文件經(jīng)過加密變成密文后,再將密文文件上傳到云服務(wù)器中,運用私鑰口令從客戶端軟件對密文文件進行下載管理。當(dāng)文件受到攻擊或竊取時,攻擊者無法解密密文數(shù)據(jù),從而實現(xiàn)數(shù)據(jù)擁有者對上傳文件的完整性和安全性。
云存儲是一種基于云計算的網(wǎng)絡(luò)存儲技術(shù),可為數(shù)據(jù)用戶提供巨大的存儲空間,不存在空間以及系統(tǒng)升級和硬盤冷卻等問題。云存儲系統(tǒng)利用云端空間存放數(shù)據(jù)的方法,解放了本地空間有限的問題對用戶的束縛。當(dāng)新媒體用戶在云存儲系統(tǒng)中存入文件時,用戶需要登陸云存儲系統(tǒng)網(wǎng)頁或客戶端,向云存儲系統(tǒng)上傳需要保存的各種寫作數(shù)據(jù)。
云存儲系統(tǒng)主要分為存儲層、基礎(chǔ)管理層、應(yīng)用接口層和訪問層。存儲層是云存儲系統(tǒng)最基礎(chǔ)的部分,光纖通道(Fibre Channel,FC)、網(wǎng)絡(luò)附屬存儲(Network Attached Storage,NAS)和Internet小型計算機系統(tǒng)接口(Internet Small Computer System Interface,ISCSI)等網(wǎng)際互連協(xié)議(Internet Protocol,IP)存儲設(shè)備均可在存儲層作為存儲設(shè)備使用,存儲設(shè)備之上是一個統(tǒng)一的存儲設(shè)備管理系統(tǒng),可以實現(xiàn)存儲設(shè)備的邏輯虛擬化管理、多鏈路冗余管理,以及硬件的狀態(tài)監(jiān)控和故障維護?;A(chǔ)管理層是云存儲系統(tǒng)中最核心部分,通過集群、分布式文件系統(tǒng)和網(wǎng)格計算等技術(shù),實現(xiàn)云存儲中多個存儲設(shè)備之間的協(xié)同工作,使多個存儲設(shè)備可以對外提供一種服務(wù),并提供更迅速更好的數(shù)據(jù)訪問性能。云存儲中存在的主要問題就是當(dāng)用戶將數(shù)據(jù)上傳到云端時,無法對文件進行有效的控制,如果文件中包含有敏感的隱私數(shù)據(jù),將會增加數(shù)據(jù)泄露后的嚴(yán)重性。
加密技術(shù)是保護數(shù)據(jù)安全的重要方法,其能夠按照一定的變換規(guī)則,對明文數(shù)據(jù)進行處理后轉(zhuǎn)化為密文數(shù)據(jù)。若密文數(shù)據(jù)被截取,由于無法確定加密過程中所使用的密鑰及算法,密文數(shù)據(jù)無法被恢復(fù)為源文件,因此可以有效保護密文數(shù)據(jù)的安全。加密技術(shù)分為對稱加密和非對稱加密,采用加密技術(shù)可以有效保證敏感隱私數(shù)據(jù)的安全性。
1.2.1 對稱加密
對稱加密算法是應(yīng)用較早的加密算法。通信雙方通過提前協(xié)商,確定此次過程中所使用的密鑰,數(shù)據(jù)發(fā)送方將明文數(shù)據(jù)和加密密鑰經(jīng)過該算法的特殊處理后產(chǎn)生的復(fù)雜密文數(shù)據(jù)發(fā)送給數(shù)據(jù)接收方。數(shù)據(jù)接收方接收到該密文數(shù)據(jù)后,使用同樣的密鑰和該算法的逆算法對密文數(shù)據(jù)進行解密得到明文數(shù)據(jù)。在對稱加密算法中,密鑰只使用一個,加解密的過程互為逆過程。對稱加密算法的優(yōu)點是算法公開、計算量較小、加密效率高速度快,且破譯較為困難,保密程度高,但密鑰交換的安全性無法得到保證。因此對稱加密算法常常適用于加密大量數(shù)據(jù)。目前,國際常用的對稱加密算法有高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)、數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)以及三重數(shù)據(jù)加密算法(Triple Data Encryption Algorithm,TDEA)等,國內(nèi)有SM4對稱加密算法。
1.2.2 非對稱加密
非對稱加密算法也稱為公鑰加密算法,加密和解密的過程中使用了不同的密鑰,分為公開密鑰和私有密鑰。公開密鑰是對外開放的,簡稱公鑰,私有密鑰是僅僅為用戶自身所知曉的密鑰,簡稱私鑰。公私鑰是一對且相互匹配,數(shù)據(jù)被公鑰加密后,只能使用對應(yīng)的私鑰才能夠解密。信息的發(fā)送方與信息接收方在數(shù)據(jù)加密的過程中,不需要提前協(xié)商密鑰,公鑰是公開的,發(fā)送方和接收方都能獲取公鑰。發(fā)送方采用公鑰對數(shù)據(jù)進行加密處理,接收方使用私鑰進行數(shù)據(jù)的解密后獲取到明文數(shù)據(jù)[13]。非對稱加密算法的優(yōu)點是算法復(fù)雜,解決了對稱加密算法中密鑰交換容易泄露的問題,保密性得到了提高。同時,非對稱加密算法的缺點是加解密速度不如對稱加密算法快,適用于少量數(shù)據(jù)加密的場景。
SM2算法[14]是非對稱加密國密算法,屬于橢圓曲線密碼體制,基于橢圓曲線的離散對數(shù)難題。目前,SM2的256 bit 加密算法在商用密碼算法中相當(dāng)安全,相當(dāng)于RSA算法在2 048 bit 及以上的安全性。SM2算法密鑰有公私鑰之分,公鑰可以在一定范圍內(nèi)公開,私鑰必須保密。由私鑰可以輕易計算出公鑰,由公鑰計算私鑰,相當(dāng)困難。
1.3.1 SM2算法加密
假設(shè)信息發(fā)送方為Alice,將Alice準(zhǔn)備發(fā)送的明文信息表示為比特串M,M的長度為l。接收方Bob的私鑰取{1,2,…,n-1}中隨機數(shù)dB,記為dB←R{1,2,…,n-1},n為基點G的階,公鑰取橢圓曲線上的點PB=dBG。SM2算法對明文信息M加密步驟如下。
步驟1選擇隨機數(shù)k∈[1,n-1]。
步驟2計算橢圓曲線點C1=kG=(x1,y1),將C1的坐標(biāo)數(shù)據(jù)類型轉(zhuǎn)化為對應(yīng)的比特串。
步驟3計算橢圓曲線點S=hPB,倘若S點是一個無窮的遠點,則報錯并退出。
步驟4計算橢圓曲線點kPB=(x2,y2),將該點數(shù)據(jù)類型也轉(zhuǎn)化為比特串表示。
步驟6計算C2=M⊕t。
步驟8輸出密文C=(C1,C2,C3)。
1.3.2 SM2算法解密
SM2算法對密文信息C的解密步驟如下。
步驟1從C中取出比特串C1,將C1比特串轉(zhuǎn)換為橢圓曲線的一點,通過計算驗證是否滿足橢圓曲線方程,倘若不滿足方程報錯并退出。
步驟2再次計算橢圓曲線點S=hC1,如果點S是一個無窮遠點,那么報錯并退出。
步驟3計算dBC1=(x2,y2),將點的坐標(biāo)數(shù)據(jù)類型再次轉(zhuǎn)化為比特串。
步驟5從C中取出比特串C2,計算M′=C2⊕t。
步驟7輸出明文M′。
SM4算法[15]主要用于無線局域網(wǎng)鑒別和保密基礎(chǔ)結(jié)構(gòu)(Wireless LAN Authentication and Privacy Infrastructure,WAPI)分組密碼算法,是2006年國家密碼管理局公布的國內(nèi)第一個商用密碼算法。SM4算法的數(shù)據(jù)分組長度為128比特,密鑰長度為128比特,其加密算法和密鑰擴展算法都使用了32輪非線性的迭代結(jié)構(gòu),以字節(jié)(8)位和字(32)位為單位進行數(shù)據(jù)處理。
1.4.1 基本運算
SM4算法具體包括模2加和循環(huán)移位兩種基本運算。1)模2加。記為⊕,表示32位逐比特異或運算。2)循環(huán)移位。記為<<
1.4.2 基本密碼組件
1)S盒。S盒是以字節(jié)為單位的非線性替換,其密碼學(xué)作用是混淆,為固定的8比特輸入8比特輸出。設(shè)輸入字節(jié)為a,輸出字節(jié)為b,則S盒的運算可表示為b=S(a)。
B=(b0,b1,b2,b3)=τ(A)=(S(a0),S(a1),S(a2),S(a3))
C=L(B)=B⊕(B<<<2)⊕(B<<<10)⊕(B<<<18)⊕(B<<<24)
4)合成變換T。設(shè)輸入為字X,先對X進行非線性τ變換,再進行線性L變換,則合成變換記為T(X)=L(τ(X))。
1.4.3 輪函數(shù)
F(X0,X1,X2,X3,r)=X0⊕T(X1⊕X2⊕X3⊕r)
1.4.4 加密算法
1.4.5 解密算法
1.4.6 密鑰擴展算法
在SM4算法中,輪密鑰的產(chǎn)生是通過用戶選擇主密鑰作為基本的密鑰數(shù)據(jù),然后通過一些算法生成輪密鑰。在密鑰擴展的過程中,通常會通過一些常數(shù)對用戶選擇的主鑰進行操作,增加隨機性。
采用國密算法提高加密過程的安全性,核心思想是在系統(tǒng)客戶端中嵌入加密算法對設(shè)備本地和云盤內(nèi)部的數(shù)據(jù)進行加密。文件在上傳的過程中均為密文,其他用戶沒有密鑰無法解密這個加密的文件,只有本身具有公私鑰的用戶才能對加密后的密文文件進行解密操作,通過該方式從而實現(xiàn)數(shù)據(jù)安全。
基于國密算法的安全云存儲系統(tǒng)架構(gòu)基于C/S架構(gòu)設(shè)計,分為客戶端和服務(wù)端兩部分。服務(wù)端分為認(rèn)證服務(wù)器、文件服務(wù)器和證書授權(quán)(Certification Authority,CA) 服務(wù)器??蛻舳耸菍⒃O(shè)備本地的數(shù)據(jù)文件進行加密后上傳到服務(wù)端上,使用者的公私鑰存在于本地的客戶端中后,才能被授權(quán)解密操作。具體系統(tǒng)架構(gòu)示意圖如圖1所示。
圖1 系統(tǒng)架構(gòu)示意圖
系統(tǒng)中的加密過程為:上傳文件前使用SM4對稱加密算法對大文件進行加密,之后將加密后的文件上傳到云服務(wù)端上,使用SM2非對稱加密算法對SM4的密鑰進行加密生成數(shù)字簽名,私鑰存放于本地目錄中,當(dāng)用戶想要使用加密的文件時,需要先下載加密后的密文文件,使用本地SM2私鑰對數(shù)字簽名進行解密后得到SM4的密鑰,然后再使用SM4的密鑰對密文文件進行解密操作。
將客戶端和認(rèn)證服務(wù)器、文件服務(wù)器以及CA服務(wù)器相結(jié)合,其作用是用于授權(quán)用戶的登錄、登錄用戶的上傳或下載個人文件和新用戶申請個人數(shù)字證書。認(rèn)證服務(wù)器的作用是用來認(rèn)證登錄用戶的合法身份。文件服務(wù)器主要存儲用戶上傳的文件,對用戶提交的請求做出相應(yīng)的操作,并對其返回相應(yīng)的查詢請求結(jié)果。CA服務(wù)器作用于接受、審核新申請用戶的個人數(shù)字請求,當(dāng)用戶審核通過頒發(fā)給用戶可使用的數(shù)字證書。
移動設(shè)備使用該安全云存儲系統(tǒng)授權(quán)用戶發(fā)出加密文件后上傳到服務(wù)器,下載文件及實現(xiàn)數(shù)據(jù)共享使用搭建的云服務(wù)端。服務(wù)器用以存儲加密后的密文數(shù)據(jù),其是一個可搭建的云存儲平臺,開發(fā)者可以自己搭建一個云存儲系統(tǒng)。
安全云存儲系統(tǒng)負(fù)責(zé)文件的加解密操作,用戶登錄進入系統(tǒng)中。該系統(tǒng)使用對稱與非對稱加密算法相結(jié)合的方案對本地數(shù)據(jù)和算法密鑰進行保護,并借助公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)系統(tǒng)完成數(shù)據(jù)完整性認(rèn)證和數(shù)字簽名功能。安全云存儲系統(tǒng)總共實現(xiàn)了登錄模塊、文件列表模塊及圖庫功能模塊。
2.2.1 登錄模塊
登錄模塊的實現(xiàn)采用自身定義的Activity進行設(shè)計,在Activity.xml文件中添加定義方向的屬性設(shè)置,內(nèi)部添加輸入框、輸入賬號和密碼,用戶沒有賬號需要提前申請注冊,注冊后的信息會推送到一個特定的郵箱中,系統(tǒng)管理員通過查看郵件審核賬號的申請需求。同時,在密碼框后面位置設(shè)置按鈕用以顯示或隱藏密碼,服務(wù)器的地址如果發(fā)生改變,需要用戶手動修改IP地址訪問服務(wù)端的端口。
云存儲系統(tǒng)提供接口管理本地文件和云端文件,用戶注冊云盤賬號,管理員授權(quán)用戶使用云服務(wù),CA認(rèn)證中心給用戶頒發(fā)數(shù)字證書,用以證明證書中列出的用戶合法擁有證書列出的公開密鑰,用戶導(dǎo)入根證書、用戶證書和私鑰文件,而SM4對稱算法和SM2非對稱加密算法結(jié)合的方法使得密鑰難以被竊取,能有效保護云存儲系統(tǒng)上的關(guān)鍵數(shù)據(jù)。用戶具體注冊步驟如下。
步驟1點擊云存儲系統(tǒng)中主界面的注冊按鈕,輸入注冊信息進入界面。
步驟2在注冊信息界面中,輸入用戶名、郵箱地址、密碼及確認(rèn)密碼,點擊注冊按鈕提交注冊信息。
步驟3注冊完成并通過管理員審核后,運行云存儲系統(tǒng)客戶端,輸入用戶名和密碼,點擊登錄按鈕登錄云存儲系統(tǒng)的云盤目錄。
2.2.2 文件列表模塊
文件列表模塊包括文件功能預(yù)覽、文件加解密和列表菜單功能。文件的列表是云存儲系統(tǒng)的第一個子界面,用戶被授權(quán)擁有云服務(wù)后,系統(tǒng)會顯示給用戶界面用以交互數(shù)據(jù),該界面的功能主要是用列表的形式展現(xiàn)文件結(jié)構(gòu)以及文件的具體內(nèi)容。
文件功能預(yù)覽需要將所有的文件顯示在移動設(shè)備的界面上,因此界面的實現(xiàn)采用ListView作為云存儲系統(tǒng)客戶端的整體布局。在系統(tǒng)界面布局的xml文件中添加橫向LinearLayout,用以作為界面的功能菜單。界面的功能菜單共設(shè)計了11個部分,分別為查看全部文件、查看動態(tài)、收藏、照片、已共享、在設(shè)備上的文件、通知、自動上傳、上傳、系統(tǒng)設(shè)置、系統(tǒng)證書和私鑰。
文件加解密是安全云存儲系統(tǒng)的核心功能,在上傳準(zhǔn)備前,程序在文件上傳的接口處嵌入了SM4和SM2算法,在上傳前對其進行加密,生成密文文件。上傳準(zhǔn)備過程主要是對上傳文件進行相應(yīng)的邏輯梳理和數(shù)據(jù)檢測,通知服務(wù)器上傳的內(nèi)容。將加密后的密文文件根據(jù)路徑封裝成File對象并記錄文件名稱,通過Length對象方法獲取文件具體大小,同時根據(jù)當(dāng)前文件所處的目錄路徑,將打開文件列表保存的id和服務(wù)器對其文件檢測后獲取到的數(shù)據(jù)拼接為Key-value形式,發(fā)送到服務(wù)端,通知服務(wù)器端準(zhǔn)備接受密文文件。當(dāng)服務(wù)器做好接收文件的準(zhǔn)備時,會向客戶端程序返回數(shù)據(jù),包括此密文文件的大小以及上傳的大小,在設(shè)備的本地可以通過比較文件的大小判斷文件是否已經(jīng)上傳成功,當(dāng)上傳成功時,文件列表屬性中會增加一個新的文件,新的密文文件和未被加密的文件名稱前綴一樣,但文件的后綴不同,加密后的文件以enlock字符顯示。文件的具體操作如圖2所示。
圖2 文件操作
列表菜單功能實現(xiàn)了對文件具體的操作,用戶與屏幕交互使用菜單功能對文件進行刪除、打開、重命名、動態(tài)、分享、移動和復(fù)制等功能,用戶只需要點擊本地程序的菜單選項,然后客戶端向服務(wù)器端發(fā)送相應(yīng)的請求,服務(wù)器端會接收到其發(fā)送來的請求并進行相關(guān)操作,成功后,用戶刷新客戶端程序,文件的操作就會被實現(xiàn)。
當(dāng)實現(xiàn)刪除文件功能時,在服務(wù)器云端列表中點擊選中文件,選擇刪除,本地通過驗證選擇的position,然后在列表集合中定位到此對象,拿到該對象的id將其作為請求參數(shù)傳遞給服務(wù)器的刪除文件的接口。服務(wù)器端成功刪除文件后,設(shè)備本地的程序會根據(jù)當(dāng)前所在目錄的id,訪問服務(wù)器端云端的文件列表,然后獲取到刪除后的新的數(shù)據(jù),對其進行解析,以完成文件刪除的操作。
2.2.3 圖庫功能模塊
為方便新媒體寫作的圖文編輯,特設(shè)置圖庫功能模塊。安全云存儲系統(tǒng)的應(yīng)用程序圖庫功能在主界面的一級界面中,方便用戶主動瀏覽。圖庫功能的實現(xiàn)經(jīng)過了兩個核心功能,一是服務(wù)端首先會將獲取到的圖片按照上傳的時間進行分組整理,二是將整理好的圖片數(shù)據(jù)的集合通過ListView仿照網(wǎng)格的形式進行相應(yīng)的展示,顯示正確的分組名字,以及相應(yīng)上傳的具體時間。微博、微信和美篇等媒體平臺推文少不了精美圖片,圖片庫不僅實現(xiàn)了新媒體寫作的素材儲備,也方便用戶進行文件操作。
根據(jù)安全云存儲系統(tǒng)在移動設(shè)備上的需求,系統(tǒng)開發(fā)的可定制、易擴展和易安裝等特點,對所設(shè)計的安全云存儲系統(tǒng)的各個模塊進行相應(yīng)的功能測試,驗證各模塊是否能夠正常運行并達到設(shè)計要求。客戶端是在Android 9.0上結(jié)合Android Studio軟件,使用Java編程語言和Android APIs開發(fā)包進行實現(xiàn),測試的方法主要是模擬用戶的操作進行軟件測試,測試環(huán)境為Google Pixel3。服務(wù)器是在Linux Ubuntu 16.04平臺上搭建開發(fā),使用Java和PHP語言開發(fā)的Web工程,實現(xiàn)與客戶端數(shù)據(jù)的共享與下載。
3.2.1 客戶端主界面及登錄功能
當(dāng)界面啟動后會顯示用戶登錄界面,在對應(yīng)的輸入框填入相應(yīng)的登錄賬號及密碼。新用戶使用系統(tǒng)時,需要注冊新的用戶賬號,通過郵件發(fā)送到服務(wù)器端,管理員通過審核后被授予使用云服務(wù)。系統(tǒng)登錄界面如圖3所示。
圖3 系統(tǒng)登錄界面
3.2.2 客戶端文件列表模塊
當(dāng)用戶登錄成功后,客戶端會進入文件列表界面,如圖4所示,列表中包含云存儲系統(tǒng)文件的具體時間以及云端所包含文件的大小。
圖4 文件列表
點擊系統(tǒng)中右上角的按鈕,對云端的文件進行信息查看和操作。當(dāng)用戶選擇某個文件上傳操作時,需要在移動設(shè)備的本地目錄中選擇需要上傳的文件,同時選擇系統(tǒng)所提供按鈕中的具體操作選項,其中核心是文件的加密上傳和文件解密。具體操作分別如圖5和圖6所示。
圖5 文件操作
圖6 選擇目標(biāo)加密文件
對云存儲系統(tǒng)的文件加密及上傳功能進行測試,當(dāng)選擇加密上傳后,云存儲系統(tǒng)會對選中的文件進行加密處理,分別如圖7和圖8所示。
圖7 執(zhí)行加密操作
圖8 文件加密成功
如圖7所示,選擇預(yù)加密的文件后,點擊程序右邊文件操作按鈕,該按鈕集成打開、刪除、加密上傳和文件解密等功能。選擇加密上傳按鈕,程序會對選中的文件進行加密操作并將加密后的生成密文后綴為.enlock的密文文件上傳到服務(wù)器端。
上傳一個后綴為.enlock的密文文件,如圖9所示,其他用戶無法直接打開該文件,即使修改該文件的格式也無法打開,加密算法會將其加密成一個亂碼的文件,沒有系統(tǒng)中對應(yīng)用戶的私鑰無法解密該文件,因此加密上傳操作有效增強了云盤存放文件的安全性。
圖9 密文文件生成
客戶端的文件下載以及解密功能測試實現(xiàn)了將密文文件下載到客戶端本地目錄的功能,并且能對密文文件進行解密,恢復(fù)出明文文件。
將后綴為.enlock的密文文件下載到系統(tǒng)所提供的本地目錄路徑,然后對.enlcok文件進行具體的解密操作,分別如圖10和圖11所示,在解密成功后,.enlock文件會恢復(fù)成原始文件。
圖10 選擇密文文件
圖11 執(zhí)行解密操作
如圖11所示,選擇預(yù)解密的文件后,點擊程序文件操作按鈕,該按鈕和加密上傳的按鈕功能一樣,并提供文件解密功能。選擇文件解密按鈕,程序?qū)x中的后綴為.enlock的密文文件進行解密操作恢復(fù)出明文,服務(wù)器中會出現(xiàn)恢復(fù)出的明文文件。
經(jīng)測試,上述加解密功能運行良好,各部分運行結(jié)果分別如圖12和圖13所示。
圖12 輸入私鑰口令解密
圖13 解密成功
3.2.3 圖庫模塊
該功能實現(xiàn)了用戶可將設(shè)備本地的圖片上傳到云端,具體查看圖片的格式、大小,進行相應(yīng)的下載、查看、分享和刪除操作。用戶切換到圖庫界面時,如圖14所示,可以看見系統(tǒng)中會根據(jù)圖片具體的上傳的時間進行分組展示,并且按照網(wǎng)格的形式顯示圖片的預(yù)覽圖,每一組具體的圖片均有詳細的上傳時間。該界面的圖片上傳下載和文件上傳下載功能一樣,共用一個模塊。經(jīng)測試,該功能可以正常實現(xiàn)。
圖14 圖片操作界面
在實際應(yīng)用中,對新媒體寫作數(shù)據(jù)進行系統(tǒng)上的安全保護,需要考慮數(shù)據(jù)的存儲安全、是否被暴露在通信傳輸過程中、加解密算法安全以及是否具有簽名認(rèn)證機制防篡改。分別將所設(shè)計的安全云存儲系統(tǒng)與文獻[7]、文獻[12]和文獻[15]進行系統(tǒng)安全性對比,結(jié)果如表3所示。
表3 不同系統(tǒng)安全性對比
由表3可以看出,所設(shè)計的安全云存儲系統(tǒng)同時具有數(shù)據(jù)分布式存儲、密文傳輸數(shù)據(jù)、SM2和SM4算法結(jié)合機制以及具有簽名認(rèn)證機制等功能,相比于文獻[7]、文獻[12]和文獻[15]所提出的系統(tǒng)具有一定的優(yōu)勢。
針對新媒體寫作云存儲環(huán)境中的數(shù)據(jù)安全問題,結(jié)合國密算法和云存儲技術(shù),設(shè)計了一種安全云存儲系統(tǒng)。該系統(tǒng)將密鑰存放在用戶的個人本地目錄中,通過對稱加密和非對稱加密相結(jié)合的方法在數(shù)據(jù)上傳前進行加解密操作,保證了數(shù)據(jù)是以密文形式存儲在云端。測試結(jié)果表明,該系統(tǒng)能夠有效保護移動設(shè)備以及云端的數(shù)據(jù),確保新媒體寫作數(shù)據(jù)的完整性、保密性和安全性。