一种云计算环境下数据库加密保护系统和加密保护方法

文档序号:6370920阅读:254来源:国知局
专利名称:一种云计算环境下数据库加密保护系统和加密保护方法
技术领域
本发明涉及云计算环境下信息安全领域,特别涉及一种云计算环境下数据库加密保护系统和加密保护方法,通过虚拟化技术构建数据加解密引擎池,依据加解密负载情况动态创建和调度加解密引擎,适用于大并发细颗粒度访问的数据加密保护。
背景技术
云计算是一种基于互联网的大众参与的计算模式,其计算资源是动态的,可伸缩、虚拟化的,而且以服务的方式提供。用户从以前购买软件,转化为云计算下通过互联网来租赁相应应用软件;从以前购买服务器和修建机房,转为到云计算下通过互联网来租赁远程虚拟计算能力。以云计算为代表的信息技术正促使信息产业从提供独立的软硬件产品走向提供社会化、集约化和专业化的信息服务。数据库存储安全是保障云计算安全的基础。云计算环境下,部署传统的安全措施如访问控制、防火墙和入侵检测等保护数据库,有两种情况容易造成机密信息泄露1)数据库管理员的权限过大,有权访问全部/部分机密数据;2)备份介质丢失,维护数据库系统安全需要对数据库中的数据进行定期备份,大量的数据备份文件存储在无保护的磁性和光学介质中,流失的隐患相当大,从而可能造成机密信息的泄露。

发明内容
针对上述的传统数据库安全保护措施在云计算环境中存在的问题,本发明提供一种云计算环境下数据库加密保护系统和加密保护方法。本发明主要解决,当存储在云计算数据库服务器中的加密数据形成规模之后,对数据实现高效的加密/解密。在传统安全措施的基础上,采用数据加密技术将数据库中的机密数据加密,这样即使入侵者绕过或攻破了各种系统安全机制,得到的也只是加密后的密文数据,备份数据的流失也不会造成机密信息的泄露。本发明的第一方面提供了一种云计算环境下数据库加密保护系统,包括应用接口(I)、任务管理子系统(2)、资源管理子系统(3)、虚拟主机加解密引擎池(4),所述系统包括I)应用接口( I)是任务管理子系统(2)与应用服务器进行交互的接口,一方面将应用服务器的SQL请求提交给任务管理子系统(2),另一方面将任务管理子系统(2)收集的运行结果提供给应用服务器;2)任务管理子系统(2),解析各种数据库访问请求,通过访问控制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子任务进行发布、维护、监视和更新等控制管理工作;
3)资源管理子系统(3),一方面收集所有虚拟机和物理机的信息;另一方面按照任务管理子系统发布的执行子任务的需求部署虚拟机,提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功能;
4)加解密引擎池(4),系统最核心的部分,由多个基于虚拟化技术动态的加解密引擎组成,这些加解密引擎由资源管理子系统(3)在虚拟机中创建,是任务管理子系统(2)中任务的执行单元,负责为用户的数据业务提供加解密服务和数据安全访问服务。本发明的第二方面提供了一种云计算环境下数据库加密保护方法,避免因为加解密模块超负荷工作而影响数据库性能下降等问题。对加解密引擎部署结构进行优化,按照加解密功能软件化、分布化、承载方式虚拟化的思路实现加解密资源按需服务。数据库加密保护方法包括以下步骤步骤一应用服务器的SQL请求通过应用接口(I)发送给任务管理子系统(2),任务管理子系统(2)对该请求进行语句合法性验证,判断其语句是否合法;并对其做并行任务处理;
步骤二 任务管理子系统(2)将所有任务进行分析排序,把可以立即执行的任务发送给资源管理子系统(3),存在资源竞争冲突的任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任务根据任务执行策略决定继续等待或者丢弃;步骤三资源管理子系统(3)收集系统中物理机的信息,预测系统对虚拟主机的需求,按照虚拟机部署策略在物理机中部署需求的虚拟主机;步骤四资源管理子系统(3)将从任务管理子系统(2)收到的任务按优先级进行排序,选择为其分配资源任务,根据资源分配策略在虚拟资源列表中选择匹配的虚拟资源,即虚拟机,若虚拟资源不足,不能满足任务的资源需求,则转到步骤三;步骤五在任务分配的虚拟机中检测加解密引擎程序并启动该程序,若启动成功告知任务管理子系统(2)任务正在执行,转到步骤六;否则告知任务执行异常,由任务管理子系统(2)撤销任务,执行步骤七;步骤六任务开始执行,通过创建的加解密引擎程序完成数据库访问和数据加密服务,向任务管理子系统(2)返回结果;步骤七资源管理子系统(3)对任务执行完成的虚拟机,进行回收,销毁解密引擎程序。本发明解决了云计算环境下数据库加密保护问题,主要有以下优点I.采用加解密引擎池,避免因加解密模块超负荷工作而影响数据库性能下降;2.应用系统对数据库的最终用户是完全透明的,可以根据需要进行明文和密文的转换工作;3.加解密引擎完全独立于数据库和应用系统,无须改动数据库和应用系统就能实现数据加密功能;4.采用基于虚拟化技术构建的加解密引擎池具有很好的可管理性和弹性,可以按需创建,解决了关系型数据库应用中的细颗粒度、大并发量存取的瓶颈问题,资源合理化使用,提高了数据库服务器的能力和效率。


