一种安全存储芯片控制系统转让专利

申请号 : CN202310082866.0

文献号 : CN115794686B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许丰王新军

申请人 : 量子芯云(北京)微电子科技有限公司

摘要 :

本发明提供了一种安全存储芯片控制系统,包括存储控制器、地址寄存器、命令寄存器、擦除控制器、存储单元列阵器、传输缓冲器和外部控制器,所述存储控制器用于对数据的存储与读写进行控制,所述地址寄存器用于存放访问内容的地址信息,所述命令寄存器用于存放控制指令,所述擦除控制器用于擦除存储内容,所述存储单元阵列器用于保存具体数据,所述传输缓冲器用于在输入输出数据时起缓冲作用,所述外部控制器用于连接安全芯片并对安全芯片中的数据进行操作;本系统通过内置的存储控制器对外部控制器进行身份验证来开启芯片的读写功能,在芯片被盗窃后也能够对存储的内容进行保护。

权利要求 :

1.一种安全存储芯片控制系统,其特征在于,包括存储控制器、地址寄存器、命令寄存器、擦除控制器、存储单元列阵器、传输缓冲器和外部控制器;

所述存储控制器用于对数据的存储与读写进行控制,所述地址寄存器用于存放访问内容的地址信息,所述命令寄存器用于存放控制指令,所述擦除控制器用于擦除存储内容,所述存储单元阵列器用于保存具体数据,所述传输缓冲器用于在输入输出数据时起缓冲作用,所述外部控制器用于连接安全芯片并对安全芯片中的数据进行操作;

所述存储控制器对所述外部控制器进行身份验证,所述存储控制器提供随机数和芯片标识,所述外部控制器提供随机数和外部控制器标识,所述存储控制器和所述外部控制器分别基于两个随机数和两个标识处理得到验证数据,当两个验证数据一致时,所述存储控制器执行由外部控制器发送的数据对芯片进行控制;

所述存储控制器包括安全控制单元和逻辑控制电路,所述安全控制单元包括第一随机数生成器、第一数据存储器和第一计算处理器,所述第一随机数生成器用于随机生成数据,所述第一数据存储器用于保存用于安全验证的数据,所述第一计算处理器用于对所述第一数据存储器中保存的数据进行计算处理,所述逻辑控制电路用于控制安全控制单元的运行流程;

所述外部控制器包括第二随机数生成器、第二数据存储器和第二计算处理器,所述第二随机数生成器用于随机生成数据,所述第二数据存储器用于保存用于安全验证的数据,所述第二计算处理器用于对所述第二数据存储器中保存的数据进行计算处理;

所述存储控制器和外部控制器的安全验证工作流程包括如下步骤:S1、所述存储控制器接收到外部控制器的访问申请;

S2、所述存储控制器发送读取芯片ID指令,将获取的芯片标识数据记为ID1并保存至第一数据存储器;

S3、唤醒所述第一随机数生成器,将生成的随机数数据记为RND1并保存至所述第一数据存储器;

S4、所述存储控制器将ID1和RND1发送给所述外部控制器;

S5、所述外部控制器将ID1和RND1保存至所述第二数据存储器;

S6、唤醒所述第二随机数生成器,将生成的随机数数据记为RND2并保存至所述第二数据存储器;

S7、所述第二计算处理器根据ID1、RND1、IRD2和外部控制器的标识数据ID2计算得到验证数据MAC1;

S8、所述外部控制器将ID2、RND2和MAC1发送给所述存储控制器;

S9、所述存储控制器将ID2、RND2和MAC1保存至所述第一数据存储器;

S10、所述第一计算处理器根据ID1、ID2、RND1和RND2计算出验证数据MAC2;

S11、所述存储控制器将MAC1和MAC2进行对比,对比一致则根据ID2启用对应的权限功能;

所述第一计算处理器和所述第二计算处理器处理得到验证数据的过程包括如下步骤:S41、将随机数和标识交叉处理得到两个中间数MID1和MID2;

其中,MID1由存储控制器提供的标识ID1和外部控制器提供的随机数RND2处理得到,MID2由外部控制器提供的标识ID2和存储控制器提供的随机数RND1处理得到;

S42、将两个中间数转换为二进制数后,基于0和1的位置和数量计算得到四个权值Qw1(0)、Qw1(1)、Qw2(0)和Qw2(1);

