CN101120349A - 带有流中数据加密/解密的存储器系统 - Google Patents

带有流中数据加密/解密的存储器系统 Download PDF

Info

Publication number
CN101120349A
CN101120349A CNA2005800482395A CN200580048239A CN101120349A CN 101120349 A CN101120349 A CN 101120349A CN A2005800482395 A CNA2005800482395 A CN A2005800482395A CN 200580048239 A CN200580048239 A CN 200580048239A CN 101120349 A CN101120349 A CN 101120349A
Authority
CN
China
Prior art keywords
data
circuit
controller
data stream
encipherment
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
Application number
CNA2005800482395A
Other languages
English (en)
Inventor
迈克尔·霍尔茨曼
巴鲁赫·鲍里斯·科亨
戴维·戴切尔
哈加伊·巴-埃尔
阿维朗姆·耶鲁哈米
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.)
SanDisk Corp
Original Assignee
DISCRETIX TECHNOLOGIES Ltd
SanDisk 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 DISCRETIX TECHNOLOGIES Ltd, SanDisk Corp filed Critical DISCRETIX TECHNOLOGIES Ltd
Publication of CN101120349A publication Critical patent/CN101120349A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • 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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

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

Abstract

本发明提高了存储器系统的吞吐量,其中,在不密切涉及任何控制器的情况下,由电路对数据流中的数据进行密码化处理。优选地控制数据流,以使其具有多个源中所选择的数据源和多个目的地中所选择的目的地,所有这些情况都没有涉及控制器。优选地可配置密码化电路以启用对多个页的处理、多种算法中一种或多种密码化算法的选择从而使得在不涉及控制器的情况下进行加密和/或解密,并且在多个连续阶段中对数据进行密码化处理而无需涉及控制器。对于以交错存取的方式密码化处理来自多个数据流中的数据的存储器系统来说,当会话被中断时,就可能会丢失安全配置信息,从而使得在该会话重新进行时也不可能再继续处理过程。为了保留安全配置信息,控制器优选地使得用于该会话的安全配置信息在中断之前被存储起来,以使其在结束中断之后就能够被提取。

Description

