CN112703703A - 用于存储敏感信息和其它数据的闪存设备 - Google Patents

用于存储敏感信息和其它数据的闪存设备 Download PDF

Info

Publication number
CN112703703A
CN112703703A CN201980060569.8A CN201980060569A CN112703703A CN 112703703 A CN112703703 A CN 112703703A CN 201980060569 A CN201980060569 A CN 201980060569A CN 112703703 A CN112703703 A CN 112703703A
Authority
CN
China
Prior art keywords
key
data
memory
encryption
flash memory
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
Application number
CN201980060569.8A
Other languages
English (en)
Other versions
CN112703703B (zh
Inventor
J·B·坎特
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.)
J BKante
Original Assignee
J BKante
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
Priority claimed from US16/037,822 external-priority patent/US10387662B2/en
Application filed by J BKante filed Critical J BKante
Publication of CN112703703A publication Critical patent/CN112703703A/zh
Application granted granted Critical
Publication of CN112703703B publication Critical patent/CN112703703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

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

Abstract

一种用于在与主机系统相关联的非易失性闪存中加密和存储数据的闪存系统。在一个示例中,该设备包括闪存、加密引擎、随机数生成器、加密散列引擎、密钥存储器、与主机系统接口的静态随机存取存储器、以及相关的控制电路。在访问时,设备确定密钥存储器中是否保存了有效的加密密钥。如果保存了有效密钥,则准备好对闪存中的加密数据进行解密并存储在静态随机访问存储器中,以供主机系统使用,或者准备好由引擎对从主机系统中获取并存储在静态随机访问存储器中的数据进行加密并编程到闪存中。该设备可以嵌入到任何主机系统中,在该主机系统中,数据在静止时会被加密。

Description

