隔墙有耳之数据在传输中的安全

你们如今都知道数据在传输的过程当中很容易会被别人获得,若是咱们的数据是明文传输的,那么你就很是不幸了,数据就会被别人一览无遗,那怎么作到数据在传输的时候是密文呢?
下面俺来介绍一下进行数据在传输中的加密
都知道在传输过程当中的加密方式有对称加密、非对称加密、证书加密,如过在大量的数据传输时用证书或非对称加密时很是耗资源的,用对称加密又不是很安全那怎么办呢?
在加密的时候有加密的体系进行保护的,加密体系是:一、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~
相关文章
相关标签/搜索