一、无感知验证码实现原理
1、安全用户“点击完成验证”,安全用户验证通过。
2、风险用户根据风险程度触发二次验证,比如滑动拼图、图片点选等,验证通过之后再允许进行下一步操作。
无感知验证核心在于判断访问用户否是安全用户:
需要根据用户行为数据、访问代理、IP、环境变量等等数据建模,用户点击验证按钮之后去后端接口验证,验证通过才可进行下一步操作。
安全用户判断模型:
1、用户行为数据:
页面停顿时间、点击按钮时长,其他输入事件(埋点)、点击事件(埋点)等等。
2、访问代理:
建立白名单机制,非白名单代理触发二次验证。
3、访问IP:
白名单机制、黑名单机制、IP规则、vpn判断等等。
4、环境变量:
获取用户设备信息、网络信息、操作系统信息等等。
大约需从以上四个维度来建立安全用户判断模型,这种判断模型防御力相对比较弱的,同时还需要配合其他验证方式进行二次验证,进一步提高防御能力。
这只是一个简单的安全判断模型,后续还需动态的完善模型的数据,更细化的行为分析,以及行为训练(我们需要模拟人机操作),来最终确定模型数据的参数值,确定参数值才能保证判断安全性和准确性。
二、图片滑动验证码实现原理:
1、随机选取