基于SQL Server的数据库内部加密技术的探讨

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:ben74
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:数据库是企业信息系统运转的核心,同时数据库也是黑客攻击的主要目标,因此,研究一种有效的数据库加密技术对企业的信息安全十分重要。介绍了SQL Server数据库的安全问题和常见的数据库加密技术,提出了一种针对于数据库列的内部加密技术。实验结果表明,针对列的内部加密技术不仅能够取得理想的保密效果,同时也得到了最优化的数据库运行性能。
  关键词:SQL Server;数据库;加密
  中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2009)15-3847-02
  
  SQL Server-based Database of Internal Encryption Technology
  LIU Jian
  (Information Engineering Department of Hunan Urban Construction College, Xiangtan 411101, China)
  Abstract: Enterprise Information System database is the core operation, while the database is the main objective of hacker attacks, and therefore the study of an effective database encryption technology for enterprise information security is very important. Introduced a SQL Server database security issues and a common database encryption technology, a column in the database for internal encryption technology. The experimental results show that listed on the internal encryption technology can not only achieve the desired confidentiality, but will also be the most optimized performance of the database.
  Key words: SQL Server; database; encryption
  
  1 引言
  
  企業信息系统的发展将数据的安全问题提到前所未有的高度。一方面,企业本身需要对自己的关键数据进行有效的保护另一方面,越来越多的企业开始从应用服务提供商一,处获得应用支待和服务,在这种情况下,企业的业务数据存放在处,其安全性无法得到有效的保障。因为传统的数据库保护方式是通过设定口令字和访问权限等方法实现的,这就留下了一个很大的安全漏洞一数据库管理员可以不加限制地访问数据库中的所有数据。解决这一问题的关键是要对数据本身加密,即使数据不幸泄露或丢失,也难以被人破译。[1]
  数据库加密系统,其实现的主要功能是对存储在数据库中的数据进行不同级的存储加密。这样就有效的保护了存储在数据库中的重要数据,即使某一用户非法入侵到系统中或盗得了数据库文件,没有解密密钥,他也不能得到所需数据。所以数据库的加密处理对保护数据的安全性具有非常重要的意义。
  
  2 SQL Server的常见安全问题
  
  SQL Server 2005已经被众多信息系统采用,但在安全方面还是存在一些技术或者是管理上的问题。
  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 Server存在着众多的漏洞,无论你的权限设置的多么严格都能被轻易攻破。
  
  3 数据库加密技术介绍
  
  3.1 加密层次
  数据库加密大致可以分为两种方式外部加密和内部加密。数据库的外部加密,一般选择在应用程序和操作系统,通过调用加解密函数来完成加密数据的存储和访问。外部加密的优点是,不需要修改,只需要在应用程序或者操作系统中增加相应的加解密模块即可。但是,这种方法也有一些缺点,首先它不能支持各种加密粒度。其次,它仅仅对用户数据进行加密而不能对元数据索引数据日志等进行加密再者,数据的完整性检查需要应用程序来完成,因为数据加密后,没有办法在DBMS中进行完整性检查,而需要在应用程序中增加这项功能,实现起来非常麻烦。在操作系统中加密时,加密的粒度是基于文件,对应到数据库中则是相应的表或者整个数据库,这种加密粒度非常粗糙,最直接的影响是,加解密的工作相当大,极大地降低系统性能。
  在数据库内部加密一般选择在数据物理存取之前进行加解密操作也就是说,DBMS在将内存中的数据写到如磁盘时,进行加密操作,而从磁盘读取数据到内存中时,进行相应的解密操作。这种方法的优点是,由于DBMS能够区分各种粒度的数据,所以可以支持各种粒度的加密,加密的灵活性较好。另外,在DBMS内部实现加密,可以更有效地和DBMS内部的访问控制机制、授权机制等各种功能结合起来。更重要的是,数据库一个重要特点是被多个应用共享,这种方法的加解密都是在DBMS内部完成,对应用程序是透明的,不需要在多个应用中进行修改,容易保持数据的一致性。缺点是需要修改DBMS的内核,DBMS是一个非常复杂的软件,对它进行修改是一件非常艰巨任务。
  3.2 加密粒度
  按照数据库的结构层次,数据库的加密粒度可以分为数据库级、表级、记录级、字段级和数据项级。根据不同的应用需要,选择合适的加密粒度。[2]
  字段加密的对象是关系中的某个字段,字段级加密是一个很好的选择,因为在实际生活中,一些重要和敏感的信息往往出现在关系中的某些列,如信用卡号、身份证号、银行账号等,只需要对这些重要数据进行加密保护,而没有必要对普通数据也进行加密。例如,有一个客户表,它包含客户、姓名、地址和信用卡号。在这个表中,没有必要去加密客户,我们最想加密的字段是信用卡号。在实现字段级加密时,可以采取多种方式,既可以在DBMS外部完成,也可以在DBMS内部完成。
  3.3 加密算法
  加密算法是数据加密的核心,加密算法本身的好坏直接影响数据库加密的安全和性能。一个好的加密算法产生的密文应该频率平衡,随机无重码规律,周期很长而又不可能产生重复现象。攻击者很难通过对密文频率、重码等特征的分析获得成功。通常来说,加密算法有对称算法和非对称算法。对称算法有时又叫传统密码算法,就是加密密钥能够从解密密钥推算出来,反过来也成立。在大多数对称算法中,加密密钥和解密密钥是相同的。[3]
  在对数据库存储数据进行加密时对称加密算法使用最为广泛这是因为,与非对称加密算法相比,对称加密算法的速度快了几十甚至几百倍,对系统的性能影响较小。对称算法又可分为两类序列密码和分组密码。目前数据库加密常用的算法有:AES、DES、3DES、RC5等。
  
  4 数据库加密系统设计
  
  4.1 设计目标
  根据实际项目需求和前面章节的的理论研究先提出基于扩展存储过程的数据库加密系统”设计目标如下:
  1)利用数据库加密技术,对数据库中存储的“敏感”数据实现字段级加密;2)实现对数据的存储加密和密文检索等操作;3)保证加解密处理过程中的数据完整性;4)屏蔽密文数据对应用程序的开发影响,开发人员通过加密系统能实现对密文数据的“透明访问”。
  4.2 系统工作模型
  数据库加密系统由SQL解析模块、数据库对象、加解密动态链接库和加密系统管理程序组成。系统的工作工程如下:
  1)加密系统中的“SQL分析模块”对提交的SQL语句进行语法分析和扩展,根据DBMS中的“加密字典”对SQL语句进行“解析扩展”;2)加密系统将重组后的SQL语句提交给DBMS,DBMS通过“数据库对象”调用“加解密动态库”对数据库中的密文数据进行解密,并将解密后结果反馈给“数据库对象”;3)应用程序通过“数据库对象”获取解密后的明文数据。
  4.3 开发平台
  本系统运行在数据库服务器上,其开发平台及工具如下所示:
  1)操作系统:Windows Server 2003;2)数据库:Microsoft SQL Server 2005;3)设计工具:Microsoft Visio 2005;4)开发平台:JDK 6.0,MyEclipse 6.5。
  4.4 关键技术及实现
  本文实现的加密系统是通过SQL解析模块与应用程序相接,从而实现了应用程序对DBMS中密文数据的“透明访问”,所以SQL解析模块也是整个加密系统设计中的关键所在。由于T-SQL语句的语法结构比较复杂,所以SQL语句解析模块的设计也是整个加密系统中的一个难点问题。通过对语法结构进行裁减语法描述参见后,设计实现了语句解析模块。模块由“数据初始化方法”和4个核心方法“SELECT子句解析方法”、“INSERT子句解析方法”、“DELETE子句解析方法”和“UPDATE子句解析方法”所组成。
  由于3DES也是基于DES的分组加密算法,其加密时也是按位二进制位对明文进行分组,所以当明文的长度不是8Bytes的整数倍时,就需要对明文进行字节对齐使得明文的长度为8Bytes的整数倍这样字节对齐后带的问题是解密后,需要还原在加密前进行了字节对齐操作的明文。
  为了解决上述分组加密算法带来的问题,加密DES模块在设计中,采用ASCII码为0x00的字符,对齐不是8Bytes整数倍的明文,当解密还原为二进制的字符串后,由于其解密后的字符串也是用0x00填充,所以无需做特殊处理,直接进行类型转换即可保證数据在加、解密前后的一致性。
  
  5 总结
  
  分析了目前信息安全领域中,数据库安全所存在的问题,深入研究了数据库加密系统的相关理论,以数据库的内部字段级加密为基础,设计并实现了数据库的加密系统。该加密系统在基于B/S系统中的运行情况表明,系统不仅满足了数据保密性要求,在系统性能方面也得到了很好的保证。
  
  参考文献:
  [1] 王正飞.数据库加密技术及其应用研究[D].上海:复旦大学,2005.
  [2] 王元珍,冯超.数据库加密系统的研究与实现[J].计算机工程与应用,2005(8):170-172.
  [3] 鲍勇.基于扩展存储过程的数据库加密系统研究[D].武汉:武汉理工大学,2006.
