Java MFA/IAM
一、MFA多因子认证
1. 定义:MFA(Multi-Factor Authentication)多因子认证是用户登录系统时,除密码认证外,增加的另一层安全认证保护,以增强账号安全性,比如手机短信验证码作为二次认证。
2. 实现方案
A. 静态密码:用户输入的用户名和密码;
一般要求:长度要求:8位以上
复杂度要求:大写字母、小写字母、数字、特殊字符,至少3种以上组合
定期更换要求:最多90天更换密码
重用限制要求:修改密码时不能与近期使用过的5个密码相同
B. 动态密码:即OTP(One-time Password),根据一定的算法生成的随机字符组合,通常为6位数字。
短信验证码:以短信的形式发送到用户的手机
硬件令牌:基于时间同步的硬件令牌,无需与服务器通信
手机令牌:用手机APP生成和显示动态密码
C. 动态令牌:基于时间同步的动态令牌,通过种子秘钥为需要的动态密码的账号生成相关秘钥。
二、IAM系统
1. 定义:IAM(Identity and Access Management)系统即身份识别与访问管理,它提供单点登录、强大的认证管理、集中的授权与审计,使企业安全、高效的管理系统账号和资源权限。
可参考:Authing知识库