9 encryption licensing cryptography key-generator
这个问题适用于那些有软件保护部分密钥验证技术经验的人.我试图了解PKV如何比其他keygen方案更好,并且在阅读了大量参考文献之后
http://47hats.com/2007/07/26/implementing-a-partial-serial-number-verification-system/
我有一些问题.
基本上,如果我理解正确,PKV背后的想法是不是在客户端检查整个密钥,以便如果有人(即黑客)提出了密钥,你只需要用不同的检查重新编译软件.关键,瞧,假keygen将不再有效.
但我不明白的是,如果在某个时刻有一个keygen,它显然能够解锁至少一个版本的软件,仍然可以在网上找到.所以基本上,你根本就没有避免使用虚假密钥,你只有一个版本的软件可以使用假的keygen而另一个版本没有.
那么它如何优于其他keygen保护技术呢?
Iri*_*ium 10
这里的想法是这样的 - 如果我们首先想象您的应用程序包含验证整个许可证密钥的代码,并且有人创建了密钥,那么重新保护下一版本的许可过程的唯一真正选择就是更改密钥完全生成算法,以便密钥生成器不再生成有效密钥.
这有一个明显的缺点 - 合法用户需要发布使用新密钥算法创建的新许可证密钥才能使用更新版本.这可能是您的支持梦魇,也可能是您客户的烦恼,可能会转变为竞争对手的产品.
通过仅验证产品的任何一个版本中的部分密钥,攻击者几乎不可能通过反汇编二进制文件来确定如何生成整个密钥.因此,要在下一个版本中锁定非法生成的密钥,您只需要开始检查在先前版本中未检查的密钥的不同部分.由于密钥生成机制没有改变,合法用户的密钥仍然可以正常工作,但非法密钥(以及创建它们的密钥)不再有效.当然,一个旧的密钥仍然可以用于旧版本,但是你可以做很多事情.
当然,因为你的密钥是有限长度的,所以在你检查整个密钥之前你可以重复这个过程很多次,或者所有先前版本中的检查都有足够的信息来重建整个密钥生成过程,但也许它将持续足够长的时间,让您能够合理地期望用户为您的产品的下一个主要版本购买新许可证,您可以完全更改生成机制并重新开始.