韓慶龍,呂 潔,王鳳芹
(海軍航空大學(xué),山東煙臺264001)
目前,大多黨、政、軍、企進(jìn)行敏感信息分發(fā)時(shí),仍很大程度依賴移動存儲設(shè)備,為保證信息的安全性,有些部門采取安全圍墻或U盤密盤化的形式進(jìn)行信息管控[1-4]。但安全圍墻具有明顯的不足,如安全圍墻的范圍確定問題,對規(guī)模較大的單位,圍墻范圍較大,即設(shè)備注冊數(shù)量大,則信息容易失控,較小則給工作造成障礙。為了解決該問題,研究人員提出了分級的思想[5-7],即將信息按敏感程度分為若干等級,同時(shí)將圍墻按等級分層,給用戶賦予不同權(quán)限,高安全等級的文件只能由具有高級別權(quán)限的人查閱。但如何進(jìn)行分級,分多少級,每個(gè)級別范圍如何界定仍然是個(gè)難題。而且有些敏感信息要求只能被特定部門的人員查閱。因此,必須對安全圍墻進(jìn)行進(jìn)一步的優(yōu)化。
為了解決安全圍墻內(nèi)文件分發(fā)過程中所遇到的上述困難,本文以混合加密為基礎(chǔ),建立了操作系統(tǒng)服務(wù)層的移動存儲文件分發(fā)安全系統(tǒng),設(shè)計(jì)了離線模式下的密鑰交換方式,采用橢圓曲線加密算法(Elliptic Curve Cryptography,ECC)[8-9]和高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)[10]對文件進(jìn)行加密分發(fā),系統(tǒng)能夠保證文件的單點(diǎn)接收,確保敏感信息的分發(fā)范圍完全可控。
系統(tǒng)的核心設(shè)計(jì)思想是利用加密算法將信息加密分發(fā),并利用公鑰體制進(jìn)行密鑰交換。文件的實(shí)際加密采用AES。密鑰交換的實(shí)際體制是基于ECC的ECDH方案。AES以其算法的高效性和安全性,成為目前應(yīng)用最廣泛的分組加密算法[11]。ECC作為RSA的替代算法,具有更高的安全性和更快的加解密速度,對密鑰的長度要求也更低[12-14]。
為提高系統(tǒng)的實(shí)用性,使用戶在數(shù)據(jù)傳輸中獲得可伸縮的安全性與便捷性,設(shè)計(jì)了多層嵌套的加解密模式。系統(tǒng)組織結(jié)構(gòu)如圖1所示。
系統(tǒng)的加密模塊、解密模塊和管理模塊中的初始化子模塊保證了利用移動存儲設(shè)備進(jìn)行信息傳遞時(shí)均處于完整的安全回路。
為使數(shù)據(jù)傳輸擁有可伸縮的安全性與便捷性,該系統(tǒng)設(shè)計(jì)了多層嵌套式的加解密模式。一方面,當(dāng)采用兩層(AES+ECC)嵌套加密方式時(shí),可以接收任何其他計(jì)算機(jī)向該存儲設(shè)備加密存儲文件,但存儲設(shè)備僅能在與該移動存儲設(shè)備綁定的計(jì)算機(jī)上進(jìn)行解密。該模式可最大程度保證數(shù)據(jù)傳輸中的安全性,避免無關(guān)人員查看數(shù)據(jù)。另一方面,當(dāng)擁有者選擇三層(AES+ECC+AES)嵌套加密方式時(shí),可適當(dāng)?shù)財(cái)U(kuò)大可解密范圍,在擁有者的授權(quán)下,系統(tǒng)內(nèi)部被授權(quán)的其他人員具有同樣的使用權(quán)限,使得信息的傳遞更加方便快捷。擁有者可通過更換外層AES密鑰,隨時(shí)進(jìn)行權(quán)限的收回。
初始化模塊能夠引導(dǎo)用戶完成密鑰對生成及其與移動存儲設(shè)備和用戶計(jì)算機(jī)的綁定。流程圖如圖2所示。當(dāng)插入移動存儲設(shè)備,并啟動應(yīng)用程序之后,選擇設(shè)備初始化可對移動存儲設(shè)備進(jìn)行系統(tǒng)初始化,根據(jù)用戶輸入的具有唯一標(biāo)識特征的密鑰名稱結(jié)合機(jī)器碼生成ECC密鑰對,并將密鑰對中的公鑰以文件的形式存入移動存儲設(shè)備,私鑰留存本地計(jì)算機(jī),從而完成移動存儲設(shè)備和計(jì)算機(jī)的綁定。之后,利用系統(tǒng)加密發(fā)送到該移動存儲設(shè)備的文件只能在該計(jì)算機(jī)上打開。如果用戶需要在其他計(jì)算機(jī)查看已加密的文件則需要根據(jù)用戶輸入的口令將密鑰對中的私鑰經(jīng)過加密存入移動存儲設(shè)備,在解密時(shí)需要設(shè)備擁有者輸入口令打開加密文件,這提供了一定的便利,但也帶來了一定的安全風(fēng)險(xiǎn),使用時(shí)需特別注意。
加密功能提供了針對用戶需求進(jìn)行劃分的2種加密方式。加密過程數(shù)據(jù)流圖如圖3所示,程序流程圖如圖4所示。系統(tǒng)隨機(jī)生成AES加密密鑰,并將所選文件利用AES算法和該密鑰進(jìn)行加密。同時(shí),利用發(fā)方私鑰和收方公鑰將AES加密密鑰進(jìn)行加密,與發(fā)放公鑰一同存入另一文件,作為數(shù)據(jù)密文的密鑰交換文件。數(shù)據(jù)密文文件和密鑰交換文件同時(shí)發(fā)往移動存儲設(shè)備。
解密模塊根據(jù)文件加密的方式進(jìn)行二層解密或三層解密。解密數(shù)據(jù)流圖如圖5所示,程序流程圖如圖6所示。解密時(shí),系統(tǒng)首先獲取密鑰交換文件,獲得發(fā)放的公鑰,結(jié)合本地私鑰將AES密鑰的密文進(jìn)行解密,獲得AES加密密鑰,并用此密鑰對密文文件進(jìn)行解密。在該過程中,會首先判斷本地計(jì)算機(jī)與移動存儲設(shè)備是否匹配,如果不匹配則還需查看移動存儲設(shè)備中是否包含收方的私鑰密文,并提示解密者輸入全局密鑰。
具體實(shí)現(xiàn)時(shí),公鑰體系秘鑰對的生成由用戶端的初始化模塊完成,公鑰以文件格式存儲于用戶移動存儲設(shè)備,對外公開,私鑰以文件格式存儲于用戶個(gè)人計(jì)算機(jī),與用戶計(jì)算機(jī)的機(jī)器碼相關(guān)聯(lián),并可根據(jù)需求不定期重新生成秘鑰對,進(jìn)一步保證了私鑰的安全性。
系統(tǒng)基于.Net平臺進(jìn)行開發(fā),主要使用System.Security.Cryptography類,秘鑰對的生成采用ECDH子類生成。操作系統(tǒng)的文件關(guān)聯(lián)和右鍵操作基于第三方控件SharpShell完成。
開發(fā)過程中創(chuàng)建的類、函數(shù)及其功能說明見表1。
表1 類和函數(shù)說明Tab.1 Classes and functions
系統(tǒng)測試按功能模塊依次測試,各模塊測試通過后進(jìn)行系統(tǒng)聯(lián)調(diào),測試效果良好。測試環(huán)境軟硬件平臺信息如表2所示,測試項(xiàng)目及結(jié)果如表3所示。
表2 測試環(huán)境軟硬件基本信息Tab.2 Hardware and software environment for testing
系統(tǒng)結(jié)合ECC與AES,建立了完善的基于混合加密的移動存儲設(shè)備文件分發(fā)機(jī)制。設(shè)計(jì)了公鑰離線交換機(jī)制,把移動存儲設(shè)備等效為信道,設(shè)計(jì)了混合加密框架,保證移動存儲設(shè)備數(shù)據(jù)分發(fā)過程中的安全性。采用混合加密手段,即采用對稱加密算法AES加解密文件體,而采用ECC進(jìn)行AES密鑰分發(fā)。在該手段下可以獲得對稱加密的高速性和高安全性。設(shè)計(jì)了獨(dú)特的ECC密鑰對生成機(jī)制和保存格式,克服了離線進(jìn)行公鑰交換的困難。系統(tǒng)還設(shè)計(jì)了多層嵌套式的加解密模式,使該系統(tǒng)安全性和便捷性兼?zhèn)洹?/p>
表3 測試項(xiàng)目及結(jié)果Tab.3 Testing items and results
[1]顧桃峰,岳海燕,顧偉,等.便攜式存儲器安全管理平臺的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(2):114-117.GU TAOFENG,YUE HAIYAN,GU WEI,et al.On safety management platform of removable storage devices and its implementation[J].Computer Application and Software,2011,28(2):114-117.(in Chinese)
[2]王飛平,高發(fā)桂.Windows下可移動存儲設(shè)備加密系統(tǒng)的研究與實(shí)現(xiàn)[J].湖北民族學(xué)院學(xué)報(bào):自然科學(xué)版,2016,34(4):442-450.WANG FEIPING,GAO FAGUI.Research and implementation of encrypting system for removable storage device in Windows[J].Journal of Hubei University for Nationalities:Natural Science Edition,2016,34(4):442-450.(in Chinese)
[3]趙清.內(nèi)網(wǎng)中移動存儲設(shè)備的安全防護(hù)技術(shù)及應(yīng)用[J].上海電氣技術(shù),2014,7(3):47-50.ZHAO QING.The technique and applications of intranet security protection for removable storage device[J].Journal of Shanghai Electric Technology,2014,7(3):47-50.(in Chinese)
[4]廖洪其,凌捷,郝彥軍,等.USB移動存儲設(shè)備的惟一性識別方法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(11):2778-2814.LIAO HONGQI,LING JIE,HAO YANJUN,et al.Study on unique identification methods of USB removable device[J].Computer Engineering and Design,2010,31(11):2778-2814.(in Chinese)
[5]郁濱,尹文浩.移動存儲設(shè)備多密級安全交互方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(12):3969-3972.YU BIN,YIN WENHAO.Multilevel security scheme of removable storage device[J].Computer Engineering and Design,2011,32(12):3969-3972.(in Chinese)
[6]李永強(qiáng),譚立清,馬同茂,等.USB移動存儲設(shè)備密級保護(hù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(13):89-91.LI YONGQIANG,TAN LIQING,MA TONGMAO,et al.Design and implementation of multilevel security system for removable storage device[J].Computer CD software and applications,2014(13):89-91.(in Chinese)
[7]張學(xué)思,郁濱.一種基于移動存儲設(shè)備的多密級安全交互模型[J].系統(tǒng)仿真學(xué)報(bào),2015,27(4):755-778.ZHANG XUESI,YU BIN.Security model for multi-level interaction based on portable devices[J].Journal of System Simulation,2015,27(4):755-778.(in Chinese)
[8]DARREL HANKERSON,ALFREDJMENEZES,SCOTT VANSTONE.Guide to elliptic curve cryptography[M].New York:Springer-Verlag,2004:153-204.
[9]ANDREAS ENGE.Elliptic curves and their applications to cryptography[M].New York:Springer,1999:45-108
[10]NIST.Announcing the advanced encryption standard[M].Maryland:Federal Information Processing Standards Pub-lication,2001:13-24.
[11]JOSé M GRANADO CRIADO,MIGUEL A VEGA RODRíGUEZ,JUAN M SáNCHEZ PéREZ,et al.A new methodology to implement the AES algorithm using partial and dynamic reconfiguration[J].Integration,the VLSI Journal,2010,43(1):72-80.
[12]GEOVANDRO C C F PEREIRA,MARCOS A SIMPLICIO,MICHAEL NAEHRIG,et al.A family of implementation-friendly BN elliptic curves[J].Journal of Systems and Software,2011,84(8):1319-1326.
[13]KIMMO J?RVINEN.Optimized FPGA-based elliptic curve cryptography processor for high-speed applications[J].Integration,the VLSI Journal,2011,44(4):270-279.
[14]MOHAMED ELHOSENY,HAMDY ELMINIR,ALAA RIAD,et al.A secure data routing schema for WSN using elliptic curve cryptography and homomorphic encryption[J].Journal of King Saud University-Computer and Information Sciences,2016,28(3):262-275.