Page 1 of 1

[技術專欄] M2354旁路攻擊防護

Posted: 31 May 2021, 05:46
by NuvotonMarcom
資訊安全,除了仰賴密碼學演算法,也架構在機器本身的防護上,但一般系統晶片在運行時,仍會不經意地透過一些物理特性洩露訊息,這些訊息會透過電壓、電流、電磁波等物理現象傳播到系統晶片外,攻擊者便可以藉由分析這些暴露出來的信息,反向分析出晶片中的秘鑰,這種利用密碼系統運行中所洩露出來的物理資訊,來對系統進行破解的攻擊方式,稱為旁路攻擊。

M2354是新唐科技所研發的一款MCU,用來因應時代對於MCU效能與安全的需要,提供了各種硬體的密碼學算法的加速器與多重的信息保護功能,包括了AES、ECC、RSA、HMAC與高質量不可預測的亂數產生器 (TRNG),更具有專門儲存秘鑰的Key Store,使其在運用於高安全需求的應用中,除具備有極高的效能外,更能有效抵擋攻擊者的入侵與信息竊取,無論這攻擊是來自於網路或是對MCU本身的攻擊。

M2354針對常用的密碼學算法AES、ECC與RSA更加入了旁路攻擊的防護,防止攻擊者從MCU運作中所洩漏的物理資訊,反推系統所使用的秘鑰。
AES的旁路攻擊防護,能夠讓AES在運算過程中,由電源、接地端洩露的資訊量大幅降低,以避免被截取相關資訊來分析出其秘鑰。
除了AES,M2354也提供非對稱加密算法ECC,並也加入了旁路攻擊的防護,以增加攻擊者分析電源、接地端的資訊,來反推秘鑰的困難度。
M2354同時也加入了RSA硬體加速器,也內建了旁路攻擊的防護,避免秘鑰資訊在運算中,透過電源或接地端洩露出去。

以RSA為例,如未加入旁路攻擊防護,其解碼時所使用的秘鑰與其解碼時的電流波形,會有高度的相關性,如下圖所示:
side channel attack RSA.png
side channel attack RSA.png (158.08 KiB) Viewed 2134 times
由上圖可以看出,不同的三把RSA秘鑰,其解碼時的電流波形有顯著的不同,由此可見,RSA運行時的電流波形中,確實明顯蘊藏的跟秘鑰相關資訊,這讓攻擊者能夠輕易地透過分析RSA運作時的電流,反向分析出所使用的秘鑰。

那麼有效的旁路攻擊防護,就必須能夠隱藏RSA在運行中,由電流洩漏出來的秘鑰訊息,由下圖可以看出,在M2354中,打開RSA的旁路攻擊防護功能後,不同秘鑰之間的不同處,並無法明顯的由RSA運行時的電流資訊中分辨出來,由此可見,打開M2354的旁路攻擊防護功能之後,能夠有效的抑制秘鑰資訊,以操作電流的方式洩漏出去。
M2354 side channel attack RSA.png
M2354 side channel attack RSA.png (118.96 KiB) Viewed 2134 times


資訊安全除了仰賴密碼學算法的強度,對系統本身能否有效的防護相關秘鑰被竊取也極其重要。旁路攻擊是一種常見的對系統秘鑰竊取的攻擊方式,因此其防護於完整的資訊安全也是很重要一環,M2354的AES、RSA與ECC密碼學演算法,除了提供硬體的加速器,提供高效能的數據加密外,也各自提供旁路攻擊的防護,除了保護網路傳輸資料的安全,也保護了針對MCU本體的攻擊,真正做到了完整的資訊安全。