加密技术在数据库加密中的应用Word文件下载.docx
《加密技术在数据库加密中的应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《加密技术在数据库加密中的应用Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
![加密技术在数据库加密中的应用Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/12/82813a27-3bdd-44c8-946e-63da2ab5d320/82813a27-3bdd-44c8-946e-63da2ab5d3201.gif)
数据库系统作为信息的聚集体是信息系统的核心,其安全性对整个信息系统来说至关重要,数据库加密技术成为保障数据库系统安全的基石。
2、加密技术
加密技术主要是为了能够有效地保护数据的安全性,下面简单介绍加密技术的概念及主要算法。
2、1加密的概念
对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥就可以,这样就很好的避免了密钥的传输安全性问题。
3、加密技术在数据库加密的应用
加密技术的应用是多方面的,例如电子商务、VPN、数据库系统等,下面主要介绍加密技术在数据库加密中的应用。
3、1数据库加密的特点
数据库是大量、持久、结构化数据的集合,数据的存储、管理和使用都有自身特点,不适合像一般文件存储加密那样对整个文件加密。
与传统的数据加密技术相比,数据库存储加密系统有自身的特点和要求。
构建数据库有两种基本方式:
硬件平台是通用计算机系统,即数据库专用计算机,数据库直接构建在磁盘上;
软件平台是通用的操作系统。
数据库存储加密的主要目的是按照用户的要求将敏感数据加密存储,防止非法用户采用其他手段获取数据,同时保证合法用户通过数据加密系统仍然能够正常访问数据。
因此,数据库存储加密系统的开发原则应该是:
安全,高效,保持数据库特点。
3、1、1快速随机存取
虽然数据库中的数据最终是以文件形式存储在物理介质上,却不能将整个数据作为一个文件来加密。
一般情况下,文件是作为一个整体来使用的。
传统的文件存储加密从头至尾顺序执行,访问加密文件时再从头至尾进行解密。
而数据库操作最小单位是一个数据元素,该元素是数据库文件中随机的一段;
同时,数据库文件较为庞大,如果每次访问数据库都一次全文加/解密,则执行速度很慢,以致数据库实际不可用。
因此数据库加密必须解决对数据库文件快速随机存取问题和最小操作粒度的数据加/解密问题。
为了快速的查询、更新数据,数据库管理系统通常有一系列快速随机存取的方法,这些方法的实现基于存储数据的模型和描述应用数据的元数据。
关系数据库中,组织存储数据的模型就是系统表。
系统表是保证数据库管理系统正常工作的数据信息。
关系数据库所使用的关系语言是高度的非过程化的,用户不必请求数据库管理员为其建立特殊的存取路径,存取路径的选择是由DBMS自动完成的。
这是关系数据库的主要优点之一。
因此,在关系数据库存储加密系统中,沿用数据库管理系统对存储数据的定位和维护功能,是实现快速随机存取数据库文件的一个好办法。
3、1、2存储容量
数据库存储数据量大、存储时间长,这给敌方破译加密数据带来一定的有利条件。
因此,数据库存储加密必须采用高强度的算法,同时要保证密钥定期更换。
由于数据存储量大,应尽量避免加密造成的数据长度增加,防止数据库存储容量大幅度膨胀。
3、1、3一次一密
数据库中的数据是结构化的。
因此,必须保证加密后的数据仍然是结构化的。
同时,由于数据库中数据的结构化存储,同一字段的数据类型(长度、值域)和逻辑含义相同,这便于破译者分析密文数据结构,获得大量相同密文,从而利用统计规律获得明文。
数据数存储加密也应采取“一次一密”。
因此,这里的“一次一密”与传输加密的一次一密不同,是指每个加密单位采用不同的密钥。
对于实现最小操作粒度的加密来说,就是一个数据元素一个密钥。
保证即使明文中同段值重复出现,对应的密文也各不相同。
3、2数据库加密的方法
3、2、1加密粒度的选择
数据库加密的粒度一直是一个令人困扰的问题。
一般来讲,数据库加密的粒度可以有三种:
表、记录和数据项。
(1)表级加密:
表级加密是在表一级进行加密,加密解密的对象是整个表。
这种加密方法完全是照搬操作系统中文件的加密方法,用于数据库的加密显然是不合适的。
(2)记录级加密:
记录级加密是在表一级上进行,即记录加密方法。
它将数据库中的记录看成操作对象,统一作加密解密处理。
这种方法比第一种能更好地保证数据的安全,使用时较为方便,但其灵活性不高。
3、2、2加密算法的选择
密码算法在早期有序列算法,移位算法等。
当前,加密技术通常通常分为两大类:
“对称式”和“非对称式”。
如DES就是一种对称密钥算法,而RSA是一种公开密钥算法。
选择合适的加密算法是很重要的,其加密强度应能满足系统安全需要,但要考虑加密结果是否符合数据约束条件,存储会不会造成额外负担;
对加密速度的要求则是不应该对系统性能产生明显影响,响应时间越短越好。
同时,对应用系统的用户来说,数据库加解密过程应该是透明的,不能影响合法用户的正常操作。
数据库加密要求加密效率要尽可能的高,以DES算法为代表的对称密钥加密算法则是简单高效,适合进行数据库加密,不过由于DES密钥长度过短,随着计算机运算能力的增强和密码分析技术的发展,DES将会由AES替代。
而以RSA算法为代表的公开密钥加密算法加密强度较高,但算法复杂,效率较低,但由于它的非对称加密的特点,可以用它来对AES加密的密钥进行加密保护,这样用户只要保证自己的私钥安全,在保证加密信息安全性的同时,大大简化了加密数据库的密钥管理。
3、2、3数据类型的转换
数据库中的数据是以结构化方式存储的,各种类型的数据有其特定的格式、长度、值域。
如果要将加密后的数据仍然存储在原来的表(简称明表)中,则必须保证加密后数据的格式、长度、值域都仍然保持不变。
这样的要求对于加密算法来说是难以达到的。
于是我们将各种类型的数据以统一的格式加密,并存储在一张表(简称密文表)中,对数据进行查询和更新操作时,再将密文表中所操作的各字段数据根据加密字典“属性信息表”中相应的类型进行转换。
3、2、4密钥的管理
数据库具有高度共享的特点,数据库中数据信息长期存储,反复加密解密,相应地密钥也需要长期存储,宜采用共享密钥机制。
数据库加密的主要目的在于防止非法用户通过非法途径获得明文数据,而仍要保证任何合法用户可以通过合法渠道获得解密数据。
所以,密钥共享机制一方面要求加密算法的绝对保密和一定的强度,另一方面则要求密钥的共享是一定范围和程度的,不是任何人都可以无条件地获得密钥。
1、密钥管理体制应该具备的特性
首先,密钥难以被窃取。
其次,一定条件下窃取了密钥也是没有用的,密钥的使用范围和时间有一定的限制。
再者,密钥的分配和更换过程对用户透明,用户不一定要亲自掌管密钥。
2、密钥管理方式
层次化的密钥管理方式,用于数据加密的工作密钥需要动态产生:
工作密钥由上层的加密密钥进行保护,最上层的密钥称为主密钥,是整个管理系统的核心;
多层密钥体制大大加强了密码系统的可靠性,因为用得最多的工作密钥时时更换,而高层密钥的数量有限,使得破译的难度大大提升。
3、3数据库加密的局限性
数据库加密技术在保证安全性的同时,也给数据库系统的可用性带来一些影响
3、3、1系统运行效率受到影响
加密技术带来的主要问题之一是影响效率。
为了减少这种影响,一般对加密的范围做一些约束,如不加密索引字段和关系运算的比较字段等。
3、3、2对数据的SQL语言及SQL函数受到制约
SQL语言中的Group
by、Order
by及Having子句分别完成分组和排序等操作,如果这些子句的操作对象是加密数据,那么解密后的明文数据将失去原语句的分组和排序作用。
另外,DBMS扩展的SQL内部函数一股也不能直接作用于密文数据。
3、3、3难以实现对数据完整性约束的定义
数据库一般都定义了关系数据之间的完整性约束,如主/外键约束及值域的定义等。
数据一旦加密,DBMS将难以实现这些约束。
3、3、4密文数据容易成为攻击目标
加密技术把有意义的明文转换为看上去没有实际意义的密文信息,但密文的随机性同时也暴露了消息的重要性,容易引起攻击者的注意和破坏,从而造成了一种新的不安全性。
加密技术往往需要和其他非加密安全机制相结合,以提高数据库系统的整体安全性。
4、总结
随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,越来越多的资源与信息被放入数据库供大家使用,但随之而来产生了数据的安全问题。
数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要。
关系到企业兴衰、国家安全。
因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为人们探索研究的重要课题之一。
目前除了数据库的安全性以外,最有效的方式就是对数据库内的数据进行加密储存。
这样即使有非法入侵者能进入到数据库窃取到密文数据,由于解密技术相对复杂,他们也不能轻易得到其明文资料,因此能在很大程度上保护数据的安全,可以说数据加密是数据安全的最后一道防线,也是最后可用的安全手段。
数据库加密技术作为一种对数据进行安全保护的有效手段,将起到越来越重要的作用。
数据纠错
差错控制方式基本上分为两类,一类称为“反馈纠错”,另一类称为“前向纠错”。
在这两类基础上又派生出一种称为“混合纠错”。
(1)反馈纠错
这种方式在是发信端采用某种能发现一定程度传输差错的简单编码方法对所传信息进行编码,加入少量监督码元,在接收端则根据编码规则收到的编码信号进行检查,一量检测出(发现)有错码时,即向发信端发出询问的信号,要求重发。
发信端收到询问信号时,立即重发已发生传输差错的那部分发信息,直到正确收到为止。
所谓发现差错是指在若干接收码元中知道有一个或一些是错的,但不一定知道错误的准确位置。
图6-1给出了“差错控制”的示意方框图。
(2)前向纠错
这种方式是发信端采用某种在解码时能纠正一定程度传输差错的较复杂的编码方法,使接收端在收到信码中不仅能发现错码,还能够纠正错码。
在图6-1中,除去虚线所框部分就是前向纠错的方框示意图。
采用前向纠错方式时,不需要反馈信道,也无需反复重发而延误传输时间,对实时传输有利,但是纠错设备比较复杂。
(3)混合纠错
混差错控制方式基本上分为两类,一类称为“反馈纠错”,另一类称为“前向纠错”。
混合纠错的方式是:
少量纠错在接收端自动纠正,差错较严重,超出自行纠正能力时,就向发信端发出询问信号,要求重发。
因此,“混合纠错”是“前向纠错”及“反馈纠错”两种方式的混合。
对于不同类型的信道,应采用不同的差错控制技术,否则就将事倍功半。
反馈纠错可用于双向数据通信,前向纠错则用于单向数字信号的传输,例如广播数字电视系统,因为这种系统没有反馈通道。
合纠错的方式是: