APP下载

浅谈信息技术的数据加密技术

2022-07-06李子涵

客联 2022年10期
关键词:数据加密密钥网络安全

李子涵

摘 要:现在随着网络技术和信息技术的飞速发展,大量的信息可以直接通过网络传输,如网上银行的转账、支付、账户管理,以及电子邮件传递双方的信息等,这些过程如果没有数据加密技术,那就存在着信息被窃取的风险,造成个人或企业的损失。

关键词:数据加密;密钥;网络安全

数据加密技术是为网络安全的需要而应运产生的,是保护信息安全的一种方式。现在随着网络技术和信息技术的飞速发展,大量的信息可以直接通过网络传输,如网上银行的转账、支付、账户管理,以及电子邮件传递双方的信息等,这些过程如果没有数据加密技术,那就存在着信息被窃取的风险,造成个人或企业的损失。

一、数据加密的基本概念和一般原理

1、基本概念。数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”。其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

2、是未加密的报文,也称明文,用P表示;二是加密后的报文,也称密文,用Y 表示;三是加密解密算法E,D;四是加密解密的密钥Ke,Kd。发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。其数学表达式可以写成:P=Dkd(Kd,Eke(Ke,P))。如果传输中有人窃取,也只能得到无法理解的密文,从而对信息起到保护作用。

一个完善的加密技术应该满足以下5个基本性能要求:一是必须提供高强度的安全性。二是具有高强度的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解、掌握和推广应用。三是安全性应不依赖于算法的保密,其加密的安全性仅以加密密钥的保密为基础。四是必须适用于不同的用户和不同的场合,加解密变换必须对所有密钥均有效。五是理想的加密算法应该对系统性能几乎没有负面影响。

二、数据加密技术的分类

目前使用的数据加密技术在密码学上分为2类: 对称密码加密体制和公钥密码加密体制。

1、对称密码加密体制。该体制对应的是对称密码算法。对称密码算法主要用于保证数据的机密性, 通信双方在加密/解密过程中使用它们共享的单一密钥。在对称密码加密体制中, 对信息的加密和解密都使用相同的钥, 也就是说一把鑰匙开一把锁。这种加密方法可简化加密处理过程, 信息交换双方都不必彼此研究和交换专用的加密算法。如果在交换阶段私有密钥未曾泄露, 那么机密性和报文完整性就可以得到保证。

2、公钥密码加密体制。该体制对应的是公开密钥算法, 也叫非对称算法。公开密钥算法广泛应用于身份认证、数字签名等信息交换领域, 通信双方在加密/ 解密过程中使用不同的密钥。在公钥密码加密体制中, 对信息的加密和解密使用不同的密钥, 密钥被分解为一对( 即公开密钥和私有密钥) 。这对密钥中任何一把都可以作为公开密钥( 加密密钥) 通过非保密方式向他人公开, 而另一把作为私有密钥( 解密密钥) 加以保存。公开密钥用于加密, 私有密钥用于解密,私有密钥只能由生成密钥的交换方掌握, 公开密钥可广泛公布, 但它只对应于生成密钥的交换方。这种加密方法可以使通信双方无须事先交换密钥就可以建立安全通信。

三、密钥的管理

密钥既然要求保密,这就涉及到密钥的管理问题,管理不好,密钥同样可能被无意识地泄露,并不是有了密钥就高枕无忧,任何保密也只是相对的,是有时效的。要管理好密钥我们还要注意以下几个方面。

1、密钥的使用要注意时效和次数。如果用户可以一次又一次地使用同样密钥与别人交换信息,那么密钥也同其它任何密码一样存在着一定的安全性,虽然说用户的私钥是不对外公开的,但是也很难保证私钥长期的保密性,很难保证长期以来不被泄露。如果某人偶然地知道了用户的密钥,那么用户曾经和另一个人交换的每一条消息都不再是保密的了。另外,使用一个特定密钥加密的信息越多,提供给窃听者的材料也就越多,从某种意义上来讲也就越不安全了。因此,一般强调仅将一个对话密钥用于一条信息中或一次对话中,或者建立一种按时更换密钥的机制以减小密钥暴露的可能性。

