區塊鏈物聯網架構: 解決哪些安全性議題?

jerry.wang
微風飛翔
Published in
Mar 7, 2021

本篇會列舉出 IoT可能面對的安全性議題,並且闡述傳統和區塊鏈架構之間的差別與使用時機。

物聯網的興起已經是種趨勢,2022 年全球可能會有20.4 billion物聯網裝置,也因著區塊鏈技術的興起,解決許多傳統必須考慮的安全性議題。尤其在middleware layer、network layer 的攻擊。

在過去物聯網裝置都是直接連上雲端裝置開始,漸漸的使用 fog架構因應同性質裝置的互連。而未來的使用場景即將是不同種類的裝置互連的使用場景。如圖1: Present IoT Architecture。

圖1: Present IoT Architecture

在未來的使用場景,各類裝置間的互連的需求下,因此在安全性議題也日益重要。本篇將會探討近年提出的「區塊鏈應用於物聯網的架構」,是否可能為未來的主流架構。

IoT 架構面臨的安全性挑戰 (如下圖2: Types of attacks on IoT)

圖2: Types of attacks on IoT
  • Sensing layer: 指的是感測器層
  • Network layer: Sensors 與 Middleware layer 中間的網路傳輸過程
  • Middleware layer: 作為Middleware 與 Application 的之間溝通層
  • Gateway: 作為network與sensor之間的橋樑
  • Application layer: 指的是應用場景

IoT 傳統架構- Fog Computing

Fog 的概念很像是Cloud,在這個架構中,所有的device 不會直接上雲,而是透過Fog再把資料傳上雲。而Fog主要提供的服務就是雲的服務,但只是為了管理方便多了Fog當中繼。

圖3: IoT with Fog Computing

Pros:

  1. 防止資料被攔截、減少cloud 負擔(只將必要的資料上傳cloud)
  2. 加速device處理的速度: 相對於cloud,fog更貼近device減少對device的延遲。

Cons:

  1. 集中化的架構: 集中化的架構會有 A single point of failure 問題

傳統架構應用於IoT場域

在傳統架構中,裝置不會直接連上cloud,反而是在中間建立fog服務,提供原本在cloud所提供的服務。為的就是減少cloud被攻擊的風險,但原本存在的攻擊問題還是需要被防範,而無法因為採用該架構就能防範攻擊。

  • IoT with Blockchain Architecture

Blockchain 是透過分散式帳本的技術進行同步資料。其中該技術的特點是帳本的節點數夠多的時候,幾乎可以確保鏈上的資料不會被竄改。這種架構就是將裝置與區塊鏈連接,選擇性的將資料存放在鏈上,使得每一台裝置都自動的同步資料與達到真分散式架構

圖2: IoT with Blockchain Architecture

Pros:

  1. 資料可以以區塊鍊作為儲存的中心,並在節點數量夠的情況下保證其安全
  2. 避免未被認證的使用者存取
  3. 取代中心化的服務,以去中心化

Cons:

  1. 成本花費很高: 需要足夠多的節點才能達到一定的安全性。
  2. 吞吐量: 已比特幣為例,一秒鐘的交易吞吐量只有10筆
  3. 手續費: 若是選擇公有鏈來部屬的話,每一筆資料的read/write都需要成本(錢)

區塊鏈應用於IoT場域

在區塊鏈的應用場域中,根據其天生的機制防範住 Middleware、Network層的攻擊,基於於區塊鏈分散式帳本的機制,需要透過共識演算法驗證資料的正確性,以及區塊鏈本身鏈結的設計使得上鏈的資料基本上不可能被竄改。

然而也因為這一點的安全性優勢,也有些副作用。因為需要透過共識演算法驗證資料的正確性與不被竄改性,犧牲的是效能與成本。為了有夠多的分散式節點用以同步資料,因此有一套獎勵機制鼓勵外部節點加入,俗稱挖礦機制。

總結

區塊鏈的應用實際上的確可以防範很大一部份的安全性問題,同時所付出的成本也比較多。如: 吞吐量低、節點間資料同步成本…等。而傳統架構雖然需要面對的問題很多,可是並沒有吞吐量低、節點間資料同步成本…等問題。因此選用的關鍵點在於資料的價值,若是價值夠高則可考慮採用區塊鏈的方式,反之則傳統的就很適用了。

參考資料

[1] Hassija, Vikas, et al. “A survey on IoT security: application areas, security threats, and solution architectures.” IEEE Access 7 (2019): 82721–82743.

--

--