linux - 保护 SD 卡 Raspberry Pi 上的数据

标签 linux encryption raspberry-pi ecryptfs

我需要在 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/

相关文章:

linux - vi退出后如何恢复终端内容?

PHP-如何像作业队列一样一个接一个地运行cron作业

java - 好的软件工程与安全

python - 通过不可靠的互联网连接将本地收集的常规数据同步到在线数据库

linux - `gulp` 命令在 Linux 上无法正常工作

c++ - 用 C++ 编写可动态加载的组件

c# - 如何通过 RSA 生成唯一的公钥和私钥

java - 通过安全消息从智能卡中读取信息

linux - DBus.ObjectManager.GetManagedObjects 中缺少 LEAdvertisingManager1

linux - Raspberry pi 不允许使用 wget 下载图像