CN111797440A - 安全装置、方法及其系统 - Google Patents

安全装置、方法及其系统 Download PDF

Info

Publication number
CN111797440A
CN111797440A CN202010266082.XA CN202010266082A CN111797440A CN 111797440 A CN111797440 A CN 111797440A CN 202010266082 A CN202010266082 A CN 202010266082A CN 111797440 A CN111797440 A CN 111797440A
Authority
CN
China
Prior art keywords
bus
host
security
data
initiate
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
CN202010266082.XA
Other languages
English (en)
Other versions
CN111797440B (zh
Inventor
日弗·赫诗曼
丹·摩瑞
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.)
Nuvoton Technology Corp
Original Assignee
Nuvoton Technology 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
Priority claimed from US16/377,211 external-priority patent/US10783250B2/en
Application filed by Nuvoton Technology Corp filed Critical Nuvoton Technology Corp
Publication of CN111797440A publication Critical patent/CN111797440A/zh
Application granted granted Critical
Publication of CN111797440B publication Critical patent/CN111797440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Abstract

本发明提供一种安全装置、方法及其系统,该安全装置包括一接口和一处理器。该接口被配置为连接到由一主机和一第二装置耦合到的一汇流排。至少该第二装置以一被控模式在该汇流排上操作,以及该主机作为一汇流排主控在该汇流排上操作,并且至少代表安全装置以在该汇流排上启动数据处置。该处理器,被配置为了该安全装置请求该主机,藉以启动在该汇流排上存取该第二装置的一数据处置,至少在该主机通过该汇流排存取该第二装置以执行该请求的数据处置期间内,监控该汇流排上的一个或多个信号;以及基于该监控的信号,识别在执行该请求的数据处置时是否发生一安全违规。

Description

