本發(fā)明專利技術屬于信息安全技術領域,具體涉及一種基于Linux系統(tǒng)的軟件安全防護方法。本發(fā)明專利技術的目的是為了解決Linux系統(tǒng)中軟加密強度低、加密速度慢等問題,通過與硬件結(jié)合提高軟件加密防護強度和處理速率,減少對時序性的影響。本方法分為如下步驟:1)與硬件加密卡結(jié)合,采用多級密鑰管理機制;2)采用分類過濾策略,制定安全文件管理方法;3)建立安全策略摘要,安全策略加載到內(nèi)核策略庫,通過該策略安全文件模塊處理讀寫請求;4)利用頁面緩沖功能,進行數(shù)據(jù)雙緩沖處理;5)對需要解密還原的數(shù)據(jù)進行完整性校驗。本發(fā)明專利技術提供的方法提高了軟件安全防護強度,節(jié)約了時間開支,保證了數(shù)據(jù)處理速度和效率。
【技術實現(xiàn)步驟摘要】
本專利技術屬于信息安全
,涉及文件加密處理的一種方法,具體涉及一種,將該方法應用于Linux系統(tǒng)環(huán)境下的非嵌入式軟件安全防護過程,可以保證軟件加密的可靠性。
技術介紹
隨著軟件在測試、控制、任務規(guī)劃等航天領域的不斷應用,軟件安全性問題越來越突出,軟件運行環(huán)境透明,存放在存儲器中的程序很容易被讀取并破解,從而造成核心技術和工作原理的泄露。因此,急需對軟件進行安全防護,提高軟件抗復制、抗反編譯和抗逆向分析的能力。軟件通常由可執(zhí)行文件、庫文件、數(shù)據(jù)文件等組成,軟件安全防護的核心內(nèi)容是文件安全管理,需要在保證軟件正常運行的前提下,采用各種措施對可執(zhí)行文件、數(shù)據(jù)文件等關鍵文件的內(nèi)容進行加密,以提高軟件運行過程的安全性。目前,實施人員對Linux環(huán)境的軟件進行安全防護時,通常把所有文件都進行了加密處理,由于文件眾多,存在加密速度慢、處理效率低等問題,增大了時間消耗,影響了軟件運行的時序性,另外常用的軟加密措施與硬件特征結(jié)合較少,安全強度不夠,關鍵數(shù)據(jù)和參數(shù)很容易被分析和竊取。
技術實現(xiàn)思路
本專利技術的目的是針對現(xiàn)有技術的不足,提出一種基于Linux環(huán)境的軟件安全防護方法,對文件進行分類過濾加密處理,且運算速度快,安全強度高。本專利技術是這樣實現(xiàn)的一種,包括如下步驟(I)在虛擬文件系統(tǒng)和物理文件系統(tǒng)之間生成安全文件模塊,并建立文件管理服務;(2)安裝加密卡并進行初始化,使安全文件模塊與加密卡進行通信;(3)通信正常后,加載安全文件模塊,對被保護的目錄或文件類型進行分類過濾與文件加解密處理;預先定義好待加密的目錄或者文件類型,在執(zhí)行加解密過程中,對已定義的文件進行加解密、對未定義的文件不處理。如上所述的一種,其中所述安全文件模塊使用虛擬文件系統(tǒng)VFS進行文件管理,VFS的對象是一個結(jié)構體,包括超級對象塊、索引節(jié)點對象、目錄項對象、文件對象,及指向操作其父對象的函數(shù)指針,通過繼承使用VFS的通用函數(shù)。如上所述的一種,其中所述對文件進行加解密時,采用密鑰分級管理方法把密鑰分為主密鑰、二級密鑰兩級;主密鑰以隨機系統(tǒng)時間做種子,保存在硬件加密卡密碼芯片的屏蔽區(qū)域中;使用主密鑰對工作密鑰加密生成二級密鑰;工作密鑰種子由隨機真數(shù)發(fā)生器產(chǎn)生,隨機真數(shù)發(fā)生器固化到密碼芯片中,對每個加密文件分別由密鑰種子進行SHAl運算產(chǎn)生一個工作密鑰。如上所述的一種,其中所述文件加密保護時,使用工作密鑰結(jié)合SMl算法對文件進行加密形成加密文件主體,主密鑰通過AES算法對工作密鑰加密生成二級密鑰,存儲在文件頭部,成為加密文件的一部分;文件解密時,取出文件頭部分的二級密鑰,使用主密鑰結(jié)合AES對其解密,得到工作密鑰;再對加密文件主體部分解密,得到源文件。如上所述的一種,其中建立隱藏分區(qū),并在隱藏分區(qū)中存儲安全策略;讀處理時,安全文件模塊攔截到讀磁盤請求后,檢查訪問的進程是否允許訪問加密文件,如果不允許,直接放行;通過文件尾部的加密位判斷該文件是否已經(jīng)被加密,如果該文件沒有被加密,那么直接放行;否則重新構造請求數(shù)據(jù)包,讀取指定長度的數(shù)據(jù)內(nèi)容,并且對數(shù)據(jù)進行解密,返回給原來的請求數(shù)據(jù)包;寫處理時,安全文件模塊攔截到寫磁盤操作后,根據(jù)安全策略判斷該文件是不是需要加密保存,如果需要加密,則對數(shù)據(jù)進行加密,并寫入磁盤。如上所述的一種,其中采用密文和明文雙緩沖方法一個加密文件設有兩種頁面緩沖數(shù)據(jù),一種頁面緩沖數(shù)據(jù)是明文,另一種加密數(shù)據(jù)是密文;內(nèi)核模塊判斷進程是否允許訪問明文數(shù)據(jù),如果允許,則訪問明文緩沖,否則只訪問密文緩沖。如上所述的一種,其中采用文件完整性校驗方法如果文件被定義為可信資源,對其進行完整性保護;如果文件損壞,系統(tǒng)自動對其數(shù)據(jù)進行恢復;在數(shù)據(jù)恢復過程中,資源備份和資源SHAl散列數(shù)據(jù)一一對應,存儲在磁盤隱藏分區(qū)中;在訪問可信資源之前,比較SHAl數(shù)據(jù),如果不匹配,那么將資源從隱藏分區(qū)中恢復。本專利技術的有益效果是通過在Linux環(huán)境的文件系統(tǒng)和操作系統(tǒng)內(nèi)核之間建立一個新的安全文件模塊,該模塊通過服務加載到內(nèi)核。加解密處理時,進行文件類別過濾判斷,如果類型是待加密的類別,則安全文件模塊調(diào)用加密板卡隨機產(chǎn)生的加密密鑰,使用SMl算法加密文件內(nèi)容,提高軟件安全防護強度;如果不是待加密的類別,則直接放過而不做任何處理;通過分類過濾措施,提高了文件加解密速度和數(shù)據(jù)處理效率。附圖說明圖1為本專利技術提供的一種的流程圖;圖2為文件加密處理過程;圖3為文件解密處理過程;圖4為數(shù)據(jù)文件讀處理過程;圖5為數(shù)據(jù)文件寫處理過程。具體實施例方式下面結(jié)合附圖和實施例對本專利技術提供的一種做進一步介紹實施例1 :如圖1所示一種,包括如下步驟(I)生成安全文件模塊,建立文件管理服務,并選定被保護的目錄或被保護的文件類型;文件管理服務以模塊的形式注冊到Linux操作系統(tǒng)下,然后以圖形模式創(chuàng)建新服務名,這樣Linux上電啟動后,就自動執(zhí)行該服務;所述安全文件模塊插在虛擬文件系統(tǒng)和物理文件系統(tǒng)之間,充當一個“過濾器”的角色。該安全文件模塊可以采用面向?qū)ο蟮脑O計思想,使用虛擬文件系統(tǒng)VFS進行文件管理,VFS的對象是一個結(jié)構體,包括超級對象塊、索引節(jié)點對象、目錄項對象、文件對象等,包含指向操作其父對象的函數(shù)指針,通過繼承使用VFS的通用函數(shù),提供一個統(tǒng)一的、抽象的文件系統(tǒng)模型,支持具體的文件系統(tǒng)。安全文件模塊也可以采用其他設計思想或函數(shù)實現(xiàn)該“過濾器”功能。(2)安裝加密卡并進行初始化,使安全文件模塊與加密卡進行通信;(3)通信正常后,利用安全文件模塊對被保護的目錄或文件類型進行分類過濾與文件加密處理與操作權限處理;為保證文件分類過濾,提高加解密速度,采用分類處理機制,即預先定義好待加密的目錄或者文件類型,在執(zhí)行加解密過程中,對已定義的文件進行加解密、對未定義的文件不處理,正常運行,從而避免了對非重要文件加解密造成的時間損耗和資源浪費,保證了加解密速度。安全文件模塊通常加載在電路板卡上(例如PCR板卡),可以先使電路板卡與加密卡建立通信,通信通正常后,加載安全文件模塊,并修改系統(tǒng)配置文件,啟動系統(tǒng)同時掛載此安全文件模塊。實施例2 在實施例1的基礎上,對文件進行加解密時,采用密鑰分級管理方法把密鑰分為主密鑰、二級密鑰兩級。主密鑰以隨機系統(tǒng)時間做種子,保存在硬件加密卡密碼芯片的屏蔽區(qū)域中,字長可為128位,是唯一的根密鑰。工作密鑰不能以明文形式存放,需要進行加密處理,使用主密鑰對工作密鑰加密生成二級密鑰。工作密鑰種子由隨機真數(shù)發(fā)生器產(chǎn)生,隨機真數(shù)發(fā)生器固化到密碼芯片中,對每個加密文件分別由密鑰種子進行SHAl運算產(chǎn)生一個工作密鑰(可為128位)。文件加密解密處理如下如圖2所示,文件加密保護時,使用工作密鑰結(jié)合SMl算法對文件進行加密形成加密文件主體,主密鑰通過AES算法對工作密鑰加密生成二級密鑰,存儲在文件頭部,成為加密文件的一部分。如圖3所示,文件解密時,取出文件頭部分的二級密鑰,使用主密鑰結(jié)合AES對其解密,得到工作密鑰。然后再對加密文件主體部分解密,得到源文件。訪問某文件時,安全文件模塊會判斷此文件是否是被加密的文件,若文件未被加密,則直接執(zhí)行此文件;若此文件是加密處理的文件,安全文件模塊會與加密卡進行通訊,通訊不正常會提示給用戶。通訊正常之后,將此文件交給加密卡做解密工作并放入內(nèi)存之中。加本文檔來自技高網(wǎng)...
【技術保護點】
一種基于Linux系統(tǒng)的軟件安全防護方法,包括如下步驟:(1)在虛擬文件系統(tǒng)和物理文件系統(tǒng)之間生成安全文件模塊,并建立文件管理服務;(2)安裝相應的硬件驅(qū)動并進行初始化,通過硬件驅(qū)動與加密卡進行通信,分配硬件資源;(3)通信正常后,加載安全文件模塊,對被保護的目錄或文件類型進行分類過濾與文件加解密處理;預先定義好待加密的目錄或者文件類型,在執(zhí)行加解密過程中,對已定義的文件進行加解密、對未定義的文件不處理。
【技術特征摘要】
1.一種基于Linux系統(tǒng)的軟件安全防護方法,包括如下步驟 (1)在虛擬文件系統(tǒng)和物理文件系統(tǒng)之間生成安全文件模塊,并建立文件管理服務; (2)安裝相應的硬件驅(qū)動并進行初始化,通過硬件驅(qū)動與加密卡進行通信,分配硬件資源; (3)通信正常后,加載安全文件模塊,對被保護的目錄或文件類型進行分類過濾與文件加解密處理;預先定義好待加密的目錄或者文件類型,在執(zhí)行加解密過程中,對已定義的文件進行加解密、對未定義的文件不處理。2.如權利要求1所述的一種基于Linux系統(tǒng)的軟件安全防護方法,其特征在于所述安全文件模塊使用虛擬文件系統(tǒng)VFS進行文件管理,VFS的對象是一個結(jié)構體,包括超級對象塊、索引節(jié)點對象、目錄項對象、文件對象,及指向操作其父對象的函數(shù)指針,通過繼承使用VFS的通用函數(shù)。3.如權利要求1或2所述的一種基于Linux系統(tǒng)的軟件安全防護方法,其特征在于所述對文件進行加解密時,采用密鑰分級管理方法把密鑰分為主密鑰、二級密鑰兩級;主密鑰以隨機系統(tǒng)時間做種子,保存在硬件加密卡密碼芯片的屏蔽區(qū)域中;使用主密鑰對工作密鑰加密生成二級密鑰;工作密鑰種子由隨機真數(shù)發(fā)生器產(chǎn)生,隨機真數(shù)發(fā)生器固化到密碼芯片中,對每個加密文件分別由密鑰種子進行SHAl運算產(chǎn)生一個工作密鑰。4.如權利要求3所述的一種基于Linux系統(tǒng)的軟件安全防護方法,其特征在于所述文件加密保護時,使用工作密鑰結(jié)合SMl算法對文件進行加密形成加密文件主體,主密鑰通過AES算法對工作密鑰加密生成二級密鑰,存儲在...
【專利技術屬性】
技術研發(fā)人員:蘇均生,李遜,
申請(專利權)人:北京京航計算通訊研究所,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。