一种加密移动SSD的量产方法与流程

文档序号:30525998发布日期:2022-06-25 06:58阅读:329来源:国知局
一种加密移动SSD的量产方法与流程
一种加密移动ssd的量产方法
技术领域
1.本发明涉及国密移动ssd的量产技术领域,具体为一种加密移动ssd的量产方法。


背景技术:

2.现有加密移动ssd的量产流程需要通过主机端软件的认证和配合,生产流程的保密性欠缺且效率较低,急需设计一种加密移动ssd的量产方法。


技术实现要素:

3.本发明提供一种效率较高的加密移动ssd的量产方法。
4.根据本发明的一个方面,提供了一种加密移动ssd的量产方法,包括:
5.步骤一,预备芯片内部存储空间:预备芯片内部efuse的一些存储空间;
6.步骤二,下载两级固件:加密移动ssd的固件量产过程采取两级固件:boot loader和产品固件,下载boot loader和产品固件;
7.步骤三,绑定u盾:采用同一批次使用相同的keya和zonekey,设置keya,批量号可以根据需要进行设置,设置zonekey,zone的编号根据需要配置,对应保存primary_key密文的空间,保存c_primary_key,由于keya和zonekey是单独烧录的,在进行u盾绑定时已经烧录过,所以保存c_primary_key时需要进行keya和zonekey的验证,检验通过后,保存c_primary_key和compare_data;
8.步骤四,启动固件:盘片上电后,进行固件的加载,首先检查bootloader的合法性,然后检查产品固件的合法性;
9.步骤五,检查u盾:上电后需要首先验证keya的正确性,通过后才能进行其他操作,对zone的访问需要首先验证zonekey的正确性,加密移动ssd上电后首先检查efuse中的标志位,如果标志位已锁定,则读取eeprom,获取初级密钥密文c_primary_key;
10.步骤六,初始化数据秘钥:u盾合法性检查通过后,获取到u盾中保存的初级密钥密文c_primary_key。
11.在一些实施方式中,所述预备芯片内部存储空间所用到ssd盘内部efuse的存储空间:所述下载两级固件包括boot loader下载与产品固件下载。
12.在一些实施方式中,所述绑定u盾包括设置keya、设置zonekey、保存c_primary_key;
13.所述预备芯片内部存储空间为预备芯片内部efuse的一些存储空间。
14.在一些实施方式中,所述下载两级固件为加密移动ssd的固件量产过程采取两级固件,包括boot loader和产品固件,下载boot loader和产品固件。
15.在一些实施方式中,所述绑定u盾为采用同一批次使用相同的keya和zonekey,设置keya,批量号可以根据需要进行设置,设置zonekey,zone的编号根据需要配置,对应保存primary_key密文的空间,保存c_primary_key,由于keya和zonekey是单独烧录的,在进行u盾绑定时已经烧录过,所以保存c_primary_key时需要进行keya和zonekey的验证,检验通
过后,保存c_primary_key和compare_data。
16.其有益效果是:本发明通过复用当前ssd的量产工具,完成ssd内部加密boot loader和固件的更新,定义u盾绑定算法流程,通过离线方式在生产端绑定ssd和u盾,定义u盾验证算法,结合u盾绑定密钥,完成加密ssd认证功能,通过离线加密的方式绑定u盾进行生产,大大提高了生产流程的保密性和效率。
附图说明
17.图1为本发明一种加密移动ssd的量产方法的流程图;
18.图2为本发明一种加密移动ssd的量产方法中bootloader下载流程图;
19.图3为本发明一种加密移动ssd的量产方法中产品固件的下载流程图;
20.图4为本发明一种加密移动ssd的量产方法中keya的产生方式示意图;
21.图5为本发明一种加密移动ssd的量产方法中zonekey的产生方式示意图;
22.图6为本发明一种加密移动ssd的量产方法中keya的验证流程图;
23.图7为本发明一种加密移动ssd的量产方法中zonekey的验证流程图;
24.图8为本发明一种加密移动ssd的量产方法中加密移动固态硬盘u盾绑定方案流程图;
25.图9为本发明一种加密移动ssd的量产方法中固件的启动流程图;
26.图10为本发明一种加密移动ssd的量产方法中keya的验证流程图;
27.图11为本发明一种加密移动ssd的量产方法中zonekey的验证流程图;
28.图12为本发明一种加密移动ssd的量产方法中判定u盾的合法性并获取初级密钥密文的流程图;
29.图13为本发明一种加密移动ssd的量产方法中产生用户数据密钥流程图。
具体实施方式
30.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
31.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.实施例1
33.如图1所示,一种加密移动ssd的量产方法,包括预备芯片内部存储空间、下载两级固件、绑定u盾、启动固件、检查u盾、初始化数据秘钥,预备芯片内部存储空间所用到ssd盘内部efuse的存储空间,下载两级固件包括boot loader下载与产品固件下载,绑定u盾包括设置keya、设置zonekey、保存c_primary_key;
34.国密移动ssd的量产方法包括以下步骤:
35.步骤一,预备芯片内部存储空间:预备芯片内部efuse的一些存储空间;
36.步骤二,下载两级固件:加密移动ssd的固件量产过程采取两级固件:boot loader和产品固件,下载boot loader和产品固件,boot loader的下载流程如附图2所示,包括使
用授权的工具对bootloader进行sm2签名,通过量产工具下载bootloader数据包,数据包包括bootloader签名、sm2公钥,调用sm3程序金酸公钥的摘要,sm3设定为公钥的摘要,将摘要写入芯片内部的一次性可编程器件中,即efuse,调用固件加密程序,sm4进行加密,通过芯片id以及efuse将密文固件存储在nand flash中,产品固件的下载流程如附图3所示,包括量产加载bootloader,使用授权的工具对固件进行sm2签名,通过量产工具下载明文固件+签名值,即签名以及明文固件,调用固件加密程序,通过efuse、芯片id+loc_trng1,进行sm4加密,将密文固件存储在nor flash中,密文为固件+签名;
37.步骤三,绑定u盾:采用同一批次使用相同的keya和zonekey,设置keya,keya的计算流程如附图4所示,通过公钥+批量号计算sm3摘要,得keya,批量号可以根据需要进行设置,设置zonekey,zonekey的计算流程如附图5所示,通过公钥+zone编号计算sm3摘要,得zonekey,zone的编号根据需要配置,对应保存primary_key密文的空间,保存c_primary_key,由于keya和zonekey是单独烧录的,在进行u盾绑定时已经烧录过,所以保存c_primary_key时需要进行keya和zonekey的验证,keya的验证流程如附图6所示:调用trng模块产生randoma,调用dx8_hostauth发送randbma至eeprom,读取:公钥+批量号,计算其sm3摘要,调用lib_hastauth根据randoma和keya计算response,验证通过则可以进行后续操作,未通过禁止后续操作,zonekey的验证流程如附图7所示:调用trng模块产生random b,读取:公钥+批量号one编号,计算其sm3摘要,调用dx8_verifyzone根据randomb和zone key计算res,验证通过则可以进行后续操作,未通过禁止后续操作,检验通过后,按照附图8所示的流程保存c_primary_key和compare_data,首先产生primary_key:调用trng模块产生随机数据random c,计算sm3摘要,prim ary_key[127:0],sm4-ecb加密,计算mid_hash:读取ssd芯片id,计算sm3摘要mid_hash[127:0];保存compare data:读取efuse中的loc_trng_2,计算sm3摘要ltrng_hash_2[127:0],最后保存c_primary_key:c_primary_key

