经由透明辅助因素的平台认证的制作方法

文档序号:6456350阅读:191来源:国知局
专利名称:经由透明辅助因素的平台认证的制作方法
技术领域
本技术领域一般涉及计算机处理器,且更具体地涉及访问受保护的文
件。 背景
当前的处理系统提供数据保护。例如,作为MICROSOFT⑧公司产品的 BITLOCKERTM驱动器加密(也被称为BITLOCKERtm ),是可随各 WINDOWS 操作系统获得的数据保护特征。BITLOCKERtm防止引导另一 操作系统或运行软件黑客攻击工具的用户使文件或系统保护无效,或防止 该用户对存储在受保护驱动器上的文件执行离线查看。BITLOCKERTM保护 用户数据并确保运行WINDOWS⑧操作系统(例如,WINDOWS VISTA) 的处理器在该系统离线时不被篡改。
BITLOCKERTM可以锁定正常的引导进程,直到用户提供PIN或插入包
含键控(keying)材料的USB闪存驱动器。例如,USB闪存驱动器可以在 引导进程之前插入到处理系统中。在引导进程期间,该USB闪存驱动器将 被识别,并且可以从其中访问键控材料。然而,当前的处理系统在引导进 程期间不识别诸如智能卡和CCID (集成电路卡接口设备)智能卡等用于这 一目的设备。
概述
提供本概述以便以简化的形式介绍将在以下说明性实施例的详细描述 中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关 键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
平台提供对受由该平台的固件所支持的任何认证机制选通(gated)的 受保护的文件的透明访问。该平台能够接受PIN,能够使用来自诸如USB 闪存驱动器或智能卡等各种设备的键,且与诸如生物测定设备等不提供数据存储的其它设备兼容。在一示例实施例中,平台固件允许BITLOCKERTM 访问一设备(例如,CCID智能卡)上专门提供的文件,和/或访问该设备 的受保护的BIOS (基本输入/输出系统)部分。
附图简述
以上概述以及以下详细描述在结合附图阅读时可被更好地理解。出于 说明经由透明辅助因素的平台认证的目的,在附图中示出了其示例性构造, 然而,经由透明辅助因素的平台认证不限于所公开的各具体方法和手段。


