我需要将敏感数据存储在Raspberry上,以便运行在Raspberry上的软件可以使用它,但其他人不能。我可以设置硬密码,禁用tty等,但是删除SD卡并在PC上检查很容易。
我的第一个尝试是eCryptFS。看起来不错,但有问题。如何存储密码并使用它来挂载加密的 fs?eCryptFS可以从文件中读取密码短语或将其作为挂载参数。显然,我不能使用文件,因为它存储不安全。我还可以编写一个程序,它将一个硬编码(和混淆)密码短语作为 cli 参数或从 stdin.但在这种情况下,也可以运行此程序并在进程列表中查看带有密码短语的整个命令行。
现在我正在考虑在 ecryptfs 本身中硬编码我的密码短语(甚至从受保护的 eeprom 中读取它),这样它只能在我的设备上工作。或者我可以使用另一个加密系统,但它们都必须在某个地方采用密钥形式。因此,正如我所看到的,这样做的唯一方法是eeprom或硬编码。
有没有更好的方法可以将敏感数据安全地存储在Raspberry的SD卡上?
您可以使用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
希望对您有所帮助。
您可以将密码设置为 eth0 hw ether mac 地址。不过,它不能用于加密根分区。