安全装置、方法及其系统
技术领域
本发明涉及一种电子系统安全的技术领域,特别是一种用于保护周边装置之间数据处置的方法和系统。
背景技术
电子系统使用各种类型的汇流排接口在主机装置和周边装置之间进行通信。汇流排接口的示例包括内部集成电路间I2C(Inter-Integrated-Circuit,I2C)汇流排和序列周边接口(Serial Peripheral Interface,SPI)汇流排。I2C汇流排例如在2014年4月4日于NXP Semiconductors的UM10204,修订版6中的“I2C汇流排规范和用户手册”中进行了说明,在此引入作为参考。
发明内容
相关申请的交叉引用:
本申请是2015年5月17日提交的美国专利申请14/714,298的部分延续(CIP),其请求2014年7月24日提交的美国临时专利申请62/028,345的优先权。该申请通过引用并入本文。本申请涉及在相同(even date)提交的,题为“安全系统启动监控器”(“Secure SystemBoot Monitor”)的美国专利申请,代理人案卷号1041-2004。这些相关申请的公开内容通过引用并入本文。
本文描述的实施例提供了一种包括接口和处理器的安全装置。该接口,被配置为连接到一汇流排,该汇流排由一主机和一第二装置耦接,其中至少该第二装置以一从动模式在该汇流排上操作,并且其中该主机操作在该汇流排上作为一汇流排主控,至少代表该安全装置以启动在该汇流排上的数据处置。
在一个实施例中,该处理器被配置为以从动模式在该汇流排上进行操作。在另一个实施例中,该安全装置还通过与该汇流排不同的另一汇流排耦合到该主机,并且,该处理器被配置为经由该另一汇流排请求该主机启动该数据处置。
在一些实施例中,该请求的数据处置包括以下之一:(i)从第二装置读取数据,(ii)将数据写入该第二装置,以及(iii)在该第二装置的第一和第二地址之间传送数据。在其他实施例中,该请求的数据处置指定了预期的数据处置信息,并且,该处理器被配置为在该汇流排上监控与该请求的数据处置所相对应的实际数据处置信息,并通过检测至少部分该预期数据处置信息与该实际数据处置信息不同来识别该安全违规。该处理器被配置为检测至少一个元件选择自一列表包括一操作码元件,一地址元件和一数据元件,该至少一个元件在该预期数据处置信息和该实际数据处置信息之间不同。
在一个实施例中,该处理器被配置为在该请求的数据处置的期间内或期间外,通过识别该汇流排上已经违反了一预定的安全策略,来识别该安全违规。在另一个实施例中,请求的数据处置包括从该第二装置读取数据,并且该处理器被配置为在该汇流排上监控由该主机从该第二装置读取在该汇流排上的数据。在又一个实施例中,该处理器被配置为在该主机一第一写入操作的执行期间,通过覆盖一个或多个在该汇流排上信号的逻辑值,来请求该主机启动该第一写入操作至该第二装置,并且施加一第二不同的写入操作至该第二装置。
在一些实施例中,该处理器被配置为在该主机一第一读取操作的执行期间,通过覆盖一个或多个在该汇流排上信号的逻辑值,来请求该主机启动该第一读取操作至该第二装置,并且施加一第二不同的读取操作至该第二装置。在其他实施例中,该处理器被配置为请求该主机启动通过该汇流排存取该第二装置的一数据处置,断开连接该主机与该第二装置之间的该汇流排的一信号,以及通过汇流排取代该主机去存取该第二装置。在其他实施例中,响应于识别出该安全违规,该处理器被配置为执行一保护行动,以防止暴露或修改在存取该第二装置时出现在该汇流排上的数据。
在一个实施例中,该安全装置和该第二装置都被执行在共同封装(commonpackage)中,并且通过该共同封装内的该汇流排互连。
根据本文描述的实施例,还提供了一种方法,该方法包括:在安全装置中,该安全装置连接到一主机和一第二装置所耦合到的一汇流排,其中至少第二装置在该汇流排上以从动模式操作,并且其中该主机操作在该汇流排上作为主控,以至少代表安全装置在该汇流排上启动数据处置,。由该安全装置请求主机为该安全装置启动通过该汇流排存取该第二装置的一数据处置;至少在该主机通过该汇流排存取该第二装置以执行该请求的数据处置期间内,监控该汇流排上的一个或多个信号;以及基于该监控的信号,识别在执行该请求的数据处置时是否发生一安全违规。
根据本文描述的实施例,还提供了一种包括主机和安全装置的安全系统。包括:一主机与一汇流排耦合,该主机被配置操作为一汇流排主控,并通过在从动装置和该主机触发的汇流排存取操作之间进行仲裁来存取与该汇流排耦合的从动装置;以及一安全装置偶和到该汇流排的,并配置为:请求主机启动数据处置,用以存取作为从动装置连接到该汇流排的第二装置;至少在该主机通过该汇流排存取该第二装置以执行该请求的数据处置期间内,监控该汇流排上的一个或多个信号;以及基于该监控的信号,识别在执行该请求的数据处置时是否发生一安全违规。
在一个实施例中,该安全装置被配置为以从动模式在该汇流排上进行操作。在另一个实施例中,该安全装置还通过与该汇流排不同的另一汇流排耦合到该主机,并且,该安全装置被配置为经由该另一汇流排请求该主机启动该数据处置。
在一些实施例中,该请求的数据处置指定了预期的数据处置信息,其中,该安全装置被配置为在该汇流排上监控与该请求的数据处置所相对应的实际数据处置信息,以及识别该安全违规,通过检测至少部分该预期数据处置信息与该实际数据处置信息不同。在其他实施例中,该请求的数据处置包括从该第二装置读取数据,以及其中该安全装置被配置为在该汇流排上的监控,由该主机从该第二装置读取在该汇流排上的数据。在其他实施例中,该安全装置被配置为在该主机该第一写入操作的执行期间,通过覆盖一个或多个在该汇流排上信号的逻辑值,来请求该主机启动该第一写入操作至该第二装置,并且施加一第二不同的写入操作至该第二装置。
在一个实施例中,该安全装置被配置为在该主机一第一读取操作的执行期间,通过覆盖一个或多个在该汇流排上信号的逻辑值,来请求该主机启动该第一读取操作至该第二装置,并且施加一第二不同的读取操作至该第二装置。在另一个实施例中,该安全装置被配置为请求该主机启动通过该汇流排存取该第二装置的一数据处置,断开连接该主机与该第二装置之间的该汇流排的一信号,以及通过汇流排取代该主机去存取该第二装置。在又一个实施例中,响应于识别出该安全违规,该安全装置执行一保护行动,以防止暴露或修改在存取该第二装置时出现在该汇流排上的数据。
根据本文描述的实施例,还提供了一种方法,该方法包括在一安全系统包括一主机操作在一汇流排上作为一汇流排主控,从动装置耦合至该主机,由主机在由该从动装置和该主机触发的汇流排存取操作之间进行仲裁;通过与该汇流排耦合的一安全装置,请求该主机启动一数据处置,藉以存取耦合至该汇流排最为从动的一第二装置;至少在该主机通过该汇流排存取该第二装置以执行该请求的数据处置期间内,经由该安全装置监控该汇流排上的一个或多个信号;以及基于该监控的信号,通过该安全装置,识别在执行该请求的数据处置时是否发生一安全违规。
根据本文描述的实施例,还提供了设备,包括:一安全装置提供一安全服务至一主机,其中,该安全装置,该主机和该安全装置外部的一非易失性存储器(NVM)耦合至一共同汇流排;以及一专用装置驱动器在该主机上执行,其中,该装置驱动器被配置为在该安全装置和该非易失性存储器(NVM)装置之间进行调解,并且其中该安全装置被配置为从该主机上执行的一应用程序来接收一安全命令,并通过存取在该汇流排上该非易失性存储器(NVM)装置来执行该安全命令,通过该专用装置驱动器对该应用程序通透。
通过以下结合附图对实施例的详细描述,可以更全面地理解这些和其他实施例。
附图说明
图1是示意性地示出了根据本文描述的实施例的安全系统的框图;
图2是流程图,其示意性地示出了根据本文所述的实施例的,用于基于监控来保护主控-媒介数据处置的方法;
图3和图4是流程图,其示意性地示出了根据本文所述实施例的,用于安全读取和写入操作的方法;
图5是示意性地示出了根据本文描述的实施例的,支持将主控装置从汇流排断开的安全系统的框图;
图6是示意性地示出了根据本文描述的实施例的,通过将主机与汇流排断开连接来对从动装置的安全存取的方法的框图。
符号说明
20 安全系统
24 主控装置(主机)
250 安全系统
28、SLAVE1 从动装置
32、SLAVE2 从动装置
36 序列周边界面汇流排
40 汇流排接口
44 处理器
48 存储器
52 从动接口逻辑
56 接口监控
60 CPU中央处理器
64 应用程序
68 装置驱动器
具体实施方式
在主控从动配置中,作为汇流排主控装置的主机装置通常通过汇流排耦合到多个从动装置。主机作为汇流排主控被允许在该汇流排上启动数据处置,但是从动装置只能通过响应主机来存取汇流排。然而,在一些实际情况中,期望一个从动装置能够启动并执行与另一从动装置的数据处置。
本文描述的实施例提供了用于使用汇流排监控来执行和保护从动装置之间的主控调解的数据处置的系统和方法。监控汇流排的装置可以通过附加的不同汇流排耦合到主机,并通过该附加汇流排向主机请求数据处置。
在一些实施例中,主机执行可能需要存取汇流排的一个或多个应用程序,以及一装置驱动器调解汇流排上的数据处置。主机在装置驱动器和其他尝试存取汇流排的应用程序之间进行仲裁。
在一些实施例中,第一装置(例如,从动可信赖平台模块(Trusted PlatformModule,TPM)或其他安全处理器)需要在第二装置(例如,从动快闪存储器)中执行数据处置。为此,第一装置例如通过使用中断或轮询通知标志技术来请求主机中的装置驱动器在汇流排上启动数据处置以代表其存取第二装置。第一装置监控由主机在汇流排上代表其执行的数据处置,以确保正确执行数据处置,例如,不损害主机。
在一些实施例中,第一装置不仅可以如上所述监控汇流排以用于验证所请求的数据处置,而且可以用于监控汇流排上没有违反安全策略(例如,预定义),例如,通过具有存取权限给主机的攻击者。
第一装置可以在主机至少在执行请求的数据处置中通过汇流排存取第二装置的时间段内,监控汇流排上的一个或多个信号。第一装置基于监控的信号来识别在执行所请求的数据处置中是否发生了安全违规。当检测到安全违规时,第一装置可以执行保护动作,例如,例如在存取第二装置时防止暴露出现在汇流排上的数据的动作。在一个实施例中,可以基于预定义的策略来选择保护动作。
第一装置可以请求主机启动任何合适的数据处置,例如,(i)从第二装置读取数据,(ii)将数据写入第二装置,或者(iii)在第二装置中的不同地址之间传输数据。从第二装置读取或写入第二装置的数据可以被加密和/或被签名。
第一装置可以通过检测在所请求的数据处置中指定的至少一部分预期数据处置信息与在汇流排上被监控的实际数据处置信息不同来识别安全违规。这种不匹配可能发生在至少一个数据处置元件中,例如数据处置的操作码或命令类型元件,地址元件和/或数据元件。在一些实施例中,第一装置可以响应于在所请求的数据处置的时间段之内或之外检测到汇流排上已经违反了预定义的安全策略(例如,已经存取了受保护的地址),来识别安全违规。
在一个实施例中,所请求的数据处置包括从第二装置读取数据,并且第一装置监控汇流排,以通过汇流排监控主机从第二装置读取的数据。在另一个实施例中,第一装置请求主机启动对第二装置的虚拟写入(或虚拟读取)操作。然后,第一装置通过在主机执行虚拟写入(或虚拟读取)操作的过程中覆盖汇流排上一个或多个信号的逻辑值,将不同的写入(或读取)操作应用于第二装置。在其他实施例中,在主机执行请求的数据处置期间,第一装置断开连接在主机和第二装置之间的汇流排的信号,并通过汇流排而不是主机存取第二装置。
在示例配置中,安全系统包括从动安全装置和从动非易失性存储器(NVM)装置。为了向主机提供安全服务,安全装置需要存取位于安全装置外部的非易失性存储器(NVM)装置。主机执行一个专用的装置驱动程序,该驱动程序在安全装置和非易失性存储器(NVM)装置之间进行调解。安全装置从主机上执行的应用程序接收安全命令,并通过汇流排存取非易失性存储器(NVM)装置,通过专用装置驱动程序对应用程序通透地执行安全命令。
在所公开的技术中,主机操作为汇流排主控器,并且通过运行在汇流排上进行调解的装置驱动器来与一个或多个从动装置共享汇流排。监控装置监控汇流排以检测安全违规。监控装置耦合到汇流排以用于监控和控制汇流排上的信号,并且可以请求主机来在汇流排上启动数据处置。替代地,监控装置另外通过不同的汇流排耦合到主机,用于请求主机在汇流排上启动数据处置。通过监控汇流排,监控装置能够监控(snoop)汇流排上的数据处置及/或甚至用对主机隐藏的期望数据处置来覆盖(override)或替换汇流排上的数据处置。
系统描述:
图1是示意性地示出根据本文描述的实施例的安全系统20的框图。在本示例中,安全系统20包括使用汇流排36连接到周边(peripheral)从动装置28和32的主机装置24。在图1中从动装置28和32分别标示为SLAVE1和SLAVE2。在本示例中,汇流排36包括序列周边接口(SPI)汇流排。在其他实施例中,汇流排36可以包括任何其他合适的汇流排,例如,低脚位数汇流排(Low Pin Count bus,LPC)或内部集成电路(Inter-Integrated Circuit,I2C)汇流排。例如,可以使用I2C汇流排连接到电子可擦洗可程序化只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)装置。固态储存装置的其他汇流排接口可以包括,例如,安全数位(SD)接口,多媒体卡(MMC)接口或并联快闪存储器接口(parallel Flash interface)。为了简洁起见,主机装置(host device)也简称为“主机(host)”。
在一些实施例中,图1所示的从动装置28(SLAVE1)是主机在汇流排36上的从动装置,并且另外监控和控制汇流排36的汇流排信号。在替代实施例中,SLAVE1耦合到汇流排36以监控和控制汇流排信号,但是通过另一个汇流排(未显示)(例如I2C汇流排)耦合到主机作为可能的从动装置。
在安全系统20的主控从动配置中,仅允许主机24通过汇流排36启动读取或写入数据处置。另一方面,每个从动装置仅可以响应(response)于主机24的请求来存取汇流排36。在这种主控从动配置中,从动装置28(SLAVE1)和从动装置32(SLAVE2)不能通过汇流排36直接相互通信,而是要求它们的通信由主机来调解(mediated)。对于SLAVE1作为汇流排36上的从动以及对于SLAVE1通过另一条汇流排与主机耦合,需要这种调解(mediation)。
SLAVE1和SLAVE2可以包含任何合适类型的装置。在一种配置中,SLAVE1可以包括有时也称为可信赖平台模块(Trusted Platform Module,TPM)的安全装置,而SLAVE2可以包括非易失性存储器(NVM)。从动装置28和32的其他合适的配置也可以被使用。通常,SLAVE1可以包括任何合适的控制器,例如嵌入式控制器(Embedded Controller,EC)。在示例实施例中,SLAVE2可以包括任何合适类型的非易失性存储器(NVM),例如,只读存储器(Read Only Memory,ROM),一次性可程序(One Time Programmable,OTP)存储器,EEPROM或快闪存储器。替代地,SLAVE2可以包括挥发性存储器,诸如随机存取存储器(Random AccessMemory,RAM)装置。
注意,从动装置之一,包括存储器装置的系统配置不是强制性的。在一些实施例中,SLAVE1和SLAVE2包括可能需要在监控汇流排的同时经由主机彼此数据处置信息的控制器。
在本示例中,SLAVE1包括用于连接至汇流排36的汇流排接口40,配置为执行所公开技术的处理器44,和配置为储存由处理器44实施的一个或多个安全策略的存储器48。处理器44包括从从动接口逻辑(Slave interface logic)52和接口监控逻辑(InterfaceMonitor Logic,IML)56。从动接口逻辑(Slave interface logic)52处理SLAVE1和主机24之间的通信。当主机24代表SLAVE1存取SLAVE2时,接口监控56(IML56)进行监控与控制,并有选择地覆盖(override)汇流排信号。在一些实施例中,经由SLAVE1,接口监控56(IML 56)监控汇流排以验证从主机请求的数据处置的正确执行。在一个实施例中,接口监控56(IML56)另外监控汇流排,以检测可能违反一个或多个与特定请求的数据处置无关并且可以储存在存储器48中的定安全策略(predefined security policies)。
在安全系统20中,SLAVE1通过监控汇流排36上的数据处置并防止未经授权的数据处置,例如使用接口监控56(IML 56),来保护对SLAVE2的存取,主机24或另一具有汇流排主控能力的装置,试图未经授权地存取SLAVE2。在一些实施例中,SLAVE1的接口监控56(IML56)监控汇流排36以拦截由主机实际执行的经由SLAVE1所请求的数据处置,并验证该数据处置被正确执行。响应于检测到汇流排上的违反规定,例如,在主机执行所请求的数据处置期间,接口监控56(IML 56)可以应用适当的保护动作。
在一些实施例中,保护动作用于防止在数据处置期间不期望的泄漏,或可能暴露给汇流排36的秘密信息的暴露。在一些实施例中,保护动作防止汇流排上的数据损坏或防止数据损坏到储存在SLAVE2中的数据,例如未经授权的尝试来修改储存在SLAVE2中的设置或配置信息。
主机24包括中央处理单元(CPU)60,执行一个或多个应用程序64,以及专用装置驱动器68。在一些实施例中,SLAVE1包括安全装置,该安全装置具有专用装置驱动器,向主机24提供实现可信计算和其他安全策略所需的功能。CPU 60在CPU执行的并且可能需要存取汇流排36的各种程序或程序之间进行仲裁,例如应用程序64和专用装置驱动器68。应用程序64可以包括例如提供安全储存服务的安全应用程序,例如,系统资源对储存信息的控制的存取。
专用装置驱动器68协调SLAVE1和SLAVE2之间的通信。例如,装置驱动器68通透地(transparently)对应用程序64提供对SLAVE1的间接存取SLAVE2。当执行内部任务或计算时,SLAVE1可能需要存取SLAVE2,例如,以便从SLAVE2读取数据或向SLAVE2写入数据。SLAVE1可能需要独立于主机24上执行中的应用程序64来存取SLAVE2。或者,SLAVE1需要存取SLAVE2来完成应用程序64发出的命令。
从动装置28(SLAVE1)可用装置驱动器68请求以各种方式存取从动装置32(SLAVE2)。在一个实施例中,SLAVE1内部例如在预定的暂存器中准备请求,并产生中断信号以通知装置驱动器经由汇流排36读取请求。在另一实施例中,装置驱动器68轮询(poll)SLAVE1内的暂存器。以确定是否有待处理的请求。在又一个实施例中,装置驱动器68,例如响应于应用64向从动装置发送命令(例如,安全命令)而有条件地检查SLAVE1中的暂存器值。
当装置驱动器68从SLAVE1接收存取SLAVE2的请求时,CPU在装置驱动器68和其他应用程序(64)之间进行仲裁,并代表SLAVE1通过汇流排36存取SLAVE2。例如,当SLAVE2包含非易失性存储器(NVM)或其他内存时,SLAVE1可以请求装置驱动程序68存取汇流排36以执行数据处置,例如(i)从给定非易失性存储器(NVM)地址读取数据,(ii)向给定非易失性存储器(NVM)地址写入数据,(iii)将数据从一个非易失性存储器(NVM)地址复制到另一非易失性存储器(NVM)地址。
使用汇流排监控的安全方法:
安全系统20可能会受到未经授权的攻击者的破坏,例如篡改主机24。攻击者例如可能检测到SLAVE1从主机请求的数据处置,并使主机向SLAVE2申请与请求的数据处置不同的数据处置。例如,用于公开秘密信息或进行未经授权的数据修改,例如,对储存在SLAVE2中的信息。通过监控汇流排36,SLAVE1可以检测到汇流排上的违规事件并采取相应的保护措施。
在下面的实施例的描述中,假设主机24通过SLAVE2执行的数据处置作为逻辑值序列出现在汇流排上。对应于给定数据处置的序列通常包括地址部分和数据部分,即(地址,数据)。逻辑值序列还可以包括标识(identifies)数据处置处理类型的操作码(opcode),在这种情况下,该序列可以在汇流排上显示为(操作码,地址,数据)。在该示例中,当SLAVE1截取操作码部分时,它可以修改(例如,覆盖其逻辑值)地址部分,数据部分或两者。数据处置的操作码,地址和数据部分在本文中也统称为“数据处置信息”(transactioninformation)。
图2是示意性地示出根据本文描述的实施例的用于基于汇流排监控来保护主控调解数据处置的方法的流程图。该方法可以例如由图1的从动装置28的处理器44执行。在描述该方法时,作为非限制性示例,从动装置28(SLAVE1)包括安全装置,和从动装置32(SLAVE2)包括快闪存储器,例如SPI快闪存储器,-当汇流排36包括SPI汇流排时。
该方法开始于SLAVE1的处理器44在重置保持步骤100从快闪存储器启动。在一个实施例中,处理器44包括合适的接口和电路(未示出),以在存取快闪存储器时维持主机24处于重置状态,通常是系统启动过程的一部分。在一个实施例中,为了加载启动程序,处理器44从快闪存储器加载数据区块,验证数据区块的真实性(authenticity),并将已认证的数据区块局部性地(locally)储存在存储器48中。上述启动机制将主机保持在重置不是强制性的。在替代实施例中,也可以使用其他合适的启动方法。
在数据处置请求步骤104,处理器44请求主机24的装置驱动器68启动数据处置,该数据处置包括通过汇流排36存取快闪存储器。所请求的数据处置可以包括例如(i)从给定的快闪存储器地址读取数据,(ii)将数据写入给定的Flash地址,或(iii)将数据从一个Flash地址复制到另一个不同的Flash地址。
在监控步骤108,处理器44使用接口监控56(IML 56)监控汇流排36,以在汇流排上拦截所请求的数据处置,以验证数据处置是否按预期执行。例如,在写入数据处置的情况下-验证数据处置中指定的数据确实已写入数据处置中指定的地址。IML监控一个或多个汇流排信号,例如芯片选择(Chip-Select,CS)信号,时脉信号和承载数据和地址信息的汇流排信号。当汇流排36包括SPI汇流排时,接口监控(IML)56可以通过SPI汇流排的主控输出从动输入(Master-Out Slave-In,MOSI)信号,主控输入从动输出(Master-In Slave-Out,MISO)信号或两者来监控数据和地址信息。
在步骤108,处理器44可以例如基于所请求的数据处置中的信息或处理器已知的其他信息,以各种方式在汇流排上拦截所请求的数据处置。注意,在请求数据处置的时间与装置驱动器实际执行所请求的数据处置的时间之间,主机可以在汇流排上启动由应用程序64启动的其他数据处置,数据处置处理器44通常忽略该其他数据处置。在示例实施例中,在读取,写入或复制数据处置的情况下,处理器44拦截在所请求的数据处置中特定的地址信息。在写数据处置的情况下,处理器可以拦截要写入的数据(或该数据的一部分)。
进一步在步骤108,响应于在汇流排上拦截所请求的数据处置(或数据处置的一部分),处理器(使用IML)监控汇流排以验证所请求的数据处置是否按预期执行。例如,处理器验证主机是否通过汇流排36以请求的数据处置中指定的地址或地址范围存取快闪存储器。在写入和复制数据处置中,处理器可以验证要写入或复制的数据是否与请求的写入或复制数据处置中指定的数据匹配。处理器可以另外验证在执行所请求的数据处置(或者也可能是其他数据处置)时,不违反存储器48中指定的安全策略。另外,处理器44可以验证没有违反独立于任何特定数据处置请求而指定的安全策略。
在违规检查步骤112,处理器检查是否在汇流排36上检测到违规。如上所述,可能由于(i)违反了储存在存储器48中的预定策略(例如,存取受保护的地址或地址范围)而引起违规,或(ii)事件的发生,其中在汇流排上截获的数据处置信息的至少一部分与步骤104的请求数据处置中的相应数据处置信息不同。
当在步骤112未检测到违规时,处理器44进行到数据处置完成步骤116,以完成数据处置,并循环回到步骤104以请求主机的后续数据处置。处理器可以通过监控汇流排直到主机完成执行所请求的数据处置来完成数据处置。替代地或附加地,处理器通过主机的装置驱动器完成数据处置。例如,处理器从动装置接收装置驱动器已从快闪存储器读取的数据,完成通知或两者。
响应于在步骤112处检测到违规,处理器44进行到保护步骤120,在该步骤中,处理器施加适当的保护动作以防止秘密信息的泄漏或暴露。示例性保护动作将在下面描述。在步骤120之后,处理器可以循环回到步骤104,以请求主机通过汇流排36启动与快闪存储器的后续数据处置。
在步骤120,处理器44可以施加各种保护动作。在一些实施例中,保护动作包括重置安全系统20的一个或多个元件,例如重置主机24。替代地或附加地,处理器例如通过修改汇流排上的一个或多个信号的逻辑值来破坏汇流排36,或断开主机与汇流排的连接。
修改汇流排信号的方法例如在美国专利申请公开2018/0239727中有所描述,该专利的公开内容通过引用并入本文。例如,在一些实施例中,SLAVE1的汇流排接口40与主机24并行地驱动汇流排36的一个或多个汇流排信号。SLAVE1可以通过应用覆盖(override)主机并行驱动的逻辑值来破坏汇流排。例如,通过使用比主机的相应线路驱动器更强的线路驱动器,或通过在由主机驱动的汇流排信号上串联添加一个电阻器以衰减主机驱动的信号,来实现汇流排信号的逻辑值的覆盖(Overriding)。在另一个实施例中,主机信号通过SLAVE1路由到SLAVE2,SLAVE1根据需要屏蔽汇流排信号的逻辑值。下面将进一步描述用于将主机与汇流排断开连接的方法。
使用汇流排监控与存储器装置保护数据处置的示例方法。
下面的示例实施例指的是其中SLAVE2包括存储器装置,例如快闪存储器的系统配置。
图3和图4是示意性地示出了根据本文描述的实施例的用于安全的读取和写入操作的方法的流程图。图3和图4的方法例如由SLAVE1的处理器44执行。下述的图3和图4可以与上述的图2的方法结合。
图3的方法在读取数据处置请求步骤150处开始,其中处理器44请求主机的装置驱动器68启动读取数据处置,该读取数据处置从快闪存储器(SLAVE2)中的给定地址读取数据。如上所述,在监控步骤154,处理器监控汇流排36(使用接口监控56(IML 56))以识别正在由装置驱动器执行的请求的读取数据处置。
在一些实施例中,所读取的数据处置在汇流排信号上以表示用于读取的起始地址的逻辑值序列出现,随后是表示在读取一个或多个位置时,从快闪存储器中取回的一个或多个数据单元(例如,位单元)的逻辑值。在示例实施例中,处理器通过检测在所请求的读取数据处置中指定的起始地址来识别汇流排上的所请求的读取数据处置。
响应于识别汇流排上的读取数据处置,处理器在监控步骤158处继续监控汇流排,以捕获汇流排上代表主机并行读取的数据的逻辑值。处理器捕获所请求的读取数据处置中指定的一个或多个数据单元(例如,位组)。
在一些实施例中,使用密码签名对从快闪存储器中取回到的数据进行签名,在这种情况下,处理器可以使用签名来验证读取数据的完整性(integrity)。在一些实施例中,从快闪存储器中取回的数据被加密,在这种情况下,处理器可以解密读取的数据。在一些实施例中,除了在汇流排上捕获的数据之外,处理器还通过装置驱动器接收读取的数据的版本。在这些实施例中,处理器可以通过在直接在汇流排上捕获的数据与通过装置驱动器间接读取的数据之间进行比较,来验证主机未被篡改。在步骤158之后,图3的方法结束。
在图3的方法中,SLAVE1在由主机施加到快闪存储器的读数据处置期间监管汇流排信号。可以以类似的方式使用图3的方法,以在主机施加到快闪存储器的写入数据处置期间监听汇流排信号。在一些实施例中,通过监听汇流排,SLAVE1验证所请求的数据处置是否按预期执行。
在图3的方法中,处理器44执行期望的写入操作,该期望的写入操作将期望的数据写到快闪存储器中的期望的地址,而不向主机暴露所写的地址,数据或两者。
图4的方法在虚拟(dummy)写入数据处置请求步骤200开始,处理器44请求装置驱动器68通过汇流排36向快闪存储器(SLAVE2)启动虚拟(dummy)写入数据处置。虚拟(dummy)写入数据处置指定快闪存储器中的地址。快闪存储器,可以是预定义的虚拟地址或用于写入的实际地址。虚拟(dummy)写入数据处置可能指定一个操作码,并将虚拟(dummy)数据写入到指定的地址。虚拟写入数据处置可能在汇流排上显示为“操作码,虚拟地址,虚拟数据”。在该示例中,伪地址随时间流逝,虚拟(dummy)数据随时间跟随虚拟(dummy)数据。
在监控步骤204,处理器监控汇流排36(使用接口监控56(IML 56))以识别由装置驱动器执行的所请求的虚拟(dummy)写入数据处置。处理器可以例如通过在汇流排上检测在所请求的数据处置中指定的操作码和/或虚拟(dummy)地址来识别汇流排上的虚拟(dummy)写入数据处置。
在覆盖(overriding)步骤208,处理器在虚拟写入数据处置期间覆盖(overriding)汇流排上的逻辑值,其中逻辑值表示期望的写入操作。为此,处理器44用期望的写入操作的相应值来覆盖虚拟(dummy)写入数据处置的数据,地址和操作码部分中的一个或多个。结果,期望的数据被写入快闪存储器中的期望的地址。请注意,主机通常不知道此汇流排覆盖(overriding)操作,并且所需写入数据处置的数据,地址和操作码值保持不变。
在一些实施例中,当如上所述覆盖汇流排信号时,处理器44另外监控由汇流排接口驱动的汇流排信号。通过监控汇流排信号,处理器44可以按预期验证将预期数据写入了预期地址。
在图4的方法中,SLAVE1用期望的不同数据的写入数据处置和可能在快闪存储器中的地址来覆盖虚拟(dummy)写入数据处置。可以以类似的方式使用图4的方法,以用期望的读取数据处置覆盖虚拟(dummy)写入读取数据处置,例如,从快闪存储器中的期望地址进行读取。
通过断开主机与汇流排的连接来安全存取从动装置的方法
图5是示意性地示出根据本文描述的实施例的支持将主控装置从汇流排断开的安全系统250的区块图。安全系统250可以用于实现图1的安全系统20。
在安全系统250中,主机24包括汇流排主控,该汇流排主控通过SPI汇流排254连接到从动装置28(图5中另标示为SLAVE1)和从动装置32(图5中另标示为SLAVE2)。SPI汇流排包括时脉(CLK)线和两条数据线,称为主控输出从动输入(Master-Out Slave-In,MOSI)和主控输入主控输出Master-In Slave-Out,MISO)。CLK,MOSI和MISO线是所有装置(在本示例中,主机24以及从动装置28和32)公用的。此外,每个从动装置都可以使用专用的芯片选择(Chip-Select,CS)线进行选择。在本示例中,主机24使用表示为CS#1的CS线选择SLAVE1,并且使用表示为CS#2的CS线选择SLAVE2。
作为主机的主机24连接到所有CS线路。另一方面,每个从动装置仅连接到其自己的CS线。通常,主机24通过使用相应的CS线选择期望的从动装置来启动数据处置,然后使用CLK,MOSI和MISO线与该装置通信。MOSI线用于从主机到从动装置的传输,而MISO线用于从从动装置到主机的传输。
与传统的SPI从动装置不同,SLAVE1被定义为从动装置,但仍然能够驱动其他装置的CS线,例如SLAVE2的CS#2线。如图5中可见,SLAVE1的汇流排接口40被配置为并行地驱动CS#2线到主机24。当系统包括具有各自的CS线的多个从动装置(例如,SLAVE2)时,SLAVE1可以被配置为驱动与主机装置24并行的任何CS线。
在图5中,MOSI和MISO线直接连接到SLAVE1。另一方面,MOSI和MISO线通过SLAVE1间接连接到SLAVE2。在这种配置中,SLAVE1控制主机的MOSI和MISO线是连接到SLAVE2还是从SLAVE2断开。SLAVE1包括MISO选择器260和MOSI选择器262。MISO和MOSI选择器中的每一个包括两个输入端口和单个输出端口。在任何给定时间,处理器44使用SEL控制输入控制选择器,以在其输出端口和其输入端口之一之间内部连接。可以使用任何合适的电路元件,例如使用多工器(multiplexer)元件,来实现MISO和MOSI选择器。
当主机24从SLAVE2读取数据时,SLAVE1可以控制MISO选择器在主机和SLAVE2之间连接MISO线,在这种情况下,SLAVE1可以并行读取汇流排上的数据。或者,SLAVE1断开主机MISO线与SLAVE2的连接,以防止读取的数据暴露给主机。SLAVE1的处理器44可能向主机MISO线注入其他数据,而不是从SLAVE2取回的数据。
当主机24将数据写入SLAVE2时,SLAVE1可以控制MOSI选择器将主机MOSI线连接到SLAVE2,从而允许主机将数据写入从动装置。替代地,SLAVE1使用MOSI选择器断开主机MOSI线与SLAVE2的连接,并且处理器44可以向SLAVE2注入其他地址和/或数据,从而执行不同的写入数据处置。
在一些实施例中,当MISO选择器将主机MISO线连接到SLAVE2时,SLAVE1可以拦截主机读取数据处置并覆盖读取数据处置的数据/地址。类似地,当MOSI选择器将主机MOSI线路连接到SLAVE2时,SLAVE1可以拦截主机写入数据处置,并覆盖写入数据处置的数据/地址。
图6是流程图,其示意性地示出了根据本文描述的实施例的通过从汇流排断开主机来安全存取从动装置的方法。该方法可以由图5的安全系统250中的从动装置28(SLAVE1)的处理器44执行。在本示例中,SLAVE1包括安全装置,SLAVE2包括快闪存储器,并且汇流排254包括SPI汇流排。图6的方法可以与以上图2的方法结合。
该方法在数据处置请求步骤300处开始,处理器44请求主机24的装置驱动器68启动对快闪存储器的虚拟(dummy)写入数据处置或虚拟(dummy)读取数据处置。虚拟(dummy)读取或写入数据处置指定操作码(可选),快闪存储器中的实际或虚拟地址,并且在进行写入数据处置时可能指定实际或虚拟(dummy)数据。
在监控步骤304,处理器44监控汇流排36(例如,使用接口监控56(IML 56))以识别由装置驱动器执行的所请求的虚拟(dummy)写入或虚拟(dummy)读取数据处置。处理器可以例如通过检测在所请求的数据处置中指定的快闪存储器地址和/或操作码来识别汇流排上的虚拟(dummy)写入或虚拟(dummy)读取数据处置。
在断开步骤308,响应于标识请求的数据处置(例如,基于数据处置的操作码),处理器将主机与SPI汇流排断开。在写入数据处置的情况下,处理器使用MOSI选择器262将主机与SLAVE2断开连接,而在读取数据处置的情况下,处理器使用MISO选择器260将主机断开。或者,处理器可以使用MISO选择器260断开MISO和MOSI线。同时选择两个选择器。在一些实施例中,处理器独立于在汇流排上标识所请求的数据处置而将主机与汇流排断开连接。
基于在步骤304检测到的数据处置是写入或读取数据处置,处理器分别进行到写入步骤312或读取步骤316。
在步骤312,处理器通过SPI汇流排写入快闪存储器,将预期数据写入预期地址,而不管主机经由MOSI线传送的任何数据和地址如何。在这种技术中,处理器用对主机隐藏的所需写入数据处置覆盖虚拟写入数据处置。在一些实施例中,除了(例如,并行地)写入快闪存储器之外,处理器还可以监控由主机驱动的MOSI线以检测可能的违规。在一些实施例中,除了(例如,并行地)写入快闪存储器之外,处理器还可以监控由处理器驱动的MOSI线以检测可能的违规。
在步骤316,处理器通过SPI汇流排从快闪存储器的预期地址读取数据。由于主机MISO线已从快闪存储器断开连接,因此主机对处理器读取的实际数据保持隐藏状态。在一些实施例中,除了(例如,与之并行地)从快闪存储器读取之外,处理器还向主机发送诸如虚拟(dummy)数据之类的其他数据。
在步骤312和316中的每一个之后,该方法结束。
图1中所示的安全系统20和主机装置24,从动装置28和从动装置32以及图5中的安全系统250的配置是示例配置,仅出于概念清楚的目的而示出。可替代地,也可以使用任何其他合适的安全系统,主机装置和从动装置配置。为了清楚起见,从图中省略了对于理解本发明的原理不是必需的元件,诸如各种接口,控制电路,寻址电路,定时和排序电路以及调试电路(debugging circuits)。
在图1和图2所示的示例系统配置中,参照第图1和图5,CPU 60,从动装置28和从动装置32被实现为单独的集成电路(IC)。然而,在替代实施例中,CPU,从动装置28和从动装置32中的至少两个可以集成在单个多芯片封装(Multi-Chip Package,MCP)或系统芯片(System on Chip,SoC)中的单独的半导体晶粒(die)上,并且通过内部汇流排可以互连。在示例实施例中,从动装置28(例如,控制器)和从动装置32(例如,快闪存储器)在多芯片模块(Multi-Chip Module,MCM)中实现。在从动装置28和从动装置32在同一封装内(例如,在MCM或MCP装置中)实现的实施例中,两个装置在公共封装内共享相同的SPI接口线(例如,MISO,MOSI和CLK)。这样的实施例提供了改进的安全性,因为在试图违反预期功能的情况下攻击或操纵两个从动装置之间的信号需要攻击者打开复合装置。
可以使用任何合适的硬件来实现从动装置28的不同元件,例如在专用集成电路(ASIC)或场域可程序化逻辑门阵列(Field Programmable Gate Array,FPGA)中。在一些实施例中,可以使用软件或使用硬件和软件元件的组合来实现从动装置28的一些元件(elements)。例如,在本实施例中,从从动接口逻辑52和接口监控56(IML 56)可以被实现为专用硬件模块。存储器48可以包括任何合适类型的存储器和储存技术,例如RAM。
通常,主机24中的CPU 60和从动装置28中的处理器44中的每一个都包括通用处理器,该通用处理器以软件编程以执行本文描述的功能。该软件可以例如通过网络以电子形式下载到相关处理器,或者可以替代地或附加地将其提供和/或储存在非暂时性有形介质上,例如磁性,光学或电子存储器。
包含密码共同处理器的安全系统。
考虑安全系统的示例配置,例如图1的系统20,其中主机24通过汇流排36作为汇流排主控连接到从动装置28(图1另标示SLAVE1),从动装置28用作主机24的密码共同处理器(cryptographic co-processor),以及连接到从动装置32(图1另标示SLAVE2),该从动装置32包括在主机和密码共同处理器(cryptographic co-processor)两者外部的非易失性存储器(NVM)装置。密码共同处理器在本文中也称为安全装置。
主机执行安全应用程序64,该安全应用程序借助安全装置提供安全服务。安全应用程序将安全命令发送到安全装置,并从安全装置接收相应的命令响应。在为安全应用程序提供服务时,有时需要安全装置存取NVM装置。
主机执行专用装置驱动器68,该装置驱动器对安全应用程序通透地(transparently)在安全装置和外部NVM装置之间进行调解。装置驱动器使安全装置可以通过装置驱动器间接存取外部NVM。从主机接收到安全命令后,安全装置将执行安全命令,该命令可能要求通过专用装置驱动器通过汇流排存取NVM装置,从而对应用程序通透(transparently)。
在一些实施例中,例如,在执行安全应用程序所请求的安全命令时,安全装置请求主机为该安全装置启动通过汇流排存取外部NVM的数据处置。在主机在执行请求的数据处置时通过汇流排存取NVM装置的期间内,安全装置监控汇流排上的一个或多个信号,并根据监控的信号识别执行请求的过程中是否发生了安全违规行为数据处置。
如本段中所述,配置有密码共同处理器的安全系统可以使用汇流排监控技术将上述实施例中的任何一个应用于安全系统20和250。
上面描述的实施例是作为示例给出的,并且也可以使用其他合适的实施例。例如,尽管上述实施例主要涉及SPI汇流排,但是这些实施例类似地适用于I2C汇流排。进一步可选地,所公开的实施例不限于串行汇流排,而是类似地适用于并行汇流排。在某些实施例中,SLAVE1通过与其他从动装置(例如SLAVE2)不同的汇流排连接到主机(可能但不一定作为从动装置)。在这样的实施例中,SLAVE1还连接到汇流排,在该汇流排上主机连接到诸如SAVE2的其他从动装置,以允许汇流排监控和保护,例如,使用上述方法和系统。
在上述一些实施例中,SLAVE1通过识别汇流排上的操作码,地址或数据元件来检测数据处置。或者,仅检测这种元件的一部分可能就足够了。例如,SLAVE1可以通过仅检测地址元件的一部分(例如指定地址范围的最高有效部分)来检测数据处置。
尽管本文描述的实施例主要是指其中SPI汇流排以单模式运行的实施例,但是所公开的实施例类似地适用于以双模式或四模式运行的SPI汇流排。
尽管本文描述的实施例主要针对用于在装置之间进行连接的SPI和I2C汇流排,但是本文描述的方法和系统也可以与其他合适类型的外围汇流排一起使用,例如增强型序列周边接口汇流排(Enhanced Serial Peripheral Interface,eSPI)。
尽管在上述实施例中,SLAVE2主要被称为快闪存储器或NVM装置,但本文所述的方法和系统也可以用于其他应用中,其中SLAVE2可以是任何其他合适的周边装置,例如挥发性存储器或其他系统中的装置。例如,SLAVE2可以包括任何合适的控制器或监控装置。
应当理解,上述实施例是作为示例引用的,并且所附权利要求不限于上文已经具体示出和描述的内容。而是,范围包括上文描述的各种特征的组合和子组合,以及本领域技术人员在阅读前述描述后将想到的并且其在现有技术中未公开的其变型和修改。通过引用并入本专利申请的文件应被认为是本申请的组成部分,除了在这些并入文件中以与本说明书中明确或隐含的定义相抵触的方式定义任何术语的范围外,应该考虑本说明书中的定义。

