了解和评估虚拟智能卡

警告

Windows Hello 企业版和 FIDO2 安全密钥是适用于 Windows 的新式双因素身份验证方法。 建议使用虚拟智能卡的客户迁移到 Windows Hello 企业版 或 FIDO2。 对于新的 Windows 安装,建议Windows Hello 企业版或 FIDO2 安全密钥。

本文介绍虚拟智能卡技术及其如何适应身份验证设计。

虚拟智能卡技术使用存储在安装了受信任平台模块 (TPM) 的计算机上的加密密钥。 虚拟智能卡通过使用双因素身份验证提供与传统智能卡相当的安全优势。 该技术还为用户提供了更多便利,并且部署成本更低。 通过利用提供与传统智能卡相同的加密功能的 TPM 设备,虚拟智能卡实现了智能卡所需的三个关键属性:不可移植性、隔离加密和反锤击。

虚拟智能卡的功能类似于物理智能卡。 它们显示为始终插入的智能卡,可用于对外部资源进行身份验证、通过安全加密保护数据,以及通过可靠签名实现完整性。 由于已启用 TPM 的硬件随时可用,并且可以使用现有证书注册方法部署虚拟智能卡,因此虚拟智能卡可以在任何规模的企业设置中替代其他强身份验证方法。

本主题包含以下各节:

比较虚拟智能卡与物理智能卡

虚拟智能卡的功能非常类似于物理智能卡,但它们的不同之处在于,它们通过使用计算机的 TPM 而不是智能卡媒体来保护私钥。

虚拟智能卡在应用程序中显示为传统的智能卡。 虚拟智能卡中的私钥不受物理内存隔离的保护,而是由 TPM 的加密功能保护的。 所有敏感信息都使用 TPM 进行加密,然后以加密形式存储在硬盘驱动器上。

所有加密操作都发生在 TPM 的安全隔离环境中,并且从未在此环境之外使用未加密的私钥。 因此,与物理智能卡一样,虚拟智能卡可以保护其免受主机上的任何恶意软件的侵害。 此外,如果硬盘驱动器以某种方式遭到入侵,恶意用户将无法访问存储在虚拟智能卡中的密钥,因为它们是使用 TPM 进行安全加密的。 密钥还可以通过 BitLocker 驱动器加密进行保护。

虚拟智能卡维护物理智能卡的三个关键属性:

  • 不可导出性:由于虚拟智能卡上的所有私有信息都是使用主计算机上的 TPM 加密的,因此不能在具有不同 TPM 的其他计算机上使用该信息。 此外,TPM 设计为防篡改且不可移植,因此恶意用户无法反向工程相同的 TPM,也无法在不同的计算机上安装相同的 TPM。 有关详细信息,请参阅 评估虚拟智能卡安全性
  • 隔离加密:TPM 提供与物理智能卡提供的隔离加密相同的属性,虚拟智能卡会利用这一属性。 私钥的未加密副本仅在 TPM 中加载,永远不会加载到操作系统可访问的内存中。 使用这些私钥的所有加密操作都发生在 TPM 中
  • 反锤击:如果用户输入 PIN 不正确,虚拟智能卡使用 TPM 的反锤击逻辑做出响应,该逻辑会在一段时间内拒绝进一步尝试,而不是阻止卡。 这也称为锁定。 有关详细信息,请参阅 评估虚拟智能卡安全性

以下小节比较了虚拟智能卡和物理智能卡的功能、安全性和成本。

功能

Microsoft 设计的虚拟智能卡系统非常模仿传统智能卡的功能。 与最终用户最明显的区别在于,虚拟智能卡本质上是始终插入计算机的智能卡。 无法导出用户的虚拟智能卡以用于其他计算机,这增加了虚拟智能卡的安全性。 如果用户需要访问多台计算机上的网络资源,则可以为该用户颁发多个虚拟智能卡。 此外,在多个用户之间共享的计算机可以为不同用户托管多个虚拟智能卡。

虚拟智能卡的基本用户体验与使用密码访问网络一样简单。 由于默认加载智能卡,因此用户必须输入绑定到卡的 PIN 才能获得访问权限。 用户不再需要携带卡片和读卡器或采取物理操作来使用卡。

此外,尽管虚拟智能卡的防锤功能与物理智能卡同样安全,但虚拟智能卡用户无需联系管理员来解除阻止卡。 而是等待一段时间 (,具体取决于 TPM 规范) ,然后重新尝试输入 PIN。 或者,管理员可以通过将所有者身份验证数据提供给主计算机上的 TPM 来重置锁定。