带有流中数据加密/解密的存储器系统
技术领域
本发明总体上涉及存储器系统,尤其涉及一种带有流中数据加密/解密的存储器系统。
背景技术
移动装置市场正在朝着包括内容存储的方向发展,以使得通过生成更多的数据交换来增加平均收益。这就意味着内容被存储到移动装置上时必须受到保护。
便携式存储装置在商业中已经使用许多年了。它们从一个计算装置到另一个计算装置载入数据或用于存储备份数据。更加复杂的便携式存储装置,诸如便携式硬盘驱动器、便携式快闪存储盘以及快闪存储卡,还包括用于控制该存储管理的微处理器。
为了保护存储在便携式存储装置中的内容,所存储的数据通常被加密,只有被授权的用户才允许将该数据解密。
在具有已被提出的密码化能力的便携式存储装置中,用于存储管理的微处理器也紧密地被用在加密和解密处理过程中。例如,在美国专利6,457,126中描述了此种系统。在这种情况下,存储装置的吞吐量和性能就会受到严重影响。因此,需要有一种能缓解此问题的、改进了的本地存储装置。
发明内容
本发明的一方面是基于认可存储器系统的吞吐量可以被提高,其中,当数据流中的数据被传送到非易失性存储单元或从非易失性存储单元提取数据流中的数据时,在不密切地涉及任何控制器或微处理器的情况下,数据流中的数据由电路进行密码化处理。在一个实施例中,控制器仅仅涉及设置用于密码化处理过程中的参数而并不涉及该处理过程。在该实施例的一个执行中,通过配置寄存器来设置这些参数。
存储单元优选地包括快闪存储单元。同样优选地,存储单元、用于加密和/或解密数据的电路以及控制所述单元和该电路的控制器都被置于并封装到诸如存储卡或棒的实体内。
数据可被成页地写入存储单元中或从存储单元中被成页地读取。在许多用于加密和解密的传统的密码化算法中对通常小于页的数据单位进行操作。。因此,本发明的其它方面是基于以下认可:密码化电路密码化处理正在被读取或写入的数据流中的一页或多页数据,以及数据流可以被控制,从而使得在全不涉及控制器的情况下,数据流具有多个源中所选择的源和多个目的地中所选择的目的地。
根据本发明的其它方面,可配置密码化电路,以启用多个算法中的一个或多个密码化算法的选择,从而在不涉及控制器或微处理器的情况下进行加密和/或解密。也可以配置电路,以使得在该配置之后,在不涉及控制器的情况下,该电路在多个连续阶段中密码化处理数据流中的数据。在该配置之后,在不涉及控制器的情况下,多个连续阶段中的密码化处理过程可以采用多于一个的密钥并且可以使用多于一种类型的密码化处理过程。
为了某些应用,可能希望存储器系统处理多于一个的数据流。在此情况下,控制器控制存储单元和电路,从而可以交错方式来密码化处理不同数据流中的数据。优选地,当数据流的处理在所述交错期间被中断时,用于密码化处理每个数据流的各种参数都被存储起来,以使得当此数据流的处理重新进行时,可以还原这些参数,从而继续进行密码化处理。在该特征的一个执行中,在启动写入操作时创建安全配置记录,以设置用于密码化处理的各种参数,并且这些参数在会话结束时被存储。然后,当读取操作启动时,从存储器中提取该记录,并在该操作的最后将之丢弃。当数据流被暂时中断以处理其它的数据流时,也将该记录存储起来,并且当原来的数据流的处理重新进行时,将该记录提取出。
上面描述的本发明的各方面可以单独使用或以它们的任意组合方式使用。
附图说明
图1是用于说明本发明的与主机装置进行通信的存储器系统的结构框图。
图2是图1的密码化引擎的某些方面的结构框图。
图3是用于说明本发明一方面的优选实施例的图1中的系统的操作的流程图。
图4是用于说明图1中的系统在处理多个数据流的操作以及安全配置记录的使用的流程图。
为了便于描述,在本申请中用相同的标号来标示相同的组件。
具体实施方式
图1的结构框图描述了本发明的各方面可在其中被执行的实例存储器系统。如图1所示,该存储器系统10包括中央处理单元(CPU)12、缓冲器管理单元(BMU)14、主机接口模块(HIM)16和快闪接口模块(FIM)18、快闪存储器20以及外围存取模块(PAM)22。存储器系统10通过主机接口总线26和端口26a与主机装置24进行通信。可以是NAND类型的快闪存储器20为主机装置24提供数据存储。用于CPU 12的软件代码也可以存储在快闪存储器20中。FIM 18通过快闪接口总线28和端口28a连接至快闪存储器20。HIM 16适用于连接到类似数码相机、个人计算机、个人数字助理(PDA)、数字媒体播放器、MP3播放器,以及蜂窝移动电话或其它数字装置的主机系统。外围存取模块22选择诸如用于与CPU 12进行通信的FIM、HIM以及BMU的适当的控制器模块。在一个实施例中,虚线框内的系统10的所有组件可以包含在诸如存储卡或棒10’的单个单元中,并且优选地被封装在该卡或棒中。
缓冲器管理单元14包括主机直接存储器存取(HDMA)32、快闪直接存储器存取(FDMA)控制器34、仲裁器36、缓冲器随机存取存储器(BRAM)38以及密码引擎40。仲裁器36是共享总线仲裁器,以使仅仅一个主导装置(master)或启动器(initiator)(其可以是HDMA 32、FDMA 34或CPU 12)可在任何时间起作用,以及从属装置(slave)或目标装置(target)是BRAM 38。仲裁器负责将适当的启动器请求导入BRAM 38中。HDMA 32和FDMA 34都负责数据在HIM 16、FIM 18和BRAM 38或CPU随机存取存储器(CPU RAM)12a之间的传送。HDMA 32和FDMA 34的操作是常规的,并且没有必要在这里详细描述。BRAM 38用于缓冲在主机装置24、快闪存储器20和CPU RAM 12a之间传递的数据。HDMA 32和FDMA 34都负责在HIM 16/FIM 18和BRAM 38或CPURAM 12a之间传送数据以及用于指出扇区传送的完成。
首先,当主机装置24读取来自快闪存储器20的数据时,通过快闪接口总线28、FIM18、FDMA 34、经加密的数据在其中被解密并存储在BRAM 38中的密码引擎40来提取存储器20中所经加密的数据。然后,通过HDMA 32、HIM 16、主机接口总线26将经解密的数据从BRAM 38传送到主机装置24。从BRAM 38提取的数据可在其被传递到HDMA32之前,再次由密码引擎40进行加密,从而使传送到主机装置24的数据被再次加密,但是,与存储在存储器20中的数据被解密相比,使用了不同的密钥和/或算法。优选地,以及在另一实施例中,上述过程中不是将经解密的数据存储在BRAM 38中,这样数据可能变得易被未经授权存取,而是,来自存储器20的数据可以被解密并且在其被传送到BRAM 38之前再次被密码引擎40加密。然后,BRAM 38中被加密的数据如前所述被传送到主机装置24。这就说明了在读取过程中的数据流。
当数据由主机装置24写入存储器20时,数据流的方向被反转。举例来说,如果未被加密的数据由主机装置通过主机接口总线26、HIM 16、HDMA 32传送到密码引擎40,则这样的数据可以在被存储到BRAM 38之前由密码引擎40加密。另外,未被加密的数据可以存储在BRAM 38中。然后,数据在其通向存储器20的通道上被传送到FDMA34之前被加密。有鉴于被写入的数据经历多级密码化处理,优选地,在经处理的数据被存储到BRAM 38中之前,密码引擎40完成此处理过程。
本发明的一个方面基于以下认可:如果在主机装置24和存储器20之间传递的数据流中的数据的上述密码化处理可以在最小程度涉及CPU 12的情况下被执行,则装置10的吞吐量和由此导致的性能可以被大大改进。在下面对图1的描述中对此进行说明。
在上述的过程中,已经描述了具有两个不同数据源和目的地的数据流。在读取过程中,数据源是存储器20以及目的地是主机装置24。在写入过程中,数据源是主机装置24以及目的地是存储器20。另外,数据源(或目的地)也可以是CPU 12,而相应的目的地(或数据源)为存储器20。然而在另一个操作中,为了批量加密和哈希(hash)操作,数据流可以从BMU 14流向CPU 12。在下面的表格中给出了数据输入源和数据输出目的地以及可被应用的相应密码化处理过程的各种组合。
操作 引擎 数据输入源   数据输出目的地 描述
FDMA写入CPU AES/DES/HASH FDMACPU总线 CPU   该数据流动启动了对从安全存储器加载到CPU的数据的密码化操作(解密)
FDMA从CPU读取 AES/DES/HASH CPU FDMA   该数据流动启动了由CPU存储到安全存储器的数据的密码化操作(加密)
  FDMA写入BRAM   AES/DES/HASH   FDMABRAM总线 BRAM   该数据流动启动了对从FIM向BRAM传送的数据流的密码化操作
  FDMA从BRAM读取   AES/DES/HASH BRAM FDMA   该数据流动启动了对从BRAM向FIM传送的数据流的密码化操作
