首页 > 代码库 > 网络环境中数据加密技术实现与分析

网络环境中数据加密技术实现与分析

 一、前言

  随着全球化进程的不断推进,我国的互联网行业取得了前所未有的发展,信息技术的高度发展,也使得人们的生活发生了巨大的变化。但是互联网存在很多安全问题,网络环境的数据加密技术是确保网络安全的关键技术之一,我们应该加强对数据加密技术的学习。

  二、数据加密技术的历史起源和概念

  密码的起源可能要追溯到人类刚刚出现,并且尝试去学习如何通信的时候,他们会用很多奇妙的方法对数据进行加密。最先有意识地使用一些技术的方法来加密信息的可能是公元六年前的古希腊人,他们使用的是一根叫scytale的棍子。后来,罗马的军队用凯撒密码进行通信,Phaistos圆盘由克里特岛人发明,在世界上最难解的十大密码中,Phaistos圆盘就是其中之一,到现在还没有被破解。数据加密的基本过程就是对原来为明文的数据按某种算法进行处理,就是进行加密,加密之后明文的数据就会变成一段不可识别的代码,这段代码就是密文,只有在输入相应的密钥之后才能显示出原来的内容,通过数据加密可以保护数据不被人非法盗取、阅读,实现数据安全控制和保护的目的。由数据加密的整个过程可以看出,一个完整的加密系统应该包括明文消息、密文、加密密钥和解密密钥、加密算法和解密算法四个部分。而一个完善的加密系统又应该满足以下几个要求。

  (1)加密安全性高。

  (2)解密复杂性高,要使得破解所花费的成本高于破解出来所获得的利益。

  (3)加密的安全性主要依赖于密钥,以加密密钥的保密为基础,不应依赖于算法的保密,算法大多是公开的。

  (4)数据加解密一定要可以用在不同的场合和不同的用户身上。

  (5)好的加密算法应该不会影响系统的运行速度。

  三、数据加密技术简介

  数据加密的过程就是将明文数据按某种算法并使用密钥进行处理即加密,加密之后就变成了一段不可识别的代码,称为密文,要想显示出原来的内容就必须输入相应的密钥。通过这种方法可以达到保护数据不被非法窃取、修改和阅读。这个过程的逆过程为解密,即将该代码信息转化为原来数据的过程。一个完整的加密系统,应该包括以下4个部分:

  (1)明文数据;

  (2)加密后的密文:

  (3)加密、解密设备或算法;

  (4)加密、解密的密钥。

  数据加密算法有很多种,密码算法标准化是信息化社会发展的必然趋势,是世界各国保密通信领域的一个重要课题。按照发展进程来分,经历了古典密码、对称密钥密码和公开密钥密码阶段,古典密码算法有替代加密、置换加密;对称加密算法包括DES、IDEA、3DES和AES等;非对称加密算法包括RSA、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamal等。结合现代加密技术和密码体制的特点,将加密技术分成两种:对称加密和非对称加密技术。

  1、对称加密技术

  对称加密也称为单密钥加密,即加密密钥和解密是同一个,如果进行通信的双方能够确保密钥在密钥交换阶段未曾发生泄露,则可以通过对称加密方法加密信息,安全性取决于密钥的保密。对称加密技术按照加密方式可以分为流加密和分组加密。在流加密中,明文消息按字符逐位加密;在分组加密中,将明文消息分组,逐组进行加密。

  2、非对称加密技术

  非对称式加密又称为公开密钥加密系统,就是加密和解密所使用的不是同一个密钥,称为公钥和私钥,公钥可以公开,不怕别人知道,私钥由用户自己保存。它们两个需要配对使用,否则不能打开加密文件。也就是说,用公钥加密的信息只能用私钥来解密,用于数据加密;用私钥加密的信息只能用公钥来解密,可用于数字签名和身份认证,如发送方A用自己的私钥加密信息,接收方B收到密文后可以拿发送方A的公钥来解密的话,就说明信息是由发送方A发送的。对称式的加密方法很难公开密钥,而非对称式的公钥是可以公开的,可以在网络中安全传输,不怕别人知道,收件人解密时只要用自己的私钥即可,很好地避免了密钥的传输安全性问题。

  四、网络中的数据加密方式

  数据加密可以在网络051七层协议的多层上实现,从加密技术应用的逻辑位置看,主要有链路加密和端对端加密两种方式。

  1、链路加密方式

  面向链路的加密方式将网络看作由链路连接的结点集合,每一个链路被独立的加密。它用于保护通信结点间传输的数据。每一个链接相当于051参考模型建立在物理层之上的链路层。链路加密方式如图1所示:

 

  图1 链路加密方式示意图

  链路加密方式的优缺点如下:

  (1)加密对用户是透明的,通过链路发送的任何信息在发送前都先被加密。

  (2)每个链路只需要一对密钥。

  (3)提供了信号流安全机制。

  (4)缺点是数据在中间结点以明文形式出现,维护结点安全性的代价较高。

  2、端对端加密方式

  端对端加密方式建立在051参考模型的网络层和传输层。这种方法要求传送的数据从源端到目的端一直保持密文状态,任何通信链路的错误不会影响整体数据的安全性。端对端加密方式如图2所示:

 

  图2 端对端加密方式示意图

  在端对端加密方式中,只加密数据本身信息,不加密路径控制信息。在发送主机内信息是加密的,在中间结点信息是加密的。用户必须找到加密算法,决定施加某种加密手段。加密可以用软件编程实现。

  五、数据库加密应考虑的一些问题

  加密技术是提高数据库安全的一个重要手段,但是,它是一把双刃剑,在加密数据的同时,也会带来一些相关问题,如果处理不好,不仅会降低数据库的安全性,而且还会带来其它负面影响“下面小节描述了数据库加密应该注意的一些问题以及进行加密时所采取的适当选择措施”

  1、加密不能代替访问控制

  传统的数据库中,访问控制提供了一种控制用户访问数据的机制,它通过创建用户、授予用户相应权限来实施这种控制,规定只有具有相应权限的用户才能对数据进行相应的操作,否则,则拒绝[75,86,89]。这样一种机制在数据库安全领域发挥巨大作用,目前几乎所有的商用DBMS都提供这种机制来防止非法用户访问数据库,访问控制分为两大类,即自主访问控制(DAC)和强制访问控制(MAC)。在自主访问控制中,用户对信息的访问控制是基于用户的鉴别和访问控制规则的确定,每个用户都要给予系统中每个访问对象的访问权限,例如,当一个用户要求访问某个数据库的资源时,系统首先检查该用户对该资源的所有权或者衍生出来的访问权限,如果通过,则允许该访问在许可的方式下被执行。

  2、区分数据库中动态数据加密和静态数据加密

  对数据加密时,应区分两种不同类型的数据,即动态数据和静态数[66,168],因为它们的加密方法是不同的。

  (1)动态数据加密:当数据经过各种网络,从数据库服务器流入客户端,或者从客户端流入数据库服务器,对传输过程的数据加密称为动态数据加密动态数据加密的标准包括SSL(Security Socket Layer),TLS(Transport Layersecurity)和IPSEC(secure Internet Prtcol),许多商用DBMS采用SSL标准,传输数据时,通过SSL通道从客户端和数据库服务器端接收和发送数据SSL采用RSA,RC吸,DES等加密算法。动态数据的加密在会话层实现的,网络中传输的信息是加密的,另一方接收后再进行解密。

  (2)静态数据加密:对存储在数据库服务器中的数据进行加密,在本文中也称为存储数据加密相对于动态数据加密,静态数据加密的研究较少,本文将对数据库中字符型和数值型两种主要数据类型的加密进行研究。

  六、结束语

  随着当代信息技术的快速的发展,互联网得到了迅速的发展。在这个日新月异的时代,网络安全越来越成为人们关注的重点问题。我们应该在掌握数据加密技术的基础上,加强网络安全的意识,使网络能在一个相对安全的环境下发展。