嵌入式平台防刷机原理说明

嵌入式平台防刷机原理说明

1. 前言

防刷机方案帮助厂商控制产品上运行固件的安全性,任何没有厂商授权的固件(bootloader/kernel/android),都无法在产品上运行。

Secure boot实现的技术目的 :

建立完整trust chain,保证android设备加载的Kernel 和Android系统不被篡改。

防止rootkit、bootkit等软件对系统的攻击。

2. 硬件支持

硬件模块Secure Brom ,efuse 和crypto engine,为验证过程提供了IC内部支持。

(1)Secure Srom

是安全芯片内部一段电路逻辑,它会在芯片每次启动时被执行,它配合efuse存储的rsa public key,验证外部存储设备(Nand /Emmc)上的bootloader 完整性。Secure Brom的不可被修改性和强制执行,保证了整个安全启动过程。

(2)Efuse

帮助存储验证使用到的Root RSA public key。每个厂商保存自己的Root rsa private key,在量产时候将对应Root rsa public key刷入到芯片efuse指定区域。Efuse只能一次写入的特性,决定了芯片在量产刷写后,芯片Root rsa public key就被厂商所控制 ,永远不会被第三方修改。而掌握了Root rsa key的厂商,就掌握了芯片固件的控制权。

(3)Crypto engine

提供给固件验证算法支持和加速。目前使用到的硬件加速算法是RSA 非对称解密算法和 SHA数字摘要算法

3. Secure Boot 说明

Secure Boot启动过程中的boot代码完整性验证方法和启动顺序,secure boot从Secure Brom执行开始,到Android启动结束。下图描述了Secure Boot启动过程。

启动流程说明:

BRom 加载的Bootloader 代码, 验证其合法性后,跳转到Bootloader执行。

Bootloader验证和加载u-boot代码,跳转执行u-boot代码。

u-boot 先执行通用启动功能,包括调压调频,电源管理等,然后验证和加载boot.img ( kernel and ramdisk ), 验证完成后,cpu从u-boot跳转到kernel执行。

Kernel 首先运行内核子系统,设备驱动等,内核初始化完成后,运行android init 脚本,验证并加载android 系统。

android系统验证结束后,整个系统的启动流程结束

相关推荐

王者荣耀:花木兰沉默口诀,打出最炫光速沉默
365登录平台

王者荣耀:花木兰沉默口诀,打出最炫光速沉默

📅 09-07 👁️ 8329
新浪微博文章转发到qq空间的方法
365登录平台

新浪微博文章转发到qq空间的方法

📅 08-29 👁️ 2186
京东E卡在哪里购买更优惠省钱?
365bet正网娱乐

京东E卡在哪里购买更优惠省钱?

📅 12-09 👁️ 6892
东铼科技股份有限公司
365登录平台

东铼科技股份有限公司

📅 10-03 👁️ 8940
如何在 Windows 11 上删除主题(更改或删除它)
365登录平台

如何在 Windows 11 上删除主题(更改或删除它)

📅 07-31 👁️ 3786
苹果6p换屏大概多少钱一个
365登录平台

苹果6p换屏大概多少钱一个

📅 09-09 👁️ 498