数据库安全管理加密系统

合集下载

数据库安全性管理与加密技术研究

数据库安全性管理与加密技术研究

数据库安全性管理与加密技术研究简介:数据库安全性管理是在信息科技高度发展的背景下,对数据库系统中存储和处理的敏感数据进行保护的重要措施。

随着数据库技术与互联网的深入融合,数据库安全面临了更多的挑战与威胁。

为了解决这些问题,加密技术是目前最常用和有效的数据保护手段之一。

本文将介绍数据库安全性管理与加密技术的研究现状和发展趋势。

一、数据库安全性管理的重要性数据库是企业和组织中储存大量敏感数据的核心系统,包括客户信息、员工信息、财务数据等。

这些数据的泄露和篡改将对组织的经济利益、声誉和合规性造成重大损失。

因此,数据库安全性管理应作为信息管理中的重要组成部分,得到足够的重视和投入。

首先,数据库安全性管理可以保护数据的机密性。

通过限制未经授权用户的访问权限,可以防止敏感数据被泄露给外部攻击者或内部人员。

其次,数据库安全性管理可以保护数据的完整性。

通过定义适当的数据访问和修改规则,可以防止非法更改、删除和篡改数据,确保数据的真实性和可信性。

最后,数据库安全性管理可以保护数据的可用性。

通过备份和灾难恢复策略,可以确保在系统故障或意外事件发生时快速恢复数据,保证数据的正常使用。

二、数据库安全性管理的挑战随着数据库规模的不断扩大和信息交换的增加,数据库面临着越来越多的安全挑战。

首先,数据库面临着外部攻击者的威胁。

黑客、网络犯罪分子和竞争对手可能利用漏洞和弱点获取数据库中的敏感信息或对数据库进行破坏性攻击。

其次,数据库还面临着内部威胁。

不良员工可能利用其特殊权限或职务滥用数据库,泄露、篡改或删除数据,造成组织严重损失。

另外,数据库还可能受到恶意软件的感染,如病毒、木马和僵尸网络,这些恶意软件可能导致数据质量下降、数据丢失或服务中断。

此外,随着云计算和大数据技术的快速发展,数据库安全面临新的挑战,如数据共享、数据隐私和合规性问题等。

三、数据库加密技术研究现状数据库加密技术可以对敏感数据进行加密,以达到保护数据的目的。

安华金和数据库加密系统(DBCoffer)

安华金和数据库加密系统(DBCoffer)

安华金和数据库加密系统系统(DBCoffer)一. 产品概述安华金和数据库加密系统(简称DBCoffer) 是一款基于透明加密技术的数据库防泄漏产品,该产品能够实现对数据库中的敏感数据加密存储、访问控制增强、应用访问安全、安全审计以及三权分立功能。

安华金和数据库加密系统能够防止明文存储引起的数据泄密、防止突破边界防护的外部黑客攻击、防止内部高权限用户的数据窃取,从根源上防止敏感数据泄漏。

安华金和数据库加密系统通过独创的、专利的三层透明视图技术、密文索引技术和应用绑定技术,突破传统数据库安全加固产品的技术瓶颈,真正实现数据高度安全、应用完全透明、密文高效访问。

二. 产品价值2.1 全方位主动预防数据泄密预防外部黑客窃取数据威胁:数据库权限提升是当前数据库漏洞中黑客使用率最高的攻击手段,通过该手段黑客直接获得DBA身份,任意访问敏感数据。

防护:安华金和数据库加密系统的密文访问控制体系,可以保证即使数据库自身的权限被突破,非授权用户仍然无法访问密文数据。

防止开发人员绕过合法应用威胁:业务系统的数据库账户常被开发或运维人员掌握,通过该账户这些人员可以直接访问数据库。

防护:安华金和数据库加密系统的应用身份鉴别,确保第三方人员无法绕开合法的业务系统,直接访问敏感数据。

预防存储层明文泄密威胁:硬件设备、备份磁盘丢失,数据文件、备份文件的拷贝,都将引起机密数据泄漏。

防护:通过安华金和数据库加密系统,将关键信息进行加密,加密后的数据在存储层以密文形态存在,保证他人即使拿到数据文件,也“看不懂”。