图1是用于访问块设备的示例系统的功能框图,该访问是经由该系统 的BIOS部分的。
图2是用于访问生物测定设备的示例系统的功能框图,该访问是经由 该系统的BIOS部分的。
图3是用于访问块设备的示例系统的功能框图,该访问是经由该系统 的EFI的。
图4是用于访问生物测定设备的示例系统的功能框图,该访问是经由
该系统的EFI的。
图5是符合ISO 7816规范的块设备的示例文件系统的描绘。
图6是用于在平台存储器中生成虚拟块设备的示例过程的流程图。
图7是对虚拟块设备的平台存储器的示例分配的描绘。
图8是用于访问CCID智能卡的示例过程的流程图。
图9是其中可以实现经由透明辅助因素的平台认证的示例计算环境的描绘。
说明性实施例的详细描述
在一示例实施例中,用于支持平台认证的透明辅助因素或设备包括例 如,智能卡、CCID智能卡(集成电路卡接口设备智能卡)、生物测定设备 (例如,指纹读取器、视网膜扫描仪等)、或其组合。用于支持平台认证 的透明辅助因素在此被描述为应用于作为MICROSOFT⑧公司产品的 BITLOCKERTM驱动器加密(也被称为BITLOCKER ),但其并不限于此。该辅助因素从平台的用户的角度来看是透明的,因为用户不必了解各因素 之间差异的细节。
BITLOCKERTM能够使用存储在块设备上的外部键。块设备是以块形式 发送和/或接收信息的设备,诸如例如硬盘驱动器。对块设备的访问由平台 的固件提供。平台可以包括任何适当的处理器等。例如,适当的平台可以 包括但不限于,个人计算机,服务器计算机,手持式或膝上型设备,多处 理器系统,基于微处理器的系统,机顶盒,可编程消费电子产品,网络PC, 小型机,大型计算机,便携式设备,例如诸如MP3播放器、随身听等便携 式音乐播放器等便携式媒体播放器,诸如个人数字助理("PDA")、蜂 窝电话、便携式电子邮件设备、瘦客户端、便携式游戏设备等便携式计算 设备,诸如电视、DVD播放器、机顶盒、监视器、显示器等消费者电子设 备,诸如自助服务终端、店内音乐采样设备、自动提款机(ATM)、收银 机等公共计算设备,便携式或安装在交通工具中的导航设备和/或如厨房电 器、机动车控件(例如,方向盘)等非常规的计算设备,或其组合。在一 示例实施例中,平台的固件被配置为提供允许BITLOCKERTM为认证目的利 用诸如智能卡、CCID智能卡和/或生物测定设备等辅助因素的能力。因此, BITLOCKERTM读取块设备上专门提供的文件或该块设备的受保护BIOS区
域中的文件,类似于从诸如例如硬盘等存储设备读取文件。
在此可适用的示例智能卡是符合ISO 7816规范的智能卡。该规范描述
了智能卡的属性和功能。在一示例实施例中,用来访问智能卡的命令是符
合ISO 7816规范的,例如定义访问简单文件系统的基本命令和该文件系统
本身的ISO 7816-4节。
在一示例实施例中,BITLOCKERTM键(例如,BITLOCKERtm所利用
的外部键)存储在块设备的文件系统中。在认证块设备时,从该块设备中 检索这些键并且这些键随后由BITLOCKERTM在平台的引导进程期间利用。
在一示例实施例中,对块设备的访问是只读访问。在另一示例实施例中, 块设备上的文件是受保护的。例如,除非提供PIN等,否则不准许对块设 备上的文件的访问。或者,作为又一示例,只选择块设备上的预定文件来 由平台访问。因此,如果块设备丢失或被盗,则在该块设备上的信息受到保护且不可由未授权的实体访问。
图1是用于访问块设备18的示例系统12的功能框图,该访问是经由
系统12的BIOS (基本输入/输出系统)部分20的。如图1所示,系统12 包括PCAT(PC高级技术)兼容的引导管理器22、 BITLOCKERtm欽件24、 和BIOS部分20。 BIOS部分20包括块设备仿真程序部分14和块设备驱动 程序部分16。块设备仿真程序14被配置为检测块设备18并打开块设备18 上的文件。BIOS部分20包括被配置为访问存储在块设备18上的信息的块 设备驱动程序16。
BIOS部分20包括用于控制包括系统12的平台的引导进程的固件。在 一示例实施例中,BIOS部分20包括例如用于处理对诸如可信平台模块 (TPM)等可信计算组(TCG)设备的接口的中断处理程序(例如,中断 1A十六进制,中断lAh)、用于处理对诸如键盘等人类接口设备(HID) 的接口的中断处理程序(例如,中断9h)、和用于处理对诸如通用串行总 线(USB)兼容的设备(例如,USB盘、USB读卡器)等块设备接口的接 口的中断处理程序(例如,中断13h)。要强调的是图1中对具体的中断处 理程序的描绘是示例性的,且可以使用任何接口。
BIOS部分20支持USB控制器和基本设备,如HID和存储块设备。在 一示例实施例中,BIOS部分20被配置为包括块设备仿真程序14和块设备 驱动程序16,以与诸如例如智能卡18或生物测定设备(未在图1中示出) 等设备相兼容。在一示例实施例中,至少部分地根据诸如例如集成电路卡 接口设备规范1.1修订版等集成电路卡接口设备规范来配置块设备驱动程 序16,且其至少部分地基于该规范来执行。不必实现在集成电路卡接口设 备规范中描述的完整的设备类,相反,该设备类的子集是适当的。例如, 用来允许与读卡器的基本交互和与智能卡18的通信的元素是适当的,这些 交互和通信诸如有向智能卡18供电、将智能卡18断电、以及对智能卡18 中继命令和响应APDU (应用协议数据单元)。
在一示例实施例中,读卡器经由PCMCIA (个人计算机存储卡国际联 合会,或外围组件微通道互连体系结构)接口与智能卡18兼容。该实施例 向移动计算机等提供有利的使用。智能卡18可以是如下形式卡片、键链(key fob)、或任何适当的配置。
在一示例实施例中,如图2所示,块设备13包括生物测定设备,如指 纹读取器、视网膜扫描仪等。生物测定设备通常不提供数据存储。在其中 块设备18包括生物测定设备或不提供数据存储的其它辅助因素的实施例 中,BIOS部分20的固件执行块设备18的认证。如果块设备18的认证成 功,则块设备18可以提供令牌,该令牌可被用来访问平台中包含例如通过 启动BITLOCKERTM来继续进行引导进程所需的键的安全区域。在该实施例
中,在没有成功地认证块设备18之前,不能读取存储在平台的安全区域中 的信息。
如图1和图2所示,平台的BIOS部分20是静态绑定的。即,绑定—— 将值与标识符相关联的过程,是在引导进程或平台操作系统启动之前完成 的。因此,块设备仿真程序14和块设备驱动程序16对于所有类型的块设 备18而言是固定的。
图3是用于访问块设备18的示例系统28的功能框图,该访问是经由 系统28的可扩展固件接口 (EFI) 26的。系统28与上述系统12类似地执 行,其不同之处是系统12的BIOS实现和系统28的EFI实现。EFI已知是 用来替换BIOS的。类似于BIOS, EFI负责控制操作系统的引导进程并提 供操作系统和硬件之间的接口。 EFI 26是动态绑定的。即,绑定是在引导 进程期间完成的。因此,块设备仿真程序14和块设备驱动程序16可以分 开实现,且不必绑定到一静态单元。块设备驱动程序16可以在EFI引导时 加载。
如图3所示,系统28包括EFI兼容的引导管理器30、 BITLOCKER 软件24、和EFI部分26。 EFI部分26包括块设备仿真程序部分14和块设 备驱动程序部分16。块设备仿真程序14被配置为检测块设备18并打开块 设备18上的文件。EFI部分26包括被配置为访问存储在块设备18上的信 息的块设备驱动程序16。
EFI部分26包括用于控制包括系统12的平台的引导进程的固件。在 一示例实施例中,EFI部分26包括例如用于处理对诸如可信平台模块 (TPM)等可信计算组(TCG)设备的接口的中断处理程序、用于处理对诸如键盘等人类接口设备(HID)的接口的中断处理程序、和用于处理诸如
通用串行总线(USB)兼容的设备(例如,USB盘、USB读卡器)等块设 备接口的接口的中断处理程序。要强调的是图1中对具体的中断处理程序 的描绘是示例性的,且可以使用任何接口。
EFI部分26支持USB控制器和基本设备,如HID和存储块设备。在 一示例实施例中,EFI部分26被配置为包括块设备仿真程序14和块设备驱 动程序16,以与诸如例如智能卡18或生物测定设备(未在图3中示出)等 设备相兼容。在一示例实施例中,至少部分地根据诸如例如集成电路卡接 口设备规范1.1修订版等集成电路卡接口设备规范来配置块设备驱动程序 16,且其至少部分地基于该规范来执行。不必实现在集成电路卡接口设备 规范中描述的完整的设备类,相反,该设备类的子集是适当的。例如,用 来允许与读卡器的基本交互和与智能卡18的通信的元素是适当的,这些交
互和通信诸如有向智能卡18供电、将智能卡18断电、以及对智能卡18中 继命令和响应APDU (应用协议数据单元)。
在一示例实施例中,读卡器经由PCMCIA (个人计算机存储卡国际联 合会,或外围组件微通道互连体系结构)接口与智能卡18兼容。该实施例 向移动计算机等提供有利的使用。智能卡18可以是如下形式卡片、键链、 或任何适当的配置。
在一示例实施例中,如图4所示,块设备18包括生物测定设备,如指 纹读取器、视网膜扫描仪等。生物测定设备通常不提供数据存储。在其中 块设备18包括生物测定设备或不提供数据存储的其它辅助因素的实施例 中,EFI部分26的固件执行块设备18的认证。如果块设备18的认证成功,
则块设备可以提供令牌,该令牌可被用来访问平台中来包含例如通过启动 BITLOCKERTM来继续进行引导进程所需的键的安全区域。在该实施例中,
在没有成功地认证块设备18之前,不能读取存储在平台的安全区域中的信 息。
在另一示例实施例中,EFI是从硬盘等来在BIOS上引导的。 在操作系统加载到平台上之前,块设备被认证。在一示例实施例中, 如果实现了 BIOS,则块设备是在调用BIOS上的中断19h之前认证的。艮P,块设备是在BIOS在引导进程期间开始加载操作系统之前认证的。在一示例
实施例中,如果实现了EFI,则块设备是在EFI上调用引导管理器之前认证 的。块设备可以通过任何适当的手段来认证,诸如例如通过使用PIN等。 在成功地认证了该块后,在平台的存储器中生成虚拟块设备。
为在平台存储器中生成该虚拟块设备,搜索块设备的存储以寻找包含 将允许引导进程开始/继续执行的信息的位置。块设备上的存储的体系结构 可以包括任何适当的结构,且因此可以用任何方式来标识该块设备上的存 储的、包含允许引导进程的执行的信息的一个或多个位置。
图5是符合ISO 7816规范的块设备的示例文件系统40的描绘。要强 调的是,文件系统40是示例性的,且可以在该块设备上实现任何适当的文 件系统。在一示例实施例中,块设备的文件系统40包括至少一个主文件32 (在图5中示为MF)、至少一个专用文件34 (在图5中示为DF)、以及 至少一个基本文件36 (在图5中示为EF)。为简明起见,每一类型的文件 只标记了一个(32、 32和36)。文件系统40的分层结构是这样的专用 文件和基本文件从属于主文件32。主文件32是根文件。专用文件包含文件 控制信息。专用文件可任选地包含可用于分配的存储器的指示。专用文件 可以是基本文件的父亲和/或专用文件可以是基本文件。
在一示例实施例中,基本文件包括其包含允许引导进程的执行的信息 的指示。例如,基本文件可以包括其包含BITLOCKERTM所利用的键的指示。
在一示例实施例中,如图5所示,基本文件被指定为VFAT (虚拟文件属 性表),以指示其包含允许引导进程的执行的信息。包含在具有VFATID 的基本文件中的信息的类型的示例在框38中示出。除其它信息外, BITLOCKER 所利用的键被示为LFN (逻辑文件名) E5E1A420-0134-4677-88B1-855E9DC200F7.BEK , 以及 LFN : AE324B14-5264-E32A-9A23-225AB6823A32.BEK。
图6是用于在平台存储器中生成虚拟块设备的示例过程的流程图。在 步骤40,分配平台中的存储器,并且初始化任何需要的系统结构。在一示 例实施例中,块设备在执行引导进程之前耦合到平台。在一示例实施例中, 块设备上的文件系统被实现为只读FAT,其具有等于0的引导扇区以防止平台从该块设备引导。在将操作系统加载到平台之前,块设备的主文件在
步骤42被加载到平台存储器。在步骤44,诸如BIOS或EFI等固件递归地 搜索该块设备上的主文件和从属专用文件,以寻找具有ID VFAT (表示一 ID号)的基本文件。在步骤46,如果未找到具有ID VFAT的基本文件, 则在步骤58释放未使用的资源且该过程结束。如果在步骤46找到了具有 IDVFAT的基本文件,则在步骤48,所有这种基本文件都被加载到平台存 储器中。寻找具有ID VFAT的基本文件是块设备被提供进行引导访问且可 以进行虚拟块设备的生成的指示。
在步骤50,打开并解析基本文件。在符合ISO 7816规范的一示例实施 例中,基本文件被限为5字节标识符。因此,平台维护块设备上的、要包 括在虚拟块设备中以允许BITLOCKERTM使用具有长于5字节的名称的外 部键的所有文件的目录。在步骤52,从所解析的基本文件中提取诸如例如 BITLOCKERTM键等信息。在步骤54,诸如例如BITLOCKERTM键等所提取 的信息被添加到平台存储器中的虚拟块设备的每一适当的文件。如果存在 更多的具有ID VFAT的基本文件(步骤56),则该过程前进至步骤50并 如上所述地继续。如果不存在更多的具有ID VFAT的基本文件(步骤56), 则在步骤58释放未使用的资源且该过程结束。在块设备上所找到的、在 EF中未被标识为VFAT的文件不被访问或读取,并且因此未被展示。
虚拟块设备是在平台存储器中动态地生成的。虚拟块设备在引导进程 期间(例如,在平台加电时) 一次生成。虚拟块设备的文件保留在平台存 储器中,即使该块设备从平台去耦。然而,该虚拟块设备在预引导时存在 且在加载平台操作系统时将被毁去。
虚拟块设备的文件夹分层结构将遵循块设备的文件夹的分层结构。因 为只有具有ID VFAT的基本文件被加载,块设备上不想要的文件未在虚拟 块设备中表示。因此,只对实际填充有数据的块分配了平台存储器。对虚 拟块设备的平台存储器的示例分配的描绘在图7中示出。如图7所示,向 引导记录扇区60、文件分配表扇区62、后备文件分配表扇区64、根目录 66、和至少一个数据存储区域扇区68分配了平台存储器。数据存储区域68 可以包含用于允许引导进程执行的信息,诸如例如BITLOCKERTM键。在一示例实施例中,每一扇区都包括512字节。可以用任何适当的方式来分配
平台存储器,诸如例如连续地。在一示例实施例中,执行步骤66且所有其
它框在其从引导应用程序请求时"在运行中"计算。
如上所述,块设备可以包括CCID智能卡。图8是用于访问CCID智 能卡的示例过程的流程图。要强调的是,图8所示的过程适用于任何适当 的块设备。在步骤70,确定是否检测到CCID读卡器。如果未检测到读卡 器(步骤70),则如上所述,如步骤卯所示,如果实现了 BIOS则调用中 断19h或如果实现了 EFI则加载引导管理器。如果检测到读卡器(步骤70), 则在步骤72确定,是否检测到耦合到该读卡器的智能卡。如果未检测到智 能卡(步骤72),则该过程前进至步骤90。如果检测到智能卡(步骤72), 则在步骤74确定,该智能卡是否符合ISO 7816-4或任何其它适当的协议。 如果智能卡不符合(步骤74),则该过程前进至步骤90。如果智能卡符合 (步骤74),则在步骤76,将来自该智能卡的专用引导文件加载到平台存 储器中。
在步骤78,确定DF引导文件是否受诸如例如PIN的保护。如果DF 引导文件是不受保护的(步骤78),则在步骤88初始化虚拟块设备在平台 存储器中的生成。如果DF引导文件是受保护的(步骤78),则在步骤80, 呈现对于PIN等的提示。被利用来允许输入PIN等的用户界面(UI)在运 行初始程序加载(IPL)或引导代码之前完成。 一旦键盘、显示器和/或其它 UI设备的控制传到IPL代码,则认证提示可能是不可呈现的。在一示例实 施例中,期望在向平台供电之前智能卡耦合到(例如,插入到)读卡器中。
在步骤82接收PIN等。在步骤84,利用PIN等来解锁智能卡。在步 骤86处,确定智能卡是否被解锁。如果智能卡被解锁(步骤86),则该过 程前进至步骤88。如果智能卡未被解锁(步骤86),则该过程前进至步骤 80。
在成功地生成虚拟块设备之后,IPL代码枚举虚拟块设备,并将其包 括在对BITLOCKERTM外部键等的搜索中。一旦引导管理器加载了键且键成
功地解锁了所加密的巻,即将控制传到操作系统加载程序。在一示例实施 例中,虚拟块设备在平台存储器中的存储位置既不是受保护的、保留的,也不是操作系统加载程序所知道的。因此,操作系统文件被加载并最终可 以重写虚拟块设备的存储空间。
用于支持平台认证的透明辅助因素的各实施例可在计算设备上执行。 图9和以下讨论提供了其中可实现这一计算设备的合适计算环境的简要概 括描述。尽管并非所需,但用于支持平台认证的透明辅助因素的各方面可 以在诸如程序模块等由诸如客户机工作站或服务器等计算机执行的计算机 可执行指令的一般上下文中描述。 一般而言,程序模块包括执行特定任务 或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外, 经由透明辅助因素的平台认证可用其它计算机系统配置来实施,包括手持 设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、网络 PC、小型机、大型计算机等。此外,经由透明辅助因素的平台认证也可以 在其中任务由通过通信网络链接的远程处理设备来执行的分布式计算环境
中实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储 设备中。
计算机系统可被大致分为三个组件分组硬件组件、硬件/软件接口系 统组件、以及应用程序组件(也被称为"用户组件"或"软件组件")。
在计算机系统的各实施例中,硬件组件可包括中央处理单元(CPU) 621、 存储器(ROM 664和RAM 625两者)、基本输入/输出系统(BIOS) 666、 以及诸如键盘640、鼠标642、监视器647和/或打印机(未示出)等各种输 入/输出(I/O)设备。硬件组件包括计算机系统的基本物理基础结构。
应用程序组件包括各种软件程序,包括但不限于编译器、数据库系统、 文字处理程序、商用程序、视频游戏等。应用程序提供用于利用计算机资 源来解决问题、提供解决方案、及处理各种用户(机器、其它计算机系统 和/或最终用户)的数据的手段。在一示例实施例中,应用程序执行上述与 经由透明辅助因素的平台认证相关联的功能,诸如例如检测块设备、打开 块设备上的文件、搜索块设备上的文件、在平台存储器中生成虚拟的块设 备、利用PIN等来解锁块设备、以及开始引导进程。
硬件/软件接口系统组件包括(并且在某些实施例中只包括)操作系统, 其本身在大多数情况下包括外壳和内核。"操作系统"(OS)是担当应用程序和计算机硬件之间的中介的特殊程序。硬件/软件接口系统组件还可以
包括虚拟机管理器(VMM)、公共语言运行库(CLR)或其功能等效物、 Java虚拟机(JVM)或其功能等效物、或者作为对计算机系统中的操作系 统的替换或补充的其它这样的软件组件。硬件/软件接口系统的目的在于提 供用户可在其中执行应用程序的环境。
硬件/软件接口系统通常在启动时被加载到计算机系统中,并且之后管 理计算机系统中的所有应用程序。应用程序通过经由应用程序接口 (API)
请求服务来与硬件/软件接口系统交互。某些应用程序使得最终用户能够经 由诸如命令语言或图形用户界面(GUI)等用户接口来与硬件/软件接口系 统交互。
硬件/软件接口系统传统上执行用于应用程序的各种服务。在其中多个 程序可同时运行的多任务硬件/软件接口系统中,硬件/软件接口系统确定各 应用程序应该以何种次序运行以及在为轮换而切换至另一应用程序之前应 该允许每一个应用程序多长时间。硬件/软件接口系统还管理多个应用程序 之间的内部存储器的共享,并且处理来自诸如硬盘、打印机和拨号端口等 附连硬件设备的输入以及对其的输出。硬件/软件接口系统还将关于操作的 状态和可能已发生的任何错误的消息发送给每一个应用程序(并且在某些 情况下发送给最终用户)。硬件/软件接口系统还可卸载批作业(例如,打 印)的管理以使得启动应用程序免除该工作并能够继续执行其它处理和/或 操作。在能提供并行处理的计算机上,硬件/软件接口系统还管理划分程序 以使其同时在多于一个的处理器上运行。
硬件/软件接口系统外壳(被称为"外壳")是对硬件/软件接口系统的 交互式最终用户接口。(外壳也称为"命令解释程序",或在操作系统中 被称为"操作系统外壳")。外壳是可直接由应用程序和/或最终用户访问 的硬件/软件接口系统的外层。与外壳相反,内核是直接与硬件组件交互的 硬件/软件接口系统的最内层。
如图9所示,示例性通用计算系统包括常规计算设备660等,其包括 处理单元621、系统存储器662和将包括系统存储器的各种系统组件耦合到 处理单元621的系统总线623。系统总线623可以是几种类型的总线结构中的任何一种,包括存储器总线或存储控制器、外围总线、以及使用各种总 线体系结构中的任一种的局部总线。系统存储器包括只读存储器(ROM)
664和随机存取存储器(RAM) 625。基本输入/输出系统(BIOS) 666被存 储在ROM 664中,它包含帮助在诸如启动期间在计算设备660内的元件之 间传递信息的基本例程。计算设备660还可包括对硬盘(未示出)读写的 硬盘驱动器627、对可移动磁盘629 (例如,软盘、移动存储)读写的磁盘 驱动器628 (例如,软盘)、以及对诸如CD-ROM或其它光学介质的可移 动光盘631读写的光盘驱动器630。硬盘驱动器627、磁盘驱动器628和光 盘驱动器630分别通过硬盘驱动器接口 632、磁盘驱动器接口 633和光盘驱 动器接口 634来连接到系统总线623。驱动器及其相关联的计算机可读介质 为计算设备660提供了对计算机可读指令、数据结构、程序模块和其它数 据的非易失性存储。虽然此处所描述的示例性环境釆用了硬盘、可移动磁 盘629和可移动光盘631,但本领域的技术人员可以理解,在示例性操作环 境中也可以使用可储存可由计算机访问的数据的其它类型的计算机可读介 质,如磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器 (RAM)、只读存储器(ROM)等等。同样,示例性环境还可包括诸如热 传感器和安全或火警系统等许多类型的监控设备,以及其它信息源。
多个程序模块可被存储在硬盘、磁盘629、光盘631、 ROM 664或RAM 625中,包括操作系统635、 一个或多个应用程序636、其它程序模块637 和程序数据638。用户可通过诸如键盘640和定点设备642 (例如,鼠标) 等输入设备将命令和信息输入到计算设备660中。其它输入设备(未示出) 可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和 其它输入设备通常由耦合至系统总线的串行端口接口 646连接至处理单元 621,但也可以由其它接口,诸如并行端口、游戏端口或通用串行总线(USB) 连接。监视器647或其它类型的显示设备也经由接口,诸如视频适配器648 连接至系统总线623。除了监视器647之外,计算机通常包括其它外围输出 设备(未示出),诸如扬声器或打印机等。图9的示例性环境还包括主机 适配器655、小型计算机系统接口 (SCSI)总线656和连接到SCSI总线656 的外部存储设备662。计算设备660可使用至诸如远程计算机649等一个或多个远程计算机 的逻辑连接在网络化环境中操作。远程计算机649可以是另一计算设备(例 如,个人计算机)、服务器、路由器、网络PC、对等设备或其它常见的网 络节点,且通常包括上文相对于计算设备660描述的许多或所有元件,尽 管在图9中只示出了存储器存储设备650 (软盘)。图9所描绘的逻辑连接 包括局域网(LAN) 651和广域网(WAN) 652。这样的网络环境常见于办 公室、企业范围计算机网络、内联网和因特网。
当在LAN联网环境中使用时,计算设备660通过网络接口或适配器 653连接至LAN 651。当在WAN联网环境中使用时,计算设备660可包括 调制解调器654或用于通过诸如因特网等广域网652来建立通信的其它装 置。或为内置或为外置的调制解调器654经由串行端口接口 646连接到系 统总线623。在网络化环境中,相对于计算设备660描绘的程序模块或其部 分可被储存在远程存储器存储设备中。可以理解,所示的网络连接是示例 性的,且可以使用在计算机之间建立通信链路的其它手段。
虽然可以想象经由透明辅助因素的平台认证的众多实施例尤其适用于 计算机化的系统,但本文并不旨在将本发明限于这些实施例。相反,此处 所使用的术语"计算机系统"旨在包括能够存储和处理信息和/或能够使用 所存储的信息来控制设备本身的行为或执行的任何及所有设备,而不管那 些设备本质上是否为电子的、机械的、逻辑的、或虚拟的。
此处所述的各种技术可结合硬件或软件,或在适当时以其组合来实现。 由此,经由透明辅助因素的平台认证的方法和装置或其特定方面或部分可 采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介 质等有形介质中的程序代码(即,指令)的形式,其中当程序代码被加载
到诸如计算机等机器内并由其执行时,该机器成为用于经由透明辅助因素 的平台认证的装置。
如果需要,程序可以用汇编语言或机器语言来实现。在任何情况下, 语言可以是编译的或解释的语言,且与硬件实现相结合。经由透明辅助因 素的平台认证的方法和装置也可以经由以通过某种传输介质传输的程序代 码的形式体现的通信来实现,比如通过电线或电缆、通过光纤或经由任何其它传输形式,其中,当程序代码由诸如EPROM、门阵列、可编程逻辑器 件(PLD)、客户计算机等机器接收、加载并执行时,该机器成为用于按
属性管理虚拟机的装置。当在通用处理器上实现时,程序代码与处理器相 结合来提供一种用于调用经由透明辅助因素的平台认证的功能的独特装 置。另外,结合经由透明辅助因素的平台认证所使用的任何存储技术都总 是可以是硬件和软件的组合。
尽管结合各附图的示例实施例描述了经由透明辅助因素的平台认证, 但是可以理解,可以使用其它类似的实施例,或可以对所描述的实施例进 行修改或添加来执行经由透明辅助因素的平台认证的相同功能而不背离本 发明。因此,此处所描述的经由透明辅助因素的平台认证不应限于任何单 个实施例,而是应该根据所附权利要求书的广度和范围来解释。
权利要求
1.一种平台认证系统,包括BIOS部分和EFI部分中的至少一个,包括被配置为执行以下动作的块设备仿真程序检测耦合到所述系统的块设备;以及打开所述块设备上的文件;以及被配置为访问所述块设备上的信息的块设备驱动程序。
2. 如权利要求l所述的系统,其特征在于,所述块设备包括智能卡。
3. 如权利要求2所述的系统,其特征在于,所述块设备包括CCID智 能卡。
4. 如权利要求1所述的系统! 块设备。
5. 如权利要求1所述的系统 兼容块设备。
6. 如权利要求1所述的系统 访问是受保护的。
7. 如权利要求1所述的系统 设备。
8. 如权利要求7所述的系统,其特征在于,在所述生物测定设备上访 问的信息包括允许所述系统的引导进程的执行的令牌。
9. 如权利要求7所述的系统,其特征在于,所述块设备包括指纹读取器。
10. 如权利要求1所述的系统,其特征在于,在所述块设备上访问的 信息包括用于允许所述系统的引导进程的执行的键控信息。
11. 一种用于经由块设备认证平台的方法,所述方法包括经由所述平台的BIOS部分和所述平台的EFI部分中的至少一个来检 测块设备;认证所检测到的块设备;从所述块设备中检索用于允许所述系统的引导进程的执行的信息。其特征在于,所述块设备包括USB兼容 其特征在于,所述块设备包括PCMCIA 其特征在于,对所述块设备上的信息的 其特征在于,所述块设备包括生物测定
12. 如权利要求11所述的方法,其特征在于,所述块设备包括智能卡和CCID智能卡中的至少一个。
13. 如权利要求11所述的方法,其特征在于,所述块设备包括USB 兼容块设备和PCMCIA兼容块设备中的至少一个。
14. 如权利要求11所述的方法,其特征在于,还包括提供用于从所 述块设备中检索所述信息的授权的指示。
15. 如权利要求11所述的方法,其特征在于,所述块设备包括生物 测定设备和指纹读取器中的至少一个。
16. —种其上存储有用于通过执行以下步骤经由块设备认证平台的 计算机可执行指令的计算机可读介质,所述步骤包括经由所述平台系统的BIOS部分和所述平台的EFI部分中的至少-水的块设备仿真程序来检测块设备;以及经由所述块设备仿真程序打开所述块设备上的文件;以及 经由所述至少一个BIOS部分和EFI部分的块驱动程序来访问所述块设备上的信息。
17. 如权利要求16所述的计算机可读介质,其特征在于,所述块设 备包括智能卡和CCID智能卡中的至少一个。
18. 如权利要求16所述的计算机可读介质,其特征在于,所述块设 备包括USB兼容块设备和PCMCIA兼容块设备中的至少一个。
19. 如权利要求16所述的计算机可读介质,其特征在于,所述块设备包括生物测定设备和指纹读取器中的至少-水
20.如权利要求16所述的计算机可读介质,其特征在于,在所述块 设备上访问的信息包括用于允许所述系统的引导进程的执行的键控信息。
全文摘要
系统的固件被配置为允许诸如智能卡等辅助设备被用于认证。在一示例实施例中,辅助设备是符合ISO 7816规范的CCID智能卡。在引导系统之前,智能卡被插入到耦合到该系统的读卡器。该固件包括被配置为允许利用来自该智能卡的认证信息以允许引导进程的执行的仿真程序和驱动程序。在一示例实施例中,该智能卡包括供与BITLOCKER<sup>TM</sup>一起使用的外部键。该辅助设备与实现BIOS的系统和与实现EFI的系统兼容。认证还可以经由诸如生物测定设备等不提供数据存储的设备来完成。
文档编号G06F9/06GK101529376SQ200780040114
公开日2009年9月9日 申请日期2007年9月27日 优先权日2006年10月25日
发明者D·M·麦克莱夫, D·R·伍藤, D·斯莱茨, E·霍特, S·汤姆, T·乌雷彻 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1