APP下载

数据加密技术在计算机网络安全中的应用价值浅析

2022-12-21李章玲

信息记录材料 2022年10期
关键词:加密算法加密技术解密

李章玲

(江苏省运河高等师范学校 江苏 邳州 221300)

0 引言

计算机网络安全管理直接影响着社会经济的发展、产业工业的效益,一旦发生纰漏必然会造成巨大的经济损失,而数据加密技术能够在一定程度上避免出现信息泄露,为网络信息提供更有力的安全保障,进一步提高计算机网络安全性、可靠性,这也是其能在短时间内被社会接受与肯定的原因,下面对其展开具体论述。

1 数据加密技术简介

1.1 数据加密技术应用原理

数据加密本质就是使用特定的技术手段,如加密算法等,将简单易懂的明文经过特殊方式进行处理转化为非内行人不能破解的密文,这一过程反过来就是解密,具体的数据加密原理模型如图1所示。

图1 数据加密原理模型图

在进行明文加密过程中需要使用密钥进行密文处理,这一过程根据密钥的使用类型将其分为使用相同密钥与使用不同密钥两种方式进行的算法,具体如图2所示。

图2 相同密钥与不同密钥的加密方式

1.2 数据加密技术种类与分类

数据加密技术通常可以划分为对称(Symmetric)加密技术与非对称(Asymmetric)加密技术,这些算法始终处于变化发展中,会随着特定时期、特定环境随时进行演变与创新发展,最终实现持续性优化[1]。

1.2.1 对称加密技术

所谓的对称加密技术,就是加密与解密采用的是同一密钥的加密算法,即加密密钥=解密密钥,这种加密算法在某种程度上会存在羸弱性,这主要是由于数据使用过程中不但要传输数据自身,还需要利用某种形式进行密钥传输,极有可能在传输中导致密钥被窃。

1.2.2 非对称加密技术

与之相对的是非对称加密技术,即使用的加密与解密密钥是不相同的,加密密钥是公钥,而解密密钥是私钥,隐秘性与安全性都相对较高,但这种方式相对较为复杂,所以在性能上会有所损失。

因此,通常情况下人们会选择较为折中的方式进行明文转换使用,即利用对称密钥加密数据,利用非对称密钥加密对称密钥。

2 加密算法的选择与SQL Server加密

当前流行的诸多加密算法都是属于工业级的,如对称加密算法: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

若上面的语句都成功执行,当看到以下的结果时,表示该数据库已添加到高可用性组并且数据同步正常了。

3 数据加密技术在计算机网络安全中的应用价值

3.1 应用于网络数据库保护数据信息

一般情况下,网络数据管理主要有两大平台,即Windows NT与Unix,安全级别通常为C1、C2,两大管理平台在管理中不少数据能被较轻易窃取,因此为了有效提高信息管理的安全系数,用户能够采取访问权限设定、口令设定等多种方式对网络数据库进行安全设定。

3.2 应用于软件防病毒感染加密

一旦发现杀毒软件受到病毒感染,就需要即刻停止对此程序进行的加密措施,必须要确保加密文件经过全方位检测,保证加密软件的正常运转,且未受到病毒的感染,然后再实施相应地加密执行操作[2]。

3.3 应用于企业资料防盗加密

企业数据在任何时候,都是企业生存发展的主命脉,尤其是对于前期资产投入较大的动漫等企业,这些企业不仅要注重产品的上市、销售等情况,还需要特别关注动漫设计与上市各个环节中的知识产权、动漫设计数据等保护情况,对于资料等的加密保护要求等相较于普通企业要更高[3]。所以要对动漫等企业实施独特加密技术,从根本上保证加密方法的绝对、唯一性,保证加密后的影视文件等仅在企业内部正常使用,所有设计师的电脑,不管其是否处于编辑运行状态,都实时加密[4]。

3.4 应用于电子商务安全护航

近年来随着现代信息技术的普及与推广,网络行业始终呈现向好发展态势,在生活的方方面面对人们产生了影响。在确保网络安全的情况下,电子商务确实给人类生活创造了更多便利条件,在产业发展中也发挥着巨大的作用,这在无形中使网络环境安全为电子商务的发展奠定了基础[5]。

3.5 应用于虚拟专用网络(Virtual Private Network, VPN)安全保障

目前,大部分大中型规模企业在实践中都会创建内部局域网,因为企业的不同分支、子公司所处位置可能存在跨区域、跨省份等情况,所以就需要通过专门的网络线路使不同区域的局域网络实现有效连接,创建企业内部局域网,这就必然会涉及虚拟专用网络VPN信息的安全问题[6]。在虚拟网络中,数据从传输端传送出去后,VPN会通过网络路由器对数据展开加密,使数据进行密文转化后完成网络传输,在抵达接收端时再通过相应的路由器自动进行数据的解密处理,借助VPN专用网络,数据的接收者就能接收到完整的数据信息[7]。

4 结语

综上所述,数据加密技术属于计算机网络中较为普遍的数据处理技术,能通过多种数据处理方式、算法实施数据的加密处理,将其进行充分应用,能够最大限度确保网络数据的可靠性、稳定性、安全性以及完整性,对于计算机网络安全防控水平的提升有非常重要的意义。

猜你喜欢

加密算法加密技术解密
海洋水文信息加密技术方案设计与测试
运用数据加密技术维护网络安全的可靠性研究
炫词解密
解密“一包三改”
炫词解密
数据加密技术在计算机网络通信安全中的应用
混沌参数调制下RSA数据加密算法研究
HES:一种更小公钥的同态加密算法
在计算机网络安全中数据加密技术的应用
基于小波变换和混沌映射的图像加密算法