用于存储敏感信息和其它数据的闪存设备
技术领域
本申请要求2018年7月17日提交的第16/037,822号美国专利申请的优先权,其内容通过引用合并于此。本申请案与第10,025,728号美国专利相关。
背景技术
本公开总体上涉及闪存,尤其涉及用于存储关密钥或敏感技术信息和其它数据的闪存设备。
闪存是从可电子擦除的可编程只读存储器(EEPROM)中开发出来的,通常用于存储程序和其它非易失性数据,以供其所在系统中的处理器访问和使用。闪存可以是NAND型或NOR型的,这取决于嵌入在闪存中的各个存储器单元的内部特性。闪存中存储的所有或选定的数据块都可以通过电子方式擦除和重新编程。参见https://en.wikipedia.org/wiki/Flash_memory以及其中引用的参考文献。
如果要存储在闪存中的数据是专有的或敏感的,则可能需要在将数据存储在闪存中时对其进行加密。例如,为了遵守美国国防部(DoD)在DFARS252.204-7012(2013年11月18日)中规定的当前防篡改(AT)要求,承包商需要提供足够的安全性以保护未分类的受控技术信息(CTI)。在引用的文献中,CTI被定义为具有军事或太空应用的技术信息,该应用受到对信息的访问、使用、复制、修改、性能、显示、发布、公开、或传播的控制。另请参阅美国国防部指令5200.44(2012年11月5日)。
其它专有应用程序也可能需要先将敏感软件和数据加密,然后再将其存储在主机系统的非易失性存储器中。为了对此类软件或数据进行加密以存储在内存中,必须将外部加密引擎和关联的处理器添加到系统中。即,加密需要原始嵌入在系统中的外部硬件和软件。这些可能包含在多个机箱中的附加组件将需要强加在闪存与访问该内存的主机系统处理器之间,从而使整个加密过程复杂化并减慢其速度。
自加密固态磁盘驱动器可以从例如美国加利福尼亚州的Aliso Viejo的Microsemi Corporation商购获得。但是,这些设备不是嵌入式系统的一部分,它们需要其它总线(例如SATA或USB)和软件驱动程序才能运行。然而,就已知而言,以前没有提供或公开过可以作为嵌入式系统的一部分并具有自加密功能而无需特殊总线或驱动器的闪存。
因此,需要一种可嵌入的闪存设备,该设备被配置为使得存储在存储器中的信息或数据以加密形式保存在存储器中而静止,而无需外部密码引擎以及附加的硬件和软件。
发明内容
本公开描述了一种用于对敏感程序或其它数据进行加密以存储在与主机系统相关联的闪存中的方法,其中主机系统向该闪存写入数据和从该闪存读取数据。该方法包括提供:闪存设备,其包括闪存;加密引擎,其用于对源自主机系统的数据进行加密并将加密的数据写入闪存,以及对存储在闪存中的数据进行解密以供例如主机系统访问。静态随机存取存储器(SRAM)用于将数据从主机系统提供到加密引擎,并用于接收来自加密引擎的解密数据以供主机系统访问。密钥存储器用于保存由加密散列(hash)引擎或随机数生成器提供的加密密钥。开机后,设备将确定密钥存储器中是否保存了有效的加密密钥。若如此,则在一个示例中,闪存中的加密数据由加密引擎解密并存储在SRAM中,以便按主机系统的要求进行访问,而源自主机系统并存储在SRAM中的数据则通过加密引擎进行加密并存储在闪存中。在一个示例中,整个闪存没有一次被解密,而是数据根据主机系统的需要解密,这是典型的闪存操作的方式。
根据另一形态,一种用于存储敏感信息或数据的闪存设备包括:闪存;加密引擎,其用于对源自主机系统的数据进行加密并将加密的数据存储在闪存中,并且用于对存储在闪存中的加密数据进行解密。有关联的随机数生成器或加密散列引擎,用于在需要时创建加密密钥。密钥存储器保存一个加密密钥,该密钥可以在内部创建,也可以从用户输入的密码中来散列。静态随机存取存储器(SRAM)将源自主机系统的数据提供给加密引擎,并从加密引擎接收解密的数据以供主机系统访问。首先将设备的控制电路配置为确定密钥存储器中是否保存了有效密钥。若如此,则在一个示例中,闪存已准备好正常运行。在另一示例中,然后电路确定是否已经设置了编程标志以指示闪存中的加密数据已准备好由加密引擎解密,或者闪存中的数据准备好由来自引擎的加密数据进行编程。
为了更好的理解,结合附图和所附权利要求参考以下描述。
附图说明
在附图中:
图1是根据一个实施例的本发明的闪存设备的示意性框图;和
图2是示出根据一个实施例的图1中的存储装置的操作的流程图。
具体实施方式
图1示出了具有加密功能以确保静态数据保护的闪存设备10。设备10可以用在现有的或将来的主机系统中,该主机系统要求当数据被存储在存储器中以供主机系统中的处理器访问时需要在静止时进行加密。如本文所使用的,术语数据广义上是指能够存储在存储器中以供处理器访问的任何信息,无论该信息是否敏感。该数据包括软件应用程序、个人身份信息、财务信息、技术数据等。
在一个示例中,存储设备10包括常规的闪存12,例如NAND或NOR型存储器,以及具有输入和输出(I/O)端口的加密引擎14,该输入和输出(I/O)端口耦合到闪存12的相应端口。在该示例中,加密引擎14以已知方式配置为对源自主机系统处理器的数据进行加密,并将加密后的数据写入闪存12,并在主机系统例如通过处理器控制指令调用时对存储在闪存12中的数据进行解密。在一个实施例中,加密引擎14实现了256位高级加密标准(AES),其详细信息可以从联邦信息处理标准(FIPS)出版物197(2001年11月)获得,而随机数发生器的详细信息可以从NIST Special出版物800-90A(2012年1月)获得,AES计数器模式详细信息可以从800-38A(2001)获得,SHA 256散列函数详细信息可以从FIPS 180-4(2012年3月)获得。如果希望将要存储在闪存12中的信息,则加密引擎14可以被配置为实现内部生成的密钥或者从用户密码/密钥外部提供。
在一个示例中,存储设备10还包括异步易失性存储器16,例如与主机系统对接的静态随机存取存储器(SRAM)。另外,在一个示例中,设备10包括能量源,例如超级电容器或电池,例如电池后备的密钥存储器18,其耦合至加密引擎14;以及控制电路20,其耦合至密钥存储器18并耦合至SRAM 16,如图1中所示。下面描述与密钥存储器18和控制电路20相关联的端子或引脚。密钥存储器18和控制电路20的更多细节对于本领域技术人员将是显而易见的。
密钥选择22-提供控制电路20的端子或引脚22以控制密钥存储器18,以便该存储器将接受用户提供的加密密钥/密码或自行生成的加密密钥。例如,如果引脚22设置为高电平,则加密密钥由用户提供的密码来提供。如果引脚22为低电平,则经由随机数生成器14a生成诸如256位密钥之类的密钥。在引脚22为高电平的一个示例中,密钥将由诸如SHA 256或MD5算法之类的加密散列引擎14b从用户输入中提供,该算法将通过散列用户输入来创建唯一密钥。这使用户不必提供AES 256位受限密钥,并允许用户提供所需的任何输入,而不管其长度和内容如何。散列算法有多种,在一个实施例中,散列输出是256位数字,并且满足NIST要求,例如FIPS 140-2认证。
在一个示例中,用户基于他或她的操作理念来确定密钥类型。从用户密码派生的密钥将允许,在篡改尝试信号(tamper attempt signal)通过再次输入密码而输入到引脚24(参见下文)上的控制电路20后,处理驻留在闪存12中的加密数据。但是,用户提供的密码将要求用户管理并负责在授权人员之间分发密码。内部生成的密钥将不需要用户管理密钥分配,但是一旦将篡改尝试信号输入到电路20,驻留在闪存12上的任何数据将不可恢复。在任一情况下,只要未通知篡改事件,则由用户提供或自产生的数据将允许用加密的数据对闪存12进行重新编程。
密钥总线26-这是用于将用户提供的加密密钥输入密钥存储器18的串行总线。例如,如果密钥选择引脚22设置为高电平,则总线26处于活动状态,并且通过总线26将由用户提供的密码密钥输入到SHA 256引擎中,以被散列存储以用于密钥存储器18。但是,如果密钥选择引脚22被设置为低电平,总线26被禁用。在任何情况下,都不会通过总线26或其它方式从设备10中读取加密密钥。
篡改24-当篡改尝试信号输入到引脚24上的控制电路20时,并且如果在检测到该信号时存在主电源;控制电路20配置为擦除存储在SRAM 16中的所有信息以及保存在密钥存储器18中的任何密钥。如果在发出篡改尝试信号时不存在主电源,由于SRAM将不包含任何数据,则电路20将仅操作以擦除然后由密钥存储器18保存的密钥(如果有)。
Vbat 28-如果将来自备用电池等能源的电压施加在密钥存储器18的引脚28上,则在主电源发生故障的情况下,保存在密钥存储器18中的任何密钥都将保留。因为当存在主电源时,密钥通常会保存在密钥存储器中,所以只要存在主电源就可以更换电池,而不会影响闪存设备10的操作或稳定性。主电源或备用电池将加密密钥保存存储器中。在既没有主电源又没有来自备用电池的引脚28上电压的情况下,密钥存储器18将不会保存加密密钥。
根据一个实施例,来自主机系统的至少一些数据被传送到SRAM,然后由加密引擎处理,使得加密的数据被存储在闪存中。
操作
根据图2的流程图中所示的一个实施例,在供电或复位时,控制电路20被配置为确定密钥存储器18是否包含有效密钥(例如,不是全部为1或全部为0)。如本文所述,在一个示例中,当供电并且在存储器18中保存有效密钥时,系统将为正常操作做好准备。例如,如果找到有效密钥,则电路20使加密引擎14对存储在闪存12中的系统请求的数据进行解密和/或将解密的数据写入SRAM16。在一个实施例中,电路20查找编程标志,该编程标志指示已使用加密数据对闪存进行编程。如果设置了编程标志,则电路20使加密引擎14对存储在闪存12中的系统请求的数据进行解密和/或将解密的数据写入SRAM16。如果未设置编程标志,则电路20等待编程标志被设置以指示闪存12已经被由加密引擎14解密的数据而编程。只要确定了有效密钥,闪存设备10将继续操作。在一个示例中,由于状态转换是自动化的,因此不需要额外的重置或供电。
如果控制电路20确定密钥存储器18不包含有效密钥,则读取密钥选择引脚22的状态。在一个示例中,如果存在编程标记,则清除该程序标记(如果先前已设置)。如果该引脚例如被绑在高电平,则电路20等待诸如SHA 256实现的加密散列引擎14b将有效密钥提供给密钥存储器18。在一个示例中,闪存不知道用户提供的密钥或密码,因为它只知道散列。但是,由于散列对于任何特定输入都是唯一的,因此只有正确的用户输入才会产生正确的散列。一旦加载了这样的有效密钥,就将电路配置为如上所述针对存在有效密钥的情况做出响应。注意,如果例如在篡改尝试之后加载了有效但不正确的密钥,则加密引擎14可以处理来自闪存12的加密数据,但是加密引擎14将不会产生可理解的或可用的数据。根据一个示例,闪存不知道该密钥是不正确的,因为它看到了一个有效的密钥(在一个示例中,先前定义为并非全部为1或全部为0),并且读取操作将通过加密引擎发送加密的数据。因为使用了错误的密钥,所以输出的内容将难以理解。
如果引脚22例如被绑在低电平,表示向密钥存储器18提供了有效密钥,则电路20被配置为生成由随机数发生器14a提供的密钥。
在另一示例中,一旦生成了这样的有效密钥,电路20就等待闪存12被加密数据编程,并且编程标志被设置。编程标志优选地是非易失性的,使得如果断电并且随后恢复电源,则设备10将返回到由编程标志指示的状态。
注意,控制电路20被配置为操作,以通过读取是通过随机数生成器14a还是通过加密散列引擎14b实现可以在密钥存储器18中已经输入有效密钥之后设置的编程标志来区分闪存12的编程状态和未编程状态。当供电并且在存储器18中保存有效密钥时,如果设置了编程标志,则将对非易失性闪存12中存在的任何数据进行解密,如果未设置该标志,则将接受闪存12的编程。
在操作期间,在将数据存储在闪存12中之前,将由加密引擎14对源自主机系统处理器的将要写入闪存12中的任何数据进行加密。由于来自主机系统的数据最初被写入存储设备10的SRAM 16中(在设备10的操作中,所有读取和写入都是通过SRAM 16进行的),将附加数据加密和写入闪存12的过程不影响访问时间。
应当理解,在一个示例中,从系统角度来看,本发明的存储设备10像标准闪存设备一样操作。因此,未详细描述往返于主机系统的典型地址、数据和控制信号(参见图1)。
存储设备10可以在其中有备用电池和篡改指示可用的任何主机系统中操作。它也可以无密钥操作(生成自己的密钥),也可以使用用户提供的密钥进行操作。无论哪种情况,都无法从外部读取密钥。重要的是,设备10消除了对单独的加密步骤的需要,并确保了存储在闪存12中的数据将在静止状态下被加密,而不会受到它嵌入的主机系统的任何干预。不需要外部硬件或软件即可完成加密功能。该存储设备是一个完整的单元,可以作为替换存储设备集成到新设计中,也可以实现为新特征。
尽管在此描述和示出了本发明的某些实施例,但是本领域技术人员将理解,在不脱离本发明的精神和范围的情况下,可以进行各种修改、增加和改变。因此,本发明包括落入所附权利要求书范围之内的所有这样的修改、增加和改变。

Claims (19)

1.一种用于存储和检索数据的系统,包括:
静态随机存取存储器,其被配置为保存数据并与至少一个主机系统通信;
加密引擎,其耦合至该静态随机存取存储器,该加密引擎被配置为对来自该主机系统的至少一些该数据进行加密;
闪存,其耦合至该加密引擎并被配置为存储加密的数据,并且其中该加密引擎被配置为对来自该闪存的至少一些该数据进行解密;
密钥存储器,其耦合至该加密引擎,其存储一个或多个加密密钥,该加密引擎使用该密钥来对该数据进行加密和解密;
加密散列引擎,其耦合至该密钥存储器并被配置为生成该加密密钥;和
控制电路,其用于响应来自该主机系统的控制指令和与密钥选择和/或篡改尝试相对应的输入信号,
其中,闪存、加密引擎、加密散列引擎、密钥存储器、静态随机存取存储器和控制电路位于存储设备内。
2.根据权利要求1所述的系统,还包括:随机数生成器,其耦合到该密钥存储器并且被配置为生成该加密密钥。
3.一种用于存储数据的存储设备,包括:
闪存;
加密引擎,其耦合至该闪存,用以来自主机系统的至少一个处理器的数据进行加密,并将该加密数据储存于该闪存中,并且用于对储存在该闪存中的加密数据进行解密;
随机数生成器和加密散列引擎,该加密散列引擎与该加密引擎相关联并被配置用于创建加密密钥;
密钥存储器,其耦合至该加密引擎、该随机数生成器和用于存储该加密密钥的该加密散列引擎;
静态随机存取存储器,其连接至该加密引擎,用于将来自该主机系统的数据提供给该加密引擎,并且用于接收和存储来自该加密引擎的解密数据,以供该主机系统访问;和
控制电路,其耦合到该密钥存储器和该静态随机存取存储器,其中该控制电路被配置为响应于来自处理器的控制指令以及对应于密钥选择和/或篡改尝试的输入信号而允许该存储设备的操作,
其中,该闪存、该加密引擎、该随机数生成器、该加密散列引擎、该密钥存储器、该静态随机存取存储器和该控制电路位于该存储设备内。
4.根据权利要求3所述的存储装置,其中,该密钥存储器包括易失性密钥存储器区域,该易失性密钥存储器区域与该静态随机存取存储器和该闪存的操作区域安全地隔离。
5.根据权利要求4所述的存储设备,包括主电源和用于为该密钥存储器供电的备用电池。
6.根据权利要求4所述的存储设备,其中,该控制电路被配置为确定在该密钥存储器中是否保存了有效密钥,如果在该密钥存储器中保存了有效密钥,则转换到第一状态,该第一状态包括响应于该主机系统的操作,写入和/或向该闪存读取数据和从该闪存读取数据。
7.根据权利要求6所述的存储设备,其中,该控制电路被配置为使得当处于该第一状态时,该设备通过将该数据存储在该静态随机存取存储器中以供该加密引擎使用来接受由该主机系统提供给该设备的数据,对该数据进行加密,然后将加密的数据存储在该闪存中。
8.根据权利要求7所述的存储设备,其中,该控制电路被配置为使得如果该有效密钥未被保存在该密钥存储器中,则该设备或者转换到第三状态,在该第三状态中该加密引擎创建该有效密钥并且该设备然后转换到第二状态;或者该设备转换到第四状态,在该第四状态中,根据输入到该控制电路的密钥选择信号,该设备等待用户输入该有效密钥。
9.根据权利要求3所述的存储设备,其中,该加密散列引擎使用SHA 256散列算法。
10.根据权利要求3所述的存储设备,其中,在该主机系统与该闪存之间进行通信而无需专用总线或驱动器。
11.根据权利要求3所述的存储设备,其中,该存储设备是现有系统存储器的替代。
12.一种用于对存储设备中的非易失性存储器的数据进行加密和解密的方法,其中,主机系统中的至少一个处理器被编程为将该数据写入该存储设备并从该存储设备读取该数据,该方法包括:
提供闪存部分;
通过耦合到该闪存部分的加密引擎对源自主机系统的数据进行加密,并将该加密的数据写入该闪存部分,并对存储在该闪存部分中的数据进行解密,以供该主机系统通过该加密引擎进行访问;
通过耦合到该加密引擎的静态随机存取存储器将该数据从该主机系统提供给该加密引擎,并且从该加密引擎接收该解密的数据以供该主机系统访问;
创建至少一个加密密钥,其中,随机数生成器和与该加密引擎相关联的加密散列引擎被配置为创建该加密密钥;
将该至少一个加密密钥保存在该密钥存储器中;
通过控制电路进行的该存储设备的控制操作还包括:响应于与密钥选择和/或篡改尝试相对应的输入信号,允许该存储设备的操作;
确定有效密钥是否被保存在该密钥存储器中;
如果该有效密钥被保存在密钥存储器中,则
如果有效密钥被保存在密钥存储器中,则转换到第一状态,该第一状态包括向该闪存部分写入数据和/或从该闪存部分读取数据;和
其中,该闪存部分、该加密引擎、该密钥存储器、该静态随机存取存储器、该随机数生成器、该加密散列引擎和该控制电路位于该存储设备内。
13.根据权利要求12所述的方法,其中,该第一状态包括:通过将该数据存储在该静态随机存取存储器中以供该加密引擎使用,来接受由该主机系统提供给该存储设备的数据,对该数据进行加密,以及将该加密的数据存储在该闪存部分中。
14.根据权利要求12所述的方法,还包括:配置该密钥存储器,使得如果该密钥存储器中没有保存该有效密钥,则转换到第三状态,该第三状态包括创建自生成的加密密钥,然后转换到第二状态或转换到第四状态,该第四状态包括根据输入到该控制电路的密钥选择的状态,等待用户提供的加密密钥。
15.根据权利要求12所述的方法,还包括:将由该随机数生成器或该加密散列引擎创建的该加密密钥存储在该密钥存储器的易失性密钥存储器区域中,以及将该易失性密钥存储器区域与该静态随机存取存储器和该闪存部分的操作区域隔离,。
16.根据权利要求15所述的方法,还包括:从主电源或备用电池为该易失性密钥存储器区域供电。
17.根据权利要求12所述的方法,还包括:在该主机系统与该闪存之间进行通信而无需专用总线或驱动器。
18.根据权利要求12所述的方法,还包括:从该随机数生成器或该加密散列引擎创建该加密密钥。
19.根据权利要求12所述的方法,还包括:由用户确定该加密密钥是从外部还是内部提供的。
CN201980060569.8A 2018-07-17 2019-07-17 用于存储敏感信息和其它数据的闪存设备 Active CN112703703B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/037,822 2018-07-17
US16/037,822 US10387662B2 (en) 2014-07-16 2018-07-17 Flash memory device for storing sensitive information and other data
PCT/US2019/042165 WO2020018644A1 (en) 2018-07-17 2019-07-17 Flash memory device for storing sensitive information and other data