PAM存取   AES/DES/HASH/PKI PAM PAM   该数据流动启动CPU存取用于批量加密和哈希操作的核心硬件
旁路 n/a 无写操作 无读操作   该数据流动启动FDMA在对数据流没有任何密码化操作的情况下存取CPU或BRAM
如上述表格所示,一个附加的操作模式是旁路模式,其使FDMA 34在没有对数据流进行任何密码化操作的情况下能够沿着旁路通道(未在图1中示出)存取CPU 12或BRAM38,好像并不存在密码引擎40而且HDMA和FDMA都沿着此旁路通道通过仲裁器36直接连接至BRAM 38。根据本发明的一个实施例,通过设置图2(其是图1的密码引擎40的某些功能模块的结构框图)中的配置寄存器52,CPU 12可以从多个数据源、多个目的地以及多个算法中预选择诸如数据源、数据目的地的处理参数以及诸如将被应用的密码化算法(或旁路模式)的密码化参数。
图2是更详细地示出其某些部件的密码引擎40的结构框图。如图2所示,密码引擎40包括:密码化模块50、配置寄存器52,根据上面的表格和将被使用的密钥(除了旁路模式之外),以及数据是否被加密、被解密或被哈希化(其被包含在短语“被加密处理”中)或不被密码化处理,配置寄存器52存储关于所选择的数据源、所选择的数据目的地、以及将被采用的密码化算法或旁路模式的安全配置信息或安全配置记录。安全配置信息或记录可以由CPU 12写入配置寄存器52中。在这些信息被存储到配置寄存器52之后,密码引擎40然后就在不涉及CPU 12的情况下执行相应的密码化处理过程。许多公共的加密算法将128位数据作为一个单位进行处理。这就可能小于一次写入或读取诸如快闪存储器的存储装置的多页数据一页的尺寸。每页通常存储一个或多个扇区的数据,扇区的大小由主机系统定义。在遵循磁盘驱动器所建立的标准之下,一个例子是由512字节用户数据的扇区加上关于用户数据的和/或这些数据存储在其中的块的开销信息(overhead information)的一些字节数。
在密码引擎40中可以采用计算机逻辑电路(未示出),以使得在由密码引擎40进行的密码化过程中不必涉及CPU 12,从而使整页数据每次均以小于一页的单位被密码引擎40进行密码化处理。在一个实施例中,密码引擎40是硬件电路。
如图2所示,方块框54、56和58表示可以由CPU选择以被密码化模块50执行的三种不同的密码化算法(分别为Hash、DES、AES)。不同于这些算法的密码化算法也可以被使用并且也处在本发明的范围之内。将由密码化模块50处理的和发源自主机装置24或存储器20或CPU 12的数据首先被存储在输入缓冲器62中,然后,由密码化模块50根据配置寄存器52中指定的密码化算法进行密码化处理。再后,经密码化处理的数据在根据配置寄存器52中的目的地信息而被传送到目的地中之前,先被存储到输出缓冲器64中。图2也包括从输入缓冲器62到输出缓冲器64的旁路通道72,在该旁路通道72上写入存储器20或从存储器20读取的数据没有被密码化处理,这就是表格中的模式之一和上面描述的一种情况。
配置寄存器52也可以存储将被用在密码化过程中的密钥。在一个实施例中,该密钥被CPU 12(诸如从存储器20中)提取并在由密码化模块50加密或解密之前先被存储到配置寄存器52中。在CPU 12将相关信息写入配置寄存器52之后,在没有涉及CPU 12的情况下,上述过程发生在密码引擎40中。为简化图2,已经省略了某些计算机逻辑电路,它们使用配置寄存器52中的信息以选择密码引擎40中的算法、数据源和目的地,以及使用用于密码化处理过程的唯一的密钥和所选择的算法。在把所处理过的数据传送到输出缓冲器64之前,可以不止一次使用密码化模块50来处理输入缓冲器62中的数据。例如,希望首先对来自数据源中的数据进行解密,以及接着在将所解密过的数据传送至输出缓冲器64之前使用不同的密钥和/或算法加密所解密的数据。除了加密或解密数据之外,为确保数据的完整性,还将哈希算法应用于数据以获得数据的摘要(digest)或哈希值也是有益的。在所有这些情况中,或是通过使用密钥解密然后使用不同的密钥加密,或是为了获得摘要以及加密或解密数据,希望由密码化模块50对数据进行两次处理。很明显,也可以由密码化模块50对该数据进行多于两次的处理,例如,在顺序的阶段(多级操作)中连续发生的数据被解密、哈希化、然后被加密。换句话说,在多级(例如,具有两个或更多阶段)过程中,为了密码化模块50的多次处理,通过将已经被密码化模块50处理过的输出缓冲器64中的数据沿着反馈通道66传送至输入缓冲器62,数据可以不止一次通过密码化模块50。如果设想有多于两个阶段,则数据可以为了额外的处理过程被反馈额外次数。在过程的每一阶段,都可使用不同的算法和/或密钥。
如果希望进行多级处理过程,则CPU 12可用于将安全配置信息或记录输入到配置寄存器52中以确定数据被密码化处理的次数、以及多级处理过程中每个阶段使用的密钥和/或算法。在将这些信息写入配置寄存器52之后,多级处理过程中就不必要涉及CPU 12了。
当图1中的存储器系统10包括快闪存储器时,该系统可以另外包括其它类型可替代的非易失性存储器,诸如磁盘、光学CD,以及所有其它类型的可再写非易失性存储器系统,并且上述各种优点可以等同地应用到这些可选的实施例中。在可选实施例中,存储器也可以优选地随同该存储器系统的余下的元件一起被封装到同一实体(诸如存储卡或棒)中。
图3的流程图说明了操作系统10的读取过程。CPU 12在从主机装置24接收到读取指令之后启动读取操作(椭圆150)。然后,CPU 12通过将适当的安全配置信息或记录写入配置寄存器52来配置密码引擎40,以及配置用于读取操作的BMU 14,和用于操作的诸如存储空间在BRAM 38中的分配的其它的参数(方框152、154)。CPU 12还配置FIM18,例如通过确定存储器20中数据将被读取的位置(方框156)的方式。然后,启动HDMA引擎32和FDMA引擎34,从而,在没有涉及CPU的情况下(除纠错之外),就可执行包括密码化过程的上述过程。参看方框158,当CPU接收到中断信号时,其检查以确认该中断信号是否是FIM中断信号(菱形160)。当接收到FIM中断信号时,该CPU进行检查以确认该中断信号是否是指示在数据流中存在一个或多个错误的中断信号(162)。如果错误被指示,则CPU继续纠正BRAM 38中的错误(方框164)并且返回去配置FIM18以改变下次在存储器20中数据将被读取的位置(方框156)。当FIM中断信号没有指示数据流中的错误时,其意味着FIM已经完成其操作并且CPU也返回方框156以重新配置FIM。如果由CPU探测到的中断信号不是FIM中断信号,则CPU进行检查以确认其是否数据中断信号结束(菱形166)。如果是,然后读取操作结束(椭圆168)。如果不是,则该中断信号与数据的密码化处理过程不相关(即,时钟中断信号)并且CPU将其维护(未示出)并返回菱形160以进行中断信号检查。
对于写操作,仅需简单修改图3。因为不存在对将被写入存储器20中的数据中ECC错误的处理,所以在写入操作中CPU 12可以跳过菱形162和方框164中的过程。如果在写入操作中CPU 12接收到FIM中断信号,这意味着IFM已经完成了其操作,并且CPU也返回方框156以重新配置FIM。除此不同之处,写入操作基本上类似于读取操作。因此,一旦配置好密码引擎40、BMU 14和FIM 18,则系统10就能够密码化处理所有数据(除旁路模式之外),并且在不涉及CPU 12的情况下,完成用于会话的所有页的写入或读取,即使密码引擎40可以处理比页更小的单位的数据。
交错数据流
为了处理多个数据流,希望多个主机应用程序能够以并行的方式存取存储器20。这就意味着,为了存储器系统10处理另外不同的数据流,当一个数据流的密码化处理过程被中断时,其也许还未完成。不同数据流的密码化处理过程通常采用不同的参数(例如,不同的密钥和算法,以及不同的数据源和目的地)。这些参数提供在数据流的相应的安全配置记录中。为了确保当已经中断的特定数据流的处理过程稍后被恢复时其相应的安全配置记录不被丢失,此记录被存储,并优选地存储在CPU RAM 12a中。一旦恢复先前被中断的数据流的处理时,CPU 12就提取被存储的用于此数据流的安全配置记录,从而可以根据被存储的相应安全配置记录,使用正确参数继续进行该数据流的恢复性密码化处理过程。
图4是用于说明图1和图2中的系统在处理多个数据流的操作和安全配置记录的使用的流程图。CPU检查是否已经接收到主机指令(方框202、菱形204)。当接收到主机指令(例如用于密码化处理第一数据流的指令)后,CPU检查关于该指令是否是启动会话指令,诸如用于第一应用程序在装置24上运行的指令(菱形206)。如果是,然后CPU检查是否已经请求写入会话(Write Session)(菱形208)。如果已经请求写入会话,那么CPU根据来自主机装置的信息来创建安全配置记录(例如,根据上述表格和将被使用的密钥,以及数据是否将被加密、解密或被哈希化,所述安全配置记录为所选择的数据源、所选择的数据目的地,以及将被采用的密码化算法)(方框210),并且启动用于第一数据流的第一会话。CPU 12将这些安全配置信息或记录存储在CPU RAM 12a中。如果所请求的会话是读取会话,则CPU从存储器20中读取用于将被读取的数据的安全配置记录(方框240)并将其存储到CPU RAM 12a中。然后CPU返回并等待进一步的主机指令(202)。
当CPU接收到另一主机指令时,其再次检查以确认该指令是否是启动会话指令(菱形206)。如果是,那么可以通过继续进行方框210或方框240来启动第二会话,例如,请求对第二数据流进行密码化处理的用于运行在主机装置24上的不同的第二应用程序的新的第二会话。再次将用于此第二数据流的安全配置信息或记录存储到CPU RAM 12a中,这是写入和读取会话都存在的情形(方框210,240)。可以使用同样的方式为另外的数据流创建另外的会话。CPU返回方框202,并检查下一个主机指令以确认该主机指令是否是启动会话指令(菱形206)。因此,如所述来创建另外的会话,直到CPU 12探测到不是菱形206中的启动会话指令的主机指令。
在此情况下,CPU 12检查下一个主机指令以确认该主机指令是否会话指令结束(菱形222)。如果不是,则CPU然后检查以确认其是否是数据指令(菱形224)。假设其是数据指令,则CPU确定哪个数据流是将被处理的数据流,并且根据用于该数据流的安全配置记录(通过写入配置寄存器52)来配置密码引擎40,并且密码引擎40以诸如根据图3中的过程的上述方式(或以旁路模式旁路密码引擎40)执行读取或写入操作(方框226)。
如果在读取或写入的过程中没有中断信号,则该过程将会继续进行直到CPU接收到结束会话指令(方框222),这意味着在会话中将要被处理的所有页都已经被处理了。然而,如果存在中断信号,CPU将接收主机数据指令以处理来自与系统10当前正在处理的数据流不同的数据流中的数据。在此种情况下,需要重新配置密码引擎40以处理此不同的数据流。然后,CPU从CPU RAM 12a中提取用于此不同数据流的安全配置记录,(通过将提取的记录写入配置寄存器52)重新配置密码引擎40,以使密码引擎40正确地处理不同的数据流。
当在写入会话中接收到结束会话指令(方框222)时,CPU将安全配置记录连同被写入的数据存入存储器20中,以使得该记录可以在随后的读取操作中被提取(方框228,方框230)。对于读取操作,丢弃了存储在RAM 12a中的安全配置记录,但是为了将来可能的读取操作而保留了存储在存储器20中的记录(方框242)。
对于某些应用程序,避免篡改而保持存储器20中数据的完整性可能是重要的。为了确保存储在存储器20中的数据不被改变或损坏,希望从数据中导出与数据存储在一起的该数据的哈希值(hashed value)或摘要。当读取数据时,摘要或哈希值也被读取,从而使读取的哈希值或摘要可以与从已经被读取的数据中计算得到的摘要或哈希值相比。如果二者之间不存在差别,那么存储器20中的数据可能已经被改变或者是损坏。
一个普通的哈希函数是链式模块密码(CBC),在其中以时间顺序从正在被写入或读取的数据块中导出消息认证代码(MAC)。下面给出一个普通的CBC函数:
加密:
输入:m位的密钥k;l位的IV;l位的纯文本块p1,---pr
输出:c0,---,Gr使得对于1≤i≤r,c0←IV以及ci←ek(ci-1pi)。
解密:
输入:m位的密钥k;l位的IV;l位的加密文本块c1,---cr
输出:p0,---,pr使得对于1≤i≤r,p0←IV以及pi←ci-1ek -1(ci)。
上述值c0,---,cr是数据流p1,---,pr的消息认证代码(MAC)。IV是初始向量,以及k是密钥。因此,当希望将数据p1,---,pr块写入存储器20时,由系统10中的密码引擎40通过使用诸如上述CBC函数的哈希函数来从数据块中计算出MAC值(例如,c0,---,cr),并且,包括MAC值、IV以及密钥k和上述其它参数的相关安全配置记录和数据本身一起写入存储器20中。在上述公式中,ek(x)表示x通过密钥k进行加密的一个处理过程,以及ek -1(x)表示使用密钥k来进行解密x。
当随后从存储器20中读出数据块p1,---,pr时,相关的安全配置记录也被读出,并且密码引擎40从IV、安全配置记录中的密钥k、和被读取的数据中计算出一组MAC值,并将该组值与从存储器20读出的那组MAC值进行比较。如果两组MAC值之间存在不同之处,则读取的数据可能已被改变或损坏。对于诸如上述CBC函数的一些哈希函数,除了序列中的第一值之外,每个MAC值都是从前面的MAC值中得出的。这就意味着,在此情形下,该组MAC值是以时间顺序顺次被导出的。
对于主机装置24中的多个应用程序来说,希望能够以并行的方式存取存储器20,以使得用户在使用另外的应用程序存取存储器20之前不必等待正在使用存储器20的应用程序的完成。这可表示,例如,当读取过程被中断时,并不是所有的数据块p1,---,pr都已经从存储器20中读出,从而使存储器系统(例如,图1和图2中的系统10)可用于在装置24上运行的另外不同的应用程序。然而,在此情形下,在整个数据流已被读取之前以及在所有MAC值被计算出来之前,可以中断上述计算MAC值的过程。因此,当存储器系统恢复对数据p1,---,pr中未读取块的读取时,可能丢失先前计算得到的不完整组的MAC值,从而变得不可能计算出剩余的MAC值,这是因为其计算依赖于在前计算得到的MAC值。因此,本发明的另一方面是基于以下特征:前面计算得到的不完整组的MAC值与安全配置记录中余下的值(例如,IV、密钥k、数据源和目的地、算法)一起被存储到诸如图1的CPU RAM 12a中。那么,当存储器系统恢复对数据p1,---,pr中未读取块的读取时,前面计算得到的不完整组的MAC值仍是可用的,从而可以计算出剩余的MAC值。
在从主机24探测到会话指令结束之后,在方框242中的读取会话的结尾,CPU把从存储器20读取的数据计算而得到的MAC值与存储在存储器20中的MAC值进行比较以确认所读取的数据的有效性。如果被接收到的主机指令不是上面指出的任一种,则CPU12仅仅执行该指令并返回方框202(方框250)。
虽然以上通过结合各种实施例描述了本发明,但是,应当理解在不脱离本发明的范围内可以做出改变和修改,这仅仅由所附的权利要求和其等同物限定。本文所提到的所有参考文献结合于此以供参考。