2、多密钥的管理。假设在某机构中有100 个人,如果他们任意两人之间可以进行秘密对话,那么总共需要多少密钥呢?每个人需要知道多少密钥呢?也许很容易得出答案,如果任何两个人之间要不同的密钥,则总共需要4950 个密钥,而且每个人应记住99 个密钥。如果机构的人数是1000、10000 人或更多,这种办法就显然过于愚蠢了, 管理密钥将是一件可怕的事情。Kerberos提供了一种解决这个问题的较好方案,它是由MIT 发明的,使保密密钥的管理和分发变得十分容易,但这种方法本身还存在一定的缺点。为能在因特网上提供一个实用的解决方案,Kerberos 建立了一个安全的、可信任的密钥分发中心(Key Distribution Center,KDC),每个用户只要知道一个和KDC 进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。

四、数据加密的实现

使用数据库安全保密中间件对数据库进行加密是最简便直接的方法。主要是通过系统中加密、DBMS(数据库管理系统)内核层( 服务器端) 加密和DBMS 外层( 客户端) 加密。

在系统中加密, 在系统中无法辨认数据库文件中的数据关系, 将数据先在内存中进行加密, 然后文件系统把每次加密后的内存数据写入到数据库文件中去, 读入时再逆方面进行解密, 这种加密方法相对简单, 只要妥善管理密钥就可以了。缺点是对数据库的读写都比较麻烦, 每次都要进行加解密的工作, 对程序的编写和读写数据库的速度都会有影响。

在DBMS内核层实现加密需要对数据库管理系统本身进行操作。这种加密是指数据在物理存取之前完成加解密工作。这种加密方式的优点是加密功能强, 并且加密功能几乎不会影响DBMS的功能, 可以实现加密功能与数据库管理系统之间的无缝耦合。其缺点是加密运算在服务器端进行, 加重了服务器的负载, 而且DBMS和加密器之间的接口需要DBMS开发商的支持。

在DBMS外层实现加密的好处是不会加重数据库服务器的负载, 并且可实现网上传输, 加密比较实际的做法是将数据库加密系统做成DBMS的一个外层工具, 根据加密要求自动完成对数据库数据的加解密处理。采用这种加密方式进行加密, 加解密运算可在客户端进行, 它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密, 缺点是加密功能会受到一些限制, 与数据库管理系统之间的耦合性稍差。

数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序, 另一个是数据库加解密引擎。数据库加密系统将用户对数据库信息具体的加密要求以及基础信息保存在加密字典中, 通过调用数据加解密引擎实现对数据库表的加密、解密及数据转换等功能。数据库信息的加解密处理是在后台完成的, 对数据库服务器是透明的。

按以上方式实现的数据库加密系统具有很多优点: 首先, 系统对数据库的最终用户是完全透明的, 管理员可以根据需要进行明文和密文的转换工作; 其次, 加密系统完全独立于数据库应用系统, 无须改动数据库应用系统就能实现数据加密功能; 第三, 加解密处理在客户端进行, 不会影响数据库服务器的效率。

数据库加解密引擎是数据库加密系统的核心部件,位于应用程序与数据库服务器之间, 负责在后台完成数据库信息的加解密处理, 对应用开发人员和操作人员来说是透明的。数据加解密引擎没有操作界面, 在需要时由操作系统自动加载并驻留在内存中, 通过内部接口与加密字典管理程序和用户应用程序通信。数据库加解密引擎由三大模块组成:加解密处理模块、用户接口模块和数据库接口模块。

参考文献:

【1】周明;浅谈计算机安全技术之数据加密技术[J];科协论坛;2010年的10期

【2】许熠;孙一戈;杨欢驰;浅谈计算机信息数据的安全与加密技术[J];科技研究;2018年第09期

猜你喜欢

数据加密密钥网络安全
密码系统中密钥的状态与保护*
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
大数据时代个人隐私的保护
AES和RSA混合加密技术在网络数据传输中的应用
云数据存储安全关键技术研究
一种基于虚拟专用网及数据加密技术的企业财务会计记录直报系统的实现方案