–一旦执行,任何数据库主密钥的修改需要使用OPEN MASTER KEY的口令访问,
–这样是为了重新应用服务主密钥的加密
OPEN MASTER KEY DECRYPTION BY PASSWORD =’123456!’
–一旦服务主密钥被用于加密数据库主密钥,数据库主密钥不再需要被显式打开或关闭。
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
–关闭数据库主密钥
CLOSE MASTER KEY
–小结:
—
–1、本文主要介绍服务主密钥的备份与还原,数据库的主密钥的创建、重新生成、删除和备份、还原。
—
–2、一旦创建主密钥,立刻备份它是一个很好的习惯。
————————————————————————————
–SQL Server 2008中的代码安全(三):通过PassPhrase加密
–导读:本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函数进行通行短语(PassPhrase)加密。
–前言:
—
–在SQL Server 2005和SQL Server 2008之前。
–如果希望加密敏感数据,如财务信息、工资或身份证号,必须借助外部应用程序或算法。
–SQL Server 2005引入内建数据加密的能力,使用证书、密钥和系统函数的组合来完成。
—
–与数字证书类似。SQL Server 证书包括公钥和私钥这一对密钥,它们都用来加密和解密数据。
–SQL Server也拥有创建非对称密钥和对称密钥对象的能力。非对称密钥(asymmetric key)与证书相似,
–公钥用来加密数据库,私钥用来解密数据。
–非对称密钥和证书都提供了强大的加密强度。但在完成复杂的加密|解密过程中具有更多的性能开销。
–更适合对大量数据进行加密,且具有较低性能开销的解决方案是对称密钥(symmetric key),
–它是对相同数据进行加密和解密的一个密钥。
—
–SQL Server允许将这些加密能力放到加密层次结构中。
–当安装了SQL Server后,在数据库master中创建名为服务主密钥的服务器级别证书,
–并将其默绑定到SQL Server服务账号登录名。
–服务主密钥用来加密所有其他数据库证书和创建在SQL Server实例中的密钥。
–另外,你也可以在用户数据库中创建数据库主密钥(Database Master Key),
–它可以用来加密数据库证书和密钥。
—
–在SQL Server 2008中,微软引入了透明数据加密(TDE),它对整个数据库进行加密,
–而不需要修改任何访问它的应用程序。数据、日志文件和相关的数据库备份都是加密的。
–假如数据库被偷,如果没有数据库加密密钥(DEK)是不能访问数据的。










