数据加密是数据库被破解、物理介质被盗、备份被窃取的最后一道防线,数据加密,一方面解决数据被窃取安全问题,另一方面有关法律要求强制加密数据。SQL Server 的数据加密相较于其他数据库,功能相对完善,加密方法较多。通常来讲,数据加密分为对称加密和非对称加密。对称加密:加密与解密使用同一密钥,密钥需要传输,安全性较弱,但性能较非对称要好。非对称加密:加密与解密使用不同密钥(公钥和私钥),较对称密钥安全性较好,但是算法较复杂,带来性能上的损失。因此,折中的方法是使用对称密钥加密数据,使用非对称密钥加密对称密钥。这样既保证高性能,又提高密钥的可靠性。
同样,SQL Server 就使用了折中的方法,所以SQL Server 加密功能包含2个部分:数据加密和密钥管理
一.数据加密
说道数据加密,我们不得不说下加密算法,SQL Server支持多种加密算法:
二.密钥管理:
1.SQL Server加密层次结构
由图可以看出,加密是分层级的。每一个数据库实例都拥有一个服务主密钥(Service Master Key),这个密钥是实例的根密钥,在实例安装的时候自动生成,其本身由Windows提供的数据保护API进行保护(Data Pertection API),服务主密钥除了为其子节点提供加密服务之外,还用于加密一些实例级别的信息,比如实例的登录名密码或者链接服务器的信息。
在服务主密钥之下的是数据库主密钥(Database Master Key),这个密钥由服务主密钥进行加密。这是一个数据库级别的密钥,可以用于为创建数据库级别的证书或非对称密钥提供加密,每一个数据库只能有一个数据库主密钥。
EKM模块,这个比较特别,全称可扩展密钥管理模块,该功能增强sqlserver密钥管理的能力,允许将密钥存储到数据库之外,包括一些硬件,如智能卡、USB设备或硬件安全模块(HSM);并且允许使用第三方产品来管理密钥和进行加密;另外,有条件的可以使用更高性能的HSM模块来加解密,减少加解密上性能的损失。
2.SQL Server加密方式
对象定义加密
未保证触发器、存储过程、视图等定义信息,我们可以在定义sqlserver对象的时候添加WITH ENCRYPTION字段来加密对象。
列数据加密
通过函数加密表中的某一列数据。可以通过密码、对称密钥、非对称密钥、证书等4中方式加密。其中,还包括 带有验证器的加密函数,验证器用来解决密文替换问题,验证器一般选用不更改独一无二的id,这样就算密文替换,验证器不对,一样失败。
连接加密
通过证书的方式对ssl连接加密,一般用于镜像,主从机器之前的连接就是通过这种方式。
TDE(透明数据加密)
透明数据加密,顾名思义,是在用户不感知的情况下完成加解密操作。它的加密是在页级别进行,是在写入磁盘前加密,读入内存时解密,针对数据和日志文件,做到实时I/O加密,并且备份文件也会一同加密。密钥存在数据库引导记录中,收到证书或者非对称密钥的保护,也可以与EKM模块一同使用。官方说法,额外占用3%-5%的cpu资源。 TDE也有一些缺点:压缩率小,由于它是先加密再压缩的,所以无法显著压缩备份。备份同样是加密的,所有恢复的时候要小心,注意备份证书和密钥,才能在另个实例中还原数据库性能有一定损耗。
备份加密(2014)
全程加密(2022)
全程加密,数据永远是加密状态,你可以在加密数据上执行操作,无需先对它们解密,也就是说加密的敏感信息不会有机会变为明文。全程加密针对列做处理,在创建列主密钥,列加密密钥后,可以在创建表的时候设置列加密。加密模式分为两种:确定型加密与随机型加密。确定型加密能够确保对某个值加密后的结果是始终相同的,这就允许使用者对该数据列进行等值比较、连接及分组操作。确定型加密的缺点在于有可能揣测出原文,而随机型加密能够保证某个给定值在任意两次加密后的结果总是不同的,从而杜绝了猜出原值的可能性。官方建议需要搜索和分组的列使用确定性加密,而注释和其他敏感不会进行搜索分组的信息使用随机性加密。最后附上TDE开通示例:
sqlserver加密:https://msdn.microsoft.com/zh-cn/library/bb510663(v=sql.120).aspx
可扩展密钥管理模块EKM :https://msdn.microsoft.com/zh-CN/library/bb895340(v=sql.120).aspx
透明数据加密TDE:https://msdn.microsoft.com/zh-cn/library/bb934049(v=sql.120).aspx
远程监控电脑屏幕用什么软件?这些软件值得一试
如今,随着网络办公和团队合作的日益普及,实时监控电脑屏幕已成为确保工作效率和信息安全的有效途径。以下是一些在远程监控电脑屏幕方面表现出色的软件,能够满足不同场景的规定。1、TeamViewerTeamviewer是世界著名的远程桌面控制软件,页面简易,操作简便,联接平稳。此系统支持多种操作系统,从而实现远程访问、远程支...
U盘管理软件有哪些?探索U盘管理软件的多样世界
在数字时代,U盘作为便携式存储设备,在日常工作和学习中发挥着重要作用。然而,如何有效地管理U盘并确保其安全性和便利性已成为许多用户关注的焦点。今天,让我们一起探索那些优秀的U盘管理软件,它们将给您的数字生活带来前所未有的便利。1、PKu盘卫士 PKU盘是一款专业的U盘安全检测软件,可以实时监控U盘的安全状态,并评估电脑...
电脑实时监控软件哪款好?为您精选几款高效工具
在当今数字化飞速发展的时代,电脑已经成为我们生活和工作中不可或缺的工具。为了确保公司的信息安全,提高工作效率,选择合适的电脑实时监控软件至关重要。本文将为您推荐几款高效实用的电脑实时监控软件,帮助你更好地掌握员工工作动态,提升团队效率。一、安企神软件软件特点:综合监控功能:安企神软件凭借其综合监控管理功能脱颖而出,可以...
局域网监控软件可以监控外网吗?一文解析
如今,随着数字办公的日益普及,局域网监控软件已经成为企业网络管理不可或缺的一部分。然而,局域网监控软件能否监控外网一直困扰着许多企业网络工程师。本文将深入探讨这一问题,分析局域网监控软件在外网监控中能力与局限性。一、局域网监控软件的主要功能局域网监控软件是一种基于桌面管理软件和监控系统的综合监控工具。它通常具有以下基本...
安企神网络安全准入系统
安企神软件网络安全准入系统是一种高效、灵活、易于管理的网络密钥管理解决方案,旨在为公司网络环境提供全面的安全保障。通过身份认证、健康体检和安全设置评定,此系统保证只有授权的设备与用户才能浏览公司的内部网络资源,进而最大限度地降低安全隐患。一、网络安全准入系统主要功能1、用户身份认证安企神网络准入系统选用严格的身份认证机...