当前位置: 首页 > news >正文

Linux嵌入式平台安全启动理解介绍

一、意义


        安全启动可以防止未授权的或是进行恶意篡改的软件在系统上运行,是系统安全的保护石,每一级的前一个镜像会对该镜像进行校验。

1.1 安全启动原理介绍

 
通过数字签名进行镜像完整性验证(使用到非对称加密算法和哈希算法)
签名过程:
raw_image--->use hash--->digest(摘要)
private_key--->digest--->signature
image+signature组合成为签名镜像
验签过程:
use hash--->raw_image--->digest1
public_key--->signature--->digest2
digest1 =? digest2
等于则验签成功,否则验签失败

说明:

        一般是先验证证书,然后再验证镜像(对根证书使用哈希计算,然后和efuse中存储的进行对比,一致后,则可通过;
镜像验证:是使用根证书中的公钥对签名进行验证,然后从认证签名证书中取出公钥,对镜像签名数据验证)

1.2 dm-verity原理

        squashfs需要读取某个块时,调用dm-verity读取对应的块,dm-verity根据verity-table中block_device,调用block_device读取对应的块,读取到块的内容后dm-verity会算出块的sha256,然后跟verity-hash-tree中相对应的hash值进行比较,如果相等,则说明该块没有被修改过。
     

http://www.lryc.cn/news/105251.html

相关文章:

  • 安全学习DAY09_加密逆向,特征识别
  • 原型模式(Prototype)
  • 深度学习之用PyTorch实现线性回归
  • 45.248.11.X服务器防火墙是什么,具有什么作用
  • 如何以无服务器方式运行 Go 应用程序
  • 小程序商城系统的开发方式及优缺点分析
  • [数据集][目标检测]城市道路井盖破损丢失目标检测1377张
  • 【Spring Cloud 三】Eureka服务注册与服务发现
  • WPF实战学习笔记21-自定义首页添加对话服务
  • AngularJS学习(一)
  • 918. 环形子数组的最大和
  • AI算法图形化编程加持|OPT(奥普特)智能相机轻松适应各类检测任务
  • C语言文件指针设置偏移量--fseek
  • 快速消除视频的原声的技巧分享
  • lua脚本实现Redis令牌桶限流
  • 最新 23 届计算机校招薪资汇总
  • BUU CODE REVIEW 1
  • django使用ztree实现树状结构效果,子节点实现动态加载(l懒加载)
  • 认识springboot 之 了解它的日志 -4
  • 关于大规模数据处理的解决方案
  • 免费快速下载省市区县行政区的Shp数据
  • MAC下配置android-sdk
  • Hive-数据倾斜
  • Java多线程(三)
  • Linux操作系统3-项目部署
  • 软件测试面试题——接口自动化测试怎么做?
  • 如何在医疗器械行业运用IPD?
  • 16. Spring Boot 统一功能处理
  • PostgreSQL-数据库命令
  • 面试题:说说JavaScript中内存泄漏的几种情况?垃圾回收机制