法防止終端操作系統(tǒng)內(nèi)部信息的泄漏或篡改?;诖?,本發(fā)明實施例提供了一種基于虛擬化技術(shù)的終端可信增強方法及系統(tǒng)。下面通過實施例進行描述。
[0048]本發(fā)明所提供的可信增強方法更適用于安裝裸機型虛擬機的終端。裸機型虛擬機是基于操作系統(tǒng)基礎(chǔ)上的虛擬機,在切換終端上安裝的不同裸機型虛擬機時,需要關(guān)閉當前正啟用的裸機型虛擬機,然后啟動需要使用的裸機型虛擬機。裸機型虛擬機與應(yīng)用層虛擬機不同,兩者之間的區(qū)別在于,應(yīng)用層虛擬機共用終端的系統(tǒng)資源,啟動應(yīng)用層虛擬機不需要關(guān)閉終端安裝的其他應(yīng)用層虛擬機。而裸機型虛擬機獨占使用終端的系統(tǒng)資源,每次使用一裸機型虛擬機時都要先關(guān)閉終端安裝的其他裸機型虛擬機。本發(fā)明提供的基于虛擬化技術(shù)的終端可信增強方法就是基于終端的裸機型虛擬化技術(shù)的。下面通過具體的實施例來描述該可信增強方法。
[0049]實施例1
[0050]參見圖1A,本發(fā)明實施例提供了一種基于虛擬化技術(shù)的終端可信增強方法。在本發(fā)明實施例中,以裸機型虛擬機技術(shù)和可信計算技術(shù)為基礎(chǔ),設(shè)計并開發(fā)可信終端,通過管理中心對可信終端進行統(tǒng)一管理,實現(xiàn)可信終端的可信增強。在本發(fā)明中,可信終端可以為計算機、網(wǎng)關(guān)或PAD (Portable Android Device,平板電腦)等終端設(shè)備。該方法具體包括以下步驟:
[0051]其中,在實現(xiàn)可信終端的可信增強時,管理中心首先通過如下步驟101-104的操作來對可信終端進行初始化配置。
[0052]步驟101:管理中心生成Ukey(小型存儲設(shè)備)配置信息,將Ukey配置信息存儲在可信終端對應(yīng)的Ukey中,該Ukey配置信息包括校驗信息;
[0053]在本發(fā)明實施例中,管理中心可以為管理服務(wù)器或具有管理控制功能的終端等,可信終端可以為計算機或網(wǎng)關(guān)等設(shè)備。上述Ukey是一種通過USB (Universal Serial Bus,通用串行總線)接口直接與可信終端相連、具有密碼驗證功能且可靠高速的小型存儲設(shè)備。且本發(fā)明所采用的Ukey中內(nèi)置了 SM3(密碼雜湊算法)算法、SM2 (非對稱密碼算法)算法和SM4 (對稱密碼算法)算法。
[0054]管理中心根據(jù)系統(tǒng)運行過程中所需的數(shù)據(jù)結(jié)構(gòu)和算法,生成Ukey配置信息。Ukey配置信息所占用的Ukey存儲空間大小約為2KB。如圖1B所示,Ukey配置信息包括PIN (Personal Identificat1n Number,個人識別密碼)碼、Ukey 證書、Ukey 私鑰、校驗信息、狀態(tài)位和管理中心的證書。上述校驗信息包括內(nèi)核白名單校驗值以及裸機型虛擬機文件、MBR(Main Boot Record,主引導記錄)和0SL0ADER(操作系統(tǒng)加載程序)的校驗值。其中,圖1B中沒有明確標識出校驗信息,而是直接畫出內(nèi)核白名單校驗值以及裸機型虛擬機文件、MBR和0SL0ADER的校驗值。上述校驗值的大小均為32字節(jié)。
[0055]其中,PIN碼用于進行設(shè)備認證,終端在需要讀或?qū)慤key中的數(shù)據(jù)時,需要首先輸入PIN碼,通過認證后才允許執(zhí)行下一步操作。另外,可信終端上可以根據(jù)用戶需求安裝多個裸機型虛擬機,Ukey證書是管理中心為可信終端上的每個裸機型虛擬機生成的證書,Ukey證書的個數(shù)與可信終端上裸機型虛擬機的個數(shù)相同。Ukey私鑰與Ukey證書一一對應(yīng),因此Ukey私鑰的個數(shù)也與裸機型虛擬機的個數(shù)相同。上述內(nèi)核白名單校驗值包括系統(tǒng)注冊表中所有boot (引導)項的SM3校驗值。每個boot項的SM3校驗值的大小均為32字節(jié)。Ukey配置信息包括的狀態(tài)位為0或1,0表示啟動時需執(zhí)行安裝流程,即完成校驗值采集過程,1表示啟動時需執(zhí)行靜態(tài)信任鏈建立流程,即正常啟動過程。
[0056]管理中心生成Ukey配置信息之后,將Ukey配置信息存儲在可信終端對應(yīng)的Ukey中。在本發(fā)明實施例中,管理中心可以對多個可信終端進行統(tǒng)一管理,按照本步驟的操作為每一個可信終端配置Ukey??尚沤K端對應(yīng)的Ukey配置完成后發(fā)放給該可信終端對應(yīng)的用戶。
[0057]在本發(fā)明中,采用外置Ukey進行檢驗的方式,實現(xiàn)虛擬的可信終端的靜態(tài)信任鏈和動態(tài)信任鏈的完整傳遞,保障了終端的安全可信。其中,靜態(tài)信任鏈即為操作系統(tǒng)各層文件完整性校驗通過后啟動操作系統(tǒng),動態(tài)信任鏈即為應(yīng)用程序完整性檢驗通過后加載應(yīng)用程序。
[0058]為可信終端配置Ukey后,可信終端可以通過Ukey來檢測操作系統(tǒng)各部分的完整性,當操作系統(tǒng)各部分均檢測通過后,才能啟動操作系統(tǒng),從而實現(xiàn)了靜態(tài)信任鏈的建立,增強了可信終端的可信性。
[0059]在本發(fā)明中,管理中心對Ukey進行發(fā)行、維護或注銷等管理操作。首先選擇某一裸機型虛擬機,可查看到此裸機型虛擬機對應(yīng)的Ukey信息,包括Ukey編號、發(fā)行時間、發(fā)行人、維護時間、維護人及當前狀態(tài)。當前狀態(tài)分為在用、已過期和待發(fā)行三種狀態(tài)。在用狀態(tài)屬于正常狀態(tài),已過期狀態(tài)需要進行維護,待發(fā)行狀態(tài)的Ukey不可用。
[0060]發(fā)行Ukey時,向Ukey中寫入初始PIN碼,狀態(tài)位。同時獲取對應(yīng)終端中的裸機型虛擬機數(shù)量,調(diào)用證書生成接口生成對應(yīng)數(shù)量的證書和私鑰,寫入Ukey,同時將證書數(shù)據(jù)再存入管理中心數(shù)據(jù)庫中。
[0061]在本發(fā)明中,通過Ukey來保證可信終端的操作系統(tǒng)正常啟動之后,可信終端上加載的應(yīng)用程序、服務(wù)或外部設(shè)備驅(qū)動等也可能存在不完整或被篡改的可能,導致可信終端的可信性不高,因此管理中心需要通過如下步驟102的操作來為所有的可信終端配置一個通用的白名單配置文件,使可信終端可以根據(jù)該白名單配置文件檢驗加載的應(yīng)用程序、月艮務(wù)或外部設(shè)備驅(qū)動的完整性,以進一步增強可信終端的可信性。
[0062]步驟102:管理中心獲取白名單配置文件,白名單配置文件包括應(yīng)用程序的標識、應(yīng)用程序的動態(tài)庫的標識及應(yīng)用程序的摘要值;
[0063]管理中心通過在樣板機上安裝需要的應(yīng)用程序來生成白名單配置文件,具體包括:
[0064]管理中心在樣板機上安裝應(yīng)用程序時,通過可信進程調(diào)用本地SM3算法計算應(yīng)用程序的每個可執(zhí)行文件的摘要值,得到應(yīng)用程序的摘要值。管理中心檢測到應(yīng)用程序安裝過程中加載動態(tài)庫時,獲取動態(tài)庫的名稱。管理中心將應(yīng)用程序的名稱、動態(tài)庫的名稱及應(yīng)用程序的摘要值組成白名單配置文件中該應(yīng)用程序?qū)?yīng)的一條記錄。對于需要的每個應(yīng)用程序,都按照上述方式生成該應(yīng)用程序?qū)?yīng)的一條記錄。
[0065]另外,對于不同版本的操作系統(tǒng)存在不同的內(nèi)核應(yīng)用程序,這部分內(nèi)核應(yīng)用程序也由樣板機可信進程按照上述方式完成信息采集,將采集到的信息追加到白名單文件中。樣板機將采集到的信息上傳至管理中心,管理中心對每個樣板機上傳的信息進行匯總,得到白名單配置文件。
[0066]管理中心還將所采集應(yīng)用程序的名稱、采集時間、采集人等信息錄入數(shù)據(jù)庫,便于管理員查看。管理中心具有白名單管理功能,主要包括白名單信息的查看。管理員可以通過管理中心以列表方式查詢當前白名單配置文件中所包含的應(yīng)用程序名稱、采集時間和采集人等信息。當可信終端需要運行新的應(yīng)用程序時,可向管理中心提出申請,管理員審查通過后,管理中心通過在樣板機上安裝該新的應(yīng)用程序的方式,采集該新的應(yīng)用程序的摘要值加入白名單配置文件,將生成的新的白名單配置文件下發(fā)給可信終端,使可信終端利用新的白名單配置文件替換原有的白名單配置文件。
[0067]通過上述步驟101和102的操作配置了可信終端對應(yīng)的Ukey,并生成了白名單配置文件之后,需要通過如下步驟103的操作對可信終端進行初始化配置。
[0068]步驟103:管理中心發(fā)送裸機型虛擬機安裝程序和白名單配置文件給可信終端;
[0069]在本發(fā)明中,開發(fā)裸機型裸機型虛擬機,從底層硬件起虛擬出多個用戶裸機型虛擬機。在可信終端安裝裸機型虛擬機之前,管理中心通過在線或離線的方式發(fā)送裸機型虛擬機安裝程序給可信終端。上述離線的方式可以為通過安裝光盤等傳輸介質(zhì)將裸機型虛擬機安裝文件下發(fā)給可信終端。同時,將白名單配置文件發(fā)送給可信終端。
[0070]另外,在本步驟中也可以由可信終端主動向管理中心請求獲取裸機型虛擬機安裝程度和白名單配置文件。
[0071]在本發(fā)明中,可以通過管理中心來統(tǒng)一管理多個可信終端。管理中心中存儲有每個可信終端的記錄??尚沤K端的記錄中包括可信終端ID (Identity,身份標識號碼)、所屬部門、負責人ID、裸機型虛擬機數(shù)量及當前狀態(tài)。其中,裸機型虛擬機數(shù)量為預(yù)設(shè)的,可以為1至8之間的任一數(shù)值。當前狀態(tài)用于標識該可信終端是否已啟用。管理人員可以通過管理中心查詢每個可信終端的記錄。可信終端的記錄中除可信終端ID外其它信息均可以修改。在刪除一可信終端的記錄時,需要首先判斷此可信終端是否已分配Ukey。若已分配,則需要先注銷其Ukey,再刪除該可信終端的記錄。若未分配Ukey,則可直接刪除該可信終端的記錄。刪除記錄后,該可信終端將不能正常啟用。且刪除該可信終端的記錄時需同時刪除該可信終端相應(yīng)的裸機型虛擬機記錄。
[0072]步驟104:可信終端接收管理中心發(fā)送的裸機型虛擬機安裝程序和白名單配置文件,存儲白名單配置文件,通過USB接口與Ukey建立通信連接,根據(jù)裸機型虛擬機安裝程序,安裝預(yù)設(shè)數(shù)量的裸機型虛擬機;
[0073]在本步驟中可信終端通過USB接口與Ukey建立通信連接的過程如下:
[0074]可信終端檢測到USB接口有Ukey插入時,提示用戶輸入PIN碼,當檢測到用戶的輸入操作時獲取用戶輸入的PIN碼。可信終端通過與Ukey之間的通信連接獲取Ukey中存儲的PIN碼,將獲取的PIN碼與用戶輸入的PIN碼進行比較,若獲取的PIN碼與用戶輸入的PIN碼相同,則可信終端與Ukey建立通信連接。否則建立通信連接失敗,可以提示用戶再次輸入PIN