我们是一家销售嵌入式设备的公司。我们的设备使用u-boot和Linux,两者都是GPL,因此我们必须释放源代码,以构建二进制文件。
我们正在实施更多的安全措施(既可以提高可靠性,也可以防止IP被盗),因此加密成为了一个话题。有些人要求对u引导和内核进行加密(引导加载器的硬件以及内核的u引导都支持这样的加密)。
是否有理由通过加密保护我们的GPL覆盖的二进制文件?我们已经有了安全的引导(引导加载程序的HW,内核的U,.)
发布于 2020-01-03 09:50:45
我认为你混淆了概念。加密就是隐藏一些东西,而且既然您发布了源代码,就没有理由隐藏它。但是您标记了“安全引导”,这可能是您在信息安全方面可能需要的更多内容。
安全引导并不关心隐藏内容,而是确保只运行预期的代码。它使用密码学,只是不是加密,而是签名。使用这些签名,它可以确保只有预期的软件在设备上运行。通过这种方式,安全引导可以有效地保护设备上的软件免受操纵。请注意,这种保护对于安全性是有用的,但也可以用来限制用户可以以负面的方式使用自己的硬件。
另一种需要加密的方法是保护更新。但在这里,这又不是隐藏东西(加密),而是确保这些是真正的更新,从供应商使用的签名。在这里,这也可以用于安全,以防止恶意更新,但也以一种消极的方式来阻止那些喜欢修补他们购买的硬件的超级用户。
发布于 2022-06-23 19:21:10
没有必要加密GPL要求您释放相应源的二进制文件。如果您将解密密钥以明文形式传送到您所加密的内容旁边,则加密任何内容也没有任何意义。“有些人”似乎对安全没有很好的理解,你可能不应该听他们的话。
https://security.stackexchange.com/questions/223619
复制相似问题