当前位置: 首页 > 科技观察

GitHub废除基于密码的Git身份验证

时间:2023-03-13 15:39:55 科技观察

代码托管平台GitHub于当地时间8月13日周五正式废除基于密码的Git身份验证。从太平洋标准时间09:00(PST为北美太平洋标准时间,北京时间14日0点)开始,使用GitHub的开发者将需要切换到基于令牌的身份验证来执行Git操作。基于令牌的身份验证包括个人访问、OAuth、SSH密钥或GitHub应用程序安装令牌。此前,2020年12月15日,GitHub在其官方博客上宣布:“自2021年8月13日起,在GitHub.com上进行Git操作时,将不再接受账号密码形式的认证。”1.更改认证方式的原因其实早在2020年7月30日,GitHub也表示:“所有需要认证的Git操作,如个人访问、OAuth或GitHubApp安装,都会使用基于Token的认证机制token。如果用户当前通过GitHub.com使用密码对Git操作进行身份验证,他们将很快收到一封电子邮件,敦促用户更新其身份验证方法或第三方客户端。”同时,官方还给出了更改认证方式的时间:2020年7月30日——如果用户现在使用密码通过API认证,可能会收到一封邮件,催促他们更新认证方式或第三方客户端.2020年9月30日和10月28日-所有API操作将暂时需要个人访问或OAuth令牌,以鼓励用户更新他们的身份验证方法。2020年11月13日-所有通过RESTAPI进行身份验证的操作将需要个人访问或OAuth令牌(身份验证使用GraphQLAPI已经需要个人访问令牌。2021年年中——所有经过身份验证的Git操作都将需要个人访问或OAuth令牌。GitHub官方认为,他们受益于近年来GitHub.com的许多安全增强功能,例如双因素身份验证、登录警报、设备保护、防止使用泄露的密码以及WebAuthn支持。这些功能使攻击者很难在多个网站上获得重复使用的密码,并使用它来访问用户的GitHub帐户。尽管有这些安全改进,但由于历史原因,未启用双因素身份验证的客户能够继续使用其GitHub用户名和密码对Git和API操作进行身份验证,从而使这些用户帐户的安全性面临风险。GitHub还认为,与基于密码的身份验证相比,令牌的使用具有许多安全优势:唯一性-令牌特定于GitHub,可以根据使用情况或设备生成。可撤销-令牌可以随时单独撤销,无需更新不受影响的凭证有限-令牌的使用范围受到严格控制,只允许执行用例中所需的访问活动随机性-令牌要复杂得多简单密码高于用户设计的,因此不受暴力破解等行为的影响。2.启动最新认证方式的影响工作流程影响命令行Git访问。使用Git的桌面应用程序(GitHubDesktop不受影响)。使用用户密码直接访问GitHub.com上的Git存储库的任何应用程序/服务。不受更改影响:如果用户的帐户启用了双因素身份验证,则需要基于令牌或基于SSH的身份验证。如果用户使用的是GitHubEnterpriseServer,这不会受到影响。如果用户维护GitHubApp,GitHubApps目前不支持密码验证。用户需要做什么对于开发人员,如果用户现在需要使用密码对GitHub.com上的Git操作进行身份验证,他们必须在2021年8月13日之前开始通过HTTPS(推荐)或SSH密钥使用个人访问令牌,以避免中断.如果用户收到电子邮件提醒他们正在使用过时的第三方集成软件,他们应该将客户端更新到最新版本。对于集成商,必须在2021年8月13日之前使用网络或设备授权流程对集成进行身份验证,以避免中断。有关详细信息,请参阅授予OAuth应用程序和开发人员博客上的公告。可以启用双因素身份验证,如果用户想确保他们的帐户不允许基于密码的身份验证,现在可以启用双因素身份验证。这将要求用户通过Git和第三方集成对所有经过身份验证的操作使用个人访问令牌。