成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析SQL Server 2008中的代碼安全之三:通過PassPhrase加密

數(shù)據(jù)庫(kù) SQL Server
本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函數(shù)進(jìn)行通行短語(yǔ)(PassPhrase)加密。

前言

      在SQL Server 2005和SQL Server 2008之前。如果希望加密敏感數(shù)據(jù),如財(cái)務(wù)信息、工資或身份證號(hào),必須借助外部應(yīng)用程序或算法。SQL Server 2005引入內(nèi)建數(shù)據(jù)加密的能力,使用證書、密鑰和系統(tǒng)函數(shù)的組合來(lái)完成。

    與數(shù)字證書類似。SQL Server 證書包括公鑰和私鑰這一對(duì)密鑰,它們都用來(lái)加密和解密數(shù)據(jù)。SQL Server也擁有創(chuàng)建非對(duì)稱密鑰和對(duì)稱密鑰對(duì)象的能力。非對(duì)稱密鑰(asymmetric key)與證書相似,公鑰用來(lái)加密數(shù)據(jù)庫(kù),私鑰用來(lái)解密數(shù)據(jù)。非對(duì)稱密鑰和證書都提供了強(qiáng)大的加密強(qiáng)度。但在完成復(fù)雜的加密|解密過程中具有更多的性能開銷。更適合對(duì)大量數(shù)據(jù)進(jìn)行加密,且具有較低性能開銷的解決方案是對(duì)稱密鑰(symmetric key),它是對(duì)相同數(shù)據(jù)進(jìn)行加密和解密的一個(gè)密鑰。

    SQL Server允許將這些加密能力放到加密層次結(jié)構(gòu)中。當(dāng)安裝了SQL Server后,在數(shù)據(jù)庫(kù)master中創(chuàng)建名為服務(wù)主密鑰的服務(wù)器級(jí)別證書,并將其默綁定到SQL Server服務(wù)賬號(hào)登錄名。服務(wù)主密鑰用來(lái)加密所有其他數(shù)據(jù)庫(kù)證書和創(chuàng)建在SQL Server實(shí)例中的密鑰。另外,你也可以在用戶數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)主密鑰(Database Master Key),它可以用來(lái)加密數(shù)據(jù)庫(kù)證書和密鑰。

    在SQL Server 2008中,微軟引入了透明數(shù)據(jù)加密(TDE),它對(duì)整個(gè)數(shù)據(jù)庫(kù)進(jìn)行加密,而不需要修改任何訪問它的應(yīng)用程序。數(shù)據(jù)、日志文件和相關(guān)的數(shù)據(jù)庫(kù)備份都是加密的。假如數(shù)據(jù)庫(kù)被偷,如果沒有數(shù)據(jù)庫(kù)加密密鑰(DEK)是不能訪問數(shù)據(jù)的。本文及后面幾篇文章將會(huì)舉例說(shuō)明。

    在SQL Server 2008中,還引入了對(duì)可擴(kuò)展密鑰管理(EKM)的支持,也就意味著SQL Server可以使用硬件安全模塊(HSM)來(lái)存儲(chǔ)和和管理加密密鑰。HSM可以減少數(shù)據(jù)和實(shí)際的加密密鑰耦合。

此部分內(nèi)容共分六篇文章:

1、通過PassPhrase加密

2、主密鑰

3、非對(duì)稱密鑰加密

4、對(duì)稱密鑰加密

5、證書加密

6、透明數(shù)據(jù)加密

一、通過通行短語(yǔ)(PassPhrase)加密

     對(duì)于不涉及證書及密鑰的應(yīng)急的數(shù)據(jù)加密,可以直接基于用戶提供的密碼來(lái)加密和解密數(shù)據(jù)。通行短語(yǔ)(PassPhrase)是允許存在空格的密碼。這個(gè)PassPhrase不會(huì)存儲(chǔ)在數(shù)據(jù)庫(kù)中,因而也就意味著不會(huì)被使用存儲(chǔ)的系統(tǒng)數(shù)據(jù)“破解”。同時(shí),可以使用空格創(chuàng)建一個(gè)長(zhǎng)的、易于記憶的句子來(lái)加密和解密敏感數(shù)據(jù)。

