Secureandusableprotectionofaroamablecredentialsstore的制作方法

文档序号:7732842阅读:134来源:国知局
专利名称:Secure and usable protection of a roamable credentials store的制作方法
对可漫游凭证存储的安全且可用保护背景对诸如网上银行、网上商店和虚拟专用网络等可在线访问的多个站点的安全数字 访问在当今联机社会中是合乎需要的。用户认证反映人们用来在线访问这些站点的典型过 程。一般而言,该过程开始于用户浏览到网站,确定需要安全访问,并设置对于该站点的用 户名和口令/通行短语。在每一次用户想要访问该站点时,该用户浏览到该站点,输入其用 户名和口令/通行短语,并在该站点匹配该用户名和口令/通行短语后获准进入该站点。当前作为对在每一次用户浏览到该在线站点时输入用户名和口令/通行短语的 替换,该用户可允许将cookie存储在浏览器上以便由该设备上的浏览器记住所选信息。由 此,在该在线站点处用户信息的安全性由其上存储cookie的计算设备和浏览器的安全性 来管控。除了输入用户名和口令之外,用户名和口令/通行短语输入过程的各种变体利用 了回答预定问题和标识预定图像。在任一种情况下,鉴于用户对口令/通行短语的安全对待(即,不重用口令/通行 短语、不写下口令/通行短语、不将口令/通行短语存储在容易确定的位置),用户名和口令 输入认证过程只是与用户所选口令/通行短语的强度一样安全(即高熵、不容易猜到、满足 特定强度准则)。弱(即低熵)口令/通行短语容易受到字典和蛮力攻击。概述此处描述与可用性保持平衡的安全性方便用户利用可漫游凭证存储(RCS)来从 多个计算设备安全地访问网站和其他在线位置。在至少一个实施例的一方面,RCS经由多 阶段加密过程来方便受保护的统一凭证保险库(UCV),以使得通过使离线字典攻击对于攻 击者变得极其昂贵而不使可用性相当地恶化来保护用户凭证。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制 所要求保护的主题的范围。附图简述

