CN100385366C - 用于减小加密延迟时间对标准通信的影响的方法和系统 - Google Patents

用于减小加密延迟时间对标准通信的影响的方法和系统 Download PDF

Info

Publication number
CN100385366C
CN100385366C CNB2005100702147A CN200510070214A CN100385366C CN 100385366 C CN100385366 C CN 100385366C CN B2005100702147 A CNB2005100702147 A CN B2005100702147A CN 200510070214 A CN200510070214 A CN 200510070214A CN 100385366 C CN100385366 C CN 100385366C
Authority
CN
China
Prior art keywords
data
crypto engine
sent
secure
storer
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
Application number
CNB2005100702147A
Other languages
English (en)
Other versions
CN1743993A (zh
Inventor
布鲁斯·L·比克马
杰米·R·库塞尔
罗伯特·A·希勒
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1743993A publication Critical patent/CN1743993A/zh
Application granted granted Critical
Publication of CN100385366C publication Critical patent/CN100385366C/zh
Expired - Fee Related 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/71Protecting 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/72Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)

Abstract

提供了可在系统中使用以减小与对数据加密相关联的延迟时间对不加密数据的影响的方法和系统。可以独立发送安全和不安全数据。因而,可以将不安全数据继续转发(例如,到目标写入缓冲器),而不等待对先前发送的安全数据进行加密。因此,与使用用于安全和不安全数据的共同数据路径的传统系统相比,可以更早地使不安全数据能够用于随后的处理。

Description

