一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

  導(dǎo)讀:本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函數(shù)進(jìn)行通行短語(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ù)的組合來完成。

  與數(shù)字證書類似。SQL Server 證書包括公鑰和私鑰這一對(duì)密鑰,它們都用來加密和解密數(shù)據(jù)。SQL Server也擁有創(chuàng)建非對(duì)稱密鑰和對(duì)稱密鑰對(duì)象的能力。非對(duì)稱密鑰(asymmetric key)與證書相似,公鑰用來加密數(shù)據(jù)庫,私鑰用來解密數(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ù)庫master中創(chuàng)建名為服務(wù)主密鑰的服務(wù)器級(jí)別證書,并將其默綁定到SQL Server服務(wù)賬號(hào)登錄名。服務(wù)主密鑰用來加密所有其他數(shù)據(jù)庫證書和創(chuàng)建在SQL Server實(shí)例中的密鑰。另外,你也可以在用戶數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫主密鑰(Database Master Key),它可以用來加密數(shù)據(jù)庫證書和密鑰。

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

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

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

  1、通過PassPhrase加密

  2、主密鑰

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

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

  5、證書加密

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

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

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

use DemoDB2008r2
go

-- Table used to store the encrypted data
--
for the purposes of this recipe
CREATE TABLE #SecretInfo
(MySecret
varbinary(max) NOT NULL)
GO
INSERT #SecretInfo (MySecret)
SELECT EncryptByPassPhrase(
'My Password Used To Encrypt This String in 2008.',
'我把公司的服務(wù)器數(shù)據(jù)庫密碼記在那個(gè)綠色的小本子上了。')

SELECT MySecret FROM #SecretInfo

/*
通常的查詢結(jié)果:
0x01000000CCBC800C6B5CECE3F211FB975C2F8B681CC8301DDE74CF783C6A593
16C2BAC08D568151FD573E2FDE01C800805C8D1D5984727DEE95040C1FB604003
A3EFDD0444CE72D7E505D1A4
*/

it知識(shí)庫SQL Server 2008中的代碼安全(三):通過PassPhrase加密,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美精| 色综合久久婷婷天天 | 亚洲免费黄色 | 岛国大片免费看 | 首页 动漫 亚洲 欧美 日韩 | 国产福利在线永久视频 | 香港三级午夜理伦三级99 | 在线黄视频 | 青青热在线精品视频免费 | 色吧久久| 国产一区二区在线观看免费 | 亚洲日本一区二区三区高清在线 | 福利国产视频 | 婷婷在线免费视频 | 九九亚洲视频 | 国产成人禁片免费观看视频 | 91精品国产乱码久久久久久 | 午夜精品在线 | 欧美色视频网 | 亚洲人的天堂男人爽爽爽 | 精品国内一区二区三区免费视频 | 国产99在线播放免费 | 欧美激情在线视频播放 | 国产三级网页 | 精品色| 91成人在线 | 久久精品久久久久久久久人 | 午夜色大片在线观看 | 成人免费观看视频 | 色婷婷视频在线观看 | 福利视频专区 | 国产成人ay手机在线观看 | 国产午夜视频在线观看网站 | 黄网站在线观看视频 | 国产成人免费高清视频 | 国产黄色小视频在线观看 | 只有精品| 麻豆91精品91久久久 | 美女黄色免费看 | 欧美一级做 | 美女牲交视频一级毛片 |