成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

SQL Server 2005數據加密技術的實際應用

瀏覽:247日期:2023-11-05 12:10:10
本文將從應用程序開發者的角度探討基于SQL Server 2005數據加密特性的應用。

SQL Server 2005數據加密技術

數據用數字方式存儲在服務器中并非萬無一失。實踐證明有太多的方法可以智取SQL Server 2000認證保護,最簡單的是通過使用沒有口令的sa賬號。盡管SQL Server 2005遠比它以前的版本安全,但攻擊者還是有可能獲得存儲的數據。因此,數據加密成為更徹底的數據保護戰略,即使攻擊者得以存取數據,還不得不解密,因而對數據增加了一層保護。

SQL Server 2000以前的版本沒有內置數據加密功能,若要在SQL Server 2000中進行數據加密,不得不買第三家產品,然后在服務器外部作COM調用或者是在數據送服務器之前在客戶端的應用中執行加密。這意味著加密的密鑰或證書不得不由加密者自己負責保護,而保護密鑰是數據加密中最難的事,所以即使很多應用中數據已被很強的加密過,數據保護仍然很弱。

SQL Server 2005通過將數據加密作為數據庫的內在特性解決了這個問題。它除了提供多層次的密鑰和豐富的加密算法外,最大的好處是用戶可以選擇數據服務器管理密鑰。SQL Server 2005服務器支持的加密算法如下:

⑴ 對稱式加密(Symmetric Key Encryption):

對稱式加密方式對加密和解密使用相同的密鑰。通常,這種加密方式在應用中難以實施,因為用同一種安全方式共享密鑰很難。但當數據儲存在SQL Server中時,這種方式很理想,你可以讓服務器管理它。SQL Server 2005 提供RC4、RC2、DES 和 AES 系列加密算法。

⑵ 非對稱密鑰加密(Asymmetric Key Encryption):

非對稱密鑰加密使用一組公共/私人密鑰系統,加密時使用一種密鑰,解密時使用另一種密鑰。公共密鑰可以廣泛的共享和透露。當需要用加密方式向服務器外部傳送數據時,這種加密方式更方便。SQL Server 2005 支持 RSA 加密算法以及 512 位、1,024 位和 2,048 位的密鑰強度。

⑶ 數字證書(Certificate):

數字證書是一種非對稱密鑰加密,但是,一個組織可以使用證書并通過數字簽名將一組公鑰和私鑰與其擁有者相關聯。SQL Server 2005 支持“因特網工程工作組”(IETF) X.509 版本 3 (X.509v3) 規范。一個組織可以對 SQL Server 2005 使用外部生成的證書,或者可以使用 SQL Server 2005 生成證書。

SQL Server 2005 采用多級密鑰來保護它內部的密鑰和數據,如下圖所示:

SQL Server 2005數據加密技術的實際應用

圖1 SQL Server 2005采用多級密鑰保護它內部的密鑰和數據

圖中引出箭頭的密鑰或服務用于保護箭頭所指的密鑰。所以服務主密鑰(service master key)保護數據庫主密鑰(database master keys),而數據庫主密鑰又保護證書(certificates)和非對稱密鑰(asymmetric keys)。而最底層的對稱性密鑰(symmetric keys)被證書、非對稱密鑰或其他的對稱性密鑰保護(箭頭又指回它本身)。用戶只需通過提供密碼來保護這一系列的密鑰。

圖中頂層的服務主密鑰,安裝SQL Server 2005新實例時自動產生和安裝,用戶不能刪除此密鑰,但數據庫管理員能對它進行基本的維護,如備份該密鑰到一個加密文件,當其危及到安全時更新它,恢復它。

服務主密鑰由DPAPI(Data Protection API)管理。DPAPI在Windows 2000 中引入,建立于Windows的Crypt32 API之上。SQL Server 2005 管理與DPAPI的接口。服務主密鑰本身是對稱式加密,用來加密服務器中的數據庫主密鑰。

