CN108073799B - 半导体存储器系统及其操作方法 - Google Patents

半导体存储器系统及其操作方法 Download PDF

Info

Publication number
CN108073799B
CN108073799B CN201710896151.3A CN201710896151A CN108073799B CN 108073799 B CN108073799 B CN 108073799B CN 201710896151 A CN201710896151 A CN 201710896151A CN 108073799 B CN108073799 B CN 108073799B
Authority
CN
China
Prior art keywords
controller
program
customer
signature
client
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.)
Active
Application number
CN201710896151.3A
Other languages
English (en)
Other versions
CN108073799A (zh
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN108073799A publication Critical patent/CN108073799A/zh
Application granted granted Critical
Publication of CN108073799B publication Critical patent/CN108073799B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3247Cryptographic 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 involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Abstract

一种半导体存储器系统及其操作方法包括:一次性可编程存储器装置,其存储至少识别客户的客户标识(ID);存储器装置;存储器控制器,其包括处理器并且联接到存储器装置,存储器控制器包含由处理器执行的指令,并且适于:在第一级签名认证中根据客户映像格式认证程序是否被控制器提供商授权给客户;在通过第一级签名认证之后,当客户映像指示第二级签名认证时,在第二级签名认证中根据程序映像格式认证程序是否被客户授权,其中程序映像格式不同于客户映像格式;在通过第一级签名认证和第二级签名认证之后,将程序存储到存储器装置中;以及在认证程序之后执行程序。

Description

半导体存储器系统及其操作方法
技术领域
本公开的示例性实施例涉及一种半导体存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有诸如数据存储装置的存储器装置的存储器系统。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
因为使用存储器装置的数据存储装置不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器/固态硬盘(SSD)。
SSD可以包括闪速存储器部件和SSD控制器。SSD控制器也可以被称为处理器,其包括将闪速存储器部件桥接到SSD输入/输出(I/O)接口的电子器件。SSD控制器可以包括可以执行诸如固件的功能部件的嵌入式处理器。SSD功能部件是特定装置(device specific),并且在大多数情况下可以被更新。
因此,仍然需要用于安全启动(booting)的半导体存储器系统及其操作方法。鉴于对提高性能和安全性的需求不断增加,找到这些问题的答案越来越关键。虽然一直在寻求对于这些问题的解决方案,但是先前的发展尚未教导或提出任何解决方案,因此对于这些问题的解决方案长期以来困扰着本领域的技术人员。
发明内容
本公开的实施例涉及一种能够提高SSD存储器系统的性能和安全性的半导体存储器系统及其操作方法。
一种半导体存储器系统的操作方法,其包括:将至少识别客户的客户标识(ID)存储在一次性可编程存储器装置中;提供存储器装置;将存储器装置联接到包括处理器的存储器控制器,存储器控制器包含由处理器执行的指令;在第一级签名认证中根据客户映像(image)格式认证程序是否被控制器提供商授权给客户;在通过第一级签名认证之后,当客户映像指示第二级签名认证时,在第二级签名认证中根据程序映像格式认证程序是否被客户授权,其中程序映像格式不同于客户映像格式;在通过第一级签名认证和第二级签名认证之后,将程序存储到存储器装置中;以及在程序被认证之后执行程序。
一种半导体存储器系统,其包括:一次性可编程存储器装置,其存储至少识别客户的客户标识(ID);存储器装置;存储器控制器,其包括处理器并且被联接到存储器装置,存储器控制器包含由处理器执行的指令,并且适于:在第一级签名认证中根据客户映像格式认证程序是否被控制器提供商授权给客户;在通过第一级签名认证之后,当客户映像指示第二级签名认证时,在第二级签名认证中根据程序映像格式认证程序是否被客户授权,其中程序映像格式不同于客户映像格式;在通过第一级签名认证和第二级签名认证之后,将程序存储到存储器装置中;以及在认证程序之后执行程序。
附图说明
图1是示意性地示出根据本发明的实施例的半导体存储器系统的顶层框图。
图2是示出根据本发明的实施例的半导体存储器系统的详细框图。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。
图4是示出根据本发明的实施例的半导体存储器系统的签名过程的流程图。
图5是示出根据本发明的实施例的半导体存储器系统的制作工具映像格式的图。
图6是示出根据本发明的实施例的半导体存储器系统的多级签名认证过程的流程图。
图7是示出根据本发明的实施例的半导体存储器系统的主固件映像格式的图。
图8是示出在本发明的实施例中保存在半导体存储器系统中的主固件映像格式的图。
图9是示出本发明的另一实施例中的半导体存储器系统的操作方法的流程图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本发明的范围。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
本发明可以以各种方式实施,其包括作为进程;设备;系统;物质的组成;实施在计算机可读存储介质上的计算机编程产品;和/或处理器,诸如适于执行存储在联接到处理器的存储器上的和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采取的任何其它形式可以被称为技术。通常,公开的进程的步骤的顺序可以在本发明的范围内改变。除非另有说明,否则诸如被描述为适于执行任务的处理器或存储器的部件可以被实施为暂时适于在给定时间执行任务的一般部件或被制造为执行任务的特定部件。如本文使用的,术语“处理器”是指适于处理诸如计算机编程指令的数据的一个或多个装置、电路和/或处理核。
以下提供对本发明的一个或多个实施例的详细描述以及说明本发明的原理的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多替代方案、变型和等同物。为了提供对本发明的透彻理解,在以下描述中阐述许多具体细节。为了示例的目的提供这些细节,并且在没有这些具体细节中的一些或全部的情况下,根据权利要求可以实施本发明。为了清楚的目的,与本发明相关的技术领域中已知的技术材料尚未详细描述,使得本发明不被不必要地模糊。
诸如SSD控制器提供商的存储器系统控制器提供商通常需要支持不同的用户。不像对于所有用户具有非常普遍的特征的用户SSD,对于企业SSD,每个用户都可以具有不同于其他客户的独有的功能,以使其在市场上处于优势地位并且在企业环境中满足其自身的具体要求。这些功能在SSD控制器内部的功能部件中被实施。一个客户的SSD应当拒绝其他用户SSD,即使他们使用相同的SSD控制器。有些客户甚至进一步并且想要控制诸如固件版本(release)的其自身的官方功能部件版本超出SSD控制器提供商提供的版本,以确保官方固件版本来自自身。
通常,SSD控制器启动包括两个步骤,即BootRom和主固件。BootRom可以包括在SSD控制器内部的一组寄存器,并且在构建SSD控制器之后不能被改变。BootRom执行最小控制器初始化并且完成将主固件加载到SSD的任务,SSD在执行主固件时具有一个特定客户的完整SSD特征。
对于诸如SSD认证的存储器认证,存在许多认证主固件的方法和算法。最普遍的方法可以使用具有私钥和公钥的数字签名算法。
为了实现在SSD上运行的一个客户的固件的排他性,SSD控制器需要提供一种安全启动机制,以区分不同的客户并且具有当新固件被提供用于升级时进行认证的方法。
在本发明的实施例中,多级签名认证系统及其操作方法被设计成实现对SSD的安全启动的要求,以防止未授权或恶意的固件从SSD运行。
SSD可以包括SSD控制器和诸如闪速存储器部件的SSD存储器装置。SSD控制器可以包括处理器和控制器内置存储器装置(controller built-in memory device),其中控制器内置存储器装置可以存储由处理器执行的程序或固件。控制器内置存储器装置可以包括诸如一次性可编程熔丝的一次性可编程存储器,以及BootRom。
多级签名认证系统可以实现第一级签名认证、第二级签名认证和重复的第一级签名认证。第一级签名认证可以认证主固件从控制器提供商授权或发布(released)并且针对特定客户来制造。通常,第一级签名认证可以由控制器提供商执行。第二级签名认证可以认证主要固件由特定客户发布。通常,第二级签名认证可以由控制器提供商或客户执行。在新的客户公钥和新的客户签名被提供和认证之后,重复的第一级签名认证可以认证主固件从控制器提供商发布或授权。通常,重复的第一级签名认证可以由控制器提供商执行。
为了实施多级签名认证系统,对于签名认证的每个级别,利用包括私钥和公钥的匹配密钥对来采用签名过程和认证过程。在签名过程中,可以利用加密签名算法将私钥加密到数字签名中。在认证过程中,公钥可以用于利用解密签名算法解密数字签名。
在第一级签名认证中,提供包括控制器私钥和控制器公钥的控制器密钥对。在控制器签名过程期间,控制器私钥可以被加密到控制器签名中。在控制器认证过程期间,控制器公钥可以被用于解密控制器签名。在第二级签名认证中,提供包括客户私钥和客户公钥的客户密钥对。在客户签名过程期间,客户私钥可以被加密到客户签名中。在客户认证过程期间,客户公钥可以被用于解密客户签名。
由于私钥不需要通过安全通道发送,因此不具有事先安全约定的各方可以与匹配的密钥对交换机密信息。由于匹配的密钥对由密钥生成算法产生,因此从公钥推导私钥在计算上不可行。RSA加密是公钥加密的示例,其中RSA是指一个实际的公钥密码系统,并且其由首先公开地描述该算法的Ron Rivest、Adi Shamir和LeonardAdleman的姓氏首字母组成。
为了提供使用多级签名认证实现SSD的安全启动的完整解决方案,可以在SSD控制器中实施以下元件及其各个固件。
1)用于保存信息以识别客户的一次性可编程熔丝。
2)用于固件签名进程的签名服务器。
3)用于实施固件认证的BootRom和主固件。
4)用于支持新固件更新或/和客户密钥对更新的主固件认证。
一次性可编程存储器或一次性可编程熔丝是数字存储器的形式,其中每个位的设置由熔丝或反熔丝锁定。一次性可编程熔丝中的数据是永久性的并且不能被改变。通常,一次性可编程熔丝用于存储诸如客户ID的永久性数据。
签名服务器是执行签名过程以创建诸如控制器签名或客户签名的数字签名的服务器。
BootRom是存储器控制器中的存储器装置,其中存储有可执行的程序或指令以启动半导体存储器装置。主固件是由存储在BootRom中用于实施签名认证的指令配置的程序。
在第一级签名认证期间,可以利用控制器签名和控制器公钥来认证主固件映像的控制器图像,以保证主固件从控制器提供商授权或发布。控制器图像可以表示主固件由控制器提供商签名。主固件映像的客户识别(ID)可以与一次性可编程熔丝中保存的客户ID比较。当主固件映像的客户ID与一次性可编程熔丝的客户ID匹配时,可以为通过客户ID被识别的特定客户确保主固件。
在第二级签名认证期间,客户签名和客户公钥可以被用于认证主固件映像的客户映像,以确保主固件从在第一级签名认证中通过客户ID被识别的特定客户发布。客户映像可以表示主固件待由客户签名。认证的主固件映像可以被加载到SSD上,并且当通过第一级签名认证和第二级签名认证时进一步被执行。
另外,多级签名认证的数字签名算法可以提供灵活性以管理SSD控制器提供商或/和SSD客户的匹配的密钥对。可选地,如果客户私钥被盗用(compromise),则客户密钥对可以被更新,或者客户可以选择利用其自身的发布服务来发布主固件。
现在参照图1,其中示出示意性地示出根据本发明的实施例的半导体存储器系统的框图。诸如SSD的半导体存储器系统可以包括包含诸如SSD控制器的存储器控制器100以及诸如闪速存储器装置的半导体存储器装置200的许多部件。存储器控制器100可以包括处理器106和用于存储用于初始安全启动和认证的指令和参数的诸如BootRom 108和一次性可编程熔丝110的控制器内置存储器装置。
存储器控制器100可以经由通信输入/输出(I/O)总线来控制半导体存储器装置200的总体操作,包括命令CMD、地址ADDR、数据DATA、电能PWR和控制信号CTRL。控制信号CTRL可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可以通过输入/输出线从存储器控制器100接收命令、地址和数据。半导体存储器装置200可以通过电源线接收电能PWR并且通过控制线接收控制信号CTRL。
存储器控制器100和半导体存储器装置200可以被集成到诸如SSD或存储卡的单个半导体装置中。当在SSD中使用ECC存储器系统时,联接到ECC存储器系统的主机(未示出)的操作速度可以显著提高。SSD可以包括用于在其中存储数据的存储装置。
存储器控制器100和半导体存储器装置200可以被集成到诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被集成到单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)的PC卡、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、尺寸减小的多媒体卡(RS-MMC)、微型尺寸版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)和通用闪速存储(UFS)。
又例如,ECC存储器系统可以被设置为包括诸如以下的电子装置的各种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、家庭网络的电子装置中的一个、计算机网络的电子装置中的一个、远程信息处理网络的电子装置中的一个、射频识别(RFID)装置或计算系统的元件装置。
用于定义和保存客户ID的一次性可编程熔丝110可以是一个具体的寄存器或多个寄存器。每个客户都可以具有区别于其他客户的独特的客户ID。SSD的主固件可以使用在一次性可编程熔丝110中保存的客户ID来检查被提供的用于发布或更新的相应固件是否针对通过客户ID被标识的特定客户。客户ID是独特的并且只能在制造期间被编程。一旦制造完成,客户ID不能被改变。
BootRom 108可以对制作工具和主固件执行固件认证。BootRom 108可以支持制作工具来编程主固件的第一版本,并且在通过该认证或多个认证时将主固件加载到SSD上。控制器公钥可以在认证过程期间被嵌入到BootRom 108中。
现在参照图2,其中示出展示根据本发明实施例的ECC存储器系统的详细框图。例如,图2的ECC存储器系统可以描绘图1所示的ECC存储器系统。ECC存储器系统可以包括存储器控制器100和半导体存储器装置200。ECC存储器系统可以响应于来自主机装置的请求而操作,并且特别地,存储待由主机装置访问的数据。
主机装置可以利用各种电子装置中的任意一种来实施。在一些实施例中,主机装置可以包括诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和便携式游戏机。
半导体存储器装置200可以存储待由主机装置访问的数据。
半导体存储器装置200可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和电阻式RAM(RRAM)的非易失性存储器装置。
存储器控制器100可以控制半导体存储器装置200中的数据的存储。例如,存储器控制器100可以响应于来自主机装置的请求来控制半导体存储器装置200。存储器控制器100可以将从半导体存储器装置200读取的数据提供给主机装置,并且将从主机装置提供的数据存储到半导体存储器装置200中。
存储器控制器100可以包括通过总线160联接的存储单元110、控制单元120、错误校正码(ECC)单元130、主机接口140和存储器接口150。
存储单元110可以用作ECC存储器系统和存储器控制器100的工作存储器,并且存储用于驱动ECC存储器系统和存储器控制器100的数据。当存储器控制器100控制半导体存储器装置200的操作时,存储单元110可以存储由存储器控制器100和半导体存储器装置200用于诸如以下操作的数据:读取操作、写入操作、编程操作和擦除操作。
存储单元110可以利用易失性存储器来实施。存储单元110可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储单元110可以将由主机装置使用的数据存储在半导体存储器装置200中以用于读取操作和写入操作。为了存储数据,存储单元110可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制单元120可以控制ECC存储器系统的一般操作,并且可以响应于来自主机装置的写入请求或读取请求来控制半导体存储器装置200的写入操作或读取操作。控制单元120可以驱动被称为闪存转换层(FTL)的固件来控制ECC存储器系统的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、磨损均衡、垃圾收集和坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。
ECC单元130可以检测并校正在读取操作期间从半导体存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正的错误位的阈值数量时,ECC单元130不可以校正错误位,并且可以输出指示校正错误位失败的错误校正失败信号。
在一些实施例中,ECC单元130可以基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、turbo乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC单元130可以包括用于错误校正操作的所有电路、系统或装置。
主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
存储器接口150可以在存储器控制器100和半导体存储器装置200之间提供接口以允许存储器控制器100响应于来自主机装置的请求控制半导体存储器装置200。存储器接口150可以在CPU 120的控制下生成用于半导体存储器装置200的控制信号并且处理数据。当半导体存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在CPU120的控制下生成用于存储器的控制信号并且处理数据。
半导体存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270。存储器单元阵列210可以包括多个存储块211,并且可以在其中存储数据。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成用于存储器单元阵列210的外围电路。外围电路可以执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成诸如擦除电压和通过电压的具有各种电平的操作电压。
行解码器240可以连接到电压生成电路230和多个存储块211。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块211中选择至少一个存储块,并且将从电压生成电路230供给的操作电压传输到在多个存储块211中选择的存储块。
页面缓冲器250通过位线BL(未示出)连接到存储器单元阵列210。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器250可以利用正电压对位线BL预充电,在编程操作和读取操作中将数据传输到选择的存储块/从选择的存储块接收数据,或临时存储传输的数据。
列解码器260可以将数据传输到页面缓冲器250/从页面缓冲器250接收数据,或将数据传输到输入/输出电路270/从输入/输出电路270接收数据。
输入/输出电路270可以通过输入/输出电路将从外部装置(例如,存储器控制器100)传输的命令和地址传输到控制电路220,将数据从外部装置传输到列解码器260,或将数据从列解码器260输出到外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
现在参照图3,其中示出展示根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列200的存储块211。
存储块211可以包括分别联接到位线BL0至BLm-1的多个单元串221。每列的单元串可以包括一个或多个漏极选择晶体管(DST)和一个或多个源极选择晶体管(SST)。多个存储器单元或存储器单元晶体管可以串联联接在DST和SST之间。存储器单元MC0至MCn-1的每一个可以由在每个单元中存储多位的数据信息的多层单元(MLC)形成。单元串221可以分别电联接到相应的位线BL0至BLm-1。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于NAND闪速存储器,而是可以包括NOR型闪速存储器、其中组合至少两种或更多种类型的存储器单元的混合闪速存储器或其中控制器内置于存储器芯片的单个NAND的闪速存储器。
现在参照图4,其中示出展示根据本发明的实施例的半导体存储器系统的签名过程的流程图。在签名过程期间,签名服务器可以被设置成在签名过程中将私钥加密到加密的数字签名中。
通常,签名过程可以根据加密签名算法408通过计算初始固件二进制402的哈希并且利用私钥406加密其哈希值404来对诸如初始固件二进制402的消息签名,以创建数字签名410。数字签名410和初始固件二进制402的组合可以是签名的固件二进制412。在签名过程中,初始固件二进制402可以被称为利用私钥406被“签名”。
哈希算法414是被称为哈希或哈希值404的采用可变长度输入并产生固定长度输出的单向哈希函数。哈希函数确保如果输入信息以任何方式被改变,则输出可以完全不同地被产生。
控制器提供商可以根据加密签名算法408通过计算初始控制器消息的哈希并利用控制器私钥来加密其消息哈希值来对控制器消息签名,以创建控制器签名。控制器签名和初始控制器消息的组合可以是签名的控制器消息。在签名过程中,初始控制器消息可以被称为利用控制器私钥被“签名”。控制器签名可以被加载到制作工具或主固件中。
控制器私钥可以被加密到控制器签名中。控制器私钥存储需要满足客户的最高安全性要求,诸如联邦信息处理标准(FIPS)140-2的3级或4级。可以使用由用户认可的所述签名服务器或构建服务器来对所有客户的固件签名。
控制器签名可以被用于认证控制器提供商的信息,并且还可以验证控制器提供商的信息是完整的。在主固件的初始版本由制作工具编程之后,如果客户想要控制其官方固件版本,则可以向客户提供客户映像。客户可以使用自身的客户签名服务器来对提供的客户映像签名,以创建如图7所定义的程序映像格式或主固件映像格式。
客户签名服务器可以与控制器签名服务器的签名过程相似的签名过程,根据加密签名算法将客户私钥加密到客户映像中,以生成客户签名。
客户签名服务器可以根据加密签名算法408通过计算初始客户消息的哈希并利用客户私钥对其消息的哈希值进行加密来对客户消息签名,以创建客户签名。客户签名和初始客户消息的组合可以是签名的客户消息。在签名过程中,初始客户消息可以被称为利用客户私钥被“签名”。客户签名可以被加载到主固件中。
客户签名可以保存到主固件中用于第二级认证。如果客户不想控制官方固件版本,则不需要客户签名过程并且可以跳过第二级签名认证。
现在参照图5,其中示出展示根据本发明的实施例的半导体存储器系统的制作工具映像格式的图。制作工具映像格式可以包括制作工具部分(section)以及随后的用于定义各种参数的各种位和部分。
制作工具映像格式的两级签名(TLS)位可以指示签名认证是一级还是二级。在由制作工具对主固件的初始编程期间,由于仅一级签名认证需要最初由BootRom完成,因此TLS可以被设置成0。
制作工具映像格式的测试映像指示(TII)位可以指示固件模式。当TII为0时,主固件版本可以是生产版本。当TII为1时,主固件版本可以是测试固件版本,其中发布的固件是测试版本,而不是生产版本。
制作工具映像格式的客户ID(CID)位可以定义用于特定客户的客户ID。CID位的数量可以是变量。每个CID对应于一个独特的客户,而控制器提供商可以支持多个客户。
可以在图4的解密签名算法中使用RSA位的填充参数(PP)和长度(LENS)。PP位和LENS位的数量可以是各种各样的。
控制器签名部分可以指利用在图4的固件签名进程中创建的控制器私钥而被加密的控制器签名。
制作工具可以被存储在SOC上,而不被保存在半导体存储器系统或SSD上。制作工具仅在诸如闪速存储器部件的SSD的存储器装置内部运行。
现在参照图6,其中示出展示根据本发明的实施例的半导体存储器系统的多级签名认证过程的流程图。控制器公钥可以在认证过程期间被嵌入到BootRom中。BootRom的程序或指令可以认证图4的控制器签名以及图5的制作工具中携带的客户ID。
在签名认证过程期间,可以通过利用公钥614解密来验证数字签名612。可以根据哈希算法608来计算签名的固件二进制606的初始固件二进制604的初始哈希值602。可以根据解密签名算法616通过利用公钥614解密数字签名612来计算解密的哈希值610。当初始哈希值602与解密的哈希值610匹配时,可以认证数字签名612。
在多级签名认证过程中,可以在一级签名认证中通过利用控制器公钥解密来验证控制器签名。签名的控制器消息可以被分离为初始控制器消息和控制器签名。可以根据哈希算法408来计算初始控制器消息的哈希值。可以根据解密签名算法616通过利用控制器公钥解密控制器签名来计算解密的控制器签名哈希值。当初始控制器消息的哈希值与解密的控制器签名哈希值匹配时,可以认证控制器签名。
同时,可将一次性可编程熔丝中保存的客户ID与制作工具的客户ID进行比较。如果一次性可编程熔丝中保存的客户ID与制作工具的客户ID匹配,则客户ID被验证。
因此,完成第一级签名认证。当客户ID和控制器签名被认证时,通过第一级签名认证。认证的控制器签名和客户ID可以被写入到主固件中。可以保证主固件是由控制器提供商授权或发布的并且用于由客户ID识别的具体客户。
第一级签名认证可以提供主固件由控制器提供商授权并且仅用于特定客户的安全性。第一级签名认证可以使控制器提供商能够为多个客户服务,并且满足个人客户独特的要求以用于实施其特殊特征。控制器签名还提供不可脱离性功能,以防止控制器提供商放弃信息的来源。
在通过第一级签名认证之后,针对客户映像的第二级签名认证可以在类似的第一级签名认证的认证过程中进行。可以通过利用客户公钥解密来认证客户签名。
在第二级签名认证过程中,可以通过利用客户公钥解密来验证客户签名。签名的客户消息可以被分离为初始客户消息和客户签名。可以根据哈希算法408来计算初始客户消息的哈希值。可以根据解密签名算法616通过利用客户公钥解密客户签名来计算解密的客户签名哈希值。当初始客户消息的哈希值与解密的客户签名哈希值匹配时,客户签名可以被认证。
当为了提高主固件的质量而需要利用新的固件版本来更新主固件,或者由于客户私钥被盗用而需要利用新的客户公钥来更新主固件,或者其组合时,可以进行第二级签名认证。
对于正常的新的主固件更新,新的主固件的密钥指示器位可以被设置成0,并且预先保存在SSD中的客户公钥可以和新的主固件映像中提供的客户签名一起用于认证新的主固件映像。第二级签名认证可以根据解密签名算法利用预先保存的客户公钥来认证客户签名。如果通过第二级签名认证,则新的客户映像与预先保存的客户公钥和新的客户签名可以一起被保存到SSD中,如图8所示。第二级签名认证可以保证主固件由客户利用客户自己的签名服务器来发布。
如果客户想要替换客户密钥对,则密钥指示器可以被设置成1,并且新的客户公钥可以填充新的主固件的客户公钥字段。客户密钥对的更换可能由被盗用的客户私钥或新的主固件的增加引起。
当SSD上运行的主固件利用新的客户公钥获得新的主固件映像时,主固件可以利用针对新的主固件映像的新的客户公钥来认证新的客户签名。如果通过认证,主固件可以使用控制器签名和嵌入的控制器公钥在重复的第一级签名认证上继续,以确保新的主固件被控制器提供商授权,并且通过将新固件的客户ID与一次性可编程熔丝中的客户ID匹配来确保新的主固件用于特定客户。如果通过重复的第一级签名认证,则新的客户映像与新的客户公钥和新的客户签名可以一起被保存到SSD中,如图8所示。
在通过第一级签名认证、第二级签名认证和可选地重复的第一级签名认证之后,多级签名认证被完成并且认证的主固件可以被保存到SSD上并且被执行。可以保证主固件是从用于特定客户的控制器发布的,其中特定客户可以将客户公钥和客户签名保存在SSD上。然后,主固件可以被安全地执行。
现在参照图7,其中示出展示根据本发明的实施例的半导体存储器系统的主固件映像格式的图。主固件映像格式可以分为客户映像格式702或控制器映像格式704,随后是用于定义参数的各种位和部分。
在主固件映像格式中存在两个签名,即内部签名和外部签名。诸如控制器签名的内部签名可以由控制器提供商定义并保证主固件由控制器提供商构建。诸如客户签名的外部签名可以被提供给客户用于签名并保证主固件由特定客户发布。
主固件映像格式可以包括各种部分和位。主固件映像格式的左边部分可以为主固件保留,随后是定义用于认证过程的参数的各种位。
主固件的两级签名(TLS)位可以指示认证是一级还是二级。如果TLS被设置为0,则可以提供可选的一级签名认证。主固件映像可以被简化成控制器映像格式704,其中控制器映像格式704仅由控制器提供商签名。默认情况下,当存在保存在SSD中的客户签名时,TLS可以被始终设置为1,表示两级签名认证。主固件可由控制器提供商认证并由客户发布。TLS可以为客户提供用于官方固件版本的自己的代码签名服务器的灵活性。
主固件的测试映像指示器(TII)位可以指示固件模式。当TII为0时,主固件版本可以是生产版本。当TII为1时,主固件版本可以是测试固件版本,其中发布的固件是测试版本,而不是生产版本。
主固件的客户ID(CID)位可以定义特定客户的客户ID。CID位的数量可以是变量。每个CID对应一个独特的客户。
可以在解密签名算法中使用RSA位的填充参数(PP)和长度(LENS)。PP位和LENS位的数量可以是各种各样的。
客户规格配置(Customer Specification Configuration)可以包含为在将来的应用中实施的特定客户的独特功能而保留的各种位。
控制器签名可以指在固件签名进程中加密和创建的控制器签名。控制器签名可以利用控制器私钥被加密并被保存到SSD。
图6的密钥指示器位可以被配置成指示是否存在新的客户公钥。当密钥指示器为0时,预先存储在SSD中的客户公钥可以被用于认证。当密钥指示器为1时,可以在密钥指示器位之后提供新的客户公钥,以用于在客户私钥被盗用时更新客户密钥对。新的客户公钥可以在认证进程中与新的客户签名一起使用。
在主固件映像格式的客户签名部分,客户签名可以被提供给第二级签名认证。当提供新的客户密钥以更新客户密钥对时,还提供新的客户签名。
现在参照图8,其中示出展示根据本发明的实施例的保存在半导体存储器系统中的主固件映像格式的图。保存在半导体存储器系统中的主固件映像格式类似于图7的主固件映像格式。图7的主固件映像格式的密钥指示器未被保存到半导体存储器系统或SSD中。
存储在SSD中的控制器签名和客户签名是被认证的签名。保存在SSD中的主固件被认证并准备好执行SSD的安全启动。
现在参照图9,其中示出展示根据本发明的实施例的半导体存储器系统的操作方法的流程图。方法可以包括:在方框902中,将至少识别客户的客户标识(ID)存储在一次性可编程存储器装置中;在方框904中,提供存储器装置;在方框906中,将存储器装置联接到包括处理器的存储器控制器,存储器控制器包含由处理器执行的指令;在方框908中,在第一级签名认证中根据客户映像格式认证程序是否由控制器提供商授权给客户;在方框910中,在通过第一级签名认证之后,当客户映像指示第二级签名认证时,在第二级签名认证中根据程序映像格式认证程序是否被客户授权,其中程序映像格式不同于客户映像格式;在方框912中,在通过第一级签名认证和第二级签名认证之后,将程序存储到存储器装置中;以及在方框914中,在认证程序之后执行程序。
本发明的实施例的上述基本元素包括用于半导体存储器系统的安全启动的多级签名认证。本发明的实施例的多级签名认证的益处包括允许SSD控制器提供商的客户利用客户密钥管理其自身的固件版本并且如果客户私钥被盗用则允许更新客户密钥对的灵活性。基本元素或技术特征可以确保主固件专门针对特定客户的SSD产品运行,并拒绝其他客户的固件。SSD控制器提供商可以分别支持多个客户并满足安全启动要求。
因此,已经发现的是,本发明的半导体存储器系统为存储器系统的安全启动提供重要和迄今未知且未获得的方案、能力和功能方面。所得到的方法、进程、设备、装置、产品和/或系统是直接的、合算的、不复杂的、高度通用和有效的,可以通过适应已知技术而令人惊奇地且非显而易见地实施,并且因此很容易适用于与传统制造方法或工艺和技术完全兼容的有效且经济地制造的集成电路封装系统。
本发明的另一个重要方面是它有价值地支持和服务于降低成本、简化系统和提高性能的历史趋势。因此,本发明的这些和其它有价值的方面将技术的状态进一步提高到至少下一水平。
虽然已经结合具体的最佳模式描述了本发明,但是应当理解的是,根据前面的描述,许多替代方案、变型和变化对于本领域技术人员将是显而易见的。因此,旨在涵盖落在所附权利要求的范围内的所有这样的替代方案、变型和变化。迄今为止在本文中阐述或在附图中示出的所有事项将以说明性和非限制性的意义来解释。