Publications (2)

Publication Number Publication Date
CN112703703A true CN112703703A (zh) 2021-04-23
CN112703703B CN112703703B (zh) 2024-04-12

Family

ID=69165118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980060569.8A Active CN112703703B (zh) 2018-07-17 2019-07-17 用于存储敏感信息和其它数据的闪存设备

Country Status (2)

Country Link
CN (1) CN112703703B (zh)
WO (1) WO2020018644A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056015A1 (en) * 1998-01-21 2000-11-29 Tokyo Electron Limited Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
CN101536007A (zh) * 2006-11-08 2009-09-16 美光科技公司 用于对外部非易失性存储器中所存储信息进行加密的方法及系统
US20130219189A1 (en) * 2012-02-21 2013-08-22 Microchip Technology Incorporated Cryptographic Transmission System
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备
US20140047246A1 (en) * 2012-08-07 2014-02-13 Samsung Electronics Co., Ltd. Flash memory device including key control logic and encryption key storing method
CN103907308A (zh) * 2012-01-16 2014-07-02 株式会社东芝 主机设备、半导体存储器设备以及认证方法
CN107667374A (zh) * 2015-06-25 2018-02-06 英特尔公司 用于存储器保密性、完整性和重放保护的技术

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3170087B1 (en) * 2014-07-16 2019-05-01 BAE SYSTEMS Information and Electronic Systems Integration Inc. Flash memory device for storing sensitive information and other data
US10187203B2 (en) * 2016-08-30 2019-01-22 Workday, Inc. Secure storage encryption system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056015A1 (en) * 1998-01-21 2000-11-29 Tokyo Electron Limited Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
CN101536007A (zh) * 2006-11-08 2009-09-16 美光科技公司 用于对外部非易失性存储器中所存储信息进行加密的方法及系统
CN103907308A (zh) * 2012-01-16 2014-07-02 株式会社东芝 主机设备、半导体存储器设备以及认证方法
US20130219189A1 (en) * 2012-02-21 2013-08-22 Microchip Technology Incorporated Cryptographic Transmission System
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备
US20140047246A1 (en) * 2012-08-07 2014-02-13 Samsung Electronics Co., Ltd. Flash memory device including key control logic and encryption key storing method
CN107667374A (zh) * 2015-06-25 2018-02-06 英特尔公司 用于存储器保密性、完整性和重放保护的技术

Also Published As

Publication number Publication date
CN112703703B (zh) 2024-04-12
WO2020018644A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
CA2955144C (en) Flash memory device for storing sensitive information and other data
US8255655B2 (en) Authentication and securing of write-once, read-many (WORM) memory devices
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
US20030014653A1 (en) Memory device with data security in a processor
EP1056015A1 (en) Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
US10354073B2 (en) Information processor device verifying software and method of controlling information processor device
EP2161673A1 (en) Method and system for protecting data
JP4869337B2 (ja) データの安全な処理
CN101273363A (zh) 用于具有快闪大容量存储存储器的安全装置的安全而灵活的系统结构
US7818567B2 (en) Method for protecting security accounts manager (SAM) files within windows operating systems
US10642984B2 (en) Secure drive and method for booting to known good-state
US7761654B2 (en) System and method of utilizing off-chip memory
CN112703703B (zh) 用于存储敏感信息和其它数据的闪存设备
EP3964965A1 (en) Secure flash controller
US10387662B2 (en) Flash memory device for storing sensitive information and other data
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
US20230274037A1 (en) Secure Flash Controller
EP4030682A1 (en) Method and device for controlling access to a resource
JP5055487B2 (ja) 半導体メモリおよび情報処理システム

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