首页> 中国专利> 一种适用于电力系统通用计算平台的可信计算密码平台

一种适用于电力系统通用计算平台的可信计算密码平台

摘要

本发明提供了一种适用于电力系统通用计算平台的可信计算密码平台,所述密码平台包括:可信计算密码模块和可信软件系统;所述可信计算密码模块包括可信度量根、可信存储根、可信报告根,是平台信任链传递的起点;所述可信软件系统包括:可信计算密码驱动模块、度量模块和审计模块,为操作系统和应用软件提供使用可信计算密码平台的接口。可信计算密码模块为信任根,为可信计算密码平台的运行提供可信环境,可信软件系统是可信计算密码平台功能及服务实现的核心,为可信计算密码平台的管理提供保障。本发明可为业务系统提供静态度量、动态度量、白名单和访问控制等功能,通过对系统软件的来源及运行进行管理,保证软件的可信、可识别和可控。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-01

    授权

    授权

  • 2017-04-26

    著录事项变更 IPC(主分类):G06F21/57 变更前: 变更后: 申请日:20151116

    著录事项变更

  • 2017-01-25

    实质审查的生效 IPC(主分类):G06F21/57 申请日:20151116

    实质审查的生效

  • 2016-04-06

    公开

    公开

说明书

技术领域

本发明涉及可信计算技术领域,具体涉及一种适用于电力系统通用计算平台的可信计算密码平台。

背景技术

信息系统不安全的根源是由于PC结构的简化,对系统中的进程、程序没有校验,导致可执行程序、进程在非授权情况下任意执行,实施恶意行为,而传统的防火墙、防病毒、IDS,都是以外围封堵、事后升级病毒代码库为主,不能主动防御、积极防御。

可信计算通过在硬件上引入可信芯片,从结构上解决了个人计算机体系结构简化带来的脆弱性问题,基于硬件芯片,从平台加电开始,到应用程序的执行,构建完整的信任链,一级认证一级,一级信任一级,未获认证的程序不能执行,从而使信息系统实现自身免疫,构建高安全等级的信息系统。

发明内容

为克服上述现有技术的不足,本发明提供一种适用于电力系统通用计算平台的可信计算密码平台。为业务系统提供基于白名单的业务系统恶意代码免疫机制,提供操作系统可信引导机制,同时自身具备安全策略的保护和管理机制。通过对系统软件的来源及运行进行管理,保证软件的可信、可识别和可控,按照预设的配置策略对程序的关键模块和进程的资源访问进行控制,实现对已知/未知恶意代码的主动防御,降低可执行程序被破坏被篡改的风险,保障可执行程序安全稳定运行。

实现上述目的所采用的解决方案为:

一种适用于电力系统通用计算平台的可信计算密码平台,所述密码平台包括:可信计算密码模块和可信软件系统;

所述可信计算密码模块包括可信度量根、可信存储根、可信报告根,是平台信任链传递的起点;

所述可信软件系统包括:可信计算密码驱动模块、度量模块和审计模块,为操作系统和应用软件提供使用可信计算密码平台的接口。

优选的,所述可信计算密码模块包括硬件板卡形态和软件形态;

所述硬件板卡形态包括:执行引擎、非易失性存储单元、易失性存储单元、随机数发生器、密码算法引擎、密钥生成器和定时器,为可信软件系统提供硬件的密码算法和策略存储、保护与更新机制;

所述软件形态为可信软件系统提供软件形态的密码算法和策略存储、保护与更新机制。

优选的,所述可信计算密码驱动模块为所述可信计算密码模块提供驱动;

所述度量模块用于对所述可信计算密码平台后续软件的完整性度量;

所述后续软件包括:核心动态加载模块、动态库、不可控操作系统核心,以及不可控操作系统上的应用程序;

所述审计模块用于截获上层应用或者不可控操作系统的特定行为,进行行为审计和分析,并触发预定的响应动作。

进一步的,所述完整性度量包括静态度量和动态度量;

