收藏 分享(赏)

小型信息管理系统中数据安全的研究与应用.doc

上传人:cjc2202537 文档编号:1545015 上传时间:2018-08-01 格式:DOC 页数:6 大小:480KB
下载 相关 举报
小型信息管理系统中数据安全的研究与应用.doc_第1页
第1页 / 共6页
小型信息管理系统中数据安全的研究与应用.doc_第2页
第2页 / 共6页
小型信息管理系统中数据安全的研究与应用.doc_第3页
第3页 / 共6页
小型信息管理系统中数据安全的研究与应用.doc_第4页
第4页 / 共6页
小型信息管理系统中数据安全的研究与应用.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、小型信息管理系统中数据安全的研究与应用摘 要:提出了解决面向小型信息管理系统数据安全问题的方法,包括以可移动存储盘作为数据备份盘进行数据备份,并实现本地数据库与备份数据库的同步操作;登录系统时,使用钥匙盘来进行身份验证的方式;结合使用了 Blowfish 数据加密算法,对重要数据进行加密,应用表明上述方法的使用有效地增强了系统的数据安全性。关键词:数据备份;同步操作;身份验证;钥匙盘;数据加密;BlowFish Research and Application of Data Safety in Small Scale of Information Management SystemAbstr

2、act: The text emphasizes to study how to improve the data safety in small scale information management system, including applying the synchronous operation on native database and backup database; the use of key dish to proceed a verification when entering into system; and the use of the Blowfish dat

3、a-encrypt calculation to encrypt important data, the application expresses that the use of the above method strengthens the level of system data safety availably.Key words: Data Backup; Synchronous Operation; Verifying Identity; Key Dish; data encryption; BlowFish0 引言 在信息技术高速发展的今天,信息化浪潮已渗透到了众多行业领域的各

4、个角落。包括很多小型的图书室、超市、书店、药店等等,都建立了自己的信息管理系统,并积累了大量的数据信息。而这些信息一旦丢失或破坏,将会给用户造成巨大的损失,为保证数据信息的安全,向用户提供可靠的服务,增强数据安全是小型信息管理系统必须面对的问题。本文以为某校开发的图书室信息管理系统为例程,在数据备份,登录身份验证,数据加密方面提出了针对小型信息管理系统的解决方案。数据备份是增强数据安全性的根本方式。可能发生的,例如人为错误、硬盘损坏、电脑病毒、断电或是天灾人祸等等,都有可能造成数据的丢失,所以需要将数据备份到另外的存储设备上,当数据丢失或被破坏时,可以及时恢复,以免造成更大的损失。目前,在一些

5、拥有一定规模网络节点的公司、企业,例如一些大中型企业以及大部分的网站等,数据备份采用的是一种叫raid(独立冗余磁盘阵列)的技术,这种技术可以把数据分布到多个硬盘上,从而取得更好的稳定性和性能。具体就是利用raid中的冗余技术,系统会同时把数据写在作为镜像的两个或多个独立的硬盘驱动器或者驱动器阵列上,存放数据的多个拷贝,用来防止数据意外丢失。当其中一个硬盘或者raid出现问题,系统可以访问镜像的硬盘或者raid来继续工作,这样就让数据修复的时间缩短到了最短,此时要做的就是从完好的备份上恢复数据1。其中,镜像最好是处于不同的地域,或者镜像之间最好不要相距太近,这样才能有效的防范某些造成数据丢失的

6、因素,如失窃,火灾等。 而小型信息管理系统的特点:一般仅由一台或两台计算机对数据信息进行存取、管理。考虑到此种信息管理系统的存储设备所处区域比较小,以及成本费用的问题,raid这种数据备份方式是不适用的。为了解决小型信息管理系统的数据备份问题,我们提出一种以可移动存储设备(如软盘、优盘、移动硬盘)作为数据备份盘,利用软件实现数据在本地设备与备份盘上的同步存储,进行数据备份。这种方式下,在进行完数据信息的操作后,可以将可移动存储设备随身携带妥当保存,而且可移动设备成本较低,这样就很好的解决了以上提出的矛盾。由于一次存取的数据量不大,所以利用软件方式,控制针对两个数据库数据执行的操作,实现同步存储

