广州智维欢迎您!智维公
司致力于先进的汽车及自动化测控仪器设备CAN总线分析仪_尾气分析仪_空燃比分析仪_蓄电池检测仪_数据记录仪_数据采集_车载网络_网关等产品

广州智 维电子科技有限公司

Guangzhou Triv Electronic Technologies Co.LTD

技术服务
SUPPORT

目前位置: >

2019-01-08

Linux 系统安全启动

作者:    点击:130

Kvaser 拥有超过 30 年 CAN 总线技 术的研发经验与超过 60 种各类 CAN 总线产品。高品质,高可靠 性与全面的第三方配套支持赢得了众多用户的口碑,为许多 公司的内部研发提供更好成本效益的方案。


什么是安全启动


“安全启动” 是 2012 年出现的 Windows 8 预装电脑里的 UEFI 功能。目前所有的 Ubuntu 64位(非32位)版本支持此功能。简而言之,安全启 动工作原理是在固件中启用信任源机制,虽然其 它实现方式是可能的,但在实践中通过 x509 证书来实现信任链。根证书( 根证书 是由受信任的证书颁发机构 CA 颁发的证书)嵌入在固件中,使得它 可以验证签名的引导加载程序,然后,签名的 引导加载程序可以验证已签名内核或已签名的第二级引导加载程序等。为了使用安全启动,我们需要使用UEFI启动系统,而不是旧的 BIOS。



BIOS与UEFI有什么区别?


两者都 可初始化计算机,任务是加载操作系统。BIOS 通过读 取硬盘上的第一个扇区(主引导记录 MBR)并执行它来启动,相比之下,UEFI 通过从硬盘上的分区(称为 EFI 系统分区 ESP)加载EFI程序文件(使用 .efi 文件扩展名)来启动。


如何判断Linux系统是使用UEFI还是BIOS启动的?


最简单 的方法是检查文件夹 /sys/firmware/efi 是否存在。

secureBoot:~$ ls /sys/firmware/efi/

config_table  fw_platform_size  runtime      systab

efivars       fw_vendor         runtime-map  vars

如果 Linux 计算机使用传统 BIOS 启动,则不会出现 /sys/firmware/efi 文件夹。

legacy:~$ ls /sys/firmware/efi

ls: cannot access /sys/firmware/efi: No such file or directory


如何判断Linux系统是 否使用安全启动?


mokutil 命令用 于管理机主密钥(MOK),这些密钥由 shim 层用于验证 grub2和内核映像,也可用 于验证安全启动是否启用。

secureBoot:~$ mokutil --sb-state

SecureBoot enabled

或者也可以使用 mokutil 命令来 查看当前所有已注册的密钥。

secureBoot:~$ mokutil --list-enrolled


未签名 模块的特征是什么?


如果在 启用了安全启动的计算机上编译并安装了无有效签名的 Kvaser 驱动程序模块,即使连上了 ,在运行 listChannels 示例的 时候也不会侦测到任何通道。

secureBoot:~$ ./listChannels

Canlib version 5.20

Found 0 channel(s).

可以使用 lsusb 命令验证 Kvaser 分析仪实际上是由 USB 子系统连接和识别的。

secureBoot:~$ lsusb | grep Kvaser

Bus 003 Device 008: ID 0bfd:0108 Kvaser AB

通过查 找系统日志中的错误,并会发现类似错误 “所需密钥不可用”。

  apr 19 16:05:38 mypc /usr/sbin/mhydra.sh[22789]: modprobe: ERROR: could not insert mhydra:

Required key not available

  apr 19 16:05:38 mypc systemd-udevd[22776]: Process /usr/sbin/mhydra.sh start failed with exit code 1.

这需要 签名模块使其在计算机上工作。在下篇 文章中将介绍如何构建和签署 Kvaser 驱动程序模块,以便能够在启用了计算机上使用它们。



返回列表

友情链接:    最可靠的买彩票平台   竞速彩票_安全购彩   九万彩票-首页   雀彩---首页_欢迎您   竞速彩票_安全购彩