所述静态度量的内容包括系统中的可执行程序、动态库和内核模块,静态度量对该三类文件进行文件内容的哈希计算,并将计算结果与预期结果进行比较,以此来判断度量对象的完整性是否遭受破坏;

所述动态度量为在度量对象启动前完成对度量对象预期值的收集,并依据收集的预期值,在系统运行中对度量对象进行验证。

优选的,所述可信计算密码平台提供白名单机制和基于安全标签的强制访问控制;

所述白名单机制为在软件安装过程中通过扫描接口扫描生成白名单库,程序运行时依据所述白名单库判断是否允许程序运行;

所述基于安全标签的强制访问控制包括:

(1)人机发起服务访问请求;

(2)部署在SCADA服务器上的可信软件系统截获此请求;

(3)从请求的第一个数据包中提取主体安全标签;

(4)根据服务的端口号在端口和服务对应列表中寻找对应的服务名称;

(5)根据服务名称在客体标签列表找到相应的客体标签;

(6)将主体安全标签与客体标签中的权限值进行异或运算;

(7)如果权限判定通过,放行数据包;

(8)此请求的后续数据将直接放行,不在进行权限判定。

与现有技术相比,本发明具有以下有益效果:

(1)通过对系统软件的来源及运行进行管理,保证软件的可信、可识别和可控。

(2)能够按照预设的配置策略对程序的关键模块和进程的资源访问进行控制。

(3)实现对已知/未知恶意代码的主动防御,降低可执行程序被破坏被篡改的风险,保障可执行程序安全稳定运行。

附图说明

附图1:本发明的可信计算密码平台体系结构图;

附图2:本发明的可信计算密码模块组成;

附图3:本发明的静态度量体系结构图;

附图4:本发明的动态度量总体实现框架;

附图5:本发明的内核关键数据度量框图;

附图6:本发明的进程运行状态度量框图;

附图7:本发明的进程系统调用行为的度量框图;

附图8:本发明的白名单-软件安装控制机制;

附图9:本发明的可信计算密码平台和进程强制访问关系图;

附图10:本发明的基于安全标签的强制访问控制。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步的详细说明。

当系统启动时,可信芯片首先对BIOS的完整性进行度量,把度量结果与系统初始运行时采集的、保存在可信芯片中的预期值行比较。若结果一致,则表明BIOS没有被篡改,是可信的,BIOS中的度量代码将对OSLoader(包括主引导扇区MBR、操作系统引导扇区等)进行度量,当判定OSLoader是可信的情况下,执行操作系统的加载程序。OSLoader在加载操作系统前,首先对操作系统和可信计算密码平台进行度量,当判定其可信后,加载并执行操作系统和可信计算密码平台。操作系统启动后,可信计算密码平台获得控制权,对应用程序启动和相关配置文件的完整性进行度量,若应用和重要配置文件是可信的,操作系统加载并执行该应用程序。通过上述操作,可信计算平台为系统启动建立了由BIOS、OSLoader、操作系统、可信计算密码平台和应用组成的完整的信任链,从根本上消除了系统被植入病毒、木马进行破坏的可能性。

在系统运行过程中,对系统和进程是否处于可信的状态进行实时检测,对进程的系统调用行为,以及对运行状态中的内核关键数据(例如系统调用表、中断描述符表、关键操作集指针等)、内核代码段、进程代码段、进程共享库列表等进行度量,检测系统和进程空间的完整性是否被篡改。若完整性被破坏,进程的系统调用行为将被阻止,从而以主动防御的方式有效防范了利用系统漏洞将恶意代码注入系统和进程空间对系统进行渗透性攻击的安全风险。

●可信计算密码平台组成及工作原理:

可信计算密码平台以密码技术为构建基础,由可信计算密码模块和可信软件系统组成,体系结构如图1所示。其中可信计算密码模块为信任根,为可信计算密码平台的运行提供可信环境,可信软件系统是可信计算密码平台功能及服务实现的核心,并为可信计算密码平台的管理提供保障。

