深入解析Windows 10认证技术:密码、智能卡与Windows Hello+Microsoft Passport的区别

本文详细介绍了Windows 10中的新型认证技术Windows Hello和Microsoft Passport,解释了它们如何通过生物识别、公开密钥加密和可信设备绑定来提高安全性和便利性,并与传统密码认证方式进行了对比分析。

Windows 10: 密码、智能卡以及Windows Hello + Microsoft Passport。理解它们之间的区别 (1)

大家好,我是村木ゆりか。 Windows 10的新认证功能Windows Hello和Microsoft Passport。想必很多人都听说过“新的认证方式”、“告别密码!”这样的说法。对于企业IT来说,它们可以在AzureAD + Windows 10中使用,并且Windows Server 2016 Technical Preview也开始支持。 虽然大致上明白这是解决以往密码问题的新认证方式,但还有人感到困惑吗?与以往Active Directory中使用的ID和密码的Kerberos认证有什么区别?与智能卡认证不同吗?或者说,为什么需要新的认证方式? 对于IT管理员来说,今后考虑部署,或者已经开始部署但需要故障排除等运维工作,如果认证机制和区别不清晰,可能会感到不安,或者难以深入考虑。 这次,我们将回顾以往Active Directory中的认证方式,介绍企业IT中的Windows Hello + Microsoft Passport是什么样的,以及如何应对安全威胁。首先,这次我们来整理Windows Hello和Microsoft Passport的关系,理清概要。

Windows Hello的生物识别

Windows Hello是生物识别。可以通过指纹、面部、虹彩进行认证。Windows 10开始标准支持这些认证方式。(并且决定将生物识别称为“Windows Hello”) 生物识别的设置和认证都非常简单。请观看介绍视频: https://www.youtube.com/watch?v=KGHgX7B_gb4

Microsoft Passport分离认证,提高便利性和安全性

Microsoft Passport是一种新的认证方式,结合使用Windows Hello(生物识别)或PIN登录可信设备,以及利用公开密钥加密对认证服务器进行认证。 以往的密码认证中,输入用户名和密码后,通过网络传输到认证服务器。然后,在认证服务器端管理用户名和密码(或密码哈希),通过比较进行认证。 由于通过网络传输等,为了减轻看不见的攻击者带来的安全风险,密码需要长而复杂以提高强度。此外,为了防止一个密码被盗后在其他服务中被滥用,密码需要在每个服务中使用不同的(防止重复使用)。而且,用户和设备没有绑定,可以从任何设备发出认证请求。也就是说,攻击者可以用盗取的用户名和密码,从攻击者的设备进行冒充认证。 Microsoft Passport是解决这些问题的、符合FIDO行业标准的新认证方式。Microsoft Passport的主要特点是“利用公开密钥加密”和“进行与可信设备绑定的两阶段认证”。

要点1: 利用公开密钥加密

密码使用共享密钥加密方式,交互的双方(用户和认证服务器)使用一个密钥(密码密钥)进行加密和解密。就像家人共享大门钥匙一样。有钥匙就可以开锁和上锁,所以钥匙需要交互的所有人(用户和认证服务器)保密。每个人都需要严格保存钥匙,并且需要安全地进行钥匙交换。 与此相对,公开密钥加密方式使用“公开密钥”和“秘密密钥”两个密钥配对处理。比喻的话,这就像挂锁。公开密钥(挂锁的锁部分)顾名思义,可以公开让任何人获取,秘密密钥(挂锁的钥匙部分)需要保密。锁任何人都可以锁上,但只有自己能打开(加密)。或者,只有自己能打开,但锁任何人都可以锁上(签名)的机制。 在公开密钥加密中,秘密密钥需要小心安全保存,不被他人知晓,但只需要用户自己持有,不需要与认证服务器交换秘密密钥。公开密钥谁都知道也没问题,不需要保密。 Microsoft Passport通过利用公开密钥加密进行认证,解决了以往密码(共享密钥加密方式)中密钥管理的问题。

要点2: 进行与可信设备绑定的两阶段认证

以往的认证中,用户和认证服务器是一阶段,使用用户输入的密码直接与认证服务器进行认证。Microsoft Passport将认证分为两个阶段。

  • 用户和设备间的认证:

    • 利用Windows Hello(生物识别)或PIN,用户通过设备认证(登录设备)。这里使用的Windows Hello生物识别信息或PIN是该设备专用的。不会流出设备外。
    • 攻击者要冒充用户进行非法登录,需要物理盗窃设备,并且伪造生物识别或知道PIN。
  • 可信设备和认证服务器间的认证:

    • 可信设备和认证服务器使用公开密钥加密进行认证。
    • 认证服务器只保管公开密钥。没有需要严格管理的密码或秘密密钥。
    • 需要严格管理的秘密密钥保存在用户使用的终端(已注册为可信设备)的TPM中,因此不会流出终端外。
    • (1)中用户通过设备认证后,可以访问TPM中保存的秘密密钥。
    • 使用秘密密钥向认证服务器发送认证请求,认证服务器端使用公开密钥确认身份。

这样将认证分为两个阶段,整理提高安全性的部分和提高便利性的部分,这就是Microsoft Passport的特点。

下次,我们将说明当前Active Directory中使用的ID和密码的Kerberos认证,以及作为提高安全性方法的智能卡认证与Microsoft Passport的区别。敬请期待!

■ 连载列表 Windows 10: 密码、智能卡以及Windows Hello + Microsoft Passport。理解它们之间的区别 (1) Windows 10: 密码、智能卡以及Windows Hello + Microsoft Passport。理解它们之间的区别 (2) Windows 10: 密码、智能卡以及Windows Hello + Microsoft Passport。理解它们之间的区别 (3)

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计