天天看點

物聯網安全與區塊鍊

版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/79442462

即使一個經驗豐富的工程師,對于裝置的完整性、資料保護和裝置管理, DIY安全也不會得到保證,近來物聯網裝置的應用讓這一觀點變得痛苦而清晰。2017年底,有超過50億的藍牙裝置被發現容易受到 BlueBorne 惡意軟體的攻擊。 打開藍牙裝置, 黑客可以注入惡意代碼, 在某些情況下, 可以攔截進出 Windows PC 的網絡流量, 并随意修改。

這不是一個孤立的事件, 搜尋一下就會發現幾十起類似的攻擊事件。

由于制造商讓物聯網裝置容易受到預設密碼和不必要開放端口的影響, 這些裝置可以被用來攻擊整個物聯網堆棧。 這就是物聯網安全攻擊如此嚴重的原因: 犯罪者不僅可以竊取資料和關閉服務, 而且會對裝置和使用者造成損害。

當然, 設計者可以下載下傳一些開源傳輸和加密代碼, 并将其連接配接到應用程式中,但這也不可避免地導緻了黑客能夠找到相關的安全漏洞。

盡管現有的商業安全平台并沒有完全消除安全風險, 但它們确實會減少安全風險。 為了實作最佳的安全性, 這些解決方案必須無縫地內建到一個平台中, 而不是在一個設計完工的時候進行加鎖。

物聯網安全與傳統安全

物聯網安全和傳統的安全措施之間有一些關鍵的差別。 傳統的安全性假定它可以控制對孤立網絡的裝置和資料的通路, 這兩種網絡都存在于已定義的實體環境中。

保護這些裝置和資料的解決方案在端點上需要相當大的計算能力, 例如防病毒軟體、防火牆和入侵檢測 / 防禦系統(IDS / IPS)。 如果需要安全更新, 那麼就很容易下載下傳和安裝裝置上的最新更新檔。

另一方面, 物聯網安全更像是荒野。 裝置通常生活在相對開放的網絡上, 通常是在實體上沒有保護的區域。 尤其是對于電池驅動的便攜式裝置而言,計算能力更加有限,釋出軟體更新的能力也是如此。 物聯網系統的終端可能很少或者根本沒有安全軟體的空間。

是以, 物聯網安全必須在邊緣裝置進行通信之前進行身份驗證, 并保護從終端裝置到雲端的資料。 這意味着安全必須在裝置裝載之前被植入, 而不是一旦裝置到達工作現場就會啟動。

内部的缺點, DIY 安全

為了更好地了解物聯網安全的艱巨性, 可以考慮一下典型的系統架構:

  • 裝置側: 由物聯網裝置、應用程式、資料和連接配接到網絡交換機 / 網關
  • 網絡交換機 / 網關: 包括網絡交換機 / 網關、路由軟體和其他應用程式, 以及與裝置端和雲的通信
  • 雲: 包括伺服器基礎設施、存儲資料、本機應用程式, 也許包括對硬體安全子產品(HSMs)的通路, 以及向網絡交換機 / 網關或裝置的雙向通信機制

為了在内部開發物聯網安全的解決方案, 解決這些領域的每一個問題, 設計團隊必須在應用範圍、時間和成本之間進行權衡。 建構此類解決方案的元件通常依賴于内部開發和開源社群, 如 ssl / tls、 OpenSSH、 OpenVAS、 AES、 TrueCrypt 等等。

不幸的是, 在許多情況下, 這些元件是在物聯網存在多年前就已經開發出來的。 他們通常不認為物聯網超越了防火牆, 而且在許多情況下超越了所有的保護, 因為物聯網裝置來自野外的電線杆和其他結構等等。 這為黑客攻擊創造了許多不可預見的機會(圖1)。

 圖1. SSL的注多漏洞。 來源:Centri Technology 

對于由多個裝置、服務和軟體組成的物聯網系統選擇一個安全解決方案不是一件容易的事。 首先, 它可能導緻一個缺乏內建的龐大安全解決方案組合。 每個點必須單獨管理, 這增加了工程支援的負擔。

單點的解決方案也難以彼此共享資料, 導緻對安全性的看法分散, 威脅檢測受到限制。 增加的複雜性還會産生沖突, 因為新的應用程式和服務必須與一系列專業技術相容, 每一種都有自己的 API、政策和需求。

錯誤的安全選擇對靈活性和上市時間的影響可能很大。 建立緊密內建的物聯網安全解決方案可能以年為機關,而不是以普通的工作時間來衡量的。

綜合安全辦法