防止数据库运维人员操作敏感数据威胁:数据库的运维人员,往往有最高范围权限,一般为DBA,可看到数据库中的所有敏感信息,不符合安全管理要求。

防护:安华金和数据库加密系统通过独立的二次权限控制、三权分立,保证即使是高权限运维用户,在得不到特殊授权时也无法访问敏感数据,同时不会影响其日常运维工作。

2.2 符合信息安全政策需求等级保护:要求三级以上系统应采用加密或其他有效措施实现系统管理数据、鉴别信息和重要业务数据存储保密性。

数据库加密技术PPT

数据库加密技术PPT

5.2 数据库加密的实现机制
3. 数据库加密实现对比
库内加密模式 库外加密模式
加解密执行者
对数据库应用是否透明
DBMS

专门的密码服务器或 客户端 否 基本无影响 专门保护,风险小
影响索引等部分功能
服务器端性能影响 密钥管理
是否影响DBMS功能 密码服务能力
服务器运行负担大 库内存储,风险大
完全不影响
5.3 关键影响因素
6. 密文数据的查询
(1) 不用解密而直接操作密文数据的方法。不用对密文数据进 行解密,就能够直接对它进行常规的数据库操作。这是一种 非常理想的方法,可以大大提高系统性能。(秘密同态加密 技术) (2) 快速解密的方法。能够快速地解密数据库中的密文数据, 从而提高系统的查询性能。(子密钥加密技术、智能卡加密 技术等) (3) 缩小解密范围的方法。只需要对数据库中的部分密文数据 解密,大大地减少解密的工作,从而提高系统的性能。(过 滤技术、索引技术)
emp.eid五个分区的识别器,如:
属性emp.eid的分区和识别函数 函数ident的函数值是唯一的, 即
.用户所持密钥量应较小,但同时又要保证一个用户可存取多
个数据,一个数据可被多个用户存取,存在安全与保证效率 的矛盾。
5.3 关键影响因素
4.密钥管理
(2)分级密钥管理——多级密钥管理体制
.整个系统设置一个主密钥MK,它由系统随机产生, 利用它可以对表密钥进行加密 .每个数据库的表都有一个表密钥TK,用来生成数据 项密钥的密钥加密密钥。表密钥的保护是将表密钥用 MK加密后,以密文的形式存放在数据字典中 .数据项加密密钥是对数据项进行加/脱密的工作密钥, 它由TK以及行列参数通过函数的方法动态生成。

如何在MySQL中实现数据加密和解密的安全机制

如何在MySQL中实现数据加密和解密的安全机制

如何在MySQL中实现数据加密和解密的安全机制MySQL是一种广泛使用的开源关系型数据库管理系统,它提供了许多强大的功能和安全性机制来保护数据库中的数据。

其中一个重要的安全机制是数据加密和解密,通过这种机制,可以将敏感数据加密存储,从而保护用户的隐私和数据安全。

本文将介绍如何在MySQL中实现数据加密和解密的安全机制。

一、引言数据安全是当今互联网时代的重要议题之一。

随着越来越多的个人和组织将数据存储在数据库中,保护这些数据的安全性变得至关重要。

数据加密是一种保护数据安全的常用方法,通过对数据进行加密,即使数据泄露,未经授权的人员也无法解读其中的内容。

在数据库中实现数据加密和解密的安全机制,可以提高数据的保密性和完整性,防止数据泄露和篡改。

二、数据加密与解密的基本原理数据加密是将明文数据转换为密文数据的过程,而数据解密是将密文数据还原为明文数据的过程。

在数据库中实现数据加密和解密的机制需要使用一种加密算法和密钥进行加解密操作。

常用的加密算法有对称加密算法和非对称加密算法。

对称加密算法使用同一个密钥进行数据的加解密,加解密过程快速高效,但密钥的管理和分发相对困难。

非对称加密算法使用一对密钥,其中一个用于加密数据,另一个用于解密数据。

非对称加密算法相对安全,但加解密过程较慢。

在MySQL中,可以使用加密函数和存储过程来实现数据的加密和解密。

MySQL提供了一系列加密函数,如AES_ENCRYPT和AES_DECRYPT,可以使用这些函数将数据加密和解密。

