多因子强认证 (MFA)开发手册

开发了个在云上开放的业务应用, 担心账户密码的安全? 传统的防火墙以内的应用还好办, 因为有物理的网络隔离,不通过VPN拨进来,即使账户密码泄漏, 也不会有太大的风险。 现在云里就不一样了, 酒店,机场, 咖啡馆, 到处都可能是攻击的来源。

九州云腾的MFA手机令牌, 使用了Google 的OTP算法, 是基于时间戳的Time-based One-time Password Algorithm (TOTP), 30秒更换一次6位数密码, 让认证更安全。这个类似FIDO U2F的方式。 每次需要传递一个用户ID给IDP, 然后来确认是否通过来自设备的认证。这个在IDP端是要存放业务应用子账户对应的信任设备信息的。

开发者服务-MFA-QR

集成的时候, 需要考虑用户的第一次绑定和每天的确认过程:

 

第一次绑定: 一个WEB应用RP, 用户在登录了以后, 可以通过页面上引入JS, 生成一个绑定的QR码, 内含AppID, 一个挑战随机码state。使用了我们的“IDP身份管家”手机端APP扫码后, 通知到IDP, IDP绑定用户设备DeviceID到这个AppID, IDP 通过WEB Socket将加密后的用户标识UUID通知到RP, RP将该UUID与当前登录的用户绑定,  然后通过一个Callback URL (RP 提供),传递回RP并确认这个挑战码, RP将加密后的含state参数解密, 如果正确将登录过程设置为确认已经通过,

每天的确认: 一个RP用户登录了以后, 可以通过调用我们的JS, 生成一个绑定的QR码, 内含一个挑战随机码state。使用了我们的“IDP身份管家”手机端APP扫码后, 通知到IDP, IDP 通过WEB Socket将加密后的用户标识UUID通知到RP, RP通过UUID能找到这个用户, 然后通过一个Callback URL (RP 提供),传递回RP并确认这个挑战码, RP将加密后的含state参数解密, 如果正确将登录过程设置为确认已经通过。

注: state 是一次性的挑战码, 能确保认证过程的安全。

Callback URL有两种不同的行为, 通过或拒绝(含超时)。为了简化你的工作,针对Callback URL,  我们对应有Java, PHP, Python等不同的开发包及样本代码, 你可以参考使用。 未来, 在移动端, 只要在你的应用中导入我们的MFA开发者SDK, 就可以具有扫码, 返回确认等一系列功能, 使自己的APP快速具备生成6位一次性验证码的功能!

欲知详情, 请注册成为我们的开发者并索取详细的MFA集成文档, 或联系我们的咨询热线!

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注