CN115462109A - 对附件设备资源的安全访问 - Google Patents

对附件设备资源的安全访问 Download PDF

Info

Publication number
CN115462109A
CN115462109A CN202180030288.5A CN202180030288A CN115462109A CN 115462109 A CN115462109 A CN 115462109A CN 202180030288 A CN202180030288 A CN 202180030288A CN 115462109 A CN115462109 A CN 115462109A
Authority
CN
China
Prior art keywords
host
accessory device
dock
computing device
certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180030288.5A
Other languages
English (en)
Inventor
R·K·契吾库拉
R·D·杨
N·C·谢尔曼
C·沙哈
B·瑞科兹
A·克山
E·科茨
M·N·索利曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN115462109A publication Critical patent/CN115462109A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

一种附件设备从连接到该设备的主机计算设备接收认证信息并确定该认证信息是否有效。如果该认证信息有效,则附件设备应用第一访问策略,该第一访问策略规定该附件设备能向主机计算设备提供对该附件设备的各种计算资源中的没有一个、某一些、或全部的访问。如果该认证信息非有效,则该附件设备应用不同于第一访问策略的第二访问策略。如果主机计算设备成功向附件设备认证,则该附件设备也可通过该主机计算设备被置备有访问策略。在任一情形中,认证主机计算设备可包括使用已被置备给附件设备的证书机构的公共密钥来验证由主机计算设备提供的证书的数字签名。

Description

