首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安全启动如何处理密钥?

安全启动如何处理密钥?
EN

Ask Ubuntu用户
提问于 2022-06-26 16:37:36
回答 1查看 338关注 0票数 0

我一直在努力了解Boot是如何安全工作的,但我仍然不清楚这是这个帖子背后的原因。

到目前为止,这就是我所理解的。

Secure是UEFI标准中定义的一种系统,它使用数字签名来防止恶意OS映像/引导加载程序的启动。

安全引导使用4种不同类型的签名/证书:

  • 平台密钥:检查UEFI固件是否可信
  • 密钥交换密钥:验证密钥数据库上的更新(但我不知道如何进行)
  • 白名单和黑名单密钥数据库:包含受信任的和不可信的签名/证书

核查程序的工作如下:

预引导加载程序(shim)通过计算引导加载器的签名并使用数据库中的证书来验证引导加载程序;如果没有问题,引导加载程序将启动。

OS映像也是如此,引导加载程序以同样的方式对其进行了验证。如果检查通过,操作系统可以启动。

到目前为止一切都正确吗?

现在,我还不清楚的是:

  • 证书/签名何时添加到数据库中?让我们假设我想配置一个双引导系统,第二个操作系统的密钥什么时候声明?在安装的时候?如果是这样的话,我需要授权一个外部操作系统映像来修改数据库.不是很安全,不是吗?
  • 如何更新数据库?如何使用密钥交换密钥(KEK)?
EN

回答 1

Ask Ubuntu用户

发布于 2022-06-26 16:47:24

键不是“声明”,而是安装(也称为“已注册”)。对二进制文件进行签名,以便通过密钥对其进行验证。密钥与授权关联,而不是与二进制关联。许多二进制文件可以由单个密钥签名,也可以有密钥链。

通常,二进制文件由分发服务器(如Microsoft或Canonical )签名。这几乎符合整个引导链的描述。

有时,当二进制文件是在本地构建的(比如使用DKMS设备驱动程序)时,它们必须使用本地密钥进行签名。在这种情况下,安装驱动程序的一部分涉及到注册本地密钥。其中一半是在安装驱动程序时完成的(它可能要求您输入密码),另一半则在下一台计算机重新启动时完成(当它要求您重新输入该密码时)。

如果注册本地密钥的过程失败,驱动程序将不会加载。您可以通过手动注册密钥或使用dpkg-reconfigure drivername...重新运行配置,然后重新执行密码/注册过程来修复此问题。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1415942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档