欢迎来到天天文库
浏览记录
ID:52848873
大小:104.74 KB
页数:14页
时间:2020-03-26
《崔巍 数据库系统及应用第4版0905加密及其他.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据加密1明文密文密钥加密算法解密算法对称密钥非对称密钥SQLServer支持对称加密和非对称加密。加密的一般步骤1.创建数据库主密钥;2.创建用于加密的密钥;3.打开密钥;4.操作(如插入或修改)、同时对列数据进行加密(使用加密函数——密钥和列数据做参数)。2解密数据列的一般步骤1.打开密钥;2.使用密钥访问被加密的数据列。3加密例子:USEAdventureWorksGO--创建数据库主密钥IFNOTEXISTS(SELECT*FROMsys.symmetric_keysWHEREsymmetric_ke
2、y_id=101)CREATEMASTERKEYENCRYPTIONBYPASSWORD='23987hxJKL969#ghf0%94467GRkjg5k3fd117r$$#1946kcj$n44nhdlj'GO--创建加密证书CREATECERTIFICATEHumanResources037WITHSUBJECT='EmployeeSocialSecurityNumbers';GO4--创建对称密钥CREATESYMMETRICKEYSSN_Key_01WITHALGORITHM=AES_256ENCRY
3、PTIONBYCERTIFICATEHumanResources037;GO--为保存加密数据添加一新列ALTERTABLEHumanResources.EmployeeADDEncryptedNationalIDNumbervarbinary(128)GO--打开对称密钥准备加密OPENSYMMETRICKEYSSN_Key_01DECRYPTIONBYCERTIFICATEHumanResources037--使用加密函数和对称密钥对数据列进行加密UPDATEHumanResources.Employee
4、SETEncryptedNationalIDNumber=EncryptByKey(Key_GUID('SSN_Key_01'),NationalIDNumber)GO5验证加密的效果--首先打开对称加密密钥OPENSYMMETRICKEYSSN_Key_01DECRYPTIONBYCERTIFICATEHumanResources037;GO--列出原始数据、加密后的数据和解密后的数据比较SELECTNationalIDNumberAS'原ID号',EncryptedNationalIDNumberAS'加
5、密后的ID号',CONVERT(nvarchar,DecryptByKey(EncryptedNationalIDNumber))AS'解密的ID号'FROMHumanResources.Employee;GO6数据库的审计功能如何监督合法用户的非法操作?7统计数据库只允许查询统计信息、不允许查询明细信息如何杜绝从统计信息推导出明细信息?8SELECTSUM(工资)FROM职工WHERE职务='系统分析员'是合法查询,如果“系统分析员”这个群体很小、甚至只有一个人就很容易知道明细信息,这种查询要拒绝。这时可以
6、规定一个n值,当被统计的记录个数n大于某个数值时才允许执行此类统计查询等。用户定义的安全性措施除了利用数据库管理系统提供的安全功能外,还可以使用触发器定义一些用户级的安全性措施。例如,最典型的用户定义安全性控制是,可以规定用户只在指定的时间允许对表进行更新操作。用户定义的安全性措施CREATETRIGGERsecure_whON仓储.仓库FORINSERT,DELETE,UPDATEASIFDATENAME(weekday,getdate())='星期六'ORDATENAME(weekday,getdate(
7、))='星期日'OR(convert(INT,DATENAME(hour,getdate()))NOTBETWEEN9AND17)BEGINRAISERROR('只许在工作时间操作!',16,1)ROLLBACKTRANSACTIONEND思考题试述在SQLServer中对数据实施加密的方法和步骤。什么是数据库的审计功能?统计数据库有哪些特殊的安全性问题?11本章小结本章主要讨论了数据库的安全控制问题,它的核心问题是身份识别,通过用户管理和权限管理实现对数据库的安全管理。本章还介绍了和数据库安全相关的其他一些
8、问题,如数据加密、审计和统计数据库的安全等。12实验10用户管理和权限管理实验内容:在SQLServer环境下完成数据库的用户管理、角色管理和操作权限管理。实验目的:理解和体会数据库安全性的内容,加强对数据库管理系统的安全管理功能的认识。实验方法:在SQLServer环境下分别以系统管理员、数据库管理员、对象拥有者和普通用户的身份完成所要求的各个操作。1314接下来学习事务管理
此文档下载收益归作者所有