此外,也可以使用存储过程来自定义加密和解密操作。

三、使用AES加密算法进行数据加密和解密AES(Advanced Encryption Standard)是一种对称加密算法,具有高度的安全性和效率。

在MySQL中,可以使用AES加密算法对数据进行加密和解密。

1. 创建一个包含AES密钥的表首先,我们需要在MySQL中创建一个包含AES密钥的表。

可以使用以下SQL 语句创建一个名为keys的表:```CREATE TABLE keys (id INT PRIMARY KEY AUTO_INCREMENT,aes_key VARCHAR(255));```2. 生成并存储AES密钥接下来,我们需要生成AES密钥并存储到keys表中。

使用MySQL进行数据加密与保护

使用MySQL进行数据加密与保护

使用MySQL进行数据加密与保护随着互联网和信息技术的快速发展,数据安全问题变得越来越重要。

对于数据库来说,尤其是存储着大量敏感数据的数据库,加密和保护数据变得至关重要。

MySQL作为一种广泛使用的关系型数据库管理系统,提供了一些有效的手段来实现数据的加密与保护。

本文将探讨如何使用MySQL进行数据加密与保护。

1. 数据库连接加密数据库连接是客户端与数据库之间交换数据的重要通道,保证连接的安全性至关重要。

MySQL提供了一种称为SSL(Secure Sockets Layer)的加密协议,可以对数据库连接进行加密保护。

使用SSL可以保证数据在传输过程中不被窃取或篡改。

要使用SSL加密数据库连接,首先需要启用MySQL服务器上的SSL功能。

然后,客户端与服务器之间的连接将会通过SSL通道进行加密。

通过在MySQL连接属性中设置相应的选项,如ssl_ca、ssl_cert和ssl_key,可以指定用于连接服务器的SSL证书和密钥。

2. 数据加密算法MySQL支持多种数据加密算法,例如AES(Advanced Encryption Standard)、RSA(Rivest-Shamir-Adleman)和SHA(Secure Hash Algorithm)等。

这些算法可以应用于不同的场景,以实现数据的加密和解密。

AES是一种对称加密算法,它可以使用相同的密钥来进行加密和解密。

在MySQL中,可以使用AES函数对数据进行加密和解密。

例如,可以使用AES_ENCRYPT函数对数据进行加密,使用AES_DECRYPT函数对加密的数据进行解密。

这样做可以避免在存储和传输过程中敏感数据的泄露。

RSA是一种非对称加密算法,它使用公钥和私钥来加密和解密数据。

在MySQL中,可以使用RSA函数对数据进行加密和解密。

首先,需要生成一对公钥和私钥。

然后,使用公钥进行数据加密,使用私钥进行数据解密。

这种方式适用于数据的传输和存储过程中的加密需求。

如何使用MySQL进行数据加密和安全保护

如何使用MySQL进行数据加密和安全保护

如何使用MySQL进行数据加密和安全保护在当今互联网时代,数据安全和隐私保护显得尤为重要。

对于企业来说,数据库是其核心业务数据的集中存储地,因此,数据库的安全保护显得尤为关键。

而MySQL作为市场上最常见的关系型数据库之一,本文将探讨如何使用MySQL进行数据加密和安全保护,以保障数据的机密性和完整性。

一、MySQL数据加密的基本概念数据库中的数据加密,是通过将明文数据转化为密文数据,确保其只能通过授权的解密过程才能获得原始明文数据。

在MySQL中,数据加密可以通过多种方式实现,包括对整个数据库进行加密、对敏感字段进行加密等。

1.1 整个数据库加密对于整个数据库加密,可以使用MySQL的Transparent Data Encryption(TDE)功能。

TDE能够在存储层面对整个数据库进行加密,使得数据库文件在磁盘上存储时以加密的形式存在。

启用TDE功能可以通过配置MySQL的插件来实现。

一个常见的TDE插件是MySQL Enterprise Transparent Data Encryption(MySQL Enterprise TDE),它提供了对InnoDB存储引擎的透明数据加密能力。

1.2 敏感字段加密除了整个数据库的加密外,对于一些敏感字段,如用户的密码、信用卡号等,我们可以采用字段级加密的方式进行保护。