數據庫主密鑰與服務主密鑰不同,在加密數據庫中數據之前,必須由數據庫管理員創建數據庫主密鑰。通常管理員在產生該密鑰時,提供一個口令,所以它用口令和服務主密鑰來加密。如果有足夠的權限,用戶可以在需要時顯式地或自動地打開該密鑰。下面是產生數據庫主密鑰的T-SQL代碼示例:

USE EncryptionDB

CREATE MASTER KEY

ENCRYPTION BY PASSWORD = 'UTY6%djzZ8S7RyL'

每個數據庫只有一個數據庫主密鑰。可以用ALTER MASTR KEY語句來刪除加密,更改口令或刪除數據庫主密鑰。通常這由數據庫管理員來負責做這些。

有了數據庫主密鑰,就可以著手加密數據。T-SQL有置于其內的加密支持。使用CREATE語句創建各種密碼,ALTER語句修改他們。例如要創建對稱式加密,可以通過一對函數EncryptByKey 和 DecryptByKey來完成。

數據加密技術應用解析

下面通過實例來探討SQL Server 2005數據加密與解密技術的實現。

假設有一張Customer 表,表中有字段 customer ID、 name、 city 和各種信用卡細節。其中信用卡細節需要加密而其他數據不需要。假設User1有對稱式密鑰,并用該密鑰登錄,運行相應的代碼加密數據。

⑴ 數據加密

① 產生密鑰:在含有Customers 表的數據庫中使用Triple DES作為加密算法,生成對稱式密鑰。本例中,密鑰本身由已經存在在數據庫中的證書保護,如圖一所示,對稱密碼受非對稱密碼和存在的其他對稱式密鑰保護。

CREATE SYMMETRIC KEY User1SymmetricKeyCert

AUTHORIZATION User1

WITH ALGORITHM = TRIPLE_DES

ENCRYPTION BY CERTIFICATE User1Certificate

② 打開密鑰:對稱式密鑰使用前必須顯式打開,所以接下來打開它,重新找回密碼,解密它,并放它在受保護的服務器內存中,準備使用。

OPEN SYMMETRIC KEY User1SymmetricKeyCert

DECRYPTION BY CERTIFICATE User1Certificate

③ 加密數據:在下面的代碼中,使用正常的T-SQL INSERT語句將一行數據插入表中,id、name和city 用明文保存,信用卡類型、號碼以及有潛在機密的客戶注釋用加密方式儲存,用Triple DES加密算法加密數據。

INSERT INTO Customer

VALUES (4, 'John Doe', 'Fairbanks',

EncryptByKey(Key_GUID(

'User1SymmetricKeyCert'), 'Amex'),

EncryptByKey(Key_GUID(

'User1SymmetricKeyCert'),

'1234-5678-9009-8765'),

EncryptByKey(Key_GUID(

'User1SymmetricKeyCert'),

'Window shopper. Spends $5 at most.'))

加密完成后,關閉它,釋放內存,以防它被誤用。

CLOSE SYMMETRIC KEY User1SymmetricKeyCert

以上是整個的數據加密的操作過程。它沒有混亂的密碼管理,也不用調用特別的算法。儲存加密數據的字段是varbinary類型數據,其長度足以儲存擴展的數據(加密數據比明文需要更多的空間,有時候多很多)。

下圖為對Customer 表運行正常的SELECT * 語句顯示的帶有加密數據的結果:

SQL Server 2005數據加密技術的實際應用

圖2 加密后的數據的查詢結果

⑵ 數據解密

要解密已加密的數據,你需要重新打開對稱式加密。使用DecryptByKey函數讀數據,然后關閉對稱式加密。結果及相應的代碼如下。

OPEN SYMMETRIC KEY User1SymmetricKeyCert

DECRYPTION BY CERTIFICATE User1Certificate

SELECT CustID, Name, City,

CONVERT(VARCHAR, DecryptByKey(CreditCardType))

AS CardType,

CONVERT(VARCHAR, DecryptByKey(CreditCardNumber))

