CN100542085C - 保密可执行编码的系统和方法 - Google Patents
保密可执行编码的系统和方法 Download PDFInfo
- Publication number
- CN100542085C CN100542085C CNB2004100920414A CN200410092041A CN100542085C CN 100542085 C CN100542085 C CN 100542085C CN B2004100920414 A CNB2004100920414 A CN B2004100920414A CN 200410092041 A CN200410092041 A CN 200410092041A CN 100542085 C CN100542085 C CN 100542085C
- Authority
- CN
- China
- Prior art keywords
- cache line
- encryption
- executable code
- key
- secret
- 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.)
- Expired - Fee Related
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种用于对可执行编码进行保密存储、以及将这种编码从存储器保密传送到处理器的系统和方法。所述方法包括存储所述编码的一个加密版本。在存储装置中重加密之前,根据需要解密并解压该编码。然后将重加密的可执行编码写入外存储器。当需要所述可执行编码的超高速缓存线时,执行一个取出动作但对其进行截取。在截取过程中,对所述超高速缓存线进行解密。然后将得到的纯文本超高速缓存线存储在与处理器相关联的指令超高速缓存中。
Description
技术领域
本发明涉及信息保密,特别涉及保密处理。
背景技术
计算平台内的保密处理是公知的普通问题。特别是可执行编码的任何无意或非期望的改变,都会产生可怕的运行结果。例如,恶意编码可被(例如,特洛依木马)插入到可执行编码中,从而使处理器执行非期望和/或无法预测的操作。换句话说,敌对用户可以改变指令的次序,从而由出故障的处理器来执行操作。此时,其结果可能也是非期望的。其他的威胁可能不是恶意的。例如,存储器硬件的故障可能会改变可执行编码。显然,这会影响处理器的运行和它的结果。
另外,保密是一个与可编程逻辑电路自身相关的问题。可执行编码其本身是必须作为秘密而保存的信息。对可执行编码的披露会对敏感数据产生非期望的损害。一般而言,可执行编码在存储时、以及在存储器与处理器或它的超高速缓存之间传送时,容易被损坏。
考虑到这种已知的威胁和脆弱性,需要一种可克服以上情况的系统和方法,从而使处理器只执行所需要的操作,并保持其程序的机密性。
发明内容
本发明提供描述了可执行编码的保密存储和这种编码从存储器到处理器的保密传送。本发明包括编码的加密版本的存储。在存储装置(如闪存)中重加密之前,可根据需要解密并解压该编码。然后将重加密的可执行编码写入外存储器。当需要可执行编码的超高速缓存线时,执行一个取出动作但对其进行截取。在截取过程中,对所述超高速缓存线进行加密。然后将得到的纯文本超高速缓存线存储在一个与处理器相关联的指令超高速缓存中。
一方面,本发明提供了一种用于保密执行处理器指令的系统,所述系统包括:
一个第一存储器,其中包含起动代码和用第一密钥加密的图像;
一个保密嵌入式处理器系统,其中包括:
一个处理器;
一个与所述处理器通讯的指令超高速缓存;
一个与所述指令超高速缓存通讯的存储器控制器;以及
一个与所述指令超高速缓存通讯的保密控制器;和
一个第二存储器,它位于所述保密嵌入式处理器系统的外部,并与所述第一存储器、存储器控制器和保密控制器通讯,
其中,所述用第一密钥加密的图像被传输至所述第二存储器,被所述保密控制器解密,并由所述保密控制器使用第二密钥再加密,用所述第二密钥加密的图像的一个超高速缓存线从所述第二存储器被读取,再用所述第二密钥进行解密,然后存储在所述指令超高速缓存中,以被所述处理器执行。
优选地,所述保密控制器中包括使用三重数据加密标准(3DES)算法和所述第一密钥对所述被加密图像进行解密的逻辑电路。
优选地,所述系统中进一步包括一个密钥管理模块,其中包括:
以加密形式接收所述第一密钥的逻辑电路;
使用会话密钥对所述被加密的第一密钥进行解密的逻辑电路;
将所述第一密钥转发到所述保密控制器的逻辑电路。
优选地,所述保密控制器中包括:
使用高级加密标准(AES)算法重加密所述图像的逻辑电路;以及
使用所述AES算法解密所述超高速缓存线的逻辑电路。
优选地,所述用于重加密所述图像的逻辑电路中,包括实现所述AES算法的密码分组链接(CBC)模式的逻辑电路;且
所述用于解密所述超高速缓存线的逻辑电路中,包括实现所述AES算法的CBC模式的逻辑电路。
优选地,所述用于重加密所述图像的逻辑电路中,包括实现所述AES算法的所述CBC模式的解密模式的逻辑电路;且
所述用于解密所述超高速缓存线的逻辑电路中,包括实现所述AES算法的所述CBC模式的加密模式的逻辑电路。
优选地,所述用于重加密所述图像的逻辑电路中,使用所述第二存储器的一个地址作为所述AES算法的初始化向量(IV),其中所述地址对应于所述超高速缓存线在所述第二存储器中的位置;且
所述用于解密所述超高速缓存线的逻辑电路中,使用所述地址作为所述初始化向量。
另一方面,本发明提供一种提供处理器指令的保密执行的方法,包括:
a.启动处理器,以将加密编码加载到外部存储器中;
b.使用图像密钥对所述加密编码中的未压缩部分进行解密,以产生解密未压缩码的第一部分;
c.执行所述解密未压缩码的第一部分;
d.使用所述图像密钥对所述加密编码中的压缩部分进行解密,以产生一个图像;
e.鉴别所述图像;
f.解压缩该图像从而使它占据外部存储器中的一部分,起点在第一地址并且终点在终端地址;以及
g.执行所述图像的保密执行。
优选地,其中其中使用三重数据加密标准(3DES)算法执行所述解密步骤b和d。
优选地,在执行步骤a以前,所述方法进一步包括以下步骤:
h.确定所述图像密钥是否失效,仅在所述图像密钥还没有失效的条件下,才执行所述步骤a-g。
优选地,在执行步骤a以前,所述方法进一步包括以下步骤:
h.产生加密编码。
优选地,所述步骤h中包括:
i.压缩所述图像;
ii.对所述图像进行散列处理以产生一个散列值;
iii.加密所述图像;
iv.存储所述加密编码。
优选地,所述步骤h.ii.中,使用保密散列算法1(SHA-1)对所述图像进行散列处理。
优选地,所述步骤h.iii.中,使用三重数据加密标准(3DES)算法加密图像。
优选地,所述步骤h.iv.中,将加密编码存储到闪存中。
优选地,步骤a包括:
i.将处理器的状态复位;
ii.加载图像密钥;
iii.将加密编码传输入外部存储器;和
iv.将处理器切换到保密模式。
优选地,所述外部存储器包括双数据速率同步动态随机访问存储器(DDR-SDRAM)。
优选地,所述步骤a.iv.中包括:
A.清除处理器的状态;
B.将与处理器相关联的一个指令超高速缓存设置为无效状态;以及
C.将图像的执行限制在外部存储器的一部分。
优选地,所述步骤g包括:
i.分别加密图像的每一个超高速缓存线;
ii.取出一个加密超高速缓存线;
iii.截取所述取出过程;
iv.解密所取出的加密超高速缓存线;
v.确定加密超高速缓存线是否有效;
vi.如果加密超高速缓存线无效,捕获该加密超高速缓存线;和
vii.如果加密超高速缓存线有效,执行所述加密超高速缓存线。
优选地,所述图周g.i.中,使用高级加密标准(AES)加密每一个超高速缓存线,所述步骤g.iv.中,使用AES算法解密取出的加密超高速缓存线。
优选地,所述AES算法使用于密码分组链接(CBC)模式。
优选地,所述步骤g.i.中,使用AES算法加密每个超高速缓存线,所述步骤g.iv.中,使用AES算法的加密模式解密取出的加密超高速缓存线。
优选地,每个超高速缓存线的AES算法的初始化向量(IV)是超高速缓存线在外部存储器中的地址。
附图说明
图1是一个原理框图,其中示出了本发明一个实施例的总体结构。
图2是本发明一个实施例中可执行编码在闪存内处于加密和压缩形式时的示意图。
图3是本发明一个实施例中包含有解密和解压缩的可执行编码的外部存储器的示意图。
图4示出了本发明一个实施例中的取出过程,其中将编码的超高速缓存线解密并转发到指令超高速缓存。
图5是本发明一个实施例中加密图像的产生流程图。
图6是本发明一个实施例中访问并使用加密图像的总体流程图。
图7是本发明一个实施例中处理器启动过程的详细流程图。
图8是本发明一个实施例中切换到保密模式的流程图。
图9是本发明一个实施例中保密执行过程的流程图。
图10是本发明方法的一个简化版本的流程图。
具体实施方式
现在参照附图描述本发明的较佳实施例,其中的标号表示相同或功能相似的元件。在附图中,每个标号最左侧的位对应于第一次使用标号的附图。对于其中描述的具体配置和设备,应该理解仅是出于示意的目的。相关领域的技术人员可在不脱离发明宗旨和范围的条件下,使用其它的配置和设备。对于相关领域的技术人员而言,本发明显然也可以用于多种装置、系统和应用程序。
I.概述
现在参照附图描述本发明的较佳实施例,其中的标号表示相同或功能相似的元件。在附图中,每个标号最左侧的位数对应于第一次使用标号的图。对于其中描述的具体配置和设备,应该理解仅是出于示意的目的。相关领域的技术人员可在不脱离发明宗旨和范围的条件下,使用其它的配置和设备。对于相关领域的技术人员而言,本发明显然也可以用于多种装置、系统和应用程序。
II.系统
本发明提供了一种与存储器模块通讯的保密嵌入式处理器系统。图1示出了本发明的一个实施例。图中,保密嵌入式处理器系统105与外部存储器模块160及闪存模块175相连。闪存模块175以压缩和加密的形式存储可执行编码(在下文中称为图像)。由如下的详细描述可知,在启动过程中,加密压缩的图像被传输至外部存储器160。然后,该图像被解密、解压缩,然后被重加密并存储在外部存储器160中。
对于将被处理器110执行的指令,每一次从外部存储器160中取出它的一个超高速缓存线。然而,该取出过程会被存储器控制器150所截取。在将取出的超高速缓存线加载到指令超高速缓存130之前,由保密控制器140将其解密。
如图所示,在保密嵌入式处理器系统105中有一个密钥管理模块170,它为保密控制器140提供密钥管理服务。在本发明的一个实施例中,还可提供一个外部接口180,以实现闪存175与系统105之间的相连。还可提供一个外设部件互连(PCI)接口185,以实现与保密嵌入式处理器系统105的通讯。PCI接口185、外部接口180、密钥管理模块170、保密控制器140、以及处理器110通过诸如总线的基础结构145相互连接。
图2中更详细地示出了闪存175。在图2中,示出了当图像驻留于闪存175内时图像的结构。该图像包括一段启动码210。接下来是两个码块220和230。用第一加密密钥,这里称为图像密钥,对这两个码块集体地加密。在本发明一个实施例中,使用三重数据加密标准(3DES)算法对这些码块进行加密。在图示实施例中,码块220包括用于解密剩余码块230所需的逻辑。应该注意,在图示实施例中,码块230是压缩的。码块240代表由码块210、220和230得到的鉴别码。码块并不是图像本身的一部分。在图示实施例中,所述鉴别过程是一个散列消息鉴别码(HMAC)过程。
图3示出了当图像被解密并解压缩后,驻留于外部存储器160时的图像结构。如图所示,块330中占据了存储器的10KB存储容量。该存储间隔的初始地址为310。该间隔的终端地址为320。在本发明的一个实施例中,该起始地址310和终端地址320被转发到存储器控制器150。以起到保密检验作用,从而不允许执行这些边界以外的指令。
图4示出了从外部存储器160取出指令时的流程和过程。当图像被解密后,使用第二密钥将图像重加密以形成重加密图像410。然后基于超高速缓存线取出所述重加密图像410。出于解密目的,由解密逻辑电路440找到并读取超高速缓存线420。在图示实施例中,超高速缓存线420的地址430用于初始化解密过程。在本发明的一个实施例中,重加密过程按密码分组链接(CBC)模式,使用高级加密标准(AES)算法。此外,在本发明的一个实施例中,重加密过程在解密模式中可使用AES/CBC过程。结果,在该实施例中,解密过程440实际上使用AES的加密模式。然后将得到的纯文本超高速缓存线450转发到指令超高速缓存130。最终由处理器110执行该纯文本超高速缓存线。
如图1所示,密钥管理模块170处理一部分与加密密钥的保护相关的管理和保密功能。特别地,在本发明的一个实施例中,保密嵌入式处理器系统105以加密形式接收图像密钥。密钥管理模块170使用会话密钥将加密图像密钥解密。从而使保密控制器140如上所述那样使用所得到的纯文本图像密钥。
此外,可将一个时间限制与所述图像密钥相关联,从而只能在给定的持续时间内或者某个特定的时间点使用该图像密钥。在这个时间点过后,该密钥不能够再使用,被称为失效。在本发明的一个实施例中,保密控制器140在使用该密钥前会校验图像密钥是否已经失效。当然,也可以在密钥管理模块170中执行该校验。
III.方法
图5示出了当图像被存储在闪存中时的初始压缩和加密过程。该过程开始于步骤510。在步骤520中,将图像压缩。在步骤530中,对图像进行散列处理以产生一个HMAC。在本发明的一个实施例中,使用了保密散列算法1(SHA-1)。在步骤540中,使用图像密钥将压缩图像加密。如上文提到的,可使用3DES算法执行该加密。在步骤550中,将得到的压缩加密图像存储在闪存中。本过程在步骤560结束。
图6示出了保密地访问和执行图像的总体过程。本过程开始于步骤610。在步骤620中,处理器经历其启动操作。在步骤630中,使用图像密钥对图像的已解压缩部分进行解密。在步骤640中,执行该解压缩码。所述编码之解压缩码部分中的逻辑用于对剩余图像进行解密。在步骤650中,使用图像密钥对图像的剩余部分进行解密。在步骤660中,鉴别所述图像。如上所述,可使用SHA-1算法执行鉴别。在步骤670中,将图像解压缩。在步骤680中,开始保密执行。本过程在步骤690结束。
图7更详细地示出了处理器的启动步骤(即图6的步骤620)。本过程开始于步骤710。在步骤720中,将装置状态复位。在步骤730中,出于顺序加密处理的目的,加载加密编码。在步骤740中,将图像从闪存移动到外部存储器。在本发明的一个实施例中,可使用双数据速率同步动态随机访问存储器(DDR-SDRAM)实现外部存储器。在步骤750中,将系统切换到保密模式。本过程在步骤760结束。
图8更详细地示出了切换到保密模式的步骤(即图7的步骤750)。本过程开始于步骤810。在步骤820中,清除处理器状态。在步骤830中,将与处理器相关联的指令和数据超高速缓存设为无效状态。这可防止任何恰好驻留于这些缓存内的信息被处理器所执行。在步骤840中,将图像的上方和下方的地址界转发到存储器控制器,从而将执行限制在DDR-SRAM的下方n千字节。本过程在步骤850结束。
图9更详细地示出了保密执行的步骤(图6的步骤680)。本过程开始于步骤910。在步骤915中,使用基于每一个超高速缓存线的会话密钥对图像进行加密。在本发明的一个实施例中,本步骤使在CBC模式下用AES算法。此外,还可以此加密过程中使用AES的解密配置。这提供了整个图像加密过程中的错误校验。在步骤920中,将加密图像写入外部存储器。在步骤925中,取出一个指令超高速超高速缓存线,所述指令超高速缓存线是在地址边界内被取出的。在步骤930中,所述取出被存储器控制器所截取。在步骤935中,由保密控制器对该超高速缓存线进行解密。如果加密过程按解密模式使用AES/CBC算法,那么解密步骤935实际上会使用AES/CBC的加密模式。在步骤935对超高速缓存线进行解密之后,会在步骤940中确定得到的指令是否有效。如果无效,则在步骤945捕获该指令。否则,该指令准备在步骤955中执行。在步骤960中,将确定是否有需要取出并执行的附加指令,或者确定本过程是否中止。如果本过程已中止,则过程在步骤950结束。否则过程返回步骤925,以取出附加的超高速缓存线。
图10示出了本发明的另一种方法。本过程开始于步骤1005。在步骤1010中,从单板只读存储器(ROM)发起启动过程。在步骤1015中,将启动编码提交给保密模块。在步骤1020中,散列该启动码。在本步骤中,保密模块会保持该散列值。在步骤1025中,开始执行启动码。在步骤1030中,对压缩码进行压缩,从而使保密模块保持其得到的缓存值。在步骤1035中,标记散列值。在步骤1040中,将加密图像传输到外部存储器。如上所述,在本发明的一个实施例中,外部存储器可用DDR-SRAM实现。在步骤1045中,使用图像密钥解密所述解压缩码。在步骤1050中,执行该解压缩码。在步骤1055中,用图像密钥将剩余图像解密。在步骤1060中,根据需要对剩余图像进行解密。本过程在步骤1065结束。
IV.结论
虽然以上描述了本发明的不同实施例,应该理解它们是以示例而不是以限制的方式提出的。对于本领域的技术人员而言,显然能够在不脱离本发明宗旨和范围的条件下,做出各种改变和细化。因此,本发明不应局限于以上所描述的任何示例性实施例。
Claims (9)
1.一种用于保密执行处理器指令的系统,其特征在于,所述系统包括:
一个第一存储器,其中包含起动代码和用第一密钥加密的可执行编码;
一个保密嵌入式处理器系统,其中包括:
一个处理器;
一个与所述处理器通讯的指令超高速缓存;
一个与所述指令超高速缓存通讯的存储器控制器;以及
一个与所述指令超高速缓存通讯的保密控制器;和
一个第二存储器,它位于所述保密嵌入式处理器系统的外部,并与所述第一存储器、存储器控制器和保密控制器通讯,
其中,所述用第一密钥加密的可执行编码被传输至所述第二存储器,被所述保密控制器解密,并由所述保密控制器使用第二密钥重加密,用所述第二密钥加密的可执行编码的一个超高速缓存线从所述第二存储器被读取,再用所述第二密钥进行解密,然后存储在所述指令超高速缓存中,以被所述处理器执行;所述保密控制器中包括:
使用高级加密标准AES算法重加密所述可执行编码的逻辑电路;
使用所述AES算法解密所述超高速缓存线的逻辑电路;
所述用于重加密所述可执行编码的逻辑电路中包括实现所述AES算法的密码分组链接CBC模式的逻辑电路;且用于解密所述超高速缓存线的逻辑电路包括实现所述AES算法的CBC模式的逻辑电路;
所述用于重加密所述可执行编码的逻辑电路中,使用所述第二存储器的一个地址作为所述AES算法的初始化向量,其中所述地址对应于所述超高速缓存线在所述第二存储器中的位置;且所述用于解密所述超高速缓存线的逻辑电路中,使用所述地址作为初始化向量。
2.如权利要求1所述的系统,其特征在于,所述保密控制器中包括使用三重数据加密标准(3DES)算法和所述第一密钥对所述被加密的可执行编码进行解密的逻辑电路。
3.如权利要求1所述的系统,其特征在于,进一步包括一个密钥管理模块,其中包括:
以加密形式接收所述第一密钥的逻辑电路;
使用会话密钥对所述被加密的第一密钥进行解密的逻辑电路;
将所述第一密钥转发到所述保密控制器的逻辑电路。
4.一种提供处理器指令的保密执行的方法,其特征在于,包括以下步骤:
a.启动处理器,以将加密编码加载到外部存储器中;
b.使用第一加密密钥对所述加密编码中的未压缩部分进行解密,以产生解密未压缩码的第一部分;
c.执行所述解密未压缩码的第一部分;
d.使用所述第一加密密钥和所述解密未压缩码的第一部分对所述加密编码中的压缩部分进行解密,以产生一个可执行编码;
e.鉴别所述可执行编码;
f.解压缩该可执行编码从而使它占据外部存储器中的一部分,起点在第一地址并且终点在终端地址;以及
g.执行所述可执行编码的保密执行,所述步骤g包括以下步骤:;
i:使用AES算法分别加密每一个超高速缓存线;
ii:取出一个加密超高速缓存线;
iii:截取所述取出过程;
iv:使用AES算法解密所取出的加密超高速缓存线;
v:确定加密超高速缓存线是否有效;
vi:如果加密超高速缓存线无效,捕获该加密超高速缓存线;和
vii:如果加密超高速缓存线有效,执行所述加密超高速缓存线;
其中,每个超高速缓存线的AES算法的初始化向量是超高速缓存线在外部存储器中的地址。
5.如权利要求4所述的方法,其特征在于,其中使用三重数据加密标准(3DES)算法执行所述解密步骤b和d。
6.如权利要求4所述的方法,其特征在于,在执行步骤a以前,所述方法进一步包括以下步骤:
k.确定所述第一加密密钥是否失效,仅在所述第一加密密钥还没有失效的条件下,才执行所述步骤a-g。
7.如权利要求4所述的方法,其特征在于,在执行步骤a以前,所述方法进一步包括以下步骤:
h.产生加密编码。
8.如权利要求7所述的方法,其特征在于,所述步骤h中包括:
i.压缩所述可执行编码;
ii.对所述可执行编码进行散列处理以产生一个散列值;
iii.加密所述可执行编码;
iv.存储所述加密的可执行编码。
9.如权利要求8所述的方法,其特征在于,所述步骤ii.中,使用保密散列算法1(SHA-1)对所述可执行编码进行散列处理。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51832303P | 2003-11-10 | 2003-11-10 | |
US60/518,323 | 2003-11-10 | ||
US10/879,349 US7734932B2 (en) | 2003-11-10 | 2004-06-30 | System and method for securing executable code |
US10/879,349 | 2004-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1677922A CN1677922A (zh) | 2005-10-05 |
CN100542085C true CN100542085C (zh) | 2009-09-16 |
Family
ID=34468046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100920414A Expired - Fee Related CN100542085C (zh) | 2003-11-10 | 2004-11-09 | 保密可执行编码的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7734932B2 (zh) |
EP (1) | EP1536308A3 (zh) |
CN (1) | CN100542085C (zh) |
TW (1) | TWI298591B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035866A (zh) * | 2020-11-04 | 2020-12-04 | 湖北芯擎科技有限公司 | 一种数据加解密方法、装置、设备和计算机可读存储介质 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734932B2 (en) * | 2003-11-10 | 2010-06-08 | Broadcom Corporation | System and method for securing executable code |
EP1610490A1 (fr) * | 2004-06-21 | 2005-12-28 | France Telecom | Procédé et dispositif de chiffrement ou déchiffrement de données |
EP2005642A4 (en) * | 2006-04-07 | 2011-12-21 | Intel Corp | METHOD AND DEVICE FOR CONNECTING AN EXTERNAL CODE IMAGE WITH A PRIVATE ON-CHIP KEY |
EP1855476A3 (en) * | 2006-05-11 | 2010-10-27 | Broadcom Corporation | System and method for trusted data processing |
US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
US8150036B2 (en) * | 2007-10-31 | 2012-04-03 | Igt | Encrypted data installation |
US20090125726A1 (en) * | 2007-11-14 | 2009-05-14 | Mcm Portfolio Llc | Method and Apparatus of Providing the Security and Error Correction Capability for Memory Storage Devices |
JP2012508938A (ja) * | 2008-11-14 | 2012-04-12 | インテル・コーポレーション | セキュアなアプリケーション実行方法および装置 |
US8356184B1 (en) | 2009-06-25 | 2013-01-15 | Western Digital Technologies, Inc. | Data storage device comprising a secure processor for maintaining plaintext access to an LBA table |
TWI497344B (zh) * | 2010-05-17 | 2015-08-21 | Via Tech Inc | 微處理器及產生不可預測之鑰的方法 |
US8856504B2 (en) * | 2010-06-07 | 2014-10-07 | Cisco Technology, Inc. | Secure virtual machine bootstrap in untrusted cloud infrastructures |
JP2014513484A (ja) * | 2011-04-29 | 2014-05-29 | エルエスアイ コーポレーション | 暗号化トランスポート・ソリッドステート・ディスク・コントローラ |
US8839001B2 (en) * | 2011-07-06 | 2014-09-16 | The Boeing Company | Infinite key memory transaction unit |
GB2509422B (en) * | 2011-09-29 | 2020-12-30 | Hewlett Packard Development Co | Decryption and encryption of application data |
US9305142B1 (en) | 2011-12-19 | 2016-04-05 | Western Digital Technologies, Inc. | Buffer memory protection unit |
US8726044B2 (en) * | 2012-07-31 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Encrypting data on primary storage device and on cache storage device |
US9152577B2 (en) * | 2012-08-17 | 2015-10-06 | Broadcom Corporation | Security central processing unit management of a transcoder pipeline |
US9189411B2 (en) | 2012-12-28 | 2015-11-17 | Intel Corporation | Logging in secure enclaves |
US9747102B2 (en) * | 2012-12-28 | 2017-08-29 | Intel Corporation | Memory management in secure enclaves |
US9323686B2 (en) | 2012-12-28 | 2016-04-26 | Intel Corporation | Paging in secure enclaves |
US20140281587A1 (en) * | 2013-03-14 | 2014-09-18 | Ologn Technologies Ag | Systems, methods and apparatuses for using a secure non-volatile storage with a computer processor |
US9215067B2 (en) * | 2013-04-05 | 2015-12-15 | International Business Machines Corporation | Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters |
US9846656B2 (en) | 2013-04-17 | 2017-12-19 | Laurence H. Cooke | Secure computing |
US9280490B2 (en) | 2013-04-17 | 2016-03-08 | Laurence H. Cooke | Secure computing |
US9501668B2 (en) * | 2013-09-25 | 2016-11-22 | Intel Corporation | Secure video ouput path |
US9639671B2 (en) * | 2014-05-27 | 2017-05-02 | Assured Information Security, Inc. | Secure execution of encrypted program instructions |
US9703733B2 (en) | 2014-06-27 | 2017-07-11 | Intel Corporation | Instructions and logic to interrupt and resume paging in a secure enclave page cache |
CN104331671A (zh) * | 2014-10-30 | 2015-02-04 | 无锡市合鑫川自动化设备有限公司 | 计算机从设备安全代码加载的方法与系统 |
FR3030827B1 (fr) * | 2014-12-19 | 2017-01-27 | Stmicroelectronics (Grenoble 2) Sas | Procede et dispositif de traitement securise de donnees cryptees |
US9852301B2 (en) * | 2014-12-24 | 2017-12-26 | Intel Corporation | Creating secure channels between a protected execution environment and fixed-function endpoints |
CN105024805B (zh) * | 2015-07-24 | 2018-06-29 | 东南大学 | 一种改进的cbc模式3des加密方法 |
US9996479B2 (en) * | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US10311217B2 (en) * | 2016-12-09 | 2019-06-04 | Microsoft Technology Licensing, Llc | Application piracy prevention with secure enclave protection of automatically modularized functions |
EP3460709B1 (en) * | 2017-09-26 | 2022-02-09 | Secure-IC SAS | Devices and methods for secured processors |
CN109753821B (zh) * | 2017-11-01 | 2022-03-15 | 瑞昱半导体股份有限公司 | 数据存取装置及方法 |
KR20190075363A (ko) * | 2017-12-21 | 2019-07-01 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈 |
US10715321B2 (en) | 2017-12-22 | 2020-07-14 | Micron Technology, Inc. | Physical unclonable function using message authentication code |
US10552344B2 (en) | 2017-12-26 | 2020-02-04 | Intel Corporation | Unblock instruction to reverse page block during paging |
US10906506B2 (en) | 2017-12-28 | 2021-02-02 | Micron Technology, Inc. | Security of user data stored in shared vehicles |
US10924277B2 (en) * | 2018-01-25 | 2021-02-16 | Micron Technology, Inc. | Certifying authenticity of stored code and code updates |
US10778661B2 (en) | 2018-04-27 | 2020-09-15 | Micron Technology, Inc. | Secure distribution of secret key using a monotonic counter |
FR3094107B1 (fr) * | 2019-03-21 | 2021-02-26 | Commissariat Energie Atomique | Procédé d'exécution d'un code binaire d'une fonction sécurisée par un microprocesseur |
FR3095869B1 (fr) * | 2019-05-09 | 2021-04-09 | Commissariat Energie Atomique | Procédé d'exécution d'un code binaire d'une fonction sécurisée par un microprocesseur |
WO2021162792A1 (en) * | 2020-02-13 | 2021-08-19 | Intel Corporation | Cryptographic computing in multitenant environments |
US20230169020A1 (en) * | 2021-11-30 | 2023-06-01 | Honeywell International Inc. | Lzo decompression in external storage |
US12079622B2 (en) | 2022-01-05 | 2024-09-03 | Honeywell International Inc. | Interruptable BSDIFF delta decompression |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558176A (en) | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
US5359659A (en) | 1992-06-19 | 1994-10-25 | Doren Rosenthal | Method for securing software against corruption by computer viruses |
US5224166A (en) | 1992-08-11 | 1993-06-29 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
US5666411A (en) | 1994-01-13 | 1997-09-09 | Mccarty; Johnnie C. | System for computer software protection |
US5757915A (en) * | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
US5943421A (en) | 1995-09-11 | 1999-08-24 | Norand Corporation | Processor having compression and encryption circuitry |
US6141698A (en) * | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
US6003117A (en) * | 1997-10-08 | 1999-12-14 | Vlsi Technology, Inc. | Secure memory management unit which utilizes a system processor to perform page swapping |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6523118B1 (en) | 1998-06-29 | 2003-02-18 | Koninklijke Philips Electronics N.V. | Secure cache for instruction and data protection |
EP1014618A1 (en) * | 1998-07-30 | 2000-06-28 | Sony Corporation | Content processing system |
CN100405247C (zh) | 1999-03-03 | 2008-07-23 | 索尼公司 | 终端、数据处理设备和方法、数据处理设备的发送方法 |
JP4892167B2 (ja) * | 2000-07-18 | 2012-03-07 | シンプレックス メジャー センドリアン ベルハッド | ディジタル・データ保護構成 |
US6970565B1 (en) * | 2000-12-22 | 2005-11-29 | Xm Satellite Radio Inc. | Apparatus for and method of securely downloading and installing a program patch in a processing device |
US20020112158A1 (en) | 2001-02-14 | 2002-08-15 | Golchikov Andrey Vladimirovich | Executable file protection |
US7039814B2 (en) | 2001-03-07 | 2006-05-02 | Sony Corporation | Method for securing software via late stage processor instruction decryption |
US7117357B2 (en) * | 2001-06-27 | 2006-10-03 | International Business Machines Corporation | Method, system, and product for pre-encrypting static information transmitted by secure web sites |
DE60228027D1 (de) | 2001-07-06 | 2008-09-18 | Texas Instruments Inc | Sicherer Bootloader zum Sichern digitaler Geräte |
EP1276033B1 (de) * | 2001-07-10 | 2012-03-14 | Trident Microsystems (Far East) Ltd. | Speichereinrichtung mit Datenschutz in einem Prozessor |
US6996725B2 (en) * | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
CN100508601C (zh) * | 2002-02-08 | 2009-07-01 | 松下电器产业株式会社 | 用于数字项的ipmp方案描述的处理方法 |
US7266842B2 (en) * | 2002-04-18 | 2007-09-04 | International Business Machines Corporation | Control function implementing selective transparent data authentication within an integrated system |
US7509644B2 (en) * | 2003-03-04 | 2009-03-24 | Secure 64 Software Corp. | Operating system capable of supporting a customized execution environment |
US6986041B2 (en) * | 2003-03-06 | 2006-01-10 | International Business Machines Corporation | System and method for remote code integrity in distributed systems |
US7055039B2 (en) * | 2003-04-14 | 2006-05-30 | Sony Corporation | Protection of digital content using block cipher crytography |
US7321910B2 (en) * | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7472285B2 (en) * | 2003-06-25 | 2008-12-30 | Intel Corporation | Apparatus and method for memory encryption with reduced decryption latency |
US7734932B2 (en) | 2003-11-10 | 2010-06-08 | Broadcom Corporation | System and method for securing executable code |
-
2004
- 2004-06-30 US US10/879,349 patent/US7734932B2/en active Active
- 2004-11-04 EP EP04026195A patent/EP1536308A3/en not_active Withdrawn
- 2004-11-09 CN CNB2004100920414A patent/CN100542085C/zh not_active Expired - Fee Related
- 2004-11-10 TW TW093134287A patent/TWI298591B/zh not_active IP Right Cessation
-
2010
- 2010-06-01 US US12/791,619 patent/US8799678B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035866A (zh) * | 2020-11-04 | 2020-12-04 | 湖北芯擎科技有限公司 | 一种数据加解密方法、装置、设备和计算机可读存储介质 |
CN112035866B (zh) * | 2020-11-04 | 2021-07-23 | 湖北芯擎科技有限公司 | 一种数据加密方法、装置、设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1536308A3 (en) | 2006-05-31 |
TW200527872A (en) | 2005-08-16 |
US20050100163A1 (en) | 2005-05-12 |
US20100241841A1 (en) | 2010-09-23 |
EP1536308A2 (en) | 2005-06-01 |
US7734932B2 (en) | 2010-06-08 |
US8799678B2 (en) | 2014-08-05 |
CN1677922A (zh) | 2005-10-05 |
TWI298591B (en) | 2008-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100542085C (zh) | 保密可执行编码的系统和方法 | |
JP3747520B2 (ja) | 情報処理装置及び情報処理方法 | |
US8571220B2 (en) | Method and apparatus for securing data in a memory device | |
US8356188B2 (en) | Secure system-on-chip | |
US7835521B1 (en) | Secure keyboard | |
US20030084308A1 (en) | Memory encryption | |
US7406604B2 (en) | Method for protecting a memory card, and a memory card | |
CN101268650A (zh) | 在微控制器中用于数据安全性处理的方法和装置 | |
US8656191B2 (en) | Secure system-on-chip | |
US7841014B2 (en) | Confidential information processing method, confidential information processor, and content data playback system | |
CN111614467B (zh) | 系统后门防御方法、装置、计算机设备和存储介质 | |
KR20100120671A (ko) | 스마트 카드의 보안 | |
EP2629225A1 (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
CN101646168A (zh) | 数据加密方法、解密方法及移动终端 | |
US20180123789A1 (en) | Apparatus and method for generating a key in a programmable hardware module | |
JP2007249507A (ja) | 情報漏洩防止方法、情報漏洩防止システム及び情報端末 | |
JP2008242665A (ja) | 暗号化処理装置、暗号化処理方法及びファイル分割保存システム | |
JP2001142396A (ja) | 暗号化装置とその方法、暗号復号化装置とその方法および通信システム | |
US6971020B1 (en) | Circuit and method for the securing of a coprocessor dedicated to cryptography | |
JP4338185B2 (ja) | ファイルの暗号化・復号方法 | |
KR101808313B1 (ko) | 데이터 암호화 방법 | |
KR102343711B1 (ko) | 패시브 암호화 시스템 | |
JP2007158967A (ja) | 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム | |
JP2022119465A (ja) | 情報処理装置及び情報処理方法 | |
JPH07134548A (ja) | データ暗号化システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090916 Termination date: 20171109 |