安全性

物理智能卡和虚拟智能卡提供相当的安全级别。 它们都实现双重身份验证以使用网络资源。 但是,它们在某些方面有所不同,包括物理安全性和攻击的实用性。 由于采用紧凑和便携式设计,传统智能卡最常与预期用户保持距离。 它们几乎没有为潜在对手提供收购的机会,因此,如果不进行一些盗窃,与卡进行任何形式的互动都很难。

但是,TPM 虚拟智能卡驻留在用户计算机上,该计算机可能经常无人看管,这为恶意用户提供了打击 TPM 的机会。 尽管虚拟智能卡与物理智能卡) 一样,受到充分保护,使其免受 (攻击的打击,但这种可访问性使得攻击的后勤工作更简单。 此外,TPM 智能卡的防锤行为不同之处在于,它只对重复的 PIN 故障做出响应,而不是完全阻止用户。

但是,虚拟智能卡提供了几个优势来缓解这些轻微的安全缺陷。 最重要的是,虚拟智能卡不太可能丢失。 虚拟智能卡集成到用户已拥有用于其他目的的计算机和设备中,并具有保护安全的动机。 如果托管虚拟智能卡的计算机或设备丢失或被盗,则用户注意到其丢失速度比物理智能卡丢失更快。 当计算机或设备被标识为丢失时,用户可以通知系统的管理员,该管理员可吊销与该设备上的虚拟智能卡关联的证书。 如果虚拟智能卡的 PIN 遭到入侵,则这可以排除将来对该计算机或设备上的任何未经授权的访问。

成本

如果公司想要部署物理智能卡,则需要为所有员工购买智能卡和智能卡阅读器。 尽管可以找到相对便宜的选项,但确保智能卡安全性的三个关键属性的选项 (最明显的是,非可移植性) 更昂贵。 如果员工的计算机具有内置 TPM,则可以部署虚拟智能卡,无需额外的材料成本。 这些计算机和设备在市场上相对普遍。

虚拟智能卡的维护成本低于物理智能卡的维护成本,物理智能卡很容易丢失、被盗或因正常磨损而损坏。 仅当主计算机或设备丢失或损坏时,TPM 虚拟智能卡才会丢失或损坏,这在大多数情况下的频率要低得多。

比较摘要

物理智能卡 TPM 虚拟智能卡
使用卡的内置加密功能保护私钥。 使用 TPM 的加密功能保护私钥。
将私钥存储在卡上的独立非易失性内存中,这意味着只能从卡访问私钥,并且永远不允许访问操作系统。 在硬盘驱动器上存储加密的私钥。 加密可确保只能在 TPM 中解密和使用这些密钥,而不能在操作系统的可访问内存中解密和使用这些密钥。
通过卡制造商保证不可移植性,其中包括将私人信息与操作系统访问隔离。 通过 TPM 制造商保证不可移植性,其中包括攻击者无法复制或删除 TPM。
在卡的内置功能中执行和隔离加密操作。 在用户计算机或设备的 TPM 中执行和隔离加密操作。
通过卡提供防锤。 尝试失败 PIN 输入后,卡会阻止进一步的访问,直到采取管理操作。 通过 TPM 提供抗锤击。 连续失败的尝试会增加设备锁定时间, (用户再次尝试) 之前必须等待的时间。 这可以由管理员重置。
要求用户携带其智能卡和智能卡阅读器来访问网络资源。 允许用户访问其启用 TPM 的计算机或设备,并可能访问网络,而无需其他设备。
通过将智能卡插入连接到其他计算机的智能卡读取器,实现凭据可移植性。 阻止从给定计算机或设备导出凭据。 但是,可以使用其他证书在多台计算机或设备上为同一用户颁发虚拟智能卡。
允许多个用户通过插入其个人智能卡通过同一台计算机访问网络资源。 通过为该计算机或设备上的每个用户发出虚拟智能卡,允许多个用户通过同一台计算机或设备访问网络资源。
要求用户携带卡,使攻击者更难访问设备并发起锤击尝试。 将虚拟智能卡存储在用户的计算机上,该计算机可能无人看管,并允许更大的风险窗口进行锤击尝试。
提供显式携带用于身份验证的常规单一用途设备。 智能卡很容易被错放或遗忘。 在对用户有其他用途的设备上安装虚拟智能卡,以便用户有更大的动机来负责计算机或设备。
仅当用户需要登录并注意到缺少时,才会提醒用户其卡丢失或被盗。 在用户可能需要用于其他目的的设备上安装虚拟智能卡,以便用户能够更快地注意到其丢失情况。 这可以减少关联的风险窗口。
要求公司为所有员工投资智能卡和智能卡阅读器。 要求公司确保所有员工都有启用 TPM 的计算机,这些计算机相对常见。
允许使用智能卡删除策略在删除智能卡时影响系统行为。 例如,策略可以规定当用户删除卡时,是锁定还是终止用户的登录会话。 无需智能卡删除策略,因为 TPM 虚拟智能卡始终存在,并且无法从计算机中删除。

身份验证设计选项

以下部分介绍了几个常用的选项及其各自的优点和缺点,组织可以在身份验证时考虑这些选项。

密码

密码是绑定到用户帐户的标识凭据的字符的机密字符串。 这会建立用户的标识。 虽然密码是最常用的身份验证形式,但它们也是最弱的。 在将密码用作用户身份验证的唯一方法的系统中,只有知道其密码的个人才被视为有效用户。

密码身份验证给用户承担了大量责任。 密码必须足够复杂,因此不能轻易猜出它们,但它们必须足够简单,以便提交到内存中,而不是存储在物理位置。 即使成功实现这种平衡,也存在各种攻击 (,例如暴力攻击、窃听和社会工程策略,) 恶意用户可以获取用户的密码并模拟该人的身份。 用户通常不会意识到密码已泄露,这使得恶意用户很容易在获取有效密码的情况下保持对系统的访问权限。

一次性密码

OTP) (一次性密码与传统密码类似,但更安全,因为它只能使用一次对用户进行身份验证。 确定每个新密码的方法因实现而异。 假设安全部署每个新密码,与经典密码模型身份验证相较,OTP 具有多种优势。 最重要的是,如果在用户和系统之间的传输中截获给定 OTP 令牌,则侦听器不能将其用于任何将来的事务。 同样,如果恶意用户获取有效用户的 OTP,则侦听器对系统的访问权限将受到限制, () 一个会话。

智能卡

智能卡是物理身份验证设备,它通过要求用户实际具有其智能卡设备来访问系统,以及知道提供智能卡访问的 PIN,从而改进了密码的概念。 智能卡有三个关键属性,可帮助维护其安全性:

  • 不可导出性:存储在卡上的信息(如用户的私钥)无法从一台设备中提取,不能在另一种媒体中使用
  • 隔离加密:与卡 (相关的任何加密操作(例如数据) 的安全加密和解密)都发生在卡的加密处理器中,因此主机上的恶意软件无法观察到事务
  • 反锤击:为了防止暴力攻击访问卡,一定数量的连续不成功的 PIN 输入尝试会阻止卡,直到采取管理操作

仅使用智能卡即可大大增强密码的安全性,因为恶意用户获取和维护对系统的访问权限要困难得多。 最重要的是,访问智能卡系统需要用户具有有效的卡,并且他们知道提供对该卡访问权限的 PIN。 小偷很难获取卡和 PIN。

卡的唯一性质可实现额外的安全性,因为只有一个卡副本存在,只有一个人可以使用登录凭据,并且用户会很快注意到卡是否已丢失或被盗。 与单独使用密码相比,这大大降低了凭据被盗的风险范围。

额外的安全性附带额外的材料和支持成本。 传统智能卡购买 (卡的成本很高,卡读卡器必须提供给员工) ,用户可能会错放或丢失。

虚拟智能卡

虚拟智能卡模拟传统智能卡的功能。 虚拟智能卡利用用户已拥有且更有可能始终拥有的技术,而不是需要购买其他硬件。 从理论上讲,任何可以提供智能卡三个关键属性 (不可移植性、隔离加密和防锤) 的设备都可以委托作为虚拟智能卡。 虚拟智能卡平台仅限于在大多数新式设备上使用受信任的平台模块 (TPM) 芯片。

利用 TPM 的虚拟智能卡提供传统智能卡的三main安全原则:不可移植性、隔离加密和反锤击。 虚拟智能卡的实现成本更低,用户更方便。 由于许多企业计算机已有内置 TPM,因此购买新硬件无需任何费用。 用户拥有计算机或设备相当于拥有智能卡,如果不管理预配进一步凭据,则无法从任何其他计算机或设备中假定用户的标识。 因此,可以实现双重身份验证,因为用户必须具有一台使用虚拟智能卡设置的计算机,并且知道 PIN 才能使用虚拟智能卡。