AS CardNumber,

CONVERT(VARCHAR, DecryptByKey(Notes))

AS Notes

FROM Customer WHERE CustID = 4

CLOSE SYMMETRICKEYUser1SymmetricKeyCert

SQL Server 2005數據加密技術的實際應用

圖3 對加密數據進行解密后的結果

這個例子顯示了讓SQL Server 2005為你管理密鑰的一種方法。但實際上,用戶總是選擇自己提供一個口令的方式,用RC4算法產生對稱密碼。代碼如下:

CREATE SYMMETRIC KEY User2SymmetricKeyPwd

AUTHORIZATION User2

WITH ALGORITHM = RC4

ENCRYPTION BY PASSWORD = 'sdylvxF&imeG3FP'

SQL Server 2005產生一個基于用戶提供的口令的密鑰來加密數據。除非明確指定,否則口令不保存在在SQL Server 2005數據庫中,用戶必須保護好自己的口令,否則任何一個知道口令的人都可以解密數據。

假如認為對存儲在數據庫中的數據加密完全是浪費處理器時間和存儲空間那就錯了。SQL Server 2005中的數據加密是一個非凡的特性,它為客戶的數據提供了一個重要的保護層。但應用時要注意,只對那些敏感機密的數據進行保護,因為加密消耗服務器處理器大量的資源,如果對一個有一千萬條記錄的表的每個字段都加密的話,運行一條沒有Where 子句的SELECT 就可能導致服務器性能的徹底崩潰。