可信计算密码平台通过自下而上的可信支撑和信任的逐层传递,建立贯穿系统的可信链,构建可信计算环境。在终端主板上新增的可信计算密码模块是可信平台的信任根,包括可信度量根、可信存储根、可信报告根,是平台信任链传递的起点。可信度量根是完整性度量的可信根,可信存储根是数据存储保护的可信根,可信报告根是完整性报告的可信根;可信计算密码平台以可信计算密码模块自主可信根(RT)为核心部件实现完整性度量和存储机制,并实现可信引导和信任链的建立。可信软件系统是可信计算密码平台的支撑软件,为操作系统和应用软件提供一个使用可信计算密码平台的接口,同时,它还保证了信任链在软件系统上的传递。运行于可信计算平台上的应用借助于可信计算密码平台提供的可信服务,在可信计算环境中完成可信的应用功能和服务。

●可信计算密码模块

可信计算密码模块有硬件板卡和软件两种形态,根据服务器的安全需求级别采用不同形态的可信计算密码模块,如下表所示:

表1可信计算密码模块形态

硬件板卡形态的可信计算密码模块为可信软件系统提供硬件的密码算法和策略存储、保护与更新机制:

(1)密码算法:为可信软件系统提供高性能SM2和SM3算法;

(2)策略保护:存储可信软件系统策略文件的摘要值,为策略文件提供完整性保护,避免恶意篡改;

(3)操作系统可信启动:提供CPU实模式的驱动,为系统引导阶段提供针对内核的静态度量支撑。

软件形态的可信计算密码模块为可信软件系统提供软件形态的密码算法和策略存储、保护与更新机制:

(1)密码算法:为可信软件系统提供高性能SM2和SM3算法;

(2)策略保护:保护可信软件系统策略文件的摘要值,为策略文件提供完整性保护,避免恶意篡改。

硬件板卡形态可信计算密码模块芯片由执行引擎、非易失性存储单元、易失性存储单元、随机数发生器、密码算法引擎、密钥生成器、定时器等部分组成,如图2所示,并由输入输出桥接单元把将这些功能组件映射到片内CPU的地址空间。

可信计算密码模块方案中设计了独立于CPU的供电系统,所以可信计算密码模块可以作为主设备先于CPU启动,从而可以作为主设备运行,成为整个系统可信度量的起点,度量包括BIOS在内的所有部件,建立以可信计算密码模块为起点的信任链。

可信计算密码模块内部执行引擎是可信计算密码模块的运算执行单元。可信计算密码模块内部的非易失性存储单元分为程序存储单元、数据存储单元和可信寄存器组三部分,共设计1280字节的NV寄存器。其中,程序存储单元存储固件和控制程序"数据存储单元存储密钥、证书、日志和其他保密数据。可信寄存器组包括:模块标识寄存器、版本号寄存器、电源与状态管理寄存器、使用状态寄存器、当前用户身份识别寄存器、平台配置寄存器、平台绑定寄存器、用户管理寄存器、非易失存储器(NV)。

可信计算密码模块内部的易失性存储单元包括:平台配置寄存器和运算过程中开辟的数据缓冲区。用户注销时,重要数据存储到非易失存储器,清零易失性存储单元中用户空间。其中平台配置寄存器PCR是一个设置在可信计算密码模块内部的一组寄存器,共有128个256位受保护的平台配置寄存器(PCR),用于存储完整性度量值,可扩展到256个。

可信计算密码模块通过控制裁决引擎,实现对硬件资源的访问控制的裁决功能。裁决结果或者信号,通过GPIO信号线发送给可信计算平台。

●可信软件系统

可信软件系统作为可信计算密码平台的一部分,由下列组件组成:可信计算密码驱动模块、度量模块和审计模块。可信软件系统主要实现信任链的传递和应用软件以及不可控操作系统的度量和审计。可信计算密码驱动模块完成对可信计算密码模块设备的管理功能并提供驱动,由可信计算密码模块芯片厂商提供。可信软件系统中的度量模块主要实现可信计算密码平台对后续软件的完整性度量,这些软件包括:核心动态加载模块、应用程序、动态库、不可控操作系统核心,以及不可控操作系统上的应用程序等。

