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