CN108399328B - 系统存储器内容认证设备及方法 - Google Patents
系统存储器内容认证设备及方法 Download PDFInfo
- Publication number
- CN108399328B CN108399328B CN201710068708.4A CN201710068708A CN108399328B CN 108399328 B CN108399328 B CN 108399328B CN 201710068708 A CN201710068708 A CN 201710068708A CN 108399328 B CN108399328 B CN 108399328B
- Authority
- CN
- China
- Prior art keywords
- authentication
- system memory
- content
- memory
- buffer
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/78—Protecting 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
- G06F21/79—Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种系统存储器内容认证设备及方法,其中系统存储器认证设备通过一CPU连同存储器内容储存系统配合运算,该系统存储器内容认证设备包括:缓冲存储器;以及一认证模块,被配置为可使用一存储器接口的空闲时间,该存储器接口定义为介于该系统存储器以及该缓冲存储器之间,对于该存储器储存内容的认证,其包括使用至少一个该系统存储器上的储存签章来认证该内容。
Description
技术领域
本发明有关于一种认证技术,更具体地有关于一种根据给定安全政策进行的认证技术。
背景技术
在电脑/处理器架构中,缓冲存储器(cache memory)经常用于加速代码提取和数据读取性能。
共同待公开的美国申请案US2015263852描述了用于在外部存储器上安全存储的系统和方法。
本说明书中提及的所有出版物和专利文献以及其中直接或间接引用的出版物和专利文献的公开内容通过引用并入本文。这种出版物和专利文献的专利性的重要性不被承认。
发明内容
某些实施例尝试提供代码或数据的即时处理连续强认证,术语“内容”在此可被使用于一般地指出完整代码或数据的数字表示。通常,例如使用SHA1/2、循环冗余检查、伽罗瓦场乘法器器或其他适合的技术产生签章,且针对存有内容(代码或数据)的各存储器范围储存。然后签章用于内容的认证。加密可以用于防止签章被复制。
虽然安全系统通常在开机期间会认证全部内容,但是认证可进行于休眠时间或上电/开机期间。
认证强度与签章长度相关。在启动期间,可以为整个内容存储单一签章,因此不会招致大量负担。之后,单一签章可以更长,验证强度也会更强。然而,对于短段落,可以使用较弱(较短)的签章来避免不必要的负担。
当缓冲存储器用于加速代码提取和数据读取性能时,分布在存储器接口被处理器产生的执行处理所占据的时间的周期之间的空闲时间窗段在存储器接口上变得可用。
某些实施例用以利用可缓冲的存储器接口上可用的空闲时间的优点,以便读取和认证诸如先前已签章代码或其他先前已签章数据的存储器内容。
某些实施例用以接收缓冲模块读取地址,例如来自产生该地址的处理器(例如CPU),以及使用缓冲模块读取地址来预测即将到来的提取运算的地址。然后,从可位于(通常外部)系统存储器中的地址空间以及位于
a.最近认证
和/或(根据政策/指示/保全设定档)
b.将很快认证的地址空间,执行即将来到的提取运算。在某些情况中,将在从范围的第一次提取之后但在执行之前先执行高优先权认证以确保认证代码的执行。例如,可以强制执行刚刚执行的高优先权代码的认证,即使这会推迟了某些其他代码的认证。
“最近”认证可以被定义为在从先前认证开始的特定时间段内发生的认证,和/或可以由任何其他适合的、使用情况特定的阈值定义和/或认证可以被认为是“最近的”相对标准。某个代码也被认证之后发生的认证可以被认为是“最近的”。
某些实施例用以提供一种用于认证已经加载到缓冲存储器的代码的方法。
某些实施例用以提供一种用于在代码被处理器使用之前将代码加载到用于认证的缓冲存储器的方法。
某些实施例用以增强代码执行的安全性;代替或除了在执行代码之前的某个未定义的时间进行认证,例如根据某些实施例,当启动时,在代码执行之前进行认证代码,例如,因为代码进入缓冲存储器,所以通常利用在与缓冲的存储器接口视为空闲的那些时间期间的可用的空闲时间。
某些实施例用以提供一种用于认证内容的改进装置与方法,其中在内容储存于主要芯片上的缓冲存储器后认证其内容的至少一部份,而不是当此内容仍然暂存于主要芯片外部的系统存储器上时认证所有内容。
某些实施例用以执行以避免在可能执行的认证(比方说,当安装/更新时)以及内容(例如代码或数据)执行(或其他使用)之间有过长的时间窗段之前执行认证。通常,各种范围的签章之前或之后,政策储存在外部存储器,且在执行前进行认证,例如在执行的X秒之前,例如,通常由CPU提取时,在系统存储器接口上没有数据可用,因此没有使用空闲时间。各认证范围可或不可具有个别的认证政策且这些政策可通过既有的系统硬件,例如MPU,与范围相关联或由储存的政策、加密、在系统上的存储器。
某些实施例用以提供一种方法包括下列步骤:在系统存储器内的数据/内容的安装或更新,其包括可选择的、代码/内容的传统的认证;将代码/内容分割成多个范围;针对此些范围产生签章与储存签章,且对于此些范围的政策,选择性储存在范围与其他签章与政策之间的关联/对应关系,例如系统存储器中,以及执行代码使用/数据。执行通常包括读取内容,例如缓冲存储器内的代码/数据,缓存线之后的缓存线,以及根据每个内容的认证政策语块在空闲时间期间认证内容,例如,通过从内容比较签章计算,以相应储存的签章,其可能被加密,若认证通过,则执行(使用)各语块,否则执行预定义的认证失败过程,例如在执行前输出警告并等待外部输入。
本文的某些实施例特别适合于“关键”代码,诸如将敏感数据传送出装置或硅芯片的代码。
应当理解,缓冲存储器从外部是不可存取的,因此与具有可存取接口的外部存储器相反,它是更安全的。签章可以存储在外部存储器上,通常是加密的;在不知道机密的情况下改变数据并产生正确的加密签章通常是不可行的。
本发明至少包括以下实施例:
实施例1.一种系统存储器内容认证设备,该设备通过CPU连同存储器内容储存系统(代码或非代码)搭配运算,此设备包括:
缓冲存储器;以及
一认证模块被配置为可使用一存储器接口的空闲时间,该存储器接口定义为介于该系统存储器以及该缓冲存储器之间,对于该存储器储存内容的认证,其包括使用至少一个该系统存储器上的储存签章来认证该内容。
系统存储器可为外部的或内部的且储存于此的内容可包括代码或信息(非代码)或代码与信息两者。
例如认证模块可包括逻辑电路,其中根据一种或多种考量来排程认证处理,一种考虑为其他所有事情是平等的,或尽可能平等的,而通过存储器接口的空闲时间的周期/窗段期间可最佳的执行认证。
认证模块可在空闲时间对储存在系统存储器的内容或从系统存储器提取至缓冲存储器的内容,进行认证。通常,开始认证制内容在系统存储器上,除非位于缓冲存储器上的认证代码政策启用和使用。然而,内容可从外部存储器被认证。
应当理解,签章可被复制至内部存储器,在此情况中,认证模块可从内部存储器读取签章。
在系统存储器上储存至少一签章比在内部存储器中储存签章的成本效益更高,例如,因为不需要提供专用存储器来存储签章。
实施例2:根据前述实施例的设备,其中当认证模块认证内容时,认证模块直接从系统存储器(外部存储器)读取内容。
实施例3:根据前述实施例的设备,其中系统存储器中的签章被加密储存,而不是作为单纯文件,从而阻止一攻击者伪造该签章来替换代码。
若签章储存系统存储器且签章的机制变成已知技术,则攻击者或骇客可轻易替换代码并伪造签章。
实施例4:根据前述实施例的设备,其中系统存储器中储存内容同样加密。
应当理解,相同加密方法可用于数据或用于签章。
应当理解,对于RSA签章方法(比方说)不须加密签章,因为除了私密金钥持有人之外没有人能够再现签章。当使用RSA签章,在签章运算后使用如SHA1/2执行摘要运算。然而,当使用RSA之外的签章方法,其可能可以使用例如SHA1/2或循环冗余检查或伽罗瓦场乘法器,以执行数据的摘要,但签章可能被攻击者计算。为防止计算签章的任何情形,签章可被保密。若由签章存储的数据也被加密,则保护等级进一步上升。
实施例5:根据前述实施例的设备,其支持分别运用个别的各签章的各分别签属的多个认证范围,且每一签章具有特定储存位置,且其中对于至少一个被中断验证的验证范围,签章数据内容被储存,其包括一指标(pointer)指向最近存取的位置。
实施例6:根据前述实施例的设备,其中该认证模块从缓冲存储器通过CPU获得内容且在行使该内容上执行认证。
实施例7:根据前述实施例的设备,其中该认证模块从系统存储器通过CPU撷取内容且在行使该内容上执行认证。通常,由CPU提取的数据用于“存储器接口忙碌”时间而不是在空闲时间的期间。
实施例6与7的特定优点是撷取数据减少了认证引擎读取数据所需的时间。由处理器提取的数据由CPU使用且同样被即时处理认证。
实施例8:根据前述实施例的设备,当CPU闲置时,其中该认证模块行使至少一个认证运算。
实施例9:根据前述实施例的设备,其中认证模块接收至少一个来自微处理单元系统的安全指示,且在动作上至少一个安全指示通过预储的安全政策决定。
实施例10:根据前述实施例的设备,对于认证范围,有选择性地由每一个代码功能决定安全政策。
实施例11:根据前述实施例的设备,有选择性地对于每个多范围群组个别设置至少一个安全级别优先权,其每个群组包括至少一范围。
实施例12:根据前述实施例的设备,认证模块预测有关待提取到缓冲存储器的内容,并且行使一地址范围的认证,其地址范围已知与该内容相关联。
实施例13:根据前述实施例的设备,当读取存储器时,为了存储器,认证模块分享由CPU用于读取存储器的缓冲逻辑电路。
实施例14:根据前述实施例的设备,其中前述内容包括代码,其代码代表待执行的至少一部份程序。
实施例15:根据前述实施例的设备,其中认证模块配置以行使认证内容交换。
实施例16:根据前述实施例的设备,其中认证地址内容用于主张至少一地址的范围,其通过在一地址输入接口上以及其中的地址的比较逻辑电路做比较,若发生地址匹配,则更高的认证优先权被指派给先前范围,而若该比较逻辑电路并无指出地址匹配,则认证引擎运用CPU系统命中时间(CPU HIT duration)去存取系统存储器,由此从中读取认证的信息。
实施例17:根据前述实施例的设备,其中程序包括至少一高重要性部分及至少一低重要性部分,且其中认证范围包括至少预先定义的第一及第二认证范围,如程序的至少一高重要性部分并入第一认证范围及程序的至少一低重要性部分并入第二认证范围,由此使认证模块能够施用一第一更严格的认证政策至第一认证范围及一第二较不严格的认证政策至第二认证范围。
实施例18:根据前述实施例的设备,其中程序包括至少一频繁执行部分及至少一不频繁执行部分,且其中该认证范围包括至少预先定义的第一及第二认证范围,如程序的至少一频繁执行部分并入第一认证范围及该程序的至少一不常执行部分并入第二认证范围,藉此使得认证模块能够比第二认证范围更频繁地认证第一认证范围。
实施例19:根据前述实施例的设备,其中该认证包括即时认证。
实施例20:根据前述实施例的设备,只有当CPU闲置时,其中该认证模块行使认证运算。
实施例21:根据前述实施例的设备,其中认证模块知晓该CPU经由系统提供信号指示闲置状态而闲置。
应当理解,当CPU闲置时不可执行代码,所以闲置装态的CPU代表可使用的空闲时间。
实施例22:根据前述实施例的设备,其中系统提供信号指示由下列闲置状态:休眠状态、等待回圈及时脉停止的其中之一。
实施例23:根据前述实施例的设备,其中安全政策规定用于内部运算的代码具有较低的认证优先权,而用于输出外部装置的代码则拥有较高认证优先权。
实施例24:根据前述实施例的设备,其中安全政策规定代码的认证必须于其实施前执行。
实施例25:根据前述实施例的设备,其中至少一群集包括多个范围。
实施例26:根据前述实施例的设备,其中系统存储器是外部的至少一芯片,其至少位于CPU及缓冲存储器上。
实施例27:根据前述实施例的设备,其中至少CPU及缓冲存储器(但不含系统存储器)在单封装中一同封装。
实施例28:根据前述实施例的设备,其中认证模块包括单纯硬件模块。
实施例29:根据前述实施例的设备,且同样包括微处理单元系统被配置为传送至少一安全指示至认证模块进而做动于配合安全指示的相关安全策略。
实施例30:根据前述实施例的设备,其中CPU及认证模块位于CPU芯片中,且系统存储器于CPU芯片外部。
实施例31:根据前述实施例的设备,其中认证模块包括一处理器。
实施例32:根据前述实施例的设备,其中认证模块包括逻辑电路,其配置至少将在一段时间周期T的内容认证进行排程,其由逻辑电路选择的时间周期T与空闲时间经过存储器接口的窗段的至少部分重合。
实施例33:根据前述实施例的设备,其中认证模块包括逻辑电路用以将在一段时间周期T的内容认证进行排程,其时间周期T选自逻辑与空闲时间经过存储器接口的窗段的至少部分重合。
实施例34:根据前述实施例的设备,其中逻辑被配置于将在一段时间周期T的内容认证进行排程,若可能,逻辑电路在存储器接口上选择其时间周期T完整包括在该空闲时间中。
实施例35.利用认证模块其经由存储器接口的空闲时间,其存储器接口定义为介于系统存储器以及缓冲存储器之间,对于存储器储存内容的认证。
实施例36.根据前述实施例的设备,其中对于位于在CPU芯片上的CPU的运用,内容被储存在CPU芯片外部的系统存储器,使用包括:
各内容在多个范围中储存在系统存储器上,每一范围包括多个缓存线;且
签章组包括至少一签章,以及政策组包括至少一认证政策,由此定义附加且“安全”范围,在此范围中系统存储器主张签章及政策组。
其中各在多个范围与签章组的签章以及政策组的认证政策相关联。
提供硬件认证模块在CPU芯片上,此CPU芯片被配置于通过存取内容以认证内容,包括根据个别范围的政策证明至少一个别范围的签章且其中存取发生在至少一场合,其场合通过范围政策定义。
此实施例的特定优点为不只有签章,还有政策皆位于外部存储器。
具有多个缓存线的特定优点不是一次认证一缓存线,而是效率,认证所需存储器的容量较小且执行时间较短,因为不需要对各缓存线读取个别的签章。
各N个范围可与在签章组中的N个签章相关联。
例如:若有3个范围,其安全范围可包括:低地址、高地址、签章与政策和/或针对范围1的安全层级(可为政策的部分),同上范围2,同上范围3。通常,在安全范围中的政策/签章相邻储存以“匹配”高-低地址或“匹配”其关于政策/签章的范围的地址尺寸。
实施例37:根据前述实施例的设备,其中硬件认证模块被配置于通过存取内容以认证内容,且延伸至范围,包括根据个别范围的安全层级证明至少一个别范围的签章,安全层级储存于个别范围政策的一部分。
实施例38:根据前述实施例的设备,其中个别范围的签章签署至少一个别范围的政策,由此防止未授权的政策改变。
实施例39:根据前述实施例的设备,其中个别范围的签章签署至少一个别范围的政策,由此防止未授权的政策改变。
实施例40:根据前述实施例的设备,其中各认证范围与至少一预先定义范围地址相关联地储存。
实施例41:根据前述实施例的设备,其中,当CPU执行至少一指令取出及信息读取,缓冲逻辑电路上的第四开关设定为状态1,且其中若地址匹配缓冲存储器的线地址之一,产生缓冲命中指示,在缓冲逻辑电路上的第一开关在状态1,在缓冲逻辑电路上的第二开关为状态0,且CPU直接从缓冲存储器接收信息,从而使认证模块能够直接从系统存储器执行信息读取运算以认证地址范围。
实施例42:根据前述实施例的设备,其中认证模块在地址输入线上识别与认证地址匹配的地址,其中,在命中的事件,第一与第二开关设定为状态1且来自该缓冲存储器的信息到达认证模块以用于认证且除此之外,在其通过CPU匹配认证地址的信息的地址的缓冲未命中的情况下,第一开关设定为状态0且认证模块为了认证加载信息。
实施例43:根据前述实施例的设备,当CPU闲置时,第三与第四开关设定为0以允许认证模块将最近加载的信息使用至缓冲存储器及其中,对于在认证地址上的缓冲命中,通过认证模块为了认证使用来自缓冲存储器的信息,第一与第二开关设定为状态1,然而,对于缓冲未命中,第一以及第二开关设定为状态0以允许该缓冲模块为了认证使用来自系统存储器的信息。
实施例44:根据前述实施例的设备,当认证模块执行读取运算时,其中缓冲控制信号使用以控制总线周边信号。
实施例45:根据前述实施例的设备,其中缓冲控制信号使用以在缓冲逻辑电路上控制第二、第三及第四开关。
实施例46:根据前述实施例的设备,其中通过缓冲逻辑电路对认证模块提供的缓冲状态信号从缓冲命中/缓冲未命中;及CPU闲置状态指示至少其中之一。
实施例47:其中多个缓冲命中的发生指示在缓冲命中期间空闲时间是可用的。
实施例48:根据前述实施例的设备,其中认证模块包括具有为了针对多个认证范围的认证而配置以储存下一个地址的至少一暂存器的群组的认证地址内容存储器。
实施例49:根据前述实施例的设备,其中认证控制选择地址内容价值通过控制多工器在地址外被驱动。
实施例50:根据前述实施例的设备,其中认证控制配置以加载范围的起始地址以被认证且于认证信息读取后增加认证地址内容。根据前述实施例的设备,
实施例51:根据前述实施例的设备其中,一旦认证数据存在于数据输入线(DATA-in lines),加载数据信号(Load Data signal)加载认证数据在认证引擎上,其具有如下功能的至少一功能:SHA1、SHA2、循环冗余检查(CRC)与GFx乘法器。
实施例52:根据前述实施例的设备,其中处理器设置以运行设置以对于内容的认证使用空闲时间的代码,且其中该代码为至少一部份储存于ROM中。
实施例53:根据前述实施例的设备,其中处理器设置以运行设置以对于内容的认证使用空闲时间的代码,且其中该代码为至少一部份储存于RAM中且在通过处理器运行前下载及认证。
实施例54:据前述实施例的设备,其中认证模块需要数据读取,其使用至少一缓冲控制信号包括:至少一开关控制信号;及至少一系统总线控制信号且其中通过地址输出接口得到读取地址。
实施例55:根据前述实施例的设备其中,其中多个认证范围包括各别包括不同数量的缓存线的至少第一与第二认证范围。
实施例56:根据前述实施例的设备,其中各认证范围与范围的大小相关联地储存。
实施例57:根据前述实施例的设备,其中处理器设置以运行设置以对于内容的认证使用空闲时间的代码,且其中该代码为至少一部份储存于嵌入式闪存中。
实施例58:根据前述实施例的方法,其中在缓冲系统上的运算包括缓冲存储器与缓冲逻辑电路。
实施例59:根据前述实施例的方法,其中各认证范围与范围的大小相关联地储存。
电脑程序产品,包括具有实施于此的电脑可读程序代码的非暂时性有形电脑可读媒介,该适于被执行以实现本文所示和描述于此的电脑可读程序代码。
同样地,本发明提供一电脑程序(排除信号),包括电脑程序代码手段,用于当该程序在至少一电脑运行时执行任何本文所示和描述于此的方法;以及电脑程序产品,包含非暂时性电脑可使用或可读媒介,例如非暂时性电脑可使用或可读储存媒介,其通常是有形的,具有实施于此的电脑可读程序代码,该本文所示和描述于此的适于被执行以实现的方法的电脑可读程序代码。根据本文技术的运算可通过期望目的特别建构的至少一电脑或通过储存在典型的非暂时计算机可读取媒介中的至少一电脑程序以期望目的特别建构的通用电脑来执行。术语“非暂态”在本文中用于排除暂时的,传播信号或波,但是不包括适合于本申请案的任何挥发性性或非挥发性电脑存储器技术。
术语“处理器”包括单一处理单元或多个分布或远程的处理单元。以上装置可通过任何传统的通信手段通信。
根据本发明的某些实施例,本发明的设备可以包括含有或以其它存储指令程序的机器可读存储器,当由机器执行时,该指令程序执行部分或全部设备、方法、特征和本文所示和所述的功能。
在文本或附图中出现的任何商标是其所有者的财产,且在本文中仅出于解释或示意如何实现本发明的实施例的一个范例。
除非另有具体说明,否则从下面的讨论中可以清楚地看出,在整个说明书讨论中,利用诸如“处理”、“计算”、“估计”、“选择”、“排名”、“确定”、“产生”、“重新评估”、“分类”、“立体匹配”、“登记”、“检测”、“关联”、“获得”等是指至少一个处理器/或计算系统,或处理器/或类似的电子计算装置的动作和/或过程,其操纵和/或变换被表示为物理的数据,诸如电子、计算系统的暂存器和/或存储器内的数量,转换为类似地表示为计算系统的存储器,暂存器或其它这样的信息存储、传输或显示装置内的物理量的其他数据。术语“电脑”应该被宽泛地解释为覆盖具有数据处理能力的任何种类的电子装置,包括作为非限制性范例的嵌入式核心、个人电脑、计算系统、通信装置、处理器(例如数字信号处理器DSP)、微控制器、现场可编程门阵列(FPGA)、特殊应用集成电路(ASIC)等)和其他电子计算设备。
本文中个别列出的元件不需要是不同的组件,或者可以是相同的结构。元件或特征可能存在的陈述旨在包括(a)其中存在元件或特征的实施例;(b)元件或特征不存在的实施例以及(c)其中元件或特征可选择地存在的实施例,例如用户可以配置或选择元件或特征是否存在。
可以采用任何适合的处理器来计算或产生如本文所述的信息和/或执行本文所描述的功能和/或执行本文所述的任何引擎,接口或其他系统。任何适合的计电脑化数据存储,例如电脑存储器可以用于存储由本文出示和描述的系统接收或产生的信息。
附图说明
在以下附图中出示了本发明的某些实施例:
图1为包括处理器和相关联的系统存储器和缓冲存储器的计算系统的先前技术的示意图。
图2为根据本发明的实施例构造和操作的包括处理器和相关联的系统存储器和缓冲存储器的计算设备的简化方块图,并且包括一般在即时处理运算的认证模块。
图3为没有认证的缓冲存储器系统的先前技术的示意图,其中缓冲存储器通常是完全关联的。
图4为具有完全关联缓冲存储器的设备的简化方块图,其中认证单元可以在处理器从缓冲存储器提取代码或数据时从外部存储器读取数据,且也可以使用已经存储在缓冲存储器中的数据或捕获由CPU从主要存储器提取的数据以增强认证速度,例如用于即时处理的认证。
图5为认证模块的简化方块图,其可以例如用于执行图2,图4的认证模块700,认证模块700一般执行即时处理认证。
图6为用于某些实施例的事件表的范例,例如当希望接收缓冲模块读取地址时,例如来自产生该地址的处理器(例如CPU),以及使用缓冲模块读取地址来预测即将到来的提取操作的地址。图6的表格可包括特定出示的行、列和单元的仅一些部份。
图7到图8为根据某些实施例提供的方法的简化流程图。这些方法可以包括所示运算中的某些或全部,适当排序,例如图所示。
包括在本发明的范围内的方法和系统可以包括以范例的方法在任何合适的顺序下在具体出示的实现中出示的一些(例如,任何合适的子集)或所有功能区块,例如图所示。
在此描述和出示的计算组件可以以各种形式实现,例如作为硬件电路,例如但不限于定制VLSI电路或闸阵列或可程序硬件装置,例如但不限于FPGA,或作为存储在至少一个有形或无形的电脑可读媒介其上的软件程序代码,且可由至少一个处理器或其任何适当组合执行。特定功能组件可以由软件代码的一个特定排序或通过多个这样的软件代码形成,其软件代码参考所讨论的功能组件在本文中描述地共同地运作或行为或运作。例如,组件可以分布在数个代码序列上,例如但不限于物件、程序、函数、常式和程序,并且可源自通常协同操作的数个电脑文件。
附图标号:
100:存储器
101:签章储存
102:数据储存部分
200:存储器接口
300:指令缓冲
400:CPU
600:缓冲存储器
601:开关4
602:开关3
604:开关1、开关2
700:认证模块
701:认证地址内容存储器
702:认证数据内容暂存器
703:认证控制
704、705:多工器
706:认证引擎
707:比较签章逻辑
708:比较逻辑电路
710、715、720、730、750、760、770、770a、770b、770c:运算
800:存储器保护单元
具体实施方式
以下术语可以根据现有技术文献中或根据说明书出现的任何定义或如下解释:
认证:意指包括使用签章来验证代码或信息。
内容:意指包括代码或信息
信息:从文本中显而易见,此术语用以两种意义-a.:并非地址,如:数据总线(Databus)对地址总线(address bus);或b.并非代码,如:图1中的指令/信息或图4的实施例中代码对信息。
签章:意指包括通过对代码或信息执行计算处理而产生的信息,如:使用循环冗余检查(CRC)、伽罗瓦场乘法器(Galois field multiplication)或散列函数;此外可选择性使用私用密钥或其它加密。
认证范围;意指包括存储器范围,通常受每个储存内容的上和下地址的限制,这里也称为需要认证的“语块”(如,信息,或具有(至少一)功能性代码的(至少一)部分),且各经由一预定语块签章关联方法被关联,伴随储存于存储器中特定空间/位置的签章。该方法可固定,例如范围#5与签章#5永久关联。该方法可被储存至外部存储器且加载到认证引擎中。
范围,又称作存储器范围:意指包括连续存储器空间,例如系统存储器中连续寻址单元的序列。一范围可定义,假如,通过低地址与高地址或通过低(或高)地址与尺寸。一范围可包括一或多个缓存线,信息通常在系统存储器与在固定尺寸的区块中缓冲存储器间转换,称作缓存线。
空闲时间:该术语“空闲时间”意指包括其中可包括主要存储器总线的存储器接口的时间窗段,无CPU代码读取和/或信息读/写运算(如,没有需要被执行的暂停的运算),使得在此描述的认证程序可在该窗段内从系统存储器通过存储器总线读取信息,如,为了在最小化损害系统效率的同时认证信息。更多的信息认证可发生在空闲时间的窗段中,在性能方面越少的损失,其需要为额外的安全提供而付费。
即时处理认证(On the Fly authentication)或“运算期间认证”:意指包括一认证程序,其中于第n次处理器存取至主要存储器到第(n+1)次处理器存取至主要存储器之间的其中一执行的至少一部份可称为即时处理认证。例如若内容为代码,该内容的至少一部份在代码为最后一次验证或之前(可能为数分钟或数秒后)可为至少部分认证和之前(如,数毫秒、数秒或数分钟之前)该代码被执行或甚至在代码被执行时。例如由100个语块代码表示的程序可由语块执行语块,且当语块x+1执行时,语块x可被认证。若认证程序的至少一部份在空闲时间期间发生,认证程序被视为已经在即时处理上执行。通常,内容被认证,然后一旦它被认证就使用;例如一旦期认证已经完成代码可执行。
安全级别:存储器保护单元800(MPU(memory protection unit 80))可对各地址范围定义不同的安全级别。在传统系统中,不同应用可具有不同授权,或授权级别,以使存储器更改,以使运算特定代码或某些特定信息。此不同受选可经由存储器控制器管理,运算用于在某些代码运算期间启用或禁用对存储器的存取,然后阻断该存取。某些区域的安全级别(其可包括优先级别)可自MPU输出且用以决定安全政策。
安全政策:对于各级别,政策可被定义,其可,例如由以下规则规定一种,多种或全部:A.在最后认证以取出运算之间的时间;B.总是在使用前认证?是/否;C.为了验证使用信息取出-是/否;D.假如取出对认证给予较高优先权或假如取出对认证给予较低优先权?
安全指示:意指包括安全级别优先权或安全级别配置。
安全级别配置:意指包括各地址范围或各来自MPU的安全指示形态的认证的优先权级别。例如低优先权代码的认证可能在第一保存内容后被阻碍,取决于现正执行的高优先权代码。然后,在高优先权代码的认证完成后,低优先权代码的认证可从其停止的地方恢复,如保留的内容所指示。
安全级别优先权:意指在给定时间认证多于一范围时,包括参数其可用以表达一范围相对于另一范围的认证的优先权。
安全指示形态:意指包括安全级别优先权或安全级别配置。
系统存储器:意指包括服务CPU的一或多电脑储存装置,其通常位于CPU芯片外侧。
缓冲存储器:意指包括服务CPU的一或多电脑储存装置且其与CPU共同包装或位于与CPU相同的硅芯片上,因此比系统存储器更安全。缓冲存储器装置比系统存储器更小,且留驻在CPU或比系统存储器更靠近(通过更快速地存取)CPU。通过储存系统存储器储存的部分内容,缓冲存储器加速CPU运算。
外部(对于x):意指包括组件,如,存储器不驻留在相同芯片,和/或不一起包装于单一包装如组件x。例如在传统电脑(PC)的存储器于CPU芯片外部,比起CPU芯片不能改变,其允许存储器可被增加。例如储存在系统存储器或属于系统存储器而不是储存在CPU的缓冲存储器或属于CPU的缓冲存储器的组件视为外部。因此内容,如代码通常从外部储存,而不是(比方说)当前在缓冲存储器中的代码,其当前(比方说)于内部存档。
认证内容:意指包括特别是认证引擎的内部状态,而不是一般处理器的内部状态。任何适合的信息可储存以充分代表内部状态,例如不限对于在认证范围从x切换到y之前针对区域x处里的信息的循环冗余检查计算的数值,和/或迄今信息处理的sha1/2数值。
CPU:可包括多个核心,各实施如独立芯片或所有都蚀刻在相同的芯片上。
芯片:意指包括半导体材料的单一连续片段,如硅晶;可包括多个核心。或一处理器可包括多个芯片。
利用空闲时间的窗段特别是经由执行时间以持续执行认证的系统与方法参考图1、图2和图4描述。
图1为具有标准处理器系统的简化方块图。如所示,系统存储器100可为内部的(如位于处理器(CPU的处理器)硅芯片上)或,更多常见的,可为外部的(位于其他“外部的”芯片)。在图2中,该芯片,在本文也称作“主要芯片”由虚线表示。接口200可包括如双倍数据率接口(DDR interface)、串行外设接口(SPI interface)或传统的平行接口。接口200可包括在内容(信息或代码)读取运算期间或当解密签章被读取时使用的解密引擎。解密引擎可被提供,例如若信息被写入外部存储器。
图1展示通过缓冲存储器接口300到存储器接口200连接的处理器400。
在其他实施例,处理器400可连接至存储器接口200与指令缓冲300两者。
传统上,缓冲存储器用于电脑的中样处理单元(CPU)或用于嵌入式系统以减少自系统存储器存取信息所需的平均时间。缓冲存储器更小、更快且通常实行于芯片存储器其储存内文的副本,例如来自常用的主要存储器位置的信息和/或代码。CPU可针代码和信息具有分散且独立的缓冲存储器。本发明的实施例可执行用以指令缓冲以及用以信息缓冲,通常,无论如何,各认证代码或信息范围具有在相同存储器或不同存储器上执行的对应签章,例如该签章可储存至存储器上其储存该范围,或另一存储器,甚至内部存储器其小于用于代码或信息储存的系统存储器。
图3为具有缓存线的完全关联缓冲存储器的现有技术方块图。将缓冲存储器信息与主要存储器地址相关联的一个传统方法为一起储存存储器地址与信息在缓冲存储器中,亦即完全关联对映方法。完全关联缓冲存储器包括对各缓存线储存存储器地址与信息的关联存储器。
任意传入存储器地址可运用关联存储器的内部逻辑电路(即比较逻辑301)与所有储存位置302同时比较。若发现匹配(命中),则控制开关303使得该对应信息被读出。除此之外,信息自系统存储器读取;此信息也可在缓冲存储器中更新。应当理解,储存整个地址且对各信息字执行地址比较机制是非常昂贵的。一般来说,各缓存线包括超过1字符(byte)或1字组(word),例如各缓存线可储存16或32数据字符。由于在正常执行期间的大多数情况下,指令地址持续递增,此方法增加缓冲地址的储存效率且以非常少的性能损失减少比较逻辑电路成本。
图2为用以缓冲内容(代码或其他数据)包括缓冲与认证模块的处理器设备的简单高级方块图。通常,对于各个签章被产生(例如在储存于存储器范围内的数据上使用散列函数)并储存在外部存储器,各外部存储器空间的即时处理认证在各多个存储器地址范围(“认证范围”)执行(例如图4中的102)。替代地,签章可被储存在内部存储器中。
签章可对多个平行范围被运算,例如运算期间。签章演算法可运用伽罗瓦场乘法器、基于乘法的模数或甚至校验和来执行;则范围内的读取顺序对签章结果没有影响。若SHA1或SHA2演算法用于签章产生,数据的读取顺序通常固定。
为执行认证,签章通常通过将数据流送至散列函数产生。尽管如此,对于如上的任一实施例,其可能在认证进行实在认证范围间翻转。因此,一范围的认证可被中断,为了当第一范围的认证仍在进行,即尚未完成时,翻转至另一范围的认证,然后,可能再次翻转至继续认证第一范围并继续进行,直到各范围最终完全被认证。为了进行此过程,引擎内部状态(表示对于第一范围x的认证的签章计算的当前未完成状态)可在从未完成的范围x的认证至范围y的认证的翻转之前被储存。然后,存储器的不同区段的认证运算,例如范围y已经开始或甚至可能结束。接下来,之前数据流的内部状态(例如范围x)被加载且范围x的认证可从先前签章计算停止的点继续。
例如需求可发生以加速代码的执行,储存至较高优先权范围,其必须在执行前不久被认证。不幸的是,较低优先权范围的认证正在进行。在此例中,进行中的较低优先权的认证可被停止,可储存与其相关的认证内容,且启动将要运行的较高优先权范围代码的认证。
通常,然后,在各从范围x至范围y(或反之亦然),为了便于范围x(或y)最终能够交换(翻转)回范围x,全部的“签章内容”(又称作认证内容)被储存。通常,储存认证内容包括:
a.地址内容(又称为认证地址内容或内容地址):已认证的最后数据的地址,例如用于各认证范围的认证的下一个地址;和/或
b.数据内容(又称为签章数据内容或数据签章内容):在翻转前的认证引擎的内部状态。
任何传统的内容转换或中断处理技术可被用于促成该实施例。
跟随范围中最后一个字符的读取完成签章验证。当使用传统的信息摘要演算法(不限于如循环冗余检查(CRC)、SHA1、SHA2、或伽罗瓦场乘法器)签章计算可被复制,且其针对数据交换可能复制计算的签章。因此,若签章可能通过攻击者被存取,通常使用密钥来保护签章以免被攻击者修改。
认证模块700利用存储器接口的空闲时间的优势且运用已经存在于缓冲存储器内的数据;认证模块700通常利用通过处理器400从存储器100抓取的数据用以认证,通常即时处理,且使用缓冲存储器600,以自对于处理器400具有最小性能损失的外部存储器100读取数据。
缓冲存储器600,例如指令缓冲,可包括存储器与逻辑电路,如图4所示。术语“指令”与“代码”在本文中通常可互换使用。缓冲存储器600可包括现有的缓冲硬件。
替代地或除此之外,当CPU活动级别为低时,认证逻辑700可利用缓冲存储器空间的优势,以便当处理器400闲置时加速认证。
认证模块700也可执行安全政策,例如根据保护级别(又称为安全级别)自存储器单元(mpu)输入。认证模块可接收安全指示:
i.自系统MPU,且如由预存的安全政策所确定的那样运作,例如每个范围具有特并优先权层级;和/或
ii.根据装置自身的认证范围的预配置设置以及地址输入至缓冲存储器装置。
例如用以系统输出的代码可被定位在具有高过平均安全层级设定的某些范围。此安全层级通过在认证单元中的特定范围的配置可决定至少一部分;和/或可被定位在存储器中并在通过处理器从一范围第一次读取之前通过认证单元读取;和/或通过自认证单元的输入可决定至少一部份。此安全层级可加强较高优先权认证,例如设备可停止(中断)认证中的目前范围的认证,其具有较低安全层级且因此具有较低优先权,储存目前认证程序的内容以及立即启动(翻转)其中有输出代码驻留的较高安全范围的认证。
替代地,另一政策可加强认证超时。例如该认证可规定若被执行的代码在输出代码运算前的最后一秒(1sec)期间不做认证,该被执行的代码必须再被执行前被认证。替代地,另一政策可使得认证单元认证已经储存在缓冲存储器的代码。
政策管理输入,例如通过专用的硬件提供至认证模块700,通过适当的安全固件,或通过适当的安全启动代码自内部安全存储器或芯片上只读存储器/闪存。
持续参考图2,现在描述设计考量,可使用其部分或全部;为了清楚起见,以参考数值范例描述这些实施例,其当然不意旨为限制性的。
范例系统参数:
假如外部存储器包含可被CPU使用的1百万字节的内容(代码和/或数据)。假如处理器使用的1百万字节分割为50个尺寸不等的认证范围,其具有20千字节的平均尺寸。认证范围的尺寸为了简单起见,可以相等或可为不等。范围尺寸可选择,例如根据以下考量的部分或全部:
1.安全层级:
a.对于非关键代码的政策可规定其代码以相较于关键代码较低频率被认证,且可被CPU执行,甚至若特别是最近没有发生认证。非关键代码可,例如作为政策问题,被周期地认证(例如一旦每数百毫秒,每数秒或每数分钟),而关键代码更高频率,例如每次使用前,或相较非关键代码以更短周期被使用。
b.关键代码可通过政策被需要在之前,或在执行之前不超过预定的时间窗段被认证。或,关键代码可通过政策被需要在之前(例如CPU执行代码,或使用数据,当CPU被通知其代码或数据的认证已成功完成)被认证,或不超过预定的时间窗段之前,被处理器使用。
例如在执行前的10n秒至10毫秒,处理器400可执行代码,或使用数据。
2.使用频率
a.低安全层级且不被频繁使用的代码可被储存,在相同认证范围中,相同安全层级的代码且当系统存储器不被处理器400使用时,通过认证单元700可被周期性认证,例如即时处理。
b.高安全层级且被频繁使用的代码可被分散储存至相关小的认证范围。系统性能在极小影响下,其允许短且频繁的认证发生。例如若该策略规定其认证为(必须发生在)执行前的先决条件,认证小范围的认证较长范围的认证快,因此可具有少量,或对系统性能无实际有害影响。
c.低安全层级且被频繁使用的代码只有在各预定时段可被认证,假设政策规定较低优先权代码的周期认证足够且不需在各执行前认证。
d.对于高安全层级且不被频繁使用的代码,区块尺寸可为更大的因为单一认证所造成的损失不会显著减损系统性能。
对于签章产生与储存的设计选项可包括以下的部分或全部:
1.对于全部内容签章的一签章(针对1百万字节全部),在此情况中对于通过CPU的全部内容其可具有一单一强签章(例如RSA2048(RSA加密)。若对于1百万字节的代码,256字节(2048位)的签章被储存,其对于内容的1百万字节为附加256位,1百万字节数据的认证,在50百万赫兹(MHz)下以32位乘法器使用RSA加速器可需要约500毫秒。在此范例中正常在启动期间该代码通常被认证一次。若此代码在认证程序后被修改或损坏,系统通常不会警戒。
2.对于各缓存线或双字的小签章(例如较选项1的单一签章弱)。例如若典型缓存线的尺寸为16字节;且若4字节的签章执行于各缓存线,附加签章为每1百万字节内容256K字节,所以4字节签章的计算将为快速的。在此情况中,签章为弱的,但认证正在进行;通过处理器400被抓取的各代码在被加载至主要芯片后可被认证,就在执行之前,尽管认证弱到签章很小的程度。
3.继续如上范例,若50区块中的各区块分别以128位签章(16字节)分别签署,128签属较用于如上选项2的32位签属更强且附加签章为:50x 16字节=800字节。此附加,在选项2中相较256K字节为更加小。选项3也可能更快,因为仅有16字节的签章被读取自20K字节,而对于选项2,假设如上范例,5K将必须为各20字符组的代码或数据读取。选项3相对于选项1,与选项1相比,选项3的认证程序正在进行,因此在开始启动后攻击更难开展。
根据某些实施例,当读取存储器时认证模块分享被CPU使用以读取存储器的缓冲逻辑电路。图4为根据某些实施例,完全关联缓冲整合缓冲存储器内容认证的方块图。当处理器400执行指令抓取或数据读取,开关4 601设定为状态1。若地址匹配缓存线地址之一,命中指示产生,开关1在状态1且处理器400直接从缓冲存储器接收数据。在此情况中,认证模块700可直接从系统存储器执行数据读取运算以认证地址范围,开关2 604在状态0以及开关3 602在状态0。
通常,认证模块700在地址输入上辨认匹配认证地址的地址。然后,在一命中事件中(若地址范围的政策允许它或若对任何地址允许),开关2与开关1 604设置为状态1以及来自缓冲存储器的数据到达认证模块700且可被使用以认证。除此之外,例如在缓冲未命中的情况中,数据的地址通过CPU与认证地址匹配而读取,开关1 604设置为状态0且认证模块700为了认证可加载数据。
当处理器400闲置,开关4 601设置为状态0且开关3 602也可设置为状态0以允许即时处理(通常)认证模块700使用最近加载至缓冲存储器的数据。在此情况中,对于在认证地址上的命中,开关1设置为状态1且认证模块700设置开关2为状态1以为了认证从缓冲存储器(在缓冲命中的情况下)使用数据。在未命中的情况中,开关1设置为状态0且开关2同样设置为状态0,以允许认证模块700为了认证从系统存储器使用数据。
根据某些实施例,系统存储器100可包括可储存通过签章被认证的数据或代码的数据储存部分102,其签章可位于相同存储器组件如数据或代码、在信号储存部分101中和/或在不同存储器成分。入存储器可通过攻击者被存取,其范围签章通常被加密。数据也可被加密,其情况中加密引擎与可能是加密引擎通常在存储器接口200上执行。
在图4中,当认证模块700执行一读取运算时,缓冲控制信号使用以控制总线周边信号和/或为了在缓冲逻辑电路601、602、603上控制开关2、3、4。缓冲状态输入可指示缓冲命中或缓冲未命中和/或输入关于系统运算状态如CPU闲置。
存储器保护单元800对于各存储器范围其可指示频繁程度和/或在何种情况下认证该范围提供安全层级或“保护层级”。适合的政策通过系统设计者可被定义,或在固件/软件中。安全政策输入可传达安全配置,其可针对特定范围提供安全层级,对于范围的认证之间或从地址范围执行之前的允许期间。安全层级可设置认证优先权,如具有高安全层级的范围,如上所述,在具有低安全层级的范围前被认证。对于嵌入式系统,通常包括处理器/SOC(芯片上的系统(system on chip))与外部或堆叠芯片存储器,安全政策通过系统设计者或软件开发者可被设置。安全通常包括代码认证,从而产生安全代码执行。
强(高)认证层级(例如签章长度)如256字节的RSA签章(通常在散列后执行(例如使用SHA1或SHA2)),可被用于完整存储器的认证或用于超过一范围的认证。替代地或除此之外,各缓存线可被认证或签署,通常使用较短的或较弱的签章以限制附加签章(例如32位签章用于保存128位数据的缓存线)。根据某些实施例,中间解决方案可使用如16位用于1K代码。其可被使用以使得存储器范围的认证通常在CPU运算,和/或CPU闲置期间,和/或CPU连续命中事件期间以防止认证过程的延迟。为了弹性,认证内容交开关被采用以允许存储器范围的弹性认证,如关于短认证程序确保在处理器400提取之前运行被认证的代码。
应当理解,图4的设备有时可在非空闲时间期间执行认证程序的部分或全部。例如可能没有足够的空闲时间可用于执行由非常严格的安全政策授权的认证,在此情况下设备可,例如执行低安全代码,或使用低安全数据,而不具有认证以产生足够空闲时间用以通过严格政策强制的认证,或,替代地,设备可以停止处理器执行并在执行之前认证代码。
图5为认证模块700的图的方块图。认证模块700通常包括认证地址内容存储器701,其中通常包括至少一范围的群组且可使用存储器被执行。暂存器通常储存下一个位置用以对于各认证范围(在图示范例的各n认证范围)认证。认证控制703通常选择地址内容数值其通过控制一多工器704在地址外被驱动。在即时处理(通常)认证控制703可加载范围的启始位置以被认证且可在认证数据读取之后递增认证地址内容。一但认证数据存在于数据输入线上,加载数据信号在认证引擎706上加载信号,其可使用SHA1/2硬件结合传统循环冗余检查(CRC)硬件来执行,使用GFx场乘法器硬件或通过处理器运行适合的认证或散列演算法,如不限循环冗余检查(CRC)、校验和GFx乘法器SHA1或SHA2。
图5中,缓冲状态指示缓冲命中,例如发生多个缓冲命中。这反过来表示其空闲时间可供认证引擎使用(例如在快去命中期间)。
认证模块700通常配置以执行认证内容交换,运用认证数据内容暂存器702或存储器,例如通过执行以下运算的部分或全部,其适当排序如下:
运算a.若,在特定范围x的认证期间,需要较高优先权范围认证,认证控制模块700指示认证数据内容暂存器702经由多工器705自认证引擎加载认证内容。
运算b.一旦范围x的内容被加载,较高优先权范围的认证可开始。认证控制703使用多工器704选择较高优先权范围的地址内容。
运算c.一旦较高优先权范围认证结束,认证控制模块700可设置认证引擎706的加载文件信号且加载认证引擎内的范围的认证内容。使用多工器704,认证控制703选择范围x的地址内容。
运算d.认证控制模块700然后可递增范围x的认证地址内容直到整个范围x被读取且被认证引擎706读取或散列。
运算e.一旦范围x的散列程序完成,即时处理(通常)认证控制组703可在系统存储器100(范例所示中,或者可从内部存储器读取签章)内从签章储存101执行范围x签章的读取。
运算f.范围x签章可在比较签章逻辑707中经由多工器705被加载。若签章为有效的(与通过认证引擎计算的签章相等),设备可不被中断继续运作。
运算g.无论如何,若范围x签章为无效的,认证控制区块703可执行预先编程的认证失败程序。例如区块703可提供适合的攻击警报指示,例如外部硬件执行的安全逻辑。通常,安全系统具有安全逻辑,通常硬件执行,其可由攻击警告指示触发以(比方说)停止装置的运算和/或强制处理器进入某些状态和/或强制记录攻击或任何其他安全事件,例如使用固件和/或采取可以防止可能的攻击的任何其他适合的对策。
运算h.可以使用缓冲状态输入来递送缓冲命中指示。
运算i.若由地址输入表示的地址与暂存器中内容地址的一相同,命中数据与相关范围认证内容(认证引擎706的内部状态)可被加载于认证引擎706。在此情况中,认证引擎706通常是可运算的,即时处理以递增相关范围认证地址内容701。
运算j:这加速了认证过程和/或减少了认证所需的频宽。此运算可由安全政策输入和/或由具有安全政策的暂存器加载启用或禁用。这些暂存器为对于认证范围的群组织用于完整地址范围的普通暂存器或可以为各认证范围个别提供的暂存器。由存储器保护单元(UMP)800提供的安全层级可影响安全层级,因为地址范围的认证优先权。
通常,比较逻辑电路708不指示匹配,且认证引擎706可使用CPU缓冲期间,其中数据通过处理器400自缓冲存储器被提取或读取。在CPU命中期间,认证模块700可存取系统存储器以及针对认证读取数据。认证引擎706通常需要数据读取,其使用适合的缓冲控制信号,如开关的控制信号和/或系统总线,如地址、选择、数据宽度;通过地址输出接口驱动读取地址。为了认证的数据读取通过数据输入接口直接转换至认证引擎。在此情况中,为了从系统存储器读取认证数据,且认证该系统储存,来自认证控制模块703的加载数据信号加载数据至认证引擎706,例如每个传统循环冗余检查(CRC)技术。
CPU执行预测指的是由处理器提取或读取的下一个代码或数据的地址的预测。例如若某些运算运行时,本文的I/O代码可被预先认证。和/或,若设备进入期睡眠状态,相关代码使用传统的预先执行方法可被预先认证,如执行传统推测执行。
对于CPU执行预测,认证地址内容701可保存一地址或多个地址(例如范围),其通过比较逻辑电路708与地址输入接口上的地址比较。地址在两个地址之间匹配可能导致较高认证优先权的分配至范围,其地址与地址输入接口上的地址做比较。其通常造成地址范围的认证在由CPU被使用的地址范围储存代码前发生。
参考图6,应当理解,根据某些实施例,认证模块预测关于被提取至缓冲存储器的内容,然后对已知与内容相关联的地址范围执行认证。内容提取可包括指令(代码)和/或数据。
预测可实现在任何适合的基础上。例如若装饰改变其状态,认证引擎可接收状态改变指令(如,充电)与其响应,可认证数据(例如启动代码)其可被预测以在此状态改变后执行。若设备正处理数据,其将依序被传送至外部装置,该代码可被预期为传送可被预先认证的数据被使用。
根据某些实施例,认证引擎储存事件表(例如图6的范例表),各数据与数据的地址相关联其可能在该事件发生时运行或被执行。替代地或除此之外,地址表可被加载至认证引擎(又称作认证模块),各地址与可能为了认证而运行的范围相关联。
图6的表可被用于预测执行,且通常目前(执行)的数据地址与指向可能即将使用的范围,给定目前执行的数据。目前执行的地址的比较可被执行为第5途中比较逻辑电路708的一部份。
根据某些实施例:
1.程序设定目前运行的地址0x10200,例如该地址产生安全金钥。处理器将运用位从地址0x76500开始的范围输出其安全金钥。当认证引擎辨认0x10200地址时,各范围的认证将开始;和/或
2.程序设定目前运行地址0x4B300,例如若该地址与系统休眠状态准备相关联。处理器将使用位于从地址0x10400开始的范围的代码来准备睡眠状态。当认证引擎辨认0x10200地址时,各范围的认证将开始;和/或
3.程序设定目前运行地址0x17200,例如若该地址与系统启动代码相关联。处理器将使用位于从地址0xD3200开始的范围的代码来执行重启。当认证引擎辨认0x17200地址时,各范围的认证将开始;和/或
4.程序设定目前运行地址0x1A800,例如若该地址与从随机数值产生的读取数据相关联。处理器将使用位于从地址0xAE000开始的范围中的代码使椭圆曲线上的金钥随机化。当认证引擎辨认0x17200地址时,各范围的认证将开始。
图7为根据现有发明的实施例配置的认证模块的简化流程图,例如结合参考图1到图5所示和描述的部分或全部装置,图7的方法通常包括适当排序的以下运算的任何子集或全部,例如如下运算:
运算710:提供适合的结构,例如外部存储器、缓冲存储器处理器以及认证模块的部分或全部,且被配置和定位成使得所述认证模块能够选择性地存取所述外部存储器的开关(如,图4的开关602与开关604),例如当处理器从内部缓冲存储器执行代码。
运算715:预先加载代码至外部存储器或在安全方法内的启动时间的期间。
运算720:安装或更新内容,例如包括或不包括其传统认证的系统存储器中的代码。
运算730:将分割代码/内容划分为大小相等或不相等的认证范围,如果认证范围大小不相等,则各范围的起始地址和结束地址(或范围大小)可以存储在系统存储器上的预定位置。
运算740:各语块产生签章并存储在系统存储器中:可以在安装或代码更新发生时在运算710中完成签章产生。
运算750:将认证范围的位置和签章的位置之间的关联/对应存储在系统存储器中,或者使用预定的关联/对应。
运算760:复制开始地址和结束地址/大小到认证单元中。若预先知道固定尺寸,则不需要使用范围。
运算770:执行代码/使用数据包括从存储器读取代码/数据到缓冲存储器中,例如使用图8中运算的任意子集,适合的排序,如所示范例。
图8为当读取代码/数据至缓冲存储器时可执行的简化流程图。图8中的方法可包括如下运算的部分或全部,适合的排序,如所示范例:
运算770a:通过将计算的签章与对应于每个认证范围的存储签章进行比较,在空闲时间期间认证各认证范围。为了保护签章免受攻击,可以对签章进行加密和/或可以采用RSA或另一空闲金钥加密演算法。
运算770b:若需要来自较高优先权的代码,根据代码范围政策的属性,在较高优先权范围的代码的执行和执行即将来临之前被认证,针对目前被认证范围中断运算770a,储存目前被认证范围的内容,执行较高优先权范围的认证,且使用储存的内容在较低优先权范围上完成认证770a。应当理解,此运算可递回发生,若较高或较高优先权代码或其他内容累积且须以中断早先遇到的更少高优先的认证为代价执行认证。应当理解,逻辑的决定可选择性的省略是否中断或不中断,例如若其可允许认证按时间顺序处理,例如先进先出顺序。
运算770c:若认证失败,表示其内容,例如代码位不可认证的,执行适合的认证失败程序(authentication-has-failed process),例如输出警示、开始执行故障安全代码,在继续执行认证失败的代码之前等待外部输入。
根据某些实施例,下列信息中的部分或全部可以存储在外部存储器上:
i.内容-在上面使用的说明性示例中大小为1M字节。可为代码或数据(=非代码(non-code))。
ii.各认证范围的签章,50在上面使用的示例性范例中。
iii.各范围的地址范围(储存,例如,若范围不相等并且不能被计算。
iv.范围政策。
该所有信息,例如所有该信息项i到信息项-iv,可在首次使用或每次使用前被认证。
地址范围与政策可在第一认证与首次使用之前复制于安全位置(主要芯片)。地址范围与政策可在每次被使用时被认证。
将地址范围复制到认证单元700中是有利的,因为这允许高效存储器范围到策略和状态映射。认证范围的状态/地址范围与政策信息当发生中断时可作为内容之一部份被保存。
2014年9月23日提交的共同待公开的美国专利申请US2015263852描述了用于在外部存储器上安全存储的系统和方法。应当理解,其中描述的本发明的任何方面可以适当地与本文所述的任何方面组合。
应当理解,认证政策可以考虑缓冲存储器中的内容一旦被认证就被认为是更安全的,而外部系统存储器上的内容通常被认为是较不安全的。
某些实施例的优点是,一旦被认证,缓冲存储器中的内容比外部系统存储器上的内容更安全,因为从硅芯片读取信息需要难以获得的关于芯片架构和结构的知识以及具有专门运算符的复杂设备;此外,即使给定这些,也难以在不破坏芯片的情况下连接多个信号。
应当理解,为了清楚起见,如“强制性(mandatory)”、“需要(required)”、“需要(need)”以及“必须(must)”等术语指的是在此处描述的特定实现或应用的内容中做出的实现选择,并且不旨在此限制,但是相同的元件可以被定义为非强制性且非必需的,或者甚至可以完全删除。
应当理解,如果需要,包括程序和数据的本发明的软件组件可以包括用CD-ROM,EPROM和EEPROM的ROM(只读取存储器)的形式来实现,或者可以存储在任何其它适合的典型非暂态电脑可读媒介,诸如但不限于各种类型的盘,各种卡和RAM。或者,如果需要,这里描述为的软件组件可以全部或部分地在硬件和/或固件中使用传统技术来实现,反之亦然。各区块或组件可以集中在单一位置或分布在多个位置。
包括在本公开的范围内的,特别是根据本文的描述的电磁信号。这些可携带电脑可读指令,用于以任何适合的顺序执行本文所示和描述的任何方法的任何或全部运算,包括适当地同时执行适合的运算组;用于以任何适合的顺序执行本文所示和描述的任何方法的任何或全部运算的机器可读指令;有形地体现可由机器执行的指令程序以便以任何适合的顺序执行本文所示和描述的任何方法的任何或全部运算的程序存储装置;电脑程序产品,其包括具有电脑可读程序代码,诸如可执行代码,的电脑可用媒介,具体体现在其中,和/或包括用于执行本文所示和所述的任何方法的任何或全部运算的电脑可读程序代码,其以任何适合的顺序执行;当以任何适合的顺序执行时,由本文所示和描述的任何方法的任何或所有运算带来任何技术效果;任何适合的设备或装置或其组合,被编程以单独或组合地以任何适合的顺序执行本文所示和描述的任何方法的任何或所有运算;每个电子装置包括至少一个处理器和/或协助输入设备和/或输出设备,且运算以执行,例如在软件中的在此出示和描述的任何运算;信息存储装置或物理记录,例如磁盘或硬件驱动器,使得至少一个电脑或其他装置被配置以任何适合的顺序执行本文所示和描述的任何方法的任何或全部运算;至少一个预先存储的程序,例如在存储器中或在如网际网络的信息网络上,在下载之前或之后,其以任何适合的顺序体现本文所示和描述的任何方法的任何或全部运算,以及上传方法或下载,以及包括用于使用这些的服务器和/或客户端的系统;至少一个处理器,其配置以执行所描述的运算的任何组合或执行所述模块的任何组合;以及硬件,其以单独或与软件结合的任何适合的顺序执行本文所示和描述的任何方法的任何或全部运算。这里描述的任何电脑可读或机器可读媒介旨在包括非暂时性电脑或机器可读媒介。
包括在各别实施例的内容中描述的运算的本发明的特征也可以由单一实施例的组合提供。例如,系统实施例旨在包括相应的程序实施例,反之亦然。此外,每个系统实施例旨在包括系统、电脑可读媒介,设备等的整个功能的以服务器为中心的“视图”或客户端为中心的“视图”或“查看”来自系统的任何其他节点。仅包括在该服务器或客户端或节点处执行的那些功能。特征也可以与本领域已知的特征组合,且特别地不限于背景技术部分或其中提及的出版物中所描述。
相反地,本发明的特征,包括运算,其在单一实施例或某些顺序被提供的个别或任何适合的次实施例中的内容被简要描述,包括本领域已知的特征(特别地不限于在背景部分或其中提及的出版物中描述的那些)或以不同的顺序。“例如”,在意义上于本文使用的特定范例,且其范例不限于此。各方法可以包括所出示或描述的运算中的一些或全部,适当地排序,如本文所示或所述。
Claims (45)
1.一种系统存储器内容认证设备,其特征在于,该设备通过一CPU连同一系统存储器配合运算,该系统存储器内容认证设备包括:
缓冲存储器,通过一存储器接口与该系统存储器进行数据存取,其中该存储器接口定义为介于该系统存储器以及该缓冲存储器之间;以及
一认证模块,被配置为可使用该存储器接口的空闲时间,直接从该系统存储器读取该内容,并对该存储器储存内容进行认证,其包括使用至少一个该系统存储器上的储存签章来认证该内容;
其中该认证模块包括逻辑,其配置将在一段时间周期T的内容认证列入计划,其时间周期T选自该逻辑与空闲时间经过该存储器接口的窗段的至少部分重合。
2.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该系统存储器中的该签章被加密储存,而不是作为单纯文件,从而阻止一攻击者以伪造该签章来替换代码。
3.根据权利要求2所述的系统存储器内容认证设备,其特征在于,该系统存储器中的该储存内容为加密的。
4.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该系统存储器内容认证设备支持多个认证范围,该多个认证范围分别运用分隔各具有特定储存位置的签章来进行签属,且其中签章信息内容被储存,其包括一指向器指向最近存取的该位置。
5.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证模块从该缓冲存储器通过该CPU获得内容而不是直接从外部存储器读取信息,且在行使该内容上执行认证。
6.根据权利要求1所述的系统存储器内容认证设备,其特征在于,当该CPU闲置时,该认证模块行使至少一个认证运算。
7.根据权利要求4所述的系统存储器内容认证设备,其特征在于,该认证模块接收至少一个来自微处理单元系统的安全指示,且在动作上该至少一个安全指示通过一预储存的安全政策决定。
8.根据权利要求7所述的系统存储器内容认证设备,其特征在于,该系统存储器内容认证设备有选择性地对于该多个认证范围由代码功能决定该安全政策。
9.根据权利要求4所述的系统存储器内容认证设备,其特征在于,有选择性地对于各多个范围群组个别设置至少一个一安全级别优先权,其各群组包括至少一范围。
10.根据权利要求4所述的系统存储器内容认证设备,其特征在于,该认证模块预测有关被读取到缓冲存储器的内容,并且行使一地址范围的认证,其地址范围已知与该内容相关联。
11.根据权利要求1所述的系统存储器内容认证设备,其特征在于,当读取存储器时,为了存储器读取,该认证模块运用CPU分享缓冲逻辑电路。
12.根据权利要求4所述的系统存储器内容认证设备,其特征在于,前述内容包括代码,其代码代表被执行的至少一部分程序。
13.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证模块配置以行使认证内容交换。
14.根据权利要求1所述的系统存储器内容认证设备,其特征在于,一认证地址内容用于主张至少一地址的范围,其通过在一地址输入接口上以及其中的地址的比较逻辑电路做比较,若发生地址匹配,则更高的认证优先权被指派给先前范围,而若该比较逻辑电路并无指出一地址匹配,则一认证引擎运用一CPU系统命中时间去存取该系统存储器,由此从中读取认证的信息。
15.根据权利要求12所述的系统存储器内容认证设备,其特征在于,该程序包括至少一高重要性部分及至少一低重要性部分,且其中该多个认证范围包括至少预先定义的第一认证范围及第二认证范围,该程序的该至少一高重要性部分并入该第一认证范围及该程序的该至少一低重要性部分并入该第二认证范围,由此使认证模块能够施用第一更严格的认证政策至该第一认证范围及第二较不严格的认证政策至该第二认证范围。
16.根据权利要求12所述的系统存储器内容认证设备,其特征在于,该程序包括至少一频繁执行部分及至少一不频繁执行部分,且其中该多个认证范围包括至少预先定义的第一认证范围及第二认证范围,如该程序的该至少一频繁执行部分并入该第一认证范围及该程序的该至少一不频繁执行部分并入该第二认证范围,由此认证模块能够比第二认证范围更频繁地认证该第一认证范围。
17.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证包括快速通过认证。
18.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证模块仅当CPU闲置时执行认证运算。
19.根据权利要求6或18所述的系统存储器内容认证设备,其特征在于,该认证模块知晓该CPU经由一系统提供信号指示闲置状态而闲置。
20.根据权利要求19所述的系统存储器内容认证设备,其特征在于,该系统提供信号指示由下列闲置状态:休眠状态、等待回圈及时脉停止的其中之一。
21.根据权利要求8所述的系统存储器内容认证设备,其特征在于,该安全政策规定用于内部运算的代码具有一低的认证优先权,相对于用于输出一外部装置的代码,该安全政策规定用于内部运算的代码拥有一高认证优先权。
22.根据权利要求8或21所述的系统存储器内容认证设备,其特征在于,该安全政策规定代码的认证必须于其实施前执行。
23.根据权利要求9所述的系统存储器内容认证设备,其特征在于,至少一群组包括多个范围。
24.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该系统存储器是外部的至少一芯片,其在至少为该CPU及缓冲存储器驻留之上。
25.根据权利要求1所述的系统存储器内容认证设备,其特征在于,至少该CPU及缓冲存储器但不含该系统存储器其于单封装中一同封装。
26.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证模块包括单纯硬件模块。
27.根据权利要求1所述的系统存储器内容认证设备,其特征在于,且同样包括一微处理单元系统被配置为传送至少一安全指示至该认证模块进而做动于配合安全指示的相关安全策略。
28.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该CPU及认证模块位于在一CPU芯片,且该系统存储器于该CPU芯片外部。
29.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证模块包括一处理器。
30.根据权利要求1所述的系统存储器内容认证设备,其特征在于,各认证范围与至少一预先定义范围地址相关联地储存。
31.根据权利要求14所述的系统存储器内容认证设备,其特征在于,当该CPU执行至少一指令取出及信息读取,缓冲逻辑电路上的一第四开关制定为状态1,且其中若该地址匹配缓冲存储器的线地址之一,产生缓冲命中指示,在缓冲逻辑电路上的一第一开关在状态1,在缓冲逻辑电路上的一第二开关为状态0,在缓冲逻辑电路上的一第三开关为状态0,且该CPU直接从缓冲存储器接收信息,从而使认证模块能够直接从系统存储器执行信息读取运算以认证地址范围。
32.根据权利要求31所述的系统存储器内容认证设备,其特征在于,该认证模块在一地址输入线上识别一与认证地址匹配的一地址,其中,在一命中的事件,该第一开关与第二开关制定为状态1且来自该缓冲存储器的信息到达该认证模块以用于认证且除此之外,在其通过该CPU匹配一认证地址的信息的地址的缓冲未命中的情况下,该第一开关制定为状态0且该认证模块为了认证加载该信息。
33.根据权利要求31或32所述的系统存储器内容认证设备,其特征在于,当CPU闲置时,该第三开关与第四开关制定为0以允许该认证模块将最近加载的信息使用至该缓冲存储器及其中,对于该认证地址上的一缓冲命中,通过该认证模块为了认证使用来自该缓冲存储器的信息,该第一开关与第二开关制定为状态1,然而,对于缓冲未命中,第一开关与第二开关制定为状态0以允许该认证模块为了认证使用来自该系统存储器的信息。
34.根据权利要求1所述的系统存储器内容认证设备,其特征在于,当该认证模块执行一读取运算时,其中一缓冲控制信号使用以控制总线周边信号。
35.根据权利要求31或32所述的系统存储器内容认证设备,其特征在于,一缓冲控制信号使用以在该缓冲逻辑电路上控制该第二开关、第三开关及第四开关。
36.根据权利要求1所述的系统存储器内容认证设备,其特征在于,通过缓冲逻辑电路对认证模块提供的一缓冲状态信号从缓冲命中/缓冲未命中;及一CPU闲置状态指示至少其中之一。
37.根据权利要求36所述的系统存储器内容认证设备,其特征在于,多个缓冲命中的发生指示在缓冲命中期间空闲时间是可用的。
38.根据权利要求1所述的系统存储器内容认证设备,其特征在于,该认证模块包括具有为了针对多个认证范围的认证而配置以储存下一个地址的至少一暂存器的群组的一认证地址内容存储器。
39.根据权利要求1所述的系统存储器内容认证设备,其特征在于,一认证控制选择一地址内容价值通过控制一多工器在地址外被驱动。
40.根据权利要求39所述的系统存储器内容认证设备,其特征在于,该认证控制配置以加载一范围的一起始地址以被认证且于认证信息读取后增加一认证地址内容。
41.一种系统存储器内容认证方法,其特征在于,其运用一CPU配合一系统存储器运算,系统存储器储存一内容,该系统存储器内容认证方法包括:
提供一缓冲存储器,其通过一存储器接口与该系统存储器进行数据存取,其中该存储器接口定义为介于该系统存储器以及该缓冲存储器之间;且
利用一认证模块其经由存储器接口的空闲时间,直接从该系统存储器读取该内容,对该存储器储存内容进行认证;
其中该认证模块包括逻辑,其配置将在一段时间周期T的内容认证列入计划,其时间周期T选自该逻辑与空闲时间经过该存储器接口的窗段的至少部分重合。
42.根据权利要求41所述的系统存储器内容认证方法,其特征在于,该内容被储存,对于位于在一CPU芯片上的一CPU的运用,在CPU芯片外部的系统存储器,该利用一认证模块其经由存储器接口的空闲时间,其存储器接口定义为介于该系统存储器以及该缓冲存储器之间,对于该存储器储存内容的认证的步骤,包括:
储存,在系统存储器上;
该内容,在多个范围各包括多个缓存线;且
一签章组包括至少一签章,以及一政策组包括至少一认证政策,由此定义附加一安全范围,在该安全范围中该系统存储器主张该签章及政策组;
其中各在多个范围与一该签章组的签章以及一该政策组的认证政策相关联;
提供一硬件认证模块在CPU芯片上,其被配置于通过存取该内容认证该内容,包括根据个别范围的政策证明至少一个别范围的签章且其中该存取发生在至少一场合,其场合通过该个别范围的政策所定义。
43.根据权利要求42所述的系统存储器内容认证方法,其特征在于,硬件认证模块被配置于通过存取该内容认证该内容,且延伸至范围,包括根据该个别范围的安全层级证明至少一个别范围的签章,该安全层级储存于该个别范围政策的一部分。
44.根据权利要求42所述的系统存储器内容认证方法,其特征在于,该个别范围的签章签署至少一个别范围的政策,由此防止未授权的政策改变。
45.根据权利要求42所述的系统存储器内容认证方法,其特征在于,于该个别范围的签章之外的一签章签署一至少一个别范围的政策,由此防止未授权的政策改变。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710068708.4A CN108399328B (zh) | 2017-02-08 | 2017-02-08 | 系统存储器内容认证设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710068708.4A CN108399328B (zh) | 2017-02-08 | 2017-02-08 | 系统存储器内容认证设备及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108399328A CN108399328A (zh) | 2018-08-14 |
CN108399328B true CN108399328B (zh) | 2021-04-27 |
Family
ID=63093887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710068708.4A Active CN108399328B (zh) | 2017-02-08 | 2017-02-08 | 系统存储器内容认证设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108399328B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283359A (zh) * | 2021-06-02 | 2021-08-20 | 万达信息股份有限公司 | 一种手持证件照的认证方法、系统和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201319930A (zh) * | 2011-09-20 | 2013-05-16 | Qualcomm Inc | 用於亂數產生器的帶有磁阻元件的熵源 |
CN104346103A (zh) * | 2013-08-09 | 2015-02-11 | 群联电子股份有限公司 | 指令执行方法、存储器控制器与存储器储存装置 |
CN104376277A (zh) * | 2013-08-13 | 2015-02-25 | 华邦电子股份有限公司 | 运算装置、方法与系统 |
CN105122262A (zh) * | 2013-04-23 | 2015-12-02 | 惠普发展公司,有限责任合伙企业 | 辅助非易失性存储器中的冗余系统引导代码 |
WO2016153728A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Providing enhanced replay protection for a memory |
-
2017
- 2017-02-08 CN CN201710068708.4A patent/CN108399328B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201319930A (zh) * | 2011-09-20 | 2013-05-16 | Qualcomm Inc | 用於亂數產生器的帶有磁阻元件的熵源 |
CN105122262A (zh) * | 2013-04-23 | 2015-12-02 | 惠普发展公司,有限责任合伙企业 | 辅助非易失性存储器中的冗余系统引导代码 |
CN104346103A (zh) * | 2013-08-09 | 2015-02-11 | 群联电子股份有限公司 | 指令执行方法、存储器控制器与存储器储存装置 |
CN104376277A (zh) * | 2013-08-13 | 2015-02-25 | 华邦电子股份有限公司 | 运算装置、方法与系统 |
WO2016153728A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Providing enhanced replay protection for a memory |
Also Published As
Publication number | Publication date |
---|---|
CN108399328A (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949546B2 (en) | Security devices, electronic devices and methods of operating electronic devices | |
US9842212B2 (en) | System and method for a renewable secure boot | |
EP3274850B1 (en) | Protecting a memory | |
US9853974B2 (en) | Implementing access control by system-on-chip | |
US7124296B2 (en) | Security chip architecture and implementations for cryptography acceleration | |
US8799678B2 (en) | System and method for securing executable code | |
US9703945B2 (en) | Secured computing system with asynchronous authentication | |
CN109388953B (zh) | 安全设备、电子设备和操作电子设备的方法 | |
EP1721252A2 (en) | Autonomous memory checker for runtime security assurance and method therfore | |
US20190080093A1 (en) | Secure selective load of dynamic paged segments in memory constrained systems | |
KR100973733B1 (ko) | 메모리 카드 제어기 펌웨어의 하드웨어 드라이버 무결성체크 | |
EP3271828B1 (en) | Cache and data organization for memory protection | |
US9460312B2 (en) | Data integrity protection from rollback attacks for use with systems employing message authentication code tags | |
Crenne et al. | Configurable memory security in embedded systems | |
US20170060775A1 (en) | Methods and architecture for encrypting and decrypting data | |
TWI603197B (zh) | 快取記憶體認證系統及方法 | |
CN111771353B (zh) | 保护加密密钥数据 | |
EP1465038B1 (en) | Memory security device for flexible software environment | |
CN108399328B (zh) | 系统存储器内容认证设备及方法 | |
US8392714B2 (en) | Secure overlay manager protection | |
US9213864B2 (en) | Data processing apparatus and validity verification method | |
US12008087B2 (en) | Secure reduced power mode | |
US20240135040A1 (en) | Secured computer memory | |
Chaves et al. | Reconfigurable cryptographic processor | |
CN115935444A (zh) | 安全固件上传 |
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 |