隔牆有耳之數據在傳輸中的安全

你們如今都知道數據在傳輸的過程當中很容易會被別人獲得,若是咱們的數據是明文傳輸的,那麼你就很是不幸了,數據就會被別人一覽無遺,那怎麼作到數據在傳輸的時候是密文呢?
下面俺來介紹一下進行數據在傳輸中的加密
都知道在傳輸過程當中的加密方式有對稱加密、非對稱加密、證書加密,如過在大量的數據傳輸時用證書或非對稱加密時很是耗資源的,用對稱加密又不是很安全那怎麼辦呢?
在加密的時候有加密的體系進行保護的,加密體系是:一、windows級別
二、SQL服務器級別(服務器主密鑰)
三、SQL數據庫級別(數據庫主密鑰)
好比:windows級別保護SQL服務器級別而SQL服務器級別保護數據庫級別,數據庫級別會保護對稱加密、非對稱加密、證書加密,咱們還可讓證書保護非對稱加密再保護對稱加密。這樣是否是很安全啊!!!
服務器主密鑰是不能手動刪除或建立的,默認狀況下服務器主密鑰直接保護數據庫主密鑰,不用設置。若是服務器主密鑰被破壞了咱們怎麼辦呢?咱們能夠對服務器主密鑰進行加密,破壞了能夠直接還原。
咱們來抓包看一下,插入一條記錄,利用抓包器看能不能把咱們的信息抓到。
clip_p_w_picpath002
是能夠抓到的,由於是明文傳輸的。
clip_p_w_picpath004
咱們在服務器上安裝一下證書,而後設置一下在如圖:
79
而後如圖設置,右擊屬性
80
把否改成是,選上咱們申請的證書就OK了
  60
利用證書加密後,在傳輸數據的時候就再也不是明文了,這樣就不會怕數據丟失了,就算獲得了他沒有咱們的證書同樣不能打開咱們的數據。
在上面說了服務器主密鑰是不能手動刪除或建立的,可是咱們是能夠備份和還原的,下面來看關於服務器主密鑰的一下特色介紹。
咱們先來看看服務器主密鑰的備份與還原,與之前備份大體差很少。
備份
backup service master key to file='c:\bak\smk.key' encryption by password='Ccjsj1200'(備份到C盤並在還原時須要的口令)
restore service master key from file='c:\bak\smk.key' decryption by password='Ccjsj1200'(用口令進行還原)在還原的時候由於咱們的服務器主密鑰沒有損壞因此提示:(新舊主密鑰徹底相同。不須要從新加密數據)。如圖:
clip_p_w_picpath006
下面咱們看數據庫主密鑰,它是須要咱們手動建立的默認是受服務器主密鑰保護,若是採用默認在數據庫主密鑰下建立對稱與非對稱密鑰是不用手動開啓的,若是把默認的保護給刪除建立對稱與非對稱密鑰時數據庫主密鑰是須要咱們手動開啓的(在建立數據庫主密鑰的時候才用的是128位的3DES密鑰)。
create master key encryption by password='Ccjsj1200'(建立數據庫主密鑰)
顯示當前數據庫密鑰的信息:
select * from sys.databases
select * from sys.symmetric_keys
clip_p_w_picpath008
clip_p_w_picpath010
備份數據庫主密鑰
backup master key to file='c:\bak\msk.key' encryption by password='Ccjsj1200'(備份並設置還原口令)
咱們來刪除數據庫主密鑰並查看是否還存在如圖:
clip_p_w_picpath011
還原數據庫主密鑰並查看信息
restore master key from file='c:\bak\msk.key' decryption by password='Ccjsj1200' encryption by password='Ccjsj1200至關於建立這個數據庫主密鑰時的口令)'
clip_p_w_picpath013
還原是沒有問題的,前面也已經說了它默認是受到服務器主密鑰保護的,那怎麼還刪除服務器主密鑰對它的保護呢?
例:一、在刪除服務器主密鑰對數據庫主密鑰保護以前咱們來建立一個非對稱密鑰看是否須要咱們再啓動數據庫主密鑰?
二、刪除後再建立一個非對稱密鑰看有什麼反應?
是否是跟咱們前面說的同樣呢?好咱們尚未刪除,建立一個非對稱密鑰實驗一下。Go
create asymmetric key asy1(名稱) with algorithm=RSA_2048(加密方式),不刪除咱們能夠直接建立非對稱密鑰,看一下刪除是什麼樣子呢?
clip_p_w_picpath015
alter master key drop encryption by service master key(刪除服務器主密鑰對數據庫主密鑰的保護)
還原服務器主密鑰對數據庫主密鑰的保護的命令是:
alter master key add encryption by service master key
clip_p_w_picpath017
刪除之後報錯了,須要咱們建立一個主密鑰或打開主密鑰,
clip_p_w_picpath019
open master key decryption by password='Ccjsj1200'(打開數據庫主密鑰)
再來建立一下試試
create asymmetric key asy2 with algorithm=RSA_2048是能夠的,與咱們以前說的同樣,在這裏說的怎樣刪除服務器主密鑰對數據庫主密鑰的保護,還有怎麼啓動數據庫主密鑰與建立非對稱密鑰。那怎麼刪除數據庫主密鑰呢?這個簡單跟之前同樣就是
drop master key這樣就OK了。
clip_p_w_picpath021
再來看看證書的的有關信息
正常建立證書
create certificate cer1 with subject='test(描述)',start_date='06-15-2009',expiry_date='06-15-2010'
clip_p_w_picpath023
建立證書並用口令對其保護:create certificate cer2 encryption by password='Ccjsj1200' with subject='test',start_date='06-15-2009',expiry_date='06-15-2010'
clip_p_w_picpath025
咱們建立的兩個證書已經存在了。
clip_p_w_picpath027
查看證書信息
select * from sys.certificates
clip_p_w_picpath029
修改私鑰的口令,
alter certificate cer2 with private key (decryption by password='Ccjsj1200'(舊口令),encryption by password='Ccjsj1200'(新口令))
clip_p_w_picpath031
備份證書,咱們備份時備份它的私鑰與證書
backup certificate cer2 to file='c:\bak\mycer.cer' with private key (file='c:\bak\mypri',decryption by password='Ccjsj1200',encryption by password='Ccjsj1200')
clip_p_w_picpath033
咱們先來查看一下,而後刪除第二個證書,而後再查看一下,第二個證書就沒有了
clip_p_w_picpath035
接下來開始還原證書
create certificate cer2 from file='c:\bak\mycer.cer' with private key (file='c:\bak\mypri',decryption by password='Ccjsj1200'(還原時的口令),encryption by password='Ccjsj1200'(新建的口令))
還原成功後咱們再來查看一下證書
clip_p_w_picpath037
好了證書還原成功了。等着一切都作好之後咱們就不會再懼怕數據被別人在傳輸的時候丟失了。
在傳輸的時候沒有了後顧之憂,那在數據存儲的時候怎麼辦呢?下一篇博文咱們會介紹。請你們光顧哦。O(∩_∩)O~
相關文章
相關標籤/搜索