APP下载

数据库加密技术的设计与应用

2017-11-30马海虎

赤峰学院学报·自然科学版 2017年22期
关键词:加密技术解密完整性

马海虎

(喀什大学,新疆喀什844000)

数据库加密技术的设计与应用

马海虎

(喀什大学,新疆喀什844000)

随着互联网开放程度的不断提高,网络安全问题日益凸显,网络数据库是网络安全防护的关键环节,数据库加密技术作为数据库最后的保护措施是网络安全的最后屏障.本文主要探究数据库加密技术,通过采用数据库加密技术使重要数据在密文方式下工作,保证数据安全,建立起能够保证学生信息安全的高校信息系统.

数据库;加密;安全模型

随着计算机技术和网络技术的发展,我国的信息化水平不断提高,伴随着信息系统普遍化、规模化、去中心化和网络化,信息系统遭受到黑客攻击、病毒泛滥,网络安全问题严重影响了人们的正常生活.数据库在信息系统中占有重要的地位,存储着大量的数据信息,数据信息的安全对于国民的财产安全具有重要影响,保证数据库的安全是保证信息系统安全的关键环节.传统的防火墙对数据的保护力度差,难以在技术飞速发展的今天保证数据的安全性,数据库加密技术是数据库保护的最后屏障,可以有效保证数据库的安全.

数据库加密技术是保证数据在密文下工作,能够有效保证数据的安全,即使数据被泄露也能够保证信息的安全性.本文主要对数据库加密技术进行分析和研究,探究数据库加密的特点,针对不同结构的数据库提出有效的加密模型,并以校园网络系统中的数据库为对象,探究数据库加密技术的作用.

1 数据库加密的安全需求

数据库系统的安全需求可以归纳为三个主要方面,分别为完整性、机密性和可用性.完整性包括数据库逻辑完整性和物理完整性,逻辑完整性是针对数据库数据逻辑的保护,保证在并发事务中数据逻辑的一致性以及数据存取在逻辑上的完整性.物理完整性是指数据的安全不受到物理因素的影响,诸如硬件问题、硬件断电或自然物理故障,在遭受到损坏后能够恢复或重建数据库;机密性是指数据库中的数据在没有得到授权的情况下,不能被访问和读取,数据库的访问首先需要进行身份验证,设定访问权限保证合法用户能够访问授权数据;可用性是指在数据库正常访问的前提下,保证系统的运行效率,提供良好的人机交互体验.

数据库遭受到的威胁分为外部攻击和内部攻击两种类型,外部攻击首先需要穿越防护墙、入侵检测系统,内部攻击优势在于置于防火墙内部,并且可以得到内部网络的相关信息.数据库面临的威胁主要有窃取、损坏和篡改三种类型,从而影响数据库的完整性、机密性和可用性.数据库完整性攻击是指未经授权修改数据库中的数据,完整性威胁关乎整个数据库,为了有效防范完整性威胁,相应的保护措施必须保证充分且完备.数据库的机密性威胁包括数据库的窃取和篡改,入侵者可以将自己入侵数据库的痕迹掩盖掉,还可以篡改任何数据.数据库可用性威胁主要是指数据库的损坏,入侵者可以蓄意破坏用户的数据库,勒索用户支付高额费用才可以恢复.

2 数据库加密技术

数据加密技术是将可读的明文数据转换为不可读的密文数据,传统的加密算法主要可以分为三类,分别为:对称密钥算法、公开密钥算法和哈希算法.对称算法在加密和解密时采用了相同的密钥,其中数据加密标准和高级加密标准是两种著名的对称密钥算法,现代对称密钥算法主要有分组加密和流加密两种类型,常用算法有DES、IDEA、3DES和AES等.对称密钥算法计算量小、解密效率高,但是通信双方采用了相同的密钥,增加了安全隐患.公开密钥算法采用了一种完全不同但是可以匹配的算法,即公钥和私钥.公开密钥收发数据分别采用了公钥和私钥,通信前,解密者先将公钥发送给加密者,私钥由解密者自己保留,解密密文时采用私钥.哈希算法可以将任意长的输入信息字符串变化成固定长的输出串,哈希算法主要应用于提高数字签名的有效性和完整性校验,哈希算法主要包括SHA-1、M D2、M D4和M D5.

