欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

軟件密鑰更新方法和裝置制造方法

文檔序號(hào):7982203閱讀:175來源:國(guó)知局
軟件密鑰更新方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種軟件密鑰更新方法和裝置。可信客戶端設(shè)備接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其中,所述密鑰信息包括:待更新的第一軟件簽名公鑰、和新的第二軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息。如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法。如果所述軟件校驗(yàn)信息合法,將所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰。通過上述方案,本發(fā)明可以實(shí)現(xiàn)遠(yuǎn)程更新可信客戶端設(shè)備上的軟件簽名密鑰,從而防止了失效密鑰無法更新問題的發(fā)生。
【專利說明】軟件密鑰更新方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線通信領(lǐng)域,尤其涉及軟件密鑰更新方法和裝置。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)絡(luò)的發(fā)展,終端及網(wǎng)絡(luò)設(shè)備成了社會(huì)生活中不可或缺的重要組成 部分,用戶信息安全和隱私保護(hù)得到越來越高的重視。而且無線網(wǎng)絡(luò)架構(gòu)扁平化、移動(dòng)網(wǎng)絡(luò) 全網(wǎng)際協(xié)議(Internet Protocol, IP)化、終端智能化、及基站等網(wǎng)絡(luò)設(shè)備物理形態(tài)小型化, 都導(dǎo)致了終端或網(wǎng)絡(luò)設(shè)備易受到越來越多的安全威脅。
[0003]為應(yīng)對(duì)這種針對(duì)終端或網(wǎng)絡(luò)設(shè)備本身軟硬件安全的威脅,許多終端或網(wǎng)絡(luò)設(shè)備都 要求設(shè)計(jì)上具備一定的可信環(huán)境,用以驗(yàn)證終端或網(wǎng)絡(luò)設(shè)備本身的身份合法性和有無被攻 擊的異常發(fā)生??尚怒h(huán)境(Trusted Enviixmment,TrE),是一種邏輯實(shí)體,用于提供值得信 賴的環(huán)境,保證敏感職能(secret function)的執(zhí)行,和存儲(chǔ)敏感信息。
[0004]針對(duì)物理環(huán)境易受攻擊的小型網(wǎng)絡(luò)設(shè)備或終端,其安全需求更為迫切。為了要求 家庭基站(Home (evolved) Node B, H(e)NB)從硬件上支持可信環(huán)境,第三代合作伙伴計(jì)劃 (3rd Generation Partnership Project, 3GPP)國(guó)際標(biāo)準(zhǔn)TS33.320對(duì)可信環(huán)境功能做了如 下要求:當(dāng)H(e)NB處于開機(jī)狀態(tài),或者重啟動(dòng)狀態(tài)時(shí),可信環(huán)境必須由不可移除的、以及基 于硬件的信任根(trusted root key)構(gòu)成的一個(gè)安全啟動(dòng)過程。信任根必須物理上綁定 到H(e)NB。安全啟動(dòng)過程應(yīng)包括執(zhí)行TrE的信任根的完整性校驗(yàn)。只有成功驗(yàn)證的信任根 才能被加載或啟動(dòng)。TrE已成功啟動(dòng)后,須繼續(xù)驗(yàn)證H(e)NB中安全運(yùn)行所需要的其他組件 (例如,操作系統(tǒng)和程序)。
[0005]類似的可信環(huán)境也可以建立在智能終端,用以實(shí)現(xiàn)防止惡意代碼插入的安全啟 動(dòng),軟件的安全自檢和安裝,以及敏感數(shù)據(jù)的安全存儲(chǔ)等。下文中將涉及到的具有可信環(huán)境 的網(wǎng)絡(luò)設(shè)備及終端統(tǒng)稱為可信客戶端設(shè)備(Client)或可信設(shè)備。
[0006]可信平臺(tái)模塊(Trusted Platform Module, TPM)是TrE的核心模塊,通常以系 統(tǒng)級(jí)芯片(System on Chip, SoC)的形式將幾個(gè)密碼功能模塊(cryptographic function modules),封裝在一個(gè)芯片里,夕卜部未經(jīng)授權(quán)無法訪問TPM內(nèi)部。在出廠時(shí),在芯片中預(yù)先 植入一個(gè)背書密鑰(Endorsement Key, EK)對(duì)。TPM模塊還存儲(chǔ)EK對(duì)以及由EK對(duì)推演出 的主密鑰(Master Key, MK)對(duì),以及存儲(chǔ)計(jì)算的中間數(shù)據(jù)。TrE可信的原因在于:每個(gè)TPM 都擁有不同的密鑰對(duì),不同的密鑰對(duì)能夠帶來高度安全性,以及TPM平臺(tái)或與TPM平臺(tái)相似 功能裝置具有物理安全性。在此基礎(chǔ)上構(gòu)建的可信環(huán)境具有防止對(duì)可信客戶端設(shè)備內(nèi)部進(jìn) 行非法訪問,能夠保護(hù)TrE的信任根,即TPM,并能夠依此建立信任鏈。TPM芯片廣泛應(yīng)用于 個(gè)人計(jì)算機(jī)(Personal Computer, PC),可用于管理或存儲(chǔ)硬盤上的敏感信息;對(duì)網(wǎng)絡(luò)通信 提供加密;以及對(duì)硬盤數(shù)據(jù)加密保存等等。
[0007]現(xiàn)有技術(shù)中,無法實(shí)現(xiàn)由遠(yuǎn)端控制TPM對(duì)簽名密鑰的公鑰進(jìn)行更新。

【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明實(shí)施例提供了軟件密鑰更新方法裝置,以解決如何更新軟件密 鑰的問題。
[0009]第一方面,提供了一種軟件密鑰更新方法,所述方法包括:
[0010]可信客戶端設(shè)備接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其中,所述 密鑰信息包括:待更新的第一軟件簽名公鑰、和新的第二軟件簽名公鑰,所述校驗(yàn)信息包 括:軟件校驗(yàn)信息;
[0011]如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到 的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法;
[0012]如果所述軟件校驗(yàn)信息合法,將所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法 的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰。
[0013]第二方面,提供了一種可信安全模塊,所述可信安全模塊包括:存儲(chǔ)單元、輸入單 元和驗(yàn)證單元,
[0014]所述存儲(chǔ)單元,用于存儲(chǔ)軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰;
[0015]所述輸入單元,用于接收軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其中,所述密鑰信息包 括:待更新的第一軟件簽名公鑰、和新的第二軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)
信息;
[0016]所述驗(yàn)證單元,用于如果所述存儲(chǔ)單元存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽 名公鑰和所述輸入單元接收的所述第一軟件簽名公鑰一致,驗(yàn)證所述輸入單元接收的軟件 校驗(yàn)信息是否合法;如果所述軟件校驗(yàn)信息合法,將所述存儲(chǔ)單元存儲(chǔ)的所述軟件對(duì)應(yīng)的 合法的第一軟件簽名公鑰更新為所述輸入單元接收的所述第二軟件簽名公鑰。
[0017]第三方面,提供了 一種可信客戶端設(shè)備,所述可信客戶端設(shè)備包括:接收模塊和如 上所述的可信安全模塊,其中,
[0018]所述接收模塊,用于接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,并將所 述密鑰信息和所述校驗(yàn)信息傳輸給所述可信安全模塊,其中,所述密鑰信息包括:待更新的 軟件簽名公鑰、和新的軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息。
[0019]通過上述方案,本發(fā)明可以實(shí)現(xiàn)遠(yuǎn)程更新可信客戶端設(shè)備上的軟件簽名密鑰,從 而防止了失效密鑰無法更新問題的發(fā)生。
【專利附圖】

