保证应用程序安全运行的系统和方法

文档序号:7958535阅读:163来源:国知局
专利名称:保证应用程序安全运行的系统和方法
技术领域
本发明涉及计算机和通信安全领域,尤其涉及一种保证应用程序安全运行的系统和方法。
背景技术
近年来,互联网、电信网和无线通信网成为人们生活中不可或缺的部分。过去很多需要人们面对面进行的商业、娱乐和其他行为,现在可以通过计算机或其他具有计算功能的设备和这些网络远程地完成了。
虽然人们进行这些行为的方式有所改变,但是“信用”作为这些行为的基础并没有任何改变。不过这里的“信用”不再仅仅是指交易或其他行为双方的信誉程度,还包括对利用的设备、运行的环境、使用的服务等等的安全性、可靠性及可用性的要求。
一般来说,以上网络行为的模型可以分为客户端/服务器型(C/S型)、浏览器/服务器型(B/S型)和端/端型(P2P型)。这些模型面临的威胁主要包括信源攻击、信道攻击和混合攻击。它们要解决的问题主要包括真实性(Authenticity)、秘密性(Confidentiality)、完整性(Integrity)和不可否认性(non-repudiation)。
目前的计算机和网络安全技术,利用密码学方法,比如加密和数字签名技术很好地解决了信道上的秘密性、完整性。但是,由信源攻击带来的对真实性、交易的完整性和不可否认性的威胁,并没有系统的解决办法。装在个人机器中的安全管理软件,如微软公司的安全中心,只能保证本台机器的整体环境是安全的,所有的程序均使用同一个安全环境配置,运行任何一个程序,计算机提供的安全环境配置是完全一致的,并不能根据每个程序的不同要求来配置程序运行时的不同安全要求,从而不能保证每个程序运行时对信源的安全性要求。一些网络管理系统在有远程客户端计算机要求接入的时候对其进行安全性检查,但是在更多的应用环境下,用户只需要使用网络提供的服务,并不需要接入服务提供者的网络本身。比如银行客户在使用网上银行进行交易的时候,他们只要使用这些软件服务,并没有兴趣接入银行内部的网络。而且这些网络管理系统对客户端的检查是面对计算机的,而不是面向某个或某些应用程序的,因而不能确保该程序的安全要求。有些网络服务对用户的使用环境提供安全建议,但是,一方面这些建议并不是真正的解决方案,用户可能并不知道、不理解这些建议,也可能选择不遵循这些建议;另一方面,网络服务提供者并不检查、也无法检查用户是否遵循了这些建议,从而无法保证用户使用该网络服务时是否处于安全状态,也就无法很好地阻止信源攻击。
也就是说,如何为各种网络服务模型中的应用程序系统地提供一个满足该应用程序要求的安全运行环境,保证用户在使用网络服务时,一定是在一个安全运行环境下,目前还是一个未被关注和解决的问题。

