我目前正在开发的共享软件注册系统将公共 DSA 密钥嵌入到可执行文件本身中,而私钥驻留在服务器上。(为了讨论,我们假设服务器是 100% 安全的,任何人都无法获得私钥。)
每当购买程序时,服务器都会通过使用私钥签署用户名来为用户生成许可证。然后将该许可证通过电子邮件发送给用户。一旦用户手动将他们的姓名和许可证输入到共享软件应用程序中,应用程序中嵌入的公钥就会验证它是有效还是无效的许可证。
但是,对于具有正确“专业知识”的坚定的人来说,反汇编可执行文件并检索公钥将是相当微不足道的。
我的问题是,他们能用它做什么?公钥本身是完全无害的吗?公钥是否足以对密钥生成器进行逆向工程?
好奇的人想知道。提前致谢!