常见的字段级加密方式有对称加密和非对称加密。

对称加密可以使用MySQL的内置函数来实现,例如AES_ENCRYPT和AES_DECRYPT函数。

这意味着我们可以在查询和插入数据时使用这些函数来加密和解密敏感字段。

使用对称加密时,需要注意合理的密钥管理。

非对称加密可以使用公钥和私钥来实现,其中公钥用于加密,私钥用于解密。

常见的非对称加密算法有RSA和ECC等。

我们可以将私钥存储在数据库服务器中,而将公钥存储在应用程序中,以实现对敏感字段的加密和解密。

二、MySQL数据安全保护除了数据加密外,MySQL还提供了其他一些功能来保护数据库的安全性,包括访问控制、网络安全、备份和恢复等。

安全数据库系统

安全数据库系统

安全数据库系统在当今数字化的时代,数据成为了企业和个人最宝贵的资产之一。

无论是金融交易记录、医疗健康信息,还是社交媒体的个人资料,这些数据的安全性都至关重要。

而安全数据库系统,则是保护这些数据的坚固堡垒。

什么是安全数据库系统呢?简单来说,它是一种专门设计用来保护数据免受未经授权的访问、修改、泄露或破坏的数据库管理系统。

它不仅仅是一个存储数据的地方,更是一套包含了各种安全机制和策略的综合体系。

安全数据库系统的重要性不言而喻。

想象一下,如果银行的客户账户信息被黑客窃取,那将导致严重的财务损失和信任危机;如果医院的病人病历被随意篡改或泄露,那患者的生命安全和个人隐私都将受到极大威胁。

因此,建立一个可靠的安全数据库系统是保障业务正常运行和社会稳定的关键。

那么,一个安全的数据库系统都包含哪些关键要素呢?首先是访问控制。

这就像是给数据库的大门配上一把精密的锁,只有拥有合法钥匙(即授权)的用户才能进入。

访问控制通常包括用户身份验证和授权。

身份验证就是确认用户的身份,比如通过用户名和密码、指纹识别、面部识别等方式。

而授权则决定了用户在数据库中能够进行哪些操作,比如读取、写入、修改、删除等。

其次是数据加密。

即使黑客突破了第一道防线,获取了数据,但如果数据是经过加密处理的,他们得到的也只是一堆毫无意义的乱码。

数据加密可以在数据存储和传输过程中进行,确保数据的保密性和完整性。

审计和监控也是安全数据库系统的重要组成部分。

就像在一个房间里安装了监控摄像头,能够记录下谁在什么时候做了什么。

通过对数据库操作的审计和监控,可以及时发现异常行为,比如频繁的登录失败、大量的数据导出等,从而采取相应的措施。

另外,数据库的备份和恢复机制也不能忽视。

万一数据库遭遇了灾难,比如火灾、地震或者恶意的删除操作,能够快速从备份中恢复数据,将损失降到最低。

为了实现这些安全功能,安全数据库系统采用了一系列的技术和策略。

比如,采用哈希函数来存储用户密码,这样即使数据库被攻破,黑客也无法直接获取明文密码。

数据库安全管理加密系统方案

数据库安全管理加密系统方案

数据库安全管理加密系统方案引言随着信息技术的飞速发展,数据库在各个领域的应用越来越广泛,与此数据库的安全性问题也日益凸显。

如何确保数据库的安全性,防止数据泄露、篡改和损坏,已成为亟待解决的问题。

为了应对这一挑战,本文将介绍一种数据库安全管理加密系统方案,以确保数据库的安全性和可靠性。

需求分析该数据库安全管理加密系统方案需要满足以下需求:1、对数据库进行全面加密,确保数据安全性。

2、系统应具有高可用性,保证数据库的稳定性和可靠性。

3、提供方便易用的管理工具,以便管理员进行日常维护和管理。

4、具备强大的安全防护功能,防止黑客攻击和非法访问。

方案设计基于上述需求,我们提出以下数据库安全管理加密系统方案:1、数据库加密设计:采用先进的加密算法对数据库进行全面加密,确保数据在存储和传输过程中的安全性。

