CN113839773A - 一种luks密钥离线提取方法、终端设备及存储介质 - Google Patents
一种luks密钥离线提取方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN113839773A CN113839773A CN202110940565.8A CN202110940565A CN113839773A CN 113839773 A CN113839773 A CN 113839773A CN 202110940565 A CN202110940565 A CN 202110940565A CN 113839773 A CN113839773 A CN 113839773A
- Authority
- CN
- China
- Prior art keywords
- key
- luks
- length
- data
- memory
- 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.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000009795 derivation Methods 0.000 claims abstract description 10
- 238000012216 screening Methods 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种LUKS密钥离线提取方法、终端设备及存储介质,该方法中包括:S1:从LUKS加密卷的卷头中提取主密钥的哈希校验值hash_data和主密钥的长度key_length;S2:加载内存镜像,根据主密钥的长度key_length,从内存镜像中查找所有符合长度为主密钥的长度key_length的数据,并组成集合K;S3:遍历集合K中的每个元素,并计算各元素的信息熵,对集合K中的元素进行筛选,剔除集合K中信息熵大于信息熵阈值的元素;S4:针对筛选后的集合K,遍历其中的每个元素,并对每个元素通过PBKDF2算法进行密钥派生,将密钥派生结果与提取的哈希校验值hash_data一致时对应元素作为用于解密的主密钥。本发明能够扫描内存中所有有效的LUKS加密密钥,并实际用于数据解密,解决取证难题。
Description
技术领域
本发明涉及磁盘加密领域,尤其涉及一种LUKS密钥离线提取方法、终端设备及存储介质。
背景技术
LUKS(Linux Unified Key Setup)是Linux***下的常用的磁盘加密技术之一,目前主要有LUKS1和LUKS2两个版本,通用于Linux的各个版本,且在Android平台都有相关应用,也有涉及汽车和物联网设备,应用范围广泛。LUKS具有特点有:(1)支持多用户、密码对同一个设备的访问;(2)加密密钥不依赖密码,可以改变密码而无需重新加密数据;(3)采用一种数据分割技术来保存加密密钥,保证密钥的安全性。
目前市面上有对LUKS进行解密的技术,但是存在一定的局限性,即只支持针对已知密码或者密钥文件的方式,而对于采用TPM加密芯片加密的***盘,市面上没有相关技术对其物理数据进行解密。
发明内容
为了解决上述问题,本发明提出了一种LUKS密钥离线提取方法、终端设备及存储介质。
具体方案如下:
一种LUKS密钥离线提取方法,包括以下步骤:
S1:从LUKS加密卷的卷头中提取主密钥的哈希校验值hash_data和主密钥的长度key_length;
S2:加载内存镜像,根据主密钥的长度key_length,从内存镜像中查找所有符合长度为主密钥的长度key_length的数据,并组成集合K;
S3:遍历集合K中的每个元素,并计算各元素的信息熵,对集合K中的元素进行筛选,剔除集合K中信息熵大于信息熵阈值的元素;
S4:针对筛选后的集合K,遍历其中的每个元素,并对每个元素通过PBKDF2算法进行密钥派生,将密钥派生结果与提取的哈希校验值hash_data一致时对应元素作为用于解密的主密钥。
进一步的,信息熵阈值为20。
一种LUKS密钥离线提取终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,能够扫描内存中所有有效的LUKS加密密钥,并实际用于数据解密,解决取证难题。
附图说明
图1所示为本发明实施例一中LUKS1版本的磁盘结构图。
图2所示为该实施例中LUKS2版本的磁盘结构图。
图3所示为该实施例方法的流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
LUKS的LUKS1和LUKS2两个版本的磁盘结构分别如图1和图2所示。由图1可知,LUKS1加密卷主要由卷头(Volume Header)、加密主密钥区(Keyslots area)和加密数据区(Encrypted Volume Data)三大部分组成。由图2可知,LUKS2加密卷主要由卷头(VolumeHeader)、JSON元数据区(JSON area)、加密主密钥区(Keyslots area)和加密数据区(Encrypted Volume Data)四大部分组成。
LUKS的加密过程主要包括***初始化、加密主密钥以及使用主密钥加密数据三个步骤。
1、***初始化
当***接收到对卷进行LUKS加密的命令时,按以下步骤执行:
(1)随机生成一组向量作为主密钥(Master Key),长度一般为16或32字节;
(2)随机生成一组向量作为干扰值Salt,长度为32字节;
(3)选择一种哈希(Hash)算法和迭代次数,对主密钥做PBKDF2密钥派生,得到主密钥的哈希校验值,并保存在卷头结构中,在解密的时候用于判断所获取的主密钥正确与否;
2、加密主密钥
(4)由用户输入密码,并对用户密码做PBKDF2密钥派生,获得用户密钥(UserKey);
(5)对主密钥做AF-Split数据扩张得到Split Master Key;
(6)使用用户密钥对Split Master Key做数据加密处理,得到Split Master Key密文,将结果保存到卷中相应的位置;
3、使用主密钥加密数据
(7)用主密钥作为加密密钥直接加密明文数据,加密算法和模式在卷头中设置;
(8)销毁主密钥。
由此可知,主密钥不受用户密码的影响,当用户修改、增加或删除密码时,主密钥不会随之改变,也不会重新加密明文数据,所以当得到主密钥的情况时,就可以绕过密码直接对磁盘加密数据进行解密。
通过研究发现,在LUKS加密卷解密挂载情况下,物理内存中包含有解密后的主密钥。因此,在离线获取内存镜像后,可以扫描整个物理内存镜像,提取并重组主密钥结构,实现对LUKS的离线解密,从而达到密码绕过的效果。
基于上述原理,本发明实施例提供了一种LUKS密钥离线提取方法,如图3所示,所述方法包括以下步骤:
S1:从LUKS加密卷的卷头中提取主密钥的哈希校验值hash_data和主密钥的长度key_length;
S2:加载内存镜像,根据主密钥的长度key_length,从内存镜像中查找所有符合长度为主密钥的长度key_length的数据,并组成集合K;
S3:遍历集合K中的每个元素,并计算各元素的信息熵,对集合K中的元素进行筛选,剔除集合K中信息熵大于信息熵阈值的元素;
S4:针对筛选后的集合K,遍历其中的每个元素,并对每个元素通过PBKDF2算法进行密钥派生,将密钥派生结果与提取的哈希校验值hash_data一致时对应元素作为用于解密的主密钥。
通过实验统计得出主密钥的信息熵大多为20以下,因此,该实施例中设定信息熵阈值为20。
本发明实施例在对主密钥结构以及LUKS数据加密逻辑进行深入研究的基础上,提出一种基于内存数据搜索的LUKS密钥离线提取方法,该方法能够扫描内存中所有有效的LUKS加密密钥,并实际用于数据解密,解决取证难题。
实施例二:
本发明还提供一种LUKS密钥离线提取终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述LUKS密钥离线提取终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述LUKS密钥离线提取终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述LUKS密钥离线提取终端设备的组成结构仅仅是LUKS密钥离线提取终端设备的示例,并不构成对LUKS密钥离线提取终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述LUKS密钥离线提取终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述LUKS密钥离线提取终端设备的控制中心,利用各种接口和线路连接整个LUKS密钥离线提取终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述LUKS密钥离线提取终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述LUKS密钥离线提取终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (4)
1.一种LUKS密钥离线提取方法,其特征在于,包括以下步骤:
S1:从LUKS加密卷的卷头中提取主密钥的哈希校验值hash_data和主密钥的长度key_length;
S2:加载内存镜像,根据主密钥的长度key_length,从内存镜像中查找所有符合长度为主密钥的长度key_length的数据,并组成集合K;
S3:遍历集合K中的每个元素,并计算各元素的信息熵,对集合K中的元素进行筛选,剔除集合K中信息熵大于信息熵阈值的元素;
S4:针对筛选后的集合K,遍历其中的每个元素,并对每个元素通过PBKDF2算法进行密钥派生,将密钥派生结果与提取的哈希校验值hash_data一致时对应元素作为用于解密的主密钥。
2.根据权利要求1所述的LUKS密钥离线提取方法,其特征在于:信息熵阈值为20。
3.一种LUKS密钥离线提取终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~2中任一所述方法的步骤。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~2中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940565.8A CN113839773B (zh) | 2021-08-17 | 2021-08-17 | 一种luks密钥离线提取方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940565.8A CN113839773B (zh) | 2021-08-17 | 2021-08-17 | 一种luks密钥离线提取方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113839773A true CN113839773A (zh) | 2021-12-24 |
CN113839773B CN113839773B (zh) | 2024-07-19 |
Family
ID=78960560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110940565.8A Active CN113839773B (zh) | 2021-08-17 | 2021-08-17 | 一种luks密钥离线提取方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113839773B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115119016A (zh) * | 2022-06-29 | 2022-09-27 | 王雨佳 | 一种信息数据加密算法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065370A1 (en) * | 2014-08-29 | 2016-03-03 | Eric Le Saint | Methods for secure cryptogram generation |
US20160119296A1 (en) * | 2014-10-22 | 2016-04-28 | Prasanna Laxminarayanan | Token Enrollment System and Method |
CN106027261A (zh) * | 2016-05-18 | 2016-10-12 | 厦门大学 | 基于fpga的luks认证芯片电路及其密码恢复方法 |
CN109033869A (zh) * | 2018-07-04 | 2018-12-18 | 深圳虚觅者科技有限公司 | 加密文件***挂载方法及装置 |
US20210034750A1 (en) * | 2016-12-22 | 2021-02-04 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method for a secured start-up of a computer system, and configuration comprising a computer system and an external storage medium connected to the computer system |
CN112800442A (zh) * | 2021-01-05 | 2021-05-14 | 北京小米松果电子有限公司 | 加密文件检测方法、装置及介质 |
US20210224393A1 (en) * | 2020-01-22 | 2021-07-22 | Naver Cloud Corp. | Method and system for dynamic application of storage encryption |
-
2021
- 2021-08-17 CN CN202110940565.8A patent/CN113839773B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160065370A1 (en) * | 2014-08-29 | 2016-03-03 | Eric Le Saint | Methods for secure cryptogram generation |
US20160119296A1 (en) * | 2014-10-22 | 2016-04-28 | Prasanna Laxminarayanan | Token Enrollment System and Method |
CN106027261A (zh) * | 2016-05-18 | 2016-10-12 | 厦门大学 | 基于fpga的luks认证芯片电路及其密码恢复方法 |
US20210034750A1 (en) * | 2016-12-22 | 2021-02-04 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method for a secured start-up of a computer system, and configuration comprising a computer system and an external storage medium connected to the computer system |
CN109033869A (zh) * | 2018-07-04 | 2018-12-18 | 深圳虚觅者科技有限公司 | 加密文件***挂载方法及装置 |
US20210224393A1 (en) * | 2020-01-22 | 2021-07-22 | Naver Cloud Corp. | Method and system for dynamic application of storage encryption |
CN112800442A (zh) * | 2021-01-05 | 2021-05-14 | 北京小米松果电子有限公司 | 加密文件检测方法、装置及介质 |
Non-Patent Citations (3)
Title |
---|
BETAMAO\'S NOTES: "基于内存分析的全盘加密破解", HTTPS://BLOG-ARCHIVE.BETAMAO.ME/2019/10/27, pages 10 - 11 * |
吴晓琴 等: "Hadoop安全及攻击检测方法", 计算机应用, vol. 40, no. 1 * |
钱镜洁 等: "LUKS加密卷的离线解密技术分析", 信息网络安全, no. 09, pages 1 - 2 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115119016A (zh) * | 2022-06-29 | 2022-09-27 | 王雨佳 | 一种信息数据加密算法 |
Also Published As
Publication number | Publication date |
---|---|
CN113839773B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111539813B (zh) | 业务行为的回溯处理方法、装置、设备及*** | |
CN106997439B (zh) | 基于TrustZone的数据加解密方法、装置及终端设备 | |
US10044703B2 (en) | User device performing password based authentication and password registration and authentication methods thereof | |
AU2006205315B2 (en) | Method and portable storage device for allocating secure area in insecure area | |
US20140351587A1 (en) | Protecting cryptographic secrets using file system attributes | |
CN110855430B (zh) | 计算***和用于管理计算***中的安全对象存储库的方法 | |
CN106980793B (zh) | 基于TrustZone的通用口令存储及读取方法、装置及终端设备 | |
CN106992851B (zh) | 基于TrustZone的数据库文件口令加解密方法、装置及终端设备 | |
US11042652B2 (en) | Techniques for multi-domain memory encryption | |
WO2017129138A1 (zh) | 数据仓库中的数据保护方法及装置 | |
CN111917540B (zh) | 一种数据加解密方法、装置、移动终端和存储介质 | |
EP3044900A1 (en) | Security processing unit with configurable access control | |
CN112685753B (zh) | 一种用于加密数据存储的方法及设备 | |
CN111177773B (zh) | 一种基于网卡rom的全盘加解密方法及*** | |
US20180123789A1 (en) | Apparatus and method for generating a key in a programmable hardware module | |
CN115422570A (zh) | 一种分布式存储的数据处理方法及*** | |
CN113886418B (zh) | 一种数据处理方法、装置、电子设备及机器可读存储介质 | |
CN113839773B (zh) | 一种luks密钥离线提取方法、终端设备及存储介质 | |
CN111159726B (zh) | 一种基于uefi环境变量的全盘加解密方法及*** | |
CN112052432A (zh) | 终端设备授权方法及装置 | |
CN103530169A (zh) | 虚拟机文件保护方法和用户终端 | |
CN111104693A (zh) | 一种Android平台软件数据破解方法、终端设备及存储介质 | |
US11283600B2 (en) | Symmetrically encrypt a master passphrase key | |
US11455404B2 (en) | Deduplication in a trusted execution environment | |
CN106570410B (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 |