System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及物聯網設備領域,尤其涉及一種應用在安全啟動設備上的軟件升級方法和裝置。
技術介紹
1、隨著iot設備數量急速增加,監管、標準組織和用戶對產品安全與隱私保護的關注度不斷增加的背景下,物聯網設備的安全性在不斷加強,安全啟動作為核心的安全特性之一被應用在越來越多的設備上。安全啟動指在啟動階段實現對于啟動軟件的合法性和完整性的驗證,驗證通過后才會加載到下一級啟動。
2、由于要增加新特性、修復問題或者修復漏洞等,軟件升級將成為一項普遍、常規的操作。存在安全啟動的情況下,一旦升級策略或者升級方式有問題,升級設備軟件后設備無法通過安全啟動,影響設備的可用性,對于無人值守的場景的設備,影響尤其大。而現有技術通過主備分區解決固件升級過程中發生的異常,即通過備份分區去恢復設備,但是在存在安全啟動的情況下,單純依靠主備分區并不能通過安全啟動,只能在安全啟動過程中,不斷地循環,從而導致設備無法正常運行。
3、cn202110458824.3公開了一種無線網絡設備的雙備份升級方法及系統,所述方法包括:所述無線網絡服務云平臺根據當前啟用的固件升級資源和各個無線網絡設備的當前固件狀態信息,確定待進行固件升級的無線網絡設備,并向所述待進行固件升級的無線網絡設備發送對應的攜帶有固件升級資源的升級指令;所述無線網絡設備在接收到所述升級指令后,基于所述固件升級資源同步對所述第一固件軟件分區和所述第二固件軟件分區進行更新;在更新結束后啟動引導程序,判斷所述第一固件軟件分區是否存在異常,當所述第一固件軟件分區存在異常時將所述第二固件
4、根據以上描述,該升級方法是通過對第一固件軟件分區和第二固件軟件分區同步進行更新,當第一固件軟件分區的固件異常時,再調用第二固件軟件分區的固件,更新完成后,第二固件軟件分區和第一固件軟件分區的固件再同步配合進行備份。通過此方法,可以降低設備升級的故障率。
5、但是,存在安全啟動的情況下,對設備進行升級,在需要更新uboot和固件時,采用對比文件的方法,如果uboot在更新升級時出現異常,在安全啟動的環節中,由于uboot無法通過驗證,那么,設備就會處于驗證uboot-驗證失敗-重啟的無限循環中,導致設備無法正常開機,不能使用,影響用戶的正常生產。
6、本專利技術需要解決的技術問題是:解決在安全啟動的物聯網設備上合理升級,防止由于升級不當,導致設備可用性喪失的問題。
技術實現思路
1、本專利技術的主要目的是提供一種應用在安全啟動設備上的軟件升級方法,通過采用先升級過渡版本,再升級修復版本的升級策略,并且配合合理分區,能夠在存在安全啟動的情況下,避免由于升級過程中,uboot出現異常而導致設備不可用的情況。還提供了一種應用在安全啟動設備上的軟件升級裝置。
2、為實現上述目的,本申請所采用的技術方案:
3、一種應用在安全啟動設備上的軟件升級方法,包括以下步驟:
4、步驟1:劃分分區,劃分為boot分區、主固件分區和備份固件分區;boot分區保存有uboot;主固件分區和備份固件分區均保存有老版本固件;
5、步驟2:接收固件升級請求并驗證固件簽名;
6、步驟3:判斷設備當前的軟件運行版本;若當前的軟件版本為老版本時,則執行步驟4;若當前的軟件版本為過渡版本時,則執行步驟5;
7、步驟4:若固件升級的類型為過渡固件類型,則升級過渡固件,把過渡固件寫入到主固件分區,軟件版本升級為過渡版本并重啟,再進行修復版本升級;
8、步驟5:若固件升級的類型為修復固件類型,驗證新uboot的完整性成功后,升級修復固件和新uboot,把修復固件寫入到主固件分區和新uboot寫入到boot分區,軟件版本升級為修復版本并重啟。
9、優選地,升級為修復版本后,不允許固件降級,且只進行固件升級。
10、優選地,所述步驟4還包括:重啟后,驗證主固件分區的過渡固件合法性,若過渡固件合法,則進行開機,把主固件分區的過渡固件同步到備份固件分區;若過渡固件不合法,則把備份固件分區的老版本固件同步到主固件分區,并重啟;若固件升級的類型為其他固件類型,則不進行升級。
11、優選地,所述步驟5還包括:若驗證新uboot的完整性不成功,則放棄固件升級,返回升級結果;若固件升級的類型為其他固定類型,則不進行升級。
12、優選地,所述步驟5還包括:重啟后,驗證主固件分區的修復固件合法性,若修復固件合法,則進行開機,把主固件分區的修復固件同步到備份固件分區;若修復固件不合法,則把備份固件分區的過渡固件同步到主固件分區,并重啟。
13、優選地,所述boot分區用于放置引導程序;所述主固件分區用于作為固件默認的加載地址;所述備份固件分區用于在異常情況下,從該分區加載固件以恢復設備的可用性。
14、優選地,由cpu驗證uboot的合法性和完整性;由uboot驗證主固件分區和備份固件分區的固件合法性。
15、其中,uboot:是一個廣泛用于嵌入式系統中的bootloader。它是在操作系統運行之前執行的一小段程序,負責初始化硬件設備、建立內存空間的映射表,為最終調用操作系統內核做好準備。
16、同時,還提供了一種應用在安全啟動設備上的軟件升級裝置,包括如下單元:
17、分區劃分單元:用于劃分分區,劃分為boot分區、主固件分區和備份固件分區;boot分區保存有uboot;主固件分區和備份固件分區均保存有老版本固件;
18、接收單元:用于接收固件升級請求并驗證固件簽名;
19、判斷單元:用于判斷設備當前的軟件運行版本;
20、老版本升級單元:用于若固件升級的類型為過渡固件類型,則升級過渡固件,把過渡固件寫入到主固件分區,軟件版本升級為過渡版本并重啟,再進行修復版本升級;
21、過渡版本升級單元:用于若固件升級的類型為修復固件類型,驗證新uboot的完整性成功后,升級修復固件和uboot,把修復固件寫入到主固件分區和新uboot寫入到boot分區,軟件版本升級為修復版本并重啟。
22、優選地,所述接收單元包括接收模塊和驗證模塊;所述接收模塊用于接收升級固件;所述驗證模塊用于驗證升級固件的合法性;所述升級固件為過渡固件或修復固件。
23、優選地,所述過渡版本升級單元包括uboot驗證模塊、固件類型判斷模塊和固件驗證模塊;所述uboot驗證模塊用于驗證uboot的完整性和合法性;所述固件類型判斷模塊用于判斷所接收的固件類型;所述固件驗證模塊用于驗證主固件分區的修復固件合法性。本文檔來自技高網...
【技術保護點】
1.一種應用在安全啟動設備上的軟件升級方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,升級為修復版本后,不允許固件降級,且只進行固件升級。
3.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述步驟4還包括:重啟后,驗證主固件分區的過渡固件合法性,若過渡固件合法,則進行開機,把主固件分區的過渡固件同步到備份固件分區;若過渡固件不合法,則把備份固件分區的老版本固件同步到主固件分區,并重啟;若固件升級的類型為其他固件類型,則不進行升級。
4.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述步驟5還包括:若驗證新UBOOT的完整性不成功,則放棄固件升級,返回升級結果;若固件升級的類型為其他固定類型,則不進行升級。
5.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述步驟5還包括:重啟后,驗證主固件分區的修復固件合法性,若修復固件合法,則進行開機,把主固件分區的修復固件同步到備份固件分區;若修復固件不合法,則把備份
6.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述BOOT分區用于放置引導程序;所述主固件分區用于作為固件默認的加載地址;所述備份固件分區用于在異常情況下,從該分區加載固件以恢復設備的可用性。
7.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,由CPU驗證UBOOT的合法性和完整性;由UBOOT驗證主固件分區和備份固件分區的固件合法性。
8.一種應用在安全啟動設備上的軟件升級裝置,其特征在于,包括如下單元:
9.根據權利要求8所述的應用在安全啟動設備上的軟件升級裝置,其特征在于,所述接收單元包括接收模塊和驗證模塊;所述接收模塊用于接收升級固件;所述驗證模塊用于驗證升級固件的合法性;所述升級固件為過渡固件或修復固件。
10.根據權利要求8所述的應用在安全啟動設備上的軟件升級裝置,其特征在于,所述過渡版本升級單元包括UBOOT驗證模塊、固件類型判斷模塊和固件驗證模塊;所述UBOOT驗證模塊用于驗證UBOOT的完整性和合法性;所述固件類型判斷模塊用于判斷所接收的固件類型;所述固件驗證模塊用于驗證主固件分區的修復固件合法性。
...【技術特征摘要】
1.一種應用在安全啟動設備上的軟件升級方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,升級為修復版本后,不允許固件降級,且只進行固件升級。
3.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述步驟4還包括:重啟后,驗證主固件分區的過渡固件合法性,若過渡固件合法,則進行開機,把主固件分區的過渡固件同步到備份固件分區;若過渡固件不合法,則把備份固件分區的老版本固件同步到主固件分區,并重啟;若固件升級的類型為其他固件類型,則不進行升級。
4.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述步驟5還包括:若驗證新uboot的完整性不成功,則放棄固件升級,返回升級結果;若固件升級的類型為其他固定類型,則不進行升級。
5.根據權利要求1所述的應用在安全啟動設備上的軟件升級方法,其特征在于,所述步驟5還包括:重啟后,驗證主固件分區的修復固件合法性,若修復固件合法,則進行開機,把主固件分區的修復固件同步到備份固件分區;若修復固件不合法,則把備份固件分區的過渡固件同步到主固件分區,并重啟。<...
【專利技術屬性】
技術研發人員:楊猛,陳小軍,招嘉煥,陳再明,
申請(專利權)人:廣州魯邦通物聯網科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。