同时,为方便管理员操作,提供丰富的加密和解密工具。

2、系统高可用性设计:采用多节点高可用集群技术,确保系统的高可用性和稳定性。

任何一个节点出现故障,其他节点可以自动接管,保证数据库的持续可用性。

3、管理系统设计:开发一套集数据备份、恢复、权限管理、日志审计等功能于一体的管理系统,方便管理员进行日常维护和管理。

4、安全防护设计:采用防火墙、入侵检测、数据泄露防护等手段,增强系统的安全性和防护能力,防止黑客攻击和非法访问。

系统测试在完成系统设计和开发后,我们将进行严格的系统测试,包括以下方面:1、功能测试:验证系统的各项功能是否满足设计要求。

2、性能测试:测试系统在高负载情况下的性能表现和稳定性。

3、安全测试:模拟各种攻击手段,测试系统的安全防护能力和漏洞修复能力。

4、兼容性测试:测试系统在不同操作系统、数据库版本和硬件配置下的兼容性。

通过系统测试,确保该数据库安全管理加密系统方案的可靠性和稳定性。

应用与总结本文介绍的数据库安全管理加密系统方案,在保障数据库安全性和可靠性方面具有明显优势。

该方案不仅实现了全面加密,还通过高可用性设计、管理系统设计和安全防护设计,增强了系统的安全性和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库信息系统必备数据库安全管理加密系统《数据库安全管理加密系统》以软硬件结合方式彻底解决数据泄密问题,即使数据库非法侵入或拷贝,得到的也是一堆无法可解的乱码,而目前银行、电信部门客户数据外泄案频发,公安部门对保密要求更高,数据库裸放在服务器中,随时有泄密危险。

目录1.产品背景 (3)2.产品简介 (5)3.产品架构 (6)3.1 DBLOCK安全平台 (6)3.2 服务器端代理(Server Agent) (7)3.3 WEB管理控制台(Console) (8)3.4 安全策略和安全审计中心 (9)4.产品功能及特点 (10)4.1 数据库数据透明加密 (10)4.2 数据库透明访问,不需对应用作任何修改 (10)4.3 数据传输加密 (11)4.4 透明安全代理 (11)4.5 三权分立管理 (13)4.6 完善的系统审计功能 (14)4.7 支持多数据库系统 (14)4.8 DBLOCK系统特点 (14)数据库安全管理加密系统最近几年,个人信息大规模泄露、造成巨大损失的事件时有发生:1、招商银行、工商银行员工兜售客户信息,造成损失达3000多万元。

2、京东商城客户账号泄密案件。

3、CSDN几百万用户注册信息库被黑客盗取。

4、天涯社区论坛4000万用户数据泄露。

5、taobao泄密事件.6、开心网账号泄密事件1.产品背景随着计算机技术的飞速发展,各类信息系统的应用已深入到各个领域。

但随之而来应用系统和数据库的安全问题尤为凸显。

数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要。

小则关系到企业兴衰、大则关系到国家安全。

在涉密单位或者大型企事业单位中,广泛的实施了安全防护措施,包括机房安全、物理隔离、防火墙、入侵检测、加密传输等等。

但就应用系统本身和数据库的安全问题却一直得不到应有的重视。

同时,之前的市场上也缺乏有效的应用系统和数据库安全的统一解决方案。

这就致使数据库及其应用系统在安全方面普遍存在一些安全隐患。

其中比较严峻的几个方面表现在:(1)应用系统身份验证强度问题。

目前许多应用系统本身缺乏有效的强身份认证安全机制,应用服务提供者如何验证用户的有效身份,用户如何验证服务提供者的身份,如何保证在网络上传输的数据不被篡改。

(2)数据库安全问题。

由于国内只能购买到C2安全级别的数据库安全系统,该类系统采用自主访问控制(DAC)模式,DBA角色能拥有至高的权限,权限可以不受限制的传播。

这就使得获取DBA角色的权限成为攻击者的目标。

一旦攻击者获得DBA角色的权限,数据库将对其彻底暴露,毫无任何安全性可言。

数据库系统是一个复杂的系统,根据已经公布的资料,数据库存在许多漏洞,其中不少是致命的缺陷和漏洞。

