执行安全调试的存储设备及其密码认证方法与流程

文档序号:18198226发布日期:2019-07-17 05:59阅读:239来源:国知局
执行安全调试的存储设备及其密码认证方法与流程

本申请要求于2017年12月13日向韩国知识产权局提交的第10-2017-0171451号韩国专利申请的优先权,其全部内容通过引用整体并入本文。

与示例性实施例一致的方法和装置涉及半导体存储器设备,并且具体地,涉及执行安全调试的存储设备及其密码认证方法。



背景技术:

闪存设备用作存储介质,用于在信息设备(诸如计算机、智能电话、个人数字助理(pda)、数码相机、便携式摄像机、录音机、mp3播放器、手持式pc等)中存储数据,诸如语音和图像数据。基于闪存的大容量存储设备的示例是固态驱动器(以下称为“ssd”)。ssd可以被分类为用于服务器的ssd、用于客户端的ssd、用于数据中心的ssd等。可以管理和维护用于上述用途的ssd,以提供高可靠性和优化的服务质量。

最近,通过存储设备调试通道的攻击增加了,并且攻击技术也进步了。因此,存储产品的安全要求也增加了。特别是,因为联合测试行动组(jointtestactiongroup,jtag)端口为存储产品提供了高度的可控性和可观察性,所以已经在积极研究用于保护jtag端口的安全调试技术。安全调试系统的认证方案包括密码认证方案和质询-响应认证方案。密码认证方案容易受到回复攻击。当密码的复杂度低时,字典攻击或暴力攻击可能会暴露密码。

除了使用密码认证方案的存储设备之外,在片上系统(soc)或嵌入式系统中也迫切需要一种能够抵制上述字典攻击或暴力攻击的技术。



技术实现要素:

示例性实施例提供了一种具有抵制密码攻击的安全调试设备的存储设备及其密码认证方法。

根据示例性实施例的一方面,提供一种连接到调试主机的存储设备,所述存储设备包括:非易失性存储器设备;存储控制器,被配置为控制非易失性存储器设备;以及安全调试管理器,被配置为对从调试主机输入的密码和注册密码失配的次数进行计数,并且基于计数的次数达到阈值计数来阻止调试主机的访问,其中,存储控制器还被配置为在非易失性存储器设备中存储所述计数的次数并向安全调试管理器提供所述计数的次数。

根据另一示例性实施例的一方面,提供一种具有调试通道的存储设备的密码认证方法,所述密码认证方法包括:通过调试通道从调试主机接收密码;将密码与存储在存储设备中的注册密码进行比较;基于密码和注册密码的失配增加失配计数;确定失配计数是否已达到阈值计数;以及基于失配计数达到阈值计数,禁用存储设备的调试通道。

根据再一示例性实施例的一方面,提供一种存储设备,包括:非易失性存储器设备;以及存储控制器,被配置为控制非易失性存储器设备。存储控制器包括:主通道接口,被配置为与第一主机接口;调试通道接口,被配置为独立于主通道接口与第二主机接口;非易失性存储器接口,被配置为基于第一主机或第二主机的请求来访问非易失性存储器设备;以及有限认证逻辑,被配置为确定与第二主机密码失配相对应的错误计数,并基于错误计数禁用调试通道接口。

附图说明

通过参照附图的以下描述,上述和其他目的和特征将变得显而易见,其中,除非另有说明,否则相同的附图标记在各个附图中指代相同的部分。

图1是示出根据示例性实施例的存储设备和调试主机的框图;

图2是示出根据示例性实施例的调试主机和存储设备之间的密码认证程序的流程图;

图3是示出根据示例性实施例的安全调试管理器的配置的框图;

图4是示出根据示例性实施例的有限认证逻辑的详细配置的框图;

图5是示意性地示出根据示例性实施例的密码生成器的操作的框图;

图6是示出根据另一示例性实施例的安全调试管理器的配置的框图;

图7是示出根据示例性实施例的安全调试管理器的有限密码认证操作的流程图;

图8是示出根据示例性实施例的安全调试管理器的详细操作的流程图;

图9是示出根据示例性实施例的在发生存储设备的重置时管理失配计数值的方法的流程图;

图10是示出根据示例性实施例的用于通过有限认证逻辑重启禁用的存储设备的方法的示例的流程图;以及

图11是示意性地示出根据示例性实施例的应用了有限密码认证方案的固态驱动器的框图。

具体实施方式

