一种基于芯片的密码获取方法、装置、设备及存储介质与流程

文档序号:26006059发布日期:2021-07-23 21:24阅读:122来源:国知局
一种基于芯片的密码获取方法、装置、设备及存储介质与流程

本发明涉及密码获取技术领域,更具体地说,涉及一种基于芯片的密码获取方法、装置、设备及存储介质。



背景技术:

目前,在集成电路设计的密码存储中,由于芯片中仅设置一个密码,若该密码被泄露或者不安全,由于该芯片中的密码不可修改,则需要对芯片进行更换,从而增加了更换芯片的频率,极大的降低了效益。

因此,如何降低芯片的更换频率,是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种基于芯片的密码获取方法、装置、设备及存储介质,以减小因密码泄露而更换芯片的可能性,降低芯片的更换频率。

为实现上述目的,本发明提供的一种基于芯片的密码获取方法,所述芯片的一次性可编程存储器中存储了至少两个密码,所述密码获取方法包括:

获取目标密码选取信息;

从所述芯片的一次性可编程存储器中确定各个密码的使用状态;所述使用状态包括有效状态及无效状态;

若所述目标密码为有效状态,则从所述一次性可编程存储器中获取所述目标密码;若所述目标密码为无效状态,则判定所述目标密码为无效密码。

其中,所述获取目标密码选取信息,包括:

从所述芯片的程序存储器中获取密码选取信息段;其中,所述密码选取信息段中数值为1的最高位的位置标识,代表选取的目标密码的标识。

其中,从所述芯片的一次性可编程存储器中确定各个密码的使用状态,包括:

从所述一次性可编程存储器中确定使用信息段;所述使用信息段的位置标识与所述密码选取信息段的位置标识相对应,所述使用信息段的位置标识与密码具有一一对应关系;

其中,若当前位的数值为0,则代表与所述当前位对应的密码为未使用的有效状态;若当前位的数值为1,且当前位为数值为1的最高位,则代表与所述当前位对应的密码为正在使用的有效状态;若当前位的数值为1,且当前位不为数值为1的最高位,则代表与所述当前位对应的密码为无效状态。

其中,若所述目标密码为有效状态,则从所述一次性可编程存储器中获取所述目标密码;若所述目标密码为无效状态,则判定所述目标密码为无效密码,包括:

从所述密码选取信息段中确定数值为1的最高位的第一位置标识;

从所述使用信息段中确定数值为1的最高位的第二位置标识;

计算所述第一位置标识与所述第二位置标识的差值;

若所述差值为0或者1,则从所述一次性可编程存储器中获取所述目标密码;若所述差值为其他值,则判定所述目标密码为无效密码。

其中,若所述差值为1,则从所述一次性可编程存储器中获取所述目标密码之后,还包括:

将所述使用信息段中与所述第一位置标识对应的数值设置为1。

为实现上述目的,本发明进一步提供一种基于芯片的密码获取装置,所述芯片的一次性可编程存储器中存储了至少两个密码,所述密码获取装置包括:

第一获取模块,用于获取目标密码选取信息;

确定模块,用于从所述芯片的一次性可编程存储器中确定各个密码的使用状态;所述使用状态包括有效状态及无效状态;

第二获取模块,用于在所述目标密码为有效状态时,从所述一次性可编程存储器中获取所述目标密码;若所述目标密码为无效状态,则判定所述目标密码为无效密码。

其中,所述第一获取模块具体用于:从所述芯片的程序存储器中获取密码选取信息段;其中,所述密码选取信息段中数值为1的最高位的位置标识,代表选取的目标密码的标识。

其中,所述确定模块具体用于:从所述一次性可编程存储器中确定使用信息段;所述使用信息段的位置标识与所述密码选取信息段的位置标识相对应,所述使用信息段的位置标识与密码具有一一对应关系;