7、,同步删除,同步更改,保证两数据库数据的一致是可行的24。这种方式下,备份数据库下的数据总是与本地数据库的数据保持一致,当数据丢失时,可以利用备份数据库恢复本地数据库。在用户登录系统时,要进行身份验证。一般常用的方式即输入用户名和密码,核对信息正确后,进入系统。但是这种方式的安全性不够高,如果用户不小心丢了密码或系统密码被破解,数据就可能被盗用。此外,一些采用光盘形式发行的应用软件和游戏,在使用时需要检查其光盘是否插在光驱中,若没有,就拒绝运行。但这种方式由于应用了光盘,不便于对其中的信息进行改动,不能动态的分配及管理用户。近期出现的“U盾”身份验证方式,有效的避开了以上两种验证方式的弊端。

8、“U盾”是网络环境里工行用来识别客户身份的数字证书,是一种带智能芯片、形状类似于闪存( 即 U盘) 的实物硬件,特别采用了使用有物理介质的个人客户证书,通过个人证书认证和数字签名技术,对客户实施身份认证。拥有“U 盾” 的用户在使用网络登录时,除了需要提交网上用户名称和密码外,还需要将“U盾”插入电脑的USB 接口,输入“U盾”密码,经过重重验证无误后,才允许进入账户5。借鉴此验证方式,结合小型信息管理系统的特点,提出登录系统时使用钥匙盘进行身份验证。即采用特定的移动存储盘(优盘或软盘)为钥匙,在登录时,先验证是否插入了钥匙盘,利用用户输入的密码,解密数据库内用户注册时分配给钥匙盘的认证信息以

9、及用户的认证信息,并核对盘内保存的信息,验证用户身份。这种方式好像给系统加了一层坚硬的外壳,增强了系统安全性,而且成本较低,容易制作,非常适用于小型信息管理系统。为了增强数据安全性,结合Blowfish 加密算法对钥匙盘认证信息、用户认证信息以及数据库内其它一些重要数据进行了加密存储67。如果对用户密码等认证信息不做处理,在进入登录窗口比较时,正确的用户认证信息会以明文形式在内存中出现,解密者可以通过内存调试器(如SOFTICE)在内存中很容易的找到它,从而获得密码;如果只对其加一些简单的变换算法,而解密者也可以利用这些算法制作一个解密机,计算出密码来8。同样的,对其他一些重要数据的加密也是非

10、常必要的。如本系统中的借阅信息等,进行加密,有助于增强系统的安全性。即使系统被使用爆破法(被解密者通过内存调试程序,跳过比较语句,直接进入系统)进入,由于没有正确的密码,一些以密文形式存储的数据对他们毫无意义。1 本地数据库与备份数据库的同步存储1.1 事务回滚事务执行过程中,数据库内的操作出现任何错误不能保证数据的完整性时,使用事务的回滚。本文例程是基于 SQL Server 2000 数据库管理系统,其对每个数据库实例存在对应的事务日志记录数据库内的数据修改。日志记录每个事务的开始和结束并将每个修改与一个事务相关联。SQL Server 2000 实例主要将所执行的逻辑操作记入日志。重新应

11、用操作将前滚修改,反向执行逻辑操作将回滚修改。如果在事务执行过程中出现任何错误,SQL Server 实例将使用日志文件中的信息回滚事务。通常情况下,错误被返回给应用程序,如果错误表明事务可能有问题,则应用程序发出 ROLLBACK 语句。如果连接数据库服务器的客户端应用程序终止,客户端计算机关闭或重新启动,或者如果客户端网络连接中断,可能会发生这种情况,在所有这些错误情况下,需要回滚任何未完成的事务以保护数据库的完整性。启动时恢复所有未完成的事务。每次启动 SQL Server 实例时,它都必须找出是否存在这些情况并加以解决。实例中的每个 SQL Server 数据库都采用下列步骤: SQL