图I是本发明的数据库加密保护系统结构示意图;图2是本发明的数据库加密保护方法流程图;图3是根据本发明实施例的云计算环境的数据保护的应用系统结构图4是根据本发明实施例的数据库加密保护的应用系统的工作流程图。
具体实施例方式下面结合附图对本发明的云计算环境下数据库加密保护的实现方法和系统进行详细描述说明。描述中给出了许多具体细节,以确保本发明实例的透彻理解。如图I所示,根据本发明实施例的数据库加密保护系统,云计算环境下数据库加密保护系统包括应用接口 1,任务管理子系统2,资源管理子系统3,加解密引擎池4。应用接口 1,提供给任务管理子系统2与应用服务器进行交互的接口,一方面将应用服务器的SQL请求提交给任务管理子系统2,另一方面将任务管理子系统2收集的运行结果提供给应用服务器;
任务管理子系统2,解析各种数据库访问请求,通过访问控制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子任务进行发布、维护、监视和更新等控制
管理工作;资源管理子系统3,一方面负责收集所有虚拟机和物理机的信息,并将这些信息作为任务管理子系统2任务分发部署和运行的依据;另一方面按照任务管理子系统2发布的执行子任务的需求部署虚拟机,提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功能;加解密引擎池4,系统最核心的部分,由多个基于虚拟化技术动态的加解密引擎组成,这些加解密引擎由资源管理子系统3在虚拟机中创建,是任务管理子系统2中任务的执行单元,负责为用户的数据业务提供加解密服务和数据安全访问服务。如图2所示,根据本发明实施例的数据库加密保护系统,云计算环境下数据库加密保护方法包括以下步骤步骤一应用服务器的SQL请求通过应用接口 I发送给任务管理子系统2,任务管理子系统性对该请求进行语句合法性验证,判断其语句是否合法;并对其做并行任务处理;步骤二 任务管理子系统2将所有任务进行分析排序,把可以立即执行的任务发送给资源管理子系统3,存在资源竞争冲突的任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任务根据任务执行策略决定继续等待或者丢弃;步骤三资源管理子系统3负责收集系统中物理机的信息,预测系统对虚拟主机的需求,按照虚拟机部署策略在物理机中部署需求的虚拟主机;步骤四资源管理子系统3将从任务管理子系统2收到的任务按优先级进行排序,选择为其分配资源任务,根据资源分配策略在虚拟资源列表中选择匹配的虚拟资源,即虚拟机,若虚拟资源不足,不能满足任务的资源需求,则执行步骤三;步骤五在任务分配的虚拟机中检测加解密引擎程序并启动该程序,若启动成功告知任务管理子系统2任务正在执行,执行步骤六;否则告知任务执行异常,由任务管理子系统2撤销任务,执行步骤七;步骤六任务开始执行,通过创建的加解密引擎程序完成数据库访问和数据加密服务,向任务管理子系统2返回结果;步骤七资源管理子系统3对任务执行完成的虚拟机,进行回收,销毁解密引擎程序。如图3所示,根据本发明实施例的数据库加密保护系统,云计算环境下数据库加密保护的应用系统包括用户终端设备5、应用门户6、应用服务器7、数据库加密保护系统
9、密钥与认证管理中心8、数据审计系统10、数据库11。用户终端设备5,用户通过用户名、密码的方式,或者UKEY登录方式在用户终端设备上进行服务访问申请,用户终端设备5通过安全通道访问应用门户6,即采用HTTPS/传统VPN或私有VPN (用户客户端安装VPN客户端,拨到平台的VPN网关上,认证成功后建立安全连接通道)/SSL/SSH/FTPS等安全通信方式。
应用门户6,通过调用密钥与认证管理中心8的统一身份认证服务,对用户访问申请进行认证;通过认证信息判断是否允许访问应用服务器7和数据服务器。应用服务器7,与客户连接且与数据库11连接,用于接收来自客户端的认证请求,由密钥和认证管理中心8进行认证,在认证通过的情况下获取数据库访问信息,并将数据库加密保护系统9从数据库11获取的数据发送给客户端;数据库加密保护系统9,作为前端应用服务器7和后端数据库11之间的一个中间层,负责接收客户端的数据请求并作相关处理,然后传递给数据库11进行的数据处理,最后将结果由数据库中间件返回给客户端。这里的处理包括数据库11的访问控制、数据的加/解密、数据的完整性保护、传输控制和虚拟资源的均衡管理。密钥与认证管理中心8,为数据库加密保护系统9提供密钥请求、获取服务;密钥与认证管理中心8是数据库加密保护系统9的一个重要组成部分,负责提供密钥的生成(导出)、保存、备份、更新、恢复、查询、销毁等密钥和自身系统的安全管理,制定密钥管理流程和标准规范,提供云计算应用环境中大规模应用密钥管理。数据库审计系统10,能够支持对数据加解密引擎和数据库的各类数据库系统审计,实现对加解密活动和数据库11访问操作的实时监控和审计功能,提供全面的数据库11安全保护功能,即可以在不影响数据库11的运行情况下,提供数据库11监控、审计和安全功能以及动态建模的功能。包括应用系统的用户在内的对数据库11详细的访问记录,同时提供对非法数据库访问的实时阻断。数据库11,主要存储经过加解密引擎加密后的密文数据。如图4所示,根据本发明实施例的数据库加密保护系统,云计算平台上数据库加密保护系统中用户通过客户端访问应用服务器时,数据库加密保护系统实现用户数据保护的流程如下步骤一用户插入个人数字证书USBKEY到客户端主机,通过客户端以VPN或安全协议(例如SSL、SSH、IPSec)访问应用门户6 ;应用门户6对用户输入信息进行完整性验证后,将用户输入的信息和用户所要访问的应用系统标识发送到密钥与认证管理中心8 ;由密钥与认证管理中心8完成用户认证和访问该应用服务器7的权限判断;返回认证结果信息(包括认证通过、不通过、权限列表、证书信息),由应用门户6进行判断;若用户不合法或不具备权限,返回异常提示给用户,结束访问;若属于合法用户并具有访问该应用系统的权限,则提供会话令牌,转入步骤二。步骤二 创建一个该应用系统与该用户的会话,并将该应用系统的权限令牌返回给用户,以后用户端可以通过这个权限令牌持续访问该应用系统,直至退出系统或是会话超时。步骤三用户向应用服务器7发出服务请求,应用服务器可以通过数据库加密保护系统9访问后台数据库11 ;有四类SQL操作请求(I)对数据库11进行写入记录、删除、修改操作,如上载数据;(2)对数据库11进行查询操作,这种场景需要后台加/解密;(3)数据获取,不需要后台加/解密,需要用户端加/解密;(4)数据交换(需要多个数据库参与)。数据库加密保护系统9中任务管理子系统2将SQL请求分解为多个执行子任务,由资源管理子系统3创建若干个基于虚拟机的加解密引擎执行子任务。步骤四加解密引擎将SQL请求转换成易处理的树形式,从树中提取出数据库加解密处理所需的参数(表名、字段名、插入数据等等)。除此,由语法树转换成可对密文数据库操作的SQL语句。步骤五加解密引擎根据所要操作的数据库关系表向密钥和认证管理中心8申请相应的被加密的表密钥;密钥和认证管理中心8将使用该用户公钥加密过的表密钥通过应用门户6返回给用户终端;用户终端使用所持有的私钥对被公钥加密的表密钥经行解密得 到表密钥,再由应用门户6发送给数据库加密保护系统9 (B卩加解密引擎);加解密引擎将所得表密钥发送给密钥与认证管理中心8进行密钥确认;若密钥不合法,返回异常提示给用户,执行步骤十一;否者,执行步骤六。步骤六加解密引擎向数据库11进行操作访问,从数据库获取密文数据,由于不同类型SQL访问,操作细节上也存在差别(I)对关系表进行写入记录、删除操作,执行步骤七;(2)对关系表中记录进行修改,查询操作,执行步骤七;(3)数据获取,执行步骤九。步骤七根据表密钥生成工作密钥,通过工作密钥对数据进行加解密操作;完成相应的业务操作;若SQL访问类型为查询操作,执行步骤九,否则执行步骤八。步骤八进行数据库11记录删除或者将需要回写入数据库11的数据,进行加密重新存入数据库11。步骤九将SQL子任务执行结果发送给任务管理子系统2,将操作记录发送给数据库申计系统10。步骤十任务管理子系统2收集该用户请求的所有SQL子任务执行结果,通过VPN通道进行传输给应用服务器7。步骤^^一 任务执行结束,关闭加解密引擎,回收虚拟资源。
权利要求
1.一种云计算环境下数据库加密保护系统,其特征在于,包括 .1)应用接口(I)是任务管理子系统(2)与应用服务器进行交互的接口,一方面将应用服务器的SQL请求提交给任务管理子系统(2),另一方面将任务管理子系统(2)收集的运行结果提供给应用服务器; .2)任务管理子系统(2),解析各种数据库访问请求,通过访问控制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子任务进行发布、维护、监视和更新控制管理工作; .3)资源管理子系统(3),一方面负责收集所有虚拟机和物理机的信息;另一方面按照任务管理子系统(2)发布的执行子任务的需求部署虚拟机,提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功能; .4)加解密引擎池(4),系统最核心的部分,由多个基于虚拟化技术动态的加解密引擎组成,这些加解密引擎由资源管理子系统(3)在虚拟机中创建,是任务管理子系统(2)中任务的执行单元,负责为用户的数据业务提供加解密服务和数据安全访问服务。
2.—种云计算环境下数据库加密保护方法,其特征在于包括以下步骤 步骤一应用服务器的SQL请求通过应用接口(I)发送给任务管理子系统(2),任务管理子系统(2)对该请求进行语句合法性验证,判断其语句是否合法,并对其做并行任务处理; 步骤二 任务管理子系统(2)将所有任务进行分析排序,把可以立即执行的任务发送给资源管理子系统(3),存在资源竞争冲突的任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任务根据任务执行策略决定继续等待或者丢弃; 步骤三资源管理子系统(3)收集系统中物理机的信息,预测系统对虚拟主机的需求,按照虚拟机部署策略在物理机中部署需求的虚拟主机; 步骤四资源管理子系统(3)将从任务管理子系统(2)收到的任务按优先级进行排序,选择为其分配资源任务,根据资源分配策略在虚拟资源列表中选择匹配的虚拟资源,即虚拟机,若虚拟资源不足,不能满足任务的资源需求,则执行步骤三; 步骤五在任务分配的虚拟机中检测加解密引擎程序并启动该程序,若启动成功告知任务管理子系统(2)任务正在执行,执行步骤六;否则告知任务执行异常,由任务管理子系统(2)撤销任务,执行步骤七; 步骤六任务开始执行,通过创建的加解密引擎程序完成数据库访问和数据加密服务,向任务管理子系统(2)返回结果; 步骤七资源管理子系统(3)对任务执行完成的虚拟机,进行回收,销毁解密引擎程序。
全文摘要
本发明提供一种云计算环境下数据库加密保护系统和加密保护方法。本发明加密保护系统包括应用接口、任务管理子系统、资源管理子系统和加解密引擎池。本发明主要有以下优点1.采用加解密引擎池,避免因加解密模块超负荷工作而影响数据库性能下降;2.应用系统对数据库的最终用户是完全透明的,可以根据需要进行明文和密文的转换工作;3.加解密引擎完全独立于数据库和应用系统,无须改动数据库和应用系统就能实现数据加密功能;4.采用基于虚拟化技术构建的加解密引擎池具有很好的可管理性和弹性,可以按需创建,解决了关系型数据库应用中的细颗粒度、大并发量存取的瓶颈问题,资源合理化使用,提高了数据库服务器的能力和效率。
文档编号G06F21/00GK102722576SQ20121018171
公开日2012年10月10日 申请日期2012年6月5日 优先权日2012年6月5日
发明者任学强, 史晨昱, 朱志祥, 李安颖, 梁小江, 王佩, 王茜, 许成鹏, 黄仕富 申请人:西安未来国际信息股份有限公司, 西安邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1