什么是UEFI签名认证?UEFI签名有什么好处?

为了防御恶意软件攻击,目前市面上所有电脑设备启动时默认开启安全启动(Secure Boot)模式。安全启动(Secure Boot)是UEFI扩展协议定义的安全标准,可以确保设备只使用OEM厂商信任的软件启动。UEFI签名认证就是对运行在 UEFI 系统下的 efi 驱动和通过 UEFI 启动的 shim(垫片)进行测试审查后,获得微软 UEFI 签名。UEFI签名认证能够解决固件在启动时加载不了,无法正常工作等问题。

什么是BIOS、EFI和UEFI

BIOS是固化在电脑主板上一个程序,主要用于开机系统自检和引导加载操作系统。而现在的新型电脑用的基本都是UEFI启动,从EFI启动过渡而来,基本功能上都和BIOS差不多,都是完成系统自检、完成硬件初始化、加载操作系统。

EFI,是Extensible Firmware Interface的词头缩写,直译过来就是可扩展固件接口,它是用模块化、高级语言(主要是C语言)构建的一个小型化系统,它和BIOS一样,主要在启动过程中完成硬件初始化,但它是直接利用加载EFI驱动的方式,识别系统硬件并完成硬件初始化,彻底摒弃读各种中断执行。当EFI发展到1.1的时候,英特尔决定把EFI公之于众,EFI在2.0后也遂改称为UEFI。

UEFI 即统一可扩展固件接口, UEFI 用于替代较旧的 BIOS 固件接口和可扩展固件接口 (EFI) 1.10 规范。目前的计算机硬件基本上都集成了 UEFI 的固件,并逐步形成和推广成统一可扩展接口,负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。

UEFI具有一个独特的功能——安全启动(secure boot),而EFI是没有安全启动的。安全启动是UEFI扩展协议定义的安全标准,旨在帮助确保设备仅使用原始设备制造商 (OEM) 信任的软件启动,通俗的解释是叫做固件验证,开启UEFI的安全启动后,主板会根据TPM芯片(或者CPU内置的TPM)记录的硬件签名对各硬件判断,只有符合认证的硬件驱动才会被加载。而Win8以后的Windows则是在操作系统加载的过程中对硬件驱动继续查签名,符合Windows记录的硬件才能被Windows加载。

如何进行UEFI签名认证

开发者需要通过“Windows合作伙伴中心硬件仪表板”对 UEFI 固件二进制文件进行数字签名,使其能够安装在 Windows 设备上。“Windows合作伙伴中心硬件仪表板”注册以及UEFI 固件签名都需要使用扩展验证(EV)代码签名证书。

UEFI 签名是 Windows 硬件开发人员中心仪表板提供的一项服务,开发人员通过该服务提交面向 x86、x86-64 或 ARM 计算机的 UEFI 固件二进制文件,通过手动审查批准这些二进制文件后,即可在启用安全启动且允许微软第三方UEFI CA的电脑上安装

沃通CA提供微软指定证书颁发机构DigiCert、Sectigo等品牌EV代码签名证书,支持为驱动程序、UEFI固件、LSA插件进行签名,支持用于Windows合作伙伴中心硬件仪表板门户帐号注册。

微软最新UEFI签名要求

以下为微软对UEFI 签名认证的最新要求(2021年1月发布):

(1)UEFI 提交需要 EV 代码签名证书和 Azure Active Directory (AAD) 帐户。

(2)只有将发布给客户的生产质量代码(例如,“发布到制造”代码,而不是测试或调试模块)(没有仅限内部的代码或工具)才有资格进行 UEFI 签名。对于内部使用的代码,应将自己的密钥添加到安全启动数据库 UEFI 变量,或在开发和测试期间关闭安全启动。

(3)Microsoft UEFI CA 仅对那些供公众使用的产品进行签名,并且是跨所有 UEFI 安全启动支持的设备实现互操作性所必需的产品。如果产品特定于特定 OEM 或组织,并且外部不可用,则应使用私钥对其进行签名,并将证书添加到安全启动数据库。

(4)提交用于 UEFI 签名的代码不得受 GPLv3 或任何旨在赋予某人要求授权密钥的权利以便能够在设备上安装修改后形式的代码的许可证的约束。受已签名的此类许可证约束的代码可能会吊销该签名。例如,GRUB 2 在 GPLv3 下获得许可,不会被签名。

