数据库加密模型研究

2024-10-18

数据库加密模型研究(精选9篇)

数据库加密模型研究 篇1

摘要:信息安全的核心就是数据库的安全,也就是说数据库加密是信息安全的核心问题。数据库数据的安全问题越来越受到重视,数据库加密技术的应用极大地解决了数据库中数据的安全问题。本文主要就数据库加密技术方法和实现进行简要地概述。

关键词:数据库,加密,算法,系统,密钥

0 引言

随着网络技术的不断发展及信息处理的不断增多,巨量级数据扑面而来。无论对于银行、电力、统计局、保险公司,还是其它一些数字、数据密集型企业来说,数据的重要性日益凸现,从而使数据安全问题变得非常显著。因此,如何有效地保证数据库系统的安全,实现数据的保密性、完整性和有效性,已经成为目前关注的一个话题。因此,要想提高数据库数据及服务器文件的安全性,数据库加密及文件加密策略应是最佳选择,它们也是网络安全的最终解决方案。

1 数据库加密的特点

对数据库中数据加密是为增强普通关系数据库管理系统的安全性,提供一个安全适用的数据库加密平台,对数据库存储的内容实施有效保护。它通过数据库存储加密等安全方法实现了数据库数据存储保密和完整性要求,使得数据库以密文方式存储并在密态方式下工作,确保了数据安全。

一般而言,一个行之有效的数据库加密技术主要有以下6个方面的功能和特性:

(1)身份认证

用户除提供用户名、口令外,还必须按照系统安全要求提供其它相关安全凭证,如使用终端密钥等。

(2)通信加密与完整性保护

有关数据库的访问在网络传输中都被加密,通信一次一密的意义在于防重放、防篡改。

(3)数据库数据存储加密与完整性保护

数据库系统采用数据项级存储加密,即数据库中不同的记录、每条记录的不同字段都采用不同的密钥加密,辅以校验措施来保证数据库数据存储的保密性和完整性,防止数据的非授权访问和修改。

(4)数据库加密设置

系统中可以选择需要加密的数据库列,以便于用户选择那些敏感信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以提高数据库访问速度,有利于用户在效率与安全性之间进行自主选择。

(5)多级密钥管理模式

主密钥和主密钥变量保存在安全区域,二级密钥受主密钥变量加密保护,数据加密的密钥存储或传输时利用二级密钥加密保护,使用时受主密钥保护。

(6)安全备份

系统提供数据库明文备份功能和密钥备份功能。

2 数据库密码

应用于数据库加密的加密算法称为数据库密码。目前常用的加密算法可分为三类:

2.1 序列密码体制

这种密码直接对当前的字符进行变换,也就是说,以一个字符为单位进行加密变换。在这种加密体制中,每一字符数据的加密与报文的其它部分无关。例如,直接对明文加上一串同等长度的乱码(也可看成是密钥),只要所用的乱码是随机数且不重复使用,就实现了“一次一密”的加密。从理论上讲,真正实现了“一次一密”的密码是可靠的密码,原则上是不可破译的。这类密码的明文和密文长度一般不变,传递迅速、快捷。其缺点是密码破译人员比较容易得到明密对照双码,便于其进行密码分析,同时乱码的产生和管理比较困难,难以真正做到“一次一密”。该类密码适用于通信领域。

2.2 分组密码体制

应用这类密码时,明文按固定长度分组,对各组数据用不同的密钥加密(或脱密)。这类密码按分组进行加密变换,一个字符数据不仅与密钥有关,而且还与其它字符数据有关,密码分析的穷尽量很大。例如传统的64位分组法,它的穷尽量为264-1,这是一个20位的十进制数,即使用每秒运算万亿次以上的巨型计算机进行攻击,平均穷尽时间也需要数年。当然这仅仅是理论数据,在攻击密码时还有其它约束条件,如文字、数据、环境、规律等信息,所以实际所需的攻击时间要短得多。

在使用分组密码时,对明文尾部不满一个整组的碎片通常采用填充随机数的办法将其扩充为一个整组,然后进行正常加密。由于尾组的扩充,使得密文的长度大于明文的长度。分组密码可用于计算机存储加密,但因为数据库加密后的数据长度不能改变,所以必须改进分组加密算法的使用方法。

2.3 公开密钥体制

这种体制的一个例子是RSA密码。这类密码的共同缺点是加/脱密速度较慢。据报道,这类密码的运算速率仅达到其它密码的千分之一到百分之一。公开密钥体制的密码目前常用于用户认证、数字签名以及密钥传输等,不能适应数据库加密的速度要求。

序列密码和分组密码也称为对称性密码,这类密码加密时用某个密钥加密,脱密时还用这个密钥脱密。公开密钥密码也称非对称密码,这类体制的密码具有两个密钥:公钥和私钥,加密时用公钥加密,脱密时必须用私钥脱密。

数据库加密系统对数据库密码的要求如下:

(1)数据库加密以后,数据量不应明显增加;

(2)某一数据加密后,其数据长度不变;

(3)加/脱密速度要足够快,数据操作响应时间应该让用户能够接受。

改变对分组密码算法传统的应用处理方法,使其加密后密文长度不变,就能满足以上几点要求。这里以数据加密标准DES为例进行说明。

DES是一种对二进制数据进行加密的算法,数据分组长度、密钥长度和输出密文长度均为64位(现在有人主张使用128位),明文经过16轮的叠代、乘积变换、压缩变换等编码过程输出密文。关于DES算法以及它对明文数据进行的复杂操作已经在很多著作中有过详细的描述,这里不再赘述。一个需要注意的问题是对尾部碎片的处理方法。传统的做法是填充数据而使其成为一个整组,这种处理方法会使数据扩张,不适用于数据库加密。为此采用“密码挪用法”来解决这个问题,如图一所示。

在该例中,待加密数据的长度为13。第一整组(1~8码)加密后截取第6~8码的密文与尾部(9~13码)组成一个整组进行加密,加密所得密码接在前一组的第5个密码之后。其中,第6~8码实际上进行了二次加密,在脱密时也应该进行二次脱密。这种方案一方面保证了64位分组加密,同时又保证了数据库加密以后,数据长度不会变化。

3 结束语

数据库是数据管理的最新技术,是计算机科学的重要分支。建立一个满足各级部门信息处理要求的、行之有效的信息系统,也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,数据库技术因现实的需求迅速发展。通过研究,人们认识到数据库安全与保密这一领域研究的重要性和迫切性。在数据库安全和加密技术的研究方面,只是作了一些尝试性的工作,许多细节有待于进一步深入。目前的DBMS对数据库的加密问题基本都没有经过仔细考虑,如果在DBMS层考虑这一问题,那么数据库加密将会出现新的格局。

参考文献

[1]张敏,徐震,冯登国.数据库安全[M].北京:科学出版社,2005.

[2]凌捷,谢赞福.信息安全概论[M].广州:华南理工大学出版社,2007.

[3]刘启军.数据库与信息系统安全[M].北京:电子工业出版社,2001.

[4]杨义先.网络安全理论与技术[M].北京:人民邮电出版社,2003.

[5]冯登国.计算机通信网络安全[M].北京:清华大学出版社,2001.

[6]冯登国.网络安全原理与技术[M].北京:科学出版社,2003.

[7]Nick Galbreath.Internet和数据库加密[M].北京:电子工业出版社,2003.

数据库加密模型研究 篇2

幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86 cpu系列就有一个指令‘xlat’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的`,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。

对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。

与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,slient 可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。

但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用xor操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算(例如模3),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。

数据库加密模型研究 篇3

关键词:计算机数据;数据安全;信息泄露;加密措施

计算机的普及速度之快令人咂舌,计算机网络在人们生活中已经成为不可或缺的一部分,比如网上购物,网上订餐,网上支付等,都成为人们生活中的常见实物,融入人们生活中。但是计算机信息数据安全却一直让人头疼,安全数据被盗,黑客入侵,计算机中病毒等等这些问题,给公司企业、个人都带来了巨大损失。所以网络数据安全保障问题急需得到解决。

一、导致计算机信息数据出现安全问题的原因

计算机已经成为人们生活中储存信息的重要载体,公司企业的重要信息数据也通过计算机进行保存、传送和使用。计算机不仅走进了公司企业,也走进了千家万户,因此,计算机的数据安全成了计算机存储数据中的最大隐患,主要包括人为因素和非人人为因素,这些隐患主要的来源有以下几个方面,首先,來自人为的恶意盗取使用,这个主要发生在和公司企业相关的数据安全上,一些人为了谋个人私利,恶意盗取他人数据,毁坏数据,给他人造成了巨大损失;其次,来自于计算机病毒,计算机本身的防火墙已经难以抵制病毒对计算机数据形成的破坏。

二、计算机信息数据安全需要加密的必要性

1.文化安全领域需要加密的必要性

随着经济的发展和人们生活水平的提高,目前许多领域内已经逐步形成了企业的企业文化和个人塑造的个人形象。企业文化和个人形象是企业和个人传递给社会的一个企业和个人的素质信息,因此安全文化也就显得格外重要,只要数据安全的确保,企业才能得到健康长足的发展,也只有安全文化得以保障,个人才能被中庸,实现自己的人生价值。

2.生产技术领域需要加密的必要性

无论怎样的生产,企业和个人都需要对生产的数据加以保护,如果生产经营出现问题,数据信息泄露,会导致难以预料的后果。所以要加强企业安全生产建设,加强数据管理,给企业生产一个安全的生产空间。网络信息的不断发展,已经急速的应用于生活生产中,企业的拘束安全非常重,一旦出现安全问题,损失将难以预计。只有加强计算机数据安全的管理,通过安全管理来保证计算机数据安全,才能保证生产生活的有序进行。现在更多的企业和个人把信息存储于进算计中保存,由于计算机本身存在一定的漏洞,所以加强计算机安全,需要对其进行加密处理,保证企业和个人的健康发展。

三、针对计算机数据安全提出的合理建议

1.采用安全方便的计算机加密技术

计算机的数据安全已经非常棘手,要对数据安全进行保护必须采用加密数据的办法,因此出现了数据存储加密技术和数据传送加密技术,以及口令密码,他们为计算机的数据安全起着重要作用。接下来就介绍一下数据存储加密技术和数据传送加密技术,以及口令密码。首先介绍数据存储加密技术,这个技术主要是为了防止数据在计算机存储中出现问题,根据实现的方式不同,也可以分为密文存储和存储控制技术,这两种方式都能有效地防止计算机信息数据的安全使用,密文存储技术是通过加密模块的方式来实现的,然而存储控制技术是通过用户权限设置和辨别用户使用合法性的方式来鉴别的。不论是何种保护方式,都对计算机的数据安全起到了一定的保护作用,防止了数据信息的泄露。其次介绍传送加密技术,为了防止数据在传送过程中出现泄露问题,需要对传送数据和传送方式进行加密,所以出现了传送线路加密,和传送端口以及接收端口加密的方式。传送线路加密就是对传送的数据进行加密处理,确保在传送过程中不会出现数据泄露的问题,而传送端口以及接收端口加密是在数据传送的两端对端口进行加密,保障数据在传输开始和接受时不会出现数据泄露问题。最后介绍口令加密技术,通过名称可以想到这个是通过输入口令解密计算机,计算机会对人的声音进行辨别,只用计算机的主任通过口令才能打开计算机,在很大程度上对计算机数据安全进行了保护。

2.避免人为因素盗取数据

在做好计算机非人为因素导致计算机数据泄露的同时,也要做好人为因素破坏计算机数据,导致计算机数据被盗取和恶意使用,给计算机使用者造成巨大损失。所以在使用计算机的时候要加强计算机加密技术的研发,确保计算机数据使用、传送,在各个阶段都保证数据的安全。在进行重大的网上数据操作的时候,要注意周围的人,防止有人恶意窥探,造成不必要的损失。

3.计算机数据管理的确认加密技术

确认加密技术主要是通过对网络安全数据进行共享范围限制实现的,通过这种方法对技术及数据安全进行保护,以防出现数据泄露、篡改、伪造,导致严重的后果。确认加密技术可以防止数据发送者出现问题出现不认账的现象,因为它能够使正常合法的数据接收者检查数据信息的正确性,确保正确数据信息的使用。确认加密技术还有一个功能就是能够防止数据被伪造和冒用。

四、结语

随着信息全球化和网络全球化的快速发展,信息安全成为网络安全的重要的隐患。网络防火墙已经不能满足对网络安全的保护,必须寻找新的途径和方法对网络安全加以保护。因此计算机信息数据的加密技术必须大力推进,对计算机数据进行上锁,对上锁进行确认,在此基础上不断研发新的加密技术,形成完整的加密系统,保护数据的传送和安全使用。以此能够给计算机使用者一个安全的网络环境,保障计算机的数据安全。

参考文献:

[1]祝俊琴,孙瑞. 浅析信息数据的安全与加密技术[J]. 硅谷,2011,06:16.

[2]岳立军. 计算机信息数据的安全与加密技术探讨[J]. 硅谷,2015,03:60-61.

[3]唐瓅. 计算机信息数据的安全与加密技术研究[J]. 计算机光盘软件与应用,2015,03:185-186.

[4]孙建龙. 计算机信息数据的安全与加密技术研究[J]. 电子技术与软件工程,2015,11:227.

数据库加密技术及其应用研究 篇4

有时为了对数据加以保护, 就必须采取一种措施, 使非授权用户查看或修改数据的情况得以有效防止。在信息时代, 信息对于团体或者个人利益而言有着十分重要的意义, 当然信息也是一把双刃剑, 在从中获取利益的同时有受到破坏与威胁的可能。随着社会竞争日益激烈, 公司之间的信息战争越来越频繁, 因此从客观的角度来看, 采取安全保护措施来对机密数据加以保护, 防止其被窃取或篡改有着十分重要的意义。其中数据加密与解密技术是相对简单也是比较容易理解的一中信息安全技术。加密与解密技术的应用相对广泛, 并且掌握起来比较容易, 机密数据能够比较方便的进行加密与解密。

古代的密码学可以说是数据加密技术的来源。密码的具体产生时间到现在也难以确定, 然而随着人类社会的出现, 就有使用密码的情况, 这就是密码学, 换言之人类自拥有文字开始, 密码就诞生了。根据我国的一些文献资料显示, 在战国时期就有使用密码的情况, 特使在送信的过程中, 有时不会采用明文的形式, 而是使用特殊约定的文书, 并将其进行拆分, 并向三个不同的路径向目的地输送, 如此就可以避免文书被截获而导致整体信息内容被识破的问题。而国外对密码的使用, 最早也可以追溯到4000 年, 古巴比伦也曾经对密码有过使用。

随着时间的不断推移, 密码学已经历了几千年的发展史, 随着密码学的发展与应用范围不断扩大, 密码在人类社会中各个领域都有所应用, 包括军事、外交、商业、网络等等。并且信息技术与计算机技术的不断进步, 密码的应用与发展得到了极大的技术支持, 个人网络业务也得到了较快的发展, 信息安全问题成为了认为关注的焦点。尽管密码学已经有了几千年的研究与发展历史, 然而在1949 年前, 密码学的研究在理论与方法上仍然缺乏系统性与综合性, 相关专家在进行研究时更多是以直觉、经验等为依托。

作为保护信息的重要方法之一, 密码学的发展大致分为三个阶段, 其在军事与外交领域中有着较早的应用, 并且基于科学技术的不断进步, 在人们日常工作与生活中密码学逐渐有着广泛的应用。

密码学发展的第一阶段为手工阶段, 此时人类社会在数据加密方面主要采用纸和笔来实现。密码学有着悠久的发展史, 在公元前4000年古巴比伦时代就有人类使用密码的记录。伴随着工业革命的兴起, 密码学进入了第二个阶段, 即机器与电子时代。相比于人手操作, 第二阶段人们开始对电子密码机加以使用, 这种方法的复杂性显然更强, 并且加密解密的效率也有了很大的提升, 其中英格玛就属于最经典的加密技术之一。随着计算机的出现, 高复杂运算的密码的使用得到了极大的技术支持。到了1976 年, 为了与计算机通信和商业保密的要求相适应, 密码学研究中出现了公开秘钥密码理论, 这也使密码学得到了极为重要的突破与发展, 密码学进入了第三阶段, 即近代密码学阶段。近代密码学对古典密码单一的加密手法进行了改进与调整, 将数论、几何以及代数等知识内容融入到密码学中, 使得密码学得到了极大的技术支持。

目前, 世界各国都高度重视密码学的研究与发展, 密码学也随之进入了现代密码学时期, 其研究具有极强的综合性与技术性, 具体包括了物理、量子力学、电子学以及语言学等多个专业, 并且相关先进理论也由此产生, 例如“量子密码”“混沌密码”等等, 这对于信息安全而言有着十分重要的价值与作用。

2 数据库加密应注意的问题

为了使数据库安全性得以有效提高, 对加密技术的应用就具有十分重要的意义。然而, 数据库加密技术的应用也存在一定的问题, 在进行数据加密的过程中, 可能会由于处理不当而导致数据库安全不升反降。并且造成一定的不良影响。因此, 在进行数据库加密的过程中, 应对以下几点问题加以充分的考虑与分析。

2.1 加密不能代替访问控制

传统的数据库中的访问控制向用户提供了一种机制来实现对用户访问数据的有效控制, 这种机制通过用户的创建以及相应用户的授权, 来使控制得以实现。用户只有获取了相应权限, 才能够进行相关的数据操作。在数据库安全领域中, 对这种机制的应用能够有效提高安全性, 现阶段基本上所有的商用DBMS采用的都是这种机制, 能够使非法用户对数据库的访问得到有效的避免。访问控制具体分为自主访问控制与强制访问控制等两类。对于自主访问而言, 用户对信息的访问控制主要是建立在用户鉴别与访问控制规则的基础之上, 系统中, 每个访问对象都需要用户给予访问权限。例如, 如果某个用户需要对某个数据库资源进行访问, 那么系统最先就要对该用户的资源所有权进行检查, 通过则对访问要求予以允许。自主访问控制模型中最为经典的就是存取矩形模型、取予模型等等。对于强制访问控制而言, 在系统中, 对主体与客体进行不同安全标记的分配, 通过主体与客体安全标记的对比, 来对其是否匹配进行确定, 以此执行访问授权。强制访问控制最为经典的模型有Bell-LaPaedula模型, 基于角色的存取控制模型等等。对于一个系统, 自主访问控制与强制访问控制可以共存, 并不存在冲突, 在检查系统存取的过程中, 首先要对MAC进行检查, 然后对DAC进行检查, 如果二者都通过, 那么访问就能够就能够允许。

在完成数据库加密后, 用户为了实现对加密数据的访问, 就必须拥有解密秘钥, 因此如果实现对数据库访问的控制, 通过秘钥分配的方法来实现对传统访问控制技术的替代就成为了一个重要的研究课题。然而这一方案并不可行, 具体主要由于存在以下几点问题:

1) 通常情况下, 加密技术的应用都会牺牲系统性能。在数据库中, 如果采用数据加密来实现访问控制, 那么在进行加密数据的访问中, 拥有秘钥的用户就要进行解密, 而这一操作往往会付出较大的代价, 会对系统的性能造成较大的影响。

2) 访问控制的安全性可能比加密技术高。在数据库安全保护措施中, 加密技术与访问控制的性质有所不同, 然而谁的安全性更高并不能确定。通常来讲, 加密技术的安全程度在很大程度上与加密算法强度、秘钥长度以及秘钥管理方案等有关。加密算法强度越高、秘钥位数越长、秘钥管理方案更高, 那么加密技术的安全性就越高, 能够有效抵抗外来入侵。现阶段, 绝对安全的加密技术是绝对不存在的。访问控制技术这一安全措施的有效性较高, 并且这种技术是基于成熟的安全理论模型而实现的, 然而访问控制技术也不能完全解决安全问题。非法攻击者可以绕过访问控制机制来实现对DBMS的入侵, 并破坏数据库中的数据。

3) 加密技术提供的安全控制策略的灵活性有待提高。访问控制对数据库中访问对象的授权具有较高的灵活性。一旦采用机密的方法, 那么这种灵活性并不存在。

2.2 数据库中动态数据加密与静态数据加密的区分

在加密数据的过程中, 应针对不同的数据加以区分, 具体有动态数据与静态数据, 这是由于它们采用的是不同的加密方法。与动态数据加密相比, 关于静态数据加密的研究的深度仍有待提高, 相关研究比较欠缺。

2.3 数据库加密的选择

在数据库中, 数据的结构化程度很高, 并且具有很强的共享性, 因此在进行数据库中存储数据的加密中, 必须对这些特点予以充分考虑, 并选择合理的加密算法、加密力度以及加密方式。首先, 在进行加密算法的选择中, 必须对加密与解密的速度提出较高的要求, 应确保加密与解密过程中不会严重影响到系统的性能。其次, 还要对加密粒度的灵活性进行分析与考虑。以用户的需求为依托, 选择合适的加密方法, 并且还要与现阶段的DBMS相结合, 选择合适的加密方式。

作为加密算法的核心, 加密算法的选择对于数据库加密的安全与性能而言有着十分重要的意义。一个好的加密算法必须保证其产生的密文具有平衡的频率, 同时具有随机性与无重码的规律以及较长的周期。如此才能够避免攻击者通过分析密文频率与重码来获取机密数据。

根据数据库的结构层次, 数据库的加密力度具体可以分为数据库级、表级、记录级、字段级以及数据项级。在选择加密粒度的过程中, 必须对相应的应用需求进行充分的分析与考虑。

2.4 数据库加密与操作系统的关系

数据库管理系统是基于操作系统平台得以建立的, 数据库管理系统的安全与操作系统的安全有着很大的关联, 如果操作系统的安全得不到保障, 那么数据库安全就得不到根本的解决。数据库加密技术作为提高数据库安全性的重要手段, 必须对操作系统自身的安全性进行充分的考虑与分析。例如数据以加密形式在数据库中存储, 如果需要对这些加密数据进行访问, 一般需要将其调入内存并进行解密。此时, 如果内存的安全性不高, 那么就存在数据被攻击者窃取的可能, 就算加密方法再好, 也能以实现对数据的有效保护。而内存的安全问题往往取决于操作系统。目前, 现有的经典的操作系统安全机制主要:访问控制机制、内存保护、最小特权管理的提供以及监控机制。现阶段, 为了充分保障数据库的安全, 仅仅依靠操作系统的安全措施是远远不够的。针对数据库安全, 操作系统的安全手段仅仅是一种抵御攻击的基本手段, 为了使数据库安全得以加固, 还需要采取进一步的加密措施, 通过二者的有机结合, 才能够使数据库的安全得到有效提高。

2.5 加密数据库的攻击方法

在完成数据库加密后, 数据的存在主要是以密文的形式。然而这并不代表数据具有绝对的安全性与可靠性。攻击者还是有可能通过其他途径来获取明文信息。一般而言, 加密数据库的攻击方法主要包括:秘钥的获取、对比明密文攻击、字典式攻击以及统计攻击等等。为了实现对加密数据库攻击的有效抵御, 就必须对这些攻击方法进行深入的研究与分析, 并提出有效的安全措施。

3 结语

综上所述, 现阶段并不存在绝对可靠的信息数据安全措施, 而数据库加密技术作为一种相对有效的技术, 能够使数据库安全性能得到有效提高, 我们还需要对其展开深入的研究, 提出更有效的安全方法, 使数据库安全性得到强有力的保障。

摘要:有时为了对数据加以保护, 就必须采取一种措施, 使非授权用户查看或修改数据的情况得以有效防止。本文对数据加密技术进行了简单的介绍, 阐述了数据加密技术的发展历史, 并提出数据库加密应注意的问题, 希望能够为数据库加密技术的研究提供一点理论支持。

关键词:数据库,加密技术,应用

参考文献

[1]徐俊芳, 邵玉兰.数据库加密技术在企业信息化管理中的应用[J].煤炭技术, 2012.

[2]杨超.数据库加密技术的特征以及应用分析[J].硅谷, 2015.

数据加密技术研究 篇5

1 加密技术

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理。使其成为不可读的一段代码, 通常称为“密文”传送, 到达目的地后使其只能在输入相应的密钥之后才能显示出本来内容, 通过这样的途径达到保护数据不被人非法窃取、修改的目的。该过程的逆过程为解密, 即将该编码信息转化为其原来数据的过程。数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传输中的数据流进行加密, 常用的有链路加密、节点加密和端到端加密三种方式。

2 数据存储加密技术

数据存储加密技术的目的是防止在存储环节上的数据失密, 可分为密文存储和存取控制两种。前者一般是通过加密法转换、附加密码、加密模块等方法实现;如上面提到的PGP加密软件, 它不光可以为互联网上通信的文件进行加密和数字签名, 还可以对本地硬盘文件资料进行加密, 防止非法访问。这种加密方式不同于OFFICE文档中的密码保护, 用加密软件加密的文件在解密前内容都会作一下代码转换, 把原来普通的数据转变成一堆看不懂的代码, 这样就保护了原文件不被非法阅读、修改。后者则是对用户资格、权限加以审查和限制, 防止非法用户存取数据或合法用户越权存取数据, 这种技术主要应用于NT系统和一些网络操作系统中, 在系统中可以对不同工作组的用户赋予相应的权限以达到保护重要数据不被子非常访问。

3 数据传输加密技术

3.1 链路加密。

链路加密是传输数据仅在物理层前的数据链路层进行加密。接收方是传送路径上的各台节点机, 信息在每台节点机内都要被解密和再加密, 依次进行, 直至到达目的地。使用链路加密装置能为某链路上的所有报文提供传输服务。即经过一台节点机的所有网络信息传输均需加、解密, 每一个经过的节点都必须有密码装置, 以便解密、加密报文。如果报文仅在一部分链路上加密而在另一部分链路上不加密, 则相当于未加密, 仍然是不安全的。与链路加密类似的节点加密方法, 是在节点处采用一个与节点机相连的密码装置 (被保护的外围设备) , 密文在该装置中被解密并被重新加密, 明文不通过节点机, 避免了链路加密关节点处易受攻击的缺点。

3.2 端——端加密。

端——端加密是为数据从一端传送到另一端提供的加密方式。数据在发送端被加密, 在最终目的地 (接收端) 解密, 中间节点处不以明文的形式出现。采用端——端加密是在应用层完成, 即传输前的高层中完成。除报头外的报文均以密文的形式贯穿于全部传输过程。只是在发送端和最终端才有加、解密设备, 而在中间任何节点报文均不解密, 因此, 不需要有密码设备。同链路加密相比, 可减少密码设备的数量。另一方面, 信息是由报头和报文组成的, 报文为要传送的信息, 报头为路由选择信息。由于网络传输中要涉及到路由选择, 在链路加密时, 报文和报头两者均须加密。而在端——端加密时, 由于通道上的每一个中间节点虽不对报文解密, 但为将报文传送到目的地, 必须检查路由选择信息, 因此, 只能加密报文, 而不能对报头加密。这样就容易被某些通信分析发觉, 而从中获取某些敏感信息。

3.3 节点加密。

尽管节点加密能给网络数据提供较高的安全性, 但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密, 然后进行加密。因为要对所有传输的数据进行加密, 所以加密过程对用户是透明的。

然而, 与链路加密不同, 节点加密不允许消息在网络节点以明文形式存在, 它先把收到的消息进行解密, 然后采用另一个不同的密钥进行加密, 这一过程是在节点上的一个安全模块中进行。

节点加密要求报头和路由信息以明文形式传输, 以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。

4 加密技术在网络商务上的应用

加密技术的应用是多方面的, 但最为广泛的还是在电子商务和VPN上的应用, 下面就分别简叙。

4.1 在电子商务方面的应用。

电子商务 (E-business) 要求顾客可以在网上进行各种商务活动, 不必担心自己的信用卡会被人盗用。在过去, 用户为了防止信用卡的号码被窃取到, 一般是通过电话订货, 然后使用用户的信用卡进行付款。现在人们开始用RSA (一种公开/私有密钥) 的加密技术, 提高信用卡交易的安全性, 从而使电子商务走向实用成为可能。许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者, 该公司提供了一种基于RSA和保密密钥的应用于因特网的技术, 被称为安全插座层 (Secure Sockets Layer, SSL) 。也许很多人知道Socket, 它是一个编程界面, 并不提供任何安全措施, 而SSL不但提供编程界面, 而且向上提供一种安全的服务, SSL3.0现在已经应用到了服务器和浏览器上, SSL2.0则只能应用于服务器端。

4.2 在VPN方面的应用。

VPN, 英文全称是Virtual Private Network, 中文名称一般称为虚拟专用网或虚拟私有网。它指的是以公用开放的网络 (如Internet) 作为基本传输媒体, 通过加密和验证网络流量来保护在公共网络上传输的私有信息不会被窃取和篡改, 从而向最终用户提供类似于私有网络 (Private Network) 性能的网络服务技术。VPN加密机是基于VPN技术而实现的一种网络安全设备。它利用VPN技术, 来实现数据的加密和解密, 保证数据在公网上传输的安全。

运用了VPN加密机, 虽然数据还是通过公网传输, 但由于VPN加密机的作用, 使总部和分支机构之间建立了一条私有的隧道, 组成了一个虚拟的私有网, 所有数据通过这个虚拟私有网传输, 保护数据不受外界的攻击。在实际应用中VPN加密机, 能解决以下的问题:4.2.1数据源身份认证:证实数据报文是所声称的发送者发出的。4.2.2保证数据完整性:证实数据报文的内容在传输过程中没有被修改过, 无论是被故意改动还是发生了随机的传输错误。4.2.3数据保密:隐藏明文的消息。4.2.4重放攻击保护:保证攻击者不能截取数据报文, 且稍后某个时间再发放数据报文, 且不会被检测到。

结束语

信息加密技术作为网络安全技术的核心, 其重要性不可忽略。随着加密和解密技术的发展, 我们应该不断发展和开发新的信息加密技术以适应纷繁变化的网络安全环境。

参考文献

[1]李克洪, 王大珍, 董晓梅.实用密码学与计算机数据安全[M]沈阳:东北大学出版社, 2001:52-112.

[2]刘晓敏:网络环境下信息安全的技术保护[J].情报科学, 1999.

关系型数据库加密技术研究 篇6

1 关系型数据库加密的必要性

关系型数据库系统的安全不仅依赖自身内部的安全机制, 还与外部网络环境、应用环境、从业人员素质等因素息息相关。因此, 从广义上讲, 数据库系统的安全框架可以划分为三个层次, 即网络系统层次、宿主操作系统层次、数据库管理系统层次。

这三个层次构筑成数据库系统的安全体系, 与数据安全的关系是逐步紧密的, 防范的重要性也逐层加强, 从外到内、由表及里保证数据的安全。但是, 值得注意的是OS和DBMS对数据库文件本身仍然缺乏有效的保护措施, 无法阻挡对数据文件本身的攻击。最简单的, 如有人偷走了存放数据文件的硬盘, 则文件中的信息将被泄露。

据有关资料报道, 80%的计算机犯罪来自系统内部。在传统的关系型数据库系统中, 数据库管理员的权力是至高无上, 他既负责各项系统管理工作, 又可以查询数据库中的一切信息。为此, 不少系统以种种手段来削弱系统管理员的权力。实现关系型数据库加密以后, 各用户 (或用户组) 的数据由用户用自己的密钥加密, 数据库管理员获得的信息无法进行正常解密, 从而保证了用户信息的安全。

2 关系型数据库加密的要求与限制

2.1 关系型数据库加密的要求

由于关系型数据库本身的特点和实际应用需求, 对关系型数据库加密一般应实现以下功能:

(1) 由于关系型数据库数据信息的生命周期一般比较长, 所以加强加密的力度, 难以破译;

(2) 数据信息在加密后, 不能明显地扩大存储空间;

(3) 不能影响数据库的使用速度, 即加/解密速度都应足够快;

(4) 加密系统应同时提供一套安全的、灵活的密钥管理机构, 提供灵活的加密要求满足;

(5) 加密后的关系型数据库仍能满足用户在不同类别程度上的访问。

2.2 关系型数据库加密的限制

数据加密通过对明文进行复杂的加密操作, 以达到无法发现明文和密文之间、密文和密钥之间的内在关系, 复杂性已经破译的难度要求足够高, 也就是说经过加密的数据经得起来自DS和DBMS的攻击。另一方面, DBMS要完成对数据库文件的管理和使用, 必须具有能够识别部分数据的条件。因此, 只能对数据库中数据进行部分加密。以下几点是我们在给关系型数据库加密时应该注意的问题。

(1) 索引字段不能加密

为了达到快速查询的目的, 关系型数据库文件需要建立一些索引, 它们的建立和应用必须是明文状态, 否则将失去索引的作用。

(2) 关系运算的比较字段不能加密

DBMS要组织和完成关系运算, 运算的数据一般都要经过条件筛选, 这种“条件”选择项必须是明文, 否则DBMS将无法进行比较筛选。

(3) 表间的连接码字段不能加密

关系型数据库中表之间存在着密切的联系, 这种相关性往往是“外部编码”联系的, 这些编码若加密就无法进行表与表之间的连接运算。

3 关系型数据库加密方式

关系型数据库加密方式数据库加密, 主要分为两种方式:DBMS外部加密和DBMS内部加密。

3.1 DBMS外部加密

DBMS外部加密的优点是, 不需要修改DBMS, 只需要在应用程序或者操作系统中增加相应的加/解密模块即可。但是, 这种方法也有一些缺点, 首先它不能支持各种加密粒度。其次, 它仅仅对用户数据进行加密, 而不能对元数据、索引数据、日志等进行加密。因此, 安全性受到影响。再者, 数据的完整性检查需要应用程序来完成, 不能尽量发挥DBMS的作用, 因为数据加密后, 没有办法在DBMS完整性检查, 而需要在应用程序中增加这项功能, 实现起来非常麻烦。

3.2 DBMS内部加密

一般选择在数据物理存取之前进行加/解密操作。这种方法的优点是, 由于DBMS能够区分各种粒度的数据, 所以, 可以支持各种粒度的加密, 加密粒度可以灵活地选择。另外, 在DBMS内部实现加密, 可以更有效地利用DBMS内部的访问控制机制、授权机制等各种功能。更重要的是, 关系型数据库一个重要特点是被多个应用共享, 这种方法的加解密都是在DBMS内部完成, 对应用程序是透明的, 不需要在多个应用中进行修改, 使用起来比较方便, 且容易保持数据的一致性, 缺点是需要修改DBMS的内核。关系型数据库的关键术语有:数据库、表、字段、行和数据元素。基本上可以针对这几方面形成一种加密的方法。

(1) 数据库级

加密的对象是整个数据库, 对数据库中所有的对象进行加密处理。这种加密方法只需要对存储在磁盘中的相应数据库文件进行加密处理即可, 密钥的数量少, 便于管理。但是, 采用此加密粒度, 对性能会带来很大的影响。即使只需要查询一条记录, 也需要对整个数据库进行解密。这样, 访问的速度不可避免的要降低。

(2) 表级

加密的对象是数据库中的基本元素表。关系型数据库包含多个表, 并不是所有的表都有很高的安全需要, 因而只需要对其中一些包含敏感信息的表进行加密。与数据库级加密相比, 采用表级加密粒度, 系统的查询性能会有所改善, 因为对于未加密表的查询, 系统性能不会受到影响, 对于加密表的查询, 只需要解密对应的加密表, 而不要解密整个数据库。但是, 这种方法与DBMS集成时, 需要对DBMS内部一些核心模块进行修改, 这些工作是很困难完成的。

(3) 记录级

加密的对象是数据表中的记录, 即对整条记录一起进行加密处理。在实现记录级加密时, 通过调用专门的加密函数, 对记录进行加密。与数据库和表级加密相比, 这种加密的粒度更细, 可选择的灵活性更好。但是, 它和表级加密一样, 这种方法也需要对DBMS内核进行修改。

(4) 字段级

加密的对象是关系中的某个字段, 即表中的列。一张表包含多个字段, 在某些时候, 并不是所有的字段都需要加密。因为在实际生活中, 一些重要和敏感的信息往往出现在关系中的某些列, 只需要对这些重要数据进行加密保护, 而不用对所有字段。在实现字段级加密时, 可以采取多种方式, 既可以在DBMS外部完成, 也可以在DBMS内部完成。

(5) 数据项级

加密的对象是记录中的某个字段值, 它是数据库加密的最小粒度。数据项级加密的方法更为灵活, 它的实现方式与字段级加密相似, 但其密钥管理将会更加复杂。

4 加密算法比较

加密算法是一些公式和法则, 它规定了明文和密文之间的变换方法。密钥是控制加密算法和解密算法的关键信息, 它的产生、传输、存储等工作是十分重要的。

DES算法, DES (Data Encryption Standard) 是把64位的明文输入块变为64位的密文输出块, 它所使用的密钥也是64位, 但只用到其中56位。Des的密码学缺点是密钥长度相对比较短, 因此, 人们又想出了一个解决其长度的方法, 即采用三重DES, 三重DES是DES的一种变形。

RSA算法, 它是第一个既能用于数据加密也能用于数字签名的算法。RSA的重大缺陷是无法从理论上把握它的保密性能如何, 而且密码学界多数人士倾向于因子分解不是NPC问题, RSA算法是第一个能同时用于加密和数字签名的算法, 也易于理解和操作。

AES算法, 将在未来几十年里代替DES在各个领域中得到广泛应用, 总体来说, AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128、192、256位, 相对而言, AES的128密钥比DES的56密钥强1 021倍。AES算法主要包括三个方面:轮变化、圈数和密钥扩展。

5 结束语

上面介绍的只是关系型数据库加密方法的一些探讨性研究, 这些论述还远远没达到关系型数据库安全需要, 比如现在的关系型数据库基本都给与网络架构, 网际的安全传输等, 也是要重点考虑的方面, 等等。一个好的安全系统必须综合考虑如何运用这些技术, 以保证数据的安全。

摘要:随着关系型数据库在计算机应用领域越来越多的应用, 数据的安全问题越来越受到重视。如果对数据库中的数据进行加密处理, 那么数据库的安全性就能有所提高。所以, 数据库加密是解决数据库安全问题最为有效的一种方法。关系型数据库的加密技术有很多, 关键是应该使用那种方法, 所以关系型数据库中加密技术的研究是非常必要的。

关键词:关系型数据库,加密,加密算法,粒度

参考文献

[1]胡志奇.数据库安全与加密技术研究[J].计算机与现代化, 2003, (11) :24-3.

[2]王晓峰, 王尚平, 秦波.数据库加密方法研究[J].西安理工大学学报, 2002, (6) :68-73.

[3]陈卫.数据库加密密钥的分配与管理技术[J].清华大学学报, 1994, (1) :54, 60.

数据库加密模型研究 篇7

随着社会科技的不断发展与进步,互联网得到了飞速发展,计算机技术也得到了广泛的应用,但另一方面信息的安全问题却日益突出,信息安全技术应运而生并得到了极大的发展。信息安全技术的核心是数据加密技术,它不仅能够加解密数据,而且还能够鉴别、认证数字签名等,从而使在网络上传输的数据的完整性、确认性及机密性得到了切实的保证。本文将DES算法和RSA算法的优点结合起来,将一个数据加密系统设计了出来,同时将Java安全软件包充分利用起来,实现了数字签名。

1 数据加密技术

1.1 私钥加密体制

私钥加密体制指在加密和解密时所使用的密钥是相同的,由两种类型,分别是分组密码和序列密码。分组密码对明文进行分组的依据是其固定的长度,用同一个密钥加密每一个分组,从而促进等长的密文分组的产生。序列密码又称流密码,因为它将明文数据一次加密一个字节或比特。和序列密码相比,分组密码使用于软件实现,并且具有较快的加密速度,因此在人们的日常工作和生活中得到了极为广泛的运用。

1.2 公钥加密体制

1976年,W.Diffie和Hellman最早提出了公钥体制,利用两个不同的密钥分开加密和解密的能力是该体制最大的特点。公开密钥在加密信息中得到了应用,而使人密钥则在解密信息中得到了应用。通信双方可以直接进行保密通信,而不需要事先交换密钥。同时,在计算机上也不能实现从公开的公钥或密文中将明文或密钥分析出来。

2 数据库“敏感”数据安全加密系统设计

2.1 数据库“敏感”数据安全加密系统的体系结构

该加密系统是在目前较为成熟的仿真网络体系结构HLA的基础上发展起来的,由两部分组成,分别是CA服务器端和客户端。在联邦成员中嵌入加密客户端,可以对各联邦成员之间的“敏感”数据进行加密,CA服务器则可以生成、分发及管理密钥。联邦成员和CA服务器之间及各个联邦成员之间进行通讯的途径是HLA-RTI接口。加密系统体系结构如图1所示。

2.2 数据库“敏感”数据安全加密系统的功能模块

CA服务器端与加密客户端组成了加密系统的功能模块。其中,CA服务器端的主要功能是认证客户端的身份、生成、存储并分发RSA密钥等。密钥是在用户口令字和大数分解理论的基础上生成的,每次有一对密钥(公钥和私钥)产生,用于对会话密钥进行加密和数字签名,也就是对称加密算法AES或DES、3DES算法的密钥;将生成的密钥对和申请者的用户名联系起来,促进一个关联目录的生成,以方便客户端查找即是密钥的存储;依据客户端的请求信息,在关联目录中将与之相匹配的信息查找出来,如果找到的话,就把密钥向请求的客户端发送即是密钥的分发。

加密客户端的主要功能是完成对文件的加密和解密、传输实时数据的加密和解密密文、管理和传输对称加密算法的密钥及和CA服务器交互等。其中,对称加密算法AES或DES、3DES及混沌序列加密算法的密钥均在密钥生成模块生成;密钥的加密传输模块主要是使会话密钥的安全得到切实的保障,也就是说,用公钥密码算法RSA的公钥对会话密钥进行加密,然后一起传输加密后的密钥和密文,在解密端,为了得到会话密钥,可以使用TSA的私钥来进行解密;实时数据的加密和解密模块的基础是混沌特性,在加密或解密实时数据时利用混沌序列密码算法。加密系统的功能模块划分如图2所示。

2.3 数据加密模块的设计与实现

混合加密体制是数据加密系统所使用的,它将对称密码算法具有的较快的贾母速度、较高的加密强度、较高效的加解密大量数据等能力进行了充分的运用;公钥密码算法具有较高的加密强度,密钥便于管理。为了弥补传统密码算法中不便于传递密钥的缺点,可以加密明文的密钥。将二者结合起来,可以实现数据传输的安全性。

2.3.1 3DES算法的设计与实现

目前,虽然DES具有较为广泛的应用范围,并且人们可以很方便地从公开渠道获取,但是因为DES只有56位的密钥长度,易于攻击,其加密强度已经远远不能满足现代安全的需要,因此可以将两个56位的密钥混合起来使用来完成加解密,这样密钥就达到了112位的长度,从而大大增强了加密强度,这就是3DES。3DES的算法原理如图3所示。

图3中密钥K1、K2是随机产生的。

三重DES算法的实现主要包括DES类和THREE类两个类。其中DES类的主要函数是public static byte[]encrypt(byte[]oword64,int[][]i Sub Keys)//加密;public static byte[]decrypt(byte[]b Cipher-text,int[][]Sub Keys)//解密。THREE类的主要函数是public static byte[]encrypt(byte[]oword,int[][]Sub Keys1,int[][]Sub Keys2)//解密;public static byte[]decrypt(byte[]sword,int[][]Sub Keys1,int[][]Sub Keys2)//加密,返回明文。

2.3.2 RSA算法的设计与实现

大数分解是RSA的安全性赖以存在的基础。公钥和私钥都是两个大素数的函数。RSA算法的实现主要包括三个部分,即生成密钥、加密数据和解密数据。在变量的定义方面,在对p、q、n、e、d、t进行定义时,利用Java中的大数Big Interger();在密钥的生成方面,利用publi boolean generate PQNTED(Stringe);在加密数据方面,利用public String Encrypt(String msg、Big Integer pbkey、Big Intiger n),在加密的过程中,在对所要加密的字节数组进行分组时,可以利用转换函数copy Bytes();在解密数据的过程中,利用之前产生的公钥n与私钥d。把所要解密的数据与公钥n与私钥d作为参数向加密函数public String Decrypt(String msg,Big Integer prikey Big Integer n)传递。

RSA只有在大数运算的基础上才能实现,只有这样才能执行大量的大数加减乘除和模逆、模幂运算。这就导致相对于其他特别是对称密钥算法来说,RSA的实现效率十分低下。本文设计的系统中生成的DES密钥用RSA替代的原因也就是这种速度上的差异。

本文设计的数据库“敏感”数据安全加密系统,将数据的加密技术和签名技术综合了起来,一方面解决了密钥的管理问题,另一方面也使数据的不可否认性及完整性得到了切实的保障,同时也将该系统网络通信的程序设计和界面设计方法提供了出来。本系统将集中主要的加密算法进行了具体的分类,使代码的高效性、可扩展性等得到了有效地增强,有利于以后的再次开发。

摘要:本文首先简要阐述了数据加密技术,然后从数据库“敏感”数据安全加密系统的体系结构、功能模块及数据加密模块的设计与实现三个方面,对数据库“敏感”数据安全加密系统设计进行了相关的研究。

关键词:数据库,敏感数据,安全加密系统,设计

参考文献

[1]胡向东,魏琴芳.应用密码学[M].北京:电子工业出版社.2006.

[2]贺雪晨,陈林玲,赵琰.信息对抗与网络安全[M].北京:清华大学出版社.2006.

[3]褚雄,王子敬,王勇.一种基于FPGA的DES加密算法实现[J].江南大学学报(自然科学版),2006,15(6):661—664.

[4]朱作付,徐超,葛红美.基于DES和RSA算法的数据加密传输系统设计[J].通信技术,2010,43(4).

[5]Compag,HewIett-Packard,InteI,Lucent,Microsoft,NEC,PhiIips.UniversaI Bus Specification(Revision2.0)[M].InteI,2000.

数据库加密模型研究 篇8

1 士兵职业技能鉴定系统数据库安全性分析

现阶段各大军兵种都采用士兵职业技能鉴定系统来对士兵职业进行认证, 这也是目前比较全面、公平公正的职业认证手段。但由于其鉴定的岗位、工种繁多, 试题库数目庞大等原因, 加上各单位情况不尽相同, 试题库及考核人员信息不断随时间而更新, 这势必会造成数据库规模不断增大[2]。加之随着网络技术的飞速发展, 有些不法分子为了通过鉴定而入侵系统修改试题库和鉴定结果。这都使得鉴定系统面临严峻的安全威胁, 数据库的安全与否直接影响到试题库的安全以及鉴定结果的安全, 这也是鉴定系统数据库加密的核心所在。

2 数据库加密方法

现阶段对于数据库的加密主要针对数据库三个层次的加密, 分别是操作系统层、数据库管理系统内核层以及数据库管理系统外核层[3]。

2.1 操作系统层加密

操作系统层加密主要是针对硬件加密[4], 用于解决静态数据的加密问题, 加密过程将物理存储器与数据库系统之间添加一层硬件作为中间层, 由添加的硬件完成加密和解密工作。这种加密方式相对简单, 只要确保密钥安全就能保证数据库的安全;缺点是不能保证添加的硬件与个人PC机完全兼容, 系统中数据库文件之间的数据关系也模糊不清, 加密解密过程繁琐, 对数据库的读写也比较麻烦, 这对于程序员和数据库的管理工作者来说, 工作量都是比较大的, 因此数据库规模相对大的系统很难实现操作系统层加密。

2.2 数据库内核层加密

数据库内部结构一般由三部分组成:外模式、内模式和存储模式[5]。

(1) 外模式, 又叫子模式, 用于数据库数据局部逻辑结构的描述;

(2) 内模式, 用于数据库数据全局逻辑结构的描述;

(3) 存储模式, 用于数据库数据物理结构的描述。

由此可知, 数据库内加密的关键就在于在数据的各个层次的映射中加入一个加密映射层, 其最好是位于存储模式和内模式之间。可以针对表、字段、行和数据元素这几方面形成一种加密的方法。其优点在于加密性能强, 不会影响数据库管理系统的功能, 可实现与DBMS的无缝耦合, 缺点是加密运算在服务器段进行, 服务器的载荷增加不少, 此外, 服务器与加密器之间的接口还需要数据库开发商的技术支持, 其加密关系图如图1所示。

2.3 数据库外核层加密

对于文件型数据库系统而言, 它是基于文件系统的, 因而数据库外核层加密应该是针对文件的输入输出流操作或者操作系统而言的。数据库管理系统一般通过三个层面的API接口与操作系统相互协同工作的:

(1) 直接调用操作系统文件系统的功能;

(2) 调用操作系统的I/O模块;

(3) 直接调用存储管理。

在采用数据库外核加密时, 将加密系统看成是DBMS外层的一个工具, 可以首先使用DES、RSA等算法将数据先在内存中加密, 然后文件系统把每次加密后的内存数据写入到数据库文件中去, 读入时再逆方面进行解密就可以正常使用了。这种加密方式不会增加服务器的负载, 可以通过在线传输加密, 缺点是加密功能有所限制, 与DBMS之间的耦合性差一些。其加密关系图如图2所示。

3 基于DES与RSA结合算法的敏感数据加密

3.1 敏感数据加密

所谓的敏感数据, 就是指那些对于系统至关重要的、不方便公开的数据[6]。敏感数据的定位取决于它的篡改对于结果的影响程度, 例如国防军事领域的数据库大多都是敏感度较高的。对于无敏感的和全部敏感的数据库, 其处理手段相对简单, 难就难在有的数据库中元素的敏感程度高低不一, 部分信息是敏感的, 部分信息可以公开。如下图3是参加职业技能鉴定的部分士兵的考评结果数据库:

其中, 证件号码、姓名、性别、家庭住址以及部队代号都是本系统可公开的数据, 因此其敏感度很低, 可不对其加密;而理论和实操考核成绩和总评成绩是系统的核心环节, 这些数据直接影响到士兵考评, 技能认证, 因此它们的敏感度较高。

对敏感数据的加密就是利用某种手段伪装数据, 使其变成人无法识别的信息。待加密数据称为明文, 加密后的数据称为密文, 加密的过程就是将明文转换成密文的过程, 其示意图4如下。

3.2 DES对称加密算法

DES是一种典型的以分组方式工作的单密钥密码算法[7], 其基本思想是将二进制的明文分组, 然后用密钥对这些明文进行替代和置换, 最终形成密文。DES使用56位的密钥加密, 进行16次迭代和3次逆置换, 最后得到64位密文。其基本步骤如下。

3.2.1 初始置换函数IP

3.2.2 乘积变换

假设经过n层处理后的左右32位分别为Ln和Rn, 做如下定义:

其中Kn是向第n层输入的48位密钥, Ln-1和Rn-1分别是第n-1层输出, f是以Rn-1和Kn为变量的输出32位函数, 第n层加密变换如下图5所示。

3.2.3 逆置换IP-1

对L16和R16利用初始置换IP作逆置换IP-1便可得到密文。

其加密算法如下:

解密算法如下:

3.3 RSA加密算法

RSA加密算法[8]是理论上最为成熟、完善, 使用最为广泛的算法之一, 该算法是基于初等数论中的欧拉定理, 建立在大整数因子分解比较困难的基础上的。RSA算法可同时应用于加密和数字签名, 并且易于理解和操作。所需工作:

(1) 选取两个比较大的质数p和q, 一般取大于100的数。

(2) 计算n=p×q, Z= (p-1) × (q-1) 。

(3) 选择一个与z互质的数d, 找出e, 使得e=1modz, 则 (e, n) 便是公钥, (d, n) 便是私钥。

其加密过程为:将明文划分成每块有K位的组, K满足2K

3.4 鉴定系统数据库加密处理

根据士兵职业技能鉴定系统的实际需要, 对试题库和鉴定结果的加密选择合适的加密方式, DES具有加解密速度快, 强度高, 密钥分发和管理困难等优势, 可满足系统对数据快速高效加解密处理的要求。而RSA非对称算法加解密速度相对较慢, 但其密钥管理方便, 适合用于对称加密算法使用的数字签名, 其能很好地保证密钥传递的安全性。

因此将两者结合起来, 试题库可以采用DES加密方式来对敏感数据加密, 鉴定结果可采用RSA的方式来对敏感数据进行加密。

4 鉴定结果加密

现以某次士兵职业技能鉴定结果为例, 对其中的敏感数据 (理论考核成绩、实操考核成绩、总评成绩) 进行加密, 加密后的结果如下图6所示。

从上图可以看出, 只针对敏感数据加密方式既能将数据按重要性级别区分开来, 对部分数据的加密又能减轻工作量;从敏感数据加密结果看, 将数字加密与字符加密结合起来, 使得加密结果更高安全可靠, 这对于数据库的管理工作有了一定的帮助, 同时对于士兵职业技能鉴定系统的维护和更新提供了必要的安全保障。

5 结论

文章在分析了现存的士兵职业技能鉴定系统存在的安全性潜在威胁之后, 提出了将DES和RSA两种不同的数据加密方式分别运用到试题库管理和鉴定结果管理中来的策略, 对数据库中的敏感数据进行加密。根据鉴定结果的加密效果来看, 提高了系统的安全性, 确保了系统在一定程度上防止他人非法入侵来对鉴定结果的随意篡改, 保证了士兵职业技能鉴定系统的正常运作, 也对士兵职业技能认证的有力保障。

摘要:针对士兵职业技能鉴定系统数据库, 就如何保证系统在高性能、高可用的同时, 提升数据的安全性, 确保系统不被入侵, 关键数据不被泄露或是增删改等问题, 提出了一种只针对敏感数据加密的策略, 将DES和RSA加密算法结合起来运用到数据加密的不同环节中, 确保了系统安全可靠。加密结果表明, 加密后的系统数据库能有效地提高系统的安全性能, 即便是他人入侵到数据库也束手无策, 防止了人为因素, 杜绝了体外操作, 有效地增强鉴定管理的规范性, 提高鉴定的含金量和认可度。

关键词:士兵职业技能鉴定,系统数据库,敏感数据,DES和RSA加密算法

参考文献

[1]王松滨, 李叶, 许远, 等.国家职业技能鉴定教程[M].北京:现代教育出版社, 2009

[2]焦冰.军队装甲装备保障专业士兵职业技能鉴定法规制度汇编[M].北京:国防工业出版社, 2012

[3]高庆雍.数据库加密技术[J].邮电设计技术, 2007 (7)

[4]姚志强.子密钥数据库安全加密算法研究[J].中国安全科学学报, 2007, 17 (1)

[5]王凤英, 程震.网络与信息安全.第二版[M].北京:中国铁道出版社, 2010

[6]王巍.数据库中的敏感数据加密方法的研究[J].科技广场, 2007 (9)

[7]孙占峰, 宋保卫.网络考试系统中数据加密技术研究与应用[J].计算机网络与信息安全, 2009, 5 (24)

数据库加密模型研究 篇9

尽管数据库管理系统本身的安全措施已经相当完备,但是仍然无法完全解决数据安全的需求。业务数据管理的安全层次与数据库管理系统的安全层次往往不一致,数据库管理系统中具有超级权限的管理员往往不具备业务数据管理的超级职能。数据安全不仅要抵抗来自网络黑客的安全威胁,还要防止来自网络内部,特别是数据库管理员的安全威胁,而目前的数据库管理系统安全体系,几乎不能对数据库管理员采取任何安全限制。若要满足业务数据的安全需要,必须对数据库保护的最有效的方法就是对敏感数据进行加密处理,将明文数据以密文方式保存,访问时再进行解密操作。这样,即使能够通过非法途径得到数据库的数据,没有相应的密钥,也是得不到其明文形式的。实现数据库加密并结合密钥管理以后,数据库里的数据由用户自己的密钥来进行访问,不同的用户只能访问自己权限以内的数据,这样大大地提高了数据的安全性。由此可见,数据库加密对于数据的安全管理,是不可或缺的重要环节。

1 数据库的常见安全问题分析

SQL Server 2008是SQL Server数据库的最新版本,目前已经被众多信息系统采用,但在安全方面还是存在一些技术或者管理上的问题。常见问题如下:

(1)空口令或弱口令。初学者在安装SQL Server时为了省事,SQL Server管理员sa用的是空口令或弱口令,这样危险性十分巨大,而这些危险往往是初学者意识不到的,小王就觉得,自己的库是试验数据,没什么用,即使别人连上库也无所谓。殊不知SQL Server的默认用户sa的权限非常巨大,有种观点是sa的权限要大于administrator的权限,也就是说没有限制的sa用户可以做Windows系统管理员所做的任何事。

(2)注入和跨库攻击。注入和跨库攻击可能是这几年黑客攻击中最流行的词了,原理是获得了SQL Server管理员sa的权限,从而控制数据库,还可以利用xp_cmdshell这样的SQL Server的扩展存储过程控制Windows系统。注入和空口令获取sa权限的方法不同,注入是ASP程序在连接SQL Server时有漏洞,黑客利用漏洞获取了sa权限。

(3)SQL Server不打补丁的漏洞。没打补丁的SQL S-erver存在着众多的漏洞,无论权限设置的多么严格都能被轻易攻破。

2 数据库加密原理介绍

2.1 数据库加密技术的功能和特性

一般而言,一个行之有效的数据库加密技术主要有以下六个方面的功能和特性。

(1)身份认证。用户除提供用户名、口令外,还必须按照系统安全要求提供其它相关安全凭证。如使用终端密钥。

(2)通信加密与完整性保护。有关数据库的访问在网络传输中都被加密,通信一次一密的意义在于防重放、防篡改。

(3)数据库数据存储加密与完整性保护。数据库系统采用数据项级存储加密,即数据库中不同的记录、每条记录的不同字段都采用不同的密钥加密,辅以校验措施来保证数据库数据存储的保密性和完整性,防止数据的非授权访问和修改。

(4)数据库加密设置。系统中可以选择需要加密的数据库列,以便于用户选择那些敏感信息进行加密而不是全部数据都加密。只对用户的敏感数据加密可以提高数据库访问速度。这样有利于用户在效率与安全性之间进行自主选择。

(5)多级密钥管理模式。主密钥和主密钥变量保存在安全区域,二级密钥受主密钥变量加密保护,数据加密的密钥存储或传输时利用二级密钥加密保护,使用时受主密钥保护。

(6)安全备份。系统提供数据库明文备份功能和密钥备份功能。

2.2 对数据库加密系统基本要求

(1)字段加密。(2)密钥动态管理。(3)合理处理数据。(4)不影响合法用户的操作。(5)防止非法拷贝。

2.3 加密算法

加密算法是数据加密的核心,一个好的加密算法产生的密文应该频率平衡,随机无重码规律,周期足够长,确保不可能产生重复现象。窃密者很难通过对密文频率、重码等特征的分析获得成功。数据库加密算法必须适应数据库系统的特性,如强度高、加/解密速度快、适应明文数据长度变化范围大、数据加密后尽量不增加存储空间等。

目前常用的密码可以分为三类,序列密码、分组密码和公开密钥密码。序列密码算法将明文与随机序列直接运算,得到的每一位密文与明文其他位数据无关。该类算法运算速度高,并且产生的密文一般与明文长度一样。但是如果得到数量较多的密文对,则较容易破译。该算法常用于一次一密的传输加密。分组密码算法将明文按同定长度分组,对各分组使用不同的密钥加密。密文中的每位数据不仅与密钥有关,还与分组中其他明文数据有关。分组加密算法较难破泽,但是密钥分发及管理困难。公开密钥算法即非对称密钥算法,运算速度很慢,不适合用于大数据量加/解密。比较各种加密算法,数据库存储加密系统选择分组加密较为合适,但要解决密钥管理问题。

常用的分组加密算法有DES、DIES和AES等,DES加密算法运行速度最快,而AES一128次之。根据安全性能来说,AES算法宗旨在取代DES的新一代对称加密算法,密钥长度可以是128、192或256位,安全性能要比DES(密钥长度只有56位)强得多。该算法设计简单,密钥安装快、需要的内存空间少,在所有平台上运行良好,支持并行处理,能抵抗各种已知攻击。所以该加密系统中,我们采用的数据库密码是AES算法,由它构筑的数据库加密系统能比较好地满足数据库的加密要求。

在对数据表的敏感数字段加密时,使用系统自动产生的一个128位密钥用AES算法对数据进行加密。在对数据密钥加密时,用RSA算法进行加解密,也就是说加密时用密钥对中的私钥对数据密钥加密,解密时用密钥对中的公钥解密。采用这样设计的好处是由于每个用户对应于一个用户密钥对,便于用户密钥的管理。

3 SQL Server数据库加密系统设计

3.1 设计目标

根据项目需求和上文理论研究提出数据库加密系统设计目标如下:

(1)利用数据库加密技术,对数据库中存储的关键数据实现字段级加密。

(2)实现对数据的存储加密和密文检索等操作。

(3)保证加解密处理过程中的数据完整性。

(4)屏蔽密文数据对应用程序的开发影响,开发人员通过加密系统能实现对密文数据的“透明访问”。

3.2 系统工作模型

数据库加密系统由SQL解析模块、数据库对象、加解密动态链接库和加密系统管理程序组成。系统工作过程如下:

(1)加密系统中的“SQL分析模块”对提交的SQL语句进行语法分析和扩展,根据DBMS中的“加密字典”对SQL语句进行“解析扩展”。

(2)加密系统将重组后的SQL语句提交给DBMS,DB-MS通过“数据库对象”调用“加解密动态库”对数据库中的密文数据进行解密,并将解密后结果反馈给“数据库对象”。

(3)应用程序通过“数据库对象”获取解密后的明文数据。

3.3 关键技术及实现

本文实现的加密系统是通过SQL解析模块与应用程序相接,从而实现了应用程序对DBMS中密文数据的“透明访问”,所以SQL解析模块也是整个加密系统设计中的关键所在。由于T-SQL语句的语法结构比较复杂,所以SQL语句解析模块的设计也是整个加密系统中的一个难点问题。通过对语法结构进行裁减语法描述参见后,设计实现了语句解析模块。模块由“数据初始化方法”和四个核心方法“SELECT子句解析方法”、“INSERT子句解析方法”、“DELETE子句解析方法”和“UPDATE子句解析方法”组成。

由于3DES也是基于DES的分组加密算法,其加密时也是按二进制位对明文进行分组,所以当明文的长度不是8Bytes的整数倍时,就需要对明文进行字节对齐,使得明文的长度为8Bytes的整数倍,这样字节对齐后带来的问题是解密后需要还原在加密前进行了字节对齐操作的明文。

为解决上述分组加密算法带来的问题,加密DES模块在设计中,采用ASCII码为0x00的字符,对齐不是8Bytes整数倍的明文,当解密还原为二进制的字符串后,由于其解密后的字符串也是用0x00填充,所以无需做特殊处理,直接进行类型转换即可保证数据在加、解密前后的一致性。

4 结束语

本文分析了目前SQL Server数据库安全所存在的问题,深入研究了数据库加密系统的相关理论,以数据库的内部字段级加密为基础,设计并实现了数据库的加密系统。该加密系统运行情况表明,系统不仅满足了数据保密性要求,在系统性能方面也得到了很好的保证。

摘要:数据库加密就是对数据库的文件或数据进行加密,数据加密后以密文方式存储,即使被窃取、被拷贝,机密数据也不会被敌对方获取。本文介绍了SQL Server数据库常见的安全问题和数据库加密技术,提出了一种对于数据库字段的加密技术。

关键词:SQL Server,加密算法,数据库加密

参考文献

[1]彭湃,戴一七,李武军.网络密文数据库的设计.北京:清华大学学报(自然科学版),2001,41(1):92-95.

[2]张剑强,戴一奇.基于代理的密文数据库的设计与实现.北京:计算机工程与应用,2002,18(1):196-198.

[3]李新.密文数据库系统的设计.北京:计算机工程与应用,20-05(32):169-171.

[4]余祥宣,崔永泉,崔国华.分布式环境下数据库加密密钥管理方案.武汉:华中科技大学学报(自然科学版),2002,30(4):43-45.

上一篇:仓储企业下一篇:水稻立枯病防治