SQL Server 2008中SQL应用系列--目录索引
证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密的密钥。困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。尽管复杂度是考虑使用它的因素,但它仍然是一个很好的加密数据的选择。
我们看一组例子:
示例一、创建对称密钥
对称密钥的特性是:在数据库会话中使用它对数据进行加密和解密前必须首先打开。
创建对称密钥使用如下命令:
CREATE SYMMETRIC KEY 创建对称密钥。(http://msdn.microsoft.com/en-us/library/ms188357.aspx)
示例二、查看当前数据库中的对称密钥
使用目录视图sys.symmetric_keys(http://msdn.microsoft.com/en-us/library/ms189446.aspx)来查看。
示例三、修改非对称密钥的加密方式
你可以使用ALTER SYMMETRIC KEY(http://technet.microsoft.com/en-us/library/ms189440.aspx)命令修改对称密钥的加密方式。但执行前必须使用OPEN SYMMETRIC KEY(http://msdn.microsoft.com/en-us/library/ms190499.aspx)命令打开它。
示例四、使用对称密钥对数据进行加密和解密。
1、为了使用对称密钥对数据进行加密,必须首先打开它,然后使用函数EncryptByKey 加密数据。(http://msdn.microsoft.com/zh-cn/library/ms174361.aspx)
2、使用DecryptByKey来解密使用对称密钥加密的数据。注意DecryptByKey不像甩EncryptByKey,无须使用对称密钥GUID。因此,为了解密,必须打开正确的对称密钥会话,否则会显示null。
下面是一个例子:
查看未加密的数据:


至此,好像已经大功告成了,别,千万别高兴得太早!
这里有个问题,如果恶意用户不知道CustomerID=13的PasswordHintAnswer列的真实值,但知道CustomerID=14的PasswordHintAnswer列的真实值,则完全可以通过恶意替换PasswordHintAnswer列而绕过加密!!3w@live.cn此时,我们索性连CustomerID列作为验证列也一起加密,以绝后患 !
注意:加密的验证列也可以由另一个相关表的列作为参数传入。
看一个完整的例子:
恶意替换开始:
此时,我们再查看:

郎勒个郎!爽吧!虽然复制了相同的二进制数据,可是读取结果令攻击者大失所望啊!
示例五、删除对称密钥
命令:DROP SYMMETRIC KEY 删除指定的对称密钥( http://technet.microsoft.com/en-us/library/ms182698.aspx)
例子:
注意:如果加密密钥打开没有关闭,则drop失败。
小结:
1、本文主要介绍对称密钥的创建、删除、查看以及用它来修改加密方式、进行数据的加密和解密。
2、对称密钥的特性是:在数据库会话中使用它对数据进行加密和解密前必须首先打开。
3、对称密钥可用于大数据的加密。
下文将主要介绍证书加密(Certificate Encryption)
邀月注:本文版权由邀月和CSDN共同所有,转载请注明出处。
助人等于自助! 3w@live.cn
分享到:
相关推荐
在SQL Server中进行DES加密是保护敏感数据的一种常见方法,特别是在C#应用程序中与数据库交互时。DES(Data Encryption Standard)是一种对称加密算法,它使用相同的密钥进行加密和解密,提供了一种相对快速的数据...
不同于对称密钥,非对称密钥不能简单地备份到文件,因此一旦在SQL Server中创建,就难以在其他数据库中复用相同的密钥,这在一定程度上增加了管理的复杂性。 创建非对称密钥是通过`CREATE ASYMMETRIC KEY`命令实现...
困此,使用对称密钥加密数据更快,并且用在大数据时更加合适。尽管复杂度是考虑使用它的因素,但它仍然是一个很好的加密数据的选择。 我们看一组例子: 示例一、创建对称密钥 对称密钥的特性是:在数据库会话中...
以下是一个使用非对称密钥加密和解密数据的例子: ```sql -- 创建需要加密的数据 CREATE TABLE BankUser ( PKID int PRIMARY KEY IDENTITY(1,1), UserNo varbinary(1000) NULL, CurState datetime NOT NULL ) --...
需要学习如何使用SQL Server 2008提供的安全功能,如证书和非对称密钥的加密技术,确保数据传输和存储的安全。 5. 使用SQL Server 2008数据仓库:数据仓库的构建在SQL Server 2008中得到了改善。学习如何创建和维护...
因为可以备份然后从文件中载入它们,证书比非对称密钥更易于移植,而非对称密钥却做不到。这意味着可以在数据库中方便地重用同一个证书。 注意:证书和非对称密钥同样的消耗资源。 我们看一组例子: 示例一、创建...
本文详细介绍了如何在SQL Server 2012中使用非对称密钥进行数据的加密与解密操作,包括创建非对称密钥、创建加密和解密函数以及非对称密钥的管理等关键步骤。通过这种方式,可以有效地提高数据的安全性和隐私保护...
2. **调整服务器配置**:在SQL Server中,检查并更新SSL设置,确保服务器支持的加密套件和客户端驱动相匹配。可以使用`sp_configure`系统存储过程和`ssl_cipher_suite`选项进行配置。 3. **修改客户端设置**:如果...
在技术层面,加密技术的应用也至关重要,例如在SQL Server中采用“defense in depth”(分层防御)的安全策略。该策略意味着即使攻击者破解了系统最外围的防御措施,仍需通过多层安全防护才能最终接触到核心数据,...
SQL 非对称密钥 创建、删除、加密、解密、全部密匙查看等。
综上所述,SQL Server 2005 的数据加密功能极大地提升了数据的安全性,通过对称式加密、非对称密钥加密和数字证书等多种加密技术,结合层次化的密钥管理机制,使得数据保护变得更加全面。此外,通过内置的加密支持,...
【透明数据加密(TDE)】是SQL Server 2008引入的一种强大的安全特性,旨在保护数据库的数据安全,防止未经授权的访问。TDE提供了一种全数据库级别的加密,不仅加密实际的数据,还包括日志文件,确保即使数据文件...
SQL Server 2008支持上述算法,并允许使用对称密钥、非对称密钥、密码或证书进行加密。 - 非对称加密:使用两个密钥,一个是加密的公钥,另一个是解密的私钥,它们组合成一对密钥。非对称加密由于其加密和解密的...
本文旨在深入探讨SQL Server 2005的数据加密技术,及其在程序设计过程中的具体应用,确保企业数据安全。 #### 数据加密的重要性 数据以数字形式存储在服务器上并非绝对安全。传统方法如SQL Server 2000的认证保护...
SQL Server 2005中的加密技术主要基于服务主密钥(Service Master Key, SMK)、数据库主密钥(Database Master Key, DMK)以及非对称密钥(Asymmetric Key)和证书(Certificate)等组件。下面将详细介绍这些概念...
通过对SQL Server中数据加密过程的详细解析,我们可以了解到使用对称密钥进行数据加密的基本流程。这种方法简单有效,能够满足大多数场景下的数据安全需求。当然,在实际应用中还需要考虑更多的因素,例如密钥管理、...
在实际操作中,一般不直接使用加密强度大的非对称密钥或证书来加密数据,而是先用对称密钥加密数据以获取高效率,然后再使用证书或非对称密钥来加密对称密钥。这种多级密钥机制有效保护了SQL Server内部的密钥和数据...
SQL Server也拥有创建非对称密钥和对称密钥对象的能力。非对称密钥(asymmetric key)与证书相似,公钥用来加密数据库,私钥用来解密数据。非对称密钥和证书都提供了强大的加密强度。但在完成复杂的加密|解密过程中...
5. 启用数据库加密密钥:在Test数据库中创建加密密钥,也就是对称密钥,用于数据加密。在创建过程中使用之前创建的证书进行加密。同时,操作完成后会有提示信息,建议备份证书以及相关的私钥,这是为了防止证书丢失...