数据库系统概论 第4 章数据库安全.ppt
《数据库系统概论 第4 章数据库安全.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论 第4 章数据库安全.ppt(54页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第第第4 4章章章章 数据库安全数据库安全数据库安全数据库安全4.1 计算机安全性概论计算机安全性概论4.2数据库安全性控制数据库安全性控制19.1计算机安全性概论计算机安全性概论数据库安全数据库安全指指保护数据库以防止不合法的使用所保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏造成的数据泄露、更改或破坏.1.计算机系统的三类安全性问题计算机系统的三类安全性问题.计算机系统安全性计算机系统安全性:指为计算机系统建立和采取的各种安指为计算机系统建立和采取的各种安全保护措施全保护措施,以保护计算机系统中的硬件、软件及数据以保护计算机系统中的硬件、软件及数据,防防止其因偶然或恶意的原因使
2、系统遭到破坏止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改数据遭到更改或泄露等或泄露等.计算机系统安全性的分类计算机系统安全性的分类:(1)技术安全技术安全(2)管理安全管理安全(3)政策法律类安全政策法律类安全22.可信计算机系统评测标准可信计算机系统评测标准从四个从四个方面来评测计算机系统的安全性方面来评测计算机系统的安全性:(1)安全策略安全策略 (2)责任责任 (3)保证保证 (4)文档文档计算机系统的安全性等级计算机系统的安全性等级:D级级:最小保护最小保护C1级级:自主安全保护自主安全保护C2级级:受控的存取保护受控的存取保护B1级级:标记安全保护标记安全保护B2级级:结构化保
3、护结构化保护B3级级:安全域安全域A1级级:验证设计验证设计39.2 数据库安全性控制数据库安全性控制用户用户DBMSOSDB用户标识和鉴别用户标识和鉴别存取控制存取控制操作系统安全保护操作系统安全保护数据密码存储数据密码存储图图9.1 计算机系统的安全模型计算机系统的安全模型9.2.1用户标识与鉴别用户标识与鉴别用户标识与鉴别用户标识与鉴别:是指由系统提供一定的方式让用户标识是指由系统提供一定的方式让用户标识 自己的名字或身份自己的名字或身份.每次用户进入系统时每次用户进入系统时,由系统进行核对由系统进行核对,通过鉴定后才通过鉴定后才提供使用权提供使用权.4常用的用户标识与鉴定方法常用的用户
4、标识与鉴定方法:(1)用户名用户名 (2)口令口令 (3)函数鉴定函数鉴定例例:用户用户A与系统约定的函数为与系统约定的函数为f(x)=x*x+2;则某次上机则某次上机,若系统提供的随机数为若系统提供的随机数为3,则则A经计算经计算 后回答后回答11,则可进入系统则可进入系统,否则拒绝进入系统否则拒绝进入系统.9.2.2 存取控制存取控制存取控制机制存取控制机制:确保只授权给有资格的用户访问数据库的确保只授权给有资格的用户访问数据库的 权限,同时令所有未被授权的人员无法接近权限,同时令所有未被授权的人员无法接近 数据数据.5存取控制机制包括两部分存取控制机制包括两部分:(1)定义用户权限定义用
5、户权限,并将用户权限登记到数据字典中并将用户权限登记到数据字典中,形成形成 安全规则安全规则.(2)合法权限检查合法权限检查,利用数据字典中的安全规则对用户的利用数据字典中的安全规则对用户的 请求进行检查请求进行检查.两种存取控制机制两种存取控制机制:自主存取控制方法自主存取控制方法(DAC)强制存取控制方法强制存取控制方法(MAC)69.2.3自主存取控制方法自主存取控制方法(DAC)自主存取控制自主存取控制:用户对于不同的数据对象有不同的存取权限用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限不同的用户对同一对象也有不同的权限,而且而且 用户还可以将其拥有的存取权
6、限转授给其他用户还可以将其拥有的存取权限转授给其他 用户用户.SQL的自主存取控制的自主存取控制GrantRevoke7用户权限用户权限:结构结构(数据库)(数据库)数据数据(表或视图表或视图)数据数据(属性列属性列)Create databaseSelectInsert,update,deleteAll privilegesSelectInsert,update,deleteAll privileges结构结构(表、视图)(表、视图)Create table,alter tableCreate viewCreate index81.授权授权Grant的语句格式的语句格式:grant .on
7、to .with grant option;例子例子:把查询把查询Student表的权限授给用户表的权限授给用户U1.Grant selecton table studentto u1;9例子例子:说明以下语句完成的功能说明以下语句完成的功能.(1)grant all priviliges on table student,course to u2,u3;(2)grant select on table sc to public;(3)grant update(sno),select on table sc to u4;(4)grant insert on table sc to u5;wit
8、h grant option (5)grant createtab on database S_C to u6;102.收回权限收回权限revoke的语句格式的语句格式:revoke .on from .;例子例子:把把U4修改学生学号的权限收回修改学生学号的权限收回.Revoke update(sno)on table studentfrom u4;11例子例子:说明以下语句完成的功能说明以下语句完成的功能.(1)revoke select on table sc from public;(2)revoke insert on table sc from u5 cascade;123.创建用
9、户创建用户Sp_addlogin 用户名称用户名称,用户密码用户密码sp_addsrvrolemember 用户名称用户名称,dbcreatorsp_grantdbaccess 用户名称用户名称sp_addrolemember 数据库角色名称数据库角色名称,用户名称用户名称例子:例子:(1)Sp_addlogin zgf,123 (2)sp_addsrvrolemember zgf,dbcreator (3)在当前数据库)在当前数据库(spj)中执行:中执行:sp_grantdbaccess zgf,zgfspj sp_addrolemember db_owner,zgfspj sp_drop
10、rolemember db_owner,zgfspj grant create table to zgfspj grant select on spj to zgfspj revoke select on spj to zgfspj grant create view to public139.2.4强制存取控制方法强制存取控制方法(MAC)强制存取控制强制存取控制:每一个数据对象被标以一定的密级每一个数据对象被标以一定的密级,每一个每一个 用户也被授予某一个级别的许可证用户也被授予某一个级别的许可证,对于任对于任 意一个对象意一个对象,只有具有合法许可证的用户才只有具有合法许可证的用户才 可
11、以存取可以存取.主体主体:系统中的活动实体系统中的活动实体,包括用户和代表用户的各进程包括用户和代表用户的各进程.客体客体:系统中的被动实体系统中的被动实体,包括文件、基本表、索引、视图包括文件、基本表、索引、视图.主体和客体的敏感度标记主体和客体的敏感度标记:绝密、机密、可信、公开等绝密、机密、可信、公开等.主体的敏感度标记称为主体的敏感度标记称为许可证级别许可证级别.客体的敏感度标记称为客体的敏感度标记称为密级密级.14强制存取控制方法强制存取控制方法(MAC):要求许可证级别为要求许可证级别为Label的主体对任何客体存取时必须遵守的主体对任何客体存取时必须遵守以下规则:以下规则:(1)
12、仅当主体的许可证级别大于或等于客体的密级时仅当主体的许可证级别大于或等于客体的密级时,该主该主 体才能读取相应的客体体才能读取相应的客体.(2)仅当主体的许可证级别等于客体的密级时仅当主体的许可证级别等于客体的密级时,该主体才能该主体才能 写相应的客体写相应的客体.例子例子:主体主体A(机密机密)客体客体B(机密机密)客体客体C(绝密绝密)客体客体D(公开公开)R/WR15DAC+MAC安全检查示意图安全检查示意图:SQL语法分析语法分析&语义检查语义检查DAC检查检查MAC检查检查安全检查安全检查继续继续检查用检查用户权限户权限检查用户检查用户的许可证的许可证级别和数级别和数据的密级据的密级
13、169.2.5 视图机制视图机制视图机制视图机制:为不同的用户定义不同的视图为不同的用户定义不同的视图,把数据对象限制把数据对象限制 在一定的范围内在一定的范围内,通过视图机制把要保密的数据通过视图机制把要保密的数据 对无权存取的用户隐藏起来对无权存取的用户隐藏起来,对数据提供一定程对数据提供一定程 度的安全保护度的安全保护.例子例子:李勇把查询李勇把查询Student中计算机系学生的权限授予王平中计算机系学生的权限授予王平.(1)建立计算机系学生的视图建立计算机系学生的视图CS-Student.create view CS-Student as select *from student wh
14、ere Sdept=CS;(2)授限授限 grant select on CS-Student to 王平王平;179.2.6 审计审计审计审计:把用户对数据库的所有操作自动记录下来放入审计把用户对数据库的所有操作自动记录下来放入审计 日志中日志中,DBA可以利用审计跟踪的信息可以利用审计跟踪的信息,重现导致数重现导致数 据库现有状况的一系列事件据库现有状况的一系列事件,找出非法存取数据的人找出非法存取数据的人 、时间和内容、时间和内容.9.2.7 数据加密数据加密数据加密数据加密:根据一定的算法将原始数据变换为不可直接根据一定的算法将原始数据变换为不可直接 识别的格式识别的格式,从而使得不知
15、道解密算法的人从而使得不知道解密算法的人 无法获知数据的内容无法获知数据的内容.加密方法加密方法:(1)替换方法替换方法(2)置换方法置换方法(3)替换方法替换方法+置换方法置换方法189.3 统计数据库安全性统计数据库安全性1.问题的提出问题的提出 统计数据库统计数据库:用户只能对聚集数据进行访问用户只能对聚集数据进行访问,而不能对单个而不能对单个 数据信息进行访问数据信息进行访问.例子例子:(1)查询所有女高级程序员的人数查询所有女高级程序员的人数.(2)查询所有女高级程序员的工资总额查询所有女高级程序员的工资总额.如果查询如果查询(1)的结果为的结果为1,则查询则查询(2)的结果就是这位
16、女高的结果就是这位女高级级程序员的工资程序员的工资.2.解决的方法解决的方法规定任何查询至少涉及规定任何查询至少涉及N个以上的记录。个以上的记录。193.问题的提出问题的提出例子例子:如果用户如果用户A想知道用户想知道用户B的工资的工资,则可通过以下查询则可通过以下查询:(1)查询用户查询用户A与与N名职工的总工资名职工的总工资.(2)查询用户查询用户B与与N名职工的总工资名职工的总工资.查询查询(1)的结果为的结果为R查询查询(2)的结果为的结果为S用户用户A已知自己的工资为已知自己的工资为P4.解决的方法解决的方法规定任意两个查询的相交数据项不能超过规定任意两个查询的相交数据项不能超过M个
17、。个。用户用户B的工资为的工资为:S-(R-P)20SQL Server的安全控制的安全控制 21一、数据库权限的种类及用户的分类一、数据库权限的种类及用户的分类 1.1.权限的种类权限的种类 第一类是对数据库管理系统进行维护的权限第一类是对数据库管理系统进行维护的权限;第二类是对数据库中的对象和数据进行操作的权限第二类是对数据库中的对象和数据进行操作的权限;第一种是对数据库对象的权限,包括创建、删除和修改数第一种是对数据库对象的权限,包括创建、删除和修改数 据库对象;据库对象;第二种是对数据库数据的操作权,包括对表、视图数据的第二种是对数据库数据的操作权,包括对表、视图数据的 增、删、改、查
18、。增、删、改、查。2.2.数据库用户的分类数据库用户的分类 数据库中的用户按其操作权限的大小可分为如下三类:数据库中的用户按其操作权限的大小可分为如下三类:(1 1)数据库系统管理员:具有一切权限。)数据库系统管理员:具有一切权限。(2 2)数据库对象拥有者:对其所拥有的对象具有一切权限。)数据库对象拥有者:对其所拥有的对象具有一切权限。(3 3)普通用户:只具有对数据库数据的增、删、改、查权。)普通用户:只具有对数据库数据的增、删、改、查权。22二、二、SQL Server的安全控制的安全控制 一个用户如果要访问一个用户如果要访问SQL ServerSQL Server数据库中的数据,他必须
19、要经数据库中的数据,他必须要经过三个认证过程:过三个认证过程:第一个认证过程是身份验证,这时用登录账号来标识用户,身份第一个认证过程是身份验证,这时用登录账号来标识用户,身份 验证只验证用户连接到验证只验证用户连接到SQL ServerSQL Server数据库服务器的资格,即验数据库服务器的资格,即验证该用户是否具有连接到数据库服务器的证该用户是否具有连接到数据库服务器的“连接权连接权”。第二个认证过程是当用户访问数据库时,他必须具有对具体数据第二个认证过程是当用户访问数据库时,他必须具有对具体数据库的库的“访问权访问权”,即验证用户是否是数据库的合法用户。,即验证用户是否是数据库的合法用户
20、。第三个认证过程是当用户操作数据库中的数据或对象时,他必须第三个认证过程是当用户操作数据库中的数据或对象时,他必须具有所要进行的操作的具有所要进行的操作的“操作权操作权”,即验证用户是否具有操作,即验证用户是否具有操作许可。许可。23SQL ServerSQL Server的用户有两种类型:的用户有两种类型:WindowsWindows授权用户:来自于授权用户:来自于WindowsWindows的用户或组;的用户或组;SQLSQL授权用户:来自于非授权用户:来自于非WindowsWindows的用户,我们也将这种用户称为的用户,我们也将这种用户称为 SQLSQL用户。用户。SQL Server
21、SQL Server为不同的用户类型提供有不同的安全认证模式:为不同的用户类型提供有不同的安全认证模式:1.Windows1.Windows身份验证模式身份验证模式 WindowsWindows身份验证模式允许用户身份验证模式允许用户Windows NTWindows NT或或Windows 2000Windows 2000用户连接到用户连接到SQL ServerSQL Server。2.2.混合验证模式混合验证模式 混合验证模式表示混合验证模式表示SQL ServerSQL Server接受接受WindowsWindows授权用户和授权用户和SQLSQL授授权用户。如果不是权用户。如果不是W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统概论 第4 章数据库安全 数据库 系统 概论 安全
限制150内