强化认证、双因素认证
细节
不完善的身份认证会使得攻击者未授权访问应用程序。
修复
密码不应该简单化。最好使用复杂的密码,包括至少六个字母数字字符的长度。要求选择秘密单词或(非用户创建的)图标作为登录过程的一部分可以帮助保护用户的帐户,以防他们重复使用密码或者作为某些数据的一部分的密码被动暴露。
在某些情况下,用户名和密码不足以为移动应用提供足够的安全性。当涉及敏感数据或事务时,请实施双因素认证。每次用户登录时进行双因素认证可能会影响用户体验,但可以间隔使用或访问所选功能时使用。可以采用增强认证方法来提供对非事务性区域的正常访问,但需要对敏感功能进行双因素认证。
增强认证的选项包括:
- 额外的秘密单词/图标
- 通过短信或电子邮件提供的验证码 - 但请注意,攻击者可能会在被盗设备上访问这两者
- 密码加上其他用户已知的值,例如用户选择的个人因素
- 提前由用户选择的安全问题和答案(例如在注册期间就填好的)
对于最高级别的安全性,请使用一次性密码,要求用户不仅拥有正确的凭据,还可以使用包含一次性密码的物理令牌。
参考
- OWASP Mobile Top 10: M5 - Poor Authorization and Authentication
- CWE: CWE-308: Use of Single-factor Authentication