Two-Factor Authentication(2FA),通常稱雙因素認證,是兩種身份認證的手段。算法
想要成爲Kubernetes社區貢獻者,必需要開啓GitHub雙因素認證。安全
一般咱們訪問網站,使用賬號和密碼就能夠登陸,對於安全要求更高的場合,除了賬號和密碼之外還須要提供其餘的證實來登陸,這樣安全係數就會提升,避免賬號密碼遺失風險。服務器
通常,用於證實一我的身份能夠提供如下信息:網站
這些證據信息就稱爲因素(factor),提供的因素越多,證實力就越強,身份就越可靠。blog
好比,手機銀行轉賬,除了輸入密碼外,每每還須要輸入手機收到的驗證碼,這是典型的雙因素認證。it
GitHub默認不會開啓雙因素認證,但你能夠在安全設置中開啓: io
按照GitHub指引便可開啓雙因素認證。社區
GitHub提供兩種雙因素認證,一種是經過手機APP,另外一種是經過短信驗證碼。驗證碼
手機APP作雙因素認證,實現原理主要基於TOTP(Time-based One-time Password)算法,即基於時間的一次性密碼。登錄
有些銀行會給客戶派發一個密碼器,輸入密碼後,密碼器上會出現幾個數字,在網銀操做時,除了輸入銀行卡的支付密碼外,還要求輸入密碼器上的數字。密碼器上的數字每隔一段時間就會更新。
那如今使用APP,替代密碼器的就是手機。APP替代的是密碼器中的軟件程序。
簡單的將,使用APP開啓雙因素認證時,GitHub會生成一個密鑰,APP經過掃描 GitHub的二維碼獲取這個密鑰,同時還會獲取GitHub的帳號信息。經過這個密鑰,GitHub 端(服務器端)根據當前時間和密鑰可以計算出一個密碼。APP 端根據當前時間和密鑰也能計算出一個密碼,只要時間一致,這兩個密碼就是一致的。
具體開通步驟再也不贅述,按照 GitHub 指引一步步操做便可。
短信驗證碼使用起來最方便,但遺憾的是國內用戶暫時沒法使用。