用于减小加密延迟时间对标准通信的影响的方法和系统
技术领域
本发明一般地涉及数据加密,并特别涉及用于减少与有选择地加密部分数据相关联的延迟时间的方法和装置。
背景技术
片上系统(SOC)通常在单个芯片上包括一个或多个集成的处理器内核、诸如高速缓冲存储器的某种类型的嵌入式存储器、以及诸如存储控制组件和外部总线接口的外围接口,以便形成完整的(或近乎完整的)系统。
作为增强的安全特征的一部分,一些SOC在将数据存储在外部存储器中之前将其某些部分加密。对SOC增加这种加密可以增加有价值的益处,例如防止黑客获得受版权保护的程序如视频游戏的指令(instruction)、或者可用来通过反向工程(reverse engineering)确定这种指令的数据。然而,因为传统加密方案通常使要加密的数据和不加密的数据(不加密数据)通过共同的顺序数据路径流出,所以增加加密通常影响系统性能。因此,不加密数据通常经历与加密数据相同的延迟时间。
该延迟时间可能给不加密数据的存储增加相当大的延迟。此外,该延迟时间可能在加密先前的数据时阻碍对不加密数据随后的存储。因此,需要用来使加密延迟时间导致的对不加密数据的性能影响最小化的机制。
发明内容
本发明一般地提供这样的方法和装置,其可以利用加密存储区域提高系统性能,同时保证将加密和不加密数据正确写入到其各自的存储器位置。
本发明提供一种减小与对安全数据加密相关联的延迟时间对在存储器中存储不安全数据的影响的方法,包括:接收要存储到存储器中的第一数据;如果第一数据是安全的,则将第一数据发送到加密引擎,以在将第一数据存储到存储器中之前进行加密;以及如果第一数据是不安全的,则绕开加密引擎而将第一数据发送到存储器,而不管加密引擎是否正在对该第一数据之前接收的数据进行加密。
本发明还提供一种减小与对安全数据加密相关联的延迟时间对在存储器中存储不安全数据的影响的方法,包括:接收要存储到存储器中的第一组包含一个或多个指令的指令中包含的安全数据;将安全数据发送到加密引擎,以进行加密;在接收到安全数据之后,接收要存储到存储器中的第二组包含一个或多个指令的指令中包含的不安全数据;以及在接收到以加密形式从加密引擎返回的安全数据之前,绕开加密引擎而将不安全数据发送到存储器。
本发明还提供一种用于减小与对安全数据加密相关联的延迟时间对在存储器中存储不安全数据的影响的系统,包括:缓冲设备;加密引擎;通过加密引擎的第一数据路径,用于要在存储到存储器中之前加密的安全数据;绕开加密引擎的第二数据路径,用于要存储到存储器中的未加密的不安全数据;以及数据流控制电路,配置为接收要存储到存储器中的第一数据,如果第一数据是安全的,则将第一数据发送到第一数据路径,如果第一数据是不安全的,则将第一数据发送到第二数据路径。
本发明还提供一种片上系统,包括:一个或多个处理器内核;加密引擎;一个或多个写入缓冲器;以及数据流控制电路,配置为经由通过加密引擎的第一数据路径将第一存储指令中包含的安全数据发送到一个或多个写入缓冲器,而经由绕开加密引擎的第二数据路径将在第一存储指令之后发出的第二存储指令中包含的不安全数据发送到一个或多个写入缓冲器,其中,不安全数据在安全数据之前到达一个或多个写入缓冲器。
附图说明
因此,通过参考在附图中示出的本发明的实施例,可以得到获得并可详细理解本发明的上述特征、优点和目的的方式,对在上面简要概括的本发明的更具体的描述。
然而,应当注意,附图仅图示了本发明的典型实施例,从而不应被视为限制其范围,这是因为本发明可接受其它同等有效的实施例。
图1示出可使用本发明的实施例的包括中央处理单元(CPU)的示例系统。
图2是根据本发明一个实施例的CPU的组件的方框图。
图3是根据本发明一个实施例的CPU的加密数据路径的方框图。
图4是根据本发明一个实施例的用于减少与数据加密相关联的延迟时间的示例操作的流程图。
具体实施方式
可以在多种系统中使用本发明的实施例,以减小与对数据进行加密相关联的延迟时间对处理不加密数据的影响。可以独立地发送安全(要加密)和不安全(不加密)数据,而不是将安全和不安全数据都沿着共同的数据路径发送。因而,可以将不安全数据继续转发(例如,到目标写入缓冲器),而不等待对先前发送的安全数据加密。因此,与对安全和不安全数据使用共同数据路径的传统系统相比,可以更早地使不安全数据对随后的处理可用。
在以下描述中,对本发明的实施例进行介绍。然而,应当理解,本发明不限于所描述的特定实施例。而是,以下特征和要素的任何组合,不管其是否涉及不同的实施例,均被视为实施和实践本发明。此外,在各种实施例中,本发明提供了相对于现有技术的众多优点。然而,尽管本发明的实施例可获得相对于其它可能方案和/或现有技术的优点,但特定优点是否由给定实施例获得不是对本发明的限制。因而,以下方面、特征、实施例和优点仅仅是说明性的,并且,除非明确提出,否则不应被视为所附权利要求的要素或限制。
示例系统
现在参考图1,图示了可使用本发明的实施例的包括中央处理单元(CPU)110的示例计算机系统100。如图所示,CPU110可包括一个或多个处理器内核112,每个处理器内核可包括任何数量的不同种类的功能单元,包括但不限于算术逻辑单元(ALU)、浮点单元(FPU)和单指令多数据(SIMD)单元。使用多个处理器内核的CPU示例包括可从纽约阿芒克(Armonk,NY)的国际商业机器公司(IBM)获得的CPU的PowerPC线(line)。
如图所示,每个处理器内核112可具有对其自己的初级(primary)(L1)高速缓存114的访问权,并且可选地可以共享更大的二级(secondary)(L2)高速缓存116。通常,可以将由处理器内核112使用的数据副本本地存储在L2高速缓存116中,从而避免对外部主存储器140的相对较慢的访问或减少所述访问的数量。类似地,可以将处理器内核112经常使用的数据存储在其L1高速缓存114中,从而避免对L2高速缓存116的相对较慢的访问或减少所述访问的数量。
CPU110可通过系统或前端总线(FSB)128与外部设备如图形处理单元(GPU)130和/或存储控制器136通信。CPU110可包括FSB接口120,以便经由FSB128(通过L2高速缓存)在外部设备和处理内核112之间传递数据。GPU130上的FSB接口132可具有与FSB接口120相似的组件,并配置为与一个或多个图形处理器134、输入输出(I/O)单元138和存储控制器136(其被说明性地示出为与GPU130集成)交换数据。
如图所示,FSB接口120可包括物理层122、链路层124和事务层126。物理层122可包括用于实施通过FSB128接收和发送数据所必需的硬件协议的硬件组件。物理层122可与链路层124交换数据,其中,链路层124可以将从事务层126接收的或要发送到事务层126的数据格式化。如图所示,事务层126可以经由核心总线接口(CBI)118与处理器内核112交换数据。
如前所述,作为增强的安全特征的一部分,CPU110可以在将数据存储在主存储器140中之前将在此称为安全数据的某些部分的数据加密(这种数据加密部分被说明性地示出为主存储器140中的受保护数据142)。因此,CPU110可包括安全组件150,用于在通过FSB接口120经FSB128传送之前将这种数据加密。当稍后恢复(retrieval)加密数据时,也可以在将该加密数据传递到L2高速缓存116以供一个或多个处理器内核112使用之前,使用安全组件150将其解密。如将在下面更详细地描述的,对于某些实施例,CPU110可包括数据流控制电路,其被配置为把在存储在主存储器140中之前要加密的安全数据独立地发送到安全组件150以便加密,同时绕过(绕开)该安全组件而发送不安全数据。
如图2所示,可以建立多个数据流(也称作虚拟信道),以在处理器内核112和外部设备之间交换数据。建立分离的流可以改善整个系统性能,例如,允许一个处理内核传输数据而另一个处理内核处理数据(而不传输数据)。如图所示,多个流可以共享共同的缓冲池(buffer pool)210,其中,每个流使用缓冲池210中它自己的部分,从而实际上建立分离的缓冲器211-217。
对于某些实施例,可以通过FSB来发送数据作为分组。因此,链路层124可包含诸如被配置为将从事务层126接收的数据编码为分组或“分组化”的分组编码器233、以及将从物理层122接收的数据分组进行解码的分组解码器234的电路。如图所示,物理层122可包括分别用于生成和接收这种分组的串行化器243和解串行化器244。通常,分组解码器234将包括分组验证组件235,其被配置为例如通过比较对所接收的数据计算的校验和与该数据分组中包含的校验和,来检查所接收的数据分组的数据传输错误。
分组解码器234可将所接收的数据转发到一个或多个接收缓冲器215-217。如图所示,诸如发送到缓冲器215和216的数据请求和响应命令的一些数据可以不加密,从而可被直接传递给高速缓存116。另一方面,响应数据可包括加密和不加密数据。尽管可以将不加密数据直接传递给高速缓存116,但必须首先将加密数据251解密。因此,可以将加密数据251发送到解密引擎154。
解密引擎154可以将加密数据251解密,并将解密的数据252传回。如图所示,可以使用多路复用器电路253将解密的数据252与不加密数据合并,并将其传递给高速缓存116。例如,当可获得解密的数据252以将其传递给高速缓存116时,解密引擎154可以向多路复用器电路253断言(assert)信号。对于某些实施例,事务层126可包括被配置为在接收和验证整个数据分组之前将所接收的加密数据251通过管道传递给解密引擎154的逻辑。在同此提交并通过引用而整体合并于此的、标题为“Low-Latency Data DecryptionInterface(低延迟时间数据解密接口)”的公共转让且同样未决的中请(代理人文档第ROC920040013号)中,对这种逻辑进行了详细描述。
减小加密延迟时间对标准通信的影响
如前所述,在将安全数据外部存储在例如主存储器140中之前将其加密。因此,如图2所示,FSB事务层126可包括数据流控制电路260,其被配置为将未加密的安全数据254发送到加密引擎152。然后,加密引擎152可返回数据流控制电路260可随后转发到写入缓冲器213的加密数据256。然后,分组编码器233可以从写入缓冲器213访问该加密数据,并通过串行化器243生成要通过FSB发送出去的数据分组。
数据流控制电路260可被配置为接收和发送安全和不安全数据。尽管加密操作可能涉及相当大的延迟时间,但是可以将数据流控制电路260配置为尽力独立发送安全和不安全数据,以减小加密延迟时间对不安全数据的影响。如图所示,实际上,数据流控制电路260提供从CBI到写入缓冲器213的不同数据路径,其中,安全数据沿第一路径(通过加密引擎152)发送,而不安全数据沿第二路径发送。
图3图示数据流控制电路260的一个实施例,其可用来通过多路复用器262-265(MUX0-3)的布置独立发送安全和不安全数据。如图所示,数据流控制电路260可以从CBI接收例如在处理器内核发出的存储指令中包含的数据。如图所示,地址和命令数据可由说明性地(例如通过控制多路复用器262-265的信号)控制数据流控制电路260的操作的其它组件如命令解码器270、安全数据控制电路272和数据缓冲器写入控制器273接收。
可以同时参考图3和图4来描述数据流控制电路260通过多路复用器262-265的操作,其中,图4图示了用于独立发送安全和不安全数据的示例操作400。为了帮助理解,将图4示出的操作之一涉及的图3示出的一个或多个多路复用器在操作下面列出。在步骤402,操作400以接收存储指令中包含的数据开始。如图所示,数据流控制电路260可包括位于各种位置的锁存电路261,以便临时保存所接收的数据,直到所需的资源可用为止。
在步骤404,确定所接收的数据是安全的还是不安全的。可以使用任何合适的技术来确定数据是否是安全的。例如,可以为安全数据预留特定的地址范围。因此,安全数据控制器272可以通过检查包含该数据的指令的地址来识别安全数据。作为另一示例,可以通过页表项(page table entry)中的一个或多个位设置来识别安全数据,所述位设置指示例如对应的高速缓存线是安全的。
如果数据是安全的,则在步骤406经过加密引擎发送数据。如图3所示,可以将安全数据通过MUX0 262发送到加密引擎,其中,可以由安全数据控制电路272生成的信号来控制MUX0 262。换句话说,响应于(例如,基于数据将被写入的地址)将数据识别为安全的,安全数据控制电路272可生成mux控制信号,以便将数据发送给加密引擎152。在某些情况下,可以包括可选的锁存电路261,以支持延迟时间大于传递数据分组的时间的加密引擎。
一旦从加密引擎152返回了加密数据,如果步骤408确定包含安全数据的存储指令目标所指的写入缓冲器213可用(即,该缓冲器尚未被写入),则在步骤412,将加密数据发送到该可用的写入缓冲器。换句话说,用于缓冲的阵列通常只有单个写入端口。因此,在任何给定时间,只有一组写入数据可以通过。如图所示,可以将来自加密引擎152的加密数据经由MUX2 264和MUX3 265直接发送到写入缓冲器213。换句话说,不管加密过程涉及的延迟时间量如何,都可以在对标准数据流有很小的影响或者没有影响的情况下,将加密数据合并回标准(例如未加密的)数据流中。
然而,如果目标写入缓冲器213不可用(即,当前该缓冲器正被写入),则在步骤410,可以将加密数据发送到保持缓冲器274,在那里,可以保持加密数据,直到缓冲器213可用为止。目标写入缓冲器213可能因数据流控制电路260可能正在将其它加密数据或不加密数据发送到目标写入缓冲器213而不可用。可以将加密数据从加密引擎152经由MUX1 263发送到数据保持缓冲器274。如图所示,到控制MUX1-3 262-264的信号可由数据缓冲器写入控制电路273生成,其中,数据缓冲器写入控制电路273可以监控写入缓冲器213的可用性。换句话说,数据缓冲器写入控制电路273可以在保持缓冲器274中保持加密数据,直到检测到通向写入缓冲器的通信的间隙为止。一旦检测到这一间隙,就可以将保持缓冲器274中的数据写入到写入缓冲器213中。
回到步骤404,如果数据流控制电路260接收到的数据是不安全的,那么如果在步骤414确定目标写入缓冲器213可用,则在步骤418,可以将该不安全数据直接发送到目标写入缓冲器213。如图所示,可以将不加密数据经由MUX2 264和MUX3 265直接发送到写入缓冲器213。如果目标写入缓冲器213不可用,则在步骤416,可以将不安全/不加密数据发送到保持缓冲器274,在那里,可以保持该不安全/不加密数据,直到写入缓冲器213可用为止。如前所述,可以将数据从数据保持缓冲器274经由MUX3 265发送到写入缓冲器213。
指令排序
如在此描述的,通过独立发送安全和不安全数据,即使来自先前发送的存储指令的安全数据正由加密引擎152加密,也可以在因加密延迟时间而导致的影响很小或者没有这种影响的情况下,将不安全数据发送到写入缓冲器。使用在此描述的电路,可以将加密数据合并回标准通信流,而不管加密所需的延迟时间周期的数量。
然而,作为结果,数据可以按照与其流入流控制电路260不同的顺序流出数据流控制电路260。换句话说,随后发出的、包含不安全数据的存储指令可能在先前发出的、包含必须首先被加密的安全数据的存储指令之前退出流控制电路。对于某些实施例,这些指令可能被无顺序地处理,而对于其它实施例,可能施行严格的排序。
无论怎样,都可以保持包含被传递到加密引擎的数据的存储指令的地址,以确保检查包含共同地址(例如,地址冲突)的存储和加载指令的适当系统顺序。换句话说,如果在修改某地址处的数据的存储指令之后跟随着从相同地址读取数据的加载指令,则可以将逻辑配置为确保在加载指令之前发出存储指令,以避免加载指令读取无效数据。对于某些实施例,可以将数据缓冲器写入控制器273配置为检测地址冲突,并发信号通知命令解码器,所述命令解码器可以例如重新安排加载指令。
根据实施例,在此描述的流控制逻辑可被配置为在第一组加密数据返回之前处理不同数量的存储命令。对于某些实施例,可以将流控制逻辑简化为一次只允许一个存储指令通过加密路径,这可以将所述逻辑简化(例如,需要较小的缓冲器),并且对于加密带宽需求低的应用是可以接受的。对于其它实施例,更复杂的电路可以为要通过加密路径发送的更大数量的存储指令留有余地,这可用来更充分地使上游逻辑免受加密路径的性能限制的影响。
结论
通过独立发送安全数据(要加密)和不安全数据(不加密),可以将存储指令中包含的安全数据发送到加密引擎,而不阻碍随后发出的存储指令中包含的不安全数据。随后可以将从加密引擎返回的加密的安全数据与不安全数据合并回去。从而可以减小与传统加密机制相关联的时间延迟对不安全数据的影响。
尽管上文针对本发明的实施例,但可以在不脱离本发明的基本范围的情况下,设计本发明的其它和另外的实施例,而本发明的范围由所附权利要求确定。
相关申请交叉引用
本申请涉及题为“Low-Latency Data Decryption Interface(低延迟时间数据解密接口)”的公共转让且同样未决的申请(代理人文档第ROC920040013号),在此一同提交,并通过引用而将其全部合并于此。