12、 Server 实例通过反向应用日志记录中记录的逻辑操作,向后扫描日志文件以回滚所有未完成的事务。1.2 同步操作实现方案本地数据库与备份数据库并不是同时操作,这体现在程序编写的先后顺序上,实际上,真正意义上的同时并行进行数据操作是不可能的。因此,为了保证两数据库操作的一致性,需要加一些处理,去协调两个数据库的操作,使其与同时并行操作的效果相同。(1)本地数据库操作执行过程(如图1.a)与备份数据库操作执行过程(如图1.b)其中,设定一个标记(这个标记被存入数据库中的一个表) ,由它标定本地数据库是否已经执行操作。在每次进行数据库操作以前,先要看一看标记是否正确,不正确就报错,并且将错误信息写

13、入 error 数据表。例如,当要进行添加借阅信息操作时,向本地数据库添加前,标记标定本地数据库已被写入,此时报错,分析其错误原因可能是上一个操作,本地数据库写入,而备份数据库写入出错,这时候调用 error处理函数。本地数据库是否被写入报错! 调用错误处理函 数本地数据库执 行操作,置位标 记执 行过程中是否出错回滚事务永久提交本地数据库是否被写入报错! 将信息写入r e c o r d e r r o r 数据表保存 ,调用错误处 理函数备份数据库执 行操作,复位标 记执 行过程中是否出错回滚事务永久提交是 否是否否是否是a . 本地数据库写 入过程 b . 备份数据库写 入过程图 1 数

14、据库操作执行过程流程图the Process Diagram of the Operation on Database (2)recorderror 数据表与错误处理函数写入 recorderror 数据表的信息包括:a.关于操作的一些信息,比如上例添加借阅信息中出错,图书书号便是主要记录的信息,这样,有利于报错信息的明确性:上例中,报错信息将为“图书借阅,书号=000412302,备份数据库写入错误,于2005 年 2 月 21 日!”b.向表内存入执行时发生错误的那条sql 语句,以便选择执行数据库的再次写入时,执行这个操作。错误处理函数流程图如下(图 2):空否? 退出调 用标记即备份

15、数据库被回滚 或没有 完 成操作,调 用备用数据库写入 过 程即本地 数据库被回滚 或没有 完 成操作,调 用本地数据库写入 过 程是否手动操作 退出调 用错误处理开始是否是否否是图 2 错误处理函数流程图the Diagram of Error Dispoing Function2 钥匙盘身份验证2.1 钥匙盘的生成(1)向盘里写信息由高级管理员向各管理用户分配一个pass.ini 文件,其中信息包括用户代号(用于验证时区分用户) ,用户认证信息,密码,将此文件存入各管理用户的邮盘中。(2) 钥匙盘认证信息、用户认证信息加密后写入数据库钥匙盘认证信息是用来鉴别插入得一动存储盘是否真正的钥匙盘

16、;用户认证信息用来识别用户身份。将两类认证信息使用 blowfish 算法加密后,放入数据库的password 表中,与其一起放入的还有用户权限,用户代号,姓名,电话等一些属性;并且,对于数据库中的其他一些重要数据,也将进行加密存储处理。 (3) 钥匙盘遗失或损坏情况处理在这种验证方式下,用户的钥匙盘是作为进入系统必要得条件。假如一旦不小心遗失了钥匙盘或损坏了其中的信息数据怎么办?首先不用担心别人拿了钥匙盘可以进入你得系统盘,窃取信息资料。因为这种验证方式下,除了钥匙盘的保护外,还有一层密码保护,只要你的密码没有透漏给别人,别人也是无法进入你的系统,就算通过内存调试修改了比较语句,强行进入系统