其中,若当前位的数值为0,则代表与所述当前位对应的密码为未使用的有效状态;若当前位的数值为1,且当前位为数值为1的最高位,则代表与所述当前位对应的密码为正在使用的有效状态;若当前位的数值为1,且当前位不为数值为1的最高位,则代表与所述当前位对应的密码为无效状态。

为实现上述目的,本发明进一步提供一种电子设备,包括:

存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述基于芯片的密码获取方法的步骤。

为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于芯片的密码获取方法的步骤。

通过以上方案可知,本发明实施例提供的一种基于芯片的密码获取方法,该芯片的一次性可编程存储器中存储了至少两个密码,该密码获取方法包括:获取目标密码选取信息;从所述芯片的一次性可编程存储器中确定各个密码的使用状态;若目标密码为有效状态,则从该一次性可编程存储器中获取目标密码;若目标密码为无效状态,则判定目标密码为无效密码。

可见,在本方案中,芯片内存储了至少两个密码,从而实现对密码的备份,若密码不安全,则可使用芯片内存储的其他备份密码;并且,本方案在获取密码时,通过对密码使用状态的判定,可确保本方案不会获取到不安全的无效密码,通过该方式,使得本方案在芯片内设置多个密码作为备份密码成为可能,相比只有一个密码的芯片,多个备用密码芯片增强了使用功能,降低了更换芯片的频率,极大的提高了效益。本发明还公开了一种基于芯片的密码获取装置、设备及存储介质,同样能实现上述技术效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种基于芯片的密码获取方法流程示意图;

图2为本发明实施例公开的另一种基于芯片的密码获取方法流程示意图;

图3为本发明实施例公开的一种基于芯片的密码获取装置结构示意图;

图4为本发明实施例公开的一种电子产品结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于芯片的密码获取方法、装置、设备及存储介质,以减小因密码泄露而更换芯片的可能性,降低芯片的更换频率。

参见图1,本发明实施例提供的一种基于芯片的密码获取方法,所述芯片的一次性可编程存储器中存储了至少两个密码,所述密码获取方法包括:

s101、获取目标密码选取信息;

在本方案中,芯片的一次性可编程存储器为otprom(onetimeprogrammableread-onlymemory),该一次性可编程存储器中的内容只能编程一次,该otprom内预先存储了至少两个密码,其中一个密码在使用时,其他密码作为该密码的备份密码,在本实施例中,以芯片内存储了8个密码为例进行说明,但密码的数量并不局限于此。芯片上电启动后,通过本方案从一次性可编程存储器中读取对应的密码,在读取密码时,用户首先需要发出目标密码选取信息,如:芯片内存储了8个密码,若用户想要选择的目标密码为第4个密码,则目标密码选取信息为选取第4个密码的选取信息。

具体来说,本方案在获取目标密码选取信息的过程包括:从芯片的程序存储器中获取密码选取信息段;该密码选取信息段中数值为1的最高位的位置标识,代表选取的目标密码的标识。

其中,芯片的程序存储器为芯片的flash存储器,该flash内存储了用户选择目标密码的信息,该信息具体可以为存储在flash内的密码选取信息段,该密码选取信息段的位数与芯片内存储的密码数量相同,并且,密码选取信息段中数值为1的最高位的位置标识代表选取的目标密码的标识,例如:芯片内存储了8个密码,密码选取信息段为8位,若密码选取信息段为00000001,该密码选取信息段中数值为1的最高位的位置标识为1,则说明用户选择的目标密码为第1个密码;若密码选取信息段为00001111,该密码选取信息段中数值为1的最高位的位置标识为4,则说明用户选择的目标密码为第4个密码,同理,若密码选取信息段为00001011/00001001/00001000,由于其中数值为1的最高位的位置标识仍为4,则同样代表用户选择了第4个目标密码。通过该方式,使得用户可通过对密码选取信息段的编程,简单明确的选择密码。

s102、从芯片的一次性可编程存储器中确定各个密码的使用状态;所述使用状态包括有效状态及无效状态;