Claims (20)

1.一种减小与对安全数据加密相关联的延迟时间对在存储器中存储不安全数据的影响的方法,包括:
接收要存储到存储器中的第一数据;
如果第一数据是安全的,则将第一数据发送到加密引擎,以在将第一数据存储到存储器中之前进行加密;以及
如果第一数据是不安全的,则绕开加密引擎而将第一数据发送到存储器,而不管加密引擎是否正在对该第一数据之前接收的数据进行加密。
2.如权利要求1所述的方法,其特征在于,第一数据是安全的,并且该方法还包括:
在接收到第一数据之后,接收要存储的第二数据;
确定该第二数据是不安全的;
将第二数据发送到存储器;以及
随后接收以加密形式从加密引擎返回的第一数据。
3.如权利要求2所述的方法,其特征在于,第一数据是安全的,并且该方法还包括:
在接收到第二数据之后,接收要存储的第三数据;
确定该第三数据是不安全的;以及
在接收以加密格式从加密引擎返回的第一数据之前,将第三数据发送到存储器。
4.如权利要求1所述的方法,还包括:如果对应于第一数据的第一存储地址在为安全数据保留的预定地址范围内,则确定第一数据是安全的。
5.一种减小与对安全数据加密相关联的延迟时间对在存储器中存储不安全数据的影响的方法,包括:
接收要存储到存储器中的第一组包含一个或多个指令的指令中包含的安全数据;
将安全数据发送到加密引擎,以进行加密;
在接收到安全数据之后,接收要存储到存储器中的第二组包含一个或多个指令的指令中包含的不安全数据;以及
在接收到以加密形式从加密引擎返回的安全数据之前,绕开加密引擎而将不安全数据发送到存储器。
6.如权利要求5所述的方法,其特征在于,将不安全数据发送到存储器包括:将不安全数据发送到写入缓冲器。
7.如权利要求6所述的方法,还包括:
接收以加密形式从加密引擎返回的安全数据;以及
将加密形式的安全数据发送到写入缓冲器。
8.如权利要求7所述的方法,还包括:
确定写入缓冲器是否可用于接收安全数据;以及
如果不可用,则在将加密形式的安全数据发送到写入缓冲器之前,将加密形式的安全数据发送到保持缓冲器。
9.如权利要求8所述的方法,还包括:
确定写入缓冲器是否可用于接收不安全数据;以及
如果不可用,则在将不安全数据发送到存储器之前,将不安全数据发送到保持缓冲器。
10.一种用于减小与对安全数据加密相关联的延迟时间对在存储器中存储不安全数据的影响的系统,包括:
缓冲设备;
加密引擎;
通过加密引擎的第一数据路径,用于要在存储到存储器中之前加密的安全数据;
绕开加密引擎的第二数据路径,用于要存储到存储器中的未加密的不安全数据;以及
数据流控制电路,配置为接收要存储到存储器中的第一数据,如果第一数据是安全的,则将第一数据发送到第一数据路径,如果第一数据是不安全的,则将第一数据发送到第二数据路径。
11.如权利要求10所述的系统,其特征在于:
第一数据是安全数据;以及
数据流控制电路被配置为在第一数据以加密的形式退出加密引擎之前将在第一数据之后接收的不安全的第二数据发送到第二数据路径。
12.如权利要求10所述的系统,其特征在于,第一和第二数据路径在一个或多个写入缓冲器处合并。
13.如权利要求12所述的系统,还包括保持缓冲器,用于在所述一个或多个写入缓冲器之前有选择地接收从加密引擎来的数据或绕开加密引擎的数据。
14.如权利要求13所述的系统,其特征在于,数据流控制电路还包括一个或多个多路复用器,用于有选择地将数据从保持缓冲器发送到所述一个或多个写入缓冲器。
15.如权利要求13所述的系统,其特征在于,第一和第二数据路径每个都具有到保持缓冲器的分支。
16.一种片上系统,包括:
一个或多个处理器内核;
加密引擎;
一个或多个写入缓冲器;以及
数据流控制电路,配置为经由通过加密引擎的第一数据路径将第一存储指令中包含的安全数据发送到所述一个或多个写入缓冲器,而经由绕开加密引擎的第二数据路径将在第一存储指令之后发出的第二存储指令中包含的不安全数据发送到所述一个或多个写入缓冲器,其中,不安全数据在安全数据之前到达所述一个或多个写入缓冲器。
17.如权利要求16所述的片上系统,其特征在于,数据流控制电路配置为基于存储指令中包含的地址确定该存储指令中包含的数据是安全的。
18.如权利要求16所述的片上系统,还包括保持缓冲器,用于接收从加密引擎来的加密形式的安全数据或绕开加密引擎的不安全数据。
19.如权利要求18所述的片上系统,其特征在于,数据流控制电路包括一个或多个多路复用器,以基于所述一个或多个写入缓冲器的可用性,有选择地将加密形式的安全数据从加密引擎发送到所述一个或多个写入缓冲器或者保持缓冲器。
20.如权利要求18所述的片上系统,其特征在于,数据流控制电路包括一个或多个多路复用器,以基于所述一个或多个写入缓冲器的可用性,有选择地将不安全数据发送到保持缓冲器。
CNB2005100702147A 2004-09-02 2005-05-11 用于减小加密延迟时间对标准通信的影响的方法和系统 Expired - Fee Related CN100385366C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/932,943 2004-09-02
US10/932,943 US7496753B2 (en) 2004-09-02 2004-09-02 Data encryption interface for reducing encrypt latency impact on standard traffic

