42-系统攻防架构设计四(提问式图片验证码)
xiangliheart
xiangliheart
发布于 2022-07-25 / 14 阅读 / 0 评论 / 0 点赞

42-系统攻防架构设计四(提问式图片验证码)

提问式图片验证码设计

可以将图片验证码与具体的问题相结合,让用户识别图片内容的同时,还需要回答指定问题,来增加机器破解的难度。

图7-6所示的提问式图片验证码,可以随机产生各种问题,然后生成图片验证码,再要求用户回答。这种验证码的破解难度相对较高,必须通过以下3个步骤才能完成破解。

(1)     机器人要通过OCR技术准确地识别出图片中的汉字,提取出问题。

(2)     对于机器人而言,这些问题就是一堆字符,没有具体含义,它必须进行词法分析、语义分析,再查找对应的答案。这就需要机器人具有一定的人工智能,通过大量的训练才能够完成。

(3)     机器人可能会找到多种答案,逐一尝试,直到通过校验为止。所以,为了防止机器人反复重试答案,可以在回答错误之后自动更换问题。

图7-6 提问式图片验证码

提问式图片验证码的设计并无复杂之处,如图7-7所示,只需要增加一个题库,用来存储问题和答案,客户端获取验证码时,则随机从题库中抽取一道题目生成图片验证码即可。题库中的问题越多,安全性越高,防止被机器人穷举攻击(尝试所有问题和答案)。

图7-7 提问式图片验证码设计

这种验证码比较适用于专业垂直类系统,可以针对不同的专业和人群准备不同的题库。例如,医学类网站可以使用医学知识作为问题,计算机网站可以使用计算机知识作为问题。增加网站趣味性的同时,保证系统安全性。

提问式图片验证码的缺点在于增加了用户的操作成本,因为并不是所有问题用户都是知晓的,太过大众化的问题又降低了机器破解的难度。因为在人类使用时,基本和机器识别的过程相同,也需要先理解其含义,再去搜索出答案,然后再尝试。


评论