Claims (20)

1.一种半导体存储器系统的操作方法,其包括:
将至少识别客户的客户标识,即客户ID,存储在一次性可编程存储器装置中;
提供存储器装置;
将所述存储器装置联接到包括处理器的存储器控制器,所述存储器控制器包含由所述处理器执行的指令;
在第一级签名认证中根据客户图像格式认证程序是否被控制器提供商授权给所述客户,其中由指令配置所述程序;
在通过所述第一级签名认证之后,当所述客户图像指示第二级签名认证时,在所述第二级签名认证中根据程序图像格式认证所述程序是否被所述客户授权,其中所述程序图像格式不同于所述客户图像格式;
在通过所述第一级签名认证和所述第二级签名认证之后,将所述程序存储到所述存储器装置中;以及
在所述程序被认证之后执行所述程序。
2.根据权利要求1所述的方法,其中认证所述程序由所述控制器提供商授权包括:
利用控制器私钥签名所述程序以用于由控制器签名服务器生成控制器签名,
利用控制器公钥认证所述控制器签名,以及
将所述客户ID与在所述程序中定义的程序客户ID匹配。
3.根据权利要求2所述的方法,其中,
签名所述程序包括将所述控制器私钥加密到所述控制器签名中,以及
认证所述控制器签名包括利用所述控制器公钥解密所述控制器签名。
4.根据权利要求1所述的方法,其中认证所述程序由所述客户授权包括:
利用客户私钥签名所述程序以用于由客户签名服务器或控制器签名服务器生成客户签名,以及
利用客户公钥认证所述客户签名。
5.根据权利要求4所述的方法,其中,
签名所述程序包括将所述客户私钥加密到所述客户签名中,以及
认证所述客户签名包括利用所述客户公钥解密所述客户签名。
6.根据权利要求4所述的方法,其中认证所述客户签名包括利用所述程序中定义的新的客户公钥来认证所述客户签名,以及利用所述新的客户公钥解密所述客户签名。
7.根据权利要求6所述的方法,其进一步包括:
在通过所述第一级签名认证后,将所述控制器公钥嵌入到所述存储器装置中;以及
在通过所述第二级签名认证后,在重复的第一级签名认证中认证所述程序由所述控制器提供商授权给由所述客户ID识别的所述客户。
8.根据权利要求7所述的方法,其中认证所述程序在所述重复的第一级签名认证中被所述控制器提供商授权包括:利用所述嵌入的控制器公钥认证所述控制器签名,利用所述嵌入的控制器公钥解密所述控制器签名,以及将所述客户ID与在所述程序中定义的所述程序客户ID匹配。
9.根据权利要求8所述的方法,其进一步包括:
在通过所述第一级签名认证、所述第二级签名认证、所述重复的第一级签名认证或其组合之后,将所述程序保存到所述存储器装置中;以及
执行所述程序以用于安全启动。
10.根据权利要求1所述的方法,其进一步包括:
在通过所述第一级签名认证后,将控制器公钥嵌入到所述存储器装置中;
在通过所述第一级签名认证、所述第二级签名认证或其组合之后,将所述程序存储到所述存储器装置中;以及
执行所述程序以用于安全启动。
11.根据权利要求1所述的方法,其进一步包括:
通过密钥生成算法来产生包括控制器私钥和控制器公钥的控制器密钥对,以及包括客户私钥和客户公钥的客户密钥对。
12.根据权利要求1所述的方法,其中,
认证至少所述程序包括认证由所述控制器提供商授权的多个程序,以及
存储至少所述客户ID包括为多个客户存储多个客户ID,所述多个客户ID中的一个客户ID唯一地识别所述多个客户中的一个客户。
13.根据权利要求12所述的方法,其中认证所述多个程序包括:为所述多个客户中的一个客户唯一地认证所述多个程序中的一个程序。
14.一种半导体存储器系统,其包括:
一次性可编程存储器装置,其存储至少识别客户的客户标识,即ID;
存储器装置;以及
存储器控制器,其包括处理器并且联接到所述存储器装置,所述存储器控制器包含由所述处理器执行的指令,并且适于:
在第一级签名认证中根据客户图像格式认证程序是否被控制器提供商授权给所述客户,其中由指令配置所述程序,
在通过所述第一级签名认证之后,当所述客户图像指示第二级签名认证时,在所述第二级签名认证中根据程序图像格式认证所述程序是否被所述客户授权,其中所述程序图像格式不同于所述客户图像格式,
在通过所述第一级签名认证和所述第二级签名认证之后,将所述程序存储到所述存储器装置中,以及
在所述程序被认证之后执行所述程序。
15.根据权利要求14所述的系统,其中,
利用控制器私钥签名所述程序以用于由控制器签名服务器生成控制器签名,
利用控制器公钥来认证所述控制器签名,以及
将所述客户ID与在所述程序中定义的程序客户ID匹配。
16.根据权利要求15所述的系统,其中,
将所述控制器私钥加密到所述控制器签名中,以及
利用所述控制器公钥来解密所述控制器签名。
17.根据权利要求14所述的系统,其中,
利用客户私钥签名所述程序以用于由客户签名服务器或控制器签名服务器生成客户签名,以及
利用客户公钥来认证所述客户签名。
18.根据权利要求17所述的系统,其中
将所述客户私钥加密到所述客户签名中,以及
利用所述客户公钥来解密所述客户签名。
19.根据权利要求17所述的系统,其中所述客户签名包括新的客户签名,其中利用所述程序中提供的新的客户公钥来解密和认证所述新的客户签名。
20.根据权利要求14所述的系统,其进一步包括:
多个客户中的一个客户由多个客户ID中的一个客户ID唯一地识别,以及
多个程序中的一个程序由所述控制器提供商为所述多个客户中的一个客户唯一地认证;
在通过所述第一级签名认证后,嵌入的控制器公钥被嵌入到所述存储器装置中;以及
在通过所述第二级签名认证后,重复的第一级签名认证利用所述嵌入的控制器公钥认证所述程序被所述控制器提供商授权给所述客户。
CN201710896151.3A 2016-11-07 2017-09-28 半导体存储器系统及其操作方法 Active CN108073799B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/345,169 US10339318B2 (en) 2016-11-07 2016-11-07 Semiconductor memory system and operating method thereof
US15/345,169 2016-11-07