其他文献
摘要:目前中职学校越来越多地采用项目教学法进行教学,但传统的评价制度不能满足项目教学的需要,该文以中职学校计算机教学为例,论述了中职学校计算机项目教学评价机制的构建。  关键词:计算机教学评价;项目教学评价;机制构建  中图分类号:G71 文献标识码:A 文章编号:1009-3044(2013)17-4056-03  1 概述  中职学校的计算机教学旨在提高学生的计算机知识水平及实践动手能力,其培
期刊
摘要:提出现实有效的中高职衔接路径和策略,是当今我国职业教育发展中迫切需要解决的问题。针对中高职衔接教育需求,依据“岗位、任务和能力”三个维度,开展“整体设计,分段实施,递进培养”的中高职3+2一体化课程体系及相关课程标准研究。  关键词:中高职衔接;3+2;课程体系;计算机专业  中图分类号: G710 文献标识码:A 文章编号:1009-3044(2013)02-0356-03  1 概述  
期刊
摘要:虚拟校园是利用虚拟现实技术,在计算机中模拟再现真实校园景观,让那些不能在实地参观的人拥有身临其境的感受。该文初步探究了X3D技术,并基于该标准,运用记事本进行X3D程序编码,在运用3DS Max创建的虚拟空间的基础上实现了虚拟红满堂漫游系统。  关键词:虚拟现实;虚拟校园;X3D漫游  中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)31-pppp-0c  The
期刊
摘要:该文介绍了为满足学生评价工作而设计的基于web技术的学生评价系统,并对此系统的需求、总体进行了设计分析。对提高管理学生评价工作的效率具有深刻的意义。  关键词:Web技术;系统实施;需求分析   中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)10-2224-02  随着教育事业及网络的不断发展,学校的各种机制越来越完善,信息管理趋于网络化、信息化。学生数量庞大,
期刊
摘要:随着我国教育改革的不断深入,对于教学所用的材料和资源的认识也在不断调整,数字化教学资源的“服务性”表征也越来越强,成为为教学服务、引导学生认知发展、生活学习、价值观建构的媒介。该文以清远职业技术学院为例,针对高职院校数字化教学资源建设调查及对策进行论述,希望能进一步促进高职院校数字化教学资源建设。  关键词:数字化教学资源;清远职业技术学院;调查;对策  中图分类号:G642文献标识码:A文
期刊
摘要: 该文提出了一种解决物联网通信安全的中间件系统设计方案。重点分析了物联网的组成要素和安全隐患,及中间件系统在物联网安全通信中的关键作用,提出了通过构建中间件系统解决物联网通信安全问题的设计及实施方法。笔者多年来从事计算机安全方面相关工作,综合计算机科学,自动控制,通信技术相关学科知识,提出此中间件模型,以期为物联网安全问题提供部分解决方案。  关键词:物联网;RFID;中间件  中图分类号:
期刊
摘要:通用串行总线(USB)是一种简单的计算机外围接口标准。它具有即插即用、扩展方便等优点,已成为计算机必备的一个接口。该文介绍了oHcI数据四种传输类型之一的B ulk传输,并对Bulk传输的IN/OUTToken进行研究。然后描述在调试Massstorage设备初始化过程中碰到的一个因OHCI Bulk传输而引起的问题,针对该问题进行分析,利用各种调试工具解决问题,文章最后总结了解决问题的心得
期刊
摘要:建构主义理论认为,学生的学习再也不是由教师把知识简单地传授给学生,而是由学习的主体——学生自己去主动地建构知识、获取知识。采用了任务驱动,改革了课程评价模式,实现了全员参与课堂、以学生为主体。  关键词:以学生为主体;多媒体技术;lllustrator;任务驱动  中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2010)23-6613-02
期刊
摘要:通过实例介绍了Madab在微分、积分学中的应用,展示了Madab在高等数学计算机辅助教学中的强大功能。  关键词:Matlab;微分;积分;辅助教学  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2010)23-6637-03
期刊
摘要:在研究了μCOS-II实时操作系统体系结构、运行环境及运行机制基础上,针对Cortex-M3内核的移植需求, 对μCOS-II实时操作系统在Cortex-M3核上的移植进行了实践。同时分析了μCOS-II在Cortex-M3上的移植条件,编写及修改了移植环境的定制与配置,实现了μCOS-II在Cortex-M3上的移植,最后给出了一个基于μCOS-II嵌入式实时操作系统的简单应用。  关键词
期刊