数据加密技术在计算机安全中的运用
2021-03-07张艳艳王焕博
◆张艳艳 王焕博
(黑龙江工程学院 黑龙江 150001)
数据加密技术划分为两种类型,一种是对称加密技术,另一种则是非对称加密技术。但无论如何,新的算法和技术手段的应用目的是为了保障数据的安全性和稳定性,通过技术手段将密文转换为可以理解的明文。
1 数据加密技术原理和技术方法
1.1 数据加密技术原理
将原始且未经过修改的信息称为明文,将经过信息处理后的信息称为密文,则从明文到密文的过程就是我们所说的数据加密过程。通常情况下,要达成这一目标需要通过相应算法的支持而完成。反之,从密文到明文的恢复过程就是解密过程,也是需要通过解密算法来实现。发送方将明文转换为密文发送给接收方,接收方经过解密将密文再转换为明文,然后将解密后的明文再次加密发回给发送方,以此为基础形成循环。在加密时我们使用的加密密钥会在空间内随机选择,如果只用一个密钥,那么这一过程就是使用密钥的对称加密技术。无论是哪种类型的加密技术,整个密码系统的功能和特性都表现得非常显著,一是具有良好的辨识性,密码系统除了可以对保密性进行判断之外,还可以确保接收到的信息合理、合法,从而进行有效的身份识别。此外,这些信息通常是比较完整的,不会被恶意破坏或是篡改。接收方接收消息环节会涉及两个方面的要求,一是算法要求,二是密钥要求。加密算法本身是将可以进行调整的明文通过和密钥的技术处理措施生成外人看不懂的密文,密钥本质上也可以被认为是算法的一种特殊表现形式,其在程序中被封装成为类库之后再被调用。现代社会的数据量庞大,加密过程更加重要,因此,如何建立有效和科学的体系机制来维持计算机信息安全仍然任重道远。
1.2 数据加密技术方法
由于网络当中的通信过程比较烦琐,加密技术应用也比较多,因而通常使用的加密技术方法包括三个方面:
1.2.1 链路加密措施
链路加密措施即在线加密方法,通过提供一个安全的链路来保障节点和节点之间的数据传输具备安全性和保密性。因此在进行数据传输之前我们会对相应的数据进行加密,然后再进行传输,如此反复让数据达到最终的接收点。在这一过程中涉及大量的链路节点传输,而数据信息和理由信息都是以密文的形式传递,在安全性上更加突出[1]。
1.2.2 节点加密措施
节点加密和链路加密在技术原理上比较接近,都是为安全性而采取的技术手段,即在链路上对数据安全进行管理。但链路加密本身存在着一些缺陷,即中间节点的数据是以明文的形式存在的,这可能会由此泄漏关键的信息内容。我们可以考虑使用不同类型的密钥对其进行加密,不过节点加密环节路由信息是明文,同样有受到攻击的风险,采取节点加密措施和链路加密措施共同配合的方法也现实存在。
1.2.3 端对端加密措施
这种加密方式从数据源端直到目的端,整个传输过程的数据都是以保密状态存在,以密文的方式进行传输,即便路由信息出现变化也不会导致数据被泄漏甚至被破坏。另外,端对端加密措施只是对我数据信息的加密,不是对路径信息进行加密,与前两种加密技术相比,成本消耗也比较低,在一些小型个人用户当中应用得比较广泛。但无论如何,网络数据传输环节都会有一部分信息未经过处理的现象,因此还需要进行后续的技术处理。
1.2.4 数据签名
数字签名的意义在于让签名者对电子文件签名,这样验证者便无法对文件进行恶意篡改。信息发送方通过技术处理方式获得其他人都无法伪造的信息来源之后,可以将固定长度的二进制数作为信息摘要,加密处理完毕后将签名和文件一起发送。采用单向函数时,给定固定长度的字符串很难寻找到相对明确意义的消息,但是在经过签名分类之后,接受者可以直接获取签名消息而不需要第三方的验证过程。换言之,现有的显式数字签名可以将功能判定为普通签名和特殊签名,在安全性上比较突出。
即便在一个群体内部,群体当中的成员也可以以整个群体的名义展开数字签名,验证者直接确定签名者的身份,完成密钥分配。如果有n 个成员,那么密钥划分为n 份,某个私钥由n 个部门管理,并且可以完成密钥重构。总而言之,对称密钥密码机制和公开密钥密码机制可以详细地说明安全应用标准,并且可以实现在未来的电子商务、政务工作环节的系统化应用,在价值上非常突出。此外,文件加密系统所用到的算法、链接类型等也可以进行针对性探索,实现内容上的优化。
2 加密算法
2.1 DES 算法
DES 算法即数据加密标准,是一种对称式加密算法,在对明文展开加密管理之前会将所有的明文进行划分,让每个组的长度为64位,之后再对每一组的二进制数据进行加密处理,最终得到一组64位长的密文,将每组的密文拼接之后得到最终的密文。这里会涉及几个方面的内容,一是吹了的数据信息,二是根据算法而挑选的密钥类型,三是运行阶段mode。工作模式为加密状态时可以利用实现设定的密钥对明文进行处理,将其生成密文并进行输出;反之在工作状态为解密模式时可以对设定好的密钥进行技术处理,产生正确信息并进行输出,数据在最终发送之前可以利用DES 算法进行加密,将加密完成的信息传输至需要的位置[2]。
2.2 RSA 算法
RSA 算法拥有双钥,是典型的非对称密码体制。RSA 算法会先生成一个包含公开密钥和私有密钥的密钥对,前者是所有人都可以公开得到的密钥类型,后者则是私有的,仅仅属于发布者的密钥,得到密钥也无法计算出私钥,在一定程度上保障了数据的安全性,且RSA密钥长度一般较长,可靠性良好,将其设置为1024 位较为常见。从技术优势来看,RSA 算法简单易操作,不仅可以用于加密,在数字签名方面也可以发挥稳定的效果,截至目前具有非常稳定的安全性。但是我们要考虑到密钥长度过长对于文件的影响,因而在一般情况下RSA 会被作为小型文件的加密措施[3]。
2.3 MD5 算法
MD5 算法的作用是为了保障信息和资料的稳定传送,例如我们生成文档信息后再生成MD5 数值,如果下载者并不确定文件内容就可以先用MD5 进行验证,在数值一致时说明文件是安全的。MD5算法具有不可逆性,将字节串转换为整数之后,即便密文信息和加密算法被公开,也无法将其转变为原有的数据类型,其对输入信息的长度也没有明显要求,最重要的一点是信息不会被额外窃取。
3 文件加密系统的应用程序设计
3.1 系统整体架构
文件加密系统的服务器以多线程技术进行,这样一来每个用户都可以完成解密过程。如果要提升工作效率,可以将系统划分为不同类型的程序模块(服务器端管理程序、通信程序、客户端应用程序)。管理应用程序负责的是用户数据库和文件管理等,通信应用程序负责共享数据结构管理,客户端应用程序完成文件解密等功能。
3.2 管理服务器应用程序
在这一程序当中打包加密模块作为系统的核心模块,其主要作用在于利用AES 算法对文件加密操作,然后将文件ID 与密文信息按照一定的顺序写入后让客户端下载。AES 加密算法本质上是分组算法,所以在加密环节会以16 字节单分块加密,系统在加密的同时会使用CBC 分组链接模式对字节块展开处理,加密后的密文分组依赖于所有以前的数据分组,特别是在加密同一个文件之时得到的密文是“无规律”的,破译难度更大。
在用户数据管理方面,使用数据库当中的pUser 表,以此对应系统的用户编号、用户名、用户密码等。文件信息管理模块的作用在于维护文件信息数据库并且将过时的文件信息全部删除,使用的是服务器数据库内部pFile 表。更改密码和公钥模块的作用是接收合法用户的密码、信息请求,且模块中实现了改进EXE 协议,目的在于让客户端与服务器可以协同工作,在通信环节定义的规则能够让双方按照协议执行不同类型的模块功能。
3.3 通信服务器应用程序
通信服务器应用程序会负责整个系统的主要功能,包括加密文件密码的安全传送功能。客户端与服务器之间的应用协调工作过程为先接收客户端请求信息,然后在提取用户、文件信息时对用户身份的合法性进行判断(例如用户是否有阅读文件权限)。如果身份合法,满足条件,则将公钥加密文件密码发送给客户端。通信服务器并不需要操作界面,因此可以直接设计为无界面进程,其只具有判断合法用户并发送文件密码的功能。
3.4 客户端应用程序
客户端应用程序实现加密文件的解密、公钥传送、密钥管理等,选择与服务器相同的TCP/IP 可靠通信,应用程序主界面包含文件解密模块和信息更改模块。
3.5 文件加密实现过程
文件加密的实现过程首先要注册ODBC 数据源,ECC 模块生成服务器公钥、私钥后,用户数据管理模块会增加有关系统的用户信息,打包加密模块,打包完成之后将加密信息写入文件信息数据库内部,之后启动通信服务器应用程序正式开始网络通信服务。
客户端应用程序设置好IP 地址与用户名称密码之后向服务器传送公钥,并选择需要解密的文件。
4 结语
数据加密技术的作用显著,在数据内容的保密性和安全性方面可以发挥稳定功能。本次研究也对当前的数据加密技术进行了研究分析,然后围绕不同类型的算法进行了说明。在今后的工作实践当中,还应对基于算法展开系统的功能和稳定性进行测试,最大化地保障数据传输过程时的性能。