应当理解,提供前面的一般描述和以下的详细描述都是为了说明示例性实施例,而不是为了限制本公开的范围。附图标记将在示例性实施例中详细表示,其示例在附图中示出。只要有可能,在附图和说明书中使用相同的附图标记表示相同或相似的部分。

下面,使用闪存设备的固态驱动器将被示例为电子设备或存储设备。然而,本领域技术人员可以根据在此公开的内容容易地理解本发明构思的其他优点和性能。可以通过其他示例性实施例来实现或应用本发明构思。另外,在不脱离本发明构思的权利要求,范围和精神以及任何其他目的的情况下,可以根据观点和应用来改变或修改详细描述。

图1是示出根据示例性实施例的存储设备和调试主机的框图。参照图1,可以限制从通过调试通道连接的调试主机100到存储设备200的密码输入的数量。

调试主机100可以在存储设备200中写入数据或者可以读取存储在存储设备200中的数据。调试主机100可以生成用于调试操作的命令以在存储设备200中写入数据或者读取存储在存储设备200中的数据。调试主机100可以是调试工具,诸如个人计算机或服务器。

调试主机100可以检测存储设备200的故障或错误,并且可以具有提取转储(dump)数据的功能。如果发生错误或故障事件,则调试主机100通过调试通道请求存储设备200收集并存储用于调试的转储数据。另外,如果转储数据的存储完成,则调试主机100可以从存储设备200读取存储的转储数据。调试主机100可以分析读取的转储数据以辨认存储设备200的状态或错误。

存储设备200提供由调试主机100请求的数据并存储由调试主机100请求写入的数据。具体地,如果发生各种错误或问题,则存储设备200生成包括在发生错误的时间点存储设备200的状态信息的转储数据,将转储数据存储在缓冲存储器250或非易失性存储器(nvm)设备270中。转储数据包括错误上下文或故障上下文。存储设备200可以将存储在缓冲存储器250或非易失性存储器设备270中的转储数据发送到调试主机100。

具体地,存储设备200通过调试通道连接到调试主机100。与为数据交换提供的通用通道不同,调试通道具有更强大的存储设备200的控制权限。例如,通过调试通道访问存储设备200的调试主机100可以停止或恢复存储设备200的操作。因为需要读出诸如转储数据的硬件和软件的状态和日志信息,所以可以通过调试主机100访问调试通道来容易地推断出存储设备200的技术信息。因此,通过调试通道的访问使用安全调试方案,该方案仅允许在通过密码认证时对调试主机100的访问。然而,当使用利用各种并行处理方案的暴力攻击时,使用密码的认证方案也存在限制。

根据示例性实施例的存储设备200可以应用有限密码认证方案,用于限制到试图攻击的调试主机100的密码输入的数量。为此,根据示例性实施例的存储设备200可以包括安全调试管理器210、存储控制器230、缓冲存储器250和非易失性存储器设备270。

安全调试管理器210可以对连接到调试通道的调试主机100执行基于密码的认证。如果调试主机100连接到存储设备200,则安全调试管理器210可以向调试主机100请求密码。安全调试管理器210将从调试主机100提供的输入密码pwi与先前存储的注册密码pwr进行比较。如果确定输入密码pwi与注册密码pwr匹配,则安全调试管理器210允许调试主机100访问存储设备200。另一方面,如果确定输入密码pwi与注册密码pwr失配,则安全调试管理器210临时阻止调试主机100对存储设备200的访问,并且请求调试主机100重新输入密码。如果调试主机100提供的密码pwi在限定计数内未被匹配,则安全调试管理器210可以永久地阻止对调试主机100的访问。安全调试管理器210的配置或功能将参照下面的附图详细描述。

存储控制器230由调试主机100根据安全调试管理器210的认证结果来控制。如果安全调试管理器210的密码认证成功,则存储控制器230可以输出调试主机100请求的数据。也就是说,存储控制器230可以根据密码认证结果将存储在缓冲存储器250或非易失性存储器设备270中的用户数据或转储数据提供给调试主机100。具体地,存储控制器230可以在安全调试管理器210的控制下更新非易失性存储器设备270中的密码失配计数pwmm_cnt。此外,存储控制器230可以在安全调试管理器210的控制下向安全调试管理器210提供存储在非易失性存储器设备270中的密码失配计数pwmm_cnt。

缓冲存储器250可以是存储设备200的缓冲器。缓冲存储器250可以临时存储要写入非易失性存储器设备270的数据或者从非易失性存储器设备270读取的数据。缓冲存储器250可以是例如动态随机访问存储器(dram)。