其中,由中间数MID1得到的两个权值分别记为Qw1(0)和Qw1(1),由中间数MID2得到的两个权值分别记为Qw2(0)和Qw2(1);

S43、将权值根据下式进行处理得到验证数据MAC:

其中,n为验证数据转换为十六进制数时的长度。

2.如权利要求1所述的一种安全存储芯片控制系统,其特征在于,第一计算处理器和所述第二计算处理器计算得到中间数的公式为:;

其中,MID(i)表示中间数的第i位数值,ID(j)表示标识数据的第j位数值,RND(i)表示随机数的第i位数值,m为中间数、标识数据和随机数的长度,i和j为用于表示位数的参数,中间数MID、标识数据ID和随机数RND均为十六进制数;

权值的计算公式为:

其中, 表示中间数中0的个数, 表示中间数中1的个数,P0()和P1()为判断函数。

说明书 :

一种安全存储芯片控制系统

技术领域

[0001] 本发明涉及数据存储安全领域,具体涉及一种安全存储芯片控制系统。

背景技术

[0002] 现在市场上通用的存储芯片,一般都是常用接口模式,通用性比较强,都是通过外部的控制器发送命令来控制存储芯片的读写操作,标准的存储芯片,读写方法都很接近或一致,导致存储产品上的某一颗存储芯片被恶意盗取,焊接到其他控制器上,依然可以读取存储芯片上的数据,在没有增加安全控制单元的情况下,目前还没有存储器能够进行自我数据保护。
[0003] 背景技术的前述论述仅意图便于理解本发明。此论述并不认可或承认提及的材料中的任一种公共常识的一部分。
[0004] 现在已经开发出了很多芯片存储系统,现有的存储控制系统有如公开号为CN112908394B所公开的系统,这些系统一般包括:计时模块,用于监测各个SRAM芯片的待机时间是否超过预定值,在超过预定值后,向安全检测模块发送待测SRAM芯片的检测信号;安全检测模块,用于根据接收到的检测信号,对待测SRAM芯片进行老化压印力度分析,将获得的老化压印力度度量结果与预设阈值进行比较,判断待测SRAM芯片安全性能是否达标,不达标时将待测SRAM芯片的数据移动至备用存储模块,并启动校准模块;校准模块,用于对待测SRAM芯片进行复位和校准;多个SRAM芯片,用于存储主机发送的地址以及相应数据,互为备用存储模块。但该系统是用于对存储在芯片中的内容防止自然变化进行的保护,但无法防止他人读取芯片的内容或更改芯片的内容。

发明内容