需要说明的是,由于本方案中的芯片存储了多个密码,在使用的过程中,若某个密码被泄露或者不再安全,那么该密码便会被弃用,不能再使用,因此在本方案中,为了保证弃用的密码不会再使用,为每个密码设置了使用状态,该使用状态可以为无效状态和有效状态,该使用状态设置在芯片的一次性可编程存储器中,从而确保了使用状态的安全性。

其中,本方案确定各个密码的使用状态时,具体是从一次性可编程存储器中确定使用信息段;该使用信息段的位置标识与该密码选取信息段的位置标识相对应,该使用信息段的位置标识与密码具有一一对应关系。

具体来说,在本方案中,为了简单明了的表示各个密码的使用状态,在一次性可编程存储器中设置了使用信息段,该使用信息段中的每一位用来表示每个密码的使用状态,因此,该使用信息段的位数与密码的数量相同,同理,该使用信息段与密码选取信息段也相对应,如:密码选取信息段及使用信息段的第一位与第一个密码相对应,密码选取信息段及使用信息段的第二位与第二个密码相对应,以此类推,密码选取信息段的每位的数值代表选取信息,使用信息段的每位的数值代表使用信息。

s103、若目标密码为有效状态,则从一次性可编程存储器中获取目标密码;若目标密码为无效状态,则判定目标密码为无效密码。

在本方案中,目标密码选取信息及各个密码的使用状态确定后,便可根据两者确定是否应该从一次性可编程存储器中获取该目标密码。若该目标密码为有效状态,则说明用户选择的密码并非为弃用密码,则可直接从该一次性可编程存储器中获取目标密码,若目标密码为无效状态,则判定目标密码为无效密码,此时便不能响应该目标密码选取信息,判定此时为非法状态,使控制器停止运行。

综上可见,在本方案中,芯片内存储了至少两个密码,从而实现对密码的备份,若密码不安全,则可使用芯片内存储的其他备份密码;并且,本方案在获取密码时,通过对密码使用状态的判定,可确保本方案不会获取到弃用的无效密码,通过该方式,使得本方案在芯片内设置多个密码作为备份密码成为可能,相比只有一个密码的芯片,多个备用密码芯片增强了使用功能,降低了更换芯片的频率,极大的提高了效益。

参见图2,本发明实施例提供的另一种基于芯片的密码获取方法,该芯片的一次性可编程存储器中存储了至少两个密码,该密码获取方法包括:

s201、从芯片的程序存储器中获取密码选取信息段;该密码选取信息段中数值为1的最高位的位置标识,代表选取的目标密码的标识;

s202、从一次性可编程存储器中确定使用信息段;该使用信息段的位置标识与该密码选取信息段的位置标识相对应,该使用信息段的位置标识与密码具有一一对应关系;

在本方案中,该使用信息段的比特位是依次编程的,在初始使用密码时,使用第一个密码,则对应的使用信息段为:00000001,若第一个密码弃用,则使用第二个,此时的使用信息段会编程为:00000011,以此类推。如:若使用信息段为:00000011时,代表第一个密码被弃用,第二个密码正在被使用,因此本方案将数值为0或者最高位数值为1对应的密码,均称为有效状态,前者为未使用的有效状态,后者为正在使用的有效状态。也即:若当前位的数值为0,则代表与当前位对应的密码为未使用的有效状态;若当前位的数值为1,且当前位为数值为1的最高位,则代表与当前位对应的密码为正在使用的有效状态;若当前位的数值为1,且当前位不为数值为1的最高位,则代表与当前位对应的密码为无效状态。

例如:使用信息段为:00000111,其中第8~4位为0,表示第8~4个密码为未使用的有效状态,第3~1位均为1,由于第3位为其中的最高位,则代表第3个密码为正在使用的有效状态,第2~1个密码为无效状态。

s203、从密码选取信息段中确定数值为1的最高位的第一位置标识;从使用信息段中确定数值为1的最高位的第二位置标识;

s204、计算第一位置标识与第二位置标识的差值;