非易失性存储器设备270可以是最终存储由调试主机100请求写入的数据的存储介质。此外,在非易失性存储器设备270中存储调试主机100提供的输入密码pwi与注册密码pwr失配的次数。以下,输入密码pwi与注册密码pwr失配的次数被称为“密码失配计数pwmm_cnt”。此外,非易失性存储器设备270可以在存储设备200被重置或初始化的状态下将密码失配计数pwmm_cnt提供给安全调试管理器210。

如果连接到调试通道的调试主机100提供的输入密码pwi失配与限制计数相对应的次数,则根据示例性实施例的存储设备200可以永久地阻止通过调试通道的访问。因此,可以抵制通过调试通道对存储设备200的密码暴力攻击。

图2是示出图1中的调试主机和存储设备之间的密码认证过程的流程图。参照图2,调试主机100可以在存储设备200中在限制计数内输入该输入密码pwi。如果在限制计数(下文称为“有限计数”)内没有输入与注册密码pwr匹配的密码,则可以永久禁用存储设备200的调试通道。

在操作s10中,调试主机100通过调试通道连接到存储设备200,并且调试主机100将输入密码pwi_j('j'是不小于'0'的整数)发送到存储设备200。

在操作s20中,存储设备200可以确定由调试主机100提供的输入密码pwi是否与在存储设备200中注册的注册密码pwr匹配。如果确定输入密码pwi与注册密码pwr匹配,则该过程在是方向上进行到操作s80。在操作s80中,存储设备200通知调试主机100认证成功并允许调试主机100的访问。另一方面,如果确定输入密码pwi与注册密码pwr失配,则该过程在否方向上进行到操作s30。

在操作s30中,存储设备200增加失配计数pwmm_cnt,其对应于输入密码pwi与注册密码pwr失配的次数。也就是说,如果操作s20中的密码pwi和pwr之间的失配对应于第一失配,则存储设备200将失配计数pwmm_cnt('j'='0')增加到'j=0+1'。然后,该过程可以进行到步骤s40。

在操作s40中,检查增加的失配计数pwmm_cnt的值j是否与有限计数值匹配。有限计数是根据安全属性存储在存储设备200中的值。如果确定增加的失配计数pwmm_cnt的值'j'小于有限计数值,则该过程在否方向进行到操作s50。也就是说,在操作s50中,存储控制器230请求调试主机100输入另外的密码。此外,该过程返回到接收由调试主机100再次输入的输入密码pwi_j的操作s10。另一方面,如果确定增加的失配计数pwmm_cnt的值“j”已经达到有限计数值,则该过程在是方向上进行到操作s60。

在操作s60中,存储设备200彻底阻止从外部通过调试通道的访问。例如,存储设备200可以永久地阻止当前连接到调试通道的调试主机100的访问。然后,该过程可以进行到步骤s70。

在操作s70中,存储设备200向调试主机100发送指示认证失败的消息。

以上简要描述了根据示例性实施例的执行有限密码认证的存储设备200的操作。当尝试认证的调试主机100提供的密码pwi失配的次数达到有限计数时,调试主机100的访问被阻止。因此,根据示例性实施例的存储设备200可以抵制基于密码的暴力攻击。另外,可以极大地提高存储设备200的调试通道的安全性。

图3是示出根据示例性实施例的安全调试管理器的配置的框图。参照图3,安全调试管理器210可以包括调试接口212、有限认证逻辑214和失配计数更新逻辑216。

调试接口212可以提供调试主机100和存储设备200之间的接口。调试接口212还可以包括协议转换器,其将由调试主机100提供的命令或地址发送到存储控制器230。调试接口212可以将调试主机100输入的输入密码pwi发送到有限认证逻辑214。此外,调试接口212可以将有限认证逻辑214发送的指示认证通过或认证失败的消息,发送到调试主机100。

例如,调试接口212可以是使用诸如jtag或串行线方案的协议的接口。内部集成电路(inter-integratedcircuit,i2c)接口是使用串行线协议的接口的示例。然而,调试接口212可以用各种协议代替,诸如系统管理总线(smbus),通用异步接收器发送器(uart),串行外围接口(spi),高速芯片间(hsic)等。

