zigbee----over-the-air-upgrad學習筆記(1)

這是完全由英文文檔翻譯的,譯得 不好,緊作爲自己的學習筆記

 

ZigBee集羣庫由單獨的章節組成,如本章。有關所有章節和文檔的列表,請參見ZigBee集羣庫中列出的文檔列表和所有章節。章節之間的引用使用X.Y ,表示X是這一章,Y是這一章的子部分。對外部文檔的引用包含在第1章中,並使用[Rn]符號表示。

11.1 介紹

       11.1.1目的:

本章的目的是爲空中圖像的升級提供詳細的技術要求。
本章介紹了使用現有的OTA升級集羣實現OTA升級集羣的清晰方法
ZigBee棧、ZigBee集羣庫和這個OTA集羣。
空中升級集羣的主要目標是爲來自不同製造商的設備提供一種可互操作的方法來升級彼此的形象。此外,OTA升級集羣定義了一種機制,通過提供一個解決方案來訪問安全憑據、日誌和配置文件類型。

        11.1.2範圍:

本章只描述那些需要實現ZigBee OTA升級的特性(集羣)認證。其他可選特性,包括使用組播發送升級消息和(升級)克隆,將不在本文檔中討論。
目前,爲了支持ZigBee OTA升級集羣,只需要應用程序引導加載器支持。
目前不支持MAC引導加載程序升級。

        11.1.3術語:

應用標準或標準-這是一個名詞,指的是任何應用標準規範,其中包括該規範。例如:ZigBee家居自動化、ZigBee智能能源等。

11.2一般的描述

        11.2.1介紹:

現有的OTA升級方法是特定於平臺的,而不是OTA可互操作的,也不提供支持多種平臺和設備組合的升級網絡的公共框架
無線個域網棧供應商。
本章的目的是爲部署在現場的設備提供一個可互操作的OTA升級新圖像。只要該設備支持OTA升級集羣,並且通過了批准的測試機構的認證,其鏡像就可以由同樣或不同的製造商的另一臺設備升級,該製造商也實施並認證了OTA升級cluster。

OTA升級集羣(cluster)還要求,爲了支持OTA升級,設備需要安裝一個應用程序引導加載程序,以及足夠的內存(外部或內部)來存儲新加載的映像。應用程序引導加載程序使用正在運行的ZigBee堆棧和應用程序來檢索和存儲新映像。根據製造商的不同,映像可能由引導加載程序映像、ZigBee棧映像或應用程序映像的補丁組成。無論包含發送到節點的OTA升級映像的內容是什麼,它都與ZigBee OTA集羣無關,它都與ZigBee OTA集羣無關,並且超出了範圍。

要使用應用程序引導加載程序,設備需要有足夠的內存(內部或外部)來存儲新下載的OTA升級映像。這樣,在成功下載新映像之前,不會覆蓋當前運行的映像。它還允許節點在其內存中保存鏡像並將該鏡像轉發到另一個節點。當設備決定下載新的OTA升級映像以及當設備決定切換到運行新映像時應用程序引導加載提供了靈活性。

由於引導加載是在應用程序級別完成的,所以它自動利用ZigBee網絡層和應用程序子層(APS)已經提供的各種特性,包括引導加載多個跳轉之外的設備的能力、消息重試以提高可靠性和安全性。它還允許網絡在引導加載過程中繼續正常運行。此外,它支持引導加載睡眠(RxOnWhenIdle=FALSE)設備。應用程序引導加載消息構建在典型的ZigBee消息之上,附加了ZigBee集羣庫(ZCL)頭和payload,以及ZigBee OTA集羣特定的payload。當然,包含此規範的應用程序標準可能會添加此處未定義的需求和依賴項。該標準不應通過將此處的特性從強制更改爲可選來放鬆需求,但它可以指定它認爲是強制的特性,這些特性在本規範中是可選的。例如:ZigBee智能能源標準有特定的OTA集羣安全特性要求,這些要求在ZSE規範中被定義爲強制性的,但在這裏是可選的