17、,由于没有正确的密码,得到的数据也仅仅是密文的形式,毫无意义。在钥匙盘丢失或者损坏后,可以通过系统提供的另外一个通道进入系统。即高级管理用户,可以通过输入注册码以及用户名,进入系统,然后把丢失的钥匙盘信息删掉,重新分配一个钥匙盘以供使用。此处的注册码信息在数据库中是以密文形式存储的,为了确保系统的安全,注册码一般设有很多位,而进行比较时,如前所述,以用户名作为 key,解密数据库中的密文,再与高级管理员输入的注册码比较,进行验证。2.2 登录验证过程(1)确认钥匙盘是否插入,是,继续运行程序;否,强行关闭程序。某一台机器上的移动存储盘盘符可能不同,不能静态规定,从 A:到 Z:进行动态扫描,找

18、到钥匙盘。若是移动盘,并且文件存在,则停止查找;文件不存在,继续查找,直至找到钥匙盘。 (2)读文件信息,对密码进行验证利用用户登陆时输入的密码做为 key,对此系统数据库存储的用户认证信息进行解密,然后与用户的文件中的认证信息比较如果用户认证信息不一致,则退出系统;否则,进入主程序。验证过程程序流程图如图 3。是 否钥匙盘是否系统分区内最后一个盘解 密信息并核对是否正确是否顶 级管理员强行关 闭 程 序输入注册码 ,用户名, 解密信息并核对是否正 确登录 系 统验 证开始是否是是否否否是是图 3 登录验证流程图the Process Diagram of Verifying before E

19、ntering into System3 数据加密本文例程中应用了 BlowFish 加密算法,对客户的注册信息以及其它一些重要的数据进行了加密。3.1 数据加密定义数据加密的基本过程就是对称为明文的原来可读信息按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 3.2 对称式加密加密技术通常分为两大类:“对称式”和“非对称式”。对称式加密就是加密和解密使用同一个密钥,这种加密技术目前被广泛采用。对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是

20、实现密钥的秘密分发困难,不便于应用在网络开放的环境中。非对称式加密加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”( 可以对外公布)和“ 私钥 ”( 只能分配给持有人) ,它们两个必需配对使用,否则不能打开加密文件。非对称加密算法的优点是能适应网络的开放性要求,密钥管理简单。其缺点是算法复杂,加密数据的速度和效率较低。因此在实际应用中,通常将对称加密算法和非对称加密算法结合使用,利用对称加密算法来进行大容量数据的加密,而采用非对称算法来传递对称加密算法所使用的密钥。而对于小型图书室信息管理系统中,用户的登录,不存在网络传输的问题,而且为了提高阅览大量数据时的效率,本系统数据采用对

21、称式加密算法。对称算法的加密密钥和解密密钥是完全相同的,其安全性依赖于以下两个因素。第一,加密算法必须足够强,仅仅基于密文本身去解密信息在实践中是不可能的;第二,加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性。采用对称算法检验注册信息,正确的使用方法是把用户输入的注册信息(或者注册信息的一部分注册信息的散列值)作为加密算法或者解密算法的密钥。这样,解密者要想找到一个正确的注册信息,只能采用穷举法。为了增大穷举的难度,要求注册信息有一定的位数。如果在检查注册信息时,把用户的输入码作为算法的输入或输出,则无论是用加密算法还是解密算法检查注册信息,解密者都可利用调试器在内存中找到所用的密钥,

22、从而可以将算法求逆,写出注册机来。3.3 BlowFish 算法BlowFish 算法是一个 64 位分组及可变密钥长度的分组对称算法,BlowFish 算法用来加密 64Bit 长度的字符串。BlowFish算法使用两个“ 盒” unsigned long pbox18和 unsigned long sbox4,256。 BlowFish 算法中,有一个核心加密函数 :BF_En。该函数输入 64 位信息,运算后,以 64 位密文的形式输出。 用 BlowFish 算法加密信息,需要两个过程:(1)密钥预处理;(2)信息加密,说明如下: (1)密钥预处理: BlowFish 算法的源密钥 p