图1示出了其中可操作对可漫游凭证存储的安全且可用保护的各实施例的示例 性环境。图2示出了包括用于实现一个实施例的可漫游凭证存储的扩展的可漫游设备的 示例性环境。图3示出了对可漫游凭证存储的安全且可用保护的一个实施例的示例性系统。图4示出了对可漫游凭证存储的安全且可用保护的一个实施例的示例性系统。图5是利用对可漫游凭证存储的安全且可用保护的一个实施例的将用户凭证存 储在可漫游凭证存储上的统一凭证保险库中的示例性过程。图6是利用对可漫游凭证存储的安全且可用保护的一个实施例的经由将第一密 钥存储在本地计算设备上来加速后续安全访问的示例性过程。图7是利用对可漫游凭证存储的安全且可用保护的一个实施例的经由访问存储在本地计算设备上的第一密钥来加速后续安全访问的示例性过程。贯穿本公开和各附图使用相同的附图标记来引用相同的组件和特征。详细描述术语表以下术语在本说明书中使用,并且除非另外指定或从上下文中显而易见,否则这 些术语具有以下提供的含义。蛮力攻击一以试图通过提交几乎所有可能来确定口令/通行短语为特征的击败 密码方案的尝试。不像字典攻击,蛮力攻击不基于被认为是更有可能匹配口令/通行短语 的输入。成本一时间方面的值。例如,成本可相对于秒或毫秒来定义。凭证一加密输入,包括安全站点的标识、对应于安全站点的用户名、以及用于访问 安全站点的口令/通行短语。字典攻击一以试图通过基于在字典中找到的最有可能匹配口令/通行短语的单 词来提交大量可能性来确定口令/通行短语为特征的击败密码方案的尝试。昂贵一相对成本值。在时间方面,昂贵的操作比不昂贵的操作花费更长的时间 (耗费更多)。例如,成本可相对于完成操作所必需的秒数或毫秒数来定义。密钥一密码密钥。锁一需要正确的密钥来获得访问权。离线攻击一当想要成为攻击者的人可访问受保护容器足够的时间来对凭证存储 发起字典攻击以检索秘密时的对口令的密码攻击。概览可漫游凭证存储(RCS)使得能够经由多阶段加密来以可漫游格式安全地存储属 于个人用户的多个凭证。在另一方面,RCS方便经由多阶段加密过程利用统一凭证保险库 (UCV)来产生受保护的UCV,以使得通过使得离线字典攻击对于想要成为攻击者的人变得 极其昂贵而不相当地增加可用性成本来保护用户凭证。在另一方面,RCS向用户提供多个计 算设备上的增强的安全访问。在另一方面,RCS使得能够加速检索所选计算设备上的信息。在下文中首先阐述在其中这些工具可启用这些和其他技术的环境。额外的章节描 述这些工具的各种发明技术和示例性实施例。这些章节描述了这些发明工具使得能够将属 于个人的多个凭证安全地存储在可漫游的受保护UCV中的示例性方式。进一步的章节描述 了经由多阶段加密来提供安全且可漫游的受保护UCV以使得通过动态地对想要成为攻击 者的人增加离线字典攻击的成本同时保持用户可接受的执行时限来保护用户凭证的各个 过程。还有一些其它章节描述了提供对所选设备上的信息的加速检索的各个过程,这些过 程在多个计算设备上对于用户利用增强的安全访问,该增强的安全访问利用包括安全站点 的标识、对应于安全站点的用户名、以及用于访问安全站点的口令/通行短语的输入来描 述。产生受保护UCV包括从受保护UCV的口令导出密钥以保护该受保护UCV。受保护 UCV可强制实施关于口令安全性的组安全策略,如本领域内已知的组安全策略。此外,受保 护UCV可允许用户设置其自己相应的口令安全等级。不管用户口令的熵如何,受保护UCV在 基于口令的密钥导出函数中通过将盐(即,随机位)用作输入之一来结合迭代散列以使得字典攻击对于想要成为攻击者的人变得更加困难。例如,基于口令的加密标准,诸如PKCS5 应用迭代散列并且可被表示为K = pkCS5(n,S,p),其中η =迭代计数,s =盐,ρ = 口令,以 使得K =导出的密钥。虽然将PKCS5用作示例,但构想在受保护UCV中使用利用迭代计数 的其它基于口令的加密方案。迭代计数越高,执行成功的字典攻击对于想要成为攻击者的人就将越困难。这是 因为当迭代计数非常高时,执行离线字典攻击在成本按时间来计算的情况下对于大多数攻 击者而言都可能变得极其昂贵。例如,当密钥导出变得昂贵(在现代硬件上花费例如10 秒)时,发起离线攻击是困难且昂贵的,即对于每一次口令猜测花费接近10秒来导出密钥。 此外,例如当普通熵是40时,攻击者对于24°次口令尝试中的每一次将需要10秒,即超过 348000年。假设攻击者对于所有口令可能性可以在1/2的时间内检索到正确的密钥,则该 攻击者将仍然需要[(2~40)/2)*10]秒来猜到口令。假设攻击者利用人类创建的口令中的 已知属性,例如经由彩虹表,则攻击者将仍然需要超过1000年来猜到口令。然而,用户在成本按照时间来计算的情况下也受到使用高迭代计数的密钥导出所 导致的高可用性成本的不利影响。例如,用户不太可能接受在每一次他们必须键入用户名 和口令以进入安全站点时等待接近10秒。在受保护UCV中,密钥导出可由保险库引擎来实现。在至少一个实施例中,其它合 适的组件可实现该密钥导出。在至少一个实施例的一方面,密钥导出可被实现为多阶段加 密过程。例如,在第一个阶段,可由作为可信计算基础的一部分的本地安全授权机构来生成 第一密钥(K1)。例如,该第一密钥(K1)可使用如上所述的具有大约1000万的迭代计数并 导致大约9. 6秒的示例性成本的PKCS5来导出(K1 = Pkcs5(ni, s,ρ))。在第二个阶段,可 使用PKCS5的变体来导出第二密钥(K2)以使得K2 = pkcS5(n2,s, (p+lQ),其中(p+ig表 示受保护UCV的所输入的口令与第一密钥的拼接。在至少一个实现的一方面,拼接包括将 第一密钥附加到口令。在至少一个实现的一方面,拼接包括对第一密钥和口令求散列。例 如,在第二个阶段,(K2)可以用大约100000的迭代计数和大约100毫秒的成本来导出。在 至少一个实现的一方面,由n2表示的迭代计数比由Ii1表示的迭代计数小得多(n2 << Ii1)。 在至少一个实现的一方面,由Ii2表示的迭代计数可以是由nl表示的迭代计数的计算出的 推导。在至少一个实现的一方面,由H2和H1表示的迭代计数被设为默认值。在至少一个实 现的一方面,由ri2和/或Ii1表示的迭代计数通过用户输入来控制。在至少一个实现的一方 面,由n2和/或Ii1表示的迭代计数由管理员来控制。在每一个实现中,应维持由Ii1表示的 迭代计数以使得执行离线字典攻击在成本按照时间来计算的情况下对于大多数攻击者而 言变得极其昂贵。一旦导出第二密钥,输入就可使用诸如高级加密标准(AES) 256等对称密码或另 一联邦信息处理标准(FIPS)确认的密码等已知加密方案来用该第二密钥加密,并作为凭 证被存储在受保护UCV中。可漫游凭证存储(RCS)提供了将第一密钥存储在本地计算设备 上的用户简档中,以便于利用受保护UCV来加速对安全站点的后续访问(如以下详细描述 的)。第二密钥不被存储在长期存储中。在至少一个实现的一方面,在加密包括安全站点的 标识、对应于安全站点的用户名、以及用于访问安全站点的口令/通行短语的输入并将其 作为凭证来存储后,破坏该第二密钥。在至少一个实现的一方面,该第二密钥可以在用户登 出时被破坏。在至少一个实现的一方面,该第二密钥可响应于用户指示来被破坏。
包含在可漫游设备上的其上存储有至少一个凭证的可漫游凭证存储(RCS)可用 于方便加速访问那些相关联的凭证被存储在用户选择的其它计算设备处的可漫游设备上 的安全站点。作为访问过程(如以下详细描述的)的一部分,计算设备访问可漫游设备并加载 受保护UCV应用程序编程接口(API)。尽管根据至少一个环境的至少一个其它方面,受保 护UCV API可被存储在计算设备上。在至少一个实施例的一方面,该受保护UCV API方便 在后续访问安全站点时访问凭证以使得可加速对同一站点的稍后访问。在至少一个实施例 的另一方面,还可增强与同一安全站点的其它交互。当用户将其包括RCS的可漫游设备耦合到另一计算设备,例如办公、学校或图书 馆处的计算设备时,在至少一个实施例的一方面,可提示用户指示这是否是用户想要在其 上存储信息以使得对安全站点的后续访问可以更快地进行的计算设备。在用户选择加速后 续安全访问的情况下,用户输入受保护UCV的可从中导出第一密钥的口令。例如,导出第一 密钥可花费大约9. 6秒。当用户选择加速后续安全访问时,在导出第一密钥后,该密钥可被 存储在该用户的简档或如由计算设备的操作系统定义的只可由该用户访问的其它位置中。 换言之,第一密钥可被存储在本地计算设备上的安全位置中。基于该第一密钥和所输入的 口令,可导出第二密钥。例如,在已经导出第一密钥后导出第二密钥可花费大约100毫秒。 第一密钥可被安全地存储在具有只可由该特定用户访问的用于安全存储的位置的任何计 算设备上。由此,可加速后续访问,因为将不需要在该设备上导出第一密钥,而是可访问该第 一密钥以导出第二密钥。根据至少一个实施例,这一后续访问的可用性成本也可以是大致 100毫秒。在至少一个实施例的一方面,在用户拒绝存储信息的情况下,可提示该用户针对 该特定会话是否需要更快访问。在用户选择针对当前会话加速访问的情况下,仍可导出第 一和第二密钥,如上所述,但这两个密钥都不会被存储在长期存储中。在至少一个实施例的 一方面,在用户浏览到安全站点时,将不提示该用户输入相关联的用户名和口令,因为第一 和第二密钥将被导出并且受保护UCV已解锁。在至少一个实施例的一方面,当第一密钥已被存储在本地计算设备上并且用户浏 览到一安全站点(用于该安全站点的凭证被存储在耦合的可漫游设备上,已导出第二密 钥)时,用户可以安全地登录到该站点而不必通过浏览器调用受保护UCV来输入相关联的 用户名和口令。在至少一个实施例的一方面,任何合适的应用程序可调用受保护UCV,例如, 安全应用程序。在至少一个实施例的一方面,当第一密钥已被存储在本地计算设备上并且 用户浏览一安全站点(用于该安全站点的凭证被存储在耦合的可漫游设备上,但尚未在该 浏览会话中导出第二密钥)时,将导出第二密钥。根据至少一个实施例,导出第二密钥的可 用性成本可以是大致100毫秒。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附 权利要求书中定义的主题不必限于在此所述的具体特征或动作或结构邻近度或顺序。相 反,所描述的具体特征和动作是作为实现该权利要求的示例性形式而公开的。示例性操作环境在详细描述这些工具之前,提供示例性操作环境的以下讨论来帮助读者理解可采用这些工具的各发明性方面的至少一种方式。以下描述的环境仅构成一个示例且并非旨在 将这些工具的应用限于任一个特定操作环境。可使用其它环境而不背离所要求保护的主题 的精神和范围。图1在100处概括地示出了一个这样的操作环境,该操作环境至少包括具有一个 或多个处理器(未示出)和计算机可读介质(未示出)的第一计算设备102。计算设备102 的计算机可读介质可存储一个或多个密钥106。该一个或多个密钥106在操作上保护本发 明的受保护的统一凭证保险库(UCV)。计算设备102可以是各种计算设备中的一种,诸如蜂窝电话、膝上型计算机、台式 计算机、个人数字助理或服务器。每一个计算设备都具有能够访问和/或执行被包含在计 算机可读介质上的指令的至少一个处理器。在至少一个实施例中,计算机可读介质包括或 者能访问浏览器,该浏览器是能够与启用网络的实体交互的模块、程序、或其它实体。该计 算设备还可包括可用于实现此处所描述的工具的一个或多个实施例的输入/输出设备,包 括键盘、鼠标、话筒、打印机和扬声器(未示出)。操作环境100还包括至少一个可漫游设备104。可漫游设备104可以是任何数量 的合适的可移动和/或便携式设备之一,诸如通用串行总线(USB)设备、PC卡、拇指型驱动 器、通用闪存驱动器(UFD)、智能卡、实况驱动器(live drive)、移动电话、IEEE 1394高速 串行总线设备、或启用生物测定的大容量设备。每一个可漫游设备104包括计算机可读介 质并且能够与类似102的计算设备接口。每一个可漫游设备都具有如计算机可读介质那样 的由一个或多个处理器访问的能力。可漫游设备104还在操作上耦合到其它计算设备,这 些其它计算设备可以是与102相同类型的计算设备,或者可以是不同的计算设备。可经由 对可漫游设备104的至少一部分启用锁108的多阶段加密来对可漫游设备104上的信息的 至少一部分,诸如受保护UCV利用一个或多个密钥106。计算设备102和可漫游设备104中的每一个都经由本发明的受保护的统一凭证保 险库(UCV)来交互。在至少一个实施例中,该交互经由将可漫游设备104耦合到计算设备 102来进行。在另一实施例中,这一交互经由计算设备102和可漫游设备104的无线耦合来 进行,例如经由无线协议,诸如无线USB、蓝牙、红外线(IR)、以及其它无线和射频(RF)通信 协议。在另一实施例中,该交互经由计算设备102和可漫游设备104之间的网络110接入 来进行。在某些实施例中,该操作环境还包括一个或多个网络110和包括web服务器112 的服务器112。网络110使得能够在计算设备102与服务器112之间进行通信,并且可包括 全球或本地有线或无线网络,诸如因特网、局域网(LAN)或内联网。计算设备102和/或可 漫游设备104的计算机可读介质包括或者能访问浏览器,浏览器是能够与启用网络的实体 交互的模块、程序、或其它实体。操作环境100还可至少包括类似于计算设备102的第二计算设备114,该第二计算 设备具有一个或多个处理器和计算机可读介质。每一个计算设备114都包括类似于102的 计算设备。计算设备114可以是与计算设备102相同的计算设备,或者可以是单独的或不 同的计算设备。对经由多阶段加密过程被锁定108在可漫游设备104上的信息的恢复经由多种方 法来提供。在至少一个实施例的一方面,至少部分地经由所存储的密钥106来提供访问。在至少一个实施例的另一方面,至少部分地经由新密钥106的导出来提供访问。在至少一个 实施例的又一方面,经由所存储的密钥106和新导出的密钥106的组合来提供访问。在至 少一个实施例的一方面,所呈现的每一种方法都经由多阶段加密和解密过程来提供提高的 安全性和比相当恶化程度小的可用性,以便访问安全站点,诸如安全网站、安全文档、以及 包括网上银行站点、网上商店站点和虚拟专用网络的安全企业连接。示例性操作以下讨论描述了这些工具通过方便用户利用可漫游凭证存储(RCS)来从多个计 算设备安全地访问站点和位置来平衡安全性和可用性的示例性方式。RCS经由多阶段加密 来方便受保护的统一凭证保险库(UCV),以使得通过使离线字典攻击对于攻击者变得极其 昂贵而不使可用性相当地恶化来保护用户凭证。图2示出了可实现所述过程和技术及其变体的示例性扩展环境200。环境200包 括至少一个计算设备,诸如图1所介绍的102。还示出了被锁定108的可漫游设备104。在 操作中,可漫游设备104可以与计算设备102接口,并且计算设备102填充和访问存储在可 漫游设备102的存储器204中的受保护UCV。存储器204通常包括可立即由微控制器212和/或计算设备102访问和/或当前 正在操作的、用于实现所述过程的数据、程序模块和组件。多阶段加密过程保护可漫游存储 器204中的信息的至少一部分,即受保护UCV 208。相应地,多阶段解密过程提供了将凭证 210安全地存储在受保护UCV 208中以便于加速和/或增强在多个计算设备上对安全站点 的访问。作为填充过程(下文中进一步描述)的一部分,计算设备102访问可漫游设备104 上的存储器204并将受保护UCV应用程序编程接口(API) 206加载到存储器204。在至少 一个环境的另一方面,受保护UCV API无需被存储在可漫游设备104上。在至少一个实施 例的一方面,该受保护UCV API 206方便在访问安全站点时存储凭证210以使得可加速对 同一站点的将来访问。在至少一个实施例的另一方面,可增强与同一安全站点的其它交互。 凭证210被定义为包括安全站点的标识、对应于安全站点的用户名、以及用于访问安全站 点的口令/通行短语的加密输入。例如,该输入可使用诸如像高级加密标准(AES) 256等对 称密码或另一联邦信息处理标准(FIPS)确认的密码来用特定密钥(以下描述)加密。构 想用于受保护UCV的其它加密方案。填充过程还包括在可漫游设备104上创建受保护UCV 208。创建受保护UCV包括 从用于受保护UCV的口令导出密钥以便使用如上所述的迭代散列来保护受保护UCV。包含在可漫游设备104上的其上存储有至少一个凭证的可漫游凭证存储(RCS)可 用于方便加速访问那些相关联的凭证被存储在诸如计算设备114等用户选择的其它计算 设备处的可漫游设备104上的安全站点。作为该访问过程(下文中进一步描述)的一部分,计算设备102访问可漫游设备 104上的存储器204并加载受保护UCV应用程序编程接口(API) 206。尽管根据至少一个环 境的至少一个其它方面,受保护UCV API可被存储在计算设备102上。在至少一个实施例 的一方面,该受保护UCV API 206方便在后续访问安全站点时访问凭证210以使得可加速 对同一站点的稍后访问。在至少一个实施例的另一方面,还可增强与同一安全站点的其它 交互。
在至少一个实施例的一方面,当用户将其包括RCS的可漫游设备104耦合到另一 计算设备114时,将提示该用户这是否是该用户想要在其上存储信息以使得对安全站点的 后续访问可以更快地进行的计算设备。在用户选择加速后续安全访问的情况下,该用户可 输入用于受保护UCV的口令,然后第一密钥被导出并存储在本地计算设备上的安全位置 中。基于该第一密钥和所输入的口令,然后可导出第二密钥。第一密钥可被安全地存储在 具有可由该特定用户访问的用于安全存储的位置的任何计算设备上。由此,将加速后续访 问,因为将不需要在该设备上导出第一密钥,而是可访问该第一密钥以导出第二密钥。在至少一个实施例的一方面,当第一密钥已被存储在本地计算设备114上并且用 户浏览到一安全站点(其中,对于该安全站点凭证210被存储在耦合的可漫游设备上,已导 出第二密钥)时,用户可以安全地登录到该站点而不必通过浏览器调用受保护UCV(例如, 安全应用程序)来输入相关联的用户名和口令。在至少一个实施例的一方面,另一合适的 应用程序可调用受保护UCV。在至少一个实施例的一方面,当第一密钥已被存储在本地计算 设备114上并且用户浏览一安全站点(对于该安全站点凭证210被存储在耦合的可漫游设 备104上,尚未导出第二密钥)时,将导出该第二密钥。示例性系统图3在300处概括地示出了可用于实现此处所讨论的各种示例性方法中的部分或 全部的示例性环境。对环境300的描述可包括对图1和图2的环境的引用。图3所示的计 算设备只是计算设备的一个示例,且并非旨在对计算设备和网络体系结构的使用范围或功 能提出任何限制。该计算设备环境也不应被解释成对于诸如计算设备102和计算设备114 等在示例计算设备环境中所示出的任一组件或其组合有任何依赖或要求。计算设备102包 括一个或多个处理器304以及一个或多个存储器306。取决于计算设备的确切配置和类型,存储器306可包括除了可漫游设备104之外 的各种计算机可读介质。计算机可读介质可以是能由诸如计算设备102等计算设备访问的 任何可用介质,包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制, 计算机可读介质包括计算机存储介质。“计算机存储介质”包括以用于存储诸如计算机可读 指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、 可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其他存 储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁 存储设备、或能用于存储所需信息且可以由诸如计算设备102等计算设备访问的任何其他 介质。存储器306通常包括操作系统308、一个或多个程序模块310,并且可包括程序数据 312和集成存储314。该基本配置在图3中由虚线302内的组件示出。操作系统308可包括基于组件的框架326,该框架支持组件(包括属性和事件)、 对象、继承、多态性、反射,并且提供面向对象的基于组件的应用程序编程接口(API)。由华 盛顿州雷蒙德市的微软公司生产的.NET 框架是这一框架的示例,但该示例绝不是限制性 示例。计算设备102还可具有附加特征或功能。例如,计算设备102还可包括如上所述 的附加数据存储设备(可移动和/或不可移动)。这样的附加存储在图3中由可移动存储 306和不可移动存储308例示。计算机存储介质可包括如上所述的计算机可读介质。存储 器306、可移动存储316和不可移动存储318都是计算机可读介质的示例。任何这样的计算机存储介质都可以是参考图1示出和描述的计算设备102的一部分。计算设备102还可具有输入设备320,诸如键盘、鼠标、笔、语音输入设备(例如,话 筒)、触摸输入设备、视频输入(例如,照相机、摄像机)等,以及诸如显示器、扬声器、打印 机等输出设备322。计算设备102还可包含允许该设备诸如通过有线或无线网络来与其它 计算设备114进行通信的通信连接324。该环境还可包括一个或多个存储单元(未示出)。 或者,可组合一个或多个存储单元。在至少一个实施例中,这些存储单元中的每一个都可位 于与计算设备102分开的位置并可经由网络来访问。对环境300的描述可包括对图2的环 境的引用。图4在400处概括地示出了可用于实现此处所讨论的各种示例性方法中的部分或 全部的示例性保险库环境。对保险库环境400的描述可包括对图2的环境的引用。作为 示例而非限制,该环境可包括包含保险库API 404和保险库引擎406的一个或多个保险库 402。在至少一个实施例的一方面,用户应用程序408经由保险库API 404与保险库402接 口以获取和设置凭证210。在至少一个实施例的另一方面,保险库管理用户接口 410与保险 库402接口以管理和更新凭证210。在至少一个实施例的另一方面,用户接口提供安全计算 机上的凭证收集412,该凭证收集经由提供保险库密钥用户接口的保险库引擎406与保险 库402接口。在至少一个实施例的另一方面,同步中心414经由保险库API 404来设置与保险 库402的同步伙伴关系。在至少一个实施例的另一方面,保险库引擎406提供对保险库存 储420的保险库存储接口。在至少一个实施例的另一方面,保险库引擎406提供对可漫游存 储418的接口以使得能够直接从可漫游存储418读取凭证210。在至少一个实施例中,该环 境还可包括一个或多个存储单元,包括可漫游设备104上的存储器204、可漫游存储418和 保险库存储420。或者,可组合这些存储单元中的一个或多个。在至少一个实施例中,这些 存储单元中的每一个都可位于与可漫游凭证存储(RCS)分开的位置并可经由网络来访问。 在至少一个实施例的另一方面,可漫游存储418与保险库处理器416接口以访问凭证210。 在至少一个实施例的另一方面,保险库引擎使用抽象存储(未示出)来提交保险库数据以 便长期存储在保险库存储420中。保险库引擎提交给该存储的数据由通过受保护UCV的用 户口令导出的密钥来保护。示例性过程操作的示例性动作此处参考图5-7来描述。如同此处所描述的所有过程,在对应 的附图中描述和描绘动作的次序本身是示例性的并且不应被解释为限制动作发生的次序。图5是描述将用户凭证存储在可漫游凭证存储上的统一凭证保险库中的至少一 个实施例的示例性过程500。该实施例被示为表示诸如计算设备102等图1的操作环境100 的元件所执行的各个操作或动作的一系列框。对过程500的描述可包括对图2的环境的引 用。过程500可结合或可以是RCS的实现。框502表示在耦合可漫游设备104后将受保护UCV应用程序编程接口(API) 206加 载到存储器204。在加载受保护UCV应用程序编程接口(API) 206后,在框504,经由输入受 保护UCV的口令来在可漫游设备104上创建受保护UCV 208。在框506,可将计算设备102 上的浏览器定向到安全在线站点。在框508,输入站点用户名和口令。在判定框510,确定 是否需要对该站点的可漫游访问。当未指示可漫游访问时,在框512对该站点的安全访问继续。当指示可漫游访问时,在框514开始对包括安全站点的标识、对应于安全站点的用户 名、以及用于访问安全站点的口令/通行短语的输入的加密。在框516,应用使用高计数迭 代散列的口令加密方案以创建第一密钥。在框518,应用使用具有较低计数的迭代散列和第 一密钥的口令加密方案以创建第二密钥。在框520,使用第二密钥来加密输入以创建凭证 210。在框522,将凭证210存储在受保护UCV 208中。已存储凭证210 (诸如在框522)的 用户现在可漫游到诸如114等其它计算设备。图6示出了描述经由将诸如密钥106等第一密钥存储在本地计算设备上来加速后 续安全访问的至少一个实施例的示例性过程600。该实施例被示为表示诸如计算设备102 或114等图1的操作环境100的元件所执行的各个操作或动作的一系列框。过程600可结 合或可以是RCS的实现。框602表示将根据本申请的RCS耦合到诸如计算设备102等计算设备。框604表 示访问安全站点,如参考图5所讨论的。判定框606表示提示加速对当前访问的安全站点 的后续访问。当未指示加速的后续安全访问时,在框608对该站点的安全访问继续。当指 示加速的后续安全访问时,在框610将第一密钥(如在图5的框516中导出的)存储在例 如本地用户简档中。由此,可加速后续访问,因为将无需在该设备上导出第一密钥,相反可 访问该第一密钥以导出第二密钥以使得后续访问的可用性成本相比于初始访问的可用性 成本显著降低。图7示出了描述经由将诸如密钥106等第一密钥存储在本地计算设备上来加速后 续安全访问的至少一个实施例的示例性过程700。该实施例被示为表示诸如计算设备102 或114等图1的操作环境100的元件所执行的各个操作或动作的一系列框。过程700可结 合或可以是RCS的实现。框712表示在已经本地地存储第一密钥(如在图6中的框610中)时对安全站点 的后续访问。在框714,以可忽略的可用性成本从本地简档访问第一密钥。在框716,利用 提供加速的后续访问的所存储的第一密钥来导出第二密钥。在至少一个实施例的一方面, 过程700在图6的过程600后立即发生。在至少一个实施例的另一方面,过程700在用户 稍后访问诸如计算设备102或计算设备114等计算设备时发生。结论上述系统和方法(“工具”)使得能够平衡安全性和可用性以便于用户利用可漫游 凭证存储(RCS)来从多个计算设备安全地访问站点和位置。此处所描述的这些和其它技术 可提供优于当前现有技术的显著改进,可能提供在多个计算设备上对多个安全站点的更安 全的访问,并且可能通过降低这一安全访问的可用性成本来提供更佳的用户体验。虽然已经用结构特征和/或方法动作指定的语言描述了该系统和方法,但是应该 理解在所附权利要求中定义的该系统和方法不必限于所述的特定特征或动作。相反地,具 体特征和动作是作为实现所要求保护的系统和方法的示例性形式来公开的。
权利要求
一种在可漫游凭证存储(418)中保护用户凭证(210)的方法,所述方法包括基于第一预定迭代计数、盐和用户口令来生成第一密钥(516);基于第二预定迭代计数、盐、以及所述用户口令与所述第一密钥的拼接来生成第二密钥,其中所述第二预定迭代计数小于所述第一预定迭代计数(518);将所述第一密钥存储在本地计算机上的用户简档中(610);创建统一凭证保险库UCV(504);用所述第二密钥来加密位置、位置专用用户名、以及位置专用口令以产生加密凭证(520);以及将所述加密凭证存储在所述UCV中(522)。
2.如权利要求1所述的方法,其特征在于,所述第一预定迭代计数表示默认值。
3.如权利要求1所述的方法,其特征在于,所述第一预定迭代计数表示用户选择的安全等级。
4.如权利要求1所述的方法,其特征在于,在生成所述第二密钥时所使用的盐与在生 成所述第一密钥时所使用的盐不同。
5.如权利要求1所述的方法,其特征在于,所述第一密钥的生成在本地安全授权机构 LSA中发生,其中所述LSA是可信计算基础TCB的一部分。
6.如权利要求5所述的方法,其特征在于,所述第一密钥和所述第二密钥只能由对所 述TCB已知的程序访问。
7.如权利要求1所述的方法,其特征在于,所述用户口令符合组策略。
8.如权利要求1所述的方法,其特征在于,所述第二密钥在用户登出时被破坏以使得 所述第二密钥不被存储在长期存储中。
9.如权利要求1所述的方法,其特征在于,所述第二密钥响应于用户输入而被破坏。
10.如权利要求1所述的方法,其特征在于,所述第二密钥在单次使用后被破坏。
11.一种在对可用性造成最小影响的情况下保护可漫游凭证存储(418)的方法,所述 方法包括接收统一凭证保险库UCV (602);提示输入口令,其中所述口令是UCV 口令(602);确定存储中是否存在基于所述UCV 口令的第一密钥(714);在基于所述UCV 口令的所述第一密钥的确存在于存储中的情况下,访问所述第一密钥 (714);以及基于盐、所述UCV 口令与所述第一密钥的拼接、以及第二预定迭代计数来导出第二密 钥,其中所述第二预定迭代计数小于第一预定迭代计数(716);
12.如权利要求11所述的方法,其特征在于,还包括利用所述第二密钥来安全地访问 所述UCV中的加密凭证,其中所述加密凭证表示位置、位置专用用户名、以及位置专用口 令。
13.如权利要求12所述的方法,其特征在于,对加密凭证的安全访问使得浏览器调用API。
14.如权利要求12所述的方法,其特征在于,对加密凭证的安全访问使得浏览器安全 地访问所述加密凭证中所表示的位置。
15.如权利要求14所述的方法,其特征在于,能够访问的位置包括 网站;安全节点;以及 企业连接。
16.如权利要求11所述的方法,其特征在于,还包括在存储中不存在基于所述UCV 口令的所述第一密钥的情况下,基于以下各项来导出所 述第一密钥所述UCV 口令; 盐;以及第一预定迭代计数;以及响应于导出所述第一密钥,确定是否应本地地存储所述第一密钥。
17.一种包括可漫游凭证存储RCS (418)的系统,所述系统包括统一凭证保险库UCV(208),其中所述UCV经由处理器(304)利用所述RCS(418)来方便 所述RCS(418)对可用性造成最小影响,所述UCV(208)包括 至少一个保险库API (404);以及 保险库引擎(406);保险库管理用户接口(410),其中凭证(210)经由所述保险库管理用户接口(410)来管 理和更新;用户应用程序(408),通过所述用户应用程序凭证(210)经由所述至少一个保险库 API (404)来被设置和访问;安全计算设备(412),所述安全计算设备方便对于所述保险库引擎(406)的保险库密 钥用户接口;保险库存储(420),所述保险库存储具有连接到所述保险库引擎(406)的保险库存储 接口 ;可漫游设备,所述可漫游设备存储凭证(104)以使得所述保险库引擎(406)从所述可 漫游设备(104)读取凭证(210);保险库处理器(416),其中所述保险库处理器(416)从所述可漫游设备(104)接收凭证 (210);以及同步中心(414),其中所述同步中心(414)设置与所述至少一个保险库API (404)的同 步伙伴关系。
18.如权利要求17所述的系统,其特征在于,还包括 处理器;耦合到所述处理器的可移动存储器,所述UCV被包含在所述可移动存储器上并能由所述处理器操作。
19.如权利要求17所述的系统,其特征在于,多个凭证中的至少一个是加密的。
20.如权利要求19所述的系统,其特征在于,所述多个加密凭证中的至少一个被存储。
全文摘要
文档编号H04L9/00GK101953113SQ20098010663
公开日2011年1月19日 申请日期2009年1月21日 优先权日2008年2月25日
发明者Malpani Raghavendra 申请人:Microsoft Corp
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1