Centri物聯網進階安全平台的目标是設計者從一開始就希望整合安全(圖2)。 該平台允許開發者将基于标準的加密和進階密碼內建到物聯網解決方案堆棧中, 包括從晶片到雲的安全通信, 資料處理的保護, 以及資料驗證的管理控制台。

  • 安全通信端點: 允許開發人員在物聯網應用程式中使用輕量級的安全通信庫或裝置軟體堆棧中的代理用戶端在物聯網應用程式中加入裝置端安全性。 它與安全通信服務一起使用, 以確定資料在雲中移動;
  • 資料保護工具: 輕量級的資料保護庫可以從物聯網應用程式中調用, 使用一個 API 來加密資料, 然後才能進入裝置或者是存儲
  • 安全通信服務: 這個工具運作在現有的應用伺服器上, 為雲基礎設施提供安全性

     圖2  Centri IoTAS 提供端到端的保護。 來源:Centri Technology 

特别地, CENTRI 安全通信庫和安全通信服務有助于促進物聯網裝置和雲基礎設施之間的即時加密。 這減少了複雜證書管理方案的複雜性, 并消除了使用第三方證書授權(CA)解決方案的必要性。 該系統還采用一種無保險庫密鑰管理技術, 在資料中嵌入加密的密鑰資訊。 是以, 不需要 HSMs 或第三方密鑰存儲機制。

智能緩存和資料壓縮技術有助于将安全開銷降低到隻使用1%  CPU , 使平台能夠适合資源有限的物聯網裝置。 Centri IoTAS 的每個元件允許有經驗的開發人員在一天内将這些技術內建到應用程式代碼中。

許多第三方商業安全解決方案比 DIY 替代品提供了更大的保護, 在設計的後期階段, DIY也會增加大量的成本和管理開銷。 一個更好的選擇是盡早在端和雲端安裝安全解決方案。 這既降低了裝置攻擊和資料洩露的風險, 也減少了進入市場的時間。

既然物聯網安全是個棘手的問題, 僅保證個人裝置的安全是不夠的, 還必須保護裝置在現場使用嵌入式和 IT 系統的連接配接。鑒于物聯網安全的内嵌性,使得區塊鍊在該領域的應用成為可能,但是這種技術很難在已有系統中實作。 為了解決這個問題, 像 SPARKL 這樣的公司已經建立了解決方案, 即便是該網絡包含不可信的裝置,仍允許新的區塊鍊裝置與現有的端到端安全裝置進行互動操作。 

從比特币到 區塊鍊

了解區塊鍊往往是從比特币開始的, 比特币是一種數字密碼貨币, 它依賴于塊環鍊來維護以前的交易記錄。區塊鍊這個術語在狹義和廣義上都被使用。 狹義地說, 它指的是比特币用于建立、維護和保護自己交易記錄的具體實作。

更廣泛地說, 區塊鍊指的是利用分布式分類賬來確定和維護任何利益攸關方或授權個人均可使用的交易分類賬。 有時"互相配置設定的分類賬"(MDL)與區塊鍊互換使用, 但這兩個術語并不完全相同。 每個區塊鍊都是一個分布的分類賬, 也就是說, 每個區塊鍊鍊都是一個獨立的、透明的、永久的資料庫, 可以同時存在于多個地點, 但并不是所有的 MDL都是區塊鍊。

在最簡單的層面上, 區塊鍊是一個持續的交易分類賬。 每組事務(稱為塊)都是安全加密的, 其與以前事務的連結都被驗證。

想象一下一連串的塊, 每一個都連結到前一個區塊, 這個"區塊鍊"的名字就變得清晰起來: 它是對事務記錄如何存儲和驗證的文字描述, 用時間戳資訊和用密碼加密的方式将資料記錄到每個塊中。 因為每個新塊的哈希部分是基于其前面所有塊的哈希, 是以隻有在大多數參與者同意的情況下, 才允許修改或修改區塊鍊, 而且隻有在大多數參與者同意的情況下, 才允許修改記錄(如果允許的話)。

區塊鍊的早期物聯網應用

英特爾在一年前宣布了自己的塊環鍊平台, 已經建立了一些示範, 說明區塊鍊和物聯網如何在海鮮通過供應鍊中用于跟蹤的(圖1)。

圖3 使用區塊鍊技術監測從捕獲到最終購買的海鮮

供應商或買方通過其銷售網絡對産品進行監測, 大大提高了其快速、明确地确定任何受污染食物來源的能力, 或查明在任何特定時間點誰擁有産品的保管權。 如果出現産品召回或污染問題, 以塊環鍊為基礎的分類賬将使公司能夠确定哪些産品是從哪些商店出售的, 并且可以接觸到購買這些産品的客戶。

