CN111159726A - 一种基于uefi环境变量的全盘加解密方法及系统 - Google Patents
一种基于uefi环境变量的全盘加解密方法及系统 Download PDFInfo
- Publication number
- CN111159726A CN111159726A CN201911258670.2A CN201911258670A CN111159726A CN 111159726 A CN111159726 A CN 111159726A CN 201911258670 A CN201911258670 A CN 201911258670A CN 111159726 A CN111159726 A CN 111159726A
- Authority
- CN
- China
- Prior art keywords
- uefi
- environment variable
- key
- kernel
- disk encryption
- 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
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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据加解密技术领域,公开了一种基于UEFI环境变量的全盘加解密方法。将存储分为bootloader、内核和文件系统三个部分;将密钥存储在UEFI的环境变量中,bootloader启动过程中自动从UEFI环境变量中获取密钥并将内核与文件系统进行解密,然后再启动解密后的内核。该方案的关键将密钥存放在设备的硬件之中,达到与设备绑定的目的,保持对现有设备的兼容性,提高了存储区域的安全性;另外该方案不需要对现有应用做其它更改,易用性较强。另外,本发明还公开了一种基于UEFI环境变量的全盘加解密系统。
Description
技术领域
本发明涉及数据加解密技术领域,特别是一种基于UEFI环境变量的全盘加解密方法及系统。
背景技术
随着计算机和网络的飞速发展,海量的数据存储在各种设备中,其中块设备是最主要的存储设备,携带着大量的涉密文档。倘若系统存在漏洞被未授权使用或者块设备被盗、丢失都会引起政府、企业或个人的重大经济和精神上的损失。如何有效地保护涉密文档的安全性,尤其在计算机丢失或失窃后,防止机密信息非法泄露,这种应用需求对目前普遍存在的存储安全提出了新的挑战。而在通用消费者领域,Android智能手机操作系统在其3.0版本中即提供了存储加密功能,而微软的Windows也推出了BitLocker功能,可以对整个磁盘进行加密。但这些解决方案都需要大量的用户响应(如输入密码)等,无疑这些方案都不适应于在工业环境中运行的设备,这些设备要求7×24h运行,无人工干预。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供了一种基于UEFI环境变量的全盘加解密方法及系统。
本发明采用的技术方案如下:一种基于UEFI环境变量的全盘加解密方法,包括:
将存储分为bootloader(引导加载程序)、内核和文件系统三个部分;
将密钥存储在UEFI的环境变量中,bootloader启动过程中自动从UEFI环境变量中获取密钥并将内核与文件系统进行解密,然后再启动解密后的内核。
进一步的,所述bootloader采用grub2。
进一步的,所述grub2包括MBR、grub2镜像,所述MBR包含分区表和grub2的stage1加载代码。
进一步的,所述MBR位于磁盘第一个扇区,所述grub2镜像位于UEFI的ESP分区。
进一步的,所述密钥保留16bytes以上。
进一步的,所述UEFI的环境变量中存储的密钥采用pbkdf2算法进行处理。
进一步的,所述基于UEFI的环境变量中的全盘加密方法还包括系统初始化及加密的过程:随机生成密钥并将密钥写入UEFI的环境变量中;调用cryptsetup工具将存储中需要加密的分区进行加密,所述需要加密的分区包括内核和文件系统。
进一步的,所述grub2通过UEFI的环境变量访问,获取密钥进行解密。
进一步的,当存储所在的设备运行到内核并切换到文件系统后,从UEFI的环境变量中获取密钥对加密的分区再次进行解密。
本发明还公开了一种基于UEFI环境变量的全盘加解密系统,包括:存储单元和UEFI的环境变量单元;
所述存储单元分为Bootloader单元、内核单元、文件系统单元三部分,所述UEFI的环境变量单元用于存储密钥,所述Bootloader启动过程中自动从UEFI的环境变量中获取密钥并将内核与文件进行解密,然后再启动解密后的内核。
与现有技术相比,采用上述技术方案的有益效果为:
(1)本发明的技术方案将密钥存放在设备的硬件之中,达到与设备绑定的目的,保持对现有设备的兼容性,可以兼容所有支持UEFI SecureBoot的设备。
(2)将密钥存储在UEFI环境变量中,每台设备的密钥都可以随机设置,避免一台主机被破解后所有主机都告破,形成事实上的“后门”,提高存储区域的安全性。
(3)本方案的grub2支持UEFI环境变量访问,每个存储的访问都与该存储所在设备绑定,这样将存储通过物理方法取出直接访问,或者放置到其他任何设备都无法直接访问存储,提高加密内容的安全性。
(4)本方案可以对现有应用不做任何更改,尽可能的减少对现有应用的干扰,易用性强。
(5)本方案通过Bootloader自动加载程序,获得密钥进行解密操作,实现非交互式模式;这样有利于设备7×24h无人值守的运行要求。
附图说明
图1是本发明实施例中的存储分区示意图。
具体实施方式
下面结合附图对本发明做进一步描述。
一种基于UEFI环境变量的全盘加解密方法,包括:
实施例1:如图1所示,将存储分为bootloader(引导加载程序)、内核和文件系统三个部分(根据需要,磁盘上可能还存在其他区域,其他区域根据需要设置是否加密处理,本实施例的其他区域为加密的分区);
基于设计目标,需要将密钥存放于设备的硬件之中,以达到与设备绑定的目的;同时存储的密钥信息必须保留;另外,为了安全性,密钥至少需要保留16Bytes以上,以防止暴力破解;基于以上考虑,将密钥(本实施例的密钥采用的是对称密钥)存储在UEFI的环境变量中,bootloader启动过程中自动从UEFI的环境变量中获取密钥并将内核与文件进行解密,然后再启动解密后的内核。需要说明的是:UEFI的环境变量相当于原来bios的配置,可以保存比如启动顺序这类的信息,UEFI的环境变量是一个UEFI定义的标准,这里是我们自定义一个保存密钥的环境变量。
本方案是一个在支持UEFI SecureBoot设备上,使用软件方法来提高设备存储私密性,同时对现有应用做到无缝衔接。
实施例2:在实施例1的基础上,所述bootloader采用grub2(是一个来自GNU项目的多操作系统启动程序)。
grub2包括:MBR(主引导记录)、grub2镜像,所述MBR包含分区表和grub2的stage1加载代码。由于设备本身没有加解密设施,所以grub2是未被加密。而内核与文件系统以及后面的其他分区都已被加密处理。
其中,所述MBR位于磁盘第一个扇区(512bytes),所述grub2镜像位于第一个分区,即UEFI的ESP分区。在开启SecureBoot后,需要将grub2镜像进行签名并存储于ESP分区;这样可以确保只有经过自己签名的grub2镜像能够得到执行,所有未经授权的访问UEFI环境变量的程序都不会得到执行。
另一个实施例,实施例1中的关键是将密钥存放在UEFI的环境变量中,在实施例1的基础上,可以对UEFI的环境变量中的信息做多重变换,本实施例对UEFI的环境变量中存储的密钥采用pbkdf2算法进行处理,增加破解难度;也可以采用其他它算法,例如哈希算法等进行多重变换。
另一个实施例,在实施例1的基础上,在设备未加密前,需要进行系统初始化的工作。在进入系统后:随机生成密钥并将密钥写入UEFI的环境变量中;调用cryptsetup工具将存储中需要加密的分区进行加密,所述需要加密的分区包括内核和文件系统,图1的实施例中还需要对其他区域进行加密。
另一个实施例,在实施例2的基础上,在grub2中,需要应对分区加密与未加密两种情况。最重要的是获取密钥并解密的工作,因为grub2支持UEFI环境变量访问,可以直接获取密钥,进行grub2解密。这一层解密是为了实现存储设备的运行。
另一个实施例,存储设备运行之后,当存储所在的设备运行到内核并切换到文件系统后,从UEFI的环境变量中获取密钥将存储空间中加密的分区进行解密,经过这一层解密之后,才能使其它应用程序访问到加密的分区。而这次解密过程也比较简单、方便,获取密钥以及解密都有现有的工具可用。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。
Claims (10)
1.一种基于UEFI环境变量的全盘加解密方法,其特征在于,包括:
将存储分为bootloader(引导加载程序)、内核和文件系统三个部分;
将密钥存储在UEFI的环境变量中,bootloader启动过程中自动从UEFI环境变量中获取密钥并将内核与文件系统进行解密,然后再启动解密后的内核。
2.如权利要求1所述的基于UEFI环境变量的全盘加解密方法,其特征在于,所述bootloader采用grub2。
3.如权利要求2所述的基于UEFI环境变量的全盘加解密方法,其特征在于,所述grub2包括MBR、grub2镜像,所述MBR包含分区表和grub2的stage1加载代码。
4.如权利要求3所述的基于UEFI环境变量的全盘加解密方法,其特征在于,所述MBR位于磁盘第一个扇区,所述grub2镜像位于UEFI的ESP分区。
5.如权利要求1所述的基于UEFI环境变量的全盘加解密方法,其特征在于,所述密钥保留16bytes以上。
6.如权利要求1所述的基于UEFI环境变量的全盘加解密方法,其特征在于,所述UEFI的环境变量中存储的密钥采用pbkdf2算法进行处理。
7.如权利要求2-6任一项所述的基于UEFI环境变量的全盘加解密方法,其特征在于,还包括系统初始化及加密的过程:随机生成密钥并将密钥写入UEFI的环境变量中;调用cryptsetup工具将存储中需要加密的分区进行加密,所述需要加密的分区包括内核和文件系统。
8.如权利要求7所述的基于UEFI环境变量的全盘加解密方法,其特征在于,所述grub2通过UEFI的环境变量访问,获取密钥进行解密。
9.如权利要求8所述的基于UEFI环境变量的全盘加解密方法,其特征在于,当存储所在的设备运行到内核并切换到文件系统后,从UEFI的环境变量中获取密钥对加密的分区再次进行解密。
10.一种基于UEFI环境变量的全盘加解密系统,包括:存储单元和UEFI的环境变量单元;
所述存储单元分为Bootloader单元、内核单元、文件系统单元三部分,所述UEFI的环境变量单元用于存储密钥,所述Bootloader启动过程中自动从UEFI的环境变量中获取密钥并将内核与文件进行解密,然后再启动解密后的内核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258670.2A CN111159726B (zh) | 2019-12-10 | 2019-12-10 | 一种基于uefi环境变量的全盘加解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258670.2A CN111159726B (zh) | 2019-12-10 | 2019-12-10 | 一种基于uefi环境变量的全盘加解密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159726A true CN111159726A (zh) | 2020-05-15 |
CN111159726B CN111159726B (zh) | 2022-09-13 |
Family
ID=70556669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911258670.2A Active CN111159726B (zh) | 2019-12-10 | 2019-12-10 | 一种基于uefi环境变量的全盘加解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159726B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487435A (zh) * | 2020-11-06 | 2021-03-12 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
WO2023010834A1 (zh) * | 2021-08-06 | 2023-02-09 | 苏州浪潮智能科技有限公司 | 一种Linux嵌入式系统的启动方法、装置和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114326A (zh) * | 2001-04-09 | 2008-01-30 | 凤凰技术有限公司 | 用于计算机装置验证的系统和方法 |
CN101408916A (zh) * | 2008-08-27 | 2009-04-15 | 上海第二工业大学 | 一种互联网软件上网隐私保护方法 |
CN101464934A (zh) * | 2007-12-18 | 2009-06-24 | 中国长城计算机深圳股份有限公司 | 一种计算机平台与存储设备相互绑定、认证方法及计算机 |
CN101630353A (zh) * | 2008-06-30 | 2010-01-20 | 英特尔公司 | 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 |
US20150089209A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Synchronization of UEFI Secure Boot Variables on a Managed Server |
CN104850762A (zh) * | 2014-02-15 | 2015-08-19 | 联想(新加坡)私人有限公司 | 防止计算机的动作不良的方法、计算机程序以及计算机 |
US20150242630A1 (en) * | 2014-02-26 | 2015-08-27 | Dell Products L.P. | Systems and methods for securing bios variables |
CN106599714A (zh) * | 2016-11-15 | 2017-04-26 | 厦门市美亚柏科信息股份有限公司 | Android终端全盘加密数据的还原方法及装置 |
CN107689867A (zh) * | 2017-09-08 | 2018-02-13 | 南相浩 | 一种在开放环境下的密钥保护方法和系统 |
CN108599930A (zh) * | 2018-04-02 | 2018-09-28 | 湖南国科微电子股份有限公司 | 固件加解密系统与方法 |
-
2019
- 2019-12-10 CN CN201911258670.2A patent/CN111159726B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114326A (zh) * | 2001-04-09 | 2008-01-30 | 凤凰技术有限公司 | 用于计算机装置验证的系统和方法 |
CN101464934A (zh) * | 2007-12-18 | 2009-06-24 | 中国长城计算机深圳股份有限公司 | 一种计算机平台与存储设备相互绑定、认证方法及计算机 |
CN101630353A (zh) * | 2008-06-30 | 2010-01-20 | 英特尔公司 | 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 |
CN101408916A (zh) * | 2008-08-27 | 2009-04-15 | 上海第二工业大学 | 一种互联网软件上网隐私保护方法 |
US20150089209A1 (en) * | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Synchronization of UEFI Secure Boot Variables on a Managed Server |
CN104850762A (zh) * | 2014-02-15 | 2015-08-19 | 联想(新加坡)私人有限公司 | 防止计算机的动作不良的方法、计算机程序以及计算机 |
US20150242630A1 (en) * | 2014-02-26 | 2015-08-27 | Dell Products L.P. | Systems and methods for securing bios variables |
CN106599714A (zh) * | 2016-11-15 | 2017-04-26 | 厦门市美亚柏科信息股份有限公司 | Android终端全盘加密数据的还原方法及装置 |
CN107689867A (zh) * | 2017-09-08 | 2018-02-13 | 南相浩 | 一种在开放环境下的密钥保护方法和系统 |
CN108599930A (zh) * | 2018-04-02 | 2018-09-28 | 湖南国科微电子股份有限公司 | 固件加解密系统与方法 |
Non-Patent Citations (5)
Title |
---|
DOVEFENG: "《UEFI安全启动》", 《HTTPS://BLOG.CSDN.NET/SNOWFOXMONITOR./ARTICLE/DETAILS/84642585》 * |
GREIG PAUL: "《Take Control of Your PC with UEFI Secure Boot》", 《HTTPS://WWW.LINUXJOURNAL.COM/CONTENT/TAKE-CONTROL-YOUR-PC-SECURE-BOOT》 * |
PAVEL KOGAN: "《Full disk encrypt with LUKS(including /boot)》", 《HTTPS://WWW.PAVELKOGAN.COM/2014/05/23/LUKS-FULL-DISK-ENCRYPTION/》 * |
唐彪: "《伪随机可变密钥透明加解密技术研究》", 《中国优秀硕士学位论文全文数据库》 * |
安会: "《基于UEFI的操作系统内核完整性保方法的研究与实现》", 《中国优秀硕士论文全文数据库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487435A (zh) * | 2020-11-06 | 2021-03-12 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
CN112487435B (zh) * | 2020-11-06 | 2022-09-06 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
WO2023010834A1 (zh) * | 2021-08-06 | 2023-02-09 | 苏州浪潮智能科技有限公司 | 一种Linux嵌入式系统的启动方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111159726B (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263020B2 (en) | System and method for wiping encrypted data on a device having file-level content protection | |
US8589680B2 (en) | System and method for synchronizing encrypted data on a device having file-level content protection | |
US8412934B2 (en) | System and method for backing up and restoring files encrypted with file-level content protection | |
US8433901B2 (en) | System and method for wiping encrypted data on a device having file-level content protection | |
AU2006205315B2 (en) | Method and portable storage device for allocating secure area in insecure area | |
KR100678927B1 (ko) | 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치 | |
US20120066223A1 (en) | Method and computing device for creating distinct user spaces | |
EP2151763A1 (en) | Method and apparatus for obfuscating virtual to physical memory mapping | |
US20110131418A1 (en) | Method of password management and authentication suitable for trusted platform module | |
US8539250B2 (en) | Secure, two-stage storage system | |
CN111177773B (zh) | 一种基于网卡rom的全盘加解密方法及系统 | |
CN104361291B (zh) | 数据处理方法和装置 | |
WO2008092167A2 (en) | Protecting secrets in an untrusted recipient | |
CN111159726B (zh) | 一种基于uefi环境变量的全盘加解密方法及系统 | |
Chang et al. | User-friendly deniable storage for mobile devices | |
CN112711764A (zh) | 一种数据读写方法、装置及电子设备 | |
US11283600B2 (en) | Symmetrically encrypt a master passphrase key | |
CN107688729B (zh) | 基于可信主机的应用程序保护系统及方法 | |
KR20100040440A (ko) | 이동형 저장 장치의 데이터 보호를 위한 보안 방법 | |
EP2336942A1 (en) | Computer readable medium storing a program for password management and user authentication | |
KR20240072714A (ko) | 네트워크에서 데이터 통신을 보호하기 위해 사용되는 암호화 키를 안전하게 보호하는 저장 방법 및 그 기술 | |
KR20240097595A (ko) | 전체 디스크 암호화를 위한 암호화 키 관리 방법 | |
EP2336940A1 (en) | Method for password management and authentication | |
Edge et al. | Encrypting Files and Volumes |
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 |