国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可信計算平臺和在內核態(tài)下訪問tpm服務的方法

      文檔序號:6651607閱讀:279來源:國知局
      專利名稱:可信計算平臺和在內核態(tài)下訪問tpm服務的方法
      技術領域
      本發(fā)明涉及可信計算技術領域,具體涉及一種可信計算平臺和在內核態(tài)下訪問TPM服務的方法。
      背景技術
      可信計算平臺以可信硬件設備為核心,提供各類密碼學運算接口以及平臺自身的完整性保護,支持上層安全應用的開發(fā)?,F有的可信計算平臺有兩種。一種是TCG(可信計算組織Trusted ComputingGroup)公布的TSS(TCG Software Stack)規(guī)范,另一種是在即將發(fā)布的Longhorn產品中,微軟在兼容TSS基礎上,對TSS的TDDL部分進行擴展形成TBS(TPM Base Services)。
      圖5是TCG組織的TCG軟件協(xié)議棧模塊結構圖,其中示出了可信計算平臺1和可信計算平臺2。以可信計算平臺1為例,TCG提出的TSS軟件協(xié)議棧由五部分組成TSS服務提供者113、TSS核心服務114、TSS設備驅動庫115、可信平臺模塊(TPM)設備驅動116和可信平臺模塊硬件117。
      TSS服務提供者113是用戶模式的用戶進程,其位于TCG軟件協(xié)議棧的最上層,它為TCG本地應用程序111提供了豐富的、面向對象的接口,使應用程序可以更加方便地利用安全芯片提供的功能構建所需要的安全特性。
      TSS服務提供者113的主要功能包括上下文管理、策略對象管理、TPM管理、密鑰管理、安全操作等等功能。
      TCG本地應用程序111可以通過直接調用“TSS服務提供者”接口來使用TPM服務。也可以在“TSS服務提供者”接口上增加一層密碼服務提供者112,然后TCG本地應用程序111調用“密碼服務提供者”也能使用到TPM服務。
      需要說明的是,密碼服務提供者112(Crypto Service Provider,簡稱為CSP)是一套標準密碼學接口,它屏蔽了下層不同硬件或軟件提供的服務。
      TSS核心服務114位于TSS服務提供者113和TSS設備驅動庫115之間,以系統(tǒng)服務的形式存在,為TSS服務提供者113等上層應用提供安全芯片使用和密鑰管理等接口。
      TSS核心服務114的主要功能包括基本信息管理、密鑰管理、事件管理、密鑰操作、授權操作、完整性操作、遷移操作、密碼操作、身份證書操作、設備操作、NV存儲操作以及DAA操作等功能。
      另外,遠程的計算平臺可以調用本地計算平臺的TPM服務。如圖5所示,可信計算平臺2的TSS服務提供者213通過遠程過程調用,調用可信平臺1的TSS核心服務114。
      TSS設備驅動庫115使上層TSS核心服務114部分實現和TPM之間的數據通信,屏蔽了TCS與TPM之間的直接聯(lián)系。因此,甚至可以允許TPM生產商提供用戶模式的軟件TPM模擬器。
      TPM設備驅動116是內核模式驅動程序,用于訪問可信平臺模塊硬件117。
      可信平臺模塊硬件117是TPM(Trusted Platform Module)芯片,它是具有密碼學功能的安全芯片。
      但是,對于上述的現有技術,仍舊存在沒有為內核態(tài)安全應用提供接口的缺點,具體原因如下a)現在黑客的攻擊手段已經不僅僅局限于用戶態(tài)(Ring 3)的應用程序,而是已經進入到操作系統(tǒng)運行的內核態(tài)(Ring 0)中對操作系統(tǒng)進行破壞。因此,需要直接對內核進行保護。
      b)某些內核應用(例如個人防火墻、內核加固系統(tǒng)等)需要可信設備的安全支持。因此,必須能直接在內核態(tài)訪問到可信設備。
      c)某些硬件設備可能需要直接與可信設備交互,而不是使用用戶界面與可信設備交互。
      因此,雖然TSS軟件協(xié)議棧為本地以及遠程都提供了豐富的TPM服務調用,但是TSS軟件協(xié)議棧卻沒能夠為內核驅動級別的軟件提供直接的接口。TPM的設備驅動僅僅為TSS設備驅動庫提供內核調用。
      圖6顯示了TCG軟件協(xié)議棧存在的問題。這里列舉了三個例子,防火墻軟件、文件系統(tǒng)操作管理軟件、某些需要TPM密碼學的其他硬件設備。
      1)防火墻軟件可以簡單的由三個部分組成,網卡設備2201、防火墻過濾模塊2191與防火墻配置界面2181。防火墻過濾模塊2191接收網卡設備2201發(fā)送過來的數據包,需要對數據進行過濾、加解密或其他密碼學功能。但是內核態(tài)的軟件是不能直接訪問用戶態(tài)的接口。前面已經說明了TCG軟件協(xié)議棧提供的兩個接口(一個用于本地,另一個用于遠程調用)都是用戶態(tài)的。也就是說防火墻過濾模塊2191不能通過“箭頭1”進行本地調用,也不能進行“箭頭2”進行遠程調用。要使用TPM提供的服務,防火墻軟件只能通過防火墻配置界面2181才能使用TPM提供的服務,見“箭頭3”、“箭頭4”與“箭頭5”。然后防火墻配置界面2181再把響應的結果傳給防火墻過濾模塊2191。
      這樣導致效率低下。我們希望防火墻配置界面2181僅僅配置防火墻本身的策略,而不要求對網絡數據包進行過濾以及加解密等功能而影響效率。
      2)文件系統(tǒng)操作管理軟件用于對磁盤/磁盤文件進行加解密、隱藏磁盤文件以及其他需要對文件進行控制的相關功能。文件系統(tǒng)操作管理模塊2192訪問文件系統(tǒng)2193得到文件信息后,需要對文件進行加解密等功能操作,也就是需要TPM提供的服務??扇缤阑饓浖粯樱瑑群四K不能直接使用TPM提供的服務,它也需要文件系統(tǒng)操作管理配置界2182面通過“箭頭3”、“箭頭4”以及“箭頭5”才能使用TPM服務。無疑,這也導致效率非常低下。
      3)其他硬件設備2202也希望使用TPM提供的密碼學功能,但它根本就沒有用戶配置界面,僅僅有一個硬件驅動程序2194使用。這樣的硬件設備2202是不可能使用TPM服務的,見“箭頭1”與“箭頭2”所示。
      發(fā)明目的鑒于上述問題,完成本本發(fā)明。本發(fā)明的目的是為可信硬件設備提供可擴展的軟件支撐架構,以支持各類安全應用的開發(fā),并與現有的標準解決方案兼容。
      在本發(fā)明的一個方面,提出了一種可信計算平臺,包括內核服務提供裝置,用于為應用提供在內核態(tài)下的調用接口,以使用可信平臺模塊提供的可信平臺模塊服務;以及內核核心服務裝置,用于為所述內核服務提供裝置提供底層服務。
      根據本發(fā)明的一個實施例,可信計算平臺還包括內核遠程過程調用客戶端,其與所述內核服務提供裝置連接,用于為所述內核服務提供裝置調用另一可信計算平臺的底層服務;以及內核遠程調用服務端,其與所述內核核心服務裝置連接,用于調用內核核心服務裝置提供的底層服務,以為遠程調用提供本地的底層服務。
      根據本發(fā)明的一個實施例,可信計算平臺還包括用戶服務提供裝置,其與所述內核服務提供裝置連接,用于封裝所述內核服務提供裝置所提供的底層服務;以及用戶核心服務裝置,其與所述內核核心服務裝置連接,用于封裝所述內核核心服務裝置提供的底層服務。
      根據本發(fā)明的一個實施例,可信計算平臺還包括遠程過程調用客戶端,其與所述用戶服務提供裝置連接,用于被所述用戶服務提供裝置調用,以使用遠程的可信平臺模塊服務;以及遠程過程調用服務端,其與所述用戶核心服務裝置連接,用于被另一可信計算平臺用來調用所述用戶核心服務裝置,以為該可信計算平臺提供遠程的可信平臺模塊服務。
      根據本發(fā)明的一個實施例,可信計算平臺還包括可信平臺硬件,它是具有密碼學功能的硬件;以及設備驅動,用于驅動所述可信平臺硬件。
      根據本發(fā)明的一個實施例,本地應用通過直接調用所述用戶服務提供裝置提供的服務來使用可信平臺模塊服務。
      根據本發(fā)明的一個實施例,可信計算平臺還包括密碼服務提供裝置,它是標準密碼學接口,并且屏蔽了下層不同硬件或軟件提供的服務;其中本地應用通過所述密碼服務提供裝置來使用可信平臺模塊服務。
      根據本發(fā)明的一個實施例,所述可信平臺硬件是安全芯片。
      在本發(fā)明的另一方面,提出了一種在內核態(tài)下訪問可信平臺模塊服務的方法,包括步驟提供內核服務提供者接口,用于為應用提供在用戶態(tài)下的對底層的調用,以使用可信平臺模塊提供的可信平臺模塊服務;以及提供內核核心服務接口,用于為所述內核服務者接口提供底層調用。
      根據本發(fā)明的一個實施例,該方法還包括步驟提供內核遠程過程調用客戶端,以為所述內核服務提供接口調用另一可信計算平臺的底層服務;以及提供內核遠程調用服務端,以調用內核核心服務接口提供的底層服務,從而為遠程調用提供本地的底層服務。
      根據本發(fā)明的一個實施例,該方法還包括步驟封裝所述內核服務提供接口所提供的底層服務,以將其提供給應用;以及封裝所述內核核心服務接口提供的底層服務,以將其提供給遠程應用。
      根據本發(fā)明的一個實施例,通過遠程過程調用來將封裝的底層應用提供給遠程應用。
      根據本發(fā)明的一個實施例,該方法還包括步驟提供標準密碼學接口,以屏蔽下層不同硬件或軟件提供的服務;其中本地應用通過所述標準密碼學接口來使用可信平臺模塊服務。
      根據本發(fā)明的一個實施例,所述內核核心服務接口通過調用可信平臺硬件的驅動,來提供底層服務。
      根據本發(fā)明的一個實施例,所述可信平臺硬件是安全芯片。
      利用本發(fā)明的上述配置,可以取得如下的效果(1)不僅僅為用戶態(tài)安全應用提供接口,而且也為內核態(tài)應用提供了接口;(2)可與現有解決方案完全兼容,原基于TSS應用程序不需要改動既可直接移植使用;(3)大部分功能由內核態(tài)驅動模塊完成,運行效率高;(4)模塊化與層次化結構,擁有良好的擴展能力。


      圖1是根據本發(fā)明一個實施例的模塊結構圖;圖2是根據本發(fā)明一個實施例的用戶程序遠程調用結構圖;圖3是根據本發(fā)明一個實施例的內核本地調用結構圖;圖4是根據本發(fā)明一個實施例的內核遠程調用結構圖;圖5示出了TCG提供的TSS模塊結構圖以及相應的遠程調用關系;圖6示出了TCG提供的TSS與內核相關應用程序的調用關系。
      具體實施例方式
      下面對照附圖來詳細描述本發(fā)明的具體實施例。
      圖1是根據本發(fā)明一個實施例的模塊結構圖。如圖1所示,本實施例的模塊結構分為兩類接口,內核態(tài)接口與用戶態(tài)接口。
      用戶態(tài)接口分為本地調用接口與遠程調用接口,即用戶服務提供者313和用戶核心服務314。
      用戶服務提供者接口為本地應用程序311提供調用。本地應用程序311可以調用密碼服務提供者312或者直接調用用戶服務提供者313來使用TPM服務。
      需要注意的是,用戶服務提供者313僅僅是對內核服務提供者315提供的服務進行封裝,其將內核服務提供者315提供的內核調用轉換為用戶調用。出于兼容的目的,它的功能接口應該與TCG軟件協(xié)議棧中的TSS服務提供者113的功能接口完全相同。
      用戶核心服務314主要作為遠程過程調用的服務端3141來使用。如圖2所示,遠程的應用程序411通過用戶服務提供者413調用遠程過程調用客戶端4141,然后遠程過程調用客戶端4141調用本地的遠程過程調用服務端3141,從而能夠使用TPM服務。
      這里,用戶核心服務314僅僅是對內核核心服務316的封裝,其將內核核心服務316提供的內核調用轉換為用戶調用。出于于兼容的目的,它的功能接口應該與TCG軟件協(xié)議棧中的TSS核心服務114的功能接口完全相同。
      此外,遠程調用客戶端3131與遠程調用服務端3141分別是遠程調用接口的代理模塊。遠程過程調用客戶端3131被用戶服務提供者313調用,用于使用遠程的TPM服務。
      遠程過程調用服務端3141調用用戶核心服務314,以為遠程調用提供TPM服務的接口。
      這樣,如圖2所示,“可信計算平臺2”需要調用“可信計算平臺1”的TPM服務。
      內核態(tài)接口分為本地調用接口與遠程調用接口,即內核服務提供者315和內核核心服務316。
      內核服務提供者315實現了TCG軟件協(xié)議棧中TSS服務提供者113實現的所有功能,不同之處是本發(fā)明的內核服務提供者315提供的是內核態(tài)的接口而不是用戶態(tài)的接口。
      內核服務提供者接口為本地的驅動程序311提供了接口調用。驅動程序模塊可以直接調用“內核服務提供者”接口,以使用TPM服務。
      如圖3所示,驅動程序319可以直接調用內核服務提供者315,從而能夠使用TPM服務。
      同時,內核服務提供者315也為用戶態(tài)的用戶服務提供者313提供服務,如圖1所示。
      內核核心服務316實現了TCG軟件協(xié)議棧中TSS核心服務214實現的所有功能,不同之處是本發(fā)明的內核核心服務316提供的是內核態(tài)的接口而不是用戶態(tài)的接口。
      內核核心服務316一方面為內核服務提供者315提供底層調用,另一方面為內核遠程過程調用服務端3161提供底層調用,如圖4所示。
      同時,內核核心服務316也為用戶態(tài)下的用戶核心服務314提供服務。
      此外,內核遠程過程調用服務端3161與內核遠程過程調用客戶端4151是內核遠程調用接口的代理模塊。內核遠程過程調用客戶端4151被內核服務提供者415調用,用于使用遠程的TPM服務。內核遠程過程調用服務端3161調用內核核心服務316,為遠程驅動調用提供了TPM服務的接口。
      這樣,如圖4所示。遠程計算平臺2的內核驅動程序421調用了“可信計算平臺1”的TPM服務。
      內核遠程調用客戶端4151與內核遠程調用服務端3161在不同平臺在內核中提供的遠程調用方法,例如在Windows平臺,可以使用傳輸驅動接口(Transport Driver Interface)技術。
      從圖1可以看出,用戶服務提供者313可以直接使用內核服務提供者315提供的服務。
      內核服務提供者315實現了對應的TCG軟件協(xié)議棧中TSS服務提供者113全部的功能。這里,用戶服務提供者313僅僅是對內核服務提供者315提供的服務進行封裝,將內核服務轉換為應用程序能調用的用戶態(tài)鏈接庫的形式。
      此外用戶核心服務314能夠直接使用內核核心服務316提供的服務。內核核心服務316實現了對應的TCG軟件協(xié)議棧中TSS核心服務114全部的功能。這里,用戶核心服務314僅僅是對內核核心服務316進行封裝,將內核服務轉換為應用程序能調用的用戶態(tài)的鏈接庫的形式。如果操作系統(tǒng)支持系統(tǒng)服務,則用戶核心服務314應該以系統(tǒng)服務的形式存在,例如Windows平臺上的服務(Services)。
      與圖5所示的TCG軟件協(xié)議棧的本地與遠程調用關系相比較,圖1所示的本發(fā)明的配置是與TSS的應用兼容的。因此,基于TSS的應用毋庸做任何修改既可移植到本發(fā)明中的軟件架構中來。
      另外注意的是,1)本發(fā)明中的內核服務提供者315的內容完全可以參考TSS規(guī)范中的TSP要求編寫接口,不同之處在于,其提供的是內核態(tài)接口而不是用戶態(tài)接口。2)本發(fā)明中的內核核心服務316的內容完全可以參考TSS規(guī)范中的TCS要求編寫接口,不同之處在于,其提供的是內核態(tài)接口而不是用戶態(tài)接口。3)本發(fā)明中的用戶服務提供者313簡單封裝了內核服務提供者315的功能,以提供與TSP相同的接口。4)本發(fā)明中的用戶核心服務314簡單封裝了內核核心服務316的功能,以提供與TSS核心服務114相同的接口。
      此外,本領域的普通技術人員能夠理解,TCG軟件協(xié)議棧中的TSS服務提供者113與TSS核心服務114是上下調用關系。但是本發(fā)明中的用戶服務提供者313與用戶核心服務314之間沒有調用關系,這是因為本發(fā)明內核中的兩個模塊,即內核服務提供者315和內核核心服務316已經分別實現了TCG軟件協(xié)議棧中對應兩層的功能,因此本發(fā)明的兩個用戶態(tài)模塊,即用戶服務提供者313和用戶核心服務314僅僅對內核態(tài)模塊,即內核服務提供者315和內核核心服務316進行封裝即可,從而方便了實現。
      因此,本發(fā)明提供了可信硬件設備的軟件支持架構,為各種應用環(huán)境都提供了良好一致的接口,不僅應用程序,而且核心程序也能直接使用TPM提供的密碼學服務。并且,本發(fā)明還具有可擴展性,能動態(tài)地與TSS的發(fā)展保持一致。
      以上所述,僅為本發(fā)明中的具體實施方式
      ,但本發(fā)明的保護范圍并不局限于此,任何熟悉該技術的人在本發(fā)明所揭露的技術范圍內,可輕易想到的變換或替換,都應涵蓋在本發(fā)明的包含范圍之內。因此,本發(fā)明的保護范圍應該以權利要求書的保護范圍為準。
      權利要求
      1.一種可信計算平臺,包括內核服務提供裝置,用于為應用提供在內核態(tài)下的調用接口,以使用可信平臺模塊提供的可信平臺模塊服務;以及內核核心服務裝置,用于為所述內核服務提供裝置提供底層服務。
      2.如權利要求1所述的可信計算平臺,其特征在于,還包括內核遠程過程調用客戶端,其與所述內核服務提供裝置連接,用于為所述內核服務提供裝置調用另一可信計算平臺的底層服務;以及內核遠程調用服務端,其與所述內核核心服務裝置連接,用于調用內核核心服務裝置提供的底層服務,以為遠程調用提供本地的底層服務。
      3.如權利要求2所述的可信計算平臺,其特征在于,還包括用戶服務提供裝置,其與所述內核服務提供裝置連接,用于封裝所述內核服務提供裝置所提供的底層服務;以及用戶核心服務裝置,其與所述內核核心服務裝置連接,用于封裝所述內核核心服務裝置提供的底層服務。
      4.如權利要求3所述的可信計算平臺,其特征在于,還包括遠程過程調用客戶端,其與所述用戶服務提供裝置連接,用于被所述用戶服務提供裝置調用,以使用遠程的可信平臺模塊服務;以及遠程過程調用服務端,其與所述用戶核心服務裝置連接,用于被另一可信計算平臺用來調用所述用戶核心服務裝置,以為該可信計算平臺提供遠程的可信平臺模塊服務。
      5.如權利要求4所述的可信計算平臺,其特征在于,還包括可信平臺硬件,它是具有密碼學功能的硬件;以及設備驅動,用于驅動所述可信平臺硬件。
      6.如權利要求5所述的可信計算平臺,其特征在于,本地應用通過直接調用所述用戶服務提供裝置提供的服務來使用可信平臺模塊服務。
      7.如權利要求5所述的可信計算平臺,其特征在于,還包括密碼服務提供裝置,它是標準密碼學接口,并且屏蔽了下層不同硬件或軟件提供的服務;其中本地應用通過所述密碼服務提供裝置來使用可信平臺模塊服務。
      8.如權利要求6或7所述的可信計算平臺,其特征在于,所述可信平臺硬件是安全芯片。
      9.一種在內核態(tài)下訪問可信平臺模塊服務的方法,包括步驟提供內核服務提供者接口,用于為應用提供在內核態(tài)下的對底層的調用,以使用可信平臺模塊提供的可信平臺模塊服務;以及提供內核核心服務接口,用于為所述內核服務者接口提供底層調用。
      10.如權利要求9所述的方法,其特征在于,還包括步驟提供內核遠程過程調用客戶端,以為所述內核服務提供接口調用另一可信計算平臺的底層服務;以及提供內核遠程調用服務端,以調用內核核心服務接口提供的底層服務,從而為遠程調用提供本地的底層服務。
      11.如權利要求10所述的方法,其特征在于,還包括步驟封裝所述內核服務提供接口所提供的底層服務,以將其提供給應用;以及封裝所述內核核心服務接口提供的底層服務,以將其提供給遠程應用。
      12.如權利要求11所述的方法,其特征在于,通過遠程過程調用來將封裝的底層應用提供給遠程應用。
      13.如權利要求12所述的方法,其特征在于,還包括步驟提供標準密碼學接口,以屏蔽下層不同硬件或軟件提供的服務;其中本地應用通過所述標準密碼學接口來使用可信平臺模塊服務。
      14.如權利要求13所述的方法,其特征在于,所述內核核心服務接口通過調用可信平臺硬件的驅動,來提供底層服務。
      15.如權利要求14所述的方法,其特征在于,所述可信平臺硬件是安全芯片。
      全文摘要
      公開了一種可信計算平臺和在內核態(tài)下訪問可信平臺模塊服務的方法。該可信計算平臺包括內核服務提供裝置,用于為應用提供在內核態(tài)下的調用接口,以使用可信平臺模塊提供的可信平臺模塊服務;以及內核核心服務裝置,用于為所述內核服務提供裝置提供底層服務。利用上述配置,能夠為內核態(tài)應用提供了接口,并且能夠提高運行效率。
      文檔編號G06F21/00GK1988534SQ200510134080
      公開日2007年6月27日 申請日期2005年12月23日 優(yōu)先權日2005年12月23日
      發(fā)明者林洋, 郭軼尊, 尹萍, 寧曉魁 申請人:聯(lián)想(北京)有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1