软件的完整性度量包含以下三个过程:

1)软件供应商在发布应用程序或其更新的同时,提供组成该应用程序的可执行文件(指包含代码的文件)对应的散列值的清单,并对每个散列值签名。操作系统在应用程序安装或更新后,将通过签名验证的“文件-散列值对”同步至应用程序摘要数据库(ADDB)。该数据库应使用存储主密钥保护。

2)操作系统核心在程序文件或共享库文件被执行前,调用可信计算密码模块请求可信计算密码模块度量相应文件。可信计算密码模块对指定文件做散列运算,并返回计算结果。若需针对该应用程序的完整性报告,则还需将上述计算所得散列值存储在特定的PCR,并记录度量存储日志(SML)。

3)操作系统将可信计算密码模块计算所得散列值与保存在ADDB中的预期值比较,若相符则执行相应代码,否则中止应用程序的执行。

可信软件系统中的审计模块的主要作用是截获上层应用或者不可控OS的特定行为,并进行行为审计和分析,并触发预定的响应动作。

当上层应用或者不可控操作系统需要进行启动程序、加载动态库或者加载内核模块等行为时,审计模块对行为对象(包括可执行程序,动态库,内核模块)的代码段,进行哈希运算,并验证其哈希值是否与预期值相同,根据验证的结果来判断是否允许该行为继续进行。

对于直接运行在可信内核上的应用程序,审计点直接设置在核心中,对于不可控操作系统,可以通过截获其系统调用(一般通过软中断方式)、中断等方式实现审计。

●静态度量

静态度量是由度量代理在预定的度量策略支持下用适当的算法对度量对象进行以完整性为主的表征过程。如图3所示,静态度量的主要任务为:

(1)确定预期断言。对度量对象所期望的结果进行恰当的表述,即被度量的对象的完整性。

(2)制定度量策略。制定可行的度量方法对度量对象进行完整性判断。

(3)进行度量评判。根据度量结果,对度量对象进行可信性判断,给出判断结果。

静态度量的内容包括系统中的可执行程序、动态库和内核模块。静态度量对上述三项文件进行文件内容的哈希计算,并将计算结果与预期结果进行比较,来保证其可信性。

采用对度量对象(包括可执行程序,动态库,内核模块)的代码段,进行哈希运算,并验证其哈希值是否与预期的相同,以此来判断度量对象的完整性是否遭受破坏。

可执行程序的度量方法:当启动程序时,首先截获该程序的信息,调用算法计算该程序代码段的哈希值,并将计算后的哈希值与预期值做比较,以此来判断该可执行程序是否被篡改。

动态库度量方法:当加载动态库时(包括程序启动所必须的动态库,以及运行时动态加载的动态库等),系统会通过映射函数将动态库映射到内存中,如果动态库已经在内存中,则不需要重新加载,进而也不会进行度量。当初次加载动态库时,首先截获该动态库的信息,调用算法计算该程序代码段的哈希值,并将计算后的哈希值与预期值做比较,以此来判断该可执行程序是否被篡改过。当程序退出时,会释放一些自身使用的动态库,但仍然会有一些动态库驻留系统内存,供其它程序使用,不会被释放,所以当重新启动程序时,这些已经驻留内存的动态库不需要再次度量。

模块度量方法:模块加载包括两种情况:第一种,当Linux系统启动时,需要加载操作系统启动运行所必须的模块。第二种,系统启动后,当系统有需求时(例如,当插入U盘),操作系统会动态加载所需的模块。这两种情况对linux系统内核来说是不区分对待的,即,不论哪种方式加载模块,都由同一系统调用来处理(即sys_init_module()系统调用)。所以模块度量即在该系统调用处,当加载模块时,该系统调用会截获模块的代码段、长度等信息,再将这些信息传递给度量代理,有度量代理计算该模块的哈希值,并与预期值进行比较,以此来判断该模块是否被篡改过。

●动态度量