有限认证逻辑214可以基于密码对调试主机100执行认证过程。具体地,有限认证逻辑214检测由调试主机100提供的输入密码pwi是否与存储在其中的注册密码pwr匹配。具体地,有限认证逻辑214对输入密码pwi和注册密码pwr之间的失配计数pwmm_cnt进行计数。如果失配计数pwmm_cnt小于有限计数,则有限认证逻辑214可以向调试主机100请求密码重新输入pw请求。此外,如果所计数的失配计数pwmm_cnt已达到有限计数,则有限认证逻辑214阻止提供输入密码pwi的调试主机100的访问。可选地,如果所计数的失配计数pwmm_cnt已达到有限计数,则有限认证逻辑214可以永久地阻止通过调试通道的访问。也就是说,有限认证逻辑214可以限制调试主机100输入密码的次数。为此,有限认证逻辑214可以包括失配计数计数器217。

失配计数计数器217对所识别的调试主机100输入的输入密码pwi与注册密码pwr之间的失配计数pwmm_cnt进行计数。另外,失配计数计数器217可以将所计数的失配计数pwmm_cnt发送到失配计数更新逻辑216。在这种情况下,失配计数更新逻辑216在非易失性存储器设备270中实时更新失配计数pwmm_cnt。此外,在电源重置或初始化操作的情况下,失配计数计数器217可以将失配计数pwmm_cnt恢复为最近更新的值。也就是说,即使发生电源重置por,也会读出实时存储在非易失性存储器设备270中的失配计数pwmm_cnt。因此,失配计数pwmm_cnt可以恢复到电源重置por之前的值。

失配计数更新逻辑216在非易失性存储器设备270中实时更新由非失配计数计数器217计数的失配计数pwmm_cnt。此外,如果发生电源重置或初始化,则失配计数更新逻辑216读出从非易失性存储器设备270更新的失配计数pwmm_cnt,以将失配计数pwmm_cnt提供给失配计数计数器217。输入密码pwi和注册密码pwr之间的失配计数pwmm_cnt由失配计数更新逻辑216实时更新。另外,为了防止密码攻击或者甚至发生了意外的电源重置或初始化,失配计数更新逻辑216允许将失配计数pwmm_cnt维护为最新值。为此,失配计数更新逻辑216可以直接控制存储控制器230。

以上,简要描述了根据示例性实施例的安全调试管理器210的配置。然而,上述配置是示例,并且用于实时更新和管理失配计数pwmm_cnt的各种改变是可能的。

图4是示出根据示例性实施例的有限认证逻辑的详细配置的框图。参照图4,有限认证逻辑214可以包括认证数据库(db)211、密码生成器213、密码比较器215、失配计数计数器217和认证控制器219。

认证db211存储注册密码pwr,用于生成注册密码的种子,以及有限计数finitecount的值。根据生成注册密码pwr的方法,认证db211可以存储用于生成注册密码pwr的种子seed或认证数据ad。种子seed可以是对应于注册密码pwr的常数值或特定数据。例如,种子seed可以使用诸如非易失性存储器设备270或缓冲存储器250的存储器或存储介质的唯一id信息。可选地,种子seed可以是由存储设备200的提供者或供应商输入的值。存储在认证db211中的有限计数finitecount的值可以根据安全级别被编程为各种值。也就是说,较低的值可以用作高安全级别的有限计数,而较高的值可以用作较低安全级别的有限计数。认证db211可以用可编程熔丝或只读存储器(rom)来实现。

密码生成器213通过使用从认证db211提供的种子seed或认证数据ad来生成注册密码pwr。密码生成器213可以使用种子seed执行密码生成操作。密码生成器213可以是根据种子seed生成伪随机二进制序列(以下称为“prbs”)的电路或算法。例如,密码生成器213可以执行散列函数方法的序列生成算法(例如,sha-1或sha-0)或生成随机序列的算法。将理解,密码生成器213生成注册密码pwr的方法不限于此。

密码比较器215将调试主机100提供的输入密码pwi与注册密码pwr进行比较。密码比较器215可以向认证控制器219和失配计数计数器217中的每一个提供输入密码pwi和注册密码pwr之间的比较结果。

失配计数计数器217累加并计数输入密码pwi和注册密码pwr之间的失配计数pwmm_cnt。此外,失配计数计数器217确定所计数的失配计数pwmm_cnt是否已达到有限计数finitecount。例如,如果检测到密码比较器215第一次提供的输入密码pwi与注册密码pwr匹配,则失配计数计数器217将失配计数pwmm_cnt保持为“0”。另一方面,如果检测到密码比较器215第一次提供的输入密码pwi与注册密码pwr失配,则失配计数计数器217将失配计数pwmm_cnt从“0”增加到“1”。此外,失配计数计数器217可以控制存储控制器230,使得增加的失配计数pwmm_cnt'1'存储在非易失性存储器设备270中。此外,失配计数计数器217将增加的失配计数pwmm_cnt发送到认证控制器219,以确定是否继续该认证过程。