对附件设备资源的安全访问
背景技术
存在向与其连接的主机计算设备提供对一个或多个计算资源的访问的附件设备。例如,坞站、集线器、多媒体适配器或端口复制器可以为与其连接的主机计算设备提供对各种计算资源(诸如一个或多个通用串行总线(USB)端口、以太网端口、视频端口、音频端口等)的访问。
发明内容
提供本公开内容以便以简化的形式介绍以下在具体实施方式中还描述的概念的选集。本公开内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
本文描述的实施例涉及保护对主机计算设备可以连接到的附件设备的计算资源的访问。根据至少一个实施例,附件设备从与其连接的主机计算设备接收认证信息并确定该认证信息是否有效。响应于至少确定该认证信息有效,附件设备应用第一访问策略,该第一访问策略规定是否要向主机计算设备提供对该附件设备的一个或多个计算资源中的每一者的访问。响应于至少确定该认证信息非有效,附件设备应用第二访问策略,该第二访问策略与第一访问策略的不同之处在与向主机计算设备提供对该一个或多个计算资源的访问。在其他实施例中,从主机计算设备接收到的认证信息至少包括主机证书,并且附件设备至少通过以下操作来确定该认证信息是否有效:使用先前已置备给该附件设备的证书机构的公共密钥来验证主机证书的数字签名。
本文描述的实施例还涉及用于在附件设备上安全地置备或修改主机访问策略的技术。根据此类实施例,附件设备从连接到该附件设备的主机计算设备接收主机访问策略管理命令和认证信息。主机访问策略管理命令指示在附件设备上设置、在附件设备上修改、或从附件设备移除主机访问策略。主机访问策略规定是否要向随后连接到附件设备的主机计算设备提供对该附件设备可访问的一个或多个计算资源中的每一者的访问。附件设备确定认证信息是否有效。响应于至少确定认证信息有效,附件设备执行主机访问策略管理命令。响应于至少确定认证信息非有效,附件设备拒绝执行主机访问策略管理命令。在其他实施例中,从主机计算设备接收到的认证信息至少包括管理员证书,并且附件设备至少通过以下操作来确定该认证信息是否有效:使用先前已置备给该附件设备的证书机构来验证管理员证书的数字签名。
下文参考附图详细描述各实施例的进一步特征和优点以及各种实施例的结构和操作。注意,要求保护的主题不限于本文描述的特定实施例。本文呈现这些实施例仅用于说明性的用途。基于本文包含的示教,附加的实施例对相关领域的技术人员将是显而易见的。
附图说明
合并到本文并构成说明书的一部分的附图例示了本申请的各实施例,并且与说明书一起进一步解释各实施例的原理并允许相关领域技术人员实施和使用这些实施例。
图1描绘了根据一实施例的用于保护对一个或多个附件设备的一个或多个计算资源的访问的系统。
图2是根据一实施例的执行用于向一个或多个附件设备置备主机访问策略的置备工具的管理员计算设备的框图。
图3描绘了根据一实施例的用户可经由其启动用于向一个或多个附件设备置备主机访问策略的过程的置备工具的示例图形用户界面。
图4描绘了根据一实施例的用户可经由其定义用于一个或多个附件设备的未经认证主机访问策略和经认证主机访问策略的置备工具的示例图形用户界面。
图5描绘了根据一实施例的用户可经由其提交附件设备证书机构、主机证书和置备管理员证书的置备工具的示例图形用户界面。
图6描绘了根据一实施例的用户可经由其提供将作为置备目标的附件设备的序列号的列表的置备工具的示例图形用户界面。
图7是根据一实施例的可以向附连的附件设备置备主机访问策略并由此可被认证的主机计算设备的框图。
图8A描绘了根据一实施例的可由图7的主机计算设备执行的置备序列的流程图。
图8B描绘了根据一实施例的可由图7的主机计算设备执行的认证序列的流程图。
图9描绘了示出根据一实施例的可以在主机计算设备对附件设备的置备期间进行的各种交互和操作的序列图。
图10描绘了示出根据一示例实施例的可以在主机计算设备尝试从附件设备中删除主机访问策略时进行的各种交互和操作的序列图。
图11描绘了根据一实施例的由附件设备执行以确定要相对于连接的主机计算设备应用多个主机访问策略中的哪一者的方法的流程图。
图12描绘了示出根据一实施例的可以在附件设备连接到主机计算设备时进行的各种交互和操作的序列图。
图13描绘了根据一实施例的由附件设备执行以用于确定要相对于连接的主机计算设备应用多个主机访问策略中的哪一者的方法的流程图。
图14是根据一实施例的由附件设备执行以用于确定是否要执行从连接的主机计算设备接收到的主机访问策略管理命令的方法的流程图。
图15是根据一实施例的由主机计算设备执行以用于在附连的附件设备上设置或修改主机访问策略或从该附件设备移除主机访问策略的方法的流程图。
图16是根据一实施例的能够针对经认证和未经认证主机应用不同的主机访问策略的示例附件设备的框图。
图17描绘了可以被用来实现本文描述的各实施例的示例性的基于处理器的计算机系统。
当结合其中相同的附图标记标识对应的元素的附图时,本文中描述的各实施例的特征和优点将从以下阐述的详细描述中变得更加显而易见。在附图中,相同的附图标记一般指示等同的、功能上类似的、和/或结构上类似的元素。其中元素第一次出现的附图由对应附图标记中最左侧的(诸)数位来指示。
具体实施方式
引言
下面详细的描述公开了若干示例实施例。本专利申请的范围不限于所公开的各实施例,而且包括所公开的各实施例的各种组合以及对所公开的各实施例的各种修改。
说明书中对“一个实施例”、“一实施例”、“一示例实施例”等等的提及指示所描述的实施例可包括特定特征、结构或者特性,但是,每一个实施例可不必包括该特定特征、结构或者特性。此外,这些短语不一定指相同的实施例。此外,当结合某一实施例描述特定特征、结构或特性时,不管是否被明确描述,结合其他实施例来实现该特征、结构或特性被认为是在本领域技术人员的知识范围内。
在讨论中,除非另有说明,否则修改本公开的实施例的一个或多个特征的条件或关系特性的诸如“基本上”和“大约”之类的形容词应被理解成是指该条件或特性被限定在对该实施例所意图的应用而言可接受的该实施例的操作的容差以内。
在此所述的示例实施例是出于说明的目的而非限制而提供的。在此所述的示例可以适用于任何类型的保护对附件设备的计算资源的访问的方法或系统。从在此的示教中,更多的结构及操作的实施例(包括修改/变型)对于相关邻域的技术人员将是显而易见的。
以下描述多个示例性实施例。应当注意,在此提供的任何章节/子章节标题不旨在限制。本文档中描述了各实施例,并且任何类型的实施例可被包括在任何章节/子章节下。此外,在任何章节/子章节中公开的各实施例可与在相同章节/子章节和/或不同章节/子章节中描述的任何其它实施例以任何方式组合。
示例实施例
如在背景技术部分中指出的,存在向与其连接的主机计算设备提供对一个或多个计算资源的访问的附件设备。例如,坞站、集线器、多媒体适配器或端口复制器可以为与其连接的主机计算设备提供对各种计算资源(诸如一个或多个USB端口、以太网端口、视频端口、音频端口等)的访问。如果这一附件设备准许连接到它的任何主机计算设备访问计算资源,则这些计算资源(以及可经由此类计算资源访问的设备)可被利用。例如,如果恶意用户将他的主机计算设备连接到企业坞站并由此经由该坞站的以太网端口访问企业网络,则该用户可能能够从连接到该网络的企业计算设备窃取信息、在此类计算设备上安装恶意软件或间谍软件,以及以其他方式对企业及其计算基础设施造成损害。
为了解决该问题,本文描述的实施例使附件设备能够认证连接到它的主机计算设备。如果主机计算设备通过认证,则附件设备应用第一访问策略,经由该第一访问策略,主机计算设备被准予或拒绝访问该附件设备的一个或多个计算资源中的每一者。然而,如果主机计算设备认证失败,则附件设备应用第二访问策略,经由该第二访问策略,主机计算设备被准予或拒绝访问该附件设备的一个或多个计算资源中的每一者,其中第二访问策略在哪些计算资源变得对主机计算设备可用方面与第一访问策略不同。在一实施例中,附件设备可利用该方式来确保其计算资源仅由被批准的主机计算设备访问。这有利地保护计算资源本身并且在计算资源是端口的情况下保护任何连接的计算资源(例如,可经由端口访问的计算设备)免遭恶意用户的渗透和/或攻击。
根据其他实施例,由附件设备实施的访问策略可包括对该附件设备的多个计算资源中的每一者的单独访问指示。这使得能够就哪些计算资源可由经认证和未经认证主机计算设备访问做出细粒度策略决策。例如,根据一个示例访问策略,未经认证主机计算设备可被准予访问附件设备的视频端口和音频端口,但被拒绝访问附件设备的以太网端口。这实现了非常有用的场景,诸如企业允许访客用户仅仅出于有限目的将非企业计算设备连接到企业坞站—例如,以向企业音频/视频设备流传输内容,但不连接到企业网络。本文描述的附件设备可有利地实现在逐资源的基础上准予/拒绝访问的策略,而不是针对所有附件设备计算资源做出单一访问决策。
根据其他实施例,附件设备至少通过以下操作来认证主机计算设备:(1)确认由主机计算设备提供给附件设备的主机/管理员证书中所包括的数字签名,其中这一确认使用已被置备给该附件设备的证书机构的公共密钥来执行;以及(2)利用主机/管理员证书中所包括的公共密钥来确认也已由主机计算设备提供的经数字签名的随机数。通过利用这一方式,附件设备无需包括足够存储所有经批准计算设备的白名单的存储器。而是,它可以在每一个经批准主机计算设备连接到它之际通过确认由主机计算设备提供的主机/管理员数字证书和经签名随机数来标识该经批准主机计算设备。此外,因为附件设备只需存储证书机构的公共密钥,所以附件设备无需包括昂贵的安全存储元件,这些元件原本在认证方案要求在附件设备上存储秘钥(例如,私钥)的情况下是必需的。由此,此类实施例使附件设备能够被更简单/廉价地设计和/或利用更少资源。
根据又一些实施例,如果主机计算设备以至少以上描述的方式被附件设备成功认证,则主机计算设备可被准许在该附件设备上设置、修改访问策略或从该附件设备移除访问策略。同样,经认证的主机计算设备可被准许将新证书机构置备至附件设备。以此方式,附件设备的认证能力和访问策略可随时间在需要时被灵活地修改以处置各种安全访问场景。在某些实施例中,出于管理访问策略和置备证书机构的目的来对主机计算设备进行认证可进一步涉及将从主机计算设备发送的数字证书中所包括的管理员扩展密钥使用(EKU)值与存储在附件设备上的管理员EKU值相比较。在其他实施例中,这一认证可进一步包括将由主机计算设备提供的附件设备的标识符与存储在附件设备上的附件设备的标识符相比较,其中这一标识符不可由外部设备以编程方式查询。可利用其他技术来认证主机计算设备。
下文将参考附图详细描述各实施例的进一步特征和优点以及各种实施例的结构和操作。例如,图1描绘了根据一实施例的用于保护对一个或多个附件设备的一个或多个计算资源的访问的系统100。如图1所示,系统100包括经由一个或多个网络104通信地连接到多个主机计算设备1061-106N的管理员计算设备102。每一个主机计算设备1061-106N还连接到对应的附件设备1081-108N,并且每一个附件设备包括或连接到多个计算资源。例如,如图1所示,附件设备1081包括或连接到计算资源1101-110M。现在将描述系统100的这些组件中的每一者。
管理员计算设备102和主机计算设备1061-106N中的每一者旨在表示固定计算设备(例如,台式计算机)、移动计算设备(例如,膝上型计算机、微软
Figure BDA0003902078560000061
设备、笔记本计算机、平板计算机或上网本),或具有足以执行归因于本文描述的此类设备的功能的操作能力的任何其他计算设备。根据一个非限制性示例,管理员计算设备102包括被指派给企业的信息技术(IT)管理员、该IT管理员可访问和/或利用的计算设备,而主机计算设备1061-106N包括企业的其他网络可标识计算设备。然而,相关领域技术人员将认识到本文描述的用于保护附件设备计算资源的技术不限于企业场景。
(诸)网络104包括以下各项中的一者或多者:局域网(LAN)、广域网(WAN)、个域网(PAN)、虚拟网络和/或诸如因特网之类的通信网络的组合。在一个非限制性示例中,(诸)网络104可包括企业网络。管理员计算设备102和主机计算设备1061-106N中的每一者可包括使其能够与连接到(诸)网络104的其他计算设备通信的有线和/或无线网络接口。这一网络接口的示例包括但不限于以太网接口、IEEE 802.11无线LAN(WLAN)接口、全球微波互操作性(Wi-MAX)接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙TM接口或近场通信(NFC)接口。网络接口的进一步示例在本文中的其他地方描述。
每一个附件设备1081-108N包括外围设备,该外围设备可被连接到对应的主机计算设备并且在连接到该主机计算设备之际可以向该主机计算设备提供对其一个或多个计算资源的访问。仅仅作为示例,每一个附件设备1081-108N可包括坞站(“坞”)并且每一坞的计算资源可包括端口(例如,计算资源1101-110M可包括端口)。例如,在一个实施例中,每一个附件设备1081-108N包括连接到对应的主机计算设备1061-106N(例如,微软
Figure BDA0003902078560000071
设备)的微软
Figure BDA0003902078560000072
Dock(坞),并且计算资源1101-110M包括USB端口(例如,USB TypeA和/或USBTypeC端口)、千兆以太网端口和3.5毫米音频输出端口的组合。然而,这仅仅是一个示例。相关领域技术人员将认识到计算资源可以包括不同类型的端口,包括但不限于
Figure BDA0003902078560000073
串行(例如,DB-25或DB-9)、并行、音频(例如,环绕声连接器或3.5毫米TRS连接器)、S/PDIF、视频(例如VGA)、数字视频接口(DVI)、
Figure BDA0003902078560000074
RCA、分量视频、S-Video、
Figure BDA0003902078560000075
RJ-45、RJ-11或e-SATA。此外,附件设备可包括提供对诸如集线器(例如,USB集线器)、多媒体适配器或端口复制器之类的端口的访问的另一种类型的附件设备。
此外,每一个附件设备可包括可以向主机计算设备提供对其他类型的计算资源的访问的各种各样的其他类型的附件设备中的任一者。例如,每一个附件设备可包括键盘、鼠标、扫描仪、摄像头、显示器、打印机、外部驱动器、或能够向附连的主机计算设备提供至少一个计算资源的任何其他设备。此类计算资源可包括但不限于输入资源、输出资源、处理器资源、存储资源、通信资源、网络资源、电源资源(例如,充电电源)、硬件资源、软件资源、固件资源等。
附件设备一般可包括能够向它可附连到的主机计算设备提供功能性的任何设备。在某些实施例中,附件设备与其对应的主机计算设备的不同之处在于主机计算设备可直接由其他计算设备经由网络来定址,而附件设备不能如此(即,它不具有独立于其主机的网络身份)。然而,这仅仅是一个示例,并且在其他实施例中,附件设备可具有独立于其主机的网络身份。在某些其他实施例中,附件设备可包括无法担当通用计算机的专用设备。然而,这也仅仅是一示例,并且在其他实施例中,附件设备或许能够用作通用计算机。
为了说明的缘故,仅仅单个附件设备被示为附连到图1中的每一个主机计算设备。然而,相关领域技术人员将认识到每一个主机计算设备可被附连到任何数目的附件设备,并且每一个此类附件设备可以向主机计算设备提供对任何数目的计算资源的访问。还将认识到,每一种类型的附件设备和对应的主机计算设备之间的连接方式可取决于附件设备的类型而变化,并且可使用各种已知的有线或无线连接器中的任一者。
系统100的组件可操作用于将访问策略置备至附件设备1081-108N并且此类附件设备操作用于应用这些访问策略的方式现在将参照其中主机计算设备1061-106N包括微软
Figure BDA0003902078560000081
设备,附件设备1081-108N包括微软
Figure BDA0003902078560000082
Dock(坞),并且计算资源1101-110M包括端口的示例实现来描述。然而,相关领域技术人员将认识到本文描述的技术可被泛化至任何类型的主机计算设备、附件设备和计算资源。由此,为该示例实现提供的细节不应被认为是限制性的。
图2描绘了根据一个示例实施例的管理员计算设备102的框图。如图2所示,管理员计算设备102包括置备工具202,该置备工具202包括用户界面204和主机置备包生成器206。置备工具202可包括由管理员计算设备102执行的软件应用。例如,在一个实施例中,置备工具202可包括由华盛顿州雷蒙德市的微软公司开发并发布的微软
Figure BDA0003902078560000083
UEFI配置器的实例。或者,在另一个实施例中,置备工具202可包括由华盛顿州雷蒙德市的微软公司开发并发布的微软
Figure BDA0003902078560000084
UEFI管理器的实例。然而,这些示例不旨在是限制性的。
在一个实施例中,置备工具202的所有组件都在管理员计算设备102上执行。在一替代实施例中,置备工具202的某些组件(例如,用户界面204)在管理员计算设备102上执行,而其他元件(例如,主机置备包生成器206)在连接到管理员计算设备(例如,经由(诸)网络104)的远程计算设备上执行。
IT管理员可以与置备工具202的用户界面204交互,以便(除其他事项以外)定义主机访问策略并提交证书机构,该证书机构最终将通过与对应的主机计算设备1061-106N交互来置备至附件设备1081-108N(在本示例中是坞)。用户界面204可包括任何类型的用户界面,包括但不限于命令行界面、图形用户界面、菜单驱动界面、基于表单的界面、自然语言界面、触摸用户界面或语音用户界面。尽管将进一步参照由IT管理员执行的动作,但应理解除了IT管理员以外的用户也可执行此类动作。
例如,IT管理员可以与置备工具202的用户界面204交互以启动用于将主机访问策略和证书机构置备至一个或多个附件设备的过程。作为示例,图3描绘了IT管理员可经由其启动用于一个或多个坞的置备过程的示例图形用户界面(GUI)300(可包括用户界面204的一部分)。如图3所示,GUI 300包括具有标记为“开始”的按钮形式的交互式控件302。通过与交互式控件302交互(例如,通过使用输入设备来指向并点击交互式控件302),IT管理员可启动上述置备过程。
一旦置备过程已被启动,IT管理员就可进一步与用户界面204交互以定义供置备至每一个附件设备1081-108N的主机访问策略。在一实施例中,IT管理员可定义供置备至每一个附件设备1081-108N的两个主机访问策略。这两个策略可由未经认证主机访问策略和经认证主机访问策略组成。未经认证主机访问策略可包括坞启动到其中或者坞在与主机计算设备(“主机”)断连之际重置到的默认策略和配置。在一实施例中,默认策略可拒绝对坞的计算资源的访问,由此确保这些资源在该默认策略的未经认证状态期间的安全性并阻止对这些资源的任何连接或访问直到出现成功的主机认证。经认证主机访问策略可定义坞将在成功的主机认证后进入并保持在其中直到主机断连或坞重置的配置。
在一实施例中,这两个策略中的每一者包含对某些可管理坞组件的行为的定义,这些组件中的每一者可被设为启用或禁用。例如,一端口或一组端口可被设为启用或禁用。在其他实施例中,不仅一端口或一组端口可被主机访问策略启用或禁用,而且同一端口上的不同协议也可被启用或禁用。此类协议可包括(作为示例而非限制)USB 4.0隧道、DisplayPort备用模式、USB供电(PD)和Thunderbolt备用模式。此外,可以启用或禁用坞上各种芯片的设置(例如,1Gb与2.5/5Gb与10GB以太网、USB或以太网交换的带宽优先级)。总之,每一个可管理坞组件或特征都可被认为是可根据主机访问策略来启用或禁用的计算资源。
如上所述对未经认证/经认证主机访问策略的使用准许多个场景。例如,通过置备其中未经认证主机访问策略是完全开放(即,所有坞组件被启用)的策略,可声明坞的所有权,而不影响坞行为。该状况中的坞将如同它出厂时那样运作,但将被保护以免来自未经认证的主机的进一步置备。在另一场景中,可定义对单独组件行为的管理。例如,坞配置可被应用以便仅在连接到未经认证主机时才拒绝对以太网端口的访问,其中经认证主机可具有对所有坞组件的完全访问。另外,坞可被完全关闭,以使得对该坞的所有可管理组件的访问都被禁用直到经认证主机被连接并被认证,此时功能性根据所置备的主机访问策略而被恢复。
根据一个示例实施例,在制造期间,每一个坞都默认被置备有其中所有设置(例如,USB、以太网和音频端口)都被设为启用的未经认证主机访问策略。进一步根据这一实施例,当坞以此方式置备时,认证并非由主机计算设备在坞枚举期间执行。
图4描绘了IT管理员可经由其定义用于一个或多个坞的未经认证主机策略和经认证主机策略的示例GUI 400(可包括用户界面204的一部分)。具体而言,GUI 400包括多个交互式控件,每一个控件都具有滑块开关的形式并且可以与其中每一个控件交互以针对未经认证主机访问策略和经认证主机访问策略这两者将对对应的坞资源的访问设为“开”或“关”。对于未经认证主机访问策略,IT管理员可以与交互式控件402交互以打开或关闭对一个或多个USB端口的访问,与交互式控件404交互以打开或关闭对以太网端口的访问,并且与交互式控件406交互以打开或关闭对音频端口的访问。同样,对于经认证主机访问策略,IT管理员可以与交互式控件408交互以打开或关闭对一个或多个USB端口的访问,与交互式控件410交互以打开或关闭对以太网端口的访问,并且与交互式控件412交互以打开或关闭对音频端口的访问。根据图4所示的GUI 400的配置,未经认证主机访问策略将会是USB数据“关”、以太网“关”和音频“开”,而经认证主机访问策略将会是USB数据“开”、以太网“开”和音频“开”。
IT管理员可进一步与置备工具202的用户界面204交互以提交坞证书机构、主机证书和置备管理员证书以用于置备过程。由IT管理员提交的坞证书机构将最终被置备至一个或多个坞并由此用来认证附连到坞的主机。在一个实施例中,证书机构包括公钥基础设施(PKI)中的中间证书机构。证书机构的签名还可用作主机置备包208的标识符并且可用于确定主机置备包208中所包括的新策略是否将被应用于坞。
由IT管理员提交的主机证书是从坞证书机构发出的。该证书(私钥和公钥两者)被安装到主机计算设备上的证书存储中并且在连接到所置备的坞之际进行主机认证期间使用。在一实施例中,在主机认证期间,该证书被用来对随机数进行签名,该随机数然后被发送到坞证书机构并由该坞证书机构确认,此后经认证主机访问策略将被激活,并且该经认证主机访问策略中指定的端口被启用。
主机证书可包含将该证书指定为主机证书的指定的增强型密钥使用(EKU)对象标识符(OID)。该EKU值可唯一地标识主机证书。
由IT管理员提交的置备管理员证书可用于对主机置备包208进行签名。该签名可以在置备过程期间被校验以确保主机置备包208的完整性并防止篡改其内容。
图5描绘了IT管理员可经由其提交上述坞证书机构、主机证书和置备管理员证书的示例GUI 500(其可包括用户界面204的一部分)。具体而言,GUI500包括多个交互式控件502、504、506。IT管理员可以与交互式控件502交互以发起可通过其提交坞证书机构的对话,与交互式控件504交互以发起可通过其提交主机证书的对话,并且与交互式控件506交互以发起可通过其提交置备管理员证书的对话。
IT管理员可进一步与置备工具202的用户界面204交互以提供将作为置备目标的坞的序列号的列表。该目标序列号列表可用于确保主机访问策略仅被应用于所需坞。在坞认证服务的置备序列(将在下文中描述)期间,坞的序列号对照安装在主机上的主机置备包的目标序列号列表来确认以确定置备策略是否应当应用。在企业场景中,该过滤可有助于保护非目标坞(诸如家庭办公室中的个人坞)不被意外地置备有公司策略。注意,在替代实施例中,除了目标序列号以外的标识符可用于置备,只要每一个标识符对正被置备的坞集合内的坞是唯一的。
图6描绘了IT管理员可经由其提交上述目标序列号列表的示例GUI 600(其可包括用户界面204的一部分)。如图6所示,GUI 600包括具有标记为“浏览”的按钮形式的交互式控件604。通过与交互式控件604交互(例如,通过使用输入设备来指向并点击交互式控件604),IT管理员可启动可通过其搜索文件系统以查找包括目标序列号列表的文件的过程。在该文件被选择之际,与该文件相关联的文件名然后被呈现在文本框602中。在图6的示例中,IT管理员已找到并选择文件“Serial_Number(序列_号).csv”。
如图6进一步示出的,IT管理员还可手动将目标序列号键入文本输入框606中并且然后与交互式控件608(标记为“添加”的按钮)交互以使得这一目标序列号被添加到文本框610中显示的目标序列号列表。IT管理员还可选择显示在文本框610中的任一个序列号(例如,通过与其交互)并且然后通过与交互式控件612(标记为“移除”的按钮)交互来使得这些序列号从该列表中移除。
IT管理员可进一步与置备工具202的用户界面204交互以启用将触发从坞移除置备的重置设置。具体而言,当重置设置被启用时,在主机计算设备上执行的坞认证服务将在被攻击坞在目标序列号列表中被指定的情况下在该坞上移除并重置所置备的策略。该重置过程可包括从坞移除定制的未经认证和经认证主机访问策略并从该坞移除坞证书机构。该重置过程还可包括将未经认证主机访问策略重置为启用所有可用端口。在一个实施例中,如果IT管理员启用重置设置,则IT管理员无需指定用于置备的主机认证策略。
置备工具202的主机置备包生成器206将与置备过程相关联的各种信息项封装在主机置备包208内,该主机置备包然后可经由(诸)网络104被部署到主机计算设备1061-106N。在一实施例中,主机置备包208在置备有效载荷内包括主机访问策略和坞证书机构。该有效载荷在置备被执行时被枚举并写入到坞。除了置备有效载荷之外,主机置备包208还包含:包签名、包版本号、主机证书、置备管理员证书、目标序列号列表、以及重置设置。
包签名是非冲突字符串,其用于避免安装在同一主机计算设备上的多个主机置备包之间的冲突。主机计算设备可以配置有多个包,其中访问具有不同策略的多个坞是理想的。
包版本号反映包的版本,并将在成功置备后被存储在坞上。将版本号存储在坞上使得能够在具有相同签名的主机置备包之间没有冲突的情况下更新坞策略。在一实施例中,包版本号是严格递增的数值。具有比存储在坞中的包版本号大的包版本号的新主机置备包被接受用于置备,而具有比存储在坞中的包版本号小或与其相等的包版本号的新主机置备包将不被接受用于置备。
主机置备包208经由(诸)网络104被部署到主机计算设备1061-106N中的每一者以供在其上安装。主机置备包208可以在主机计算设备1061-106N中的每一者上由在其上执行的安装程序(例如但不限于MSI安装程序)或由在其上运行的软件包管理工具(例如,但不限于
Figure BDA0003902078560000131
系统中心配置管理器(SCCM))安装。然而,这些示例不旨在是限制性的并且可使用其他安装方法。
图7是主机计算设备700的框图,该主机计算设备是图1的主机计算设备1061-106N中的任一者的示例实现。如图7所示,主机计算设备700存储每一个主机置备包,这些主机置备包已经在该主机计算设备上被安装在主机置备包库706中。因此,例如,由置备工具202根据前述描述生成的主机置备包208可被部署并安装在主机计算设备700上,并由此被存储在主机置备包库706中。被存储在主机置备包库706中的主机置备包在图7中被表示为主机置备包7081-708N
如图7进一步示出的,主机计算设备700进一步包括证书存储704。证书存储704被至少部分地用来存储作为主机置备包7081-708N的一部分而提供的主机证书和置备管理员证书。
如图7进一步示出的,主机计算设备700包括安装在其上的附件设备认证服务702。附件设备认证服务702可使用任何合适的软件安装方法来被安装在主机计算设备700上。根据一个非限制性示例,附件设备认证服务702与被部署到主机计算设备700的主机置备包捆绑在一起并连同该主机置备包一起被安装在主机计算设备上(例如,由安装程序或软件包管理工具)。
附件设备认证服务702管理用于以下操作的过程:标识附连到主机计算设备700的目标附件设备并使其置备有主机认证策略,以及认证所配置的主机计算设备以向所置备的附件设备进行认证。在一个实施例中,附件设备认证服务702的执行在附件设备连接到主机计算设备700之际被触发。
附件设备认证服务702的示例操作方式现在将参照图8A和8B描述。根据该示例,附件设备认证服务702的操作包括图8A中描绘的置备序列800以及图8B中描绘的认证序列850。根据该示例,连接到主机计算设备700的附件设备包括微软
Figure BDA0003902078560000141
Dock(坞),但如上所述,本文描述的技术可被应用于可以向所附连的主机计算设备提供计算资源的任何类型的附件设备。
如图8A所示,附件设备认证服务702被加载到主机计算设备700的易失性存储器中并且从其中执行,由此开始置备序列(810)。该步骤是响应于多个事件之一而执行的,其中这些事件包括坞到主机计算设备700的连接(802)、连接到主机计算设备700的坞的电源循环(804)、主机计算设备700在连接到坞时的启动或重启(806)、或在置备连接到主机计算机设备700的坞后重启该坞(808)。
在启动置备序列后,附件设备认证服务702确定任何置备包是否在主机计算设备700上可用(812)。例如,附件设备认证服务702可通过搜索主机置备包库704以确定任何主机置备包是否被存储在其中来做出这一确定。如果附件设备认证服务702确定没有主机置备包在主机计算设备700上可用,则置备序列终止并且控制流到认证序列850(838)。
然而,如果附件设备认证服务702确定主机置备包在主机计算设备700上可用,则附件设备认证服务702从该主机置备包中检索目标序列号列表(814)并将所附连的坞的序列号与该列表中的每一个序列号相比较以查看是否存在匹配(818)。在一个实施例中,附件设备认证服务702使用
Figure BDA0003902078560000142
Windows管理工具(WMI)来获取所附连的坞的序列号,但这仅仅是示例并且可使用获取所附连的坞的序列号的其他方法。
如果附件设备认证服务702找到所附连的坞的序列号与目标序列号列表中的序列号之间的匹配,则相关的主机置备包将由置备序列800以下文讨论的方式进一步处理。然而,如果附件设备认证服务702未找到所附连的坞的序列号与目标序列号列表中的任何序列号之间的匹配,则附件设备认证服务702确定是否存在被安装在主机计算设备700上的附加主机置备包(820)。如果附件设备认证服务702确定不再有被安装在主机计算设备700上的主机置备包,则置备序列终止并且控制流到认证序列850(838)。
然而,如果附件设备认证服务702确定存在另一个被安装在主机计算设备700上的主机置备包,则附件设备认证服务702将再次在主机置备包中检索目标序列号列表(814),并通过匹配(818)确定是否应将该主机置备包应用于所附连的坞,以使得需要对该主机置备包进行进一步处理。可以从图8A的置备序列800的结构中看到,附件设备认证服务702将对被安装在主机计算设备700上的每一个主机置备包重复这些步骤(814和818)直到不剩下要对其执行这些步骤的主机置备包。在一个实施例中,附件设备认证服务702访问主机置备包以便以置备包签名的字母顺序执行序列号比较,但可使用其他排序技术。
如图8A所示,如果在所附连的坞的序列号与来自主机置备包的目标序列号列表的序列号之间存在匹配,则附件设备认证服务702查询所附连的坞以确定是否已经向它置备证书机构(822)。例如,附件设备认证服务702可通过对所附连的坞作出请求所附连的坞返回其被置备的证书机构的应用编程接口(API)调用来查询所附连的坞。如果对该API调用的响应不包括证书机构,则附件设备认证服务702可确定尚未向该坞置备证书机构。然而,如果对该API调用的响应的确包括证书机构,则附件设备认证服务702可确定所附连的坞已经具有置备给它的证书机构。
如果附件设备认证服务702确定还未有证书机构被置备至所附连的坞,则附件设备认证服务702将向所附连的坞置备被包括在相关的主机置备包的置备有效载荷中的主机认证策略和证书机构(824)。在该步骤期间,附件设备认证服务702还将主机置备包的版本号写入到该坞。在该步骤后,所附连的坞将被重启(808)并且置备序列由此被重新加载并重新启动(810)。
然而,如果附件设备认证服务702确定所附连的坞已经被置备有证书机构,则附件设备认证服务702将相关的主机置备包的置备有效载荷中所包括的证书机构的数字签名与从所附连的坞获取的证书机构的数字签名相比较(826)。如果附件设备认证服务702确定签名不匹配,则置备序列终止并且控制流到认证序列850(838)。
然而,如果附件设备认证服务702确定签名匹配,则附件设备认证服务702读取存储在所附连的坞上的包版本号并确定相关的主机置备包中所包括的包版本号是否小于或等于从所附连的坞获取的包版本号(828)。如果附件设备认证服务702确定相关的主机置备包中所包括的包版本号小于或等于从所附连的坞获取的版本号,则置备序列终止并且控制流到认证序列850(838)。
然而,如果附件设备认证服务702确定相关的主机置备包中所包括的包版本号大于从所附连的坞获取的版本号,则置备继续并且附件设备认证服务702确定相关的主机置备包中的重置位是否被启用(830)。
如果附件设备认证服务702确定相关的主机置备包中的重置位未被启用,则附件设备认证服务702将对所附连的坞执行置备管理员证书认证过程(832),该过程的细节将在下文中提供。如果置备管理员证书认证过程(832)成功,则附件设备认证服务702将向所附连的坞置备相关的主机置备包的置备有效载荷中所包括的主机认证策略和证书机构(824)以及将该主机置备包的包版本号写入到该坞。如果任何主机认证策略、证书机构或包版本号先前已被存储在所附连的坞上,则它们将在该置备步骤期间被盖写。在该步骤后,所附连的坞将被重启(808)并且置备序列由此被重新加载并重新启动(810)。
然而,如果在步骤830期间附件设备认证服务702确定相关的主机置备包中的重置位被启用,则附件设备认证服务702将对所附连的坞执行置备管理员证书认证过程(834),该过程的细节将在下文中提供。如果置备管理员证书认证过程(834)成功,则附件设备认证服务702将使得存储在所附连的坞上的主机访问策略、证书机构和包版本号被从该坞移除(836),并且所附连的坞的出厂行为可被恢复。因此,未经认证主机策略在所附连的坞上被重配置为启用所有端口。在该步骤后,所附连的坞将被重启(808)并且置备序列由此被重新加载并重新启动(810)。
在一实施例中,多个主机置备包可被存储在适用于相同的所附连的坞的主机计算设备702上(即,多个主机置备包可将同一坞序列号作为目标)。根据一个这样的实施例,未经置备坞将被置备有被安装到主机计算设备702的由包签名的字母数字次序确定的第一主机置备包所指定的主机访问策略。进一步根据这一实施例,经置备坞将只在这一第一主机置备包也包含与先前置备在该坞上的相同坞证书机构时被置备有主机认证策略。
如图8B所示,在置备序列终止后(852),附件设备认证服务702将执行认证序列850以使得所附连的坞可确定要相对于主机计算设备700应用哪一个主机访问策略。注意,如果附件设备认证服务702新近刚置备了所附连的坞,则附件设备认证服务702将第二次执行置备序列800直到主机置备包版本号被比较并被发现等于存储在该坞上的包版本号,或者置备序列800失败,此后将运行认证序列850。
如图8B所示,认证序列850开始于附件设备认证服务702确定存储在所附连的坞上的默认策略(即,未经认证主机访问策略)是否是完全开放—即,这一策略是否提供对所有坞端口的访问(854)。在一实施例中,附件设备认证服务702通过从所附连的坞中检索默认策略(例如,经由API调用)并检查该默认策略来执行该步骤。如果附件设备认证服务702确定存储在坞上的默认策略是完全开放,则它终止认证序列850并且所附连的坞因此应用默认策略(858)。
然而,如果附件设备认证服务702确定存储在所附连的坞上的默认策略不是完全开放,则附件设备认证服务702确定主机证书是否被存储在证书存储704中(856)。如上所述,被包括在主机置备包中的主机证书将作为该包在主机计算设备700上的安装的一部分被安装到证书存储704。如果附件设备认证服务702确定在证书存储704中没有主机证书可用,则它停止认证序列850并且所附连的坞因此应用默认策略(858)。
然而,如果附件设备认证服务702确定在证书存储704中主机证书可用,则它使用该主机证书来对所附连的坞执行主机证书认证过程(860),该过程的细节将在下文中提供。如果主机证书认证过程(860)成功,则经解锁策略(即,经认证主机访问策略)将由所附连的坞应用(862)并且认证序列850终止。
然而,如果主机证书认证过程(860)失败,则附件设备认证服务702确定在证书存储704中是否剩有另一主机证书(864)。如果附件设备认证服务702确定在证书存储704中剩有另一主机证书,则它将使用该主机证书来再次对所附连的坞执行主机证书认证过程(860)并且它将由此继续循环通过证书存储704中的所有主机证书直到:主机证书认证过程(860)通过并且经解锁策略由所附连的坞应用(862),或者在证书存储704中未留有主机证书,在此情形中所附连的坞应用默认策略(858)并且认证序列850终止。
图9描绘了示出根据一示例实施例的可以在主机计算设备902对坞904的置备期间进行的各种交互和操作的序列图900。
如图9所示,坞904开始于当前未向其置备证书机构的不受限端口访问状态(906)。在该状态中,坞904应用开放所有端口的未经认证主机访问策略。主机902然后向坞904发出Set_Policies(设置_策略)API调用,该API调用的参数包括要置备至该坞的证书机构(CA)、关于主机认证是否应由该坞执行的二进制指示符(bHostFilter(b主机过滤))、将置备至该坞的未经认证和经认证主机访问策略(PortFilterPolicy(端口过滤策略))、以及密码随机数。
响应于接收到Set_Policies API调用(908)(并且由于坞904处于未被置备证书机构的不受限端口访问状态),坞904将接受并在其非易失性存储器(NVM)中存储证书机构(CA)、关于主机认证是否应被执行的二进制指示符(bHostFilter)、未经认证和经认证主机访问策略(PortFilterPolicy)和随机数(910)。坞904然后将确认消息返回给主机计算设备902以指示Set_Policies API调用已成功(912)。
当坞904最初没有置备给它的证书机构时,上述交互和操作(908、910、912)可以例如作为以上参照图8A讨论的置备序列800的置备坞过程(824)的一部分而进行。
主机计算设备902还可以向坞904发出Get API调用(914),该API调用的参数可包括以下一者或多者:坞证书机构(CA)、关于主机认证是否应被执行的坞二进制指示符(bHostFilter)、以及坞未经认证和经认证主机访问策略(PortFilterPolicy)。响应于接收到该Get API调用(914),坞904将返回由该Get API调用指定的信息(916)。换言之,坞904将返回以下一者或多者:坞证书机构(CA)、关于主机认证是否应被执行的坞二进制指示符(bHostFilter)、以及坞未经认证和经认证主机访问策略(PortFilterPolicy)。
上述交互和操作(914、916)可以例如在置备序列800的其中主机计算设备902确定坞904是否具有置备给它的证书机构的步骤822中执行。
主机计算设备902还可以向坞904发出Request_PolicyChange(请求_策略改变)API调用(918),该API调用可能不具有与其相关联的参数。响应于接收到该Request_PolicyChange API调用,坞904将存储在其非易失性存储器中的随机数返回给主机计算设备902(920)。响应于接收到该随机数,主机计算设备902用其置备管理员私钥(作为如以上讨论的主机置备包的一部分来接收到的)来对该随机数进行签名(922)并且然后向坞904发送Modify_Policies(修改_策略)API调用(924),该API调用的参数包括经签名随机数、置备管理员证书(其包括置备管理员公钥和管理员EKU值)、要被置备至该坞的新证书机构(新CA)、关于主机认证是否应由该坞执行的新二进制指示符(新bHostFilter)、将被置备至该坞的新的未经认证和经认证主机访问策略(新PortFilterPolicy)以及新随机数。
在一替代实施例中,主机计算设备902用其置备管理员私钥来对旧随机数和新随机数这两者进行签名,并只提供这两个随机数的经签名版本作为Modify_Policies API调用的参数。这可有助于防止其中Modify_Policies API调用被拦截并且新随机数被旧随机数替代的场景,这可允许使用旧随机数的旧Modify_Policies API调用的重放。通过以此方式对新随机数进行签名,主机计算设备902可保护它以免在Modify_Policies API调用期间被修改。
响应于从主机计算设备902接收到Modified_Policies(经修改_策略)API调用(924),坞904执行多个操作。如图9所示,坞904使用来自置备管理员证书的公钥来验证经数字签名的随机数(926)。这可需要调用VerifySignature(验证签名)函数,该函数的参数包括来自置备管理员证书的公钥、随机数以及经数字签名的随机数。该VerifySignature函数可利用来自置备管理员证书的公钥来解密经数字签名的随机数并且然后将结果与原始随机数相比较,并且如果这两个值匹配,则经数字签名的随机数被验证并且VerifySignature函数成功。如果VerifySignature函数失败,则Modify_Policies API调用也将失败。
响应于从主机计算设备902接收到Modified_Policies API调用(924),坞904还将使用坞证书机构的公钥来验证置备管理员证书。这可需要调用VerifyCertificate(验证证书)函数,该函数的参数包括坞证书机构以及置备管理员证书。该VerifyCertificate函数可利用坞证书机构的公钥来解密置备管理员证书中所包括的数字签名并且然后将结果与置备管理员证书的其他内容的散列相比较。如果这两个值匹配,则置备管理员证书被验证,并且VerifyCertificate函数成功。如果VerifyCertificate函数失败,则Modify_PoliciesAPI调用也将失败。
响应于从主机计算设备902接收到Modified_Policies API调用(924),坞904也将验证置备管理员证书中所包括的管理员EKU值(930)。这可需要调用MatchEKU(匹配EKU)函数,该函数的参数包括来自置备管理员证书的管理员EKU值以及由坞存储在非易失性存储器中(例如,作为由该坞存储的固件映像的一部分)的EKU值。MatchEKU函数可将来自置备管理员证书的管理员EKU值与由坞存储在非易失性存储器中的EKU值相比较并且如果这两个值匹配,则置备管理员证书中所包括的管理员EKU值被验证并且MatchEKU函数成功。如果MatchEKU函数失败,则Modify_Policies API调用也将失败。
如上所述,如果VerifySignature(926)、VerifyCertificate(928)或MatchEKU(930)函数中的任一者失败,则Modify_Policies API调用将失败。然而,如果VerifySignature(926)、VerifyCertificate(928)和MatchEKU(930)函数中的全部都成功,则坞904将使坞证书机构(CA),关于主机认证是否应被执行的坞二进制指示符(bHostFilter)以及坞未经认证和经认证主机访问策略(PortFilterPolicy)被其对应的新值(新CA、新bHostFilter和新PortFilterPolcy)盖写,并用非易失性存储器中的新随机数替换旧随机数(932)。坞904然后将确认消息返回给主机计算设备902以指示Modify_Policies API调用已成功(934)。
上述交互和操作(918、920、922、924、926、928、930、932、934)可以例如作为如上文参考图8A讨论的置备序列800的步骤832和824(其中置备管理员证书认证(832)的成功执行使坞能被置备有新证书机构和新主机访问策略(824))的一部分而进行。
图10描绘了示出根据一示例实施例的可以在主机计算设备1002尝试从坞1004中删除主机访问策略时进行的各种交互和操作的序列图1000。
如图10所示,序列图1000开始于坞1004处于主机/端口过滤状态(1006)。在该状态中,坞1004被置备有证书机构和主机访问策略。此时,主机计算设备1002可以向坞1004发出Request_PolicyDelete(请求_策略删除)API调用(1008),该API调用可能不具有与其相关联的参数。响应于接收到该Request_PolicyDelete API调用,坞1004将存储在其非易失性存储器中的随机数返回给主机计算设备1002(1010)。响应于接收到该随机数,主机计算设备1002用其置备管理员私钥(作为如以上讨论的主机置备包的一部分来接收到的)来对该随机数进行签名(1012)并且然后向坞1004发送Delete_Policies(删除_策略)API调用(1014),该API调用的参数包括经数字签名的随机数、置备管理员证书(其包括置备管理员公钥和管理员EKU值)以及新随机数。
在一替代实施例中,主机计算设备1002用其置备管理员私钥来对旧随机数和新随机数这两者进行签名,并只提供这两个随机数的经签名版本作为Delete_Policies API调用的参数。这可有助于防止其中Delete_Policies API调用被拦截并且新随机数被旧随机数替代的场景,这可允许使用旧随机数的旧Delete_Policies API调用的重放。通过以此方式对新随机数进行签名,主机计算设备902可保护它以免在Delete_Policies API调用期间被修改。
响应于从主机计算设备1002接收到Delete_Policies API调用(1014),坞1004执行多个操作。如图10所示,坞1004使用来自置备管理员证书的公钥来验证经数字签名的随机数(1016)。这可需要调用VerifySignature函数,该函数的参数包括来自置备管理员证书的公钥、随机数以及经数字签名的随机数。该VerifySignature函数可利用来自置备管理员证书的公钥来解密经数字签名的随机数并且然后将结果与原始随机数相比较,并且如果这两个值匹配,则经数字签名的随机数被验证并且VerifySignature函数成功。如果VerifySignature函数失败,则Delete_Policies API调用也将失败。
响应于从主机计算设备1002接收到Delete_Policies API调用(1014),坞1004还将使用坞证书机构的公钥来验证置备管理员证书(1018)。这可需要调用VerifyCertificate函数,该函数的参数包括坞证书机构以及置备管理员证书。该VerifyCertificate函数可利用坞证书机构的公钥来解密置备管理员证书中所包括的数字签名并且然后将结果与置备管理员证书的其他内容的散列相比较。如果这两个值匹配,则置备管理员证书被验证,并且VerifyCertificate函数成功。如果VerifyCertificate函数失败,则Delete_Policies API调用也将失败。
响应于从主机计算设备1002接收到Delete_Policies API调用(1024),坞1004也将验证置备管理员证书中所包括的管理员EKU值(1020)。这可需要调用MatchEKU函数,该函数的参数包括来自置备管理员证书的管理员EKU值以及由坞存储在非易失性存储器中(例如,作为由该坞存储的固件映像的一部分)的EKU值。MatchEKU函数可将来自置备管理员证书的管理员EKU值与由坞存储在非易失性存储器中的EKU值相比较并且如果这两个值匹配,则置备管理员证书中所包括的管理员EKU值被验证并且MatchEKU函数成功。如果MatchEKU函数失败,则Delete_Policies API调用也将失败。
利用置备管理员证书的EKU属性来携带如以上参照图9和10讨论的管理员EKU值有利地使得能够对主机计算设备进行附加认证,而不增加主机计算设备和坞之间的通信量,因为在置备管理员证书以外提供这一信息将需要单独的通信机制。因此,以此方式利用EKU属性节省这两个设备之间的通信带宽并降低每一个设备的功耗。
如上所述,如果VerifySignature(1016)、VerifyCertificate(1018)或MatchEKU(1020)函数中的任一者失败,则Delete_Policies API调用将失败。然而,如果VerifySignature(1016)、VerifyCertificate(1018)或MatchEKU(1020)函数中的任一者成功,则坞1004将从非易失性存储器中删除坞证书机构(CA)、关于主机认证是否应被执行的坞二进制指示符(bHostFilter)、以及坞未经认证和经认证主机访问策略(PortFilterPolicy)(1022)并且将新随机数存储在非易失性存储器中(1024)。然后,坞1004将向主机计算设备1002返回确认消息以指示Delete_Policies API调用已成功(1026),之后坞1004将在其当前未向其置备证书机构的不受限端口状态中操作(1028)。在该状态中,坞1004应用开放所有端口的未经认证主机访问策略。
上述交互和操作(1008、1010、1012、1014、1016、1018、1020、1022、1024、1026、1028)可以例如作为如上文参考图8A讨论的置备序列800的步骤834和836(其中置备管理员证书认证(834)的成功执行使得能够从该坞移除所置备的证书机构和所置备的主机访问策略(834))的一部分而进行。
如上所述,图9和10示出了坞可通过其来在允许主机计算设备修改或移除先前被置备至该坞的主机访问策略或证书机构之前认证该主机计算设备的技术。将认识到,在某些替代实施例中,可使用相同或相似的认证技术来在允许主机计算设备在坞上置备主机访问策略的初始集合(倘若证书机构已被置备至该坞)之前认证该主机计算设备。
在其他实施例中,除了上述主机认证要求之外,主机计算设备还必需向坞提供与由该坞存储的标识符相匹配的坞标识符,之后该主机计算设备将被允许在该坞上设置、修改或移除主机访问策略或证书机构。在一个实施例中,该标识符包括随机化标识符。在另一实施例中,标识符包括从坞序列号和秘钥制造商密钥获取的基于散列的消息认证码(HMAC)。可使用其他类型的坞标识符。该标识符可被存储在坞上的非易失性存储器中(例如,作为坞固件的一部分),但不可由任何外部设备以编程方式查询。根据这一实施例,提供了一层额外的安全性,因为管理员必须从坞的物理外壳、坞包装、供应链(例如,从其购买坞的分销商的库存系统)等获取坞标识符。这一层额外的安全性可有助于挫败对坞的远程攻击(例如,对坞的远程拒绝服务攻击),因为远程用户无法以编程方式向坞查询其标识符并且然后用其来置备该坞。
进一步根据这一实施例,上文中刚描述的坞标识符在图8A的置备序列中可被替换为坞的目标序列号。
图11描绘了根据一个示例实施例的由所置备的坞执行以确定要相对于连接的主机计算设备应用两个主机访问策略中的哪一者的方法的流程图1100。
如图11所示,流程图1100的方法在步骤1102处发起,此后控制流到步骤1104,其中坞确定对于是否针对该坞启用主机过滤。在一个实施例中,该步骤可包括坞检查被存储在该坞的非易失性存储器中的关于主机认证是否应由坞执行的二进制指示符(在本文他处被称为bHostFilter)。如果坞确定主机过滤未被启用,则控制流到步骤1108,其中坞应用存储在其非易失性存储器中的端口过滤策略,此后该方法结束于步骤1112。参考先前描述的实施例,这意味着坞应用其经认证主机访问策略。
然而,如果坞在步骤1104中确定主机过滤被启用,则控制流到步骤1106,其中坞认证主机计算设备。坞可通过其认证主机计算设备的一种示例方法以下参照图12描述。如果主机认证成功,则控制流到步骤1108,其中坞应用存储在其非易失性存储器中的端口过滤策略,此后该方法结束于步骤1112。然而,如果主机认证失败,则控制流到步骤1110,其中坞应用拒绝对所有端口的访问的主机访问策略,此后该方法结束于步骤1112。参考先前描述的实施例,这意味着坞应用其未经认证主机访问策略。
尽管参照图11的经认证主机访问策略涉及基于端口过滤策略来选择性地允许主机计算设备访问端口并且未经认证主机访问策略涉及拒绝对坞的所有端口的主机访问,但将认识到可实现其他经认证和未经认证主机访问策略。例如,坞可存储用于未经认证主机的第一端口过滤策略以及用于未经认证主机的第二端口过滤策略。
图12描绘了示出根据一示例实施例的可以在坞1204连接到主机计算设备1202时进行的各种交互和操作的序列图1200。
如图12所示,序列图1200开始于坞1204在上电时或者在主机计算设备与其分离时对所有端口强制实施无访问策略(1206)。出于该示例的目的,该无访问策略被认为是未经认证主机访问策略。
当坞1204连接到主机计算设备1202时,主机计算设备1202检测到附连(1208)。响应于检测到坞1204的附连(1208),主机计算设备向坞1204发出Get API调用(1210),该API调用的参数可包括坞证书机构(CA)。响应于接收到Get API调用(1210),坞1204将向主机计算设备1202返回坞证书机构(CA)。基于所标识的证书机构,主机计算设备将找到该证书机构发出的叶签名者(leaf signer)(1214)。根据各实施例,该叶签名者将会是置备管理员证书的签名者或主机证书的签名者。这些类型的证书中的每一者先前已被描述。
主机计算设备1202然后向坞1204发出Request_PortUse(请求_端口使用)API调用(1216),该API调用可能不具有与其相关联的参数。响应于接收到该Request_PortUse API调用,坞1204将存储在其非易失性存储器中的随机数返回给主机计算设备1202(1218)。响应于接收到该随机数,主机计算设备1202用其置备管理员私钥或其主机私钥来对随机数进行签名(1220),其中所使用的私钥取决于前一步骤1214的结果。主机计算设备1202然后向坞1204发送Use_Ports(使用_端口)API调用(1222),该API调用的参数包括经签名随机数、签名者证书以及新随机数。取决于步骤1214的结果,签名者证书将会是置备管理员证书(其包括置备管理员公钥以及管理员EKU值)或者主机证书(其包括主机公钥和主机EKU值)。
在一替代实施例中,主机计算设备1202用其置备管理员私钥或其主机私钥来对旧随机数和新随机数这两者进行签名,并只提供这两个随机数的经签名版本作为Use_PortsAPI调用的参数。这可有助于防止其中Use_Ports API调用被拦截并且新随机数被旧随机数替代的场景,这可允许使用旧随机数的旧Use_Ports API调用的重放。通过以此方式对新随机数进行签名,主机计算设备1202可保护它以免在Use_Ports API调用期间被修改。
响应于从主机计算设备1202接收到Use_Ports API调用(1222),坞1204执行多个操作。如图12所示,坞1204使用来自签名者证书的公钥来验证经数字签名的随机数(1224)。这可需要调用VerifySignature函数,该函数的参数包括来自签名者证书的公钥、随机数以及经数字签名的随机数。该VerifySignature函数可利用来自签名者证书的公钥来解密经数字签名的随机数并且然后将结果与原始随机数相比较,并且如果这两个值匹配,则经数字签名的随机数被验证并且VerifySignature函数成功。如果VerifySignature函数失败,则Use_Ports API调用也将失败,并且坞1206将对所有端口应用无访问策略。
响应于从主机计算设备1202接收到Use_Ports API调用(1222),坞1204还将使用坞证书机构的公钥来验证签名者证书(1226)。这可需要调用VerifyCertificate函数,该函数的参数包括坞证书机构以及签名者证书。该VerifyCertificate函数可利用坞证书机构的公钥来解密签名者证书中所包括的数字签名并且然后将结果与签名者证书的其他内容的散列相比较。如果这两个值匹配,则签名者证书被验证,并且VerifyCertificate函数成功。如果VerifyCertificate函数失败,则Use_Ports API调用也将失败,并且坞1204将对所有端口应用无访问策略。
响应于从主机计算设备1202接收到Use_Ports API调用(1222),坞1204还将确定签名者证书中所包括的EKU值(管理员EKU值或主机EKU值)是否匹配存储在该坞的非易失性存储器中(例如,作为由该坞存储的固件映像的一部分存储)的管理员EKU值或主机EKU值。这可包括至少调用MatchEKU函数,该函数的参数可包括来自签名者证书的EKU值以及存储在非易失性存储器中的管理员EKU值或主机EKU值。
如果坞1204确定签名者证书中所包括的EKU值匹配存储在非易失性存储器中的主机EKU值,则坞1204将相对于主机计算设备1202应用用于经认证主机的端口过滤策略(1230)。如果坞1204确定签名者证书中所包括的EKU值匹配存储在非易失性存储器中的管理员EKU值,则坞1204将开放所有端口以供主机计算设备1202访问(1230)。如果坞1204确定签名者证书中所包括的EKU值不匹配存储在非易失性存储器中的主机EKU值或管理员EKU值中的任一者,则Use_Ports API调用将失败,并且坞1204将对所有端口应用无访问策略。
如以上讨论的,利用签名者证书的EKU属性来携带管理员EKU值或主机EKU值有利地使得能够对主机计算设备1202进行附加认证,而不增加主机计算设备1202和坞1204之间的通信量,因为在证书以外提供这一信息将需要单独的通信机制。因此,以此方式利用EKU属性节省这两个设备之间的通信带宽并降低每一个设备的功耗。
不管Use_Ports API调用是成功还是失败,坞1204都将与该调用一起提供的新随机数存储在非易失性存储器中(1232),由此刷新该随机数。
基于以上描述,图13呈现了由附件设备执行的方法的流程图1300,该附件设备连接到主机计算设备并且能够向该主机计算设备提供对一个或多个计算资源的访问。在一实施例中,附件设备包括坞站、端口复制器、多媒体适配器、或集线器中的一者,但这些仅仅是示例且不旨在是限制性的。此外,在一实施例中,该一个或多个计算资源包括USB端口、以太网端口、显示器端口或音频端口中的一者或多者,但这些仅仅是示例并且不旨在是限制性的。
在一实施例中,流程图1300的步骤响应于确定附件设备已被配置成执行主机认证而执行。
如图13所示,该方法开始于步骤1302,其中附件设备从主机计算设备接收认证信息。在步骤1304,附件设备确定认证信息是否有效。
在一个实施例中,认证信息包括主机证书,并且确定认证信息是否有效包括使用已被置备至附件设备的证书机构的公钥来验证主机证书的数字签名。在另一实施例中,主机证书包含公钥,认证信息进一步包括经数字签名的随机数,并且确定认证信息是否有效进一步包括使用主机证书中所包含的公钥来验证经数字签名的随机数。在另一实施例中,主机证书包含EKU值并且确定认证信息是否有效进一步包括将主机证书中所包含的EKU值与存储在附件设备上的EKU值相比较。
在步骤1306,响应于至少确定该认证信息有效,附件设备应用第一访问策略,该第一访问策略规定是否要向主机计算设备提供对一个或多个计算资源中的每一者的访问。
在步骤1308,响应于至少确定该认证信息非有效,附件设备应用第二访问策略,该第二访问策略规定是否要向主机计算设备提供对一个或多个计算资源中的每一者的访问,该第二访问策略不同于第一访问策略。在一实施例中,第二访问策略包括附件设备的默认访问策略。
在流程图1300的一个实施例中,该一个或多个计算资源包括多个计算资源并且第一访问策略和第二访问策略中的至少一者规定要向主机计算设备提供对该多个计算资源中的一些而非全部计算资源的访问。
在流程图1300的另一实施例中,该一个或多个计算资源包括多个计算资源,并且第一访问策略规定要向主机计算设备提供对该多个计算资源的第一集合的访问,并且第二访问策略规定要向主机计算设备提供对该多个计算资源的第二集合的访问,其中第二集合是小于第一集合的第一集合的子集。或者,第一集合可以是小于第二集合的第二集合的子集。另外,第一集合和第二集合可以是非重叠或部分重叠的。
基于以上描述,图14呈现了根据一实施例的由附件设备执行以用于确定是否要执行从连接的主机计算设备接收到的主机访问策略管理命令的方法的流程图1400。在一实施例中,附件设备包括坞站、端口复制器、多媒体适配器、或集线器中的一者,但这些仅仅是示例且不旨在是限制性的。
如图14所示,流程图1400的方法开始于步骤1402,其中附件设备从连接到该附件设备的主机计算设备接收主机访问策略管理命令和认证信息。主机访问策略管理命令指示在附件设备上设置、在附件设备上修改主机访问策略、或从附件设备移除主机访问策略。主机访问策略规定是否要向随后连接到附件设备的主机计算设备提供对该附件设备可访问的一个或多个计算资源中的每一者的访问。在一实施例中,该一个或多个计算资源包括USB端口、以太网端口、显示器端口或音频端口中的一者或多者,但这些仅仅是示例并且不旨在是限制性的。
在步骤1404,附件设备确定认证信息是否有效。在一实施例中,认证信息包括管理员证书,并且确定认证信息是否有效包括使用已被置备至附件设备的证书机构的公钥来验证管理员证书的数字签名。在其中管理员证书包含公钥并且认证信息进一步包括经数字签名的随机数的另一实施例中,确定认证信息是否有效进一步包括使用管理员证书中所包含的公钥来验证经数字签名的随机数。在又一实施例中,管理员证书包含EKU值并且确定认证信息是否有效进一步包括将管理员证书中所包含的EKU值与存储在附件设备上的EKU值相比较。在再一实施例中,认证信息包括附件设备的标识符,并且确定认证信息是否有效包括将认证信息中所包括的附件设备的标识符与存储在附件设备上并且不可由外部设备以编程方式查询的该附件设备的标识符相比较。
在步骤1406,响应于至少确定认证信息有效,附件设备执行主机访问策略管理命令。
在步骤1408,响应于至少确定认证信息非有效,附件设备拒绝执行主机访问策略管理命令。
在流程图1400的一个实施例中,主机访问策略包括由附件设备应用于经认证主机计算设备的第一主机访问策略以及由附件设备应用于未经认证主机计算设备的第二主机访问策略。
在流程图1400的其中该一个或多个计算资源包括多个计算资源的另一实施例中,第一访问策略和第二访问策略中的至少一者规定要向主机计算设备提供对该多个计算资源中的一些而非全部计算资源的访问。
在流程图1400的其中该一个或多个计算资源包括多个计算资源的另一实施例中,第一访问策略规定要向主机计算设备提供对该多个计算资源的第一集合的访问,并且第二访问策略规定要向主机计算设备提供对该多个计算资源的第二集合的访问,其中第二集合是小于第一集合的第一集合的子集。
图15是根据一实施例的由主机计算设备执行以用于在附连的附件设备上设置或修改主机访问策略或从该附件设备移除主机访问策略的方法的流程图。
如图15所示,流程图1500的方法开始于步骤1502,其中主机计算设备向附件设备发送足以使该附件设备能够认证该主机计算设备的认证信息。
在步骤1504,主机计算设备向附件设备发送将由该附件设备在认证该主机计算设备之际执行的主机访问策略管理命令。这一主机访问策略管理命令可以在发送上述认证信息之前或之后或者与其基本上并发地被发送至附件设备(例如,作为相同或不同API调用的一部分)。主机访问策略管理命令指示在附件设备上设置、在附件设备上修改主机访问策略、或从附件设备移除主机访问策略。主机访问策略规定是否应向随后连接到附件设备的主机计算设备提供对该附件设备可访问的一个或多个计算资源中的每一者的访问。
图16是根据一实施例的能够针对经认证和未经认证主机应用不同的主机访问策略的示例附件设备1600的框图。如图16所示,附件设备1600包括微控制器单元(MCU)1602、多个附件设备计算资源16041-1604N以及非易失性存储器1606。如图16进一步示出的,MCU1602连接到附件设备计算资源16041-1604N中的每一者以及非易失性存储器1606。在一实施例中,附件设备1600包括坞站(坞)并且16041-1604N中的每一者包括端口,但如上所述,本文描述的技术可适用于任何类型的附件设备以及任何类型的计算资源。
如图16进一步绘出的,非易失性存储器1606存储由MCU 1602执行以执行附件设备1600的各种操作的附件设备固件1608。附件设备固件包括主机EKU 1610、管理员EKU 1612以及附件设备的不可由任何外部设备查询的标识符(ID)1614。非易失性存储器1606还存储主机认证指示符1616,该主机认证指示符可包括关于主机认证是否应由附件设备1600执行的二进制指示符、可包括未经认证主机访问策略和经认证主机访问策略的一组主机访问策略1618、附件证书机构1620以及密码随机数1622。
MCU 1602可执行附件设备固件1606以执行本文描述的操作中的任一者,这些操作归因于附件设备1081-108N、坞904、坞1004和坞1204中的任一者,以及图11的流程图1100、图13的流程图1300和图14的流程图1400的步骤中的任一者。以上描述提供了对MCU 1602可如何利用存储在非易失性存储器1606中的每一个元素来接受来自经认证主机计算设备的置备并对经认证和未经认证主机计算设备选择性地应用主机访问策略的解释,并由此为了简明的缘故将不在此重复。当应用了需要MCU 1602启用或禁用附件设备计算资源16041-1604N之一的主机访问策略时,MCU 1602可以例如通过选择性地启用或禁用与每一个资源相关联的固件和/或芯片组来执行这一启用/禁用。
图17描绘了可用于实现本文描述的各个实施例的示例基于处理器的计算机系统1700,该计算机系统1700包括管理员计算设备102、主机计算设备1061-106N中的任一者、主机计算设备700、主机计算设备902、主机计算设备1002以及主机计算设备1202。系统1700还可用于实现图8A的置备序列800、图8B的认证序列850和图15的流程图1500。此处所提供的对系统1700的描述只是为了说明而提供的,而不旨在是限制性的。实施例也可以在相关领域的技术人员所知的其它类型的计算机系统中实现。
如图17所示,系统1700包括处理单元1702、系统存储器1704,以及将包括系统存储器1704的各种系统组件耦合到处理单元1702的总线1706。处理单元1702可包括一个或多个微处理器或微处理器核心。总线1706表示若干类型的总线结构中的任何总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任一种的局部总线。系统存储器1704包括只读存储器(ROM)1708和随机存取存储器(RAM)1710。基本输入/输出系统1712(BIOS)被存储在ROM 1708中。
系统1700还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器1714、用于读或写可移动磁盘1716的磁盘驱动器1718、以及用于读或写诸如CD ROM、DVD ROM、蓝光TM盘或其他光介质之类的可移动光盘1722的光盘驱动器1720。硬盘驱动器1714、磁盘驱动器1716、以及光盘驱动器1720分别通过硬盘驱动器接口1724、磁盘驱动器接口1726、以及光盘驱动器接口1728连接至总线1706。这些驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块及其他数据的非易失存储。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等之类的其他类型的计算机可读存储设备和存储结构来储存数据。
数个程序模块或组件可被储存在硬盘、磁盘、光盘、ROM或RAM上。这些程序模块包括操作系统1730、一个或多个应用程序1732、其他程序模块1734以及程序数据1736。根据各实施例,程序模块可包括可由处理单元1702执行以执行以下各项的任何或全部功能和特征的计算机程序逻辑:管理员计算设备102、主机计算设备1061-106N中的任一者、主机计算设备700、主机计算设备902、主机计算设备1002以及主机计算设备1202,如上所述。程序模块还可包括在由处理单元1702执行时实现以下各项的计算机程序逻辑:图8A的置备序列800、图8B的认证序列850或图15的流程图1500,如上所述。
用户可以通过诸如键盘1738和定点设备1740之类的输入设备向系统1700中输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏控制器、扫描仪等等。在一个实施例中,结合显示器1744提供触摸屏以允许用户通过向触摸屏上的一个或多个点施加触摸(例如通过手指或指示笔)来提供用户输入。这些及其他输入设备常常通过耦合到总线1702的串行端口接口1742连接到处理单元1706,但是,也可以通过其他接口,诸如并行端口、游戏端口、通用串行总线(USB)端口,来进行连接。这样的接口可以是有线或无线接口。
显示器1744还通过诸如视频适配器1746之类的接口连接到总线1706。除了显示器1744之外,系统1700还可包括其他外围输出设备(未示出),如扬声器和打印机。
系统1700通过网络接口或适配器1748、调制解调器1750或其它用于在网络上建立通信的适当手段连接到网络1752(例如,局域网或诸如因特网之类的广域网)。调制解调器1752(其可以是内置的或外置的)经由串行端口接口1742来被连接到总线1706。如此处所用的,术语“计算机程序介质”、“计算机可读介质”以及“计算机可读存储介质”被用于泛指存储设备或存储结构,诸如与硬盘驱动器1714相关联的硬盘、可移动磁盘1718、可移动光盘1722,以及其他存储器设备或存储结构,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。此类计算机可读存储介质与通信介质相区别且不交叠(不包括通信介质)。通信介质通常在诸如载波等已调制数据信号中承载计算机可读指令、数据结构、程序模块或者其他数据。术语“已调制数据信号”意指以在信号中对信息进行编码的方式来使其一个或多个特性被设置或改变的信号。作为示例而非限制,通信介质包括无线介质,如声学、RF、红外和其它无线介质。实施例也针对这些通信介质。
如上文所指示的,计算机程序和模块(包括应用程序1732及其他程序模块1734)可被存储在硬盘、磁盘、光盘、ROM或RAM上。此类计算机程序也可以经由网络接口1750、串行端口接口1742或任何其他接口类型来接收。这样的计算机程序,当由应用执行或加载时,使得计算机1700能实现此处所讨论的本发明的方法和系统的各实施例的特征。因此,这样的计算机程序表示系统1700的控制器。
实施例还涉及包括存储在任何计算机可用介质上的软件的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。本发明的方法和系统的各实施例使用现在已知的或将来已知的任何计算机可使用或计算机可读介质。计算机可读介质的示例包括,但不仅限于,诸如RAM、硬盘驱动器、软盘、CDROM、DVD ROM、zip磁盘、磁带、磁存储设备、光存储设备、MEM、基于纳米技术的存储设备等等之类的存储设备和存储结构。
在上述描述中,对其中两个主机访问策略被置备至附件设备的实施例做出引述。然而,将理解在其他实施例中可将不止两个主机访问策略置备至附件设备。例如,在一个实施例中,附件设备可被置备有未经认证主机访问策略以及不止一个经认证主机访问策略,其中每一个经认证主机访问策略提供对所附连的资源的不同程度的主机访问。一般而言,可将任何数目的主机访问策略置备至附件设备,每一个主机访问策略可基于认证所附连的主机计算设备的结果来触发,并且每一个主机访问策略可提供对附件计算资源的不同级别的访问。
而且,在本文描述的某些实施例中,附件设备的置备和配置由担当管理员计算设备与该附件设备之间的中介的主机计算设备来处理。然而,在其他实施例中,附件设备的置备和配置可被直接执行,而无需中介主机计算设备。例如,在一实施例中,置备可经由与附件设备的直接网络通信(例如,与物联网(IOT)/智能坞的云通信)来执行。
此外,在本文描述的某些实施例中,对主机计算设备的认证涉及使用特定证书认证过程。然而,将会理解,可使用众多其他过程来认证主机计算设备并且本文描述的实施例不限于特定类型的主机认证过程。
最后,尽管本文描述的众多实施例讨论了准予或拒绝对附件设备的计算资源的访问的策略,但还应理解,本文描述的技术也可适用于选择性地调整此类计算资源的某些行为。作为示例而非限制,被应用于第一主机的策略可导致鼠标的灵敏度被调整为匹配与第一主机的用户一致的偏好,而被应用于第二主机的策略可导致鼠标的灵敏度被调整为匹配与第二主机的用户一致的偏好。
附加示例性实施例
本文描述了由附件设备执行的方法,该附件设备连接到主机计算设备并且能够向该主机计算设备提供对一个或多个计算资源的访问。该方法包括:从主机计算设备接收认证信息;确定该认证信息是否有效;响应于至少确定该认证信息有效,应用第一访问策略,该第一访问策略规定是否要向该主机计算设备提供对该一个或多个计算资源中的每一者的访问;以及响应于至少确定该认证信息非有效,应用第二访问策略,该第二访问策略规定是否要向该主机计算设备提供对该一个或多个计算资源中的每一者的访问,该第二访问策略不同于该第一访问策略。
在上述方法的一个实施例中,该认证信息包括主机证书,并且确定该认证信息是否有效包括使用已被置备至该附件设备的证书机构的公钥来验证该主机证书的数字签名。
进一步根据该实施例,该主机证书包含公钥,该认证信息进一步包括经数字签名的随机数,并且确定该认证信息是否有效进一步包括使用该主机证书中所包含的公钥来验证该经数字签名的随机数。
进一步根据该实施例,该主机证书包含EKU值并且确定该认证信息是否有效进一步包括将该主机证书中所包含的EKU值与存储在该附件设备上的EKU值相比较。
在上述方法的另一实施例中,该附件设备包括坞站、端口复制器、多媒体适配器、或集线器中的一者。
在上述方法的又一实施例中,该一个或多个计算资源包括通用串行总线(USB)端口;以太网端口;显示器端口;或音频端口中的一者或多者。
在上述方法的再一实施例中,接收、确定和应用步骤是响应于确定该附件设备已被配置成执行主机认证而执行的。
在上述方法的另一实施例中,该一个或多个计算资源包括多个计算资源,并且第一访问策略和第二访问策略中的至少一者规定将要向该主机计算设备提供对该多个计算资源中的一些而非全部计算资源的访问。
在上述方法的另一实施例中,该一个或多个计算资源包括多个计算资源,并且第一访问策略规定要向该主机计算设备提供对该多个计算资源的第一集合的访问,并且第二访问策略规定要向该主机计算设备提供对该多个计算资源的第二集合的访问,其中第二集合是小于第一集合的第一集合的子集。
本文描述的由附件设备执行的方法。该方法包括:从连接到该附件设备的主机计算设备接收主机访问策略管理命令和认证信息,该主机访问策略管理命令指示在该附件设备上设置、修改主机访问策略或从该附件设备移除主机访问策略。确定该认证信息是否有效;响应于至少确定该认证信息有效,执行该主机访问策略管理命令;以及响应于至少确定该认证信息非有效,拒绝执行该主机访问策略管理命令。该主机访问策略规定是否要向随后连接到附件设备的主机计算设备提供对该附件设备可访问的一个或多个计算资源中的每一者的访问。
在上述方法的一个实施例中,该认证信息包括管理员证书,并且确定该认证信息是否有效包括使用已被置备至该附件设备的证书机构的公钥来验证该管理员证书的数字签名。
进一步根据该实施例,该管理员证书包含公钥,该认证信息进一步包括经数字签名的随机数,并且确定该认证信息是否有效进一步包括使用该管理员证书中所包含的公钥来验证该经数字签名的随机数。
进一步根据该实施例,该管理员证书包含EKU值并且确定该认证信息是否有效进一步包括将该管理员证书中所包含的EKU值与存储在该附件设备上的EKU值相比较。
在上述方法的另一实施例中,认证信息包括附件设备的标识符,并且确定认证信息是否有效包括将认证信息中所包括的附件设备的标识符与存储在附件设备上并且不可由外部设备以编程方式查询的该附件设备的标识符相比较。
在上述方法的又一实施例中,该附件设备包括坞站、端口复制器、多媒体适配器、或集线器。
在上述方法的另一实施例中,该一个或多个计算资源包括通用串行总线(USB)端口;以太网端口;显示器端口;或音频端口中的一者或多者。
在上述方法的另一实施例中,主机访问策略包括由附件设备应用于经认证主机计算设备的第一主机访问策略以及由附件设备应用于未经认证主机计算设备的第二主机访问策略。
进一步根据该实施例,该一个或多个计算资源包括多个计算资源并且其中第一访问策略和第二访问策略中的至少一者规定要向主机计算设备提供对该多个计算资源中的一些但不是全部的访问。
进一步根据该实施例,该一个或多个计算资源包括多个计算资源,并且第一访问策略规定要向主机计算设备提供对该多个计算资源的第一集合的访问,并且第二访问策略规定要向主机计算设备提供对该多个计算资源的第二集合的访问,其中第二集合是小于第一集合的第一集合的子集。
本文描述了由连接到附件设备的主机计算设备执行的方法。该方法包括:向该附件设备发送足以使该附件设备能够认证该主机计算设备的认证信息;以及向该附件设备发送要由该附件设备在认证该主机计算设备之际执行的主机访问策略管理命令,该主机访问策略管理命令指示在该附件设备上设置、修改主机访问策略或从该附件设备移除主机访问策略,该主机访问策略规定是否应向随后连接到该附件设备的主机计算设备提供对该附件设备可访问的一个或多个计算资源中的每一者的访问。
结语
尽管上文描述了本发明的方法和系统的各种实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其在形式上和细节上做出各种改变而不背离本发明的方法和系统的精神和范围。因此,此处所公开的本方法和系统的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (15)

