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