Claims (51)

1.一种用于存储经加密的数据的存储器系统,包括:
非易失性快闪存储单元;
电路,对来自或流向所述单元的数据流中的数据执行密码化处理;以及
控制器,配置所述电路并控制所述单元和所述电路,以通过使用密码化算法来执行密码化处理,从而使得在配置所述电路之后,所述电路在不涉及所述控制器的情况下对所述数据流中的数据进行密码化处理。
2.根据权利要求1所述的系统,其中,数据被成页地写入所述单元中或从所述单元中被成页地读取,所述电路对每个小于页的数据单位执行密码化处理,以及所述控制器配置所述电路,以使得在配置所述电路之后,所述电路在不涉及所述控制器的情况下对多个页的数据执行密码化处理。
3.根据权利要求1所述的系统,其中,所述控制器配置所述电路,以使得所述数据流具有多个源中所选择的数据源和多个目的地中所选择的目的地。
4.根据权利要求3所述的系统,其中,所述控制器配置所述电路,以使得所述数据流中的数据发自所述单元并流向所述控制器或主机装置。
5.根据权利要求3所述的系统,其中,所述控制器配置所述电路,以使得所述数据流中的数据发自所述控制器或主机装置,并流向所述单元。
6.根据权利要求3所述的系统,其中,所述控制器配置所述电路,以使得所述数据流从所述单元流向主机装置,或者从所述主机装置流向所述单元,并旁路所述电路。
7.根据权利要求1所述的系统,其中,所述控制器配置所述电路,以使得所选择的密码化算法被用于所述密码化处理过程中。
8.根据权利要求1所述的系统,其中,所述控制器配置所述电路,以使得在配置所述电路之后,所述电路在不涉及所述控制器的情况下在多个连续阶段中密码化处理所述数据流中的数据。
9.根据权利要求8所述的系统,其中,在配置所述电路之后,所述电路在不涉及所述控制器的情况下通过在多个连续阶段中使用多于一个的密钥来密码化处理所述数据流中的数据。
10.根据权利要求8所述的系统,其中,在配置所述电路之后,所述电路在不涉及所述控制器的情况下通过在多个连续阶段中使用多于一个的密码化处理过程来密码化处理所述数据流中的数据。
11.一种用于存储经加密的数据的存储卡,包括:
非易失性快闪存储单元;
电路,对来自或流向所述单元的数据流中的数据执行密码化处理;以及
控制器,配置所述电路并控制所述单元和所述电路,以使用密码化算法来执行密码化处理,从而使得在配置所述电路之后,所述电路在不涉及所述控制器的情况下对所述数据流中的数据进行密码化处理,其中,所述存储单元、电路和控制器被封装到一个卡中。
12.根据权利要求11所述的卡,其中,数据被成页地写入所述单元中或从所述单元中被成页地读取,所述电路对每个小于页的数据单位执行密码化处理,以及所述控制器配置所述电路,以使得在配置所述电路之后,所述电路在不涉及所述控制器的情况下对多个页的数据执行密码化处理。
13.根据权利要求11所述的卡,其中,所述控制器配置所述电路,以使得所述数据流具有多个源中所选择的数据源和多个目的地中所选择的目的地。
14.根据权利要求13所述的卡,其中,所述控制器配置所述电路,以使得所述数据流中的数据发自所述单元,并流向所述控制器或主机装置。
15.根据权利要求13所述的卡,其中,所述控制器配置所述电路,以使得所述数据流中的数据发自所述控制器或主机装置,并流向所述单元。
16.根据权利要求13所述的卡,其中,所述控制器配置所述电路,以使得所述数据流从所述单元流向主机装置,或者从所述主机装置流向所述单元,并旁路所述电路。
17.根据权利要求11所述的卡,其中,所述控制器配置所述电路,以使得所选择的密码化算法被用于所述加密和/或解密中。
18.根据权利要求11所述的卡,其中,所述控制器配置所述电路,以使得在配置所述电路之后,所述电路在不涉及所述控制器的情况下在多个连续阶段中密码化处理所述数据流中的数据。
19.根据权利要求18所述的卡,其中,在配置所述电路之后,所述电路在不涉及所述控制器的情况下通过在多个连续阶段中使用多于一个的密钥来密码化处理所述数据流中的数据。
20.根据权利要求18所述的卡,其中,在配置所述电路之后,所述电路在不涉及所述控制器的情况下通过在多个连续阶段中使用多于一个的密码化处理过程来密码化处理所述数据流中的数据。
21.一种用于存储经加密的数据的存储卡,包括:
非易失性存储单元;
电路,对来自或流向所述单元的数据流中的数据执行密码化处理;以及
控制器,使数据被成页地写入所述单元中或从所述单元中被成页地读取,其中,所述电路对每个都小于页的数据单位都执行密码化处理,其中,在不涉及所述控制器的情况下,密码化处理并写入或读取具有多个源中的所选择的数据源和多个目的地中所选择的目的地的所述数据流的一页或多页。
22.一种用于加密和/或解密存储器系统中非易失性快闪存储单元里的数据的方法,所述存储器系统具有控制所述单元和密码化电路的控制器,所述方法包括:
使用所述控制器来配置用于通过利用密码化算法以对来自或流向所述单元的数据流中的数据执行密码化处理的所述电路;以及
使得在配置所述电路之后,在不涉及所述控制器的情况下,所述电路密码化处理所述数据流中的数据。
23.根据权利要求22所述的方法,其中,数据被成页地写入所述单元中或从所述单元中被成页地读取,所述电路对每个小于页的数据单位都执行密码化处理,并且所述的使用过程使用所述控制器来配置所述电路,以使得在配置所述电路之后,在不涉及所述控制器的情况下,所述电路对多个页的数据执行密码化处理。
24.根据权利要求22所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得所述数据流具有多个源中所选择的数据源和多个目的地中所选择的目的地。
25.根据权利要求24所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得所述数据流中的数据发自所述单元并流向所述控制器或主机装置。
26.根据权利要求24所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得所述数据流中的数据发自所述控制器或主机装置并流向所述单元。
27.根据权利要求24所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得所述数据流从所述单元流向主机装置或者从所述主机装置流向所述单元,并旁路所述电路。
28.根据权利要求22所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得所选择的密码化算法被用于所述密码化处理过程中。
29.根据权利要求22所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得在配置所述电路之后,在不涉及所述控制器的情况下,所述电路在多个连续阶段中密码化处理所述数据流中的数据。
30.根据权利要求29所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得在配置所述电路之后,在不涉及所述控制器的情况下,所述电路通过在多个连续阶段中使用多于一个的密钥来密码化处理所述数据流中的数据。
31.根据权利要求29所述的方法,其中,所述的使用过程使用所述控制器来配置所述电路,以使得在配置所述电路之后,在不涉及所述控制器的情况下,所述电路通过在多个连续阶段中使用多于一个的密码化处理过程来密码化处理所述数据流中的数据。
32.一种用于加密和/或解密存储器系统中非易失性存储单元里的数据的方法,所述存储器系统具有控制所述单元和密码化电路的控制器,所述方法包括:
在不涉及所述控制器的情况下,所述电路对一页或多页数据执行密码化处理,其中,数据被成页地写入或被成页地读取,以及所述电路对每个小于页的数据单位执行密码化处理;以及
在不涉及所述控制器的情况下,控制所述数据流,以使所述数据流具有多个源中所选择的数据源和多个目的地中所选择的目的地。
33.根据权利要求32所述的方法,进一步包括:配置所述密码化电路,其中,由所述电路的配置来启动所述密码化处理和所述控制过程。
34.根据权利要求33所述的方法,其中,所述电路的配置也启动多个密码化算法中一个或多个密码化算法的选择,以使得在不涉及所述控制器的情况下,所述电路通过使用所选择的算法来密码化处理所述数据流中的数据。
35.根据权利要求33所述的方法,其中,配置所述电路以使得所述数据流中的数据发自所述单元并流向所述控制器或主机装置。
36.根据权利要求33所述的方法,其中,配置所述电路以使得所述数据流中的数据发自所述控制器或主机装置并流向所述单元。
37.根据权利要求33所述的方法,其中,配置所述电路以使得所述数据流从所述单元流向主机装置或从所述主机装置流向所述单元,并旁路所述电路。
38.根据权利要求33所述的方法,其中,配置所述电路以使得在配置所述电路之后,不涉及所述控制器的情况下,所述电路在多个连续阶段中密码化处理所述数据流中的数据。
39.根据权利要求38所述的方法,其中,配置所述电路以使得在配置所述电路之后,不涉及所述控制器的情况下,所述电路通过在多个连续阶段中使用多于一个的密钥来密码化处理所述数据流中的数据。
40.根据权利要求38所述的方法,其中,配置所述电路以使得在配置所述电路之后,不涉及所述控制器的情况下,所述电路通过在多个连续阶段中使用多于一个的密码化处理过程来密码化处理所述数据流中的数据。
41.一种用于存储经加密的数据的存储器系统,包括:
非易失性存储单元;
电路,对来自或流向所述单元的多于一个数据流中的数据执行密码化处理;以及
控制器,控制所述单元和所述电路,从而以交错方式来密码化处理不同数据流中的数据,以及其中,至少一个用于从所述单元存取数据的会话被其它的会话所中断,其中,所述控制器使得用于所述会话的安全配置信息在所述中断之前被存储起来,以便在结束所述中断之后所述安全配置信息能够被提取。
42.根据权利要求41所述的系统,其中,所述安全配置信息包括:与数据的源或目的地、密码化钥匙、密码化算法、和/或消息认证代码相关的信息。
43.根据权利要求41所述的系统,其中,当所述会话恢复时,所述控制器就使得被存储用于所述会话的安全配置信息被提取。
44.根据权利要求41所述的系统,其中,所述控制器使得用于所述多于一个数据流之中的每一个数据流的安全配置信息被存储起来,从而该信息在结束所述中断之后能够被提取。
45.根据权利要求44所述的系统,其中,所述控制器使得所述被存储用于所述多于一个数据流之中的每一个数据流的安全配置信息,当来自此数据流的数据的处理过程被恢复时,就被提取。
46.根据权利要求41所述的系统,其中,所述控制器在所述中断之前提取被存储的所述安全配置信息,所述信息包括消息认证代码,以及当所中断的会话被恢复时就从所被提取的所述消息认证代码导出被更新的消息认证代码。
47.一种用于处理存储经加密的数据的存储器系统中的数据的方法,所述存储器系统包括非易失性存储单元和密码化电路,所述方法包括:
使用所述电路对来自或流向所述单元的数据流中的数据执行密码化处理;以及
促使所述电路以交错方式对不同数据流中的数据执行密码化处理,其中,至少一个用于处理来自或流向所述单元的数据的会话被其它会话所中断,以及促使所述至少一个会话的安全配置信息在所述中断之前被存储,从而在结束所述中断之后所述安全配置信息能够被提取。
48.根据权利要求47所述的方法,其中,所述安全配置信息包括:与数据的源或目的地、密码化钥匙、密码化算法、和/或消息认证代码相关的信息。
49.根据权利要求47所述的方法,其中,所述的促使过程使得用于每个所述不同的数据流的所述安全配置信息被存储,以便此信息在结束所述中断之后能够被提取。
50.根据权利要求47所述的方法,其中,所述的促使过程使得所述存储用于每个所述不同的数据流的安全配置信息,当来自此数据流的数据的处理被恢复时,就被提取。
51.根据权利要求47所述的方法,进一步包括:在所述中断之前提取被存储的所述安全配置信息,所述信息包括消息认证代码,以及当所中断的会话被恢复时,就从被提取的所述消息认证代码导出被更新的消息认证代码。
CNA2005800482395A 2004-12-21 2005-12-21 带有流中数据加密/解密的存储器系统 Pending CN101120349A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63944204P 2004-12-21 2004-12-21
US60/639,442 2004-12-21
US11/314,032 2005-12-20
US11/314,030 2005-12-20

