首页> 中国专利> 一种云计算环境下数据库加密保护系统和加密保护方法

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

摘要

本发明提供一种云计算环境下数据库加密保护系统和加密保护方法。本发明加密保护系统包括应用接口、任务管理子系统、资源管理子系统和加解密引擎池。本发明主要有以下优点:1.采用加解密引擎池,避免因加解密模块超负荷工作而影响数据库性能下降;2.应用系统对数据库的最终用户是完全透明的,可以根据需要进行明文和密文的转换工作;3.加解密引擎完全独立于数据库和应用系统,无须改动数据库和应用系统就能实现数据加密功能;4.采用基于虚拟化技术构建的加解密引擎池具有很好的可管理性和弹性,可以按需创建,解决了关系型数据库应用中的细颗粒度、大并发量存取的瓶颈问题,资源合理化使用,提高了数据库服务器的能力和效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-10-15

    授权

    授权

  • 2012-12-05

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120605

    实质审查的生效

  • 2012-10-10

    公开

    公开

说明书

技术领域

本发明涉及云计算环境下信息安全领域,特别涉及一种云计算环 境下数据库加密保护系统和加密保护方法,通过虚拟化技术构建数据 加解密引擎池,依据加解密负载情况动态创建和调度加解密引擎,适 用于大并发细颗粒度访问的数据加密保护。

背景技术

云计算是一种基于互联网的大众参与的计算模式,其计算资源是 动态的,可伸缩、虚拟化的,而且以服务的方式提供。用户从以前购 买软件,转化为云计算下通过互联网来租赁相应应用软件;从以前购 买服务器和修建机房,转为到云计算下通过互联网来租赁远程虚拟计 算能力。以云计算为代表的信息技术正促使信息产业从提供独立的软 硬件产品走向提供社会化、集约化和专业化的信息服务。数据库存储 安全是保障云计算安全的基础。

云计算环境下,部署传统的安全措施如访问控制、防火墙和入侵 检测等保护数据库,有两种情况容易造成机密信息泄露:1)数据库管 理员的权限过大,有权访问全部/部分机密数据;2)备份介质丢失, 维护数据库系统安全需要对数据库中的数据进行定期备份,大量的数 据备份文件存储在无保护的磁性和光学介质中,流失的隐患相当大, 从而可能造成机密信息的泄露。

发明内容

针对上述的传统数据库安全保护措施在云计算环境中存在的问 题,本发明提供一种云计算环境下数据库加密保护系统和加密保护方 法。

本发明主要解决,当存储在云计算数据库服务器中的加密数据形 成规模之后,对数据实现高效的加密/解密。在传统安全措施的基础 上,采用数据加密技术将数据库中的机密数据加密,这样即使入侵者 绕过或攻破了各种系统安全机制,得到的也只是加密后的密文数据, 备份数据的流失也不会造成机密信息的泄露。

本发明的第一方面提供了一种云计算环境下数据库加密保护系 统,包括应用接口(1)、任务管理子系统(2)、资源管理子系统(3)、 虚拟主机加解密引擎池(4),所述系统包括:

1)应用接口(1)是任务管理子系统(2)与应用服务器进行交互 的接口,一方面将应用服务器的SQL请求提交给任务管理子系统(2), 另一方面将任务管理子系统(2)收集的运行结果提供给应用服务器;

2)任务管理子系统(2),解析各种数据库访问请求,通过访问控 制安全审核,将允许访问的SQL请求分解为多个执行子任务,并对这 些子任务进行发布、维护、监视和更新等控制管理工作;

3)资源管理子系统(3),一方面收集所有虚拟机和物理机的信息; 另一方面按照任务管理子系统发布的执行子任务的需求部署虚拟机, 提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功 能;

4)加解密引擎池(4),系统最核心的部分,由多个基于虚拟化技 术动态的加解密引擎组成,这些加解密引擎由资源管理子系统(3) 在虚拟机中创建,是任务管理子系统(2)中任务的执行单元,负责 为用户的数据业务提供加解密服务和数据安全访问服务。

本发明的第二方面提供了一种云计算环境下数据库加密保护方 法,避免因为加解密模块超负荷工作而影响数据库性能下降等问题。 对加解密引擎部署结构进行优化,按照加解密功能软件化、分布化、 承载方式虚拟化的思路实现加解密资源按需服务。数据库加密保护方 法包括以下步骤:

步骤一:应用服务器的SQL请求通过应用接口(1)发送给任务 管理子系统(2),任务管理子系统(2)对该请求进行语句合法性验 证,判断其语句是否合法;并对其做并行任务处理;

步骤二:任务管理子系统(2)将所有任务进行分析排序,把可 以立即执行的任务发送给资源管理子系统(3),存在资源竞争冲突的 任务放入任务等待队列,同时对任务队列进行检测,将等待超时的任 务根据任务执行策略决定继续等待或者丢弃;

步骤三:资源管理子系统(3)收集系统中物理机的信息,预测 系统对虚拟主机的需求,按照虚拟机部署策略在物理机中部署需求的 虚拟主机;

步骤四:资源管理子系统(3)将从任务管理子系统(2)收到的 任务按优先级进行排序,选择为其分配资源任务,根据资源分配策略 在虚拟资源列表中选择匹配的虚拟资源,即虚拟机,若虚拟资源不足, 不能满足任务的资源需求,则转到步骤三;

