总结

本文分析了于 2025 年 7 月 31 日发布的新数字身份标准 NIST SP 800-63-4 中的“约束性”条款。虽然该标准没有明确定义“约束性保证级别”,但本文重点关注 SP 800-63A-4 中隐含的级别,以及 SP 800-63B-4 中定义的后续身份验证器添加过程中存在的重大安全问题。

核心问题在于,根据现行法规,在低级身份验证器会话(例如 AAL1)期间,可以将新的、更高级别的身份验证器(例如 AAL2 或 AAL3)绑定到用户帐户。攻击者如果攻破了低级身份验证器,就可以将自己的更高级别的身份验证器绑定到受害者的帐户,从而接管该帐户。

为降低此风险,本文提出对绑定规则进行三项修改:对新认证器使用 AAL 或更高级别的认证保证级别进行绑定;将新认证器注册为与当前会话具有相同 AAL 级别的认证器;或重新执行身份验证。这将防止使用低保证级别会话绑定高保证级别认证器,增强安全性,并使依赖方 (RP) 能够更准确地评估保证级别。

1.首先

NIST SP 800-63-4 是于 2025 年 7 月 31 日发布的一项新的数字身份标准。虽然它涵盖了广泛的领域,但本文将重点关注“绑定”方面。

NIST SP 800-63B-4 使用术语“绑定”而非“颁发”,因为它不仅涵盖云服务提供商 (CSP) 颁发身份验证器的情况,还涵盖用户自带身份验证器并将其注册到 CSP 用户帐户的情况。因此,“绑定”一词既包括用户(订阅者)向 CSP 注册其身份验证器的情况,也包括 CSP 颁发身份验证器的情况。

NIST SP 800-63-4 并未明确描述具有约束力的安全级别。然而,其中一些条款暗示了这些级别的存在。它们主要出现在身份验证器的初始注册阶段,如 SP 800-63A-4 中所述,每个级别都有相应的要求。对于每个级别共有的具体安全要求,请参阅 SP 800-63B-4。

2. 身份验证器绑定

一般规定

SP 800-63B-4 中的第 4.1 节专门介绍了装订。

首先,我们对“身份验证绑定”定义如下:

身份验证器绑定这指的是在特定身份验证器和订阅者帐户之间建立关联,使该身份验证器能够单独使用或与其他身份验证器结合使用来验证订阅者的身份。

(来源)基于 NIST SP 800-63B-4,作者临时翻译。

接下来,将列出以下一系列规定。

身份验证器通过以下方法之一绑定到订阅者帐户:你必须(应当)。

  1. 由 CSP 作为注册的一部分签发。
  2. 用户提供验证器,CSP 认为该验证器可以接受。
(来源)NIST SP 800–63B-4, 第4.1节, 根据第 2 段,这是作者的暂译。

将后续身份验证器绑定到用户帐户时,CSP 必须满足以下要求:

  1. 确保该流程请求的身份验证级别为以下两个级别中较低的一个:用户帐户当前可用的最高 AAL 和新身份验证器将使用的最高 AAL。必须.而且,
    • 例如:绑定适用于 AAL2 的身份验证器时,除非订阅者帐户只有 AAL1 身份验证功能,否则需要 AAL2 身份验证。
  2. 如果添加了身份验证器,4.6节根据相关规定,订户将通过与新认证器相关的交易无关的方式收到通知。必须。
(来源)基于 NIST SP 800-63B-4,第 4.1 节,第 4.1.2.1 段,第 2 段,作者的临时翻译。

上述第 1-3 条规定存在一些问题。我们将在第 5.2 节中探讨这些问题。

以下段落概述了身份生命周期中的各项要求。和往常一样,这段文字的写法比较混乱,在一个段落中罗列了多项要求、建议等等,因此我们将对其进行重新排版,并对每一项进行编号。

