用户安全登录设计思考

        登录接口是大多数产品的第一道安全防线,至关重要,如果让你帮助开发设计安全的登录机制,你会如何设计呢?

       根据实际经验,设计时应该考虑以下二大块:一是防止攻击者登录;二是攻击者登录后的安全措施;

一、防止攻击者登录

       防止攻击者登录设计需要考虑以下三方面:
(1)不允许攻击者暴力破解:包括使用图形验证码(需要加上杂乱的背景、字符变形及相连)、按钮验证码、拖拉验证码、限制同一用户名尝试登录错误次数;
(2)增大攻击者爆破的难度,密码应该至少八位,包含特殊字符、数字、字母,并且要进行弱密码的验证,譬如说admin@123这种弱密码;使用手机验证码登录的,需要考虑手机验证码的长度、有效时长、尝试次数;
(3)使用二次验证,包括短信验证码、人脸识别、语音识别,特别是更换设备时,我们应该进行二次验证;

二、攻击者登录后的安全措施

       前面的措施很严格了,但万一攻击者通过撞库、人脸识别绕过等攻击手段绕过登录机制,成功登录时,我们的设计时需要考虑以下几方面:
(1)、异常登录如异地登录是否会有异常提醒,并且有无安全验证机制,譬如使用短信验证码;
(2)、攻击者登录后,是否有强制攻击者下线的机制,譬如说不允许同一账户同一时间多用户在线,后来登录者能够强制前面的登陆者下线;
(3)、攻击者更改密码后,我们是否有严格的密码找回机制。

你可能感兴趣的:(用户安全登录设计思考)