Publications (2)

Publication Number Publication Date
CN1743993A CN1743993A (zh) 2006-03-08
CN100385366C true CN100385366C (zh) 2008-04-30

Family

ID=35944861

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100702147A Expired - Fee Related CN100385366C (zh) 2004-09-02 2005-05-11 用于减小加密延迟时间对标准通信的影响的方法和系统

Country Status (3)

Country Link
US (2) US7496753B2 (zh)
CN (1) CN100385366C (zh)
TW (1) TWI357014B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526595B2 (en) * 2002-07-25 2009-04-28 International Business Machines Corporation Data path master/slave data processing device apparatus and method
US7409558B2 (en) * 2004-09-02 2008-08-05 International Business Machines Corporation Low-latency data decryption interface
US7496753B2 (en) * 2004-09-02 2009-02-24 International Business Machines Corporation Data encryption interface for reducing encrypt latency impact on standard traffic
US8144868B2 (en) * 2005-05-25 2012-03-27 Zenith Electronics Llc Encryption/decryption of program data but not PSI data
US8189786B2 (en) * 2005-05-25 2012-05-29 Zenith Electronics Llc Encryption system
JP2006352676A (ja) * 2005-06-17 2006-12-28 Toshiba Corp 情報処理装置およびその制御方法
US9773431B2 (en) * 2009-11-10 2017-09-26 Maxim Integrated Products, Inc. Block encryption security for integrated microcontroller and external memory system
US20110202740A1 (en) * 2010-02-17 2011-08-18 Arm Limited Storing secure page table data in secure and non-secure regions of memory
US8395416B2 (en) * 2010-09-21 2013-03-12 Intel Corporation Incorporating an independent logic block in a system-on-a-chip
US9554110B1 (en) * 2013-03-15 2017-01-24 Western Digital Technologies, Inc. Methods and controllers for controlling a data storage device and data storage device comprising the same
TWI510046B (zh) * 2013-07-04 2015-11-21 Univ Nat Cheng Kung 認證式加解密方法
KR102263880B1 (ko) * 2014-06-19 2021-06-11 삼성전자주식회사 호스트 컨트롤러 및 시스템-온-칩
CN106125436B (zh) 2016-08-31 2019-09-20 京东方科技集团股份有限公司 一种阵列基板、显示面板及制作方法
CN107256363B (zh) * 2017-06-13 2020-03-06 杭州华澜微电子股份有限公司 一种由加解密模块阵列组成的高速加解密装置
CN107968775B (zh) * 2017-10-18 2021-04-13 北京全路通信信号研究设计院集团有限公司 数据处理方法、装置、计算机设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004904A1 (en) * 2000-05-11 2002-01-10 Blaker David M. Cryptographic data processing systems, computer program products, and methods of operating same in which multiple cryptographic execution units execute commands from a host processor in parallel
WO2002037239A2 (en) * 2000-11-02 2002-05-10 Artec Design Group OÜ Data encryption device based on protocol analysis
CN1521638A (zh) * 2003-02-04 2004-08-18 ���µ�����ҵ��ʽ���� 信息处理设备
CN1525684A (zh) * 2003-02-25 2004-09-01 由不同用户对数据进行加密和解密的方法

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
US5303302A (en) * 1992-06-18 1994-04-12 Digital Equipment Corporation Network packet receiver with buffer logic for reassembling interleaved data packets
US5268962A (en) * 1992-07-21 1993-12-07 Digital Equipment Corporation Computer network with modified host-to-host encryption keys
US5796976A (en) * 1993-05-04 1998-08-18 Digital Equipment Corporation Temporary storage having entries smaller than memory bus
US5337357A (en) * 1993-06-17 1994-08-09 Software Security, Inc. Method of software distribution protection
US5996062A (en) * 1993-11-24 1999-11-30 Intergraph Corporation Method and apparatus for controlling an instruction pipeline in a data processing system
US5563946A (en) * 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US5646687A (en) * 1994-12-29 1997-07-08 Lucent Technologies Inc. Temporally-pipelined predictive encoder/decoder circuit and method
JP4084428B2 (ja) * 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
US5721871A (en) * 1996-02-09 1998-02-24 Motorola, Inc. Memory system ensuring coherency for memory buffers in a data communication system
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
DE19724072C2 (de) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Vorrichtung zur Durchführung eines Blockchiffrierverfahrens
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US5961626A (en) * 1997-10-10 1999-10-05 Motorola, Inc. Method and processing interface for transferring data between host systems and a packetized processing system
EP0920204B1 (en) * 1997-11-24 2006-02-15 STMicroelectronics S.r.l. MPEG-2 decoder with reduced RAM requisite by recompression using adaptive tree search vector quantization
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
US7739381B2 (en) * 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6272609B1 (en) * 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6477646B1 (en) * 1999-07-08 2002-11-05 Broadcom Corporation Security chip architecture and implementations for cryptography acceleration
US20030014627A1 (en) * 1999-07-08 2003-01-16 Broadcom Corporation Distributed processing in a cryptography acceleration chip
TW546935B (en) * 1999-08-30 2003-08-11 Nagracard Sa Multi-module encryption method
US6925563B1 (en) * 1999-09-22 2005-08-02 Raytheon Company Multiplication of modular numbers
US6870929B1 (en) * 1999-12-22 2005-03-22 Juniper Networks, Inc. High throughput system for encryption and other data operations
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
US7362859B1 (en) * 2000-10-06 2008-04-22 Sandia Corporation Enhancement of utilization of encryption engine
US6931543B1 (en) * 2000-11-28 2005-08-16 Xilinx, Inc. Programmable logic device with decryption algorithm and decryption key
US6751756B1 (en) * 2000-12-01 2004-06-15 Unisys Corporation First level cache parity error inject
US20020087724A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A Fatpipe Networks Combining connections for parallel access to multiple frame relay and other private networks
US7017064B2 (en) * 2001-05-09 2006-03-21 Mosaid Technologies, Inc. Calculating apparatus having a plurality of stages
US7360076B2 (en) * 2001-06-13 2008-04-15 Itt Manufacturing Enterprises, Inc. Security association data cache and structure
US7266703B2 (en) * 2001-06-13 2007-09-04 Itt Manufacturing Enterprises, Inc. Single-pass cryptographic processor and method
US20030200343A1 (en) * 2001-07-02 2003-10-23 Globespan Virata Incorporated Communications system using rings architecture
US7260217B1 (en) * 2002-03-01 2007-08-21 Cavium Networks, Inc. Speculative execution for data ciphering operations
US7305567B1 (en) * 2002-03-01 2007-12-04 Cavium Networks, In. Decoupled architecture for data ciphering operations
US20030196081A1 (en) * 2002-04-11 2003-10-16 Raymond Savarda Methods, systems, and computer program products for processing a packet-object using multiple pipelined processing modules
US20060242313A1 (en) * 2002-05-06 2006-10-26 Lewiz Communications Network content processor including packet engine
JP2004140482A (ja) * 2002-10-16 2004-05-13 Fujitsu Ltd 暗号通信を行うノード装置、暗号通信システムおよび方法
US7324547B1 (en) * 2002-12-13 2008-01-29 Nvidia Corporation Internet protocol (IP) router residing in a processor chipset
US7362772B1 (en) * 2002-12-13 2008-04-22 Nvidia Corporation Network processing pipeline chipset for routing and host packet processing
US7188250B1 (en) * 2002-12-13 2007-03-06 Nvidia Corporation Method and apparatus for performing network processing functions
US7397797B2 (en) * 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US20040218760A1 (en) * 2003-01-03 2004-11-04 Chaudhuri Parimal Pal System and method for data encryption and compression (encompression)
US7603549B1 (en) * 2003-02-11 2009-10-13 Cpacket Networks Inc. Network security protocol processor and method thereof
US7320069B1 (en) * 2003-02-14 2008-01-15 Novell, Inc. Selective encryption of media data
JP4551635B2 (ja) * 2003-07-31 2010-09-29 ソニー株式会社 パイプライン処理システムおよび情報処理装置
JP2005078656A (ja) * 2003-08-29 2005-03-24 Sony Corp パイプライン処理システムおよび情報処理装置
JP4082300B2 (ja) * 2003-08-29 2008-04-30 ソニー株式会社 パイプライン処理システムおよび情報処理装置
JP4263976B2 (ja) * 2003-09-24 2009-05-13 株式会社東芝 オンチップマルチコア型耐タンパプロセッサ
US7412726B1 (en) * 2003-12-08 2008-08-12 Advanced Micro Devices, Inc. Method and apparatus for out of order writing of status fields for receive IPsec processing
US7580519B1 (en) * 2003-12-08 2009-08-25 Advanced Micro Devices, Inc. Triple DES gigabit/s performance using single DES engine
US7545928B1 (en) * 2003-12-08 2009-06-09 Advanced Micro Devices, Inc. Triple DES critical timing path improvement
US7512787B1 (en) * 2004-02-03 2009-03-31 Advanced Micro Devices, Inc. Receive IPSEC in-line processing of mutable fields for AH algorithm
US7685434B2 (en) * 2004-03-02 2010-03-23 Advanced Micro Devices, Inc. Two parallel engines for high speed transmit IPsec processing
US7406595B1 (en) * 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
US7502474B2 (en) * 2004-05-06 2009-03-10 Advanced Micro Devices, Inc. Network interface with security association data prefetch for high speed offloaded security processing
US7526085B1 (en) * 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
US7409558B2 (en) * 2004-09-02 2008-08-05 International Business Machines Corporation Low-latency data decryption interface
US7496753B2 (en) * 2004-09-02 2009-02-24 International Business Machines Corporation Data encryption interface for reducing encrypt latency impact on standard traffic
JP4316515B2 (ja) * 2005-02-02 2009-08-19 株式会社東芝 量子計算機及び量子計算方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020004904A1 (en) * 2000-05-11 2002-01-10 Blaker David M. Cryptographic data processing systems, computer program products, and methods of operating same in which multiple cryptographic execution units execute commands from a host processor in parallel
WO2002037239A2 (en) * 2000-11-02 2002-05-10 Artec Design Group OÜ Data encryption device based on protocol analysis
CN1521638A (zh) * 2003-02-04 2004-08-18 ���µ�����ҵ��ʽ���� 信息处理设备
CN1525684A (zh) * 2003-02-25 2004-09-01 由不同用户对数据进行加密和解密的方法