数据库加密是按照用户的要求将敏感数据进行加密,防止非法用户采用其他手段获取数据.数据库加密也可以由用户使用自己的密钥来加密自己的隐私信息,用户自己保留密钥,安全系数更高,数据库管理员也无法进行正常解密,从而保护隐私数据.数据库加密的示意图如图1所示.

图1 数据库加密示意图

数据库加密的实现根据加密部件所在的层次和位置,主要可以分为库内加密和库外加密两种.库内加密是在数据库管理的内核层实现加密,加密和解密的过程都对用户完全透明,数据的加密和解密在数据的存取前完成.库内加密对于数据的加密能力强,加密功能已经成为数据库管理的一部分,实现了数据加密和数据库管理系统之间的配合.库内加密对系统性能影响大,密钥和数据保存在数据库中完成,加密功能受到数据库厂商的限制.库外加密是指,数据的加密和解密过程在数据库以外完成,主要是在客户端完成,也可以采用专业的加密服务器.库外加密的加密和解密过程不受服务器的影响,减轻了服务器的功能负担,密钥保存在专门的加密机中,提高了密钥的安全性.

3 数据库加密的粒度及层次

数据库加密粒度是指加密的最小单位,数据加密粒度根据不同的数据层次划分为文件级、记录级和数据项级,加密的单位越小,其适用范围就越广,随之实现的难度也就越大.基于文件的数据库加密技术的加密对象是数据库文件,从而形成密文保证数据的真实和完整性.数据解密时,用户采用解密密钥对数据库文件进行解密.基于记录的数据库加密的加密对象是数据表中不同的记录,基于记录的数据库加密是最为常用的加密手段,数据库根据各自的密钥将记录加密成密文,为了实现数据库记录的查询必须将需要查找的值进行解密,然后再进行查找.基于数据元素的加密技术的对象是每个字段的值,数据库加密的最小级别就是数据元素,该加密方法的加密对象就是数据库中的单个数据元素,具有最小的加密粒度,灵活性和适应性都比较好,但是加密和解密的效率较低.数据库的加密可以在不同层次上进行,可以在OS层,DBMS内核层和DBMS层.

4 数据库加密技术在高校网站的应用

4.1 数据库应用系统层次结构

人们根据网络环境下数据库应用的特点提出了C/S(Clien t/Server)客户机/服务器结构以及B/S(Browser/Server)浏览器/服务器结构.C/S体系结构采用了开放模式,数据库的管理工作由服务器负责,与用户的交互工作由客户机负责.C/S的数据操作和对事物的处理能力强,相应的速度快,可以处理大量的数据.C/S架构对于服务器的负荷低,只有当用户需要对数据库实现访问和操作时,客户程序会根据需要搜索服务器,同时提出访问请求,服务器做出相应的应答,服务器的运行负荷大大降低.数据库存储和管理功能在服务器管和客户的应用程序端运行是相互独立的,但是C/S架构的搭建和维护成本高,并且维护的任务量大.

B/S架构利用WWW浏览器技术,是一种结合了多种Script语言和Active技术的软件构造技术.B/S采用了客户端、中间件和服务器的三层体系结构,采用中间件将应用分为三个层次,分别为表示层、业务逻辑层和数据存储层.中间件具有重要的作用,是构造三层结构的基础平台.B/S体系中,用户可以通过浏览器在网络上根据需要向多个服务器提出请求,服务器根据用户请求做出响应,返回所需要的信息.B/S体系结构分布性强,维护方便,但是数据安全性差,对服务器的要求高.