s205、若差值为0或者1,则从一次性可编程存储器中获取目标密码;若差值为其他值,则判定目标密码为无效密码。

具体来说,在目标密码为有效状态时,若均从一次性可编程存储器中获取目标密码,则代表了无论选取那个密码,只要该密码为有效状态即可获取,该方式虽然保证了弃用的密码不被再次使用,但是由于该获取方式为无序的,则会给各密码的使用状态管理带来额外的工作量,例如:当前使用信息段为:00100001,此时目标密码为第5个密码,如果直接获取该第5个密码,则使用信息段会变为00101001,此时就需要维护一条记录信息为:第1位和第6位的1代表无效状态,第5位中的1代表正在使用的有效状态。

因此在本方案中,设定密码选取的过程为有序的,也即:目标密码只能选择处于正在使用的有效状态的密码,或者,与正在使用的有效状态的密码相邻的下一个密码,通过该方式,可以让使用信息段的比特位是依次编程,例如:当前使用信息段为:00000011,由于本方案仅支持选择:处于正在使用的有效状态的第二个密码,或者与第二个密码相邻的处于未使用的有效状态的第三个密码,因此,若密码选取信息段为:00100000,则可拒绝获取,若密码选取信息段为:00000010,则获取第二个密码,若密码选取信息段为:00000100,则获取第三个密码。

为了快速判断是否有序的获取目标密码,本方案通过s203~s206来确定。具体的,本方案首先从密码选取信息段中确定数值为1的最高位的第一位置标识,该第一位置标识表示该密码选取信息段中数值为1的位数为第几位,若密码选取信息段为:00001000,则该第一位置标识为4。然后从使用信息段中确定数值为1的最高位的第二位置标识,该第二位置标识表示第几个密码处于正在使用的有效状态,若使用信息段为:00000111,则该第二位置标识为3。进一步,计算第一位置标识与第二位置标识的差值;若差值为0或者1,则从一次性可编程存储器中获取目标密码;若差值为其他值,则判定目标密码为无效密码。

如:密码选取信息段f1的内容去比对使用信息段s1的内容,若f1的最高位为1的位置标识fa1减去s1的最高位为1的位置标识sa1的差值dfs为0或1时,为通过状态,如果为其它值则为非通过状态。

当dfs=0时,使用sa1位置对应的otprom中的密码;

当dfs=1时,使用(sa1+1)位置对应的otprom中的密码;由于fa1-sa1=1,所以,fa1=sa1+1,也即:(sa1+1)位置对应的密码即为f1中位置标识fa1选择的密码;

当dfs为其它值时,为非法状态,使控制器停止运行。

在此为了对本方案清楚说明,列举如下具体的实施例,对差值为0、差值为1、差值为其他值的情况进行详细说明:

若密码选取信息段为:00000100,使用信息段为:00000111,则第一位置标识为3,第二位置标识为3,第一位置标识减第二位置标识的差值为0,在该情况下,代表选择的密码为:正在使用的密码,该情况下,是有序选择密码的方式,是被允许的,因此可直接获取该目标密码,也即从一次性可编程存储器中获取第三个密码;

若密码选取信息段为:00001000,使用信息段为:00000111,则第一位置标识为4,第二位置标识为3,第一位置标识减第二位置标识的差值为1,在该情况下,代表选择的密码为:与正在使用的密码相邻的下一个未使用的密码,该情况也是有序的选择密码,是被允许的,因此可直接获取该目标密码,也即从一次性可编程存储器中获取第四个密码;

若密码选取信息段为:01000000,使用信息段为:00000111,则第一位置标识为7,第二位置标识为3,第一位置标识减第二位置标识的差值为4,在该情况下,代表选择的密码为:未被使用的密码,该情况下,不是有序选择密码的方式,因此是不被允许的,拒绝选择第7个密码。

