本平台为商业科创服务平台 非政府政务服务网站

一种设置、清除及打开固态硬盘密码的方法发明专利

更新时间:2026-11-01
一种设置、清除及打开固态硬盘密码的方法发明专利 专利申请类型:发明专利;
地区:四川-内江;
源自:内江高价值专利检索信息库;

专利名称:一种设置、清除及打开固态硬盘密码的方法

专利类型:发明专利

专利申请(专利权)人:四川效率源信息安全技术股份有限公司
权利人地址:四川省内江市市中区汉渝大道1号

专利发明(设计)人:董超,梁效宁,张佳强,彭炼

专利摘要:本发明公开了一种设置、清除及打开固态硬盘密码的方法,通过解析主控为SM系列的固态硬盘SSD的各个字段的格式及功能,针对固态硬盘SSD密码的设置、清除及打开,分别向固态硬盘SSD发送设置、清除及打开密码的底层指令,实现对主控为SM系列的固态硬盘SSD密码的设置、清除及打开。本方法包括以下步骤:S100:校验所述固态硬盘的主控芯片是否为SM系列;S200:判断是否需要设置所述固态硬盘的密码,如果是,执行步骤S300,否则,执行步骤S400;S300:设置所述固态硬盘的密码并结束流程;S400:判断是否需要清除所述固态硬盘的密码,如果是,执行步骤S500,否则,执行步骤S600;S500:清除所述固态硬盘的密码并结束流程;S600:打开所述固态硬盘的密码并结束流程。

主权利要求:一种设置、清除及打开固态硬盘密码的方法
技术领域
[0001] 本发明属于信息安全技术领域,涉及一种设置、清除及打开固态硬盘密码的方法,尤其涉及一种设置、清除及打开主控为SM系列的固态硬盘密码的方法。
背景技术
[0002] 在信息安全技术及数据恢复领域,硬盘容量的不断增加以及硬盘使用量不断扩大,同时,硬盘驱动器HDD类型的硬盘出货量在不断的下降,固态硬盘SSD的出货量在不断的提升。自2010年开始,固态硬盘SSD出货量开始快速增长,且连续九年保持10%以上的增长率:2015年的增长率为30.4%,2018年固态硬盘SSD出货量增长率为37.2%;2020年,固态硬盘SSD出货量将增至3.33亿片以上,而传统的机械硬盘出货量仅为2.6亿块。
[0003] 固态硬盘SSD因读写速度快而得到了广泛的运用。随着固态硬盘SSD出货量不断提升,出现的问题也越来越多。例如,例如,在忘记硬盘密码的情况下,从硬盘底层获取密码并清除硬盘密码;对固态硬盘中机密数据进行数据保护,同样需要对硬盘进行密码设置,但目前没有常规方法对固态硬盘SSD进行密码设置、密码清除及密码打开,需要通过非常规的底层操作,才能对固态硬盘SSD设置、清除及打开固态硬盘密码。
[0004] 固态硬盘SSD中,主控为SM系列的固态硬盘SSD的使用范围也非常广泛。但现有技术中,在固态硬盘SSD出现接口、固件等故障的情况下,尚无一种设置、清除及打开固态硬盘密码的方法。
发明内容
[0005] 针对现有技术的技术问题,本发明提供了一种设置、清除及打开固态硬盘密码的方法:解析主控为SM系列的固态硬盘SSD的各个字段的格式及功能,针对固态硬盘SSD密码的设置、清除及打开,分别向固态硬盘SSD发送设置、清除及打开密码的底层指令,实现对主控为SM系列的固态硬盘SSD密码的设置、清除及打开,本发明所提供的方法包括以下步骤:
[0006] S100:校验所述固态硬盘的主控芯片是否为SM系列,包括以下步骤:
[0007] S101:设置第一、第二及第三数据的字节长度:设置第一数据的字节长度为0x02字节,设置第二数据的字节长度为0x04字节,设置第三数据的字节长度为0x200字节;
[0008] S102:第一次赋值:赋第一数据的值为0x00,赋第二数据的值为0x400,赋值次数N的初值为1;
[0009] S103:设置并发送读取指令:设置读取指令为0x00X1X2X30x000xE00xC80x000x000x000x000x00,其中,X1的值等于当前第二数据的值除以0x200取整,X2的值为当前第一数据的值的低八位的值,X3的值为当前第一数据的值的高八位的值,所读取数据区的字节长度为当前第二数据的值;

[0010] S104:判断当前读取指令是否发送成功,如果是,执行步骤S105,否则结束流程;
[0011] S105:判断当前的赋值次数N是否小于6,如果是,执行步骤S106,否则执行步骤S108;
[0012] S106:当前的赋值次数N=N+1;
[0013] S107:执行第N次赋值,执行步骤S103;
[0014] S108:读取数据区的前0x200字节的内容作为第三数据;
[0015] S109:校验第三数据并根据校验结果判断所述固态硬盘的主控芯片是否为SM系列;
[0016] S200:判断是否需要设置所述固态硬盘的密码,如果是,执行步骤S300,否则,执行步骤S400;
[0017] S300:设置所述固态硬盘的密码并结束流程;
[0018] S400:判断是否需要清除所述固态硬盘的密码,如果是,执行步骤S500,否则,执行步骤S600;
[0019] S500:清除所述固态硬盘的密码并结束流程;
[0020] S600:打开所述固态硬盘的密码并结束流程。
[0021] 优选地,所述步骤S107中,对于第二次赋值至第六次赋值的具体步骤为:
[0022] 第二次赋值:赋第一数据的值为0xAA,赋第二数据的值为0x200;
[0023] 第三次赋值:赋第一数据的值为0xAA00,赋第二数据的值为0x200;
[0024] 第四次赋值:赋第一数据的值为0x55,赋第二数据的值为0x200;
[0025] 第五次赋值:赋第一数据的值为0x5500,赋第二数据的值为0x200;
[0026] 第六次赋值:赋第一数据的值为0x55AA,赋第二数据的值为0x200。
[0027] 优选地,所述步骤S109包括以下步骤:
[0028] S1091:执行第一校验:读取第三数据的第0x2F字节的内容并判断是否等于0x53,如果是,执行步骤S1092,否则,结束流程;
[0029] S1092:执行第二校验:读取第三数据的第0x30字节的内容并判断是否等于0x4D,如果是,执行步骤S1093,否则,结束流程;
[0030] S1093:执行第三校验:读取第三数据的第0x31字节至0x34字节的内容并判断是否各个字节的内容是否均大于0x30且小于0x39,如果是,则表示所述固态硬盘的主控芯片为SM系列,执行步骤S200,否则,结束流程。
[0031] 优选地,步骤S300包括以下步骤:
[0032] S301:是否设置用户密码,如果是,执行步骤S302,否则,执行步骤S304,设置主密码;
[0033] S302:设置第一数据区字节长度为0x200字节,设置第一字节内容为0x00,表示设置用户密码,第二字节内容为0x00或0x01;
[0034] S303:自定义用户密码并写入第一数据区第0x02字节至第0x21字节的连续0x20字节中,执行步骤S307;
[0035] S304:设置第二数据区字节长度为0x200字节,设置第一字节内容为0x01,表示设置主密码,第二字节内容为0x00;
[0036] S305:自定义主密码并写入第二数据区第0x02字节至第0x21字节的连续0x20字节中;
[0037] S306:自定义主密码的主码MasterCode并写入第二数据区第0x22字节至第0x23字节的连续2字节中;
[0038] S307:发送写入指令,将所设置包含密码的第一数据区/第二数据区写入固态硬盘;
[0039] S308:判断写入指令是否发送成功,如果是,结束设置所述固态硬盘的密码的流程,否则,执行步骤S309;
[0040] S309:是否需要再次设置所述固态硬盘的密码,如果是,执行步骤S301,否则,结束设置所述固态硬盘的密码的流程。
[0041] 优选地,所述写入指令为0x000x010x000x000x000xE00xF60x000x000x000x000x00。

[0042] 优选地,步骤S500包括以下步骤:
[0043] S501:是否已经获取所述固态硬盘的密码,如果是,执行步骤S503,否则,执行步骤S502;
[0044] S502:根据主控为SM2246EN的固态硬盘的密码提取方法,获取所述固态硬盘的密码;
[0045] S503:是否清除用户密码,如果是,执行步骤S504,否则,执行步骤S505,清除主密码;
[0046] S504:设置第三数据区字节长度为0x200字节,设置第一字节内容为0x00,表示清除用户密码,第二字节内容为0x00,执行步骤S506;
[0047] S505:设置第四数据区字节长度为0x200字节,设置第一字节内容为0x01,表示清除主密码,第二字节内容为0x00;
[0048] S506:发送清除指令,将所设置的第三数据区/第四数据区写入固态硬盘;
[0049] S507:判断清除指令是否发送成功,如果是,结束清除所述固态硬盘的密码的流程,否则,执行步骤S508;
[0050] S508:是否需要再次清除所述固态硬盘的密码,如果是,执行步骤S501,否则,结束清除所述固态硬盘的密码的流程。
[0051] 优选地,所述清除指令为0x000x010x000x000x000xE00xF60x000x000x000x000x00。

[0052] 优选地,步骤S600包括以下步骤:
[0053] S601:是否已经获取所述固态硬盘的用户密码,如果是,执行步骤S603,否则,执行步骤S602;
[0054] S602:根据主控为SM2246EN的固态硬盘的密码提取方法,获取所述固态硬盘的用户密码;
[0055] S603:设置第五数据区字节长度为0x200字节,设置第一字节内容为0x00,表示打开用户密码,第二字节内容为0x00;
[0056] S604:发送打开指令,将所设置的第五数据区写入固态硬盘;
[0057] S605:判断打开指令是否发送成功,如果是,结束打开所述固态硬盘的用户密码的流程,否则,执行步骤S606;
[0058] S606:是否需要再次打开所述固态硬盘的用户密码,如果是,执行步骤S601,否则,结束打开所述固态硬盘的用户密码的流程。
[0059] 优选地,所述打开指令为0x000x010x000x000x000xE00xF20x000x000x000x000x00。

[0060] 本发明具有以下有益效果:解决了现有技术中尚无一种设置、清除及打开固态硬盘密码的方法的技术问题。
附图说明
[0061] 图1为本发明所提供的方法的总流程图;
[0062] 图2为本发明所提供的方法中校验固态硬盘的主控芯片是否为SM系列的具体流程图;
[0063] 图3为本发明所提供的方法中设置固态硬盘的密码的具体流程图;
[0064] 图4为本发明所提供实施例中固态硬盘第二数据区的数据结构图;
[0065] 图5为本发明所提供的方法中清除固态硬盘的密码的具体流程图;
[0066] 图6为本发明所提供的方法中打开固态硬盘的密码的具体流程图。
具体实施方式
[0067] 本发明将申请号为202110731408.6、申请日为2021年6月30日、题为《一种主控为SM2246EN的固态硬盘的密码提取方法》的发明申请全部内容通过引用纳入本发明中。
[0068] 图1示出了本发明所提供的方法的总流程图。如图1所示,本发明的方法包括以下步骤:
[0069] S100:校验固态硬盘的主控芯片是否为SM系列。
[0070] 图2示出了本发明所提供的方法中校验固态硬盘的主控芯片是否为SM系列的具体流程图。如图2所示,步骤S100包括以下步骤:
[0071] S101:设置第一、第二及第三数据的字节长度:设置第一数据的字节长度为0x02字节,设置第二数据的字节长度为0x04字节,设置第三数据的字节长度为0x200字节;
[0072] S102:第一次赋值:赋第一数据的值为0x00,赋第二数据的值为0x400,赋值次数N的初值为1;
[0073] S103:设置并发送读取指令:设置读取指令为0x00X1X2X30x000xE00xC80x000x000x000x000x00,其中,X1的值等于当前第二数据的值除以0x200取整,X2的值为当前第一数据的值的低八位的值,X3的值为当前第一数据的值的高八位的值,所读取数据区的字节长度为当前第二数据的值;

[0074] S104:判断当前读取指令是否发送成功,如果是,执行步骤S105,否则结束流程;
[0075] S105:判断当前的赋值次数N是否小于6,如果是,执行步骤S106,否则执行步骤S108;
[0076] S106:当前的赋值次数N=N+1;
[0077] S107:执行第N次赋值,执行步骤S103;
[0078] 对于第二次赋值至第六次赋值的具体步骤为:
[0079] 第二次赋值:赋第一数据的值为0xAA,赋第二数据的值为0x200;
[0080] 第三次赋值:赋第一数据的值为0xAA00,赋第二数据的值为0x200;
[0081] 第四次赋值:赋第一数据的值为0x55,赋第二数据的值为0x200;
[0082] 第五次赋值:赋第一数据的值为0x5500,赋第二数据的值为0x200;
[0083] 第六次赋值:赋第一数据的值为0x55AA,赋第二数据的值为0x200。
[0084] S108:读取数据区的前0x200字节的内容作为第三数据;
[0085] S109:校验第三数据并根据校验结果判断固态硬盘的主控芯片是否为SM系列。
[0086] 步骤S109包括以下步骤:
[0087] S1091:执行第一校验:读取第三数据的第0x2F字节的内容并判断是否等于0x53,如果是,执行步骤S1092,否则,结束流程;
[0088] S1092:执行第二校验:读取第三数据的第0x30字节的内容并判断是否等于0x4D,如果是,执行步骤S1093,否则,结束流程;
[0089] S1093:执行第三校验:读取第三数据的第0x31字节至0x34字节的内容并判断是否各个字节的内容是否均大于0x30且小于0x39,如果是,则表示固态硬盘的主控芯片为SM系列,执行步骤S200,否则,结束流程。
[0090] S200:判断是否需要设置固态硬盘的密码,如果是,执行步骤S300,否则,执行步骤S400;
[0091] S300:设置固态硬盘的密码并结束流程。
[0092] 图3示出了本发明所提供的方法中设置固态硬盘的密码的具体流程图。如图3所示,步骤S300包括以下步骤:
[0093] S301:是否设置用户密码,如果是,执行步骤S302,否则,执行步骤S304,设置主密码;
[0094] S302:设置第一数据区字节长度为0x200字节,设置第一字节内容为0x00,表示设置用户密码,第二字节内容为0x00或0x01;
[0095] S303:自定义用户密码并写入第一数据区第0x02字节至第0x21字节的连续0x20字节中,执行步骤S307;
[0096] 图4示出了本发明所提供一个实施例中固态硬盘第二数据区的数据结构图。如图4所示,
[0097] S304:设置第二数据区字节长度为0x200字节,即,图4中的偏移地址从0x00000000至0x000001FFF;
[0098] 设置第一字节内容为0x01,表示设置主密码,第二字节内容为0x00;
[0099] S305:自定义主密码并写入第二数据区第0x02字节至第0x21字节的连续0x20字节中;本实施例中,设置的密码是0x3031323334353637383900000000000000000000000000000000000000000000,即0123456789;

