UEFI secure boot(1)- 简介

1、公钥加密和数字签名

  1. 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息y,但因不知道解密的方法,仍然无法了解信息的内容x。
  2. 对称密钥和非对称密钥

对称密钥:在双方之间通信,有一个共同密钥来加减密

非对称密钥:不需要事先约定且不需要知道通信对方是谁,公钥部分和私钥部分共同组成新形式的密钥——非对称密钥。

好比是通信双方,有一个人建立了一个保险柜(将保险柜的制造方法理解为私钥),将信息存入其中,并把保险柜的钥匙(公钥)交给另一方,而另一方当然可以拿着这个钥匙获取保险柜中的东西,但他不能,也不必知晓对方究竟是如何制造出了这样一个保险柜。

  1. RSA密码系统

使用RSA,持有私钥的实体A可以使用该密钥来解密知道A的公钥的实体B发送给他的数据,而且A还可以使用他的私钥来对一些数据进行数字签名,B发送给A的数据只能由A来签名,没有密钥的人无法修改。

  1. UEFI安全引导

固件驱动程序的发行者可以对该驱动程序(计算hash并用密钥加密)进行数字签名以保证驱动程序的真实性。验证者使用公钥解密数字签名获得hash并与自己计算的hash值比较,如相等则表示该驱动程序未被其他人(潜在的攻击者)篡改。

 

2、安全引导的密钥类型

数据库密钥(db)——它用于对运行的二进制文件(引导加载程序、引导管理器、shell、驱动程序等)进行签名或验证。db可以保存多个KEY值——对于某些目的来说,这是一个重要的事实。注意,db可以包含公钥(与可用于对多个二进制文件签名的私钥相匹配)和hash值(用于描述单个二进制文件)

数据库黑名单(dbx)——dbx是一种反数据库;它包含与已知恶意软件或其他不受欢迎的软件相对应的键和hash值。可以像安装db一样安装键或hash值。如果二进制文件匹配同时存在于db和dbx中的键或hash值,则dbx应该优先

密钥交换密钥(KEK)——KEK用于对密钥(公钥)进行签名,以便固件在将它们输入数据库(db或dbx)时将它们视为有效的。如果没有KEK,固件将无法知道新密钥是有效的还是由恶意软件提供的。因此,在没有KEK的情况下,安全引导将是一个笑话,或者要求数据库保持静态(更新db数据库时验证)。由于安全启动的临界点是dbx,因此静态数据库将不可用。电脑通常有两个kek,一个来自系统厂商,一个来自主板制造商。这使得任何一方都可以发布更新。

平台密钥(PK)——PK是安全启动中的顶级密钥,它与KEK相关的功能类似于KEK与db和dbx的功能。UEFI安全启动支持单个PK,通常由主板制造商提供。因此,只有主板制造商可以完全控制计算机。自己控制安全启动过程的一个重要部分是用自己生成的PK放在主板flash中,递级验证来保证安全启动的可靠性。

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值