7

我需要在 Raspberry 上存储敏感数据,以便在 Raspberry 上运行的软件可以使用它,但其他人不能。我可以设置硬密码,禁用 tty 等,但很容易移除 SD 卡并在 PC 上检查。

我的第一次尝试是 eCryptFS。看起来不错,但是有问题。如何存储密码并使用它来挂载加密的 fs?eCryptFS 可以从文件中读取密码或将其作为挂载参数。显然,我不能使用文件,因为它存储不安全。我还可以编写一个程序,它将硬编码(和混淆)密码短语作为 cli 参数或从标准输入提供给 mount.ecryptfs。但在这种情况下,也可以运行该程序并在进程列表中查看带有密码的整个命令行。

现在我正在考虑在 ecryptfs 本身中对我的密码进行硬编码(或者甚至从受保护的 eeprom 中读取它),因此它只能在我的设备上使用。或者我可以使用其他加密系统,但它们都必须在某个地方采用密钥形式。因此,正如我所见,这样做的唯一方法是 eeprom 或硬编码。

有没有更好的方法将敏感数据安全地存储在 Raspberry 的 SD 卡上?

4

2 回答 2

8

您可以使用 RaspberryPi 唯一的序列号。

您可以从 /proc/cpuinfo 检索它

~# cat /proc/cpuinfo 
[...]
Hardware    : BCM2709
Revision    : a01041
Serial      : 00000000407xxxxx

直接bash命令:

~# ID=$(cat /proc/cpuinfo | grep ^Serial | cut -d":" -f2)
~# echo $ID
00000000407xxxxx

如果您需要定期更改加密密码,请使用 Rpi 序列号作为返回 ecryptfs 加密密码的静态文件的解密密钥。OpenSSL 是你的朋友 :D

希望能帮助到你。

于 2015-04-26T19:35:14.657 回答
-1

您可以将密码设置为 eth0 hw ether mac 地址。但它不能用于加密根分区。

于 2015-01-02T12:59:01.490 回答