我们正在使用基于Beaglebone black(AM335x)的定制板。要升级主板的固件,我们将使用加密的固件映像。
正如您已经猜到的那样,我们将使用对称加密来加密大型固件文件(fimware.tar),然后使用非对称密钥加密对称密钥。因此,我们有两个文件可供用户升级他的电路板。
我们不想这样做;我们只想给每个用户一个文件。因此,我们必须以某种方式将加密的固件映像和加密的对称密钥组合在一起。
我想到了两个策略。使用bash脚本加密固件。
有没有更好(更快)的方法来解决这个问题?
答案 0 :(得分:2)
有几种方法可以做到这一点:
选项1当然应该是首选,因为这可能是最安全的选择。这也意味着您可以使用标准库。
选项2要求您进行研究,以确定该选项是否符合您的需求并且是安全的。
如果代码和格式大小优化是首要考虑因素,那么选项3将是一个不错的选择。
对于选项3,您可以例如使用版本/格式说明符(1个字节),然后是包装的密钥(以长度为前缀),然后是固件(包装密钥之后的任何内容)。