1.一种由附件设备执行的方法,所述附件设备连接到主机计算设备并且能够向所述主机计算设备提供对一个或多个计算资源的访问,所述方法包括:
从所述主机计算设备接收认证信息;
确定所述认证信息是否有效;
响应于至少确定所述认证信息有效,应用第一访问策略,所述第一访问策略规定是否要向所述主机计算设备提供对所述一个或多个计算资源中的每一者的访问;以及
响应于至少确定所述认证信息非有效,应用第二访问策略,所述第二访问策略规定是否要向所述主机计算设备提供对所述一个或多个计算资源中的每一者的访问,所述第二访问策略不同于所述第一访问策略。
2.如权利要求1所述的方法,其中所述认证信息包括主机证书,并且其中确定所述认证信息是否有效包括:
使用已被置备至所述附件设备的证书机构的公钥来验证所述主机证书的数字签名。
3.如权利要求2所述的方法,其中所述主机证书包含公钥,其中所述认证信息进一步包括经数字签名的随机数,并且其中确定所述认证信息是否有效进一步包括:
使用所述主机证书中所包含的所述公钥来验证所述经数字签名的随机数。
4.如权利要求2所述的方法,其中所述主机证书包含扩展密钥使用(EKU)值,并且其中确定所述认证信息是否有效进一步包括:
将所述主机证书中所包含的所述EKU值与被存储在所述附件设备上的EKU值相比较。
5.如权利要求1所述的方法,其中所述附件设备包括坞站、端口复制器、多媒体适配器、或集线器中的一者。
6.如权利要求1所述的方法,其中所述一个或多个计算资源包括以下各项中的一者或多者:
通用串行总线(USB)端口;
以太网端口;
显示器端口;或者
音频端口。
7.如权利要求1所述的方法,其中所述一个或多个计算资源包括多个计算资源并且其中所述第一访问策略和所述第二访问策略中的至少一者规定要向所述主机计算设备提供对所述多个计算资源中的一些而非全部计算资源的访问。
8.一种附件设备,包括:
一个或多个计算资源;以及
微控制器单元,所述微控制器单元被配置成:
从连接到所述附件设备的主机计算设备接收主机访问策略管理命令和认证信息,所述主机访问策略管理命令指示在所述附件设备上设置、修改主机访问策略或从所述附件设备移除主机访问策略,所述主机访问策略规定是否要向随后连接到所述附件设备的主机计算设备提供对所述一个或多个计算资源中的每一者的访问;
确定所述认证信息是否有效;
响应于至少确定所述认证信息有效,执行所述主机访问策略管理命令;以及
响应于至少确定所述认证信息非有效,拒绝执行所述主机访问策略管理命令。
9.如权利要求8所述的附件设备,其中所述认证信息包括管理员证书,并且其中所述微控制器单元被配置成通过以下操作来确定所述认证信息是否有效:
使用已被置备至所述附件设备的证书机构的公钥来验证所述管理员证书的数字签名。
10.如权利要求9所述的附件设备,其中所述管理员证书包含公钥,其中所述认证信息进一步包括经数字签名的随机数,并且其中所述微控制器单元被进一步配置成通过以下操作来确定所述认证信息是否有效:
使用所述管理员证书中所包含的所述公钥来验证所述经数字签名的随机数。
11.如权利要求9所述的附件设备,其中所述管理员证书包含扩展密钥使用(EKU)值,并且其中所述微控制器单元被进一步配置成通过以下操作来确定所述认证信息是否有效:
将所述管理员证书中所包含的所述EKU值与被存储在所述附件设备上的EKU值相比较。
12.如权利要求9所述的附件设备,其中所述认证信息包括所述附件设备的标识符,并且其中所述微控制器单元被进一步配置成通过以下操作来确定所述认证信息是否有效:
将所述认证信息中所包括的所述附件设备的所述标识符与被存储在所述附件设备上且不可由任何外部设备以编程方式查询的所述附件设备的标识符相比较。
13.如权利要求9所述的附件设备,其中所述一个或多个计算资源包括以下各项中的一者或多者:
通用串行总线(USB)端口;
以太网端口;
显示器端口;或者
音频端口。
14.如权利要求9所述的附件设备,其中所述主机访问策略包括由所述附件设备应用于经认证主机计算设备的第一主机访问策略以及由所述附件设备应用于未经认证主机计算设备的第二主机访问策略。
15.如权利要求9所述的附件设备,其中所述一个或多个计算资源包括多个计算资源并且其中所述第一访问策略和所述第二访问策略中的至少一者规定要向所述主机计算设备提供对所述多个计算资源中的一些而非全部计算资源的访问。
CN202180030288.5A 2020-04-21 2021-02-23 对附件设备资源的安全访问 Pending CN115462109A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/854,793 2020-04-21
US16/854,793 US11468181B2 (en) 2020-04-21 2020-04-21 Secure access to accessory device resources
PCT/US2021/019142 WO2021216189A1 (en) 2020-04-21 2021-02-23 Secure access to accessory device resources

