diff --git a/08-Security_Upgrade/README.md b/08-Security_Upgrade/README.md index 96d3ba8..6dd5618 100644 --- a/08-Security_Upgrade/README.md +++ b/08-Security_Upgrade/README.md @@ -148,6 +148,7 @@ void ConfigureMPU(void) { ``` 2. TrustZone 安全域隔离 - 安全资产分类: + | 类别 | 示例 | 存储位置 | |------------|------------------------------|------------------| | 密钥 | TLS 私钥、加密密钥 | 安全 SRAM | @@ -364,19 +365,19 @@ bool ConstantTimeCompare(const uint8_t *a, const uint8_t *b, size_t len) { ``` ### 面试高频问题 -1. 安全启动与普通启动的区别: +#### 安全启动与普通启动的区别: 安全启动通过数字签名验证每个启动阶段的代码,确保只运行可信固件;普通启动无条件执行存储的代码。 -2. 如何实现 OTA 升级的原子性: +#### 如何实现 OTA 升级的原子性: 使用双分区设计,升级前备份当前固件,验证新固件通过后再擦除旧固件;设置标志位记录升级状态,异常时可回滚。 -3. TLS 握手过程中客户端如何验证服务器证书: +#### TLS 握手过程中客户端如何验证服务器证书: 客户端使用内置根证书验证服务器证书的签名链,检查证书有效期、域名匹配和吊销状态。 -4. MPU 与 TrustZone 的区别: +#### MPU 与 TrustZone 的区别: MPU 提供内存区域访问控制,保护不同数据段;TrustZone 在硬件层面划分安全 / 非安全区域,实现更彻底的隔离。