Also Published As

Publication number Publication date
US7496753B2 (en) 2009-02-24
US20060047975A1 (en) 2006-03-02
TWI357014B (en) 2012-01-21
TW200629139A (en) 2006-08-16
US20090144564A1 (en) 2009-06-04
CN1743993A (zh) 2006-03-08

Similar Documents

Publication Publication Date Title
CN100385366C (zh) 用于减小加密延迟时间对标准通信的影响的方法和系统
JP6998435B2 (ja) メモリ動作の暗号化
JP4870952B2 (ja) 待ち時間の少ないデータ暗号解除インターフェース
US5828753A (en) Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
JP4684550B2 (ja) 多数の動作モードを支援する暗号化装置
CN110825672B (zh) 用于联机加密处理的高性能自主硬件引擎
US10943020B2 (en) Data communication system with hierarchical bus encryption system
JP2005099984A (ja) オンチップマルチコア型耐タンパプロセッサ
US20060015753A1 (en) Internal RAM for integrity check values
US11748493B2 (en) Secure asset management system
US20240028775A1 (en) Hardware protection of inline cryptographic processor
US20080080715A1 (en) Apparatus and method for high-speed, large-volume data encryption using secure memory
CN112948840A (zh) 一种访问控制设备和包含该设备的处理器
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
US20150363334A1 (en) Speculative cryptographic processing for out of order data
CN102314563A (zh) 一种计算机硬件体系结构
KR20090059602A (ko) 세션 메모리 버스를 구비한 암호화 장치
EP3945437B1 (en) Method and system for improving efficiency of protecting multi-content process
US20240073013A1 (en) High performance secure io
CN114978714B (zh) 基于risc-v的轻量级数据总线加密安全传输方法
JP2002215459A (ja) ディジタル回路
Peacock Features and utilization of Motorola's advanced INFOSEC machine, AIM, in embedded encryption applications
Prathiba et al. Research Article Secured Communication System Architecture Using Light Weight Algorithms

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: 20080430