sm4-ecb加密

com pare data;c_primary_key

eeprom;sm4-ecb加密

efuse;
[0038]
步骤四,启动固件:盘片上电后,固件的加载流程如附图9所示,首先检查bootloader的合法性,然后检查产品固件的合法性,加载bootloader:stare

运行bootrom

加载密文bootloadar

sm4解密

sm2公钥+boo tloader

sm3

摘要;efuse

芯片id

sm4解密;efuse

公钥摘要;对比公钥摘要与摘要是否相同,对比失败,中断加载,对比成功则sm2验签,验证通过运行bootloader,验证失败,中断加载,运行bootloader

导入密文固件

密文(固件+签名)

解密固件

验证固件的合法性

sm2验签;efuse

芯片id+log_trng1

sm4解密

固件+签名

sm2验签,进行sm2验签通过则验证成功运行产品固件,验证失败则终端加载。
[0039]
步骤五,检查u盾:上电后需要首先验证keya的正确性,通过后才能进行其他操作,keya的验证流程如附图10所示,对zone的访问需要首先验证zonekey的正确性,调用dx8_hostauth发送ran doma至eeprom

eeprom;调用trng模块产生random a

读取:公钥+批量号,计算其sm3摘要

调用lib_hostauth根据ran doma和keya计算resp onse,验证通过则进行后续操作,验证不通过,禁止后续操作,zonekey的验证流程如附图11所示,调用trng模块产生random b

调用dx8_verifyzone根据ran domb和zonekey计算res;读取:公钥+批量号+zone编号,计算其sm3摘要

调用dx8_verifyzone根据ran domb和zonekey计算res,验证通过则可以进行后续操作,未通过则禁止后续操作,加密移动ssd上电后首先检查efuse
中的标志位,如果标志位已锁定,则按照附图12所示的流程读取eeprom,读取片内保存的loc_trng_2

sn

计算sm3摘要

ltmg_hash_2[127:0]

sm4-ecb加密;读取eep rom的sn读取c_prim ary_key

eeprom

c_primary key

sm4-ecb加密

compare data

ssd中compare data n任意一个相等,对比正确可以继续操作,对比错误禁止后续操作,获取初级密钥密文c_primary_key;
[0040]
步骤六,初始化数据秘钥:u盾合法性检查通过后,获取到u盾中保存的初级密钥密文c_primary_key,然后按照附图13所示的流程产生用户数据密钥:解密初级密钥,读取ssd芯片id,读取eeprom芯片的sn,计算sm3摘要,mid_hash[127:o],c_primary key,调用sm4解密算法,得primary_key;生成media_key,通过loc_trng_3,计算sm3摘要,得loc_thash_3[255.0],将primary_key与sm4-ecb混合计算得sm4-xts,得明文user daa与密文user_data。
[0041]
尽管结合优选实施方案具体展示和介绍了本发明,但对于所属领域的技术人员而言,在不脱离所附权利要求书所限定的本发明的精神和范围内,在具体实施方式以及应用范围上均会有改变之处,均为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1