认证控制器219参考密码的比较结果和失配计数pwmm_cnt,将认证成功/失败authenticationpass/fail或密码重新输入请求pwrequest发送到调试主机100。如果密码比较器215确定输入密码pwi与注册密码pwr匹配,则认证控制器219确定认证成功authenticationpass。另外,认证控制器219可以允许调试主机100自由地访问存储设备200。

另一方面,如果密码比较器215确定输入密码pwi与注册密码pwr失配,则认证控制器219确定失配计数pwmm_cnt是否已达到有限计数finitecount。如果虽然输入密码pwi与注册密码pwr失配,但失配计数pwmm_cnt小于有限计数finitecount,则认证控制器219将密码请求pw请求发送到调试主机100,使得调试主机100重新输入密码。另一方面,如果输入密码pwi与注册密码pwr失配并且确定失配计数pwmm_cnt已达到有限计数finitecount,则认证控制器219确定认证失败authenticationfail。之后,认证控制器219将认证失败消息发送到调试主机100,并且完全阻止调试主机100对存储设备200的访问。

可以通过有限认证逻辑214的配置和功能来提供根据示例性实施例的存储设备200的有限密码输入方法的安全功能。

图5是示意性地示出根据示例性实施例的密码生成器的操作的框图。参照图5,可以使用种子seed以随机序列生成方法生成注册密码pwr。可以通过生成和管理注册密码pwr来提高安全性。

如图所示,密码生成器213可以用包括移位寄存器和异或(xor)运算器的序列生成器来实现。种子seed可以被包括多个触发器s0,s1,s2和s3的线性反馈移位寄存器(lfsr)被生成为扩展长度的注册密码pwr。例如,如果提供4比特的种子220,则可以将“1010”加载到密码生成器213的触发器s0,s1,s2和s3上。此外,可以提供随时钟周期增加而输出的比特串240作为注册密码pwr。

上述密码生成器213的配置是说明性的,并且可以使用种子seed通过各种类型的运算器或算法来生成注册密码pwr。

图6是示出根据另一示例性实施例的安全调试管理器的配置的框图。参照图6,安全调试管理器310可以操作执行有限认证逻辑214的功能的软件模块312,314和316。为此,安全调试管理器310可以包括中央处理单元311,工作存储器313,以及调试接口315。

根据示例性实施例,中央处理单元311可以执行加载到工作存储器313上的软件模块312,314和316,用于有限密码认证。密码认证模块312检测调试主机100提供的输入密码pwi是否与存储在其中的注册密码pwr匹配。失配计数计数器模块314对输入密码pwi和注册密码pwr之间的失配计数pwmm_cnt进行计数。另外,每当所计数的失配计数pwmm_cnt改变时,失配计数计数器模块314就将所计数的失配计数pwmm_cnt发送到自动保存/加载模块316。失配计数pwmm_cnt由自动保存/加载模块316经由存储控制器230在非易失性存储器设备270中实时更新。此外,在电源重置或初始化操作的情况下,失配计数计数器模块314可以将失配计数pwmm_cnt恢复到最近更新的值。也就是说,即使发生电源重置por,失配计数计数器模块314也可以实时读取并连续管理存储在非易失性存储器设备270中的失配计数pwmm_cnt。

具体地,如果所计数的失配计数pwmm_cnt小于有限计数,则密码认证模块312可以向调试主机100做出关于密码重新输入的请求pwrequest。此外,如果所计数的失配计数pwmm_cnt已达到有限计数,则密码认证模块312阻止调试主机100的访问。可选地,如果所计数的失配计数pwmm_cnt已达到有限计数,则密码认证模块312可以永久地阻止通过调试通道的访问。也就是说,密码认证模块312可以将调试主机100输入密码的次数限制为有限计数。

调试接口315还可以包括协议转换器,用于将调试主机100提供的命令或地址发送到存储控制器230。调试接口315可以向执行密码认证模块312的中央处理单元311发送调试主机100输入的输入密码pwi。此外,调试接口315可以向调试主机100发送密码认证模块312提供的指示认证通过authenticationpass或认证失败authenticationfail的消息。