Claims (45)

1.一种安全装置,其特征在于,包含:
一接口,被配置为连接到一汇流排,所述汇流排耦接一主机和一第二装置,其中至少所述第二装置以一从动模式在所述汇流排上操作,并且其中所述主机操作在所述汇流排上作为一汇流排主控,藉以至少代表所述安全装置以启动在所述汇流排上的数据处置;以及
一处理器,被配置为:
请求所述主机为了所述安全装置启动在所述汇流排上存取所述第二装置的一数据处置;
至少在所述主机通过所述汇流排存取所述第二装置以执行所述请求的数据处置期间内,监控所述汇流排上的一个或多个信号;以及
基于所述监控的信号,识别在执行所述请求的数据处置时是否发生一安全违规。
2.如权利要求1所述的安全装置,其特征在于,所述处理器被配置为以从动模式在所述汇流排上进行操作。
3.如权利要求1所述的安全装置,其特征在于,所述安全装置还通过与所述汇流排不同的另一汇流排耦合到所述主机,并且其中所述处理器被配置为经由所述另一汇流排请求所述主机启动所述数据处置。
4.如权利要求1所述的安全装置,其特征在于,所述请求的数据处置包括以下之一:(i)从所述第二装置读取数据,(ii)将数据写入所述第二装置,以及(iii)在所述第二装置的第一和第二地址之间传送数据。
5.如权利要求1所述的安全装置,其特征在于,所述请求的数据处置指定了预期的数据处置信息,并且其中所述处理器被配置为在所述汇流排上监控与所述请求的数据处置所相对应的实际数据处置信息,并通过检测至少部分所述预期数据处置信息与所述实际数据处置信息不同来识别所述安全违规。
6.如权利要求5所述的安全装置,其特征在于,所述处理器被配置为检测至少一个元件选择自一列表包括一操作码元件,一地址元件和一数据元件,所述至少一个元件在所述预期数据处置信息和所述实际数据处置信息之间不同。
7.如权利要求1所述的安全装置,其特征在于,所述处理器被配置为在所述请求的数据处置的期间内或期间外,通过识别所述汇流排上已经违反了一预定的安全策略,来识别所述安全违规。
8.如权利要求1所述的安全装置,其特征在于,所述请求的数据处置包括从所述第二装置读取数据,并且其中所述处理器被配置为在所述汇流排上监控由所述主机从所述第二装置读取在所述汇流排上的数据。
9.如权利要求1所述的安全装置,其特征在于,所述处理器被配置为在所述主机一第一写入操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一写入操作至所述第二装置,并且施加一第二不同的写入操作至所述第二装置。
10.如权利要求1所述的安全装置,其特征在于,所述处理器被配置为在所述主机一第一读取操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一读取操作至所述第二装置,并且施加一第二不同的读取操作至所述第二装置。
11.如权利要求1所述的安全装置,其特征在于,所述处理器被配置为请求所述主机启动通过所述汇流排存取所述第二装置的一数据处置,断开连接所述主机与所述第二装置之间的所述汇流排的一信号,以及通过所述汇流排取代所述主机去存取所述第二装置。
12.如权利要求1所述的安全装置,其特征在于,响应于识别出所述安全违规,所述处理器被配置为执行一保护行动,以防止暴露或修改在存取所述第二装置时出现在所述汇流排上的数据。
13.如权利要求1所述的安全装置,其特征在于,所述安全装置和所述第二装置都被执行在共同封装中,并且通过所述共同封装内的所述汇流排互连。
14.一种安全方法,其特征在于,包括:
在一安全装置中,所述安全装置连接到一主机和一第二装置所耦合到的一汇流排,其中至少所述第二装置在所述汇流排上以从动模式操作,并且其中所述主机操作在所述汇流排上作为主控,以至少代表所述安全装置在所述汇流排上启动数据处置;
由所述安全装置请求所述主机为了所述安全装置启动通过所述汇流排存取所述第二装置的一数据处置;
至少在所述主机通过所述汇流排存取所述第二装置以执行所述请求的数据处置期间内,监控所述汇流排上的一个或多个信号;以及
基于所述监控的信号,识别在执行所述请求的数据处置时是否发生一安全违规。
15.如权利要求14所述的安全方法,其特征在于,所述安全装置以从动模式在所述汇流排上进行操作。
16.如权利要求14所述的安全方法,其特征在于,所述安全装置还通过与所述汇流排不同的另一汇流排耦合到所述主机,并且其中所述安全装置被配置为经由所述另一汇流排请求所述主机启动所述数据处置。
17.如权利要求14所述的安全方法,其特征在于,所述请求的数据处置包括以下之一:(i)从所述第二装置读取数据,(ii)将数据写入所述第二装置,以及(iii)在所述第二装置的第一和第二地址之间传送数据。
18.如权利要求14所述的安全方法,其特征在于,所述请求的数据处置指定了预期的数据处置信息,其中,监控所述信号包括在所述汇流排上监控与所述请求的数据处置所相对应的实际数据处置信息,以及识别所述安全违规包括检测至少部分所述预期数据处置信息与所述实际数据处置信息不同。
19.如权利要求18所述的安全方法,其特征在于,识别所述安全违规包括检测从一列表中选择至少一个元件包括一操作码元件,一地址元件和一数据元件,所述至少一个元件在所述预期数据处置信息和所述实际数据处置信息之间不同。
20.如权利要求14所述的方法,其特征在于,识别所述安全违规包括:在所述请求的数据处置的期间内或期间外,检测所述汇流排上已经违反了一预定的安全策略。
21.如权利要求14所述的安全方法,其特征在于,所述请求的数据处置包括从所述第二装置读取数据,以及包括所述汇流排上的监控,由所述主机从所述第二装置读取在所述汇流排上的数据。
22.如权利要求14所述的安全方法,其特征在于,还包括在所述主机第一写入操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一写入操作至所述第二装置,并且施加一第二不同的写入操作至所述第二装置。
23.如权利要求14所述的安全方法,其特征在于,还包括在所述主机一第一读取操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一读取操作至所述第二装置,并且施加一第二不同的读取操作至所述第二装置。
24.如权利要求14所述的安全方法,其特征在于,还包括请求所述主机启动通过所述汇流排存取所述第二装置的一数据处置,断开连接所述主机与所述第二装置之间的所述汇流排的一信号,以及通过所述汇流排取代所述主机去存取所述第二装置。
25.如权利要求14所述的方法,其特征在于,响应于识别出所述安全违规,执行一保护行动,以防止暴露或修改在存取所述第二装置时出现在所述汇流排上的数据。
26.如权利要求14所述的方法,其特征在于,所述安全装置和所述第二装置都被执行在共同封装中,并且通过所述共同封装内的所述汇流排互连。
27.一种安全系统,其特征在于,包括:
一主机与一汇流排耦合,所述主机被配置操作为一汇流排主控,并通过在从动装置和所述主机触发的汇流排存取操作之间进行仲裁来存取与所述汇流排耦合的从动装置;以及
一安全装置耦合到所述汇流排的,并配置为:
请求所述主机启动数据处置,用以存取作为从动装置连接到所述汇流排的一第二装置;
至少在所述主机通过所述汇流排存取所述第二装置以执行所述请求的数据处置期间内,监控所述汇流排上的一个或多个信号;以及
基于所述监控的信号,识别在执行所述请求的数据处置时是否发生一安全违规。
28.如权利要求27所述的安全系统,其特征在于,所述安全装置被配置为以从动模式在所述汇流排上进行操作。
29.如权利要求27所述的安全系统,其特征在于,所述安全装置还通过与所述汇流排不同的另一汇流排耦合到所述主机,并且其中所述安全装置被配置为经由所述另一汇流排请求所述主机启动所述数据处置。
30.如权利要求27所述的安全系统,其特征在于,所述请求的数据处置指定了预期的数据处置信息,其中,所述安全装置被配置为在所述汇流排上监控与所述请求的数据处置所相对应的实际数据处置信息,以及识别所述安全违规,通过检测至少部分所述预期数据处置信息与所述实际数据处置信息不同。
31.如权利要求27所述的安全系统,其特征在于,所述请求的数据处置包括从所述第二装置读取数据,以及其中所述安全装置被配置为在所述汇流排上的监控,由所述主机从所述第二装置读取在所述汇流排上的数据。
32.如权利要求27所述的安全系统,其特征在于,所述安全装置被配置为在所述主机第一写入操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一写入操作至所述第二装置,并且施加一第二不同的写入操作至所述第二装置。
33.如权利要求27所述的安全系统,其特征在于,所述安全装置被配置为在所述主机一第一读取操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一读取操作至所述第二装置,并且施加一第二不同的读取操作至所述第二装置。
34.如权利要求27所述的一种安全系统,其特征在于,所述安全装置被配置为请求所述主机启动通过所述汇流排存取所述第二装置的一数据处置,断开连接所述主机与所述第二装置之间的所述汇流排的一信号,以及通过所述汇流排取代所述主机去存取所述第二装置。
35.如权利要求27所述的一种安全系统,其特征在于,响应于识别出所述安全违规,所述安全装置执行一保护行动,以防止暴露或修改在存取所述第二装置时出现在所述汇流排上的数据。
36.一种安全方法,其特征在于,包括:
在一安全系统包括一主机操作在一汇流排上作为一汇流排主控,从动装置耦合至所述主机,由所述主机在由所述从动装置和所述主机触发的汇流排存取操作之间进行仲裁;
通过与所述汇流排耦合的一安全装置,请求所述主机启动一数据处置,藉以存取耦合至所述汇流排最为从动的一第二装置;
至少在所述主机通过所述汇流排存取所述第二装置以执行所述请求的数据处置期间内,经由所述安全装置监控所述汇流排上的一个或多个信号;以及
基于所述监控的信号,通过所述安全装置,识别在执行所述请求的数据处置时是否发生一安全违规。
37.如权利要求36所述的安全方法,其特征在于,所述安全装置以从动模式在所述汇流排上进行操作。
38.如权利要求36所述的安全方法,其特征在于,所述安全装置还通过与所述汇流排不同的另一汇流排耦合到所述主机,并且其中所述安全装置被配置为经由所述另一汇流排请求所述主机启动所述数据处置。
39.如权利要求36所述的安全方法,其特征在于,所述请求的数据处置指定了预期的数据处置信息,其中,监控所述信号包括在所述汇流排上监控与所述请求的数据处置所相对应的实际数据处置信息,以及识别所述安全违规包括检测至少部分所述预期数据处置信息与所述实际数据处置信息不同。
40.如权利要求36所述的安全方法,其特征在于,所述请求的数据处置包括从所述第二装置读取数据,以及包括所述汇流排上的监控,由所述主机从所述第二装置读取在所述汇流排上的数据。
41.如权利要求36所述的安全方法,其特征在于,并包括在所述主机第一写入操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一写入操作至所述第二装置,并且施加一第二不同的写入操作至所述第二装置。
42.如权利要求36所述的安全方法,其特征在于,并包括在所述主机一第一读取操作的执行期间,通过覆盖一个或多个在所述汇流排上信号的逻辑值,来请求所述主机启动所述第一读取操作至所述第二装置,并且施加一第二不同的读取操作至所述第二装置。
43.如权利要求36所述的安全方法,其特征在于,并包括请求所述主机启动通过所述汇流排存取所述第二装置的一数据处置,断开连接所述主机与所述第二装置之间的所述汇流排的一信号,以及通过所述汇流排取代所述主机去存取所述第二装置。
44.如权利要求36所述的安全方法,其特征在于,响应于识别出所述安全违规,执行一保护行动,以防止暴露或修改在存取所述第二装置时出现在所述汇流排上的数据。
45.一种安全设备,其特征在于,包括:
一安全装置提供一安全服务至一主机,其中,所述安全装置,所述主机和所述安全装置外部的一非易失性存储器耦合至一共同汇流排;以及
一装置驱动器在所述主机上执行,
其中,所述装置驱动器被配置为在所述安全装置和所述非易失性存储器装置之间进行调解,并且其中所述安全装置被配置为从所述主机上执行的一应用程序来接收一安全命令,并通过存取在所述汇流排上所述非易失性存储器装置来执行所述安全命令,通过所述装置驱动器对所述应用程序通透。
CN202010266082.XA 2019-04-07 2020-04-07 安全装置、方法及其系统 Active CN111797440B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/377,211 2019-04-07
US16/377,211 US10783250B2 (en) 2014-07-24 2019-04-07 Secured master-mediated transactions between slave devices using bus monitoring

