本發(fā)明涉及信息安全領(lǐng)域,具體涉及一種針對cd-rom光盤介質(zhì)的讀寫管控系統(tǒng)。
背景技術(shù):
cd-rom這種存儲介質(zhì)常用于涉密部門、圖書館、企業(yè)內(nèi)部對重要電子文件的存儲。保證cd-rom中電子信息的安全可有效防止信息隱私的泄露。
現(xiàn)階段,針對存儲介質(zhì)的電子信息加密與訪問控制主要采取的方法是文件透明加解密系統(tǒng)。該系統(tǒng)通常由過濾驅(qū)動(dòng)程序、加密子系統(tǒng)、密鑰管理、審計(jì)等模塊組成。過濾驅(qū)動(dòng)程序主要實(shí)現(xiàn)對文件系統(tǒng)控制設(shè)備cdo的綁定和i/o請求包irp的過濾,以此來獲取我們要需要捕獲的irp信號,和待加密的內(nèi)容。加密子系統(tǒng)主要是為過濾驅(qū)動(dòng)程序截獲下來的irp數(shù)據(jù)提供加解密服務(wù)。對于加解密算法,安全性的關(guān)鍵在于密鑰的安全性,為此由密鑰管理模塊來實(shí)現(xiàn)對加解密密鑰的生成與管理。審計(jì)模塊主要記錄用戶對cd-rom文件的讀寫操作。
當(dāng)然,通過調(diào)研發(fā)現(xiàn),目前市面上針對cd-rom這類光盤介質(zhì)的讀寫管控產(chǎn)品主要類型是專用光驅(qū)。在硬件架構(gòu)上,專用光驅(qū)內(nèi)嵌一枚安全芯片、轉(zhuǎn)接芯片、以及ram存儲器。市面上的專用光驅(qū)常用的安全芯片型號包括ssx1019,轉(zhuǎn)接芯片型號多為gl827。安全芯片起到的作用多為對傳輸?shù)臄?shù)據(jù)加解密,轉(zhuǎn)接芯片的功能是將usb接口轉(zhuǎn)為sata接口,ram中可存儲安全密鑰。通過上層軟件與底層硬件的協(xié)同工作,使得光盤數(shù)據(jù)的機(jī)密性與完整性得到了良好保證,同時(shí)有效防止非授權(quán)讀寫操作的發(fā)生,取得了不錯(cuò)的訪問控制效果。
傳統(tǒng)文件透明加解密系統(tǒng)的核心功能模塊就是過濾驅(qū)動(dòng)程序,該驅(qū)動(dòng)位于windows內(nèi)核的i/o管理器和文件系統(tǒng)驅(qū)動(dòng)之間,可以有效捕獲針對磁盤的讀寫操作。但是由于光盤讀寫的特殊性,該過濾驅(qū)動(dòng)無法捕獲針對cd-rom這類光盤的讀寫信號,從而無法實(shí)現(xiàn)對cd-rom的電子信息安全防護(hù)。
專用光驅(qū)可以很好地解決針對cd-rom這類光盤介質(zhì)的電子信息泄露的問題。但是一個(gè)不便利的因素就是,所有需要進(jìn)行加密寫入光盤的內(nèi)容,都必須借助專用光驅(qū)來操作。即使用單位不得不配套采購多套專用光驅(qū)供相關(guān)人員使用,這樣造成了硬件成本的增加和攜帶的不便利。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)存在的不足和缺陷,本發(fā)明提供一種針對cd-rom光盤介質(zhì)的讀寫管控系統(tǒng)。
本發(fā)明實(shí)施例提出一種針對cd-rom光盤介質(zhì)的讀寫管控系統(tǒng),包括:
應(yīng)用層結(jié)構(gòu)和內(nèi)核層結(jié)構(gòu);
所述應(yīng)用層結(jié)構(gòu)包括客戶端與服務(wù)端,其中,所述客戶端包括身份驗(yàn)證模塊,監(jiān)控過濾模塊和讀/寫模塊,所述身份驗(yàn)證模塊用于對用戶的訪問控制權(quán)限進(jìn)行管理,包括面向?qū)ο蟮纳矸蒡?yàn)證與安全控制信息寫入,所述監(jiān)控過濾模塊,用于執(zhí)行文件安全等級的識別,在文件安全等級與cd-rom光驅(qū)安全等級不匹配時(shí),觸發(fā)警告信息并將信息寫入日志文件,所述讀/寫模塊用于將燒錄scsi命令和加密密鑰發(fā)送到內(nèi)核空間來完成電子文件的加密;所述服務(wù)端包括注冊模塊與追蹤/審計(jì)模塊,所述注冊模塊用于執(zhí)行面向?qū)ο蟮膽艏驮O(shè)備的注冊與綁定,以及文件安全等級的管控,所述追蹤/審計(jì)模塊用于利用日志文件中的數(shù)據(jù)進(jìn)行靜態(tài)分析與軌跡重建;
所述內(nèi)核層結(jié)構(gòu)包括位于cdrom.sys驅(qū)動(dòng)之上的過濾驅(qū)動(dòng),該過濾驅(qū)動(dòng)通過將上層應(yīng)用直接以scsi形式下發(fā)的命令以及文件系統(tǒng)下發(fā)的命令進(jìn)行聯(lián)合過濾,實(shí)現(xiàn)對光盤刻錄內(nèi)容的讀寫管控。
可選地,所述過濾驅(qū)動(dòng)過濾攔截的信號包括:irp_mj_device_control信號以及irp_mj_read信號;
其中,所述irp_mj_device_control信號分為wriye(10)與read(10)信號,以scsi命令描述塊來描述其內(nèi)部結(jié)構(gòu),所述scsi命令描述塊的首字節(jié)包含一個(gè)操作碼,該操作碼用于詳細(xì)說明客戶端請求要求設(shè)備執(zhí)行的命令類型,2至5字節(jié)包含邏輯塊地址,用于告訴設(shè)備從哪里開始執(zhí)行操作,地址范圍從0到設(shè)備的最大地址,所述scsi命令描述塊存放在scsi_pass_through_direct結(jié)構(gòu)體中,所述scsi_pass_through_direct結(jié)構(gòu)體的databuffer緩沖區(qū)中存儲有來自應(yīng)用程序的待刻錄內(nèi)容;
所述過濾驅(qū)動(dòng)利用所述irp_mj_read信號對光盤數(shù)據(jù)進(jìn)行訪問控制。
可選地,所述過濾驅(qū)動(dòng),具體用于:
根據(jù)scsi命令描述塊中的操作碼來確定命令的種類,若是write(10)命令,查看scsi命令描述塊的邏輯塊地址,若該地址重復(fù)出現(xiàn)、則將命令直接下傳到下一層驅(qū)動(dòng),否則,對databuffer緩沖區(qū)中的內(nèi)容進(jìn)行加密處理;或者若是read(10)命令,查看scsi命令描述塊的邏輯塊地址,若該地址重復(fù)出現(xiàn)、則將命令直接下傳到下一層驅(qū)動(dòng),否則,對databuffer緩沖區(qū)中的內(nèi)容進(jìn)行解密處理。
可選地,所述過濾驅(qū)動(dòng),具體用于:
接收應(yīng)用層傳遞的密鑰,利用所述密鑰對irp_mj_read關(guān)聯(lián)的數(shù)據(jù)緩沖區(qū)執(zhí)行解密操作,以使光盤中的內(nèi)容以明文形式出現(xiàn)。
本發(fā)明實(shí)施例提供的針對cd-rom光盤介質(zhì)的讀寫管控系統(tǒng),通過構(gòu)造cdrom.sys上層類過濾驅(qū)動(dòng)在內(nèi)核空間截獲cd-rom讀寫信號,實(shí)現(xiàn)cd-rom的全生命周期的管控,有效保護(hù)cd-rom的數(shù)字信息內(nèi)容,并著重研究磁盤讀寫與scsi讀寫方式的不同、windows內(nèi)核響應(yīng)機(jī)制,解決了傳統(tǒng)文件透明加解密系統(tǒng)無法對光盤數(shù)據(jù)進(jìn)行有效保護(hù)的問題,同時(shí)解決了由專用光驅(qū)帶來的硬件成本增加的問題。
附圖說明
圖1為本發(fā)明針對cd-rom光盤介質(zhì)的讀寫管控系統(tǒng)一實(shí)施例的結(jié)構(gòu)示意圖;
圖2為10字節(jié)scsi命令描述塊結(jié)構(gòu)體結(jié)構(gòu)示意圖;
圖3為scsi_pass_through_direct結(jié)構(gòu)體示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1是本發(fā)明的系統(tǒng)架構(gòu)模型圖,該架構(gòu)模型分為應(yīng)用層與內(nèi)核層兩部分。
應(yīng)用層面向用戶,分為客戶端與服務(wù)端。其中,客戶端由身份驗(yàn)證模塊,監(jiān)控過濾模塊和讀/寫模塊組成。身份驗(yàn)證模塊用于用戶的訪問控制權(quán)限管理,提供了面向?qū)ο蟮纳矸蒡?yàn)證與安全控制信息寫入的功能。監(jiān)控過濾模塊執(zhí)行文件安全等級的識別,一旦文件安全等級與cd-rom光驅(qū)安全等級不匹配,就會(huì)觸發(fā)警告信息并將信息寫入日志文件。讀/寫模塊會(huì)將燒錄scsi命令和加密密鑰發(fā)送到內(nèi)核空間來完成電子文件的加密。
服務(wù)端由注冊模塊與追蹤/審計(jì)模塊組成。注冊模塊負(fù)責(zé)面向?qū)ο蟮膽艏驮O(shè)備的注冊與綁定,以及文件安全等級的管控。該模塊是客戶端身份驗(yàn)證模塊與過濾監(jiān)控模塊的基礎(chǔ)。追蹤/審計(jì)模塊使用日志文件中的數(shù)據(jù)進(jìn)行靜態(tài)分析與軌跡重建工作。
在內(nèi)核層,通過在cdrom.sys驅(qū)動(dòng)之上構(gòu)造過濾驅(qū)動(dòng),將上層應(yīng)用直接以scsi形式下發(fā)的命令以及文件系統(tǒng)下發(fā)的命令進(jìn)行聯(lián)合過濾,達(dá)到對光盤刻錄內(nèi)容的讀寫管控。本發(fā)明的核心就是基于cdrom的過濾驅(qū)動(dòng)模型。
在過濾驅(qū)動(dòng)模型中,我們主要對兩種信號進(jìn)行攔截:irp_mj_device_control信號以及irp_mj_read信號。
其中,irp_mj_device_control信號分為write(10)與read(10)信號。這兩種命令是典型的10字節(jié)scsi命令,以術(shù)語“scsi命令描述塊”來描述其內(nèi)部結(jié)構(gòu)。圖2為10字節(jié)scsi命令描述塊結(jié)構(gòu)體結(jié)構(gòu)示意圖。
在該結(jié)構(gòu)體中,首字節(jié)包含了一個(gè)操作碼,該操作碼詳細(xì)說明了客戶端請求要求設(shè)備執(zhí)行的命令類型,其中write(10)的十六進(jìn)制操作碼是0x2a,而read(10)的十六進(jìn)制操作碼是0x28。2至5字節(jié)包含了邏輯塊地址(即lba),告訴設(shè)備從哪里開始執(zhí)行操作,地址范圍從0到設(shè)備的最大地址。
來自應(yīng)用程序的待刻錄內(nèi)容存儲在scsi_pass_through_direct結(jié)構(gòu)體的databuffer緩沖區(qū)中,圖3表明scsi_pass_through_direct結(jié)構(gòu)體框架。其中,cdb[16]存放著上文提到的scsi命令描述塊。
為達(dá)到保護(hù)光盤數(shù)據(jù)的目的,首先根據(jù)scsi命令描述塊中的操作碼來確定命令的種類,若是write(10),查看scsi命令描述塊的邏輯塊地址(即lba),若該地址重復(fù)出現(xiàn)、則直接下傳到下一層驅(qū)動(dòng),否則的話對databuffer緩沖區(qū)中的內(nèi)容進(jìn)行加密處理。這樣做保證每個(gè)邏輯塊地址內(nèi)的內(nèi)容只加密一次。
read(10)通常在write(10)完全執(zhí)行完成,即刻錄操作完成后出現(xiàn)。read(10)并不是真正意義上的讀光盤內(nèi)容操作,該命令是為了從現(xiàn)有的cdrom生成一個(gè)iso9660文件系統(tǒng)鏡像文件。為此,也需要查看包含read(10)的scsi命令描述塊的邏輯塊地址(即lba),若該地址重復(fù)出現(xiàn)、則直接下傳到下一層驅(qū)動(dòng),否則的話對databuffer緩沖區(qū)中的內(nèi)容進(jìn)行解密處理,保證每個(gè)邏輯塊地址內(nèi)的內(nèi)容只解密一次。
真正對光盤數(shù)據(jù)起到訪問控制作用的是irp_mj_read信號。當(dāng)使用者擁有正確密鑰并通過驗(yàn)證后,密鑰會(huì)被傳遞至內(nèi)核空間,對irp_mj_read關(guān)聯(lián)的數(shù)據(jù)緩沖區(qū)執(zhí)行解密操作,此時(shí)光盤中的內(nèi)容以明文形式出現(xiàn)。否則,由于文件的完整加密,即文件的內(nèi)容和文件頭都加密,文件系統(tǒng)無法識別文件類型,導(dǎo)致無法正確顯示。
與現(xiàn)有技術(shù)相比,本發(fā)明填補(bǔ)了傳統(tǒng)文件透明加解密系統(tǒng)無法針對光盤數(shù)據(jù)管控的空白,有效解決了光盤數(shù)據(jù)所面臨的機(jī)密性、完整性與授權(quán)訪問等問題。同時(shí),解決了由專用光驅(qū)帶來的硬件成本費(fèi)用增加的問題。在降低成本、提高使用效率上起到了推動(dòng)作用。
雖然結(jié)合附圖描述了本發(fā)明的實(shí)施方式,但是本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下做出各種修改和變型,這樣的修改和變型均落入由所附權(quán)利要求所限定的范圍之內(nèi)。