DSA:黑客可以用*公钥做什么?

kur*_*ige 18 security signing registration dsa public-key

我正在开发的共享软件注册系统将公共DSA密钥嵌入可执行文件本身,私钥驻留在服务器上.(为便于讨论,让我们假设服务器是100%安全的,有没有办法对任何人得到他们的手私钥.)

每当购买程序时,服务器通过使用私钥对用户的名称进行签名来为用户生成许可证.然后将该许可证通过电子邮件发送给用户.一旦用户手动将其名称和许可证输入共享软件应用程序,它就会被嵌入在应用程序中的公钥验证为有效或无效的许可证.

然而,对于具有正确的"技术诀窍"的确定的人来说,反汇编可执行文件并检索公钥将是相当微不足道的.

我的问题是,他们可以用它做什么?公钥本身是完全无害的吗?公钥是否足以对密钥生成器进行逆向工程?

好奇的人想知道.提前致谢!

Mic*_*urr 24

公钥应该没有任何用处.但是,如果很容易找到检查,他们可能只是简单地绕过它并在一个总是成功的测试中进行补丁,而不必费心去根据公钥验证许可证.

  • +1(我即将发布的内容).验证部分更有可能被剥离. (2认同)
  • 打败我也是.非对称密码学的设计使得秘密不需要共享,因此只要验证方法不被完全规避,公钥就是公共密钥. (2认同)

Don*_*ows 7

公钥本身会让他们解密服务器发出的任何加密信息.而已.从公钥转到私钥是非常困难的; 这就是公钥加密的工作原理.(通过"特殊"我的意思是它的设计是为了抵抗资金充足的政府努力;如果它让NSA不让你破裂,那么它肯定足以阻止Joe Blow.)

请注意,它对DRM没有帮助,听起来有点像你想要的.DRM完全被设计破坏; 如果攻击者有信息和密钥在他本地的设备中解锁它,它已经游戏结束了.如果你给攻击者一把钥匙,它也可能是公开的,因为他肯定不会愿意保密...