CN105354493B - 基于虚拟化技术的终端可信增强方法及*** - Google Patents

基于虚拟化技术的终端可信增强方法及*** Download PDF

Info

Publication number
CN105354493B
CN105354493B CN201510696555.9A CN201510696555A CN105354493B CN 105354493 B CN105354493 B CN 105354493B CN 201510696555 A CN201510696555 A CN 201510696555A CN 105354493 B CN105354493 B CN 105354493B
Authority
CN
China
Prior art keywords
ukey
trusted terminal
white list
application program
virtual machine
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.)
Expired - Fee Related
Application number
CN201510696555.9A
Other languages
English (en)
Other versions
CN105354493A (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.)
Beijing Zhong'an Xinkong Technology Co Ltd
PLA Equipment College
Original Assignee
Beijing Zhong'an Xinkong Technology Co Ltd
PLA Equipment College
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 Beijing Zhong'an Xinkong Technology Co Ltd, PLA Equipment College filed Critical Beijing Zhong'an Xinkong Technology Co Ltd
Priority to CN201510696555.9A priority Critical patent/CN105354493B/zh
Publication of CN105354493A publication Critical patent/CN105354493A/zh
Application granted granted Critical
Publication of CN105354493B publication Critical patent/CN105354493B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (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

本发明提供了一种基于虚拟化技术的终端可信增强方法及***。其中,该方法包括:可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***;可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现可信终端的可信增强。本发明根据Ukey中存储的校验信息来启动操作***,建立静态信任链,从内部防止操作***信息的泄露或篡改。而根据白名单配置文件来对加载的应用程序进行完整性检验,建立动态信任链,从外部阻止恶意攻击和越权访问。

Description

基于虚拟化技术的终端可信增强方法及***
技术领域
本发明涉及可信计算领域,具体而言,涉及一种基于虚拟化技术的终端可信增强方法及***。
背景技术
随着终端的普及,终端安全已成为人们关注的重要问题。如何实现终端安全,为用户提供可信赖的终端计算环境,已成为目前急需解决的问题。
当前,针对于终端安全问题,尤其是终端操作***安全问题,主要是通过防火墙、入侵检测和病毒防护等传统的操作***安全技术,从外部来封堵企图共享信息资源和越权访问的非法用户。
但是这些传统的操作***安全技术只能从外部来防止恶意攻击和越权访问,无法防止终端操作***内部信息的泄漏或篡改。
发明内容
有鉴于此,本发明实施例的目的在于提供一种基于虚拟化技术的终端可信增强方法及***,从内部防止操作***信息的泄露或篡改,实现终端的可信增强。
第一方面,本发明实施例提供了一种基于虚拟化技术的终端可信增强方法,所述方法包括:
可信终端根据小型存储设备Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***;
所述可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现所述可信终端的可信增强;其中,所述白名单配置文件包括应用程序的标识、所述应用程序的动态库的标识及所述应用程序的摘要值。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,包括:
可信终端开机启动时,生成裸机型虚拟机相关文件的校验值及操作***内核文件的校验值;
所述可信终端调用Ukey中的密码杂凑SM3算法接口分别对所述裸机型虚拟机相关文件的校验值及所述操作***内核文件的校验值进行二次校验,得到所述裸机型虚拟机相关文件的二次校验值及所述操作***内核文件的二次校验值;
所述可信终端分别将所述裸机型虚拟机相关文件的二次校验值和所述操作***内核文件的二次校验值与所述Ukey中存储的校验信息进行比较,根据比较的结果确定所述操作***内核文件及所述裸机型虚拟机相关文件的完整性。
结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,包括:
所述可信终端启动操作***后,加载白名单驱动程序,通过所述白名单驱动程序拦截在用户态动态加载的应用程序、服务及外部设备驱动;
所述可信终端调用本地SM3算法对拦截到的所述应用程序、服务及外部设备驱动进行检验运算,分别得到所述应用程序、服务及外部设备驱动对应的校验值;
所述可信终端根据白名单配置文件和所述应用程序、服务及外部设备驱动的标识,对所述应用程序、服务及外部设备驱动对应的校验值进行校验,根据校验的结果确定所述应用程序、服务及外部设备驱动的完整性。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验之前,还包括
可信终端接收管理中心发送的白名单配置文件和裸机型虚拟机安装程序,存储所述白名单配置文件,根据所述裸机型虚拟机安装程序,安装预设数量的裸机型虚拟机,并通过串行通信总线USB接口与Ukey建立通信连接。
结合第一方面的第三种可能的实现方式,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述通过串行通信总线USB接口与Ukey建立通信连接,包括:
所述可信终端检测到USB接口有Ukey***时,提示用户输入个人识别密码PIN码;
所述可信终端获取所述Ukey中存储的PIN码,将获取的PIN码与所述用户输入的PIN码进行比较;
若所述获取的PIN码与所述用户输入的PIN码相同,则所述可信终端与所述Ukey建立通信连接。
结合第一方面,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述方法还包括:
所述可信终端采集用户操作信息和访问行为信息,将所述用户操作信息和所述访问行为信息组成安全日志,存储所述安全日志,并每隔预设时间段将所述安全日志发送给管理中心。
第二方面,本发明实施例提供了一种基于虚拟化技术的终端可信增强方法,所述方法包括:
管理中心生成Ukey配置信息,将所述Ukey配置信息存储在可信终端对应的Ukey中,所述Ukey配置信息包括校验信息,以使所述可信终端根据所述Ukey中存储的校验信息启动操作***;
所述管理中心获取白名单配置文件,所述白名单配置文件包括应用程序的标识、所述应用程序的动态库的标识及所述应用程序的摘要值;
所述管理中心发送裸机型虚拟机安装程序和所述白名单配置文件给所述可信终端,使所述可信终端根据所述裸机型虚拟机安装程序安装裸机型虚拟机,以及使所述可信终端根据所述白名单配置文件实现可信增强。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述管理中心获取白名单配置文件,包括:
所述管理中心在样板机上安装应用程序时,通过可信进程调用本地SM3算法计算所述应用程序的每个可执行文件的摘要值,得到所述应用程序的摘要值;
所述管理中心检测到所述应用程序安装过程中加载动态库时,获取所述动态库的名称;
所述管理中心将所述应用程序的名称、所述动态库的名称及所述应用程序的摘要值组成白名单配置文件中所述应用程序对应的一条记录。
结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述方法还包括:
所述管理中心接收所述可信终端发送的安全日志,将所述安全日志发送给审计管理员对应的终端。
第三方面,本发明实施例提供了一种基于虚拟化技术的终端可信增强***,所述***包括:管理中心和可信终端;
所述管理中心,用于生成Ukey配置信息,将所述Ukey配置信息存储在所述可信终端对应的Ukey中,获取白名单配置文件,以及发送裸机型虚拟机安装程序和所述白名单配置文件给所述可信终端,所述Ukey配置信息包括校验信息,所述白名单配置文件包括应用程序的标识、所述应用程序的动态库的标识及所述应用程序的摘要值;
所述可信终端,用于根据所述Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过启动后操作***;以及接收所述管理中心发送的裸机型虚拟机安装程序和所述白名单配置文件,根据所述裸机型虚拟机安装程序安装裸机型虚拟机,根据所述白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现所述可信终端的可信增强。
在本发明实施例中,可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***,建立了静态信任链,从内部防止操作***信息的泄露或篡改。另外,可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,建立了动态信任链,从外部阻止恶意攻击和越权访问,实现了可信终端的可信增强。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A示出了本发明实施例1所提供的一种基于虚拟化技术的终端可信增强方法的信令交互图;
图1B示出了本发明实施例1所提供的一种Ukey配置信息的示意图;
图1C示出了本发明实施例1所提供的一种虚拟的可信终端的体系结构示意图;
图1D示出了本发明实施例1所提供的一种静态信任链建立过程的示意图;
图2示出了本发明实施例2所提供的一种基于虚拟化技术的终端可信增强***的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中防火墙、入侵检测和病毒防护等传统的操作***安全技术,只能从外部来防止恶意攻击和越权访问,无法防止终端操作***内部信息的泄漏或篡改。基于此,本发明实施例提供了一种基于虚拟化技术的终端可信增强方法及***。下面通过实施例进行描述。
本发明所提供的可信增强方法更适用于安装裸机型虚拟机的终端。裸机型虚拟机是基于操作***基础上的虚拟机,在切换终端上安装的不同裸机型虚拟机时,需要关闭当前正启用的裸机型虚拟机,然后启动需要使用的裸机型虚拟机。裸机型虚拟机与应用层虚拟机不同,两者之间的区别在于,应用层虚拟机共用终端的***资源,启动应用层虚拟机不需要关闭终端安装的其他应用层虚拟机。而裸机型虚拟机独占使用终端的***资源,每次使用一裸机型虚拟机时都要先关闭终端安装的其他裸机型虚拟机。本发明提供的基于虚拟化技术的终端可信增强方法就是基于终端的裸机型虚拟化技术的。下面通过具体的实施例来描述该可信增强方法。
实施例1
参见图1A,本发明实施例提供了一种基于虚拟化技术的终端可信增强方法。在本发明实施例中,以裸机型虚拟机技术和可信计算技术为基础,设计并开发可信终端,通过管理中心对可信终端进行统一管理,实现可信终端的可信增强。在本发明中,可信终端可以为计算机、网关或PAD(Portable Android Device,平板电脑)等终端设备。该方法具体包括以下步骤:
其中,在实现可信终端的可信增强时,管理中心首先通过如下步骤101-104的操作来对可信终端进行初始化配置。
步骤101:管理中心生成Ukey(小型存储设备)配置信息,将Ukey配置信息存储在可信终端对应的Ukey中,该Ukey配置信息包括校验信息;
在本发明实施例中,管理中心可以为管理服务器或具有管理控制功能的终端等,可信终端可以为计算机或网关等设备。上述Ukey是一种通过USB(Universal Serial Bus,通用串行总线)接口直接与可信终端相连、具有密码验证功能且可靠高速的小型存储设备。且本发明所采用的Ukey中内置了SM3(密码杂凑算法)算法、SM2(非对称密码算法)算法和SM4(对称密码算法)算法。
管理中心根据***运行过程中所需的数据结构和算法,生成Ukey配置信息。Ukey配置信息所占用的Ukey存储空间大小约为2KB。如图1B所示,Ukey配置信息包括PIN(Personal Identification Number,个人识别密码)码、Ukey证书、Ukey私钥、校验信息、状态位和管理中心的证书。上述校验信息包括内核白名单校验值以及裸机型虚拟机文件、MBR(Main Boot Record,主引导记录)和OSLOADER(操作***加载程序)的校验值。其中,图1B中没有明确标识出校验信息,而是直接画出内核白名单校验值以及裸机型虚拟机文件、MBR和OSLOADER的校验值。上述校验值的大小均为32字节。
其中,PIN码用于进行设备认证,终端在需要读或写Ukey中的数据时,需要首先输入PIN码,通过认证后才允许执行下一步操作。另外,可信终端上可以根据用户需求安装多个裸机型虚拟机,Ukey证书是管理中心为可信终端上的每个裸机型虚拟机生成的证书,Ukey证书的个数与可信终端上裸机型虚拟机的个数相同。Ukey私钥与Ukey证书一一对应,因此Ukey私钥的个数也与裸机型虚拟机的个数相同。上述内核白名单校验值包括***注册表中所有boot(引导)项的SM3校验值。每个boot项的SM3校验值的大小均为32字节。Ukey配置信息包括的状态位为0或1,0表示启动时需执行安装流程,即完成校验值采集过程,1表示启动时需执行静态信任链建立流程,即正常启动过程。
管理中心生成Ukey配置信息之后,将Ukey配置信息存储在可信终端对应的Ukey中。在本发明实施例中,管理中心可以对多个可信终端进行统一管理,按照本步骤的操作为每一个可信终端配置Ukey。可信终端对应的Ukey配置完成后发放给该可信终端对应的用户。
在本发明中,采用外置Ukey进行检验的方式,实现虚拟的可信终端的静态信任链和动态信任链的完整传递,保障了终端的安全可信。其中,静态信任链即为操作***各层文件完整性校验通过后启动操作***,动态信任链即为应用程序完整性检验通过后加载应用程序。
为可信终端配置Ukey后,可信终端可以通过Ukey来检测操作***各部分的完整性,当操作***各部分均检测通过后,才能启动操作***,从而实现了静态信任链的建立,增强了可信终端的可信性。
在本发明中,管理中心对Ukey进行发行、维护或注销等管理操作。首先选择某一裸机型虚拟机,可查看到此裸机型虚拟机对应的Ukey信息,包括Ukey编号、发行时间、发行人、维护时间、维护人及当前状态。当前状态分为在用、已过期和待发行三种状态。在用状态属于正常状态,已过期状态需要进行维护,待发行状态的Ukey不可用。
发行Ukey时,向Ukey中写入初始PIN码,状态位。同时获取对应终端中的裸机型虚拟机数量,调用证书生成接口生成对应数量的证书和私钥,写入Ukey,同时将证书数据再存入管理中心数据库中。
在本发明中,通过Ukey来保证可信终端的操作***正常启动之后,可信终端上加载的应用程序、服务或外部设备驱动等也可能存在不完整或被篡改的可能,导致可信终端的可信性不高,因此管理中心需要通过如下步骤102的操作来为所有的可信终端配置一个通用的白名单配置文件,使可信终端可以根据该白名单配置文件检验加载的应用程序、服务或外部设备驱动的完整性,以进一步增强可信终端的可信性。
步骤102:管理中心获取白名单配置文件,白名单配置文件包括应用程序的标识、应用程序的动态库的标识及应用程序的摘要值;
管理中心通过在样板机上安装需要的应用程序来生成白名单配置文件,具体包括:
管理中心在样板机上安装应用程序时,通过可信进程调用本地SM3算法计算应用程序的每个可执行文件的摘要值,得到应用程序的摘要值。管理中心检测到应用程序安装过程中加载动态库时,获取动态库的名称。管理中心将应用程序的名称、动态库的名称及应用程序的摘要值组成白名单配置文件中该应用程序对应的一条记录。对于需要的每个应用程序,都按照上述方式生成该应用程序对应的一条记录。
另外,对于不同版本的操作***存在不同的内核应用程序,这部分内核应用程序也由样板机可信进程按照上述方式完成信息采集,将采集到的信息追加到白名单文件中。样板机将采集到的信息上传至管理中心,管理中心对每个样板机上传的信息进行汇总,得到白名单配置文件。
管理中心还将所采集应用程序的名称、采集时间、采集人等信息录入数据库,便于管理员查看。管理中心具有白名单管理功能,主要包括白名单信息的查看。管理员可以通过管理中心以列表方式查询当前白名单配置文件中所包含的应用程序名称、采集时间和采集人等信息。当可信终端需要运行新的应用程序时,可向管理中心提出申请,管理员审查通过后,管理中心通过在样板机上安装该新的应用程序的方式,采集该新的应用程序的摘要值加入白名单配置文件,将生成的新的白名单配置文件下发给可信终端,使可信终端利用新的白名单配置文件替换原有的白名单配置文件。
通过上述步骤101和102的操作配置了可信终端对应的Ukey,并生成了白名单配置文件之后,需要通过如下步骤103的操作对可信终端进行初始化配置。
步骤103:管理中心发送裸机型虚拟机安装程序和白名单配置文件给可信终端;
在本发明中,开发裸机型裸机型虚拟机,从底层硬件起虚拟出多个用户裸机型虚拟机。在可信终端安装裸机型虚拟机之前,管理中心通过在线或离线的方式发送裸机型虚拟机安装程序给可信终端。上述离线的方式可以为通过安装光盘等传输介质将裸机型虚拟机安装文件下发给可信终端。同时,将白名单配置文件发送给可信终端。
另外,在本步骤中也可以由可信终端主动向管理中心请求获取裸机型虚拟机安装程度和白名单配置文件。
在本发明中,可以通过管理中心来统一管理多个可信终端。管理中心中存储有每个可信终端的记录。可信终端的记录中包括可信终端ID(Identity,身份标识号码)、所属部门、负责人ID、裸机型虚拟机数量及当前状态。其中,裸机型虚拟机数量为预设的,可以为1至8之间的任一数值。当前状态用于标识该可信终端是否已启用。管理人员可以通过管理中心查询每个可信终端的记录。可信终端的记录中除可信终端ID外其它信息均可以修改。在删除一可信终端的记录时,需要首先判断此可信终端是否已分配Ukey。若已分配,则需要先注销其Ukey,再删除该可信终端的记录。若未分配Ukey,则可直接删除该可信终端的记录。删除记录后,该可信终端将不能正常启用。且删除该可信终端的记录时需同时删除该可信终端相应的裸机型虚拟机记录。
步骤104:可信终端接收管理中心发送的裸机型虚拟机安装程序和白名单配置文件,存储白名单配置文件,通过USB接口与Ukey建立通信连接,根据裸机型虚拟机安装程序,安装预设数量的裸机型虚拟机;
在本步骤中可信终端通过USB接口与Ukey建立通信连接的过程如下:
可信终端检测到USB接口有Ukey***时,提示用户输入PIN码,当检测到用户的输入操作时获取用户输入的PIN码。可信终端通过与Ukey之间的通信连接获取Ukey中存储的PIN码,将获取的PIN码与用户输入的PIN码进行比较,若获取的PIN码与用户输入的PIN码相同,则可信终端与Ukey建立通信连接。否则建立通信连接失败,可以提示用户再次输入PIN码,按照上述方式再次进行操作,但是为了保障可信终端的安全性,可以设置PIN码的错误次数,当用户输入的PIN码的错误次数超过设置的错误次数时,禁止与该Ukey建立通信连接,如此可以防止非法用户恶意破解Ukey的PIN码。
在本发明中,根据使用需求事先设置了可信终端可以安装的裸机型虚拟机的数量。可信终端接收到管理中心发送的裸机型虚拟机安装程序后,安装预设数量的裸机型虚拟机,裸机型虚拟机的具体安装过程如下:
可信终端根据裸机型虚拟机安装程序执行安装过程,将操作***程序复制到本地硬盘,重启操作***。***重启后,***程序完成安装,并采集静态信任链各阶段校验值写入Ukey,然后***重新启动,用户选择裸机型虚拟机正常操作。
其中,上述校验值采集过程包括:调用本地SM3算法校验裸机型虚拟机相关文件,生成一个32字节的校验值,裸机型虚拟机相关文件包括VMM(Virtual Machine Monitor,裸机型虚拟机监控器)、IO(Input Output,输入输出)裸机型虚拟机和用户裸机型虚拟机等;调用本地SM3算法校验MBR和OSLOADER,生成一个32字节的校验值;查找当前启动裸机型虚拟机的注册表,找出所有boot项,调用本地SM3算法生成各boot项校验值,各boot项即为操作***内核文件;调用Ukey用户态SM3算法接口,对上述生成的校验值进行二次校验,得到裸机型虚拟机相关文件的二次校验值、各boot项的二次校验值以及MBR和OSLOADER的二次校验值,将得到的二次校验值写入Ukey,其中,各boot项的二次校验值写入Ukey中的内核白名单校验值中。
在本步骤中,通过NTFS(New Technology File System,新技术文件***)文件***识别各裸机型虚拟机操作***中与boot项相关的所有文件。通过NTFS文件***,可查找注册表中的相关文件项。对于每个裸机型虚拟机而言,所有的boot项对应一条摘要值的记录。摘要值在裸机型虚拟机安装过程中初始化,存入Ukey。在这些启动项进行更新后,需要更新Ukey中的摘要值。
在本发明中,虚拟的可信终端的体系结构如图1C所示,虚拟的可信终端主要包括:通用计算平台硬件、BIOS(Basic Input Output System,基本输入输出***)、MGR(管理器)、裸机型虚拟机模块、操作***内核模块、白名单模块和虚拟桌面模块等。
在管理中心完成对可信终端的初始化配置之后,当可信终端的配置信息发生变化时,需由管理中心对其进行调整。其中,可信终端中的裸机型虚拟机自身的配置文件不再进行更新。Ukey的私钥、Ukey的公钥证书及管理中心的公钥证书通过重新发行用户Ukey的方式进行离线更新。白名单配置文件可通过在线或离线方式进行更新。
本发明中,管理中心也对可信终端上的所有裸机型虚拟机进行统一管理,当可信终端上新安装一个裸机型虚拟机时,管理中心添加裸机型虚拟机记录,首先选择裸机型虚拟机对应的可信终端ID,通过可信终端的记录中设置的裸机型虚拟机数量进行判断,查看该可信终端安装的裸机型虚拟机数量是否已达最大数量。若是,则不允许继续添加裸机型虚拟机,否则可按照裸机型虚拟机的各属性进行设置。裸机型虚拟机的各属性包括裸机型虚拟机ID、所属可信终端ID、IP(Internet Protocol,网络间互联协议)地址及是否在线标识等。管理人员可以通过管理中心查询、修改或删除裸机型虚拟机记录,裸机型虚拟机记录被删除后,此裸机型虚拟机将不能再在其对应的可信终端上运行。
通过上述步骤101-104的操作就完成了对可信终端的初始化配置,可信终端可以通过如下步骤105和106的操作来建立静态信任链和动态信任链,实现可信增强。
步骤105:可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***;
可信终端开机启动时,生成裸机型虚拟机相关文件的校验值及操作***内核文件的校验值,调用Ukey中的SM3算法接口分别对裸机型虚拟机相关文件的校验值及操作***内核文件的校验值进行二次校验,得到裸机型虚拟机相关文件的二次校验值及操作***内核文件的二次校验值。可信终端分别将裸机型虚拟机相关文件的二次校验值和操作***内核文件的二次校验值与Ukey中存储的校验信息进行比较,根据比较的结果确定操作***内核文件及裸机型虚拟机相关文件的完整性,若裸机型虚拟机相关文件的二次校验值和操作***内核文件的二次校验值与Ukey中存储的校验信息中的相应校验值相同,则确定操作***内核文件及裸机型虚拟机相关文件的完整性高,启动操作***,否则不启动操作***,并提示用户进行状态恢复。
如图1D所示的静态信任链的建立过程,可信终端开机启动后,加载BIOS,然后BIOS加载MGR,MGR加载Ukey实模式驱动、NTFS文件***和本地SM3算法,并执行下列操作:
①MGR调用本地SM3算法校验裸机型虚拟机相关文件,包括VMM、IO裸机型虚拟机和用户裸机型虚拟机等,生成一个32字节的校验值;②MGR调用本地SM3算法校验MBR和OSLOADER,生成一个32字节的校验值;③MGR利用NTFS文件***查找当前启动裸机型虚拟机的注册表,找出所有boot项,调用本地SM3算法生成各boot项校验值;④调用实模式下Ukey的SM3算法接口,对①和②生成的较验值进行二次检验,并与Ukey中存储的校验值比对,若与Ukey中存储的校验值相同,则执行⑤,否则停止执行并提示用户进行状态恢复;⑤调用实模式下Ukey的SM3算法接口,对③中生成的各boot项校验值分别二次校验,并与Ukey中存储的内核白名单校验值进行比对,若比对相同则执行⑥,否则停止执行并提示用户进行状态恢复;⑥读取Ukey中管理中心公钥证书,利用公钥及Ukey的SM2算法接口对应用白名单签名进行检查,如通过则执行下步操作,否则停止执行并提示用户进行状态恢复。
上述所有校验通过后,MGR将执行权顺序交给MBR、OSLOADER和OSKERNAL(操作***内核)等,操作***正常启动,完成静态信任链的建立。
步骤106:可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现可信终端的可信增强;
可信终端启动操作***后,尽快加载白名单驱动程序,通过白名单驱动程序拦截在用户态动态加载的应用程序、服务及外部设备驱动,调用本地SM3算法对拦截到的应用程序、服务及外部设备驱动进行检验运算,分别得到应用程序、服务及外部设备驱动对应的校验值。可信终端根据白名单配置文件和应用程序、服务及外部设备驱动的标识,根据应用程序、服务及外部设备驱动的标识从白名单配置文件中获取应用程序、服务及外部设备驱动对应的校验值,将上述检验运算得到的校验值与从白名单配置文件中获取的校验值比较,若两者相同,则校验通过,确定应用程序、服务及外部设备驱动的完整性高,允许加载应用程序、服务及外部设备驱动,否则拒绝加载。
通过上述步骤105和106的操作实现可信终端的可信增强之后,为了进一步增强可信终端的可信性,还可以通过如下步骤107和108的操作通过管理执行对可信终端记录的安全日志进行审查,以确保可信终端的可信性。
步骤107:可信终端采集用户操作信息和访问行为信息,将用户操作信息和访问行为信息组成安全日志,存储安全日志,并每隔预设时间段将安全日志发送给管理中心;
上述预设时间段可以为一天活一周等。上述安全日志可以包括可信终端ID、裸机型虚拟机ID、事件及日期等。
步骤108:管理中心接收可信终端发送的安全日志,将安全日志发送给审计管理员对应的终端。
对于对可信终端的安全日志进行审查,也可以由审计管理员使用个人授权Ukey直接登录该可信终端,来对该可信终端存储的的安全日志进行安全审查。
在本发明实施例中,以裸机型虚拟机技术和可信计算技术为基础,设计并开发可信终端,实现一台可信终端虚拟出多个可信虚拟终端,从终端可信入手,可以将可信链扩展到网络应用和服务,保证整个网络的安全可信,以满足信息***高安全、高可靠、高实时的任务保障需要。
在本发明实施例中,可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***,建立了静态信任链,从内部防止操作***信息的泄露或篡改。另外,可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,建立了动态信任链,从外部阻止恶意攻击和越权访问,实现了可信终端的可信增强。
实施例2
参见图2,本发明实施例提供了一种基于虚拟化技术的终端可信增强***,该***用于执行上述基于虚拟化技术的终端可信增强方法。该***具体包括:管理中心201和可信终端202;
管理中心201,用于生成Ukey配置信息,将Ukey配置信息存储在可信终端202对应的Ukey中,获取白名单配置文件,以及发送裸机型虚拟机安装程序和白名单配置文件给可信终端202,Ukey配置信息包括校验信息,白名单配置文件包括应用程序的标识、应用程序的动态库的标识及应用程序的摘要值;
可信终端202,用于根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过启动后操作***;以及接收管理中心201发送的裸机型虚拟机安装程序和白名单配置文件,根据裸机型虚拟机安装程序安装裸机型虚拟机,根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现可信终端202的可信增强。
另外,可信终端202还采集用户操作信息和访问行为信息,将用户操作信息和访问行为信息组成安全日志,存储安全日志,并每隔预设时间段将安全日志发送给管理中心202。管理中心202接收可信终端201发送的安全日志,将安全日志发送给审计管理员对应的终端。
在本发明实施例中,可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***,建立了静态信任链,从内部防止操作***信息的泄露或篡改。另外,可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,建立了动态信任链,从外部阻止恶意攻击和越权访问,实现了可信终端的可信增强。
对于本发明实施例所提供的基于虚拟化技术的终端可信增强***,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的***、模块和单元的具体工作过程,均可以参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所揭露***和方法,可以通过其它的方式实现。以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种基于虚拟化技术的终端可信增强方法,其特征在于,所述方法包括:
可信终端根据小型存储设备Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过后启动操作***;所述校验信息包括内核白名单校验值以及裸机型虚拟机文件、主引导记录MBR和操作***加载程序OSLOADER的校验值;
所述可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现所述可信终端的可信增强;其中,所述白名单配置文件包括应用程序的标识、所述应用程序的动态库的标识及所述应用程序的摘要值。
2.根据权利要求1所述的方法,其特征在于,所述可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,包括:
可信终端开机启动时,生成裸机型虚拟机相关文件的校验值及操作***内核文件的校验值;
所述可信终端调用Ukey中的密码杂凑SM3算法接口分别对所述裸机型虚拟机相关文件的校验值及所述操作***内核文件的校验值进行二次校验,得到所述裸机型虚拟机相关文件的二次校验值及所述操作***内核文件的二次校验值;
所述可信终端分别将所述裸机型虚拟机相关文件的二次校验值和所述操作***内核文件的二次校验值与所述Ukey中存储的校验信息进行比较,根据比较的结果确定所述操作***内核文件及所述裸机型虚拟机相关文件的完整性。
3.根据权利要求1所述的方法,其特征在于,所述可信终端根据白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,包括:
所述可信终端启动操作***后,加载白名单驱动程序,通过所述白名单驱动程序拦截在用户态动态加载的应用程序、服务及外部设备驱动;
所述可信终端调用本地SM3算法对拦截到的所述应用程序、服务及外部设备驱动进行检验运算,分别得到所述应用程序、服务及外部设备驱动对应的校验值;
所述可信终端根据白名单配置文件和所述应用程序、服务及外部设备驱动的标识,对所述应用程序、服务及外部设备驱动对应的校验值进行校验,根据校验的结果确定所述应用程序、服务及外部设备驱动的完整性。
4.根据权利要求1所述的方法,其特征在于,所述可信终端根据Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验之前,还包括
可信终端接收管理中心发送的白名单配置文件和裸机型虚拟机安装程序,存储所述白名单配置文件,根据所述裸机型虚拟机安装程序,安装预设数量的裸机型虚拟机,并通过串行通信总线USB接口与Ukey建立通信连接。
5.根据权利要求4所述的方法,其特征在于,所述通过串行通信总线USB接口与Ukey建立通信连接,包括:
所述可信终端检测到USB接口有Ukey***时,提示用户输入个人识别密码PIN码;
所述可信终端获取所述Ukey中存储的PIN码,将获取的PIN码与所述用户输入的PIN码进行比较;
若所述获取的PIN码与所述用户输入的PIN码相同,则所述可信终端与所述Ukey建立通信连接。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述可信终端采集用户操作信息和访问行为信息,将所述用户操作信息和所述访问行为信息组成安全日志,存储所述安全日志,并每隔预设时间段将所述安全日志发送给管理中心。
7.一种基于虚拟化技术的终端可信增强方法,其特征在于,所述方法包括:
管理中心生成Ukey配置信息,将所述Ukey配置信息存储在可信终端对应的Ukey中,所述Ukey配置信息包括校验信息,以使所述可信终端根据所述Ukey中存储的校验信息启动操作***;所述校验信息包括内核白名单校验值以及裸机型虚拟机文件、主引导记录MBR和操作***加载程序OSLOADER的校验值;
所述管理中心获取白名单配置文件,所述白名单配置文件包括应用程序的标识、所述应用程序的动态库的标识及所述应用程序的摘要值;
所述管理中心发送裸机型虚拟机安装程序和所述白名单配置文件给所述可信终端,使所述可信终端根据所述裸机型虚拟机安装程序安装裸机型虚拟机,以及使所述可信终端根据所述白名单配置文件实现可信增强。
8.根据权利要求7所述的方法,其特征在于,所述管理中心获取白名单配置文件,包括:
所述管理中心在样板机上安装应用程序时,通过可信进程调用本地SM3算法计算所述应用程序的每个可执行文件的摘要值,得到所述应用程序的摘要值;
所述管理中心检测到所述应用程序安装过程中加载动态库时,获取所述动态库的名称;
所述管理中心将所述应用程序的名称、所述动态库的名称及所述应用程序的摘要值组成白名单配置文件中所述应用程序对应的一条记录。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述管理中心接收所述可信终端发送的安全日志,将所述安全日志发送给审计管理员对应的终端。
10.一种基于虚拟化技术的终端可信增强***,其特征在于,所述***包括:管理中心和可信终端;
所述管理中心,用于生成Ukey配置信息,将所述Ukey配置信息存储在所述可信终端对应的Ukey中,获取白名单配置文件,以及发送裸机型虚拟机安装程序和所述白名单配置文件给所述可信终端,所述Ukey配置信息包括校验信息,所述白名单配置文件包括应用程序的标识、所述应用程序的动态库的标识及所述应用程序的摘要值;所述校验信息包括内核白名单校验值以及裸机型虚拟机文件、主引导记录MBR和操作***加载程序OSLOADER的校验值;
所述可信终端,用于根据所述Ukey中存储的校验信息,对操作***内核文件及裸机型虚拟机相关文件进行完整性校验,校验通过启动后操作***;以及接收所述管理中心发送的裸机型虚拟机安装程序和所述白名单配置文件,根据所述裸机型虚拟机安装程序安装裸机型虚拟机,根据所述白名单配置文件和白名单驱动程序对动态加载的应用程序、服务及外部设备驱动进行完整性检验,实现所述可信终端的可信增强。
CN201510696555.9A 2015-10-22 2015-10-22 基于虚拟化技术的终端可信增强方法及*** Expired - Fee Related CN105354493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510696555.9A CN105354493B (zh) 2015-10-22 2015-10-22 基于虚拟化技术的终端可信增强方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510696555.9A CN105354493B (zh) 2015-10-22 2015-10-22 基于虚拟化技术的终端可信增强方法及***

Publications (2)

Publication Number Publication Date
CN105354493A CN105354493A (zh) 2016-02-24
CN105354493B true CN105354493B (zh) 2018-11-23

Family

ID=55330464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510696555.9A Expired - Fee Related CN105354493B (zh) 2015-10-22 2015-10-22 基于虚拟化技术的终端可信增强方法及***

Country Status (1)

Country Link
CN (1) CN105354493B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516039B (zh) * 2016-06-17 2020-12-22 咪咕音乐有限公司 虚拟化***的安全防护方法及装置
CN106372487A (zh) * 2016-08-30 2017-02-01 孙鸿鹏 一种服务器操作***可信增强方法及***
CN106452721A (zh) * 2016-10-14 2017-02-22 牛毅 一种基于标识公钥的智能设备指令鉴别方法及***
CN107071012B (zh) * 2017-03-29 2020-01-14 广州杰赛科技股份有限公司 云终端自动连接到虚拟机的方法、装置及***
CN108021798A (zh) * 2017-12-21 2018-05-11 鸿秦(北京)科技有限公司 一种基于USBkey的可信操作***
CN108763935A (zh) * 2018-05-30 2018-11-06 郑州云海信息技术有限公司 一种操作***os虚拟机内核完整性监控***和方法
CN108959903B (zh) * 2018-06-11 2022-03-04 超越科技股份有限公司 一种移动存储设备安全管控方法及***
CN109388474A (zh) * 2018-09-25 2019-02-26 郑州云海信息技术有限公司 一种Qemu虚拟可信根数据完整性的检测方法及***
CN110135153A (zh) * 2018-11-01 2019-08-16 哈尔滨安天科技股份有限公司 软件的可信检测方法及装置
EP3650968A1 (de) * 2018-11-07 2020-05-13 Siemens Aktiengesellschaft Verfahren zum betrieb einer produktions- oder werkzeugmaschine und produktions- oder werkzeugmaschine sowie computerprogramm zum betrieb einer produktions- oder werkzeugmaschine
CN110188547B (zh) * 2019-05-14 2021-05-14 北京可信华泰信息技术有限公司 一种可信加密***及方法
CN110247740B (zh) * 2019-05-17 2022-03-08 五邑大学 一种数据传输方法、装置、设备和存储介质
CN110990807B (zh) * 2019-11-18 2022-04-12 上海龙旗科技股份有限公司 一种用于移动终端加密、解密的方法及设备
CN113836542B (zh) * 2021-10-13 2024-06-14 南方电网数字平台科技(广东)有限公司 可信白名单匹配方法、***和装置
CN117610047B (zh) * 2023-11-29 2024-05-31 长扬科技(北京)股份有限公司 一种工控终端的安全防护方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244684A (zh) * 2011-07-29 2011-11-16 电子科技大学 基于usbkey的efi可信云链引导方法
CN102546601A (zh) * 2011-12-19 2012-07-04 广州杰赛科技股份有限公司 云计算终端接入虚拟机的辅助装置
CN104378206A (zh) * 2014-10-20 2015-02-25 中国科学院信息工程研究所 一种基于USB-Key的虚拟桌面安全认证方法及***
CN104951712A (zh) * 2014-03-24 2015-09-30 国家计算机网络与信息安全管理中心 一种Xen虚拟化环境下的数据安全防护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244684A (zh) * 2011-07-29 2011-11-16 电子科技大学 基于usbkey的efi可信云链引导方法
CN102546601A (zh) * 2011-12-19 2012-07-04 广州杰赛科技股份有限公司 云计算终端接入虚拟机的辅助装置
CN104951712A (zh) * 2014-03-24 2015-09-30 国家计算机网络与信息安全管理中心 一种Xen虚拟化环境下的数据安全防护方法
CN104378206A (zh) * 2014-10-20 2015-02-25 中国科学院信息工程研究所 一种基于USB-Key的虚拟桌面安全认证方法及***

Also Published As

Publication number Publication date
CN105354493A (zh) 2016-02-24

Similar Documents

Publication Publication Date Title
CN105354493B (zh) 基于虚拟化技术的终端可信增强方法及***
US11489863B1 (en) Foundation of sidescanning
US11176255B2 (en) Securely booting a service processor and monitoring service processor integrity
US11503030B2 (en) Service processor and system with secure booting and monitoring of service processor integrity
CN103329093B (zh) 用于更新执行环境中的代码的方法和***
US7788730B2 (en) Secure bytecode instrumentation facility
US9137023B1 (en) Self-signed certificates for computer application signatures
CN103530563B (zh) 用于更新经授权软件的***和方法
CN103368987B (zh) 云服务器、应用程序的审核认证及管理***和方法
CN104137114A (zh) 集中式操作管理
CN105760787B (zh) 用于检测随机存取存储器中的恶意代码的***及方法
CN110661831B (zh) 一种基于可信第三方的大数据试验场安全初始化方法
WO2011146305A2 (en) Extending an integrity measurement
CN108537042A (zh) 自定义插件生成方法、装置、设备及存储介质
CN106372487A (zh) 一种服务器操作***可信增强方法及***
CN110199283A (zh) 用于在网络功能虚拟化环境中认证平台信任的***和方法
CN108205491B (zh) 一种基于nkv6.0***的可信技术兼容性测试方法
CN116724309A (zh) 设备和通信方法
CN109522683A (zh) 软件溯源方法、***、计算机设备及存储介质
WO2018233638A1 (zh) Ai软件***安全状态的确定方法及装置
CN113886894A (zh) 数字签名方法和数字签名设备
JP2019008568A (ja) ホワイトリスト管理システムおよびホワイトリスト管理方法
Mellberg Secure Updating of Configurations in a System of Devices
Hohenegger Developing a Vulnerability Assessment Concept for eHealth iOS Applications
WO2022229731A1 (en) Systems and methods for side scanning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181123

Termination date: 20191022