我需要在 Raspberry 上存储敏感数据,以便在 Raspberry 上运行的软件可以使用它,但其他人不能。我可以设置硬密码、禁用 tty 等等,但很容易取出 SD 卡并在 PC 上检查。
我的第一个尝试是 eCryptFS。好像还好,但是有问题。如何存储密码并使用它来挂载加密的文件系统? eCryptFS 可以从文件中读取密码或将其作为挂载参数。显然,我不能使用文件,因为它存储不安全。我还可以编写一个程序,将硬编码(和混淆)密码作为 cli 参数或从标准输入提供给 mount.ecryptfs。但在这种情况下,也可以运行该程序并在进程列表中查看带有密码的整个命令行。
现在我正在考虑在 ecryptfs 本身中对我的密码进行硬编码(或者甚至从 protected eeprom 中读取它),这样它就只能在我的设备上工作。或者我可以使用另一个加密系统,但它们都必须在某个地方采用 key 形式。因此,正如我所见,这样做的唯一方法是 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加密密码的静态文件的解密 key 。 OpenSSL 是你的 friend :D
希望对您有所帮助。
关于linux - 保护 SD 卡 Raspberry Pi 上的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730877/