安全调试管理器310为调试提供的操作可以独立于连接到存储控制器230的数据主机的控制来执行。安全调试管理器310的详细操作类似于上面描述的图2或图3的安全调试管理器210的操作。然而,安全调试管理器310示出了图2或图3的安全调试管理器210的配置能够用软件模块实现。

图7是示出根据示例性实施例的安全调试管理器210的有限密码认证操作的流程图。参照图7,如果失配计数pwmm_cnt已达到有限计数finitecount,则安全调试管理器210通过调试通道阻止访问。

在操作s110中,安全调试管理器210识别调试主机100并接收调试主机100输入的输入密码pwi。另外,安全调试管理器210可以在调试主机100通过使用调试通道连接到存储设备200的时间点通过使用发送密码请求pwrequest的方法来接收输入密码pwi。

在操作s120中,安全调试管理器210检测由调试主机100提供的输入密码pwi是否与存储在其中的注册密码pwr匹配。也就是说,在该操作中,可以使用由密码比较器215(参照图4)提供的输入密码pwi和注册密码pwr之间的比较结果。如果确定输入密码pwi与注册密码pwr匹配,则该过程在是方向进行到操作s160。另一方面,如果确定输入密码pwi与注册密码pwr失配,则该过程在否方向进行到操作s130。

在操作s130中,失配计数pwmm_cnt增加,并且增加的失配计数pwmm_cnt存储在存储设备200中。

在操作s140中,由认证控制器219(参照图4)确定失配计数pwmm_cnt是否已经达到根据安全属性确定的有限计数finitecount。如果失配计数pwmm_cnt与有限计数finitecount不相同,则该过程在否方向进行到操作s145,以向调试主机100做出关于密码重新输入的请求pwrequest。之后,该过程返回到操作s110以再次接收密码。另一方面,如果所计数的失配计数pwmm_cnt与有限计数finitecount的值相同,则该过程沿是方向进行到操作s150。

在操作s150中,认证控制器219阻止使用调试通道对存储设备200的全部访问。如果在有限计数finitecount内没有输入正确的密码,则认证控制器219可以永久地禁止通过调试通道对存储设备200的访问。可选地,认证控制器219可以永久地禁止仅所识别的调试主机100的访问。

在操作s160中,认证控制器219允许已经成功认证的调试主机100使用调试通道来访问存储设备200。

以上,简要描述了根据示例性实施例的安全调试管理器210的操作。根据示例性实施例的安全调试管理器210可以通过限制连接到调试通道的调试主机100的密码输入机会来抵制诸如字典攻击的密码的暴力攻击。

图8是示出根据示例性实施例的安全调试管理器的详细操作的流程图。参照图8,安全调试管理器210可以对调试主机100的密码输入错误进行计数,来管理使用调试通道的访问。

在操作s210中,安全调试管理器210识别调试主机100。例如,如果调试主机100通过使用调试通道连接到存储设备200,则安全调试管理器210可以请求调试主机100的标识信息。例如,安全调试管理器210可以请求调试主机100的id。可选地,安全调试管理器210可以通过使用连接的调试主机100自动发送的标识信息来辨认调试主机100的连接。

在操作s220中,安全调试管理器210可以加载与所识别的调试主机100相关联的失配计数pwmm_cnt。例如,失配计数更新逻辑216(参照图3)可以将从非易失性存储器设备270读取的失配计数pwmm_cnt加载到失配计数计数器217上。

在操作s230中,安全调试管理器210接收调试主机100输入的输入密码pwi。接收的输入密码pwi可以提供给密码比较器215。

在操作s240中,密码比较器215将输入的密码pwi与注册密码pwr进行比较。密码生成器213预先从种子seed生成的值可以用作注册密码pwr。

在操作s250中,根据密码比较器215在输入密码pwi和注册密码pwr之间的比较结果发生操作分支。如果确定输入密码pwi与注册密码pwr匹配,则该过程在是方向进行到操作s290。另一方面,如果确定输入密码pwi与注册密码pwr失配,则该过程在否方向进行到操作s260。

在操作s260中,输入密码pwi和注册密码pwr之间的失配计数pwmm_cnt由失配计数计数器217增加。失配计数计数器217将在操作s220中加载的失配计数pwmm_cnt增加“1”。

在操作s265中,失配计数更新逻辑216可以将增加的失配计数pwmm_cnt保存在存储设备200中。

