在 Eclipse 插件中加密敏感数据

问题描述

我们正在开发一个 Eclipse 插件,我们希望将一些信息与应用程序打包在一起,这些信息是敏感的,不能向最终用户公开,因为它的工作方式类似于“许可”文件。例如,许可证颁发给客户的日期就是这样的信息之一。因此,打包为 Eclipse 产品的插件在加载时将根据此“许可”文件进行验证。我们尝试了加密技术来加密文件内容。但是,在这种情况下,我们用来加密的密钥必须在插件源中进行硬编码。因此,想要篡改许可证文件的人可以简单地反编译插件 jar 并获取密钥,这将不再是秘密。

如何避免这种情况?

有没有像“非对称加密”这样的替代机制可以使用?

解决方法

正如greg-449 提到的,鉴于插件在用户的系统上,它永远不会是完全安全的。没有任何特定于 Eclipse 插件的内容。您将遇到通用安全和 Java 安全问题。也就是说,您可以尝试提供不同的安全层。

如果您想要顶级的安全性,我建议您联系专门提供安全性的公司(或您公司的安全团队)

作为第一步,您可以尝试提供混淆的插件代码。它将提供第一个低安全层。