0


高通Linux安全指南(八)

从systemd-boot菜单启用UEFI安全启动

EFI二进制文件由签名的镜像和安全启动密钥组成,这些密钥和镜像生成后被刷写到系统中。更多详细信息,请参见签名镜像并将(.auth)密钥/签名文件复制到EFI分区。
当UEFI在下次启动时加载并执行,systemd-boot管理器将在屏幕上显示“Enroll Secure Boot keys: authkeys”和“Ubuntu 18.04.6 LTS”菜单选项。

注意:
配置了超时后会显示这些选项。更多信息,请参见签名镜像并将(.auth)密钥/签名文件复制到EFI分区中的loader.conf设置。

systemd-boot菜单选项
图示:systemd-boot菜单选项

您可以使用音量 +/- 按钮导航并选择适当的选项来注册密钥。
当密钥成功注册后,UEFI会自动从SetupMode切换到UserMode。当systemd-boot触发系统重置以应用更改时,UEFI安全启动启用的日志会在串行日志中列出。
默认情况下,UEFI以UserMode启动,并且UEFI安全启动在后续启动循环中初始化。当systemd-boot将控制权转移给KERNEL EFI STUB时,UEFI安全启动启用的日志会在串行日志中列出。
串行日志中的UEFI安全启动启用信息
图示:串行日志中的UEFI安全启动启用信息

通过systemd-boot注册密钥的选项仅提供一次。本版本不支持重新配置和更新UEFI安全启动密钥。

哈希未签名的镜像并更新数据库以进行镜像认证

UEFI安全启动允许镜像认证。即使镜像未签名或镜像中的证书未存储在签名数据库(DB)中,通过存储在签名数据库中的镜像哈希也可以进行认证。
此过程保留用于无法从供应商提供状态进行签名或修改的内容。如果DBX拒绝列表中存在镜像哈希,可以取消对签名二进制文件的信任,而无需撤销相应的证书或密钥。例如,这在处理一个先前签名但存在漏洞的引导加载程序时非常有用。
对同一二进制文件应用签名并创建DB哈希是冗余的。如果镜像组成不需要任何更改,即不添加或修改镜像中的新密钥和证书,并且现有镜像不需要UEFI安全启动认证,请遵循以下步骤。

为未签名的镜像生成db.auth文件

您可以计算镜像的哈希并通过以下步骤生成允许的签名DB文件:

  1. 生成要验证的所有镜像的哈希并将哈希转换为.esl文件:hash-to-efi-sig-list <list of efis to be hashed><output file name with .esl extension>
  2. 使用DB密钥签署哈希.esl文件:sign-efi-sig-list -k< .key file location >-c< .crt file location ><secure variable name><Above generated .esl file><o/p .auth file>
  3. 将生成的db.auth文件复制到EFI二进制文件中并将密钥配置到设备中。 例如,在Linux主机上:1. 挂载efi.bin文件到目录,并在目录中创建一个efimountedbin文件夹。2. 在Linux机器的目录中创建一个testkeys文件夹并将预先存在的密钥复制到该文件夹中。3. 签名镜像:hash-to-efi-sig-list <workspace>/efimountedbin/EFI/BOOT/bootaa64.efi <workspace>/efimountedbin/EFI/Linux/uki.efi mergedhash.esl sign-efi-sig-list -k keys/db.key -c keys/db.crt db mergedhash.esl db.auth4. 将db.auth文件复制到/efimountedbin/loader/keys/qckeys中的qckeys文件夹。5. 按照dtb签名步骤签名dtb镜像以生成新的efi.bin文件。更多信息,请参见签名镜像并将(.auth)密钥/签名文件复制到EFI分区。6. 对于目标上的Linux主机:a. 擦除任何现有的UEFI安全启动密钥并使用fastboot刷写EFI二进制文件。 b. 使用systemd-boot配置密钥。更多信息,请参见从systemd-boot菜单启用UEFI安全启动。
   注意:   所有未签名的文件均使用其他密钥签名,并通过UEFI使用此方法进行认证。

安装或升级QCS5430 SoftSKU功能包