【附圖說明】
[0020]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)或?qū)嵤├枋鲋?所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是一些實(shí)施例,對(duì)于 本領(lǐng)域技術(shù)人員來講,還可以利用這些附圖獲得其他的附圖。
[0021]圖1為本發(fā)明一實(shí)施例的軟件密碼更新方法的流程圖;
[0022]圖2為本發(fā)明另一實(shí)施例的軟件密碼更新方法的流程圖;
[0023]圖3為本發(fā)明另一實(shí)施例的軟件密碼更新方法的流程圖;
[0024]圖4為本發(fā)明另一實(shí)施例的軟件密碼更新方法的流程圖;
[0025]圖5為本發(fā)明另一實(shí)施例的軟件密碼更新方法的流程圖;
[0026]圖6為本發(fā)明一實(shí)施例的可信安全模塊的結(jié)構(gòu)示意圖;
[0027]圖7為本發(fā)明一實(shí)施例的可信客戶端設(shè)備的結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】
[0028]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0029]需要說明的是,在不沖突的情況下,本發(fā)明實(shí)施例以及實(shí)施例中的特征可以相互 任意組合。
[0030]當(dāng)前,現(xiàn)有TrE技術(shù)對(duì)管理和保存敏感信息,已經(jīng)有比較成熟可靠的解決方案。由 于可信環(huán)境的信任鏈的存在,不允許對(duì)可信客戶端設(shè)備中的軟件進(jìn)行未經(jīng)授權(quán)的訪問和修 改,對(duì)已安裝軟件的合法性校驗(yàn)主要依靠數(shù)字簽名。然而,上述現(xiàn)有技術(shù)存在如下問題:
[0031]1、對(duì)軟件的簽名進(jìn)行合法性校驗(yàn)時(shí),無法保證簽名對(duì)應(yīng)的公鑰(下文簡(jiǎn)稱軟件簽 名公鑰)是最新公開的,且必要時(shí),例如在軟件發(fā)布側(cè)管理的密鑰丟失、泄露、或生命周期 結(jié)束時(shí),無法由遠(yuǎn)端控制TPM對(duì)該公鑰進(jìn)行更新。
[0032]2、當(dāng)軟件使用的軟件簽名密鑰已經(jīng)泄露或過期時(shí),客戶端繼續(xù)使用舊的軟件簽名 密鑰會(huì)帶來安全問題,例如,被攻擊者惡意安裝非法代碼,修改程序,破壞可信環(huán)境。
[0033]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了密鑰更新方法、可信安全模塊以及 可信客戶端設(shè)備。本發(fā)明實(shí)施例可以從遠(yuǎn)端發(fā)起密鑰更新過程,在不影響TrE安全流程的 前提下,將可信客戶端設(shè)備中的軟件簽名密鑰自動(dòng)替換,從而解決如何在具有TrE可信環(huán) 境的可信客戶端設(shè)備中,更新所安裝的軟件簽名密鑰的問題。
[0034]本發(fā)明一實(shí)施例提供了一種軟件密鑰更新方法,如圖1所示,該方法包括如下步驟。
[0035]步驟110,可信客戶端設(shè)備接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其 中,所述密鑰信息包括:待更新的第一軟件簽名公鑰、和新的第二軟件簽名公鑰,所述校驗(yàn) 信息包括:軟件校驗(yàn)信息。
[0036]優(yōu)選的,所述可信客戶端設(shè)備可以通過安全連接接收所述服務(wù)器發(fā)送的所述密鑰 信息和所述校驗(yàn)信息。
[0037]步驟120,如果可信客戶端設(shè)備存儲(chǔ)的簽名公鑰和接收到的第一軟件簽名公鑰一 致,驗(yàn)證所述軟件校驗(yàn)信息是否合法;
[0038]本步驟中,可以先驗(yàn)證所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的第一軟件簽名 公鑰是否合法,具體驗(yàn)證方法包括:所述可信客戶端設(shè)備驗(yàn)證預(yù)存的第一密鑰校驗(yàn)信息是 否與存儲(chǔ)的第一軟件簽名公鑰匹配,如果匹配,則所述可信客戶端設(shè)備存儲(chǔ)的第一軟件簽 名公鑰合法。
[0039]當(dāng)然,也可以不需要驗(yàn)證所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的第一軟件簽 名公鑰是否合法,如,可以默認(rèn)所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的第一軟件簽名 公鑰合法。
[0040]優(yōu)選的,可信客戶端設(shè)備上可能同時(shí)有多個(gè)軟件需要保護(hù),本實(shí)施例中,為了提高 可信客戶端設(shè)備存儲(chǔ)效率,第一密鑰校驗(yàn)信息可以為多個(gè)軟件的軟件簽名公鑰的聯(lián)合校驗(yàn)信息。
[0041]本步驟中,所述軟件校驗(yàn)信息可以包括所述軟件的代碼的第一簽名值,所述第一簽名值是所述服務(wù)器使用所述第二軟件簽名公鑰對(duì)應(yīng)的私鑰和簽名算法對(duì)所述軟件的代 碼進(jìn)行計(jì)算后得到的,所述簽名算法為所述服務(wù)器和所述可信客戶端設(shè)備預(yù)先約定的;
[0042]所述驗(yàn)證所述軟件校驗(yàn)信息的合法性,可以包括:
[0043]獲取所述軟件的代碼,使用所述第二軟件簽名公鑰和所述簽名算法,對(duì)所述第一 簽名值進(jìn)行計(jì)算;比較計(jì)算得到的結(jié)果和獲取的所述軟件的代碼,如果相同,則所述軟件校
驗(yàn)息合法。
[0044]其中,獲取所述軟件的代碼可以包括:
[0045]獲取可信客戶端設(shè)備預(yù)存的所述軟件的代碼;
[0046]或者
[0047]所述校驗(yàn)信息還包括:所述軟件的代碼,獲取所述軟件的代碼包括:從接收的校 驗(yàn)信息中獲取所述軟件的代碼。
[0048]步驟130,如果所述軟件校驗(yàn)信息合法,將所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì) 應(yīng)的合法的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰。
[0049]本步驟中,還可以包括:獲取關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信息,將 所述預(yù)存的第一密鑰校驗(yàn)信息更新為關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信息。
[0050]本發(fā)明實(shí)施例可以實(shí)現(xiàn)遠(yuǎn)程更新可信客戶端設(shè)備上的軟件簽名公鑰,從而防止了 失效密鑰無法更新問題的發(fā)生,并防止了可信客戶端設(shè)備上因軟件簽名密鑰改變而造成無 法正常啟動(dòng)問題的發(fā)生。
[0051 ] 優(yōu)選的,本發(fā)明實(shí)施例的方法還可以包括
[0052]存儲(chǔ)接收到的所述軟件的代碼的第一簽名值,用于在所述軟件啟動(dòng)時(shí)進(jìn)行驗(yàn)證, 或者
[0053]使用所述可信客戶端設(shè)備預(yù)存的密鑰和第一帶密鑰的散列算法,對(duì)所述軟件的代 碼計(jì)算后得到第一散列值,存儲(chǔ)所述第一散列值,用于在所述軟件啟動(dòng)時(shí)進(jìn)行驗(yàn)證。
[0054]其中,所述第一散列值和第一簽名值可以存儲(chǔ)于可信客戶端設(shè)備的存儲(chǔ)單元中。 此外,考慮到由于散列值占用的空間遠(yuǎn)遠(yuǎn)小于簽名值占用的空間,為了進(jìn)一步提高安全性, 還可以將所述第一散列值存儲(chǔ)于所述可信客戶端設(shè)備的TPM中。
[0055]優(yōu)選的,所述校驗(yàn)信息還包括:第二密鑰校驗(yàn)信息;
[0056]所述第二密鑰校驗(yàn)信息包括所述第一軟件簽名公鑰和第二軟件簽名公鑰的第二 散列值;所述第二散列值是所述服務(wù)器用預(yù)置的預(yù)共享密鑰和第二帶密鑰的散列算法對(duì)所 述第一軟件簽名公鑰和第二軟件簽名公鑰計(jì)算后得到的;所述第二帶密鑰的散列算法為所 述可信客戶端設(shè)備和所述服務(wù)器預(yù)先約定的,所述預(yù)共享密鑰預(yù)置在所述可信客戶端設(shè)備 和所述服務(wù)器;如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接 收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法,包括:如果可信客戶端設(shè) 備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,所 述可信客戶端設(shè)備使用所述預(yù)共享密鑰對(duì)所述第一軟件簽名公鑰和第二軟件簽名公鑰采 用所述第二帶密鑰的散列算法計(jì)算第三散列值,比較所述第三散列值與所述第二散列值是 否相等,如果相等,則驗(yàn)證所述軟件校驗(yàn)信息的合法性;
[0057]和/ 或
[0058]所述第二密鑰校驗(yàn)信息包括第三方認(rèn)證中心CA簽發(fā)的所述第二軟件簽名公鑰PKa2的證書Cert (PKa2),其中,所述證書Cert (PKa2)是所述服務(wù)器使用所述第三方CA簽發(fā)的 密鑰PKa加密后得到的;如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名 公鑰和接收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法,包括:如果可信 客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公 鑰一致,所述可信客戶端設(shè)備使用所述可信客戶端設(shè)備保存的所述第三方CA簽發(fā)的所述 密鑰PKeA,對(duì)接收到的所述第二軟件簽名公鑰計(jì)算得到證書Cert' (PKa2),比較所述計(jì)算得 到的證書Cert' (PKa2)與接收到的證書Cert (PKa2),如果相等,驗(yàn)證所述軟件校驗(yàn)信息的合 法性。
[0059]需要說明的是上述第一帶密鑰的散列算法和第二帶密鑰的散列算法可以是相同 的或不同的,而且,可以使用現(xiàn)有技術(shù)中任意帶密鑰的散列算法,本發(fā)明實(shí)施例對(duì)此并不限定。
[0060]本實(shí)施例還增強(qiáng)了軟件簽名公鑰更新的校驗(yàn)機(jī)制,防止因意外造成的錯(cuò)誤更新, 或故意攻擊造成的惡意代碼篡改,有效防止非法第三方對(duì)代碼的篡改,消除系統(tǒng)安全漏洞 帶來的潛在威脅。
[0061]本發(fā)明實(shí)施例中所述的可信客戶端設(shè)備包括具有可信環(huán)境的網(wǎng)絡(luò)設(shè)備以及智能 終端。
[0062]本發(fā)明另一實(shí)施例提供了一種軟件密鑰更新方法,如圖2所示,包括如下步驟。
[0063]步驟210,可信客戶端設(shè)備接收服務(wù)器(Server)通過安全連接發(fā)送的待更新的軟 件簽名公鑰PKa1、新的軟件簽名公鑰PKa2以及PKai對(duì)應(yīng)的軟件的代碼(Code)A的簽名SIG_ SKa2 (A),其中,代碼A的簽名是通過新的軟件簽名公鑰PKa2對(duì)應(yīng)的私鑰SKa2對(duì)代碼A進(jìn)行簽 名后得到的。
[0064]本步驟中,當(dāng)服務(wù)器需要更新可信客戶端設(shè)備的軟件簽名密鑰時(shí),與可信客戶端 (Client)設(shè)備建立安全連接,也可以使用已有的安全連接。建立安全連接的方法可采用現(xiàn) 有技術(shù)建立安全連接的任何方法實(shí)現(xiàn),本發(fā)明實(shí)施例不再對(duì)此進(jìn)行贅述。
[0065]進(jìn)一步的,服務(wù)器在發(fā)送PKA1、PKA2以及SIG_SKA2(A)時(shí),還可以將軟件代碼A—起 發(fā)送給可信客戶端設(shè)備。這種情況下,本步驟還接收軟件代碼A。
[0066]需要說明的是,本發(fā)明實(shí)施例可以同時(shí)對(duì)多個(gè)軟件的軟件簽名密鑰進(jìn)行更新,只 需同時(shí)發(fā)送多個(gè)軟件對(duì)應(yīng)的密鑰和軟件的代碼的簽名即可。
[0067]步驟220,可信客戶端設(shè)備通過TPM驗(yàn)證本地存儲(chǔ)的PKai的簽名SIG_MK (PKai)是 否與PKai匹配,如果匹配,執(zhí)行步驟230,如果不匹配,退出并報(bào)警。
[0068]其中,PKai的簽名SIG_MK(PKai)是通過采用可信客戶端設(shè)備存儲(chǔ)的密鑰簽名密鑰 MK對(duì)軟件簽名公鑰PKai進(jìn)行簽名得到的。MK為采用TrE中保存的背書密鑰(Endorsement Key, EK)所推演出的密鑰簽名密鑰MK,對(duì)保存在可信客戶端設(shè)備的軟件簽名公鑰部分加以 簽名保護(hù);EK所推演出的密鑰簽名密鑰可以是TPM中存儲(chǔ)的MK,或者是由EK推演出的其他 密鑰,本文都用MK統(tǒng)一表不。
[0069]驗(yàn)證PKai和簽名SIG_MK (PKai)方法可采用現(xiàn)有技術(shù)中的任何數(shù)字簽名算法實(shí)現(xiàn)。 本發(fā)明實(shí)施例對(duì)驗(yàn)證方法不做限定。
[0070]優(yōu)選地,當(dāng)可信客戶端設(shè)備有多個(gè)軟件受保護(hù)時(shí),可信客戶端設(shè)備可以保存的是 多個(gè)軟件對(duì)應(yīng)的軟件簽名公鑰的聯(lián)合簽名,如,當(dāng)可信客戶端設(shè)備還保護(hù)軟件B的代碼B,該軟件B對(duì)應(yīng)軟件簽名公鑰PKbi,則可信客戶端設(shè)備保存的是軟件A和軟件B的聯(lián)合簽名 SIG_MK (PKai,PKbi)。此時(shí),本步驟驗(yàn)證時(shí),通過采用可信客戶端設(shè)備存儲(chǔ)的密鑰簽名密鑰MK 對(duì)軟件簽名公鑰PKai和軟件簽名公鑰PKbi的聯(lián)合簽名驗(yàn)證即可。
[0071]步驟230,可信客戶端設(shè)備比較本地存儲(chǔ)的PKai與服務(wù)器發(fā)送的PKai是否相同,如 果相等,則執(zhí)行步驟240,如果不相等,退出并報(bào)警。
[0072]步驟240,根據(jù)PKA2,驗(yàn)證代碼A的簽名SIG_SKA2(A)是否合法,如果簽名SIG_ SKa2(A)合法,則執(zhí)行步驟250,如果不合法,返回出錯(cuò)(Fault)信息給服務(wù)器,并中斷更新過程。
[0073]—實(shí)施方式中,可信客戶端設(shè)備上可以存儲(chǔ)由代碼A。本步驟中,根據(jù)PKA2,驗(yàn)證代 碼A的簽名SIG_SKA2(A)是否合法可以包括:使用PKa2對(duì)接收到的簽名SIG_SKA2(A)進(jìn)行解 密以得到代碼A,比較解密得到的代碼A與本地存儲(chǔ)的代碼A,如果二者一致,則簽名SIG_ SKa2(A)合法。
[0074]另一實(shí)施方式中,當(dāng)步驟210中還接收了代碼A,則本步驟可以比較解密得到的代 碼A與接收到的代碼A。
[0075]步驟250,將可信客戶端設(shè)備存儲(chǔ)的PKai更新為PKa2,保存接收到的軟件代碼A的 簽名SIG_SKA2(A),并由TPM獲取新的軟件簽名公鑰的簽名SIG_MK(PKa2)。
[0076]優(yōu)選地,如果可信客戶端設(shè)備保存的是多個(gè)軟件對(duì)應(yīng)的軟件簽名公鑰的聯(lián)合簽 名,如SIG_MK(PKA1,PKbi),且僅僅更新了 PKai,本步驟可以獲取的新的軟件簽名公鑰的簽名 為SIG_MK(PKA2,PKbi)。如果PKai和PKbi同時(shí)更新,則本步驟可以獲取的新的軟件簽名公鑰 的簽名為 SIG_MK(PKA2,PKb2)。
[0077]進(jìn)一步地,如果可信客戶端設(shè)備還接收到了代碼A,本步驟還可以保存代碼A。
[0078]本實(shí)施例的密鑰更新方法實(shí)現(xiàn)了遠(yuǎn)端控制TPM對(duì)該公鑰進(jìn)行更新,且該方法簡(jiǎn) 便,只需要比較本地保存的公鑰和服務(wù)器發(fā)來的公鑰是否一致,以及驗(yàn)證軟件包簽名即可 安裝。
[0079]為了進(jìn)一步提高安全性,本發(fā)明另一實(shí)施例提供了 一種軟件密鑰更新方法,如圖3 所示,包括如下步驟。
[0080]本實(shí)施例與步驟210?250基本相同,不同之處在于:
[0081]步驟210中,可信客戶端設(shè)備還接收服務(wù)器發(fā)送的軟件加密公鑰的散列值 HMAC (PKai,PKai),所述散列值是通過預(yù)共享密鑰PSK對(duì)待更新的軟件簽名公鑰PKa1、新軟件 簽名公鑰PKa2采用帶密鑰的散列算法計(jì)算后得到的,所述預(yù)共享密鑰PSK預(yù)先配置到可信 客戶端設(shè)備和服務(wù)器中。
[0082]其中,帶密鑰的散列算法可以是現(xiàn)有技術(shù)中任意帶密鑰的散列算法,例如密鑰相 關(guān)的散列計(jì)算消息認(rèn)證碼(keyed-Hash Message Authentication Code, HMAC)等。
[0083]此外,本實(shí)施例中,步驟230中,如果可信客戶端設(shè)備比較本地存儲(chǔ)的PKai與服務(wù) 器發(fā)送的PKai相同,執(zhí)行步驟231:
[0084]步驟231,可信客戶端設(shè)備使用所述預(yù)共享密鑰PSK對(duì)PKai和PKa2采用與所述服 務(wù)器相同的帶密鑰的散列算法計(jì)算一散列值,比較計(jì)算得到的散列值與步驟210接收到的 散列值是否相等,如果相等,則執(zhí)行步驟240,如果不相等,則向服務(wù)器返回出錯(cuò)信息,并中 斷更新過程。[0085]本實(shí)施例可以檢測(cè)接收到的PKai和PKa2是否有錯(cuò)誤,防止PKai和PKa2被替換,進(jìn) 一步提高了系統(tǒng)安全性,而且,帶密鑰的散列算法的安全性可以進(jìn)一步提供驗(yàn)證的安全性。
[0086]為了進(jìn)一步提高安全性,本發(fā)明另一實(shí)施例提供了 一種軟件密鑰更新方法,如圖4 所示,包括如下步驟。
[0087]本實(shí)施例與步驟210?250基本相同,不同之處在于:
[0088]步驟210中,可信客戶端設(shè)備還接收服務(wù)器發(fā)送的第三方認(rèn)證中心(Certificate Authority, CA)簽發(fā)的PKa2的證書Cert (PKa2),該證書Cert (PKa2)是使用所述第三方CA簽 發(fā)的密鑰PKa加密后得到的。
[0089]步驟230中,如果可信客戶端設(shè)備比較本地存儲(chǔ)的PKai與服務(wù)器發(fā)送的PKai相同, 執(zhí)行步驟232:
[0090]步驟232,可信客戶端設(shè)備使用可信客戶端設(shè)備保存的所述第三方CA簽發(fā)的證書 PKa,對(duì)接收到的PKa2加密得到一 PKa2的證書Cert' (PKa2),比較可信客戶端設(shè)備加密得到 的證書Cert' (PKa2)與接收到的證書Cert (PKa2),如果相等,則執(zhí)行步驟240,如果不相等, 則向服務(wù)器返回出錯(cuò)信息,并中斷更新過程。
[0091]本實(shí)施例可以檢測(cè)接收到的PKai和PKa2是否有錯(cuò)誤,防止PKai和PKa2被替換,進(jìn) 一步提高了系統(tǒng)安全性,而且,在可信客戶端設(shè)備預(yù)置第三方CA證書的方法,不需要在服 務(wù)器提前配置預(yù)共享密鑰。
[0092]本發(fā)明另一實(shí)施例提供了一種軟件密鑰更新方法,如圖5所示,包括如下步驟。
[0093]本實(shí)施例與步驟210?250基本相同,不同之處在于:
[0094]步驟220中,可信客戶端設(shè)備通過TPM驗(yàn)證本地存儲(chǔ)的PKai的散列值HMAC(PKai) 是否與PKai匹配,如果匹配,執(zhí)行步驟230,如果不匹配,退出并報(bào)警。
[0095]本步驟中,可以對(duì)保存的PKai采用散列算法計(jì)算得到一散列值HMAC' (PKai),將計(jì) 算得到的該散列值HMAC' (PKai)與保存的散列值HMAC(PKai)比較,如果二者一致則匹配。
[0096]其中,散列算法可以是帶密鑰的散列算法,也可以是普通的散列算法。
[0097]步驟250中,將可信客戶端設(shè)備存儲(chǔ)的PKai更新為PKa2,保存新的軟件簽名公鑰的 散列值 HMAC (PKa2)。
[0098]本實(shí)施例中,采用對(duì)稱密碼機(jī)制(即散列算法)保護(hù)本地存儲(chǔ)的密鑰校驗(yàn)信息,與 采用非對(duì)稱密碼機(jī)制(即簽名算法)相比,提高了系統(tǒng)效率。散列算法的安全性可以提供 驗(yàn)證的安全性。
[0099]此外,由于本實(shí)施例保存的是散列值,其占用的空間小于簽名值,因此,本實(shí)施例 能夠進(jìn)一步節(jié)約TPM內(nèi)部持久性內(nèi)存的存儲(chǔ)空間。而且,由于HMAC值可以保存在可信客戶 端設(shè)備的存儲(chǔ)器中,而不用保存在TPM中,所以,有利于節(jié)省TPM內(nèi)部持久性內(nèi)存的存儲(chǔ)空 間。
[0100]進(jìn)一步地,本實(shí)施例還可以與上述實(shí)施例相結(jié)合使用,例如,可以進(jìn)一步在步驟 230之后,步驟240之前包含步驟231和/或232,當(dāng)同時(shí)包含步驟231和232時(shí),步驟231 和232的執(zhí)行順序可以是任意順序。
[0101]以上所述為部分實(shí)施例,然而并不僅限于上述實(shí)施例實(shí)現(xiàn),還可以有其他變換形 式,例如:步驟210中,可以是發(fā)送更新后的新密鑰的HMAC值,此時(shí),可信客戶端設(shè)備所接收 到的是軟件校驗(yàn)密鑰,用于計(jì)算得到軟件代碼A的散列值,可信客戶端設(shè)備和服務(wù)器上預(yù)置有加密該新密鑰時(shí)所使用的預(yù)共享密鑰,從而驗(yàn)證接收到的新密鑰的合法性等。
[0102]本發(fā)明另一實(shí)施例還提供了一種可信安全模塊,所述可信安全模塊可以執(zhí)行上述 任意實(shí)施例的軟件密鑰更新方法。如圖6所示,所述可信安全模塊包括:存儲(chǔ)單元601、輸 入單元602和驗(yàn)證單元603,
[0103]所述存儲(chǔ)單元601,用于存儲(chǔ)待更新的第一軟件簽名公鑰;
[0104]所述輸入單元602,用于接收軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其中,所述密鑰信 息包括:第一軟件簽名公鑰、和第二軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息;
[0105]所述驗(yàn)證單元603,用于如果所述存儲(chǔ)單元601存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第 一軟件簽名公鑰和所述輸入單元602接收的所述第一軟件簽名公鑰一致,驗(yàn)證所述輸入單 元602接收的軟件校驗(yàn)信息是否合法;如果所述軟件校驗(yàn)信息合法,將所述存儲(chǔ)單元601存 儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述輸入單元602接收的所述第二 軟件簽名公鑰。
[0106]本發(fā)明實(shí)施例可以實(shí)現(xiàn)遠(yuǎn)程更新可信客戶端設(shè)備上的軟件簽名公鑰,從而防止了 失效密鑰無法更新問題的發(fā)生,并防止了可信客戶端設(shè)備上因軟件簽名密鑰改變而造成無 法正常啟動(dòng)問題的發(fā)生。
[0107]所述存儲(chǔ)單元601還用于,存儲(chǔ)第一密鑰校驗(yàn)信息;其中,所述第一密鑰校驗(yàn)信息 為所述可信客戶端設(shè)備上一個(gè)或多個(gè)軟件的軟件簽名公鑰的聯(lián)合簽名;
[0108]所述驗(yàn)證單元603具體用于,驗(yàn)證所述存儲(chǔ)單元601存儲(chǔ)的第一密鑰校驗(yàn)信息是 否與所述存儲(chǔ)單元601存儲(chǔ)的第一軟件簽名公鑰匹配,如果匹配,則所述存儲(chǔ)單元601存儲(chǔ) 的第一軟件簽名公鑰合法,驗(yàn)證所述軟件校驗(yàn)信息的合法性;
[0109]所述驗(yàn)證單元603還用于,獲取關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信 息,將所述存儲(chǔ)單元601存儲(chǔ)的第一密鑰校驗(yàn)信息更新為關(guān)于所述第二軟件簽名公鑰的第 一密鑰校驗(yàn)信息。
[0110]所述輸入單元602具體用于,接收包括所述軟件的代碼的第一簽名值的所述軟件 校驗(yàn)信息,其中,所述第一簽名值是使用所述第二軟件簽名公鑰對(duì)應(yīng)的私鑰和簽名算法對(duì) 所述軟件的代碼進(jìn)行計(jì)算后得到的;
[0111]所述輸入單元602還用于,接收所述軟件的代碼;
[0112]所述驗(yàn)證單元603具體用于,使用所述第二軟件簽名公鑰和所述簽名算法,對(duì)所 述接收到的第一簽名值進(jìn)行計(jì)算;比較計(jì)算得到的結(jié)果和所述輸入單元602讀取的代碼, 如果相同,則所述軟件校驗(yàn)信息合法。
[0113]所述驗(yàn)證單元603,還用于使用所述存儲(chǔ)單元601存儲(chǔ)的第一密鑰和第一帶密鑰 的散列算法,對(duì)所述軟件的代碼計(jì)算后得到第一散列值,并將所述第一散列值發(fā)送到所述 存儲(chǔ)單元601 ;
[0114]所述存儲(chǔ)單元601,還用于存儲(chǔ)所述第一密鑰,以及存儲(chǔ)所述第一散列值。
[0115]所述存儲(chǔ)單元601,還用于存儲(chǔ)預(yù)共享密鑰;
[0116]所述輸入單元602具體用于,接收包含第二密鑰校驗(yàn)信息的所述校驗(yàn)信息;所述 第二密鑰校驗(yàn)信息包括所述第一軟件簽名公鑰和第二軟件簽名公鑰的第二散列值;所述第 二散列值是所述服務(wù)器用預(yù)置的所述預(yù)共享密鑰和第二帶密鑰的散列算法對(duì)所述第一軟 件簽名公鑰和第二軟件簽名公鑰計(jì)算后得到的;所述驗(yàn)證單元603具體用于,如果所述存儲(chǔ)單元601存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和所述輸入單元602接收的所 述第一軟件簽名公鑰一致,使用所述存儲(chǔ)單元601存儲(chǔ)的預(yù)共享密鑰對(duì)所述第一軟件簽名 公鑰和第二軟件簽名公鑰采用預(yù)定的所述第二帶密鑰的散列算法計(jì)算第二散列值,比較計(jì) 算得到的第二散列值與接收到的第二散列值是否相等,如果相等,則驗(yàn)證所述軟件校驗(yàn)信 息的合法性;
[0117]或者
[0118]所述存儲(chǔ)單元601,還用于存儲(chǔ)第三方CA簽發(fā)的密鑰PKca ;
[0119]所述輸入單元602具體用于,接收包含第二密鑰校驗(yàn)信息的所述校驗(yàn)信息,所述 第二密鑰校驗(yàn)信息包含第三方CA簽發(fā)的所述第二軟件簽名公鑰PKa2的證書Cert (PKa2), 其中,所述證書Cert (PKa2)是使用所述第三方CA簽發(fā)的密鑰PKffl加密后得到的;所述驗(yàn)證 單元603具體用于,如果所述存儲(chǔ)單元601存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公 鑰和所述輸入單元602接收的所述第一軟件簽名公鑰一致,使用所述第三方CA簽發(fā)的密 鑰PKffl,對(duì)接收到的第二軟件簽名公鑰計(jì)算得到證書Cert' (PKa2),比較計(jì)算得到的證書 Cert' (PKa2)與接收到的證書Cert (PKa2),如果相等,驗(yàn)證所述軟件校驗(yàn)信息的合法性。
[0120]其中,所述可信安全模塊可以為可信平臺(tái)模塊TPM,當(dāng)然并僅不限于是TPM,可以 是任意具有類似功能的可信安全模塊。
[0121]本實(shí)施例還增強(qiáng)了軟件簽名公鑰更新的校驗(yàn)機(jī)制,防止因意外造成的錯(cuò)誤更新, 或故意攻擊造成的惡意代碼篡改,有效防止非法第三方對(duì)代碼的篡改,消除系統(tǒng)安全漏洞 帶來的潛在威脅。
[0122]本發(fā)明另一實(shí)施例還提供了一種可信客戶端設(shè)備,所述可信客戶端設(shè)備可以執(zhí)行 上述任意實(shí)施例的軟件密鑰更新方法。如圖7所示,所述可信客戶端設(shè)備包括:接收模塊 701和如上述實(shí)施例所述的可信安全模塊702,其中,
[0123]所述接收模塊701,用于接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,并發(fā) 送給所述可信安全模塊702,其中,所述密鑰信息包括:待更新的軟件簽名公鑰、和新的軟 件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息;
[0124]所述可信安全模塊702如上述實(shí)施例所示。
[0125]具體的,
[0126]所述可信安全模塊702,用于存儲(chǔ)軟件對(duì)應(yīng)的軟件簽名密鑰,如果所述可信安全模 塊702中存儲(chǔ)的軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致, 驗(yàn)證所述軟件校驗(yàn)信息是否合法;如果所述軟件校驗(yàn)信息合法,將所述可信安全模塊702 中的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰。
[0127]需要說明的是,所述可信安全模塊702可以存儲(chǔ)一個(gè)或多個(gè)軟件的軟件簽名公 鑰。
[0128]所述接收模塊701,具體用于通過安全連接接收所述服務(wù)器發(fā)送的所述密鑰信息 和所述校驗(yàn)信息。
[0129]所述可信客戶端設(shè)備還包括存儲(chǔ)模塊703,用于存儲(chǔ)第一密鑰校驗(yàn)信息;
[0130]所述可信安全模塊702具體用于,如果所述可信安全模塊702中存儲(chǔ)的所述一個(gè) 或多個(gè)軟件中的軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致, 獲取所述存儲(chǔ)模塊703存儲(chǔ)的所述第一密鑰校驗(yàn)信息,所述第一密鑰校驗(yàn)信息是否與所述可信安全模塊702存儲(chǔ)的第一軟件簽名公鑰匹配,如果匹配,則所述可信安全模塊702存儲(chǔ) 的第一軟件簽名公鑰合法,驗(yàn)證所述軟件校驗(yàn)信息的合法性;
[0131]所述可信安全模塊702還用于,獲取關(guān)于所述第二軟件簽名公鑰的第一密鑰校 驗(yàn)信息,并將所述關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信息發(fā)送給所述存儲(chǔ)模塊 703 ;
[0132]所述存儲(chǔ)模塊703還用于,將第一密鑰校驗(yàn)信息更新為所述關(guān)于所述第二軟件簽 名公鑰的第一密鑰校驗(yàn)信息;
[0133]其中,所述第一密鑰校驗(yàn)信息為所述可信客戶端設(shè)備上一個(gè)或多個(gè)軟件的軟件簽 名公鑰的聯(lián)合簽名。
[0134]所述接收模塊701具體用于,接收包括所述軟件的代碼的第一簽名值的所述軟件 校驗(yàn)信息,并發(fā)送給所述可信安全模塊702,所述第一簽名值是所述服務(wù)器使用所述第二軟 件簽名公鑰對(duì)應(yīng)的私鑰和簽名算法對(duì)所述軟件的代碼進(jìn)行計(jì)算后得到的,所述簽名算法為 所述服務(wù)器和所述可信客戶端設(shè)備預(yù)先約定的;
[0135]所述可信安全模塊702具體用于,獲取所述軟件的代碼,使用所述第二軟件簽名 公鑰和所述簽名算法,對(duì)所述第一簽名值進(jìn)行計(jì)算;比較計(jì)算得到的結(jié)果和獲取的所述軟 件的代碼,如果相同,則所述軟件校驗(yàn)信息合法。
[0136]所述存儲(chǔ)模塊703還用于,存儲(chǔ)接收到的所述軟件的代碼的第一簽名值,或者
[0137]所述可信安全模塊702還用于,使用所述可信客戶端設(shè)備預(yù)存的密鑰和第一帶密 鑰的散列算法,對(duì)所述軟件的代碼計(jì)算后得到第一散列值,存儲(chǔ)所述第一散列值或?qū)⑺?第一散列值存儲(chǔ)到所述存儲(chǔ)模塊703中。
[0138]所述存儲(chǔ)模塊703還用于,存儲(chǔ)所述軟件的代碼;
[0139]或者
[0140]所述接收模塊701還用于,接收所述軟件的代碼,并發(fā)送給所述存儲(chǔ)模塊703。
[0141]所述可信安全模塊702還用于,還用于存儲(chǔ)預(yù)共享密鑰;
[0142]所述接收模塊702還用于,接收包含第二密鑰校驗(yàn)信息的所述校驗(yàn)信息;所述第 二密鑰校驗(yàn)信息包括所述第一軟件簽名公鑰和第二軟件簽名公鑰的第二散列值;所述第二 散列值是所述服務(wù)器用預(yù)置的所述預(yù)共享密鑰和第二帶密鑰的散列算法對(duì)所述第一軟件 簽名公鑰和第二軟件簽名公鑰計(jì)算后得到的;
[0143]所述可信安全模塊702具體用于,如果所述可信安全模塊702中存儲(chǔ)的軟件對(duì)應(yīng) 的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,使用所述存儲(chǔ)的預(yù)共享密 鑰對(duì)所述第一軟件簽名公鑰和第二軟件簽名公鑰采用預(yù)定的所述第二帶密鑰的散列算法 計(jì)算第二散列值,比較計(jì)算得到的第二散列值與接收到的第二散列值是否相等,如果相等, 則驗(yàn)證所述軟件校驗(yàn)信息的合法性;
[0144]或者
[0145]所述可信安全模塊702還用于,還用于存儲(chǔ)第三方CA簽發(fā)的密鑰PKca ;
[0146]所述接收模塊702還用于,接收包含第二密鑰校驗(yàn)信息的所述校驗(yàn)信息,所述第 二密鑰校驗(yàn)信息包含第三方CA簽發(fā)的所述第二軟件簽名公鑰PKa2的證書Cert (PKa2),其 中,所述證書Cert (PKa2)是使用所述第三方CA簽發(fā)的密鑰PKffl加密后得到的;
[0147]所述可信安全模塊702具體用于,如果所述可信安全模塊702中存儲(chǔ)的軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,使用所述第三方CA簽發(fā) 的密鑰PKa,對(duì)接收到的第二軟件簽名公鑰計(jì)算得到證書Cert' (PKa2),比較計(jì)算得到的證 書Cert' (PKa2)與接收到的證書Cert (PKa2),如果相等,驗(yàn)證所述軟件校驗(yàn)信息的合法性。
[0148]其中,所述可信安全模塊可以為可信平臺(tái)模塊TPM,當(dāng)然并僅不限于是TPM,可以 是任意具有類似功能的可信安全模塊。
[0149]所述可信客戶端設(shè)備可以為帶有可信環(huán)境TrE的網(wǎng)絡(luò)設(shè)備或用戶設(shè)備。
[0150]需要說明的是,以上可信客戶端設(shè)備和可信安全模塊的實(shí)施方式中,各功能模塊 的劃分僅是舉例說明,實(shí)際應(yīng)用中可以根據(jù)需要,例如相應(yīng)硬件的配置要求或者軟件的實(shí) 現(xiàn)的便利考慮,而將上述功能分配由不同的功能模塊完成,即將可信安全模塊分成不同的 功能模塊,以完成以上描述的全部或者部分功能。而且,實(shí)際應(yīng)用中,本實(shí)施例中的相應(yīng)的 功能模塊可以是由相應(yīng)的硬件實(shí)現(xiàn)。
[0151]需要說明的是,上述裝置各模塊/單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與 本發(fā)明方法實(shí)施例基于同一構(gòu)思,其帶來的技術(shù)效果與本發(fā)明方法實(shí)施例相同,具體內(nèi)容 可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0152]本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存 儲(chǔ)介質(zhì)可以包括:只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁盤或光盤等。
[0153]以上對(duì)本發(fā)明實(shí)施例提供的方法和用戶設(shè)備和基站進(jìn)行了詳細(xì)介紹,本文中應(yīng)用 了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解 本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具 體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明 的限制。
【權(quán)利要求】
1.一種軟件密鑰更新方法,其特征在于,所述方法包括:可信客戶端設(shè)備接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其中,所述密鑰信息包括:待更新的第一軟件簽名公鑰、和新的第二軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息;如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法;如果所述軟件校驗(yàn)信息合法,將所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰。
2.如權(quán)利要求1所述的方法,其特征在于,所述可信客戶端設(shè)備接收服務(wù)器發(fā)送的密鑰信息和校驗(yàn)信息,包括:所述可信客戶端設(shè)備通過安全連接接收所述服務(wù)器發(fā)送的所述密鑰信息和所述校驗(yàn)信息。
3.如權(quán)利要求1或2所述的方法,其特征在于,如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法,包括:所述可信客戶端設(shè)備驗(yàn)證預(yù)存的第一密鑰校驗(yàn)信息是否與存儲(chǔ)的第一軟件簽名公鑰匹配,如果匹配,則所述可信客戶端設(shè)備存儲(chǔ)的第一軟件簽名公鑰合法,驗(yàn)證所述軟件校驗(yàn)信息的合法性;所述將所述可信客戶端設(shè)備 存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰中,還包括:獲取關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信息, 將所述預(yù)存的第一密鑰校驗(yàn)信息更新為關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信息。
4.如權(quán)利要求3所述的方法,其特征在于,所述第一密鑰校驗(yàn)信息為所述可信客戶端設(shè)備上一個(gè)或多個(gè)軟件的軟件簽名公鑰的聯(lián)合簽名。
5.如權(quán)利要求1或2或3或4所述的方法,其特征在于,所述軟件校驗(yàn)信息包括所述軟件的代碼的第一簽名值,所述第一簽名值是所述服務(wù)器使用所述第二軟件簽名公鑰對(duì)應(yīng)的私鑰和簽名算法對(duì)所述軟件的代碼進(jìn)行計(jì)算后得到的,所述簽名算法為所述服務(wù)器和所述可信客戶端設(shè)備預(yù)先約定的;所述驗(yàn)證所述軟件校驗(yàn)信息的合法性,包括:獲取所述軟件的代碼,使用第二軟件簽名公鑰和所述簽名算法,對(duì)所述第一簽名值進(jìn)行計(jì)算;比較計(jì)算得到的結(jié)果和獲取的所述軟件的代碼,如果相同,則所述軟件校驗(yàn)信息合法。
6.如權(quán)利要求5所述的方法,其特征在于,所述將所述可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述第二軟件簽名公鑰后,所述方法還包括:存儲(chǔ)接收到的所述軟件的代碼的第一簽名值,或者使用所述可信客戶端設(shè)備預(yù)存的密鑰和第一帶密鑰的散列算法,對(duì)所述軟件的代碼計(jì)算后得到第一散列值,存儲(chǔ)所述第一散列值。
7.如權(quán)利要求5所述的方法,其特征在于,獲取所述軟件的代碼包括:獲取預(yù)存的所述軟件的代碼;或者所述校驗(yàn)信息還包括:所述軟件的代碼,獲取所述軟件的代碼包括:從接收的校驗(yàn)信息中獲取所述軟件的代碼。
8.如權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述校驗(yàn)信息還包括:第二密鑰校驗(yàn)信息;所述第二密鑰校驗(yàn)信息包括所述第一軟件簽名公鑰和第二軟件簽名公鑰的第二散列值;如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法,包括:如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,所述可信客戶端設(shè)備使用所述預(yù)共享密鑰對(duì)所述第一軟件簽名公鑰和第二軟件簽名公鑰采用所述第二帶密鑰的散列算法計(jì)算第三散列值,比較所述第三散列值與所述第二散列值是否相等,如果相等,則驗(yàn)證所述軟件校驗(yàn)信息的合法性;和/或所述第二密鑰校驗(yàn)信息包括第三方認(rèn)證中心CA簽發(fā)的所述第二軟件簽名公鑰PKa2的證書Cert (PKa2);如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致,驗(yàn)證所述軟件校驗(yàn)信息是否合法,包括:如果可信客戶端設(shè)備存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和接收到的第一軟件簽名公鑰一致, 所述可信客戶端設(shè)備使用所述可信客戶端設(shè)備保存的所述第三方CA簽發(fā)的所述密鑰PKeA, 對(duì)接收到的所述第二軟件簽名公鑰計(jì)算得到證書Cert' (PKa2),比較所述計(jì)算得到的證書 Cert' (PKa2)與接收到的證書Cert (PKa2),如果相等,驗(yàn)證所述軟件校驗(yàn)信息的合法性。
9.如權(quán)利要求8所述的方法,其特征在于,所述第二散列值是所述服務(wù)器用預(yù)置的預(yù)共享密鑰和第二帶密鑰的散列算法對(duì)所述第一軟件簽名公鑰和第二軟件簽名公鑰計(jì)算后得到的;所述第二帶密鑰的散列算法為所述可信客戶端設(shè)備和所述服務(wù)器預(yù)先約定的;所述預(yù)共享密鑰預(yù)置在所述可 信客戶端設(shè)備和所述服務(wù)器。
10.如權(quán)利要求8或9所述的方法,其特征在于,所述證書Cert (PKa2)是所述服務(wù)器使用所述第三方CA簽發(fā)的密鑰密后得到的。
11.一種可信安全模塊,其特征在于,所述可信安全模塊包括:存儲(chǔ)單元、輸入單元和驗(yàn)證單元,所述存儲(chǔ)單元,用于存儲(chǔ)軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰;所述輸入單元,用于接收軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,其中,所述密鑰信息包括: 待更新的第一軟件簽名公鑰、和新的第二軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息;所述驗(yàn)證單元,用于如果所述存儲(chǔ)單元存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和所述輸入單元接收的所述第一軟件簽名公鑰一致,驗(yàn)證所述輸入單元接收的軟件校驗(yàn)信息是否合法;如果所述軟件校驗(yàn)信息合法,將所述存儲(chǔ)單元存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰更新為所述輸入單元接收的所述第二軟件簽名公鑰。
12.如權(quán)利要求11所述的可信安全模塊,其特征在于,所述存儲(chǔ)單元還用于,存儲(chǔ)第一密鑰校驗(yàn)信息;所述驗(yàn)證單元具體用于,驗(yàn)證所述存儲(chǔ)單元存儲(chǔ)的第一密鑰校驗(yàn)信息是否與所述存儲(chǔ)單元存儲(chǔ)的第一軟件簽名公鑰匹配,如果匹配,則所述存儲(chǔ)單元存儲(chǔ)的第一軟件簽名公鑰合法,驗(yàn)證所述軟件校驗(yàn)信息的合法性;所述驗(yàn)證單元還用于,獲取關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信息,將所述存儲(chǔ)單元存儲(chǔ)的第一密鑰校驗(yàn)信息更新為關(guān)于所述第二軟件簽名公鑰的第一密鑰校驗(yàn)信肩、O
13.如權(quán)利要求12所述的可信安全模塊,其特征在于, 所述存儲(chǔ)單元具體用于,存儲(chǔ)為所述可信客戶端設(shè)備上一個(gè)或多個(gè)所述軟件的軟件簽名公鑰的聯(lián)合簽名作為所述第一密鑰校驗(yàn)信息。
14.如權(quán)利要求11或12或13所述的可信安全模塊,其特征在于,所述輸入單元具體用于,接收包括所述軟件的代碼的第一簽名值的所述軟件校驗(yàn)信息,其中,所述第一簽名值是使用所述第二軟件簽名公鑰對(duì)應(yīng)的私鑰和簽名算法對(duì)所述軟件的代碼進(jìn)行計(jì)算后得到的;所述驗(yàn)證單元具體用于,通過所述輸入單元獲取所述軟件的代碼,使用所述第二軟件簽名公鑰和所述簽名算法,對(duì)所述接收到的第一簽名值進(jìn)行計(jì)算;比較計(jì)算得到的結(jié)果和所述輸入單元讀取的代碼,如果相同,則所述軟件校驗(yàn)信息合法。
15.如權(quán)利要求14所述的可信安全模塊,其特征在于,所述驗(yàn)證單元,還用于使用所述存儲(chǔ)單元存儲(chǔ)的第一密鑰和第一帶密鑰的散列算法, 對(duì)所述軟件的代碼計(jì)算后得到第一散列值,并將所述第一散列值發(fā)送到所述存儲(chǔ)單元;所述存儲(chǔ)單元,還用于存儲(chǔ)所述第一密鑰,以及存儲(chǔ)所述第一散列值。
16.如權(quán)利要求11至15中任一項(xiàng)所述的可信安全模塊,其特征在于,所述存儲(chǔ)單元,還用于存儲(chǔ)預(yù)共享密鑰;所述輸入單元具體用于,接收包含第二密鑰校驗(yàn)信息的所述校驗(yàn)信息;所述第二密鑰校驗(yàn)信息包括所述第一軟件簽名公鑰和第二軟件簽名公鑰的第二散列值;所述第二散列值是所述服務(wù)器用預(yù)置的所述預(yù)共享密鑰和第二帶密鑰的散列算法對(duì)所述第一軟件簽名公鑰和第二軟件簽名公鑰計(jì)算后得到的;所述驗(yàn)證單元具體用于,如果所述存儲(chǔ)單元存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和所述輸入單元接收的所述第一軟件簽名公鑰一致,使用所述存儲(chǔ)單元存儲(chǔ)的預(yù)共享密鑰對(duì)所述第一軟件簽名公鑰和第二軟件簽名公鑰采用預(yù)定的所述第二帶密鑰的散列算法計(jì)算第二散列值,比較計(jì)算得到的第二散列值與接收到的第二散列值是否相等,如果相等,則驗(yàn)證所述軟件校驗(yàn)信息的合法性;或者所述存儲(chǔ)單元,還用于存儲(chǔ)第三方CA簽發(fā)的密鑰PKca ;所述輸入單元具體用于,接收包含第二密鑰校驗(yàn)信息的所述校驗(yàn)信息,所述第二密鑰校驗(yàn)信息包含第三方CA簽發(fā)的所述第二軟件簽名公鑰PKa2的證書Cert (PKa2),其中,所述證書Cert (PKa2)是使用所述第三方CA簽發(fā)的密鑰PKa加密后得到的;所述驗(yàn)證單元具體用于,如果所述存儲(chǔ)單元存儲(chǔ)的所述軟件對(duì)應(yīng)的合法的第一軟件簽名公鑰和所述輸入單元接收的所述第一軟件簽名公鑰一致,使用所述第三方CA簽發(fā)的密鑰PKffl,對(duì)接收到的第二軟件簽名公鑰計(jì)算得到證書Cert' (PKa2),比較計(jì)算得到的證書Cert' (PKa2)與接收到的證書Cert (PKa2),如果相等,驗(yàn)證所述軟件校驗(yàn)信息的合法性。
17.如權(quán)利要求9至16中任一項(xiàng)所述的可信安全模塊,其特征在于,所述可信安全模塊為可信平臺(tái)模塊TPM。
18.一種可信客戶端設(shè)備,其特征在于,所述可信客戶端設(shè)備包括:接收模塊和如權(quán)利要求11至17中任一項(xiàng)所述的可信安全模塊,其中,所述接收模塊,用于接收服務(wù)器發(fā)送的軟件對(duì)應(yīng)的密鑰信息和校驗(yàn)信息,并將所述密鑰信息和所述校驗(yàn)信息傳輸給所述可信安全模塊,其中,所述密鑰信息包括:待更新的軟件簽名公鑰、和新的軟件簽名公鑰,所述校驗(yàn)信息包括:軟件校驗(yàn)信息。
19.如權(quán)利要求18所述的可信客戶端設(shè)備,其特征在于,所述接收模塊,具體用于通過安全連接接收所述服務(wù)器發(fā)送的所述密鑰信息和所述校驗(yàn)信息。
20.如權(quán)利要求18或19所述的可信客戶端設(shè)備,其特征在于, 所述可信客戶端設(shè)備為帶有可信環(huán)境TrE的網(wǎng)絡(luò)設(shè)備或用戶設(shè)備。
【文檔編號(hào)】H04L9/08GK103595530SQ201210293518
【公開日】2014年2月19日 申請(qǐng)日期:2012年8月17日 優(yōu)先權(quán)日:2012年8月17日
【發(fā)明者】崔洋, 趙興軍, 汪慧君 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
来安县| 沅陵县| 固原市| 麦盖提县| 调兵山市| 天长市| 新营市| 西吉县| 海盐县| 巴青县| 福海县| 长治县| 林州市| 普定县| 吴忠市| 都江堰市| 奉新县| 龙海市| 深泽县| 石嘴山市| 庐江县| 苏尼特左旗| 广昌县| 长武县| 鸡东县| 洛阳市| 三台县| 洛扎县| 三江| 湾仔区| 濮阳县| 木兰县| 菏泽市| 泸定县| 仪陇县| 日照市| 镇原县| 榆林市| 河间市| 寿宁县| 方城县|