dreamersdw
2011-11-08 01:29:31 +08:00
猜测与零知识证明有关。
对软件公司来说,自己公司的软件中如果存在安全漏洞,并因没有及时修复而给客户带来损失的话,会给软件公司造成很大的负面影响。所以他们通常会乐意高价收购安全漏洞。
对漏洞寻找者来说,在没有源代码的情况下寻找软件的 Bug 是一件十分消耗时间与精力的事,自然他们希望得到报酬。
但问题来了,如果软件公司在作者修复了漏洞却拒绝支付报酬怎么办?
因此作者必须找到一种能够证明确实是自己发现了漏洞的方法,但又不能公布漏洞细节。利用 Hash 的不可逆性可以做到这一点,即零知识证明。
举例:
作者将与漏洞有关的那一部分二进制代码作 hash 运算后,得到了一串数字,然后作者在自己的网站上公布这一 hash 值,同时告知迅雷:“你们的软件有安全隐患,赶紧联系我吧,你们要是不回购,我可就要在黑市上高价出售啦!”
万一迅雷按作者的的提示修复漏洞后却耍赖,作者就可以公布有漏洞的代码,大家将其作 hash 运算后一看,果然与作者之前公布的 hash 是一致的。这样所有人都知道迅雷是个骗子了。
因些作者通过“漏洞 hash”可以保证自己的利益不受侵害。