kur*_*ige 18 security signing registration dsa public-key
我正在开发的共享软件注册系统将公共DSA密钥嵌入可执行文件本身,私钥驻留在服务器上.(为便于讨论,让我们假设服务器是100%安全的,有没有办法对任何人得到他们的手私钥.)
每当购买程序时,服务器通过使用私钥对用户的名称进行签名来为用户生成许可证.然后将该许可证通过电子邮件发送给用户.一旦用户手动将其名称和许可证输入共享软件应用程序,它就会被嵌入在应用程序中的公钥验证为有效或无效的许可证.
然而,对于具有正确的"技术诀窍"的确定的人来说,反汇编可执行文件并检索公钥将是相当微不足道的.
我的问题是,他们可以用它做什么?公钥本身是完全无害的吗?公钥是否足以对密钥生成器进行逆向工程?
好奇的人想知道.提前致谢!
Mic*_*urr 24
公钥应该没有任何用处.但是,如果很容易找到检查,他们可能只是简单地绕过它并在一个总是成功的测试中进行补丁,而不必费心去根据公钥验证许可证.
公钥本身会让他们解密服务器发出的任何加密信息.而已.从公钥转到私钥是非常困难的; 这就是公钥加密的工作原理.(通过"特殊"我的意思是它的设计是为了抵抗资金充足的政府努力;如果它让NSA不让你破裂,那么它肯定足以阻止Joe Blow.)
请注意,它对DRM没有帮助,听起来有点像你想要的.DRM完全被设计破坏; 如果攻击者有信息和密钥在他本地的设备中解锁它,它已经游戏结束了.如果你给攻击者一把钥匙,它也可能是公开的,因为他肯定不会愿意保密...
| 归档时间: |
|
| 查看次数: |
6360 次 |
| 最近记录: |