廈門銳思特軟件科技有限公司 陳經(jīng)途 唐坤軍
?
一種應(yīng)用于業(yè)務(wù)系統(tǒng)的保護(hù)方法及系統(tǒng)
廈門銳思特軟件科技有限公司陳經(jīng)途唐坤軍
該文論述一種應(yīng)用于業(yè)務(wù)系統(tǒng)的保護(hù)方法及系統(tǒng),其中的保護(hù)系統(tǒng)有兩個插件:第一插件包括接收模塊、發(fā)送模塊、加密模塊、解密模塊、網(wǎng)絡(luò)監(jiān)控模塊、權(quán)限控制模塊、Activex控件模塊、文件系統(tǒng)監(jiān)控模塊;第二插件包括校驗?zāi)K、準(zhǔn)入控制模塊。校驗?zāi)K用于校驗第一插件的認(rèn)證信息和版本;服務(wù)器包括發(fā)送模塊、接收模塊、存儲模塊、配置模塊。其中的保護(hù)方法包括準(zhǔn)入控制過程、加密過程和解密過程。該保護(hù)方法和系統(tǒng)可對業(yè)務(wù)系統(tǒng)進(jìn)行加密和設(shè)置操作權(quán)限,進(jìn)一步提高了業(yè)務(wù)系統(tǒng)的安全性,防止非授權(quán)用戶進(jìn)行非法操作。
系統(tǒng)加固 業(yè)務(wù)系統(tǒng) 保護(hù)數(shù)據(jù) 加密訪問 控制文件加密
隨著計算機技術(shù)的廣泛應(yīng)用,為了提高工作效率,方便作業(yè)管理和商業(yè)數(shù)據(jù)分析等,各行各業(yè)都廣泛應(yīng)用相對應(yīng)的業(yè)務(wù)系統(tǒng),比如OA、ERP、BI等。由于計算機一般都會與互聯(lián)網(wǎng)連接,且具有磁盤驅(qū)動器和USB接口,通過拷貝、另存、下載等手段很容易把業(yè)務(wù)系統(tǒng)的數(shù)據(jù)通過互聯(lián)網(wǎng)傳送到其他計算機上,或者被拷貝到磁盤或U盤中,使存儲在業(yè)務(wù)系統(tǒng)的重要數(shù)據(jù)、文檔很容易被非法泄露,使原數(shù)據(jù)所有者的利益受到威脅。
為了防止存儲在業(yè)務(wù)系統(tǒng)的數(shù)據(jù)被非法訪問和泄露,現(xiàn)有的技術(shù)中一般是通過賬號的權(quán)限進(jìn)行控制,來控制某些頁面的訪問。然而該方法只能粗獷地進(jìn)行一刀切管理,最后只能是能看或者不能看兩種情況,無法達(dá)到既能看又能進(jìn)行細(xì)分的權(quán)限控制和管理,在使用業(yè)務(wù)系統(tǒng)時既不夠人性化,又沒有有效的安全防范。
本文論述一種應(yīng)用于業(yè)務(wù)系統(tǒng)的保護(hù)系統(tǒng),含有兩個插件,其中第一插件包括接收模塊、發(fā)送模塊、加密模塊、解密模塊、網(wǎng)絡(luò)監(jiān)控模塊、權(quán)限控制模塊、Activex控件模塊、文件系統(tǒng)監(jiān)控模塊,所述接收模塊將接收的權(quán)限信息給所述權(quán)限控制模塊,所述加密模塊根據(jù)所述網(wǎng)絡(luò)監(jiān)控模塊設(shè)置的加密標(biāo)志位進(jìn)行加密,所述文件系統(tǒng)監(jiān)控模塊向解密模塊提供解密密鑰,并對解密后的數(shù)據(jù)進(jìn)行相應(yīng)權(quán)限控制。
第二插件,包括校驗?zāi)K、準(zhǔn)入控制模塊,所述校驗?zāi)K用于校驗第一插件的認(rèn)證信息和版本。
服務(wù)器包括發(fā)送模塊、接收模塊、存儲模塊、配置模塊。所述配置模塊對策略配置信息進(jìn)行操作,并通過所述存儲模塊傳遞給所述發(fā)送模塊。
其中,所述第一插件的接收模塊進(jìn)一步接收服務(wù)器發(fā)送模塊發(fā)送的解密密鑰、所述策略配置信息。
第一插件的發(fā)送模塊用以發(fā)送第一插件的日志信息和所述加密模塊產(chǎn)生的隨機密鑰,對所述業(yè)務(wù)系統(tǒng)下載的數(shù)據(jù)進(jìn)行加密,并將密鑰通過所述第一插件的發(fā)送模塊發(fā)送到所述服務(wù)器存儲。
本文論述一種應(yīng)用于業(yè)務(wù)系統(tǒng)的保護(hù)方法包括準(zhǔn)入控制過程,其進(jìn)一步的步驟包括:
步驟一,插件截獲終端訪問業(yè)務(wù)系統(tǒng)的請求,判斷所述終端是否安裝了加密模塊,如果安裝了加密模塊則繼續(xù)步驟二,否則執(zhí)行步驟三。
步驟二,所述插件獲取所述終端的加密模塊句柄,通過所述句柄獲取所述加密模塊相關(guān)信息,使用所述相關(guān)信息和所述插件相關(guān)信息進(jìn)行驗證,如果驗證通過則允許所述終端繼續(xù)訪問所述業(yè)務(wù)系統(tǒng),否則執(zhí)行步驟三。
步驟三,所述插件如果沒有檢測到所述終端的加密模塊,那就禁止所述終端繼續(xù)訪問業(yè)務(wù)系統(tǒng)。
加密過程包括:
步驟一,加密所述插件獲取所述服務(wù)器策略,包括設(shè)置所述服務(wù)器的相關(guān)配置、策略、終端安裝所述插件,去所述服務(wù)器請求相關(guān)策略。
步驟二,所述插件從所述服務(wù)器獲取策略,并進(jìn)行存儲。
步驟三,對所述終端的網(wǎng)絡(luò)行為進(jìn)行檢測,當(dāng)發(fā)現(xiàn)所述終端訪問了所述業(yè)務(wù)系統(tǒng)時,檢查所述插件是否設(shè)置了加密標(biāo)志位,如果設(shè)置了則執(zhí)行步驟四,否則執(zhí)行步驟五。
步驟四,對從所述業(yè)務(wù)系統(tǒng)下載的數(shù)據(jù)進(jìn)行加密。
步驟五,設(shè)置并記錄加密標(biāo)志位。
解密過程包括:
步驟一,所述插件截獲到所述業(yè)務(wù)系統(tǒng)要對加密文件進(jìn)行讀取,首先去所述服務(wù)器獲取密鑰和權(quán)限。
步驟二,所述插件使用獲取的密鑰對所述加密文件進(jìn)行解密,完成解密操作后,完成讀操作。
步驟三,根據(jù)獲取的權(quán)限,對解密后的數(shù)據(jù)進(jìn)行相應(yīng)權(quán)限控制。
所述加密模塊相關(guān)信息包括模塊版本,校驗信息。
為進(jìn)一步闡述本保護(hù)方法,達(dá)到預(yù)定目的,下文結(jié)合附圖及較佳實施例,對依據(jù)該方法及系統(tǒng)的具體實施方式、特征及功效說明如下:
如圖1所示,本保護(hù)業(yè)務(wù)系統(tǒng)的構(gòu)成包括第一插件100、第二插件200和服務(wù)器300。
圖1 系統(tǒng)組成框圖
其中,第一插件100包括接收模塊10、發(fā)送模塊11、加密模塊12、解密模塊13、網(wǎng)絡(luò)監(jiān)控模塊14、權(quán)限控制模塊15、Activex控件模塊16、文件系統(tǒng)監(jiān)控模塊17。第二插件200包括校驗?zāi)K21、準(zhǔn)入控制模塊20。服務(wù)器300包括發(fā)送模塊30、接收模塊31、存儲模塊32、配置模塊33。
具體而言,該系統(tǒng)各模塊的工作過程如下:
在第一插件100中,接收模塊10、接收服務(wù)器300發(fā)來的解密所需要的密鑰、服務(wù)器300對第一插件100進(jìn)行的相關(guān)策略配置,以及解密后所需要進(jìn)行控制的相關(guān)權(quán)限信息。
發(fā)送模塊11向服務(wù)器300的接收模塊31發(fā)送第一插件100的相關(guān)日志信息、發(fā)送第一插件100加密模塊12產(chǎn)生的隨機密鑰。
加密模塊12產(chǎn)生隨機密鑰,并對業(yè)務(wù)系統(tǒng)800下載的數(shù)據(jù)進(jìn)行加密,并發(fā)送密鑰到服務(wù)器300端進(jìn)行存儲備份。
解密模塊13解密密鑰,使用解密后的密鑰對密文進(jìn)行解密。
網(wǎng)絡(luò)監(jiān)控模塊14在網(wǎng)絡(luò)tdi層進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包監(jiān)控,當(dāng)發(fā)現(xiàn)有匹配策略的url時,設(shè)置加密標(biāo)志位。
權(quán)限控制模塊15利用鉤子、進(jìn)程注入等技術(shù)實現(xiàn)對解密后的數(shù)據(jù)進(jìn)行相應(yīng)權(quán)限控制。
Activex模塊 16注冊 activex控件,目的是讓第二插件200進(jìn)行讀取該控件,并判斷是否安裝第一插件100并且是合法的。
文件系統(tǒng)監(jiān)控模塊 17利用內(nèi)核級的鉤子對文件的讀寫操作進(jìn)程攔截,修改加密緩存,達(dá)到透明加解密的目的。
在第二插件200中,當(dāng)有終端400訪問業(yè)務(wù)系統(tǒng)800時,準(zhǔn)入控制模塊20對該終端400進(jìn)行檢測,通過Javascript語言獲取第一插件100模塊16的句柄,如果獲取成功,再通過該句柄獲取并且將第一插件100的版本、校驗碼等信息與第二插件200進(jìn)行校驗,如果校驗通過,則準(zhǔn)入控制模塊放行,允許終端400訪問業(yè)務(wù)系統(tǒng)800,否則禁止終端400訪問業(yè)務(wù)系統(tǒng)800。
校驗?zāi)K21校驗終端400第一插件100版本,校驗終端400第一插件100認(rèn)證信息。
在服務(wù)器300中,發(fā)送模塊30根據(jù)終端400第一插件100發(fā)送過來的請求進(jìn)行解析,并把第一插件100需要的信息回送給第一插件100。接收模塊31接收從第一插件100發(fā)過來的命令請求、日志信息;存儲模塊32存儲策略信息;配置模塊33對策略信息進(jìn)行增加、修改、刪除等操作。
應(yīng)用上述業(yè)務(wù)系統(tǒng)的保護(hù)方法中,包括服務(wù)器的設(shè)置、準(zhǔn)入控制、加解密過程等幾個方面內(nèi)容。其中準(zhǔn)入控制如圖2所示。
圖2 準(zhǔn)入控制的流程示意圖
將第二插件200的準(zhǔn)入控制模塊20安裝在本業(yè)務(wù)系統(tǒng)首頁,當(dāng)終端400訪問業(yè)務(wù)系統(tǒng)800時,會首先運行準(zhǔn)入控制模塊20,具體步驟如下:
步驟201:通過Javascript獲取第一插件100的Activex控件模塊16句柄。
步驟202:步驟201,獲取句柄失敗,執(zhí)行步驟203。
步驟203:準(zhǔn)入控制返回禁止,阻止終端400訪問業(yè)務(wù)系統(tǒng)800。
步驟204:步驟201獲取句柄成功,執(zhí)行步驟205。
步驟205:通過步驟201獲取的句柄,讀取第一插件100的版本信息、校驗信息等。成功讀取信息后與第二插件 200的校驗信息進(jìn)行比較,如果版本信息不對或者校驗信息無法匹配,執(zhí)行步驟 206;否則如果版本信息正確并且校驗信息業(yè)匹配,執(zhí)行步驟207。
步驟206:執(zhí)行步驟203。
步驟207:執(zhí)行步驟208。
步驟208:返回允許。
圖3給出了本保護(hù)業(yè)務(wù)系統(tǒng)800方法中加解密過程的示意圖。
步驟100:設(shè)置服務(wù)器300的相關(guān)配置、策略等。
步驟101:終端400安裝第一插件100,去服務(wù)器300請求相關(guān)策略。
步驟102:獲取策略。
步驟103:存儲獲取到的策略。
步驟104:終端400訪問業(yè)務(wù)系統(tǒng)800。
步驟105:判斷訪問業(yè)務(wù)系統(tǒng)800的url是否符合受控的條件。
步驟106:不符合受控條件,第一插件100不做任何動作。
步驟107:符合受控條件,執(zhí)行步驟108。
步驟108:設(shè)置加密標(biāo)志位。
步驟109:瀏覽或下載受控業(yè)務(wù)系統(tǒng)800數(shù)據(jù)。
步驟110:判斷加密標(biāo)志位。
步驟111:設(shè)置了標(biāo)志位,執(zhí)行步驟112。
步驟112:加密下載或瀏覽的受控業(yè)務(wù)系統(tǒng)800數(shù)據(jù)。
步驟113:把加密后的數(shù)據(jù)發(fā)送給終端400。
步驟114:未設(shè)置加密標(biāo)志位,第一插件100不做任何處理,把數(shù)據(jù)返回給終端400。
步驟115:上傳數(shù)據(jù)到受控業(yè)務(wù)系統(tǒng)800。
步驟116:判斷上傳的數(shù)據(jù)是否是加密數(shù)據(jù)。
步驟117:如果步驟116判斷是非加密數(shù)據(jù),那就直接把數(shù)據(jù)發(fā)送給受控業(yè)務(wù)系統(tǒng)800。
步驟118:如果步驟116判斷是加密數(shù)據(jù),執(zhí)行步驟119。
步驟119:判斷加密標(biāo)志位。
步驟120:如果步驟119判斷設(shè)置了加密標(biāo)志位,則執(zhí)行步驟121。
步驟121:解密數(shù)據(jù)。
步驟122:上傳解密數(shù)據(jù)。
步驟123:如果步驟119判斷未設(shè)置加密標(biāo)志位,則直接將加密數(shù)據(jù)上傳到受控業(yè)務(wù)系統(tǒng)800。
圖3 加解密過程的流程示意圖
服務(wù)器300設(shè)置過程如圖4所示。
步驟300:配置或修改需要保護(hù)的業(yè)務(wù)系統(tǒng)800url地址,并設(shè)置相關(guān)規(guī)則。
步驟301:存儲配置數(shù)據(jù)。
步驟302:終端400發(fā)送請求,獲取規(guī)則策略。
步驟303:解密終端400發(fā)送過來的請求包。
步驟304:解析請求。
步驟305:組包策略信息。
步驟306:加密組包策略信息。
步驟307:根據(jù)請求返回結(jié)果。
圖4 服務(wù)器設(shè)置的流程示意圖
如圖5所示,這是將本保護(hù)方法應(yīng)用于商業(yè)智能分析系統(tǒng)(BI)的一個較佳實例。
步驟400:終端400訪問BI系統(tǒng)。
步驟401:判斷終端400是否安裝第一插件100。
步驟402:如果檢測到終端400未安裝第一插件100,由BI系統(tǒng)采用cab包的方式,安裝插件到終端400。
步驟403:安裝插件。
步驟404:判斷已安裝第一插件100。
步驟405:由第一插件100負(fù)責(zé)加密BI相關(guān)數(shù)據(jù)。步驟406:由第一插件100負(fù)責(zé)控制瀏覽器內(nèi)相關(guān)數(shù)據(jù)。
圖5 一個較佳實施例的流程示意圖
在本文提出的保護(hù)方法及系統(tǒng)被應(yīng)用前,從業(yè)務(wù)系統(tǒng)下載和瀏覽的數(shù)據(jù)都是明文,不受任何權(quán)限控制,業(yè)務(wù)人員很容易把BI相關(guān)商業(yè)核心數(shù)據(jù)拷貝、打印、截屏等途徑泄密出去。
應(yīng)用后,從業(yè)務(wù)系統(tǒng)下載和瀏覽的數(shù)據(jù)都是經(jīng)過加密的,并且受權(quán)限控制,業(yè)務(wù)人員不能把BI相關(guān)商業(yè)核心數(shù)據(jù)通過拷貝、打印、截屏等途徑泄密出去,有效地保護(hù)了業(yè)務(wù)系統(tǒng)的商業(yè)核心數(shù)據(jù)。
[1] 陳平. 文件透明加密系統(tǒng)的研究與實現(xiàn)[D]. 杭州:杭州電子科技大學(xué),2011.
[2] 梅凱珍. 企業(yè)局域網(wǎng)文件安全加密技術(shù)研究與設(shè)計[D]. 南京:江蘇科技大學(xué).2012.
[3] 蘇州國芯科技有限公司.一種用于信息安全的嵌入式 CUP[P]. CN1545023.2004-11-10