是否有专门用于气隙计算机的 GNU/Linux 或 BSD 发行版?

信息安全 操作系统 气隙
2021-08-16 02:58:38

我目前正在设置一个专门用于管理加密密钥的气隙计算机(包括:GPG 密钥/子密钥的生成、小型 CA 的管理、SSH 密钥的生成)。

我想知道是否已经存在专门用于此目的的操作系统。我看到这种计算机有很多优点:

  • 不支持任何网络驱动程序
  • 一个设计良好的熵发生器(因为不会有太多的熵源)
  • 预装通用加密工具

当然还有更多我可以想出或知道的事情需要注意。

我看了一下那些操作系统:

  • Tails:带有很多工具,并且它支持具有持久加密数据的只读操作系统;但更致力于安全冲浪。
  • DEESU/Liberté linux:挺有意思的,好像支持自定义,不过现在好像很老了。(至少是最后一个二进制版本)
  • OpenBSD:上次我玩它时,在内核中停用驱动程序非常容易。但需要修改/自定义,因为默认安装非常简单。

是否有任何我不知道的项目或其他操作系统适合气隙计算机的角色?

感谢您对此的任何指示。

2个回答

据我所知,没有,这是一个非常具体的利基市场。尽管如此,配置任何 BSD/Linux 发行版以满足您的需求应该很容易。

我主要从 FreeBSD 的经验说起,但对于其他 BSD 和 Linux 来说应该非常相似。编译内核很容易,只需取消选择所有网络内容。对于 Freebsd,平均 CPU 需要 3-5 分钟。如果排除很多东西,可能会更快。除此之外,您还可以在 BIOS 中禁用网络端口。

但是您应该问自己您的威胁模型是什么,以及您是想要“在线”还是“离线”签名/密钥生成。如果您的威胁模型包括本地攻击者,您甚至想要一个持续运行的系统吗?容易受到冷启动攻击、badusb 攻击和 bios 攻击?

如果我要设置一个单独的气隙系统,我会简单地使用 tails 或 freebsd live cd。使用一次写入 cd-r/dvd-r。编写完成后,您可以在多台独立机器上通过校验和确认您拥有一张未篡改的 live cd。现在使用这张 live cd 在您的“气隙”硬件上启动,一旦启动,您就可以使用您的密钥解密硬盘驱动器,然后您就可以进行操作了。

使用 live cd 的优点是您可以通过简单地创建一个包含补丁的新 CD 来保持更新。如果您要在没有联网的情况下设置一个单独的系统,那么保持更新/安全将很棘手。通过仅在必要时启动 live cd 从而使硬盘驱动器脱机并加密,您还可以避免容易受到冷启动攻击或其他针对正在运行的系统的本地主机攻击。

因此,值得深思的是,首先正确定义您的威胁模型是什么;您要防御谁或什么?然后解决这个问题。

另一种解决方案可能是类似usbarmory 的东西,它是一台功能齐全的计算机,除了 USB 之外没有其他输入设备。非常防篡改且足够小,您可以随时随身携带设备。

现在让我们谈谈熵。你可以在这里做很多事情,显然熵越多越好。我认为 Freebsd、OpenBSD 或 Linux 的随机数生成器都可以被认为比其他的要好得多。他们都很扎实。

一些额外的阅读材料:Linux的RNG的OpenBSD系统的RNGFreeBSD的的RNG

它们都很好地混合了不同的随机源。如果您想要额外的随机性,因为没有很多熵源,您可以考虑获得额外的单独硬件 RNG,例如OneRNG

所有发行版/bsd 都将预装 OpenSSL,OpenBSD 将随附 LibreSSL。LibreSSL 也可以很容易地安装在 Freebsd 上。因此,所有常见的加密操作都应该是开箱即用的。

Tails OS 可以选择在登录期间完全禁用网络以创建气隙发行版。Discreet OS 是一个气隙 linux 发行版。