1. 功能及应用场景介绍
“Tamper” 检测功能存在于 STM32 芯片各个系列中,其主要应用场景为: 安全/机密应用场景下的物理破坏检测,且在入侵发生时可自动清空敏感数据
其功能特性总结如下:
- 支持过滤的多种类型 Tamper 事件输入(外部 GPIO PIN 中断 或 内部某些事件)
- 提供一定数量的 Backup Registers 或 Backup SRAM 用于存储敏感数据
- Backup Registers、Backup SRAM 数据在 VDD 失效或系统重置时不会丢失(需要 VBAT 工作),但在检测到 Tamper 事件时自动清空该数据
- 检测到任意 Tamper 事件时, RTC 时钟可产生一个 Timestamp 事件
- 在主要外设关闭情况下,以极低功耗运行(VBAT 备用电池供电,stand by、sleep 等模式下,仅保留一个低速外部时钟,Cortex 核以及大部分外设被关闭)
2. 比 GPIO 外部中断 (EXTI) 方案有哪些优劣?
-
优势:
- EXTI 需要 GPIO 口时钟和 Cortex 核心正常工作,无法实现极低功耗下的破坏检测;
- 硬件支持的 Tamper 特性可以保证 Backup Registers 和 Backup SRAM 在事件发生时及时被清空,比软件实现更靠谱
-
劣势
- 需要 VBAT 脚通过电池供电
3. 参考资料
- STM32 Backup Registers/SRAM 读写
- RM0368: STM32F401xB/C and STM32F401xD/E advanced Arm®-based 32-bit MCUs
- Youtube: Security Part3 - STM32 Security features - 21 - Tamper theory
- Youtube: Security Part3 - STM32 Security features - 22 - Tamper lab
- STM32MP1-Security-Tamper_TAMP.pdf
- STM32G0-System-Tamper-and-backup-registers-TAMP.pdf
《STM32 Anti-Tamper 功能调研》有1个想法