保护您的数字身份

Building Windows 8

来自 Windows 工程团队的内部视点

保护您的数字身份

Rate This
  • Comments 0

当通过计算设备连接到 Internet 时,我们将面对一个充斥着用户名、密码和 PIN 码的世界。这些都是数字经济的重要组成要素,在 Windows 中为这些要素提供基础架构,对我们来说是至关重要的任务。这项工作的第一步是为 Windows 提供登录功能,然后再逐步加入新的技术,以便保护您与日俱增的大量帐户。在本博文中,我们将向您介绍 Windows 在此领域的结构性改进,这些改进将帮助您更好地管理自己的众多密码。安全与身份团队的小组项目经理 Dustin Ingalls 创作了本博文。

–Steven


在规划 Windows 8 时,我们花费了大量时间来考虑如何帮助您方便而安全地管理自己的数字身份。如今,数字身份领域中存在诸多有关如何使用它们和如何保护它们的有趣话题。

目前,最常见的方法是通过密码来验证用户的电子身份。密码可用于登录到您的计算机、银行帐户、网上商家等许多位置。我们的研究表明,美国的每名计算机用户平均拥有 25 个在线帐户。(1) 要掌握所有这些帐户的信息并不容易。事实上,数据还显示,这 25 个帐户使用的唯一密码大约只有 6 个。对于安全领域的研究人员来说,发现大多数人都频繁地在多个帐户中使用同一密码,实在是一件不容乐观的事。此外,各家网站的密码政策存在差异(有些网站需要带有特殊字符的字母和数字,有些网站不允许特殊字符,有些网站限制最短密码长度,有些则不限制,等等),如果所有网站都使用相同的密码政策,则各帐户中的唯一密码个数有可能将进一步减少

一方面,这完全可以理解。记住大量不同的密码非常困难,尤其是对于那些不经常使用的帐户。另一方面,密码的重复使用给了黑客们可乘之机。他们知道如果能够窃取您在一个网站使用的密码,那么很有可能您在其他网站也使用了相同的密码。更有甚者,攻击者可以利用您的登录信息来重置其他帐户的密码,即使这些帐户使用了不同的密码也无济于事。例如,如果攻击者窃取了您某个帐户的密码,则很有可能您的某个电子邮件帐户也使用了相同的密码。由于主要的电子邮件提供商屈指可数,因此找到您的电子邮件帐户只是小菜一碟。一旦攻击者进入了您的电子邮箱,他们就可以访问其他常用网站(主要银行、主要网上商家等等),并通过“忘记密码”功能向他们已经到手的电子邮件帐户中发送密码重置链接。

(顺便一提,Hotmail 团队花费了很多精力来重新设计 Hotmail 的密码恢复流程。“居心不良的人”会通过多种手段来尝试窃取您的在线帐户(无论帐户来自哪家供应商),Hotmail 也无法幸免于难。一旦您的帐户失窃(或者您忘记了自己的密码),我们将通过设置好的一系列步骤,确保只有您本人才能恢复该帐户。相对于注册所需提供的少量信息,这些步骤可能看起来非常繁琐。因此,我们建议用户向帐户信息中添加一个备用电子邮件帐户或一个手机号码。后者相对更为可靠,因为手机号码非常难以复制或窃取。如果您发现自己的 Hotmail 帐户失窃,则可以选择重置自己的密码。对于使用公共终端或非安全环境访问 Hotmail 的用户,我们建议您使用通过短信发送的一次性密码。)

很显然,用户名/密码的整体框架带来了一系列有趣的挑战。我们都希望自己能够顺畅、轻松和安全地访问网络。如果必须要记住一系列复杂的密码,这通常不会为用户带来顺畅的体验。但是,在多家网站中使用同一个简单好记的密码一点也不安全。理想的解决方案需要找到一种能够同时确保轻松和安全地使用所有数字身份的方法。

认真地思考这一挑战后,我们发现了两种可以帮助您更加轻松和安全地管理数字身份的方法。一种方法是允许 Windows 来帮助您管理密码。如果您可以在每家网站中使用复杂的唯一密码而无需全部记住,这显然要比使用一个简单好记的密码更加轻松;同时,复杂的密码将更加有效地防止黑客窃取您的身份。另一种方法,是使用密码以外的手段来保护和证明您的身份。多年来,密码的替代技术层出不穷,包括:一次性密码 (OTP)、证书、智能卡等等。但是,尽管这些替代技术具有比密码更加出色的安全性,但从事实上从未得到过普及,这在很大程度上是由于它们不像密码一样简单易用。

在 Windows 8 中,我们即为用户名/密码组合的安全存储提供了支持,也为替代的身份验证技术提供了支持;我们这样做,即是为了帮助您更轻松地强化密码的安全性,也是为了帮助您更轻松地使用更新、更强大的技术来保护自己的数字身份。

