数据库系统安全培训教材课件_第1页
数据库系统安全培训教材课件_第2页
数据库系统安全培训教材课件_第3页
数据库系统安全培训教材课件_第4页
数据库系统安全培训教材课件_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章数据库系统安全数据库是计算机科学的一个重要分支,任何信息管理的应用都离不开数据库的支持。随着网络的发展,数据库已经与网络紧密地结合起来。数据库系统安全的重要性不亚于网络安全的重要性。数据库系统的安全有它独有的特点。第10章数据库系统安全NetworkandInformationSecurity第10章数据库系统安全数据库是计算机科学的一个重要分支,110.1数据库安全概述

安全问题注释物理上的数据库完整性预防数据库物理方面的问题,如掉电,以及被灾祸破坏后能重构数据库逻辑上的数据库完整性保持数据的结构,比如:一个字段的值的修改不至于影响其他字段元素的完整性包含在每个元素中的数据都是准确的可审计性能够追踪到谁访问修改过数据的元素访问控制只允许用户访问被批准的数据,以及限制不同的用户有不同的访问模式,如读或写用户认证确保每个用户被正确地识别,既便于审计追踪,也为了限制对特定的数据进行访问可获(用)性用户一般可以访问数据库以及所有被批准访问的数据第10章数据库系统安全NetworkandInformationSecurity10.1数据库安全概述安全问题注释物理上的数据库完整性预防2(1)

存取控制技术(2)

隔离控制技术(3)

加密技术(4)

信息流向控制技术(5)

推理控制技术(6)数据备份技术

第10章数据库系统安全NetworkandInformationSecurity10.1.1数据库安全技术(1)

存取控制技术第10章数据库系统安全Networ3一般情况下,我们可以确定整个数据库是敏感的(要求保密)或不敏感的(不要求保密)。细一点,可以确定库中的某个基表(对于关系型数据库)是敏感的或不敏感的。但有时情况却复杂得多。第10章数据库系统安全NetworkandInformationSecurity10.1.2多级数据库一般情况下,我们可以确定整个数据库是敏感的(要求保密)或不敏4姓名、部门和电话这三列是不需保密的,任何人都可以查询。但是工资和绩效考核却是必须保密的(现在很多企业都搞所谓的“密薪制”),这说明基表中只有部分字段是敏感的。姓名部门工资电话绩效考核张三培训李四技术部25002171420良王五办公室16002582322中赵六客户服务部20002582254良第10章数据库系统安全NetworkandInformationSecurity姓名、部门和电话这三列是不需保密的,任何人都可以查询。姓名部5也许李四是一个特殊人物,他的所有情况都要保密,甚至他的存在都是一个秘密。赵六的电话也许很重要,不想被别人知道。这些数据的安全要求与工资与绩效考核两个字段的安全要求是不一样的。

姓名部门工资电话绩效考核张三培训李四技术部25002171420良王五办公室16002582322中赵六客户服务部20002582254良第10章数据库系统安全NetworkandInformationSecurity也许李四是一个特殊人物,他的所有情况都要保密,甚至他的存在都61.一个元素的敏感度可能不同于同一记录的其他元素或同一属性的其他值。这要求应该对每个元素单独实行安全保护。2.敏感和不敏感两种级别不足以描绘某些安全要求,需要多个安全级别。3.集合安全不同于单个元素的安全,如数据库中的和、平均值。集合安全可能高于也可能低于单个元素的安全。第10章数据库系统安全NetworkandInformationSecurity数据库安全特点1.一个元素的敏感度可能不同于同一记录的其他元素或同一属性的7虽然DBMS在操作系统的基础上增加了不少安全措施,例如基于权限的访问控制等,但操作系统和DBMS对数据库文件本身仍然缺乏有效的保护措施,有经验的黑客会“绕道而行”,直接利用操作系统工具窃取或篡改数据库文件内容。被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以觉察。分析和堵塞“隐秘通道”被认为是B2级的安全技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道”的有效手段。10.2数据库加密

