我有一个 BeagleBone Black,它被编程为在启动时启动 NodeJS 服务器。 BeagleBone 包含我的公司不想共享的软件。是否可以防止任何用户窃取eMMc上的软件? (通过执行诸如禁用 SD 卡读卡器之类的操作)
我已经做了的是禁用 HDMI 输出,但有人仍然可以插入 SD 卡,启动另一个版本的 Debian 并将文件复制到 U 盘。我考虑过磁盘加密之类的东西,但是除非输入密码,否则 BeagleBone 将无法启动,这样就破坏了整个目的。
答案1
BeagleBone 被设计为业余爱好者计算机,因此有很多方法可以使用它(网络引导、USB 等),并且 Internet 上有很多有用的文档。
虽然您可以执行一些通过隐藏来实现安全的操作,但您正在寻找的功能称为“安全启动”。安全启动利用加密方法来确保计算机启动有权运行的操作系统。可以应用类似的技术来保护应用程序。可能不是不可能的闯入安全启动机器,但这肯定更难。
安全启动通常是通过可信平台模块或 TPM。尽管一些 TI 片上系统支持安全启动,AM335x 支持较弱记录不足(和它仍然需要 TPM)。
至少有一家供应商在 BeagleBone Cape 上提供 TPM。 CryptoCape 的开发者还有一个对安全启动过程的很好的解释。另一种选择是研究基于 AM335x 且具有 TPM 的单板计算机。
请记住,安全启动确实会使开发变得更加困难,因为很容易弄乱某些东西并使机器变砖。也有一些人有哲学上的反对到可信计算。虽然我个人认为对软件盗窃的担忧被高估了,但在许多领域(例如生命安全系统)确实需要一个可信的执行环境。