《第四章数据库安全性.ppt》由会员分享,可在线阅读,更多相关《第四章数据库安全性.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章数据库安全性第四章数据库安全性现在学习的是第1页,共51页4.2.4自主存取控制方法自主存取控制方法n n定义存取权限定义存取权限n n存取权限存取权限n n 存取权限由两个要素组成存取权限由两个要素组成存取权限由两个要素组成存取权限由两个要素组成n n数据对象数据对象n n操作类型操作类型现在学习的是第2页,共51页自主存取控制方法(续)自主存取控制方法(续)n n关系系统中的存取权限关系系统中的存取权限n n类型类型 数据对象数据对象数据对象数据对象操作类型操作类型操作类型操作类型模模模模 式式式式模模模模式式式式建立、修改、删除、检索建立、修改、删除、检索建立、修改、删除、检索建立
2、、修改、删除、检索外模式外模式外模式外模式建立、修改、删除、检索建立、修改、删除、检索建立、修改、删除、检索建立、修改、删除、检索内模式内模式内模式内模式建立、删除、检索建立、删除、检索建立、删除、检索建立、删除、检索数数数数 据据据据表表表表查找、插入、修改、删除查找、插入、修改、删除查找、插入、修改、删除查找、插入、修改、删除属性列属性列属性列属性列查找、插入、修改、删除查找、插入、修改、删除查找、插入、修改、删除查找、插入、修改、删除现在学习的是第3页,共51页自主存取控制方法(续)自主存取控制方法(续)n n关系系统中的存取权限关系系统中的存取权限(续续)n n定义方法定义方法n nG
3、RANT/REVOKEGRANT/REVOKE现在学习的是第4页,共51页DBMS实现数据安全性保护的过程实现数据安全性保护的过程n用户或用户或DBA把授权决定告知系统把授权决定告知系统nSQL的的GRANT和和REVOKEnDBMS把授权的结果存入数据字典把授权的结果存入数据字典n当当用用户户提提出出操操作作请请求求时时,DBMS根根据据授授权权定定义义进进行行检检查查,以以决决定定是是否否执执行行操操作作请求请求现在学习的是第5页,共51页安全性安全性(续续)n谁定义?谁定义?DBADBA和表的建立者(即表的属主)和表的建立者(即表的属主)n如何定义?如何定义?SQL语句:语句:GRANT
4、REVOKE现在学习的是第6页,共51页授授权权nGRANTGRANT语句的一般格式:语句的一般格式:GRANT GRANT,.ON ON TO TO,.WITH GRANT OPTION;WITH GRANT OPTION;n谁定义?谁定义?DBADBA和表的建立者(即表的属主)和表的建立者(即表的属主)nGRANT功能:将对指定操作对象的指定操作权限授功能:将对指定操作对象的指定操作权限授予指定的用户予指定的用户。现在学习的是第7页,共51页(2)用户的权限用户的权限n建表(建表(CREATETABCREATETAB)的权限)的权限:属于属于DBADBAnDBADBA授予授予-普通用户普通
5、用户n基基本本表表或或视视图图的的属属主主拥拥有有对对该该表表或或视视图图的一切操作权限的一切操作权限n接受权限的用户接受权限的用户:一个或多个具体用户一个或多个具体用户 PUBLICPUBLIC(全体用户)(全体用户)现在学习的是第8页,共51页(4)WITH GRANT OPTION(4)WITH GRANT OPTION子句子句n指定了指定了WITH GRANT OPTIONWITH GRANT OPTION子句子句:获得某种权限的用户还可以把这种权限获得某种权限的用户还可以把这种权限再授予再授予别的用户。别的用户。n没有指定没有指定WITH GRANT OPTIONWITH GRANT
6、 OPTION子句子句:获得某种权限的用户只能使用该权限,获得某种权限的用户只能使用该权限,不能传播不能传播该权限该权限现在学习的是第9页,共51页例题例题 例例1 1 把查询把查询StudentStudent表权限授给用户表权限授给用户U1U1GRANTSELECTONStudentTOU1;现在学习的是第10页,共51页例题(续)例题(续)例例2 2 把把对对StudentStudent表表的的全全部部权权限限授授予予用用户户U2U2和和U3 U3 GRANT GRANT ALL PRIVILEGESALL PRIVILEGES ON Student ON Student TO U2,U3
7、;TO U2,U3;现在学习的是第11页,共51页例题(续)例题(续)例例3 3 把对表把对表SCSC的查询权限授予所有用户的查询权限授予所有用户 GRANT SELECT GRANT SELECT ON TABLE SC ON TABLE SC TO TO PUBLICPUBLIC;现在学习的是第12页,共51页例题(续)例题(续)例例4 4 把把查查询询StudentStudent表表和和修修改改学学生生姓姓名名的的权权限授给用户限授给用户U4U4 GRANT GRANT UPDATE(Sname),UPDATE(Sname),SELECT SELECT ON TABLE Student
8、ON TABLE Student TO U4;TO U4;现在学习的是第13页,共51页例题(续)例题(续)例例5 5 把把对对表表SCSC的的INSERTINSERT权权限限授授予予U5U5用用户户,并允许他再将此权限授予其他用户并允许他再将此权限授予其他用户 GRANT INSERT GRANT INSERT ON TABLE SC ON TABLE SC TO U5 TO U5 WITH GRANT OPTIONWITH GRANT OPTION;现在学习的是第14页,共51页传播权限传播权限 执行例执行例5 5后,后,U5U5不仅拥有了对表不仅拥有了对表SCSC的的INSERTINSE
9、RT权限,权限,还可以传播此权限还可以传播此权限:GRANT INSERT ON TABLE SC GRANT INSERT ON TABLE SC TO U6TO U6 WITH GRANT OPTIONWITH GRANT OPTION;同样,同样,U6U6还可以将此权限授予还可以将此权限授予U7U7:GRANT INSERT ON TABLE SC GRANT INSERT ON TABLE SC TO U7TO U7;但但U7U7不能再传播此权限。不能再传播此权限。U5-U6-U7 U5-U6-U7现在学习的是第15页,共51页SQL收回权限的功能收回权限的功能nREVOKEREVOK
10、E语句的一般格式为:语句的一般格式为:REVOKE REVOKE,.ON ON FROM FROM,.;.;n功功能能:从从指指定定用用户户那那里里收收回回对对指指定定对对象象的指定的指定权限权限现在学习的是第16页,共51页例题例题例例7 7 把用户把用户U4U4修改学生学号的权限收回修改学生学号的权限收回REVOKE SelectREVOKE SelectON TABLE Student ON TABLE Student FROM U4;FROM U4;Update Student set Sname=Sname+Update Student set Sname=Sname+名名?Upda
11、te Student set Sname=Update Student set Sname=一个名一个名现在学习的是第17页,共51页例题(续)例题(续)例例8 8 收回所有用户对表收回所有用户对表SCSC的查询权限的查询权限 REVOKE SELECT REVOKE SELECT ON TABLE SC ON TABLE SC FROM FROM PUBLICPUBLIC;现在学习的是第18页,共51页例题(续)例题(续)例例9 9 把用户把用户U5U5对对SCSC表的表的INSERTINSERT权限收回权限收回REVOKE INSERT REVOKE INSERT ON TABLE SC
12、ON TABLE SC FROM U5 cascade;FROM U5 cascade;现在学习的是第19页,共51页权限的级联回收权限的级联回收系统将收回直接或间接从系统将收回直接或间接从U5处获得的对处获得的对SC表的表的INSERT权限权限:-U5-U6-U7收回收回U5、U6、U7获得的对获得的对SC表的表的INSERT权限权限:-U5-U6-U7现在学习的是第20页,共51页小结小结:SQLSQL灵活的授权机制灵活的授权机制nDBADBA拥有对数据库中所有对象的所有权限,并可以根据应用的需拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。要将不同的权限
13、授予不同的用户。n用用户户对对自自己己建建立立的的基基本本表表和和视视图图拥拥有有全全部部的的操操作作权权限限,并并且且可可以用以用GRANTGRANT语句把其中某些权限授予其他用户。语句把其中某些权限授予其他用户。n被被授授权权的的用用户户如如果果有有“继继续续授授权权”的的许许可可,还还可可以以把把获获得得的的权权限再授予其他用户。限再授予其他用户。n所有授予出去的权力在必要时又都可以用所有授予出去的权力在必要时又都可以用REVOKEREVOKE语句收回。语句收回。现在学习的是第21页,共51页4.2数据库安全性控制数据库安全性控制4.2.1数据库安全性控制概述数据库安全性控制概述数据库安
14、全性控制概述数据库安全性控制概述4.2.24.2.2用户标识与鉴别用户标识与鉴别4.2.3存取控制存取控制存取控制存取控制4.2.44.2.4自主存取控制方法自主存取控制方法自主存取控制方法自主存取控制方法4.2.5强制存取控制方法强制存取控制方法强制存取控制方法强制存取控制方法4.2.6视图机制视图机制4.2.74.2.7审计审计4.2.84.2.8数据加密数据加密数据加密数据加密现在学习的是第22页,共51页4.2.5强制存取控制方法强制存取控制方法n n什么是强制存取控制什么是强制存取控制n n强制存取控制强制存取控制强制存取控制强制存取控制(MACMAC)是指系统为保证更高程度的安全)
15、是指系统为保证更高程度的安全)是指系统为保证更高程度的安全)是指系统为保证更高程度的安全性,按照性,按照性,按照性,按照TDI/TCSECTDI/TCSEC标准中安全策略的要求,所采取标准中安全策略的要求,所采取标准中安全策略的要求,所采取标准中安全策略的要求,所采取的强制存取检查手段。的强制存取检查手段。的强制存取检查手段。的强制存取检查手段。n nMACMAC不是用户能直接感知或进行控制的。不是用户能直接感知或进行控制的。不是用户能直接感知或进行控制的。不是用户能直接感知或进行控制的。n nMACMAC适用于对数据有严格而固定密级分类的部门适用于对数据有严格而固定密级分类的部门适用于对数据
16、有严格而固定密级分类的部门适用于对数据有严格而固定密级分类的部门n n 军事部门军事部门军事部门军事部门n n 政府部门政府部门政府部门政府部门现在学习的是第23页,共51页强制存取控制方法(续)强制存取控制方法(续)n n主体与客体主体与客体n n在在在在MACMAC中,中,中,中,DBMSDBMS所管理的全部实体被分为主体所管理的全部实体被分为主体所管理的全部实体被分为主体所管理的全部实体被分为主体和客体两大类和客体两大类和客体两大类和客体两大类n n主体主体主体主体是系统中的活动实体是系统中的活动实体是系统中的活动实体是系统中的活动实体n n DBMSDBMS所管理的实际用户所管理的实际
17、用户所管理的实际用户所管理的实际用户n n 代表用户的各进程代表用户的各进程代表用户的各进程代表用户的各进程n n客体客体客体客体是系统中的被动实体,是受主体操纵的是系统中的被动实体,是受主体操纵的是系统中的被动实体,是受主体操纵的是系统中的被动实体,是受主体操纵的n n 文件文件文件文件n n 基表基表基表基表n n 索引索引索引索引n n 视图视图视图视图现在学习的是第24页,共51页强制存取控制方法(续)强制存取控制方法(续)n n敏感度标记敏感度标记n n对于主体和客体,对于主体和客体,DBMS为它们每个实例为它们每个实例(值)指派一个敏感度标记(值)指派一个敏感度标记(Label)n
18、 n敏感度标记分成若干级别敏感度标记分成若干级别n n 绝密(绝密(绝密(绝密(TopSecretTopSecret)n n 机密(机密(机密(机密(SecretSecret)n n 可信(可信(可信(可信(ConfidentialConfidential)n n 公开(公开(公开(公开(PublicPublic)现在学习的是第25页,共51页强制存取控制方法(续)强制存取控制方法(续)n n主体的敏感度标记称为许可证级别主体的敏感度标记称为许可证级别(ClearanceLevel)n n客体的敏感度标记称为密级(客体的敏感度标记称为密级(ClassificationLevel)n nMAC机
19、制就是通过对比主体的机制就是通过对比主体的Label和客体的和客体的Label,最终确定主体是否能够存取客体,最终确定主体是否能够存取客体现在学习的是第26页,共51页强制存取控制方法(续)强制存取控制方法(续)n n强制存取控制规则强制存取控制规则n n当某一用户(或某一主体)以标记当某一用户(或某一主体)以标记当某一用户(或某一主体)以标记当某一用户(或某一主体)以标记labellabel注册入系统注册入系统注册入系统注册入系统时,系统要求他对任何客体的存取必须遵循下面两条规时,系统要求他对任何客体的存取必须遵循下面两条规时,系统要求他对任何客体的存取必须遵循下面两条规时,系统要求他对任何
20、客体的存取必须遵循下面两条规则:则:则:则:(1 1)仅当主体的许可证级别)仅当主体的许可证级别)仅当主体的许可证级别)仅当主体的许可证级别大于或等于大于或等于大于或等于大于或等于客体的密级时,客体的密级时,客体的密级时,客体的密级时,该主体才能该主体才能该主体才能该主体才能读读读读取相应的客体;取相应的客体;取相应的客体;取相应的客体;(2 2)仅当主体的许可证级别)仅当主体的许可证级别)仅当主体的许可证级别)仅当主体的许可证级别小于或等于小于或等于小于或等于小于或等于客体的密级时,客体的密级时,客体的密级时,客体的密级时,该主体才能该主体才能该主体才能该主体才能写写写写相应的客体。相应的客
21、体。相应的客体。相应的客体。现在学习的是第27页,共51页强制存取控制方法(续)强制存取控制方法(续)n n用户可为写入的数据对象赋予高于自己用户可为写入的数据对象赋予高于自己的许可证级别的密级的许可证级别的密级n n一旦数据被写入,该用户自己也不能再一旦数据被写入,该用户自己也不能再读该数据对象了。读该数据对象了。n n修正规则:修正规则:仅当主体的许可证级别仅当主体的许可证级别等于等于客体的密级时,客体的密级时,该主体才能该主体才能写写相应的客体。相应的客体。现在学习的是第28页,共51页强制存取控制方法(续)强制存取控制方法(续)n n规则的共同点规则的共同点禁止了拥有高许可证级别的主体
22、禁止了拥有高许可证级别的主体更新低密级的数据对象更新低密级的数据对象现在学习的是第29页,共51页强制存取控制方法(续)强制存取控制方法(续)n n强制存取控制的特点强制存取控制的特点n nMACMAC是对数据本身进行密级标记是对数据本身进行密级标记是对数据本身进行密级标记是对数据本身进行密级标记n n无论数据如何复制,标记与数据是一个不可分的无论数据如何复制,标记与数据是一个不可分的无论数据如何复制,标记与数据是一个不可分的无论数据如何复制,标记与数据是一个不可分的整体整体整体整体n n只有符合密级标记要求的用户才可以操纵数据只有符合密级标记要求的用户才可以操纵数据只有符合密级标记要求的用户
23、才可以操纵数据只有符合密级标记要求的用户才可以操纵数据n n从而提供了更高级别的安全性从而提供了更高级别的安全性从而提供了更高级别的安全性从而提供了更高级别的安全性现在学习的是第30页,共51页MAC与与DACn nDAC与与与与MACMAC共同构成共同构成DBMSDBMS的安全机制的安全机制n n原因:原因:较高安全性级别提供的安全保护要较高安全性级别提供的安全保护要包含较低级别的所有保护包含较低级别的所有保护n n先进行先进行DAC检查,通过检查,通过检查,通过检查,通过DACDAC检查的数据对象再检查的数据对象再由系统进行由系统进行MAC检查,只有通过检查,只有通过检查,只有通过检查,只
24、有通过MAC检查的数检查的数据对象方可存取。据对象方可存取。现在学习的是第31页,共51页强制存取控制方法(续)强制存取控制方法(续)DAC+MAC安全检查示意图安全检查示意图SQLSQL语法分析语法分析语法分析语法分析&语义检查语义检查语义检查语义检查 DACDAC检检检检 查查查查安全检查安全检查安全检查安全检查 MACMAC检检检检 查查查查继继继继 续续续续现在学习的是第32页,共51页4.2数据库安全性控制数据库安全性控制4.2.14.2.1数据库安全性控制概述数据库安全性控制概述数据库安全性控制概述数据库安全性控制概述4.2.24.2.2用户标识与鉴别用户标识与鉴别4.2.3存取控
25、制存取控制存取控制存取控制4.2.44.2.4自主存取控制方法自主存取控制方法自主存取控制方法自主存取控制方法4.2.5强制存取控制方法强制存取控制方法4.2.64.2.6视图机制视图机制视图机制视图机制4.2.74.2.7审计审计审计审计4.2.84.2.8数据加密数据加密现在学习的是第33页,共51页4.2.6视图机制视图机制n n视图机制把要保密的数据对无权存取这些数视图机制把要保密的数据对无权存取这些数视图机制把要保密的数据对无权存取这些数视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,据的用户隐藏起来,据的用户隐藏起来,据的用户隐藏起来,n n 视图机制更主要的功能在于提供数
26、据独立性,视图机制更主要的功能在于提供数据独立性,视图机制更主要的功能在于提供数据独立性,视图机制更主要的功能在于提供数据独立性,其安全保护功能太不精细,往往远不能达到其安全保护功能太不精细,往往远不能达到其安全保护功能太不精细,往往远不能达到其安全保护功能太不精细,往往远不能达到应用系统的要求。应用系统的要求。应用系统的要求。应用系统的要求。现在学习的是第34页,共51页视图机制(续)视图机制(续)n n视图机制与授权机制配合使用视图机制与授权机制配合使用视图机制与授权机制配合使用视图机制与授权机制配合使用:n n首先用视图机制屏蔽掉一部分保密数据首先用视图机制屏蔽掉一部分保密数据n n视图
27、上面再进一步定义存取权限视图上面再进一步定义存取权限n n间接实现了支持存取谓词的用户权限定义间接实现了支持存取谓词的用户权限定义间接实现了支持存取谓词的用户权限定义间接实现了支持存取谓词的用户权限定义现在学习的是第35页,共51页视图机制(续)视图机制(续)例:王平只能检索计算机系学生的信息例:王平只能检索计算机系学生的信息先建立计算机系学生的视图先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentCREATEVIEWCS_StudentASASSELECTSELECTFROMStudentFROMStudentWHERESdept=CSWHERESdept=
28、CS;现在学习的是第36页,共51页视图机制(续)视图机制(续)在视图上进一步定义存取权限在视图上进一步定义存取权限GRANTSELECTGRANTSELECTONCS_StudentONCS_StudentTO王平王平;现在学习的是第37页,共51页4.2数据库安全性控制数据库安全性控制4.2.1数据库安全性控制概述数据库安全性控制概述数据库安全性控制概述数据库安全性控制概述4.2.24.2.2用户标识与鉴别用户标识与鉴别4.2.34.2.3存取控制存取控制存取控制存取控制4.2.4自主存取控制方法自主存取控制方法自主存取控制方法自主存取控制方法4.2.5强制存取控制方法强制存取控制方法强制
29、存取控制方法强制存取控制方法4.2.64.2.6视图机制视图机制4.2.7审计审计审计审计4.2.8数据加密数据加密数据加密数据加密现在学习的是第38页,共51页4.2.7审计审计n n什么是审计什么是审计n n启用一个专用的审计日志(启用一个专用的审计日志(AuditLog)将将用户对数据库的所有操作记录在上面用户对数据库的所有操作记录在上面n nDBA可以利用审计日志中的追踪信息找出非法可以利用审计日志中的追踪信息找出非法存取数据的人存取数据的人n nC2以上安全级别的以上安全级别的DBMS必须具有审计功能必须具有审计功能现在学习的是第39页,共51页审计(续)审计(续)n n审计功能的可
30、选性审计功能的可选性n n审计很费时间和空间审计很费时间和空间n nDBA可以根据应用对安全性的要求,灵可以根据应用对安全性的要求,灵活地打开或关闭审计功能。活地打开或关闭审计功能。现在学习的是第40页,共51页审计(续)审计(续)n n强制性机制强制性机制:用户识别和鉴定、存取控制、视图用户识别和鉴定、存取控制、视图n n预防监测手段预防监测手段:审计技术审计技术现在学习的是第41页,共51页4.2数据库安全性控制数据库安全性控制4.2.14.2.1数据库安全性控制概述数据库安全性控制概述数据库安全性控制概述数据库安全性控制概述4.2.24.2.2用户标识与鉴别用户标识与鉴别4.2.34.2
31、.3存取控制存取控制4.2.4自主存取控制方法自主存取控制方法4.2.5强制存取控制方法强制存取控制方法4.2.6视图机制视图机制视图机制视图机制4.2.7审计审计4.2.84.2.8数据加密数据加密数据加密数据加密现在学习的是第42页,共51页4.2.8数据加密数据加密n n数据加密数据加密n n防止数据库中数据在存储和传输中失密的有效手防止数据库中数据在存储和传输中失密的有效手防止数据库中数据在存储和传输中失密的有效手防止数据库中数据在存储和传输中失密的有效手段段段段n n加密的基本思想加密的基本思想n n根据一定的算法将原始数据(术语为明文,根据一定的算法将原始数据(术语为明文,根据一定
32、的算法将原始数据(术语为明文,根据一定的算法将原始数据(术语为明文,PlaintextPlaintext)变换为不可直接识别的格式(术语为密文,)变换为不可直接识别的格式(术语为密文,)变换为不可直接识别的格式(术语为密文,)变换为不可直接识别的格式(术语为密文,CiphertextCiphertext)n n不知道解密算法的人无法获知数据的内容不知道解密算法的人无法获知数据的内容不知道解密算法的人无法获知数据的内容不知道解密算法的人无法获知数据的内容现在学习的是第43页,共51页数据加密(续)数据加密(续)n n加密方法加密方法n n 替换方法替换方法替换方法替换方法n n使用密钥(使用密钥
33、(使用密钥(使用密钥(EncryptionKeyEncryptionKey)将明文中的每一个字符转换为)将明文中的每一个字符转换为)将明文中的每一个字符转换为)将明文中的每一个字符转换为密文中的一个字符密文中的一个字符密文中的一个字符密文中的一个字符n n置换方法置换方法置换方法置换方法n n将明文的字符按不同的顺序重新排列将明文的字符按不同的顺序重新排列将明文的字符按不同的顺序重新排列将明文的字符按不同的顺序重新排列n n混合方法混合方法混合方法混合方法美国美国美国美国19771977年制定的官方加密标准:数据加密标准(年制定的官方加密标准:数据加密标准(年制定的官方加密标准:数据加密标准(
34、年制定的官方加密标准:数据加密标准(DataDataEncryptionStandardEncryptionStandard,简称,简称,简称,简称DESDES)现在学习的是第44页,共51页数据加密(续)数据加密(续)n nDBMS中的数据加密中的数据加密n n有些数据库产品提供了数据加密例行程序有些数据库产品提供了数据加密例行程序n n有些数据库产品本身未提供加密程序,但有些数据库产品本身未提供加密程序,但提供了接口提供了接口现在学习的是第45页,共51页数据加密(续)数据加密(续)n n数据加密功能通常也作为可选特征,允许用数据加密功能通常也作为可选特征,允许用户自由选择户自由选择n n
35、数据加密与解密是比较费时的操作数据加密与解密是比较费时的操作数据加密与解密是比较费时的操作数据加密与解密是比较费时的操作n n数据加密与解密程序会占用大量系统资源数据加密与解密程序会占用大量系统资源数据加密与解密程序会占用大量系统资源数据加密与解密程序会占用大量系统资源n n应该只对高度机密的数据加密应该只对高度机密的数据加密应该只对高度机密的数据加密应该只对高度机密的数据加密现在学习的是第46页,共51页第四章第四章数据库安全性数据库安全性4.1计算机安全性概论计算机安全性概论4.2数据库安全性控制数据库安全性控制4.3统计数据库安全性统计数据库安全性现在学习的是第47页,共51页4.3统计
36、数据库安全性统计数据库安全性n n统计数据库的特点统计数据库的特点n n允许用户查询允许用户查询聚集聚集类型的信息(例如合计、平类型的信息(例如合计、平均值等)均值等)n n不允许查询不允许查询单个单个记录信息记录信息例:允许查询例:允许查询“程序员的平均工资是多少?程序员的平均工资是多少?”不允许查询不允许查询“程序员张勇的工资?程序员张勇的工资?”现在学习的是第48页,共51页统计数据库安全性(续)统计数据库安全性(续)n n统计数据库中特殊的安全性问题统计数据库中特殊的安全性问题n n隐蔽的信息通道隐蔽的信息通道n n从合法的查询中推导出不合法的信息从合法的查询中推导出不合法的信息现在学
37、习的是第49页,共51页统计数据库安全性(续)统计数据库安全性(续)例例例例1:下面两个查询都是合法的:下面两个查询都是合法的:1 1本公司共有多少女高级程序员?本公司共有多少女高级程序员?本公司共有多少女高级程序员?本公司共有多少女高级程序员?2 2本公司女高级程序员的工资总额是多少?本公司女高级程序员的工资总额是多少?本公司女高级程序员的工资总额是多少?本公司女高级程序员的工资总额是多少?如果第一个查询的结果是如果第一个查询的结果是如果第一个查询的结果是如果第一个查询的结果是“1”1”,那么第二个查询的结果显然就是这个程序员的工资数。那么第二个查询的结果显然就是这个程序员的工资数。那么第二
38、个查询的结果显然就是这个程序员的工资数。那么第二个查询的结果显然就是这个程序员的工资数。规则规则1 1:任何查询至少要涉及任何查询至少要涉及任何查询至少要涉及任何查询至少要涉及N(NN(N足够大足够大足够大足够大)个以上的记录个以上的记录个以上的记录个以上的记录现在学习的是第50页,共51页统计数据库安全性(续)统计数据库安全性(续)例例例例2 2:用户:用户:用户:用户A A发出下面两个合法查询:发出下面两个合法查询:发出下面两个合法查询:发出下面两个合法查询:1 1用户用户用户用户A A和其他和其他和其他和其他NN个程序员的工资总额是多少?个程序员的工资总额是多少?个程序员的工资总额是多少
39、?个程序员的工资总额是多少?2 2用户用户用户用户B B和其他和其他和其他和其他NN个程序员的工资总额是多少?个程序员的工资总额是多少?个程序员的工资总额是多少?个程序员的工资总额是多少?若第一个查询的结果是若第一个查询的结果是若第一个查询的结果是若第一个查询的结果是X X,第二个查询的结果是,第二个查询的结果是,第二个查询的结果是,第二个查询的结果是Y Y,由于用户由于用户由于用户由于用户A A知道自己的工资是知道自己的工资是知道自己的工资是知道自己的工资是Z Z,那么他可以计算出用户那么他可以计算出用户那么他可以计算出用户那么他可以计算出用户B B的工资的工资的工资的工资=Y-(X-Z)=Y-(X-Z)。原因:两个查询之间有很多重复的数据项原因:两个查询之间有很多重复的数据项原因:两个查询之间有很多重复的数据项原因:两个查询之间有很多重复的数据项规则规则规则规则2 2:任意两个查询的相交数据项不能超过:任意两个查询的相交数据项不能超过:任意两个查询的相交数据项不能超过:任意两个查询的相交数据项不能超过MM个个个个现在学习的是第51页,共51页
限制150内