新四季網

一種可信度量方法及裝置製造方法

2023-10-08 22:53:04 2

一種可信度量方法及裝置製造方法
【專利摘要】本申請提供一種可信度量方法及裝置,該方法包括:在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將所述第一處理結果進行第二方式的處理作為參考值;在所述系統運行時的第一時刻,通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果,並將所述第二處理結果進行所述第二方式的處理獲得第一測量值;判斷所述第一測量值和所述參考值是否相等,若是,則所述系統可信;其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。
【專利說明】一種可信度量方法及裝置

【技術領域】
[0001]本申請涉及安全【技術領域】,尤其涉及一種可信度量方法及裝置。

【背景技術】
[0002]為了解決計算機結構上的不安全、從基礎上提高計算機的可信性,業界組織了可信計算平臺聯盟(英文:Trusted Computing Platform Alliance ;簡稱:TCPA)。TCPA 定義了具有安全存儲和加密功能的可信平臺模塊(英文:Trusted Platform Module ;簡稱:TPM) ο 2003年3月,TCPA改組為可信計算組織(英文:Trusted Computing Group ;簡稱:TCG)。
[0003]TCG對「可信」的定義是:一個實體在實現給定目標時,如果該實體的行為總是和預期的相同,則該實體是可信的。
[0004]可信計算的主要手段是進行身份確認,使用加密進行存儲保護及使用完整性度量進行完整性保護。基本思想是在計算機系統中首先建立一個信任根,再建立一條信任鏈,一級測量認證一級,一級信任一級,把信任關係擴大到整個計算機系統,從而確保計算機系統的可信。具體來說,TPM晶片首先度量當前底層固件的完整性,如正確則完成正常的系統初始化。然後由底層固件度量基本輸入輸出系統(英文:Basic Input Output System ;簡稱:B1S)的完整性,如正確,則由B1S繼續度量作業系統的完整性,如正確則正常運行作業系統,否則停止運行。然後作業系統度量應用和新的作業系統組件。當作業系統啟動後,由用戶決定是否繼續信任這個系統平臺。這樣,一個信任鏈的建立過程保證了系統平臺的可信性。
[0005]然而,上述可信度量的方法,只能在系統啟動過程中執行。但是在系統完成啟動後,軟體有可能被惡意篡改,如果沒有可信度量方法,將無法保證系統可信。


【發明內容】