(5)如果存在与使用某些技术的代码相关的已知恶意软件向量,则该代码将不会签名,并且可能会被吊销。例如,使用未启用安全启动的 GRUB 版本将不会进行签名。

(6)如果提交代码中存在已知的安全漏洞,则不会对提交进行签名,即使你的功能未公开该代码也是如此。例如,OpenSSL 的最新已知安全版本是 0.9.8za 和 1.0.1h,因此,如果提交包含包含已知漏洞的早期版本,则不会对提交进行签名。

(7)在提交签名之前,您必须按照提交预测试文档(对于 UEFI 提交)测试您的产品。

(8)微软不会签署使用 EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 的 EFI 提交。相反,建议过渡到EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER。这可以防止不必要地使用运行时 EFI 驱动程序。

(9)使用 EFI 字节码 (EBC):Microsoft 不会签署基于 EBC 的提交的 EFI 提交。

(10)如果你的提交是 DISK 加密或基于文件/卷的加密,则必须确保不加密 EFI 系统分区,或者如果加密,请确保对其进行解密,并在 Windows 准备好启动时使其可用。

(11)如果你的提交由许多不同的 EFI 模块、多个 DXE 驱动程序和多个启动应用程序组成,Microsoft 可能会要求你将 EFI 文件合并为最小格式。例如,每个体系结构可能只有一个启动应用程序,并将 DXE 驱动程序合并到一个二进制文件中。

(12)如果你的提交是 SHIM(将执行移交给另一个引导加载程序),那么您必须首先提交给 SHIM 审查委员会并获得批准,然后才能签署提交。该审查委员会将检查以确保以下内容:

  • 代码签名密钥必须仅由具有受信任角色的人员备份、存储和恢复,并在物理安全环境中至少使用双因素授权。
  • 私钥必须使用硬件加密模块进行保护。这包括但不限于 HSM、智能卡、类似智能卡的 USB 令牌和 TPM。
  • 操作环境必须达到至少等于 FIPS 140-2 级别 2 的安全级别。
  • 如果嵌入式证书是 EV 证书,则应满足上述所有要求。我们建议您使用 EV 证书,因为这将加快 UEFI CA 签名周转速度。
  • 提交者必须为填充程序加载的所有内容设计和实现强大的吊销机制,无论是直接的还是随后的。
  • 如果您丢失密钥或滥用密钥,或者密钥泄露,则任何依赖该密钥的提交都将被撤销。
  • 已知某些填充程序会给安全启动系统带来弱点。为了更快地完成签名,建议使用 shim - GitHub 分支中的 0.8 或更高版本的源代码。

(13)如果提交包含 iPXE 功能,则需要执行其他安全步骤。此前,微软已经完成了对2Pint的iPXE分支的深入安全审查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第10章_创建和管理表

第10章_创建和管理表 🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前…

OpenCloudOS 9.0发布,腾讯闯入底层基础软件“深水区”

3月22日,腾讯发布了2022第四季度及全年业绩,ToB业务成为腾讯的核心引擎。与此同时,ToB的腾讯在近年来持续加码自研投入,提升底层技术实力,2022年研发投入达到614亿元,2018年至今在研发上的投入已经超过2056…

Mockito单测之道

Mockito单测之道 去年写过一篇《TestNG单元测试实战》文章,严格来讲算集成测试。 没看的小伙伴可直接看本篇即可,本质是单元测试框架不同,写法不一样。 单测定义 单元测试定义: 对软件中最小可测单元进行验证,可理解…

【数据结构】链表练习题(2)

链表练习题1.相交链表(LeetCode160)2.环形链表(LeetCode141)3.环形链表Ⅱ(LeetCode142)1.相交链表(LeetCode160) 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。题目数据 保…

spring注解的使用

Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。 Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发…

你看这个spring的aop它又大又宽

aop🚓AOP 分类AspectJ | 高级但是难用Spring AOP | 易用但仅支持方法aop 原理明月几时有,把酒问青天。——唐代李白《将进酒》 AOP 分类 在 Spring Boot 中,AOP 的实现主要有以下几种: 基于 AspectJ 的 AOP:这是一种基…