Publications (2)

Publication Number Publication Date
CN111797440A true CN111797440A (zh) 2020-10-20
CN111797440B CN111797440B (zh) 2023-05-19

Family

ID=72806531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010266082.XA Active CN111797440B (zh) 2019-04-07 2020-04-07 安全装置、方法及其系统

Country Status (3)

Country Link
JP (1) JP7033383B2 (zh)
CN (1) CN111797440B (zh)
TW (2) TWI751962B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037506A (zh) * 2021-02-25 2021-06-25 山东英信计算机技术有限公司 接口切换控制方法、装置、设备及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0819089D0 (en) * 2008-05-23 2008-11-26 Exacttrak Ltd Secure storage device
CN101329631A (zh) * 2007-06-21 2008-12-24 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
CN101661440A (zh) * 2008-08-26 2010-03-03 爱特梅尔公司 安全信息处理
KR20100072987A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 Usb 메모리에 대한 내용 분석기반 데이터 유출 방지 방법 및 그 시스템
TW201506675A (zh) * 2013-04-23 2015-02-16 Hewlett Packard Development Co 修復受危害之系統啓動碼之技術
CN106156632A (zh) * 2015-05-17 2016-11-23 新唐科技股份有限公司 安全装置及在其内提供安全服务至主机的方法、安全设备
TW201715395A (zh) * 2015-10-16 2017-05-01 廣達電腦股份有限公司 基板管理控制器的回復方法及基板管理控制器
TW201734881A (zh) * 2015-06-08 2017-10-01 新唐科技股份有限公司 透過匯流排安全存取周邊裝置之裝置及方法
JP2018022333A (ja) * 2016-08-03 2018-02-08 富士通株式会社 ストレージ制御装置および記憶装置管理プログラム
TW201818253A (zh) * 2016-11-11 2018-05-16 英業達股份有限公司 檢測系統及檢測方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2686170B1 (fr) * 1992-01-14 1996-09-06 Gemplus Card Int Carte a memoire de masse pour microordinateur.
US6088450A (en) * 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
JPH10143436A (ja) * 1996-11-08 1998-05-29 Hitachi Ltd セキュリティ制御装置
GB2410348B (en) * 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Exception types within a secure processing system
JP2005182525A (ja) * 2003-12-19 2005-07-07 Fujitsu Ltd 記憶装置
US7664965B2 (en) * 2004-04-29 2010-02-16 International Business Machines Corporation Method and system for bootstrapping a trusted server having redundant trusted platform modules
US20060059360A1 (en) * 2004-07-01 2006-03-16 Ortkiese Jerry B Authenticating controller
US7774619B2 (en) * 2004-11-17 2010-08-10 Broadcom Corporation Secure code execution using external memory
JP2006338615A (ja) * 2005-06-06 2006-12-14 Renesas Technology Corp データ通信システム
US8886955B2 (en) * 2007-03-28 2014-11-11 Nuvoton Technology Corporation Systems and methods for BIOS processing
US8978132B2 (en) * 2008-05-24 2015-03-10 Via Technologies, Inc. Apparatus and method for managing a microprocessor providing for a secure execution mode
CN102819699A (zh) * 2012-06-04 2012-12-12 珠海欧比特控制工程股份有限公司 处理器系统
JP5612158B1 (ja) * 2013-05-07 2014-10-22 山洋電気株式会社 マスタスレーブ相互間通信装置およびその通信方法
US20140366131A1 (en) * 2013-06-07 2014-12-11 Andes Technology Corporation Secure bus system
US9892077B2 (en) * 2013-10-07 2018-02-13 Qualcomm Incorporated Camera control interface slave device to slave device communication
JP6267596B2 (ja) * 2014-07-14 2018-01-24 国立大学法人名古屋大学 通信システム、通信制御装置及び不正情報送信防止方法
US10303880B2 (en) * 2014-07-24 2019-05-28 Nuvoton Technology Corporation Security device having indirect access to external non-volatile memory
JP6559619B2 (ja) * 2016-07-06 2019-08-14 日本電信電話株式会社 通信システム、通信装置、通信方法、およびプログラム

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329631A (zh) * 2007-06-21 2008-12-24 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
GB0819089D0 (en) * 2008-05-23 2008-11-26 Exacttrak Ltd Secure storage device
CN101661440A (zh) * 2008-08-26 2010-03-03 爱特梅尔公司 安全信息处理
KR20100072987A (ko) * 2008-12-22 2010-07-01 한국전자통신연구원 Usb 메모리에 대한 내용 분석기반 데이터 유출 방지 방법 및 그 시스템
TW201506675A (zh) * 2013-04-23 2015-02-16 Hewlett Packard Development Co 修復受危害之系統啓動碼之技術
CN106156632A (zh) * 2015-05-17 2016-11-23 新唐科技股份有限公司 安全装置及在其内提供安全服务至主机的方法、安全设备
TW201734881A (zh) * 2015-06-08 2017-10-01 新唐科技股份有限公司 透過匯流排安全存取周邊裝置之裝置及方法
TW201715395A (zh) * 2015-10-16 2017-05-01 廣達電腦股份有限公司 基板管理控制器的回復方法及基板管理控制器
JP2018022333A (ja) * 2016-08-03 2018-02-08 富士通株式会社 ストレージ制御装置および記憶装置管理プログラム
TW201818253A (zh) * 2016-11-11 2018-05-16 英業達股份有限公司 檢測系統及檢測方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037506A (zh) * 2021-02-25 2021-06-25 山东英信计算机技术有限公司 接口切换控制方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111797440B (zh) 2023-05-19
TWI751962B (zh) 2022-01-01
JP7033383B2 (ja) 2022-03-10
TW202139040A (zh) 2021-10-16
JP2020177661A (ja) 2020-10-29
TWI733399B (zh) 2021-07-11
TW202103037A (zh) 2021-01-16

Similar Documents

Publication Publication Date Title
US10783250B2 (en) Secured master-mediated transactions between slave devices using bus monitoring
US8838950B2 (en) Security architecture for system on chip
EP3928199B1 (en) Hybrid firmware code protection
US10846438B2 (en) RPMC flash emulation
CN107787495B (zh) 安全输入/输出设备管理
US8205197B2 (en) Apparatus, system, and method for granting hypervisor privileges
US20210117109A1 (en) Transparently Attached Flash Memory Security
US20210264066A1 (en) Peripheral access on a secure-aware bus system
WO2008030727A2 (en) Access control of memory space in microprocessor systems
US20050066073A1 (en) Peripheral device having a programmable identification configuration register
CN111797440B (zh) 安全装置、方法及其系统
US10592663B2 (en) Technologies for USB controller state integrity protection
CN111797442B (zh) 安全装置及方法
JP7293163B2 (ja) フラッシュエミュレーション機能を有するコントローラ及びコントロール方法
US20230049419A1 (en) Component access to rom-stored firmware code over firmware controller exposed virtual rom link
JP7086891B2 (ja) バスを介した周辺装置への安全アクセス
JP7079558B2 (ja) Spiフラッシュ用安全装置

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
GR01 Patent grant
GR01 Patent grant