數(shù)據(jù)保密方法及裝置制造方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)保密方法和裝置,所述方法運行于支持虛擬化技術的CPU的VMX?root?operation模式下的Ring0環(huán)上,包括:對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;和當監(jiān)聽到所述目標用戶或目標程序進行I/O操作時,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管;其中,受控內(nèi)存是從計算機物理內(nèi)存中劃出的預定大小的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMX?non-root?operation模式下的Ring0環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。上述方法保證了業(yè)務數(shù)據(jù)的全生命周期安全,解決了涉密信息以明文形式存在的問題。
【專利說明】數(shù)據(jù)保密方法及裝置
【技術領域】
[0001]本發(fā)明涉及信息安全領域,尤其涉及一種數(shù)據(jù)保密方法及裝置。
【背景技術】
[0002]隨著信息技術的運用,越來越多的業(yè)務通過信息系統(tǒng)來完成。某些業(yè)務數(shù)據(jù)被要求以密文存儲和傳輸,但是業(yè)務數(shù)據(jù)在加密之前、加密過程中和解密之后是以明文的形式出現(xiàn)在顯示器上或殘留在內(nèi)外部存儲介質(zhì)中,這將導致業(yè)務數(shù)據(jù)被人為地或意外地泄漏。
[0003]如何以技術手段保障業(yè)務數(shù)據(jù)的全生命周期安全是一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術問題是,針對現(xiàn)有信息安全技術不能保證業(yè)務數(shù)據(jù)的全生命周期安全,提供一種數(shù)據(jù)保密方法及裝置,實現(xiàn)業(yè)務數(shù)據(jù)的全生命周期安全。
[0005]根據(jù)本發(fā)明一個方面,提供一種數(shù)據(jù)保密方法,運行于支持虛擬化技術的CPU的VMX root operat1n模式下的RingO環(huán)上,包括:對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;和當監(jiān)聽到所述目標用戶或目標程序進行I/O操作時,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管;其中,受控內(nèi)存是從計算機物理內(nèi)存中劃出的預定大小的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMX non-root operat1n模式下的RingO環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。
[0006]可選的,對于用戶鍵盤輸入數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括:將目標用戶輸入的涉密數(shù)據(jù)直接放入受控內(nèi)存中;按照第一種預設的規(guī)則對涉密數(shù)據(jù)進行加密,得到密文;將加密結(jié)果發(fā)送給目標程序,和/或根據(jù)第二種預設的規(guī)則以明文或密文的形式將涉密數(shù)據(jù)發(fā)送給顯卡,繼而在顯示器上的顯
/Jn ο
[0007]可選的,對于磁盤輸入/導入數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括:將目標用戶導入的數(shù)據(jù)直接放入受控內(nèi)存中;按照第一種預設的規(guī)則對導入的數(shù)據(jù)進行加密;將加密結(jié)果發(fā)送給目標程序。
[0008]可選的,對于目標程序客戶端或服務器端網(wǎng)絡傳送數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括:當目標程序客戶端和目標程序服務器之間有數(shù)據(jù)傳輸時,將待發(fā)送數(shù)據(jù)放入受控內(nèi)存中;按照第一種預設的規(guī)則對待發(fā)送數(shù)據(jù)進行加密;根據(jù)網(wǎng)絡數(shù)據(jù)包封裝協(xié)議將加密結(jié)果封裝并發(fā)送給網(wǎng)卡,繼而傳輸?shù)侥繕顺绦蚍掌骰蚰繕顺绦蚩蛻舳恕?br>
[0009]可選的,對于目標程序輸出數(shù)據(jù)到顯示器,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括:當目標用戶要在目標程序中查詢數(shù)據(jù)并顯示到顯示器時,將待顯示的數(shù)據(jù)放入受控內(nèi)存中;按照第一種預設的規(guī)則對待顯示的數(shù)據(jù)進行加密,得到密文;根據(jù)第二種預設的規(guī)則以明文或密文的形式將待顯示的數(shù)據(jù)發(fā)送給顯卡,繼而在顯示器上的顯示。
[0010]可選的,對于磁盤輸出/導出數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括:將目標用戶要導出的數(shù)據(jù)放入受控內(nèi)存中;按照第一種預設的規(guī)則對待顯示的數(shù)據(jù)進行加密;將加密結(jié)果以要導出的文件格式存儲到磁盤上。
[0011]可選的,對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽的監(jiān)聽程序常駐受控內(nèi)存中。
[0012]可選的,所述第一種預設的規(guī)則為對數(shù)據(jù)是否進行加解密的規(guī)則和/或如何進行加解密的規(guī)則;所述第二種預設的規(guī)則為是否需要在顯示器上進行明文或密文顯示的規(guī)則。
[0013]根據(jù)本發(fā)明另一個方面,提供一種數(shù)據(jù)保密裝置,部署在支持虛擬化技術的CPU的VMX root operat1n模式下的RingO環(huán)上,包括:
[0014]監(jiān)聽模塊,適于對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;和
[0015]接管模塊,適于當監(jiān)聽到所述目標用戶或目標程序進行I/O操作時,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管;
[0016]其中,受控內(nèi)存是從計算機物理內(nèi)存中劃出的預定大小的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMX non-root operat1n模式下的RingO環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。
[0017]上述方法保證了業(yè)務數(shù)據(jù)的全生命周期安全,解決了涉密信息以明文形式存在的問題。
【專利附圖】
【附圖說明】
[0018]圖1是根據(jù)本發(fā)明一個實施例提供的業(yè)務數(shù)據(jù)安全保障系統(tǒng)總體結(jié)構圖;
[0019]圖2是根據(jù)本發(fā)明一個實施例提供的業(yè)務數(shù)據(jù)安全保障系統(tǒng)針對各種1/0操作的執(zhí)行流程總圖;
[0020]圖3-7是根據(jù)本發(fā)明另外多個實施例提供的業(yè)務數(shù)據(jù)安全保障系統(tǒng)針對不同1/0操作的執(zhí)行流程分圖;和
[0021]圖8是根據(jù)本發(fā)明一個實施例提供的數(shù)據(jù)保密方法的方法流程圖。
【具體實施方式】
[0022]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖,對本發(fā)明進一步詳細說明。應當理解,此處所描述的實例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]發(fā)明人經(jīng)研究發(fā)現(xiàn),可以提供一種保障業(yè)務數(shù)據(jù)全生命周期安全的方法,或者說實現(xiàn)一個業(yè)務數(shù)據(jù)(也可以是其他種類的數(shù)據(jù))安全保障系統(tǒng)。業(yè)務數(shù)據(jù)在整個生命周期中的新增、刪除、修改、查詢操作以及與目標用戶、目標程序的交互將通過業(yè)務數(shù)據(jù)安全保障系統(tǒng)來實現(xiàn),包括:業(yè)務數(shù)據(jù)錄入到目標程序,業(yè)務數(shù)據(jù)從外部存儲導入到目標程序,業(yè)務數(shù)據(jù)從目標程序中導出到外部存儲,業(yè)務數(shù)據(jù)的修改及加工,業(yè)務數(shù)據(jù)的加密及解密,業(yè)務數(shù)據(jù)的存儲,業(yè)務數(shù)據(jù)的顯示,業(yè)務數(shù)據(jù)的銷毀等。
[0024]本發(fā)明中,將被保護的業(yè)務信息系統(tǒng)稱為目標程序,將被保護的人員稱為目標用戶。
[0025]基于上述發(fā)現(xiàn),根據(jù)本發(fā)明一個實施例,提供一種業(yè)務數(shù)據(jù)安全保障系統(tǒng)。系統(tǒng)總體結(jié)構圖以及各個內(nèi)部模塊直接的關系如圖1所示,業(yè)務數(shù)據(jù)安全保障系統(tǒng)包括:
[0026]鍵盤管理模塊、磁盤管理模塊、內(nèi)存管理模塊、顯示管理模塊、網(wǎng)絡傳輸管理模塊及系統(tǒng)管理模塊。
[0027]上述各個模塊并非操作系統(tǒng)原有模塊,而是本發(fā)明提供的業(yè)務數(shù)據(jù)安全保障系統(tǒng)內(nèi)部的新開發(fā)的軟件功能模塊,這些模塊可以替代了操作系統(tǒng)中相應的原有模塊,或者說,他們當并且僅當有業(yè)務需要時接管操作系統(tǒng)原來模塊的功能,即通過繞過操作系統(tǒng)中相應的原有模塊直接管理鍵盤、顯示器、網(wǎng)卡、內(nèi)外部存儲等系統(tǒng)設備,使得業(yè)務數(shù)據(jù)在目標用戶個人計算機內(nèi)外部存儲及顯示器上、在目標程序服務器的內(nèi)外部存儲上、在業(yè)務數(shù)據(jù)通過網(wǎng)絡傳輸時都將以密文方式存在。
[0028]上述模塊的工作模式與操作系統(tǒng)中相應的原有模塊的工作模式基本相同,區(qū)別如下:
[0029](I)內(nèi)存管理模塊:負責管理直接從計算機物理內(nèi)存中劃出的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)Σ僮飨到y(tǒng)不可見也不再受操作系統(tǒng)管理,涉密業(yè)務數(shù)據(jù)的相關操作都將在這塊內(nèi)存區(qū)域中進行(稱為:受控內(nèi)存區(qū)域,與之相對的另外部分稱為:非受控內(nèi)存區(qū)域)。
[0030]當有業(yè)務數(shù)據(jù)進入目標程序、從目標程序中導出業(yè)務數(shù)據(jù)、從目標程序顯示業(yè)務數(shù)據(jù)到顯示器上及目標程序?qū)⒁ㄟ^網(wǎng)絡發(fā)送業(yè)務數(shù)據(jù)時,內(nèi)存管理模塊將對進入受內(nèi)存管理模塊管理的內(nèi)存區(qū)域中的業(yè)務數(shù)據(jù)進行分析、加密/解密、控制顯示等處理;
[0031](2)鍵盤管理模塊:有業(yè)務需要時負責接管鍵盤等輸入設備,保證從輸入設備輸入的明文形式的業(yè)務數(shù)據(jù)直接進入受內(nèi)存管理模塊管理的內(nèi)存區(qū)域中接受進一步處理;
[0032](3)磁盤管理模塊:有業(yè)務需要時負責接管U盤、光盤、移動硬盤和硬盤等磁盤存儲設備,保證從磁盤存儲設備上讀取的明文形式的業(yè)務數(shù)據(jù)直接進入受內(nèi)存管理模塊管理的內(nèi)存區(qū)域中接受進一步處理;
[0033](4)顯示管理模塊:有業(yè)務需要時負責接管顯示輸出設備,保證業(yè)務數(shù)據(jù)以安全可控的方式顯示輸出(明文顯示、密文存儲,或可選擇性的顯示部分明文);
[0034](5)網(wǎng)絡傳輸管理模塊:有業(yè)務需要時負責接管網(wǎng)卡,對業(yè)務數(shù)據(jù)包進行網(wǎng)絡傳輸前和網(wǎng)絡傳輸接收后的預處理(封裝和解包),保證業(yè)務數(shù)據(jù)安全地進行網(wǎng)絡傳輸;
[0035](6)系統(tǒng)管理模塊:現(xiàn)有操作系統(tǒng)沒有的模塊。負責業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)部管理,包括:系統(tǒng)訪問管理、用戶和密碼管理、系統(tǒng)權限管理、數(shù)字證書管理、密鑰管理、力口密算法管理、系統(tǒng)日志管理、系統(tǒng)守護進程管理等。
[0036]另外,需要說明的是:
[0037](I)業(yè)務數(shù)據(jù)安全保障系統(tǒng)的啟用條件:當目標用戶進行業(yè)務操作或目標程序啟動時啟用。
[0038](2)如何接管鍵盤、磁盤、顯卡、網(wǎng)卡等設備:業(yè)務數(shù)據(jù)安全保障系統(tǒng)運行于支持虛擬化技術的CPU的VMX root operat1n模式下的RingO環(huán)上,可以優(yōu)先且直接操作I/O設備。當業(yè)務數(shù)據(jù)安全保障系統(tǒng)啟用后會在受控內(nèi)存中常駐一個監(jiān)聽程序,監(jiān)聽鍵盤、磁盤、顯卡、網(wǎng)卡的讀寫請求,當讀寫請求的發(fā)起人是目標用戶或目標業(yè)務信息系統(tǒng)(即目標程序)時,將對這些設備進行接管。
[0039](3)接管后的設備如何加密解密業(yè)務數(shù)據(jù):業(yè)務數(shù)據(jù)安全保障系統(tǒng)的客戶端和服務器端采用同樣的加密方法,對于接管設備中的已加密的業(yè)務數(shù)據(jù)可以在受內(nèi)存管理模塊管理的內(nèi)存區(qū)域中進行解密,同樣對于明文可以進行加密。
[0040]除上述區(qū)別外,以上各個模塊的工作模式與其所替代的相應的操作系統(tǒng)原有模塊的工作模式相同,在此不再贅述。
[0041]其中,對于接管鍵盤、磁盤、顯卡、網(wǎng)卡等設備的內(nèi)容,此處進一步進行說明,本領域技術人員可以理解:CPU廠商已支持虛擬化,例如X86CPU引入了 Intel-VT技術,支持Intel-VT 的 CPU 有 VMX root operat1n 和 VMX non-root operat1n 兩種模式,兩種模式都支持Ring O?Ring 3這4個運行級別。所以,業(yè)務數(shù)據(jù)安全保障系統(tǒng)可以運行在VMXroot operat1n模式下,客戶OS運行在VMX non-root operat1n模式下。也就說,硬件這層做了些區(qū)分,這樣全虛擬化下,有些靠“捕獲異常-翻譯-模擬”的實現(xiàn)就不需要了。
[0042]根據(jù)本發(fā)明一個實施例,上述系統(tǒng)的工作過程描述如下,如圖2-7所示,包括:
[0043]步驟1、業(yè)務數(shù)據(jù)安全保障系統(tǒng)部署運行于支持虛擬化技術的CPU的VMX rootoperat1n模式下的RingO環(huán)上,能夠優(yōu)先且直接操作1/0設備;
[0044]業(yè)務數(shù)據(jù)安全保障系統(tǒng)將優(yōu)先從計算機物理內(nèi)存中直接劃出預定大小一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMXnon-root operat1n模式下的RingO環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。這樣,涉密業(yè)務數(shù)據(jù)的相關操作都將在業(yè)務數(shù)據(jù)安全保障系統(tǒng)控制的這塊內(nèi)存區(qū)域中進行;
[0045]步驟2、當目標用戶進行業(yè)務操作或目標程序啟動時(例如目標程序客戶端工作時,或者當通過網(wǎng)頁來運行目標程序時)啟用業(yè)務數(shù)據(jù)安全保障系統(tǒng);
[0046]步驟3、常駐業(yè)務數(shù)據(jù)安全保障系統(tǒng)受控內(nèi)存中的監(jiān)聽程序?qū)τ布斎胼敵鲈O備(包括但不限于鍵盤、磁盤、顯卡、網(wǎng)卡)的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;
[0047]步驟4、當監(jiān)聽程序監(jiān)聽到所述目標用戶或目標程序進行1/0操作時,對輸入輸出設備進行接管;
[0048]其中,對于輸入數(shù)據(jù)(即I操作、輸入操作):
[0049](I)對于用戶鍵盤輸入數(shù)據(jù)(參考圖3):
[0050]1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的鍵盤管理模塊將目標用戶輸入的數(shù)據(jù)直接放入業(yè)務數(shù)據(jù)安全保障系統(tǒng)受:控內(nèi)存中;
[0051]i1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊對業(yè)務數(shù)據(jù)進行分析,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則進行加密處理;
[0052]ii1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊調(diào)用業(yè)務數(shù)據(jù)安全保障系統(tǒng)的顯示管理模塊,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則將業(yè)務數(shù)據(jù)以明文或密文的形式發(fā)送到顯卡,繼而在顯示器上的特定位置顯示;
[0053]需要說明的是:給目標程序的數(shù)據(jù)是加密的,因為目標程序運行在不可靠的操作系統(tǒng)上;而給顯卡的數(shù)據(jù)是根據(jù)業(yè)務規(guī)則來選擇顯示明文和密文,方便用戶使用核對輸入的數(shù)據(jù)是否輸錯。
[0054]iv.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊將業(yè)務數(shù)據(jù)發(fā)送到目標程序中。
[0055](2)對于磁盤輸入/導入數(shù)據(jù)(參考圖4):
[0056]1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的磁盤管理模塊將目標用戶導入的數(shù)據(jù)直接放入業(yè)務數(shù)據(jù)安全保障系統(tǒng)受:控內(nèi)存中;
[0057]?.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊對業(yè)務數(shù)據(jù)進行分析,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則進行加密處理;
[0058]ii1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊將業(yè)務數(shù)據(jù)發(fā)送到目標程序中。
[0059](3)對于目標程序客戶端或服務器端網(wǎng)絡傳送數(shù)據(jù)(參考圖5):
[0060]1.當目標程序客戶端或服務器端有數(shù)據(jù)需要發(fā)送到目標程序的服務器端或客戶端時,業(yè)務數(shù)據(jù)安全保障系統(tǒng)的網(wǎng)絡傳輸管理模塊將要發(fā)送的業(yè)務數(shù)據(jù)直接放入業(yè)務數(shù)據(jù)安全保障系統(tǒng)受:控內(nèi)存中;
[0061]i1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊對業(yè)務數(shù)據(jù)進行分析,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則進行加密處理;
[0062]ii1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊將業(yè)務數(shù)據(jù)發(fā)送到業(yè)務數(shù)據(jù)安全保障系統(tǒng)的網(wǎng)絡傳輸管理模塊,該模塊將對數(shù)據(jù)進行封裝并發(fā)送到網(wǎng)卡。
[0063]對于輸出數(shù)據(jù):(即O操作、輸出操作)
[0064](I)對于目標程序輸出數(shù)據(jù)到顯示器(參考圖6):
[0065]1.當目標用戶要在目標程序中查詢數(shù)據(jù)并顯示到顯示器時,業(yè)務數(shù)據(jù)安全保障系統(tǒng)的顯示管理模塊將要顯示的業(yè)務數(shù)據(jù)直接放入業(yè)務數(shù)據(jù)安全保障系統(tǒng)受控內(nèi)存中;
[0066]i1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊對業(yè)務數(shù)據(jù)進行分析,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則進行加密處理;
[0067]ii1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊調(diào)用業(yè)務數(shù)據(jù)安全保障系統(tǒng)的顯示管理模塊,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則將業(yè)務數(shù)據(jù)以明文或密文的形式發(fā)送到顯卡,繼而在顯示器上的特定位置顯示。
[0068](2)對于磁盤輸出/導出數(shù)據(jù)(參考圖7):
[0069]1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的磁盤管理模塊將目標用戶要導出的數(shù)據(jù)直接放入業(yè)務數(shù)據(jù)安全保障系統(tǒng)受控內(nèi)存中;
[0070]i1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的內(nèi)存管理模塊對業(yè)務數(shù)據(jù)進行分析,按照業(yè)務數(shù)據(jù)安全保障系統(tǒng)的系統(tǒng)管理模塊設定的業(yè)務規(guī)則進行加密處理;
[0071]ii1.業(yè)務數(shù)據(jù)安全保障系統(tǒng)的磁盤管理模塊將業(yè)務數(shù)據(jù)以要導出的文件格式存儲到磁盤上。
[0072]需要說明的是,上述對各種I/O設備接管的方法,可以分別對某個I/O設備單獨進行,也可以同時對上述各種I/O設備一起進行。
[0073]基于上述數(shù)據(jù)安全保障系統(tǒng)及其操作過程描述,如圖8所示,根據(jù)本發(fā)明一個實施例,提供一種數(shù)據(jù)保密方法,運行于支持虛擬化技術的CPU的VMX root operat1n模式下的RingO環(huán)上,包括:
[0074]S1、對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;
[0075]S2、當監(jiān)聽到所述目標用戶或目標程序進行I/O操作時,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管;其中,受控內(nèi)存(或受控內(nèi)存區(qū)域)是從計算機物理內(nèi)存中直接劃出的預定大小的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMX non-root operat1n模式下的RingO環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。
[0076]根據(jù)本發(fā)明一個實施例,對于用戶鍵盤輸入數(shù)據(jù),步驟S2中的對所述輸入輸出設備進行接管并將涉密數(shù)據(jù)存放在受控內(nèi)存區(qū)域步驟進一步包括:
[0077]S211、將目標用戶輸入的涉密數(shù)據(jù)直接放入受控內(nèi)存中;
[0078]S212、按照預設的規(guī)則對涉密數(shù)據(jù)進行加密,得到密文;對于預設的規(guī)則,例如,對于合同數(shù)據(jù)中的合同金額就要加密,對于合同號就不用加密;
[0079]S213、將加密結(jié)果發(fā)送給目標程序,和/或根據(jù)預設的規(guī)則以明文或密文的形式將涉密數(shù)據(jù)發(fā)送給顯卡,繼而在顯示器上的顯示。
[0080]根據(jù)本發(fā)明一個實施例,對于磁盤輸入/導入數(shù)據(jù),步驟S2中的對所述輸入輸出設備進行接管并將涉密數(shù)據(jù)存放在受控內(nèi)存區(qū)域步驟進一步包括:
[0081]S221、將目標用戶導入的數(shù)據(jù)直接放入受控內(nèi)存中;
[0082]S222、按照預設的規(guī)則對導入的數(shù)據(jù)進行加密;
[0083]S223、將加密結(jié)果發(fā)送給目標程序。
[0084]根據(jù)本發(fā)明一個實施例,對于目標程序客戶端或服務器端網(wǎng)絡傳送數(shù)據(jù),步驟S2中的對所述輸入輸出設備進行接管并將涉密數(shù)據(jù)存放在受控內(nèi)存區(qū)域步驟進一步包括:
[0085]S231、當目標程序客戶端和目標程序服務器之間有數(shù)據(jù)傳輸時,將待發(fā)送數(shù)據(jù)放入受:控內(nèi)存中;
[0086]S232、按照預設的規(guī)則對待發(fā)送數(shù)據(jù)進行加密;
[0087]S233、根據(jù)網(wǎng)絡數(shù)據(jù)包封裝協(xié)議將加密結(jié)果封裝并發(fā)送給網(wǎng)卡,繼而傳輸?shù)侥繕顺绦蚍掌骰蚰繕顺绦蚩蛻舳恕?br>
[0088]根據(jù)本發(fā)明一個實施例,對于目標程序輸出數(shù)據(jù)到顯示器,步驟S2中的對所述輸入輸出設備進行接管并將涉密數(shù)據(jù)存放在受控內(nèi)存區(qū)域步驟進一步包括:
[0089]S241、當目標用戶要在目標程序中查詢數(shù)據(jù)并顯示到顯示器時,將待顯示的數(shù)據(jù)放入受控內(nèi)存中;
[0090]S242、按照預設的規(guī)則對待顯示的數(shù)據(jù)進行加密,得到密文;
[0091]S243、根據(jù)預設的規(guī)則以明文或密文的形式將待顯示的數(shù)據(jù)發(fā)送給顯卡,繼而在顯示器上的顯示。
[0092]根據(jù)本發(fā)明一個實施例,對于磁盤輸出/導出數(shù)據(jù),步驟S2中的對所述輸入輸出設備進行接管并將涉密數(shù)據(jù)存放在受控內(nèi)存區(qū)域步驟進一步包括:
[0093]S251、將目標用戶要導出的數(shù)據(jù)放入受控內(nèi)存中;
[0094]S252、按照預設的規(guī)則對待顯示的數(shù)據(jù)進行加密;
[0095]S253、將加密結(jié)果以要導出的文件格式存儲到磁盤上。
[0096]應該注意到并理解,在不脫離后附的權利要求所要求的本發(fā)明的精神和范圍的情況下,能夠?qū)ι鲜鲈敿毭枋龅谋景l(fā)明做出各種修改和改進。因此,要求保護的技術方案的范圍不受所給出的任何特定示范教導的限制。
【權利要求】
1.一種數(shù)據(jù)保密方法,運行于支持虛擬化技術的CPU的VMX root operat1n模式下的RingO環(huán)上,包括: 對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;和 當監(jiān)聽到所述目標用戶或目標程序進行I/O操作時,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管; 其中,受控內(nèi)存是從計算機物理內(nèi)存中劃出的預定大小的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMX non-root operat1n模式下的RingO環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。
2.根據(jù)權利要求1所述的數(shù)據(jù)保密方法,其中,對于用戶鍵盤輸入數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括: 將目標用戶輸入的涉密數(shù)據(jù)直接放入受控內(nèi)存中; 按照第一種預設的規(guī)則對涉密數(shù)據(jù)進行加密,得到密文; 將加密結(jié)果發(fā)送給目標程序,和/或根據(jù)第二種預設的規(guī)則以明文或密文的形式將涉密數(shù)據(jù)發(fā)送給顯卡,繼而在顯示器上的顯示。
3.根據(jù)權利要求1所述的數(shù)據(jù)保密方法,其中,對于磁盤輸入/導入數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括: 將目標用戶導入的數(shù)據(jù)直接放入受控內(nèi)存中; 按照第一種預設的規(guī)則對導入的數(shù)據(jù)進行加密; 將加密結(jié)果發(fā)送給目標程序。
4.根據(jù)權利要求1所述的數(shù)據(jù)保密方法,其中,對于目標程序客戶端或服務器端網(wǎng)絡傳送數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括: 當目標程序客戶端和目標程序服務器之間有數(shù)據(jù)傳輸時,將待發(fā)送數(shù)據(jù)放入受控內(nèi)存中; 按照第一種預設的規(guī)則對待發(fā)送數(shù)據(jù)進行加密; 根據(jù)網(wǎng)絡數(shù)據(jù)包封裝協(xié)議將加密結(jié)果封裝并發(fā)送給網(wǎng)卡,繼而傳輸?shù)侥繕顺绦蚍掌骰蚰繕顺绦蚩蛻舳恕?br>
5.根據(jù)權利要求1所述的數(shù)據(jù)保密方法,其中,對于目標程序輸出數(shù)據(jù)到顯示器,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括: 當目標用戶要在目標程序中查詢數(shù)據(jù)并顯示到顯示器時,將待顯示的數(shù)據(jù)放入受控內(nèi)存中; 按照第一種預設的規(guī)則對待顯示的數(shù)據(jù)進行加密,得到密文; 根據(jù)第二種預設的規(guī)則以明文或密文的形式將待顯示的數(shù)據(jù)發(fā)送給顯卡,繼而在顯示器上的顯示。
6.根據(jù)權利要求1所述的數(shù)據(jù)保密方法,其中,對于磁盤輸出/導出數(shù)據(jù),通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管步驟進一步包括: 將目標用戶要導出的數(shù)據(jù)放入受控內(nèi)存中; 按照第一種預設的規(guī)則對待顯示的數(shù)據(jù)進行加密; 將加密結(jié)果以要導出的文件格式存儲到磁盤上。
7.根據(jù)權利要求1所述的數(shù)據(jù)保密方法,其中,對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽的監(jiān)聽程序常駐受控內(nèi)存中。
8.根據(jù)權利要求2或5所述的數(shù)據(jù)保密方法,其中,所述第一種預設的規(guī)則為對數(shù)據(jù)是否進行加解密的規(guī)則和/或如何進行加解密的規(guī)則; 所述第二種預設的規(guī)則為是否需要在顯示器上進行明文或密文顯示的規(guī)則。
9.一種數(shù)據(jù)保密裝置,部署在支持虛擬化技術的CPU的VMX root operat1n模式下的RingO環(huán)上,包括: 監(jiān)聽模塊,適于對計算設備中的輸入輸出設備的讀寫請求進行監(jiān)聽,等待目標用戶或目標程序的操作;和 接管模塊,適于當監(jiān)聽到所述目標用戶或目標程序進行I/O操作時,通過將涉密數(shù)據(jù)存放在受控內(nèi)存來對所述輸入輸出設備進行接管; 其中,受控內(nèi)存是從計算機物理內(nèi)存中劃出的預定大小的一塊內(nèi)存區(qū)域,此內(nèi)存區(qū)域?qū)\行于支持虛擬化技術的CPU的VMX non-root operat1n模式下的RingO環(huán)上的客戶操作系統(tǒng)不可見并且不受其管理。
【文檔編號】G06F21/60GK104182691SQ201410419234
【公開日】2014年12月3日 申請日期:2014年8月22日 優(yōu)先權日:2014年8月22日
【發(fā)明者】董明, 繆燕, 陳曉娟, 鐘金柱, 李海, 張學深, 呂志來 申請人:國家電網(wǎng)公司, 北京許繼電氣有限公司