使用Ubuntu Linux的NitroPad

有了NitroPad,对BIOS、操作系统和软件的恶意修改可以很容易被发现。例如,如果你把NitroPad留在酒店房间里,你可以用Nitrokey来检查它在你离开时是否被篡改过。如果攻击者修改了NitroPad的固件或操作系统,Nitrokey会检测到这一点(说明如下)。

密封硬件的验证

如果您在订购时选择了 "密封螺丝和密封袋",请在开箱前`确认密封<sealed-hardware.html>`_。如果你不知道这意味着什么,请跳过本节。

安全启动程序

有了NitroPad,对BIOS、操作系统和软件的恶意修改可以很容易被发现。例如,如果你把NitroPad留在酒店房间里,你可以用Nitrokey来检查它在你离开时是否被篡改过。如果攻击者修改了NitroPad的固件或操作系统,Nitrokey会检测到这一点(说明如下)。

每次启动NitroPad时,您应该--如果可能的话--连接您的Nitrokey。如果Nitrokey被插入,并且系统没有被修改过,那么当NitroPad被打开时,将出现以下屏幕。

img1

标记为红色的方框中包含了BIOS没有被改变以及NitroPad和Nitrokey的共享秘密相匹配的信息。但这一信息是不够的,因为攻击者有可能伪造了它。如果在同一时间,Nitrokey也闪烁着绿光,那就说明一切正常。攻击者必须有机会接触到NitroPad和Nitrokey才能达到这个结果。因此,重要的是,你不要让这两个设备无人看管。

如果NitroPad上的信息与Nitrokey上的信息不一致,背景就会变成红色,并会出现 "无效代码 "的信息。这可能表明发生了操纵行为。

img2

如果系统被改变了(例如在更新之后),启动过程可能是什么样子的,还有可能出现什么错误信息,下面会进一步描述。

小技巧

在没有Nitrokey的情况下也可以启动NitroPad。如果你没有带Nitrokey,但确定硬件没有被操作过,你可以不用检查就启动系统。

解决方法 Ubuntu 24.04.

有一个 (`issue<https://github.com/linuxboot/heads/issues/1641>`__)问题,如果用头启动 Ubuntu,它会阻止 Ubuntu 显示 luks 解密屏幕。有了这个问题,你可以盲打密码,之后 Ubuntu 就会正常启动。请按照以下步骤操作:

  1. 头部启动。如果不需要做任何事情,Ubuntu 会自动启动

  2. 过一会儿,您会看到一个黑色屏幕,最后一行写着白色文字:

Locking TPM2 platform hierarchy...
Starting the new kernel

这几行表示 Ubuntu 正在启动。

  1. 等待**5 秒** ,然后输入您的**密码** (如果是首次启动,则输入 "12345678"),接着**输入** 。

  2. 现在,你将看到 Ubuntu 的正常界面。首次启动时,必须完成初始配置。

入门

购买后,密码被设置为默认值,必须由您来更改。

  1. 在启动系统后按回车键("默认启动"),前提是NitroPad没有显示任何错误,且Nitrokey亮起绿色(见上文)。

  2. 接下来,系统会提示你输入密码来解密硬盘。密码最初为 "12345678"。10.04.2024 版本对此进行了更改,因此如果 "12345678 "不起作用,请尝试使用旧的默认值:"PleaseChangeMe"。

    img3
  3. 然后,系统将引导你完成创建用户账户的过程。之后,你应该已经成功启动了系统,并且已经可以正常使用。

  4. 打开预先安装的Nitrokey应用程序,更改你的Nitrokey的PIN码。要了解更多关于如何更改密码的信息,请参考`更改用户和管理员密码<change-pins.html>`_章节。

  5. 更改磁盘加密的口令。要了解更多关于如何改变磁盘加密的口令,请参考`改变磁盘加密口令<change-disk-encryption-passphrase.html>`_章节。这个口令与你的用户账户的口令不同。

系统更新后的行为

NitroPad固件会检查某些系统文件是否有变化。如果您的操作系统已经更新了重要的组件,那么在您下次启动NitroPad时,您将会收到警告。例如,这可能是这样的:。

img4

这就是为什么在系统更新后要在可控条件下重启NitroPad的重要原因。只有当新的状态被确认后,你才可以再次让设备无人看管。否则,您将无法区分可能的攻击和系统更新。关于系统更新的详细说明可以在这里找到 ` <system-update.html>`_。