第10章数据库系统安全NetworkandInformationSecurity虽然DBMS在操作系统的基础上增加了不少安全措施,例如基于权880%的计算机犯罪来自系统内部。在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系统审计等,又可以查询数据库中的一切信息。为此,可采用技术手段来削弱系统管理员的权力,如采用多权分立的策略,除了系统管理员以外,增加安全员和审计员,使系统管理员、安全员和审计员之间相互牵制、制约。80%的计算机犯罪来自系统内部。9实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员没有密钥无法进行正常解密,从而保证了用户信息的安全。另外,通过加密,数据库的部分内容成为密文,从而能减少因介质失窃或丢失而造成的损失。数据库加密对于企业内部安全管理,也是不可或缺的。实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密10一般来说,一个良好的数据库加密系统应该满足以下基本要求:1.支持各种粒度加密2.良好的密钥管理机制3.合理处理数据4.不影响合法用户的操作第10章数据库系统安全NetworkandInformationSecurity10.2.1数据库加密的基本要求一般来说,一个良好的数据库加密系统应该满足以下基本要求:第1111.操作系统层加密2.DBMS内核层实现加密

3.DBMS外层实现加密

第10章数据库系统安全NetworkandInformationSecurity10.2.2数据库加密的方式1.操作系统层加密第10章数据库系统安全Networka12数据库加密系统分成两个功能独立的主要部件:一个是加密字典及其管理程序,另一个是数据库加/解密引擎

第9章数据库系统安全通过调用数据加/解密引擎实现对数据库数据的加密、解密及数据转换等功能。用户对数据库信息具体的加密要求以及参数信息保存在加密字典中数据库加密系统分成两个功能独立的主要部件:一个是加密字典及其13优点首先,系统对数据库的最终用户是完全透明的,系统(?)可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加/解密处理在客户端进行,不会影响数据库服务器的效率。数据库加/解密引擎是数据库加密系统的核心部件,它位于客户程序与数据库服务器之间,负责在后台完成数据库信息的加/解密处理,对操作人员来说是透明的。数据加/解密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中。优点首先,系统对数据库的最终用户是完全透明的,系统(?)可以14数据库加密如果采用序列密码,那么同步将成为一个大问题。需要对大片密文中的极小部分解密时,如何同步密文与密钥呢?非对称加密?所以数据库加密一般采用分组密码。对于分组密码中常用的ECB和CBC两种模式,又该如何确定呢?考虑到数据库中会有大量相同的数据,比如性别、职务、年龄等信息,我们应该采用CBC模式。对于在DBMS上实现的加密,加密粒度可以细分为基表、记录、字段或数据元素。第10章数据库系统安全NetworkandInformationSecurity10.2.3数据库加密的方法及加密粒度数据库加密如果采用序列密码,那么同步将成为一个大问题。第101510.2.4数据库加密系统的密钥管理

第10章数据库系统安全NetworkandInformationSecurity当一用户访问数据库时,密钥管理中心利用某种技术对用户进行身份认证。如果是合法用户,则允许访问.密钥管理中心根据用户的权限取出相应的数据密钥,根据用户的请求对有关数据进行加解密处理。10.2.4数据库加密系统的密钥管理第10章数据库系16其中密钥的产生应满足下列条件:1.在产生大量密钥的过程中,产生重复密钥的概率要尽可能的低。2.从一个数据项的密钥推导出另一个数据项的密钥在计算上是不可行的,这样,即使部分密钥泄露,其他密钥也是安全的。3.即使知道一些明文值的统计分布,要从密文中获取未知明文,在计算上是不可行的。其中密钥的产生应满足下列条件:1.在产生大量密钥的过程中,产1710.3.1统计数据库的安全问题具体地说,统计数据库是这样一种数据库;从库中取得的信息是关于一实体集子集的汇总信息。统计数据库只为提供统计数据所用,如人口普查数据库就是这样。在统计数据库中,除了禁止非法存取等一般安全问题外,还存在特殊的安全问题。保护统计数据库的目的是,由该数据库发布统计信息时,保证不会使其中受保护的具体信息泄露。

10.3统计数据库的安全