[0005] 本发明的目的在于,针对所存在的不足,提出了一种安全存储芯片控制系统。
[0006] 本发明采用如下技术方案:
[0007] 一种安全存储芯片控制系统,包括存储控制器、地址寄存器、命令寄存器、擦除控制器、存储单元列阵器、传输缓冲器和外部控制器;
[0008] 所述存储控制器用于对数据的存储与读写进行控制,所述地址寄存器用于存放访问内容的地址信息,所述命令寄存器用于存放控制指令,所述擦除控制器用于擦除存储内容,所述存储单元阵列器用于保存具体数据,所述传输缓冲器用于在输入输出数据时起缓冲作用,所述外部控制器用于连接安全芯片并对安全芯片中的数据进行操作;
[0009] 所述存储控制器对所述外部控制器进行身份验证,所述存储控制器提供随机数和芯片标识,所述外部控制器提供随机数和外部控制器标识,所述存储控制器和所述外部控制器分别基于两个随机数和两个标识处理得到验证数据,当两个验证数据一致时,所述存储控制器执行由外部控制器发送的数据对芯片进行控制;
[0010] 进一步的,所述存储控制器包括安全控制单元和逻辑控制电路,所述安全控制单元包括第一随机数生成器、第一数据存储器和第一计算处理器,所述第一随机数生成器用于随机生成数据,所述第一数据存储器用于保存用于安全验证的数据,所述第一计算处理器用于对所述第一数据存储器中保存的数据进行计算处理,所述逻辑控制电路用于控制安全控制单元的运行流程;
[0011] 进一步的,所述外部控制器包括第二随机数生成器、第二数据存储器和第二计算处理器,所述第二随机数生成器用于随机生成数据,所述第二数据存储器用于保存用于安全验证的数据,所述第二计算处理器用于对所述第二数据存储器中保存的数据进行计算处理;
[0012] 进一步的,所述第一计算处理器和所述第二计算处理器处理得到验证数据的过程包括如下步骤:
[0013] S41、将随机数和标志交叉处理得到两个中间数MID1和MID2;
[0014] 其中,MID1由存储控制器提供的标志ID1和外部控制器提供的随机数RND2处理得到,MID2由外部控制器提供的标志ID2和存储控制器提供的随机数RND1处理得到;
[0015] S42、将两个中间数转换为二进制数后,基于0和1的位置和数量计算得到四个权值Qw1(0)、Qw1(1)、Qw2(0)和Qw2(1);
[0016] 其中,由中间数MID1得到的两个权值分别记为Qw1(0)和Qw1(1),由中间数MID2得到的两个权值分别记为Qw2(0)和Qw2(1);
[0017] S43、将权值根据下式进行处理得到验证数据MAC:
[0018] ;
[0019] 其中,n为验证数据转换为十六进制数时的长度;
[0020] 进一步的,第一计算处理器和所述第二计算处理器计算得到中间数的公式为:
[0021] ;
[0022] 其中,MID(i)表示中间数的第i位数值,ID(j)表示标志数据的第j位数值,RND(i)表示随机数的第i位数值,m为中间数、标志数据和随机数的长度,i和j为用于表示位数的参数,中间数MID、标志数据ID和随机数RND均为十六进制数;
[0023] 权值的计算公式为:
[0024] ;
[0025] ;
[0026] 其中, 表示中间数中0的个数, 表示中间数中1的个数,P0()和P1()为判断函数。
[0027] 本发明所取得的有益效果是:
[0028] 本系统在存储芯片内部内置安全控制单元,外部对芯片进行读写操作时必须经过安全控制单元,而安全控制单元会对连接设备进行身份验证,使得芯片即使被盗窃,芯片中的内容也不会被获取,提高了芯片存储内容的安全性,本系统能够通过外部安全指令控制存储芯片的读写权限,针对不同的外部控制器赋予不同的权限,保证不同使用者能够满足不同的使用需求。
[0029] 为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。

附图说明

[0030] 图1为本发明整体结构框架示意图;
[0031] 图2为本发明存储控制器构成示意图;
[0032] 图3为本发明外部控制器构成示意图;
[0033] 图4为本发明安全验证工作流程示意图;
[0034] 图5为本发明获取验证数据流程示意图。

具体实施方式