11.2.2 cluster 列表

升級客戶端是一種需要升級新映像的設備。升級服務器是一個設備,它有要發送給客戶機的新映像。本文檔將指定客戶機如何發現服務器、客戶機和服務器之間的空中消息格式,以及服務器發出信號讓客戶機切換到運行新映像的方法。

升級服務器可能有來自不同廠商的多個OTA升級映像。升級服務器如何接收這些OTA升級映像以及如何存儲和管理這些映像不在本文的討論範圍之內。除了向客戶機設備傳輸新固件映像的典型用例之外,OTA升級集羣還可以用於傳輸特定於設備的文件類型,如日誌、配置或安全憑證(從SE 1.0或SE 1.1升級到SE 2.0需要這些文件類型)。集羣在OTA頭和一組可選命令中提供了靈活性,這些命令使得傳輸此類文件類型成爲可能。

11.3OTA 升級

      11.3.1 概括:

有關定義集羣體系結構、修訂、分類和標識等的一般集羣概述,請參見第2.2節。

集羣提供了一種通過OTA消息升級網絡設備的標準方法。因此,升級過程可以在來自不同製造商的兩個設備之間執行。爲了成功地實現集羣,設備需要有應用程序引導加載程序和額外的內存空間。

當更新鏡像可用時,服務器有責任通知客戶機。客戶端可以升級或降級。升級服務器知道要升級哪個客戶機設備以及升級到哪個文件版本。升級服務器可以通過後端系統得到此類信息的通知。對於ZR客戶機,當有可用的新的鏡像時,服務器可能會發送一條消息通知設備。假定ZED客戶機在未醒來時,是不會接收到新的可用的鏡像通知。所有客戶機(ZR和ZED)都應該定期查詢(輪詢)服務器,以確定服務器是否爲它們提供了鏡像更新。鏡像通知是可選的。

集羣的實現方式是客戶端、服務端同時在ZED和ZR設備上工作。對於所有服務器設備,必須能夠處理輪詢,而能夠發送通知是可選的。因此,所有客戶機設備都必須能夠使用輪詢機制向服務器發送查詢消息,以便查看服務器是否有新文件。輪詢機制還將更少的資源放在升級服務器上。理想的狀態是讓服務器儘可能少地維護狀態,因爲當網絡中有數百個客戶機時,這將會擴展。升級服務器不需要跟蹤特定客戶端接收到的鏡像片段;相反,客戶應該這樣做。最後,poll使需要特別設置以準備接收鏡像的設備更有意義,比如解鎖flash或爲新圖像分配空間。

  11.3.1.1歷史版本

global mandatory ClusterRevision屬性應反映已實現集羣規範的修訂,該規範中列出的一個或多個集羣標識符標識了已實現集羣規範(參見2.3.6.1)

 

11.3.2安全性

OTA升級集羣的安全性包括以下領域:鏡像驗證、鏡像傳輸和鏡像加密。應用程序標準中的安全機制規定了空中映像升級的安全級別。例如,具有嚴格安全策略的應用標準(如智能能源)可能在網絡層和APS層都支持鏡像簽名和加密;而其他應用程序標準可能只支持網絡加密。每個應用程序標準必須決定使用OTA升級集羣所需的安全策略列表。

      11.3.2.1術語:

安全有很多方面。這些可以分解爲以下幾個領域:機密性、完整性、身份驗證、可用性和不可否認性。授權和審計也可以視爲安全性的一部分。

機密性(Confidentiality)--這是一個要求,即任何第三方都不能讀取不適合該方的數據。這將在下面的鏡像加密中討論。

完整性(Integrity)--這是安全性的屬性,在此屬性中,接收方可以驗證數據在最初由發送方分發到預期接收方接收期間沒有被修改。可以檢測到第三方對數據的修改。這將在下面的圖像驗證中討論。

身份驗證(Authentication)--此屬性可由預期的接收方驗證數據發送方的身份。這將在下面的圖像驗證中討論,

