验证字/验证码(CAPTCHA) 最早作为 Carnegie Mellon 大学的一个科研项目,Yahoo! 是CAPTCHA 的第一个用户。 CAPTCHA 这个缩写来自 “Completely Automated Public Turing test to Tell Computers and Humans Apart” ,其目的就是通过用来区分机器与人,其安全性与 SPAM 数量息息相关,一直以来,是此消彼长。
验证字是每一个网站不可回避的一个东西。前几天 Slashdot 上一则题为: Yahoo CAPTCHA Hacked 的消息引起了不少人的震惊。乖乖,精确度能达到 35%!要知道,一直研究 CAPTCHA 有效性的 PWNtcha 项目的评测中,Yahoo! 的验证字几乎是最安全的那种, “A very good captcha, but not always human-solvable”,之前也有 专门针对 Yahoo ! 所用验证字进行破解研究项目,比如 Gimpy。
肯定没有 100% 安全的验证字–除非你根本不想让人看明白,在用户可识别性与机器识别之间的平衡是最大的问题,”挑战–响应”,两个环节之间的问题其实也挺微妙。在注册微软的一些服务的时候,验证字很难让人看明白,要多刷新几次才能有个好认的;而一些电子商务的网站,比如 Paypal ,验证字被 PWNtcha 破解的概率是 88% ,这么做应该也是有苦衷的,毕竟要考虑用户体验。
中文网站所使用的验证字机制,个人觉得还没有引起足够的重视。唯一值得一提的是腾讯的 “中文” 验证字算是一个创新(估计是申请专利了),估计能够抵挡住国外 SPAM 的攻击(谁让老外不认识中文呢). 而从我个人的体验上来看,通过机器人发送 SPAM 的大部分来自国外,国内目前处于”手工“ Spam 方式比较多,当然,更为精准。这就是技术的”马奇诺防线“啊!
参考:
- CAPTCHA 官方站点: http://www.captcha.net/
- PWNtcha 项目: http://sam.zoy.org/pwntcha/
- Captcha @ WikiPedia: http://en.wikipedia.org/wiki/Captcha
- 更为安全的 reCAPTCHA: http://recaptcha.net/
–EOF–