在整个数字身份生命周期中,CSP 需满足以下要求:

  1. 使用以下方法之一将身份验证器绑定到订阅者帐户:必须。
    • 通信服务提供商 (CSP) 会在注册过程中颁发身份验证器。
    • CSP 接受可接受的身份验证器,并将其注册到用户帐户。
  2. 记录每个用户帐户绑定的所有身份验证器。必须。
  3. 为了使验证者能够评估是否符合每个 AAL 的要求,需要确定绑定身份验证器的特性(例如单因素或多因素身份验证以及抗网络钓鱼)。必须。
  4. (隐含要求)将判决结果告知RP。必须。
  5. 强有力的证据(例如身份验证器证明)、来自您自己颁发身份验证器的直接信息,或身份验证器实现的总体特征(例如,网络认证根据用户验证位是否设置来判断。您可以这样做(MAY)。
  6. 还保存了满足验证器验证要求所需的其他状态信息。必须。
    • 例如:3.2.2节文档中规定的身份验证尝试限制要求 CSP 或验证器维护有关最近一次身份验证失败的状态信息,但由身份验证器验证的激活元素除外。
  7. 创建一条记录,其中包含身份验证器生命周期中重要事件的日期和时间(例如绑定到订阅者帐户、续订、修改和撤销)。必须。
  8. 对于与事件关联的设备,请包含指示绑定来源的信息(例如 IP 地址和设备标识符)。理想的(应该)。
  9. 请求提供更多信息,以确定新的身份验证器或相关端点是否适合所请求的 AAL。您可以这样做(MAY)。
(来源)作者根据 NIST SP 800-63B-4 第 4.1 节第 4 段编写。

3. 注册时的约束力

注册时的绑定是注册流程的一部分。SP 800-63A具体处理方式如下。相关规定如下:

通信服务提供商应鼓励用户关联至少两种不同的身份验证方法。应该关于订阅者账户第5节关于身份验证器的链接[SP800-63B] 第 4.1.2.1 节を参照されたい。

  1. CSP 必须提供一项功能,允许申请人通过以下方法之一链接身份验证器:须)。
    1. [SP800-63B] 第 4.1.3 节根据[相关章节]中规定的每种身份验证器类型的要求,远程注册用户提供的身份验证器。
    2. 实体认证设备将送达已核实的地址。
    3. 交付认证设备或现场注册认证设备。
  2. 如果身份验证器与用户的单个受保护会话之外进行链接,则 CSP 必须通过以下方式之一验证预期订阅者是否实际存在:须)。
    1. 返回续行代码。
    2. 与身份验证过程中获取的生物特征信息进行匹配。
(来源)NIST SP800-63A-4,第 1 节 4.1.12 初始身份验证器绑定

这些参考文献有点复杂难懂,所以我将在下面用自己的话解释一下。

CSP必须满足以下要求:

  1. 允许将多个身份验证器绑定到订阅者帐户。
  2. 我们保证该过程需要以下最低级别的身份验证。
    • 目前最大的AAL。或者
    • 使用新型身份验证器的最大AAL。

      注1:这意味着,如果一个用户帐户仅绑定了一个 AAL1 身份验证器,则后续的 AAL2 身份验证器将绑定到该帐户,且绑定过程均在 AAL1 会话期间进行。这会带来问题,因为攻击者可能已经入侵了 AAL1 会话,并试图将他们自己的 AAL2 身份验证器绑定到受害者的帐户。
  3. 4.6节根据(账户通知)的规定,订阅者将通过与绑定新验证器的交易无关的方式收到通知。

    注2:这项要求部分解决了注释 1 中指出的问题。

此外,如果验证器来自与当前用于验证用户身份的设备不同的设备,则绑定过程必须按以下顺序进行:

  1. 用户通过当前已认证的设备向 CSP 请求绑定码。
  2. CSP 生成绑定代码并将其返回给设备。
  3. 用户将绑定码输入到具有新身份验证器的第二个设备中。
(来源)基于 NIST SP 800-63A-4,第 4.1.12 节,作者。

4. 具有约束力的法规

SP 800-63A-4 规定了每种 IAL 的要求。下面,我们将介绍 IAL2 和 IAL3 的要求。

4.1 IAL2 装订规范

SP 800-63A-4 的 4.2.12 节“初始认证器绑定”中描述了 IAL2 绑定要求。

在 CSP 的身份系统中为申请人(此时即用户)建立唯一的用户帐户后,即在身份注册表中创建记录后,可以将一个或多个身份验证器与用户帐户关联(绑定)。