在操作s270中,由认证控制器219(参照图4)确定失配计数pwmm_cnt是否已达到根据安全属性确定的有限计数finitecount。如果失配计数pwmm_cnt与有限计数finitecount不相同,则该过程在否方向进行到操作s275,以向调试主机100做出关于密码重新输入的请求pwrequest。之后,该过程返回到操作s230以接收密码。另一方面,如果所计数的失配计数pwmm_cnt与有限计数finitecount相同,则该过程在是方向进行到操作s280。

在操作s280中,认证控制器219阻止使用调试通道对存储设备200的全部访问。如果在有限计数finitecount内没有输入正确密码,则认证控制器219可以永久地禁止通过调试通道访问存储设备200。可选地,认证控制器219可以禁用存储设备200自身的操作。

在操作s290中,认证控制器219允许已经成功认证的调试主机100使用调试通道来访问存储设备200。

根据上述过程,根据示例性实施例的安全调试管理器210对密码的错误进行计数,并阻止使用调试通道对存储设备200的访问。

图9是示出根据示例性实施例的在发生存储设备的重置时管理失配计数值的方法的流程图。参照图9,即使调试主机100为了初始化密码的失配计数而尝试电源重置,根据示例性实施例,也可以将与重置前的失配计数pwmm_cnt相同的值加载到失配计数计数器217上。因此,对密码的字典攻击可以被禁止。

在操作s310中,可以通过电源重置或初始化再次启动存储设备200。有限认证逻辑214可以辨认重置或初始化。

在操作s320中,失配计数更新逻辑216读取存储在非易失性存储器设备270中的失配计数pwmm_cnt。此外,失配计数更新逻辑216可以更新非易失性存储器设备270中的各种认证信息以及失配计数pwmm_cnt,并且可以在重置操作期间读取各种认证信息以设置安全调试管理器210。

在操作s330中,失配计数更新逻辑216可以通过使用从非易失性存储器设备270读取的失配计数pwmm_cnt来设置失配计数计数器217。因此,在失配计数计数器217中设置的失配计数pwmm_cnt值被恢复到重置前的先前值。另外,失配计数更新逻辑216可以通过使用从非易失性存储器设备270读取的各种认证信息来设置密码生成器213。

在操作s340中,失配计数更新逻辑216从失配计数计数器217检测失配计数pwmm_cnt是否已增加。如果检测到失配计数pwmm_cnt已增加,则该过程在是方向进行到操作s350。另一方面,如果未检测到失配计数pwmm_cnt的增加,则失配计数更新逻辑216连续监视失配计数pwmm_cnt是否增加。

在操作s350中,失配计数更新逻辑216将增加的失配计数pwmm_cnt存储在非易失性存储器设备270中。失配计数pwmm_cnt的变化可以由失配计数更新逻辑216实时监视,并且可以在非易失性存储器设备270中实时更新改变的失配计数pwmm_cnt值。

如果在操作s360中调试主机100使用密码检测到认证成功,则失配计数更新逻辑216可以初始化(或重置)失配计数pwmm_cnt。另一方面,当调试主机100的认证失败时,该过程返回到操作s340。

在操作s370中,因为调试主机100的密码认证成功,所以失配计数更新逻辑216初始化或重置失配计数pwmm_cnt。

以上,示例性地描述了根据示例性实施例的用于有限密码认证操作的失配计数更新逻辑216的操作。失配计数更新逻辑216将密码的失配计数pwmm_cnt实时存储在非易失性存储器设备270中,并且可以在重置操作期间读取和恢复存储在非易失性存储器设备270中的失配计数pwmm_cnt。因此,安全调试管理器210可以通过触发电源重置或初始化操作来禁止初始化失配计数pwmm_cnt的尝试。

图10是示出根据示例性实施例的用于通过有限认证逻辑重启禁用的存储设备的方法的示例的流程图。参照图10,由于密码的失配计数的过量而被禁用的存储设备200可以由特定监管者恢复。

在操作s410中,可以将电力施加到被阻止访问的存储设备200,并且主机可以连接到调试通道。在这种情况下,存储设备200可以向主机请求标识id和密码pw。

在操作s420中,存储设备200可以确定标识id和密码pw是否对应于具有重启存储设备200的权限的监管者。如果标识id和密码pw与监管者的标识id和密码pw匹配,则该过程进行到操作s430。另一方面,如果输入的标识id和密码pw与监管者的标识id和密码pw失配,则该过程进行到操作s440。

在操作s430中,存储设备200释放访问阻止并将访问权限分配给主机。

