本章探討了將區塊鏈技術用于傳感器數據的一種方法,特別是在必須驗證數據的完整性和來源的情況下。區塊鏈對于嵌入式系統的另一部分也很有用:命令和控制。
在許多情況下,嵌入式系統的“控制”部分是直接連接的執行器的一系列命令。其中一些系統,例如飛行控制,可能對性能敏感 - 實際上是延遲敏感的。其他情況,例如設置地下水修復的化學注入速率,可能會每小時或每天更改一次。控制器的常見要求是能夠驗證和驗證命令,以及維護可驗證的命令歷史記錄。
考慮自主無人機的情況。向無人機發出的關鍵命令將包括目的地以及是否在到達目的地時釋放有效載荷。有效負載可以是檢測或其他高價值項。
為了確保無人機執行有效的任務,應該有多個授權。授權任務的締約方可能包括科學小組、供資或治理小組以及行動小組。在這種情況下,將有一個系統,在無人機接受之前,所有這三個組都必須批準和授權一個位置。該系統需要防偽或防欺騙,理想情況下維護所有命令的安全歷史記錄。
區塊鏈可以通過驗證(包括驗證服務器和驗證策略)提供這種保證。驗證服務器通過對建議的事務進行加密簽名來工作。在自主無人機示例中,將無人機發送到特定任務的命令將被視為事務。
最簡單的情況是單個驗證服務器對每個事務進行簽名。驗證策略可以創建更復雜的授權,如示例中所示,該示例將調用三個驗證服務器,每個服務器在事務生效之前對事務進行簽名(批準)。更復雜的情況也是可能的:例如,彈性系統可能有 20 個驗證服務器,并且需要由大多數服務器(11 個服務器)簽名,或者在另一種情況下,相同的 20 個驗證服務器只需要 5 個驗證服務器簽名即可進行有效事務。不同的系統可能有一個必須簽名的主驗證服務器,以及五個輔助服務器中的任何兩個進行簽名。
稱為拜占庭容錯的驗證策略即使在驗證服務器出現故障以及存在受損或惡意驗證服務器的情況下也能正常工作。使用拜占庭容錯破壞系統需要破壞一半以上的驗證服務器,即使存在系統故障和惡意破壞,這種方法也很可靠。拜占庭容錯的細節有點太晦澀難懂,無法在這里討論,但它仍然是區塊鏈強大和靈活性的一個例子。
驗證服務器通過對事務進行加密簽名來工作。這是使用私鑰/公鑰對完成的,私鑰/公鑰對在每個驗證服務器上都不同。此加密簽名可以在軟件中完成,利用主機系統的性能。也可以使用硬件安全模塊 (HSM) 來完成此操作,該模塊是專用于安全操作的特殊強化模塊。HSM 可以是高性能/高成本模塊或低性能/低成本單元,例如受信任的平臺模塊 (TPM) 甚至智能卡。
使用軟件簽名時,私鑰存在于系統上,可能會被泄露。使用 HSM,私鑰包含在硬件模塊中,不會泄露。(雖然這種說法并不完全正確,但現代 HSM 被認為對國家級參與者以外的任何內容都是安全的。
無人機示例中區塊鏈的美妙之處在于,無人機驗證其收到的命令的有效性,驗證命令是否已由批準的機構發出和驗證,并確認它們已按正確的順序接收。這些步驟避免了與修改傳輸中的命令相關的風險,甚至避免了將命令輸入無人機的人更改命令的風險。除了無人機之外,區塊鏈生態系統中的其他所有人都可以驗證命令的順序以及誰授權和批準它們。
請注意,實際的命令內容不必對每個人都可見。區塊鏈有效負載可以加密,以便只有授權實體才能實際讀取內容。此操作將生成一個非常強大的系統,每個人都可以驗證所有命令的順序和權限,但只有需要實現特定命令的實體才能確定該命令是什么。
關于指揮和控制系統的一個主要問題是在通信系統中斷和退化的情況下運行的能力。區塊鏈的一個關鍵優勢是它對重傳的容忍度極高:用戶可以發送(和接收)一千次區塊,最終得到一個命令或交易,而不是一千個。一個塊可以有多個部分傳輸,然后被重建為單個可驗證的塊;區塊可能會亂序,因為無論您以什么順序接收區塊,區塊鏈都使區塊能夠以正確的順序組裝。
這種屬性組合使區塊鏈成為構建強大、安全、高信任系統的強大工具。除了支持低性能的應用程序,如前面示例中的無人機目標目的地,區塊鏈還可以支持高性能應用程序。這一切的關鍵是什么?足夠的計算能力、充足的網絡帶寬和足夠低的延遲來支持所需的性能。
區塊鏈是構建無懈可擊系統的完美技術嗎?是和不是。..如果您關注媒體,您就會知道使用區塊鏈的加密貨幣系統經常受到損害。但是,如果您深入研究故障,您會發現這些故障是由于人為錯誤和錯誤的實施造成的。實際的區塊鏈算法和協議令人驚訝地強大。這很像加密的其他應用:算法是健壯的,但使用它們的人員、軟件和系統不一定是健壯的。
這些例子展示了區塊鏈技術如何用于構建更強大、更安全的分布式系統,包括那些提供可驗證變化歷史的系統。密碼學是一個強大的工具,具有許多實際應用。
審核編輯:郭婷
-
傳感器
+關注
關注
2548文章
50689瀏覽量
752028 -
控制器
+關注
關注
112文章
16205瀏覽量
177421 -
無人機
+關注
關注
228文章
10343瀏覽量
179643
發布評論請先 登錄
相關推薦
評論