Publications (1)

Publication Number Publication Date
CN115462109A true CN115462109A (zh) 2022-12-09

Family

ID=74885045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180030288.5A Pending CN115462109A (zh) 2020-04-21 2021-02-23 对附件设备资源的安全访问

Country Status (4)

Country Link
US (2) US11468181B2 (zh)
EP (1) EP4140164A1 (zh)
CN (1) CN115462109A (zh)
WO (1) WO2021216189A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853471B2 (en) * 2017-01-15 2020-12-01 Apple Inc. Managing permissions for different wireless devices to control a common host device
US11468181B2 (en) * 2020-04-21 2022-10-11 Microsoft Technology Licensing, Llc Secure access to accessory device resources
US11496325B2 (en) 2021-03-02 2022-11-08 Dell Products L.P. Information handling system with overlay ownership certificates for ownership chaining
CN114861158A (zh) * 2022-05-09 2022-08-05 深圳市广和通无线通信软件有限公司 安全认证方法、装置、系统、电子设备及存储介质
US20230388280A1 (en) * 2022-05-25 2023-11-30 CybXSecurity LLC System, Method, and Computer Program Product for Generating Secure Messages for Messaging

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109679A1 (en) * 2003-02-28 2008-05-08 Michael Wright Administration of protection of data accessible by a mobile device
US8238811B2 (en) 2008-09-08 2012-08-07 Apple Inc. Cross-transport authentication
US8719112B2 (en) 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
US8756445B2 (en) 2010-01-06 2014-06-17 Apple Inc. Providing power to an accessory during portable computing device hibernation
WO2011153341A1 (en) 2010-06-03 2011-12-08 Alesis, L.P. Audio input and output dock for a tablet computer
JP5494816B2 (ja) * 2010-10-20 2014-05-21 日本電気株式会社 通信制御装置、システム、方法及びプログラム
AU2012342079B2 (en) 2011-11-23 2017-04-27 Koninklijke Philips N.V. Method and apparatus for configuration and control of wireless docking
US9442526B2 (en) 2012-05-04 2016-09-13 JPMorgan Chase, Bank, N.A. System and method for mobile device docking station
DE102013000789A1 (de) 2013-01-17 2014-07-17 Unify Gmbh & Co. Kg Dockingstation und Verfahren für die Anbindung eines mobilen Kommunikationsendgeräts an eine zumindest teilweise drahtbasierte Kommunikationsinfrastruktur
CN105122770B (zh) 2013-04-25 2019-02-12 皇家飞利浦有限公司 无线对接设备
US9462617B2 (en) 2014-04-14 2016-10-04 Intel Corporation Connection management techniques for wireless docking
US9811654B2 (en) * 2014-06-11 2017-11-07 Dell Products L.P. Systems and methods for providing authentication using a managed input/output port
US9537662B2 (en) 2014-10-08 2017-01-03 Google Inc. Certificates for low-power or low-memory devices
US9787478B2 (en) * 2015-06-10 2017-10-10 Qualcomm Incorporated Service provider certificate management
US10231128B1 (en) * 2016-02-08 2019-03-12 Microstrategy Incorporated Proximity-based device access
US10587586B2 (en) * 2017-01-10 2020-03-10 Mocana Corporation System and method for a multi system trust chain
US10587421B2 (en) * 2017-01-12 2020-03-10 Honeywell International Inc. Techniques for genuine device assurance by establishing identity and trust using certificates
US10868893B2 (en) * 2017-03-31 2020-12-15 Xilinx, Inc. Network interface device
US11470120B2 (en) * 2019-03-18 2022-10-11 Dell Products L.P. Providing different levels of resource access to a computing device that is connected to a dock
US11196547B2 (en) * 2019-03-20 2021-12-07 International Business Machines Corporation Scalable multi-framework multi-tenant lifecycle management of deep learning applications
US11196749B2 (en) * 2019-04-26 2021-12-07 Oracle International Corporation System and method for controlling a multi-tenant service-oriented architecture
US11431511B2 (en) * 2019-06-03 2022-08-30 Intuit Inc. Centralized authentication and authorization with certificate management
US20210234877A1 (en) * 2020-01-29 2021-07-29 Hewlett Packard Enterprise Development Lp Proactively protecting service endpoints based on deep learning of user location and access patterns
US11468181B2 (en) * 2020-04-21 2022-10-11 Microsoft Technology Licensing, Llc Secure access to accessory device resources