23、box 和sbox 是固定的(略) 。要加密信息,需要选择一个 key,用这个 key 对 pbox 和 sbox 进行变换,得到下一步信息加密所要用的key_pbox 和 key_sbox。具体的变化算法如下: 用 sbox 填充 key_sbox 用自己选择的 key 8 个一组地去异或 pbox,用异或的结果填充key_pbox,key 可以循环使用。 用 BF_En 加密一个全 0 的 64 位信息,用输出的结果替换 key_pbox0和key_pbox1,i=0。 用 BF_En 加密替换后的key_pboxi,key_pboxi+1,用输出替代key_pboxi+2和 key_pb

24、oxi+3。i+2,继续第 4 步,直到 key_pbox全部被替换。用 key_pbox16和 key_pbox17做首次输入(相当于上面的全 0 的输入) ,用类似的方法,替换 key_sbox 信息加密。(2)信息加密就是用函数把待加密信息 x 分成 32 位的两部分:xL,xR,BF_En函数对输入信息进行变换。BF_En 函数算法如下: 对于 i=1 至 16 xL=xLPi xR=F(xL)xR 交换 xL 和 xR(最后一轮取消该运算) xR=xRP17 xL=xLP18 重新合并后输出的结果就是密文。 其中,函数 F(xL)=(S1,a+S2,b)MOD232)S3,c)+S4

25、,d) MOD 232,如图4。S - 盒1S - 盒2S - 盒3S - 盒4加异或加3 2 位8 位8 位8 位8 位3 2 位3 2 位3 2 位3 2 位 3 2 位图 4 函数 F 算法图Fig.1 the Calculation Diagram of Function F用 BlowFish 算法解密,同样也需要两个过程:1、密钥预处理,2、信息解密。密钥预处理的过程与加密时完全相同;而信息解密的过程就是把信息加密过程的key_pbox 逆序使用即可。 4 结束语本文针对小型信息管理系统的数据安全性问题进行了评述与改进,包括提出将数据备份到移动盘上,并实现了本地数据库与备份数据库操

26、作的同步执行,从而保证了数据库的一致性;结合当前较新的身份验证方式U 盾技术的启发,提出使用钥匙盘来进行身份验证的方式,并使用 Blowfish 数据加密算法,对重要数据进行加密,应用表明此方案提高了小型信息管理系统的数据安全性,切实可行。参考文献1 Hsieh J, Stanton C, Ali R. Performance evaluation of software RAID vs. hardware RAID for Parallel Virtual File System C.Parallel and Distributed Systems, 2002. Proceedings. N

27、inth International Conference on 17-20 Dec. 2002 Page(s):307 - 313 2 2 Brass S, Goldberg C. Proving the safety of SQL queriesC. Quality Software, 2005. Fifth International Conference on 19-20 Sept. 2005: 197 204.3 Narasimhan R, Rosenkrantz D J, Ravi S S. Early comparison and decision strategies for

28、datapaths that recover from transient faultsJ. Circuits and Systems I: Fundamental Theory and Applications, IEEE Transactions on Volume 44, Issue 5, MAY 1997: 435 - 4384 Ge-Ming Chiu, Cheng-Ru Young. Efficient rollback-recovery technique in distributed computing systemsJ. Parallel and Distributed Sy

29、stems, IEEE Transactions on Volume 7, Issue 6, June 1996: 565 577. 5中国工商银行中国网站:U盾网上银行的安全卫士EB/OL.2005-9-29. http:/ Sien O.B, Samsudin A, Budiarto R. A new image-database encryption based on a hybrid approach of data-at-rest and data-in-motion encryption protocolC. Information and Communication Techno

30、logies: From Theory to Applications, 2004: 603 - 6047 Kofahi N A, Al-Somani T, Al-Zamil K. Performance evaluation of three encryption/decryption algorithms Circuits and Systems, 2003C. Proceedings of the 46th IEEE International Midwest Symposium on Volume 2, Dec 2003: 790 793.8 Caloyannides M A. Encryption wars: shifting tacticsJ. Spectrum, IEEE Volume 37, Issue 5, May 2000: 46 51.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报