举例来说,号称拥有全球最安全的数据库产品的Oracle 公司在2006 年1 月发布了其季度安全补丁包,该补丁包修补了多个产品中的80 多个漏洞。

其中不少漏洞可以非常容易地被黑客利用,一旦遭到攻击将给用户造成严重影响。

数据库及其应用系统每天都可能受到包括SQL注入攻击在内的广泛的攻击。

攻击者利用应用程序设计中的漏洞,对数据库系统发起攻击,获得不应该具有的权限,甚至下载整个数据库文件,给数据库的安全造成严重威胁。

C2级数据库采用基于口令的认证方式。

本身缺乏有效的登录口令管理机制,口令更换周期长,使用复杂口令很困难,口令泄露的风险大。

由于C2级商业数据库管理系统在上述各个安全方面的不可信,攻击者可能通过非正常途径来访问数据库,破坏系统的安全性。

2.产品简介DBLOCK数据库安全管理系统(简称“DBLOCK 系统”)是一款多数据库平台安全加固系统,该产品能够实现对数据库数据的加密存储、强制权限控制、敏感数据访问审计。

DBLOCK系统可以防止绕过企业边界(FireWall、IDS\IPS等)防护的外部数据攻击、来自于内部的高权限用户(DBA、开发人员、第三方外包服务提供商)的数据窃取、以及由于磁盘、磁带失窃等引起的数据泄密。

在对现有应用不做任何更改的情况下,DBLOCK系统可以对数据库应用系统中的数据,进行数据透明加密;并在现有的数据库权限访问控制的基础上,增加了数据安全管理员(DSA)进行加密数据的加密和解密权限控制,有效防止数据库特权用户访问敏感数据;同时增加了数据审计员(DAA)对安全行为和敏感信息的访问进行审计追踪。

当前主流数据库安全加固方案包括前置代理、应用加密和数据库自带加密选件TDE。

前置代理需要应用大幅改造、大量数据库核心特性无法使用;应用加密必须由应用实现数据加密,加密数据无法检索。

同时需对应用系统进行大幅度的改造,已有系统无法透明移植;另外国外数据库所提供的TDE 不能集成国产加密算法,不符合国家密码政策。

因此这几种方案一直未能得到有效推广。

DBLOCK 通过自主专利SQL 智能分析引擎和密文索引等核心技术,突破了传统数据库安全产品的技术瓶颈,可以实现数据高度安全、应用完全透明、密文高效访问。

DBLOCK系统当前支持Oracle、SQL server、DB2、Sybase 等多种数据库平台,满足用户的多种部署需求。

3.产品架构DBLOCK 系统由三部分组成:客户端代理(Client Agent)、DBLOCK安全平台、服务器代理(Server Agent)。

客户端代理:运行在所需保护的应用客户端或连接数据库的应用服务器上面,支持Windows、Unix、Linux主流操作系统平台。

DBLOCK安全平台:独立的硬件设备,安装在网络环境中,主要完成基于机器特征的身份认证、资源访问权限控制、密钥管理、数据库数据实时加/解密、安全策略管理、Web Service均由核心设备完成。

服务器代理:驻留在数据库内部,主要实现数据库与DBLOCK安全通讯,表空间内的密文数据索引,和密文数据存储。

3.1 DBLOCK安全平台DBLOCK安全平台由WEB管理控制台、API 调用库、安全守护进程构成。

主要为客户端代理(Client Agent)、服务器端代理(Server Agent)和WEB管理控制台服务,并实现对加密设备的兼容,系统配置信息和审计日志存储在“ODBC数据存储中心”中。

WEB管理控制台负责安全守护进程加解密功能的启动和停止。

API 调用库,对外供服务器端代理(Server Agent)调用完成加解密功能,供服务器端代理(Server Agent)获得加密设备信息和密钥生成;同时对客户端代理(Client Agent)提供终端安全认证;对内供WEB管理控制台完成加解密功能的启动。

安全守护进程是一个独立运行的服务进程,负责提供远程或进程间的服务形式,可以通过远程TCP/IP 方式或进程间通讯方式(Shared Memory)与客户端进行通讯;主要提供数据的授权控制下加解密服务,密钥的生成和更新功能。