第10章数据库系统安全NetworkandInformationSecurity10.3.1统计数据库的安全问题10.3统计数据库18一般的统计数据库有下面几种统计信息类型:1.计数:count(c),求满足特征表达式c的记录个数。2.求和:sum(c,a),求满足特征表达式c的记录中字段a的和。3.求平均值:average(c,a),求满足特征表达式c的记录中字段a的平均值。4.求最大值:max(c,a),求满足特征表达式c的记录中字段a的最大值。5.求最小值:min(c,a),求满足特征表达式c的记录中字段a的最小值。第10章数据库系统安全NetworkandInformationSecurity一般的统计数据库有下面几种统计信息类型:第10章数据库系统19编号章节题型难度分值111选择A2211填空B2321判断C2421简答A5531应用B10631选择C2741填空A2841简答B5题库分析人如果想知道第三章各题的分值,他直接查询将会被拒绝。但他可以先查询count(章=3),得到结果为2;他再查询sum(章=3,分值),得到结果12;他再查询max(章=3,分值),得到结果10。现在他已知道第三章有两道题,一道10分,一道2分。编号章节题型难度分值111选择A2211填空B2321判断C20用户通过一些统计数据库允许的合法查询,可以得到本来对他保密的信息。统计数据库远不是安全保密的,而且,前面介绍的一般数据库的访问控制并不能解决统计数据库的泄密问题.因为它主要是限制用户的存取权力,用户只能对数据库中的一部分数据进行访问。在统计数据库中,保密的目标应该是防止用户通过一系列“合法”的统计查询,使“不合法”的要求得到满足,也就是防止用户从一系列查询中推理出某些秘密信息,这时我们要实行的控制称为“推理控制”。

第10章数据库系统安全NetworkandInformationSecurity用户通过一些统计数据库允许的合法查询,可以得到本来对他保密的2110.3.2安全性与精确度

第10章数据库系统安全NetworkandInformationSecurity设S为全部统计信息,P为非机密统计信息子集,R为发布的子集,D是由R(也包括R在内的统计信息)泄露的统计信息子集

10.3.2安全性与精确度第10章数据库系统安全Ne22发布R子集的目的是,全部非机密统计信息在R内或可由R求得,当D≥P时(精确度),发布的统计信息包含了全部非机密统计信息,因而可认为发布的统计信息保证了精确度。精确度保证了最大限度地使用统计信息,而安全性则保证了秘密统计信息的秘密。如果满足条件D≤P(安全性)

,则不会因R而使秘密统计信息泄露。可以看出,安全性与精确度的要求正好是相反的,二者都满足的条件是D=P。要做到既保证安全性,又保证精确度,即D=P,是非常困难的发布R子集的目的是,全部非机密统计信息在R内或可由R求得,当231.小查询集和大查询集攻击

2.跟踪器攻击

3.插入和删除攻击

4.对线性系统的攻击

第10章数据库系统安全NetworkandInformationSecurity10.3.3对统计数据库的攻击方式1.小查询集和大查询集攻击第10章数据库系统安全Netw241.小查询集和大查询集攻击现假设用户的外部知识使其知道数据库内第i个记录满足特征表达式c,如果用户以统计信息count(c)查询数据库,并得到回答count(c)=1,则该用户能够确定该查询集只含一个记录,即第i个记录。此时,用户利用统计信息sum(c,a)的查询,可求得第i个记录的字段a的值;也可以以统计信息count(candd)查询数据库内第i个记录是否满足特征表达式d,若值为0则说明不满足,值为1则说明满足。甚至在查询集记录个数不唯一的情况下,这类攻击有时仍然是可行的。假设已知第i个记录满足c,且count(c)>1,如果count(candd)=count(c),则第i个记录当然也满足d。如果count(candd)<count(c),则不能确定第i个记录是否满足d。1.小查询集和大查询集攻击现假设用户的外部知识使其知道数据库252.跟踪器攻击利用所谓“跟踪器”的手段,也可使统计数据库泄密。跟踪器有多种。假设用户已知第i个记录唯一满足特征表达式c,如果想通过统计查询sum(c,a)求得第i个记录的字段a的值,在系统实施了查询集控制后,由于查询集过小将遭拒绝,故用户不能直接得到结果。但是,如果特征表达式c可由多个表达式组合而成,即将c分成c1、c2,使得c=c1-c2,同时,count(c1)和count(c2)都大小适中,不受限。此时,由于count(c1)和count(c2)均不受查询集限制,所以用户可用count(c)=count(c1)-count(c2)来验证count(c)=1,然后可利用sum(c,a)=sum(c1,a)-sum(c2,a)来求得第i个记录的字段a的值。2.跟踪器攻击利用所谓“跟踪器”的手段,也可使统计数据库泄密263.插入和删除攻击

