CN111159726A - 一种基于uefi环境变量的全盘加解密方法及系统 - Google Patents

一种基于uefi环境变量的全盘加解密方法及系统 Download PDF

Info

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
Application number
CN201911258670.2A
Other languages
English (en)
Other versions
CN111159726B (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.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security Co Ltd
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 China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Priority to CN201911258670.2A priority Critical patent/CN111159726B/zh
Publication of CN111159726A publication Critical patent/CN111159726A/zh
Application granted granted Critical
Publication of CN111159726B publication Critical patent/CN111159726B/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

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环境变量的全盘加解密方法及系统
技术领域
本发明涉及数据加解密技术领域,特别是一种基于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的环境变量中获取密钥并将内核与文件进行解密,然后再启动解密后的内核。
CN201911258670.2A 2019-12-10 2019-12-10 一种基于uefi环境变量的全盘加解密方法及系统 Active CN111159726B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 湖南国科微电子股份有限公司 固件加解密系统与方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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