旁通道攻擊(Side-Channel Attack, 簡稱 SCA)是一種不直接破解密碼演算法本身,而是透過觀察加密裝置在執行過程中的物理資訊(例如電力消耗、電磁波、處理時間等)來推測加密金鑰或敏感資料的攻擊手法。 📌 旁通道攻擊的類型 功率分析(Power Analysis) 觀察裝置在運算期間的電力使用情況。 分為: 簡單功率分析(SPA):直接觀察電流波形中的模式來推測資料。 差分功率分析(DPA):收集大量電力波形資料並統計分析,找出加密金鑰。 時間分析(Timing Attack) 根據程式運行時間的長短,來判斷加密過程中發生的條件分支,進而推論密鑰。 電磁波分析(Electromagnetic Analysis) 監聽裝置在運算期間發出的電磁輻射,分析裡面的訊息。 聲音分析(Acoustic Cryptanalysis) 監聽處理器或設備的聲音變化來推測操作內容(罕見但實驗中曾出現)。 記憶體或快取分析(Cache/Memory Attack) 掃描 CPU 快取使用狀況,從中找出加密資料相關的存取行為。 🎯 為何旁通道攻擊危險? 它不需要破解演算法,僅利用實體裝置的行為差異,就能獲取密鑰。 對象通常是像智慧卡、微控制器(如 STM32, AVR, ESP32)等嵌入式裝置。 實作不良的「安全加密」,可能仍被攻破。 🛡️ 防禦方式 時間均衡(Constant-Time Execution) 所有操作耗時一致,避免因條件分支造成時間差。 功率遮罩(Masking) 在加密時加入隨機數或遮罩,使功率特徵與實際資料無關。 硬體保護 增加雜訊、金屬罩、防範測量探針等。 演算法層次加強 使用設計上更能抵抗旁通道的加密架構。