面试必问 | 几个系统安全问题

简要说说几个系统安全概念

Secure Boot的设计和实现

Secure Boot是一种安全启动机制,旨在确保设备在启动时加载的固件和软件是可信的,未被篡改。其设计和实现通常涉及以下几个关键步骤:

  1. 硬件支持:某些系统芯片(SoC)集成了efuse(一次性可编程熔丝技术)作为OTP(一次性可编程)存储器,用于存储关键的验证数据。
  2. 密钥和证书管理
    • 生成签名密钥对,包括公钥和私钥。
    • 使用私钥对固件进行签名,生成签名文件。
    • 将公钥(或其哈希值)存储在efuse中,以便在启动时验证固件的签名。
  3. 固件签名:固件在发布前会被签名,签名过程中会计算固件的哈希值,并使用私钥对哈希值进行加密,生成签名。签名后的固件包含原始固件、签名(加密的固件哈希值)和证书(公钥)。
  4. 启动验证:设备启动时,会从efuse中读取公钥(或其哈希值),验证固件的签名。如果签名验证通过,固件被认为是可信的,设备将继续启动;否则,启动过程将被阻止。

Secure Boot的实现还依赖于非对称加密算法(如RSA)和哈希算法(如SHA)来确保签名的安全性和完整性。

TA对CA的鉴权

实际上,TA(Trusted Application)并不直接对CA(Client Application)进行鉴权。TA主要关注于执行特定的安全任务,并确保其处理的数据和操作是安全的。而CA与TA之间的交互通常是通过TEE(Trusted Execution Environment)提供的接口进行的,TEE负责确保这种交互的安全性。

在某些情况下,如果需要验证CA的身份或权限,这通常是通过TEE中的安全策略或数字证书来实现的,而不是由TA直接完成。

CA到TA的调用流程

CA到TA的调用流程通常涉及以下几个步骤:

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

ARM/Linux嵌入式真题 文章被收录于专栏

让实战与真题助你offer满天飞!!! 每周更新!!! 励志做最全ARM/Linux嵌入式面试必考必会的题库。 励志讲清每一个知识点,找到每个问题最好的答案。 让你学懂,掌握,融会贯通。 因为技术知识工作中也会用到,所以踏实学习哦!!!

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务