CN105474228A - Io设备与硬件安全元件的自动配对 - Google Patents
Io设备与硬件安全元件的自动配对 Download PDFInfo
- Publication number
- CN105474228A CN105474228A CN201480044765.3A CN201480044765A CN105474228A CN 105474228 A CN105474228 A CN 105474228A CN 201480044765 A CN201480044765 A CN 201480044765A CN 105474228 A CN105474228 A CN 105474228A
- Authority
- CN
- China
- Prior art keywords
- pairing
- secure element
- key
- authentication value
- agent
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
方法和系统可提供在系统的引导过程期间在该系统的安全元件处从配对代理接收第一配对认证值。此外,可从该配对代理接收配对密钥,其中,该第一配对认证值和该配对密钥可用于在该安全元件和耦合到该系统的输入输出(IO)设备之间建立受信通道。在一个示例中,仅当在该引导过程的预定阶段之前接收到该第一配对认证值时才接受该第一配对认证值。
Description
背景
技术领域
各实施例总体上涉及计算平台和/或系统中的安全性。更具体地,各实施例涉及输入输出(IO)设备与硬件安全元件的自动配对。
讨论
计算系统(诸如个人计算机)可运行会易于受到恶意软件(恶意软件)攻击的主机操作系统(OS)。为了提高安全性,专用硬件元件(例如,“安全元件”)可被结合到计算系统中,其中,该元件可安全地引导,仅运行与OS和其他基于主机的软件隔离的硬件环境中的受信固件。安全元件因此可以用于以受信的方式实现安全性和可管理性特征。
对于某些使用场景,安全元件可与系统上的其他硬件设备交互。在这些情况下,因此,可存在危害其他硬件设备和/或篡改安全元件与其他硬件设备之间的通信通道的恶意软件的潜在风险。在某些情形下,安全元件和另一个硬件设备之间的通信通道可流经主机OS。
实际上,许多输入输出(IO)设备(诸如键盘、鼠标、触摸屏、打印机等等)可通过USB(通用串行总线,例如,USB规范3.0版本,2008年11月12日,USB实现者论坛)连接到系统。由于硬件限制,这些USB设备可仅由主机软件(诸如OS或BIOS(基本输入输出系统、UEFI/统一可扩展固件接口等等))通过USB控制器直接访问。相应地,当使用专用硬件安全元件可能在某些情况下合适时,为改进IO设备留出了足够的空间。
附图说明
通过阅读以下说明书和所附权利要求书并且通过参考以下附图,本发明实施例的各种优点将对本领域普通技术人员变得明显,在附图中:
图1是根据实施例的计算架构的示例的框图;
图2是根据实施例的在受信配对代理和安全元件之间建立受信通道的方法的示例的流程图;以及
图3是根据实施例的在安全元件和输入输出(IO)设备之间建立受信通道的方法的示例的流程图。
详细描述
图1示出其中输入输出(IO)设备12耦合到计算系统10的计算架构。计算系统10可包括例如服务器、工作站、台式计算机、笔记本计算机、平板计算机、可转换平板计算机、个人数字助理(PDA)、移动互联网设备(MID)、智能电话、媒体播放器等等。此外,IO设备12可包括例如可用于通信敏感、隐私和/或个人信息(诸如与各种各样的应用(例如银行、电子商务、社交网络等等)相关联的登录、账户和/或财务信息)的键盘、鼠标、触摸屏、打印机等等。
在一个示例中,IO设备12是USB设备,尽管还可使用其他总线配置和/或技术。因此,IO设备12可以是可仅由在计算系统10的主机处理器16(中央处理单元/CPU)或者BIOS18(基本输入输出系统和/或UEFI)上运行的软件直接访问的离散设备。相应地,计算系统10和IO设备12之间的通信可能受到基于主机的恶意软件的攻击。如将更详细讨论的,计算系统10可被配置成用于当IO设备12连接到计算系统10时自动地将IO设备12与基于硬件的安全元件14配对,从而使得可关于IO设备12和安全元件14之间的通信避免恶意软件担忧(例如,监听、密钥登录)。
总体上,安全元件14可在计算系统10的早期引导阶段期间与BIOS18中的受信配对代理20建立受信通道/关系,并且利用该受信通道以便在IO设备12耦合到计算系统10时与IO设备建立附加受信通道。更具体地,所示出的受信配对代理20可生成随机配对认证值(PAV)并且将PAV存储到隐藏存储器空间26。在一个示例中,受信配对代理20是系统管理中断(SMI)处理程序并且隐藏存储器空间26位于与在系统管理模式(SMM)之外运行的代码隔离的系统管理随机存取存储器(SMRAM)中。因此,所示出的受信配对代理20的执行环境不能由其他系统软件预占。在另一个示例中,受信配对代理20是也具有其自身的存储器空间(例如,AC-RAM)和与不受信代码隔离并隐藏的执行环境的认证代码模块(ACM)。
受信配对代理20还可在引导过程(例如,上电自检测/POST、转变到SOACPI/高级配置和功率接口,例如ACPI规范,版本5.0a,2011年12月6日等等)期间向安全元件14发送配对认证值。传输配对认证值可被配置成用于在引导过程中相对早地发生(例如,在预定的BIOS阶段之前,诸如执行第三方代码,或BIOS的选项只读存储器/ROM中的固件)以便确保恶意软件不被给予监听或以其他方式篡改配对认证值的机会。此外,安全元件14可包括固件22,该固件接收配对认证值并且仅当在预定的BIOS阶段之前接收到配对认证值时才接受配对认证值。接受配对认证值可涉及将配对认证值存储在安全元件14的本地存储器24(例如,受信的并且安全的)。拒绝配对认证值可涉及例如节流请求、拒绝未来请求、重置计算系统和/或其他实现方式特定的行为。配对认证值可通常用在受信配对代理20和安全元件14之间的后续通信中以便维持这些组件之间的关系的受信性质。
当IO设备12耦合到(例如,连接到、插入到、注册有)计算系统10时,在主机处理器16上运行的IO驱动器堆栈30可与在IO设备12上运行的固件32通信以便检测IO设备12的存在。此外,在主机处理器16上运行的OS模块28(例如,主机配对请求器)可从IO驱动器堆栈30获得IO设备12的设备地址并且向受信配对代理20发布配对请求,其中,配对请求可包括IO设备12的设备地址。响应于接收到配对请求,受信配对代理20可生成随机配对密钥(例如,随机或伪随机128位数)。
受信配对代理20还可向安全元件14发送包括配对密钥、之前所生成的配对认证值和IO设备12的地址的消息。安全元件14可进而根据在引导过程期间早期接收的配对认证值验证包含在消息中的配对认证值。如果发现匹配,所示出的安全元件14使用配对密钥和地址与IO设备12建立安全通道。
图2示出在配对代理和安全元件之间建立受信通道的方法34。方法34可被实现为存储在使用电路技术(诸如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术或其任何组合)的固定功能逻辑硬件中的可配置逻辑(诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD))中的机器或计算机可读存储介质(诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪存等等)中的防篡改逻辑和/或固件指令集。例如,可用一种或多种编程语言的任何组合编写用于执行方法34中所示的操作的计算机程序代码,包括面向对象的编程语言(诸如Java、Smalltalk、C++等等)以及常规程序编程语言(诸如“C”编程语言或类似的编程语言)。在一个示例中,在已经讨论的受信配对代理(诸如例如受信配对代理20(图1)和/或安全元件固件(诸如例如安全元件固件22(图1)))中实现该方法。
所示出的代理框36提供生成随机配对认证值(PAV),其中,PAV可在框38处保存在隐藏存储器空间中。如上所述,隐藏存储器空间可以与在SMM之外运行的代码隔离。框40可在系统的早期引导过程期间向计算系统的安全元件发送PAV。例如,PAV可结合POST、从S5/S4/S3状态到SOACPI状态的转变等等发送到安全元件。此外,安全元件框42可接收PAV,其中,可在安全元件框44处确定是否在引导过程的预定阶段之前(例如,在执行第三方代码之前)接收到PAV。框44可考虑安全元件可以访问的BIOS/UEFI中的各个标记和/或检查点。如果在预定阶段之前接收到PAV,可在安全元件框46处接受PAV。否则,可绕过接受PAV(例如,安全元件忽略PAV)。如果不接受PAV,可实现其他响应,诸如例如节流请求、拒绝未来请求、重置计算系统和/或其他实现方式特定的行为。
图3示出在安全元件和IO设备之间建立受信通道的方法48。方法48可被实现为存储在使用电路技术(诸如ASIC、CMOS或TTL技术、或其任意组合)的固定功能性逻辑硬件中的可配置逻辑(诸如例如PLA、FPGA、CPLD)中的机器或计算机可读存储介质(诸如例如RAM、ROM、固件、闪存等等)中的逻辑和/或固件指令集。例如,可用一种或多种编程语言的任何组合编写用于执行方法48中所示的操作的计算机程序代码,包括面向对象的编程语言(诸如Java、Smalltalk、C++等等)以及常规程序编程语言(诸如“C”编程语言或类似的编程语言)。
在一个示例中,在已经讨论的IO设备(诸如例如IO设备12(图1))、OS模块(诸如例如OS模块28(图1))、受信配对代理(诸如例如受信配对代理20(图1))和/或安全元件固件(诸如例如安全元件固件22(图1)))中实现方法48。IO设备可经由USB、PCI-e(外围组件互连Express,例如PCIExpressxl6图形150W-ATX规范1.0,PCI特殊兴趣小组)、火线(例如,电子电气工程师协会/IEEE高性能串行总线标准,1394-2008,,2008年10月21日)、蓝牙链路(例如,IEEE802.15.1-2005,无线个域网)等等与计算系统通信。
所示出的IO设备框50提供发起设备存在检测,其中,OS模块框52可响应于发起设备存在检测而向受信配对代理发布配对请求。当接收到配对请求时,代理框54可生成配对密钥并将配对密钥存储到隐藏存储器空间。在框56,配对密钥可以在也包括PAV和IO设备的地址的消息中被发送到安全元件。框56还可提供向发起设备存在检测的IO设备发送配对密钥。所示出的代理框58从隐藏存储器空间擦除配对密钥,其中,可在代理框60向OS模块发送配对通知。OS模块可在框62处接收配对通知。
配对密钥可由安全元件在安全元件框64处接收。在一个示例中,在框66根据来自引导过程的PAV(例如,“第一”配对认证值)验证来自配对密钥消息的PAV(例如,“第二”配对认证值)。如果验证成功,框68可将配对密钥存储到安全元件的私有存储器。此外,配对密钥可在框70用于与IO设备建立受信通道。
配对密钥还可由IO设备在设备框72处接收,其中,所示出的设备框74用于将配对密钥存储到IO设备的本地存储器。设备框76可使用配对密钥与安全元件建立受信通道。具体地,在框70和76处建立受信通道可涉及例如导出共享加密和签名密钥以便通过主机驱动器堆栈建立端到端受信通道(隧道)。因此,在主机处理器上运行的OS软件可负责在IO设备和安全元件固件之间转发消息用于安全通道建立和通过该通道的安全通信。然而,主机OS软件可能不知道配对密钥。因此,在所示出的示例中,主机或许不能篡改IO设备和安全元件之间的数据流。
附加注释和示例
示例1可包括一种对设备进行配对的系统,包括IO设备和安全元件,该安全元件用于在该系统的引导过程期间接收第一配对认证值、接收配对密钥并且使用该第一配对认证值和该第一配对密钥在该安全元件和该IO设备之间建立受信通道。该系统还可包括配对代理,该配对代理用于在该引导过程期间向该安全元件发送该第一配对认证值、响应于与该IO设备的配对请求生成该配对密钥并且将该配对密钥发送到该安全元件和该IO设备。
示例2可包括示例1所述的系统,其中,该安全元件用于仅当在该引导过程的预定阶段之前接收到该第一配对认证值时才接受该第一配对认证值。
示例3可包括示例1所述的系统,其中,该安全元件用于在也包括该配对密钥的消息中标识第二配对认证值并且根据该第一配对认证值验证该第二配对认证值以便建立该受信通道。
示例4可包括示例1所述的系统,进一步包括用于发布该配对请求的操作系统(OS)模块,其中,该配对代理用于向该OS模块发送配对通知。
示例5可包括示例1所述的系统,进一步包括与在系统管理模式外部运行的代码隔离的隐藏存储器空间,其中,该配对代理用于:将该配对密钥存储到该隐藏存储器空间,并且其中,该配对密钥包括该第一配对认证值和IO设备地址,以及在该配对密钥被发送到该安全元件和该IO设备之后从该隐藏存储器空间擦除该配对密钥。
示例6可包括示例1至5中任一项所述的系统,其中,该配对代理是系统管理中断(SMI)处理程序或认证代码模块(ACM)之一,并且该IO设备是通用串行总线(USB)设备。
示例7可包括一种至少部分地在固定功能硬件中实现的操作配对代理的方法,包括:在系统的引导过程期间向该系统的安全元件发送来自该配对代理的配对授权值;响应于与输入输出(IO)设备相关联的配对请求生成配对密钥;以及将该配对密钥发送到该安全元件和该IO设备。
示例8可包括示例7所述的方法,其中,该配对代理是系统管理中断(SMI)处理程序或认证代码模块(ACM)之一。
示例9可包括示例7所述的方法,进一步包括从操作系统(OS)模块接收该配对请求。
示例10可包括示例9所述的方法,进一步包括向该OS模块发送配对通知。
示例11可包括示例7所述的方法,进一步包括将该配对密钥存储到与在系统管理模式外部运行的代码隔离的隐藏存储器空间,其中,在也包括该第一配对认证值和IO设备地址的消息中发送该配对密钥,以及在该配对密钥被发送到该安全元件和该IO设备之后从该隐藏存储器空间擦除该配对密钥。
示例12可包括示例7至11中任一项所述的方法,其中,向该IO设备发送该配对密钥包括向通用串行总线(USB)设备发送该配对密钥。
示例13可包括一种至少部分地在固定功能硬件中实现的操作安全元件的方法,包括:在系统的引导过程期间从该系统的配对代理接收第一配对认证值;从该配对代理接收配对密钥;以及使用该第一配对认证值和该配对密钥在该安全元件和耦合到该系统的输入输出(IO)设备之间建立受信通道。
示例14可包括示例13所述的方法,进一步包括仅当在该引导过程的预定阶段之前接收到该第一配对认证值时才接受该第一配对认证值。
示例15可包括示例13所述的方法,其中,使用该第一配对认证值建立该受信通道包括在也包括该配对密钥的消息中标识第二配对认证值并且根据该第一配对认证值验证该第二配对认证值以便建立该受信通道。
示例16可包括示例13所述的方法,其中,该第一配对认证值和该配对密钥是从系统管理中断(SMI)处理程序或认证代码模块(ACM)之一接收的。
示例17可包括示例13所述的方法,进一步包括在也包括该配对密钥的消息中标识IO设备地址。
示例18可包括权利要求13至17中任一项所述的方法,其中,该受信通道是在该安全元件与通用串行总线(USB)设备之间建立的。
示例19可包括至少一种包括指令集的计算机可读存储介质,如果被系统的安全元件执行,该指令集致使该安全元件:在系统的引导过程期间从该系统的配对代理接收第一配对认证值;从该配对代理接收配对密钥;以及使用该第一配对认证值和该配对密钥在该安全元件和耦合到该系统的IO设备之间建立受信通道。
示例20可包括示例19所述的至少一种计算机可读存储介质,其中,如果被执行,该指令致使该安全元件仅当在该引导过程的预定阶段之前接收到该第一配对认证值时才接受该第一配对认证值。
示例21可包括示例19所述的至少一种计算机可读存储介质,其中,如果被执行,该指令致使该安全元件在也包括该配对密钥的消息中标识第二配对认证值并且根据该第一配对认证值验证该第二配对认证值以便建立该受信通道。
示例22可包括19所述的至少一种计算机可读存储介质,其中,该第一配对认证值和该配对密钥是从系统管理中断(SMI)处理程序或认证代码模块(ACM)之一接收的。
示例23可包括示例19所述的至少一种计算机可读存储介质,其中,如果被执行,该指令致使该安全元件在也包括该配对密钥的消息中标识IO设备地址。
示例24可包括示例19至23中任一项所述的至少一种计算机可读存储介质,
其中,该受信通道是在该安全元件与通用串行总线(USB)设备之间建立的。
示例25可包括一种操作配对代理的装置,包括IO设备接口,该IO设备接口包括该配对代理,该配对代理用于:在系统的引导过程期间向该系统的安全元件发送来自该配对代理的配对授权值;响应于与IO设备相关联的配对请求生成配对密钥;以及将该配对密钥发送到该安全元件和该IO设备。
示例26可包括权利要求25所述的装置,其中,该配对代理是系统管理中断(SMI)处理程序或认证代码模块(ACM)之一。
示例27可包括权利要求25所述的装置,其中,该配对代理用于从操作系统(OS)模块接收该配对请求。
示例28可包括权利要求27所述的装置,其中,该配对代理用于向该OS模块发送配对通知。
示例29可包括权利要求25所述的装置,其中,该配对代理用于将该配对密钥存储到与在系统管理模式外部运行的代码隔离的隐藏存储器空间,其中,在也包括该第一配对认证值和IO设备地址的消息中发送该配对密钥,以及在该配对密钥被发送到该安全元件和该IO设备之后从该隐藏存储器空间擦除该配对密钥。
示例30可包括一种操作配对代理的装置,该装置包括用于执行如示例7至11中任一项所述的方法的装置。
示例31可包括至少一种包括指令集的计算机可读存储介质,当被配对代理执行时,该指令集致使该配对代理执行示例7至11中任一项所述的方法。
示例32可包括一种操作安全元件的装置,该装置包括用于执行如示例13至17中任一项所述的方法的装置。
因此,在此描述的技术可使得IO设备(诸如蓝牙、USB、PCI-e和/或火线设备)能够自动地与计算系统的安全元件配对。因此,无论何时系统引导或恢复主机OS的操作,支持配对的所有连接的IO设备可自动地与安全元件配对。而且,当主机OS正在执行并且IO热插拔事件发生时,所讨论的IO设备也可自动地与安全元件配对(如果支持配对的话)。配对可持续直到所配对的IO设备关机或被拔出或者直到主机OS从活跃状态退出(例如,悬挂、休眠或关机)。一旦配对已经完成,主机OS(以及任何潜在的恶意软件)可被防止解密、修改或重放在安全元件和IO设备之间流动的数据的内容。主机OS适当地拒绝转发流量可仅仅导致拒绝服务。因此,可在本文描述的技术下极大地避免对基于主机的恶意软件的担忧。
本发明的实施例可适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等等。附加地,在某些附图中,可用线路表示信号导线。某些可能不同,用于指示更多组成信号路径,具有号码标签,指示多个组成信号路径,和/或在一个或多个端部具有箭头,指示主信息流方向。然而,这不应当以限制性的方式解释。而是,这种附加细节可结合一个或多个示例性实施例使用,以便促进更容易地理解电路。任何所表示的信号线(不管是否具有附加信息)可实际上包括一个或多个信号,该一个或多个信号可在多个方向上行进并且可用任意合适类型的信号方案实现,例如用差分对、光纤线路、和/或单端线路实现的数字或模拟线路。
示例大小/模型/值/范围可已经被给出,尽管本发明实施例不限于此。随着制造技术(例如,光刻法)日益演进,所期望的是可制造具有更小大小的设备。附加地,为了简单地展示和讨论,并且为了不混淆本发明实施例的某些方面,到IC芯片和其他组件的公知的电/地连接可以或可以不在附图中展示。进一步地,可以用框图的形式示出安排,以便避免混淆本发明实施例,并且还鉴于以下事实:针对这种框图安排的实现方式的详情高度地取决于将在其中实现实施例的平台,即,这些详情应当在本领域普通技术人员的范围内。当列出特定细节(例如,电路)以便描述本发明的示例实施例时,对于本领域普通技术人员而言应当明显的是本发明实施例可在不具有或具有这些特定细节的变体的情况下实践。因此,本说明书应当被认为是展示性的而不是限制性的。
术语“耦合”可在此用于指代有关组件之间的任何类型的关系(直接的或间接的)并且可应用到电、机械、流体、光、电磁、机电或其他连接。附加地,术语“第一”、“第二”等等可在此仅用于方便讨论并且不带有任何特定的时间或时间顺序的意义,除非另外指明。
本领域普通技术人员将从前述说明中认识到本发明实施例的大量技术可以用不同的形式实现。因此,尽管已经结合其具体示例描述了本发明实施例,本方面实施例的真实范围不应当被如此限制,因为当学习附图、说明书和以下权利要求书时,其他修改将对本领域普通技术人员变得明显。
Claims (25)
1.一种系统,包括:
输入输出(IO)设备;
安全元件,用于
在所述系统的引导过程期间接收第一配对认证值,
接收配对密钥,以及
使用所述第一配对认证值和所述配对密钥在所述安全元件和所述IO设备之间建立受信通道;以及
配对代理,用于
在所述引导过程期间向所述安全元件发送所述第一配对认证值,
响应于与所述IO设备相关联的配对请求生成所述配对密钥,以及
将所述配对密钥发送到所述安全元件和所述IO设备。
2.如权利要求1所述的系统,其中,所述安全元件用于仅当在所述引导过程的预定阶段之前接收到所述第一配对认证值时才接受所述第一配对认证值。
3.如权利要求1所述的系统,其中,所述安全元件用于:
在也包括所述配对密钥的消息中标识第二配对认证值,以及
根据所述第一配对认证值验证所述第二配对认证值以便建立所述受信通道。
4.如权利要求1所述的系统,进一步包括用于发布所述配对请求的操作系统(OS)模块,其中,所述配对代理用于向所述OS模块发送配对通知。
5.如权利要求1所述的系统,进一步包括与在系统管理模式外部运行的代码隔离的隐藏存储器空间,其中,所述配对代理用于:
将所述配对密钥存储到所述隐藏存储器空间,并且其中,所述配对密钥包括所述第一配对认证值和IO设备地址,以及
在所述配对密钥被发送到所述安全元件和所述IO设备之后从所述隐藏存储器空间擦除所述配对密钥。
6.如权利要求1至5中任一项所述的系统,其中,所述配对代理是系统管理中断(SMI)处理程序或认证代码模块(ACM)之一,并且所述IO设备是通用串行总线(USB)设备。
7.一种至少部分地在固定功能硬件中实现的操作配对代理的方法,包括:
在系统的引导过程期间向所述系统的安全元件发送来自所述配对代理的配对授权值;
响应于与耦合到所述系统的输入输出(IO)设备相关联的配对请求生成配对密钥;以及
将所述配对密钥发送到所述安全元件和所述IO设备。
8.如权利要求7所述的方法,其中,所述配对代理是系统管理中断(SMI)处理程序或认证代码模块(ACM)之一。
9.如权利要求7所述的方法,进一步包括从操作系统(OS)模块接收所述配对请求。
10.如权利要求9所述的方法,进一步包括向所述OS模块发送配对通知。
11.如权利要求7所述的方法,进一步包括:
将所述配对密钥存储到与在系统管理模式之外运行的代码隔离的隐藏存储器空间中,其中,在也包括所述配对认证值和IO设备地址的消息中发送所述配对密钥;以及
在所述配对密钥被发送到所述安全元件和所述IO设备之后从所述隐藏存储器空间擦除所述配对密钥。
12.如权利要求7至11中任一项所述的方法,其中,向所述IO设备发送所述配对密钥包括向通用串行总线(USB)设备发送所述配对密钥。
13.一种至少部分地在固定功能硬件中实现的操作安全元件的方法,包括:
在系统的引导过程期间从所述系统的配对代理接收第一配对认证值;
从所述配对代理接收配对密钥;以及
使用所述第一配对认证值和所述配对密钥在所述安全元件和耦合到所述系统的输入输出(IO)设备之间建立受信通道。
14.如权利要求13所述的方法,进一步包括仅当在所述引导过程的预定阶段之前接收到所述第一配对认证值时才接受所述第一配对认证值。
15.如权利要求13所述的方法,其中,使用所述第一配对认证值建立所述受信通道包括:
在也包括所述配对密钥的消息中标识第二配对认证值;以及
根据所述第一配对认证值验证所述第二配对认证值。
16.如权利要求13所述的方法,其中,所述第一配对认证值和所述配对密钥是从系统管理中断(SMI)处理程序或认证代码模块(ACM)之一接收的。
17.如权利要求13所述的方法,进一步包括在也包括所述配对密钥的消息中标识IO设备地址。
18.如权利要求13至17中任一项所述的方法,其中,所述受信通道是在所述安全元件与通用串行总线(USB)设备之间建立的。
19.至少一种包括指令集的计算机可读存储介质,当被系统的安全元件执行时,所述指令集致使所述安全元件执行权利要求13至17中任一项所述的方法。
20.一种操作配对代理的装置,包括:
输入输出(IO)设备接口,包括所述配对代理,用于
在所述引导过程期间向系统的安全元件发送来自所述配对代理的配对授权值,
响应于与耦合到所述系统的IO设备相关联的配对请求生成配对密钥,以及
将所述配对密钥发送到所述安全元件和所述IO设备。
21.如权利要求20所述的装置,其中,所述配对代理是系统管理中断(SMI)处理程序或认证代码模块(ACM)之一。
22.如权利要求20所述的装置,其中,所述配对代理用于从操作系统(OS)模块接收所述配对请求。
23.如权利要求22所述的装置,其中,所述配对代理用于向所述OS模块发送配对通知。
24.如权利要求20所述的装置,其中,所述配对代理用于:
将所述配对密钥存储到与在系统管理模式之外运行的代码隔离的隐藏存储器空间,其中,在也包括所述配对认证值和IO设备地址的消息中发送所述配对密钥;以及
在所述配对密钥被发送到所述安全元件和所述IO设备之后从所述隐藏存储器空间擦除所述配对密钥。
25.至少一种包括指令集的计算机可读存储介质,当被配对代理执行时,所述指令集致使所述配对代理执行权利要求7至11中任一项所述的方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/026,372 US10192054B2 (en) | 2013-09-13 | 2013-09-13 | Automatic pairing of IO devices with hardware secure elements |
| US14/026,372 | 2013-09-13 | ||
| PCT/US2014/054523 WO2015038465A1 (en) | 2013-09-13 | 2014-09-08 | Automatic pairing of io devices with hardware secure elements |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105474228A true CN105474228A (zh) | 2016-04-06 |
| CN105474228B CN105474228B (zh) | 2019-04-30 |
Family
ID=52666188
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480044765.3A Active CN105474228B (zh) | 2013-09-13 | 2014-09-08 | Io设备与硬件安全元件的自动配对 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US10192054B2 (zh) |
| EP (1) | EP3044721B1 (zh) |
| CN (1) | CN105474228B (zh) |
| WO (1) | WO2015038465A1 (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101614643B1 (ko) * | 2012-04-16 | 2016-04-21 | 인텔 코포레이션 | 확장성 보안 실행 |
| WO2019059887A1 (en) * | 2017-09-19 | 2019-03-28 | Hewlett-Packard Development Company, L.P. | CRYPTOGRAPHIC KEY SECURITY |
| CN108614968B (zh) * | 2018-05-04 | 2020-11-24 | 飞天诚信科技股份有限公司 | 一种在通用平台下安全交互的方法及智能终端 |
| FR3135585B1 (fr) * | 2022-05-13 | 2025-10-31 | St Microelectronics Srl | Routeur |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050283826A1 (en) * | 2004-06-22 | 2005-12-22 | Sun Microsystems, Inc. | Systems and methods for performing secure communications between an authorized computing platform and a hardware component |
| US20070061566A1 (en) * | 2005-09-09 | 2007-03-15 | Bailey Daniel V | Tokencode Exchanges for Peripheral Authentication |
| US20080120499A1 (en) * | 2006-11-16 | 2008-05-22 | Zimmer Vincent J | Methods and apparatus for defeating malware |
| US20110296409A1 (en) * | 2010-05-28 | 2011-12-01 | Dell Products, Lp | System and Method for Pre-Boot Authentication of a Secure Client Hosted Virtualization in an Information Handling System |
| CN102422598A (zh) * | 2009-03-13 | 2012-04-18 | 爱莎.艾伯莱有限公司 | 用于管理占地面积小设备的简单网络管理协议的使用 |
| US8201239B2 (en) * | 2008-06-23 | 2012-06-12 | Intel Corporation | Extensible pre-boot authentication |
| WO2013022655A1 (en) * | 2011-08-08 | 2013-02-14 | Intel Corporation | Delivering data from a range of input devices over a secure path to trusted services in a secure element |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6357008B1 (en) * | 1997-09-23 | 2002-03-12 | Symantec Corporation | Dynamic heuristic method for detecting computer viruses using decryption exploration and evaluation phases |
| US6711675B1 (en) * | 2000-02-11 | 2004-03-23 | Intel Corporation | Protected boot flow |
| US7237102B2 (en) | 2002-10-30 | 2007-06-26 | Intel Corporation | Methods and apparatus for configuring hardware resources in a pre-boot environment without requiring a system reset |
| US8468330B1 (en) * | 2003-06-30 | 2013-06-18 | Oracle International Corporation | Methods, systems, and data structures for loading and authenticating a module |
| US7516495B2 (en) * | 2004-09-10 | 2009-04-07 | Microsoft Corporation | Hardware-based software authenticator |
| EP1842203A4 (en) * | 2004-11-12 | 2011-03-23 | Verayo Inc | KEYS OF VOLATILE DEVICES, AND THEIR APPLICATIONS |
| US7770205B2 (en) * | 2005-01-19 | 2010-08-03 | Microsoft Corporation | Binding a device to a computer |
| US7536722B1 (en) * | 2005-03-25 | 2009-05-19 | Sun Microsystems, Inc. | Authentication system for two-factor authentication in enrollment and pin unblock |
| GB0624582D0 (en) * | 2006-12-08 | 2007-01-17 | Visible Computing Ltd | USB autorun devices |
| US7844809B2 (en) * | 2007-09-26 | 2010-11-30 | Intel Corporation | Verifying a trusted SMI handler |
| US9158896B2 (en) * | 2008-02-11 | 2015-10-13 | Nvidia Corporation | Method and system for generating a secure key |
| CN102301629A (zh) * | 2009-02-08 | 2011-12-28 | 茵芬尼特麦默里有限公司 | 鉴别通信会话和加密其数据的电路、系统、设备和方法 |
| US8578161B2 (en) * | 2010-04-01 | 2013-11-05 | Intel Corporation | Protocol for authenticating functionality in a peripheral device |
| US8869308B2 (en) * | 2010-05-20 | 2014-10-21 | High Sec Labs Ltd. | Computer motherboard having peripheral security functions |
| US20120161924A1 (en) * | 2010-12-22 | 2012-06-28 | Rfmarq, Inc. | Automatic Authentication of Electronic Devices |
| WO2012129641A1 (en) * | 2011-03-25 | 2012-10-04 | Certicom Corp. | Interrogating an authentication device |
| US8949813B2 (en) | 2011-07-29 | 2015-02-03 | Dell Products Lp | Systems and methods for facilitating activation of operating systems |
| US8375221B1 (en) * | 2011-07-29 | 2013-02-12 | Microsoft Corporation | Firmware-based trusted platform module for arm processor architectures and trustzone security extensions |
| US9262637B2 (en) * | 2012-03-29 | 2016-02-16 | Cisco Technology, Inc. | System and method for verifying integrity of platform object using locally stored measurement |
| KR101959738B1 (ko) * | 2012-05-24 | 2019-03-19 | 삼성전자 주식회사 | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 |
| US8667607B2 (en) * | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
| US9471811B2 (en) * | 2012-08-31 | 2016-10-18 | Ncr Corporation | Learning a new peripheral using a security provisioning manifest |
| US9064109B2 (en) * | 2012-12-20 | 2015-06-23 | Intel Corporation | Privacy enhanced key management for a web service provider using a converged security engine |
| US9251384B1 (en) * | 2013-03-07 | 2016-02-02 | Amazon Technologies, Inc. | Trusted peripheral device for a host in a shared electronic environment |
-
2013
- 2013-09-13 US US14/026,372 patent/US10192054B2/en active Active
-
2014
- 2014-09-08 CN CN201480044765.3A patent/CN105474228B/zh active Active
- 2014-09-08 WO PCT/US2014/054523 patent/WO2015038465A1/en not_active Ceased
- 2014-09-08 EP EP14843785.8A patent/EP3044721B1/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050283826A1 (en) * | 2004-06-22 | 2005-12-22 | Sun Microsystems, Inc. | Systems and methods for performing secure communications between an authorized computing platform and a hardware component |
| US20070061566A1 (en) * | 2005-09-09 | 2007-03-15 | Bailey Daniel V | Tokencode Exchanges for Peripheral Authentication |
| US20080120499A1 (en) * | 2006-11-16 | 2008-05-22 | Zimmer Vincent J | Methods and apparatus for defeating malware |
| US8201239B2 (en) * | 2008-06-23 | 2012-06-12 | Intel Corporation | Extensible pre-boot authentication |
| CN102422598A (zh) * | 2009-03-13 | 2012-04-18 | 爱莎.艾伯莱有限公司 | 用于管理占地面积小设备的简单网络管理协议的使用 |
| US20110296409A1 (en) * | 2010-05-28 | 2011-12-01 | Dell Products, Lp | System and Method for Pre-Boot Authentication of a Secure Client Hosted Virtualization in an Information Handling System |
| WO2013022655A1 (en) * | 2011-08-08 | 2013-02-14 | Intel Corporation | Delivering data from a range of input devices over a secure path to trusted services in a secure element |
Non-Patent Citations (2)
| Title |
|---|
| IETF: "An HMAC-Based One-Time Password Algorithm", 《WWW.RFCREADER.COM/#RFC4226》 * |
| ISO: "ISO/IEC 11889-1:2009", 《HTTPS://WWW.ISO.ORG/STANDARD/50970.HTML》 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US10192054B2 (en) | 2019-01-29 |
| EP3044721A1 (en) | 2016-07-20 |
| EP3044721B1 (en) | 2019-08-14 |
| WO2015038465A1 (en) | 2015-03-19 |
| CN105474228B (zh) | 2019-04-30 |
| US20150081257A1 (en) | 2015-03-19 |
| EP3044721A4 (en) | 2017-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104160403B (zh) | 使用单个可信平台模块测量平台部件 | |
| KR102403138B1 (ko) | 보안 입력 메커니즘 기반 관리자 모드를 위한 방법 | |
| CN103733206B (zh) | 用于保护从在包含嵌入式控制器的平台中的键盘接收到的击键的方法和装置 | |
| CN108292337A (zh) | 虚拟化环境下安全堡垒区域的可信开启 | |
| US11409877B2 (en) | Firmware verification mechanism | |
| CN105740718B (zh) | 电子系统、电子装置及电子装置的存取认证方法 | |
| US9537738B2 (en) | Reporting platform information using a secure agent | |
| KR20240035463A (ko) | 마이크로컨트롤러의 측정된 재시작 | |
| TWI779711B (zh) | 分散式安全通信系統、資訊處置系統及用於提供分散式安全通信之方法 | |
| US10019577B2 (en) | Hardware hardened advanced threat protection | |
| CN107209840A (zh) | 与所连接的外围设备的安全交易 | |
| US20220253366A1 (en) | Platform measurement collection mechanism | |
| US10599848B1 (en) | Use of security key to enable firmware features | |
| CN105474228A (zh) | Io设备与硬件安全元件的自动配对 | |
| US20240403407A1 (en) | Establishment of signing pipelines and validation of signed software images | |
| US12229270B2 (en) | Mechanism to update attested firmware on a platform | |
| US11675933B2 (en) | Client authorization mechanisms to access native services | |
| US11429289B2 (en) | Memory map protection mechanism | |
| US20220100906A1 (en) | Software library integrity verification mechanism | |
| US20240297871A1 (en) | Systems and methods for cloning bmc profiles in a cluster environment | |
| US20240305632A1 (en) | Systems and methods to provide pre-deployment assessment for device integrity | |
| US12287908B2 (en) | Systems and methods to manage security protocol and data model (SPDM) secure communication sessions | |
| US12462011B2 (en) | Systems and methods for SPDM device and baseboard management controller (BMC) pairing | |
| US20250106638A1 (en) | Extended root of trust validation for remote edge devices |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |