【问题标题】:What is the reasoning behind github access tokens?github访问令牌背后​​的原因是什么?
【发布时间】:2022-02-18 10:45:46
【问题描述】:

它们比 SSH 密钥对更安全还是更不安全。

我使用这些而不是 SSH 密钥对,如 github 中所引用的。在我看来,它们只是随机的复杂密码。

我现在通过输入我的用户名/令牌而不是我的用户名/密码来进行身份验证。我不明白这如何提供比密码更好的安全性。

我不反对使用它们,但它们看起来就像是自动生成的密码。看起来它们也没有 SSH 安全。

【问题讨论】:

  • 您通常将它们用于编程访问。它们与您的普通密码之间的区别在于它们可以被撤销。您还可以微调对帐户各个方面的访问权限
  • 就实际安全而言,令牌和密码没有区别。但是,GitHub 令牌是结构化的,因此您可以控制任何给定令牌提供的 多少 权限。然后,您完全撤销一个并构造一个新的,相当于“更改”密码。所有这些都是 GitHub 特定的;其他令牌认证系统不同;而 Git 本身对所有这些都是不可知的,因为 Git 不会自行进行任何身份验证,而是选择将其转移到其他程序或库上。
  • 对于“为什么”的问题,你真的必须问 GitHub 的人。我怀疑这是试图降低内部支持成本的一种手段。 :-)

标签: github ssh token


【解决方案1】:

使用 GitHub 访问令牌而不是密码有几个原因:

  • 令牌是伪随机生成的,因此执行暴力猜测攻击是不可行的。
  • 令牌具有固定形式,可以让秘密扫描软件识别它们,然后提醒用户或撤销它们。
  • 令牌的范围可能比密码更窄,因此它们可以在被盗用的情况下轻松过期或撤销,而不必担心会危害整个帐户。

但是,它们仍然是不记名凭证:您必须将它们像密码一样传递给远程系统。

SSH 密钥更安全,因为它们使用非对称加密。创建 SSH 会话时,会派生一个一次性共享密钥,并且您的密钥仅用于签署从该密钥派生的数据。您永远不会通过连接发送您的密钥,因此,只要您保证您的私钥安全,即使是可以破坏对方的攻击也无法破坏您的密钥。

正如 VonC 所指出的,令牌通过 HTTPS 使用,而 SSH 密钥通过 SSH 使用,因此它们不可互换。

【讨论】:

    【解决方案2】:

    它们首先不同:令牌将与 HTTPS URL 一起使用。

    我知道我无法使用我公司的 SSH 推送:禁止任何出口 SSH。

    由于我必须使用 HTTPS,tokensmandatory(因为它们可以很容易地被撤销/重新生成,而不是密码,如果被泄露,可以访问你的所有帐户)

    使用“Behind GitHub’s new authentication token formats”查看更多信息:

    我们的许多旧身份验证令牌格式都是 40 个字符的十六进制编码字符串,与 SHA 哈希等其他编码数据无法区分。这些有几个限制,例如我们的秘密扫描功能对受损令牌的检测效率低下甚至不准确。

    标记前缀是使标记可识别的一种清晰方法。我们包含特定的 3 个字母前缀来表示每个令牌,以公司符号 gh 和令牌类型的第一个字母开头。

    此外,我们想让这些前缀在标记中清晰可辨,以提高可读性。因此,我们添加了一个分隔符:_
    下划线不是 Base64 字符,这有助于确保我们的标记不会被随机生成的字符串(如 SHA)意外复制。

    还有:

    校验和实际上消除了离线秘密扫描的误报。我们可以检查令牌输入是否与校验和匹配并消除假令牌,而无需访问我们的数据库。

    我们的 OAuth 访问令牌实现现在是 178:

    【讨论】:

    • 从安全角度来看,您的安全性从最不安全到最安全 -> 密码、令牌、SSH。
    • @user17791008 是的,但在这种情况下,这些密码的熵足够强,无论如何我不能在工作中使用 SSH。所以它是象征性的。
    【解决方案3】:

    令牌比密码更好,因为它们是随机生成的,更长,因此更难破解

    因为 github 可以识别它们,所以它们可用于微调您为您的存储库授予它们的每个用户的访问权限。

    SSH 因为它是非对称的并且包含公钥和私钥是最安全的;但是,实现起来稍微困难一些,而且针对特定权限进行微调也不那么容易。

    普通密码已被弃用。

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 1970-01-01
      • 2018-08-31
      • 2020-01-26
      • 2016-03-31
      • 2019-06-07
      • 2021-11-01
      • 2010-10-03
      • 2018-02-28
      相关资源
      最近更新 更多