发明内容
基于以上问题,本发明提供一种保证应用程序安全运行的系统和方法。
一方面,提出一种保证应用程序安全运行的系统。该系统包括系统主控单元、应用程序与安全策略组件和安全操作组件,其中系统主控单元包括引导和管理该系统中其他各器件正常运行的系统主控程序;应用程序与安全策略组件包括至少一个应用程序及描述这个应用程序对运行环境的安全性要求的安全策略文件;安全操作组件包括各种对运行环境的安全性进行相应操作的程序,上述系统主控程序进一步包括安全策略读取模块,用于根据指定的应用程序的标识从应用程序与安全策略组件中读取对应的安全策略文件;安全检查模块,用于按照安全策略读取模块读取的安全策略文件的要求从安全操作组件中调用相应的安全操作程序对运行环境进行安全性检查,并在安全性条件全部满足时向应用程序启动模块传递指令;应用程序启动模块,用于收到指令时从应用程序与安全策略组件中读取指定的应用程序并启动。
上述系统还包括系统安全策略部件,上述系统安全策略部件包括用来描述系统主控程序对运行环境的安全性要求的文件;上述安全策略读取模块还用于读取系统安全策略部件中的安全策略文件。
上述应用程序与安全策略组件还包括当安全条件不满足时降低应用程序的安全使用级别或者中断程序的运行或者对运行环境进行安全性升级的安全策略文件。
上述系统安全策略部件包括在系统主控单元中或独立存在,并且设置在移动设备或主机上。
上述安全操作组件还包括监控部件,用于在指定的应用程序运行时由系统主控单元按照对应的安全策略文件的要求调用其中的程序进行监控。
上述应用程序与安全策略组件还包括在监控应用程序运行发现异常情况时警告用户或者中断应用程序的运行的安全策略文件。
上述安全操作组件还包括审计部件,用于在指定的应用程序运行完时由系统主控单元按照对应的安全策略文件的要求调用其中的程序来审计日志并清除中间数据。
上述应用程序与安全策略组件还包括当审计日志发现异常情况时警告用户的安全策略文件。
上述系统中,安全策略文件是对应的应用程序的一部分或者独立存在。
上述系统中,以下类型器件之中每一种器件不是设置在主机上就是设置在移动设备上系统主控单元;
应用程序与安全策略组件中的应用程序组件;应用程序与安全策略组件中的安全策略组件安全操作组件。
上述移动设备包括通信接口,用于与所述主机通信。
上述移动设备还包括验证装置,用于执行系统主控程序和应用程序中至少一种程序运行时的身份认证或密码运算。
另一方面,提出一种保证应用程序安全运行的方法。该方法包括步骤A、运行系统主控程序;B、系统主控程序按照指定的应用程序对应的安全策略文件的要求调用安全操作程序对运行环境进行安全性检查,并在安全性条件全部满足时运行指定的应用程序。
上述步骤B进一步包括按照系统主控程序对应的安全策略文件的要求对运行环境进行安全性检查,并在安全性条件全部满足时按照指定的应用程序对应的安全策略文件的要求调用安全操作程序对运行环境进行安全性检查。
上述B进一步包括当安全性条件不满足时,按照安全策略文件的要求降低应用程序的安全使用级别或者中断程序的运行或者对运行环境进行安全性升级。
上述方法中,安全策略文件包括在对应的系统主控程序中或独立存在。
上述方法还包括以下步骤中至少一个步骤C、在指定的应用程序运行期间按照对应的安全策略文件的要求调用安全操作程序进行监控,并在发现异常情况时警告用户或者中断应用程序的运行;D、当指定的应用程序运行结束时,按照对应的安全策略文件的要求调用安全操作程序审计日志和清除中间数据,并在发现异常情况时警告用户。
上述方法中,安全策略文件是对应的应用程序的一部分或者独立存在。
本发明主要的优点和特点如下1、本发明这种软硬件结合的技术方案使得在各种网络服务模型下,应用程序在执行时能够有一个安全的运行环境。
2、安全环境的建立是基于策略的,根据策略的不同,运行环境的安全程度和复杂程度也有所不同。


