黃海寧
摘? ?要:隨著互聯(lián)網(wǎng)絡(luò)的快速發(fā)展,給人們的生活和工作造成了翻天覆地的變化,人們能夠通過(guò)互聯(lián)網(wǎng)絡(luò)快速的獲得信息,但與此同時(shí)也會(huì)導(dǎo)致各種隱私在互聯(lián)網(wǎng)絡(luò)上暴露,引起各種安全隱患。例如,病毒、木馬、黑客等入侵,都有可能造成計(jì)算機(jī)安全受到威脅。本文通過(guò)對(duì)現(xiàn)有的透明文件加密系統(tǒng)進(jìn)行分析,提出了基于雙緩沖透明加密文件,可以有效減少對(duì)緩沖頻繁區(qū)域次數(shù)減少保障操作內(nèi)核肽的運(yùn)行性能。
關(guān)鍵詞:Linux系統(tǒng)? 雙緩沖? 透明加密文件? 應(yīng)用分析
中圖分類號(hào):TP309.7;TP316.81? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號(hào):1674-098X(2020)03(a)-0145-02
在Linux系統(tǒng)之中,只有打開(kāi)文件之后才能夠快速的對(duì)文件進(jìn)行讀寫(xiě)操作,而無(wú)論是讀取還是寫(xiě)入,都必須利用VFS映射到具體文件系統(tǒng)之中,在具體文件系統(tǒng)頁(yè)面緩沖查找的過(guò)程中,為了提高讀寫(xiě)的整體速度,必須要將緩存的內(nèi)容保留一份副本。在寫(xiě)入時(shí)則必須要先寫(xiě)入到緩沖頁(yè),空閑時(shí)候再?gòu)木彌_頁(yè)寫(xiě)入到磁盤(pán)。Linux系統(tǒng)可以通過(guò)address space operations保護(hù)緩沖頁(yè)面與具體文件系統(tǒng)之間的關(guān)聯(lián),也能夠?yàn)樽x取頁(yè)和寫(xiě)入頁(yè)實(shí)現(xiàn)快速的讀取和寫(xiě)入,每一個(gè)特定的文件系統(tǒng)都必須利用address space operations結(jié)構(gòu)中的函數(shù),從而為文件加密提供重要的支撐。
1? 系統(tǒng)設(shè)計(jì)
基于雙緩沖透明加密文件系統(tǒng)主要由用戶態(tài)控制臺(tái)、訪問(wèn)控制管理層、密鑰管理層以及頁(yè)面緩存層對(duì)每一個(gè)文件的密文緩沖和明文緩沖[1]。
配置策略層包括用戶態(tài),能夠幫助用戶進(jìn)行快速操作,有效對(duì)部分文件進(jìn)行授信。訪問(wèn)控制管理層能夠?qū)⑴渲貌呗詡鬟f的策略信息進(jìn)行鏈接,實(shí)現(xiàn)VFS通用接口將用戶帶傳遞下來(lái)的文件信息進(jìn)行攔截,利用內(nèi)核態(tài)對(duì)文件的結(jié)構(gòu)體進(jìn)行描述,獲得當(dāng)前操作文件或者進(jìn)程,從而決定是否需要明文或者密文。為了能夠有效解決網(wǎng)絡(luò)的安全隱患,必須要對(duì)數(shù)據(jù)進(jìn)行加密。通過(guò)透明加密技術(shù)能夠保證解密實(shí)現(xiàn)自動(dòng)化透明化,確保文件的安全,但也會(huì)給用戶的正常文件讀寫(xiě)造成影響,影響用戶體驗(yàn)。Linux系統(tǒng)的透明加密文件主要包括用戶透明加密文件系統(tǒng)、基于攔截系統(tǒng)調(diào)用的加密文件系統(tǒng)以及過(guò)濾頁(yè)緩沖透明加密文件系統(tǒng)。用戶透明加密文件系統(tǒng)主要包括內(nèi)核態(tài)和用戶態(tài)的頻繁切換,很容易導(dǎo)致系統(tǒng)性能消耗過(guò)度,不利于整個(gè)程序的正常運(yùn)行,而且因?yàn)闆](méi)有系統(tǒng)級(jí)別的緩存優(yōu)化,也會(huì)造成系統(tǒng)的整體利用效率過(guò)低。
雙緩沖層主要為address space operations結(jié)構(gòu)體,包括明文緩沖以及密文緩沖,為授信進(jìn)程和非授信進(jìn)程快速讀取,在發(fā)生操作時(shí)必須要充分考慮數(shù)據(jù)的一致性,因?yàn)樵趯?xiě)文件的過(guò)程中必須要向密文緩沖區(qū)寫(xiě)入文件,這樣就很容易造成不同緩沖區(qū)之間的內(nèi)容存在差異,所以為了有效避免出現(xiàn)數(shù)據(jù)寫(xiě)入不同步的情況,必須要更新,另一個(gè)緩沖區(qū)的基數(shù)相對(duì)應(yīng)的內(nèi)容,而密鑰管理層主要是通過(guò)128位密鑰AES算法和FEK,算法加密文件所使用的密鑰被稱之為FEK,與只使用一個(gè)密鑰的對(duì)稱算法不同,公鑰加密是非對(duì)稱的,它使用兩個(gè)獨(dú)立的密鑰。為此FEK的產(chǎn)生必須要具有隨機(jī)性,經(jīng)過(guò)加密之后的FEK,每一個(gè)文件末尾必須寫(xiě)入128個(gè)字節(jié),作為整個(gè)文件的原數(shù)據(jù),而公開(kāi)的FEK必須要一對(duì)密鑰統(tǒng)稱為UEK[2]。
2? 雙緩沖透明加密文件系統(tǒng)的實(shí)現(xiàn)
Linux系統(tǒng)為了能夠支持不同文件系統(tǒng)的操作,幫助用戶提供更加干凈整潔的文件系統(tǒng)頁(yè)面。通過(guò)利用虛擬文件系統(tǒng)將整個(gè)文件系統(tǒng)的通用層實(shí)現(xiàn)抽象設(shè)計(jì),從而幫助用戶進(jìn)行系統(tǒng)調(diào)用,快速進(jìn)行讀寫(xiě)。
為了實(shí)現(xiàn)雙緩沖透明加密功能,最主要的就是加強(qiáng)對(duì)虛擬文件系統(tǒng)定義的打開(kāi)讀取,寫(xiě)入等函數(shù)進(jìn)行重定。在打開(kāi)文件時(shí),必須要針對(duì)文件末尾的原數(shù)據(jù)進(jìn)行快速獲取,如果獲取到了,則說(shuō)明該文件并沒(méi)有加密過(guò),用戶只需要導(dǎo)入U(xiǎn)EK就能夠處理,也可以為文件解密提供準(zhǔn)備,如果沒(méi)有獲取原數(shù)據(jù),則表明該文件屬于明文信息,在讀寫(xiě)時(shí)可以根據(jù)用戶不同的選擇進(jìn)行加密或者不加密[3]。
通過(guò)訪問(wèn)控制能夠?qū)ξ募拿魑幕蛘呙芪男畔⑦M(jìn)行判定,如果必須獲取明文數(shù)據(jù),則應(yīng)該在明文的緩沖頁(yè)面查找,如果查找成功則可以直接將明文信息快速反饋給用戶態(tài)。如果查找失敗則應(yīng)該在密文緩沖頁(yè)查找密文數(shù)據(jù),在解密之后傳遞給用戶態(tài),并且將該明文信息緩存在明文緩沖區(qū)。如果在密文緩沖中也沒(méi)有找到相應(yīng)的密鑰,則必須從塊設(shè)備獲取相對(duì)應(yīng)的密文,數(shù)據(jù)在解密之后返回給用戶態(tài),將解密數(shù)據(jù)保存于明文緩沖,如果需要查找密文數(shù)據(jù),則應(yīng)該在密文緩沖中快速查閱[4]。堆棧式文件系統(tǒng)作為虛擬文件系統(tǒng)的重要組成部分,能夠?qū)⑽募到y(tǒng)功能加載到原有文件之上,實(shí)現(xiàn)傳遞式開(kāi)發(fā)。堆棧式文件系統(tǒng)能夠?qū)崿F(xiàn)新的功能,同時(shí)也不會(huì)對(duì)底層文件系統(tǒng)進(jìn)行修改,運(yùn)用堆棧式文件系統(tǒng)的內(nèi)核模塊運(yùn)行,可以有效減少內(nèi)核態(tài)與用戶態(tài)的頻繁切換。具有性能損失少,開(kāi)發(fā)代價(jià)低等優(yōu)勢(shì),所以堆棧式文件系統(tǒng)也成為雙緩沖透明加密文件系統(tǒng)的重要支持。
雙緩沖透明加密文件系統(tǒng)構(gòu)建不可避免的會(huì)涉及到硬件平臺(tái)的選型和軟件系統(tǒng)的選擇,本系統(tǒng)本著性價(jià)比適中的原則完成對(duì)系統(tǒng)所需硬件的購(gòu)置和軟件的定制。硬件平臺(tái)選擇價(jià)格適中性能穩(wěn)定的設(shè)備,軟件環(huán)境盡量選擇開(kāi)源免費(fèi)環(huán)境。隨著業(yè)務(wù)的不斷發(fā)展本系統(tǒng)所承載的業(yè)務(wù)也會(huì)不停的變化,系統(tǒng)應(yīng)該可以靈活的擴(kuò)展,保證對(duì)未來(lái)新業(yè)務(wù)的可擴(kuò)展性。系統(tǒng)各模塊之間盡量做到高內(nèi)聚低耦合,使得模塊之間相對(duì)獨(dú)立便于擴(kuò)展。
3? 系統(tǒng)安全性需求
本雙緩沖透明加密文件系統(tǒng)由于要同時(shí)服務(wù)于專網(wǎng)和互聯(lián)網(wǎng)用戶,對(duì)系統(tǒng)安全性要求不言而喻。首先系統(tǒng)必須考慮隔絕來(lái)自互聯(lián)網(wǎng)的病毒、木馬和非法用戶的注入攻擊,同時(shí)也要對(duì)專網(wǎng)的用戶數(shù)據(jù)進(jìn)行必要的審核防止誤操作。根據(jù)不同用戶的職責(zé)賦予不同權(quán)限,根據(jù)用戶角色進(jìn)行訪問(wèn)審核限制,合理分配用戶權(quán)限避免權(quán)限交叉,以最小權(quán)限原則設(shè)計(jì)用戶權(quán)限,保證數(shù)據(jù)安全。本雙緩沖透明加密文件系統(tǒng)必須考慮到其用戶群體的知識(shí)結(jié)構(gòu)和使用環(huán)境等因素[5]。本雙緩沖透明加密文件系統(tǒng)主要使用者是分布于不同鄉(xiāng)鎮(zhèn)的信息員和縣級(jí)部門(mén)的管理人員,需要同時(shí)滿足鄉(xiāng)鎮(zhèn)信息員簡(jiǎn)單明了界面友好和縣級(jí)部門(mén)管理人員功能強(qiáng)大高效的特點(diǎn)。雙緩沖透明加密文件系統(tǒng)故障率要控制在很低的水平,至少保證周內(nèi)不會(huì)出現(xiàn)宕機(jī)的情況發(fā)生。宕機(jī)頻率應(yīng)低于1次/月,不能出現(xiàn)不可恢復(fù)的系統(tǒng)性故障。具備斷電保護(hù)功能,突然的電力中斷不會(huì)對(duì)系統(tǒng)造成致命的損害。同時(shí),系統(tǒng)還應(yīng)該具備定時(shí)、自動(dòng)、異機(jī)備份重要數(shù)據(jù)庫(kù)的能力,避免由于不同原因?qū)е孪到y(tǒng)崩潰后的無(wú)法恢復(fù)服務(wù)[6]。
4? 結(jié)語(yǔ)
總而言之,通過(guò)本次對(duì)Linux系統(tǒng)下雙緩沖透明加密文件系統(tǒng)的重要應(yīng)用進(jìn)行深入分析詳細(xì)介紹了雙緩沖透明文件加密系統(tǒng)的設(shè)計(jì)理念以及實(shí)現(xiàn)方法,并且根據(jù)系統(tǒng)的安全性能需求進(jìn)行介紹,能夠進(jìn)一步提高整個(gè)雙緩沖透明加密文件系統(tǒng)的設(shè)計(jì)效果。
參考文獻(xiàn)
[1] 黃順?shù)J. 基于TrustZone技術(shù)的數(shù)據(jù)安全加密方法的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2019.
[2] 李康康. 基于strongSwan的國(guó)密IPSec VPN安全方案設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2017.
[3] 孫曉芳. 一種基于內(nèi)容關(guān)聯(lián)密鑰技術(shù)的數(shù)據(jù)庫(kù)系統(tǒng)加密方法研究[D].華中科技大學(xué),2017.
[4] 楊冬奎. 基于ARM嵌入式平臺(tái)的脈沖星數(shù)字后端軟件設(shè)計(jì)與安全防護(hù)技術(shù)研究[D].東南大學(xué),2017.
[5] 黃萌萌. 基于嵌入式平臺(tái)的無(wú)線視頻采集傳輸系統(tǒng)的研究與設(shè)計(jì)[D].太原科技大學(xué),2016.
[6] 方霞,呂海燕,任穎.雙緩沖透明加密文件系統(tǒng)加密與防御體系安全技術(shù)的研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(4):37-38.
科技創(chuàng)新導(dǎo)報(bào)2020年7期