C/S结构和B/S结构的不同之处主要体现在硬件环境、安全性、程序框架、重用性等方面.硬件环境:C/S一般建立在专用网络上,B/S建立在广域网上.安全性:C/S面向固定的用户群,对信息安全的控制能力强,B/S面向的用户群不可知,对于安全的控制能力弱,高度机密的信息系统一般采用的是C/S结构.程序架构:C/S程序重视流程,可以对权限进行多次校验,比较少考虑系统的运行效率.B/S综合考虑了安全和访问速度,优化程度更高.重用性:C/S程序重用性较差,B/S采用多重结构,要求构件具有独立的功能,重用性好.

4.2 DSP模型结构

本文建立的高校学生信息管理系统采用DSP模型在体系结构上选用了B/S联系方式,为了克服B/S在安全性上的不足,DSP模型在数据流程上借助C/S结构的数据处理流程:将学生的信息加密后存放在数据库服务器端,当用户发出查询请求后,首先在客户端转换为密文发送到数据库服务端,数据库端执行密文查询,然后将查询结构返回到客户端,客户端实现密文的解密.DSP的数据流图如图2所示.

图2

本文采用的DSP模型在网络拓扑结构上B/S化,但是在数据流的控制上C/S化,综合的两者的使用优势.网络拓扑结构采用B/S结构,客户机软件可以采用WWW浏览器实现访问,数据段采用C/S结构,通过ODBS/JDBS连接,维护性高,数据更新方便,不存在完全采用C/S结构使得客户维护工作量大的问题.

4.3 高校学生信息管理系统数据库加密设计

学生信息管理系统根据Web应用的需要,将逻辑结构划分为表示层、业务逻辑层和数据服务层.表示层收集用户数据,通过控件提交自己的信息数据,并展示用户查询数据.业务逻辑层实现数据库连接和对数据的操作,接受客户端的请求、数据的查询转换,以及加密和解密工作,回传查询结果.数据服务层由数据库管理系统实现,本文采用了My SQL数据库.

高校学生信息管理系统在设计系统加密时,首先确定需要加密的数据,采用风险分析来进行决策,根据不同的数据敏感程度进行分类,本文将对风险最大的数据进行加密处理:对用户的ID和Pass word信息进行加密,对有关学生的标志性信息,例如姓名,身份证,奖惩信息进行加密.采用密钥库口令和用户口令两套口令进行加密,首先使用密钥库口令对在整个密钥库文件进行加密,然后每个用户设置一个口令,采用该口令来加密对应的密钥项.密钥加密模块实现对IDEA密钥的加密,保证传输过程的安全性.学生信息系统加密模型如图3所示.

图3 学生信息系统加密模型

5 总结

本文在分析和研究数据加密技术,数据库加密特点的基础上,分析数据库加密的要求,探究数据库加密技术在高校学生信息管理系统中的应用,根据系统需求提出了C/S和B/S相结合的DSP模型,建立学生信息系统加密模型.

〔1〕李刚彪.数据库加密技术的研究与实现[D].太原理工大学,2010.

〔2〕楚志凯,吕秀平,路晓亚.SQL Server的数据库加密技术的研究与实现[J].电脑学习,2010(01):97-99.

〔3〕常丽霞.基于C/S结构的数据库加密技术的研究与设计[D].沈阳工业大学,2006.

〔4〕怀艾芹.基于DBMS外层的网络数据库加密系统的研究与设计[J].电脑开发与应用,2011,24(04):29-31+38.

TP309

A

1673-260X(2017)11-0021-03

2017-07-11

猜你喜欢

加密技术解密完整性
海洋水文信息加密技术方案设计与测试
运用数据加密技术维护网络安全的可靠性研究
炫词解密
石油化工企业设备完整性管理
解密“一包三改”
炫词解密
数据加密技术在计算机网络通信安全中的应用
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
在计算机网络安全中数据加密技术的应用