CN105122203A - 存储设备辅助式内联加密和解密 - Google Patents
存储设备辅助式内联加密和解密 Download PDFInfo
- Publication number
- CN105122203A CN105122203A CN201480021176.3A CN201480021176A CN105122203A CN 105122203 A CN105122203 A CN 105122203A CN 201480021176 A CN201480021176 A CN 201480021176A CN 105122203 A CN105122203 A CN 105122203A
- Authority
- CN
- China
- Prior art keywords
- data
- memory device
- host stores
- parameter
- host
- 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.)
- Pending
Links
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
各种特征涉及内联加密和解密。在一个方面,通过将片外存储设备配置成提供参数以促成由片上系统(SoC)的主机存储控制器对数据进行内联加密/解密来执行内联读/写操作。由存储设备向主机存储控制器提供的参数包括标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。主机存储控制器采用这些参数作为初始向量来生成在加密/解密数据中使用的加密密钥。本文描述了主机存储控制器和片外存储设备的示例性读和写操作。本文还描述了从主机存储器获得这些参数而不是从该存储设备获得这些参数的示例。
Description
根据35U.S.C.§119的优先权要求
本专利申请要求于2013年4月16日提交的题为“DEVICEASSISTEDINLINESTORAGEENCRYPTION(设备辅助式内联存储加密)”的临时申请No.61/812,616的优先权,该临时申请已转让给本申请受让人并因此通过引用明确纳入于此。
背景
领域
本公开涉及与外部存储设备联用的主机存储控制器,尤其涉及数据的内联加密和解密。
背景技术
为了保护数据,此类数据通常在传输期间和/或在存储时被加密。在一个示例中,数据被存储于经由存储总线与主机片上系统(SoC)相连接的外部存储设备中。典型的SoC可包括应用处理电路和主机存储控制器,主机存储控制器是SoC的硬件元件。应用处理电路执行用于发起去往/来自外部存储设备的读/写事务的主机软件。例如,主机软件组件可命令主机存储控制器向外部存储设备发布读/写事务。主机存储控制器进而在存储总线上与外部存储设备通信以复制去往/来自该存储设备的数据,并且随后通知主机软件此类操作已完成。主机存储控制器还可经由单独的存储器总线来访问主机存储器。一般而言,主机存储器通常是被保护免受恶意攻击的较安全的存储器,而外部存储设备通常是易受此类攻击的不那么安全的片外存储器设备。因此,存储于外部存储设备中的数据可能需要加密,而存储于主机存储器中的数据通常不需要加密。加密过程可能需要对于主机存储控制器而言不可用的参数。在此类系统内,主机存储控制器通常作为具有有限命令解码(或者根本没有命令解码)的通道来操作。读/写操作(例如,命令生成/解码和访问优化)的复杂性驻留在主机软件中以及由存储设备执行的固件中。相应地,为了保护存储于外部存储设备中的数据,数据的加密/解密通常由主机软件和/或存储设备执行,而不是由主机存储控制器执行。
然而,需要改为准许由主机存储控制器进行高效内联加密/解密的解决方案。
概述
一种在主机存储控制器处操作的用于在向主机存储控制器外部的存储设备的写操作期间加密数据的方法,包括:从请求方主机软件组件获得要向所述存储设备写入数据的写命令;向所述存储设备发送所述写命令;从所述存储设备获得与所述数据相关联的参数;基于所述参数生成加密密钥;以及使用所述加密密钥来加密所述数据。
在另一方面,一种在主机存储控制器处操作的用于在从主机存储控制器外部的存储设备的读操作期间解密数据的方法,包括:从请求方主机软件组件获得要从所述存储设备读取数据的读命令;向所述存储设备发送所述读命令;从所述存储设备获得经加密数据以及与所述经加密数据相关联的参数;基于所述参数生成解密密钥;以及使用所述解密密钥来解密所述经加密数据。
在又一方面,一种设备包括用于存储数据的存储设备、以及耦合至所述存储设备的处理电路,该处理电路具有主机存储控制器,该主机存储控制器配置成:从请求方主机软件组件获得要向所述存储设备写入数据的写命令;向所述存储设备发送所述写命令;从所述存储设备获得与所述数据相关联的参数;基于所述参数生成加密密钥;以及使用所述加密密钥来加密所述数据。
在又一方面,一种设备包括用于存储数据的存储设备、以及耦合至所述存储设备的处理电路,该处理电路具有主机存储控制器,该主机存储控制器配置成:从请求方主机软件组件获得要从所述存储设备读取数据的读命令;向所述存储设备发送所述读命令;从所述存储设备获得经加密数据以及与所述经加密数据相关联的参数;基于所述参数生成解密密钥;以及使用所述解密密钥来解密所述经加密数据。
附图简述
在结合附图理解下面阐述的详细描述时,各种特征、本质和优点会变得明显,在附图中,相同的附图标记贯穿始终作相应标识。
图1解说具有内联加密/解密的示例性片上系统(SoC)。
图2解说示例性应用处理电路、主机存储控制器和外部存储设备以及在它们之间交换的信息。
图3更详细地解说示例性SoC,其中该SoC包括装备成用于存储设备辅助式内联加密/解密的主机存储控制器。
图4解说可由主机存储控制器协同片外存储设备执行的示例性内联加密/写操作。
图5解说在主机存储控制器与片外存储设备之间执行的示例性内联加密/写操作。
图6解说与用于存储设备辅助式内联加密/解密的通用闪存(UFS)实现的事务排队联用的示例性寄存器和主机存储器空间。
图7解说与图6的实现联用的示例性UFS传输请求描述符(UTRD),其中该UTRD包括密钥索引。
图8解说与图6的实现联用的示例性准备好传输(RTT)UFS协议信息单元(UPIU),其中该UPIU包括逻辑块地址(LBA)指示符和块计数指示符。
图9解说可由主机存储控制器协同片外存储设备执行的示例性内联解密/读操作。
图10解说在主机存储控制器与片外存储设备之间执行的示例性内联解密/读操作。
图11解说与图10的实现联用的示例性“数据输入”UPIU,其中该UPIU包括LBA指示符和块计数指示符。
图12是解说采用可利用图1-11的系统、方法和装置的处理系统的装置的硬件实现的示例的框图。
图13是解说图12的处理电路的示例性组件的框图。
图14是解说图12的机器可读介质的示例性指令组件的框图。
图15解说在主机存储控制器处操作的用于在对存储设备的写操作期间加密数据的方法。
图16解说在主机存储控制器处操作的用于在从存储设备的读操作期间解密数据的方法。
图17解说在存储设备处操作的用于促成在写操作期间由主机存储控制器进行数据加密的方法。
图18解说在存储设备处操作的用于促成在读操作期间由主机存储控制器进行数据解密的方法。
图19解说在主机存储控制器处操作的用于在对存储设备的写操作期间加密数据的替换方法。
图20解说在主机存储控制器处操作的用于在从存储设备的读操作期间解密数据的替换方法。
详细描述
在以下描述中,给出了具体细节以提供对本公开的各方面的透彻理解。然而,本领域普通技术人员将理解,没有这些具体细节也可实践这些方面。例如,电路可能用框图示出以避免使这些方面湮没在不必要的细节中。在其他实例中,公知的电路、结构和技术可能不被详细示出以免模糊本公开的这些方面。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实现或方面不必被解释为优于或胜过本公开的其他方面。同样,术语“方面”不要求本公开的所有方面都包括所讨论的特征、优点或操作模式。
综览
若干新颖特征涉及存储设备辅助式内联加密和解密。在一个方面,通过将片外存储设备配置成提供参数以促成由片上系统(SoC)的主机存储控制器对数据进行内联加密/解密来执行内联读/写操作。在本文描述的各种示例中,由主机存储控制器从片外存储设备获得的参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。此类参数的具体示例是从存储设备获得的关于要加密/解密的数据的逻辑块地址(LBA)。然而,作为LBA的补充或替换,可使用其他参数来提供增强安全性。为了提供本文中内联加密/解密规程的具体示例,以下描述中的一些描述针对使用LBA的实现,但应当理解,可使用其他参数作为LBA的补充或替换。
主机存储控制器使用从存储设备获得的参数来生成或以其他方式获得密钥以用于加密/解密数据,由此缓解使SoC的其他组件执行或控制此类功能的需求,从而提供更高效的内联加密/解密。在其中由主机存储控制器从存储设备获得LBA的示例中,LBA被用作在加密/解密中使用的初始向量(或初始化向量)。该规程不同于原本将从不同于片外存储设备的源获得初始向量(诸如通过尝试从接收自主机软件的读/写命令提取此类信息)的内联加密/解密系统。还应注意,通过将LBA用作初始向量,该初始向量对于写/加密操作和读/解密操作两者将会是相同的,由此允许主机存储控制器解密先前已被加密并存储于片外存储设备中的数据。此外,该初始向量对于每个数据块而言将会是不同的,由此为每个数据块提供唯一的初始值。再进一步,通过从片外存储设备获得LBA或其他合适的参数来用作初始向量,初始向量信息无需存储在片上存储器中,由此节省了宝贵的片上存储空间。还应注意,通常情况下,不向主机存储控制器提供由片外存储设备使用的实际存储地址,而是改为仅向主机存储控制器提供数据的主机存储器地址,主机存储器地址对于相同数据在读和写操作之间可以不同。因此,主机存储器地址通常不能被用于内联加密/解密。就此,由存储设备使用的地址(无论是物理的还是逻辑的)位于与由主机处理器使用的存储器地址不同的地址空间内。常规情况下,主机存储控制器不从片外存储设备接收(并因此不能使用)存储地址以在加密/解密中使用。
本文中描述的一些示例包括通常根据JEDEC固态技术联盟(原来称作电子器件工程联合委员会(JEDEC))的UFS主机控制器接口标准执行的读和写操作。例如,参见2012年6月的JESD220A和JESD223A标准文件。如下所述,JEDECUFS读和写操作被修改以提供本文所公开的各种特征。然而,应当理解,本文中所描述的特征中的至少一些特征可在通常不遵循JEDEC标准的其他系统(包括专有的或其他系统)中实现。
具有内联写加密和读解密的示例性设备
图1宽泛地解说具有内联加密/解密的示例性片上系统100。简言之,SoC100包括装备成执行主机软件或软件组件102的应用处理电路101并进一步包括主机存储控制器104。在该示例中,主机存储控制器104包括内联加密/解密模块105,该加密/解密模块105能够加密经由存储总线108写入外部存储设备106的数据和/或解密经由相同的存储总线从存储设备106读取的数据。这些操作可协同存储于经由存储器总线112访问的主机存储器110内的数据或其他参数来执行。为了促成由加密/解密模块105执行的操作,存储设备106被配置成在读和写操作期间向主机存储控制器104提供参数(诸如LBA值)。
图2提供了时序图200,其解说应用处理电路202、主机存储控制器204和外部存储设备206的示例性读和写操作并且具体解说了在它们之间交换的以供与内联加密/解密联用的信息。处理始于应用处理电路202(代表未具体示出的请求方主机软件组件)经由内部连接线向主机存储控制器204发送写命令208,其标识要被写入外部存储设备206的数据。数据可藉由主机存储器地址来标识(其中主机存储器设备未在图中具体示出以允许更清楚地解说其他组件)。主机存储控制器204通过经由存储总线(也未在图2中示出)向外部存储设备206发送指示要存储的数据量的写命令请求210来响应该写命令。以下结合基于JEDEC的示例来提供可在各种组件之间交换的写命令请求和其他参数、数据分组以及命令的具体示例。
响应于该写命令请求,外部存储设备206检查它的存储器以标识用于存储该数据的合适位置。该位置由其存储设备LBA以及从该LBA起要存储的数据块数目(即块计数)来标识。块数目将取决于要存储的数据量以及存储设备内个体存储块的大小。在一些情形中,数据将需要被存储在外部存储设备206内的若干不同位置处并且因此可能需要标识若干LBA值以及对应的块计数。出于清楚描述图2中的组件的总体操作起见,给出了仅需要单个LBA的示例。LBA和块计数212(连同以下例如参照图8讨论的其他参数)随后从外部存储设备206发送到主机存储控制器204。
在214,主机存储控制器204基于LBA/块计数以及初始密钥来生成加密密钥,该初始密钥由它自己生成或从主机存储器取回。如果初始密钥由主机存储控制器204生成,则它可将初始密钥保存在主机存储器中以供后续在解密中使用。示例性加密密钥生成技术在下文讨论,其中LBA(单独或结合块计数)被用作初始向量以与初始密钥一起应用于加密函数来生成加密密钥。在216,主机存储控制器204从内部主机存储器获得要存储于外部存储设备中的数据并使用加密密钥来加密该数据。经加密数据218在存储总线上被发送到外部存储设备206,在219,经加密数据218被外部存储设备206存储在先前所指示的LBA处。注意,在212和219(包括212和219)之间的过程可被重复任何次数(若需要)。可由存储设备向主机存储控制器以及由主机存储控制器向应用处理电路提供各种确收指示符(未示出)。参见以下关于这些和其他示例性实现的细节。
在稍后的时间,应用处理电路202可能需要代表请求方主机软件组件从外部存储设备取回数据。相应地,应用处理电路202向主机存储控制器204发送标识要从外部存储设备206读取的数据的读命令220。数据可同样藉由主机存储器地址来标识。主机存储控制器204通过向外部存储设备206发送它自己的标识要取回的数据的读命令222来响应该读命令。在223,外部存储设备206从其存储器取回经加密数据并在224向主机存储控制器204发送经加密数据以及对应的LBA和块计数。同样,以下给出了示例性基于JEDEC的实现的细节。在226,主机存储控制器204基于LBA/块计数以及初始密钥(其可从主机存储器取回)为该数据生成解密密钥。在228,主机存储控制器204使用解密密钥来解密从外部存储设备206取回的数据,并且在230将经解密数据写入主机存储器以供请求方主机软件使用。注意,在223和230(包括223和230)之间的过程也可被重复任何次数(若需要)。
本文所描述的内联加密/解密系统和规程可被利用和使用于广泛的设备以及广泛的应用。为了提供具体示例,将描述示例性硬件环境,其中在具有片外存储设备(诸如UFS设备)的移动通信设备中使用的SoC处理电路上提供具有内联加密/解密模块的主机存储控制器。其他示例性硬件环境包括其他通信设备和组件以及与其一起使用的各种外围设备等。此外,注意,作为从(非安全)片外存储设备接收前述参数的替换,此类参数可改为由主机存储控制器生成并维护在安全存储器中以供在加密/解密中使用,并且此类实现在下文参照图19和20简要描述。
示例性片上系统硬件环境
图3解说根据其中可利用各种新颖特征的一个示例的移动通信设备的SoC处理电路300。SoC处理电路可以是高通公司(QualcommIncorporated)的骁龙(SnapdragonTM)处理电路。SoC处理电路300包括应用处理电路310,该应用处理电路310包括装备成协同各种软件组件313来操作的多核CPU312(为了解说清楚起见,软件组件313被示为与CPU核分开的块,但应当领会,软件可在CPU核312内运行)。应用处理电路310通常控制该移动通信设备的所有组件的操作。在一个方面,应用处理电路310耦合至主机存储控制器350,该主机存储控制器350装备成使用加密/解密模块351来执行内联加密和解密。应用处理电路310还可包括引导ROM318,该引导ROM318存储用于SoC处理电路300的各种组件的引导序列指令。SoC处理电路300进一步包括由应用处理电路310控制的一个或多个外围子系统320。外围子系统320可包括但不限于存储子系统(例如,只读存储器(ROM)、随机存取存储器(RAM))、视频/图形子系统(例如,数字信号处理电路(DSP)、图形处理电路单元(GPU))、音频子系统(例如,DSP、模数转换器(ADC)、数模转换器(DAC))、功率管理子系统、安全子系统(例如,其他加密组件和数字权限管理(DRM)组件)、输入/输出(I/O)子系统(例如,键盘、触摸屏)以及有线和无线连通性子系统(例如,通用串行总线(USB)、全球定位系统(GPS)、Wi-Fi、全球移动系统(GSM)、码分多址(CDMA)、4G长期演进(LTE)调制解调器)。示例性外围子系统320(其是调制解调器子系统)包括DSP322、各种其他硬件(HW)和软件(SW)组件324、以及各种射频(RF)组件326。在一个方面,每个外围子系统320还包括引导ROM328,该引导ROM328存储该相关联外围子系统320的主引导镜像(未示出)。
SoC处理电路300进一步包括各种内部共享HW资源330,诸如内部共享存储332(例如静态RAM(SRAM)、双倍数据率(DDR)同步动态(SD)RAM、DRAM、闪存等),其由应用处理电路310和各种外围子系统320共享以存储各种运行时数据或其他参数以及提供主机存储器。在图3的示例中,内部共享存储332包括密钥/参数存储元件、部分或组件333,其可被用于存储加密密钥以及在一些示例中存储前述由内联加密/解密模块351使用的参数(尤其是在那些参数不由片外存储设备提供的情况下)。在其他示例中,密钥存储于移动设备内的其他地方或由主机存储控制器按需生成。
在一个方面,SoC300的组件310、318、320、328和330被集成在单片基板上。SoC处理电路300进一步包括各种外部共享HW资源340,该外部共享HW资源340可位于不同的芯片基板上并且可经由一个或多个总线与SoC处理电路300通信。外部共享HW资源340可包括例如外部共享存储342(例如DDRRAM或DRAM)和/或持久或半持久数据存储344(例如安全数字(SD)卡、硬盘驱动器(HDD)、嵌入式多媒体卡(e.MMC或e-MMC)设备、UFS设备等),其可由应用处理电路310以及各种外围子系统320共享以存储各种类型的数据,诸如操作系统(OS)信息、系统文件、程序、应用、用户数据、音频/视频文件等。存储于外部资源和设备340内的数据中的至少一些数据可在写操作期间由主机存储控制器350加密并且随后在读操作期间由主机存储控制器解密。
当纳入了SoC处理电路300的移动通信设备被激活时,SoC处理电路开始系统引导过程。具体地,应用处理电路310访问引导ROM318以取回用于SoC处理电路300的引导指令,包括用于各种外围子系统320的引导序列指令。外围子系统320还可具有附加的外围引导RAM328。
示例性内联加密/解密规程
图4解说可由图3的处理电路的主机存储控制器或者由其他合适装备的组件、设备、系统或处理电路采用的示例性内联加密/写操作400。图4的规程通常根据被修改以提供存储设备辅助式内联加密的JEDEC标准和协议来执行。在该示例中,由主机存储控制器从存储设备接收LBA以用于生成初始向量,但如已经解释的,可改为除LBA之外还使用其他参数。在步骤402,主机存储控制器从请求方主机软件组件接收要将数据写入或写到片外存储设备(诸如在纳入了主机存储控制器的SoC处理电路外部的UFS设备)的写命令。该写命令可经由内部SoC命令传输线被接收。在步骤404,主机存储控制器经由存储总线向片外存储设备发送命令描述符块(CDB)写命令,其中该命令通常根据JEDEC标准被配置为UFS协议信息单元(UPIU)。在步骤406,作为响应,主机存储控制器经由存储总线从片外存储设备接收准备好传输(RTT)请求UPIU,其中该RTT请求UPIU具有直接存储器访问(DMA)上下文数据并且配置有离散毗连块,该离散毗连块包括指定一个或多个参数(诸如要存储的数据的第一数据块的LBA连同要存储的数据块数目的指示)的分组报头。注意,步骤406的RTT无需在步骤404之后立即被接收。确切而言,RTT可在稍后时间被接收。示例性RTT请求UPIU在图8中示出并在下文描述。
在步骤408,主机存储控制器至少部分地基于第一数据块的LBA以及块数目的指示来生成或以其他方式获得加密密钥,例如通过将LBA(单独或与块计数结合)用作初始向量或通过从LBA生成初始向量来获得加密密钥。注意,在本文中,术语“获得”宽泛地涵盖例如演算、计算、生成、获取、接收、取回或执行任何其他合适的相应动作。取决于总体系统的安全需求,可在步骤408使用各种各样的加密密钥生成技术。在至少一些示例中,主机存储控制器使用LBA来生成初始向量(或将LBA用作初始向量)。主机存储控制器还从主机存储器(诸如从图3的密钥存储333)获得初始密钥。主机存储控制器随后从该初始密钥和初始向量生成加密密钥。例如,该初始向量和初始密钥可被应用于高级加密标准(AES)加密函数以生成加密密钥(密码)。
在步骤410,主机存储控制器使用加密密钥来加密数据。在步骤410可使用各种各样的特定加密技术。在AES示例中,从初始向量和初始密钥生成的加密密钥(密码)可被应用于要加密的数据一次或多次。同样在步骤410,主机存储控制器在UFS传输请求描述符(UTRD)内保存密钥索引以用于写事务。具有UTRD队列的示例性主机存储器空间在图6和图7中示出并在下文针对UFS示例来描述。在步骤412,主机存储控制器使用一个或多个“数据输出”UPIU经由存储总线将经加密数据发送给存储设备以存储在其中,并且接收带有确认经加密数据的存储的状态信息的响应UPIU。
图5进一步藉由时序图/流程图500解说示例性内联加密/写操作,该时序图/流程图500示出经由前述存储总线在主机存储控制器502和片外存储设备504之间交换的命令和其他分组。最初,命令UPIU506被从主机存储控制器传送到片外存储设备,该命令UPIU506包含指示数据需要被写入片外存储设备的写CDB信息。作为响应,RTTUPIU508随后被从片外存储设备传送到主机存储控制器,该RTTUPIU508指示片外存储设备已准备好接收数据。如已经解释的,RTTUPIU包括DMA上下文数据并且配置有离散毗连块,该离散毗连块包括指定一个或多个参数的分组报头,该参数包括要存储的数据的第一数据块的LBA连同要存储的数据块数目的指示。尽管未在图5中示出,如已经解释的,在收到RTTUPIU508之后,主机存储控制器加密要被写入的数据。一个或多个数据输出UPIU510被从主机存储控制器传送到片外存储设备,该数据输出UPIU510包含要存储在片外存储设备中的经加密数据。响应于另一RTTUPIU512,主机存储控制器发送包含更多经加密数据的一个或多个附加数据输出UPIU514。最终,通常根据JEDECUFS协议,包含状态信息的响应UPIU516被从片外存储设备发送到主机存储控制器。响应UPIU可指示例如数据被成功存储。
图6解说使用存储器空间600的示例性UFS主机控制器接口(HCI)的一般架构,各种前述参数和命令可在存储器空间600中被存储、维护或处理。更具体而言,该图解说了主机存储器空间602和输入/输出(IO)存储器/寄存器空间604。图6还解说藉由各种列表、命令和数据缓冲器的示例性事务排队。由于图6的总体特征一般可根据JEDECUFS标准来配置,该图将仅着重于UTRD作简要描述,每个UTRD具有密钥索引(KEYIDX)。主机存储器空间602维护列出了UTRD的UTP事务请求列表606,每个UTRD包括KEYIDX。具有KEYIDX的UTRD在图中用被标示为608。具有密钥索引的个体示例性UTRD的细节在下文描述的图7中示出。图6的UTRD经由IO寄存器/存储器空间的UTP事务请求组件610被接收以用于在UTP事务请求列表606内排队。根据JEDEC标准,列表606的UTRD随后被用于生成对应的命令UPIU以与对应的响应UPIU以及物理区域描述表(PRDT)联用。在图6中,每组命令UPIU、响应UPIU以及PRDT被标示为612。如由组614所标示的,至少一些编组可不包括PRDT。与PRDT相关联的数据可存储于数据缓冲器616中。另外,主机存储器空间602包括用于对各种TM请求UPIU620进行存储或排队的UTP任务管理请求列表618,这些TM请求UPIU620经由IO寄存器/存储器空间604的UTP管理请求622被接收。出于完整性起见,标记了IO寄存器/存储器空间604的其他组件,并且这些组件包括主机控制器能力624、中断和主机状态指示符626、UFS互连(UIC)命令628以及因供应商而异的值630。与这些组件以及图6中解说的其他组件相关的进一步信息参见前述JEDEC文件。
图7解说包括前述密钥索引(标示为702)的示例性UTRD700。在该示例中,密钥索引是8位ID:KEYIDX[7:0]。出于完整性起见,示出了UTRD的各种其他元素,诸如命令类型值、总体命令状态值、UTP命令描述符基地址值(如图所示存储于两个分开的部分中)、响应UPIU偏移值、响应UPIU长度值、PRDT偏移值以及PRDT长度值。同样,与这些值以及图7中解说的其他值相关的进一步信息参见前述JEDEC文件。
图8解说RTTUPIU800,其包括前述LBA(标示为804)以及块计数(标示为806)。在该示例中,LBA是32位值:LBA[31:0],而块计数是8位值:BLKCNT[7:0]。出于完整性起见,示出了RTTUPIU的各种其他元素,诸如逻辑单元号(LUN)、额外报头分段(EHS)总长度、数据分段长度、数据缓冲器偏移、数据传输计数、以及端到端循环冗余校检(E2ECRC)报头。如图中所述,如果HD位是1,则报头可被省略。当设置为1时,HD位表明所有报头分段的端到端CRC被包括在UPIU内。CRC字段包括报头区域内的所有字段。CRC被置于在报头之后的32位字位置处。端到端CRC不一定在JEDEC标准的所有版本中都得到支持,因此HD可被设置为0。与这些值以及图8中解说的其他值相关的进一步信息参见前述JEDEC文件。
注意,代替在RTTUPIU中提供LBA,可改为提供一个或多个替换参数。一般而言,可采用各种各样的参数,尤其是适用于生成在加密/解密中使用的初始向量的参数。就这一点而言,这些参数应包括标识符,该标识符对读和写命令是相同的(从而在写操作期间被加密的数据可在后续读操作期间被容易地解密)并且从一个数据块到另一个数据块而言应当是唯一的。由于LBA符合这些要求,因此LBA在本文中被用作示例性参数,但可改为使用提供附加安全特征的其他值,尤其是用于阻止可改变或破坏LBA的攻击。
现在转到图9-11,现在将描述在读取和解密先前使用图4-8的技术被加密和写入存储的数据中使用的内联解密/读操作。
图9解说可由图3的处理电路的主机存储控制器或者由其他合适装备的组件、设备、系统或处理电路采用的示例性内联解密/读操作900。在步骤902,主机存储控制器从请求方主机软件组件接收读命令以从片外存储设备(诸如在纳入了主机存储控制器的SoC处理电路外部的UFS设备)读取数据。读命令可经由内部SoC命令传输线被接收。在步骤904,主机存储控制器经由存储总线向片外存储设备发送CDB读命令,其中该命令通常根据JEDEC标准被配置为标识要读取的数据的UPIU。在步骤906,作为响应,主机存储控制器经由存储总线从片外存储设备接收一个或多个“数据输入”UPIU,其中该UPIU同样配置有离散毗连块,这些离散毗连块包括指定一个或多个参数(诸如要取回的数据的第一数据块的LBA连同要取回的数据块数目的指示)的分组报头。示例性数据输入UPIU在图11中示出并在下文描述。
在步骤908,主机存储控制器至少部分地基于第一数据块的LBA以及数据块数目连同用于该事务的对应UTRD(如已经解释的,其包括密钥索引值)来生成或以其他方式从SoC的主机存储器的密钥存储器获得用于要读取的数据的解密密钥。在一个示例中,主机存储控制器从LBA生成初始向量(或将LBA用作初始向量),从存储器获得初始密钥(连同用于该事务的密钥索引)并且随后从该初始密钥和初始向量生成解密密钥。注意,取决于由系统采用的加密/解密的特定类型,解密密钥可以是与前述加密密钥相同的密钥,只不过是用于解密而非加密。然而,在一些实现中,解密密钥可不同于加密密钥,因此出于一般性起见,本文中对于加密密钥和解密密钥使用不同的术语。在步骤910,主机存储控制器使用解密密钥来解密数据。在步骤912,主机存储控制器向请求方主机软件组件提供或“发送”经解密数据,这通常是通过将该数据写入系统存储器(例如主机存储器)来实现。
图10进一步藉由时序图/流程图1000来解说示例性内联解密/读操作,该时序图/流程图1000示出经由前述存储总线在主机存储控制器1002和片外存储设备1004之间交换的命令。最初,命令UPIU1006被从主机存储控制器传送到片外存储设备,该命令UPIU1006包含指示需要从片外存储设备读取数据的读CDB信息。作为响应,包含经加密数据的一个或多个数据输入UPIU1008被从片外存储设备传送到主机存储控制器。如已经解释的,每个数据输入UPIU配置有离散毗连块,这些离散毗连块包括指定一个或多个参数(诸如正被读取的数据的第一数据块的LBA连同正被读取的数据块数目的指示)的分组报头。最终,通常根据JEDECUFS协议,包含状态信息的响应UPIU1010被从主机控制器发送到片外存储设备。响应UPIU可指示例如数据被主机存储控制器成功接收。
图11解说示例性数据输入UPIU1100,其包括前述LBA(标示为1104)、和块计数(标示为1106)、以及经加密数据(始于该图的UPIU的线1108)。同样,LBA是32位值:LBA[31:0],而块计数是8位值:BLKCNT[7:0]。出于完整性起见,示出了该UPIU的各种其他元素,诸如任务标记、EHS总长度、数据分段长度、数据缓冲器偏移、数据传输计数、以及一个或多个包含E2ECRC值的报头。如图中所述,如果HD位是1,则第一E2ECRC报头可被省略。如果DD位是0,则第二E2ECRC报头可被省略。当设置为1时,DD位表明数据分段的E2ECRC随该UPIU被包括。32位CRC是在数据分段内的所有字段上计算的并且可被置于数据分段的末端以作为该UPIU的最后字位置。如上所述,端到端CRC不一定在JEDEC标准的所有版本中都得到支持,因此DD(以及HD)可被设置为0。与这些值以及图11中解说的其他值相关的进一步信息参见前述JEDEC文件。一旦接收到UPIU,主机存储控制器就从分组提取经加密数据并且采用LBA和BLKCNT值来获得或生成用于解密该数据的解密密钥。LBA可被用作初始向量来获得或生成用于UPIU中的数据中所包含的数据的解密密钥。如已叙述的,除了LBA之外,还可使用其他参数。如果使用其他参数,则这些参数应被选择和采用以使得这些参数提供标识符,该标识符对于特定数据块的读和写操作是相同的(以允许主机存储控制器解密先前已被加密的数据),但随数据块而不同(以提供唯一性)。
示例性系统和方法
图12解说总体系统或装置1200,其中可实现图2-11的系统、方法和装置。根据本公开的各种方面,元素、或元素的任何部分、或者元素的任何组合可用包括一个或多个处理电路1204(诸如图3的SoC处理电路)的处理系统1214来实现。例如,装置1200可以是移动通信系统的用户装备(UE)。装置1200可与无线电网络控制器(RNC)联用。除了SoC之外,处理电路1204的示例还包括:微处理电路、微控制器、数字信号处理电路(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。即,如在装置1200中利用的处理电路1204可用于实现以上描述和在图2-12中解说的任一个或多个过程(以及在下文讨论的图15-20中解说的那些),诸如在存储设备1205内执行数据内联加密和解密的过程。
在图12的示例中,处理系统1214可用由总线1202一般化地表示的总线架构来实现。取决于处理系统1214的具体应用和总体设计约束,总线1202可包括任何数目的互连总线和桥接器。总线1202链接各种电路,包括一个或多个处理电路(由处理电路1204一般化地表示)、存储设备1205、以及机器可读、处理器可读、处理电路可读或计算机可读介质(由非瞬态机器可读介质1206一般化地表示)。总线1202还可链接各种其它电路,诸如定时源、外围设备、稳压器和功率管理电路,这些电路在本领域中是众所周知的,且因此将不再进一步描述。总线接口1208提供总线1202与收发机1210之间的接口。收发机1210提供用于通过传输介质与各种其它装置通信的手段。取决于该装置的本质,也可提供用户接口1212(例如,按键板、显示器、扬声器、话筒、操纵杆)。
处理电路1204负责管理总线1202以及用于一般性处理,包括对存储在机器可读介质1206上的软件的执行。软件在由处理电路1204执行时使处理系统1214执行本文针对任何特定装置描述的各种功能。机器可读介质1206还可被用于存储由处理电路1204在执行软件时操纵的数据。
处理系统中的一个或多个处理电路1204可执行软件或软件组件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。处理电路可执行必要的任务。代码段可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类,或是指令、数据结构、或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数、或存储器或存储内容,一代码段可被耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段被传递、转发、或传输。
软件可驻留在机器可读介质1206上。机器可读介质1206可以是非瞬态机器可读介质。作为示例,非瞬态处理电路可读、机器可读或计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,记忆卡、记忆棒、或钥匙驱动器)、RAM、ROM、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、硬盘、CD-ROM以及任何其他用于存储可由机器或计算机访问和读取的软件和/或指令的合适介质。术语“机器可读介质”、“计算机可读介质”、“处理电路可读介质”和/或“处理器可读介质”可包括但不限于非瞬态介质,诸如便携或固定的存储设备、光学存储设备,以及能够存储、包含或承载(诸)指令和/或数据的各种其他介质。因此,本文中描述的各种方法可全部或部分地由可存储在“机器可读介质”、“计算机可读介质”、“处理电路可读介质”和/或“处理器可读介质”中并由一个或多个处理电路、机器和/或设备执行的指令和/或数据来实现。作为示例,机器可读介质还可包括载波、传输线、和任何其他用于传送可由计算机访问和读取的软件和/或指令的合适介质。机器可读介质1206可以驻留在处理系统1214中、在处理系统1214外部、或跨包括该处理系统1214在内的多个实体分布。机器可读介质1206可以实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的机器可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
例如,机器可读存储介质1206可具有一个或多个指令,该指令在由处理电路1204执行时使得该处理电路:从请求方主机软件组件接收要向存储设备写入数据的写命令;向存储设备发送写命令;接收来自存储设备的与数据相关联的参数;基于该参数生成加密密钥;以及使用该加密密钥来加密数据。作为另一示例,机器可读存储介质1206可具有一个或多个指令,该指令在由处理电路1204执行时使得该处理电路:从请求方主机软件组件接收要从存储设备获得数据的读命令;向存储设备发送读命令;从存储设备接收经加密数据以及与经加密数据相关联的参数;基于该参数获得解密密钥;以及使用该解密密钥来解密该经加密数据。
附图中解说的组件、步骤、特征、和/或功能之中的一个或多个可以被重新编排和/或组合成单个组件、步骤、特征、或功能,或可以实施在数个组件、步骤或功能中。也可添加额外的元件、组件、步骤、和/或功能而不会脱离本公开。附图中所图解的装置、设备和/或组件可以被配置成执行在这些附图中所描述的方法、特征、或步骤中的一个或多个。本文中描述的算法也可以高效地实现在软件中和/或嵌入在硬件中。
结合本文中公开的示例描述的各个解说性逻辑块、模块、电路、元件和/或组件可用设计成执行本文中描述的功能的通用处理电路、数字信号处理电路(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理电路可以是微处理电路,但在替换方案中,该处理电路可以是任何常规的处理电路、控制器、微控制器、或状态机。处理电路还可以实现为计算组件的组合,例如DSP与微处理电路的组合、数个微处理电路、与DSP核心协作的一个或多个微处理电路、或任何其他此类配置。
因此,在本公开的一个方面,图3和12中解说的处理电路300和/或1204可以是专门设计和/或硬连线以执行图4、5、9和/或10(和/或下文讨论的图15、16、17、18、19和/或20)中描述的算法、方法、和/或步骤的专用处理电路(例如,ASIC)。因此,此类专用处理电路(例如,ASIC)可以是用于执行图4、5、9和/或10(和/或下文讨论的图15、16、17、18、19和/或20)中描述的算法、方法、和/或步骤的装置的一个示例。机器可读存储介质可存储指令,这些指令在由专用处理电路(例如,ASIC)执行时使得该专用处理电路执行本文中描述的算法、方法和/或步骤。
图13解说与存储设备1205联用的具有主机存储控制器1301的处理电路1204的示例性组件选集。具体地,图13的主机存储控制器1301包括读/写命令输入模块/电路1300,该读/写命令输入模块/电路1300能操作用于从请求方主机软件组件(未在图中示出)获得用于向存储设备写入数据的写命令并且还能操作用于从请求方主机软件组件获得用于从存储设备读取数据的读命令。主机存储控制器1301还包括:读/写命令输出模块/电路1302,该读/写命令输出模块/电路1302能操作用于向存储设备1205发送读命令和写命令;以及LBA/块计数参数输入模块/电路1304,该LBA/块计数参数输入模块/电路1304能操作用于获得与要向/从存储设备读/写的数据相关联的一个或多个参数,诸如LBA和块计数或其他合适的参数。主机存储控制器1301还包括:内联加密模块/电路1306,该内联加密模块/电路1306能操作用于使用主机存储控制器来加密数据以供存储在存储设备中;以及内联解密模块/电路1308,该内联解密模块/电路1308能操作用于解密从存储设备接收的数据。再进一步,主机存储控制器1301包括:密钥处理模块/电路,该密钥处理模块/电路能操作用于至少部分地基于由参数输入模块/电路1304获得的LBA或其他参数来获得或以其他方式生成加密/解密密钥。
图13的存储设备1205包括读/写命令输入模块/电路1312,该读/写命令输入模块/电路1312能操作用于从主机存储控制器1301接收指示要读取/写入的经加密数据的读命令和/或写命令。LBA/块计数参数输出模块/电路1314能操作用于输出与要读取/写入的数据相关联的一个或多个参数(诸如LBA和块计数)以促成主机存储控制器1301内对数据的内联加密/解密。存储设备1205还包括经加密数据输入/输出模块/电路,该经加密数据输入/输出模块/电路能操作用于从主机存储控制器1301接收经加密数据(协同写命令)以及向主机存储控制器1301输出经加密数据(协同读命令)。经加密数据存储单元1318存储经加密数据。
图14解说与主机存储控制器(诸如图12的处理电路1204的主机存储控制器1301)联用的机器可读、计算机可读或处理电路可读介质1206的示例性指令选集。该图还解说与存储设备(诸如图12的设备1205)联用的机器可读、计算机可读或处理电路可读介质1401的示例性指令选集。简言之,图14的机器可读介质1206包括各种指令,该指令在由图12的主机存储控制器1301执行时使得主机存储控制器控制或执行内联加密/解密操作。具体地,读/写命令输入指令1400能操作用于使得主机存储控制器从请求方主机软件组件(图中未示出)获得要向存储设备写入数据的写命令,以及还有能操作用于使得主机存储控制器从请求方主机软件组件获得要从存储设备读取数据的读命令的指令。机器可读介质1206还包括:读/写命令输出指令1402,该读/写命令输出指令1402能操作用于使得主机存储控制器向存储设备1205发送读命令和写命令;以及LBA/块计数参数输入指令1404,该LBA/块计数参数输入指令1404能操作用于使得主机存储控制器获得与要向/从存储设备读取/写入的数据相关联的一个或多个参数(诸如LBA和块计数)。机器可读介质1206还包括:内联加密指令1406,该内联加密指令1406能操作用于使得主机存储控制器使用主机存储控制器来加密数据以供存储在存储设备中;以及内联解密指令1408,该内联解密指令1408能操作用于使得主机存储控制器解密从存储设备接收的数据。再进一步,机器可读介质1206包括:密钥处理指令,该密钥处理指令能操作用于使得主机存储控制器至少部分地基于通过执行参数输入指令1404而获得的LBA或其他参数来获得或以其他方式生成加密/解密密钥。
图14中的与图12的存储设备联用的机器可读介质1401包括读/写命令输入指令1412,该指令在由存储设备的电路系统执行时使得存储设备从图12的主机存储控制器1301接收指示要读取/写入的经加密数据的读命令和/或写命令。LBA/块计数参数输出指令1414能操作用于使得存储设备输出与要读取/写入的数据相关联的一个或多个参数(诸如LBA和块计数)以促成主机存储控制器内对数据的内联加密/解密。机器可读介质1401还包括经加密数据输入/输出指令,该经加密数据输入/输出指令能操作用于使得存储设备从主机存储控制器接收经加密数据(协同写命令)以及向主机存储控制器输出经加密数据(协同读命令)。经加密数据存储单元1418存储经加密数据。
图15宽泛地解说和概述可由图12的处理电路1204的主机存储控制器1301或其他合适地装备的设备执行的用于写操作期间对数据的内联加密的方法或规程1500。在步骤1502,主机存储控制器从请求方主机软件组件获得要向存储设备写入数据的写命令。在步骤1504,主机存储控制器向存储设备发送写命令。在步骤1506,主机存储控制器从存储设备获得与该数据相关联的参数,其中在至少一些示例中,该参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。在步骤1508,主机存储控制器基于该参数生成或以其他方式获得加密密钥,并且在步骤1510使用该加密密钥来加密数据。在步骤1512,主机存储控制器向存储设备发送经加密数据。
图16宽泛地解说和概述可由图12的处理电路1204的主机存储控制器1301或其他合适地装备的设备执行的用于读操作期间对数据的内联解密的方法或规程1600。在步骤1602,主机存储控制器从请求方主机软件组件获得要从存储设备读取数据的读命令。在步骤1604,主机存储控制器向存储设备发送读命令。在步骤1606,主机存储控制器从存储设备获得经加密数据以及与经加密数据相关联的参数,其中在至少一些示例中,该参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。在步骤1608,主机存储控制器基于该参数生成或以其他方式获得解密密钥,并且在步骤1610使用该解密密钥来解密该经加密数据。在步骤1612,主机存储控制器向请求方主机软件组件提供或“发送”经解密数据。
图17宽泛地解说和概述可由图12的存储设备1205或其他合适地装备的设备执行的用于作为写操作的一部分从主机存储控制器接收和存储经加密数据的方法或规程1700。在步骤1702,存储设备从主机软件控制器接收指示要写入存储设备的数据的写命令。在步骤1704,主机存储设备向主机存储控制器发送与该数据相关联的参数以促成由主机存储控制器对数据的内联加密,其中在至少一些示例中,该参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。在步骤1706,存储设备从主机存储控制器接收经内联加密的数据,并且在步骤1708存储从主机存储控制器接收的经内联加密的数据。
图18宽泛地解说和概述可由图12的存储设备1205或其他合适地装备的设备执行的用于作为读操作的一部分取回和向主机存储控制器发送经加密数据的方法或规程1800。在步骤1802,存储设备从主机软件控制器接收指示要从存储设备读取的经加密数据的读命令。在步骤1804,主机存储取回经加密数据。在步骤1806,存储设备向主机存储控制器发送经加密数据连同与经加密数据相关联的参数以促成由主机存储控制器对该数据的内联解密,其中在至少一些示例中,该参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。
图19宽泛地解说和概述可由图12的处理电路1204的主机存储控制器1301或其他合适地装备的设备执行的用于写操作期间对数据的内联加密的替换方法或规程1900以在主机存储控制器不从存储设备接收用来生成加密密钥的前述参数的实现中使用。在步骤1902,主机存储控制器从请求方主机软件组件获得要向存储设备写入数据的写命令。在步骤1904,主机存储控制器向存储设备发送写命令。在步骤1906,主机存储控制器从主机存储器获得参数,其中该参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。在步骤1908,主机存储控制器基于该参数生成或以其他方式获得加密密钥,并且在步骤1910使用该加密密钥来加密数据。在步骤1912,主机存储控制器向存储设备发送经加密数据。
图20宽泛地解说和概述可由图12的处理电路1204的主机存储控制器1301或其他合适地装备的设备执行的用于读操作期间对数据的内联解密的替换方法或规程2000以在主机存储控制器不从存储设备接收用来生成解密密钥的前述参数的实现中使用。在步骤2002,主机存储控制器从请求方主机软件组件获得要从存储设备读取数据的读命令。在步骤2004,主机存储控制器向存储设备发送读命令。在步骤2006,主机存储控制器从存储设备获得经加密数据并且还从主机存储器获得参数,其中该参数提供标识符,该标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。在步骤2008,主机存储控制器基于该参数生成或以其他方式获得解密密钥,并且在步骤2010使用该解密密钥来解密该经加密数据。在步骤2012,主机存储控制器向请求方主机软件组件提供或“发送”经解密数据,这通常是通过将该数据写入主机存储器来实现。
注意,本公开的各方面可在本文作为被描绘为流程图、流图、结构图、或框图的过程来描述。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可以被重新安排。过程在其操作完成时终止。过程可对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,它的终止对应于该函数返回到调用方函数或主函数。
本领域技术人员将可进一步领会,结合本文中公开的各方面描述的各种解说性逻辑框、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于总体系统的设计约束。
结合本文中公开的示例描述的方法或算法可直接在硬件中、在能由处理器执行的软件模块中、或在这两者的组合中以处理单元、编程指令、或其他指示的形式实施,并且可包含在单个设备中或跨多个设备分布。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。存储介质可耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
本文的本发明的各种特征可实现在不同系统中而不脱离本发明。应注意,以上实施例仅是示例,且不应被解释成限定本发明。这些实施例的描述旨在是解说性的,而并非旨在限定权利要求的范围。由此,本发明的教导可以现成地应用于其他类型的装置,并且许多替换、修改和变形对于本领域技术人员将是显而易见的。
Claims (30)
1.一种在主机存储控制器处操作的用于在向所述主机存储控制器外部的存储设备的写操作期间加密数据的方法,包括:
从请求方主机软件组件获得要向所述存储设备写入数据的写命令;
向所述存储设备发送所述写命令;
从所述存储设备获得与所述数据相关联的参数;
基于所述参数生成加密密钥;以及
使用所述加密密钥来加密所述数据。
2.如权利要求1所述的方法,其特征在于,还包括向所述存储设备发送经加密数据。
3.如权利要求1所述的方法,其特征在于,与所述数据相关联的所述参数提供标识符,所述标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。
4.如权利要求3所述的方法,其特征在于,与所述数据相关联的所述参数包括关于要存储的所述数据的逻辑块地址(LBA)。
5.如权利要求3所述的方法,其特征在于,与所述数据相关联的所述参数还包括所述数据中的块数目的指示。
6.如权利要求3所述的方法,其特征在于,与所述数据相关联的所述参数是在准备好传输(RTT)请求数据分组中从所述存储设备接收的。
7.如权利要求6所述的方法,其特征在于,所述存储设备是通用闪存(UFS)设备,并且其中与所述数据相关联的所述参数是在包括RTTUFS协议信息单元(UPIU)的数据分组中接收的。
8.如权利要求1所述的方法,其特征在于,还包括维护传输请求列表,所述传输请求列表包括传输请求描述符,所述传输请求描述符具有与个体写事务相关联的密钥索引。
9.如权利要求1所述的方法,其特征在于,生成所述加密密钥包括:
从自所述存储设备获得的所述参数生成初始向量;
获得初始密钥;以及
从所述初始密钥和所述初始向量生成所述加密密钥。
10.如权利要求1所述的方法,其特征在于,所述主机存储控制器是片上系统(SoC)的组件,而所述存储设备是所述SoC外部的片外存储设备,并且其中所述主机存储控制器执行对所述数据的内联数据加密以供存储在所述片外存储设备中。
11.一种在主机存储控制器处操作的用于在从所述主机存储控制器外部的存储设备的读操作期间解密数据的方法,包括:
从请求方主机软件组件获得要从所述存储设备读取数据的读命令;
向所述存储设备发送所述读命令;
从所述存储设备获得经加密数据以及与所述经加密数据相关联的参数;
基于所述参数生成解密密钥;以及
使用所述解密密钥来解密所述经加密数据。
12.如权利要求11所述的方法,其特征在于,还包括向所述请求方主机软件组件提供经解密数据。
13.如权利要求11所述的方法,其特征在于,与所述数据相关联的所述参数提供标识符,所述标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。
14.如权利要求11所述的方法,其特征在于,与所述经加密数据相关联的所述参数包括关于要读取的所述数据的逻辑块地址(LBA)。
15.如权利要求13所述的方法,其特征在于,与所述经加密数据相关联的所述参数还包括所述经加密数据中的块数目的指示。
16.如权利要求13所述的方法,其特征在于,与所述经加密数据相关联的所述参数是在协议信息单元中从所述存储设备接收的。
17.如权利要求16所述的方法,其特征在于,所述存储设备是通用闪存(UFS)设备,并且其中与所述经加密数据相关联的所述参数是在包括UFS协议信息单元(UPIU)的数据分组中接收的。
18.如权利要求15所述的方法,其特征在于,还包括维护传输请求列表,所述传输请求列表包括传输请求描述符,所述传输请求描述符具有与个体读事务相关联的密钥索引。
19.如权利要求11所述的方法,其特征在于,生成所述解密密钥包括:
从自所述存储设备获得的所述参数生成初始向量;
获得初始密钥;以及
从所述初始密钥和所述初始向量生成所述解密密钥。
20.如权利要求11所述的方法,其特征在于,所述主机存储控制器是片上系统(SoC)的组件,而所述存储设备是所述SoC外部的片外存储设备,并且其中所述主机存储控制器执行对从所述片外存储设备接收的经加密数据的内联数据解密。
21.一种设备,包括:
用于存储数据的存储设备;
耦合至所述存储设备的处理电路,所述处理电路具有主机存储控制器,所述主机存储控制器配置成:
从请求方主机软件组件获得要向所述存储设备写入数据的写命令;
向所述存储设备发送所述写命令;
从所述存储设备获得与所述数据相关联的参数;
基于所述参数生成加密密钥;以及
使用所述加密密钥来加密所述数据。
22.如权利要求21所述的设备,其特征在于,所述主机存储控制器还配置成向所述存储设备发送经加密数据。
23.如权利要求21所述的设备,其特征在于,与所述数据相关联的所述参数提供标识符,所述标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。
24.如权利要求23所述的设备,其特征在于,与所述数据相关联的所述参数还包括所述数据中的块数目的指示。
25.如权利要求21所述的设备,其特征在于,所述主机存储控制器是片上系统(SoC)的组件,而所述存储设备是所述SoC外部的片外存储设备,并且其中所述主机存储控制器配置成执行对所述数据的内联数据加密以供存储在所述片外存储设备中。
26.一种设备,包括:
用于存储数据的存储设备;
耦合至所述存储设备的处理电路,所述处理电路具有主机存储控制器,所述主机存储控制器配置成:
从请求方主机软件组件获得要从所述存储设备读取数据的读命令;
向所述存储设备发送所述读命令;
从所述存储设备获得经加密数据以及与所述经加密数据相关联的参数;
基于所述参数生成解密密钥;以及
使用所述解密密钥来解密所述经加密数据。
27.如权利要求26所述的设备,其特征在于,所述主机存储控制器还配置成向所述请求方主机软件组件提供经解密数据。
28.如权利要求26所述的设备,其特征在于,与所述数据相关联的所述参数提供标识符,所述标识符对于特定数据块的读和写操作是相同的,但随数据块而不同。
29.如权利要求28所述的设备,其特征在于,与所述经加密数据相关联的所述参数还包括所述经加密数据中的块数目的指示。
30.如权利要求26所述的设备,其特征在于,所述主机存储控制器是片上系统(SoC)的组件,而所述存储设备是所述SoC外部的片外存储设备,并且其中所述主机存储控制器配置成执行对从所述片外存储设备接收的经加密数据的内联数据解密。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361812616P | 2013-04-16 | 2013-04-16 | |
US61/812,616 | 2013-04-16 | ||
US14/244,742 US20140310536A1 (en) | 2013-04-16 | 2014-04-03 | Storage device assisted inline encryption and decryption |
US14/244,742 | 2014-04-03 | ||
PCT/US2014/033083 WO2014172124A1 (en) | 2013-04-16 | 2014-04-04 | Storage device assisted inline encryption and decryption |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105122203A true CN105122203A (zh) | 2015-12-02 |
Family
ID=51687632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480021176.3A Pending CN105122203A (zh) | 2013-04-16 | 2014-04-04 | 存储设备辅助式内联加密和解密 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140310536A1 (zh) |
EP (1) | EP2987073A1 (zh) |
JP (1) | JP2016517241A (zh) |
KR (1) | KR20150143708A (zh) |
CN (1) | CN105122203A (zh) |
WO (1) | WO2014172124A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107332670A (zh) * | 2017-08-11 | 2017-11-07 | 北京中天信安科技有限责任公司 | 基于ufs接口的安全控制装置、系统、方法和移动设备 |
CN107688750A (zh) * | 2016-08-05 | 2018-02-13 | 波音公司 | 用于集成存储介质的静止数据(dar)加密 |
CN112836247A (zh) * | 2019-11-25 | 2021-05-25 | 美光科技公司 | 与存储器子系统的安全数据通信 |
CN116881934A (zh) * | 2023-06-05 | 2023-10-13 | 珠海妙存科技有限公司 | 一种数据的加解密方法、系统、装置及存储介质 |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665501B1 (en) * | 2013-06-18 | 2017-05-30 | Western Digital Technologies, Inc. | Self-encrypting data storage device supporting object-level encryption |
US9959216B2 (en) * | 2013-09-10 | 2018-05-01 | Sandisk Technologies Llc | Generating and using an enhanced initialization vector |
KR20150101683A (ko) * | 2014-02-27 | 2015-09-04 | 삼성전자주식회사 | 자기 암호화 드라이브 및 그것을 포함한 유저 장치 |
KR20150112075A (ko) * | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US9311506B1 (en) * | 2014-06-10 | 2016-04-12 | Lockheed Martin Corporation | Storing and transmitting sensitive data |
US10430789B1 (en) | 2014-06-10 | 2019-10-01 | Lockheed Martin Corporation | System, method and computer program product for secure retail transactions (SRT) |
KR102263880B1 (ko) * | 2014-06-19 | 2021-06-11 | 삼성전자주식회사 | 호스트 컨트롤러 및 시스템-온-칩 |
KR102218715B1 (ko) * | 2014-06-19 | 2021-02-23 | 삼성전자주식회사 | 채널별로 데이터를 보호할 수 있는 반도체 장치 |
US9811677B2 (en) * | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US10692335B2 (en) * | 2014-08-11 | 2020-06-23 | Seagate Technology Llc | Green drive with status indicator |
WO2016072999A1 (en) * | 2014-11-07 | 2016-05-12 | Hewlett Packard Enterprise Development Lp | Data conversion using an address space identifier |
US9614666B2 (en) * | 2014-12-23 | 2017-04-04 | Intel Corporation | Encryption interface |
US9524249B2 (en) * | 2014-12-23 | 2016-12-20 | Intel Corporation | Memory encryption engine integration |
US9954681B2 (en) * | 2015-06-10 | 2018-04-24 | Nxp Usa, Inc. | Systems and methods for data encryption |
US9864879B2 (en) | 2015-10-06 | 2018-01-09 | Micron Technology, Inc. | Secure subsystem |
CN108496159A (zh) * | 2016-01-21 | 2018-09-04 | 惠普发展公司,有限责任合伙企业 | 数据密码引擎 |
US10169616B1 (en) * | 2016-02-01 | 2019-01-01 | Xilinx, Inc. | Cryptographic processing of data and instructions stored off-chip |
US10157153B2 (en) * | 2016-02-03 | 2018-12-18 | Qualcomm Incorporated | Inline cryptographic engine (ICE) for peripheral component interconnect express (PCIe) systems |
KR102419505B1 (ko) * | 2016-03-09 | 2022-07-08 | 삼성전자주식회사 | 스토리지 디바이스의 인증 방법 및 시스템 |
US20170372085A1 (en) * | 2016-06-28 | 2017-12-28 | HGST Netherlands B.V. | Protecting data in a storage device |
JP6721832B2 (ja) * | 2016-08-24 | 2020-07-15 | 富士通株式会社 | データ変換プログラム、データ変換装置及びデータ変換方法 |
US10969960B2 (en) | 2016-09-01 | 2021-04-06 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
US12001676B2 (en) | 2016-09-01 | 2024-06-04 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
US10896267B2 (en) | 2017-01-31 | 2021-01-19 | Hewlett Packard Enterprise Development Lp | Input/output data encryption |
US10298553B2 (en) | 2017-03-31 | 2019-05-21 | Sprint Communications Company L.P. | Hardware trusted data communications over system-on-chip (SOC) architectures |
US10630424B2 (en) | 2017-06-30 | 2020-04-21 | Silicon Motion, Inc. | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
CN109213436B (zh) | 2017-06-30 | 2021-08-24 | 慧荣科技股份有限公司 | 降低快闪储存介面中传收数据错误方法及装置 |
TWI645298B (zh) * | 2017-06-30 | 2018-12-21 | 慧榮科技股份有限公司 | 降低快閃儲存介面中傳收資料錯誤方法以及使用該方法的裝置 |
US10637509B2 (en) | 2017-06-30 | 2020-04-28 | Silicon Motion, Inc. | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
US10848263B2 (en) | 2017-06-30 | 2020-11-24 | Silicon Motion, Inc. | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
KR102395190B1 (ko) | 2017-07-31 | 2022-05-06 | 삼성전자주식회사 | 호스트와 인터페이스를 수행하는 스토리지 장치, 호스트 및 스토리지 장치의 동작방법 |
EP3619886A4 (en) * | 2017-08-18 | 2020-04-29 | Samsung Electronics Co., Ltd. | METHOD AND APPARATUS FOR BOARDING IN AN IOT NETWORK |
US10558393B2 (en) | 2017-10-20 | 2020-02-11 | Qualcomm Incorporated | Controller hardware automation for host-aware performance booster |
US11349639B2 (en) * | 2018-12-28 | 2022-05-31 | ePIC Blockchain Technologies Inc. | Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms |
US11429751B2 (en) | 2019-07-01 | 2022-08-30 | Rajant Corporation | Method and apparatus for encrypting and decrypting data on an integrated circuit |
KR20210016938A (ko) | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
US11636231B2 (en) * | 2020-07-24 | 2023-04-25 | Qualcomm Incorporated | Methods and apparatus for in-memory device access control |
US11797531B2 (en) * | 2020-08-04 | 2023-10-24 | Micron Technology, Inc. | Acceleration of data queries in memory |
US11941131B1 (en) * | 2020-12-31 | 2024-03-26 | Meta Platforms Technologies, Llc | Isolation of secrets from an operating system |
US20210319121A1 (en) * | 2021-06-25 | 2021-10-14 | Intel Corporation | Concurrent volume and file based inline encryption on commodity operating systems |
US20230350603A1 (en) * | 2022-04-28 | 2023-11-02 | Rambus Inc. | Securing dynamic random access memory (dram) contents to non-volatile in a persistent memory module |
US20230409277A1 (en) * | 2022-06-21 | 2023-12-21 | Google Llc | Encrypting and/or decrypting audio data utilizing speaker features |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120260A1 (en) * | 2003-11-19 | 2005-06-02 | Fuji Xerox Co., Ltd | Image forming apparatus and control method of an image forming apparatus |
CN1936870A (zh) * | 2005-09-23 | 2007-03-28 | 中国科学院计算技术研究所 | 一种硬盘扇区级数据加密解密方法及系统 |
CN101261663A (zh) * | 2007-03-06 | 2008-09-10 | 国际商业机器公司 | 保护安全电子模块免受攻击的方法和系统 |
CN101799789A (zh) * | 2009-02-05 | 2010-08-11 | 新唐科技股份有限公司 | 芯片及其存储器数据保护装置与其保护方法 |
US8296584B2 (en) * | 2007-12-28 | 2012-10-23 | Alcatel Lucent | Storage and retrieval of encrypted data blocks with in-line message authentication codes |
CN102750233A (zh) * | 2011-03-22 | 2012-10-24 | Arm有限公司 | 加密和存储机密数据 |
CN103026347A (zh) * | 2010-05-27 | 2013-04-03 | 思科技术公司 | 多核架构中的虚拟机内存划分 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5058164A (en) * | 1990-05-03 | 1991-10-15 | National Semiconductor Corp. | Encryption of streams of addressed information to be used for program code protection |
US6449701B1 (en) * | 2000-09-20 | 2002-09-10 | Broadcom Corporation | Out of order associative queue in two clock domains |
JP4226816B2 (ja) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ |
WO2003094513A1 (en) * | 2002-04-30 | 2003-11-13 | General Dynamics Advanced Information Systems, Inc. | Method and apparatus for in-line serial data encryption |
US20050193103A1 (en) * | 2002-06-18 | 2005-09-01 | John Drabik | Method and apparatus for automatic configuration and management of a virtual private network |
JP2005130059A (ja) * | 2003-10-22 | 2005-05-19 | Fuji Xerox Co Ltd | 画像形成装置および交換部品 |
US7272727B2 (en) * | 2005-04-18 | 2007-09-18 | Hitachi, Ltd. | Method for managing external storage devices |
JP4736593B2 (ja) * | 2005-07-25 | 2011-07-27 | ソニー株式会社 | データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器 |
US20070116290A1 (en) * | 2005-11-10 | 2007-05-24 | Chih-Hao Yeh | Method of detecting incorrect IEEE 802.11 WEP key information entered in a wireless station |
US7443627B1 (en) * | 2006-03-07 | 2008-10-28 | Marvell International Ltd. | Lowest power mode for a mobile drive |
JP2007336446A (ja) * | 2006-06-19 | 2007-12-27 | Canon Inc | データ暗号化装置 |
US20080052539A1 (en) * | 2006-07-29 | 2008-02-28 | Macmillan David M | Inline storage protection and key devices |
US20080072071A1 (en) * | 2006-09-14 | 2008-03-20 | Seagate Technology Llc | Hard disc streaming cryptographic operations with embedded authentication |
US8656186B2 (en) * | 2007-05-01 | 2014-02-18 | International Business Machines Corporation | Use of indirect data keys for encrypted tape cartridges |
US20090187771A1 (en) * | 2008-01-17 | 2009-07-23 | Mclellan Jr Hubert Rae | Secure data storage with key update to prevent replay attacks |
JP2010011247A (ja) * | 2008-06-30 | 2010-01-14 | Fujitsu Ltd | ディスク装置及び鍵交換方法 |
JP2010026933A (ja) * | 2008-07-23 | 2010-02-04 | Toshiba Corp | メモリシステム、ホスト装置 |
US8407562B2 (en) * | 2009-09-01 | 2013-03-26 | Marvell World Trade Ltd. | Systems and methods for compressing data in non-volatile semiconductor memory drives |
KR101601790B1 (ko) * | 2009-09-22 | 2016-03-21 | 삼성전자주식회사 | 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법 |
US8516255B2 (en) * | 2010-05-10 | 2013-08-20 | Qualcomm Incorporated | Methods and apparatus for peer-to-peer transfer of secure data using near field communications |
US8397134B2 (en) * | 2010-08-30 | 2013-03-12 | Hamilton Sundstrand Corporation | System for handling of permanent bit errors in memory devices |
JP5521926B2 (ja) * | 2010-09-13 | 2014-06-18 | 富士通株式会社 | 記憶システム、制御装置、および記憶装置 |
JP5677336B2 (ja) * | 2011-08-01 | 2015-02-25 | 株式会社東芝 | メモリ・デバイス |
US10592106B2 (en) * | 2013-03-20 | 2020-03-17 | Amazon Technologies, Inc. | Replication target service |
-
2014
- 2014-04-03 US US14/244,742 patent/US20140310536A1/en not_active Abandoned
- 2014-04-04 WO PCT/US2014/033083 patent/WO2014172124A1/en active Application Filing
- 2014-04-04 JP JP2016508960A patent/JP2016517241A/ja not_active Ceased
- 2014-04-04 CN CN201480021176.3A patent/CN105122203A/zh active Pending
- 2014-04-04 EP EP14724254.9A patent/EP2987073A1/en not_active Withdrawn
- 2014-04-04 KR KR1020157032504A patent/KR20150143708A/ko not_active Application Discontinuation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050120260A1 (en) * | 2003-11-19 | 2005-06-02 | Fuji Xerox Co., Ltd | Image forming apparatus and control method of an image forming apparatus |
CN1936870A (zh) * | 2005-09-23 | 2007-03-28 | 中国科学院计算技术研究所 | 一种硬盘扇区级数据加密解密方法及系统 |
CN101261663A (zh) * | 2007-03-06 | 2008-09-10 | 国际商业机器公司 | 保护安全电子模块免受攻击的方法和系统 |
US8296584B2 (en) * | 2007-12-28 | 2012-10-23 | Alcatel Lucent | Storage and retrieval of encrypted data blocks with in-line message authentication codes |
CN101799789A (zh) * | 2009-02-05 | 2010-08-11 | 新唐科技股份有限公司 | 芯片及其存储器数据保护装置与其保护方法 |
CN103026347A (zh) * | 2010-05-27 | 2013-04-03 | 思科技术公司 | 多核架构中的虚拟机内存划分 |
CN102750233A (zh) * | 2011-03-22 | 2012-10-24 | Arm有限公司 | 加密和存储机密数据 |
Non-Patent Citations (1)
Title |
---|
JEDEC SOLID STATE TECHNOLOGY ASSOCIATION 2013: "7.2.2.1 Outbound UPIUs generated by Software", 《JEDEC STANDARD JESD223B》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688750A (zh) * | 2016-08-05 | 2018-02-13 | 波音公司 | 用于集成存储介质的静止数据(dar)加密 |
CN107688750B (zh) * | 2016-08-05 | 2023-06-30 | 波音公司 | 用于向静止数据提供透明在线加密的系统和方法 |
CN107332670A (zh) * | 2017-08-11 | 2017-11-07 | 北京中天信安科技有限责任公司 | 基于ufs接口的安全控制装置、系统、方法和移动设备 |
CN112836247A (zh) * | 2019-11-25 | 2021-05-25 | 美光科技公司 | 与存储器子系统的安全数据通信 |
CN112836247B (zh) * | 2019-11-25 | 2024-04-05 | 美光科技公司 | 与存储器子系统的安全数据通信 |
CN116881934A (zh) * | 2023-06-05 | 2023-10-13 | 珠海妙存科技有限公司 | 一种数据的加解密方法、系统、装置及存储介质 |
CN116881934B (zh) * | 2023-06-05 | 2024-02-23 | 珠海妙存科技有限公司 | 一种数据的加解密方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20150143708A (ko) | 2015-12-23 |
JP2016517241A (ja) | 2016-06-09 |
EP2987073A1 (en) | 2016-02-24 |
WO2014172124A1 (en) | 2014-10-23 |
US20140310536A1 (en) | 2014-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105122203A (zh) | 存储设备辅助式内联加密和解密 | |
TWI715619B (zh) | 用於硬體強制單向密碼學的處理器、方法及系統 | |
CN107924445B (zh) | 保留隐私的计算的相互认可 | |
US9489540B2 (en) | Memory controller with encryption and decryption engine | |
US10810138B2 (en) | Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME) | |
JP6067757B2 (ja) | ストレージ装置とホスト間でデータ伝送を保護するためのストレージ・コントローラ・バス・インターフェースの使用 | |
US10303880B2 (en) | Security device having indirect access to external non-volatile memory | |
US20180309569A1 (en) | Format preserving encryption of object code | |
US11481337B2 (en) | Securing data direct I/O for a secure accelerator interface | |
US11455430B2 (en) | Secure element and related device | |
JP7443433B2 (ja) | 不揮発性メモリデバイス内部からの保護された通信 | |
CN111008094A (zh) | 一种数据恢复方法、设备和系统 | |
JP2023542936A (ja) | チャネル暗号化区別のためのメタデータ調整(metadata tweak) | |
CN107688750B (zh) | 用于向静止数据提供透明在线加密的系统和方法 | |
KR20180059217A (ko) | 메모리 데이터 보안 처리 장치 및 방법 | |
CN104580181A (zh) | 加密数据的方法、装置及加密加速引擎 | |
US11061996B2 (en) | Intrinsic authentication of program code | |
TWI791995B (zh) | 軟體保護方法及其系統 | |
CN117195166A (zh) | 组件源码保护方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151202 |