李章玲
(江蘇省運河高等師范學校 江蘇 邳州 221300)
計算機網絡安全管理直接影響著社會經濟的發展、產業工業的效益,一旦發生紕漏必然會造成巨大的經濟損失,而數據加密技術能夠在一定程度上避免出現信息泄露,為網絡信息提供更有力的安全保障,進一步提高計算機網絡安全性、可靠性,這也是其能在短時間內被社會接受與肯定的原因,下面對其展開具體論述。
數據加密本質就是使用特定的技術手段,如加密算法等,將簡單易懂的明文經過特殊方式進行處理轉化為非內行人不能破解的密文,這一過程反過來就是解密,具體的數據加密原理模型如圖1所示。

圖1 數據加密原理模型圖
在進行明文加密過程中需要使用密鑰進行密文處理,這一過程根據密鑰的使用類型將其分為使用相同密鑰與使用不同密鑰兩種方式進行的算法,具體如圖2所示。

圖2 相同密鑰與不同密鑰的加密方式
數據加密技術通常可以劃分為對稱(Symmetric)加密技術與非對稱(Asymmetric)加密技術,這些算法始終處于變化發展中,會隨著特定時期、特定環境隨時進行演變與創新發展,最終實現持續性優化[1]。
1.2.1 對稱加密技術
所謂的對稱加密技術,就是加密與解密采用的是同一密鑰的加密算法,即加密密鑰=解密密鑰,這種加密算法在某種程度上會存在羸弱性,這主要是由于數據使用過程中不但要傳輸數據自身,還需要利用某種形式進行密鑰傳輸,極有可能在傳輸中導致密鑰被竊。
1.2.2 非對稱加密技術
與之相對的是非對稱加密技術,即使用的加密與解密密鑰是不相同的,加密密鑰是公鑰,而解密密鑰是私鑰,隱秘性與安全性都相對較高,但這種方式相對較為復雜,所以在性能上會有所損失。
因此,通常情況下人們會選擇較為折中的方式進行明文轉換使用,即利用對稱密鑰加密數據,利用非對稱密鑰加密對稱密鑰。
當前流行的諸多加密算法都是屬于工業級的,如對稱加密算法:IDEA、DES、BLOWFISH、FEAL等,而非對稱加密算法中經典代表就是RSA,這些算法使用時間都較長,且經受住了諸多考驗。
SQL Server能夠提供TRIPLE_3KEY、Triple DES、RC2、RC4、128位RC4、128位AES、192位AES等諸多加密算法。
SQL Server加密方式主要包含以下幾種:
(1)對象定義加密(Object Definition Encryption)
可以在定義 SQL Server對象的時候添加WITH ENCRYPTION 選項來進行加密。如下面的存儲過程USP_Users_GetAll,未使用加密選項打開進行編輯時,可以完全看到它的語句,如圖3所示。
ALTER PROCEDURE [dbo].[USP_Users_GetAll]
AS
SET NOCOUNT ON
SELECT U.UserID AS N'用戶ID', U.FirstName + ' ' + U.LastName AS N'姓名'
FROM Users U WITH (NOLOCK)
但創建時使用了加密選項,再打開時,則會提示該對象已被加密,不可以編輯,這樣保證了對象定義的安全性,如圖3所示。

圖3 已被加密不可編輯
(2)列級加密(Column-Level Encryption, CLE)
用對稱加密方式對數據列進行加密,又可叫做列級加密或單元級加密。實現數據列加密,可以按照以下的步驟去實現:
①打開業務數據庫,創建數據庫的主密鑰,同時創建后,做好數據庫主鑰的備份工作
USE [特定的數據庫名]
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='@#!3668kEy'
②創建證書,以便用它來加密對稱密鑰
CREATE CERTIFICATE Salary2021 WITH SUBJECT = N'工資證書'
③創建對稱密鑰
對稱密鑰可以通過密碼創建,也可以通過其他對稱密鑰、非對稱密鑰和證書創建
CREATE SYMMETRIC KEY SymKey2021 WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE Salary2021 --- 上一步新建的證書名
④打開對稱密鑰和加密數據
OPEN SYMMETRIC KEY SymKey2021 DECRYPTION BY CERTIFICATE Salary2021
UPDATE Users
SET EncryptedSalary = EncryptByKey(Key_GUID('SymKey2021'), CAST(Salary AS NVARCHAR(20)));
查詢加密后的數據如圖4、圖5所示。SELECT

圖4 UserId加密數據

圖5 解密數據顯示Null
UserId,
EncryptedSalary AS '加密數據',
CONVERT(nvarchar, DecryptByKey(EncryptedSalary)) AS ' 解密數據 '
FROM Users;
當不打開對稱密鑰時,執行上面同樣的查詢語句,解密后的數據會顯示為 Null
⑤查詢當前數據庫中現有的證書和密鑰,可以使用下列語句
SELECT * FROM SYS.Symmetric_keys
SELECT * FROM SYS.Certificates
⑥刪除相關的證書和密鑰(不能刪除產品環境的證書和密鑰,即使創建同樣名稱的密鑰和證書,會導致原來加密的數據將無法解密,這是因為每次創建時,所產生的密鑰GUID都不一樣)
DROP SYMMETRIC KEY SymKey2021
DROP CERTIFICATE Salary2021
DROP MASTER KEY
(3)透明數據加密(Transparent Data Encryption, TDE)
透明數據加密,就是加密在數據庫中進行,但從用戶的角度來看就好像沒有加密一樣。和列級加密不同的是,TDE加密的級別是整個數據庫,即通過TDE來保護數據庫。通過以下步驟可以快速實現數據庫的TDE:
①在Master數據庫中創建主密鑰和證書
Use Master
GO
Create Master Key ENCRYPTION BY PASSWORD = '#$%*123ArtY'
Create Certificate TDECert With Subject = 'TDE 證書'
②備份證書,將來可以將它恢復到新的服務器上,以便可以將DTE數據庫恢復到新環境
BACKUP CERTIFICATE TDECert TO FILE = 'D:TempCertificate_CIpace.Cer'
WITH PRIVATE KEY
(
FILE = 'D:TempCertPrivateKeyFile.key',
ENCRYPTION BY PASSWORD = 'CerY830Eiyt' -- 恢復時必須要提供該密碼
);
③在業務數據庫中創建密鑰和打開設置數據庫的加密屬性
Use 【業務數據庫】
GO
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE TDECert -- 前一步創建的證書名稱
ALTER DATABASE 【業務數據庫】SET ENCRYPTION ON
(4)在高可用性組中加入TDE數據庫
加密后的數據庫不能通過向導方式加入可用性組,必須運行相關的SQL語句來實現。當該數據庫已加密時,打開添加數據庫的向導時,會有類似于圖6的結果,說明該數據庫不可選取。