Publications (1)

Publication Number Publication Date
CN101120349A true CN101120349A (zh) 2008-02-06

Family

ID=39055650

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800482395A Pending CN101120349A (zh) 2004-12-21 2005-12-21 带有流中数据加密/解密的存储器系统

Country Status (5)

Country Link
US (2) US20060242429A1 (zh)
JP (1) JP2012090286A (zh)
KR (1) KR101323746B1 (zh)
CN (1) CN101120349A (zh)
TW (1) TWI411932B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102696038A (zh) * 2009-12-31 2012-09-26 桑迪士克科技股份有限公司 用于提供可缩放内容保护系统的存储器件和方法
CN102959554A (zh) * 2010-06-30 2013-03-06 桑迪士克以色列有限公司 用于存储状态恢复的存储设备和方法
CN103597456A (zh) * 2011-06-15 2014-02-19 诺基亚公司 用于在分布式存储器环境中实施存储器段访问控制的方法和装置
US9798695B2 (en) 2012-08-07 2017-10-24 Nokia Technologies Oy Access control for wireless memory
CN108573175A (zh) * 2017-03-07 2018-09-25 慧荣科技股份有限公司 数据储存装置以及其操作方法
TWI736000B (zh) * 2017-03-07 2021-08-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424201B2 (en) * 2001-03-30 2008-09-09 Sandisk 3D Llc Method for field-programming a solid-state memory device with a digital media file
JP4667108B2 (ja) * 2005-04-11 2011-04-06 パナソニック株式会社 データ処理装置
US9081946B2 (en) * 2006-03-29 2015-07-14 Stmicroelectronics, Inc. Secure mass storage device
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
US9680686B2 (en) * 2006-05-08 2017-06-13 Sandisk Technologies Llc Media with pluggable codec methods
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US20080126705A1 (en) * 2006-08-08 2008-05-29 Fabrice Jogand-Coulomb Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
US7725614B2 (en) * 2006-08-08 2010-05-25 Sandisk Corporation Portable mass storage device with virtual machine activation
ES2885674T3 (es) * 2006-12-01 2021-12-15 Univ California Mejora de las características de rendimiento de películas semiconductoras orgánicas mediante un mejor procesamiento de solución
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8566695B2 (en) * 2007-03-30 2013-10-22 Sandisk Technologies Inc. Controlling access to digital content
US20090113116A1 (en) * 2007-10-30 2009-04-30 Thompson E Earle Digital content kiosk and methods for use therewith
IL187038A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure data processing for unaligned data
IL187043A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure pipeline manager
IL187045A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Software protection against fault attacks
US20100027796A1 (en) * 2008-08-01 2010-02-04 Disney Enterprises, Inc. Multi-encryption
FI20080534A0 (fi) 2008-09-22 2008-09-22 Envault Corp Oy Turvallinen ja valikoidusti kiistettävissä oleva tiedostovarasto
JP5302083B2 (ja) * 2009-04-23 2013-10-02 株式会社メガチップス メモリ装置およびメモリ装置の制御方法
JP5178839B2 (ja) 2009-11-27 2013-04-10 株式会社東芝 メモリチップ
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム
KR101878682B1 (ko) 2011-11-14 2018-07-18 삼성전자주식회사 컨텐츠를 보호하기 위한 방법 및 저장 매체
US9152825B2 (en) 2012-02-29 2015-10-06 Apple Inc. Using storage controller bus interfaces to secure data transfer between storage devices and hosts
US9448967B2 (en) * 2012-10-31 2016-09-20 Mstar Semiconductor, Inc. Stream data processor
US9419952B2 (en) * 2014-06-05 2016-08-16 Stmicroelectronics (Grenoble 2) Sas Memory encryption method compatible with a memory interleaved system and corresponding system
US10313129B2 (en) * 2015-06-26 2019-06-04 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
CN107256363B (zh) * 2017-06-13 2020-03-06 杭州华澜微电子股份有限公司 一种由加解密模块阵列组成的高速加解密装置
JP7287115B2 (ja) 2019-05-30 2023-06-06 京セラドキュメントソリューションズ株式会社 集積回路及び集積回路の制御方法
CN112115076A (zh) 2019-06-20 2020-12-22 慧荣科技股份有限公司 使用者数据的加解密装置及方法
WO2022146436A1 (en) * 2020-12-30 2022-07-07 Pqsecure Technologies, Llc A low footprint hardware architecture for kyber-kem
US20240129282A1 (en) * 2022-10-12 2024-04-18 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for protection for device data transfers

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4506362A (en) * 1978-12-22 1985-03-19 Gould Inc. Systematic memory error detection and correction apparatus and method
US4371930A (en) * 1980-06-03 1983-02-01 Burroughs Corporation Apparatus for detecting, correcting and logging single bit memory read errors
US4506365A (en) * 1982-11-22 1985-03-19 Ncr Corporation Error correction system
US5438575A (en) * 1992-11-16 1995-08-01 Ampex Corporation Data storage system with stale data detector and method of operation
US5434919A (en) * 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
US5630025A (en) * 1994-07-13 1997-05-13 Unisys Corporation Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JPH113284A (ja) * 1997-06-10 1999-01-06 Mitsubishi Electric Corp 情報記憶媒体およびそのセキュリティ方法
US6243739B1 (en) * 1997-07-11 2001-06-05 Phone.Com, Inc. Reducing perceived latency in servicing user requests on low-bandwidth communication channels
US6252961B1 (en) * 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP4423711B2 (ja) * 1999-08-05 2010-03-03 ソニー株式会社 半導体記憶装置及び半導体記憶装置の動作設定方法
WO2001029670A2 (en) * 1999-10-21 2001-04-26 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
US7215771B1 (en) * 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
JP4153653B2 (ja) * 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2002329367A (ja) * 2001-04-27 2002-11-15 Sony Corp データ記録方法および装置、データ再生方法および装置、並びにデータ記録媒体
JP2002329180A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 無線通信機能を有するメモリカード及びそのデータ通信方法
US7054335B2 (en) * 2001-05-04 2006-05-30 Hewlett-Packard Development Company, L.P. Method and system for midstream transcoding of secure scalable packets in response to downstream requirements
US6754765B1 (en) * 2001-05-14 2004-06-22 Integrated Memory Logic, Inc. Flash memory controller with updateable microcode
US7062616B2 (en) * 2001-06-12 2006-06-13 Intel Corporation Implementing a dual partition flash with suspend/resume capabilities
JP3615162B2 (ja) * 2001-07-10 2005-01-26 日本電気株式会社 画像符号化方法及び画像符号化装置
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
TWI223204B (en) * 2001-11-08 2004-11-01 Toshiba Corp Memory card, content transmission system, and content transmission method
US6865555B2 (en) * 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
US7020455B2 (en) * 2001-11-28 2006-03-28 Telefonaktiebolaget L M Ericsson (Publ) Security reconfiguration in a universal mobile telecommunications system
US6928599B2 (en) * 2001-12-05 2005-08-09 Intel Corporation Method and apparatus for decoding data
US20040153918A1 (en) * 2002-04-08 2004-08-05 Matsushita Electric Industrial Co., Tamper-resistant computer program product
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
US20030233545A1 (en) * 2002-06-13 2003-12-18 Avigdor Eldar Diagnostic method for security records in networking application
JP2004101846A (ja) * 2002-09-09 2004-04-02 Rohm Co Ltd 暗号化・復号化装置および暗号化・復号化方法
JP2004104602A (ja) * 2002-09-11 2004-04-02 Pioneer Electronic Corp 情報記録媒体、情報記録装置、情報再生装置、情報配信装置、それらの方法、それらのプログラムおよびそのプログラムを記録した記録媒体
JP2004109177A (ja) * 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法
US7702904B2 (en) * 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
JP2004201038A (ja) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム
DE60313118D1 (de) * 2003-02-04 2007-05-24 Sgs Thomson Microelectronics Halbleiterschaltkreis zur Entschlüsselung
JP4891521B2 (ja) * 2003-03-28 2012-03-07 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
US7398544B2 (en) * 2003-05-12 2008-07-08 Sony Corporation Configurable cableCARD
EP1505608B1 (en) * 2003-08-06 2006-10-18 STMicroelectronics S.r.l. Memory system with error detection device
JP4139801B2 (ja) * 2003-09-11 2008-08-27 シャープ株式会社 情報記録媒体再生装置、及び情報記録媒体再生方法
US7526686B2 (en) * 2004-08-04 2009-04-28 International Business Machines Corporation Apparatus, system, and method for active data verification in a storage system
TWI248617B (en) * 2004-08-13 2006-02-01 Prolific Technology Inc Data storage device
US7493656B2 (en) * 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102696038A (zh) * 2009-12-31 2012-09-26 桑迪士克科技股份有限公司 用于提供可缩放内容保护系统的存储器件和方法
US9032535B2 (en) 2009-12-31 2015-05-12 Sandisk Technologies Inc. Storage device and method for providing a scalable content protection system
CN102696038B (zh) * 2009-12-31 2015-09-30 桑迪士克科技股份有限公司 用于提供可缩放内容保护系统的存储器件和方法
CN102959554A (zh) * 2010-06-30 2013-03-06 桑迪士克以色列有限公司 用于存储状态恢复的存储设备和方法
CN102959554B (zh) * 2010-06-30 2015-11-25 桑迪士克以色列有限公司 用于存储状态恢复的存储设备和方法
CN103597456A (zh) * 2011-06-15 2014-02-19 诺基亚公司 用于在分布式存储器环境中实施存储器段访问控制的方法和装置
CN103597456B (zh) * 2011-06-15 2017-05-10 诺基亚技术有限公司 用于在分布式存储器环境中实施存储器段访问控制的方法和装置
US9798695B2 (en) 2012-08-07 2017-10-24 Nokia Technologies Oy Access control for wireless memory
CN108573175A (zh) * 2017-03-07 2018-09-25 慧荣科技股份有限公司 数据储存装置以及其操作方法
TWI736000B (zh) * 2017-03-07 2021-08-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法

