亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Windows內(nèi)核過(guò)濾驅(qū)動(dòng)的透明加密文件系統(tǒng)的設(shè)計(jì)

        2016-01-21 06:30:05付存君

        付存君

        (重慶師范大學(xué) 涉外商貿(mào)學(xué)院,重慶 401520)

        基于Windows內(nèi)核過(guò)濾驅(qū)動(dòng)的透明加密文件系統(tǒng)的設(shè)計(jì)

        付存君

        (重慶師范大學(xué) 涉外商貿(mào)學(xué)院,重慶 401520)

        摘要:為解決日益突出的信息安全問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一種文件過(guò)濾驅(qū)動(dòng)技術(shù)文件透明加密系統(tǒng)。以Windows操作系統(tǒng)為平臺(tái),以Windows內(nèi)核文件過(guò)濾驅(qū)動(dòng)為核心技術(shù)手段,密切結(jié)合Windows內(nèi)核工作原理,實(shí)現(xiàn)文件的透明加密。旨在設(shè)計(jì)透明加密文件系統(tǒng)并且致力于實(shí)際平臺(tái)的研究與開(kāi)發(fā)。通過(guò)實(shí)驗(yàn)測(cè)試,加密效果良好。

        關(guān)鍵詞:透明加密;過(guò)濾驅(qū)動(dòng);文件系統(tǒng)

        作者簡(jiǎn)介:付存君(1987-),男,重慶巴南人,碩士,助教,研究方向:人工智能。

        中圖分類號(hào):TP393.08

        文獻(xiàn)標(biāo)識(shí)碼:識(shí)碼:A

        文章編號(hào):編號(hào):1008-6390(2015)03-0171-03

        所謂的透明加密技術(shù),主要是指在操作系統(tǒng)的文件系統(tǒng)上加以工作的一個(gè)軟件,它能夠向操作系統(tǒng)提供透明的、實(shí)時(shí)的、動(dòng)態(tài)的數(shù)據(jù)加密。

        網(wǎng)絡(luò)入侵的不斷深入,使得人們對(duì)安全技術(shù)的要求不斷提高。傳統(tǒng)的定制鉤子程序加密文件在很大程度上不能滿足用戶的需求。因此,基于內(nèi)核的過(guò)濾驅(qū)動(dòng)加密系統(tǒng)成為研究熱點(diǎn),本研究采用win7平臺(tái),定制windows內(nèi)核級(jí)的過(guò)濾驅(qū)動(dòng)透明加密文件系統(tǒng),以期提高系統(tǒng)安全性。

        一、設(shè)備驅(qū)動(dòng)程序簡(jiǎn)介和基本結(jié)構(gòu)

        驅(qū)動(dòng)程序的開(kāi)發(fā)和一般的應(yīng)用程序開(kāi)發(fā)有很大的不同。一般在開(kāi)發(fā)時(shí)采用的工具Windows DDK(Device Develop Kit),驅(qū)動(dòng)程序通常不會(huì)打印出字符,這需要使用特殊的調(diào)試工具,DbgView和WinDbg是調(diào)試驅(qū)動(dòng)程序的極方便的工具。

        驅(qū)動(dòng)程序運(yùn)行一般都是在內(nèi)核的模式,有大量例程構(gòu)成,一個(gè)被動(dòng)的組件。操作系統(tǒng)可以調(diào)用其中提供的例程。當(dāng)用戶模式的程序向操作系統(tǒng)發(fā)出一個(gè)請(qǐng)求之后,windows系統(tǒng)能夠接受該請(qǐng)求,然后將請(qǐng)求從用戶模式發(fā)送到內(nèi)核模式的程序。此時(shí)可以調(diào)用相關(guān)的驅(qū)動(dòng)程序例程提供服務(wù)。

        設(shè)備驅(qū)動(dòng)程序的基本結(jié)構(gòu)見(jiàn)圖1。

        圖1 設(shè)備驅(qū)動(dòng)程序的基本結(jié)構(gòu)

        二、用戶加密模塊的研究

        (一)加密簡(jiǎn)介

        加密模塊的性能影響著透明加密文件系統(tǒng)的安全性,如何制定用戶加密策略、選擇加密算法以及密鑰管理很大程度影響加密系統(tǒng)的安全性和整體性。加密算法分為對(duì)稱加密算法和非對(duì)稱加密算法兩大類,對(duì)稱加密算法主要有數(shù)據(jù)加密標(biāo)準(zhǔn),高級(jí)加密標(biāo)準(zhǔn),其優(yōu)點(diǎn)是加密信息速度快,缺點(diǎn)是容易被破解。目前較為安全的算法是AES-256,即密鑰為256位的高級(jí)加密標(biāo)準(zhǔn)。非對(duì)稱加密算法使用最廣的是RSA算法,其優(yōu)點(diǎn)是安全性高不易被破解,在設(shè)計(jì)系統(tǒng)時(shí),需要考慮各種加密算法的優(yōu)缺點(diǎn)和系統(tǒng)的需要,選擇改進(jìn)的RSA加密算法。

        (二)改進(jìn)的RSA加密算法

        加解密速度慢是RSA算法顯著的缺陷。設(shè)m為明文m=(m1,m2,…,mk),相應(yīng)c為密文c=(c1,c2,…,ck),則按照RSA算法,有

        ① 加密運(yùn)算

        ci=miemodn,i=1,2,…,k

        ②解密運(yùn)算

        mi=cidmodn,i=1,2,…,k

        由上可得,加、解密都需要執(zhí)行k次冪剩余運(yùn)算。

        為了提高運(yùn)算速度,也就是要盡可能地減少冪剩余運(yùn)算的次數(shù),可以用加法剩余運(yùn)算。

        改進(jìn)的RSA 算法如下:

        ①加密運(yùn)算

        cj=mj+mj-1(modn),j=k,k-1,…,2

        c1=m1e(modn)

        ②解密運(yùn)算

        m1=c1d(modn)

        mj=cj-mj-1 (modn),j=2,3,…,k

        三、過(guò)濾驅(qū)動(dòng)的透明加密文件系統(tǒng)實(shí)現(xiàn)

        (一)內(nèi)核層與應(yīng)用層交互的設(shè)計(jì)與實(shí)現(xiàn)

        過(guò)濾驅(qū)動(dòng)程序工作在內(nèi)核狀態(tài),然而應(yīng)用程序工作在用戶態(tài),因此,實(shí)現(xiàn)過(guò)濾驅(qū)動(dòng)的透明加密文件系統(tǒng)的部分功能需要在兩者之間進(jìn)行交互。其中主要包含兩個(gè)問(wèn)題,一是用戶層和內(nèi)核層之間的通信交互,二是用戶層和內(nèi)核層之間共享數(shù)據(jù)。

        1.內(nèi)核層與應(yīng)用層通信的設(shè)計(jì)與實(shí)現(xiàn)

        設(shè)計(jì)的過(guò)濾驅(qū)動(dòng)程序主要是對(duì)文件進(jìn)行加密和解密。為了方便用戶使用,需要有圖形化的應(yīng)用程序。這就造成了應(yīng)用層和內(nèi)核之間進(jìn)行通信的問(wèn)題。在兩者之間進(jìn)行通信時(shí),可以使用讀、寫(xiě)函數(shù)。Windows提供的DDK有為內(nèi)核和應(yīng)用層通信提供API,從而能較為方便的進(jìn)行二者通信,應(yīng)用程序可以發(fā)送DeviceIoControl的請(qǐng)求,這種請(qǐng)求是應(yīng)用層和驅(qū)動(dòng)程序交互的必要手段。

        通過(guò)應(yīng)用層實(shí)現(xiàn)對(duì)驅(qū)動(dòng)層的通信流程見(jiàn)圖2。

        2.內(nèi)核層與應(yīng)用層之間數(shù)據(jù)共享的設(shè)計(jì)與實(shí)現(xiàn)

        系統(tǒng)設(shè)計(jì)過(guò)程中的加密算法實(shí)現(xiàn)在USBKey中,在加解密過(guò)程中,為了達(dá)到調(diào)用USBKey內(nèi)部的加解密機(jī)制,需要調(diào)用USBkey提供的相關(guān)接口??墒荱SBKey具有的接口都只是供應(yīng)用層調(diào)用的,而且加解密的時(shí)機(jī)和具體等待解密的數(shù)據(jù)需要由內(nèi)核驅(qū)動(dòng)得到,因此,在應(yīng)用層和內(nèi)核層之間就需要一個(gè)數(shù)據(jù)共享良好的機(jī)制。一般采用在內(nèi)核中申請(qǐng)一塊內(nèi)存區(qū)域作為共享空間,實(shí)現(xiàn)應(yīng)用層和內(nèi)核層之間的數(shù)據(jù)共享通道。

        圖2 應(yīng)用層向驅(qū)動(dòng)層通信流程圖

        實(shí)現(xiàn)方式見(jiàn)圖3。

        圖3 通過(guò)共享內(nèi)區(qū)實(shí)現(xiàn)數(shù)據(jù)在解密流程中的傳遞

        上述實(shí)現(xiàn)方式是可以作為對(duì)應(yīng)用層加密上的回調(diào),在此過(guò)程中沒(méi)有采用真正的回調(diào)機(jī)制,因此被調(diào)用者和調(diào)用者之間有必要建立同步機(jī)制。該機(jī)制的建立是可以通過(guò)創(chuàng)建應(yīng)用層和驅(qū)動(dòng)程序都能調(diào)用的事件對(duì)象來(lái)實(shí)現(xiàn)(見(jiàn)圖4)。

        (二)代碼實(shí)現(xiàn)

        得到被操作的文件名字,打印相關(guān)操作信息,然后下發(fā)IRP到底層驅(qū)動(dòng)。在下發(fā)IRP到底層驅(qū)動(dòng)處理前,本層驅(qū)動(dòng)必須負(fù)責(zé)設(shè)置下層IO堆棧的內(nèi)容。這樣下一層驅(qū)動(dòng)調(diào)用IoGetCurrentIrpStackLocation()時(shí)能得到相應(yīng)的數(shù)據(jù)。設(shè)置下層IO堆棧的內(nèi)容,一般用兩個(gè)函數(shù)來(lái)實(shí)現(xiàn):IoCopyCurrentIrpStackLocationToNext(Irp)

        圖4 通過(guò)事件對(duì)象實(shí)現(xiàn)應(yīng)用層與內(nèi)核層流程圖

        此函數(shù)一般用在本驅(qū)動(dòng)設(shè)置了完成例程時(shí)調(diào)用,把本層IO _STACK_LOCATION 中的參數(shù)copy到下層,但與完成例程相關(guān)的參數(shù)信息例外。因?yàn)楸掘?qū)動(dòng)設(shè)置的完成例程只對(duì)本層驅(qū)動(dòng)有效。IoSkipCurrentIrpStackLocationToNext(Irp)此函數(shù)的作用是直接把本層驅(qū)動(dòng)IO堆棧的內(nèi)容設(shè)置為下層驅(qū)動(dòng)IO堆棧指針的指向。因兩層驅(qū)動(dòng)IO堆棧的內(nèi)容完全一致,省卻copy過(guò)程。而在Filemon的處理中,它用了一個(gè)特別的辦法,沒(méi)有調(diào)用此兩個(gè)函數(shù),F(xiàn)ilemonHookRoutine函數(shù)體里面有三句代碼:

        PIO_STACK_LOCATIONcurrentIrpStack = IoGetCurrentIrpStackLocation(Irp);

        PIO_STACK_LOCATIONnextIrpStack = IoGetNextIrpStackLocation(Irp);

        *nextIrpStack = *currentIrpStack;//此步設(shè)置了下層驅(qū)動(dòng)的IO_STACK_LOCATION

        直接設(shè)置了下層驅(qū)動(dòng)IO堆棧的值。

        在FilemonHookRoutine函數(shù)里,用一個(gè)宏實(shí)現(xiàn)了復(fù)雜的獲得攔截到的被操作文件的名字。

        (三)功能測(cè)試

        基于windows系統(tǒng)的透明加密文件系統(tǒng)通過(guò)調(diào)試運(yùn)行,已經(jīng)成功加載到win7上。可以對(duì)圖片、txt、doc等文件進(jìn)行透明加密。通過(guò)使用WinHex軟件查看相同文件加密前數(shù)據(jù)以及加密后數(shù)據(jù)并進(jìn)行對(duì)比,加密圖片效果如圖5所示,加密word文檔效果如圖6所示。

        圖5(a) 加密前圖片

        圖5(b) 加密后圖片

        圖6(a) 加密前明文

        圖6(b) 加密后密文

        四、結(jié)語(yǔ)

        研究了在win7系統(tǒng)平臺(tái)的過(guò)濾驅(qū)動(dòng)的透明加密文件系統(tǒng),以Windows內(nèi)核文件過(guò)濾驅(qū)動(dòng)為核心技術(shù)手段,密切結(jié)合Windows內(nèi)核工作原理,實(shí)現(xiàn)了應(yīng)用層和內(nèi)核層之間的通信,實(shí)現(xiàn)文件的透明加密。實(shí)驗(yàn)證明,這一系統(tǒng)加密效果良好,具有實(shí)用價(jià)值。

        參考文獻(xiàn):

        [1]鄒家銀,李培峰.透明加解密系統(tǒng)原理與實(shí)現(xiàn)分析[J].計(jì)算機(jī)與現(xiàn)代化,2012(03):85-88.

        [2]高漢軍,寇鵬,王麗娜,等.面向虛擬化平臺(tái)的透明加密系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].武漢大學(xué)學(xué)報(bào):理學(xué)版,2010(2):223-226.

        [3]龍騰飛,李忠福,李艷芳,等.基于文件過(guò)濾驅(qū)動(dòng)的透明加密技術(shù)[J].保密科學(xué)技術(shù),2013(10):31-34.

        [4]王全民,何明,苗雨.基于微過(guò)濾驅(qū)動(dòng)的文件透明加解密系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)安全,2014(3):28-32.

        [5]郝榮彬.基于角色和透明加解密技術(shù)的文件訪問(wèn)控制[J].電腦知識(shí)與技術(shù),2013(28):6259-6261.

        [6]金彪,熊金波,姚志強(qiáng),等.基于身份的受控文檔透明加解密方案[J].計(jì)算機(jī)應(yīng)用,2013(11):3235-3238.

        [7]李梅.兩種算法的理論分析[J].重慶工商大學(xué)學(xué)報(bào):自然科學(xué)版,2014(5):81-83.

        [責(zé)任編輯王南山]

        国产精品视频露脸| 久久中文字幕暴力一区| 日本高清在线一区二区三区| 卡一卡二卡三无人区| 老男人久久青草AV高清| 宅男久久精品国产亚洲av麻豆| 美腿丝袜在线观看视频| 日本另类αv欧美另类aⅴ| 又污又黄又无遮挡的网站| 国产伦码精品一区二区| 亚洲乱码中文字幕一线区| 精品精品国产自在97香蕉| 蜜桃臀无码内射一区二区三区 | 亚洲一区二区三区激情在线观看| 亚洲乱亚洲乱妇无码麻豆| 中文字幕美人妻亅u乚一596| 国产精品无码mv在线观看| 亚洲男人免费视频网站| 国内成+人 亚洲+欧美+综合在线 | 少妇一级内射精品免费| 午夜天堂av天堂久久久| 狠狠色噜噜狠狠狠狠色综合久| 精品人妻丰满久久久a| 国产精品髙潮呻吟久久av| 好大好湿好硬顶到了好爽视频 | 国产91吞精一区二区三区| 国产视频一区二区三区免费| 97丨九色丨国产人妻熟女| 人与嘼交av免费| 一区二区三无码| 国内精品亚洲成av人片| 国产亚洲精品久久久ai换| 国产精品亚洲专区在线播放| 中文字幕人妻av四季| 亚洲一区二区三区影院| 亚洲精品无码久久毛片| 日韩精品国产一区二区| 亚洲黄色天堂网站在线观看禁18| 人与禽交av在线播放| 狼色在线精品影视免费播放| 国产成人国产三级国产精品|