停止强制密码轮换,禁止过时的 MFA 方法,以及 NIST SP 800-63 标准中用于数字账户身份验证和管理的其他更新。
在线服务为用户验证设定的要求(无论是密码长度、强制性电话号码还是闪烁的生物特征检查)通常受行业标准的约束。该领域最重要的文件之一是由美国国家标准与技术研究院 (NIST) 制定的 NIST SP 800-63 数字身份指南。该标准对所有美国政府机构及其承包商都是强制性的;在实践中,这意味着所有世界上最大的 IT 公司都遵守这一标准,其后果远远超出了美国的边界。
即使是不严格要求遵守 NIST SP 800-63 的组织,仍将从熟悉这些更新的指南中受益,因为它们通常作为其他国家/地区和行业的监管机构的蓝图。最近的更新是通过与行业专家进行四轮公开修订而制定的,反映了对数字身份识别和身份验证的最新理解。它涵盖了安全和隐私要求,并考虑了一种可能的分布式(联合)方法。该标准很实用,并考虑了人为因素 — 用户如何响应各种身份验证要求。
此新版本正式化了概念,并概述了以下要求:
• Passkeys(在标准中称为“可同步身份验证器”);
• 防网络钓鱼身份验证;
• 用户存储密码和访问权限(“属性包”);
• 定期重新认证;
• 会话令牌。
那么 — 如何在 2024 年对用户进行身份验证呢?
密码身份验证
该标准定义了三个身份验证保证级别 (ALA)。AAL1 允许最少的限制和最低的信心,即用户确实是他们声称的身份,而 AAL3 提供最强的保证,并且需要更严格的身份验证。只有 AAL1 允许单因素身份验证,例如仅允许单个密码。
密码要求如下:
• 只有用户通过安全通道发送到服务器的经过集中验证的密钥才有资格作为密码。在本地存储和验证的密码称为“激活密钥”,具有不同的要求。
• 禁止使用少于 8 个字符的密码,建议至少 15 个字符。
• 有计划的强制性密码轮换被认为是过时的做法,因此被禁止。
• 也禁止对密码组成提出要求(例如“您的密码必须包含字母、数字和符号”)。
• 建议允许使用任何可见的 ASCII 字符、空格和大多数 Unicode 符号(例如表情符号)。
• 最大密码长度 (如果强制要求) 必须至少为 64 个字符。
• 禁止在验证期间截断密码,但如果修剪前导/尾随空格会干扰身份验证,则允许修剪前导/尾随空格。
• 禁止使用和存储密码提示或安全问题(例如“您母亲的婚前姓氏”)。
• 必须使用常用密码或泄露密码的停用列表来消除常用密码。
• 泄露的密码(例如,出现在数据泄露中)必须立即重置。
• 必须限制登录尝试失败的速率和次数。
激活密钥
这些是限制访问设备上密钥存储的 PIN 和本地密码。它们可以是数字,建议的最小长度为 6 位数字,但允许使用 4 位数字。对于 AAL3,主加密密钥(例如,密钥)必须存储在防篡改芯片中,并使用激活密钥进行解密。对于 AAL1 和 AAL2,密钥限制外部人员的访问就足够了,输入尝试次数有限制 — 不超过 10 次尝试。超出限制后,存储将被锁定,需要另一种身份验证方法。
多重身份验证 (MFA)
建议在所有 AAL 级别实施 MFA,但虽然这只是 AAL1 的建议,但对于 AAL2 是强制性的,并且只有防网络钓鱼的 MFA 方法才可用于 AAL3。
只有加密身份验证方法才被视为防网络钓鱼:USB 令牌、密钥和加密密钥存储在符合 SP 800-63C(分布式识别和身份验证服务)的数字钱包中。所有加密密钥都必须存储在防篡改系统(如 TPM 或 Secure Enclave)中。允许跨设备同步密钥并将其存储在云中,前提是每个设备都满足标准的要求。这些规定允许在 Android 和 iOS 生态系统中使用密钥。
为了确保抵御网络钓鱼,身份验证必须与通信通道 (通道绑定) 或验证程序服务名称 (验证程序名称绑定) 相关联。这些方法的示例包括客户端身份验证的 TLS 连接和 FIDO2 规范中的 WebAuthn 协议。简单来说,客户端使用加密技术来确认他们正在与合法服务器连接,而不是为 AitM 攻击设置的假服务器。
来自身份验证器应用程序的基于时间的一次性密码 (TOTP)、SMS 代码以及来自刮刮卡或信封的一次性代码无法抵御网络钓鱼,但允许用于 AAL1 和 AAL2 服务。该标准指定了哪些处理一次性代码的方法不符合 MFA 的条件,必须避免使用。一次性验证码不应通过电子邮件或 VoIP 发送,它们必须通过与主要身份验证过程不同的通信渠道发送。通过 SMS 和传统电话线发送的 OTP 是可以接受的,即使两个连接(例如,Internet 和 SMS)都在同一设备上。
生物识别技术的使用
该标准限制了生物识别技术的使用——它们可以作为身份验证因素,但禁止用于识别。生物识别检查只能用作补充因素,并结合所有权证明(例如,智能手机或令牌 — 您实际拥有的东西)。
生物识别设备和算法必须确保错误匹配率 (FMR) 不超过 10,000 分之一,错误不匹配率 (FNMR) 不超过 5%。这些准确率在所有人口统计数据中必须保持一致。验证算法还必须能够抵抗演示攻击,在这种攻击中,传感器显示的是照片或视频,而不是真人。
在从生物识别数据生成并验证加密“指纹”后,该标准要求立即删除(清零)收集的生物识别数据。
与其他身份验证方法一样,生物识别检查必须包括对输入速率和失败尝试次数的限制。
原文始发于微信公众号(卡巴斯基网络安全大百科):密码标准:2024 要求
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论