若密码选取信息段为:00000001,使用信息段为:00000111,在该情况下,第一位置标识为1,第二位置标识为3,第一位置标识减第二位置标识为-2,在该情况下,代表选择的密码为:无效密码,是不被允许的,因此拒绝选择第1个密码。

需要说明的额是,若差值为1,则代表此次选择了未被使用的新密码,此时,需要将该新密码的使用状态从未被使用的有效状态更改为正在使用的有效状态,因此,本方案从一次性可编程存储器中获取目标密码之后,还需要将使用信息段中与第一位置标识对应的数值设置为1。例如:若密码选取信息段为:00001000,使用信息段为:00000111,其中,第一位置标识为4,第二位置标识为3,第一位置标识减第二位置标识的差值为1,在该情况下,直接从一次性可编程存储器中获取第四个密码后,还需要将使用信息段中与第一位置标识中第四位的数值设置为1,修改后的使用信息段为:00001111,从而表示目前正在使用的是第四个密码,第三个密码已经被弃用,变为无效状态。

综上可见,本方案可减小因密码泄露而更换芯片的可能性,且这种避免重用无效密码的方式,可使芯片更加安全。进一步,本方案通过有序的方式选择密码,可以方便对各密码的使用状态进行维护,在保证密码及芯片安全性的基础上,降低了密码的维护难度。

下面对本发明实施例提供的密码获取装置、设备及存储介质进行介绍,下文描述的密码获取装置、设备及存储介质与上文描述的密码获取方法可以相互参照。

参见图3,本发明实施例提供的一种基于芯片的密码获取装置结构示意图,该芯片的一次性可编程存储器中存储了至少两个密码,该密码获取装置包括:

第一获取模块100,用于获取目标密码选取信息;

确定模块200,用于从所述芯片的一次性可编程存储器中确定各个密码的使用状态;所述使用状态包括有效状态及无效状态;

第二获取模块300,用于在所述目标密码为有效状态时,从所述一次性可编程存储器中获取所述目标密码;若所述目标密码为无效状态,则判定所述目标密码为无效密码。

其中,所述第一获取模块具体用于:从所述芯片的程序存储器中获取密码选取信息段;其中,所述密码选取信息段中数值为1的最高位的位置标识,代表选取的目标密码的标识。

其中,所述确定模块具体用于:从所述一次性可编程存储器中确定使用信息段;所述使用信息段的位置标识与所述密码选取信息段的位置标识相对应,所述使用信息段的位置标识与密码具有一一对应关系;

其中,若当前位的数值为0,则代表与所述当前位对应的密码为未使用的有效状态;若当前位的数值为1,且当前位为数值为1的最高位,则代表与所述当前位对应的密码为正在使用的有效状态;若当前位的数值为1,且当前位不为数值为1的最高位,则代表与所述当前位对应的密码为无效状态。

其中,所述第二获取模块包括:

第一获取单元,用于从所述密码选取信息段中确定数值为1的最高位的第一位置标识;

第二获取单元,用于从所述使用信息段中确定数值为1的最高位的第二位置标识;

计算单元,用于计算所述第一位置标识与所述第二位置标识的差值;

第三获取单元,用于在所述差值为0或者1时,从所述一次性可编程存储器中获取所述目标密码;若所述差值为其他值,则判定所述目标密码为无效密码。

其中,所述装置还包括:

设置模块,用于在所述差值为1时,将所述使用信息段中与所述第一位置标识对应的数值设置为1。

参见图4,为本发明实施例还公开了一种电子设备结构示意图,包括:

存储器11,用于存储计算机程序;

处理器12,用于执行所述计算机程序时实现上述任意方法实施例所述的基于芯片的密码获取方法的步骤。

该设备可以包括存储器11、处理器12和总线13。其中:

存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行密码获取方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行密码获取方法的程序代码等。

该总线13可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。

可选地,该设备还可以包括用户接口15,用户接口15可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。

图4仅示出了具有组件11-15的设备,本领域技术人员可以理解的是,图4示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

为本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的基于芯片的密码获取方法的步骤。

其中,该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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