插入和删除攻击是攻击者通过插入自己所知的假记录来观察统计信息的变化情况,从而分析出秘密信息。例如,如果查询集过小,用户可以将一些满足条件的假记录插入统计数据库,使得查询集变大,从而使查询得以进行。只需从查询集中除去那些假记录的信息,即可得到真实信息。显然,如果要求只对统计信息有查询权的用户不能插入或删除记录,或虽然能够插入删除,但对数据库出现的变化加以控制,则插入删除攻击并不会构成严重威胁。3.插入和删除攻击

插入和删除攻击是攻击者通过插入自己所知274.对线性系统的攻击

可以对统计数据库进行多次相关的查询,把查询条件、查询结果和秘密信息构成一个线性方程组,通过解线性方程组的方法来求得秘密信息。4.对线性系统的攻击

可以对统计数据库进行多次相关的查询,把28第一类:对统计数据库的查询加以限制。

1.限制查询集的大小

2.单元隐蔽(能够帮助用户推导出秘密信息的有关统计信息单元应该隐去

3.最大阶控制(如果一个统计查询恰好涉及到m个互不相同的属性,那么这样的统计称为m阶统计,所谓最大阶控制就是要限制m的值。)4.数据库分割(将数据库分割成一个个记录组,规定用户只能以这些记录组作为基本单元进行统计查询,亦即同一记录组中的数据,或者全部在查询集中,或者全部不在其中。)第9章数据库系统安全NetworkandInformationSecurity10.3.4统计数据库的安全措施第一类:对统计数据库的查询加以限制。第9章数据库系统安全29第二类:数据搅乱方式对统计数据库的几种查询限制方式是以限制用户的统计查询要求为代价的,有时会影响正常用户的使用。数据搅乱方式的原理与此则完全不相同。所谓数据搅乱,就是系统在发布统计信息之前,使统计值发生变化。当然,搅乱的目的是使用户无法从统计值中推断出秘密信息,而不能破坏整个数据库数据的统计规律。第二类:数据搅乱方式对统计数据库的几种查询限制方式是以限制用3010.4.1Web数据库概述由于Web的易用性、实用性,它很快占据了Internet服务的主导地位,已经成为使用最为广泛、最有前途、最有魅力的信息传播技术。不过,Web服务只是提供了Internet上信息交互的平台。随着Internet技术的兴起与发展和Web技术的蓬勃发展,人们已不满足于只在Web浏览器上获取静态的信息,人们需要通过它发表意见、查询数据,甚至进行网上购物,这就迫切需要实现动态的Web信息服务。10.4Web数据库的安全

第10章数据库系统安全NetworkandInformationSecurity10.4.1Web数据库概述10.4Web数据库的安31当前比较流行的Web数据库主要有:1.SQLServer2.MySQL3.Oracle这3种数据库适应性强,性能优异,容易使用,在国内得到了广泛的应用。第10章数据库系统安全NetworkandInformationSecurity10.4.2常用的几种Web数据库当前比较流行的Web数据库主要有:第10章数据库系统安全N32(1)突破客户端脚本的限制

(2)对SQL语句的攻击程序中的SQL查询语句(以ASP.net为例,username.Text与passwd.Text是用户名与口令两个文本框的值)可能是:sql="select*fromuserwhereusername='"+username.Text+"'andpasswd='"+passwd.Text+"'";执行的时候就是:select*fromuserwhereusername='cheng'andpasswd='1234'第10章数据库系统安全NetworkandInformationSecurity9.4.3Web数据库安全简介(1)突破客户端脚本的限制第10章数据库系统安全Netw33根据返回的数据集是否为空来判断是否能够登录。如果攻击者在passwd文本框里输入的不是1234,而是1111'or'1'='1,SQL语句就成为:select*fromuserwhereusername='cheng'andpasswd='1111'or'1'='1'由于‘1’=‘1’恒为真,即使口令不对也没关系,这条语句肯定能返回数据集。实际上,用户名对不对也没有关系。这就是著名且古老的1=1攻击。安全的办法是在程序中增加对单引号等特殊字符的过滤。第10章数据库系统安全NetworkandInformationSecurity根据返回的数据集是否为空来判断是否能够登录。如果攻击者在pa34(3)利用多SQL语句执行漏洞

select*frombookwherebookname=’linux入门’如果我们输入的不是linux入门而是linux入门’;deletebook--,则执行语句变为:select*frombookwherebookname=’linux入门’;deletebook--‘其中--的作用是把最后一个单引号注释掉,从而构成对表的删除。

(4)包含文件泄露第10章数据库系统安全NetworkandInformationSecurity(3)利用多SQL语句执行漏洞第10章数据库系统安全N35在进行SQLServer数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患。对于脚本主要是一个过滤问题,需要过滤一些类似单引号的特殊字符,防止破坏者构造恶意的SQL语句。接着,安装SQLServer后请打上最新补丁。

10.5SQLServer数据库的安全

第10章数据库系统安全NetworkandInformationSecurity在进行SQLServer数据库的安全配置之前,首先你必须对36在SQLServer的配置工具中,可以进行网络安全的相关设置。对于SQLServer2008,打开配置工具SQLServerConfigurationManager。(1)修改TCP使用的端口。

(2)隐藏SQLServer服务器。

(3)使用加密的网络传输。

(4)限制源IP地址。第10章数据库系统安全NetworkandInformationSecurity10.5.1SQLServer网络安全设置在SQLServer的配置工具中,可以进行网络安全的相关设37(1)使用安全的口令策略。

(2)使用安全的账号策略。

(3)加强数据库日志的记录。(4)管理扩展存储过程。

第10章数据库系统安全NetworkandInformationSecurity10.5.2SQLServer其他安全设置(1)使用安全的口令策略。第10章数据库系统安全Netw38Thanks!Thanks!39演讲完毕,谢谢观看!演讲完毕,谢谢观看!40第10章数据库系统安全数据库是计算机科学的一个重要分支,任何信息管理的应用都离不开数据库的支持。随着网络的发展,数据库已经与网络紧密地结合起来。数据库系统安全的重要性不亚于网络安全的重要性。数据库系统的安全有它独有的特点。第10章数据库系统安全NetworkandInformationSecurity第10章数据库系统安全数据库是计算机科学的一个重要分支,4110.1数据库安全概述

安全问题注释物理上的数据库完整性预防数据库物理方面的问题,如掉电,以及被灾祸破坏后能重构数据库逻辑上的数据库完整性保持数据的结构,比如:一个字段的值的修改不至于影响其他字段元素的完整性包含在每个元素中的数据都是准确的可审计性能够追踪到谁访问修改过数据的元素访问控制只允许用户访问被批准的数据,以及限制不同的用户有不同的访问模式,如读或写用户认证确保每个用户被正确地识别,既便于审计追踪,也为了限制对特定的数据进行访问可获(用)性用户一般可以访问数据库以及所有被批准访问的数据第10章数据库系统安全NetworkandInformationSecurity10.1数据库安全概述安全问题注释物理上的数据库完整性预防42(1)

存取控制技术(2)

隔离控制技术(3)

加密技术(4)

信息流向控制技术(5)

推理控制技术(6)数据备份技术

第10章数据库系统安全NetworkandInformationSecurity10.1.1数据库安全技术(1)

存取控制技术第10章数据库系统安全Networ43一般情况下,我们可以确定整个数据库是敏感的(要求保密)或不敏感的(不要求保密)。细一点,可以确定库中的某个基表(对于关系型数据库)是敏感的或不敏感的。但有时情况却复杂得多。第10章数据库系统安全NetworkandInformationSecurity10.1.2多级数据库一般情况下,我们可以确定整个数据库是敏感的(要求保密)或不敏44姓名、部门和电话这三列是不需保密的,任何人都可以查询。但是工资和绩效考核却是必须保密的(现在很多企业都搞所谓的“密薪制”),这说明基表中只有部分字段是敏感的。姓名部门工资电话绩效考核张三培训李四技术部25002171420良王五办公室16002582322中赵六客户服务部20002582254良第10章数据库系统安全NetworkandInformationSecurity姓名、部门和电话这三列是不需保密的,任何人都可以查询。姓名部45也许李四是一个特殊人物,他的所有情况都要保密,甚至他的存在都是一个秘密。赵六的电话也许很重要,不想被别人知道。这些数据的安全要求与工资与绩效考核两个字段的安全要求是不一样的。

姓名部门工资电话绩效考核张三培训李四技术部25002171420良王五办公室16002582322中赵六客户服务部20002582254良第10章数据库系统安全NetworkandInformationSecurity也许李四是一个特殊人物,他的所有情况都要保密,甚至他的存在都461.一个元素的敏感度可能不同于同一记录的其他元素或同一属性的其他值。这要求应该对每个元素单独实行安全保护。2.敏感和不敏感两种级别不足以描绘某些安全要求,需要多个安全级别。3.集合安全不同于单个元素的安全,如数据库中的和、平均值。集合安全可能高于也可能低于单个元素的安全。第10章数据库系统安全NetworkandInformationSecurity数据库安全特点1.一个元素的敏感度可能不同于同一记录的其他元素或同一属性的47虽然DBMS在操作系统的基础上增加了不少安全措施,例如基于权限的访问控制等,但操作系统和DBMS对数据库文件本身仍然缺乏有效的保护措施,有经验的黑客会“绕道而行”,直接利用操作系统工具窃取或篡改数据库文件内容。被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以觉察。分析和堵塞“隐秘通道”被认为是B2级的安全技术措施。对数据库中的敏感数据进行加密处理,是堵塞这一“隐秘通道”的有效手段。10.2数据库加密

第10章数据库系统安全NetworkandInformationSecurity虽然DBMS在操作系统的基础上增加了不少安全措施,例如基于权4880%的计算机犯罪来自系统内部。在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系统审计等,又可以查询数据库中的一切信息。为此,可采用技术手段来削弱系统管理员的权力,如采用多权分立的策略,除了系统管理员以外,增加安全员和审计员,使系统管理员、安全员和审计员之间相互牵制、制约。80%的计算机犯罪来自系统内部。49实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员没有密钥无法进行正常解密,从而保证了用户信息的安全。另外,通过加密,数据库的部分内容成为密文,从而能减少因介质失窃或丢失而造成的损失。数据库加密对于企业内部安全管理,也是不可或缺的。实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密50一般来说,一个良好的数据库加密系统应该满足以下基本要求:1.支持各种粒度加密2.良好的密钥管理机制3.合理处理数据4.不影响合法用户的操作第10章数据库系统安全NetworkandInformationSecurity10.2.1数据库加密的基本要求一般来说,一个良好的数据库加密系统应该满足以下基本要求:第1511.操作系统层加密2.DBMS内核层实现加密

3.DBMS外层实现加密

第10章数据库系统安全NetworkandInformationSecurity10.2.2数据库加密的方式1.操作系统层加密第10章数据库系统安全Networka52数据库加密系统分成两个功能独立的主要部件:一个是加密字典及其管理程序,另一个是数据库加/解密引擎

第9章数据库系统安全通过调用数据加/解密引擎实现对数据库数据的加密、解密及数据转换等功能。用户对数据库信息具体的加密要求以及参数信息保存在加密字典中数据库加密系统分成两个功能独立的主要部件:一个是加密字典及其53优点首先,系统对数据库的最终用户是完全透明的,系统(?)可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加/解密处理在客户端进行,不会影响数据库服务器的效率。数据库加/解密引擎是数据库加密系统的核心部件,它位于客户程序与数据库服务器之间,负责在后台完成数据库信息的加/解密处理,对操作人员来说是透明的。数据加/解密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中。优点首先,系统对数据库的最终用户是完全透明的,系统(?)可以54数据库加密如果采用序列密码,那么同步将成为一个大问题。需要对大片密文中的极小部分解密时,如何同步密文与密钥呢?非对称加密?所以数据库加密一般采用分组密码。对于分组密码中常用的ECB和CBC两种模式,又该如何确定呢?考虑到数据库中会有大量相同的数据,比如性别、职务、年龄等信息,我们应该采用CBC模式。对于在DBMS上实现的加密,加密粒度可以细分为基表、记录、字段或数据元素。第10章数据库系统安全NetworkandInformationSecurity10.2.3数据库加密的方法及加密粒度数据库加密如果采用序列密码,那么同步将成为一个大问题。第105510.2.4数据库加密系统的密钥管理

第10章数据库系统安全NetworkandInformationSecurity当一用户访问数据库时,密钥管理中心利用某种技术对用户进行身份认证。如果是合法用户,则允许访问.密钥管理中心根据用户的权限取出相应的数据密钥,根据用户的请求对有关数据进行加解密处理。10.2.4数据库加密系统的密钥管理第10章数据库系56其中密钥的产生应满足下列条件:1.在产生大量密钥的过程中,产生重复密钥的概率要尽可能的低。2.从一个数据项的密钥推导出另一个数据项的密钥在计算上是不可行的,这样,即使部分密钥泄露,其他密钥也是安全的。3.即使知道一些明文值的统计分布,要从密文中获取未知明文,在计算上是不可行的。其中密钥的产生应满足下列条件:1.在产生大量密钥的过程中,产5710.3.1统计数据库的安全问题具体地说,统计数据库是这样一种数据库;从库中取得的信息是关于一实体集子集的汇总信息。统计数据库只为提供统计数据所用,如人口普查数据库就是这样。在统计数据库中,除了禁止非法存取等一般安全问题外,还存在特殊的安全问题。保护统计数据库的目的是,由该数据库发布统计信息时,保证不会使其中受保护的具体信息泄露。

10.3统计数据库的安全

第10章数据库系统安全NetworkandInformationSecurity10.3.1统计数据库的安全问题10.3统计数据库58一般的统计数据库有下面几种统计信息类型:1.计数:count(c),求满足特征表达式c的记录个数。2.求和:sum(c,a),求满足特征表达式c的记录中字段a的和。3.求平均值:average(c,a),求满足特征表达式c的记录中字段a的平均值。4.求最大值:max(c,a),求满足特征表达式c的记录中字段a的最大值。5.求最小值:min(c,a),求满足特征表达式c的记录中字段a的最小值。第10章数据库系统安全NetworkandInformationSecurity一般的统计数据库有下面几种统计信息类型:第10章数据库系统59编号章节题型难度分值111选择A2211填空B2321判断C2421简答A5531应用B10631选择C2741填空A2841简答B5题库分析人如果想知道第三章各题的分值,他直接查询将会被拒绝。但他可以先查询count(章=3),得到结果为2;他再查询sum(章=3,分值),得到结果12;他再查询max(章=3,分值),得到结果10。现在他已知道第三章有两道题,一道10分,一道2分。编号章节题型难度分值111选择A2211填空B2321判断C60用户通过一些统计数据库允许的合法查询,可以得到本来对他保密的信息。统计数据库远不是安全保密的,而且,前面介绍的一般数据库的访问控制并不能解决统计数据库的泄密问题.因为它主要是限制用户的存取权力,用户只能对数据库中的一部分数据进行访问。在统计数据库中,保密的目标应该是防止用户通过一系列“合法”的统计查询,使“不合法”的要求得到满足,也就是防止用户从一系列查询中推理出某些秘密信息,这时我们要实行的控制称为“推理控制”。

第10章数据库系统安全NetworkandInformationSecurity用户通过一些统计数据库允许的合法查询,可以得到本来对他保密的6110.3.2安全性与精确度

第10章数据库系统安全NetworkandInformationSecurity设S为全部统计信息,P为非机密统计信息子集,R为发布的子集,D是由R(也包括R在内的统计信息)泄露的统计信息子集

10.3.2安全性与精确度第10章数据库系统安全Ne62发布R子集的目的是,全部非机密统计信息在R内或可由R求得,当D≥P时(精确度),发布的统计信息包含了全部非机密统计信息,因而可认为发布的统计信息保证了精确度。精确度保证了最大限度地使用统计信息,而安全性则保证了秘密统计信息的秘密。如果满足条件D≤P(安全性)

,则不会因R而使秘密统计信息泄露。可以看出,安全性与精确度的要求正好是相反的,二者都满足的条件是D=P。要做到既保证安全性,又保证精确度,即D=P,是非常困难的发布R子集的目的是,全部非机密统计信息在R内或可由R求得,当631.小查询集和大查询集攻击

2.跟踪器攻击

3.插入和删除攻击

4.对线性系统的攻击

第10章数据库系统安全NetworkandInformationSecurity10.3.3对统计数据库的攻击方式1.小查询集和大查询集攻击第10章数据库系统安全Netw641.小查询集和大查询集攻击现假设用户的外部知识使其知道数据库内第i个记录满足特征表达式c,如果用户以统计信息count(c)查询数据库,并得到回答count(c)=1,则该用户能够确定该查询集只含一个记录,即第i个记录。此时,用户利用统计信息sum(c,a)的查询,可求得第i个记录的字段a的值;也可以以统计信息count(candd)查询数据库内第i个记录是否满足特征表达式d,若值为0则说明不满足,值为1则说明满足。甚至在查询集记录个数不唯一的情况下,这类攻击有时仍然是可行的。假设已知第i个记录满足c,且count(c)>1,如果count(candd)=count(c),则第i个记录当然也满足d。如果count(candd)<count(c),则不能确定第i个记录是否满足d。1.小查询集和大查询集攻击现假设用户的外部知识使其知道数据库652.跟踪器攻击利用所谓“跟踪器”的手段,也可使统计数据库泄密。跟踪器有多种。假设用户已知第i个记录唯一满足特征表达式c,如果想通过统计查询sum(c,a)求得第i个记录的字段a的值,在系统实施了查询集控制后,由于查询集过小将遭拒绝,故用户不能直接得到结果。但是,如果特征表达式c可由多个表达式组合而成,即将c分成c1、c2,使得c=c1-c2,同时,count(c1)和count(c2)都大小适中,不受限。此时,由于count(c1)和count(c2)均不受查询集限制,所以用户可用count(c)=count(c1)-count(c2)来验证count(c)=1,然后可利用sum(c,a)=sum(c1,a)-sum(c2,a)来求得第i个记录的字段a的值。2.跟踪器攻击利用所谓“跟踪器”的手段,也可使统计数据库泄密663.插入和删除攻击

插入和删除攻击是攻击者通过插入自己所知的假记录来观察统计信息的变化情况,从而分析出秘密信息。例如,如果查询集过小,用户可以将一些满足条件的假记录插入统计数据库,使得查询集变大,从而使查询得以进行。只需从查询集中除去那些假记录的信息,即可得到真实信息。显然,如果要求只对统计信息有查询权的用户不能插入或删除记录,或虽然能够插入删除,但对数据库出现的变化加以控制,则插入删除攻击并不会构成严重威胁。3.插入和删除攻击

插入和删除攻击是攻击者通过插入自己所知674.对线性系统的攻击

可以对统计数据库进行多次相关的查询,把查询条件、查询结果和秘密信息构成一个线性方程组,通过解线性方程组的方法来求得秘密信息。4.对线性系统的攻击

可以对统计数据库进行多次相关的查询,把68第一类:对统计数据库的查询加以限制。

1.限制查询集的大小

2.单元隐蔽(能够帮助用户推导出秘密信息的有关统计信息单元应该隐去

3.最大阶控制(如果一个统计查询恰好涉及到m个互不相同的属性,那么这样的统计称为m阶统计,所谓最大阶控制就是要限制m的值。)4.数据库分割(将数据库分割成一个个记录组,规定用户只能以这些记录组作为基本单元进行统计查询,亦即同一记录组中的数据,或者全部在查询集中,或者全部不在其中。)第9章数据库系统安全NetworkandInformationSecurity10.3.4统计数据库的安全措施第一类:对统计数据库的查询加以限制。第9章数据库系统安全69第二类:数据搅乱方式对统计数据库的几种查询限制方式是以限制用户的统计查询要求为代价的,有时会影响正常用户的使用。数据搅乱方式的原理与此则完全不相同。所谓数据搅乱,就是系统在发布统计信息之前,使统计值发生变化。当然,搅乱的目的是使用户无法从统计值中推断出秘密信息,而不能破坏整个数据库数据的统计规律。第二类:数据搅乱方式对统计数据库的几种查询限制方式是以限制用7010.4.1Web数据库概述由于Web的易用性、实用性,它很快占据了Internet服务的主导地位,已经成为使用最为广泛、最有前途、最有魅力的信息传播技术。不过,Web服务只是提供了Internet上信息交互的平台。随着Internet技术的兴起与发展和Web技术的蓬勃发展,人们已不满足于只在Web浏览器上获取静态的信息,人们需要通过它发表意见、查询数据,甚至进行网上购物,这就迫切需要实现动态的Web信息服务。10.4Web数据库的安全

第10章数据库系统安全NetworkandInformationSecurity10.4.1Web数据库概述10.4Web数据库的安71当前比较流行的Web数据库主要有:1.SQLServer2.MySQL3.Oracle这3种数据库适应性强,性能优异

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论