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