[0006]本申請實施例提供一種可信度量方法及裝置,用以解決現有技術中的系統啟動後無法進行可信度量的技術問題。
[0007]本申請第一方面提供了一種可信度量方法,包括:
[0008]在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將所述第一處理結果進行第二方式的處理作為參考值;
[0009]在所述系統運行時的第一時刻,通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果,並將所述第二處理結果進行所述第二方式的處理獲得第一測量值;
[0010]判斷所述第一測量值和所述參考值是否相等,若是,則所述系統可信;
[0011]其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。
[0012]結合第一方面,在第一方面的第一種可能的實現方式中,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將所述第一處理結果進行第二方式的處理作為參考值,包括:
[0013]通過對所述內存中的代碼段進行哈希計算,獲得所述第一處理結果;
[0014]通過對所述第一處理結果和預設的第一值進行所述哈希計算,獲得所述參考值;
[0015]通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果,並將所述第二處理結果進行所述第二方式的處理得到第一測量值,包括:
[0016]通過對所述內存中的代碼段進行所述哈希計算,獲得所述第二處理結果;
[0017]通過對所述第二處理結果和所述第一值進行所述哈希計算,獲得所述第一測量值。
[0018]結合第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,所述第一值為所述系統復位後平臺配置寄存器PCR的初始值或隨機生成的值。
[0019]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,在確定所述第一測量值和所述參考值相等之後,所述方法還包括:
[0020]將所述第二處理結果進行所述第二方式的處理,作為第一預期值;
[0021]在所述系統運行時的第二時刻,通過對所述內存中的代碼段進行所述第一方式的處理,獲得第三處理結果;
[0022]並將所述第三處理結果進行所述第二方式的處理獲得第二測量值;其中,所述第二時刻在所述第一時刻之後;
[0023]判斷所述第二測量值和所述第一預期值是否相等,若是,則所述系統可信。
[0024]結合第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,將所述第二處理結果進行所述第二方式的處理,作為第一預期值,包括:
[0025]通過對所述第二處理結果和所述參考值進行哈希計算,獲得所述第一預期值;
[0026]將所述第三處理結果進行所述第二方式的處理獲得所述第二測量值,包括:
[0027]通過對所述第三處理結果和所述第一測量值進行所述哈希計算,獲得所述第二測量值。
[0028]結合第一方面的第四種可能的實現方式,在第一方面的第五種可能的實現方式中,在確定所述第二測量值和所述第一預期值相等之後,所述方法還包括:
[0029]通過對所述第三處理結果和所述第一預期值進行所述哈希計算,獲得第二預期值。
[0030]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第一方面的第六種可能的實現方式中,在確定所述第一測量值和所述參考值相等之後,所述方法還包括:
[0031]將所述第二處理結果進行所述第二方式的處理,作為第一預期值;
[0032]從所述第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與所述第一預期值相同,若相同,則所述系統不可信。
[0033]本申請第二方面提供一種可信度量的裝置,包括:
[0034]度量模塊,用於在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果;在所述系統運行時的第一時刻,通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果;
[0035]處理模塊,用於將所述第一處理結果進行第二方式的處理作為參考值;將所述第二處理結果進行所述第二方式的處理獲得第一測量值;並判斷所述第一測量值和所述參考值是否相等,若是,則所述系統可信;
[0036]其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。
[0037]結合第二方面,在第二方面的第一種可能的實現方式中,所述度量模塊具體用於:通過對所述內存中的代碼段進行哈希計算,獲得所述第一處理結果;通過對所述內存中的代碼段進行所述哈希計算,獲得所述第二處理結果;
[0038]所述處理模塊具體用於:通過對所述第一處理結果和預設的第一值進行所述哈希計算,獲得所述參考值;通過對所述第二處理結果和所述第一值進行所述哈希計算,獲得所述第一測量值。
[0039]結合第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,所述第一值為所述系統復位後平臺配置寄存器PCR的初始值或隨機生成的值。
[0040]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式,在第二方面的第三種可能的實現方式中,所述處理模塊具體還用於:在確定所述第一測量值和所述參考值相等之後,將所述第二處理結果進行所述第二方式的處理,作為第一預期值;
[0041]所述度量模塊還用於在所述系統運行時的第二時刻,通過對所述內存中的代碼段進行所述第一方式的處理,獲得第三處理結果;
[0042]所述處理模塊還用於:將所述第三處理結果進行所述第二方式的處理獲得第二測量值;其中,所述第二時刻在所述第一時刻之後;判斷所述第二測量值和所述第一預期值是否相等,若是,則所述系統可信。
[0043]結合第二方面的第三種可能的實現方式,在第二方面的第四種可能的實現方式中,所述處理模塊具體用於:通過對所述第二處理結果和所述參考值進行哈希計算,獲得所述第一預期值;通過對所述第三處理結果和所述第一測量值進行所述哈希計算,獲得第二測量值。
[0044]結合第二方面的第四種可能的實現方式,在第二方面的第五種可能的實現方式中,所述處理模塊還用於:在確定所述第二測量值和所述第一預期值相等之後,通過對所述第三處理結果和所述第一預期值進行所述哈希計算,獲得所述第二預期值。
[0045]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式,在第二方面的第六種可能的實現方式中,所述處理模塊還用於:在確定所述第一測量值和所述參考值相等之後,將所述第二處理結果進行所述第二方式的處理,作為第一預期值;從所述第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與所述第一預期值相同,若相同,則所述系統不可信。
[0046]本申請第三方面還提供一種計算機系統,包括:
[0047]處理器,用於在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果;在所述系統運行時的第一時刻,通過對所述內存中的代碼段進行第一方式的處理獲得第二處理結果;可信平臺模塊TPM晶片,用於將所述第一處理結果擴展到PCR作為參考值;所述處理器還用於將所述第二處理結果進行所述擴展獲得第一測量值;並判斷所述第一測量值和所述參考值是否相等,若是,則所述系統可信;其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。
[0048]結合第三方面,在第三方面的第一種可能的實現方式中,所述處理器具體用於:通過對所述內存中的代碼段進行哈希計算,獲得所述第一處理結果;通過對所述內存中的代碼段進行所述哈希計算,獲得所述第二處理結果;所述TPM晶片具體用於:通過對所述第一處理結果和預設的第一值進行哈希計算,獲得所述參考值;所述處理器具體用於通過對所述第二處理結果和所述第一值進行哈希計算,獲得所述第一測量值。
[0049]結合第三方面的第一種可能的實現方式,在第三方面的第二種可能的實現方式中,所述第一值為系統復位後所述PCR的初始值或隨機生成的值。
[0050]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式,在第三方面的第三種可能的實現方式中,所述TPM晶片具體還用於:在確定所述第一測量值和所述參考值相等之後,將所述第二處理結果擴展到所述PCR中,作為第一預期值;
[0051 ] 所述處理器還用於在所述系統運行時的第二時刻,通過對所述內存中的代碼段進行第一方式的處理,獲得第三處理結果;將所述第三處理結果進行所述擴展獲得第二測量值;判斷所述第二測量值和所述第一預期值是否相等,若是,則系統可信。其中,所述第二時刻在所述第一時刻之後。
[0052]結合第三方面的第三種可能的實現方式,在第三方面的第四種可能的實現方式中,所述TPM晶片具體用於:通過對所述第二處理結果和所述參考值進行哈希計算,獲得所述第一預期值;所述處理器還用於通過對所述第三處理結果和所述第一測量值進行哈希計算,獲得所述第二測量值。
[0053]結合第三方面的第四種可能的實現方式,在第三方面的第五種可能的實現方式中,所述TPM晶片還用於:在確定所述第二測量值和所述第一預期值相等之後,通過對所述第三處理結果和所述第一預期值進行哈希計算,獲得第二預期值。
[0054]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式,在第三方面的第六種可能的實現方式中,所述TPM晶片還用於:在確定所述第一測量值和所述參考值相等之後,將所述第二處理結果擴展到所述PCR,作為第一預期值;從所述第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與所述第一預期值相同,若相同,則所述系統不可信。
[0055]本申請實施例中提供的一個或多個技術方案,至少具有如下技術效果或優點:
[0056]本申請實施例中,在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將第一處理結果擴展到平臺配置寄存器PCR作為參考值;在系統運行時的第一時刻,通過對內存中的代碼段進行第一方式的處理獲得第二處理結果,並將第二處理結果進行擴展獲得第一測量值;判斷第一測量值和參考值是否相等,若是,則系統可信;其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。因為在系統啟動完成時,內存中的代碼還沒有機會被篡改,所以此時對內存中的代碼段進行第一方式的處理,然後將處理結果進行第二方式的處理作為參考值。此時參考值是可信的。然後在系統運行時,可以再對內存中的代碼進行第一方式的處理,並對處理結果進行相同的第二方式的處理作為測量值,然後判斷第一測量值和參考值是否相等,如果相等,則說明系統可信。如果在系統運行過程中,內存中的代碼未被篡改,那麼第一測量值就會等於參考值。如果按照相同處理方式處理得到的第一測量值不等於參考值,因為該代碼段不會因為系統的正常運行而改變,所以只能是內存中的代碼已經被篡改,所以可以得知此時系統是不可信的。由此可以看出,本申請實施例提供了一種在系統啟動後,對系統的可信度量方法,可以度量出系統在運行期間是否可信。