Also Published As

Publication number Publication date
US11468181B2 (en) 2022-10-11
US20220414238A1 (en) 2022-12-29
EP4140164A1 (en) 2023-03-01
WO2021216189A1 (en) 2021-10-28
US11907382B2 (en) 2024-02-20
US20210326459A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US11907382B2 (en) Secure access to accessory device resources
EP3671508B1 (en) Customizing operating system kernels with secure kernel modules
JP4064914B2 (ja) 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US8201239B2 (en) Extensible pre-boot authentication
US8909940B2 (en) Extensible pre-boot authentication
CN112513857A (zh) 可信执行环境中的个性化密码安全访问控制
EP2583410B1 (en) Single-use authentication methods for accessing encrypted data
US8850549B2 (en) Methods and systems for controlling access to resources and privileges per process
US8789037B2 (en) Compatible trust in a computing device
US8166515B2 (en) Group policy for unique class identifier devices
US20170308705A1 (en) System, device and method for anti-rollback protection of over-the-air updated device images
US11042384B2 (en) Managing the customizing of appliances
US10936722B2 (en) Binding of TPM and root device
US20190332392A1 (en) Information Handling Systems And Related Methods For Establishing Trust Between Boot Firmware And Applications Based On User Physical Presence Verification
US11514165B2 (en) Systems and methods for secure certificate use policies
US8713640B2 (en) System and method for logical separation of a server by using client virtualization
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
US10158623B2 (en) Data theft deterrence
US8646068B2 (en) Home image content securely isolated from corporate IT
US20230359741A1 (en) Trusted boot method and apparatus, electronic device, and readable storage medium
González et al. A practical hardware-assisted approach to customize trusted boot for mobile devices
US20230079795A1 (en) Device to device migration in a unified endpoint management system
US20240028735A1 (en) Automated update of a customized secure boot policy
US8966600B2 (en) Method, apparatus and system for controlling access to computer platform resources
US20240146714A1 (en) Security key integrity verification using inventory certificates

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination