CN110443053B - 一种基于密钥循环表及映射表的密钥生成方法 - Google Patents

一种基于密钥循环表及映射表的密钥生成方法 Download PDF

Info

Publication number
CN110443053B
CN110443053B CN201910699929.0A CN201910699929A CN110443053B CN 110443053 B CN110443053 B CN 110443053B CN 201910699929 A CN201910699929 A CN 201910699929A CN 110443053 B CN110443053 B CN 110443053B
Authority
CN
China
Prior art keywords
key
sector
data
block
page
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
Application number
CN201910699929.0A
Other languages
English (en)
Other versions
CN110443053A (zh
Inventor
梁效宁
董超
许超明
彭炼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xly Salvationdata Technology Inc
Original Assignee
Xly Salvationdata Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xly Salvationdata Technology Inc filed Critical Xly Salvationdata Technology Inc
Priority to CN201910699929.0A priority Critical patent/CN110443053B/zh
Publication of CN110443053A publication Critical patent/CN110443053A/zh
Application granted granted Critical
Publication of CN110443053B publication Critical patent/CN110443053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Abstract

本发明公开了一种基于密钥循环表及映射表的密钥生成方法,其特征在于包括以下步骤:S100:解析密钥块并构建密钥循环表;S200:读取并记录所述密钥块中各个扇区的前两个字节的内容,用以作为索引;S300:采用所述密钥循环表生成映射表:循环选取所述密钥循环表的所述末尾连续两字节作为映射表中的键,所述键相对于所述密钥循环表的偏移地址作为值,采用所述键及所述值生成所述映射表;S400:密钥生成。

Description

一种基于密钥循环表及映射表的密钥生成方法
技术领域
本发明属于电子数据恢复与取证领域,涉及一种基于密钥循环表及映射表的密钥生成方法。
背景技术
现有技术中,对于包含主控芯片的U盘或者固态硬盘SSD等存储设备的密钥块的生成,多采用密钥生成算法。随着U盘或者固态硬盘SSD等存储设备愈加广泛的应用,加之主控芯片的发展,主控芯片的加密方式越来越多变、越来越复杂,特别是对加密复杂的SSD存储设备以及存储设备接口损坏、电路短路、断路、元器件损坏、电路板断裂等情况下,密钥块的生成也越来越困难,同时,电子数据恢复与取证有关的解密正面临越来越大额度挑战。
目前,对于密钥块的生成是基于密钥生成算法是以初始字节对(两字节一组为基本单位)为起始,循环向下计算得到密钥块,整个过程比较耗费时。例如,块大小为4521984字节,则大概需计算2260992次,对块大小更大的情况下,计算量会以几何级数增长。
现有技术中尚无一种基于密钥循环表及映射表的密钥生成方法,给此类包含主控芯片的存储设备的电子数据恢复与取证造成了巨大的困难。因此,急需一种针对该类主控芯片的存储设备的数据解密方法,以弥补电子数据恢复与取证困难的不足。
发明内容
本发明针对现有技术的不足问题,提出了一种基于密钥循环表及映射表的密钥生成方法,以少量的内存换取高效的密钥块生成:构建密钥循环表并生成映射表,直接以查映射表的方式生成密钥,大量减少了原有的计算次数,达到生成密钥的目的。
为便于描述,本发明可能包含如下术语:
在主控芯片包含一个或多个通道(channel),每个通道包含一个或多个块(block),每个块包含一个或多个页(page),每个页包含一个页管理字段(或称系统区SA:SystemArea,以下统称页管理字段)及多个扇区(sector),每个扇区包含固定字节长度的数据及固定字节长度的扇区管理字段(或称管理数据MD:ManageData,以下统称扇区管理字段)。
本发明申请包括以下步骤:
S100:解析密钥块并构建密钥循环表,包括以下步骤:
S101:读取所述密钥块并解析所述密钥块中块结构、页结构及扇区结构;
S102:读取所述密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥;
S103:选取所述用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;
S104:读取当前密钥循环表中末尾两字节内容作为关键字,在所述用户数据区密钥中查找所述关键字;
S105:以所查找的所述关键字起始地址+2为首地址,至所述关键字所在扇区的末地址为止的数据尾加至所述密钥循环表;
S106:判断所述步骤S105中所尾加的数据中是否包含数据A,如果有,执行步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;
S107:删除数据A至密钥循环表末尾的数据,完成密钥循环表的构建;
S200:读取并记录所述密钥块中各个扇区的前两个字节的内容,用以作为索引;
S300:采用所述密钥循环表生成映射表:循环选取所述密钥循环表的所述末尾连续两字节作为映射表中的键,所述键相对于所述密钥循环表的偏移地址作为值,采用所述键及所述值生成所述映射表;
S400:密钥生成。
优选地,所述步骤S400包括以下步骤:
S401:根据所述步骤S200中的所述索引,查找所述映射表中对应的键及对应的值,所获得的对应的值作为所述索引在所述密钥循环表中的偏移地址;
S402:以所述密钥循环表的起始地址为首地址,并以所述步骤S401中所获取的偏移地址进行寻址并读取一个扇区的数据;
S403:重复执行所述步骤S401及S402直至处理完所有索引,所读取的扇区的数据作为密钥。
本发明的有益效果是解决了现有技术中尚无一种基于密钥循环表及映射表的密钥生成方法的技术问题。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明一个实施例中解析密钥块并构建密钥循环表的具体流程图;
图3为本发明一个实施例中密钥块的数据结构示意图。
具体实施方式
本发明采用型号为SM2246XT的慧荣科技的主控芯片作为实施例。下面结合附图和实施例对本发明作进一步阐述。
图1示出了本发明所提供的方法的总流程图。
如图1所示,本发明的方法包括以下步骤:
S100:解析密钥块并构建密钥循环表。图2示出了本发明一个实施例中解析密钥块并构建密钥循环表的具体流程图,如图2所示,步骤S100包括以下步骤:
S101:读取密钥块并解析密钥块中块结构、页结构及扇区结构:获取主控芯片型号为SM2246XT的数据表,读取数据表中的布局,包括扇区字节长度、扇区管理字段字节长度、页管理字段字节长度、每块所包含的页数及密钥块的初始字节。
图3示出了本发明一个实施例中密钥块的数据结构示意图。如图3所示,主控芯片包含一个或多个通道(channel),每个通道包含一个或多个块(block),每个块包含一个或多个页(page),每个页包含一个页管理字段(或称系统区SA:SystemArea,以下统称页管理字段)及多个扇区(sector),每个扇区包含固定字节长度的数据及固定字节长度的扇区管理字段(或称管理数据MD:ManageData,以下统称扇区管理字段)。
该主控芯片为例,其布局为1094_1604983_256,即,扇区字节长度为1094字节,其中,数据字节长度为1024字节,扇区管理字段的字节长度为70字节;页管理字段字节长度为160字节;密钥块的初始字节为4983,每块所包含的页数为256页;
S102:读取密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥。具体地,删除如图3所示的各页中各扇区管理字段(或称管理数据MD:ManageData,以下统称扇区管理字段),并删除各页的页管理字段(或称系统区SA:SystemArea,以下统称页管理字段),采用删除后的数据作为用户数据区密钥;
S103:选取用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;
S104:读取当前密钥循环表中末尾两字节内容作为关键字,在用户数据区密钥中查找关键字;
S105:以所查找的关键字起始地址+2为首地址,至关键字所在扇区的末地址为止的数据尾加至密钥循环表;
S106:判断步骤S105中所尾加的数据中是否包含数据A,如果有,执行步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;
S107:删除数据A至密钥循环表末尾的数据,完成密钥循环表的构建;
S200:读取并记录密钥块中各个扇区的前两个字节的内容,用以作为索引;
S300:采用密钥循环表生成映射表:循环选取密钥循环表的末尾连续两字节作为映射表中的键,键相对于密钥循环表的偏移地址作为值,采用键及值生成映射表;
S400:密钥生成,包括以下步骤:
S401:根据步骤S200中的索引,查找映射表中对应的键及对应的值,所获得的对应的值作为索引在密钥循环表中的偏移地址;
S402:以密钥循环表的起始地址为首地址,并以步骤S401中所获取的偏移地址进行寻址并读取一个扇区的数据;
S403:重复执行步骤S401及S402直至处理完所有索引,所读取的扇区的数据作为密钥。
通过本发明提供的方法,解决了现有技术中尚无一种基于密钥循环表及映射表的密钥生成方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (1)

1.一种基于密钥循环表及映射表的密钥生成方法,其特征在于包括以下步骤:
S100:解析密钥块并构建密钥循环表,包括以下步骤:
S101:读取所述密钥块并解析所述密钥块中块结构、页结构及扇区结构;
S102:读取所述密钥块中各页,删除各页的页管理字段及各页中各扇区的扇区管理字段,用以获取用户数据区密钥;
S103:选取所述用户数据区密钥中任一扇区作为起始扇区,将当前扇区的数据写入密钥循环表,记录当前该扇区的前两个字节为数据A;
S104:读取当前密钥循环表中末尾两字节内容作为关键字,在所述用户数据区密钥中查找所述关键字;
S105:以所查找的所述关键字起始地址+2为首地址,至所述关键字所在扇区的末地址为止的数据尾加至所述密钥循环表;
S106:判断所述步骤S105中所尾加的数据中是否包含数据A,如果有,执行步骤S107,否则,执行步骤S104,直至完成密钥循环表的构建;
S107:删除数据A至密钥循环表末尾的数据,完成密钥循环表的构建;
S200:读取并记录所述密钥块中各个扇区的前两个字节的内容,用以作为索引;
S300:采用所述密钥循环表生成映射表:循环选取所述密钥循环表的所述末尾连续两字节作为映射表中的键,所述键相对于所述密钥循环表的偏移地址作为值,采用所述键及所述值生成所述映射表;
S400:密钥生成,包括以下步骤:
S401:根据所述步骤S200中的所述索引,查找所述映射表中对应的键及对应的值,所获得的对应的值作为所述索引在所述密钥循环表中的偏移地址;
S402:以所述密钥循环表的起始地址为首地址,并以所述步骤S401中所获取的偏移地址进行寻址并读取一个扇区的数据;
S403:重复执行所述步骤S401及S402直至处理完所有索引,所读取的扇区的数据作为密钥。
CN201910699929.0A 2019-07-31 2019-07-31 一种基于密钥循环表及映射表的密钥生成方法 Active CN110443053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910699929.0A CN110443053B (zh) 2019-07-31 2019-07-31 一种基于密钥循环表及映射表的密钥生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910699929.0A CN110443053B (zh) 2019-07-31 2019-07-31 一种基于密钥循环表及映射表的密钥生成方法

Publications (2)

Publication Number Publication Date
CN110443053A CN110443053A (zh) 2019-11-12
CN110443053B true CN110443053B (zh) 2023-03-14

Family

ID=68432329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910699929.0A Active CN110443053B (zh) 2019-07-31 2019-07-31 一种基于密钥循环表及映射表的密钥生成方法

Country Status (1)

Country Link
CN (1) CN110443053B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988140B (zh) * 2020-08-20 2023-04-18 四川爱联科技股份有限公司 物联网模组的密钥管理方法、系统及终端

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772861A (ja) * 1994-05-12 1995-03-17 Kawai Musical Instr Mfg Co Ltd 電子楽器の鍵盤情報処理装置
US5832484A (en) * 1996-07-02 1998-11-03 Sybase, Inc. Database system with methods for parallel lock management
WO1998053636A1 (en) * 1997-05-23 1998-11-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for maintaining a table in content addressable memory using hole algorithms
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
CN1302497A (zh) * 1997-09-22 2001-07-04 夸尔柯姆股份有限公司 产生加密密码流的方法和装置
JP2004096274A (ja) * 2002-08-30 2004-03-25 Nippon Telegr & Teleph Corp <Ntt> 放送再送信装置および多重暗号化装置
CN103731261A (zh) * 2014-01-09 2014-04-16 西安电子科技大学 加密重复数据删除场景下的密钥分发方法
CN104579656A (zh) * 2014-12-31 2015-04-29 北京时代民芯科技有限公司 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
CN106845251A (zh) * 2015-12-07 2017-06-13 四川效率源信息安全技术股份有限公司 闪存芯片物理镜像后的数据解密方法
CN107516053A (zh) * 2017-08-25 2017-12-26 四川巧夺天工信息安全智能设备有限公司 针对主控芯片ps2251的数据加密方法
DE102018125747A1 (de) * 2017-11-17 2019-05-23 Intel Corporation Unterstützung für eine höhere anzahl von gleichzeitigenschlüsseln in einer kryptografie-engine mit mehrerenschlüsseln

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210145A1 (en) * 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US9501429B2 (en) * 2008-09-05 2016-11-22 Vixs Systems Inc. Dynamic key and rule storage protection
US8943328B2 (en) * 2010-01-29 2015-01-27 Hewlett-Packard Development Company, L.P. Key rotation for encrypted storage media
US20130238900A1 (en) * 2011-12-12 2013-09-12 Cleversafe, Inc. Dispersed storage network secure hierarchical file directory
US10516533B2 (en) * 2016-02-05 2019-12-24 Mohammad Mannan Password triggered trusted encryption key deletion

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0772861A (ja) * 1994-05-12 1995-03-17 Kawai Musical Instr Mfg Co Ltd 電子楽器の鍵盤情報処理装置
US5832484A (en) * 1996-07-02 1998-11-03 Sybase, Inc. Database system with methods for parallel lock management
WO1998053636A1 (en) * 1997-05-23 1998-11-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for maintaining a table in content addressable memory using hole algorithms
CN1302497A (zh) * 1997-09-22 2001-07-04 夸尔柯姆股份有限公司 产生加密密码流的方法和装置
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
JP2004096274A (ja) * 2002-08-30 2004-03-25 Nippon Telegr & Teleph Corp <Ntt> 放送再送信装置および多重暗号化装置
CN103731261A (zh) * 2014-01-09 2014-04-16 西安电子科技大学 加密重复数据删除场景下的密钥分发方法
CN104579656A (zh) * 2014-12-31 2015-04-29 北京时代民芯科技有限公司 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
CN106845251A (zh) * 2015-12-07 2017-06-13 四川效率源信息安全技术股份有限公司 闪存芯片物理镜像后的数据解密方法
CN107516053A (zh) * 2017-08-25 2017-12-26 四川巧夺天工信息安全智能设备有限公司 针对主控芯片ps2251的数据加密方法
DE102018125747A1 (de) * 2017-11-17 2019-05-23 Intel Corporation Unterstützung für eine höhere anzahl von gleichzeitigenschlüsseln in einer kryptografie-engine mit mehrerenschlüsseln

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Chapter 4: Securing large datasets involving fast-performing key bunch matrix block cipher;Shirisha Kakarla;《SCIENCEDIRECT》;20181123;全文 *
密文全文检索系统中的索引机制研究;吴炜;《中国博士学位论文全文数据库信息科技辑》;20110415(第4期);全文 *
移动存储设备取证技术研究;张若箐;《中国优秀硕士学位论文全文数据库信息科技辑》;20150215(第2期);全文 *

Also Published As

Publication number Publication date
CN110443053A (zh) 2019-11-12

Similar Documents

Publication Publication Date Title
CN101983376B (zh) 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
KR100533682B1 (ko) 플래시 메모리의 데이터 관리 장치 및 방법
CN104008064A (zh) 用于多级存储器压缩的方法和系统
WO2015145647A1 (ja) ストレージ装置とデータ処理方法及びストレージシステム
US20130185484A1 (en) File programming method and associated device for nand flash
CN109885577B (zh) 数据处理方法、装置、终端及存储介质
CN106201774B (zh) 一种nand flash存储芯片数据存储结构分析方法
KR101730151B1 (ko) 플래시 메모리 장치에 데이터를 기록하는 방법, 플래시 메모리 장치, 및 저장 시스템
CN101178726A (zh) 数据文件解归档的方法和系统
CN110443053B (zh) 一种基于密钥循环表及映射表的密钥生成方法
CN105528183A (zh) 一种存储数据的方法及存储设备
KR20100101517A (ko) 데이터 파일 삭제 명령에 응답하는 시스템 및 방법
CN112463020A (zh) 基于Flash的数据存取方法、装置及设备
TWI715408B (zh) 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法
EP3093772A1 (en) Data processing method, data writing method, and related apparatus
US9424262B2 (en) Computing system and data management method thereof
CN115857811A (zh) 一种数据处理方法、装置、固态硬盘及可读存储介质
CN110457239B (zh) 一种提取固态硬盘基本密钥的方法
CN110427764B (zh) 一种针对主控芯片的数据解密方法
CN108881472B (zh) 电子书文件的处理方法、电子设备、存储介质
CN110263303B (zh) 文本修改历史的追溯方法及装置
US7840583B2 (en) Search device and recording medium
KR20140042428A (ko) 컴퓨팅 시스템 및 그 데이터 관리 방법
KR100688463B1 (ko) 물리 메모리의 데이터 기록 및 삭제 방법

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