3.2 服务器端代理(Server Agent)服务端代理是DBLOCK系统实现应用透明和性能管理的关键部分。

该子系统驻留在数据库实例内部,由数据库扩展存储过程、视图、触发器、SQL 语法分析工具、外部程序和专属于DBLOCK系统的“系统表”构成,互相协作,实现对敏感数据的透明加密和对加密数据的高性能访问。

服务器端代理(Server Agent)的核心机制包括:1)利用“服务端代理”中的SQL 分析模块对提交的SQL语句【包括Insert、Update 和Delete 操作的INSTEAD OF 类型】进行语法分析和扩展,根据DBMS 中的“加密字典”对SQL语句进行“解析扩展”。

例如:解析前的语句“SELECT yhmm FROM ybxxb”;解析后“SELECT dbo.str_Decode(‘yhmm’) as yhmm FROM ybxxb”。

其中yhmm为数据库中的密文字段,str_Decode()为用户自定义函数UDF(User Defined Function),dbo为DBMS中str_Decode()的拥有者。

2)加密系统将重组后的SQL语句提交给DBMS,DBMS通过“数据库对象【视图】”调用“加/解密动态库”对数据库中的密文数据进行解密,并将解密后的结果反馈给“数据库对象【视图】”。

3)利用数据库的视图在被加密列所在的表上创建二个视图。

一个内层视图包含ROWID 伪列信息来标识行数据;另一个与原表同名的视图作为对外的视图(透明视图),屏蔽了ROWID 列,以保证表结构的一致性。

前面提到的触发器是建立在内层视图上的,可以利用该视图的ROWID 列信息来定位数据更新。

在视图的select 语句中包含有相应加密列的解密操作,完成对外的加密数据透明访问。

4)利用数据库的索引和优化器扩展机制实现密文索引查询和约束处理通过实现数据库的Data Cartridges 提供的索引扩展和优化器扩展接口,来支持对密文数据的索引功能和相应的Optimizer 统计功能,提供索引方式的等于和范围查询,提高查询性能。

同时,通过密文索引,可以实现对各种数据库约束的处理(例如唯一值约束、主键约束等)5)通过实现数据预取和专门的缓存机制解决性能瓶颈结合密文索引和借鉴数据库自身的优化器机制,设计、实现面向全表扫描、索引扫描、跳跃扫描三种查询方式的数据预取和缓存管理,大范围的减少频繁的PL/SQL 程序调用(减少SQL引擎和PL/SQL 引擎切换的开销)和外部加解密程序调用,全面的提升系统的性能。

6)严格遵守数据库的事务管理特性,保证数据的正确性保证性能的同时,严格遵循数据库的MVCC、读一致性和隔离级别(读提交、串行化)特性,并遵循这些特性来实现内部的密文缓存管理、密文索引管理,保证在并发事务模型下的事务正确性、并发读一致性和持久性。

3.3 WEB管理控制台(Console)“WEB管理控制台”是DBLOCK 系统提供的图形化集成环境,用于DSA 可视化进行用户权限控制、密钥及算法管理、加解密处理、密文索引维护等安全管理工作。

“WEB管理控制台”通过HTTPS建立连接,直接和安全代理模块进行通讯,同时通过访问安全服务模块和安全策略中心,从而为系统的DSA 提供各种可视化操作。

“WEB管理控制台”的核心功能包括:1)可视化导航数据库对象可以按树形模型展示模式、表、列、用户等Oracle 数据库对象,方便DSA 进行各种安全管理操作。

2)用户安全权限控制DSA 可以将数据库中任一用户的属性信息同步到安全策略中心,从而将该用户注册到DBLOCK 系统中。

通过“WEB管理控制台”,DSA 可以对一个用户设置列级安全访问权限,包括对某一列的加密、解密、明文访问、密钥转化等四种权限。

3)加解密处理“WEB管理控制台”提供对单列、以及多列同时进行加解密处理,包括对主外键、Unique、not null 等约束列的加解密,同时可以支持V ARCHAR、V ARCHAR2、CHAR、NUMBER、DATE、CLOB、BLOB 等核心数据类型。

相关文档
最新文档