图1是本发明的软件功能模块组成和结构示意图;图2是本发明的系统工作流程图;图3是本发明优选实施方案的硬件系统结构示意图。
具体实施例方式
本发明优选的是,以一个可移动的计算设备为硬件载体,使用时该可移动计算设备通过接口与个人计算机(PC)相连。该设备中带有一定容量的非易失性存储器,用于存储主控程序、安全策略文件和安全操作程序。该可移动计算设备连到PC上之后,非易失性存储器中存储的主控程序自动运行,使应用程序在一个符合安全策略要求的运行环境下执行。
本发明提供的“安全的运行环境”针对的是某个特定的应用程序,具体而言,是指按应用程序安全策略的要求,为其配置操作系统环境和网络环境,以达到安全运行的目的。
“安全的运行环境”有两方面的要求。一方面的要求包括运行应用程序的操作系统本身没有已知的漏洞,即操作系统安装了各种必须的“补丁”;系统内没有已知的计算机病毒,即安装了最新版本的反病毒软件和病毒软件的病毒库,定期检查并清除系统中存在的计算机病毒;系统内没有“木马”程序,也就是说,系统内只运行来历、功能和目的已知的程序,而没有不明来历、不明功能和不明目的的程序运行。另一方面的要求包括运行应用程序的网络环境是安全的,即安装了“网络防火墙”,并进行了合适的配置;关闭所有不用的网络端口;使用安全的网络协议和密码算法,使得网络通信数据的真实性、秘密性、完整性和不可否认性得到保障。
本发明所述的“应用程序安全策略”是指应用程序对其运行环境的安全要求。也就是要使得应用程序可以安全运行,操作系统环境和网络环境所必须满足的条件。这些“安全策略”既可以是物理上独立于应用程序本身的另一个文件,如一个基于XML的文本文件,也可以在物理上是应用程序本身的一个部分。
下面,参照图1描述本发明所述的保证应用程序安全运行的系统在功能上的划分。该系统包括系统主控单元、应用程序与安全策略组件和安全操作组件。
系统主控单元在软件方面采用系统主控程序,包括安全策略读取模块、安全检查模块和应用程序启动模块。安全策略读取模块,用于根据指定的应用程序的标识从应用程序与安全策略组件中读取对应的安全策略文件。安全检查模块,用于按照安全策略读取模块读取的安全策略文件的要求从安全操作组件中调用相应的安全操作程序对运行环境进行安全性检查,并在安全性条件全部满足时向应用程序启动模块传递指令。应用程序启动模块收到安全检查模块的指令时从应用程序与安全策略组件中读取指定的应用程序并启动。系统主控单元是本发明所述系统的核心,对于本发明的优选方案,在可移动设备连接到计算机上加电后该系统主控单元自动运行。系统主控单元中的安全检查模块根据安全策略读取模块从系统安全策略部件中读取的安全策略文件对运行环境进行相应的安全性检查、验证、设置、审计和报警。同时,系统主控单元管理安全操作组件和应用程序与安全策略组件,如软件的升级,添加新的、删除已有的安全操作部件或应用程序,修改现有的安全策略等。在本发明的优选方案中,它的功能还在于管理可移动设备和主机的通信和交互。系统安全策略部件中的安全策略文件用来描述主控程序对运行环境的安全性要求,诸如是否需要运行反病毒引擎、是否需要运行漏洞扫描引擎等安全策略。系统主控单元运行时会首先读取其系统安全策略部件中的安全策略文件,并按照安全策略文件的要求加载和执行相应的安全性检查。在具体实现时,系统安全策略部件可以包括一个存储器和该存储器中保存的安全策略文件,系统安全策略部件可以是主控单元的一部分,也可以是一个物理上独立的部件并且其中的安全策略文件是基于XML的文本文件。优选的是,系统主控单元和系统安全策略部件都安放在移动计算设备中。
安全操作组件融合市场上已有的一些安全操作部件来检查、构建和升级运行环境的安全性。典型的安全部件有“反病毒部件”、“漏洞扫描部件”、“防火墙部件”、“入侵检测部件”、“VPN(虚拟私网)部件”、“安全审计部件”、“安全设置部件”等,也可以根据不同的安全要求加入其他的功能部件。
应用程序与安全策略组件包括各个应用程序和描述应用程序对运行环境的安全性要求的策略文件。安全操作组件中的一些部件也可以是应用程序,比如当要为一个VPN的客户端设置安全的计算环境时,VPN的客户端及其相应的安全策略和安全要求便是应用程序与安全策略组件的一部分。
从逻辑上讲,系统主控单元也可以看作是应用程序与安全策略组件的一部分,它可以被当作一个特殊的应用程序,并且也要有自己的安全策略。
图2是本发明的系统工作流程图,具体描述如下在步骤201,主控程序启动。
在步骤202,主控程序读取系统安全策略文件。
在步骤203,主控程序根据系统安全策略文件的要求,对运行环境进行安全性检查。
在步骤204-207,当安全性条件不满足时,主控程序根据策略可以中断本身的运行,或对运行环境进行安全性升级。
在步骤208,当安全性条件满足时,主控程序运行选择画面让用户选择要运行的应用程序。
在步骤209,主控程序根据用户选择的应用程序,读取其对应的应用安全策略文件。
在步骤210,检查当前的运行环境是否满足安全策略文件的要求。
在步骤211-213,当安全条件不满足时,则根据策略中断应用程序的运行,或者降低应用程序的安全使用级别,或者对运行环境进行安全性升级。
在步骤214,当安全条件满足时,启动应用程序执行。应用程序运行时,主控程序启动监控程序对应用程序进行监控。如果监控程序发现异常情况,如病毒入侵等,则主控程序会根据策略警告用户或者终止应用程序的执行。
在步骤215-217,应用程序运行结束时,主控程序根据应用安全策略要求清除缓存及一些临时文件,同时对应用程序运行过程中的日志进行审计,检测其中的异常行为。如发现异常,则向用户显示警告信息。
本发明的优选硬件方案是保证应用程序安全运行的系统位于可移动的计算设备上,图3是该优选方案所述系统的结构示意图。
通信接口芯片310负责与外部环境,如计算机、移动终端等进行通信,接收从外部环境传来的命令要求,并将硬件系统的内部处理结果返回给外部环境。通信接口芯片310可以是任何满足通信性能要求的接口,如高速串行接口、并行接口、USB接口、Firewire接口等。
微控制器或微处理器芯片320控制系统内部的所有部件,处理通信接口芯片310从外部接收到的命令并将处理结果传递给通信接口芯片310。微控制器或微处理器芯片320可以是8位、16位或者32位。
系统用非易失性存储器330用于存储通信接口芯片驱动程序、主控程序等。系统安全策略文件可以根据需要存储在系统用非易失性存储器330中或者用户用非易失性存储器350中。部分安全操作组件、应用程序与安全策略组件也可以有选择性地存放在系统用非易失性存储器330中。其存储介质可以是ROM、FLASH等。
系统用易失性存储器340用于存储主控程序和应用程序运行过程中的一些临时数据和内容,设备掉电以后这些内容将自动消失。其存储介质可以是RAM等。
用户用非易失性存储器350用于存储用户或应用相关以及需要定期更新的程序和数据内容,如安全操作组件、应用程序组以及应用程序对应的安全策略文件等。系统安全策略文件也可以存储于其中。其存储介质可以是EEPROM、EPROM、FLASH等。
认证/密码运算模块或设备360用于执行主控程序或者应用程序运行过程中的身份认证或者密码相关运算。认证/密码运算模块或设备360可以是专用安全运算芯片、智能卡、一次性口令卡(One Time Password Token)、生物特征设备(Biometrics Device)等。
通信接口芯片310、系统用非易失性存储器330、系统用易失性存储器340、用户用非易失性存储器350、认证/密码运算模块或设备360中每一个物理器件都可以是微控制器320的一部分。系统用非易失性存储器330和用户用非易失性存储器350,可以是不同的物理器件,也可以是同一个物理器件中的不同存储分区。
认证/密码运算模块或设备360和CPU320不一定在一个PCB(印刷电路板)上,可以是CPU320所在的PCB提供一个物理接口与认证/密码运算模块或设备360进行外部相连。比如,CPU320所在的PCB提供一个智能卡的读卡器,用户可以将他/她的智能卡插入其中,从而提供认证或安全运算的功能。
与图2所示的流程类似,本发明采用上述优选实施方案后方法工作流程如下当优选实施方案的可移动硬件设备和主机相连时,在步骤201,存储在系统用非易失性存储器330中的主控程序自动运行;在步骤202,读取存储在系统用非易失性存储器330中或者用户用非易失性存储器350中的系统安全策略文件;在步骤203-207,根据系统策略的要求,主控程序将用户用非易失性存储器350中的安全操作程序调入主机执行相应的安全检测;在步骤208,系统安全检测结束后,主机将用户选择的应用的标识通过通信接口芯片310传递给设备的微控制器或微处理器芯片320并由主控程序进行解析;
在步骤209,主控程序根据用户选择的应用的标识读取对应的存储在用户用非易失性存储器350中的安全策略文件;在步骤210-213,根据应用策略的要求,主控程序将用户用非易失性存储器350中的安全操作组件调入主机进行运行前的安全检测;在步骤214,应用运行前的安全检测结束后,主机通过通信接口芯片310向设备的微控制器或微处理器芯片320传递执行应用程序的命令,主控程序进行命令解析后开始转入应用程序的执行;在步骤215-217,应用程序执行完成后,主控程序将安全操作组件中的审计等程序调入主机端执行。
本发明的技术方案可以有多种不同的实现方式,例如,系统主控单元、应用程序与安全策略组件和安全操作组件都位于主机端。
系统主控单元在主机端启动运行,读取相应的策略文件,调用安全操作组件进行安全性检查,之后主机端的应用程序开始运行,运行过程中主控单元会根据策略要求监控应用程序运行的安全状况,并在应用程序运行结束时清理临时文件并对日志进行审计。
为提高安全性,还可以将系统主控单元驻留在一个移动设备上,插入主机后主控单元自动运行。而应用程序与安全策略组件和安全操作组件可驻留在主机。运行原理同上。
同样,也可以将系统主控单元和安全策略组件驻留在一个移动设备上,插入主机后主控单元自动运行,从移动设备上读取系统安全策略和应用安全策略,而应用程序和安全操作组件可驻留在主机。运行原理同上。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种保证应用程序安全运行的系统,包括系统主控单元、应用程序与安全策略组件和安全操作组件,其中所述系统主控单元包括引导和管理所述系统中其他各器件正常运行的系统主控程序;所述应用程序与安全策略组件包括至少一个应用程序及描述这个应用程序对运行环境的安全性要求的安全策略文件;所述安全操作组件包括各种对运行环境的安全性进行相应操作的程序,所述系统主控程序进一步包括安全策略读取模块,用于根据指定的应用程序的标识从应用程序与安全策略组件中读取对应的安全策略文件;安全检查模块,用于按照安全策略读取模块读取的安全策略文件的要求从安全操作组件中调用相应的安全操作程序对运行环境进行安全性检查,并在安全性条件全部满足时向应用程序启动模块传递指令;应用程序启动模块,用于收到指令时从应用程序与安全策略组件中读取指定的应用程序并启动。
2.如权利要求1所述的系统,其特征在于还包括系统安全策略部件,所述系统安全策略部件包括用来描述系统主控程序对运行环境的安全性要求的文件;所述安全策略读取模块还用于读取系统安全策略部件中的安全策略文件。
3.如权利要求1或2所述的系统,其特征在于所述应用程序与安全策略组件还包括当安全条件不满足时降低应用程序的安全使用级别或者中断程序的运行或者对运行环境进行安全性升级的安全策略文件。
4.如权利要求2所述的系统,其特征在于所述系统安全策略部件包括在系统主控单元中或独立存在,并且设置在移动设备或主机上。
5.如权利要求1所述的系统,其特征在于所述安全操作组件还包括监控部件,用于在指定的应用程序运行时由系统主控单元按照对应的安全策略文件的要求调用其中的程序进行监控。
6.如权利要求5所述的系统,其特征在于所述应用程序与安全策略组件还包括在监控应用程序运行发现异常情况时警告用户或者中断应用程序的运行的安全策略文件。
7.如权利要求1所述的系统,其特征在于所述安全操作组件还包括审计部件,用于在指定的应用程序运行完时由系统主控单元按照对应的安全策略文件的要求调用其中的程序来审计日志并清除中间数据。
8.如权利要求7所述的系统,其特征在于所述应用程序与安全策略组件还包括当审计日志发现异常情况时警告用户的安全策略文件。
9.如权利要求1所述的方法,其特征在于所述安全策略文件是对应的应用程序的一部分或者独立存在。
10.如权利要求1所述的系统,其特征在于以下类型器件之中每一种器件不是设置在主机上就是设置在移动设备上系统主控单元;应用程序与安全策略组件中的应用程序组件;应用程序与安全策略组件中的安全策略组件安全操作组件。
11.如权利要求10所述的系统,其特征在于所述移动设备包括通信接口,用于与所述主机通信。
12.如权利要求11所述的系统,其特征在于所述移动设备还包括验证装置,用于执行系统主控程序和应用程序中至少一种程序运行时的身份认证或密码运算。
13.一种保证应用程序安全运行的方法,包括以下步骤A、运行系统主控程序;B、系统主控程序按照指定的应用程序对应的安全策略文件的要求调用安全操作程序对运行环境进行安全性检查,并在安全性条件全部满足时运行指定的应用程序。
14.如权利要求13所述的方法,其特征在于步骤B进一步包括按照系统主控程序对应的安全策略文件的要求对运行环境进行安全性检查,并在安全性条件全部满足时按照指定的应用程序对应的安全策略文件的要求调用安全操作程序对运行环境进行安全性检查。
15.如权利要求13或14所述的方法,其特征在于步骤B进一步包括当安全性条件不满足时,按照安全策略文件的要求降低应用程序的安全使用级别或者中断程序的运行或者对运行环境进行安全性升级。
16.如权利要求14所述的方法,其特征在于所述安全策略文件包括在对应的系统主控程序中或独立存在。
17.如权利要求13所述的方法,其特征在于还包括以下步骤中至少一个步骤C、在指定的应用程序运行期间按照对应的安全策略文件的要求调用安全操作程序进行监控,并在发现异常情况时警告用户或者中断应用程序的运行;D、当指定的应用程序运行结束时,按照对应的安全策略文件的要求调用安全操作程序审计日志和清除中间数据,并在发现异常情况时警告用户。
18.如权利要求13所述的方法,其特征在于所述安全策略文件是对应的应用程序的一部分或者独立存在。
全文摘要
本发明公开一种保证应用程序安全运行的系统和方法。系统主控单元包括引导和管理系统中其他各器件正常运行的系统主控程序。该系统主控程序运行时,安全策略读取模块根据指定的应用程序的标识从应用程序与安全策略组件中读取对应的安全策略文件;安全检查模块按照安全策略读取模块读取的安全策略文件的要求从安全操作组件中调用相应的安全操作程序对运行环境进行安全性检查,并在安全性条件全部满足时向应用程序启动模块传递指令;应用程序启动模块收到指令时从应用程序与安全策略组件中读取指定的应用程序并启动。该方案使应用程序在执行时能够有一个安全的运行环境。安全环境的建立基于策略,策略不同,运行环境的安全程度和复杂程度也有所不同。
文档编号H04L29/06GK101047701SQ20061006592
公开日2007年10月3日 申请日期2006年3月27日 优先权日2006年3月27日
发明者高翔, 叶新 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1