一種基於可信軟體棧的接口調用方法
2023-05-21 16:07:31 2
一種基於可信軟體棧的接口調用方法
【專利摘要】本發明公開了一種基於可信軟體棧的接口調用方法,其具體實現過程為:將可信軟體棧自底向上分成驅動層、核心服務層、服務應用層,其中驅動層包括TCM安全晶片、與TCM安全晶片驅動通信的設備驅動、與設備驅動雙向通信的驅動程序庫,所述驅動程序庫與核心服務層通信連接;服務應用層包括應用程式和可信服務提供層;設置用戶應用程式和可信服務提供層之間的調用;設置可信服務提供層與核心服務層之間的調用;設置核心服務層與設備驅動庫之間的調用;設置設備驅動庫與設備驅動的接口調用。該一種基於可信軟體棧的接口調用方法與現有技術相比,劃分了可信軟體棧的各個層次,說明了各個層次之間接口的調用流程,為可信應用程式的開發提供了有效的方法。
【專利說明】
—種基於可信軟體棧的接口調用方法
【技術領域】
[0001]本發明涉及計算機軟體【技術領域】,具體地說是一種實用性強、基於可信軟體棧的接口調用方法。
【背景技術】
[0002]為了使用可信密碼模塊TCM,用戶需要一個與之交互的軟體模塊,該軟體模塊是可信軟體棧。可信軟體棧作為使用可信密碼模塊TCM的入口,位於用戶應用軟體與TCM之間,主要提供TCM安全晶片的訪問、安全認證、密碼服務和資源管理等功能,解決TCM晶片自身接口的複雜性和對外服務的不便性。
[0003]由於不同安全晶片在功能上存在差別,因此不同的安全晶片使用時需要有相應的軟體棧。基於此,現提供一種基於可信軟體棧的接口調用方法,該方法以可信密碼模塊TCM為平臺,實現了應用軟體與TCM安全晶片的有效通信。
【發明內容】
[0004]本發明的技術任務是針對以上不足之處,提供一種實用性強、基於可信軟體棧的接口調用方法。
[0005]一種基於可信軟體棧的接口調用方法,其具體實現過程為:
將可信軟體棧自底向上分成驅動層、核心服務層、服務應用層,其中驅動層包括TCM安全晶片、與TCM安全晶片驅動通信的設備驅動、與設備驅動雙向通信的驅動程序庫,所述驅動程序庫與核心服務層通信連接;服務應用層包括應用程式和可信服務提供層;
設置服務應用層與核心服務層之間的調用方式:應用程式與可信服務提供層之間的調用採用動態連結庫方式,並為開發者提供動態連結庫相應的頭文件和庫文件以開發安全應用程式;可信服務提供層與核心服務層之間使用調用RPC的方式進行通信,並在通信過程中按照接口描述語言IDL的定義自動分配空間;
設置核心服務層與驅動程序庫之間的調用方式:兩者之間採用動態連結庫的調用方式;
設置驅動程序庫與設備驅動之間的調用方式:兩者之間採用Linux作業系統下訪問驅動程序的加密服務提供程序CSP接口調用。
[0006]所述服務應用層包括本地應用層和遠程應用層,本地應用層包括本地應用程式、與其對應連接的可信服務提供層;遠程應用層包括遠程應用程式、與其對應連接的可信服務提供層;相對應的,上述本地應用層的可信服務提供層、遠程應用層的可信服務提供層均與核心服務層通信連接。
[0007]所述本地應用程式、遠程應用程式均通過可信計算核心服務接口 TSPI接口與其相對應的可信服務提供層相連接。
[0008]所述本地應用層的可信服務提供層通過本地調用RPC的方式與核心服務層調用連接;遠程應用層的可信服務提供層通過遠程調用RPC的方式與核心服務層調用連接。
[0009]本發明的一種基於可信軟體棧的接口調用方法,具有以下優點:
該發明的一種基於可信軟體棧的接口調用方法使用底層的安全晶片TCM,把與其相應的可信軟體棧TSM劃分為多個不同的功能接口層,方便用戶開發基於可信計算的上層安全應用程式;實用性強,說明了各個接口的調用流程,為可信應用程式的開發提供了有效的方法,適用範圍廣泛,易於推廣。
【專利附圖】
【附圖說明】
[0010]附圖1為本發明的調用示意圖。
【具體實施方式】
[0011]下面結合附圖和具體實施例對本發明作進一步說明。
[0012]本發明提供一種基於可信軟體棧的接口調用方法,把TCM安全晶片的可信軟體棧劃分為多個不同的功能接口層,說明了各個接口的調用方法,為用戶開發基於可信計算的上層安全應用程式提供了方便。如附圖1所示,其具體實現過程為:
將可信軟體棧自底向上分成驅動層、核心服務層、服務應用層,其中驅動層包括TCM安全晶片、與TCM安全晶片驅動通信的設備驅動、與設備驅動雙向通信的驅動程序庫,所述驅動程序庫與核心服務層通信連接;服務應用層包括應用程式和可信服務提供層。
[0013]設置服務應用層與核心服務層之間的調用方式:應用程式與可信服務提供層之間的調用採用動態連結庫方式,並為開發者提供動態連結庫相應的頭文件和庫文件以開發安全應用程式;可信服務提供層與核心服務層之間使用調用RPC的方式進行通信,並在通信過程中按照接口描述語言IDL的定義自動分配空間。
[0014]設置核心服務層與驅動程序庫之間的調用方式:兩者之間採用動態連結庫的調用方式;由於設備驅動庫的接口是標準的,為了便於可信計算核心服務層的移植,在使用驅動庫時也採用動態連結的方式,這樣核心服務層可以使用不同的驅動庫,從而運行在擁有不同安全晶片的平臺上。
[0015]設置驅動程序庫與設備驅動之間的調用方式:兩者之間採用Linux作業系統下訪問驅動程序的加密服務提供程序CSP接口調用。
[0016]開發者可根據具體應用需求,選擇在不同的功能層次調用相應的接口進行開發。
[0017]所述服務應用層包括本地應用層和遠程應用層,本地應用層包括本地應用程式、與其對應連接的可信服務提供層;遠程應用層包括遠程應用程式、與其對應連接的可信服務提供層;相對應的,上述本地應用層的可信服務提供層、遠程應用層的可信服務提供層均與核心服務層通信連接。
[0018]所述本地應用程式、遠程應用程式均通過可信計算核心服務接口 TSPI接口與其相對應的可信服務提供層相連接。
[0019]所述本地應用層的可信服務提供層通過本地調用RPC的方式與核心服務層調用連接;遠程應用層的可信服務提供層通過遠程調用RPC的方式與核心服務層調用連接。
[0020]無論是本地應用程式還是遠程應用程式,調用TCM安全晶片並不需要對可信軟體棧的每個層次接口都進行調用,只使用最上層可信服務提供層的可信計算核心服務接口TSPi進行調用,可信軟體棧底層的核心服務、驅動程序庫以及設備驅動接口只作為抽象接口,不具體體現給用戶,它們之間的數據交互均由可信軟體棧自動實現。
[0021]上述【具體實施方式】僅是本發明的具體個案,本發明的專利保護範圍包括但不限於上述【具體實施方式】,任何符合本發明的一種基於可信軟體棧的接口調用方法的權利要求書的且任何所屬【技術領域】的普通技術人員對其所做的適當變化或替換,皆應落入本發明的專利保護範圍。
【權利要求】
1.一種基於可信軟體棧的接口調用方法,其特徵在於其具體實現過程為: 將可信軟體棧自底向上分成驅動層、核心服務層、服務應用層,其中驅動層包括TCM安全晶片、與TCM安全晶片驅動通信的設備驅動、與設備驅動雙向通信的驅動程序庫,所述驅動程序庫與核心服務層通信連接;服務應用層包括應用程式和可信服務提供層; 設置服務應用層與核心服務層之間的調用方式:應用程式與可信服務提供層之間的調用採用動態連結庫方式,並為開發者提供動態連結庫相應的頭文件和庫文件以開發安全應用程式;可信服務提供層與核心服務層之間使用調用RPC的方式進行通信,並在通信過程中按照接口描述語言IDL的定義自動分配空間; 設置核心服務層與驅動程序庫之間的調用方式:兩者之間採用動態連結庫的調用方式; 設置驅動程序庫與設備驅動之間的調用方式:兩者之間採用Linux作業系統下訪問驅動程序的加密服務提供程序CSP接口調用。
2.根據權利要求1所述的一種基於可信軟體棧的接口調用方法,其特徵在於:所述服務應用層包括本地應用層和遠程應用層,本地應用層包括本地應用程式、與其對應連接的可信服務提供層;遠程應用層包括遠程應用程式、與其對應連接的可信服務提供層;相對應的,上述本地應用層的可信服務提供層、遠程應用層的可信服務提供層均與核心服務層通信連接。
3.根據權利要求2所述的一種基於可信軟體棧的接口調用方法,其特徵在於:所述本地應用程式、遠程應用程式均通過可信計算核心服務接口 TSPI接口與其相對應的可信服務提供層相連接。
4.根據權利要求2所述的一種基於可信軟體棧的接口調用方法,其特徵在於:所述本地應用層的可信服務提供層通過本地調用RPC的方式與核心服務層調用連接;遠程應用層的可信服務提供層通過遠程調用RPC的方式與核心服務層調用連接。
【文檔編號】G06F9/48GK104317651SQ201410536849
【公開日】2015年1月28日 申請日期:2014年10月13日 優先權日:2014年10月13日
【發明者】蘇振宇 申請人:浪潮電子信息產業股份有限公司