CN102244684B - 基于usbkey的efi可信云链引导方法 - Google Patents
基于usbkey的efi可信云链引导方法 Download PDFInfo
- Publication number
- CN102244684B CN102244684B CN 201110215348 CN201110215348A CN102244684B CN 102244684 B CN102244684 B CN 102244684B CN 201110215348 CN201110215348 CN 201110215348 CN 201110215348 A CN201110215348 A CN 201110215348A CN 102244684 B CN102244684 B CN 102244684B
- Authority
- CN
- China
- Prior art keywords
- efi
- usbkey
- trusted root
- trusted
- operating system
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于USBKEY的EFI可信云链引导方法,通过将可信根设置在硬件中,使得在硬件中存储有用户的私钥和数字证书,而这个硬件可信根完全由用户保管,这样就从根本上解决了安全问题。本发明提出了一套自应用程序到***硬件可信云链建立的完整解决方案,实现从计算机加电开始到最终应用程序启动的一条完整的全程可信监控链,解决了EFI的安全性差的问题,保证了云平台的可信。通过硬件信息以及OS的完整性保证虚拟机的可靠安全运行,实现了基于云计算虚拟化的可信链路。
Description
技术领域
本发明属于计算机信息安全领域,特别是涉及一种基于USBKEY的EFI可信云链引导方法。
背景技术
云计算的兴起所带来的商业模式的迅速发展将对今后信息产业领域的信息服务产业产生重要的影响,从而开创一种全新的IT应用前景。对于云计算,我们能够看到它的强大优势。随着计算的快速发展,安全问题日渐凸显,导致用户对企业信息化的前景产生忧虑。如何确保用户隐私不被非法的使用;如何确保平台的安全性,防止恶意的攻击和偷窃;如何确立新的标准,来适应云计算发展。在技术上保证用户的隐私安全是一项迫在眉睫的任务。
2.1云计算的概念
云计算(Cloud Computing)是由分布式处理(Distributed Computing)、并行处理(ParallelComputing)和网格计算(Grid Computing)发展而来的一种动态的易于扩展的通过高速互联网把数据处理过程传送给虚拟的计算机集群资源的计算方式。云计算也是一种基础架构设计的方法论,由大量的计算机资源组成共享的IT资源池,能够动态创建高度虚拟化的资源提供给用户。云计算拥有高可靠性和安全性、动态可扩展性、超强计算和存储、虚拟化技术和低成本的优点。
云计算可以划分为3个层次:IaaS(Infrastructure as a Service)、PaaS(Platform as aService)、SaaS(Software as a Service)。IaaS是基础设施层,通过网格计算、集群和虚拟化等技术实现;PaaS是作为一种服务提供了用户可以访问的完整或部分应用程序的开发平台;SaaS是软件作为一种服务提供了完整可直接使用的应用程序,在平台层以SOA方法为主,使用不同的体系应用构架,具体的是用不同的技术实现,在软件应用层使用SaaS模式。
2.2云计算中的安全
2.2.1云端中的安全
(1)传统的安全域划分无效。传统上通过物理和逻辑划分的安全域,可以清楚地定义边界,但在云中无法实现。
(2)接入端:若云端使用浏览器来接入,然而浏览器是计算机中相对脆弱的,其自身漏洞可以使客户的证书或认证密钥泄露,所以客户端的可用性和安全性对于云计算的发展至关重要。
(3)安全管理:企业对存放在云中的数据不能像以前一样具有完全的管理权,因为服务商也具有对数据的访问和管理权,这样就增加了企业的风险。
(4)安全认证:云中各种不同的应用需要认证,从云端到云之间如何进行有效的认证需要简单健壮高效的认证机制。
2.2.2应用服务层
(1)可用性:亚马逊的EC2的宕机、Google Doc的Google Docs上的部分文档会在用户不知晓的情况下被共享。
(2)网络攻击:黑客活动和僵尸网络日益猖獗,使得很多服务器都受到拒绝服务的攻击,在云中,即便有很多的服务器仍然会受到网络攻击的影响,这样如何才能保证服务质量(QoS)?
(3)隐私安全:谁拥有数据?用户如何能够证明他们的敏感数据是私有的?用户又如何确信对托管于云运营商的数据拥有完全的权限?
(4)安全审计:企业在传统的服务中对数据及操作拥有明确的审计和安全认证,而在云计算中却没有明确的执行标准。
(5)超出多重任务处理:高度的虚拟性使得一个结构化的应用软件支援多个使用者或组织,为这些共存的用户进程的数据和配置,避免各用户实例之间的数据泄露和非认证访问。
2.2.2基础设施层
(1)数据安全:数据的保密性和隔离风险。在云存储中各种数据共享地存储在不同的数据中心,保证不同用户之间的数据有效隔离和对数据加密性问题。
(2)虚拟服务器:如何保证云中的虚拟服务器能够高效协同工作是云构架中一个重要问题。
2.3选择EFI
在早期,BIOS程序存放于一个掉电后内容不会丢失的只读存储器中,***加电时处理器的第一条指令的地址会被定位到BIOS的存储器中,便于使初始化程序得到执行。由于LEGACY BIOS固化在芯片内很难二次开发和扩展,因此可信都是在OS层和应用层,硬件层不能得到有效的保护,且面对病毒攻击不能及时有效的回复,如CIH病毒。
EFI是用模块化,C语言风格的参数堆栈传递方式,动态链接的形式构建的***,较BIOS而言更易于实现,容错和纠错特性更强,缩短了***研发的时间。也正是由于EFI BIOS的出现使得可信触及到硬件层。
虽然EFI有传统BIOS无法比拟的优点,但是EFI并没有解决BIOS面临的安全威胁。相对于完全用汇编实现的传统BIOS,EFI中很多代码用C语言实现。因此EFI更容易被破译,这对EFI的安全性提出了更高的要求。实现EFI可信云链是目前对EFI安全及云安全研究的重要方面。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于USBKEY的EFI可信云链引导方法,提出了一套自应用程序到***硬件可信云链建立的完整解决方案,集中地解决了可信计算中主机唯一标识、可信根、节点项目验证等主要问题,从而确保云平台安全可信。本发明可以为用户提供自免疫能力的基于云计算可信平台,使其虚拟机***免于遭受各种攻击和恶意篡改。
本发明解决其技术问题所采用的技术方案是:一种基于USBKEY的EFI可信云链引导方法,包括如下步骤:
第一步、建立可信根:可信根由USBKEY和EFI DXE阶段前的代码构成,保存在USBKEY中,由用户保管;
第二步、身份认证:
1)PC机与USBKEY一一对应;
2)开机后检测USBKEY序列号,若一致则可启动,否则无法开机;
第三步、完整性度量:
1)私钥作为USBKEY的静态保密数据,一经生成就存储在USBKEY中,只有USBKEY的合法用户才能使用,并且不能被读出USBKEY;
2)公钥存储在第三方发放的证书中;
3)完整性验证:首先使用HASH算法计算需要加载的EFI Image的hash值,再从Signature file中找到该EFI Image对应的数字证书和数字签名信息,利用RSA算法和证书中的公钥对数字签名信息进行解密,得到该EFI Image的原始Hash值;最后将两值进行比较,如果一致则说明该EFI Image没被篡改,继续进行对该EFI Image的操作;如不一致,停止对该EFI Image的操作;
第四步、可信链引导:
1)EFI DXE阶段前的代码构成可信根,***从可信根开始引导;
2)DXE阶段:对按顺序加载的内部或外部的EFI Driver、EFI Application,或设备的Option ROM,进行完整性度量,如果可信测量成功,则加载执行代码,否则跳出重启;
3)TSL阶段:BDS对TSL代码进行可信测量,如可信测量成功,则加载执行TSL,否则跳出重启;
4)操作***加载器阶段:对操作***加载器进行完整性验证,如不一致,停止对该EFIImage的操作,无法进入操作***核心代码(OS kernel)完整性验证;
5)操作***核心代码阶段:对操作***核心代码进行完整性验证,如不一致,停止对该EFI Image的操作,无法完成操作***及其应用程序和虚拟机的加载;
6)应用程序阶段:操作***得到控制权后,对操作***各种应用程序进行完整性验证,信任依次传递,直到完成操作***及其应用程序和虚拟机的加载。
所述可信根由以下三者组成:
1)度量可信根:度量可信根被用来完成完整性度量,通常使用度量可信根的核心所控制的计算引擎,度量可信根同时也是信任传递的原点;
2)存储可信根:是维护完整性摘要的值和摘要序列的引擎,由存储加密的引擎和加密密钥组成;
3)报告可信根:是一个计算引擎,能够可靠的报告存储可信根持有的数据,其可靠性由签名来保证。
与现有技术相比,本发明的积极效果是:通过将可信根设置在硬件中,使得在硬件中存储有用户的私钥和数字证书,而这个硬件可信根完全由用户保管,这样就从根本上解决了安全问题。本发明提出了一套自应用程序到***硬件可信云链建立的完整解决方案,实现从计算机加电开始到最终应用程序启动的一条完整的全程可信监控链,解决了EFI的安全性差的问题,保证了云平台的可信。通过硬件信息以及OS的完整性保证虚拟机的可靠安全运行,实现了基于云计算虚拟化的可信链路。
具体实施方式
一种基于USBKEY的EFI可信云链引导方法,包括如下步骤:
第一步、建立可信根:可信根由USBKEY和EFI DXE阶段前的代码构成,可信根保存在USBKEY中,由用户保管,确保其安全性以及可恢复性;在一个可信平台中,可信根由以下三者组成:
1)度量可信根(Root of trust for measurement,简称RTM):度量可信根被用来完成完整性度量,通常使用度量可信根的核心所控制的计算引擎,RTM同时也是信任传递的原点;
2)存储可信根(root of trust for storage,简称RTS):是维护完整性摘要的值和摘要序列的引擎,一般由存储加密的引擎和加密密钥组成;
3)报告可信根(root of trust for reporting,简称RTR):是一个计算引擎,能够可靠的报告存储可信根持有的数据,可靠性一般由签名来保证。
第二步、身份认证:这是可信链由可信根引导开始的第一步,实现USBKEY与PC一一对应,防止非法USBKEY进入***:
1)PC机与USBKEY一一对应;
2)开机后检测USBKEY序列号,若一致则可启动,否则无法开机;
第三步、完整性度量:
1)私钥作为USBKEY的静态保密数据,一经生成就存储在USBKEY中,只有USBKEY的合法用户才能使用,并且不能被读出USBKEY;
2)公钥存储在第三方发放的证书中;
3)完整性验证:首先使用HASH算法计算需要加载的EFI Image的hash值,再从Signature file中找到该EFI Image对应的数字证书和数字签名信息,利用RSA算法和证书中的公钥对数字签名信息进行解密,得到该EFI Image的原始Hash值。最后将两值进行比较,如果一致则说明该EFI Image没被篡改,继续进行对该EFI Image的操作。如不一致,停止对该EFI Image的操作。
EFI下驱动和应用程序均以EFI Image形式加载,EFI Images的分类,总的来说,分为三类,分别如下:EFI AP、EFI Boot Service Drivers以及EFI Runtime Drivers,每个EFI Image都有一个入口,可以被EFI***所解释并执行,也就是可信链中每个阶段***需要加载的应用服务或者驱动。
第四步、可信链引导:
1)EFI DXE阶段前的代码构成可信根,***从可信根开始引导;
2)DXE阶段:对按顺序加载的内部或外部的EFI Driver、EFI Application,或设备的Option ROM,进行完整性度量,如果可信测量成功,则加载执行代码,否则跳出重启;
3)TSL阶段:BDS对TSL代码进行可信测量,如可信测量成功,则加载执行TSL,否则跳出重启;
4)操作***加载器(OS Loader)阶段:对OS Loader进行完整性验证,如不一致,停止对该EFI Image的操作,无法进入操作***核心代码(OS kernel)完整性验证;
5)操作***核心代码(OS kernel)阶段:对OS kernel进行完整性验证。如不一致,停止对该EFI Image的操作,无法完成操作***及其应用程序和虚拟机(VM)的加载;
6)应用程序阶段:操作***得到控制权后,对操作***各种应用程序进行完整性验证,信任依次传递,直到完成操作***及其应用程序和虚拟机(VM)的加载。
由此,信任依次传递,直到完成操作***及其应用程序的加载,这样就完成了从***加电启动到上层应用环境完整信任链的建立过程。在这个过程中,USBKEY的安全模块实时地、客观地完成了对***状态信息的完整性度量,从而保证了整个云平台的可信。
Claims (2)
1.一种基于USBKEY的EFI可信云链引导方法,其特征在于:包括如下步骤:
第一步、建立可信根:可信根由USBKEY和 EFI DXE阶段前的代码构成,保存在USBKEY中,由用户保管;
第二步、身份认证:
1)PC机与USBKEY一一对应;
2)开机后检测USBKEY序列号,若一致则可启动,否则无法开机;
第三步、完整性度量:
1)私钥作为USBKEY的静态保密数据,一经生成就存储在USBKEY中,只有USBKEY的合法用户才能使用,并且不能被读出USBKEY;
2)公钥存储在第三方发放的证书中;
3)完整性验证:首先使用HASH算法计算需要加载的EFI Image的Hash值,再从Signature file中找到该EFI Image对应的数字证书和数字签名信息,利用RSA算法和证书中的公钥对数字签名信息进行解密,得到该EFI Image的原始Hash值;最后将两值进行比较,如果一致则说明该EFI Image没被篡改,继续进行对该EFI Image的操作;如不一致,停止对该EFI Image的操作;
第四步、可信链引导:
1)EFI DXE阶段前的代码构成可信根,***从可信根开始引导;
2)DXE阶段:对按顺序加载的内部或外部的EFI Driver、EFI Application,或设备的Option ROM,进行完整性度量,如果可信测量成功,则加载执行代码,否则跳出重启;
3)TSL阶段:BDS对TSL代码进行可信测量,如可信测量成功,则加载执行TSL,否则跳出重启;
4)操作***加载器阶段:对操作***加载器进行完整性验证, 如不一致,停止对该EFI Image的操作,无法进入操作***核心代码(OS kernel)完整性验证;
5)操作***核心代码阶段:对操作***核心代码进行完整性验证,如不一致,停止对该EFI Image的操作,无法完成操作***及其应用程序和虚拟机的加载;
6)应用程序阶段:操作***得到控制权后,对操作***各种应用程序进行完整性验证,信任依次传递,直到完成操作***及其应用程序和虚拟机的加载。
2.根据权利要求1所述的基于USBKEY的EFI可信云链引导方法,其特征在于:所述可信根由以下三者组成:
1)度量可信根:度量可信根被用来完成完整性度量,使用度量可信根的核心所控制的计算引擎,度量可信根同时也是信任传递的原点;
2)存储可信根:是维护完整性摘要的值和摘要序列的引擎,由存储加密的引擎和加密密钥组成;
3)报告可信根:是一个计算引擎,能够可靠的报告存储可信根持有的数据,其可靠性由签名来保证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110215348 CN102244684B (zh) | 2011-07-29 | 2011-07-29 | 基于usbkey的efi可信云链引导方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110215348 CN102244684B (zh) | 2011-07-29 | 2011-07-29 | 基于usbkey的efi可信云链引导方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102244684A CN102244684A (zh) | 2011-11-16 |
CN102244684B true CN102244684B (zh) | 2013-07-17 |
Family
ID=44962514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110215348 Active CN102244684B (zh) | 2011-07-29 | 2011-07-29 | 基于usbkey的efi可信云链引导方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102244684B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968595A (zh) * | 2012-12-20 | 2013-03-13 | 曙光云计算技术有限公司 | 虚拟机***的保护方法和装置 |
CN103064706A (zh) * | 2012-12-20 | 2013-04-24 | 曙光云计算技术有限公司 | 虚拟机***的启动方法和装置 |
US9053059B2 (en) * | 2013-03-06 | 2015-06-09 | Intel Corporation | Roots-of-trust for measurement of virtual machines |
CN103559436A (zh) * | 2013-10-28 | 2014-02-05 | 曙光云计算技术有限公司 | 虚拟化启动的认证方法和装置 |
CN103812862A (zh) * | 2014-01-23 | 2014-05-21 | 厦门密安信息技术有限责任公司 | 可信安全云计算构成方法 |
CN105354493B (zh) * | 2015-10-22 | 2018-11-23 | 中国人民解放军装备学院 | 基于虚拟化技术的终端可信增强方法及*** |
CN106656915A (zh) * | 2015-10-30 | 2017-05-10 | 深圳市中电智慧信息安全技术有限公司 | 基于可信计算的云安全服务器 |
CN106156635A (zh) * | 2016-07-29 | 2016-11-23 | 深圳兆日科技股份有限公司 | 终端启动方法和装置 |
CN106506543B (zh) * | 2016-12-20 | 2019-04-26 | 北京工业大学 | 一种云服务器中可信代理模块的实现方法 |
WO2018119990A1 (zh) * | 2016-12-30 | 2018-07-05 | 刘清华 | 一种云数据平台密匙设置方法 |
CN107194264A (zh) * | 2017-05-24 | 2017-09-22 | 济南浪潮高新科技投资发展有限公司 | 一种基于uefi的带有安全认证功能的网卡 |
CN113641463A (zh) * | 2021-10-14 | 2021-11-12 | 云宏信息科技股份有限公司 | 虚拟化***可信认证方法、***及计算机可读存储介质 |
CN117806777B (zh) * | 2024-02-29 | 2024-05-10 | 苏州元脑智能科技有限公司 | 虚拟环境启动完整性验证方法、装置、***、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645127A (zh) * | 2009-06-17 | 2010-02-10 | 北京交通大学 | 一种建立基于efi的可信引导***的方法 |
CN101881997A (zh) * | 2009-05-04 | 2010-11-10 | 同方股份有限公司 | 一种可信安全移动存储装置 |
CN101986325A (zh) * | 2010-11-01 | 2011-03-16 | 山东超越数控电子有限公司 | 一种计算机安全访问控制***及控制方法 |
-
2011
- 2011-07-29 CN CN 201110215348 patent/CN102244684B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101881997A (zh) * | 2009-05-04 | 2010-11-10 | 同方股份有限公司 | 一种可信安全移动存储装置 |
CN101645127A (zh) * | 2009-06-17 | 2010-02-10 | 北京交通大学 | 一种建立基于efi的可信引导***的方法 |
CN101986325A (zh) * | 2010-11-01 | 2011-03-16 | 山东超越数控电子有限公司 | 一种计算机安全访问控制***及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102244684A (zh) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102244684B (zh) | 基于usbkey的efi可信云链引导方法 | |
US10956321B2 (en) | Secure management of operations on protected virtual machines | |
JP6720211B2 (ja) | 仮想ネットワーク機能の安全なブートストラップ技術 | |
CN108351937B (zh) | 计算设备 | |
US9509720B2 (en) | Techniques for improved run time trustworthiness | |
US8856544B2 (en) | System and method for providing secure virtual machines | |
US11687655B2 (en) | Secure execution guest owner environmental controls | |
CN111158906B (zh) | 一种主动免疫可信云*** | |
US11693952B2 (en) | System and method for providing secure execution environments using virtualization technology | |
US11888972B2 (en) | Split security for trusted execution environments | |
CN107704308B (zh) | 虚拟平台vTPM管理***、信任链构建方法及装置、存储介质 | |
EP3217310B1 (en) | Hypervisor-based attestation of virtual environments | |
Bulusu et al. | A study on cloud computing security challenges | |
Yu et al. | A trusted architecture for virtual machines on cloud servers with trusted platform module and certificate authority | |
CN114547656A (zh) | 一种云环境下基于Intel SGX的两阶段远程证明方法 | |
Schiffman et al. | Justifying integrity using a virtual machine verifier | |
Park et al. | TGVisor: A tiny hypervisor-based trusted geolocation framework for mobile cloud clients | |
Pop et al. | Towards securely migrating webassembly enclaves | |
Härtig et al. | Lateral thinking for trustworthy apps | |
Sajid et al. | An analysis on host vulnerability evaluation of modern operating systems | |
Park et al. | A tiny hypervisor-based trusted geolocation framework with minimized TPM operations | |
Zhang | Detection and mitigation of security threats in cloud computing | |
Alsouri et al. | Trustable outsourcing of business processes to cloud computing environments | |
Pedone et al. | Trusted computing technology and proposals for resolving cloud computing security problems | |
US11886223B2 (en) | Leveraging hardware-based attestation to grant workloads access to confidential data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |