CN108604214A - 用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE) - Google Patents
用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE) Download PDFInfo
- Publication number
- CN108604214A CN108604214A CN201680080676.3A CN201680080676A CN108604214A CN 108604214 A CN108604214 A CN 108604214A CN 201680080676 A CN201680080676 A CN 201680080676A CN 108604214 A CN108604214 A CN 108604214A
- Authority
- CN
- China
- Prior art keywords
- tlp
- pcie
- ice
- host system
- encrypted data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Information Transfer Systems (AREA)
Abstract
详细描述中公开的诸方面包括用于高速外围组件互连(PCIe)的内联密码引擎(ICE)。就此而言,在一个方面,在主机系统中的PCIe根复合体(RC)中提供ICE。该PCIe RC被配置成从存储设备接收包括传输层分组(TLP)前缀的至少一个TLP。在非限制性示例中,该TLP前缀包括可由该ICE用于提供数据加密和解密的因事务而异的信息。通过在该PCIe RC中提供ICE以及在该TLP前缀中接收因事务而异的信息,遵循已建立的标准来加密和解密该PCIe RC中的数据是有可能的,由此确保在该PCIe RC与该存储设备之间的数据交换期间提供足够的保护。
Description
优先权申请
本申请要求于2016年2月3日提交的题为“INLINE CRYPTOGRAPHICENGINE(ICE)FORPERIPHERAL COMPONENT INTERCONNECT EXPRESS(PCIe)SYSTEMS(用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE))”的美国专利申请序列号15/014,158的优先权,该申请通过援引全部纳入于此。
背景
I.公开领域
本公开的技术一般涉及高速外围组件互连(PCIe)。
II.背景技术
移动通信设备在当前社会已变得越来越普遍。这些移动通信设备的盛行部分地是由目前在此类设备上实现的许多功能来推动的。此类设备中增强的处理能力意味着移动通信设备已经从纯粹的通信工具演变成复杂的移动多媒体中心,由此实现增强的用户体验。
移动通信设备中的数据处理元件(例如,应用处理器、图形处理器等)依赖于存储设备来存储各种各样的系统和用户数据。此类存储设备可包括硬盘驱动器(HDD)、固态硬盘(SSD)、通用闪存存储(UFS)、通用串行总线(USB)存储设备、和/或嵌入式多媒体卡(eMMC)。
与移动通信设备的增强的处理能力并行的是,对数据存储容量的需求也已呈指数增长。结果,移动通信设备嵌入有能够存储几百千兆字节(GB)数据的存储设备是常见的。存储设备通常通过外围接口(诸如高速外围组件互连(PCIe)接口)来连接到数据处理元件。移动通信设备被要求提供足够的保护以防止对存储设备中存储的各种各样的系统和用户数据的未授权访问和/或恶意攻击。结果,在数据存储在存储设备中并且在存储设备和数据处理元件之间进行交换时,往往需要加密。
公开概述
详细描述中公开的诸方面包括用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE)。就此而言,在一个方面,在主机系统中的PCIe根复合体(RC)中提供ICE。该PCIe RC被配置成从存储设备接收包括传输层分组(TLP)前缀的至少一个TLP。在非限制性示例中,该TLP前缀包括可由该ICE用于提供数据加密和解密的因事务而异的信息。通过在该PCIeRC中提供ICE以及在该TLP前缀中接收因事务而异的信息,遵循已建立的标准来加密和解密该PCIe RC中的数据是有可能的,由此确保在该PCIe RC与该存储设备之间的数据交换期间提供足够的保护。
就此而言,在一个方面,提供了一种主机系统。该主机系统包括耦合到系统总线的至少一个处理器。该主机系统还包括存储器控制器,该存储器控制器耦合到该系统总线并且被配置成控制存储器。该主机系统还包括包含ICE的PCIe RC。该PCIe RC耦合到该系统总线并且被配置成从通信地耦合到该PCIe RC的存储设备接收至少一个TLP。该至少一个TLP包括TLP前缀,该TLP前缀包括数据指示符、任务标签(TT)、以及数据缓冲器偏移(DBO)。
在另一方面,提供了一种用于支持PCIe RC中的ICE的方法。该方法包括接收包括TLP前缀的至少一个TLP,该TLP前缀包括数据指示符、TT、以及DBO。该方法还包括如果该TLP前缀中的数据指示符指示该TLP前缀中存在因事务而异的信息,则从该TLP前缀中提取TT和DBO。该方法还包括基于该TT来检索逻辑块地址(LBA)和秘密密钥。该方法还包括基于DBO、LBA、以及秘密密钥来计算初始化向量(IV)。
在另一方面,提供了一种存储设备。该存储设备被配置成耦合到主机系统中的PCIe RC。该存储设备包括主机接口控制器。该主机接口控制器被配置成从该主机系统接收请求。该主机接口控制器还被配置成从该主机系统读取与该请求相对应的事务描述符,并且从该事务描述符中提取TT。该主机接口控制器还配置成将至少一个TLP发送到该PCIeRC。该至少一个TLP包括包含数据指示符的TLP前缀,该数据指示符被配置成指示该TLP前缀中存在因事务而异的信息。
在另一方面,提供了一种电子设备。该电子设备包括存储器。该电子设备还包括主机系统。该主机系统包括耦合到系统总线的至少一个处理器。该主机系统还包括存储器控制器,该存储器控制器耦合到该系统总线并且被配置成控制该存储器。该主机系统还包括PCIe RC,该PCIe RC耦合到该系统总线并且包括ICE。该电子设备还包括存储设备。该存储设备包括通信地耦合到该PCIeRC的主机接口控制器。该存储设备中的该主机接口控制器被配置成从该主机系统中的至少一个处理器接收请求。该存储设备中的该主机接口控制器还被配置成从该主机系统读取与该请求相对应的事务描述符,并且从该事务描述符中提取TT。该存储设备中的该主机接口控制器还配置成将至少一个TLP发送到该PCIe RC。该至少一个TLP包括包含数据指示符的TLP前缀,该数据指示符被配置成指示该TLP前缀中存在因事务而异的信息。该主机系统中的PCIe RC被配置成从该存储设备接收至少一个TLP。该主机系统中的PCIe RC还被配置成:如果该TLP前缀中的数据指示符指示该TLP前缀中存在因事务而异的信息,则从该TLP前缀中提取TT和DBO。该主机系统中的PCIe RC还被配置成基于该TT来检索存储在该ICE中的LBA和秘密密钥。该主机系统中的PCIe RC还被配置成基于DBO、LBA、以及秘密密钥来计算IV。
在另一方面,提供了一种用于向主机系统提供因事务而异的信息的方法。该方法包括从该主机系统接收请求。该方法还包括从该主机系统读取与该请求相对应的事务描述符,并且从该事务描述符中提取TT。该方法还包括将至少一个TLP发送到该主机系统中的PCIe RC。该至少一个TLP包括包含数据指示符的TLP前缀,该数据指示符被配置成指示该TLP前缀中存在该因事务而异的信息。
附图简述
图1是包括主机控制器的示例性常规主机系统的示意图,该主机控制器被配置成加密和解密用于由该主机控制器控制的存储设备的数据;
图2是主机系统的示意图,该主机系统被配置成支持作为多个高速外围组件互连(PCIe)端点(EP)之一的存储设备;
图3是示例性传输层分组(TLP)格式的示意图,其中TLP前缀被配置成将因事务而异的信息从存储设备传达到图2的主机系统中的PCIe根复合体(RC);
图4是提供使用图3的TLP前缀来传达因事务而异的信息以在图2的主机系统中实现数据加密的示例性解说的信号流程图;
图5是提供使用图3的TLP前缀来传达因事务而异的信息以在图2的主机系统中实现数据解密的示例性解说的信号流程图;
图6是由图2、4和5的主机系统采用以计算用于数据加密和解密的初始化向量(IV)的示例性IV计算过程的流程图;以及
图7是被采用以将因事务而异的信息传达到图2、4和5的主机系统的示例性信息交换过程的流程图。
详细描述
现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
详细描述中公开的诸方面包括用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE)。就此而言,在一个方面,在主机系统中的PCIe根复合体(RC)中提供ICE。PCIe RC被配置成从存储设备接收包括传输层分组(TLP)前缀的至少一个TLP。在非限定性示例中,TLP前缀包括可由ICE用于提供数据加密和解密的因事务而异的信息。通过在PCIe RC中提供ICE以及在TLP前缀中接收因事务而异的信息,遵循已建立的标准来加密和解密PCIe RC中的数据是有可能的,由此确保在PCIe RC与存储设备之间的数据交换期间提供足够的保护。
在讨论包括本公开的特定方面的用于PCIe的ICE的示例性方面之前,首先在图1中提供了用于加密/解密要被存储在通用闪存存储(UFS)或嵌入式多媒体卡(eMMC)中的数据的常规主机系统的简要概览。随后参照图2讨论了配置成支持作为PCIe端点(EP)的存储设备的主机系统的简要概览。参照图3开始对用于PCIe的ICE的特定示例性方面的讨论。
就此而言,图1是包括主机控制器102的示例性常规主机系统100的示意图,该主机控制器102被配置成加密和解密用于由该主机控制器102控制的存储设备104的数据。主机控制器102耦合到系统总线106。常规的主机系统100还包括至少一个处理器108和存储器控制器110。处理器108和存储器控制器110两者耦合到系统总线106。存储器控制器110被配置成控制存储器112,例如,该存储器112可以是动态随机存取存储器(DRAM)。
当处理器108需要将数据从存储器112写入存储设备104时,处理器108指令主机控制器102经由存储器控制器110从存储器112读取未经加密的数据114。随后,主机控制器102将密码引擎116(在图1中也称为加密引擎116)配置成将未经加密的数据114加密成经加密数据118,并且将经加密数据118写入存储设备104。当处理器108需要将数据从存储设备104读取到存储器112中时,处理器108指令主机控制器102从存储设备104读取经加密数据120。随后,主机控制器102将密码引擎116配置成将经加密数据120解密成未经加密的数据122,并且将未经加密的数据122写入存储器112。
在非限定性示例中,可以在主机控制器102的内部或外部提供密码引擎116。密码引擎116可以采用加密算法来将未经加密的数据114加密成经加密数据118。同样,密码引擎116可以采用可与加密算法相同或不同的解密算法来将经加密数据120解密成未经加密的数据122。在非限定性示例中,加密算法和解密算法可以是高级加密标准(AES)具有密文窃取的异或-加密-异或(XEX)可调分组密码(XTS)(AES-XTS)算法、或AES密码分组链接(CBC)(AES-CBC)算法。
加密算法和解密算法被配置成基于初始化向量(IV)来分别加密未经加密的数据114以及解密经加密数据120。在非限定性示例中,主机控制器102可以根据秘密密钥、逻辑块地址(LBA)、以及数据缓冲器偏移(DBO)来计算IV,如在以下等式(式1)中所表达的。
IV=f加密(秘密密钥,LBA,DBO)式1
在非限定性示例中,未经加密的数据114作为4千字节(4KB)数据块存储在存储器112中,并且LBA被配置成寻址4KB数据块。相应地,根据式1来计算的IV对应于LBA。主机控制器102可以进一步将4KB数据块分段成较小数据块(未示出),并且通过相应的DBO来寻址较小数据块中的每一者。主机控制器102可以在本地(例如,在高速缓存存储器中)存储相应的DBO,并且从处理器108接收秘密密钥和LBA。如此,主机控制器102能够基于以上的式1来计算用于数据加密/解密的IV。
继续参照图1,因为主机控制器102专用于控制存储设备104,所以常规主机系统100将需要多个主机控制器以支持多个存储设备。例如,如果常规主机系统100被配置成支持基于UFS的存储设备以及基于eMMC的存储设备,则常规主机系统100将需要UFS主机控制器和eMMC主机控制器。包括在常规主机系统100中的多个主机控制器可导致常规主机系统100的成本、占用面积、以及设计复杂性的增加。结果,出现了作为常规主机系统100的替换方案的基于PCIe的主机系统架构。
就此而言,图2是被配置成支持作为多个PCIe EP 204(1)-204(N)之一的存储设备202的主机系统200的示意图。主机系统200包括配置成控制多个PCIe EP 204(1)-204(N)的PCIe RC 206。在非限定性示例中,PCIe EP 204(1)是存储设备202,其可以是闪存存储设备。PCIe EP 204(2)可以是另一集成电路或外围设备。PCIe EP 204(N)可以是连接到更多PCIe EP(例如,旧式PCIe EP)的PCIe交换机。PCIe RC 206与多个PCIe EP 204(1)-204(N)之间的通信基于TLP并且根据高速非易失性存储器(NVMe)协议。每个TLP包括使得PCIe RC206能够在多个PCIe EP 204(1)-204(N)之中正确地路由TLP的地址信息。就此而言,PCIeRC 206类似于网际协议(IP)网络的路由器,而TLP类似于在IP网络中传达的IP分组。
PCIe RC 206耦合到系统总线208,并且可包括用于数据加密和解密的ICE 210。在非限定性示例中,ICE 210可以被提供作为PCIe RC 206中的硬件组件。ICE 210可以被配置成实现加密和解密算法,诸如AES-XTS算法和/或AES-CBC算法。如此,ICE 210还被配置成使用根据式1计算的IV来执行数据加密和解密。然而,由于在PCIe RC 206与PCIe EP 204(1)-204(N)之间传达的TLP不固有地携带LBA和DBO,因此ICE 210可能难以基于式1来计算IV。
主机系统200还包括至少一个处理器212和存储器控制器214。处理器212和存储器控制器214两者耦合到系统总线208并且能够与PCIe RC 206交换TLP。存储器控制器214被配置成控制存储器216,例如,该存储器216可以是DRAM。根据NVMe协议,当处理器212需要将与LBA相关联的未经加密的数据218从存储器216写入存储设备202中时,处理器212创建关于写任务的事务描述符220。根据参照图1的先前讨论,未经加密的数据218可以作为4KB数据块存储在存储器216中并且由LBA寻址。在非限定性示例中,处理器212可以将事务描述符220存储在存储器216中或高速缓存存储器222中。事务描述符220可包括写命令和与LBA相关联的第一任务标签(TT)。接下来,处理器212在ICE 210处创建与第一TT、LBA、以及秘密密钥相关联的写任务。在非限定性示例中,处理器212可以经由写任务信号224来创建写任务。ICE 210可以依次将第一TT、LBA、以及秘密密钥存储在本地高速缓存(未示出)中。继续该示例,ICE 210可以创建LBA和密钥阵列(未示出)。LBA和密钥阵列可包括多个LBA和密钥条目,每个LBA和密钥条目被配置成存储与相应TT相关联的相应的一对LBA和秘密密钥。ICE 210可以将与第一TT相关联的LBA和秘密密钥作为多个LBA和密钥条目中的一者或多者存储在LBA和密钥阵列中。如此,ICE 210能够基于第一TT来检索LBA和秘密密钥。
随后,处理器212将写请求226发送到存储设备202中的主机接口控制器228。响应于接收到写请求226,主机接口控制器228可以被配置成从主机系统200读取事务描述符220以获得写命令和第一TT。随后,主机接口控制器228将存储器读请求230发送到PCIe RC206。根据NVMe协议,主机接口控制器228可以在至少一个TLP中发送存储器读请求230。
响应于接收到存储器读请求230,PCIe RC 206经由存储器控制器214从存储器216获取未经加密的数据218,该未经加密的数据218是由LBA寻址的4KB数据块。随后,PCIe RC206将ICE 210配置成将未经加密的数据218加密成大小也是4KB的经加密数据232。随后,PCIe RC 206将经加密数据232提供给存储设备202中的主机接口控制器228。主机接口控制器228在将从PCIe RC 206接收到的经加密数据232写入存储设备202之前将该经加密数据232分段成较小数据块(未示出)。在非限定性示例中,较小数据块中的每一者可以是128字节(128B),并且主机接口控制器228可以将相应DBO指派给每一个128B数据块。由于存储设备202中的主机接口控制器228被配置成指派相应DBO,因此PCIe RC 206不再知晓相应DBO被指派给经加密数据232。
继续参照图2,当处理器212需要将经加密数据232从存储设备202读取到存储器216中时,处理器212创建关于读任务的事务描述符234。在非限定性示例中,处理器212可以将事务描述符234存储在存储器216中或高速缓存存储器222中。事务描述符234可包括读命令和第二TT。接下来,处理器212在ICE 210处创建与第二TT、LBA、以及秘密密钥相关联的读任务。在非限定性示例中,处理器212可以经由读任务信号236来创建读任务。ICE 210可以将与第二TT相关联的LBA和秘密密钥作为多个LBA和密钥条目中的一者或多者存储在LBA和密钥阵列中。如此,ICE 210能够基于第二TT来检索LBA和秘密密钥。
随后,处理器212将读请求238发送到存储设备202中的主机接口控制器228。响应于接收到读请求238,主机接口控制器228可以被配置成从主机系统200读取事务描述符234以获得读命令和第二TT。随后,主机接口控制器228将存储器写请求240发送到PCIe RC206。根据NVMe协议,主机接口控制器228可以在至少一个TLP中发送存储器写请求240。TLP包括经加密数据232,并且PCIe RC 206可以从存储器写请求240中提取经加密数据232。随后,PCIe RC 206将ICE 210配置成将经加密数据232解密成未经加密的数据218,并且经由存储器控制器214将未经加密的数据218提供至存储器216。
如以上所讨论的,PCIe RC 206需要将ICE 210配置成将未经加密的数据218加密成经加密数据232和/或将经加密数据232解密成未经加密的数据218。因为ICE 210可以被配置成使用AES-XTS算法和/或AES-CBC算法来执行数据加密和解密,所以PCIe RC 206需要计算用于AES-XTS和/或AES-CBC算法的IV。如此,根据式1,PCIe RC 206需要拥有秘密密钥、LBA、以及DBO。然而,如较早所讨论的,PCIe RC 206不具有关于由存储设备202中的主机接口控制器228指派给经加密数据232的DBO的知识。因此,存储设备202中的主机接口控制器228将DBO传达到PCIe RC 206以允许PCIe RC 206计算IV是必要的。此外,主机接口控制器228可以根据NVMe协议来将DBO传达到PCIe RC 206是合意的。
由PCI特殊兴趣小组(PCI-SIG)于2010年11月10日发布的PCIe基本规范版本3.0(以下称为“PCIe规范”)允许TLP包括一个或多个可任选的TLP前缀。如此,主机接口控制器228使用PCIe规范中定义的一个或多个可任选的TLP前缀来将DOB传达到PCIe RC 206可以是有可能的。就此而言,图3是示例性TLP 300的示意图,其中TLP前缀302被配置成将因事务而异的信息从图2的存储设备202中的主机接口控制器228传送到主机系统200中的PCIe RC206。图2和图3之间的共同元件以共同元件标号被示出,并且在本文中将不再重新描述。
根据PCIe规范,TLP 300包括TLP前缀302、TLP报头304、数据有效载荷306、和TLP摘要308。TLP报头304包括类型字段310,该类型字段310可以被配置成指示TLP 300是被编码为存储器读请求230(未示出)还是存储器写请求240(未示出)。TLP前缀302包括数据指示符312、TT 314、以及DBO 316。在下文中,TT 314和DBO 316统称为因事务而异的信息。数据指示符312的长度为一个比特(1比特)并且位于TLP前缀302中的比特零(b0)处。在非限定性示例中,数据指示符312被设置为一(1)或零(0),以指示TLP前缀302中是否存在因事务而异的信息。可以保留TLP前缀302的比特1(b1)。
继续参照图3并且继续该示例,TT 314的长度为六个比特(6比特)并且位于TLP前缀302中的比特2(b2)至比特7(b7)。如此,TT 314被配置成支持由处理器212(未示出)发起的至多达六十四(64)个并发的读/写任务。DBO 316的长度为十六个比特(16比特),并且位于TLP前缀302中的比特8(b8)到比特23(b23)。就此而言,DBO 316可以标识至多达二的十六次幂(216)个DBO。如果216个DBO中的每一者对应于128B数据块,如在图2中提供的非限定性示例中,则DBO 316可以覆盖存储设备202(未示出)中的至多达八兆字节(8MB)(216×128B=8MB)地址空间。如接下来在图4和5中进一步讨论的,主机接口控制器228(未示出)可将TLP前缀302包括在存储器读请求230和存储器写请求240中,以将因事务而异的信息传达到PCIe RC 206(未示出),因此使得PCIe RC 206能够计算用于数据加密和解密的IV。
就此而言,图4是提供使用图3的TLP前缀302来传达因事务而异的信息以在图2的主机系统200中实现数据加密的示例性解说的信号流程图400。图2、3和4之间的共同元件在其中用共同的元件编号示出,并且在本文中将不再描述。
参照图4,为了将未经加密的数据218从存储器216写入存储设备202,处理器212创建用于写任务的事务描述符220(框402)。事务描述符220可包括写命令和第一TT。接下来,处理器212在ICE 210处经由写任务信号224来创建与第一TT、LBA、以及秘密密钥相关联的写任务。随后,处理器212将写请求226发送到存储设备202中的主机接口控制器228(未示出)。响应于接收到写请求226,主机接口控制器228从主机系统200读取事务描述符220以获得写命令和第一TT。在非限定性示例中,主机接口控制器228可以读取一个或多个TLP(未示出)中的事务描述符220。一个或多个TLP中的每一者可包括TLP前缀302,该TLP前缀302具有被设置成指示TLP前缀302中不存在因事务而异的信息的数据指示符312。随后,主机接口控制器228将存储器读请求230发送到PCIe RC 206。存储器读请求230包括TLP前缀302(未示出)。TLP前缀302中的数据指示符312(未示出)被设置为一(1)以指示TLP前缀302中存在因事务而异的信息。TT 314(未示出)包括第一TT,并且DBO 316(未示出)包括与如在事务描述符220中提供的写命令相对应的DBO。
PCIe RC 206基于在TLP前缀302的TT 314中接收到的第一TT来从LBA和密钥阵列(未示出)中提取秘密密钥和LBA(框404)。随后,PCIe RC 206根据式1使用在TLP前缀302中接收到的LBA、秘密密钥、以及DBO 316来计算IV(框406)。随后,PCIe RC 206经由存储器控制器214从存储器216获取未经加密的数据218。随后,PCIe RC 206将ICE 210配置成使用IV将未经加密的数据218加密成经加密数据232(框408)。最后,PCIe RC 206将经加密数据232提供给存储设备202中的主机接口控制器228。
图5是提供使用图3的TLP前缀302来传达因事务而异的信息以在图2的主机系统200中实现数据解密的示例性解说的信号流程图500。图2、3和5之间的共同元件在其中用共同的元件编号示出,并且在本文中将不再描述。
参照图5,为了将经加密数据232从存储设备202读取到存储器216中,处理器212创建用于读任务的事务描述符234(框502)。事务描述符234可包括读命令和第二TT。接下来,处理器212在ICE 210处经由读任务信号236来创建与第二TT、LBA、以及秘密密钥相关联的读任务。随后,处理器212将读请求238发送到存储设备202中的主机接口控制器228(未示出)。响应于接收到读请求238,主机接口控制器228从主机系统200读取事务描述符234以获得读命令和第二TT。在非限定性示例中,主机接口控制器228可以读取一个或多个TLP(未示出)中的事务描述符234。一个或多个TLP中的每一者可包括TLP前缀302(未示出),该TLP前缀302具有被设置成指示TLP前缀302中不存在因事务而异的信息的数据指示符312(未示出)。随后,主机接口控制器228将存储器写请求240发送到PCIe RC 206。存储器写请求240包括TLP前缀302。TLP前缀302中的数据指示符312被设置为1以指示TLP前缀302中存在因事务而异的信息。TT 314(未示出)包括第二TT,并且DBO 316(未示出)包括与如在事务描述符234中提供的读命令相对应的DBO。数据有效载荷306(未示出)包括与TLP前缀302的DBO 316中的DBO相对应的经加密数据232。
PCIe RC 206基于在TLP前缀302的TT 314中接收到的第二TT来从LBA和密钥阵列中提取秘密密钥和LBA(框504)。随后,PCIe RC 206根据式1使用在TLP前缀302中接收到的LBA、秘密密钥、以及DBO 316来计算IV(框506)。随后,PCIe RC 206从存储器写请求240中提取经加密数据232(框508)。随后,PCIe RC 206将ICE 210配置成使用IV将经加密数据232解密成未经加密的数据218(框510)。最后,PCIe RC 206经由存储器控制器214向存储器216提供未经加密的数据218。
如在图2、4和5中所解说的,PCIe RC 206被配置成计算IV以使得能够由ICE 210进行数据加密和解密。由PCIe RC 206执行的用于计算IV的操作可以在接下来要讨论的通用过程中概括。就此而言,图6是由图2、4和5的PCIe RC 206采用以计算用于数据加密和解密的IV的示例性IV计算过程600的流程图。
参照图6,PCIe RC 206接收包括TLP前缀302的TLP 300,该TLP前缀302包括数据指示符312、TT 314、以及DBO 316(框602)。如果数据指示符312指示TLP前缀302中存在因事务而异的信息,则PCIe RC 206提取TT 314和DBO 316(框604)。接下来,PCIe RC 206基于TT314来检索存储在ICE 210处(例如,LBA和密钥阵列中)的LBA和秘密密钥(框606)。最后,PCIe RC 206基于DBO 316、LBA、以及秘密密钥来计算IV(框608)。
如在图2、4和5中所解说的,主机接口控制器228被配置成向PCIe RC 206传达因事务而异的信息以用于计算IV。由主机接口控制器228执行的操作可以在接下来要讨论的通用过程中概括。就此而言,图7是由图2的主机接口控制器228采用以将因事务而异的信息传达到PCIe RC 206的示例性信息交换过程700的流程图。
参照图7,主机接口控制器228从主机系统200接收请求,该请求可以是写请求226或读请求238(框702)。作为响应,主机接口控制器228从主机系统200读取事务描述符,该事务描述符可以是用于写任务的事务描述符220或用于读任务的事务描述符234。主机接口控制器228随后从事务描述符220或事务描述符234中提取TT,该TT可以是第一TT或第二TT(框704)。最后,主机接口控制器228将TLP 300发送到PCIe RC 206,并且将TLP前缀302包括在TLP 300中(框706)。TLP前缀302中的数据指示符312被配置成指示TLP前缀302中存在因事务而异的信息。TLP前缀302还将第一TT或第二TT包括在TT 314中,并且将DBO包括在DBO316。
根据本文所公开的各方面的用于PCIe的ICE 210可在具有等待时间问题的总线的任何基于处理器的设备(诸如图2的主机系统200)中提供或被集成到具有等待时间问题的总线的任何基于处理器的设备中。不构成限定的示例包括:机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、智能电话、平板设备、平板手机、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、便携式数字视频播放器、以及汽车。虽然所有此类设备都可以受益于本公开,但依赖于无线连接以及具有RFFE总线的设备将会从使用本公开的诸方面收益最大。
本领域技术人员将进一步领会,结合本文所公开的各方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文描述的主设备和从设备可用在任何电路、硬件组件、集成电路(IC)、或IC芯片中。本文中所公开的存储器可以是任何类型和大小的存储器,且可配置成存储所需的任何类型的信息。为了清楚地解说这种可互换性,各种解说性组件、框、模块、电路和步骤在上文已经以其功能性的形式一般性地作了描述。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文中所公开的各方面描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如DSP与微处理器的组合、多个微处理器、与DSP核协作的一个或多个微处理器、或任何其他此类配置)。
本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取信息和写入信息。替换地,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在数个不同步骤中执行。另外,示例性方面中讨论的一个或多个操作步骤可被组合。应理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术和技艺中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。
Claims (26)
1.一种主机系统,包括:
耦合到系统总线的至少一个处理器;
存储器控制器,所述存储器控制器耦合到所述系统总线并且被配置成控制存储器;以及
包括内联密码引擎(ICE)的高速外围组件互连(PCIe)根复合体(RC),所述PCIe RC耦合到所述系统总线并且被配置成从通信地耦合到所述PCIe RC的存储设备接收至少一个传输层分组(TLP),其中所述至少一个TLP包括包含数据指示符、任务标签(TT)、以及数据缓冲器偏移(DBO)的TLP前缀。
2.如权利要求1所述的主机系统,其特征在于,所述PCIe RC被进一步配置成:
如果所述TLP前缀中的所述数据指示符指示所述TLP前缀中存在因事务而异的信息,则从所述TLP前缀中提取所述TT和所述DBO;
基于所述TT来检索存储在所述ICE处的逻辑块地址(LBA)和秘密密钥;以及
基于所述DBO、所述LBA、以及所述秘密密钥来计算初始化向量(IV)。
3.如权利要求2所述的主机系统,其特征在于,所述至少一个TLP进一步包括具有类型字段的TLP报头,所述类型字段被配置成指示所述至少一个TLP是存储器读请求还是存储器写请求。
4.如权利要求3所述的主机系统,其特征在于,如果所述TLP报头中的所述类型字段指示所述至少一个TLP是所述存储器读请求,则所述PCIe RC被进一步配置成:
与所述存储器控制器通信以从所述存储器中检索与所述LBA相关联的未经加密的数据;
将所述ICE配置成基于使用所述IV来加密的加密算法来将从所述存储器中检索到的所述未经加密的数据加密成经加密数据;以及
向所述存储设备提供所述经加密数据。
5.如权利要求4所述的主机系统,其特征在于,所述ICE被配置成基于高级加密标准(AES)具有密文窃取的异或-加密-异或(XEX)可调分组密码(XTS)(AES-XTS)算法、或者AES密码分组链接(CBC)(AES-CBC)算法来加密所述未经加密的数据。
6.如权利要求3所述的主机系统,其特征在于,如果所述TLP报头中的所述类型字段指示所述至少一个TLP是所述存储器写请求,则所述PCIe RC被进一步配置成:
从所述至少一个TLP中提取经加密数据;
将所述ICE配置成基于使用所述IV来解密的解密算法来将所述经加密数据解密成未经加密的数据;以及
向所述存储器控制器提供所述未经加密的数据以供写入所述存储器。
7.如权利要求6所述的主机系统,其特征在于,所述ICE被配置成基于高级加密标准(AES)具有密文窃取的异或-加密-异或(XEX)可调分组密码(AES-XTS)算法、或者AES密码分组链接(AES-CBC)算法来加密所述未经加密的数据。
8.如权利要求2所述的主机系统,其特征在于,所述至少一个处理器被配置成:
创建用于写任务的事务描述符,其中所述事务描述符包括写命令和所述TT;
在所述ICE中创建与所述TT相关联的所述写任务;
在所述ICE处存储与所述TT相关联的所述LBA和所述秘密密钥;以及
经由所述PCIe RC向所述存储设备发送写请求。
9.如权利要求2所述的主机系统,其特征在于,所述至少一个处理器被配置成:
创建用于读任务的事务描述符,其中所述事务描述符包括读命令和所述TT;
在所述ICE中创建与所述TT相关联的所述读任务;
在所述ICE处存储与所述TT相关联的所述LBA和所述秘密密钥;以及
经由所述PCIe RC向所述存储设备发送读请求。
10.如权利要求1所述的主机系统,其特征在于,所述主机系统被提供在集成电路(IC)中。
11.如权利要求1所述的主机系统,其特征在于,所述主机系统被提供在选自由以下各项组成的组的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;移动电话;蜂窝电话;智能电话;平板设备;平板手机;计算机;便携式计算机;台式计算机;个人数字助理(PDA);监视器;计算机监视器;电视机;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频碟(DVD)播放器;便携式数字视频播放器;以及汽车。
12.一种用于支持高速外围组件互连(PCIe)根复合体(RC)中的内联密码引擎(ICE)的方法,所述方法包括:
接收包括传输层分组(TLP)前缀的至少一个TLP,所述TLP前缀包括数据指示符、任务标签(TT)、以及数据缓冲器偏移(DBO);
如果所述TLP前缀中的所述数据指示符指示所述TLP前缀中存在因事务而异的信息,则从所述TLP前缀中提取所述TT和所述DBO;
基于所述TT来检索逻辑块地址(LBA)和秘密密钥;以及
基于所述DBO、所述LBA、以及所述秘密密钥来计算初始化向量(IV)。
13.如权利要求12所述的方法,其特征在于,进一步包括基于所述TT来从LBA和密钥阵列中检索所述LBA和所述秘密密钥。
14.如权利要求12所述的方法,其特征在于,进一步包括接收所述至少一个TLP,所述至少一个TLP进一步包括具有类型字段的TLP报头,所述类型字段被配置成指示所述至少一个TLP是存储器读请求还是存储器写请求。
15.如权利要求14所述的方法,其特征在于,如果所述TLP报头中的所述类型字段指示所述至少一个TLP是所述存储器读请求:
检索与所述LBA相关联的未经加密的数据;
基于使用所述IV来加密的加密算法来将所述未经加密的数据加密成经加密数据;以及
向存储设备提供所述经加密数据。
16.如权利要求14所述的方法,其特征在于,如果所述TLP报头中的所述类型字段指示所述至少一个TLP是所述存储器写请求:
从所述至少一个TLP的数据有效载荷中提取经加密数据;
基于使用所述IV来解密的解密算法来将所述经加密数据解密成未经加密的数据;以及
向存储器控制器提供所述未经加密的数据以供写入所述存储器。
17.如权利要求12所述的方法,其特征在于,进一步包括:
创建用于写任务的事务描述符,其中所述事务描述符包括写命令和所述TT;
在所述ICE中创建与所述TT相关联的所述写任务;
在所述ICE处存储与所述TT相关联的所述LBA和所述秘密密钥;以及
经由所述PCIe RC发送写请求。
18.如权利要求12所述的方法,其特征在于,进一步包括:
创建用于读任务的事务描述符,其中所述事务描述符包括读命令和所述TT;
在所述ICE中创建与所述TT相关联的所述读任务;
在所述ICE处存储与所述TT相关联的所述LBA和所述秘密密钥;以及
经由所述PCIe RC发送读请求。
19.一种配置成耦合到主机系统中的高速外围组件互连(PCIe)根复合体(RC)的存储设备,所述存储设备包括主机接口控制器,所述主机接口控制器配置成:
从所述主机系统接收请求;
从所述主机系统读取与所述请求相对应的事务描述符,并且从所述事务描述符中提取任务标签(TT);以及
向所述PCIe RC发送至少一个传输层分组(TLP),其中所述至少一个TLP包括包含数据指示符的TLP前缀,所述数据指示符被配置成指示所述TLP前缀中存在因事务而异的信息。
20.如权利要求19所述的存储设备,其特征在于,所述主机接口控制器被进一步配置成:如果从所述主机系统接收到的所述请求是写请求,则在所述至少一个TLP中发送存储器读请求。
21.如权利要求19所述的存储设备,其特征在于,所述主机接口控制器被进一步配置成:如果从所述主机系统接收到的所述请求是读请求,则在所述至少一个TLP中发送存储器写请求。
22.如权利要求21所述的存储设备,其特征在于,所述主机接口控制器被进一步配置成将经加密数据包括在所述至少一个TLP中。
23.如权利要求19所述的存储设备,其特征在于,所述主机接口控制器被进一步配置成:在一个或多个TLP中读取来自所述主机系统的所述事务描述符,所述一个或多个TLP中的每一者包括相应的TLP前缀,在所述TLP前缀中所述数据指示符被配置成指示所述相应的TLP前缀中不存在所述因事务而异的信息。
24.一种电子设备,包括:
存储器;
主机系统,包括:
耦合到系统总线的至少一个处理器;
存储器控制器,所述存储器控制器耦合到所述系统总线并且被配置成控制所述存储器;以及
高速外围组件互连(PCIe)根复合体(RC),所述PCIe RC耦合到所述系统总线并且包括内联密码引擎(ICE);以及
存储设备,所述存储设备包括通信地耦合到所述PCIe RC的主机接口控制器;
其中所述存储设备中的所述主机接口控制器被配置成:
从所述主机系统中的所述至少一个处理器接收请求;
从所述主机系统读取与所述请求相对应的事务描述符,并且从所述事务描述符中提取任务标签(TT);以及
向所述PCIe RC发送至少一个传输层分组(TLP),其中所述至少一个TLP包括包含数据指示符的TLP前缀,所述数据指示符被配置成指示所述TLP前缀中存在因事务而异的信息;
其中所述主机系统中的所述PCIe RC被配置成:
从所述存储设备接收所述至少一个TLP;
如果所述TLP前缀中的所述数据指示符指示所述TLP前缀中存在所述因事务而异的信息,则从所述TLP前缀中提取所述TT和数据缓冲器偏移(DBO);
基于所述TT来检索存储在所述ICE处的逻辑块地址(LBA)和秘密密钥;以及
基于所述DBO、所述LBA、以及所述秘密密钥来计算初始化向量(IV)。
25.如权利要求24所述的电子设备,其特征在于:
所述主机接口控制器被进一步配置成:如果从所述主机系统接收到的所述请求是写请求,则在所述至少一个TLP中发送存储器读请求;以及
所述PCIe RC被进一步配置成:
与所述存储器控制器通信以从所述存储器中检索与所述LBA相关联的未经加密的数据;
将所述ICE配置成基于使用所述IV来加密的加密算法来将从所述存储器中检索到的所述未经加密的数据加密成经加密数据;以及
向所述存储设备提供所述经加密数据。
26.如权利要求24所述的电子设备,其特征在于:
所述主机接口控制器被进一步配置成:如果从所述主机系统接收到的所述请求是读请求,则在所述至少一个TLP中发送存储器写请求,其中经加密数据被包括在所述至少一个TLP中;以及
所述PCIe RC被进一步配置成:
从所述至少一个TLP中提取所述经加密数据;
将所述ICE配置成基于使用所述IV来解密的解密算法来将所述经加密数据解密成未经加密的数据;以及
向所述存储器控制器提供所述未经加密的数据以供写入所述存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/014,158 US10157153B2 (en) | 2016-02-03 | 2016-02-03 | Inline cryptographic engine (ICE) for peripheral component interconnect express (PCIe) systems |
US15/014,158 | 2016-02-03 | ||
PCT/US2016/068865 WO2017136069A1 (en) | 2016-02-03 | 2016-12-28 | Inline cryptographic engine (ice) for peripheral component interconnect express (pcie) systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108604214A true CN108604214A (zh) | 2018-09-28 |
CN108604214B CN108604214B (zh) | 2021-07-20 |
Family
ID=57838516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680080676.3A Active CN108604214B (zh) | 2016-02-03 | 2016-12-28 | 用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE) |
Country Status (7)
Country | Link |
---|---|
US (1) | US10157153B2 (zh) |
EP (1) | EP3405876B1 (zh) |
JP (1) | JP2019505924A (zh) |
KR (1) | KR20180108623A (zh) |
CN (1) | CN108604214B (zh) |
BR (1) | BR112018015837A2 (zh) |
WO (1) | WO2017136069A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9640108B2 (en) | 2015-08-25 | 2017-05-02 | X-Celeprint Limited | Bit-plane pulse width modulated digital display system |
US10832609B2 (en) | 2017-01-10 | 2020-11-10 | X Display Company Technology Limited | Digital-drive pulse-width-modulated output system |
TWI673991B (zh) * | 2017-11-20 | 2019-10-01 | 財團法人工業技術研究院 | 金鑰儲存裝置、金鑰儲存裝置之交易方法、交易系統及交易方法 |
US20200387470A1 (en) * | 2018-03-30 | 2020-12-10 | Intel Corporation | Pci express chain descriptors |
US11743240B2 (en) * | 2019-03-08 | 2023-08-29 | Intel Corporation | Secure stream protocol for serial interconnect |
DE102019128528A1 (de) | 2019-10-22 | 2021-04-22 | Infineon Technologies Ag | Datenkryptografievorrichtungen und speichersysteme |
EP4084423A4 (en) * | 2020-01-22 | 2023-01-11 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR DATA TRANSMISSION ON PCIE BASE |
US11809611B2 (en) | 2020-02-24 | 2023-11-07 | Microsoft Technology Licensing, Llc | Protecting device detachment with bus encryption |
US11575505B2 (en) | 2020-07-27 | 2023-02-07 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for key per input/output security |
WO2022132184A1 (en) * | 2020-12-20 | 2022-06-23 | Intel Corporation | System, method and apparatus for total storage encryption |
US11782127B2 (en) | 2021-02-05 | 2023-10-10 | Nxp Usa, Inc. | Stop criterion for greedy target detection algorithms in radar applications using sparse phased arrays |
KR102496994B1 (ko) * | 2021-03-23 | 2023-02-09 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
KR102521902B1 (ko) | 2021-03-23 | 2023-04-17 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
KR102529761B1 (ko) | 2021-03-18 | 2023-05-09 | 에스케이하이닉스 주식회사 | PCIe 디바이스 및 그 동작 방법 |
US11567676B2 (en) * | 2021-04-30 | 2023-01-31 | Nxp B.V. | Inline encryption/decryption for a memory controller |
US11874776B2 (en) | 2021-06-25 | 2024-01-16 | Intel Corporation | Cryptographic protection of memory attached over interconnects |
CN113626838A (zh) * | 2021-07-19 | 2021-11-09 | 杭州加速科技有限公司 | 一种基于pcie的分块加密存储方法和装置 |
US11620184B2 (en) | 2021-08-16 | 2023-04-04 | Nxp B.V. | Runtime integrity checking for a memory system |
WO2024102225A1 (en) * | 2022-11-09 | 2024-05-16 | Qualcomm Incorporated | Inline encryption solution for nonvolatile memory express (nvme) storage devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060288203A1 (en) * | 2005-06-17 | 2006-12-21 | Kabushiki Kaisha Toshiba | Information processing apparatus and controlling method thereof |
CN101246456A (zh) * | 2007-02-15 | 2008-08-20 | 富士通株式会社 | 数据加密设备和方法、解密设备和方法、传送控制设备 |
CN102023935A (zh) * | 2009-09-22 | 2011-04-20 | 三星电子株式会社 | 具有密钥的数据存储设备及其方法 |
US20150046702A1 (en) * | 2013-08-09 | 2015-02-12 | Apple Inc. | Embedded Encryption/Secure Memory Management Unit for Peripheral Interface Controller |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8281084B2 (en) * | 2003-01-13 | 2012-10-02 | Emlilex Design & Manufacturing Corp. | Method and interface for access to memory within a first electronic device by a second electronic device |
US7103064B2 (en) * | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
WO2008070173A1 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage |
JP2010147572A (ja) * | 2008-12-16 | 2010-07-01 | Fuji Xerox Co Ltd | 情報処理装置、情報処理プログラム、及び情報通信システム |
US9218278B2 (en) * | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
IL210169A0 (en) * | 2010-12-22 | 2011-03-31 | Yehuda Binder | System and method for routing-based internet security |
US8832331B2 (en) | 2011-08-29 | 2014-09-09 | Ati Technologies Ulc | Data modification for device communication channel packets |
US9152825B2 (en) | 2012-02-29 | 2015-10-06 | Apple Inc. | Using storage controller bus interfaces to secure data transfer between storage devices and hosts |
US8996881B2 (en) * | 2012-04-23 | 2015-03-31 | International Business Machines Corporation | Preserving redundancy in data deduplication systems by encryption |
US20140281099A1 (en) | 2013-03-14 | 2014-09-18 | Broadcom Corporation | METHOD, SYSTEM, AND COMPUTER PROGRAM PRODUCT FOR CONTROLLING FLOW OF PCIe TRANSPORT LAYER PACKETS |
US9411762B2 (en) * | 2013-03-15 | 2016-08-09 | Intel Corporation | Method and system for platform management messages across peripheral component interconnect express (PCIe) segments |
US20140310536A1 (en) * | 2013-04-16 | 2014-10-16 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
US9075557B2 (en) * | 2013-05-15 | 2015-07-07 | SanDisk Technologies, Inc. | Virtual channel for data transfers between devices |
WO2015155997A1 (ja) * | 2014-04-11 | 2015-10-15 | 日本電気株式会社 | 設定装置、制御装置、設定方法及びネットワークスイッチ |
US9749319B2 (en) * | 2015-05-20 | 2017-08-29 | Google Inc. | Address validation using signatures |
US10013579B2 (en) * | 2015-12-23 | 2018-07-03 | Intel Corporation | Secure routing of trusted software transactions in unsecure fabric |
-
2016
- 2016-02-03 US US15/014,158 patent/US10157153B2/en active Active
- 2016-12-28 EP EP16828864.5A patent/EP3405876B1/en active Active
- 2016-12-28 CN CN201680080676.3A patent/CN108604214B/zh active Active
- 2016-12-28 WO PCT/US2016/068865 patent/WO2017136069A1/en active Application Filing
- 2016-12-28 JP JP2018540005A patent/JP2019505924A/ja active Pending
- 2016-12-28 BR BR112018015837A patent/BR112018015837A2/pt not_active IP Right Cessation
- 2016-12-28 KR KR1020187021642A patent/KR20180108623A/ko unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060288203A1 (en) * | 2005-06-17 | 2006-12-21 | Kabushiki Kaisha Toshiba | Information processing apparatus and controlling method thereof |
CN101246456A (zh) * | 2007-02-15 | 2008-08-20 | 富士通株式会社 | 数据加密设备和方法、解密设备和方法、传送控制设备 |
CN102023935A (zh) * | 2009-09-22 | 2011-04-20 | 三星电子株式会社 | 具有密钥的数据存储设备及其方法 |
US20150046702A1 (en) * | 2013-08-09 | 2015-02-12 | Apple Inc. | Embedded Encryption/Secure Memory Management Unit for Peripheral Interface Controller |
Also Published As
Publication number | Publication date |
---|---|
EP3405876A1 (en) | 2018-11-28 |
US20170220494A1 (en) | 2017-08-03 |
CN108604214B (zh) | 2021-07-20 |
WO2017136069A1 (en) | 2017-08-10 |
EP3405876B1 (en) | 2019-12-11 |
BR112018015837A2 (pt) | 2018-12-26 |
US10157153B2 (en) | 2018-12-18 |
JP2019505924A (ja) | 2019-02-28 |
KR20180108623A (ko) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108604214A (zh) | 用于高速外围组件互连(PCIe)系统的内联密码引擎(ICE) | |
JP2019505924A5 (zh) | ||
US11687681B2 (en) | Multi-tenant cryptographic memory isolation | |
CN108475237B (zh) | 存储器操作加密 | |
EP3355232B1 (en) | Input/output data encryption | |
US8386797B1 (en) | System and method for transparent disk encryption | |
US20170046281A1 (en) | Address dependent data encryption | |
US20170324713A1 (en) | Techniques for load balancing in a packet distribution system | |
JP2020535693A (ja) | 記憶データ暗号化/復号化装置及び方法 | |
US8843768B2 (en) | Security-enabled storage controller | |
WO2013012437A1 (en) | Cryptographic information association to memory regions | |
CN111131130B (zh) | 密钥管理方法及系统 | |
US20090086965A1 (en) | Secure, two-stage storage system | |
US20220045844A1 (en) | Cryptographic Data Communication Apparatus | |
CN114764512A (zh) | 加密密钥管理 | |
US11909855B2 (en) | Cryptographic data communication apparatus | |
CN113449349A (zh) | 平台安全机制 | |
WO2020093290A1 (zh) | 一种存储控制器、文件处理方法、装置及系统 | |
CN115544547A (zh) | 一种移动硬盘加密方法、装置、电子设备以及存储介质 | |
CN103154967A (zh) | 修改元素的长度以形成加密密钥 | |
US20160026582A1 (en) | Encrypt data of storage device | |
CN110837627A (zh) | 一种基于硬盘序列号的软件版权认证方法、系统和设备 | |
CN113177213B (zh) | 加密卡及其加密报文的处理方法 | |
CN215219695U (zh) | 一种数据保密装置 | |
WO2018236351A1 (en) | SYMMETRICAL ENCRYPTION OF A SECRET KEY PHRASE KEY MASTER |
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 |