公钥完整性-中间人攻击

Public Key Integrity - Man in the middle attack

本文关键字:攻击 中间人 完整性 公钥      更新时间:2023-10-16

我想许可我的产品。问题在于验证和确保公钥不会被更改,证书也不会被更改(中间人攻击)。

到目前为止,我的计划是;

  1. 我将带有许可证密钥和签名证书(使用私钥签名)的EXE交给客户
  2. 当客户输入许可证密钥时,我的EXE将使用公钥验证它(生成哈希代码,然后解密证书以获得其他哈希代码并进行比较)

现在的问题是;如果有人对EXE进行反向工程,用自己的公钥更改公钥,并用自己的私钥生成新的证书。然后EXE将始终验证证书,我的EXE被黑客入侵。

这可能吗?如果是,有什么解决方案可以确保我的公钥不被更改?

注意:不涉及互联网连接。

要确保某个内容(例如可执行文件)的完整性,请使用私钥对其(或其关键部分)进行签名,并在每次启动应用程序时检查签名是否有效。

有足够时间的人当然可以弄清楚签名是如何完成的,并替换它。他们可以完全绕过检查。唯一的解决方法是加密。但有足够时间的人可以算出解密算法。。。

保护许可证的常见方法是将软件绑定到一些硬件,如USB加密狗、TPM或HDD序列号。这仍然不能保证一个坚定的黑客不会绕过你的许可。

没有100%的黑客防护。你所要做的就是让你的用户破解它变得不经济。努力破解一笔比你为产品收费更贵的交易。使许可条款非常明确,并警告在违规情况下被起诉的风险。建立可疑违规行为的报告机制,这样你就可以追查他们。