圖6 已被加密數據庫
以下就是將TDE數據庫加入可用性組的全部步驟:
①將前面備份好的證書Certificate_CIpace.Cer和加密文件CertPrivateKeyFile.key 復制到從服務器上,然后在從服務器上先創建一個主密鑰,再用該證書文件生成一個新證書
USE MASTER
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MtK!@#698' --- 主從數據庫的主密鑰可以不一樣
CREATE CERTIFICATE TDECert
FROM FILE = ' D:TempCertificate_CIpace.Cer'
WITH PRIVATE KEY
( FILE = ' D:TempCertPrivateKeyFile.key',
DECRYPTION BY PASSWORD = ' CerY830Eiyt'
);
②在主服務器對TDE數據庫做一個全備份和日志備份,將兩個文件復制到從服務器上
Backup Database [TestDBForDTE] to disk='D: empTestDBForDTE.bak'
Backup Log [TestDBForDTE] to disk='D: empTestDBForDTE.log'
③在從服務器上恢復TDE數據庫,同時在語句中要采用非覆蓋模式
RESTORE DATABASE TestDBForDTE FROM DISK = N'D:TEMPTestDBForDTE.bak'
WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5
RESTORE LOG TestDBForDTE FROM DISK = N'D: empTestDBForDTE.log' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5
④在主服務器上運行SQL語句將TestDBForDTE加入高可用性組
USE MASTER
GO
ALTER AVAILABILITY GROUP ProdSQL2016AG ADD DATABASE TestDBForDTE
⑤在從服務器上運行SQL語句將TestDBForDTE加入高可用性組。在運行下面的語句前,必須要確認高可用性環境的參數設置Seeding Mode,它的值要設為自動方式,否則在從服務器上將TDE數據庫加入高可用性組時,會提示沒有相關的權限。
ALTER DATABASE TestDBForDTE SET HADR AVAILABILITY GROUP = ProdSQL2016AG
若上面的語句都成功執行,當看到以下的結果時,表示該數據庫已添加到高可用性組并且數據同步正常了。
一般情況下,網絡數據管理主要有兩大平臺,即Windows NT與Unix,安全級別通常為C1、C2,兩大管理平臺在管理中不少數據能被較輕易竊取,因此為了有效提高信息管理的安全系數,用戶能夠采取訪問權限設定、口令設定等多種方式對網絡數據庫進行安全設定。
一旦發現殺毒軟件受到病毒感染,就需要即刻停止對此程序進行的加密措施,必須要確保加密文件經過全方位檢測,保證加密軟件的正常運轉,且未受到病毒的感染,然后再實施相應地加密執行操作[2]。
企業數據在任何時候,都是企業生存發展的主命脈,尤其是對于前期資產投入較大的動漫等企業,這些企業不僅要注重產品的上市、銷售等情況,還需要特別關注動漫設計與上市各個環節中的知識產權、動漫設計數據等保護情況,對于資料等的加密保護要求等相較于普通企業要更高[3]。所以要對動漫等企業實施獨特加密技術,從根本上保證加密方法的絕對、唯一性,保證加密后的影視文件等僅在企業內部正常使用,所有設計師的電腦,不管其是否處于編輯運行狀態,都實時加密[4]。
近年來隨著現代信息技術的普及與推廣,網絡行業始終呈現向好發展態勢,在生活的方方面面對人們產生了影響。在確保網絡安全的情況下,電子商務確實給人類生活創造了更多便利條件,在產業發展中也發揮著巨大的作用,這在無形中使網絡環境安全為電子商務的發展奠定了基礎[5]。
目前,大部分大中型規模企業在實踐中都會創建內部局域網,因為企業的不同分支、子公司所處位置可能存在跨區域、跨省份等情況,所以就需要通過專門的網絡線路使不同區域的局域網絡實現有效連接,創建企業內部局域網,這就必然會涉及虛擬專用網絡VPN信息的安全問題[6]。在虛擬網絡中,數據從傳輸端傳送出去后,VPN會通過網絡路由器對數據展開加密,使數據進行密文轉化后完成網絡傳輸,在抵達接收端時再通過相應的路由器自動進行數據的解密處理,借助VPN專用網絡,數據的接收者就能接收到完整的數據信息[7]。
綜上所述,數據加密技術屬于計算機網絡中較為普遍的數據處理技術,能通過多種數據處理方式、算法實施數據的加密處理,將其進行充分應用,能夠最大限度確保網絡數據的可靠性、穩定性、安全性以及完整性,對于計算機網絡安全防控水平的提升有非常重要的意義。