Encryption
對於硬體加密,是否可以通過分析硬體來知道密鑰?
例如,Square 讀卡器在刷信用卡時使用硬體加密。
是否可以通過分析硬體電路知道硬體加密密碼使用的密鑰?
密鑰必須在硬體的某個地方,對吧?
這真的取決於設備。通常有一個完整的、分層的、密鑰管理方案。這可能涉及 ROM 中的一個密鑰,但這只是用於載入持久記憶體中更高層的下一個密鑰(主要是快閃記憶體或 EEPROM)。最後,會話密鑰在瞬態記憶體 (RAM) 中生成。
如果您在 ROM 中找到一個密鑰,則很有可能該密鑰僅用於載入初始軟體。實際加密(信用卡)數據的密鑰可能在某個地方的 EEPROM 中,可能使用軟體中的靜態密鑰加密。
“硬體加密”通常是指加密算法本身就在晶片中。這使得它們不太容易受到側通道和故障注入攻擊。它通常也會帶來很大的性能提升;8 位和 16 位 CPU 對於像 AES 這樣的分組密碼效率不是很高。
然而,有時密鑰庫是使用硬體實現的。保護該密鑰庫中數據的密鑰可能在 ROM 中。