CN110427764B - 一种针对主控芯片的数据解密方法 - Google Patents
一种针对主控芯片的数据解密方法 Download PDFInfo
- Publication number
- CN110427764B CN110427764B CN201910699656.XA CN201910699656A CN110427764B CN 110427764 B CN110427764 B CN 110427764B CN 201910699656 A CN201910699656 A CN 201910699656A CN 110427764 B CN110427764 B CN 110427764B
- Authority
- CN
- China
- Prior art keywords
- block
- data
- block number
- key
- control chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种针对主控芯片的数据解密方法,其特征在于包括以下步骤:S100:获取主控芯片的数据表,读取所述数据表中的布局;S200:读取当前块中填用户数据的底层数据并查找所述初始字节;S300:判断所述初始字节后是否具有连续N字节内容为0xFF,如果是,执行步骤S200,否则执行步骤S400;S400:将当前块作为基本密钥块;S500:生成第一块号;S600:判断所述第三块号中以两字节为一组的块号是否为递增/递减,如果是,执行步骤S700,否则,寻址一下块,执行步骤S500;S700:判断所述第三块号中连续缺失的块号个数是否大于M,如果是,执行步骤S600,否则,执行步骤S800;S800:形成完整密钥块;S900:获取解密数据。
Description
技术领域
本发明属于电子数据恢复与取证领域,涉及一种针对主控芯片的数据解密方法。
背景技术
包含主控芯片的U盘或者固态硬盘SSD等存储设备的加密算法较为简单,密钥算法多为左移或者右移n位(n>0)、取反等基础数学运算,分析其密钥生成算法较易。随着U盘或者固态硬盘SSD等存储设备愈加广泛的应用,加之主控芯片的发展,主控芯片的加密方式越来越多变、越来越复杂,特别是对加密复杂的SSD存储设备以及存储设备接口损坏、电路短路、断路、元器件损坏、电路板断裂等情况下,电子数据恢复与取证有关的解密正面临越来越大额度挑战。
现有技术中尚无一种针对主控芯片的数据解密方法,给该类包含主控芯片的存储设备的电子数据恢复与取证造成了巨大的困难。因此,急需一种针对该类主控芯片的存储设备的数据解密方法,以弥补电子数据恢复与取证困难的不足。
发明内容
本发明针对现有技术的不足问题,提出了一种针对主控芯片的数据解密方法:采取分析并获取管理字密钥的方法,获取完整密钥块,达到解密数据的目的。
为便于描述,本发明可能包含如下术语:
在主控芯片包含一个或多个通道(channel),每个通道包含一个或多个块(block),每个块包含一个或多个页(page),每个页包含一个页管理字段(或称系统区SA:System Area,以下统称页管理字段)及多个扇区(sector),每个扇区包含固定字节长度的数据及固定字节长度的扇区管理字段(或称管理数据MD:Manage Data,以下统称扇区管理字段)。
本发明申请包括以下步骤:
S100:获取主控芯片的数据表,读取所述数据表中的布局,包括扇区字节长度、扇区管理字段字节长度、页管理字段字节长度、每块所包含的页数及密钥块的初始字节;
S200:读取当前块中填用户数据的底层数据并查找所述初始字节;
S300:判断所述初始字节后是否具有连续N字节内容为0xFF,如果是,表示当前块为无效块并寻址下一块,执行步骤S200,否则执行步骤S400;
S400:将当前块作为基本密钥块,所述基本密钥块包括管理字密钥及数据区密钥;
S500:生成第一块号;
S600:遍历并读取所述另一同型号主控芯片的页管理字段中的块号作为第二块号,所述第二块号为小端格式存储且以两字节为一组,将所述第一块号与所述第二块号对应的两字节为一组进行异或,其结果按升序/降序排列,作为第三块号,所述第三块号为小端格式存储且以两字节为一组;
判断所述第三块号中以两字节为一组的块号是否为递增/递减,如果是,执行步骤S700,否则,寻址一下块,执行步骤S500;
S700:判断所述第三块号中连续缺失的块号个数是否大于M,如果是,则所述第三块号为不可用密钥块,执行步骤S600,否则,表示所述第三块号为可用密钥块,执行步骤S800;
S800:所述数据区密钥保持不变并采用所述第三块号替换所述基本密钥块中的所述管理字密钥,用以形成完整密钥块;
S900:获取解密数据:以块为单位,将各个块与所述完整密钥块进行按位异或得到解密数据。
优选地,N为不小于4的自然数,M为大于10的自然数。
优选地,所述步骤S500包括以下步骤:
S501:将另一同型号主控芯片的底层数据填零并读取所述填零的底层数据;
S502:将所述填零的底层数据与所述填用户数据的底层数据按位异或,用以生成临时解密数据;
S503:获取所述临时解密数据中的块号:读取所述临时解密数据中各个页管理字段,并读取各个所述页管理字段第20、第21字节的内容作为第一块号,所述第一块号为小端格式存储且以两字节为一组,其中,同一块内各个页具有相同的块号。
本发明的有益效果是解决了现有技术中尚无一种针对主控芯片的数据解密方法的技术问题。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明一个实施例中密钥块的数据结构示意图;
图3为本发明一个实施例中第一块号的数据结构示意图。
具体实施方式
本发明采用主控芯片型号为SM2246XT作为实施例。下面结合附图和实施例对本发明作进一步阐述。
图1示出了本发明所提供的方法的总流程图。
如图1所示,本发明的方法包括以下步骤:
S100:获取主控芯片型号为SM2246XT的数据表,读取数据表中的布局,包括扇区字节长度、扇区管理字段字节长度、页管理字段字节长度、每块所包含的页数及密钥块的初始字节。
图2示出了本发明一个实施例中密钥块的数据结构示意图。如图2所示,主控芯片包含一个或多个通道(channel);为简洁考虑,图中未示出通道(channel)。每个通道包含一个或多个块100(block),每个块100包含一个或多个页101(page),每个页101包含一个页管理字段1012(或称系统区SA:System Area,以下统称页管理字段)及多个扇区1011(sector),每个扇区包含固定字节长度的数据10111及固定字节长度的扇区管理字段10112(或称管理数据MD:Manage Data,以下统称扇区管理字段)。
以该主控芯片为例,其布局为一个通道包含4096块,一个块包含256页,一个页包含16个扇区,一个扇区字节长度为1098字节,其中,数据字节长度为1024字节,扇区管理字段的字节长度为74字节;页管理字段字节长度为48字节。
S200:读取当前块中填用户数据的底层数据并查找初始字节:查找以初始字节4983开头的块,具体地,本发明实施例的该主控芯片的布局分为上下2048块,合计4096块,且块为两两一组。上下2048块对称分布。因此,查找时由上至下遍历2048块即可。
S300:判断初始字节为4983后是否具有连续4字节内容为0xFF,如果是,表示当前块为无效块并寻址下一块,执行步骤S200,否则执行步骤S400;
S400:将当前块作为基本密钥块,基本密钥块包括74字节的管理字密钥及1024字节的数据区密钥;
S500:生成第一块号,步骤S500包括以下步骤:
S501:将另一同型号主控芯片的底层数据填零并读取该填零的底层数据;
S502:将该填零的底层数据与填用户数据的底层数据按位异或,用以生成临时解密数据;
S503:获取临时解密数据中的块号:读取临时解密数据中的48字节的各个页管理字段,并读取各个页管理字段第20、第21字节的内容作为第一块号,第一块号为小端格式存储且以两字节为一组,其中,同一块内各个页具有相同的块号。
图3示出了本发明一个实施例中第一块号的数据结构示意图。如图3中矩形框的内容所示,两字节为一组的第20、第21字节的内容为0x350C,由于是小端格式存储,因此,其块号为0x0C35,且该块内各个页具有相同的块号0x0C35。
S600:遍历并读取另一同型号主控芯片的页管理字段中的块号作为第二块号,第二块号为小端格式存储且以两字节为一组,将第一块号与第二块号对应的两字节为一组进行异或,其结果按升序/降序排列,作为第三块号,第三块号为小端格式存储且以两字节为一组;
判断第三块号中以两字节为一组的块号是否为递增/递减,如果是,执行步骤S700,否则,寻址一下块,执行步骤S500;
S700:判断第三块号中连续缺失的块号个数是否大于10,如果是,则第三块号为不可用密钥块,执行步骤S600,否则,表示第三块号为可用密钥块,执行步骤S800;
S800:数据区密钥保持不变并采用第三块号替换基本密钥块中的管理字密钥,用以形成完整密钥块;
S900:获取解密数据:以块为单位,将各个块与该完整密钥块进行按位异或得到解密数据。
通过本发明提供的方法,解决了现有技术中尚无一种针对主控芯片的数据解密方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (3)
1.一种针对主控芯片的数据解密方法,其特征在于包括以下步骤:
S100:获取主控芯片的数据表,读取所述数据表中的布局,包括扇区字节长度、扇区管理字段字节长度、页管理字段字节长度、每块所包含的页数及密钥块的初始字节;
S200:读取当前块中填用户数据的底层数据并查找所述初始字节;
S300:判断所述初始字节后是否具有连续N字节内容为0xFF,如果是,表示当前块为无效块并寻址下一块,执行步骤S200,否则执行步骤S400;
S400:将当前块作为基本密钥块,所述基本密钥块包括管理字密钥及数据区密钥;
S500:生成第一块号;
S600:遍历并读取另一同型号主控芯片的页管理字段中的块号作为第二块号,所述第二块号为小端格式存储且以两字节为一组,将所述第一块号与所述第二块号对应的两字节为一组进行异或,其结果按升序/降序排列,作为第三块号,所述第三块号为小端格式存储且以两字节为一组;
判断所述第三块号中以两字节为一组的块号是否为递增/递减,如果是,执行步骤S700,否则,寻址一下块,执行步骤S500;
S700:判断所述第三块号中连续缺失的块号是否多于M个,如果是,则所述第三块号为不可用密钥块,执行步骤S600,否则,表示所述第三块号为可用密钥块,执行步骤S800;
S800:所述数据区密钥保持不变并采用所述第三块号替换所述基本密钥块中的所述管理字密钥,用以形成完整密钥块;
S900:获取解密数据:以块为单位,将各个块与所述完整密钥块进行按位异或得到解密数据。
2.根据权利要求1所述的一种针对主控芯片的数据解密方法,其特征在于,N为不小于4的自然数,M为大于10的自然数。
3.根据权利要求2所述的一种针对主控芯片的数据解密方法,其特征在于,所述步骤S500包括以下步骤:
S501:将另一同型号主控芯片的底层数据填零并读取所述填零的底层数据;
S502:将所述填零的底层数据与所述填用户数据的底层数据按位异或,用以生成临时解密数据;
S503:获取所述临时解密数据中的块号:读取所述临时解密数据中各个页管理字段,并读取各个所述页管理字段第20、第21字节的内容作为第一块号,所述第一块号为小端格式存储且以两字节为一组,其中,同一块内各个页具有相同的块号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910699656.XA CN110427764B (zh) | 2019-07-31 | 2019-07-31 | 一种针对主控芯片的数据解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910699656.XA CN110427764B (zh) | 2019-07-31 | 2019-07-31 | 一种针对主控芯片的数据解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427764A CN110427764A (zh) | 2019-11-08 |
CN110427764B true CN110427764B (zh) | 2022-11-04 |
Family
ID=68413217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910699656.XA Active CN110427764B (zh) | 2019-07-31 | 2019-07-31 | 一种针对主控芯片的数据解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427764B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360957B (zh) * | 2021-06-30 | 2022-08-02 | 四川效率源信息安全技术股份有限公司 | 一种主控为sm2246en的固态硬盘的密码提取方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020071274A (ko) * | 2001-03-06 | 2002-09-12 | 한승조 | Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 |
CN1936870A (zh) * | 2005-09-23 | 2007-03-28 | 中国科学院计算技术研究所 | 一种硬盘扇区级数据加密解密方法及系统 |
CN104090790A (zh) * | 2014-06-30 | 2014-10-08 | 飞天诚信科技股份有限公司 | 一种安全终端的双芯片方案的固件更新方法 |
CN106201774A (zh) * | 2016-06-28 | 2016-12-07 | 中国人民解放军61660部队 | 一种nand flash存储芯片数据存储结构分析方法 |
CN107516053A (zh) * | 2017-08-25 | 2017-12-26 | 四川巧夺天工信息安全智能设备有限公司 | 针对主控芯片ps2251的数据加密方法 |
CN108075882A (zh) * | 2016-11-14 | 2018-05-25 | 航天信息股份有限公司 | 密码卡及其加解密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8176295B2 (en) * | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
-
2019
- 2019-07-31 CN CN201910699656.XA patent/CN110427764B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020071274A (ko) * | 2001-03-06 | 2002-09-12 | 한승조 | Pc기반의 암호칩 및 플래시 메모리를 이용한 유.에스.비보안보조기억장치 |
CN1936870A (zh) * | 2005-09-23 | 2007-03-28 | 中国科学院计算技术研究所 | 一种硬盘扇区级数据加密解密方法及系统 |
CN104090790A (zh) * | 2014-06-30 | 2014-10-08 | 飞天诚信科技股份有限公司 | 一种安全终端的双芯片方案的固件更新方法 |
CN106201774A (zh) * | 2016-06-28 | 2016-12-07 | 中国人民解放军61660部队 | 一种nand flash存储芯片数据存储结构分析方法 |
CN108075882A (zh) * | 2016-11-14 | 2018-05-25 | 航天信息股份有限公司 | 密码卡及其加解密方法 |
CN107516053A (zh) * | 2017-08-25 | 2017-12-26 | 四川巧夺天工信息安全智能设备有限公司 | 针对主控芯片ps2251的数据加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110427764A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI682652B (zh) | 資料處理方法及裝置 | |
CN104008064B (zh) | 用于多级存储器压缩的方法和系统 | |
CN107918612B (zh) | 键值存储系统数据结构的实现方法和装置 | |
CN102292720B (zh) | 用于管理数据存储系统的数据对象的方法和设备 | |
CN102282544B (zh) | 存储系统 | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN102156751A (zh) | 一种提取视频指纹的方法及装置 | |
CN105117351A (zh) | 向缓存写入数据的方法及装置 | |
CN102693185A (zh) | 管理设备和管理方法 | |
CN110968554A (zh) | 一种基于文件链分块的区块链存储方法、存储系统及存储介质 | |
KR20100127036A (ko) | 관점분류를 이용한 관점별 특허맵 제공 방법 | |
CN110427764B (zh) | 一种针对主控芯片的数据解密方法 | |
CN104065906A (zh) | 数字录像设备的录像方法及装置 | |
CA2936485C (en) | Optimized data condenser and method | |
CN107846327A (zh) | 一种网管性能数据的处理方法及装置 | |
CN105204782B (zh) | 一种实现数据存储的方法及装置 | |
CN111158606B (zh) | 存储方法、装置、计算机设备和存储介质 | |
CN106250499A (zh) | 一种视频对挖掘方法及装置 | |
EP2856359B1 (en) | Systems and methods for storing data and eliminating redundancy | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN103984647B (zh) | 存储表替换方法 | |
CN110457239B (zh) | 一种提取固态硬盘基本密钥的方法 | |
CN110175262A (zh) | 基于聚类的深度学习模型压缩方法、存储介质及系统 | |
WO2017155201A1 (ko) | 열-지향 레이아웃 파일 생성 방법 | |
CN114692573A (zh) | 文本结构化处理方法、装置、计算机设备、介质和产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |