第四章 数据库加密_第1页
第四章 数据库加密_第2页
第四章 数据库加密_第3页
第四章 数据库加密_第4页
第四章 数据库加密_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章:数据库加密概述 数据库加密透明数据库加密TDE加密对数据库的影响数据库加密加密层次结构加密机制加密算法加密层次结构SQL Server 用分层加密和密钥管理基础结构来加密数据。 每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密。 非对称密钥和对称密钥可以存储在 SQL Server 之外的可扩展密钥管理 (EKM) 模块中。 下图说明了加密层次结构的每一层是如何对它下面的一层进行加密的,并且显示了最常用的加密配置。 对层次结构的开始进行的访问通常受密码保护。加密层次结构为了获得最佳性能,使用对称密钥(而不是证书或非对称密钥)加密数据。 数据库主密钥受服务主密钥保护。

2、服务主密钥由 SQL Server 安装程序创建,并且使用 Windows 数据保护 API (DPAPI) 进行加密。 堆叠其他层的其他加密层次结构是可能的。 可扩展密钥管理 (EKM) 模块将对称密钥或非对称密钥保存在 SQL Server 的外部。 透明数据加密 (TDE) 必须使用称为数据库加密密钥的对称密钥,该密钥受由 master 数据库的数据库主密钥保护的证书保护,或者受存储在 EKM 中的非对称密钥保护。 服务主密钥和所有数据库主密钥是对称密钥。 加密层次结构在此图中,箭头表示常用的加密层次结构。 EKM 中的对称密钥和非对称密钥可以保护对存储在 SQL Server 中的对称

3、密钥和非对称密钥进行的访问。 与 EKM 有关的虚线表示 EKM 中的密钥可以替换存储在 SQL Server 中的对称密钥和非对称密钥。加密机制证书公钥证书(通常只称为证书)是一个数字签名语句,它将公钥的值绑定到拥有对应私钥的人员、设备或服务的标识上。 证书是由证书颁发机构 (CA) 颁发和签名的。 从 CA 接收证书的实体是该证书的主体。 证书中通常包含下列信息。 主题的公钥。 主题的标识符信息,如姓名和电子邮件地址。 有效期。 这是指证书被认为有效的时间长度。 证书只有在指定的有效期内有效,每个证书都包含一个“有效期始于”和“有效期至”日期。 这两个日期设置了有效期的界限。 证书超过有效

4、期后,必须由已过期证书的主题请求一个新证书。 颁发者标识符信息。 颁发者的数字签名。 此签名用于证明主题的公钥和标识符信息之间的绑定的有效性。 (在对信息进行数字签名的过程中,信息以及发件人拥有的一些秘密信息将被转换成一个称为“签名”的标记。) 加密机制证书的主要好处是使主机不再需要为每个主题维护一组密码。 相反,主机只需要与证书颁发者建立信任关系,然后证书颁发者就可以签名无限数量的证书。 当主机(如安全 Web 服务器)将某个颁发者指定为受信任的根颁发机构时,主机将隐式信任该颁发者用来建立它所发出的证书绑定的策略。 也就是说,主机将相信该颁发者已经验证了证书主题的标识。 主机可以通过将颁发者

5、自签名的证书(其中包含颁发者的公钥)放入主机的受信任根证书颁发机构证书存储区,将此颁发者指定为受信任的根颁发机构。 对于中间证书颁发机构或从属证书颁发机构,只有当它们具有受信任根证书颁发机构的合法路径时才会受到信任。 颁发者可以在证书到期之前便撤消该证书。 撤消后,将解除公钥与证书中声明的标识之间的绑定。 每个颁发者都维护一个证书撤消列表,此列表可由程序在检查任何给定证书的有效性时使用。 由 SQL Server 创建的自签名证书遵循 X.509 标准并支持 X.509 v1 字段。 密钥非对称密钥非对称密钥由私钥和对应的公钥组成。 每个密钥都可以解密另一个密钥加密的数据。 非对称加密和解密相

6、对来说会消耗大量资源,但它们比对称加密提供了更高的安全级别。 非对称密钥可用于加密对称密钥,以便存储在数据库中。 对称密钥对称密钥是加密和解密都使用的一个密钥。 使用对称密钥进行加密和解密非常快,适用于对数据库中敏感数据的日常使用。 加密算法加密是希望保护 SQL Server 实例安全的管理员可以采用的多种深度防御方法之一。 加密算法定义了未经授权的用户无法轻易逆转的数据转换。 SQL Server 允许管理员和开发人员从多种算法中进行选择,其中包括 DES、Triple DES、TRIPLE_DES_3KEY、RC2、RC4、128 位 RC4、DESX、128 位 AES、192 位 A

7、ES 和 256 位 AES。 没有一种算法能够解决所有问题,有关每种算法的优势的说明不属于 SQL Server 联机丛书的讨论范畴。 但是,下列一般原则适应于: 强加密通常会比较弱的加密占用更多的 CPU 资源。 长密钥通常会比短密钥生成更强的加密。 非对称加密比使用相同密钥长度的对称加密更弱,但速度相对较慢。 使用长密钥的块密码比流密码更强。 复杂的长密码比短密码更强。 如果您正在加密大量数据,应使用对称密钥来加密数据,并使用非对称密钥来加密该对称密钥。 不能压缩已加密的数据,但可以加密已压缩的数据。 如果使用压缩,应在加密前压缩数据。 透明数据加密 (TDE)虽然我们可以采取一些预防措

8、施来帮助保护数据库的安全,如设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。 但是,如果遇到物理介质(如驱动器或备份磁带)被盗的情况,恶意破坏方只需还原或附加数据库即可浏览数据。 一种解决方案是加密数据库中的敏感数据,并通过证书保护用于加密数据的密钥。 这可以防止任何没有密钥的人使用这些数据,但这种保护必须事先计划。 “透明数据加密”(TDE) 可对数据和日志文件执行实时 I/O 加密和解密。 这种加密使用数据库加密密钥 (DEK),该密钥存储在数据库引导记录中以供恢复时使用。 DEK 是使用存储在服务器的 master 数据库中的证书保护的对称密钥,或者是由 EKM 模块保

9、护的非对称密钥。 TDE 保护“处于休眠状态”的数据,即数据和日志文件。 它提供了遵从许多法律、法规和各个行业建立的准则的能力。 软件开发人员籍此可以使用 AES 和 3DES 加密算法来加密数据,且无需更改现有的应用程序。 注:TDE 不提供跨通信信道加密。透明数据加密 (TDE)TDE 加密体系结构:透明数据加密 (TDE)若要使用 TDE,请按以下步骤操作。 创建主密钥 创建或获取由主密钥保护的证书 创建数据库加密密钥并通过此证书保护该密钥 将数据库设置为使用加密 透明数据加密 (TDE)透明数据加/解密示例:USE master; GO CREATE MASTER KEY ENCRYP

10、TION BY PASSWORD = ; GO CREATE CERTIFICATE MyServerCert WITH SUBJECT = My DEK Certificate; GO USE AdventureWorks2012; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE MyServerCert; GO ALTER DATABASE AdventureWorks2012 SET ENCRYPTION ON; GO透明数据加密 (TDE)TDE 目录

11、视图和动态管理视图。 目录视图或动态管理视图目录视图或动态管理视图 用途用途 sys.databases显示数据库信息的目录视图。 sys.certificates显示数据库中的证书的目录视图。 sys.dm_database_encryption_keys提供有关数据库中使用的加密密钥的信息以及数据库加密状态的动态管理视图。透明数据加密 (TDE)注意事项:当进行数据库加密操作的重新加密扫描时,将禁用对数据库的维护操作。您可以使用数据库的单用户模式设置来执行维护操作。 可以使用 sys.dm_database_encryption_keys 动态管理视图来确定数据库加密状态。在 TDE 过程

12、中,数据库中的所有文件和文件组都进行加密。 如果将数据库中的任何文件组标记为 READ ONLY,数据库加密操作将会失败。 如果某个数据库正在用于数据库镜像或日志传送,则两个数据库都将进行加密。 日志事务将以加密形式在它们之间发送。 加密对数据库的影响TDE与备份压缩TDE与tempdbTDE与复制TDE与备份压缩与未加密数据相比,同样的加密数据的压缩率要小得多。 如果使用 TDE 对数据库进行加密,备份压缩将无法显著压缩备份存储。 因此,不建议将 TDE 与备份压缩一起使用。TDE与tempdb如果 SQL Server 实例中的任何其他数据库是使用 TDE 加密的,则会加密 tempdb 系统

温馨提示

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

评论

0/150

提交评论