详解数据加/脱密处理的主要流程

数据库
众所周知,如今的黑客是越来越猖狂,无时无刻不在威胁着数据库的安全,这就需要对数据库系统进行加密的处理,既然加密了就必然要涉及到脱密的环节,下文中将为大家到来详细的数据库加/脱密处理的主要流程。

数据库加/脱密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后台完成数据库信息的加/脱密处理,对应用开发人员和操作人员来说是透明的。数据加/脱密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加/脱密引擎由三大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块,如图4所示。其中,"数据库接口模块"的主要工作是接受用户的操作请求,并传递给"加/脱密处理模块",此外还要代替"加/脱密处理模块"去访问数据库服务器,并完成外部接口参数与加/脱密引擎内部数据结构之间的转换。"加/脱密处理模块"完成数据库加/脱密引擎的初始化、内部专用命令的处理、加密字典信息的检索、加密字典缓冲区的管理、SQL命令的加密变换、查询结果的脱密处理以及加脱密算法实现等功能,另外还包括一些公用的辅助函数。

数据加/脱密处理的主要流程如下:

1)对SQL命令进行语法分析,如果语法正确,转下一步;如不正确,则转6),直接将SQL命令交数据库服务器处理。

2)是否为数据库加/脱密引擎的内部控制命令?如果是,则处理内部控制命令,然后转7);如果不是则转下一步。

3)检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6),否则转下一步。

4)检索加密字典,根据加密定义对SQL命令进行加脱密语义分析。

5)SQL命令是否需要加密处理?如果是,则将SQL命令进行加密变换,替换原SQL命令,然后转下一步;否则直接转下一步。

6)将SQL命令转送数据库服务器处理。

7)SQL命令执行完毕,清除SQL命令缓冲区。

【编辑推荐】

  1. 知道数据库设计的三大范式吗
  2. 用C++连接MySQL等数据库二
  3. 微博 请问你是怎么优化数据库的?
  4. SQL点滴之备份还原数据库中的小把戏
责任编辑:迎迎 来源: 博客网
相关推荐

2021-02-21 22:26:15

数据库测试数据库

2011-04-19 11:02:57

数据库分页

2013-04-25 11:52:34

数据

2021-05-21 09:00:00

数据挖掘数据分析工具

2015-09-23 09:28:24

2022-01-11 18:21:11

存储技术数据

2014-01-06 09:48:40

2011-03-21 17:09:38

数据表设计原则

2022-04-07 20:26:45

数据管理自动化

2018-05-25 10:51:50

数据保护进

2015-05-04 14:17:16

数据库架构高可用

2010-10-28 15:37:36

高可用架构

2013-01-09 14:29:09

数据治理Informatica

2021-12-07 22:07:26

数据治理元管理

2010-12-13 13:26:25

分页

2015-12-10 10:14:10

运维自动化DevOps

2011-08-29 14:59:26

QtEvent事件

2010-06-18 16:33:08

数据中心防雷

2022-07-11 09:00:00

数据集成云计算ELT

2011-04-01 15:50:49

数据库计算机
点赞
收藏

51CTO技术栈公众号