我們需要了解的一對(duì)函數(shù)是ENCRYPTBYPASSPHRASE(http://technet.microsoft.com/zh-cn/library/ms190357.aspx)和DECRYPTBYPASSPHRASE(http://technet.microsoft.com/zh-cn/library/ms188910.aspx)

    這一對(duì)函數(shù)必須使用相同的參數(shù)。

    我們看一個(gè)示例:

  1. use DemoDB2008r2  
  2. go  
  3. -- Table used to store the encrypted data  
  4. -- for the purposes of this recipe  
  5. CREATE TABLE #SecretInfo  
  6. (MySecret varbinary(maxNOT NULL)  
  7. GO  
  8. INSERT #SecretInfo (MySecret)  
  9. SELECT EncryptByPassPhrase(  
  10. 'My Password Used To Encrypt This String in 2008.',  
  11. '我把公司的服務(wù)器數(shù)據(jù)庫(kù)密碼記在那個(gè)綠色的小本子上了。')  
  12. SELECT MySecret FROM #SecretInfo  
  13.  
  14. /*  
  15. 通常的查詢結(jié)果:  
  16. 0x01000000CCBC800C6B5CECE3F211FB975C2F8B681CC8301DDE74CF783C6A593  
  17. 16C2BAC08D568151FD573E2FDE01C800805C8D1D5984727DEE95040C1FB604003  
  18. A3EFDD0444CE72D7E505D1A4  
  19. */   

 

  1. /************  
  2. 想知道原文本的內(nèi)容,使用以下語(yǔ)句:  
  3. --------3w@live.cn**********************/  
  4.  
  5. SELECT CAST(DecryptByPassPhrase(  
  6. 'My Password Used To Encrypt This String in 2008.',MySecret)   
  7. as varchar(max))  
  8. FROM #SecretInfo 

注意:

1、使用通行短語(yǔ)進(jìn)行加密數(shù)據(jù),不用擔(dān)心sysadmin服務(wù)器角色成員讀取數(shù)據(jù)(在后面文章會(huì)看到,服務(wù)器角色成員sysadmin擁有讀取其他形式的加密數(shù)據(jù)的內(nèi)在權(quán)限。)

2、假定沒有將密碼存儲(chǔ)在表中或在任何模塊(存儲(chǔ)過程、觸發(fā)器等)中使用密碼,加密的數(shù)據(jù)將防止從數(shù)據(jù)庫(kù)備份被偷竊或在SQL Server實(shí)例中的數(shù)據(jù)庫(kù)中滲透。如果通行短語(yǔ)沒有正確共享,數(shù)據(jù)就可以被解密。

原文鏈接:http://www.cnblogs.com/downmoon/archive/2011/03/03/1968939.html

  1. 淺析SQL Server 2008中的代碼安全之一:存儲(chǔ)過程加密與安全上下文
  2. 淺析SQL Server 2008中的代碼安全之二:DDL觸發(fā)器與登錄觸發(fā)器
  3. Sql server安全設(shè)置九大措施
  4. SQL Server安全解析
  5. sql server安全的兩層模型

 

責(zé)任編輯:艾婧 來(lái)源: 博客園
相關(guān)推薦

2011-03-16 08:42:22

SQL Server證書加密

2011-03-15 09:51:09

2011-03-18 09:11:14

SQL Server透明加密

2011-03-14 10:38:10

SQL Server非對(duì)稱密鑰加密

2011-03-14 15:06:49

SQL Server 安全

2011-03-10 15:03:40

SQL Server主密鑰

2011-02-28 15:46:22

SQLSQL ServerSQL Server

2011-03-11 13:26:32

SQL ServerBlocking阻塞

2011-08-19 11:26:41

SQL Server 主密鑰

2011-03-18 10:27:00

SQL Server目錄索引

2009-04-16 18:07:39

2009-04-16 17:34:19

2011-03-03 09:30:24

downmoonsql登錄觸發(fā)器

2009-02-16 16:10:49

安全審計(jì)安裝SQL Server

2009-04-16 18:25:55

2010-06-30 08:20:05

SQL Server

2009-04-16 18:15:19

動(dòng)作審核審核活動(dòng)SQL Server

2009-04-16 17:44:31

2009-07-21 14:50:01

JDBC連接SQL S

2012-08-29 09:29:28

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品污www一区二区三区 | 午夜精品导航 | 97视频在线免费 | 亚洲欧美综合精品久久成人 | 国产一区精品在线 | 一区二区三区四区电影 | 精品国产欧美一区二区三区成人 | 国内精品一区二区 | 中文字幕在线人 | 久久99精品久久久97夜夜嗨 | 亚洲小视频在线播放 | 视频在线一区二区 | 在线日韩视频 | 天天综合永久入口 | 国产91亚洲精品 | 久久青| 精品欧美一区二区三区免费观看 | 91在线看片 | 国产99久久精品一区二区永久免费 | 三级视频国产 | 成人av一区 | 精品欧美一区二区三区精品久久 | 国产精品一区二区久久精品爱微奶 | 日韩精品在线一区 | 中文字幕视频在线免费 | 美女黄色在线观看 | 午夜精品视频 | 在线观看你懂的网站 | 99久久精品国产一区二区三区 | 日本免费一区二区三区四区 | av性色全交蜜桃成熟时 | 成人精品一区二区 | 久久综合一区 | 九九久久精品视频 | 色橹橹欧美在线观看视频高清 | 九九视频在线观看视频6 | 狠狠爱免费视频 | 国产高清精品在线 | 在线观看国产www | 亚洲精品久久久久久首妖 | 午夜视频网站 |