[go: up one dir, main page]

CN105474228A - Io设备与硬件安全元件的自动配对 - Google Patents

Io设备与硬件安全元件的自动配对 Download PDF

Info

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
Application number
CN201480044765.3A
Other languages
English (en)
Other versions
CN105474228B (zh
Inventor
S·岑
K·D·布来诺克
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN105474228A publication Critical patent/CN105474228A/zh
Application granted granted Critical
Publication of CN105474228B publication Critical patent/CN105474228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting 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设备与硬件安全元件的自动配对
背景
技术领域
各实施例总体上涉及计算平台和/或系统中的安全性。更具体地,各实施例涉及输入输出(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中任一项所述的方法。
CN201480044765.3A 2013-09-13 2014-09-08 Io设备与硬件安全元件的自动配对 Active CN105474228B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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