[0035] 以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。实施例一:
[0036] 本实施例提供了一种安全存储芯片控制系统,结合图1,包括存储控制器、地址寄存器、命令寄存器、擦除控制器、存储单元列阵器、传输缓冲器和外部控制器;
[0037] 所述存储控制器用于对数据的存储与读写进行控制,所述地址寄存器用于存放访问内容的地址信息,所述命令寄存器用于存放控制指令,所述擦除控制器用于擦除存储内容,所述存储单元阵列器用于保存具体数据,所述传输缓冲器用于在输入输出数据时起缓冲作用,所述外部控制器用于连接安全芯片并对安全芯片中的数据进行操作;
[0038] 所述存储控制器对所述外部控制器进行身份验证,所述存储控制器提供随机数和芯片标识,所述外部控制器提供随机数和外部控制器标识,所述存储控制器和所述外部控制器分别基于两个随机数和两个标识处理得到验证数据,当两个验证数据一致时,所述存储控制器执行由外部控制器发送的数据对芯片进行控制;
[0039] 所述存储控制器包括安全控制单元和逻辑控制电路,所述安全控制单元包括第一随机数生成器、第一数据存储器和第一计算处理器,所述第一随机数生成器用于随机生成数据,所述第一数据存储器用于保存用于安全验证的数据,所述第一计算处理器用于对所述第一数据存储器中保存的数据进行计算处理,所述逻辑控制电路用于控制安全控制单元的运行流程;
[0040] 所述外部控制器包括第二随机数生成器、第二数据存储器和第二计算处理器,所述第二随机数生成器用于随机生成数据,所述第二数据存储器用于保存用于安全验证的数据,所述第二计算处理器用于对所述第二数据存储器中保存的数据进行计算处理;
[0041] 结合图5,所述第一计算处理器和所述第二计算处理器处理得到验证数据的过程包括如下步骤:
[0042] S41、将随机数和标志交叉处理得到两个中间数MID1和MID2;
[0043] 其中,MID1由存储控制器提供的标志ID1和外部控制器提供的随机数RND2处理得到,MID2由外部控制器提供的标志ID2和存储控制器提供的随机数RND1处理得到;
[0044] S42、将两个中间数转换为二进制数后,基于0和1的位置和数量计算得到四个权值Qw1(0)、Qw1(1)、Qw2(0)和Qw2(1);
[0045] 其中,由中间数MID1得到的两个权值分别记为Qw1(0)和Qw1(1),由中间数MID2得到的两个权值分别记为Qw2(0)和Qw2(1);
[0046] S43、将权值根据下式进行处理得到验证数据MAC:
[0047] ;
[0048] 其中,n为验证数据转换为十六进制数时的长度;
[0049] 第一计算处理器和所述第二计算处理器计算得到中间数的公式为:
[0050] ;
[0051] 其中,MID(i)表示中间数的第i位数值,ID(j)表示标志数据的第j位数值,RND(i)表示随机数的第i位数值,m为中间数、标志数据和随机数的长度,i和j为用于表示位数的参数,中间数MID、标志数据ID和随机数RND均为十六进制数;
[0052] 权值的计算公式为:
[0053] ;
[0054] ;
[0055] 其中, 表示中间数中0的个数, 表示中间数中1的个数,P0()和P1()为判断函数。实施例二:
[0056] 本实施例包含了实施例一中的全部内容,提供了一种安全存储芯片控制系统,包括存储控制器、地址寄存器、命令寄存器、擦除控制器、存储单元列阵器、传输缓冲器和外部控制器;
[0057] 所述存储控制器用于对数据的存储与读写进行控制,所述地址寄存器用于存放访问内容的地址信息,所述命令寄存器用于存放控制指令,所述擦除控制器用于擦除存储内容,所述存储单元阵列器用于保存具体数据,所述传输缓冲器用于在输入输出数据时起缓冲作用;
[0058] 所述存储控制器、地址寄存器、命令寄存器、擦除控制器、存储单元列阵器和传输缓冲器集成于安全芯片中;
[0059] 所述外部控制器用于连接安全芯片并对安全芯片中的数据进行操作,所述外部控制器与安全芯片连接时与所述存储控制器完成对接;
[0060] 结合图2,所述存储控制器包括安全控制单元和逻辑控制电路,所述安全控制单元包括第一随机数生成器、第一数据存储器和第一计算处理器,所述第一随机数生成器用于随机生成数据,所述第一数据存储器用于保存用于安全验证的数据,所述第一计算处理器用于对所述第一数据存储器中保存的数据进行计算处理,所述逻辑控制电路用于控制安全控制单元的运行流程;
[0061] 结合图3,所述外部控制器包括第二随机数生成器、第二数据存储器和第二计算处理器,所述第二随机数生成器用于随机生成数据,所述第二数据存储器用于保存用于安全验证的数据,所述第二计算处理器用于对所述第二数据存储器中保存的数据进行计算处理;
[0062] 结合图4,所述存储控制器和外部控制器的安全验证工作流程包括如下步骤:
[0063] S1、所述存储控制器接收到外部控制器的访问申请;
[0064] S2、所述存储控制器发送读取芯片ID指令,将获取的芯片标识数据记为ID1并保存至第一数据存储器;
[0065] S3、唤醒所述第一随机数生成器,将生成的随机数数据记为RND1并保存至所述第一数据存储器;
[0066] S4、所述存储控制器将ID1和RND1发送给所述外部控制器;
[0067] S5、所述外部控制器将ID1和RND1保存至所述第二数据存储器;
[0068] S6、唤醒所述第二随机数生成器,将生成的随机数数据记为RND2并保存至所述第二数据存储器;
[0069] S7、所述第二计算处理器根据ID1、RND1、IRD2和外部控制器的标识数据ID2计算得到验证数据MAC1;
[0070] S8、所述外部控制器将ID2、RND2和MAC1发送给所述存储控制器;
[0071] S9、所述存储控制器将ID2、RND2和MAC1保存至所述第一数据存储器;
[0072] S10、所述第一计算处理根据ID1、ID2、RND1和RND2计算出验证数据MAC2;
[0073] S11、所述存储控制器将MAC1和MAC2进行对比,对比一致则根据ID2启用对应的权限功能;
[0074] 结合图2,所述存储控制器还包括权限存储器,所述权限存储器中记录了每个ID2对应的权限等级,所述权限等级从低到高分别为一级权限、二级权限、三级权限和四级权限,高等级的权限功能包括了低等级的权限功能;
[0075] 一级权限的功能为读取芯片中的数据内容;
[0076] 二级权限的功能为添加数据内容至芯片中;
[0077] 三级权限的功能为删改芯片中的数据内容;
[0078] 四级权限的功能为修改权限存储器中的内容;
[0079] 所述存储控制器启用权限功能后,对芯片中存储内容进行处理的流程包括如下步骤:
[0080] S21、所述存储控制器接收外部控制器发送的操作数据包,并识别操作类型,若操作类型属于对应的权限功能,则进入步骤S22,否则返回告警信息;
[0081] S22、所述存储控制器根据操作对象发送给所述地址寄存器,所述地址寄存器中将对应的存储地址发送给所述存储单元列阵器,所述存储单元阵列器解锁对应区域;
[0082] S23、所述存储控制器根据操作类型发送给所述命令寄存器,所述命令寄存器中将对应的控制指令发送给所述存储单元阵列器,所述存储单元阵列器对解锁的区域根据控制指令进行标记;
[0083] S24、所述存储控制器根与存储单元列阵器进行通讯,所述存储单元列阵器将标记的存储空间进行对应的操作,若操作类型是修改权限,则通过控制指令对权限存储器中的内容进行操作;
[0084] S25、完成操作后所述存储控制器向所述外部控制器返回成功信息;
[0085] 所述第一计算处理器和所述第二计算处理器获取验证数据的处理过程包括如下步骤:
[0086] S31、将随机数与标志数据交叉处理,得到两个中间数,交叉处理的公式为:
[0087] ;
[0088] 其中,MID(i)表示中间数的第i位数值,ID(j)表示标志数据的第j位数值,RND(i)表示随机数的第i位数值,m为中间数、标志数据和随机数的长度,i和j为用于表示位数的参数,中间数MID、标志数据ID和随机数RND均为十六进制数;
[0089] 由ID1和RND2处理得到的中间数记为MID1,由ID2和RND1处理得到的中间数记为MID2;
[0090] S32、将中间数转换为二进制数,并根据下式计算出0的权值Qw(0)和1的权值Qw(1):
[0091] ;
[0092] ;
[0093] 其中, 表示中间数中0的个数, 表示中间数中1的个数,P0()和P1()为判断函数;
[0094] 函数 表示对MID的第i位进行判断,当值为0时,返回i,当值为1时,返回0;
[0095] 函数 表示对MID的第i位进行判断,当值为1时,返回i,当值为0时,返回0;
[0096] 由中间数MID1得到的两个权值分别记为Qw1(0)和Qw1(1),由中间数MID2得到的两个权值分别记为Qw2(0)和Qw2(1);具体
[0097] S33、将4个权值根据下式进行处理得到验证数据MAC:
[0098] ;
[0099] 其中,n为验证数据转换为十六进制数时的长度。实施例三:
[0100] 本实施例包含了上述实施例中的全部内容,并添加了更新密钥预置方式,所述存储控制器还包括厂商密钥单元,所述厂商密钥单元为NADA保留区,所述厂商密钥单元用于在芯片出厂时设置厂商编号和厂商密钥,所述厂商编号和厂商密钥会在发行系统中保留记录,发行系统在发行时保障每个厂商对应的厂商编号及厂商密钥都是不同的;
[0101] 当特定厂商应用安全存储芯片时,为其提供的安全认证程序会读取所述厂商密钥单元中的厂商编号和厂商密钥,所述安全认证程序使用商场编号和厂商密钥作为参数进行运算,当运算结果与所述安全认证程序中预置的对照值一致时,能正常认证和访问安全存储芯片。
[0102] 以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的保护范围,所以凡是运用本发明说明书及附图内容所做的等效技术变化,均包含于本发明的保护范围内,此外,随着技术发展其中的元素可以更新的。