本發(fā)明涉及安全驗證領域,具體涉及一種平臺軟件完整性證明方法和裝置。
背景技術:
隨著信息技術的發(fā)展,各種計算資源通過網絡的通信交互不斷增加,各行業(yè)的信息化進程也不斷加深,對計算機通信的依賴越來越多,與此同時,我國信息化建設也在全面深入的開展,計算機互聯(lián)網的飛速發(fā)展,使信息系統(tǒng)的安全狀況日趨復雜混亂。病毒、蠕蟲、木馬等惡意程序在網絡和信息系統(tǒng)中傳播、泛濫,信息系統(tǒng)不斷面臨來自不可預知情況的挑戰(zhàn),信息安全狀況日益嚴峻,安全保密已成為信息系統(tǒng)建設的重要問題。
在可信計算平臺聯(lián)盟成立不久,中國國內開始了對可信計算的研究。在2000年6月到2004年10月期間,武漢瑞達公司和武漢大學合作率先研制出了我國第一款自主研制的可信計算平臺。2005年,聯(lián)想公司和兆日公司也先后推出了自己的可信平臺產品,這些產品都獲得了國家密碼管理局的鑒定和認證。2006年開始,在國家密碼管理局和全國信息安全標準委員會主持下,許多相關廠商共同參與制定了一系列可信計算的規(guī)范和標準,并組織了相關產品的研發(fā),自此在各個層次上,可信計算產業(yè)鏈都有了很強的支持,并且已經被產業(yè)所接受,這為以后的可信計算平臺的研究奠定了基礎。
2008年中國可信計算聯(lián)盟(communitytrustedcreditunion,ctcu)成立,同方、方正、浪潮、天融信等公司以及武漢大學、中科院軟件所等高校和研究機構都開展了可信計算的研究。在此之后,國內對可信計算領域的研究得到了快速發(fā)展,并不斷有新的可信計算技術和產品產生,我國的可信計算水平也得到國際認可,已經處于國際可信計算研究領域的前列。
tcg移動電話工作組mpwg發(fā)布mtm之后,國內學者也開始對移動可信平臺體系架構的探索研究。不過在這方面的研究并沒有像對可信計算平臺研究那么多,一些學者也只是提出了基于可信計算的移動平臺設計方案,沒有推出相應功能的技術和產品。當越來越多的智能移動終端投入使用后,智能終端安全問題也成為了網絡安全研究方面的一個新熱點。原本存在于pc機上的病毒、蠕蟲、木馬、間諜軟件和惡意軟件問題也出現(xiàn)在了智能手機中,為了解決智能手機面臨的這些安全問題,當前比較流行的解決方案是在智能手機上安裝安全軟件產品,例如瑞星殺毒軟件手機版,但這些相關軟件產品使用的是pc機上檢測木馬、病毒的方法,并不適用于處理器和存儲能力受限的移動設備中。這時很多國內外學者都把目光轉向了mpwg提出的移動可信平臺mtm上,希望通過利用可信計算技術來解決竊聽、隱私泄露等安全威脅。
可信計算領域里理論研究相對滯后于產品的開發(fā),到目前為止,尚沒有被大家所普遍認可的信任度量模型,也沒有完善的信任鏈理論。
技術實現(xiàn)要素:
至少部分的解決現(xiàn)有技術中存在的問題,本發(fā)明提出一種平臺軟件完整性證明方法和裝置,包括:
在傳統(tǒng)的實施pki的三層信息系統(tǒng)基礎上,基于完整性度量機制,設立可信權威第三方——度量中心,作為可信計算的信任仲裁與監(jiān)督方,在信息數(shù)據(jù)流轉和變換的關鍵環(huán)節(jié)實施可信完整性度量,形成數(shù)據(jù)度量可信鏈,通過對數(shù)據(jù)度量可信鏈關鍵數(shù)據(jù)的比較和分析,具體包括密鑰分配方法、會話密鑰協(xié)商方法、度量存儲方法、快速檢測方法和信息傳輸方法。
其中,定義符號如下:data為數(shù)據(jù)信息,m為明文,c為密文,h()為度量的雜湊函數(shù),e()為加密計算函數(shù),d()為解密計算函數(shù),request()為請求函數(shù),hx為度量結果,pk為公鑰,sk為私鑰,密鑰下標表示密鑰所屬用戶,如pkb表示b的公鑰,ks為會話密鑰,id為身份標識,t為時間戳,n為隨機數(shù),ix-y表示信息從x向y傳送的摘要,trusted表示可信、nottrusted表示不可信,mc為度量中心,dh為信息庫,mf為中間層,ca為認證中心。在加、解密運算中,[]表示密鑰所屬者,如epk[b]表示以b的公鑰加密,在敘述中仍用下標標識密鑰所屬者;
密鑰分配方法包括:
(1)用戶a生成ta,a向ca發(fā)送(request(b),ida,ta),b表示用戶b;
(2)ca接收后,識別ida,確認ida正確后,確認a發(fā)來的request(b)和ta,
ca向a發(fā)送esk[ca](pkb,request(b),ta);
(3)若a在預定時限內收不到ca回復,重復(1)三次,若三次后沒收到ca回復,報警退出;
若a在預定時限內收到ca回復,計算dpk[ca](esk[ca](pkb,request(b),ta))得到(pkb,request(b),ta),如a確認request(b)和ta為前面所發(fā),則繼續(xù),否則報警退出。
會話密鑰協(xié)商方法包括:
(1)通過密鑰分配方法,a獲取pkb;
(2)用戶a生成na,用戶a向用戶b發(fā)送epk[b](na,ida);
(3)b收到后,做dsk[b](epk[b](na,ida))得到(na,ida);
(4)通過密鑰分配方法,b獲取pka;
(5)用戶b生成nb,b向a發(fā)送epk[a](nb,na);
(6)若a在預定時限內收不到b回復,重復(2)三次,若三次后沒收到b回復,報警退出;
若a在預定時限內收到b回復,做dsk[a](epk[a](nb,na))得到(nb,na),比較na,若與前面所發(fā)出的相同則繼續(xù),否則報警退出;
(7)a生成ks,a向b發(fā)送epk[b](nb,esk[a](ks));
(8)若b在預定時限內收不到a回復,重復(5)三次,若三次后沒收到a回復,報警退出;
若b在預定時限內收到a回復,做dsk[b](epk[b](nb,esk[a](ks)))得到(nb,esk[a](ks)),比較nb,若與前面所發(fā)出的相同則繼續(xù),否則報警退出;
(9)b用pka解密做dpk[a](esk[a](ks))得到ks。
度量存儲方法包括:
a向mc發(fā)送度量信息,度量信息主要包括度量值hx和度量報告mrx,
(1)a生成ta,a向mc發(fā)送epk[mc](ia-b,ta,ida);
(2)mc收到后,用函數(shù)dsk[mc]()解密,得(ia-b,ta,ida),mc生成tmc,mc向a發(fā)送epk[a](ta,tmc);
(3)a接收后,用函數(shù)dsk[a]()解密,得(ta,tmc),與先前所發(fā)出比較,若相同則繼續(xù),否則報警退出;
(4)a向mc發(fā)送
(5)mc收到后,用函數(shù)dsk[mc]()、dpk[a]()、
按完整性度量機制,由tmc計算度量值得hx`,若hx`和hx相等則繼續(xù),否則報警退出;
(6)mc查找ia-b對應的存儲鏈表chaina-b,若不存在符合預定要求的鏈表,則創(chuàng)建一個含8個單元的連續(xù)存儲區(qū)并清空,按順序將hx和mrx存入存儲區(qū)中首個單元,若已存在則將hx和mrx存入存儲區(qū)中第一個空單元;8個單元的hx和mrx分別為h0、h1、h2、h3、h4、h5、h6、h7和mr0、mr1、mr2、mr3、mr4、mr5、mr6、mr7。
mc向a發(fā)送epk[a](esk[mc](ia-b,ta));
(7)若a在預定時限內收不到mc回復,重復(1)三次,若三次后沒收到mc回復,報警退出;
若a在預定時限內收到mc回復,使用dsk[a]()、dpk[mc]()解密epk[a](esk[mc](ia-b,ta)),得ia-b,ta,比較ia-b,ta,若與前面所發(fā)出的相同則繼續(xù),否則報警退出。
快速檢測方法包括:
(1)b生成tb,b向mc發(fā)送epk[mc](esk[b](request(),ia-b,tb));
(2)mc收到后,用函數(shù)dsk[mc]()、dpk[b]()解密,得(request(),ia-b,tb),mc根據(jù)ia-b查找信任鏈chaina-b,若沒找到chaina-b的存儲單元,mc向b發(fā)送epk[b](esk[mc](none,ia-b,tb)),退出;
若找到chaina-b的存儲單元,比較存儲單元中h0=h7、h1=h6、h2=h3、h4=h5的成立情況,組成4為二進制數(shù),即成立結果為1,不成立結果為0,都不成立的4為二進制數(shù)為0000,不同的二進制數(shù)對應不同的返回狀態(tài)及故障檢測結果;
(3)根據(jù)二進制數(shù)的值得到返回狀態(tài)及故障檢測結果,分別為x和y;
(4)mc向b發(fā)送epk[b](esk[mc](x,y,tb))。
信息傳輸方法包括:用戶a向用戶b發(fā)送信息data,通過會話密鑰協(xié)商方法、度量存儲方法、快速檢測方法完成公網上的保密信息傳輸并通報快速故障檢測結果。
本發(fā)明還提出一種平臺軟件完整性證明裝置,包括:
在傳統(tǒng)的實施pki的三層信息系統(tǒng)基礎上,基于完整性度量機制,設立可信權威第三方——度量中心,作為可信計算的信任仲裁與監(jiān)督方,在信息數(shù)據(jù)流轉和變換的關鍵環(huán)節(jié)實施可信完整性度量,形成數(shù)據(jù)度量可信鏈,通過對數(shù)據(jù)度量可信鏈關鍵數(shù)據(jù)的比較和分析,具體包括密鑰分配單元、會話密鑰協(xié)商單元、度量存儲單元、快速檢測單元和信息傳輸單元。
本發(fā)明提出了的平臺軟件完整性證明方法和裝置,提高了平臺安全驗證的安全性和靈活性。
附圖說明
圖1為本發(fā)明一種平臺軟件完整性證明方法的流程圖;
圖2為本發(fā)明一種平臺軟件完整性證明裝置的框圖。
具體實施方式
下面將結合本發(fā)明的附圖,對本發(fā)明的技術方案進行清楚、完整地描述。這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
本發(fā)明采用基于信任度的驗證結構,該結構包含具有可信計算模塊tpm的被驗證方、信任度驗證代理、驗證方以及為信任度驗證代理提供服務的目錄服務器。信任度驗證代理是被驗證方和驗證方雙方都信任的一個評估信任度的代理,它的驗證結果不暴露被驗證方的隱私信息,且具有權威性,由可信的第三方充當。
被驗證方是請求接入到受保護網絡且具有tpm的設備,被驗證方的組件包括:
l)被驗證平臺:特指被驗證方中的計算環(huán)境;
2)tpm:是可信計算的核心設備,為被驗證平臺提供安全存儲和密碼運算功能。
信任度驗證代理:是執(zhí)行二進制驗證或平臺配置的驗證和信任度評估的可信第三方,對于被驗證平臺,驗證代理是二進制驗證機制中的驗證者;而對于驗證方,它是被驗證平臺的代理;信任度驗證代理包含的組件是配置驗證器和信任度轉換器:
l)配置驗證器:是對被驗證平臺發(fā)送的完整性度量信息進行驗證的模塊(在tcg系統(tǒng)中,可以對應于pts模塊),當接收到驗證方的平臺驗證請求時,信任度驗證代理挑戰(zhàn)被驗證方,使其發(fā)送完整性度量信息,配置驗證器驗證被驗證方平臺的配置狀況,并將驗證結果發(fā)送給信任度轉換器;
2)信任度轉換器:它主要負責評估被驗證的信任度,當收到配置驗證器將被驗證方的平臺驗證結果,根據(jù)驗證結果、信任度評估策略,信任度轉換器將完整性度量信息轉化平臺信任度。
驗證評估策略如描述或證明與被驗證方的平臺組件相關的影響安全的權重。例如,組件安全特性的影響因素可能有:制造商,她們產品的自身的構造和采用的技術可能影響組件的安全;評估權威,對組件安全特性的評估機構等也影響組件的安全;和組件的所有者,如果組件的使用者,企業(yè)、個人的使用也會對組件的安全要求不同;組件的功能,計算機平臺的一些組件提供的服務不同,計算機系統(tǒng)對這些組件的安全需求不同,相應地它們的權重也就不同。
目錄服務器是為被驗證方的平臺組件提供附加認證信息的服務器,該服務器通常是組件供應商或具有授權的可信第三方,目錄服務器包括的組件有:
l)組件目錄:是存儲并為合法用戶提供組件相關信息的實體,如軟件供應商數(shù)據(jù)庫通常提供該軟件相應組件的哈希值以及相對應的最新產品描述信息;
2)信任度證明器:用來描述組件所具有的可信度(如某個組件提供哪些服務)的實體,該實體可以是發(fā)布某個組件的生產商,也可以是某些權威的評估機構,也可以是某些企業(yè)或個體所有者;
3)信任度策略:用來記錄組件配置狀況到信任度轉換的安全策略,如在某些特殊應用上,會提高某些應用的權重等。
驗證方為對請求者的平臺完整性進行驗證的設備,它主要
包括以下組件:
l)信任度驗證器:在信任度驗證交互過程,提供對被驗證方的特定的安全需求,這些需求屬于信任度評估的一部分,根據(jù)信任度驗證代理發(fā)送的預定義的驗證策略(如屬性需求和可信策略)來對被驗證方的可信性進行評估。
參見圖1,本發(fā)明提出了一種平臺軟件完整性證明方法,包括:
驗證方向信任度驗證代理發(fā)起驗證請求;
信任度驗證代理向被驗證方轉發(fā)所述驗證請求;
被驗證方向信任度驗證代理quote消息和日志文件給驗證代理;
信任度驗證代理向驗證方返回信任度驗證結果。
本發(fā)明的上述方法具體包括:
平臺驗證請求:驗證方發(fā)送一個消息給驗證代理,該消息包括一個160b的隨機數(shù)c、用于發(fā)送驗證結果的背書密鑰aik和信任策略tpv;
完整性度量請求:用一個已驗證的通道,驗證代理向被驗證方轉發(fā)所述消息;被驗證方收到消息后,根據(jù)信任策略tpv,決定是否應答;
tpmquote請求/響應:利用所述消息,被驗證方請求并接收經aik簽名的quote消息;
完整性度量:通過加密通道,被驗證方發(fā)送quote消息和日志文件給驗證代理;
配置驗證:根據(jù)pcr和日志文件和潛在的配置描述,驗證代理重建被驗證方的配置;
信任度驗證:驗證代理從被驗證方的完整性度量結果、配置描述以及信任策略,來推導出被驗證方的完整性信任度;
平臺信任度:驗證代理返回經簽名的消息,該消息包含所述平臺驗證請求的內容和所述完整性信任度;驗證方檢查簽名密鑰的真實性;如果可靠,驗證方從驗證代理接收到信任度符合驗證方的要求。
對于信任度驗證,本發(fā)明采用混合驗證,是兩層驗證鏈,第一是基于二進制配置的驗證,第二是基于信任度的驗證,驗證代理根據(jù)己定義的標準確認平臺配置和特定屬性之間的對應關系的正確性,驗證方cp、驗證代理tdvp和被驗證方ap生成的密鑰對分別是{kpubcp,kpricp}、{kpubtdvp,kpritdvp}、{kpubap,kpriap},通過協(xié)商驗證方cp與驗證代理tdvp之間的會話密鑰為kc,驗證代理tdvp與被驗證方ap之間的會話密鑰為ka,信任度驗證的流程為:
s1:為了獲得被驗證平臺ap的平臺的可信狀態(tài),驗證方cp向驗證代理tdvp發(fā)送信任度驗證請求;
cp將被驗證方的身份信息idap、隨機數(shù)noncel、發(fā)送信任度驗證的時間timel、cp的驗證策略policiescp和cp的身份信息aik-certifieatecp用tdvp的aik公鑰加密,加密保證了只有tdvp才能解密消息,然后將消息用cp和tdvp之間的會話密鑰kc加密后發(fā)送給tdvp;
s2:驗證代理tdvp收到cp的信任度驗證請求消息后,用自己的aik私鑰解密,然后,tdvp向驗證方提供的被驗證方ap發(fā)送二進制驗證請求:
tdvp將收到的cp的驗證請求消息、隨機數(shù)nonce1及發(fā)送信任度驗證的時間timel用aik的私鑰簽名,然后在用會話密鑰ka加密后發(fā)送給ap,隨機數(shù)用以驗證自己之前發(fā)送的消息是否得到了相應的回復,私鑰簽名確保該消息是tdvp所發(fā);
s3:ap收到tdvp的驗證請求后,收集自身的平臺配置信息,然后發(fā)送二進制驗證響應:
ap將收集自身的平臺完整性信息pcrsap和隨機數(shù)nonce2用aik私鑰加密簽名,然后在和aik證書用ap和tdvp之間的會話密鑰加密后發(fā)送給tdvp;
s4:信任度評估后,tdvp分別向ap、cp發(fā)送信任度授權響應和信任度驗證響應信息;
s5:ap向cp發(fā)送服務請求信息;
s6:當cp通過對ap的信任度驗證后,cp響應服務請求信息。
用戶之間交互的目的是實現(xiàn)可信平臺之間的安全通信,或者說獲得遠程平臺提供的服務。為了這一目的,可信計算定義了遠程驗證(remoteattestation,ra)機制,獲得服務的計算機平臺,即被驗證方,以tpm為可信度量、存儲和報告根,向遠程驗證者證明:自身系統(tǒng)具有的平臺的軟硬件配置狀態(tài),隨后,遠程驗證平臺判斷被驗證方是否處于一個可信狀態(tài),以便決定是否進行后續(xù)的通信。
然而,由于標準的tls應用程序(如web瀏覽器)允許平臺擁有者導出密鑰,致使惡意用戶可以獲得用于通信的證書和私鑰,而驗證本身和終端身份之間缺少聯(lián)系。這樣,數(shù)據(jù)傳輸過程中,惡意用戶容易利用通信協(xié)議和完整性報告協(xié)議的缺陷,冒充合法用戶。
由于標準的tls應用程序(如web瀏覽器)支持平臺擁有者導出密鑰,這樣攻擊者可以提取出身份證書(如x.509證書)和相應的私鑰.在ssl/tls協(xié)議建立過程中,惡意用戶利用獲取的證書和私鑰,冒充成合法用戶通過驗證者對其身份驗證,獲得下次通信的會話密鑰。在遠程驗證過程中,驗證者僅認為,消息被傳送給預期的接收者。而接收者將該消息作為合法消息進行處理,從而導致一系列的不良后果。
本發(fā)明的平臺軟件完整性證明方法進一步解決了上述問題。
由于ssl/tls應用程序支持平臺擁有者對計算機平臺的證書和私鑰的導出,這給惡意用戶提供了冒充合法用戶的可乘之機。為了從根本上改變這一問題,本發(fā)明改進了x.509證書的申請和密鑰。a表示證書申請者,c表示證書的簽發(fā)者,該證書的詳細申請過程如下:
(l)a:從tpm中獲得一對簽名密鑰對(k,k’);
(2)a用簽名密鑰對(k,k’)生成證書認證申請,并用aik加密后傳送給c;
(3)c驗證申請,驗證aik證書,處理申請;
(4)c響應申請;
(5)a獲得響應,解密隨機數(shù)nonce;
(6)a向c發(fā)送認證確認后的隨機數(shù)nonce;
(7)c向a頒發(fā)證書。
這樣,在x.509證書中,證書的私鑰是在tpm模塊中產生。因此,該密鑰具有可信平臺密鑰的一般功能,即密鑰的加密和解密過程均在tpm內部完成。
本發(fā)明進一步的改進了ssl/tls握手協(xié)議。由于原有的驗證信息和終端身份之間缺乏聯(lián)系,致使可信平臺和服務器之間的信息被惡意用戶利用的可能"而終端身份信息是在ssl/tls握手協(xié)議中獲得,而驗證信息包含在平臺軟件完整性證明的過程中的完整性報告協(xié)議中,為此,我們將aik證書引入到ssl/tls協(xié)議中。用aik的私鑰k,對客戶平臺產生的隨機數(shù)rand_c加密簽名,同時將aik私鑰簽名的客戶平臺的證書簽名和aik證書發(fā)送給服務器.服務器驗證aik證書,并用aik公鑰解密隨機數(shù)rand_c和客戶平臺的證書,然后驗證客戶平臺證書。
(l)使用客戶端和服務器的aik分別對各自證書cert_c和cert_s和隨機數(shù)rand_c!rand_s加密簽名;
(2)在密鑰交換時,客戶端和服務器端分別提供一部分密鑰,這兩部分共同產生主密鑰;
(3)密鑰交換式傳輸?shù)臄?shù)據(jù),需要用各自的aik簽名后傳輸。
這樣,即使惡意用戶截獲可信平臺和服務器之間傳送的信息,但因為沒有相應的證書和密鑰,而無法解密出信息。同時,aik對平臺證書的簽名實現(xiàn)了平臺終端證書和tpm硬件之間建立了聯(lián)系,實現(xiàn)了它們之間的綁定,使ssl/tls協(xié)議抗冒名重播攻擊。
傳統(tǒng)信息系統(tǒng)在公網上的信息傳輸方式,一般是在傳輸前由發(fā)送者將數(shù)據(jù)用分組密碼加密,并對加密前明文計算散列值,傳輸后接收者用分組密碼解密,并對解密后的明文計算散列值,接收者對接收到的散列值和計算所得散列值進行比較,如相同則表示數(shù)據(jù)完整,這樣傳統(tǒng)信息系統(tǒng)中每次經由公網傳輸信息,都要對數(shù)據(jù)進行分組密碼的加、解密計算,目前的信息系統(tǒng)大多是多層級結構,通過公網傳輸信息的次數(shù)也相應比較多,又因為信息系統(tǒng)中需要傳輸?shù)臄?shù)據(jù)量越來越大,勢必造成信息系統(tǒng)大量計算資源的消耗,而且傳統(tǒng)信息系統(tǒng)中信息在進入信息庫前是明文,降低了安全性能,對信息庫專用通道的要求較高,實現(xiàn)代價也較高,同時,信息庫管理員能直接獲得信息庫中存儲的數(shù)據(jù)明文,對信息安全構成重大威脅,另外,傳統(tǒng)信息系統(tǒng)對所發(fā)生的不可預知的故障不能提供快速檢測支撐。
為解決上述問題,在傳統(tǒng)的實施pki的三層信息系統(tǒng)基礎上,基于完整性度量機制,設立可信權威第三方——度量中心,作為可信計算的信任仲裁與監(jiān)督方,設計多個協(xié)議,在信息數(shù)據(jù)流轉和變換的關鍵環(huán)節(jié)實施可信完整性度量,形成數(shù)據(jù)度量可信鏈,通過對數(shù)據(jù)度量可信鏈關鍵數(shù)據(jù)的比較和分析,在保持pki信息系統(tǒng)安全性的基礎上,不僅能快速實現(xiàn)信息系統(tǒng)故障快速定位和提供檢測報告,而且大大減少了信息系統(tǒng)在加!解密中的計算資源消耗,從而提高信息系統(tǒng)運行效率。
本發(fā)明的平臺軟件完整性證明方法進一步包括信息系統(tǒng)故障快速檢測方法,具體包括:密鑰分配方法、會話密鑰協(xié)商方法、度量存儲方法、快速檢測方法和信息傳輸方法。
為更好的描述,定義符號如下:data為數(shù)據(jù)信息,m為明文,c為密文,h()為度量的雜湊函數(shù),e()為加密計算函數(shù),d()為解密計算函數(shù),request()為請求函數(shù),hx為度量結果,pk為公鑰,sk為私鑰,密鑰下標表示密鑰所屬用戶,如pkb表示b的公鑰,ks為會話密鑰,id為身份標識,t為時間戳,n為隨機數(shù),ix-y表示信息從x向y傳送的摘要,trusted表示可信、nottrusted表示不可信,mc為度量中心,dh為信息庫,mf為中間層,ca為認證中心。在加、解密運算中,[]表示密鑰所屬者,如epk[b]表示以b的公鑰加密,在敘述中仍用下標標識密鑰所屬者,如pkb。
密鑰分配方法包括:
(1)用戶a生成ta,a向ca發(fā)送(request(b),ida,ta),b表示用戶b;
(2)ca接收后,識別ida,確認ida正確后,確認a發(fā)來的request(b)和ta,
ca向a發(fā)送esk[ca](pkb,request(b),ta);
(3)若a在預定時限內收不到ca回復,重復(1)三次,若三次后沒收到ca回復,報警退出;
若a在預定時限內收到ca回復,計算dpk[ca](esk[ca](pkb,request(b),ta))得到(pkb,request(b),ta),如a確認request(b)和ta為前面所發(fā),則繼續(xù),否則報警退出。
會話密鑰協(xié)商方法包括:
(1)通過密鑰分配方法,a獲取pkb;
(2)用戶a生成na,用戶a向用戶b發(fā)送epk[b](na,ida);
(3)b收到后,做dsk[b](epk[b](na,ida))得到(na,ida);
(4)通過密鑰分配方法,b獲取pka;
(5)用戶b生成nb,b向a發(fā)送epk[a](nb,na);
(6)若a在預定時限內收不到b回復,重復(2)三次,若三次后沒收到b回復,報警退出;
若a在預定時限內收到b回復,做dsk[a](epk[a](nb,na))得到(nb,na),比較na,若與前面所發(fā)出的相同則繼續(xù),否則報警退出;
(7)a生成ks,a向b發(fā)送epk[b](nb,esk[a](ks));
(8)若b在預定時限內收不到a回復,重復(5)三次,若三次后沒收到a回復,報警退出;
若b在預定時限內收到a回復,做dsk[b](epk[b](nb,esk[a](ks)))得到(nb,esk[a](ks)),比較nb,若與前面所發(fā)出的相同則繼續(xù),否則報警退出;
(9)b用pka解密做dpk[a](esk[a](ks))得到ks。
這樣a、b雙方都已確認會話密鑰和通信對方身份。
度量存儲方法包括:
a向mc發(fā)送度量信息,度量信息主要包括度量值hx和度量報告mrx,
(1)a生成ta,a向mc發(fā)送epk[mc](ia-b,ta,ida);
(2)mc收到后,用函數(shù)dsk[mc]()解密,得(ia-b,ta,ida),mc生成tmc,mc向a發(fā)送epk[a](ta,tmc);
(3)a接收后,用函數(shù)dsk[a]()解密,得(ta,tmc),與先前所發(fā)出比較,若相同則繼續(xù),否則報警退出;
(4)a向mc發(fā)送
(5)mc收到后,用函數(shù)dsk[mc]()、dpk[a]()、
按完整性度量機制,由tmc計算度量值得hx`,若hx`和hx相等則繼續(xù),否則報警退出;
(6)mc查找ia-b對應的存儲鏈表chaina-b,若不存在符合預定要求的鏈表,則創(chuàng)建一個含8個單元的連續(xù)存儲區(qū)并清空,按順序將hx和mrx存入存儲區(qū)中首個單元,若已存在則將hx和mrx存入存儲區(qū)中第一個空單元;8個單元的hx和mrx分別為h0、h1、h2、h3、h4、h5、h6、h7和mr0、mr1、mr2、mr3、mr4、mr5、mr6、mr7。
mc向a發(fā)送epk[a](esk[mc](ia-b,ta));
(7)若a在預定時限內收不到mc回復,重復(1)三次,若三次后沒收到mc回復,報警退出;
若a在預定時限內收到mc回復,使用dsk[a]()、dpk[mc]()解密epk[a](esk[mc](ia-b,ta)),得ia-b,ta,比較ia-b,ta,若與前面所發(fā)出的相同則繼續(xù),否則報警退出。
快速檢測方法包括:
(1)b生成tb,b向mc發(fā)送epk[mc](esk[b](request(),ia-b,tb));
(2)mc收到后,用函數(shù)dsk[mc]()、dpk[b]()解密,得(request(),ia-b,tb),mc根據(jù)ia-b查找信任鏈chaina-b,若沒找到chaina-b的存儲單元,mc向b發(fā)送epk[b](esk[mc](none,ia-b,tb)),退出;
若找到chaina-b的存儲單元,比較存儲單元中h0=h7、h1=h6、h2=h3、h4=h5的成立情況,組成4為二進制數(shù),即成立結果為1,不成立結果為0,都不成立的4為二進制數(shù)為0000,不同的二進制數(shù)對應不同的返回狀態(tài)及故障檢測結果;
(3)根據(jù)二進制數(shù)的值得到返回狀態(tài)及故障檢測結果,分別為x和y;
(4)mc向b發(fā)送epk[b](esk[mc](x,y,tb))。
信息傳輸方法包括:用戶a向用戶b發(fā)送信息data,通過會話密鑰協(xié)商方法、度量存儲方法、快速檢測方法完成公網上的保密信息傳輸并通報快速故障檢測結果。
參見圖2,本發(fā)明還提出了與所述方法對應的平臺軟件完整性證明裝置。
本發(fā)明提出了的平臺軟件完整性證明方法和裝置,提高了平臺安全驗證的安全性和靈活性。
本領域技術人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術領域中的公知常識或慣用技術手段。
應當理解的是,本發(fā)明并不局限于上面已經描述并在附圖中示出的精確結構,并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權利要求來限制。