專利名稱:一種軟件安全升級的方法、通信設備和通信系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信技術領域,具體涉及ー種軟件安全升級的方法、通信設備和通信系統(tǒng)。
背景技術:
隨著基站部署向人流涌動的地方發(fā)展,基站特別是小型基站受到了越來越多的安全威脅,為應對這種針對設備本身軟硬件安全的威脅,許多設備都要求設計上具備一定的可信環(huán)境(Trusted Enviroment, TrE)模塊,用于校驗設備及其組件的合法性和有無被攻擊的異常發(fā)生,TrE模塊可以提供值得信賴的環(huán)境,保證敏感職能的可信執(zhí)行和保障存儲的敏感數(shù)據(jù)完整性、機密性??尚牌脚_模塊(Trusted Platform Module, TPM)是TrE的核心模塊,TPM通常以系統(tǒng)級芯片(System on Chip, SoC)的形式將幾個密碼功能模塊封裝在一個芯片里,外部未經(jīng)授權無法訪問。芯片在出廠時預先植入ー對簽名密鑰對(Endorsement Key, EK),且EK隨后被銷毀并不保存在其它設備中。TPM的構成如圖I所示,TPM包括持久性存儲單元,EK以及由EK推演出的萬能密鑰(Master Key, MK)存儲在其中,以及易失性存儲單元,用來存儲計算的中間數(shù)據(jù)。此外,還有隨機數(shù)生成器、簽名密鑰生成器、散列函數(shù)、加解密/簽名計算單元等。3GPP國際標準中對家庭基站H (e)NB的可信環(huán)境功能做了如下要求,要求小基站從硬件上支持可信環(huán)境。當H (e)NB處于開機或者重啟狀態(tài)吋,TrE必須由不可移除的、基于硬件的信任根構成的ー個安全啟動的過程建立。信任根必須物理上綁定到H (e)NB。安全啟動過程應包括執(zhí)行的TrE信任根的完整性檢查。只有成功校驗的組件才能被加載或啟動。TrE已成功啟動后,須繼續(xù)校驗H (e)NB中可信運行所需要的其他組件,如操作系統(tǒng)和程序。 目前對基站軟件的升級,在基站和服務器的基礎上,通常借助第三方設備對基站本身的狀態(tài)進行檢測,以此保證軟件的準確、安全升級。在對此方法的研究和實踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),這種借助第三方設備進行升級的方法不僅軟件升級流程復雜,而且組網(wǎng)的結構也較復雜。
發(fā)明內容
本發(fā)明實施例提供一種軟件安全升級的方法、通信設備和通信系統(tǒng)。以期在可信環(huán)境下更加快捷地實現(xiàn)通信設備中軟件的安全升級。為了解決上述技術問題,本發(fā)明實施例提供以下技術方案實現(xiàn)。一種軟件安全升級的方法,所述方法包括以下步驟待升級設備從服務器獲取升級包和所述升級包的簽名;獲取所述待升級設備自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。本發(fā)明實施例提供另ー種軟件安全升級的方法,所述方法包括以下步驟待升級設備從服務器獲取升級包和所述升級包的簽名;獲取待升級設備自身當前的第二特征值和用于校驗升級包簽名的第二升級包簽名公鑰,并對獲得的第二特征值和第二升級包簽名公鑰分別進行簽名,分別得到第二狀態(tài) 值簽名和第二升級包簽名公鑰簽名;分別對獲得的第二狀態(tài)值簽名和第二升級包簽名公鑰簽名進行校驗,若其中至少一個校驗不通過,則停止升級,若校驗都通過,則利用獲得的第二升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。本發(fā)明實施例還提供ー種通信設備,所述設備包括第一獲取模塊,用于從服務器獲取升級包和所述升級包的簽名;第二獲取模塊,用于獲取設備自身當前的第一特征值,其中,第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;簽名模塊,用于對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名;校驗模塊,用于對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則不啟動運行模塊,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則啟動運行模塊; 運行模塊,用于運行所獲取的升級包。本發(fā)明實施例還提供ー種通信系統(tǒng),所述系統(tǒng)包括服務器,用于根據(jù)軟件升級請求將升級包和所述升級包的簽名發(fā)送給待升級設備;待升級設備,用于獲取自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用第一升級包簽名公鑰對接收的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則運行獲取的升級包。由上可見,待升級設備在運行升級包之前,自己對自身的狀態(tài)和升級包簽名公鑰進行了檢測,當自身狀態(tài)和升級包簽名公鑰檢測通過后再對升級包簽名進行檢測,提高了軟件升級過程中的安全性,而且本發(fā)明實施例提供的軟件升級方法流程和組網(wǎng)較簡單,整個軟件升級的過程只需要待升級設備和服務器的參與,不需要借助第三方設備。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
圖I是現(xiàn)有技術中可信平臺模塊的結構示意圖;圖2是本發(fā)明實施例提供的一種軟件安全升級方法的基本流程示意圖;圖3是本發(fā)明實施例提供的另ー種軟件安全升級方法的基本流程示意圖;圖4是本發(fā)明實施例提供的ー種通信設備的結構示意圖;圖5是本發(fā)明實施例提供的ー種通信系統(tǒng)的結構示意圖。
具體實施例方式本發(fā)明實施例提供一種軟件安全升級的方法,由于所述方法由待升級設備自身而不是借助第三方驗證設備對升級包簽名進行了校驗,并且待升級設備在運行升級包之前,預先對本身的狀態(tài)進行了檢查,從而更加快捷地實現(xiàn)了待升級設備中軟件的安全升級。本發(fā)明實施例還提供ー種通信設備和通信系統(tǒng),該通信設備和通信系統(tǒng)也可以實現(xiàn)軟件的快 捷安全升級。以下結合附圖對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供一種軟件安全升級的方法,該方法包括以下步驟待升級設備從服務器獲取升級包和所述升級包的簽名;獲取所述待升級設備自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。需要說明的是,所述待升級設備本身具備可信環(huán)境(Trusted Environment, TrE)模塊,該TrE模塊含有散列函數(shù)、加解密計算単元、隨機數(shù)生成器等,TrE模塊提供值得信賴的環(huán)境,可以對升級包的合法性進行校驗。在本實施例中,待升級設備中預先存儲有經(jīng)TrE簽名的第一初始特征值,稱為第一初始狀態(tài)值簽名,其中第一初始特征值除包括升級包簽名公鑰外,還可包括但不僅限于以下特征中的一個或者多個待升級設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、flash特征值、硬盤特征值。在待升級設備運行升級包之前,TrE模塊對待升級設備自身進行檢查,檢測方式可以為TrE模塊獲取待升級設備當前的第一特征值,并對獲取的第一特征值進行簽名得到第一狀態(tài)值簽名,其中第一特征值除包括升級包簽名公鑰外,還可包括但不僅限于以下特征中的一個或者多個待升級設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、flash特征值、硬盤特征值。對第一特征值的簽名可以通過加密計算單元對第一特征值進行簽名,或者通過散列函數(shù)對第一特征值進行簽名,對第一特征值進行簽名后,將得到的第一狀態(tài)值簽名與待升級設備中預先存儲的第一初始狀態(tài)值簽名進行比較,如果兩者不相同,則停止升級,井上報告警;如果兩者相同,則說明待升級設備在升級前狀態(tài)正常,且升級包簽名公鑰也未被篡改,可以進行后續(xù)步驟。在待升級設備狀態(tài)正常的情況下,使用升級包簽名公鑰對獲得的升級包的簽名進行校驗,若校驗通過,則待升級設備運行升級包。在設備運行完升級包后,TrE模塊獲取設備升級后的特征值,并利用TrE中的信任根密鑰或者其衍生的密鑰,或者散列函數(shù)對特征值進行簽名,并將簽名后的特征值取代第一初始狀態(tài)值簽名存儲于待升級設備當中。由上可見,由于待升級設備不僅對升級包的合法性進行了校驗,而且在升級之前對自身狀態(tài)進行了校驗,提高了軟件升級過程中的安全性,而且本發(fā)明的實施例提供的軟件升級流程簡單和組網(wǎng)較簡單,整個軟件升級的過程可以只需要待升級設備和服務器的參 與,不需要借助第三方設備。本發(fā)明實施例還提供一種軟件安全升級的方法,參見圖2,所述方法包括以下步驟S201、基站向服務器發(fā)送軟件升級指令;此處基站可以是家庭小基站,服務器可以是OAM Server (OperationAdministration and Maintenance Server,操作管理維護服務器)。S202、服務器向基站傳送升級包和升級包的簽名;S203、基站獲取自身當前的第一特征值,并利用其內置的信任根密鑰或者其衍生密鑰,或者散列函數(shù)對第一特征值進行簽名得到第一狀態(tài)值簽名,其中,第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;需要說明的是,本實施例中的第一特征值還可以包括基站的硬件特征值、待升級軟件的當前版本、信任根密鑰、flash特征值、硬盤特征值等中的ー個或多個。所述的信任根密鑰或者其衍生密鑰或者散列函數(shù)存儲于基站的TrE模塊中。S204、基站將獲得的第一狀態(tài)值簽名與基站中預存的第一初始狀態(tài)值簽名進行比較,若兩者不相同,則停止升級,并上報告警,若兩者相同,則進行步驟S205 ;需要說明的是,所述的第一初始狀態(tài)值簽名為基站第一初始特征值經(jīng)基站TrE模塊中內置的信任根密鑰或者其衍生的密鑰簽名后得到的結果,其中第一初始特征值除包括用于校驗升級包簽名的初始升級包簽名公鑰,還可以包括但不僅限于以下特征中的ー個或者多個待升級設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、flash特征值、硬盤特征值。S205、基站利用第一升級包簽名公鑰對接收的升級包簽名進行校驗,若校驗不通過,則停止升級,并上報告警,若校驗通過,則基站運行接收的升級包;其中,對升級包簽名的校驗包括校驗升級包的完整性、升級包的版本信息等等。S206、基站獲取升級后自身的特征值,并利用內置的信任根密鑰或者其衍生密鑰或者散列函數(shù)對特征值進行簽名,并將簽名后的特征值取代基站中預存的第一初始狀態(tài)值簽名,用于再次升級中的校驗過程。所述的信任根密鑰或者其衍生密鑰存儲于基站的TrE中。由上可見,在本實施例中,升級包簽名公鑰屬于基站第一特征值的一部分,若經(jīng)簽名的第一特征值通過校驗,即第一狀態(tài)值簽名與預存的第一初始狀態(tài)值簽名相同,則說明升級包簽名公鑰未被篡改,簡化了對升級包簽名公鑰的校驗。
在本實施例提供的軟件安全升級的方法中,由于基站在運行升級包之前,利用內置的信任根密鑰或者其衍生的密鑰或者散列函數(shù)不僅對升級包進行校驗,而且對自身的狀態(tài)進行了校驗,保證了基站軟件升級的安全,而且這些校驗工作都是由基站本身來完成的,簡化了軟件升級的流程以及組網(wǎng)。并且,在基站完成升級后,基站對自身狀態(tài)進行了刷新和保存,從而為再次升級提供了基礎。本發(fā)明實施例還提供一種軟件升級的方法,該方法包括以下步驟待升級設備從服務器獲取升級包和所述升級包的簽名;獲取待升級設備自身當前的第二特征值和用于校驗升級包簽名的第二升級包簽名公鑰,并對獲得的第二特征值和第二升級包簽名公鑰分別進行簽名,分別得到第二狀態(tài)值簽名和第二升級包簽名公鑰簽名;分別對獲得的第二狀態(tài)值簽名和第二升級包簽名公鑰簽名進行校驗,若其中至少一個校驗不通過,則停止升級,若校驗都通過,則利用獲得的第二升級包簽名公鑰對獲取的 升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。需要說明的是,在本實施例中,待升級設備中預先存儲有經(jīng)TrE模塊簽名的第二特征值和第二升級包簽名公鑰,稱為為第二初始狀態(tài)值簽名和第一初始升級包簽名公鑰簽名,其中,上述第二特征值可包括但不僅限于以下特征中的ー個或者多個待升級設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、flash特征值、硬件特征值,但是第二特征值不包括第二升級包簽名公鑰。在待升級設備運行升級包之前,TrE模塊對待升級設備自身以及第二升級包簽名公鑰進行校驗,對待升級設備進行校驗的過程具體為TrE模塊獲取待升級設備當前的第二特征值和第二升級包簽名公鑰,并對獲取的第二特征值和第二升級包簽名公鑰分別進行簽名得到第二狀態(tài)值簽名和第二升級包簽名公鑰簽名,其中,對第二特征值和第二升級包簽名公鑰的簽名可以通過密鑰或者散列函數(shù)進行簽名;將得到的第二狀態(tài)值簽名與待升級設備中預先存儲的第二初始狀態(tài)值簽名進行比較,如果兩者不相同,則說明待升級設備中某些信息被篡改,停止升級,井上報告警,如果兩者相同,則說明待升級設備在升級之前狀態(tài)正常,校驗通過;對第二升級包簽名公鑰簽名的校驗過程具體為將第二升級包簽名公鑰簽名與待升級設備中預存的第一初始升級包簽名公鑰簽名進行比較,如果兩者相同,則說明第二升級包簽名公鑰未被篡改,校驗通過,如果兩者不相同,則校驗不通過。若對第二狀態(tài)值簽名和第二升級包簽名公鑰簽名的校驗中至少有ー個校驗不通過時,則停止升級,若對兩者校驗都通過時,則利用獲得的第二升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。在設備運行完升級包后,TrE模塊獲取設備升級后的特征值和升級包簽名公鑰,并利用TrE模塊中的信任根密鑰或者其衍生的密鑰,或者散列函數(shù)對特征值和升級包簽名公鑰進行簽名,并分別取代第二初始狀態(tài)簽名和第一初始升級包簽名公鑰簽名存儲在該設備當中,用于再次升級中的校驗過程。由上可見,由于待升級設備不僅對升級包的合法性進行了校驗,而且待升級設備在運行升級包之前,對自身的狀態(tài)和升級包簽名公鑰的狀態(tài)進行了校驗,提高了軟件升級過程中的安全性,而且本發(fā)明的實施例提供的軟件升級流程和組網(wǎng)較簡單,整個軟件升級的過程只需要待升級設備和服務器的參與,不需要借助第三方校驗設備。本發(fā)明實施例還提供另ー種軟件升級的方法,參見圖3,該方法包括以下步驟S301、基站向服務器發(fā)送軟件升級指令;S302、服務器向基站傳送升級包和升級包的簽名;S303、基站獲取自身當前的第二特征值和用于校驗升級包簽名的第二升級包簽名公鑰,并利用內置的信任根密鑰或者其衍生密鑰,或者散列函數(shù)對第二特征值和第二升級包簽名公鑰分別進行簽名,分別得到第二狀態(tài)值簽名和第二升級包簽名公鑰簽名;需要說明的是,第二特征值可包括但不僅限于以下特征中的一個或者多個基站硬件特征值、待升級軟件的當前版本、信任根密鑰、flash特征值、硬件特征值,但是第二特征值不包括第二升級包簽名公鑰。 所述的信任根密鑰或者其衍生密鑰,或者散列函數(shù)存儲于基站的TrE模塊中。S304、基站將獲得的第二狀態(tài)值簽名與基站中預存的第二初始狀態(tài)值簽名進行比較,若兩者不相同,說明基站中某些特征值被篡改,停止升級,井上報告警,若兩者相同,則進行步驟S305 ;S305、基站將獲得的第二升級包簽名公鑰簽名與基站中預存的第一初始升級包簽名公鑰簽名進行比較,若兩者不相同,則說明第二升級包簽名公鑰被篡改,停止升級,井上報告警,若兩者相同,則進行步驟S306 ;需要說明的是,上述第二初始狀態(tài)值簽名為基站第二初始特征值經(jīng)基站TrE模塊中內置的信任根密鑰或者其衍生的密鑰或者散列函數(shù)簽名后得到的結果,上述第一初始升級包簽名公鑰簽名為基站初始升級包簽名公鑰經(jīng)基站內置的信任根密鑰或者其衍生的密鑰或者散列函數(shù)簽名后得到的結果。S306、基站利用第二升級包簽名公鑰對接收的升級包簽名進行校驗,若校驗不通過,則停止升級,并上報告警,若校驗通過,則基站運行接收的升級包;S307、基站獲取升級后自身的特征值和升級包簽名公鑰,并利用內置的信任根密鑰或者其衍生密鑰或者散列函數(shù)對特征值和升級包簽名公鑰分別進行簽名,并將簽名后的特征值和升級包簽名公鑰分別取代基站中預存的第二初始狀態(tài)值簽名和第一初始升級包簽名公鑰簽名,用于再次升級中的校驗過程。由上可見,在本實施例中,由于待升級設備不僅對升級包的合法性進行了校驗,而且待升級設備在運行升級包之前,自己對自身的狀態(tài)和升級包簽名公鑰的狀態(tài)進行了校驗,提高了軟件升級過程中的安全性,而且本發(fā)明的實施例提供的軟件升級流程和組網(wǎng)較簡單,整個軟件升級的過程只需要待升級設備和服務器的參與,不需要借助第三方設備。本發(fā)明實施例還提供ー種通信設備,該通信設備包括第一獲取模塊,用于從服務器獲取升級包和所述升級包的簽名;第二獲取模塊,用于獲取設備自身當前的第一特征值,其中,第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;簽名模塊,用于對獲得的第一特征值進行簽名,從而得到第一狀態(tài)值簽名;校驗模塊,用于對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則不啟動運行模塊,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則啟動運行模塊;運行模塊,用于運行所獲取的升級包。需要說明的是,所述通信設備中預先存儲有經(jīng)簽名的第一初始特征值,稱為第一初始狀態(tài)值簽名,其中第一初始特征值除包括升級包簽名公鑰外,還可包括但不僅限于以下特征中的一個或者多個通訊設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、flash特征值、硬盤特征值。校驗模塊對第一狀態(tài)值簽名進行校驗的過程具體為,校驗模塊將第一狀態(tài)值簽名與通信設備中預存的第一初始狀態(tài)值簽名進行比較,若兩者不相同,則校驗不通過,若兩者相同,則校驗通過;當對第一狀態(tài)值簽名的校驗通過后,校驗模塊利用利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗。 在通信設備運行完升級包后,第二獲取模塊重新獲取通信設備的特征值,并對特征值進行簽名,將簽名后的特征值取代第一初始狀態(tài)值簽名存儲于通信設備中。由上可見,由于本發(fā)明的實施例提供的通信設備中包括校驗模塊,該模塊在運行模塊運行升級包之前,對通信設備自身的狀態(tài)和升級包簽名公鑰進行了校驗,當對自身狀態(tài)和升級包簽名公鑰的檢測通過后再對升級包簽名進行校驗,提高了軟件升級過程中的安全性。本發(fā)明實施例提供另ー種通信設備,參見圖4所示,該設備包括第一獲取模塊401,用于從服務器獲取升級包和所述升級包的簽名;其中,第一獲取模塊401獲取升級包和升級包的簽名后,將升級包傳遞給運行模塊405,將升級包的簽名傳遞給校驗模塊404 ;第二獲取模塊402,用于獲取設備自身當前的第一特征值,其中,第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;其中,第一特征值還包括但不僅限于以下特征中的ー個或者多個通信設備本身的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、flash特征值、硬盤特征值。簽名模塊403,用于對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名;其中,簽名模塊403可以通過信任根密鑰或者其衍生密鑰,或者通過散列函數(shù)對第一特征值進行簽名。校驗模塊404,用于對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則不啟動運行模塊,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則啟動運行模塊;其中,校驗模塊404對第一狀態(tài)值簽名進行校驗的方式可以為,校驗模塊404將第一狀態(tài)值簽名與通信設備的存儲模塊中預先存儲的第一初始狀態(tài)值簽名進行比較,若兩者不相同,則校驗不通過,若兩者相同,則校驗通過;上述第一初始狀態(tài)值簽名為通信設備的第一初始特征值經(jīng)簽名模塊403簽名后得到的結果,第一初始特征值包括用于校驗升級包簽名的初始升級包簽名公鑰。運行模塊405,用于運行所獲取的升級包。進ー步的,在運行模塊405運行完升級包后,第二獲取模塊402再次獲取該通信設備的特征值,并由簽名模塊403對該特征值進行簽名,并將簽名后的特征值取代該通信設備中存儲的第一初始狀態(tài)值簽名。由上可見,由于本發(fā)明的實施例提供的通信設備中包括校驗模塊404,該模塊在運行模塊405運行升級包之前,對通信設備自身的狀態(tài)和升級包簽名公鑰進行了校驗,當對自身狀態(tài)和升級包簽名公鑰的檢測通過后再對升級包簽名進行校驗,提高了軟件升級過程中的安全性。本發(fā)明實施例還提供ー種通信系統(tǒng),該系統(tǒng)包括服務器,用于根據(jù)軟件升級請求將升級包和所述升級包的簽名發(fā)送給待升級設備;待升級設備,用于獲取自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名 公鑰;對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用第一升級包簽名公鑰對接收的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則運行獲取的升級包。需要說明的是,本實施例中,待升級設備對獲得的第一狀態(tài)值簽名進行校驗具體為,待升級設備將獲得的第一狀態(tài)值簽名與待升級設備中預存的第一初始狀態(tài)值簽名進行比較,若兩者不相同,說明待升級設備中某些特征值被篡改,上報告警,停止升級,若兩者相同,則校驗通過。本系統(tǒng)中的待升級設備在運行完升級包后,再獲取自身的特征值,并對特征值進行簽名,將簽名后的特征值取代該設備預存的第一初始狀態(tài)值簽名,用于再次升級中的校驗過程。由上可見,由于本實施例提供的系統(tǒng)中的待升級設備不僅對升級包的合法性進行了校驗,而且在升級之前對自身狀態(tài)進行了校驗,提高了軟件升級過程中的安全性,而且本發(fā)明實施例提供的系統(tǒng)機構簡單,只有待升級設備和服務。本發(fā)明實施例還提供另ー種實現(xiàn)軟件安全升級的系統(tǒng),參見圖5,該系統(tǒng)包括服務器501,用于根據(jù)軟件升級請求將升級包和所述升級包的簽名發(fā)送給基站502 ;基站502,用于獲取自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;基站502對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用用于校驗升級包簽名的第一升級包簽名公鑰對接收的升級包的簽名進行校驗,當對升級包的簽名校驗通過吋,則運行獲取的升級包。在本實施例中,基站502對獲得的第一狀態(tài)值簽名進行校驗的方式可以為,基站502將獲得的第一狀態(tài)值簽名與基站502中預存的第一初始狀態(tài)值簽名進行比較,若兩者不相同,說明基站502中某些特征值被篡改,上報告警,停止升級,若兩者相同,則校驗通過。本系統(tǒng)中的基站502在運行完升級包后,再獲取自身的特征值,并對特征值進行簽名,將簽名后的特征值取代該基站中預存的第一初始狀態(tài)值簽名,用于基站再次升級中的校驗過程。由上可見,由于本實施例提供的系統(tǒng)中的基站502不僅對升級包的合法性進行了校驗,而且在升級之前對自身狀態(tài)進行了校驗,提高了軟件升級過程中的安全性,而且本發(fā)明實施例提供的系統(tǒng)機構簡單,只有基站和服務器。以上對本發(fā)明進行了詳細介 紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種軟件安全升級的方法,其特征在于,包括 待升級設備從服務器獲取升級包和所述升級包的簽名; 獲取所述待升級設備自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰; 對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。
2.根據(jù)權利要求I所述的方法,其特征在于,所述對獲得的第一狀態(tài)值簽名進行校驗具體為,將獲得的第一狀態(tài)值簽名與待升級設備中預存的第一初始狀態(tài)值簽名進行比較,若兩者相同,則校驗通過,若兩者不相同,則校驗不通過,其中,所述第一初始狀態(tài)值簽名為所述待升級設備的第一初始特征值經(jīng)簽名后得到的結果,所述第一初始特征值包括用于校驗升級包簽名的初始升級包簽名公鑰。
3.根據(jù)權利要求2所述的方法,其特征在于,所述方法還包括 獲取待升級設備運行完升級包后的特征值,對特征值進行簽名,并將簽名后的特征值取代待升級設備中預儲的第一初始狀態(tài)值簽名。
4.根據(jù)權利要求2所述的方法,其特征在干,所述第一特征值包括待升級設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征、升級包簽名公鑰。
5.根據(jù)權利要求2所述的方法,其特征在于,所述對獲得的第一特征值進行簽名具體為,待升級設備利用內置的加密計算単元或者散列函數(shù)對第一特征值進行簽名。
6.一種軟件安全升級的方法,其特征在于,所述方法包括以下步驟 待升級設備從服務器獲取升級包和所述升級包的簽名; 獲取待升級設備自身當前的第二特征值和用于校驗升級包簽名的第二升級包簽名公鑰,并對獲得的第二特征值和第二升級包簽名公鑰分別進行簽名,分別得到第二狀態(tài)值簽名和第二升級包簽名公鑰簽名; 分別對獲得的第二狀態(tài)值簽名和第二升級包簽名公鑰簽名進行校驗,若其中至少ー個校驗不通過,則停止升級,若校驗都通過,則利用獲得的第二升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則待升級設備運行所獲取的升級包。
7.根據(jù)權利要求6所述的方法,其特征在于,所述對獲得的第二狀態(tài)值簽名進行校驗具體為,將獲得的第二狀態(tài)值簽名與待升級設備中預存的第二初始狀態(tài)值簽名進行比較,若兩者相同,則校驗通過,若兩者不相同,則校驗不通過,其中,所述第二初始狀態(tài)值簽名為所述待升級設備的第二初始特征值經(jīng)簽名后得到的結果,且所述第二初始特征值不包括用于校驗升級包簽名的初始升級包簽名公鑰; 所述對獲得的第二升級包簽名公鑰簽名進行校驗具體為,將獲得的第二升級包簽名公鑰簽名與待升級設備中預存的第一初始升級包簽名公鑰簽名進行比較,若兩者相同,則校驗通過,若兩者不相同,則校驗不通過,其中,所述第一初始升級包簽名公鑰簽名為所述待升級設備的初始升級包簽名公鑰經(jīng)簽名后得到的結果。
8.根據(jù)權利要求7所述的方法,其特征在于,所述方法還包括 獲取待升級設備運行完升級包后的特征值和升級包簽名公鑰,對特征值和升級包簽名公鑰分別進行簽名,并將簽名后的特征值和升級包簽名公鑰分別取代待升級設備中預存的第二初始狀態(tài)值簽名和第一初始升級包簽名公鑰簽名。
9.根據(jù)權利要求7所述的方法,其特征在干,所述第二特征值包括待升級設備的硬件特征值、待升級軟件的當前版本、信任根密鑰特征。
10.根據(jù)權利要求7所述的方法,其特征在于,所述對獲得的第二特征值和第二升級包簽名公鑰分別進行簽名具體為,待升級設備利用內置的加密計算単元或者散列函數(shù)分別對第二特征值和第二升級包簽名公鑰進行簽名。
11.ー種通信設備,其特征在于,所述設備包括 第一獲取模塊,用于從服務器獲取升級包和所述升級包的簽名; 第二獲取模塊,用于獲取設備自身當前的第一特征值,其中,第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰; 簽名模塊,用于對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名; 校驗模塊,用于對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則不啟動運行模塊,若校驗通過,則利用第一升級包簽名公鑰對獲取的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則啟動運行模塊; 運行模塊,用于運行所獲取的升級包。
12.根據(jù)權利要求11所述的設備,其特征在于,所述設備包括存儲模塊,用于存儲第一初始狀態(tài)值簽名,所述第一初始狀態(tài)值簽名為所述第一初始特征值經(jīng)簽名后得到的結果,所述第一初始特征值包括用于校驗升級包簽名的初始升級包簽名公鑰; 所述校驗模塊對獲得的第一狀態(tài)值簽名進行校驗具體為,將獲得的第一狀態(tài)值簽名與存儲模塊中存儲的第一初始狀態(tài)值簽名進行比較,若兩者相同,則校驗通過,若兩者不相同,則校驗不通過。
13.根據(jù)權利要求12所述的設備,其特征在于,所述第二獲取模塊還用于在運行模塊運行完升級包后獲取設備的特征值,并且簽名模塊對所述特征值進行簽名,將簽名后的特征值取代存儲模塊中存儲的第一初始狀態(tài)值簽名。
14.ー種通信系統(tǒng),其特征在于,所述系統(tǒng)包括 服務器,用于根據(jù)軟件升級請求將升級包和所述升級包的簽名發(fā)送給待升級設備; 待升級設備,用于獲取自身當前的第一特征值,并對獲得的第一特征值進行簽名得到第一狀態(tài)值簽名,其中,所述第一特征值包括用于校驗升級包簽名的第一升級包簽名公鑰;對獲得的第一狀態(tài)值簽名進行校驗,若校驗不通過,則停止升級,若校驗通過,則利用第一升級包簽名公鑰對接收的升級包的簽名進行校驗,若對升級包的簽名校驗通過,則運行獲取的升級包。
15.根據(jù)權利要求14所述的系統(tǒng),其特征在于,所述待升級設備對獲得的第一狀態(tài)值簽名進行校驗具體為,將獲得的第一狀態(tài)值簽名與待升級設備中預存的第一初始狀態(tài)值簽名進行比較,若兩者相同,則校驗通過,若兩者不相同,則校驗不通過,其中,所述第一初始狀態(tài)值簽名為所述待升級設備的初始特征值經(jīng)簽名后得到的結果。
16.根據(jù)權利要求15所述的系統(tǒng),其特征在干,所述待升級設備獲取自身運行完升級包后的特征值,對特征值進行簽名,并將簽名后的特征值取代待升級設備中預存的第一初始狀態(tài)值簽名。
全文摘要
本發(fā)明公開了一種軟件安全升級的方法,包括待升級設備從服務器獲取升級包和升級包的簽名,待升級設備對自身狀態(tài)進行校驗,若校驗通過則對升級包簽名進行校驗,若對升級包的簽名校驗通過則待升級設備運行所獲取的升級包。該方法不僅對升級包的合法性進行了校驗,而且對待升級設備自身的狀態(tài)進行了校驗,提高了軟件升級過程中的安全性,而且該方法所述的軟件升級流程簡單,需要的組網(wǎng)方式也較簡單,整個軟件升級的過程可以只需要待升級設備和服務器的參與,可以不借助第三方設備。
文檔編號H04L29/06GK102833745SQ201210247060
公開日2012年12月19日 申請日期2012年7月17日 優(yōu)先權日2012年7月17日
發(fā)明者汪慧君, 趙興軍, 崔洋 申請人:華為技術有限公司