数据库加密可行性实施报告分析报告Word格式.docx
《数据库加密可行性实施报告分析报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据库加密可行性实施报告分析报告Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
2.6技术风险分析………………………………………16
2.7项目进度甘特图……………………………………17
2.8人员分工……………………………………………17
3.市场分析…………………………………………………17
3.1市场预测……………………………………………17
3.2项目市场竞争优势、风险及市场策略……………18
3.3经济社会效益分析…………………………………18
3.4推广应用及产业分析………………………………18
1.总论
1.1项目背景简介
当今社会是一个信息化社会,信息安全已经深入到人们工作生活的每一个角落,人们对信息安全的需求与日俱增。
随着信息技术的飞速发展,数据信息的安全已成为当前信息社会非常关注的突出问题。
数据库作为当前信息系统的基础平台,保障其数据的安全对整个社会具有重大意义。
数据库系统信息的安全性依赖于两个层次:
一式操作系统提供的安全保障;
二是数据库自己提供的安全措施。
目前一些通用的操作系统都具有用户注册、识别用户、任意存取控制(DAC)、审计等安全功能,而且DBMS在OS的基础上也增加了不少安全措施。
但是OS和DBMS对数据库文件本身仍然缺乏有效地保护措施,有经验的网上黑客会“绕道而行”,直接利用OS工具窃取或篡改数据库文件容,这种隐患被称为通向DBMS的“隐秘通道”,它所带来的危害一般数据库用户难以察觉。
随着科学和技术的发展,传统的数据库安全技术,如访问控制、防火墙和入侵检测等已经不能解决所有的数据库安全问题。
通过制定安全策略和权限的控制,我们可以管理好数据访问上的安全问题,访问控制技术是一种非常有效的安全措施,它有一些成熟的安全理论模型作为基础。
但是,这并不意味着有了访问控制技术,安全问题就能得到解决。
比如存在以下一些安全漏洞:
1)操作系统不足以提供安全保护。
在不同层次的软件系统中有着不同的操作对象,对这些对象的保护很难最终由操作系统实现。
数据库中存在多种不同粒度的对象,如数据库、表、记录等,这些对象无法直接对应为操作系统对象,无法由操作系统提供保护;
2)数据库管理员(DBA)的权限过大,DBA有权访问全部的数据,这很可能会造成信息的泄漏;
3)备份介质丢失造成信息的泄密。
维护数据库系统安全需要对数据库中的数据进行定期备份,大量的数据备份文件存储在无保护的磁性和光学介质中,流失的隐患相当大,从而可能造成信息的泄漏。
这对于敏感数据(比如用户的密码、信用卡信息等)而言是很大的冲击。
由此可见,在传统安全措施的基础上,保障数据库数据安全需要采用数据加密技术将数据库中的数据加密,从而绕过了各种安全机制,这样就可以避免因人为因素的数据泄漏或是备份数据截止的流失等各种原因造成的信息泄露。
1.2项目容及技术原理简介
1.1.1项目容
基于SQLServer2005的数据库加密
1.2.2SQLServer2005的安全体系与加密体系
A.安全体系:
i.网络安全。
实现服务器和客户机之间的密文传送。
ii.Windows操作系统安全。
SQLServer2005服务器所在的Windows操作系统的安全也是非常重要的,一旦操作系统被攻克,那么依附在其上的安全也就荡然无存了。
iii.SQLServer2005服务器安全。
SQLServer2005服务器采用了身份验证机制,用户必须先通过身份验证才能进入到服务器部。
iv.SQLServer2005数据库安全。
身份验证通过后,服务器级别的登录名可以映射为数据库上的用户名,用户名就代表了对数据库的操作权限。
v.SQLServer2005数据对象安全。
SQLServer2005在数据对象层还提供了安全按机制。
vi.物理存储的安全。
除了逻辑上的服务器、数据库、数据对象的安全机制之外,还需要考虑物理存储介质的安全。
B.加密体系:
在SQLServer2005之前的版本,如果我们需要对其中的数据进行加密,就得需要单独的第三方软件来完成,而在SQLServer2005中,其自身就采用了加密机制,既包括对称加密技术也包括数字签名和非对称加密技术,也就是说不需要借助第三方软件来实现对数据的加密和颁发数字证书。
我们可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS层、DBMS核层和DBMS外层。
i.在OS层加密。
在OS层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难。
所以,对大型数据库来说,在OS层对数据库文件进行加密很难实现。
ii.在DBMS核层实现加密。
这种加密是指数据在物理存取之前完成加解密工作。
这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合。
其缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持。
这种加密方式如图1所示:
iii.在DBMS外层实现加密
比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加/脱密处理。
采用这种加密方式进行加密,加/脱密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。
这种加密方式如图2所示:
而在SQLServer2005中提供的完整加密体系结构如图所示:
i.服务主密钥。
SQLServer2005服务器安装时,会自动产生一个基于对称加密技术的服务器主密钥。
该密钥可以用来对数据库的主密钥进行加密,而在数据库的主密钥的支持下,又可以构建基于数字证书、对称和非对称加密的体系。
管理员不能对服务器主密钥进行修改或删除,SQLServer2005仅提供备份和恢复服务器主密钥的功能。
ii.数据库主密钥。
如果要加密数据库中的数据,管理员就要通过特定的命令来产生数据库的主密钥。
每个数据库只能有一个主密钥,管理员可以手工创建、删除、修改和加密数据库主密钥。
iii.DPAPI。
SQLServer2005通过DPAPI(数据保护应用编程接口)调用Windows操作系统中的加密函数,从而可以在安装服务器时自动产生服务器主密钥,在服务器主密钥的基础上又可以对数据库的主密钥等进行加密。
可以认为DPAPI就是把SQLServer2005服务器和Windows操作系统联系起来的接口,基于这个接口,SQLServer2005就可以使用操作系统的加密功能。
iv.数字证书。
SQLServer2005提供了数字证书的颁发功能,管理员仅需要通过执行相关的语句就可以生成数字证书,生成的数字证书还可以通过数据库主密钥进行加密。
数字证书可以直接对数据进行加密。
数字证书可以用于对对称密钥进行加密。
v.对称密钥。
SQLServer2005提供置的产生对称密钥的语句,产生的对称密钥可以对数据进行加密。
对称密钥可以被数字证书或非对称密钥加密。
对称密钥本身可以被另一个对称密钥加密。
C.密钥的加密
关系图如下:
WindowsDP API
Password
服务器主密钥
非对称密钥
数字证书
对称密钥
数据库主密钥
服务器级别
数据库级别
1.2.3数据库加密核心技术
对称加密:
SQLServer2005中的ManagementStudio并没有直接提供产生对称密钥的方法,管理员要为数据库产生对称密钥,需要执行特殊的CREATESYMMETRICKEY语句,而创建好的对称密钥通过OPENSYMMETRICKEY和CLOSESYMMETRICKEY语句来打开和关闭,在对称密钥已经打开的情况下,我们就可以使用相应的使用对称密钥加解密数据的语句来实现对数据库中的某些数据进行加解密。
需要注意的是,在进行加解密之前,都要先确钥未开启状态,而在加解密结束后,要将对称密钥关闭。
在数据库加密中常用的对称加解密算法有:
DES、IDEA、Blowfish、RC5、CAST-128和RC2。
需要指出的是,不同的Windows操作系统版本住处的加解密算法可能不完全一致,比如说WindowsXPProfession不支持AES-256的加解密算法,在执行相对应的SQL语句时会提示相关的信息。
1.3相关技术的发展现状及趋势
关于数据库安全,美国从七十年代就开始从事安全数据库管理系统的理论研究。
IBM公司的C.Wood,E.B.Ferriandea,R.C.Summers在IBMSystemsJournal1980提出的《DatabaseSecurity:
Requriement,Policies,andModels》,以及GeorgeI,DavidaLW,JohnBK在1981年的ACMTransactiononDatabaseSystem上发表《Adatabaseencryptionsystemwithsubkey》,被普遍认为代表着加密数据库研究的开始。
为适应计算机安全技术飞速发展的需要,美国于1983年发布了“可信计算机系统评估标准(TCSEC)”,1985年又发布了其修订版。
TCSEC的发布有力的促进了安全计算机系统的研究,也促进了安全数据库管理系统的研究。
R.L.Rivest等人提出了同态加密算法对数据进行加密,使用者直接对数据库密文进行操作而无需解密。
这种方法减少了加解密的开销,提高了数据的操作性能。
但是一般来说,秘密同台函数的抗攻击性能不好,有文献已经提出了其攻击方法。
近几年来,很多大型关系数据库系统主要都是通过不同程度的修改DBMS核心来达到数据库安全的效果。
例如Oracle公司在其产品oracle8i的第二版允许数据和应用程序管理者可以在数据库里直接加密字符数据、二进制数据和LOB数据。
各种主流数据库,除了提出自身的数据库加密解决方案外,还积极与第三方软件合作,力图通过各种外围方法来解决数据库加密的问题。
从总体上来说,各个数据库厂商一般都提供了一些数据库加密的解决方案,部分解决了对敏感数据的加密问题。
然而,这些解决方案都不能很好的达到多用户共享密钥和加密数据的效果。
由数据加密还带来了另外一个问题——加密数据的搜索效率问题,这方面的研究,HakanHacigumus和ZHENG-FEIWANG做了很多有建设性的工作。
在国,由于计算机、数据库和网络的应用总体上要落后于国外,加密数据库的研究与应用也相对落后与国外。
在我国,很多公司、企业、甚至国家部门使用的网络软硬件产品、防火墙硬件、入侵检测产品、操作系统甚至包括数据库产品在,都严重依赖国外。
因此国对数据库加密的需求非常迫切,因为通过对数据库中的数据进行加密,可以从根本上、自主地保证数据的安全性。
从这点来说,数据库加密技术是我们在信息安全领域应该抓住的一个机遇。
采取修改DBMS核的方式来达到数据库加密的效果对国研究人员来说不太现实。
这是因为修改DBMS核的工作量非常大,更重要的是,这种方式必须要DBMS开发商的全力支持,而这一点几乎不可能做得到。
因此国的相关研究基本上通过在DBMS外围构造加密程序组件的方法,可以达到数据库加密的效果。
从总体上来说,由于国在数据库加密方面起步较晚,真正在安全性和易用性方面都达到令人满意的成熟产品尚未出现。
1.4人员基本情况
1.5现有工作基础和支撑条件
我们小组发到目前为止就只是大概的了解了一下有关数据库加密技术的一些相关知识并下载了一些相关的文档,但是对于深层次的东西还没有去深入研究和参考。
总的来说只是对项目有一个整体的框架认识,初步的了解了一下实现数据库中对称和非对称加解密的一些简单原理和算法的一些相关基础知识,但是对于如何将加解密的功能嵌入到数据库管理系统中的相关问题还未进行深入的了解,这也将是我们下一个阶段的任务计划之一。
2.项目实施方案
2.1项目目标及考核技术指标
A.项目目标。
采用对称和非对称加解密算法实现对数据库中敏感数据和字段的加解密,从而在一定程度上保障敏感数据的安全。
B.考核技术指标。
可以对我们自己设计的数据库中的数据进行加密解密。
2.2项目的主要研究容
本次实训我们所选的方向是数据库安全,目前有很多保障数据库安全的措施,而我们所选择的是数据库加密,因此研究方向就是采用加密机制保障数据库中敏感数据的安全,笼统的来说就是数据库加密。
2.3测试规模
测试过程:
测试策略为“由小到大”模式,即:
1)单元测试:
由程序员个人负责,集中测试最小可编译的程序单元。
这里通常采用白盒测试和静态测试的方法,对程序中的语句、部数据结构、接口、边界等容进行测试和改进。
并同调试一起进行,优化个人模块,等待集成。
2)集成测试:
集中每个人的软件模块,由指定人员负责集成测试。
目标是把通过了单元测试的模块组合在一起,发现测试过程中与模块接口有关的问题。
3)系统测试:
确认系统满足用户需求,所有功能和性能都得到满足,同时提供安全性、容错性、性等保证措施。
2.4主要技术关键及创新点
本次项目的技术关键有两点:
一是加密算法的实现及其安全性;
二是如何将在上一阶段实现的算法嵌入到系统中从而实现完整的数据库加密功能。
由于在本次实训中我们将采用目前密码学研究中工人的加解密算法,因此,算法的安全性是可以保障的。
2.5项目实施方案
项目将使用DES算法对数据加密,然后将加密算法嵌入系统中,从而实现对数据库的加密。
2.5.1DES算法原理
1、DES算法的基本思想
DES对64位明文进行分组计算。
首先通过初始置换将明
文分组分成左半部分(L0)和右半部分(R0),各为32位长度。
然后将R0与子密钥K1进行F函数运算,输出32位序列,再
与L0进行异或操作得到R1,如此经过16轮运算后,将左、
右半部序列合在一起,最后经过末置换(初始置换的逆置换),
完成对对数据的加密,算法流程参见下图。
2、子密钥的生成
子密钥的产生假如将64位密钥进行密钥置换,不考虑每
个字节的第8位,DES密钥由64位减至56位,56位密钥被
分成两部分,前28位为C0,后28位为D0。
C0=K57K49K41…
K52K44K36,D0=K63K55K47…K20K12K4。
接着,根据轮数,Ci和Di分别经过LSi循环左移1位
或2位。
16次循环左移的位数依据下列规则进行:
循环左移位数1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1
经过循环左移得到的Ci、Di经过压缩置换即得到子密钥
Ki(i=1,2,…,16)。
压缩置换也称作置换选择,位就是从
56位中选出48位,表2定义了压缩置换。
例如,处在第33
位位置的那一位在输出时移到了第35的位置,而处在第18
位位置的那一位被略去了。
2.5.2DES算法安全性问题
1、DES算法密钥的长度
到目前位置,最有效的破解DES算法的方法是穷举搜索
法,那么56位长的密钥总共要测试256次,如果每100毫秒
可以测试1次,那么需要7.2×
1015秒,大约是228,493,000
年。
但是,仍有学者认为在可预见的将来用穷举法寻找正确
密钥已趋于可行,所以若要安全保护10年以上的数据最好不
用DES算法。
2、弱密钥问题
DES算法中存在12个半弱密钥和4个弱密钥。
由于生成
子密钥的过程中密钥被分成了2个部分,假如这2个部分分
成了全0或全1,那么每轮产生的子密钥都是相同的,当密
钥是全0或全1,或者一半是1或0时,就会产生弱密钥或
半弱密钥,此时DES算法安全性就会变差。
2.6技术风险分析
基于我们现有的条件,由于对数据库系统低层次的东西了解甚少,觉得在本次项目中存在的最大风险就是可能无法很好的将实现的算法嵌入到数据库系统中,从而不能达到预期的数据加密效果。
2.7项目进度甘特图
2.8人员分工
3.市场分析
3.1市场预测
数据库作为当前信息系统的基础平台,保障其部数据的安全对于整个社会有非常重大的意义。
目前的电子商务系统等正不断的发展,保障其后台数据库的安全已是不可忽视的重大问题。
而在操作系统和服务器级别上保障数据库安全具有很大的局限性和挑战性,因此在数据库上考虑安全性是目前来讲比较有实际效益的方案,而在数据库层面上,加密是一个很好的实现数据安全的平台。
因此,数据库加密具有很好的市场发展前景。
3.2项目市场竞争优势、风险及市场策略
本项目是大学软件学院的教学实训项目之一,就目前来讲不涉及任何的市场竞争问题,当然也就没有所谓的风险和市场策略可言。
3.3经济社会效益分析
本项目是教学实训项目之一,目前没有涉及到市场经济效益问题。
3.4推广应用及产业分析
此项目为开源项目,所以市场前景非常看好。