Publications (2)

Publication Number Publication Date
CN108073799A CN108073799A (zh) 2018-05-25
CN108073799B true CN108073799B (zh) 2021-09-07

Family

ID=62064642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710896151.3A Active CN108073799B (zh) 2016-11-07 2017-09-28 半导体存储器系统及其操作方法

Country Status (2)

Country Link
US (1) US10339318B2 (zh)
CN (1) CN108073799B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
KR20200005220A (ko) * 2018-07-06 2020-01-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 위한 펌웨어 제공 서버
US11520891B1 (en) * 2019-12-11 2022-12-06 Amazon Technologies, Inc. Secure boot of an integrated circuit
US11216562B2 (en) * 2019-12-31 2022-01-04 Micron Technology, Inc. Double wrapping for verification
CN116932009B (zh) * 2023-09-13 2024-01-23 合肥康芯威存储技术有限公司 一种存储器件的现场固件升级方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118773A (zh) * 2006-08-02 2008-02-06 索尼株式会社 存储设备和存储方法、及信息处理设备和信息处理方法
US7353541B1 (en) * 1999-09-07 2008-04-01 Sony Corporation Systems and methods for content distribution using one or more distribution keys
CN105515777A (zh) * 2015-12-18 2016-04-20 恒宝股份有限公司 一种usbkey设备的双重认证系统和方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204078A1 (en) * 2006-02-09 2007-08-30 Intertrust Technologies Corporation Digital rights management engine systems and methods
JP6317099B2 (ja) * 2013-01-08 2018-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America プログラムの正当性を確認するための確認方法及び、確認システム
US10372914B2 (en) * 2015-06-24 2019-08-06 Lenovo (Singapore) Pte. Ltd. Validating firmware on a computing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353541B1 (en) * 1999-09-07 2008-04-01 Sony Corporation Systems and methods for content distribution using one or more distribution keys
CN101118773A (zh) * 2006-08-02 2008-02-06 索尼株式会社 存储设备和存储方法、及信息处理设备和信息处理方法
CN105515777A (zh) * 2015-12-18 2016-04-20 恒宝股份有限公司 一种usbkey设备的双重认证系统和方法