Also Published As

Publication number Publication date
TW200703054A (en) 2007-01-16
US20060242429A1 (en) 2006-10-26
KR101323746B1 (ko) 2013-10-29
KR20120131222A (ko) 2012-12-04
JP2012090286A (ja) 2012-05-10
TWI411932B (zh) 2013-10-11
US20070180539A1 (en) 2007-08-02

Similar Documents

Publication Publication Date Title
CN101120349A (zh) 带有流中数据加密/解密的存储器系统
CN101196855B (zh) 移动加密存储设备及密文存储区数据加解密处理方法
US20110123020A1 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
US8908859B2 (en) Cryptographic apparatus and memory system
CN102334307A (zh) 密码系统的密钥恢复机制
JP2010509690A (ja) 記憶装置のセキュリティを確保する方法とシステム
US20140189367A1 (en) Digital-encryption hardware accelerator
US20110311048A1 (en) Cryptographic operation apparatus, storage apparatus, and cryptographic operation method
US7835518B2 (en) System and method for write failure recovery
JP2008524969A5 (zh)
CN101124545B (zh) 带有流中数据加密/解密和纠错的存储器系统
CN101167301B (zh) 机密信息处理用主机及机密信息处理方法
WO2016053407A2 (en) Speculative cryptographic processing for out of order data
KR20020071274A (ko) Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치
CN101763485A (zh) 数据保护方法
JP2023130311A (ja) サイドチャネル攻撃から電子コンピュータを保護する方法及び電子コンピュータ
CN101727408A (zh) 一种基于硬盘接口控制器的数据加密方法
US20070230690A1 (en) System for write failure recovery
RU143513U1 (ru) Портативное многофункциональное устройство для защиты информации
JP2009537026A (ja) 書き込み障害回復のためのシステムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGIES, INC.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20140617

Free format text: FORMER OWNER: DISCRETIX TECHNOLOGIES LTD.

Effective date: 20140617

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140617

Address after: American Texas

Applicant after: Sandisk Corp.

Address before: American California

Applicant before: Sandisk Corp.

Applicant before: Discretix Technologies Ltd.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20080206