本文属于SQL Server安全专题系列
加密是一种使用密钥和证书的算法来混淆数据的过程。如果没有密钥和证书,即使得到了数据,也无法得知数据的本来面貌,数据就没有价值了。但是由于加解密本身就是一种非常耗资源(特别是CPU跟I/O )的计算操作,同时加密后的数据本质上会增大,所以也往往会带来性能的下降。所以一般都只能按需使用。
SQL Server到2016为止,加入了很多种加密技术,比如TDE、cell-level加密和始终加密,下面来介绍一下加密的概念。为后续讲解做铺垫。
常规加密概念:
纵深防御:
Defense-in-Depth ,是一种横跨整个IT范围的技术,本质就是多层防御。比如企业会有外围网络防火墙,内网防火墙等。在SQL Server层,通常使用加密技术来实现这种访问控制策略。换句话来说,加密通过增加额外的防御层来实现提高纵深防御能力。
对称密钥:
Symmetric Keys,虽然是“钥匙”,但是本质就是加密数据的算法。并且是加密中最弱的算法,因为使用相同的算法来加解密数据。不过即使是最弱的算法,也能增加纵深防御的能力,毕竟不是每个