密码的缺点

攻击者会通过各种方法窃取您的密码。最常见的方法包括:

网络钓鱼。网络钓鱼即诱骗用户直接向攻击者透露自己的密码。常见的网络钓鱼形式包括:通过“请重置您的帐户”电子邮件要求您发送密码,或者链接到一个外观酷似热门网站的网站,并要求您输入密码。

猜测。人们天生倾向于设置简单好记的密码,因此攻击者有时只需反复尝试 Internet 上最常用的 10 或 20 个密码,即可成功窃取帐户。攻击者也会利用一些公开信息(比如,您在社交网络中对外公开的个人资料)来找出其他容易猜测的密码,例如,您最喜爱的球队或您最心爱的宠物。

破解。在某些情况下,攻击者会截获特定的数据段(通常为密码的哈希值),并利用该信息推算出您的密码。Internet 上有很多免费下载的资源,可以帮助攻击者在短时间内推算出少于 8 个字符的密码。

键盘记录。如果攻击者能够成功地在某台设备上安装键盘记录器,他们就能记录下您在键盘上的每次击键,并据此轻松地获取您的用户名/密码组合。这种方法在公用 PC 和自助终端上尤其常见。(因此,在这种情况下,最好使用一次性代码来代替密码登录到 Hotmail 等其他位置!)

提高密码的安全性和可用性

您可以采取一系列重要步骤来防范以上这些类型的攻击。其中的一个重要步骤是确保您的 PC 健康并且未感染恶意软件,以便对抗网络钓鱼和键盘记录攻击。我们在以前的博文中曾对 Windows 8 中涉及此领域的一系列重要功能进行过介绍(安全启动SmartScreen 和 Windows Defender 增强等等)。但是,某些攻击(例如,猜测和破解攻击)需要依靠密码强度来对抗,因此在每个帐户中使用唯一的高强度复杂密码对您来说至关重要。

Windows 8 通过两种重要的方式简化了管理唯一复杂密码的任务。第一种方法是通过一种受保护的方式自动存储和检索用于所有网站和应用程序的帐户名和密码。Internet Explorer 10 会使用我们存储的凭据来记忆用于您所访问网站的用户名和密码(如果您选择这样做)。此外,Metro 风格应用程序的所有开发人员都可以使用直接 API 来安全地存储和检索该应用程序的凭据。(请注意,IE 会遵守相应网站有关凭据保存的政策,有些网站专门规定不得保存密码。)

管理您的凭据 / 查看和删除您所保存的用于网站、连接应用程序和网络的凭据。/ Web 凭据 / Windows 凭据 / [网站及其密码列表]

Windows 8 允许您安全地存储和管理所有登录凭据

此领域中另一项投入颇多的改进已由 Katie Frigon 在之前的博文中进行了介绍,使用 Windows Live ID 登录到 Windows 8。使用 Windows Live ID 登录到 Windows 时,您将获得众多好处,其中之一是您可以将自己存储的凭据同步到注册为“可信 PC”的所有 Windows 8 PC 中。

如果您在使用 Windows Live ID 登录到 Windows 的情况下存储凭据,Windows 将允许您为每个帐户设置复杂且唯一的密码;由于 Windows 8 会代表您自动提交凭据,您将无需亲自记住它。如果此后需要查看实际的密码,您可以通过任何可信 PC 在凭据管理器(如图所示)中查看。

强化网站和应用程序凭据的原则,同样适用于登录到 PC 时的情况。您用于保护 PC 上帐户的密码必须能够有效应对猜测和破解。Windows 8 可以在这方面为您提供支持,帮助您设置强度非常高的登录密码,同时提供一系列“方便”的登录方式,例如:图片密码和生物信息识别技术。这些功能可以在确保安全性的前提下,简化登录到 PC 的过程。我们会在将来的博文中对图片密码和其他登录方式进行更详细的介绍。

在此,有必要重申一下使用 Windows Live ID 登录到 PC 这一功能,除了简化登录以外,该功能还能提高登录安全性,并在您忘记 Windows 密码时提供明确的恢复途径。使用本地密码时,如果忘记了密码,您将陷于非常尴尬的境地,除非您事先制作了用于密码恢复的 USB 记忆棒,否则您将被迫从头开始构建自己的系统。反之,如果您使用 Windows Live ID 登录到自己的 PC,则可以通过另一台 PC 重置您的密码。如果您的 Windows Live ID 密码因为某种原因失窃,一系列专门用于检测盗号的 Windows Live 安全功能将发挥作用,并在您成功证明自己是帐户的正当所有者并恢复帐户之前,限制您的帐户使用。帐户恢复过程会利用您之前设置的双因素身份验证功能(备用帐户证明),例如手机号码或备用电子邮件地址(如果您尚未设置,我们将在您首次使用 Windows Live ID 登录到 Windows 8 时要求您这样做)。此外,即使您的 Windows Live ID 处于失窃状态,您仍将可以对 PC 进行完全访问,因为 Windows 会缓存您的上一个“已知可信”密码(当然,��经过加密),并允许您使用该密码继续登录。

