数据库加密方法有哪些

更新时间:2024-11-07 18:08:02 阅读: 评论:0


2022年7月28日发
(作者:我的婆家我的娘全集)

数据库加密系统是一款基于透明加密技术的数据库防泄漏系统,

该产品能够实现对数据库中的敏感数据加密存储、访问控制增强、应

用访问安全、安全审计以及三权分立等功能。

数据库安全技术之一,数据库安全技术主要包括:数据库漏扫、

数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。

数据库透明加密是数据库加密技术的关键,避免了应用系统程序

需要大量改造,产生很多的附加成本。

应用背景

当前我国涉密部门(军队、军工、政府、金融行业、保险行业、电

信行业等)中,80%以上应用系统使用国外数据库产品,特别是

Oracle;如何保证系统在高性能、高可用的同时提升数据的安全性,

确保关键信息不被泄露、国家利益不受损失已经迫在眉睫。

政策要求

2020年1月1日,《中华人民共和国密码法》正式施行,对数

据库加密技术提出了密码技术要求,国家对密码实行分类管理。密码

分为核心密码、普通密码和商用密码。

第七条核心密码、普通密码用于保护国家秘密信息,核心密码保

护信息的最高密级为绝密级,普通密码保护信息的最高密级为机密

级。

核心密码、普通密码属于国家秘密。密码管理部门依照本法和有

关法律、行政法规、国家有关规定对核心密码、普通密码实行严格统

一管理。

存在问题

当前主流Oracle安全增强方案包括前置代理、应用加密和Oracle

自带加密选件TDE等。前置代理需要应用大幅改造、大量Oracle核

心特性无法使用;应用加密必须由应用实现数据加密,加密数据无法

检索,已有系统无法透明移植;TDE不能集成国产加密算法,不符合

国家密码政策。因此这几种方案一直未能得到有效推广。

成熟的数据库加密软件应该解决两大重要难题,一是应用透明,

二是密文索引。在安装了数据库加密软件后,原有的应用系统基本不

需要改造,因为大型的应用程序改造起来很困难,有的甚至源程序没

有了,导致无法改造;明文转为密文后,原有按明文构造的索引必然

失效,这就需要按照密文对应明文查询的顺序构造密文索引,通过密

文索引可以让数据库查询速度几乎不减慢。

对数据进行加密,主要有三种方式:系统中加密、客户端(DBMS

外层)加密、服务器端(DBMS内核层)加密。客户端加密的好处是不

会加重数据库服务器的负载,并且可实现网上的传输加密,这种加密

方式通常利用数据库外层工具实现。而服务器端的加密需要对数据库

管理系统本身进行操作,属核心层加密,如果没有数据库开发商的配

合,其实现难度相对较大。此外,对那些希望通过ASP获得服务的

企业来说,只有在客户端实现加解密,才能保证其数据的安全可靠。

常用数据库加密技术

信息安全主要指三个方面。一是数据安全,二是系统安全,三是

电子商务的安全。核心是数据库的安全,将数据库的数据加密就抓住

了信息安全的核心问题。

对数据库中数据加密是为增强普通关系数据库管理系统的安全

性,提供一个安全适用的数据库加密平台,对数据库存储的内容实施

有效保护。它通过数据库存储加密等安全方法实现了数据库数据存储

保密和完整性要求,使得数据库以密文方式存储并在密态方式下工

作,确保了数据安全。

数据库加密功能特性

经过近几年的研究,我国数据库加密技术已经比较成熟。

一般而言,一个行之有效的数据库加密技术主要有以下6个方面

的功能和特性。

(1)身份认证:

用户除提供用户名、口令外,还必须按照系统安全要求提供其它

相关安全凭证。如使用终端密钥。

(2)通信加密与完整性保护:

有关数据库的访问在网络传输中都被加密,通信一次一密的意义

在于防重放、防篡改。

(3)数据库数据存储加密与完整性保护:

数据库系统采用数据项级存储加密,即数据库中不同的记录、每

条记录的不同字段都采用不同的密钥加密,辅以校验措施来保证数据

库数据存储的保密性和完整性,防止数据的非授权访问和修改。

(4)数据库加密设置:

系统中可以选择需要加密的数据库列,以便于用户选择那些敏感

信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以

提高数据库访问速度。这样有利于用户在效率与安全性之间进行自主

选择。

(5)多级密钥管理模式:

主密钥和主密钥变量保存在安全区域,二级密钥受主密钥变量加

密保护,数据加密的密钥存储或传输时利用二级密钥加密保护,使用

时受主密钥保护。

(6)安全备份:

系统提供数据库明文备份功能和密钥备份功能。

数据库加密基本要求

(1)字段加密;

(2)密钥动态管理;

(3)合理处理数据;

(4)不影响合法用户的操作;

(5)防止非法拷贝;

数据库数据加密实现

使用数据库安全保密中间件对数据库进行加密是最简便直接的方

法。主要是通过系统中加密、DBMS内核层(服务器端)加密和DBMS

外层(客户端)加密。

在系统中加密,在系统中无法辨认数据库文件中的数据关系,将

数据先在内存中进行加密,然后文件系统把每次加密后的内存数据写

入到数据库文件中去,读入时再逆方面进行解密就,这种加密方法相

对简单,只要妥善管理密钥就可以了。缺点对数据库的读写都比较麻

烦,每次都要进行加解密的工作,对程序的编写和读写数据库的速度

都会有影响。

在DBMS内核层实现加密需要对数据库管理系统本身进行操作。

这种加密是指数据在物理存取之前完成加解密工作。这种加密方式的

优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可

以实现加密功能与数据库管理系统之间的无缝耦合。其缺点是加密运

算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之

间的接口需要DBMS开发商的支持。

在DBMS外层实现加密的好处是不会加重数据库服务器的负载,

并且可实现网上的传输,加密比较实际的做法是将数据库加密系统做

成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的

加解密处理。

采用这种加密方式进行加密,加解密运算可在客户端进行,它的

优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,

缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍

差。

数据库加密系统分成两个功能独立的主要部件:一个是加密字典

管理程序,另一个是数据库加解密引擎。数据库加密系统将用户对数

据库信息具体的加密要求以及基础信息保存在加密字典中,通过调用

数据加解密引擎实现对数据库表的加密、解密及数据转换等功能。数

据库信息的加解密处理是在后台完成的,对数据库服务器是透明的。

按以上方式实现的数据库加密系统具有很多优点:首先,系统对

数据库的最终用户是完全透明的,管理员可以根据需要进行明文和密

文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改

动数据库应用系统就能实现数据加密功能;第三,加解密处理在客户

端进行,不会影响数据库服务器的效率。

数据库加解密引擎是数据库加密系统的核心部件,它位于应用程

序与数据库服务器之间,负责在后台完成数据库信息的加解密处理,

对应用开发人员和操作人员来说是透明的。数据加解密引擎没有操作

界面,在需要时由操作系统自动加载并驻留在内存中,通过内部接口

与加密字典管理程序和用户应用程序通讯。数据库加解密引擎由三大

模块组成:加解密处理模块、用户接口模块和数据库接口模块。


本文发布于:2022-07-28 15:54:20,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/falv/fa/83/43304.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26