區塊鏈物聯網架構 解決哪些安全性議題?
本篇會列舉出 IoT可能面對的安全性議題,並且闡述傳統和區塊鏈架構之間的差別與使用時機。. “區塊鏈物聯網架構: 解決哪些安全性議題?”
Last updated
本篇會列舉出 IoT可能面對的安全性議題,並且闡述傳統和區塊鏈架構之間的差別與使用時機。. “區塊鏈物聯網架構: 解決哪些安全性議題?”
Last updated
本篇會列舉出 IoT可能面對的安全性議題,並且闡述傳統和區塊鏈架構之間的差別與使用時機。
物聯網的興起已經是種趨勢,2022 年全球可能會有20.4 billion物聯網裝置,也因著區塊鏈技術的興起,解決許多傳統必須考慮的安全性議題。尤其在middleware layer、network layer 的攻擊。
在過去物聯網裝置都是直接連上雲端裝置開始,漸漸的使用 fog架構因應同性質裝置的互連。而未來的使用場景即將是不同種類的裝置互連的使用場景。如圖1: Present IoT Architecture。
在未來的使用場景,各類裝置間的互連的需求下,因此在安全性議題也日益重要。本篇將會探討近年提出的「區塊鏈應用於物聯網的架構」,是否可能為未來的主流架構。
Sensor layer: 指的是感測器層
編號 | 攻擊手法 | 說明 |
1 | Node Capturing | 透過惡意節點嘗試取、代控制既有的節點 |
2 | Malicious Code Injection Attack | 埋入惡意程式碼入記憶體,使得節點執行不該執行的或者企圖存取整個IoT系統 |
3 | False Data Injection Attack | 注入錯的資料使裝置看起來像是故障一樣 |
4 | Side-Channel Attacks | 並非直接攻擊節點,而是攻擊環境。ex 電壓... |
5 | Eavesdropping and Interference | 竊聽裝置的資料,如在autth階段、資料傳輸階段 |
6 | Sleep Deprivation Attacks | 企圖耗盡低功率裝置的電池,ex 使用無限迴圈 |
7 | Booting Attacks | 因為低功率裝置會有時常sleep、wakeup。而wakeup是相對比較脆弱的時候,因為大多數軟體都沒跑起來,可趁此時攻擊 |
Network layer: Sensors 與 Middleware layer 中間的網路傳輸過程
編號 | 攻擊手法 | 說明 |
1 | Publishing Site Attack | 釣魚攻擊主要是使用假的網站企圖取得使用者的帳號密碼...等資料 |
2 | Access Attack | 未認證的使用者存取,目的在於偷取資料,而不是去破壞其網路 |
3 | DDoS/DoS Attack | 使用大量的request不斷的發送server. |
4 | Data Transit Attack | 資料若存取在local端容易被搬移至其他地方 |
5 | Routing Attack | 透過重新導向,竊聽使用者的資料。 |
Middleware layer: 作為Middleware 與 Application 的之間溝通層
編號 | 攻擊手法 | 說明 |
1 | Main-in-the-middle Attack | 控制架構中所使用的中間軟體,ex: MQTT |
2 | SQL Injection Attack | 透過一些資料庫操作的關鍵字,間接的操作資料庫 |
3 | DSignature Wrapping Attack | 破解其XML演算法,進而直接修改訊息 |
4 | Cloud Malware Injection | 藉由惡意程式碼,試圖在雲端啟同樣的惡意服務,以取得敏感的資料 |
5 | Flooding Attack in Cloud | 類似DDoS,使用無意義的request,攻擊其服務 |
Gateway: 作為network與sensor之間的橋樑
編號 | 攻擊手法 | 說明 |
1 | Secure on-boarding | 藉由Gateway去竊聽加密的key |
2 | Extra Interfacces | 透過額外的存取界面入侵Gateway |
3 | End-to-End Encryption | 資料在傳輸的時候,GW需要解譯是哪種協定而需要再加解密,因此此時容易被竊取資料 |
4 | Firmware updates | 裝置韌體更新通常是透過GW下載,然而當下載錯誤的韌體則會使得所有裝置被控制 |
Application layer: 指的是應用場景
編號 | 攻擊手法 | 說明 |
1 | Secure on-boarding | 藉由Gateway去竊聽加密的key |
2 | Extra Interfacces | 透過額外的存取界面入侵Gateway |
3 | End-to-End Encryption | 資料在傳輸的時候,GW需要解譯是哪種協定而需要再加解密,因此此時容易被竊取資料 |
4 | Firmware updates | 裝置韌體更新通常是透過GW下載,然而當下載錯誤的韌體則會使得所有裝置被控制 |
Fog 的概念很像是Cloud,在這個架構中,所有的device 不會直接上雲,而是透過Fog再把資料傳上雲。而Fog主要提供的服務就是雲的服務,但只是為了管理方便多了Fog當中繼。
Pros:
防止資料被攔截、減少cloud 負擔(只將必要的資料上傳cloud)
加速device處理的速度: 相對於cloud,fog更貼近device減少對device的延遲。
Cons:
集中化的架構: 集中化的架構會有 A single point of failure 問題
在傳統架構中,裝置不會直接連上cloud,反而是在中間建立fog服務,提供原本在cloud所提供的服務。為的就是減少cloud被攻擊的風險,但原本存在的攻擊問題還是需要被防範,而無法因為採用該架構就能防範攻擊。
IoT with Blockchain Architecture
Blockchain 是透過分散式帳本的技術進行同步資料。其中該技術的特點是帳本的節點數夠多的時候,幾乎可以確保鏈上的資料不會被竄改。這種架構就是將裝置與區塊鏈連接,選擇性的將資料存放在鏈上,使得每一台裝置都自動的同步資料與達到真分散式架構
Pros:
資料可以以區塊鍊作為儲存的中心,並在節點數量夠的情況下保證其安全
避免未被認證的使用者存取
取代中心化的服務,以去中心化
Cons:
成本花費很高: 需要足夠多的節點才能達到一定的安全性。
吞吐量: 已比特幣為例,一秒鐘的交易吞吐量只有10筆
手續費: 若是選擇公有鏈來部屬的話,每一筆資料的read/write都需要成本(錢)
在區塊鏈的應用場域中,根據其天生的機制防範住 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.