【專利附圖】

【附圖說明】
[0057]圖1為本申請一實施例中的可信度量方法的流程圖;
[0058]圖2為本申請一實施例中的可信度量裝置的功能框圖;
[0059]圖3為本申請一實施例中的計算機系統的系統框圖。

【具體實施方式】
[0060]本申請實施例提供一種可信度量方法及裝置,用以解決現有技術中的系統啟動後無法進行可信度量的技術問題。
[0061 ]為使本申請實施例的目的、技術方案和優點更加清楚,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
[0062]本申請一實施例提供一種可信度量方法,請參考圖1所示,為本申請實施例中可信度量方法的流程圖,該方法包括以下內容:
[0063]步驟101:在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將第一處理結果進行第二方式的處理作為參考值;
[0064]步驟102:在系統運行時的第一時刻,通過對內存中的代碼段進行第一方式的處理獲得第二處理結果,並將第二處理結果進行第二方式的處理獲得第一測量值;
[0065]步驟103:判斷第一測量值和參考值是否相等,若是,則系統可信。
[0066]其中,本實施例中的代碼段,是指在系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。所述代碼段可以是內存中所有的代碼段,例如,在嵌入式系統中,系統啟動完成後,所有代碼都將駐留在內存,並且不會因為系統的正常運行而改變。所述代碼段也可以是內存中的部分代碼段,例如在一些非嵌入式系統中,部分代碼段是固定的,一些應用的代碼段通常在應用運行時才會加載到內存中,當應用關閉之後,該部分代碼段又會被從內存中刪除掉,所以整個內存中的代碼段會隨著系統的正常運行而發生改變,所以該種情況下的代碼段是指非嵌入式系統中的固定的那部分代碼段。
[0067]可選的,在系統啟動過程中可以進行如【背景技術】中所描述的由TPM晶片執行的可信度量過程。如此可以保證系統在啟動完成時是可信的。
[0068]當系統啟動完成時,此時內存中的代碼段還沒有機會被篡改,此時內存中的代碼段是可信的,所以此時就執行步驟101,通過對內存中的代碼段進行第一方式的處理獲得第二處理結果。其中,第一方式的處理,具體來說,例如是哈希計算。在哈希計算時,兩組數據的哈希值僅在相應數據也匹配時才應當匹配。數據的少量更改會在哈希值中產生不可預知的大量更改。因此,只要內存中的代碼段相同,那麼哈希計算得到的哈希值一定是相同的。而當內存中的代碼段是不相同的,那麼經過哈希計算得到的哈希值一定是不相同的。換言之,第一方式的處理得到的處理結果需要在內存中的代碼段不同時,一定是不相同的。因此,第一方式的處理除了可以是哈希計算之外,其他滿足前述條件的計算方式均可。
[0069]在本實施例中,第一處理方式以哈希計算為例。那麼通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,包括:通過對內存中的代碼段進行哈希計算,獲得第一處理結果。第一處理結果例如是一個固定長度的信息摘要。其中,長度和具體採用的哈希算法相關。通過哈希算法處理之後,數據量變小,所以可以節約存儲空間。
[0070]當獲得第一處理結果之後,並將第一處理結果進行第二方式的處理作為參考值。第二方式的處理,具體例如是:進行加密處理,或者是按照一定規則進行存儲。通過該步驟可以增加數據被破解的難度。
[0071]其中,一種可能的方式是:為了保證第一處理結果的安全性,在步驟101中,將第一處理結果進行第二方式的處理作為參考值,具體為:將第一處理結果擴展到平臺配置寄存器(英文:Platform Configurat1n Registers ;簡稱:PCR)作為參考值。
[0072]關於PCR,為了防止PCR中的值被惡意代碼隨便篡改或偽造,TPM限制對PCR的操作,不能像普通字符設備的寄存器那樣通過埠映射來隨意進行讀寫操作。而且PCR位於TPM內部,其內部數據受到TPM的保護。TPM只允許兩種操作來修改PCR的值:重置操作(Reset)和擴展操作(Extend)。重置操作發生在機器斷電或者系統重新啟動之後,PCR的值自動重新清零。
[0073]系統運行過程中,只能通過擴展操作來改變PCR的內容。擴展操作:PCR[i]=哈希算法(PCR[i_l] I I新度量值)。其中,i為正整數。擴展操作是不可逆的,即先擴展度量值A再擴展度量值B所得到的PCR值跟先擴展B再擴展A的結果是不同的。通過擴展,PCR能夠記錄一個無限長的度量值序列,這一系列度量值組成的序列反應了系統狀態的變遷。這個擴展序列中的某一個度量值被改變了,之後的度量序列都會受到影響。
[0074]因此,將第一處理結果擴展到PCR作為參考值,即對PCR進行擴展操作。根據前述擴展操作的公式,具體來說,通過對第一處理結果和第一值進行相同的哈希計算,就獲得了該參考值。其中,第一處理結果對應公式中的新度量值,第一值對應公式中的PCR[1-l],參考值對應公式中的PCR[i]。在實際運用中,第一值為系統復位後的PCR的初始值或隨機生成的值。通常來講,系統復位時,對PCR進行前述的重置操作,那麼PCR的初始值為0x00。而隨機生成的值,被獲取或篡改的難度較大,所以更可靠。當然,在實際運用中,如果在啟動過程中執行可信度量的話,第一值具體也可以是啟動過程中可信度量的最後一個值。
[0075]在系統啟動完成時,執行步驟101,獲得參考值。接下來在系統運行過程中的第一時刻,再次對內存中的代碼段進行度量,即執行步驟102,通過對內存中的代碼段進行前述第一方式的處理獲得第二處理結果,並將第二處理結果進行第二方式的處理,例如將第二處理結果進行所述擴展獲得第一測量值。其中,再次對內存中的代碼段進行度量,採用的是和步驟101相同的方式,這樣可以保證度量標準相同。另外,當在步驟101中,為了第一處理結果的安全性,就將第一處理結果擴展到PCR作為參考值,也保證了參考值不容易被篡改。因此,在步驟102中,也要對第二處理結果做相同的擴展操作,只是可以不用擴展到PCR,只是做相同的擴展操作即可,此時獲得第一測量值。
[0076]因此,與步驟101類似的,步驟102具體包括:通過對所述內存中的代碼段進行相同的哈希計算,獲得第二處理結果;通過對第二處理結果和第一值進行相同的哈希計算,獲得第一測量值。
[0077]接下來執行步驟103,即判斷第一測量值和所述參考值是否相等。因為第一測量值和參考值均為對內存中的代碼段進行相同的處理,並將處理結果進行相同的擴展操作得到的,只是在不同時機獲得的。因此,若第一測量值和所述參考值相同,則表示內存中的代碼段是相同的,換言之,在第一時刻,內存中的代碼段相比系統剛啟動時沒有發生變化,也即在第一時刻,內存中的代碼段還沒有被篡改,所以系統是可信的。如果判斷的結果是第一測量值和所述參考值不同,則說明在第一時刻,內存中的代碼段已經發生變化,即已經被篡改,說明此時系統不可信。
[0078]在系統運行過程中,可以重複執行步驟102和步驟103,例如周期性的執行,以對系統是否可信進行實時的監控。
[0079]需要說明的是,在執行步驟102時,為避免可信度量程序本身,即步驟102的處理方式被篡改,由惡意程序每次都返回和參考值相同的第一測量值,每次步驟103的判斷結果都是第一測量值和參考值相等,得出系統可信的結果,但其實內存中的代碼已經被篡改的情況,可信度量程序本身可以固化在晶片中,例如固化在中央處理器(英文=CentralProcessing Unit ;簡稱:CPU)中,此程序不允許進行任何更新操作,永久只讀執行,如此可保證可信度量程序本身不被篡改,那麼每次獲得的第一測量值都是真實的,這樣在步驟103中得出的結論才是正確的。在該情況下,可以由CPU的安全引擎周期性的執行步驟102。
[0080]如果可信度量程序本身沒有固化在晶片中時,可以通過以下方式進一步增加可信度量的可靠性。
[0081]具體來說,在步驟103中,判斷第一測量值和所述參考值相等之後,該方法還包括:將第二處理結果進行第二方式的處理,例如將第二處理結果擴展到所述PCR中,作為第一預期值;在系統運行時的第二時刻,通過對內存中的代碼段進行第一方式的處理,獲得第三處理結果;並將所述第三處理結果進行第二方式的處理獲得第二測量值;其中,所述第二時刻在所述第一時刻之後;判斷第二測量值和第一預期值是否相等,若是,則系統可信。
[0082]其中,擴展操作的原理與前述擴展操作的原理相同。將第二處理結果擴展到所述PCR中,作為第一預期值,具體為:通過對第二處理結果和所述參考值進行哈希計算,獲得第一預期值。因為第一測量值和參考值相等,則說明內存中的代碼未被篡改,那麼說明第二處理結果是可信的,所以可以將第二處理結果擴展到PCR,作為第一預期值。而第一預期值即作為下次判斷的參考值。換言之,將新的度量結果擴展到PCR作為新的參考值,參考值隨著度量次數的增加在逐次變化。如此可以增加黑客獲取參考值的難度,提高安全性。
[0083]在系統運行時的第二時刻,再次度量內存中的代碼段,即通過對內存中的代碼段進行第一方式的處理,獲得第三處理結果,並將第三處理結果進行相同的擴展獲得第二測量值。其具體實現方式與步驟102類似,只是在不同時刻執行。在第二時刻的執行過程中,將第三處理結果進行擴展獲得第二測量值,具體為:通過對第三處理結果和第一測量值進行哈希計算,獲得第二測量值。因為第一測量值和參考值相等,所以在第二時刻的處理過程中,如果內存中的代碼段如果沒有被篡改的話,獲得的第三處理結果就和第二處理結果是相同的,那麼對第三處理結果和第二處理結果進行相同的擴展操作之後獲得的第二測量值和第一預期值就是相等的,所以通過判斷第二測量值和第一預期值是否相等,就可以確定出在第二時刻的度量結果,即第二時刻,系統是否可信。如果相等,則說明系統可信,如果不相等,則說明系統不可信。
[0084]因此,該度量方式也可以看作是根據所述參考值和第二處理結果,先計算出一個預期值,然後再度量當前內存中的代碼,然後比對度量結果是否符合預期值,如果符合,就說明系統可信,如果不符合,就說明系統不可信。
[0085]然後,可以繼續按照這樣的度量方式往下循環,例如:在確定第二測量值和第一預期值相等之後,該方法還包括:通過對第三處理結果和第一預期值進行哈希計算,獲得第二預期值。那麼第二預期值就作為下次可信度量的參考值。
[0086]可選的,如果第一測量值和所述參考值不相等,就不會將第二測量結果進行擴展獲得第一預期值,那麼PCR中的參考值就不會發生變化。類似的,如果第二測量值和第一預期值不相等,也不會將第三處理結果進行擴展獲得第二預期值,那麼PCR中的參考值就還是第一預期值。或者是系統被攻擊,無法執行度量操作,那麼PCR中最新的參考值也不會發生變化。因此也可以通過判斷PCR中的最新參考值相對前次的參考值是否有變化來確定系統是否可信,如果沒有變化,那麼系統不可信。如果有變化,可以認為系統可信,但為了提高可靠性,可以在下次度量之後,將度量結果與最新的參考值進行比較,如若相等,則系統可信,若不相等,則不可信。
[0087]舉例來說,例如在步驟103中判斷第一測量值和參考值是相等的,那麼就將第二處理結果進行第二方式的處理,例如擴展到PCR中,作為第一預期值。那麼從第一時刻起,在超過一個可信度量間隔的時間段之後,即第二時刻之後,並在下個度量時刻之前,例如第三時刻之前,判斷PCR中最新的參考值是否與第一預期值相同,若相同,則表示在第二時刻的度量中,第二測量值和第一預期值不相等,或者在第二時刻就沒有度量,說明系統已被攻擊,已經不可信。若不相同,則表示在第二時刻的度量中,第二測量值和第一預期值是相等的,所以才會有第二預期值,即最新的參考值,所以可以說明此時系統是可信的。
[0088]其中,PCR可以自己判斷最新參考值相對前次的參考值是否有變化,然後將判斷結果輸出,例如告警。也可以是網管等管理設備讀取PCR中最新的參考值和前次的參考值,如果發現在超出度量間隔的時間段之後,最新的參考值並未發生變化,則認為系統已經被攻擊,此時可以進行告警。
[0089]可選的,還可以設置硬體狗的功能,具體來說,在發現在超出度量間隔的時間段之後,最新的參考值並未發生變化,就強制重啟系統。
[0090]可選的,本申請實施例中的可信度量方法可以適用於嵌入式系統,也可以適用於其他固定代碼段的軟體系統,或者在包括動態分配地址的代碼段的系統中。當然,也可以運用在非嵌入式系統中。
[0091 ] 由以上描述可以看出,通過本實施例中的可信度量方法,可以在系統啟動之後,對系統進行可信度量,能夠實時感知代碼的完整性狀態,有助於快速發現黑客的惡意代碼植入和篡改風險。尤其對於電信級的設備,系統重啟通常是數月甚至數年才能進行一次,所以系統啟動之後的可信度量意義更重大。
[0092]基於同一發明構思,本申請實施例還提供一種可信度量裝置,請參考圖2所示,該裝置包括:度量模塊201,用於在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果;在系統運行時的第一時刻,通過對內存中的代碼段進行第一方式的處理獲得第二處理結果;處理模塊202,用於將第一處理結果進行第二方式的處理作為參考值;將第二處理結果進行第二方式的處理獲得第一測量值;並判斷第一測量值和參考值是否相等,若是,則系統可信。其中,內存中的代碼段與前述實施例中的含義相同。
[0093]可選的,度量模塊201具體用於:通過對內存中的代碼段進行哈希計算,獲得第一處理結果;通過對內存中的代碼段進行哈希計算,獲得第二處理結果;處理模塊202具體用於:通過對第一處理結果和預設的第一值進行哈希計算,獲得參考值;通過對第二處理結果和第一值進行哈希計算,獲得第一測量值。
[0094]可選的,第一值為系統復位後PCR的初始值或隨機生成的值。
[0095]可選的,處理模塊202具體還用於:在確定第一測量值和參考值相等之後,將第二處理結果進行第二方式的處理,作為第一預期值;
[0096]度量模塊201還用於在系統運行時的第二時刻,通過對內存中的代碼段進行第一方式的處理,獲得第三處理結果;
[0097]處理模塊202還用於:將第三處理結果進行第二方式的處理獲得第二測量值;其中,第二時刻在第一時刻之後;判斷第二測量值和第一預期值是否相等,若是,則系統可信。
[0098]可選的,處理模塊202具體用於:通過對第二處理結果和參考值進行哈希計算,獲得第一預期值;通過對第三處理結果和第一測量值進行哈希計算,獲得第二測量值。
[0099]可選的,處理模塊202還用於:在確定第二測量值和第一預期值相等之後,通過對第三處理結果和第一預期值進行哈希計算,獲得第二預期值。
[0100]可選的,處理模塊202還用於:在確定第一測量值和參考值相等之後,將第二處理結果進行第二方式的處理,作為第一預期值;從第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與第一預期值相同,若相同,則系統不可信。
[0101]前述圖1實施例中的可信度量方法中的各種變化方式和具體實例同樣適用於本實施例的可信度量裝置,通過前述對可信度量方法的詳細描述,本領域技術人員可以清楚的知道本實施例中可信度量裝置的實施方法,所以為了說明書的簡潔,在此不再詳述。
[0102]基於同一發明構思,本申請實施例還包括一種計算機系統,請參考圖3所示,為本申請實施例中的計算機系統的系統框圖。如圖3所述,該系統包括:處理器301,用於在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果;在系統運行時的第一時刻,通過對內存中的代碼段進行第一方式的處理獲得第二處理結果;TPM晶片303,用於將第一處理結果擴展到PCR作為參考值;處理器301還用於將第二處理結果進行所述擴展獲得第一測量值;並判斷第一測量值和參考值是否相等,若是,則系統可信。其中,內存中的代碼段與前述實施例中的含義相同。
[0103]可選的,處理器301具體用於:通過對內存中的代碼段進行哈希計算,獲得第一處理結果;通過對內存中的代碼段進行哈希計算,獲得第二處理結果;TPM晶片303具體用於:通過對第一處理結果和預設的第一值進行哈希計算,獲得參考值;處理器301具體用於通過對第二處理結果和第一值進行哈希計算,獲得第一測量值。
[0104]可選的,第一值為系統復位後PCR的初始值或隨機生成的值。
[0105]可選的,TPM晶片303具體還用於:在確定第一測量值和參考值相等之後,將第二處理結果擴展到PCR中,作為第一預期值;
[0106]處理器301還用於在系統運行時的第二時刻,通過對內存中的代碼段進行第一方式的處理,獲得第三處理結果;將第三處理結果進行所述擴展獲得第二測量值;判斷第二測量值和第一預期值是否相等,若是,則系統可信。其中,第二時刻在第一時刻之後。
[0107]可選的,TPM晶片303具體用於:通過對第二處理結果和參考值進行哈希計算,獲得第一預期值;處理器301還用於通過對第三處理結果和第一測量值進行哈希計算,獲得第二測量值。
[0108]可選的,TPM晶片303還用於:在確定第二測量值和第一預期值相等之後,通過對第三處理結果和第一預期值進行哈希計算,獲得第二預期值。
[0109]可選的,TPM晶片303還用於:在確定第一測量值和參考值相等之後,將第二處理結果擴展到PCR,作為第一預期值;從第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與第一預期值相同,若相同,則系統不可信。
[0110]在以上各實施例中,PCR位於TPM晶片303上。
[0111]其中,在圖3中,總線架構(用總線300來代表),總線300可以包括任意數量的互聯的總線和橋,總線300將包括由處理器301代表的一個或多個處理器和存儲器302代表的存儲器的各種電路連結在一起。總線300還可以將諸如外圍設備、穩壓器和功率管理電路等之類的各種其他電路連結在一起,這些都是本領域所公知的,因此,本文不再對其進行進一步描述。總線接口 304在總線300和處理器301、TPM晶片303之間提供接口。取決於計算機系統的性質,還可以提供用戶接口 305,例如小鍵盤、顯示器、揚聲器、麥克風、操縱杆。
[0112]處理器301負責管理總線300和通常的處理,而存儲器302可以被用於存儲處理器301在執行操作時所使用的數據。
[0113]前述圖1實施例中的可信度量方法中的各種變化方式和具體實例同樣適用於本實施例的計算機系統,通過前述對可信度量方法的詳細描述,本領域技術人員可以清楚的知道本實施例中計算機系統的實施方法,所以為了說明書的簡潔,在此不再詳述。
[0114]申請實施例中提供的一個或多個技術方案,至少具有如下技術效果或優點:
[0115]則系統可信;其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。因為在系統啟動完成時,內存中的代碼還沒有機會被篡改,所以此時對內存中的代碼段進行第一方式的處理,然後將處理結果進行第二方式的處理作為參考值。此時參考值是可信的。然後在系統運行時,可以再對內存中的代碼進行第一方式的處理,並對處理結果進行相同的第二方式的處理作為測量值,然後判斷第一測量值和參考值是否相等,如果相等,則說明系統可信。如果在系統運行過程中,內存中的代碼未被篡改,那麼第一測量值就會等於參考值。如果按照相同處理方式處理得到的第一測量值不等於參考值,因為該代碼段不會因為系統的正常運行而改變,所以只能是內存中的代碼已經被篡改,所以可以得知此時系統是不可信的。由此可以看出,本申請實施例提供了一種在系統啟動後,對系統的可信度量方法,可以度量出系統在運行期間是否可信。
[0116]本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器和光學存儲器等)上實施的電腦程式產品的形式。
[0117]本申請是參照根據本申請實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0118]這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0119]這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0120]顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。
【權利要求】
1.一種可信度量方法,其特徵在於,包括: 在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將所述第一處理結果進行第二方式的處理作為參考值; 在所述系統運行時的第一時刻,通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果,並將所述第二處理結果進行所述第二方式的處理獲得第一測量值; 判斷所述第一測量值和所述參考值是否相等,若是,則所述系統可信; 其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。
2.如權利要求1所述的方法,其特徵在於,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果,並將所述第一處理結果進行第二方式的處理作為參考值,包括: 通過對所述內存中的代碼段進行哈希計算,獲得所述第一處理結果; 通過對所述第一處理結果和預設的第一值進行所述哈希計算,獲得所述參考值; 通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果,並將所述第二處理結果進行所述第二方式的處理得到第一測量值,包括: 通過對所述內存中的代碼段進行所述哈希計算,獲得所述第二處理結果; 通過對所述第二處理結果和所述第一值進行所述哈希計算,獲得所述第一測量值。
3.如權利要求2所述的方法,其特徵在於,所述第一值為所述系統復位後平臺配置寄存器PCR的初始值或隨機生成的值。
4.如權利要求1-3任一項所述的方法,其特徵在於,在確定所述第一測量值和所述參考值相等之後,所述方法還包括: 將所述第二處理結果進行所述第二方式的處理,作為第一預期值; 在所述系統運行時的第二時刻,通過對所述內存中的代碼段進行所述第一方式的處理,獲得第三處理結果; 並將所述第三處理結果進行所述第二方式的處理獲得第二測量值;其中,所述第二時刻在所述第一時刻之後; 判斷所述第二測量值和所述第一預期值是否相等,若是,則所述系統可信。
5.如權利要求4所述的方法,其特徵在於,將所述第二處理結果進行所述第二方式的處理,作為第一預期值,包括: 通過對所述第二處理結果和所述參考值進行哈希計算,獲得所述第一預期值; 將所述第三處理結果進行所述第二方式的處理獲得所述第二測量值,包括: 通過對所述第三處理結果和所述第一測量值進行所述哈希計算,獲得所述第二測量值。
6.如權利要求5所述的方法,其特徵在於,在確定所述第二測量值和所述第一預期值相等之後,所述方法還包括: 通過對所述第三處理結果和所述第一預期值進行所述哈希計算,獲得第二預期值。
7.如權利要求1-3任一項所述的方法,其特徵在於,在確定所述第一測量值和所述參考值相等之後,所述方法還包括: 將所述第二處理結果進行所述第二方式的處理,作為第一預期值; 從所述第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與所述第一預期值相同,若相同,則所述系統不可信。
8.一種可信度量的裝置,其特徵在於,包括: 度量模塊,用於在系統啟動完成時,通過對內存中的代碼段進行第一方式的處理獲得第一處理結果;在所述系統運行時的第一時刻,通過對所述內存中的代碼段進行所述第一方式的處理獲得第二處理結果; 處理模塊,用於將所述第一處理結果進行第二方式的處理作為參考值;將所述第二處理結果進行所述第二方式的處理獲得第一測量值;並判斷所述第一測量值和所述參考值是否相等,若是,則所述系統可信; 其中,所述內存中的代碼段是指在所述系統的一次啟動以及運行過程中,不因所述系統的正常運行而改變的代碼段。
9.如權利要求8所述的裝置,其特徵在於,所述度量模塊具體用於:通過對所述內存中的代碼段進行哈希計算,獲得所述第一處理結果;通過對所述內存中的代碼段進行所述哈希計算,獲得所述第二處理結果; 所述處理模塊具體用於:通過對所述第一處理結果和預設的第一值進行所述哈希計算,獲得所述參考值;通過對所述第二處理結果和所述第一值進行所述哈希計算,獲得所述第一測量值。
10.如權利要求9所述的裝置,其特徵在於,所述第一值為所述系統復位後平臺配置寄存器PCR的初始值或隨機生成的值。
11.如權利要求8-10任一項所述的裝置,其特徵在於,所述處理模塊具體還用於:在確定所述第一測量值和所述參考值相等之後,將所述第二處理結果進行所述第二方式的處理,作為第一預期值; 所述度量模塊還用於在所述系統運行時的第二時刻,通過對所述內存中的代碼段進行所述第一方式的處理,獲得第三處理結果; 所述處理模塊還用於:將所述第三處理結果進行所述第二方式的處理獲得第二測量值;其中,所述第二時刻在所述第一時刻之後;判斷所述第二測量值和所述第一預期值是否相等,若是,則所述系統可信。
12.如權利要求11所述的裝置,其特徵在於,所述處理模塊具體用於:通過對所述第二處理結果和所述參考值進行哈希計算,獲得所述第一預期值;通過對所述第三處理結果和所述第一測量值進行所述哈希計算,獲得所述第二測量值。
13.如權利要求12所述的裝置,其特徵在於,所述處理模塊還用於:在確定所述第二測量值和所述第一預期值相等之後,通過對所述第三處理結果和所述第一預期值進行所述哈希計算,獲得第二預期值。
14.如權利要求8-10任一項所述的裝置,其特徵在於,所述處理模塊還用於:在確定所述第一測量值和所述參考值相等之後,將所述第二處理結果進行所述第二方式的處理,作為第一預期值;從所述第一時刻起,在超過一個可信度量間隔的時間段之後,判斷最新的參考值是否與所述第一預期值相同,若相同,則所述系統不可信。
【文檔編號】G06F21/30GK104268461SQ201410471558
【公開日】2015年1月7日 申請日期:2014年9月16日 優先權日:2014年9月16日
【發明者】周衝, 付天福 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