您可以使用Qualcomm®无线边缘服务(Qualcomm WES)许可证来升级QCS5430软库存单位(SKU)功能包。
有关功能包的更多信息,请参见 QCS5430: Feature packs。
图示展示了升级QCS5430 SoftSKU功能包的过程:
在这里插入图片描述

下载评估许可证

根据表中列出的功能包下载评估许可证:
功能包许可证文件下载链接FP2QCM5430 FP2.0FP2.5此信息将在未来版本中更新FP3此信息将在未来版本中更新
功能包 许可证文件下载链接
FP2 QCM5430 FP2.0
FP2.5 此信息将在未来版本中更新
FP3 此信息将在未来版本中更新

准备设备
  1. 设置设备上的Wi-Fi并获取设备IP地址。
  2. 通过SSH连接设备:ssh root@device-ip-address有关详细说明,请参见《Qualcomm Linux Build Guide》 ➝《How to》 ➝《How to SSH》。
  3. 将许可证推送到设备:scp /path/to/<QCM5430 FP*>.pfm root@device-ip-address:/data/
安装评估许可证
  1. 确保您具备以下前提条件: RPMB已经配置。 设备中可用qwes_cli工具。
  2. 安装Qualcomm WES命令行界面工具: 帮助:qwes_cli –help。 默认工具随Qualcomm Linux软件产品一起提供。
  3. 安装评估许可证:ssh root@device-ip-addressqwes_cli -f /temp/<QCM5430 FP*>.pfm install
  4. 验证许可证安装:qwes_cli list
    命令输出检查序列号:

qwes_cli list# qwes_cli list
Running GetAllSerialNumber test with multithread Disabled
Success. Len = 25
Parsing 2 serial numbers
Serial Number: 15b3
Serial Number: 3e52b512f2f47851a40fa5b30000018c86261aa1
请确保重启设备以使许可证生效。

验证功能包升级

有两种方法可以验证功能包:

  • 通过以下命令验证功能包升级:ssh root@device-ip-addresscat /proc/device-tree/model输出中显示功能包ID模型: Qualcomm Technologies, Inc. qcs5430 fp2 addons rb3gen2 platforms.> 注意> 功能包和模型ID映射为{Feature Pack2: fp2 ; Feature pack2.5 : fp2.5; Feature pack 3: fp3}。
  • 从以下UEFI日志中验证功能包ID:FLP1SoftSKU ID 已禁用。默认设置为 1。FP2SoftSKU ID 已启用。此处更新:2
管理设备许可证

您可以执行以下操作来管理您的设备许可证:

  • 升级功能包或应用新许可证。 - 可以安装多个许可证。- 设计上将强制执行具有最高功能包的许可证。- 可以在提供的功能包许可证之间升级或降级。- 要降级,请删除具有更高功能包的许可证并应用所需功能包的许可证。
  • 移除评估许可证。 - 获取许可证序列号:qwes_cli listRunning GetAllSerialNumber test with multithread DisabledSuccess. Len =25Parsing 2 serial numbersSerial Number: 15b3Serial Number: 3e52b512f2f47851a40fa5b30000018c86261aa1- 移除许可证:ssh root@device-ip-addressqwes_cli -s 3e52b512f2f47851a40fa5b30000018c86261aa1 removeSerial number length 20Remove License is successful.- 验证移除的许可证序列号是否不在许可证列表中:qwes_cli listRunning GetAllSerialNumber test with multithread DisabledSuccess. Len =4Parsing 1 serial numbersSerial Number: 15b3
功能包许可证 – 软件升级后的持久性
  • 许可证安装在持久安全存储RPMB中。
  • 当许可证成功安装时,其元数据存储在RPMB中,并且在数据分区中保留一份副本。
  • 即使用户数据被擦除,许可证仍保存在RPMB中,设备功能不受影响。

注意:
拥有完整访问Qualcomm Linux附带的专有软件的用户可以管理功能包许可证。如果您有访问权限,请参见《Qualcomm Linux Wireless Edge Services Guide》。

标签: linux 安全 Qualcomm

本文转载自: https://blog.csdn.net/weixin_38498942/article/details/141687423
版权归原作者 weixin_38498942 所有, 如有侵权,请联系我们删除。

“高通Linux安全指南(八)”的评论:

还没有评论