创建易于使用的密码替代方案

虽然复杂且唯一的密码能够有效对抗猜测和破解攻击,但这是一种我们称之为“共享”或“对称”的密钥,非常容易遭到网络钓鱼和键盘记录攻击。由于该密钥由您和您的登录目标共享,如果攻击者通过某种方式获得您的密钥,则意味着您的帐户已经失窃。但是,某些替代方案可以针对此类攻击提供强大的保护。

其中一种替代方案为公钥/私钥对。安全套接层或传输层安全 (SSL/TLS) 证书是此类方案的典型,这是目前最常用的网络流量和 Internet 保护方案。公钥/私钥对与密码的不同之处在于它们是“非对称”的密钥,即公钥与私钥不同,即使攻击者获得了公钥,也无法推算出私钥。简而言之,在公钥/私钥登录方案中,当您登录到某个服务时,该服务将向您发送登录请求,接着您将使用私钥签发该请求,然后该服务会使用您的公钥阅读签名,通过加密机制证明该请求由持有相应私钥的人签发。该过程称为“所有权证明”。因此,只要您不丢失自己的私钥,就可以通过强大的加密机制证明自己是登录到该服务的真正帐号所有者。由于并未交换真正的私钥,因此键盘记录和网络钓鱼将无从下手。该过程中未产生可记录的击键;即使在最糟糕的情况下,如果用户被骗进了假网站,并使用其私钥签发了身份认证请求,其实在实质上也并未提供任何有用信息,居心不良的人将无法使用此信息登录到合法网站。

虽然该技术当前已在 Internet 中广为使用,但仍未彻底取代传统的密码登录。原因何在?这主要是因为强大的私钥保护通常需要专用硬件(典型的例子包括硬件安全模块 (HSM) 和智能卡),并且根据传统观念,使用此类硬件并不方便,如果您遗失了该硬件或未能随身携带,则将无法完成登录。

Windows 8 包含可帮助用户和应用程序开发人员更轻松地使用公钥/私钥方法的一系列新功能。Windows 已经为密钥对和证书的使用提供了相当广泛的支持;但是如上所述,对私钥的强大保护通常需要依靠 HSM 或智能卡来实现。Windows 8 包含新的密钥存储提供程序 (KSP),该程序可通过简单、方便的途径利用可信平台模块 (TPM) 为私钥提供强大的保护。TPM 是目前许多企业级 PC 中构建的可信执行环境(我们期待当 Windows 8 面市时,TPM 的普及度将进一步提高),允许 PC 安全地存储密钥。Metro 风格的应用程序具有代表您自动登记和管理密钥的 API。Windows 开发人员中心提供的示例银行应用程序向开发人员展示了如何使用此 API。

KSP 功能尤其适用于银行和商务应用程序,因为该功能可有效对抗 Internet 中现存的大部分常见身份攻击类型,同时能够利用 PC 中的硬件来防止恶意软件窃取您的私钥。

对于已经使用了智能卡的组织和企业,我们部署了叠加 TPM KSP 的新功能,并支持将 TPM 作为“虚拟智能卡”使用。这一解决方案更加方便和经济,因为您无需实物智能卡阅读器,同时部署也更加简单,因为虚拟智能卡适用于现有的智能卡应用程序和管理解决方案。虚拟智能卡功能可取代现有智能卡,用于兼容智能卡的任何应用程序或解决方案,并且无需在服务器端或应用程序端进行任何更改。此外,Windows 8 继续支持符合个人身份验证 (PIV) 标准或通用身份设备规格 (GIDS) 标准的卡片。借助这些标准,Windows 8 中的智能卡部署将更加轻松。所有这些选项都可用于登录 Windows(通过域内的 PC)、应用程序、网站等任何之前可以使用实物智能卡访问的位置。以下这段简短的视频展示了由管理员通过策略或登录脚本进行设置后的实际操作。


请下载此视频在您常用的媒体播放器中进行观看:
高质量 MP4 | 低质量 MP4

随着人们对安全数字身份的依赖性与日俱增,我们也在充满热情地探寻如何能在不增加复杂性的前提下,提高数字生活的安全性和可靠性。我们在 Windows 8 为实现此目标投入了很多时间和精力,同时非常期待收到您的反馈意见。

- Dustin Ingalls

(1) 来源:Microsoft Research(微软研究院),Dinei Florencio 和 Cormac Herley,网络密码习惯的大规模研究。2007 年

  • Loading...
Leave a Comment
  • Please add 2 and 4 and type the answer here:
  • Post