區塊鍊技術也被評估為一種確定物聯網安全的方法, 通過賦予實體産品一個獨特的身份, 以確定每個特定裝置的真實性。 目前, 物聯網裝置是由集中的伺服器控制的, 這使得它們容易受到攻擊。 區塊鍊技術的分散性可以減輕目前物聯網裝置存在的風險, 并有助于確定仍在開發中的産品。

物聯網區塊鍊的部署問題

塊環鍊技術有可能解決物聯網世界中的安全問題, 但隻能在正确實施的情況下才能成功。 開發者必須了解客戶的需求, 客戶之前為滿足這些需求而采取了哪些解決方案, 以前的解決方案成功或失敗的程度, 以及在任何給定環境中的各種利益相關者。

例如, 當部署一個物聯網傳感器網絡以監測倉庫溫度時, 誰需要通路該日志以確定環境保持在适當的溫度? 如果超過了溫度門檻值, 誰應該接收警報, 物聯網解決方案是否能夠調整房間的溫度, 或者應該限于發出警告?

區塊鍊技術并不是靈丹妙藥,如果這個問題沒有得到很好的闡述和限制, 它不能自動地提供一個問題的解決方案。

一些遺留的嵌入式系統需要能夠與基于區塊鍊的物聯網産品進行互動, 而另一些系統可能需要更新或更換。 開發者将不得不應對從一個集中的伺服器基礎設施轉變為一個分布式模型, 這種模型能夠處理來自幾十個, 幾百個, 甚至上千個裝置的接入。 如果要使這些實作能夠成功, 就需要靈活且可伸縮的解決方案。

看一下現有的參考實作,  SPARKL 以其獨特的能力, 将遺留系統與人工智能、區塊鍊支援的政策和複雜的控制系統聯系了起來。

什麼是 SPARKL?

SPARKL由兩個關鍵元件組成:  測序引擎和 Clear Box 配置系統。 Clear Box 被設計成可以同時與多個系統互動操作, 并提供了一個單一的通路點, 開發人員需要系統工作的所有資訊, 即使這些系統通常不互相通信。

Clear Box 具有靈活性, 可以同時支援多個區塊鍊實作, 也可以調用第三方服務或應用程式(圖2)。 它還允許對許可設定進行細粒度的設定, 以確定隻有被清除的使用者才能通路某些資料集。

圖4 如何能夠與外部系統和區塊鍊節點齧合

這種靈活性解決了在物聯網裝置和區塊鍊技術在部署時的一個主要問題, 減少物聯網與遺留系統結合起來的難度。 試圖實作一個全新的控制系統, 其中包含一套統一的硬體和軟體解決方案, 這些解決方案能夠解決每一個單一用例, Clear Box 和 SPARKL 測序引擎可以通過原有的解決方案進行通信, 從這些多重源收集資料, 并執行終端使用者定義的任何指令。 Clear Box 是定義政策或行為的解決方案, SPARKL 排序引擎則在整個系統中驅動這些政策和行為。

Sparkl 已經釋出了一個PoV , 展示了區塊鍊鍊技術及其自身服務如何可以用來為再保險市場建立智能合約。 Sparkl 與多個分布式分類賬項目相容, 包括 BigchainDB、 HyperLedger 和英特爾 Sawtooth Lake, 後者用于再保險編制(圖3)。

 圖5  SPARKL 的智能合約體系建立在 Sawtooth Lake上, 旨在滿足所有利益相關者在整個過程中的需求

Sawtooth Lake 也是一個子產品化分布式平台, 旨在滿足多樣性和可伸縮性, 支援廣泛的共識模型。 在這方面, 協商一緻指的是在互相不信任的制度之間達成協定的程序。目标是通過透明的方式記錄交易,制定一套可以解釋參與者之間不同的信任關系、遺留系統和非遺留系統之間的接口、支援全面的自動化工作流程以及以所有各方都能看到的方式。 為了有效發揮作用, 必須能夠評估複雜的條件,  應用于任何政策限制, 計算和處理溢價支付, 并使交易分類賬與上述每一個步驟進行适當的更新。

這個過程的結果不是在基礎設施上貼一個Ok繃,如果執行得當, SPARKL 可以用來連接配接遺留系統和前沿系統, 建立新的基于塊環鍊的智能合約和政策, 使合同執行能夠自動化, 同時為所有利益相關這提供儲存記錄和監管所需的檔案。

原文參考:

https://www.insight.tech/industrial/iot-security-must-be-baked-in-not-bolted-on

https://www.insight.tech/network/beyond-bitcoin-how-blockchains-secure-the-iot

繼續閱讀