为最大限度减少账户恢复的需求,通信服务提供商将遵守以下要求:

  1. 鼓励用户绑定至少两种独立的身份验证方法是理想的(应该)。
    注意事项:有关订阅账户的详细信息5节关于身份验证器的绑定SP 800-63B 第 4.1.2.1 节请参考。
  1. 申请人可以使用以下方法之一绑定身份验证器。必须。
    1. SP 800-63B 第 4.1.3 节用户提供的身份验证器将根据[相关文档]中定义的身份验证器类型要求进行远程注册。
    2. 我们将向已验证的地址寄送实体认证设备。
    3. 验证器需亲自递送或注册。
  2. 如果身份验证器绑定在与用户的单个受保护会话之外,请使用以下方法之一验证预期订阅者的存在:必须。
    1. 请返回续程码。
    2. 身份验证过程中收集的生物特征信息将与此信息进行比对。
(来源)基于 NIST SP 800-63A-4,第 4.2.12 节,初始认证器绑定,作者的临时翻译。

4.2 IAL3 装订规范

IAL3 绑定要求在 SP 800-63A-4 的 4.3.10 节“初始认证器绑定”中进行了描述。具体要求如下:

CSP 符合以下要求:

  1. 用户的第一个身份验证设备是在与在场的身份验证人员进行面对面互动时分发或注册的。必须。
  2. 如果 CSP 在与用户的单个经过身份验证的受保护会话之外分发或注册初始身份验证器,则在注册身份验证器之前,必须将从用户身上采集的生物特征样本与身份验证期间采集的样本进行匹配。必须。
  3. 为了进一步加强绑定过程,订户需要携带在身份验证过程中使用的身份证明文件。或许。
(来源)基于 NIST SP 800-63A-4,第 4.3.10 节,初始认证器绑定,作者的临时翻译。

5. 当前文档存在的问题

关于 SP 800-63-4 的装订过程,可以指出几个问题。

5.1 身份验证器初始绑定相关问题

尤其缺少以下关于远程注册的规定:

  1. 身份验证官在用户建立身份的同一受保护会话中注册用户的第一个身份验证器,以便将其注册到身份注册表中。必须。
(来源)作者

这可能只是一个疏忽,也可能反映了美国的特殊情况,即由于美国没有被广泛接受的数字身份证明文件可以有效地用于远程身份验证,因此使用 IAL3 进行远程身份验证很困难。

如果其他接受数字 ID 的司法管辖区使用 SP 800-63-4,则最好添加上述第 4 条规定。

5.2 添加后续验证器的相关问题

如上所述,条款 3 存在问题。该条款规定如下:www

CSP 确保该过程请求的身份验证级别为以下两个级别中较低的一个:用户帐户当前可用的最高 AAL 和新身份验证器将使用的最高 AAL。必须。

(来源)基于 NIST SP800-63B-4,第 4.1.2.1 节。绑定附加验证器,第 2 段,作者的临时翻译。

这意味着在由 AAL1 身份验证器创建的会话中,您可以将“AAL2”或“AAL3”身份验证器绑定到订阅者帐户。

问题在于:如果攻击者已经攻破了受害者的 AAL1 身份验证器(例如密码),他们就有可能将自己的 AAL2/AAL3 身份验证器绑定到受害者的帐户,并继续使用它们。

规则3可能需要修改如下:

CSP将执行以下操作之一:必须。

  1. 确保该过程需要的身份验证级别不低于用户尝试添加的身份验证器的 AAL 级别。
  2. 即使验证器本身可以满足更高的 AAL 要求,注册的验证器仍会被记录为与当前会话具有相同的 AAL。
  3. 为了提高会话质量,使其超过已注册身份验证器的 AAL,将使用相应的 IAL 再次执行身份验证。
(来源)作者

6. 结论

本文总结了NIST SP 800-63-4系列标准中包含的“绑定”条款。文章指出,SP 800-63A-4隐含了“绑定保证级别”的概念,并且同一文档中引用的SP 800-63B-4方法存在漏洞,攻击者可以利用该漏洞将其更高级别的身份验证器添加到受害者的帐户中。

为缓解此问题,本文提出对相关法规进行修订和补充。这些缓解措施将使通信服务提供商 (CSP) 能够更安全地将身份验证器绑定到账户,并避免给责任方 (RP) 造成虚假的安全感。