有效性(Availability)--這指的是資源在需要時可用,並且不能被攻擊者不公平地使用的屬性。OTA升級集羣沒有解決這個問題;因此,將不再進一步討論這個問題。

Non-repudiation--這是指發送方/接收方不能否認發生了安全交換的屬性。OTA升級集羣沒有解決這個問題;因此,將不再進一步討論這個問題。

11.3.3鏡像驗證

      11.3.3.1真實性和完整性的非對稱驗證:

強烈建議使用一種方法來驗證引導加載映像的真實性和完整性。這通常通過非對稱加密技術(即公鑰/私鑰)實現,其中只有一個設備能夠創建數字簽名,但是許多設備能夠驗證它。引導加載映像可以由製造商的私鑰簽名,並將該簽名附加到傳輸到設備的映像上。一旦收到完整的圖像,就使用簽名者的公鑰驗證簽名。

設備可以使用創建簽名的設備的證書(公鑰)預安裝,也可以通過無線方式接收證書。如何獲取簽名者的安全數據被認爲不在OTA升級集羣的範圍內,而且是特定於製造商的。當通過空中發送簽名者證書而沒有預先安裝時,建議使用來自可信源的加密來傳輸證書,以減少攻擊者將自己的簽名者證書注入設備的機會。

內置驗證機制的鏡像可以通過不安全的通信機制傳輸,同時仍然保持其真實性和完整性。事實上,升級映像的發起者(製造商)很可能不會直接連接到任何ZigBee網絡,因此在到達ZigBee網絡之前,將升級映像分發到其他媒介(如internet)。在這種情況下,圖像驗證獨立於通信媒介是至關重要的。任何篡改簽名或數據本身的嘗試都必須被檢測到,並將導致目標設備拒絕升級映像。攻擊者製作自己的簽名圖像並試圖讓其被接受,將被拒絕,因爲該圖像不會由製造商的簽名機構簽名

確定圖像驗證的最低要求取決於每個應用程序標準。例如:對於ZigBee智能能源標準,NEMA SG-AMI 1-2009已經包含了一組最低的安全要求。OTA升級集羣將通信用於基本圖像驗證的方法。個別製造商可以自由地對此進行擴展,並提供自己的擴展。這些擴展超出了OTA升級集羣的範圍。

如果沒有非對稱加密技術,設備對圖像的身份驗證能力將受到限制。鏡像可以使用對稱密鑰加密,這樣只有那些需要解密圖像的設備才能訪問密鑰。然而,該系統的安全性依賴於所有訪問對稱密鑰的設備的安全性。

11.3.3.2 通過哈希值驗證完整性

對於不需要非對稱驗證方法的應用標準,OTA圖像的真實性無法驗證。但是,可以使用第11.7.2節中的哈希值方法驗證OTA圖像的完整性。將不會涉及簽名者證書或任何簽名

11.3.4鏡像傳輸

當有一種方法可以驗證引導加載映像的真實性時,以安全方式傳輸映像對完整性和真實性幾乎沒有提供額外的安全性。安全傳輸提供的是一種方法,用於通信有關設備何時應該執行升級或升級到哪個版本的策略。

安全的ZigBee網絡對所有消息都使用網絡安全,但不提供點對點安全。應該使用APS安全性來確保只從可信源(升級服務器)發送消息。這將用於提供升級服務器關於設備何時啓動bootload事件的隱式和顯式授權。

不建議通過廣播或多播消息分發升級映像,因爲它缺乏點對點安全性。通過廣播或多播接收升級映像不應推斷爲升級服務器發起升級的授權。在這種情況下,接收圖像並對其進行升級的行爲應該被分解爲單獨的事件。後一種通信應該通過單播完成,以驗證升級服務器已授權設備升級到先前接收的映像。應用程序必須確定升級服務器所需的授權級別。

11.3.5鏡像簽名

應用程序標準可能要求OTA升級集羣提供對OTA文件簽名的機制,以保護圖像的真實性和完整性

11.3.6鏡像完整性代碼

應用程序標準可能要求OTA升級集羣提供哈希機制,以防止意外的數據損壞。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章