国家标准与技术研究院(NIST)在全球网络安全指导中是一个广为人知的名字。其 SP 800-63 数字身份指南,特别是 SP 800-63B,定义了组织应如何管理身份验证,包括密码、多因素身份验证和凭证生命周期控制。虽然最初是为美国联邦机构开发的,但这些指南因其基于实证研究和现实攻击数据而被私营企业、监管机构和安全供应商广泛采用。
开始您的Netwrix Password Policy Enforcer免费试用。实施更强的密码策略,并在Active Directory中阻止弱、重复和被泄露的凭据。
密码指导为何会演变
Password guidance evolves because threats evolve. Decades ago, security policies emphasized frequent password changes and complexity requirements. Research has shown that these rules can make security worse by pushing users toward weak patterns, password reuse, and insecure workarounds. NIST updates its recommendations to reflect how attackers operate today and what attack methods they employ, while also accounting for how users realistically create and manage passwords.
企业政策的基础
NIST密码指南作为各行业企业安全政策的基础。它们影响PCI DSS、HIPAA、SOX和ISO对齐程序等框架中的合规要求和最佳实践。通过将 密码策略调整为NIST指南,组织可以满足平衡安全性、可用性和运营效率的监管标准。
NIST密码指南是什么?
NIST密码指南是基于证据的建议,定义了在数字身份系统中如何创建、存储、传输和验证密码。这些指南对美国联邦机构及其承包商是强制性的。寻求实施经过验证的安全实践的私营部门组织也自愿采纳这些指南。
NIST SP 800-63B: 数字身份指南
NIST特别出版物(SP)800-63B,标题为“数字身份指南:身份验证和生命周期管理”,是NIST密码指导的主要来源。它专注于身份验证机制,并且是更广泛的NIST数字身份指南(SP 800-63)的一部分。要了解800-63B在层次结构中的位置:
- SP 800-63 (核心): 涵盖高层次的风险评估以及如何选择所需的“保证级别”。
- SP 800-63A (注册): 专注于“身份验证”,即在为某人提供账户之前,您如何验证他们是否就是他们所声称的人。
- SP 800-63B(身份验证): 定义“记忆秘密”(NIST对密码的术语)要求的密码指导来源。它还涉及相关控制,例如速率限制、违规检测和与MFA的集成。
- SP 800-63C (联合): 重点关注单点登录(SSO)以及身份如何在不同系统之间传递。
SP 800-63B因其在密码安全方面的革命性变革而闻名,标志着从传统规则(如强迫用户使用特殊字符或每90天更改密码)向更有效的措施的转变,例如要求更长的密码、禁止常用或被泄露的密码,并实施MFA。
谁应该遵循这些指南?
联邦机构必须遵守。私营组织通过采用NIST标准受益,因为这些标准代表了当前的最佳实践并支持合规性。
NIST密码政策的演变
随着基于凭证的攻击变得自动化,用户行为变得更加可预测,NIST根据现实世界的研究和威胁分析重新评估了其密码指南。
旧规则:复杂性和强制轮换
传统的密码政策将复杂性和频繁更改作为主要的安全控制。用户需要在密码中包含大写字母、小写字母、数字和特殊字符,并每30到90天更改一次密码。在实践中,这些规则导致了可预测的模式。"Password1!"在下一次轮换时变成了"Password2!"。用户增加了数字,重复使用基础单词,并写下密码,导致安全性降低和挫败感增加。
当前建议:长度优于复杂性
现代NIST指导方针将重点从复杂性转移到密码长度和可记忆性。研究表明,较长的密码或密码短语比短而复杂的密码更能抵御暴力破解和猜测攻击。由多个单词组成的长密码短语,例如“correct-horse-battery-staple”,比“P@ssw0rd!”更难破解,同时更容易让用户记住。
NIST指导方针中的关键变化
在2017年,NIST修订了其数字身份指南,包括SP 800-63B。然后在2025年7月,NIST发布了SP 800-63的第4版,其中包含最新的身份验证指南。主要要点:
- 强制复杂性规则,例如使用特殊字符和混合大小写,已被删除。
- 除非有证据表明存在安全漏洞,否则不需要定期更换密码。
- 建议避免使用密码提示和基于知识的安全问题,因为它们可能会被猜测或研究。
- 密码必须与常用和以前泄露的凭据列表进行筛选。
- 强烈建议使用多因素身份验证(MFA),以减少对密码的单一依赖。
NIST 密码的关键要求
NIST密码要求的重点是使密码更难以被攻击者猜测或重用,同时使用户更容易安全地创建和管理密码:
最小长度:8个字符
根据 NIST SP 800-63B 第 4 版,密码的最小长度为 8 个字符。这是底线,而不是上限。更长的密码总是更好。
更长的密码
NIST要求至少8个字符,并鼓励使用更长的密码或密码短语,特别是在密码是唯一的身份验证方式时。许多组织将15个以上设置为内部标准。系统应支持至少64个字符的密码,以适应密码短语。鼓励用户考虑使用密码短语而不是密码。
允许的字符
身份验证系统应允许所有ASCII可打印字符,包括空格,以及Unicode字符。不要限制用户可以包含哪些特殊字符。
没有强制的复杂性规则
NIST明确反对要求在特定模式中使用大写字母、小写字母、数字和特殊字符。这些规则并不能提高安全性,反而让用户选择更弱的密码。
黑名单验证
新密码必须与常用密码、字典词、上下文特定术语(公司名称、用户名)和以前泄露的密码列表进行检查。
没有密码提示或安全问题
NIST建议不要使用密码提示和基于知识的安全问题(“你第一只宠物的名字是什么?”)。这些提供了弱安全性,因为答案可以被研究或猜测。
仅在被攻击时更改
组织不应强制定期更改密码。仅在有证据表明存在安全漏洞或用户请求更改时,才要求新密码。
强密码与复杂密码
强密码的定义在于攻击者猜测或破解的难度,而不是它们看起来有多复杂。安全研究表明,密码的长度和不可预测性提供的保护远远大于强制复杂性规则。
基于长度的强度
密码的强度随着长度的增加而呈指数增长。当您在密码中添加一个字符时,您会将可能的组合数量乘以。这增加了暴力破解和猜测攻击所需的努力。从技术上讲,只有小写字母的20个字符的密码比包含所有字符类型的8个字符的密码更强。
密码短语方法
密码短语是一系列单词或完整句子,用作密码。现代指南鼓励使用更长、更容易记住的密码短语,如 "correct-horse-battery-staple" 或 "MyCatLovesWalkingInTheRain"。密码短语的强度来自于它们的长度和不可预测性。研究表明,用户在记忆复杂的字符字符串时会遇到困难,但可以轻松回忆起短语,尤其是那些具有个人意义或视觉意象的短语。
复杂性规则为何会失败
强制复杂性规则导致用户行为可预测。用户倾向于将第一个字母大写,在末尾添加数字(通常是1、123或当前年份),并使用像!或@这样的符号。像"Password123!"和"Welcome2026!"这样的密码几乎出现在每个泄露数据库中。记住复杂密码的负担导致有害行为;用户在便签上写下密码,将其存储在未加密的文件中,或在不同系统中以略微不同的方式重复使用相同的密码。攻击者意识到这些习惯,并相应地调整他们的攻击。
组织的密码政策最佳实践
密码政策应在安全性、可用性和运营效率之间取得平衡。通过遵循NIST的指导和基于证据的实践,组织可以降低凭据相关的风险,加强安全性并改善用户体验。以下是一些有效的企业密码政策建议。
构建符合NIST的政策
基于NIST的密码政策强调通过长度来增强强度,筛选已知的弱密码,并消除过时的规则。核心政策元素包括:
- 设置最小密码长度为8个字符,但通过用户培训和界面设计鼓励用户使用15个或更多字符。
- 删除强制的复杂性要求,例如强制符号和大小写规则。
- 实施针对常用、可预测和被泄露密码列表的自动检查。
- Eliminate routine password expiration. Require changes only after compromise or risk events.
- 删除密码提示和基于知识的安全问题。
密码管理器
密码管理器解决了安全性和可用性之间的紧张关系。它们为每个帐户生成长的、随机的和唯一的密码,并将其存储在一个强大的主密码或短语后面。NIST明确支持使用密码管理器,组织应鼓励员工采用它们。
多因素身份验证 (MFA)
MFA是抵御凭据泄露最有效的防御措施之一。NIST强烈建议使用MFA,特别是针对特权账户、远程访问和高风险系统。即使攻击者通过网络钓鱼或数据泄露获得密码,也无法在没有第二个因素的情况下访问账户。现代MFA实施使用身份验证应用程序、硬件令牌和生物识别验证,而不是SMS代码,因为SMS代码容易受到SIM交换攻击。
安全存储
组织绝不能以明文或可逆加密的方式存储密码。相反,应该使用强大、加盐的单向加密哈希进行存储。NIST的指导支持现代的自适应哈希算法,如Argon2、bcrypt和scrypt。这些算法故意设计得很慢且资源密集,即使密码哈希被盗,暴力攻击在计算上也会非常昂贵。
Netwrix Password Policy Enforcer 帮助组织通过识别弱密码和被泄露的密码、检测凭据暴露以及在 Active Directory 和其他身份提供者中强制执行自定义密码政策要求来实施符合 NIST 的密码政策。
NIST关于密码轮换和过期的指导
几十年来,组织要求定期更改密码,通常每60或90天。然而,NIST的特别出版物800-63B挑战了这种传统智慧。除非有基于风险的触发因素或妥协的证据,否则不建议定期使密码过期。
NIST为何不鼓励强制轮换
NIST的研究表明,强制密码轮换比解决问题造成更多的安全问题。当用户被迫频繁更改密码时,他们会形成可预测的模式:
- 增量更改: 用户最小化地修改现有密码(Password1变为Password2)。
- 物理存储:感到沮丧的用户会把密码写在便签上,或者将其不安全地存储在文件中。
- 更简单的密码: 为了记住频繁的更改,用户选择更弱、更容易记住的密码。
- 模式重用: 用户在一小组密码变体之间循环。
何时要求更改密码
NIST不鼓励特定的密码更改频率。它建议组织仅在有安全或操作原因时要求更改密码:
- 妥协的证据:可疑的登录尝试、凭据暴露、异常的账户活动
- 用户发起的请求:忘记密码或用户怀疑被攻击
- 确认的数据泄露:密码出现在已知的泄露数据库中
- 重要的角色变更:员工转移到不同的部门或账户权限增加
密码管理和账户安全
仅仅强密码是不够的。NIST的指导强调安全的密码验证、抵御攻击的能力以及额外的身份验证控制。
安全的密码验证
Password verification must never expose the actual password value at any point during the authentication process. NIST requires that passwords are never stored or transmitted in plaintext. Use HTTPS/TLS encryption for authentication endpoints. When a user submits a password, the system should hash the submitted password server-side, compare the newly generated hash against the stored hash, and use constant-time comparison to prevent timing attacks.
速率限制和账户锁定
Automated credential stuffing attacks can test thousands of password combinations in a minute. Rate limiting slows these attacks without completely blocking legitimate users. NIST suggests a balanced approach: progressive delays after failed attempts, high lockout thresholds (NIST recommends limiting to about 100 consecutive failures using throttling rather than immediate lockout), IP-based throttling, and CAPTCHA challenges after several failures.
多因素身份验证选项
MFA可以降低即使使用弱密码或被盗密码的账户被攻破的风险。组织应提供多种MFA选项:
MFA Option | Description |
|---|---|
|
Hardware security keys |
Physical devices like YubiKeys use cryptographic protocols (FIDO2) that bind authentication to the legitimate website, preventing phishing attacks. |
|
Authenticator apps |
Applications like Google Authenticator and Microsoft Authenticator generate time-based one-time passwords (TOTP) that change every 30 seconds. |
|
Push notifications |
Services send authentication requests to a registered device. Users approve or deny with a single tap. |
|
SMS and voice calls |
NIST allows these methods but notes their vulnerabilities. SMS is susceptible to SIM-swapping and interception attacks. |
|
Biometrics |
Fingerprints, facial recognition, and other biometric data can supplement but should not replace other factors. |
|
Recovery codes |
Provide single-use backup codes that users can store securely for account recovery when other factors are unavailable. |
NIST指南和监管合规
NIST密码指南不是法规,但组织将其作为合规的基准。许多行业和法律框架要么直接引用NIST,要么与其身份验证和访问控制原则紧密对齐。
支持其他框架
与NIST对齐的密码政策帮助组织满足监管和标准框架中的身份验证和访问控制要求:
Control | Description |
|---|---|
|
Control IA-5 (Authenticator Management) |
Governs how organizations manage authenticators, including password complexity, lifetime, and protection requirements. |
|
Control IA-2 (Identification and Authentication) |
Specifies requirements for uniquely identifying and authenticating users before granting access to systems. |
|
Documentation and Audit Requirements |
NIST 800-53 requires comprehensive documentation of security controls, policies, and procedures with regular assessments. |
|
Risk-Based Implementation |
NIST 800-53 uses a risk-based approach with control baselines (Low, Moderate, High) that determine which controls apply based on system impact level. |
实施NIST密码建议
为了实施 NIST SP 800-63B 密码建议,组织必须评估现有控制措施,执行技术要求,并向用户传达理由。
评估和差距分析
首先了解当前密码政策与NIST指导方针的比较。审核您现有的密码政策,并记录当前实施的每个要求。将这些现有政策与NIST要求进行比较,并识别出强制复杂性规则、定期过期、密码提示和安全问题以及不支持的密码长度等差距。根据系统风险、用户影响和实施工作量优先考虑补救措施。
技术实施
Once gaps are identified and priorities set, implement changes across identity platforms and applications:
- 更新 Active Directory 和其他身份提供者中的密码策略。修改默认域策略以删除复杂性要求,同时保持 8 个字符的最低要求。
- 使用泄露数据集(例如Have I Been Pwned)实施受损密码和黑名单检查。
- 为所有用户部署 MFA,从特权账户开始,然后扩展到所有用户。
- 配置速率限制和帐户锁定策略,采用逐步延迟而不是立即锁定。
用户沟通
有效的沟通可以将令人困惑的政策变更转变为积极的用户体验。通过多个渠道提前宣布更改。解释密码政策为何会发生变化,以及为何会取消遗留复杂性规则。强调更长密码短语的好处,推荐特定的密码管理器,并提供带有屏幕截图或视频教程的MFA设置说明。
Netwrix如何帮助执行NIST密码指南
组织在实施NIST密码标准时面临困难,特别是当本地Active Directory功能无法满足现代安全要求时。Netwrix解决方案帮助在Active Directory和混合身份环境中实施、执行和证明遵循NIST密码指导。
弱密码检测
Netwrix Password Policy Enforcer主动扫描您的Active Directory环境,以识别违反NIST要求的帐户密码。它检测到短于推荐长度的密码,并标记在泄露数据库中出现的密码帐户。这使组织能够在攻击者利用这些密码之前,检测和修复弱凭据。
密码政策执行
Netwrix Password Policy Enforcer通过强制执行符合NIST标准的密码规则,扩展了Active Directory的本机功能。它使组织能够阻止常见和被泄露的密码,强制执行最小和最大长度要求,并防止密码重用,同时在密码创建和重置事件期间提供实时密码验证。组织还可以为不同的用户组配置不同的策略规则,对特权账户施加更严格的要求。
受损凭据监控
Netwrix Password Policy Enforcer 持续检查组织的密码与泄露数据库的匹配情况。如果用户凭据出现在新披露的泄露中,系统会提醒安全团队,以便他们采取措施,例如强制重置受影响帐户的密码。这减少了对凭据填充攻击的暴露。
合规报告
向审计员展示NIST合规性需要全面的文档。 Netwrix Auditor 和Password Policy Enforcer生成合规报告,显示当前密码政策配置、执行统计和修复活动。报告记录满足长度要求的帐户百分比、识别和解决的弱密码数量,以及支持审计和合规审查的证据(例如,策略设置和可用的身份验证相关事件)。
密码的未来
密码不再是唯一的身份验证方法。随着网络钓鱼、凭证填充和密码重用继续导致安全漏洞,组织正在转向无密码身份验证和MFA。
无密码认证
Passwordless authentication replaces knowledge-based credentials with possession-based or inherence-based factors. Technologies such as FIDO2, WebAuthn, and platform-native passkeys enable users to authenticate through biometrics (fingerprints, facial recognition) or hardware security keys. Unlike passwords that can be guessed, stolen, or phished, these authentication methods rely on cryptographic protocols where private keys never leave the user's device.
通行密钥
Passkeys are FIDO2-based cryptographic credentials that can be securely synced across a user's devices through encrypted cloud services. Major platforms like Apple, Google, and Microsoft support passkeys natively. When a user creates a passkey for a website, their device generates a unique cryptographic key pair where the private key remains securely stored on their devices and the public key registers with the service. Authentication occurs through biometric verification or device PIN.
MFA采用
尚未准备好进行全面无密码部署的组织仍然可以通过实施 MFA 显著减少账户被攻破的风险。将密码与 SMS 代码或身份验证应用程序结合的传统 MFA 可以显著减少账户被攻破的风险,而仅使用密码。使用硬件安全密钥或平台身份验证器的抗钓鱼 MFA 提供最强的保护。
无密码的NIST对齐
NIST 指南通过其身份验证者保证级别 (AAL) 框架支持无密码身份验证。SP 800-63B 明确容纳加密身份验证器和抗钓鱼身份验证方法。AAL1 允许基本的单因素身份验证,AAL2 需要多因素身份验证,而 AAL3 需要基于硬件的多因素加密身份验证器。
结论:建立安全的密码文化
密码安全基于三个支柱:用户行为(长密码短语和密码管理器)、组织政策(与NIST对齐的要求)和支持技术(MFA和漏洞监控)。当这些元素协同工作时,组织可以在不为用户创造不必要摩擦的情况下降低基于凭证的风险。
NIST 指南提供了一个基于证据的现代身份验证框架,基于现实世界的攻击模式和人类行为。通过采用这些原则并使用正确的工具来执行它们,组织可以建立一种密码文化,从而提高安全性,支持合规性,并为无密码的未来做好准备。
关键要点:优先考虑长度而不是复杂性。停止强制轮换。实施违规检查。在各处部署MFA。
准备好将您的密码策略与 NIST 指南对齐了吗? 了解如何 Netwrix Password Policy Enforcer 有助于识别弱密码、执行合规政策并监控被泄露的凭据。
NIST 密码指南(SP 800-63B)将密码长度和真实世界中的安全性置于复杂性规则之上。NIST 要求至少 8 个字符,鼓励在单因素认证中使用更长的密码或密码短语,并要求系统支持至少 64 个字符。它不鼓励强制的密码轮换,并建议不要使用密码提示和基于知识的安全问题。必须将密码与已被泄露且常用的凭据进行核验,并强烈建议采用多因素认证。
“National Institute of Standards and Technology (NIST)”是美国商务部下属的联邦机构,National Institute of Standards and Technology (NIST)负责为联邦系统制定标准和指南。
其密码指导意见已编入 Special Publication 800-63B "Digital Identity Guidelines"。该要求对联邦机构是强制性的,并且已成为希望采用基于证据的密码策略的商业组织的事实标准。
包括 HIPAA、PCI DSS、SOC 2 和 ISO 27001 等主要合规框架,都直接参考了 NIST SP 800-63B 的要求。
NIST 密码指南的发展历程
随着研究人员探究用户在不同策略约束下的实际反应方式,NIST 的密码指导意见经历了多次修订。NIST Cybersecurity Framework 为组织层面的更广泛风险管理提供了框架;而 SP 800-63B 则专注于身份与身份验证要求。
NIST在 2017 年发布了 SP 800‑63 第 3 版修订 ,并在 2020 年更新了 SP 800‑63B。第 4 版修订于 2025 年 7 月定稿;在此基础上进一步完善,旨在应对抗钓鱼认证、passkeys(通行密钥),以及明确禁止知识型认证。
在所有修订版本中,始终如一的驱动力是相同的:复杂性规则和强制轮换会带来更差的安全结果,因为用户会形成可预测的替代做法。
关键术语
NIST 特别出版物的各部分以信息性、规范性或二者兼具的形式呈现。信息性内容旨在帮助读者理解相关概念。规范性内容为企业在制定 密码策略 时提供可供参考的建议。请特别关注以下关键术语:
- Shall 和 shall not:必需的行动
- 应当 和 不应当:推荐或不鼓励的操作
- 可以 和 不可以:允许或不允许的操作
- 能够 和 不能:可能或不可能的操作
Netwrix Auditor 会持续监控混合 Microsoft 环境中的 Active Directory 身份验证事件和密码变更。下载免费试用
SP 800-63B Rev. 4 有哪些变化
修订 4 相较修订 3 引入了若干规范性变更。了解具体变更内容有助于组织识别现有策略中的差距。
对大多数组织而言影响最大的变化是转向 SMS OTP。许多组织在修订 3 的阶段部署了基于短信(SMS)的 MFA。
在修订 4 下,SMS OTP 已不再满足 Authenticator Assurance Level 2(AAL2)的要求。这意味着,保护敏感数据的系统必须升级为 FIDO2/WebAuthn 认证器、硬件令牌或认证器应用程序。
NIST 密码指南:组成与管理
SP 800-63B Rev. 4 在多个关键组件层面阐述了密码要求。每个组件都对应一组不同的策略决策与技术控制措施。
密码组成
SP 800-63B 将密码策略从“复杂性”转向“长度”。与短而复杂的密码相比,长且容易记住的密码短语能提供更好的熵,并减少促使用户采取不安全变通方案的阻力。
具体的な组成要求如下:
- 最小长度:用户自行选择的密码必须至少 8 个字符。对于依赖单一身份验证因素的系统,NIST 建议最少 15 个字符。在 Revision 4 下,机器生成的密码也必须至少为 8 个字符。
- 最大长度:系统应支持至少 64 个字符长度的密码。设置更低的最大值会阻止用户选择长密码短语。
- 密码复杂性: SP 800-63B Rev. 4 禁止强制性的复杂性规则。系统应接受所有可打印的 ASCII 字符、Unicode 字符以及空格。要求使用大写字母、数字或特殊字符会产生可预测的替换模式,但不会在有意义的程度上提高熵,因此该指导取消了这些强制要求,转而支持长度要求。
对于管理 Active Directory 密码策略 的组织而言,这些要求会转化为特定的组策略设置(最小长度、对最大长度的支持,以及移除复杂性规则),这些设置必须与 SP 800-63B 的基线进行比对审查。
密码管理
SP 800-63B 定义了组织必须如何处理密码生命周期事件:
- 密码更改: 组织不得要求定期更换密码。只有在存在特定原因时(例如发现已遭到入侵的证据),用户才应更改密码。
- 密码历史: 系统应将拟设置的密码与以前的密码进行比对,以防止重复使用密码。
- 密码审计: 组织必须将新密码和已更改的密码与禁止凭据的阻止列表进行比对。阻止列表应包含来自先前泄露事件的密码、常见字典词、连续或重复的模式(例如“12345”或“aaaa”),以及与具体场景相关的词语(例如组织名称或用户的用户名)。定期 在 Active Directory 中查找弱密码 可识别已经不符合此要求的账户。
- 账户锁定: 系统应限制连续失败的身份验证尝试次数。NIST 建议在锁定前至少进行 10 次失败尝试。该阈值可直接应对 暴力破解攻击(brute force attacks) 和 密码喷洒(password spraying) 这两种最常见的基于凭据的攻击方法。
- 密码存储: 组织应使用带盐的加密哈希(salted cryptographic hashing)来存储密码。获批准的算法包括 PBKDF2、Argon2 和 bcrypt,它们都旨在使离线破解在计算上变得非常昂贵。
- 密码提示: 系统不得允许订阅者存储可供未认证用户访问的密码提示。提示答案往往可以猜到,或可通过公开信息获得。
- 安全问题:系统不得使用基于知识的身份验证。SP 800-63B Rev. 4 明确禁止 KBA,因为答案可能被社会工程手段获取,或在公开数据源中找到。
MFA 和身份验证器要求
SP 800-63B 定义了三个身份验证器保证等级(Authenticator Assurance Levels,AAL1、AAL2、AAL3)。处理敏感数据的系统至少应达到 AAL2,该等级要求使用两个不同的身份验证因素。
Revision 4 建立了清晰的身份验证器层级。FIDO2/WebAuthn 身份验证器和硬件安全密钥满足 AAL2 和 AAL3 的要求。基于时间的一次性密码(Time-based one-time password,TOTP)应用满足 AAL2。由于存在 SIM 交换和拦截的风险,SMS OTP 已不再满足 AAL2。
生物识别在 MFA 中作为“something you are”(你是谁)因素发挥作用,但不具备作为独立身份验证器(standalone authenticator)的资格。在 Revision 3 时代部署了基于短信的 MFA 的组织,需要评估并规划升级路径,以迁移到抗钓鱼的选项。
密码管理器
SP 800-63B 明确支持使用密码管理器,并要求系统不得阻止粘贴功能。这是第 4 次修订(Revision 4)中的规范性要求:在密码字段中阻止粘贴会导致密码管理器无法正常工作,从而提高用户选择更短、便于记忆的凭据的可能性。
组织应在其凭据安全计划中提供或授权使用企业密码管理器。这样做可以降低对人类记忆去处理长且独特的密码的依赖,并使满足长度要求成为阻力最小的路径。想更全面地了解在实践中强凭据的样貌,请参阅 Netwrix 的 密码最佳实践指南。
服务账号密码
标准的 SP 800-63B 密码要求适用于以交互方式进行身份验证的人类用户。服务账号(应用程序和自动化流程所使用的非人类身份)需要采用不同的方法。服务账号上的交互式密码难以轮换,几乎不会被审计,而且往往权限过高,这使其成为攻击者的高价值目标。
组织应将交互式服务账户密码替换为托管服务账户、基于证书的身份验证,或仅在需要时(just-in-time)的特权访问。 Zero standing privileges 是目标最终状态:服务账户只在需要期间获得恰好所需的访问权限,之后该访问权限会自动撤销。
Netwrix Privilege Secure 消除常驻特权账户,并通过完整的会话录制提供仅在需要时(just-in-time)的访问权限。下载免费试用
NIST 密码指南如何对应各项合规框架
SP 800-63B 的要求会以直接或通过引用的方式出现在安全团队所面对的主要合规框架中:
- HIPAA:HIPAA Security Rule 的技术防护措施(Technical Safeguards,§164.312)要求进行唯一的用户标识以及人员身份验证控制。HIPAA 审计员会评估密码策略是否与当前 NIST 指南一致,因为该指南被视为医疗实体的公认标准。
- PCI DSS v4.0:第 8 项要求规定,保护持卡人数据(cardholder data)的账户必须制定密码策略,包括最小长度要求,以及对所有非控制台(non-console)的管理访问启用 MFA。PCI DSS v4.0 通过强化 MFA 要求并扩大其适用范围,与 NIST 的指导方向保持一致。
- SOC 2:信任服务准则(Trust Services Criteria)CC6.1 要求实施逻辑和物理访问控制。SOC 2 审计人员会评估密码策略是否反映当前的最佳实践,并以 NIST SP 800-63B 作为被认可的基线(accepted baseline)。
- ISO 27001:附录 A 控制项 A.9.4 涵盖系统和应用程序的访问控制。将密码策略与 SP 800-63B 对齐(aligning)能够满足该控制项的意图,并在认证评估期间提供可审计的证据(auditable evidence)。
对于受政府采购(government contracting)要求约束的组织而言,NIST SP 800-171 会将这些身份验证要求扩展到对非联邦系统中的受控非机密信息(Controlled Unclassified Information,CUI)的保护。
实施 NIST 密码指南的最佳实践
与 SP 800-63B Rev. 4 保持一致需要对政策、工具和认证基础设施进行调整。以下做法针对组织在从传统(旧版)策略迁移到符合 NIST 要求的策略时最常见的差距。
优先考虑长度,而非复杂性
复杂性要求会让密码更难输入和记忆,但却无法在不显著提升对现代攻击的抵抗能力的情况下达到安全性效果。键盘记录、网络钓鱼和凭据填充(credential stuffing)无论密码是否包含特殊字符都同样能够成功。针对单因素认证场景设置最少 15 个字符,构建屏蔽(阻止)列表,并取消复杂性强制要求。
采用密码管理器
在未提供密码管理器的情况下强制使用 15 个字符或更长的密码,会将负担完全转移给用户,从而增加在不同系统之间重复使用凭据的风险。提供或强制实施企业级密码管理器可以消除这一障碍,并使遵循策略变得直观且易于落实。
在收紧密码要求之前先升级 MFA
使用 SMS OTP 来满足 AAL2 要求的组织,需要迁移到 FIDO2/WebAuthn 身份验证器或 TOTP 应用。先规划身份验证器迁移,可避免出现两种控制都未能充分发挥作用的空窗期。审查 identity and access management standards并结合 SP 800-63B,有助于更全面地了解认证保证模型。
在密码策略的同时落实最小特权
密码控制会限制凭据的创建与管理方式,但不会限制一旦凭据被泄露后它能访问什么。将 principle of least privilege 应用于每个账户,能够确保被盗凭据的影响范围受到约束。
Netwrix 如何帮助您落实与 NIST 一致的密码策略
Netwrix Auditor 可在混合 Microsoft 环境中持续洞察身份验证事件和密码更改活动,并生成随时可供审计的报告,将内容映射到 NIST、HIPAA、PCI DSS 和 SOC 2 要求。
Netwrix Privilege Secure 消除长期存在的特权账号,并通过抗钓鱼的 MFA 以及完整的会话录制来强制执行按需/即时的访问(just-in-time access)。
Netwrix Directory Manager 通过自助式工作流,让用户重置密码并解锁账号,在无需 IT 介入的情况下保持策略执行。
申请演示 了解 Netwrix 如何帮助您将密码策略与 NIST SP 800-63B 对齐、消除长期凭据,并向审计人员展示合规性。
关于 NIST 密码指南的常见问题
分享到
了解更多
关于作者
Joe Dibley
安全研究员
Netwrix 的安全研究员,并且是 Netwrix Security Research Team 的成员。Joe 是 Active Directory、Windows 以及各类企业软件平台与技术方面的专家;他/她研究新的安全风险、复杂的攻击技术,以及相应的缓解措施与检测方法。