数据结构——红黑树

目录 概念 性质 结点的定义 插入 调整 当p是g的左孩子时 当p为g的右孩子时 插入完整代码 红黑树的检测 红黑树完整代码(包括测试数据) 概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色&…

如何有效备考PMP?

随着PMP证书含金量直线上升!现在PMP证书就跟黄金一样,即保值又升值。 今天小编应势出一篇关于如何高效备考PMP的方法,在备考生快过来看看吧! 1、准备好所需要的教材,视频,试题内容 备考备考,你…

蓝桥杯刷题冲刺 | 倒计时5天

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.方格迷宫2.字符串删减1.方格迷宫 题目 链接: 4943. 方格迷宫 - AcWing题库 给定一…

Sam Altman专访:GPT-4没太让我惊讶,ChatGPT则让我喜出望外

导读ChatGPT、GPT-4 无疑是 2023 年年初人工智能界最大的「爆款」。3 月 26 日,OpenAI CEO、ChatGPT 之父 Sam Altman 接受了著名学者与科技播客、麻省理工大学研究员 Lex Fridman 的专访,Sam 分享了从OpenAI内部视角如何看待ChatGPT和GPT-4的里程碑式意…

分享:数据库存储与索引技术(三)LSM树实现案例

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 本文来自OceanBase社区分享,仅限交流探讨。原作者马伟,长期从事互联网广告检索系统的研发,对数据库,编译器等领域也有浓厚兴趣。 文章目录1. MemTab…

2.2.2 第2遍:程序细节

这段话主要解释了C程序中#include指令和头文件的作用。头文件包含了编译器所需的信息,例如函数名、常量、以及如何使用它们等。在C程序中,头文件通常用于包含库函数,例如stdio.h文件中包含了输入和输出函数(如printf()&#xff09…

LCHub:ChatGPT4和低代码来临,程序员面临下岗?

一个网友吐槽道: “ 建站出来了,你们说程序员会失业。 低代码出来了,你们说程序员会失业。 Copilot出来了,你们说程序员会失业。 Chatgpt出来了,你们说程序员会失业 虽然这只是网友的吐槽,但却引起了小编的好奇。为何程序员那么容易被新技术取代?今天小编打算跟大家…

Waline在Butterfly主题中的应用

LeanCloud 设置 (数据库) 国内版的LeanCloud需要绑定域名,所以我们直接选择国外版的LeanCloud 登陆注册 注册:点击这里进行跳转注册成功后进入控制台,选择 创建应用 。 创建完成后进入应用,下拉找到 设置 , 会有 AppID 、AppK…

ASO优化之应用商店关键词的实现

投放正确的合适的关键词,能够确保我们的应用获得更高的相关性和知名度。如果我们已经完成研究并想要竞争目标关键词,就需要在商品详情中去实施投放它们。 要在 Google Play Store 中投放——我们要打开 Google Play 控制台并点击“主要应用详情”选项卡…

基于模型预测控制(MPC)的微电网调度优化的研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

VMware创建和使用虚拟网络

文章目录如何打开虚拟网络编辑器让虚拟机使用有线、无线网卡1. 点击“添加网络”2. 虚拟机使用电脑自带无线网卡3. 虚拟机使用电脑自带有线网卡重置虚拟网络在使用虚拟机的过程中,有时会需要让虚拟机使用物理机的网络设备直接与外部连接,例如让虚拟机通过…

Win11启用IE方法

呉師傅 Win11是微软目前的最新系统,尽管该系统非常不错,但是还是有很多不一样的地方,有的用户发现Win11没有了IE浏览器,那么Win11没有IE浏览器怎么办呢,有的旧网页需要IE浏览器才能进入,下面就给大家提供一…

怎么把两个音频合成一个

在创作音乐、制作视频等领域,经常需要将音频文件进行合并处理,但对于没有专业工具和知识的朋友来说,音频合并可能是一项复杂的任务。本篇文章就要为大家介绍合并音频的方法,让大家能够快速地将音频文件合并成需要的部分&#xff0…

leaflet: 地图上叠加日夜区域(126)

第126个 点击查看专栏目录 本示例的目的是介绍如何在vue+leaflet中显示日夜交替叠加区域。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共68行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设…