|
| ||||||
|
在 Microsoft.com 中搜索: |
选择安全密码更新日期: 2004年03月24日
本页内容
简介尽管现在可以选用许多方法进行用户身份验证,但多数用户仍然通过在键盘上结合输入用户名和密码来登录自己的计算机和远程计算机。某些产品使用了生物统计学、智能卡和一次性密码等更加安全的技术,而这些技术对于所有常用操作系统都可用;但实际情况是许多组织仍旧依赖于密码,并会在未来数年内维持现状。用户常常拥有许多不同的计算机帐户,分别用在工作、手机、银行、保险公司等各个方面。为简化密码的记忆任务,用户经常在每个系统中使用相同或相似的密码,而且多数用户会在允许的情况下选择简单易记的密码,例如自己的生日、母亲的娘家姓名或亲戚的姓名。对于攻击者来说,简短密码相对容易破解。攻击者用以破解受害者密码的部分常用方法包括:
通过使用强密码,可以显著降低所有这些攻击方法的速度,或甚至击退这些攻击。因此只要可能,对于自己的计算机帐户,计算机用户都应使用强密码。运行基于 Microsoft® Windows NT® 的 Windows 版本(包括 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server2003)的计算机都支持强密码。在 Windows 中,如果某个密码中的字符来自下面“字符类别”表格中五组中的至少三组,该密码即为强密码。 字符类别
注意:空格字符不属于这五组字符中的任何一组,也不能提高密码复杂性。 高度机密帐户(例如管理员或高级管理者使用的帐户)的密码或者用以运行重要网络服务的密码应由四组甚至全部五组中的字符组成。而另一方面,由人类使用的密码必须易于记忆,丢失高级管理人员或关键管理员帐户的密码将造成严重后果。本文档说明 Windows 系列操作系统中如何存储密码,并为管理员就如何最大程度地提高密码安全性提供了指导。 这些矛盾的要求可以通过采用密码短语(而非单词密码)来克服。支持强密码的每个 Windows 版本都支持在帐户密码中使用空格和标点符号。例如,“I re@lly want to buy 11 Dogs!”即为一个有效密码短语。该密码的字符数超过了二十个,是一个超长的密码短语,且包含的字符来自 5 个可能的组中的 4 个。而且该密码短语也易于记忆!多数密码破解工具假设密码绝不会超过 14 个字符,而这也是 DOS 网络启动磁盘、Microsoft 远程安装服务 (RIS) 预执行环境 (PXE) 启动磁盘和更老的 LAN 管理器客户端 (Win9x) 必须使用的一种限制。即使并不复杂,超长密码(大于 14 个字符,最多 128 个字符)也可能可以十分有效地防止高度机密密码被破解。 注意:请不要将本文档中的示例密码用作您的密码。尽管上面讨论的密码“I re@lly want to buy 11 Dogs!”特别长和复杂,但攻击者可能会将该密码及本文档中的其他样例密码添加到他们的攻击工具中。 如果管理员须遵循旧版系统、RIS 或类似要求,或管理员仅仅是不喜欢处理过于长的密码,使用相对较短但包含复杂字符的密码也能提供不错的保护作用。但请注意,密码长度越大,其破解难度也越高。同时增加复杂程度和长度可以使密码成为最难以破解的密码。建立贵组织的密码策略可帮助保护用户免于被攻击者冒充,从而避免贵组织机密信息的丢失、暴露或破坏。 本文档说明 Windows 系列操作系统中如何存储密码,并为管理员就如何最大程度地提高密码安全性提供了指导,还向用户解释了如何新建既满足复杂性要求又易于记忆的密码。 本文档包括下列主题的相关信息和指导:
准备工作在继续讨论密码策略的创建之前,很有必要真正明白密码哈希如何创建以及如何由 Windows 系列操作系统存储。另外,还有必要完全弄清楚 Entropy、Unicode 字符和 Alt 字符等其他与密码复杂性相关的概念。 Windows 中的密码存储默认情况下,Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 绝不会使用纯文本格式保存密码。而是使用两种不同的密码表示方法(一般称为“哈希”)保存密码。第一种方法是 LAN 管理器 (LM) 哈希,其安全性远不及第二种方法,即 NTLM 哈希。同时存储两种表示方法的原因在于需要考虑与旧版应用程序和 Windows 98 等旧版操作系统的后向兼容性。 LAN 管理器 (LM) 哈希在技术层面上,LM 哈希根本不是哈希。其计算方法如下:
LM 哈希算法所产生的哈希非常易于破解。首先,即使对于长度大于 8 个字符的密码,也可在两个单独的字符块中对其进行破解。其次,整个小写字符集可被忽略。因此,多数密码破解工具将首先破解 LM 哈希,然后只需改变已破解密码中的字母字符,以生成区分大小写的密码。请注意,无论是本地登录还是远程登录运行 Windows 2000 的计算机,都将需要使用保留大小写的密码。 NTLM 哈希因为支持整个 Unicode 字符集,NTLM 哈希又称为 Unicode 哈希。NTLM 哈希的计算方法是首先获得纯文本密码,然后生成该密码的消息摘要 4 (MD4) 哈希。MD4 哈希实际存储在 Active Directory 数据库或本地安全帐户管理器 (SAM) 数据库中。NTLM 哈希抵御蛮力攻击的能力远远胜过 LM 哈希的抵御能力。蛮力破解 NTLM 哈希所需的时间长度相对于蛮力破解 LM 哈希的时间长度高出数个数量级。 EntropyEntropy 是系统中无序程度的度量标准。密码中的 Entropy 级别由其中字符的涵盖范围与排列顺序的随机程度确定。在选择抵御破解能力较强的密码时,请务必仔细选择 Entropy 及其在密码中的出现位置。多数蛮力密码破解工具首先搜索常用键盘上的字母数字字符和符号,例如 ` ~ ! @ # $ % ^ & * ( ) _ - + =(因为出现在多数美式键盘的顶行,这些符号有时称为“上行符号”)。了解这一点,即可以使用 [ ] { } < > 等不同的符号来提高密码抵御破解的能力。还可使用 Alt 键组合进一步提高其抵御破解的能力。请注意,出于 LM 哈希的创建方式,在八字符密码的第八位上放置一个符号作为唯一的 Entropy 对密码复杂性的影响不大。要获得最大程度的 Entropy 和复杂性,非字母数字字符需贯穿于整个密码。 在 Alt 键组合中使用 Unicode 字符大多数用户要找到易于记忆的密码短语应该没有问题,但对于拥有域管理员权限的帐户等高度机密帐户,强烈建议在使用 Alt 键组合的密码中包含 Unicode 字符。某些字符在标准美式键盘上并不出现。通过按住 Alt 键(或多数便携式计算机上的 FN 键和 Alt 键),然后在数字键盘(或便携式计算机上的数字重叠小键盘)上键入三位或四位数字,即可输入这些字符。 使用这几类字符可在两个方面大大加固密码:第一,密码破解工具常常无法测试绝大多数这些类型的字符。第二,使用这些字符可极大扩展密码中出现的字符的范围,从而将密码的潜在复杂性提高了数个数量级。在使用 Alt 键组合的过程中,如果存在前导零,请务必注意,因为遗漏前导零将会变成另一个字符。例如,Alt+128 表示 _,而 Alt+0128 表示 €。本节其余部分将集中讨论四位代码(访问整个 Unicode 字符集),而会忽略三位代码(仅访问 ASCII 扩展字符集)。 下表列出了可用作 Alt 键组合的数值。建议值范围是 0128 到 1024。下表中的每个单元都显示了单个数值或一系列数值。例如,第一个单元显示“0128-0159”。这表示您可以使用从 0128 到 0159 之间的任何值,例如 Alt+0135(对应于 Unicode 字符“_”)。 推荐用于 Alt 键组合的 Alt 代码
并非所有 Unicode 字符都可提高密码复杂性,因为这些字符将自动转换为 ASCII 字符,从而生成较弱的密码。下表显示了不应在密码中使用的字符代码及其转换后的目标 ASCII 字符。 不适用于 Alt 键组合的 ALT 代码
密码使用期限与重用另外,用户还应经常更改自己的密码。即使长而强的密码相较短而简单的密码远难于破解,但它们仍然是可破解的。只要拥有足够的时间和计算能力,攻击者最终可以破解任何密码。一般情况下,密码应在 42 天内进行更改,而旧密码应永远不再重用。 开发组织的密码策略本节提供了有关通过为组织创建并通告密码策略来提高安全性的分步说明。
识别现有操作系统要为登录到组织中的计算机的任何用户指定不会带来问题的密码策略,需要了解这些计算机所使用的操作系统。可能您已经确切了解网络中所使用的操作系统。如果尚不清楚,则需进行确定。此时,无需了解各操作系统的数量,也无需创建有关网络中所有系统的精确清单。要设计恰当的密码策略,仅需了解是否使用了旧系统。在您的网络中,很可能存在运行 Windows 95、Windows 98 或 Windows Millennium Edition 等旧操作系统的计算机。
了解某些操作系统的局限性如前文所述,运行 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 的计算机都支持长而强的密码。而运行 Windows 95、Windows 98 和 Windows Millennium Edition 的计算机则不可以。如果网络中有计算机运行任何这些 Windows 版本,密码策略都必须支持这些计算机。 对于有计算机运行 Windows 95、Windows 98 或 Windows Millennium Edition 的组织,用户密码不得超过 14 个字符,且不能包括通过 Alt 键组合生成的字符。 如果组织内的所有计算机运行的都是 Windows NT 4.0、Windows 2000、Windows XP 或 Windows Server 2003,则用户密码的最大长度可以是 128 个字符,且密码可以包含通过 Alt 键组合生成的字符。 定义密码技术要求对于运行 Windows 2000、Windows XP 和 Windows Server 2003 的计算机,可以强制执行最多五项与密码特性相关的设置。 在此步骤中,我们为您提供了设置定义和针对这些设置的建议。您将决定贵组织将要强制执行的值。 密码技术要求
记录组织中的密码策略接下来,需要确定记录组织的密码策略时的正规度。 至少应该书面记录将在组织网络的计算机中强制执行的设置。 某些组织可能要求以正式策略声明的形式记录密码策略。如果认为这一正规度适合贵组织,您可能需要查看本文档稍后的“相关信息”中指向样例策略的链接。 某些组织可能制订有记录此类企业策略的相关规章要求。如果确定组织订有规章要求,则应在实施策略及向用户通告策略之前请组织的法律顾问对该策略进行检查。 向用户通告密码策略任何重大策略变更都需向组织内的工作人员明确通告。在更改或实施密码策略的过程中,请务必向相关人员清楚解释此举的内容与原因。 密码策略样例您可以复制下列文本并向同事分发。尽管这些文本现在即可使用,但可能需要更改特定条款以更好地满足您自己的需要和特定密码策略要求。 您将会发现,此样例文本没有讨论或建议使用 Alt 键组合;这是因为使用此类键组合对于许多用户可能要求过高。对于管理员等拥有强大或机密帐户的技术精通用户,建议使用 Alt 键组合。 对于组织成员: 弱和空白的密码是攻击者入侵计算机与组织网络的最简单方法之一。很长时间持续使用的密码或频繁重用的密码也可能更加易于被攻击者破解。 要增强对网络中帐户的保护,访问企业计算机系统时必须使用强密码。您应该定期更改自己的密码,以及使用与以前密码不同的密码。 强密码是长度不低于八个字符的密码,且所用字符须来自下列五组中的三组:
密码还不得包含用户帐户名中所具有的三个或更多连续字母。每 42 天即要求更改一次密码,且不得重用密码。 在更改密码之后,新密码将自动进行复杂度检查并与旧密码进行比较。这些要求可能听似令人不快,您也可能会因而记下自己的密码,并将密码记录粘贴于书桌、计算机显示器或其他一些方便位置。但如此做法即会将您的计算机和整个组织暴露于极大危险的威胁之下,因为任何人都可以接近您的计算机并使用您的凭据登录网络。因此,绝不要将密码写下来。而是应该创建易于记忆的密码。 下面,您将了解一些关于密码安全的其他背景信息以及关于如何创建易于记忆的强密码的具体建议。 使用密码短语相对于使用“单词密码”,使用“密码短语”进行思维也许还会更简单一些。如果计算机运行的是 Windows NT 4.0 或更低版本、Windows 2000、Windows XP 和 Windows Server 2003,则可以支持十五个或更多字符(包括空格)。因此,“You can try to break this until the cows come home!”是一个完全有效的密码短语,即便使用现有最好的密码破解工具,攻击者要破解此密码也难乎其难。如果您的计算机运行上述操作系统之一,请尝试使用很长的密码短语,并包含大写字母、小写字母、数字与符号的组合。 请注意,实际应用时不应使用本文档中的示例密码,尽管上面讨论的密码“You can try to break this until the cows come home”非常长,但攻击者可能会将此密码及本文档中的其他样例密码添加到他们自己的攻击工具中。这些密码是示例密码,您应始终创建自己独有的密码。 更多密码提示下面的信息提供了有关创建和记忆单词密码与密码短语的各种提示,以及应执行或不应执行的操作。
建议操作:
“Phone + 4 + you”=“Phone4you”或“Fone4y0u” “cat + * + Mouse”=“cat*Mouse”或“cat*Mou$e” “attack + 3 + book”=“attack3booK”或“@tack3booK” 忌讳操作:
在组织中实施密码策略至此,新密码策略的指定、记录和通告等工作已经完成,现在应该在网络中实施密码策略了。有关强制使用密码的相关信息,请参阅 Security Guidance Kit 中的“Enforcing Strong Password Usage Throughout Your Organization”(英文)。 相关信息有关开发密码策略的详细信息,请参阅下列资料:
有关密码策略的详细信息,请参阅下列内容:
|