GitHub双因素认证(为什么CNCF要求双因素认证?)

为什么80%的码农都做不了架构师?>>>   hot3.png

Two-Factor Authentication(2FA),一般称双因素认证,是两种身份认证的手段。

想要成为Kubernetes社区贡献者,必须要开启GitHub双因素认证。

什么是双因素认证

通常我们访问网站,使用帐号和密码就可以登录,对于安全要求更高的场合,除了帐号和密码以外还需要提供其他的证明来登录,这样安全系数就会提高,避免帐号密码遗失风险。

一般,用于证明一个人身份可以提供以下信息:

  • 秘密信息:只有用户知道的信息,比如密码;
  • 个人物品:只有用户拥有的物品,比如身份证、银行卡、手机验证码;
  • 生理特征:只有用户拥有的特征,比如指纹、相貌;

这些证据信息就称为因素(factor),提供的因素越多,证明力就越强,身份就越可靠。

比如,手机银行转帐,除了输入密码外,往往还需要输入手机收到的验证码,这是典型的双因素认证。

GitHub开启双因素认证

GitHub默认不会开启双因素认证,但你可以在安全设置中开启: GitHub双因素认证(为什么CNCF要求双因素认证?)_第1张图片

按照GitHub指引即可开启双因素认证。

双因素类型

GitHub提供两种双因素认证,一种是通过手机APP,另一种是通过短信验证码。

GitHub双因素认证(为什么CNCF要求双因素认证?)_第2张图片

手机APP

手机APP做双因素认证,实现原理主要基于TOTP(Time-based One-time Password)算法,即基于时间的一次性密码。

有些银行会给客户派发一个密码器,输入密码后,密码器上会出现几个数字,在网银操作时,除了输入银行卡的支付密码外,还要求输入密码器上的数字。密码器上的数字每隔一段时间就会更新。

那现在使用APP,替代密码器的就是手机。APP替代的是密码器中的软件程序。

简单的将,使用APP开启双因素认证时,GitHub会生成一个密钥,APP通过扫描 GitHub的二维码获取这个密钥,同时还会获取GitHub的账号信息。通过这个密钥,GitHub 端(服务器端)根据当前时间和密钥能够计算出一个密码。APP 端根据当前时间和密钥也能计算出一个密码,只要时间一致,这两个密码就是一致的。

具体开通步骤不再赘述,按照 GitHub 指引一步步操作即可。

短信验证码

短信验证码使用起来最方便,但遗憾的是国内用户暂时无法使用。

转载于:https://my.oschina.net/renhc/blog/3051002

你可能感兴趣的:(GitHub双因素认证(为什么CNCF要求双因素认证?))