Docker Hub现支持TOTP双重验证

现在Docker Hub开始支持双重验证,官方采用了比SMS更强的基于时间的一次性密码(Time-Based One-Time Password,TOTP)身份验证,用户可以在账户设置的安全选项中激活,而在激活双重验证后,Docker CLI将要求使用个人访问令牌而非密码登录。

由于Docker Hub在现代应用程序开发中,扮演关键的核心角色,因此他们正逐步加强系统的安全性,其中一项便是加入双重验证,用来保护账号的合法用户,用户登录账户不只要提供账号密码,还要额外提供能证明账户拥有权的信息,官方提到,由于Docker Hub有数百万开发者以及企业在使用,因此他们选用较安全的双因素模型TOTP,而另一种常用的SMS身份验证,已经被证明存在许多攻击媒介以及漏洞。

TOTP身份验证比起SMS需要更多的预先设置,不过在初次设置之后,便会跟基于文本的消息验证方法一样简单,官方推荐用户可以从App Store或是Google Play中,下载Google或是微软的验证器,而用户要使用像是YubiKey的硬件密钥也可以。

在使用验证器之前,用户需要向Docker Hub共享一组验证器产生的32进制秘密字符串,之后验证器将通过算法,按固定时间间隔更新密码,这组密码具有时间性,属于用户个人才可访问的敏感信息,在用户登录Docker Hub输入完账号密码后,系统会要求用户额外输入这个由验证器产生的密码。

由于许多Docker用户都通过CLI访问账户,特别需要注意的是,当用户一旦激活了双重验证,账号密码的组合将无法用于CLI登录Docker Hub,用户需要创建个人访问令牌,这项功能位于账户设置的安全选项。

官方提醒,由于初始同步验证器与Docker Hub共享的的机密字符串非常重要,因此在第一次同步配对后,Docker Hub便不会再次共享这个信息,因此当用户的设备遗失,或是无法访问身份验证器,就无法使用双重验证,因此用户必须要妥善保管,第一次激活双重验证时取得的恢复密码。

目前双重验证功能仍在Beta测试阶段,在不久之后将会正式发布,之后官方计划增加其他身份验证控制,包括对WebAuthn的支持,让用户可以使用支持WebAuthn的安全密钥和浏览器执行双重验证,之后也会提供强制组织使用双重验证的控制选项,让组织管理员可以强制要求所有成员使用双重验证,并对无法使用的人提供额外的支持方法。