日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SQL Server 2008中的代碼安全(三):通過PassP

系統(tǒng) 2039 0

SQL Server 2008中SQL應(yīng)用系列--目錄索引

導(dǎo)讀:本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函數(shù)進行通行短語(PassPhrase)加密。

前言

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

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

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

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

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

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

1、通過PassPhrase加密

2、主密鑰

3、非對稱密鑰加密

4、對稱密鑰加密

5、證書加密

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

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

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

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

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

我們看一個示例:

注意:

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

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

邀月注:本文版權(quán)由邀月和CSDN共同所有,轉(zhuǎn)載請注明出處。
助人等于自助! 3w@live.cn

SQL Server 2008中的代碼安全(三):通過PassPhrase加密


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 海阳市| 理塘县| 肇源县| 洮南市| 逊克县| 雷州市| 喀什市| 桃源县| 高清| 奉新县| 隆子县| 巴林右旗| 蓝田县| 怀远县| 邹城市| 安顺市| 三原县| 辛集市| 吉隆县| 河西区| 胶南市| 玉林市| 浦东新区| 石柱| 嘉兴市| 开封市| 阳谷县| 贞丰县| 台北市| 广水市| 平山县| 搜索| 平阴县| 清镇市| 喀喇沁旗| 乌拉特中旗| 苏尼特右旗| 绵阳市| 黄冈市| 茶陵县| 凌云县|