步骤五:在任务分配的虚拟机中检测加解密引擎程序并启动该程 序,若启动成功告知任务管理子系统(2)任务正在执行,转到步骤 六;否则告知任务执行异常,由任务管理子系统(2)撤销任务,执 行步骤七;

步骤六:任务开始执行,通过创建的加解密引擎程序完成数据库 访问和数据加密服务,向任务管理子系统(2)返回结果;

步骤七:资源管理子系统(3)对任务执行完成的虚拟机,进行 回收,销毁解密引擎程序。

本发明解决了云计算环境下数据库加密保护问题,主要有以下优 点:

1.采用加解密引擎池,避免因加解密模块超负荷工作而影响数据 库性能下降;

2.应用系统对数据库的最终用户是完全透明的,可以根据需要进 行明文和密文的转换工作;

3.加解密引擎完全独立于数据库和应用系统,无须改动数据库和 应用系统就能实现数据加密功能;

4.采用基于虚拟化技术构建的加解密引擎池具有很好的可管理 性和弹性,可以按需创建,解决了关系型数据库应用中的细颗粒度、 大并发量存取的瓶颈问题,资源合理化使用,提高了数据库服务器的 能力和效率。

附图说明

图1是本发明的数据库加密保护系统结构示意图;

图2是本发明的数据库加密保护方法流程图;

图3是根据本发明实施例的云计算环境的数据保护的应用系统 结构图;

图4是根据本发明实施例的数据库加密保护的应用系统的工作 流程图。

具体实施方式

下面结合附图对本发明的云计算环境下数据库加密保护的实现 方法和系统进行详细描述说明。描述中给出了许多具体细节,以确保 本发明实例的透彻理解。

如图1所示,根据本发明实施例的数据库加密保护系统,云计算 环境下数据库加密保护系统包括:应用接口1,任务管理子系统2, 资源管理子系统3,加解密引擎池4。

应用接口1,提供给任务管理子系统2与应用服务器进行交互的 接口,一方面将应用服务器的SQL请求提交给任务管理子系统2,另 一方面将任务管理子系统2收集的运行结果提供给应用服务器;

任务管理子系统2,解析各种数据库访问请求,通过访问控制安 全审核,将允许访问的SQL请求分解为多个执行子任务,并对这些子 任务进行发布、维护、监视和更新等控制管理工作;

资源管理子系统3,一方面负责收集所有虚拟机和物理机的信息, 并将这些信息作为任务管理子系统2任务分发部署和运行的依据;另 一方面按照任务管理子系统2发布的执行子任务的需求部署虚拟机, 提供加解密引擎的创建、回收服务,实现虚拟加解密引擎按需分配功 能;

加解密引擎池4,系统最核心的部分,由多个基于虚拟化技术动 态的加解密引擎组成,这些加解密引擎由资源管理子系统3在虚拟机 中创建,是任务管理子系统2中任务的执行单元,负责为用户的数据 业务提供加解密服务和数据安全访问服务。

如图2所示,根据本发明实施例的数据库加密保护系统,云计算 环境下数据库加密保护方法包括以下步骤:

步骤一:应用服务器的SQL请求通过应用接口1发送给任务管理 子系统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操作请求: (1)对数据库11进行写入记录、删除、修改操作,如上载数据;(2) 对数据库11进行查询操作,这种场景需要后台加/解密;(3)数据获 取,不需要后台加/解密,需要用户端加/解密;(4)数据交换(需要 多个数据库参与)。数据库加密保护系统9中任务管理子系统2将SQL 请求分解为多个执行子任务,由资源管理子系统3创建若干个基于虚 拟机的加解密引擎执行子任务。

步骤四:加解密引擎将SQL请求转换成易处理的树形式,从树中 提取出数据库加解密处理所需的参数(表名、字段名、插入数据等等)。 除此,由语法树转换成可对密文数据库操作的SQL语句。

步骤五:加解密引擎根据所要操作的数据库关系表向密钥和认证 管理中心8申请相应的被加密的表密钥;密钥和认证管理中心8将使 用该用户公钥加密过的表密钥通过应用门户6返回给用户终端;用户 终端使用所持有的私钥对被公钥加密的表密钥经行解密得到表密钥, 再由应用门户6发送给数据库加密保护系统9(即加解密引擎);加 解密引擎将所得表密钥发送给密钥与认证管理中心8进行密钥确认; 若密钥不合法,返回异常提示给用户,执行步骤十一;否者,执行步 骤六。

步骤六:加解密引擎向数据库11进行操作访问,从数据库获取 密文数据,由于不同类型SQL访问,操作细节上也存在差别:(1)对 关系表进行写入记录、删除操作,执行步骤七;(2)对关系表中记录 进行修改,查询操作,执行步骤七;(3)数据获取,执行步骤九。

步骤七:根据表密钥生成工作密钥,通过工作密钥对数据进行加 解密操作;完成相应的业务操作;若SQL访问类型为查询操作,执行 步骤九,否则执行步骤八。

步骤八:进行数据库11记录删除或者将需要回写入数据库11的 数据,进行加密重新存入数据库11。

步骤九:将SQL子任务执行结果发送给任务管理子系统2,将操 作记录发送给数据库审计系统10。

步骤十:任务管理子系统2收集该用户请求的所有SQL子任务执 行结果,通过VPN通道进行传输给应用服务器7。

步骤十一:任务执行结束,关闭加解密引擎,回收虚拟资源。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号