数据库管理:SQL Server 2008安全性探讨

Ruby 发表于:12年09月06日 11:18 [转载] DOIT.com.cn

  • 分享:
[导读]今天我们将谈到SQL Server 2008安全性,包括身份验证模式等等。供大家参考,学习。

非对称密钥

  1. CREATE ASYMMETRIC KEY name [AUTHORIZATION owner] [FROM key_source] WITH ALGORITHM=algrithm [ENCRYPTION BY PASSWORD='password'

在创建非对称密钥时,可以指定密钥对的所有者和密钥源(可以是一个强名称文件、一个程序集或一个可执行的程序集文件)另外,也可以使用一个决定私钥使用的位数的算法,选择密钥成俗是512,1024还是2048位,还可以使用ENCRYPTION BY PASSWORD选项来加密私钥。如果没有指定密码,数据库主密钥将加密私钥

  1. USE AdventureWorks2008 CREATE ASYMMETRIC KEY HumanResources WITH ALGORITHM=RSA_2048; GO 

可以使用ALTER ASYMMETRIC KEY语句更改密钥对的属性,可以使用REMOVE PRIVATE KEY选项将私钥从数据库中删除(确保已经先备份过私钥),或者可以更改保护私钥的方式。例如,可以更改用来加密私钥的密码,然后把保护方式从密码改为数据库主密钥,反之亦然。下面的代码,通过密码加密在前面的例子中创建的HumanResouces密钥对中的私钥:

  1. USE AdventureWorks2008 ALTER ASYMMETRIC KEY HumanResources WITH PRIVATE KEY (ENCRYPTION BY PASSWORD='P@ssw0rd'

下面的例子中,通过先解密,然后用一个新的密码重新加密的方式更改用于加密私钥的密码

  1. USE AdventureWorks2008 ALTER ASYMMETRIC KEY HumanResources 
  2. WITH PRIVATE KEY(DECRYPTION BY PASSWORD='P@ssw0rd',ENCRYPTION BY PASSWORD='48UFDSJehf@*hda'); GO 

证书

在加密方面,公钥证书和非对称密钥的操作方式一样,不过,密钥对被绑定到证书。公钥包含在省属详细信息中,而私钥必须被安全地归档。与证书关联的私钥必须用密码、数据库主密钥或另外一个加密密钥保护。在加密数据时,最好的做法是使用一个对称密钥加密数据,然后使用公钥加密该对称密钥。

当创建一个自签名证书时,可以使用CREATE CERTIFICATE语句。可以选择一个强密码或者数据库主密钥加密私钥。或者也可以使用CREATE CERTIFICATE语句从一个文件导入证书或私钥。另外,可以基于已签名的程序集创建证书。

在证书创建完成之后,可以使用ALTER CERTIFICATE语句修改证书。可以执行的更改包括改变保护四方的方式或从SQL Server中删除私钥。只有证书被用于验证数字签名时才需要杉树私钥。如果公钥被用来加密数据或对称密钥,那私钥应当可以解密。在创建证书时最好使用 BACKUP CERTIFICATE语句备份证书和关联的私钥。您可以只备份证书而不归档私钥,使用公钥来验证或加密只能用私钥解密的信息。

一旦证书不需要,可以使用DROP CERTIFICATE语句删除。如果证书仍然和其他对象关联,则无法删除。

  1. --Create the Personnel Data Certificate 
  2. USE AdventureWorks2008; CREATE CERTIFICATE PersonnelDataCert ENCRYPTION BY PASSWORD='HRcertific@te' 
  3. WITH SUBJECT='Personnel Data Encryption Certificate' EXPIRY_DATE='12/31/2011'; GO 
  4.  
  5. --Backup the certificate and private key to the file system 
  6. Use AdventureWorks2008 BACKUP CERTIFICATE PersonnelDataCert TO FILE='c:\certs\Personnel.cert'  
  7. WITH PRIVATE KEY (DECRYPTION BY PASSWORD='HRcertific@te', FILE='c:\certs\Personnelkey.pvk', ENCRYPTION BY PASSWORD='@notherPassword'); GO 
  8.  
  9. --Import the certificate and private key into the TempDB database 
  10. USE tempdb CREATE CERTIFICATE PersonnelDataCert FROM FILE='c"\certs\Personnel.cer' 
  11. WITH PRIVATE KEY (FILE='c:\certs\Personnelkey.pvk', DECRYPTION BY PASSWORD='@notherPassword', ENCRYPTION BY PASSWORD='TempDBKey1'); GO 
  12.  
  13.  
  14. --更改用于加密私钥的密码 
  15. USE tempdb ALTER CERTIFICATE PersonnelDataCert 
  16. WITH PRIVATE KEY (ENCRYPTION BY PASSWORD='P@ssw0rd789', DECRYPTION BY PASSWORD='TempDBKey1')  
  17. USE AdventureWorks2008 ALTER CERTIFICATE PersonnelDataCert REMOVE PRIVATE KEY 
  18. GO 
  19.  
  20. USE tempdb DROP CERTIFICATE PersonnelDataCert; GO
[责任编辑:韩蕊]
Ruby
SAP分享了多年来对企业运营变革的洞察,以及SAP Business Suite powered by HANA如何推动企业在对业务影响最小的情况下向实时企业转型,从而帮助企业实现更睿智的业务创新、更快速的业务流程和更简化的业务交互。发布会现场,SAP公司宣布,中国最大的瓶装水生产商——农夫山泉成为基于 SAP HANA 的SAP Business Suite在中国的首家客户。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.