2014-02-19 65 views
1

所以说我有一些随机的硬件盒发给客户。在这种情况下,它将成为Raspberry Pi的内部。我希望Pi能够安全地连接到只有我拥有的Raspberries才能访问的Web服务。每个Pi都包含自己的密钥,用于验证Web服务。在用户设备上存储密钥

在这种情况下,将RPi视为任何其他嵌入式用户设备。它启动,只是自己的事情打电话回家。用户不输入任何内容。

有什么方法可以将这些密钥安全地存储在Pi上吗?我不希望人们能够连接到Web服务并使用从SD卡上读取的某些密钥进行验证。

我习惯于在用户通过钥匙圈或类似的东西访问密钥的情况下处理这个问题,但我不知道如何将密钥存储在嵌入式设备上,这需要存在没有用户输入没有使用一些荒谬的安全引导程序或类似的东西。

+0

有硬件安全模块,智能卡和难以篡改其它类似设备,但他们也不是完全安全。这取决于你的对手的复杂程度以及风险。 – ntoskrnl

回答

0

如果密钥必须以某种方式存储在Pi上,并且可以读取Pi上的任何内容,那么您运气不好。您可能使用任何类型的密钥或算法来提供传输内容,都可能被第三方复制和伪造。

这里是如何设法确保丕运行Linux的一些想法后:https://raspberrypi.stackexchange.com/a/1250

+0

我正在更多地寻找如何验证PI是由我制作的。 Pi连接到我的服务,并且我从中请求一些信息来验证它确实是我制作的。我可以使用pi来让我这么做吗? – CryptDemon

+0

那么,明显的选择是使用公钥加密,但是这需要在Pi上存储公钥或私钥。如果Pi不安全,那不是一个真正的选择。您可以将公钥存储在Pi上,并将其发送给服务器,该服务器可以识别该密钥,但这样会冒着有人在该过程中发现公钥的风险。 – patrickvacek