標簽: Sql Server 數據庫
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
久久久久久久久97黄色工厂| 91老师国产黑色丝袜在线| 99精品国产99久久久久久白柏| 欧美日本一区二区| 美女视频黄a大片欧美| 午夜在线一区| 亚洲图片欧美综合| 一级成人国产| 亚洲男人天堂av| 精品成人久久| 国产精品久久久久久久久免费桃花 | 国产日韩欧美一区二区三区四区| 亚洲三级电影网站| 亚洲狠狠婷婷| 亚洲精品第一国产综合野| 最新国产乱人伦偷精品免费网站| 亚洲视频网在线直播| 99re66热这里只有精品4| 亚洲欧洲综合另类| 国产午夜精品在线| 午夜久久久久久久久久一区二区| 久久婷婷影院| 人人精品人人爱| 欧美日精品一区视频| 韩日欧美一区二区三区| 欧美日韩和欧美的一区二区| 国产久卡久卡久卡久卡视频精品| 日韩欧美激情四射| 91在线观看下载| 国产精品午夜电影| 一区二区精品国产| 亚洲成人午夜影院| 91行情网站电视在线观看高清版| 免费在线观看视频一区| 欧美日免费三级在线| 国产精品一级片| 久久久噜噜噜久久人人看| 午夜国产精品视频免费体验区| 综合久久久久久| 欧美亚洲三区| 久久成人久久鬼色| 精品国产91九色蝌蚪| 欧美亚洲不卡| 亚洲一区在线看| 91久久线看在观草草青青| 国产高清精品久久久久| 国产清纯美女被跳蛋高潮一区二区久久w| 国产一区再线| 亚洲成a人片在线观看中文| 欧美亚洲动漫另类| av在线一区二区三区| 亚洲同性gay激情无套| 男女av一区三区二区色多| 韩国中文字幕2020精品| 久久久99精品免费观看不卡| 日韩视频三区| 久久精品久久综合| 26uuu亚洲| 99www免费人成精品| 日本欧美一区二区三区| 日韩欧美视频一区| 影音先锋亚洲精品| 麻豆精品在线观看| 久久久久国色av免费看影院| 日韩视频精品在线观看| 蜜臀久久99精品久久久久宅男| 日韩欧美国产综合一区| 欧美午夜视频在线| 国产又粗又猛又爽又黄91精品| 日韩三区在线观看| 国内自拍亚洲| 蜜臀va亚洲va欧美va天堂 | 中文字幕欧美国产| 亚洲制服av| 国产91露脸合集magnet | 亚洲日韩欧美一区二区在线| 国产精品一级久久久| 国产最新精品精品你懂的| 久久久777精品电影网影网 | 青青草原综合久久大伊人精品| 日韩午夜小视频| 尤物精品在线| 欧美一区二区三区免费大片| 亚洲福利一区| 国产精品影视在线观看| 日韩美女视频一区二区| 制服丝袜亚洲网站| 99精品视频免费观看| 国精产品一区一区三区mba视频| 国产精品色眯眯| 欧美日韩高清在线| 亚洲欧洲三级| 国产69精品一区二区亚洲孕妇| 亚洲精品高清视频在线观看| 欧美一区午夜视频在线观看| 国产欧美日韩综合一区在线播放| 国产成人h网站| 亚洲午夜在线电影| 精品国产伦一区二区三区免费| 鲁大师成人一区二区三区| 不卡的av网站| 日产欧产美韩系列久久99| 国产日韩欧美不卡在线| 在线免费一区三区| 在线精品观看| 风流少妇一区二区| 午夜av一区二区三区| 国产精品久久影院| 日韩精品专区在线影院重磅| 欧美专区18| 激情久久五月| 成人丝袜高跟foot| 日本伊人色综合网| 中文字幕色av一区二区三区| 日韩一区二区中文字幕| 国产一区二区高清不卡| 色综合色狠狠天天综合色| 久久精品国产精品亚洲综合| 中文字幕在线不卡| 日韩精品专区在线影院观看| 色婷婷av一区二区三区软件 | 中文在线一区| 91亚洲精品一区二区乱码| 久久国产麻豆精品| 亚洲一区二区三区自拍| 欧美极品美女视频| 欧美一区二区久久| 在线视频一区二区免费| 国产偷自视频区视频一区二区| 欧美在线高清| 国产精品一区二区三区乱码| 亚洲成人av福利| 国产精品福利电影一区二区三区四区| 555夜色666亚洲国产免| 色先锋aa成人| 国产视频一区三区| 永久久久久久| 欧美激情麻豆| 成人av在线一区二区三区| 国内精品久久久久影院薰衣草 | 男人天堂欧美日韩| 亚洲视频中文| www.激情成人| 国产精品综合在线视频| 日韩福利电影在线观看| 一二三区精品视频| 亚洲欧洲综合另类在线| 中文字幕一区二区三区色视频 | 欧美日韩的一区二区| 久久久青草婷婷精品综合日韩| 亚洲精品一级| 国产综合网站| 欧美日韩系列| 午夜视频精品| 欧美国产激情| 成人福利在线看| 成熟亚洲日本毛茸茸凸凹| 国产在线播放一区| 激情图区综合网| 狠狠色狠狠色合久久伊人| 蜜桃av噜噜一区二区三区小说| 婷婷丁香久久五月婷婷| 亚洲大片一区二区三区| 亚洲成人777| 日本在线不卡视频一二三区| 天天色天天爱天天射综合| 首页国产欧美久久| 亚洲成人av中文| 日韩精品久久久久久| 日本欧美在线观看| 日本视频一区二区| 精品在线你懂的| 国产高清精品网站| 成人午夜激情在线| www.色精品| 欧美全黄视频| 在线日韩视频| 国产日韩欧美精品| 久久青青草原一区二区| 日本韩国视频一区二区| 欧美视频在线观看一区| 欧美久久久久中文字幕| 日韩一区二区视频在线观看| 欧美成人精精品一区二区频| 精品国产伦一区二区三区观看方式| 精品国产一区久久| 国产精品色婷婷久久58| 一区二区三区在线看| 视频在线观看一区| 国产在线精品视频| www.日韩精品| 亚洲高清自拍| 久久久99爱| 欧美日本乱大交xxxxx| 欧美一级免费大片| 久久久久国产精品麻豆ai换脸| 综合中文字幕亚洲| 五月天视频一区| 国产毛片精品国产一区二区三区| 成人av集中营|