Also Published As

Publication number Publication date
US10339318B2 (en) 2019-07-02
US20180129809A1 (en) 2018-05-10
CN108073799A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108073799B (zh) 半导体存储器系统及其操作方法
US9258111B2 (en) Memory device which protects secure data, method of operating the memory device, and method of generating authentication information
US8589669B2 (en) Data protecting method, memory controller and memory storage device
CN107957959B (zh) 具有文件级安全擦除的存储器系统及其操作方法
US11736276B2 (en) Delegation of cryptographic key to a memory sub-system
US11088856B2 (en) Memory storage system, host system authentication method and memory storage device
US11683155B2 (en) Validating data stored in memory using cryptographic hashes
US11783044B2 (en) Endpoint authentication based on boot-time binding of multiple components
US20220407718A1 (en) Secure replaceable verification key architecture in a memory sub-system
CN113841129A (zh) 存储器中的数据证明
KR20210132211A (ko) 메모리 커맨드들의 블록 체인 기반 검증
US11928192B2 (en) Vendor unique command authentication system, and a host device, storage device, and method employing the same
US11736453B2 (en) Secure key storage devices
US20210243035A1 (en) Multi-factor authentication enabled memory sub-system
CN110069934B (zh) 存储器存储系统、主机系统验证方法及存储器存储装置
KR20220091955A (ko) 메모리 시스템 폐기 방법 및 그 메모리 시스템
US20230281312A1 (en) Storage device and operation method thereof
CN115408729A (zh) 供应用程序存取安全存储器装置的独立于供应商的设施

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