GitHub雙因素認證(爲何CNCF要求雙因素認證?)

Two-Factor Authentication(2FA),通常稱雙因素認證,是兩種身份認證的手段。算法

想要成爲Kubernetes社區貢獻者,必需要開啓GitHub雙因素認證。安全

什麼是雙因素認證

一般咱們訪問網站,使用賬號和密碼就能夠登陸,對於安全要求更高的場合,除了賬號和密碼之外還須要提供其餘的證實來登陸,這樣安全係數就會提升,避免賬號密碼遺失風險。服務器

通常,用於證實一我的身份能夠提供如下信息:網站

  • 祕密信息:只有用戶知道的信息,好比密碼;
  • 我的物品:只有用戶擁有的物品,好比身份證、銀行卡、手機驗證碼;
  • 生理特徵:只有用戶擁有的特徵,好比指紋、相貌;

這些證據信息就稱爲因素(factor),提供的因素越多,證實力就越強,身份就越可靠。blog

好比,手機銀行轉賬,除了輸入密碼外,每每還須要輸入手機收到的驗證碼,這是典型的雙因素認證。it

GitHub開啓雙因素認證

GitHub默認不會開啓雙因素認證,但你能夠在安全設置中開啓: io

按照GitHub指引便可開啓雙因素認證。社區

雙因素類型

GitHub提供兩種雙因素認證,一種是經過手機APP,另外一種是經過短信驗證碼。驗證碼

手機APP

手機APP作雙因素認證,實現原理主要基於TOTP(Time-based One-time Password)算法,即基於時間的一次性密碼。登錄

有些銀行會給客戶派發一個密碼器,輸入密碼後,密碼器上會出現幾個數字,在網銀操做時,除了輸入銀行卡的支付密碼外,還要求輸入密碼器上的數字。密碼器上的數字每隔一段時間就會更新。

那如今使用APP,替代密碼器的就是手機。APP替代的是密碼器中的軟件程序。

簡單的將,使用APP開啓雙因素認證時,GitHub會生成一個密鑰,APP經過掃描 GitHub的二維碼獲取這個密鑰,同時還會獲取GitHub的帳號信息。經過這個密鑰,GitHub 端(服務器端)根據當前時間和密鑰可以計算出一個密碼。APP 端根據當前時間和密鑰也能計算出一個密碼,只要時間一致,這兩個密碼就是一致的。

具體開通步驟再也不贅述,按照 GitHub 指引一步步操做便可。

短信驗證碼

短信驗證碼使用起來最方便,但遺憾的是國內用戶暫時沒法使用。

相關文章
相關標籤/搜索