国产精品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>

      一種可擴(kuò)展的可信ssh的實(shí)現(xiàn)方法

      文檔序號(hào):7753786閱讀:196來(lái)源:國(guó)知局
      專利名稱:一種可擴(kuò)展的可信ssh的實(shí)現(xiàn)方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)信息安全領(lǐng)域,特別是指一種可擴(kuò)展的可信SSH的實(shí)現(xiàn)方法。
      背景技術(shù)
      SSH(Secure Shell)協(xié)議是IETF的網(wǎng)絡(luò)工作小組制定了一個(gè)安全協(xié)議,用于保 護(hù)客戶端與服務(wù)器端之間傳輸?shù)臄?shù)據(jù)。SSH協(xié)議采用了分層結(jié)構(gòu)設(shè)計(jì),包括四個(gè)子協(xié)議 SSH傳輸層子協(xié)議、用戶認(rèn)證子協(xié)議、連接子協(xié)議和文件傳輸子協(xié)議。前兩個(gè)子協(xié)議首先 依次被執(zhí)行,其中SSH傳輸層子協(xié)議負(fù)責(zé)在服務(wù)器端和客戶端建立安全通道,該子協(xié)議包 括協(xié)議版本交換、參數(shù)協(xié)商和密鑰交換三個(gè)過(guò)程。SSH傳輸層子協(xié)議運(yùn)行結(jié)束后將協(xié)商出 一個(gè)會(huì)話密鑰,用于加密用戶認(rèn)證階段的認(rèn)證信息、連接階段通信雙方的通信數(shù)據(jù)和文件 傳輸階段通信雙方的通信數(shù)據(jù)。SSH所有子協(xié)議的數(shù)據(jù)包都包含有消息編碼,消息編碼 的范圍是從 1 到 255,RFC 4251 (Τ. Ylonen and C. Lonvick, "TheSecure Shell Protocol Architecture,,,SSH Communications Security Corp, Cisco Systems, RFC 4251, Jan. 2006.)給出了 SSH協(xié)議已定義的消息編碼。在SSH中,通信端點(diǎn)在接收到對(duì)方的數(shù)據(jù) 包后,是根據(jù)數(shù)據(jù)報(bào)中的消息編碼來(lái)決定所要采取的措施。圖1是SSH傳輸層子協(xié)議的密 鑰交換流程圖,使用的密鑰交換算法是Diffie-Hellman算法,其中SSH_MSG_KEXDH_INIT、 SSH_MSG_KEXDH_REPLY 和 SSH_MSG_NEWKEYS 是 RFC 4253 (Τ. Ylonen and C. Lonvick, "The Secure Shell Transport Layer Protocol, " SSHCommunications Security Corp, Cisco Systems, RFC 4253,Jan. 2006.)定義的消息編碼,這些消息編碼在圖1中表示密鑰交換過(guò) 程中所涉及的IP數(shù)據(jù)包的類型。需要指出的是當(dāng)使用其它密鑰交換算法時(shí),圖1中SSH_ MSG_KEXDH_INIT和SSH_MSG_KEXDH_REPLY將換成與所采用的密鑰交換算法相關(guān)的消息編 碼。目前,許多損害終端的攻擊方法是通過(guò)各種形式的惡意代碼而不是通過(guò)損害安全 信道來(lái)實(shí)施的,因此在與未知端點(diǎn)通信時(shí),即使使用安全通道,仍然可能遭受一系列攻擊。 計(jì)算機(jī)信息的安全問(wèn)題很難單靠軟件解決,為了解決現(xiàn)有PC機(jī)結(jié)構(gòu)上的不安全問(wèn)題,可信 計(jì)算平臺(tái)聯(lián)盟TCPA(后來(lái)更名為TCG)提出可信計(jì)算平臺(tái),核心思想是在硬件平臺(tái)上引入具 有安全存儲(chǔ)和加密功能的可信平臺(tái)模塊(又稱為可信芯片)TPM??尚庞?jì)算平臺(tái)以TPM為信 任根,借助可信度量功能對(duì)系統(tǒng)平臺(tái)配置進(jìn)行度量,然后安全地將系統(tǒng)運(yùn)行情況記錄在TPM 中的平臺(tái)配置寄存器(PCR),同時(shí)在系統(tǒng)保存代表了被驗(yàn)證的可信平臺(tái)的完整性度量歷史 的度量存儲(chǔ)日志SML (storage measurementlog)。遠(yuǎn)程用戶根據(jù)SML和相關(guān)PCR值來(lái)判斷 該運(yùn)行環(huán)境是否可信、某些環(huán)節(jié)是否出現(xiàn)安全問(wèn)題,這一過(guò)程被稱作遠(yuǎn)程證明。在TCG規(guī)范 中,TPM使用身份證明密鑰AIK (attestation identity key)來(lái)證明自己的身份,凡是經(jīng)過(guò) AIK簽名的實(shí)體,都表明已經(jīng)經(jīng)過(guò)TPM的處理。為了防止重放、篡改、假冒等攻擊,遠(yuǎn)程證明 過(guò)程使用AIK來(lái)確保收到的信息是經(jīng)過(guò)某一指定TPM處理的。圖2是美國(guó)IBM公司的研 究人員設(shè)計(jì)的遠(yuǎn)程證明協(xié)議的流程圖。在這個(gè)遠(yuǎn)程證明過(guò)程中,首先驗(yàn)證請(qǐng)求者生成一個(gè) 160bit隨機(jī)數(shù)并記為nonce,并發(fā)送給被驗(yàn)證者;被驗(yàn)證者在收到nonce后,請(qǐng)求內(nèi)置TPM用AIK的私鑰SKaik對(duì)指定的PCR值和nonce進(jìn)行簽名,簽名結(jié)果記為Quote,然后將Quote、 SML和AIK公鑰證書Cert(AIK)發(fā)送給驗(yàn)證請(qǐng)求者;最后驗(yàn)證請(qǐng)求者對(duì)接收的內(nèi)容進(jìn)行驗(yàn) 證,確定遠(yuǎn)程計(jì)算平臺(tái)身份及其所報(bào)告內(nèi)容的真實(shí)性。利用可信計(jì)算的遠(yuǎn)程證明技術(shù)可以提高基于SSH協(xié)議的安全通道的安全性,其核 心思想是將遠(yuǎn)程證明技術(shù)與SSH協(xié)議的密鑰交換技術(shù)進(jìn)行有機(jī)結(jié)合,從而實(shí)現(xiàn)可信SSH通 道。但是現(xiàn)有的可信SSH實(shí)現(xiàn)方法需要修改SSH協(xié)議中的密鑰交換算法,因此可擴(kuò)展性不 好。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于避免上述現(xiàn)有可信SSH實(shí)現(xiàn)方法的不足之處而提供一種可擴(kuò) 展的可信SSH的實(shí)現(xiàn)方法。本方法通過(guò)在SSH傳輸子協(xié)議層定義三個(gè)新消息編碼,并將SSH 傳輸子協(xié)議層中密鑰交換算法所計(jì)算的會(huì)話密鑰作為遠(yuǎn)程證明的參數(shù),來(lái)實(shí)現(xiàn)可信SSH通道。本發(fā)明的技術(shù)方案如下—種可擴(kuò)展的可信SSH的實(shí)現(xiàn)方法,在SSH傳輸子協(xié)議層定義三個(gè)新消息編碼 SSH_MSG_RA_INIT、SSH_MSG_RA_0K 和 SSH_MSG_RA_ERROR,并將 SSH 傳輸子協(xié)議層中密鑰交 換算法所計(jì)算的會(huì)話密鑰作為可信計(jì)算遠(yuǎn)程證明的參數(shù),方法的具體步驟如下步驟1,客戶端首先生成一個(gè)Diffie-Hellman算法參數(shù),記作e,然后客戶端向服 務(wù)器端發(fā)送一個(gè)帶有SSH_MSG_KEXDH_INIT消息編碼的消息,該消息只包含e ;其中SSH_ MSG_KEXDH_INIT是RFC 4253中定義的消息編碼;步驟2,服務(wù)器端接到客戶端的SSH_MSG_KEXDH_INIT消息后,首先生成一個(gè) Diffie-Hellman算法參數(shù),記作f ;然后服務(wù)器端根據(jù)e和f生成會(huì)話密鑰,記作Skey ;最 后發(fā)送帶有SSH_MSG_KEXDH_REPLY消息編碼的消息給客戶端并進(jìn)入步驟3,該消息包含f和 服務(wù)器端的簽名信息;其中SSH_MSG_KEXDH_REPLY是RFC 4253中定義的消息編碼;步驟3,服務(wù)器端對(duì)Skey進(jìn)行SHA-1哈希運(yùn)算,結(jié)果記為h_Skey,然后利用TPM中
      的5^!^對(duì)字符串pcrsI Ih-Skey進(jìn)行簽名,簽名結(jié)果記作Signs,并用Skey作為對(duì)稱加密 密鑰,對(duì)SMLs加密,結(jié)果記為Senc ;最后發(fā)送帶有SSH_MSG_RA_INIT消息編碼的消息給客戶 端,該消息包含Senc、sigrf、CertsAIK ;其中PCIf是安全芯片TPM中代表服務(wù)器端平臺(tái)信息
      的PCR內(nèi)容,I I代表將兩個(gè)字符串連接起來(lái),”^^^和^^?^^分別為服務(wù)器端AiK的私鑰 和公鑰證書,SMLs表示服務(wù)器端平臺(tái)的度量存儲(chǔ)日志;步驟4,客戶端收到服務(wù)器端的SSH_MSG_KEXDH_REPLY消息后,首先驗(yàn)證消息中的 簽名,如果簽名不正確,則終止與服務(wù)器端通信;否則客戶端也根據(jù)e和f生成了會(huì)話密鑰, 記作Ckey ;進(jìn)入步驟5 ;步驟5,客戶端收到服務(wù)器端的SSH_MSG_RA_INIT消息后,首先驗(yàn)證Cer^ffir的有
      效性和合法性,如果驗(yàn)證沒(méi)通過(guò),則進(jìn)入步驟6 ;如果驗(yàn)證通過(guò),則利用的公鑰
      pukiik隊(duì)Signs中獲得步驟3中的h-skey和PCRS ;然后對(duì)ckey進(jìn)行SHA—1哈希運(yùn)算,結(jié) 果記為h_Ckey,并判斷h_Ckey和h_Skey是否匹配,如果不匹配,則進(jìn)入步驟6 ;如果匹配,則利用Ckey解密Senc得到步驟3中的SMLs,根據(jù)SMLs重構(gòu)服務(wù)器端的整個(gè)完整性度量過(guò) 程,計(jì)算并得到最終值c_PCRs,并判斷c_PCRs與PCRs是否匹配,如果不匹配,則進(jìn)入步驟6 ;
      如果匹配,則進(jìn)入步驟7 ;其中PWGi為服務(wù)器端AIK的公鑰;步驟6,客戶端發(fā)送帶有SSH_MSG_RA_ERROR消息編碼的消息給服務(wù)器端并終止與 服務(wù)器端通信;步驟7,客戶端利用TPM中的^夂^^對(duì)POfI |h_Ckey進(jìn)行簽名,簽名結(jié)果記作 Signc ;然后用Ckey作為對(duì)稱加密密鑰,對(duì)SMLe加密,結(jié)果記為Cenc ;最后發(fā)送帶有SSH_ MSG_RA_INIT消息編碼的消息給服務(wù)器端,該消息包含Cenc、signc、Ce"cAJK ;其中PCRe是
      安全芯片TPM中代表客戶端平臺(tái)信息的PCR內(nèi)容,和別為客戶端AIK的私 鑰和公鑰證書,SMLc表示客戶端平臺(tái)的度量存儲(chǔ)日志;步驟8,服務(wù)器端如果接到客戶端帶有SSH_MSG_RA_ERROR消息編碼的消息,則結(jié) 束運(yùn)行;步驟9,服務(wù)器端收到客戶端的SSH_MSG_RA_INIT消息后,首先驗(yàn)證的有 效性和合法性,如果驗(yàn)證沒(méi)通過(guò),則進(jìn)入步驟10,如果驗(yàn)證通過(guò),則利用Ce 〃丨I中的公鑰
      puKcAIK^ si^e中獲得步驟7中的h_Ckey和PCRe ;然后檢查h_Ckey和h_Skey是否匹配,
      如果不匹配,則進(jìn)入步驟10 ;如果匹配,則利用Skey解密Cenc得到步驟7中的SML%根據(jù) SMLc重構(gòu)客戶端的整個(gè)完整性度量過(guò)程,計(jì)算并得到最終值c_PCR%并判斷C_PCir與PCRe 是否匹配,如果不匹配,則進(jìn)入步驟10 ;如果匹配,則發(fā)送帶有SSH_MSG_RA_0K消息編碼的
      消息和帶有SSH_MSG_NEWKEYS消息編碼的消息給客戶端,并進(jìn)入步驟11 ;其中為 客戶端AIK的公鑰,SSH_MSG_NEWKEYS是RFC 4253中定義的消息編碼,SSH_MSG_NEWKEYS是 RFC 4253中定義的消息編碼;步驟10,服務(wù)器端發(fā)送帶有SSH_MSG_RA_ERROR消息編碼的消息給客戶端并終止 與客戶端通信;步驟11,客戶端如果接到服務(wù)器端帶有SSH_MSG_RA_ERROR消息編碼的消息后, 則結(jié)束運(yùn)行;客戶端如果接到服務(wù)器端帶有SSH_MSG_RA_0K消息編碼的消息,則發(fā)送帶有 SSH_MSG_NEWKEYS消息編碼的信息給服務(wù)器端;步驟12,服務(wù)器端和客戶端都接收到帶有SSH_MSG_NEWKEYS消息編碼的消息后, 密鑰交換過(guò)程結(jié)束。本發(fā)明所提供的方法相比現(xiàn)有技術(shù)具有如下優(yōu)點(diǎn)本方法實(shí)現(xiàn)的可信通道除了具 有通信雙方的平臺(tái)信息在網(wǎng)絡(luò)秘密傳輸?shù)奶匦酝猓€具有不需要修改SSH傳輸子協(xié)議層中 密鑰交換算法的特性,即實(shí)現(xiàn)了實(shí)現(xiàn)了遠(yuǎn)程證明過(guò)程對(duì)密鑰交換算法的透明性。及實(shí)現(xiàn)可 信計(jì)算遠(yuǎn)程證明與SSH傳輸子協(xié)議層密鑰交換過(guò)程的緊密整合,從而實(shí)現(xiàn)可信SSH通道。


      圖1是SSH傳輸子協(xié)議層的密鑰交換流程圖;圖2是美國(guó)IBM公司的研究人員設(shè)計(jì)的遠(yuǎn)程證明協(xié)議的流程圖3是本發(fā)明所提供的可信SSH傳輸子協(xié)議層的密鑰交換流程圖。
      具體實(shí)施例方式以下通過(guò)具體的實(shí)施例和圖3對(duì)本發(fā)明做詳細(xì)說(shuō)明。本發(fā)明提供的方法在硬件上要求服務(wù)器端和客戶端都配有可信安全芯片,而且服 務(wù)器端和客戶端的BIOS都支持TPM ;在軟件上要求服務(wù)器端和客戶端安裝度量模塊和可信 操作系統(tǒng)。度量模塊決定被度量的實(shí)體、度量時(shí)間和安全維護(hù)度量結(jié)果的方法,其主要功 能包括計(jì)算那些被度量的實(shí)體的度量值、將度量事件記錄到度量存儲(chǔ)日志和把度量值記入 TPM中指定的PCR。度量值記入PCR的方法是新PCR值=hash (原PCR值| |度量值)。度 量存儲(chǔ)日志至少包括被度量的實(shí)體的信息,度量值和度量時(shí)間。服務(wù)器端和客戶端都有 自己的AIK公私鑰。本發(fā)明提供的方法在SSH傳輸子協(xié)議層額外定義了三個(gè)新消息編碼 SSH_MSG_RA_INIT、SSH_MSG_RA_0K 和 SSH_MSG_RA_ERROR。下面結(jié)合圖3對(duì)本發(fā)明所提供的可信SSH傳輸層子協(xié)議的密鑰交換流程做詳細(xì)說(shuō) 明。步驟1,客戶端首先生成一個(gè)Diffie-Hellman算法參數(shù),記作e,然后客戶端向服 務(wù)器端發(fā)送一個(gè)帶有SSH_MSG_KEXDH_INIT消息編碼的消息,該消息只包含e。步驟2,服務(wù)器端接到客戶端的SSH_MSG_KEXDH_INIT消息后,首先生成一個(gè) Diffie-Hellman算法參數(shù),記作f ;然后服務(wù)器端根據(jù)e和f生成會(huì)話密鑰,記作Skey ;最 后發(fā)送帶有SSH_MSG_KEXDH_REPLY消息編碼的消息給客戶端并進(jìn)入步驟3,該消息包含f和 服務(wù)器端的簽名信息。步驟3,服務(wù)器端對(duì)Skey進(jìn)行SHA-1哈希運(yùn)算,結(jié)果記為h_Skey,然后利用TPM中 的5^itt對(duì)字符串PCIfl lh-Skey進(jìn)行簽名,簽名結(jié)果記作sign、并用Skey作為對(duì)稱加密 密鑰,對(duì)SMLs加密,結(jié)果記為Senc ;最后發(fā)送帶有SSH_MSG_RA_INIT消息編碼的消息給客戶 端,該消息包含Senc、sign\CertsAIK ;其中PCIf是安全芯片TPM中代表服務(wù)器端平臺(tái)信息
      的PCR內(nèi)容,I I代表將兩個(gè)字符串連接起來(lái),和別為服務(wù)器端AIK的私鑰 和公鑰證書,SMLs表示服務(wù)器端平臺(tái)的度量存儲(chǔ)日志。步驟4,客戶端收到服務(wù)器端的SSH_MSG_KEXDH_REPLY消息后,首先驗(yàn)證消息中的 簽名,如果簽名不正確,則終止與服務(wù)器端通信;否則客戶端也根據(jù)e和f生成了會(huì)話密鑰, 記作Ckey ;進(jìn)入步驟5 ;步驟5,客戶端收到服務(wù)器端的SSH_MSG_RA_INIT消息后,首先驗(yàn)證CM^k的有
      效性和合法性,如果驗(yàn)證沒(méi)通過(guò),則進(jìn)入步驟6 ;如果驗(yàn)證通過(guò),則利用Ceri^ttr中的公鑰
      PUKSAIK隊(duì)signS中獲得步驟3中的h-skey和PCRS ;然后對(duì)ckey進(jìn)行SHA—1哈希運(yùn)算,結(jié) 果記為h_Ckey,并判斷h_Ckey和h_Skey是否匹配,如果不匹配,則進(jìn)入步驟6 ;如果匹配, 則利用Ckey解密Senc得到步驟3中的SMLs,根據(jù)SMLs重構(gòu)服務(wù)器端的整個(gè)完整性度量過(guò) 程,計(jì)算并得到最終值c_PCRs,并判斷c_PCRs與PCRs是否匹配,如果不匹配,則進(jìn)入步驟6 ;
      如果匹配,則進(jìn)入步驟7 ;其中PiZi^iz為服務(wù)器端AIK的公鑰。
      步驟6,客戶端發(fā)送帶有SSH_MSG_RA_ERROR消息編碼的消息給服務(wù)器端并終止與 服務(wù)器端通信。步驟7,客戶端利用TPM中的PCRl h_Ckey進(jìn)行簽名,簽名結(jié)果記作 Signc ;然后用Ckey作為對(duì)稱加密密鑰,對(duì)SMLe加密,結(jié)果記為Cenc ;最后發(fā)送帶有SSH_ MSG_RA_INIT消息編碼的消息給服務(wù)器端,該消息包含Cenc、;其中pCRc是
      安全芯片TPM中代表客戶端平臺(tái)信息的PCR內(nèi)容,分別為客戶端AIK的私 鑰和公鑰證書,SMLc表示客戶端平臺(tái)的度量存儲(chǔ)日志。步驟8,服務(wù)器端如果接到客戶端帶有SSH_MSG_RA_ERROR消息編碼的消息,則結(jié) 束運(yùn)行。步驟9,服務(wù)器端收到客戶端的SSH_MSG_RA_INIT消息后,首先驗(yàn)證的有 效性和合法性,如果驗(yàn)證沒(méi)通過(guò),則進(jìn)入步驟10,如果驗(yàn)證通過(guò),則利用中的公鑰
      puKcAIK隊(duì)sigr^中獲得步驟7中的h_Ckey和PCRe ;然后檢查h_Ckey和h_Skey是否匹配,
      如果不匹配,則進(jìn)入步驟10 ;如果匹配,則利用Skey解密Cenc得到步驟7中的SML%根據(jù) SMLc重構(gòu)客戶端的整個(gè)完整性度量過(guò)程,計(jì)算并得到最終值c_PCR%并判斷C_PCir與PCRe 是否匹配,如果不匹配,則進(jìn)入步驟10 ;如果匹配,則發(fā)送帶有SSH_MSG_RA_0K消息編碼的
      消息和帶有SSH_MSG_NEWKEYS消息編碼的消息給客戶端,并進(jìn)入步驟11 ;其中為
      客戶端AIK的公鑰,SSH_MSG_NEWKEYS是RFC 4253中定義的消息編碼。步驟10,服務(wù)器端發(fā)送帶有SSH_MSG_RA_ERROR消息編碼的消息給客戶端并終止 與客戶端通信。步驟11,客戶端如果接到服務(wù)器端帶有SSH_MSG_RA_ERROR消息編碼的消息后, 則結(jié)束運(yùn)行;客戶端如果接到服務(wù)器端帶有SSH_MSG_RA_0K消息編碼的消息,則發(fā)送帶有 SSH_MSG_NEWKEYS消息編碼的信息給服務(wù)器端。步驟12,服務(wù)器端和客戶端都接收到帶有SSH_MSG_NEWKEYS消息編碼的消息后, 密鑰交換過(guò)程結(jié)束。通過(guò)上述方法,實(shí)現(xiàn)的可信通道具有以下兩個(gè)特性,一個(gè)是遠(yuǎn)程證明過(guò)程對(duì)密鑰 交換算法的透明性,另一個(gè)是通信雙方的平臺(tái)信息在網(wǎng)絡(luò)傳輸過(guò)程中的秘密性。
      權(quán)利要求
      一種可擴(kuò)展的可信SSH的實(shí)現(xiàn)方法,其特征在于在SSH傳輸子協(xié)議層定義三個(gè)新消息編碼SSH_MSG_RA_INIT、SSH_MSG_RA_OK和SSH_MSG_RA_ERROR,并將SSH傳輸子協(xié)議層中密鑰交換算法所計(jì)算的會(huì)話密鑰作為可信計(jì)算遠(yuǎn)程證明的參數(shù),方法的具體步驟如下步驟1,客戶端首先生成一個(gè)Diffie-Hellman算法參數(shù),記作e,然后客戶端向服務(wù)器端發(fā)送一個(gè)帶有SSH_MSG_KEXDH_INIT消息編碼的消息,該消息只包含e;其中SSH_MSG_KEXDH_INIT是RFC 4253中定義的消息編碼;步驟2,服務(wù)器端接到客戶端的SSH_MSG_KEXDH_INIT消息后,首先生成一個(gè)Diffie-Hellman算法參數(shù),記作f;然后服務(wù)器端根據(jù)e和f生成會(huì)話密鑰,記作Skey;最后發(fā)送帶有SSH_MSG_KEXDH_REPLY消息編碼的消息給客戶端并進(jìn)入步驟3,該消息包含f和服務(wù)器端的簽名信息;其中SSH_MSG_KEXDH_REPLY是RFC 4253中定義的消息編碼;步驟3,服務(wù)器端對(duì)Skey進(jìn)行SHA-1哈希運(yùn)算,結(jié)果記為h_Skey,然后利用TPM中的對(duì)字符串PCRs||h_Skey進(jìn)行簽名,簽名結(jié)果記作signs,并用Skey作為對(duì)稱加密密鑰,對(duì)SMLs加密,結(jié)果記為Senc;最后發(fā)送帶有SSH_MSG_RA_INIT消息編碼的消息給客戶端,該消息包含Senc、signs、其中PCRs是安全芯片TPM中代表服務(wù)器端平臺(tái)信息的PCR內(nèi)容,||代表將兩個(gè)字符串連接起來(lái),和分別為服務(wù)器端AIK的私鑰和公鑰證書,SMLs表示服務(wù)器端平臺(tái)的度量存儲(chǔ)日志;步驟4,客戶端收到服務(wù)器端的SSH_MSG_KEXDH_REPLY消息后,首先驗(yàn)證消息中的簽名,如果簽名不正確,則終止與服務(wù)器端通信;否則客戶端也根據(jù)e和f生成了會(huì)話密鑰,記作Ckey;進(jìn)入步驟5;步驟5,客戶端收到服務(wù)器端的SSH_MSG_RA_INIT消息后,首先驗(yàn)證的有效性和合法性,如果驗(yàn)證沒(méi)通過(guò),則進(jìn)入步驟6;如果驗(yàn)證通過(guò),則利用中的公鑰從signs中獲得步驟3中的h_Skey和PCRs;然后對(duì)Ckey進(jìn)行SHA-1哈希運(yùn)算,結(jié)果記為h_Ckey,并判斷h_Ckey和h_Skey是否匹配,如果不匹配,則進(jìn)入步驟6;如果匹配,則利用Ckey解密Senc得到步驟3中的SMLs,根據(jù)SMLs重構(gòu)服務(wù)器端的整個(gè)完整性度量過(guò)程,計(jì)算并得到最終值c_PCRs,并判斷c_PCRs與PCRs是否匹配,如果不匹配,則進(jìn)入步驟6;如果匹配,則進(jìn)入步驟7;其中為服務(wù)器端AIK的公鑰;步驟6,客戶端發(fā)送帶有SSH_MSG_RA_ERROR消息編碼的消息給服務(wù)器端并終止與服務(wù)器端通信;步驟7,客戶端利用TPM中的對(duì)PCRc||h_Ckey進(jìn)行簽名,簽名結(jié)果記作signc;然后用Ckey作為對(duì)稱加密密鑰,對(duì)SMLc加密,結(jié)果記為Cenc;最后發(fā)送帶有SSH_MSG_RA_INIT消息編碼的消息給服務(wù)器端,該消息包含Cenc、signc、其中PCRc是安全芯片TPM中代表客戶端平臺(tái)信息的PCR內(nèi)容,和分別為客戶端AIK的私鑰和公鑰證書,SMLc表示客戶端平臺(tái)的度量存儲(chǔ)日志;步驟8,服務(wù)器端如果接到客戶端帶有SSH_MSG_RA_ERROR消息編碼的消息,則結(jié)束運(yùn)行;步驟9,服務(wù)器端收到客戶端的SSH_MSG_RA_INIT消息后,首先驗(yàn)證的有效性和合法性,如果驗(yàn)證沒(méi)通過(guò),則進(jìn)入步驟10,如果驗(yàn)證通過(guò),則利用中的公鑰從signc中獲得步驟7中的h_Ckey和PCRc;然后檢查h_Ckey和h_Skey是否匹配,如果不匹配,則進(jìn)入步驟10;如果匹配,則利用Skey解密Cenc得到步驟7中的SMLc根據(jù)SMLc重構(gòu)客戶端的整個(gè)完整性度量過(guò)程,計(jì)算并得到最終值c_PCRc,并判斷c_PCRc與PCRc是否匹配,如果不匹配,則進(jìn)入步驟10;如果匹配,則發(fā)送帶有SSH_MSG_RA_OK消息編碼的消息和帶有SSH_MSG_NEWKEYS消息編碼的消息給客戶端,并進(jìn)入步驟11;其中為客戶端AIK的公鑰,SSH_MSG_NEWKEYS是RFC 4253中定義的消息編碼,SSH_MSG_NEWKEYS是RFC 4253中定義的消息編碼;步驟10,服務(wù)器端發(fā)送帶有SSH_MSG_RA_ERROR消息編碼的消息給客戶端并終止與客戶端通信;步驟11,客戶端如果接到服務(wù)器端帶有SSH_MSG_RA_ERROR消息編碼的消息后,則結(jié)束運(yùn)行;客戶端如果接到服務(wù)器端帶有SSH_MSG_RA_OK消息編碼的消息,則發(fā)送帶有SSH_MSG_NEWKEYS消息編碼的信息給服務(wù)器端;步驟12,服務(wù)器端和客戶端都接收到帶有SSH_MSG_NEWKEYS消息編碼的消息后,密鑰交換過(guò)程結(jié)束。FSA00000181290900011.tif,FSA00000181290900012.tif,FSA00000181290900013.tif,FSA00000181290900014.tif,FSA00000181290900021.tif,FSA00000181290900022.tif,FSA00000181290900023.tif,FSA00000181290900024.tif,FSA00000181290900025.tif,FSA00000181290900026.tif,FSA00000181290900027.tif,FSA00000181290900028.tif,FSA00000181290900031.tif,FSA00000181290900032.tif,FSA00000181290900033.tif,FSA00000181290900034.tif
      全文摘要
      本發(fā)明涉及一種可擴(kuò)展的可信SSH的實(shí)現(xiàn)方法。本方法要求服務(wù)器端和客戶端都配有可信安全芯片,并且安裝了度量模塊和可信操作系統(tǒng),能夠?qū)Ω髯云脚_(tái)狀態(tài)進(jìn)行度量。本方法通過(guò)在SSH傳輸子協(xié)議層定義三個(gè)新消息編碼,并將SSH傳輸子協(xié)議層中密鑰交換算法所計(jì)算的會(huì)話密鑰作為可信計(jì)算遠(yuǎn)程證明的參數(shù),來(lái)實(shí)現(xiàn)可信SSH通道。本方法實(shí)現(xiàn)的可信通道具有以下兩個(gè)特性,一個(gè)是遠(yuǎn)程證明過(guò)程對(duì)密鑰交換算法的透明性,另一個(gè)是通信雙方的平臺(tái)信息在網(wǎng)絡(luò)傳輸過(guò)程中的秘密性。
      文檔編號(hào)H04L9/32GK101888383SQ20101022255
      公開(kāi)日2010年11月17日 申請(qǐng)日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
      發(fā)明者劉吉強(qiáng), 左向暉, 常曉林, 王紹創(chuàng), 藤莎, 韓臻 申請(qǐng)人:北京交通大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1