[0100] S306:自定义主密码的主码MasterCode并写入第二数据区第0x22字节至第0x23字节的连续2字节中;本实施例中,设置的主码是0x3636,即66;
[0101] S307:发送写入指令0x000x010x000x000x000xE00xF60x000x000x000x000x00,将所设置包含密码的第一数据区/第二数据区写入固态硬盘;
[0102] S308:判断当前写入指令是否发送成功,如果是,结束设置固态硬盘的密码的流程,否则,执行步骤S309;
[0103] S309:是否需要再次设置固态硬盘的密码,如果是,执行步骤S301,否则,结束设置固态硬盘的密码的流程。
[0104] 应理解,第一数据区的数据结构与实施例中的第二数据区的数据结构相同,不再赘述。
[0105] S400:判断是否需要清除固态硬盘的密码,如果是,执行步骤S500,否则,执行步骤S600;
[0106] S500:清除固态硬盘的密码并结束流程。
[0107] 图5示出了本发明所提供的方法中清除固态硬盘的密码的具体流程图。图5所示,步骤S500包括以下步骤:
[0108] S501:是否已经获取固态硬盘的密码,如果是,执行步骤S503,否则,执行步骤S502;
[0109] S502:根据主控为SM2246EN的固态硬盘的密码提取方法,获取固态硬盘的密码;
[0110] 本发明将申请号为202110731408.6、申请日为2021年6月30日、题为《一种主控为SM2246EN的固态硬盘的密码提取方法》的发明申请全部内容通过引用纳入本发明中。其中,获取固态硬盘的密码请参考《一种主控为SM2246EN的固态硬盘的密码提取方法》,本发明不再赘述。
[0111] S503:是否清除用户密码,如果是,执行步骤S504,否则,执行步骤S505,清除主密码;
[0112] S504:设置第三数据区字节长度为0x200字节,设置第一字节内容为0x00,表示清除用户密码,第二字节内容为0x00,执行步骤S506;
[0113] S505:设置第四数据区字节长度为0x200字节,设置第一字节内容为0x01,表示清除主密码,第二字节内容为0x00;
[0114] S506:发送清除指令0x000x010x000x000x000xE00xF60x000x000x000x000x00,将所设置的第三数据区/第四数据区写入固态硬盘;
[0115] 应理解,第三数据区/第四数据区的数据结构与实施例中的第二数据区的数据结构类似,不再赘述。
[0116] S507:判断清除指令是否发送成功,如果是,结束清除固态硬盘的密码的流程,否则,执行步骤S508;
[0117] S508:是否需要再次清除固态硬盘的密码,如果是,执行步骤S501,否则,结束清除固态硬盘的密码的流程。
[0118] S600:打开固态硬盘的密码并结束流程。
[0119] 图6示出了本发明所提供的方法中打开固态硬盘的密码的具体流程图。如图6所示,步骤S600包括以下步骤:
[0120] S601:是否已经获取固态硬盘的用户密码,如果是,执行步骤S603,否则,执行步骤S602;
[0121] S602:根据主控为SM2246EN的固态硬盘的密码提取方法,获取固态硬盘的用户密码;
[0122] 本发明将申请号为202110731408.6、申请日为2021年6月30日、题为《一种主控为SM2246EN的固态硬盘的密码提取方法》的发明申请全部内容通过引用纳入本发明中。其中,获取固态硬盘的密码请参考《一种主控为SM2246EN的固态硬盘的密码提取方法》,本发明不再赘述。
[0123] S603:设置第五数据区字节长度为0x200字节,设置第一字节内容为0x00,表示打开用户密码,第二字节内容为0x00;
[0124] S604:发送打开指令0x000x010x000x000x000xE00xF20x000x000x000x000x00,将所设置的第五数据区写入固态硬盘;
[0125] 应理解,第五数据区的数据结构与实施例中的第二数据区的数据结构类似,不再赘述。
[0126] S605:判断打开指令是否发送成功,如果是,结束打开固态硬盘的用户密码的流程,否则,执行步骤S606;
[0127] S606:是否需要再次打开固态硬盘的用户密码,如果是,执行步骤S601,否则,结束打开固态硬盘的用户密码的流程。
[0128] 通过本发明所提供的上述方法,解决了现有技术中尚无一种设置、清除及打开固态硬盘密码的方法的技术问题。
[0129] 应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

专利地区:四川

专利申请日期:2021-11-30

专利公开日期:2023-08-01

专利公告号:CN114139181B


以上信息来自国家知识产权局,如信息有误请联系我方更正!
该专利所有权非本平台所有,我方无法提供专利权所有者联系方式,请勿联系我方。
电话咨询
到底部
搜本页
回顶部
搜索
搜本页
欢迎咨询

扫码可加微信,手机访问拨打咨询

欢迎咨询

欢迎咨询
数据加载中...