也許以加密貨幣而聞名,區(qū)塊鏈技術(shù)也可以成為嵌入式系統(tǒng)的強(qiáng)大工具。暫時(shí)擱置比特幣,考慮一下區(qū)塊鏈提供了什么:跨分布式系統(tǒng)的經(jīng)過(guò)驗(yàn)證的、不可變的操作記錄,具有強(qiáng)大的安全功能。如果需要,可以對(duì)區(qū)塊鏈的實(shí)際內(nèi)容進(jìn)行加密 - 提供保密性和完整性。
這些功能可以通過(guò)多種方式使用。它們的范圍從收集傳感器數(shù)據(jù)的可靠方法到構(gòu)建更安全的命令和控制系統(tǒng),即使在存在系統(tǒng)故障、通信降級(jí)以及邊界內(nèi)受損或敵對(duì)節(jié)點(diǎn)的情況下也能正常工作。
雖然區(qū)塊鏈可以使用標(biāo)準(zhǔn)化框架(如Hyperledger或Ethereum)實(shí)現(xiàn),但它也可以使用自定義系統(tǒng)來(lái)實(shí)現(xiàn)以滿足特定需求。嵌入式系統(tǒng)可能會(huì)使用自定義區(qū)塊鏈實(shí)現(xiàn)來(lái)滿足這些系統(tǒng)的功能、性能和功能要求。
區(qū)塊鏈和鏈
在最基本的層面上,區(qū)塊鏈由兩個(gè)部分組成:塊,它是一組數(shù)據(jù),鏈?zhǔn)乔耙粋€(gè)區(qū)塊中數(shù)據(jù)的哈希,用于建立塊之間的鏈接。任何修改塊的嘗試都將更改該塊的哈希值,與下一個(gè)塊中記錄的哈希值相比,會(huì)產(chǎn)生驗(yàn)證失敗。您可以通過(guò)讀取每個(gè)塊并根據(jù)下一個(gè)塊對(duì)其進(jìn)行驗(yàn)證來(lái)跟蹤區(qū)塊鏈的整個(gè)歷史記錄。
雖然一個(gè)塊可以包含單個(gè)數(shù)據(jù)片段,但為了提高效率,通常將幾條數(shù)據(jù)放置在單個(gè)塊中。除了保存數(shù)據(jù)之外,區(qū)塊鏈的一個(gè)特殊優(yōu)勢(shì)是它可以處理交易——數(shù)據(jù)狀態(tài)的變化。區(qū)塊鏈為在分布式環(huán)境中處理交易提供了一種優(yōu)雅的方法——即使在不受信任的環(huán)境中和不安全的傳輸中也是如此。
區(qū)塊鏈系統(tǒng)由幾個(gè)組件組成。它包括旨在創(chuàng)建和提交數(shù)據(jù)或交易的系統(tǒng);按順序處理事務(wù)的序列化服務(wù)器;驗(yàn)證交易并創(chuàng)建要添加到區(qū)塊鏈的官方區(qū)塊的驗(yàn)證服務(wù)器;以及已驗(yàn)證區(qū)塊的分配機(jī)制。
區(qū)塊鏈在行動(dòng)
考慮一個(gè)受污染地點(diǎn)的例子,例如科德角的前軍事基地。在這里,數(shù)十年的燃料泄漏和彈藥測(cè)試污染了正在修復(fù)的土壤和地下水。
在一般情況下,地下水和空氣可能由100個(gè)傳感器監(jiān)測(cè),并且可能有一個(gè)過(guò)濾系統(tǒng),其流速可以每分鐘改變一次。土地所有者(造成污染的人)、環(huán)保組織、政府監(jiān)督機(jī)構(gòu)和進(jìn)行補(bǔ)救的公司都在密切關(guān)注。各方都希望訪問(wèn)數(shù)據(jù)、數(shù)據(jù)的永久記錄以及數(shù)據(jù)有效性的證明。由于這些團(tuán)體有相反的觀點(diǎn),因此對(duì)能夠證明記錄沒(méi)有被篡改有濃厚的興趣。假設(shè) 100 個(gè)傳感器全部聯(lián)網(wǎng),每分鐘報(bào)告一次。有一個(gè)監(jiān)控網(wǎng)關(guān),用于收集和連接傳感器數(shù)據(jù),過(guò)濾系統(tǒng)的命令流經(jīng)網(wǎng)關(guān)。
每個(gè)傳感器獲取當(dāng)前值、傳感器標(biāo)識(shí)符和時(shí)間戳,使用傳感器私鑰將它們連接并散列,并使用 MQTT [消息隊(duì)列遙測(cè)傳輸] 等協(xié)議將這四個(gè)數(shù)據(jù)元素發(fā)送到網(wǎng)關(guān)。每個(gè)傳感器都需要具有唯一的標(biāo)識(shí)和私鑰;這些可以在制造過(guò)程中進(jìn)行硬編碼,閃存到固件中,或者在將每個(gè)傳感器配置到系統(tǒng)中時(shí)分配。
網(wǎng)關(guān)將來(lái)自多個(gè)傳感器的傳感器數(shù)據(jù)合并到一個(gè)塊中,為塊添加時(shí)間戳,使用其私鑰對(duì)塊進(jìn)行哈希處理,并將此組合塊發(fā)送到后端系統(tǒng),可能在云中運(yùn)行。強(qiáng)大的通信可以通過(guò)更高級(jí)的消息傳遞系統(tǒng)來(lái)實(shí)現(xiàn),例如AMQP [高級(jí)消息隊(duì)列協(xié)議],它集成到后端系統(tǒng)上運(yùn)行的復(fù)雜應(yīng)用程序中。
此時(shí),驗(yàn)證服務(wù)器將驗(yàn)證原始區(qū)塊鏈數(shù)據(jù),可能使用特定應(yīng)用程序的自定義代碼。驗(yàn)證服務(wù)器可以驗(yàn)證數(shù)據(jù)在傳輸過(guò)程中是否未被修改,并可以應(yīng)用其他檢查。
可以使用單個(gè)驗(yàn)證服務(wù)器或多個(gè)驗(yàn)證服務(wù)器。您可能希望擁有兩臺(tái)驗(yàn)證服務(wù)器(可能位于修復(fù)公司和政府機(jī)構(gòu)),并要求兩臺(tái)服務(wù)器在發(fā)布?jí)K之前對(duì)其進(jìn)行驗(yàn)證。驗(yàn)證服務(wù)器使用加密哈希及其私鑰對(duì)塊進(jìn)行簽名。
一旦數(shù)據(jù)塊經(jīng)過(guò)驗(yàn)證,副本就會(huì)發(fā)送給所有相關(guān)方。結(jié)果是每個(gè)實(shí)體都有自己的數(shù)據(jù)副本,他們可以獨(dú)立驗(yàn)證數(shù)據(jù)的來(lái)源,并且沒(méi)有記錄被修改或篡改。
密碼學(xué)關(guān)注
使用密碼學(xué)的一個(gè)問(wèn)題是計(jì)算要求。所使用的加密可以滿足需求。例如,傳感器可以使用簡(jiǎn)單的哈希算法,如SHA-1。雖然 SHA-1 被認(rèn)為是不安全的,但它可能仍然適用于此用例。網(wǎng)關(guān)將使用更安全的算法,例如 SHA-256。驗(yàn)證服務(wù)器也可能使用 SHA-256,但在專用 HSM(硬件安全模塊)中執(zhí)行簽名操作。
審核編輯:郭婷
-
傳感器
+關(guān)注
關(guān)注
2551文章
51169瀏覽量
754185 -
嵌入式
+關(guān)注
關(guān)注
5085文章
19138瀏覽量
305723
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論