在操作s440中,存储设备200认出输入标识id和密码pw对应于不具有重启权限的主机,并保持访问阻止状态。

以上,描述了根据示例性实施例的重启禁用的存储设备200的方法。然而,存储设备200的安全调试管理器210可以被设计为使得依据安全级别没有重启机会。

图11是示意性地示出根据示例性实施例的应用有限密码认证方案的固态驱动器(下文中称为“ssd”)的框图。参照图11,固态驱动器400可以包括ssd控制器410和非易失性存储器设备420。

ssd控制器410可以包括独立操作的通道接口412和414。调试通道接口412可以提供调试主机500和固态驱动器400之间的接口。主通道接口414可以提供与使用固态驱动器400作为存储装置的数据主机600的接口。

有限认证逻辑416可以通过应用限制密码输入计数的有限密码认证方案来阻止或允许调试主机500的访问。有限认证逻辑416可以执行与图1的上述安全调试管理器210的操作相同的基于密码的认证操作。因此,将不重复关于有限认证逻辑416的操作的详细描述。

nvm接口418与非易失性存储器设备420交换数据。nvm接口418可以将从非易失性存储器设备420读取的数据发送到数据主机600或有限认证逻辑416。具体地,在有限认证逻辑416的控制下,nvm接口418可以将调试主机500的密码错误计数实时存储在非易失性存储器设备420中。

非易失性存储器设备420可以包括例如闪存。非易失性存储器设备420可以用非易失性存储器元件实现,诸如电可擦除和可编程rom(eeprom),nand闪存,nor闪存,相变ram(pram),电阻ram(reram),铁电ram(fram),自旋扭矩磁ram(stt-mram)等。为了便于描述,可以假设非易失性存储器设备270包括nand闪存。

在示例性实施例中,根据示例性实施例,非易失性存储器设备420可以包括三维存储器阵列。三维存储器阵列可以在存储器单元阵列的一个或多个物理级别(level)中单片地形成,该存储器单元阵列具有布置在硅衬底上且与存储器单元的操作相关的电路上的有源区。与存储器单元的操作有关的电路可以位于衬底中或衬底上。术语“单片”意味着阵列的每级别的层直接沉积在阵列的每个下级别的层上。

根据示例性实施例,三维存储器阵列可以具有垂直方向特性,并且可以包括垂直nand串,其中,至少一个存储器单元位于另一个存储器单元上。至少一个存储器单元可以包括电荷陷阱层。每个垂直nand串可以包括位于存储器单元上的至少一个选择晶体管。至少一个选择晶体管可以具有与存储器单元相同的结构,并且可以与存储器单元一起单片地形成。

以下专利文献,其全部内容通过引用并入本文,描述了用于三维存储器阵列的合适配置,其中,三维存储器阵列被配置为多个级别,级别之间共享字线和/或位线:第7,679,133号;第8,553,466号;第8,654,587号;第8,559,235号美国专利;和第2011/0233648号美国专利公开。

根据示例性实施例,可以限制通过调试通道的存储设备或电子设备的密码攻击次数。也就是说,有可能通过限制密码输入次数来抵制诸如通过密码的暴力攻击的认证尝试。因此,根据示例性实施例的存储设备可以提供抵抗通过调试通道的密码攻击的高安全性。

上述方法的各种操作可以由能够执行操作的任何合适的装置执行,诸如各种硬件和/或软件组件,电路和/或模块。

软件可以包括用于实现逻辑功能的可执行指令的有序列表,并且可以体现在任何“处理器可读介质”中以供指令执行系统,装置或设备(诸如单核或多核处理器或包含处理器的系统)使用或与其结合使用。

结合本文中所公开的实施例而描述的方法或算法和功能的块或步骤可以直接体现于硬件中,由处理器执行的软件模块中或两者的组合中。如果以软件实现,则可以将功能作为一个或多个指令或代码存储在有形的非临时性计算机可读介质上或通过其传输。软件模块可以驻留在随机访问存储器(ram),闪存,只读存储器(rom),电可编程rom(eprom),电可擦除可编程rom(eeprom),寄存器,硬盘,可移动磁盘,cdrom,或本领域已知的任何其他形式的存储介质中。

如上所述,在附图和说明书中公开了示例性实施例。在此,本文使用的术语仅用于描述特定示例性实施例的目的,并不旨在限制本公开。因此,本领域技术人员将理解,各种修改和其他等同实施例是可能的。本公开的范围将由所附权利要求及其等同物的范围限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1