在静态度量功能保证系统运行对象初态可信的基础上,动态度量机制在度量对象启动前完成对度量对象预期值的收集,并依据收集的预期值,在系统运行中对其状态进行验证。如图4所示,动态度量机制能够对运行状态中的内核关键数据及进程状态进程度量。其中,度量对象包括操作系统内核的代码段、只读数据段、关键跳转表和应用层的进程代码段。除了为可信证明机制提供支撑外,内核度量功能主要服务于可信软件系统的自身保护机制,应用度量功能主要服务于访问控制机制。

(1)内核关键数据度量

内核关键数据度量如图5所示。

度量对象:默认度量内核的代码段、只读数据段、关键跳转表等操作系统正常运行过程中静态不变的数据。度量机制的调用者可以通过注册接口指定自有的度量对象。

度量时机:默认采用定时度量的方法,每间隔一定的时隙度量一次;也可通过查询接口触发度量。

度量方法:由TSB启动内核线程,通过使用TCM提供的Hash函数接口计算度量对象的完整性校验值,并与基准值进行比较。

(2)进程度量流程

进程环境度量如图6所示。

度量对象:应用进程及相关共享库的代码段。

度量时机:定时度量;也可由用户手动触发度量。

度量方法:动态度量模块将记录指定应用及其关联进程的系统调用流,并进行分析和学习,生成描述合法调用规则的、系统调用级的执行图(ExecutionGraph),从而通过执行图对进程的异常行为进行度量报告。

(3)进程行为度量

进程行为度量如图7所示。

度量对象:进程发出的系统调用。

度量时机:在系统调用发生时实时度量。

度量方法:由度量引擎实时监控系统调用行为,对每一次系统调用行为进行判定,如果符合执行规则,则允许本次调用;如果违背执行规则,则阻止本次调用。

●白名单

可信计算密码平台提供软件安装接口(针对于软件安装包的方式),通过此接口安装应用程序。软件安装过程中通过扫描接口扫描生成白名单库,允许安装释放的执行程序运行,软件安装白名单生成如图8所示。

客户端软件安装有两种方式,分别为有采集权限的软件安装和无采集权限的软件安装。通过这两种方式可以对安装权限进行不同粒度的控制。

有采集权限的软件安装:当客户端作为采集终端时,可以通过管理中心授予客户端“软件采集”权限,然后使用客户端的程序安装接口进行安装操作,通过接口安装的执行程序将被自动添加到本地白名单库,并可以立即执行。同时所安装的软件白名单(除系统白名单)可以通过接口导出为策略文件,然后上报管理中心待批准到其他客户端。

无采集权限的软件安装:默认情况下,客户端无采集权限。这时只允许通过软件安装接口安装管理中心下发的模版软件,通过模板安装的执行程序将被自动添加到网络白名单库,并可以立即执行。

●基于安全标签的强制访问控制

在可信计算密码平台功能基础上增加的强制执行控制功能如图9所示,绿色标示的部分为强制执行控制增加流程。

结合电力调度控制系统安全标签的业务特点及可信软件系统强制访问体系的功能特点,将电力调度控制系统中的安全标签判定体系与可信软件系统的强制访问控制体系相结合,对系统访问请求经过两种访问控制的双重判定,形成一种双备份的强制访问控制体系。其中可信软件系统提供内核级高强度的访问控制,安全标签体系提供应用级的第二梯度的访问控制。彻底解决安全标签体系目前面临的安全隐患。

加入可信软件系统的强制访问控制体系业务流程如图10所示。

(1)人机发起服务访问请求

(2)部署在SCADA服务器上的可信软件系统截获此请求

(3)从请求的第一个数据包中提取主体安全标签

(4)根据服务的端口号在端口和服务对应列表中寻找对应的服务名称

(5)根据服务名称在客体标签列表找到相应的客体标签

(6)将主体安全标签与客体标签中的权限值进行异或运算

(7)如果权限判定通过,放行数据包

(8)此请求的后续数据将直接放行,不在进行权限判定。

最后应当说明的是:以上实施例仅用于说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号