您好、欢迎来到现金彩票网!
当前位置:秒速时时彩开奖 > 算法保密 >

在数据库开发中遇到的数据保密问题

发布时间:2019-07-25 01:15 来源:未知 编辑:admin

  攀枝花学院学报2007 Vol.24. PanzhihuaUniversit Jun.2007 电子技术研究 (攀枝花学院计算机学院,四川攀枝花 617000) 数据库的安全问题一直是数据库的开发者以及使用者非常关心和重视的问题,这是个非常难解的问 。开发者在开发时容易产生一些相应的问题,而无法确保数据的安全性 我们针对我们在开发系统时遇到的几个问题作了以下分析 关键词数据库 ;安全 ;加密 ;密钥 SQL作者简介 (1980—),四川省攀枝花市人 攀枝花学院计算机学院,助教 。主要研究方向 引言在现实社会当中 ,我们用数据库系统来存储我们大量的数据以方便我们以后所进行的数据备份 询等等操作。我们经常需要一种措施来保护我们的数据 ,防止被一些怀有不良用心的人所看到或者破 。在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或篡改。所以在我们编写的数据 库程序当中 ,我们需要用到大量的加密保护技术来防范我们编写的数据库文件被窃取 。我们常用的方法 主要就是密码框登陆 ,它可以防止没有权限的人员随意登陆数据库程序。 那么数据库密码框登陆的信息如何进行存储就是我们最关心的问题了 。数据库用户的信息我们一 般是存储在数据库文件里的 ,如果密码采用明码存储 (即用户的密码不变的保存在数据库文件中 易引起泄密,所以还需采取一些其他必要措施来加强数据库的安全。 最常用的方法是将存储到数据库文件的信息实施加密解密 。一些方法是非常直接的 ,可以很方便的 对数据进行加密和解密 加密方法在传统上 ,我们有几种方法来加密数据流 。所有这些方法都可以用软件很容易的实现 ,但是当我们 只知道密文的时候 ,是不容易破译这些加密算法的 (当同时有原文和密文时 ,破译加密算法虽然也不是很 容易 ,但已经是可能的了 。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优 。例如,大家都知道的 PKZ IP,它既压缩数据又加密数据 。又如 DBMS的一些软件包总是包含一些 密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码 。所以这些加密算法 都有 高效的加密和解密能力 在现有的加密算法中一种非常简单的算法就是“置换表”算法 ,这种算法加密效果能达到一般加密 的需要 。其具体实现 :每一个数据段 (一个字节 )对应着“置换表 ”中的一个偏移量 ,偏移量所对应的值就 输出成为加密后的文件 。加密程序和解密程序都需要一个这样的“置换表 ”。事实上 80x86CPU 系列就 有一个指令‘XLA T’在硬件级来完成这样的工作 。这种加密算法比较简单 ,加密解密速度很快 ,但是一旦 这个“置换表 ”被窃取 ,那么这个加密方案就完全被识破了 。更进一步讲 ,这种加密算法对于黑客破译来 讲是相当直接的 ,只要找到一个“置换表 ”就可以了 。这种方法在计算机出现之前就已经被广泛使用了 与使用“置换表”相类似 ,“变换数据位置 ”也在信息加密中使用 。但是 ,这需要更多的执行时间 入中读入明文放到一个buffer ,再在buffer 中对他们重排序 ,再输出 。解密程序按相反的顺序还原数 。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难 ,几乎有些不可能了。 例如 slient可以变为 listen,变换了字母的顺序 ,但字母没有增加也没有减少 ,只是字母的顺序发生了变 还有一种更好的加密算法,只有计算机可以做 ,就是字 /字节循环移位和 XOR )操作。如果我们把一个字或字节在一个数据流内做循环移位 ,使用多个或变化的方向 (左移或右移 ,就可以迅速的产生一个加密的数据流 。要破译用这种方法加密的数据就更加困难 更进一步,如果再使用 XOR 操作 ,要破译更加困难了 。如果再使用伪随机的方法 ,这涉及到要产生一系列的数字 ,我们可以使用 Fib2 bonaci 数列 。对数列所产生的数做模运算 (例如模 ,得到一个结果,然后循环移位这个结果的次数 但是,使用 Fibbonaci 数列这种伪随机的方式所产生的密码对我们的 解密程序来讲是非常容易的。 在一些情况下 ,我们希望能够知道数据是否已经被篡改或被破坏了 ,这时就需要产生一些校验码 且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的 。循环冗余校验是一 种典型的校验数据的方法 。对于每一个数据块 ,它使用位循环移位和 XOR 操作来产生一个 16 32位的校验和 ,这使得丢失一位或两个位的错误一定会导致校验和出错 ,并且能够对产生的一位错误进行 相应的纠错 。除此之外还有海明码 加密算法一个好的加密算法的重要特点之一是具有这种能力 :可以指定一个密码或密钥 ,并用它来加密明文 不同的密码或密钥产生不同的密文。这又分为两种方式 :对称密钥算法和非对称密钥算法 。所谓对称密 钥算法就是加密解密都使用相同的密钥 ,非对称密钥算法就是加密解密使用不同的密钥 Encryption Standard,数据加密标准 )就是一个典型的对称加密算法 。它是由 IBM 公司研 制的一种加密算法 ,美国国家标准局于 1977 年公布把它作为非机要部门使用的数据加密标准 ,二十年 ,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色 。它的密钥长度是 56 ,密钥可以是任意的56 ,而且可以任意时候改变。其中有极少量的数被认 为是弱密钥 ,但是很容易避开他们 。所以保密性依赖于密钥 。DES 需要通过一系列的代替 、置换 循环以完成对数据的加密算法。DES加密和解密唯一的不同是密钥的次序相反 。如果各轮加密密 别是K1, K2, K3 K16,那么解密密钥就是K16, K15, K14 K1。 非常著名的 PGP 公钥加密以及 RSA 加密方法都是非对称加密算法 。加密密钥 ,即私钥,是截然不同的 。从数学理论上讲 ,几乎没有真正不可逆的算法存在 。例如 ,对于一个输入‘a’ 执行一个操作得到结果‘b’,那么我们可以基于‘b’,做一个相对应的操作 ,使输出为‘a’。在一些情况 ,对于每一种操作,我们可以得到一个确定的值 ,或者该操作没有定义 (比如 ,除数为 。对于一个没有定义的操作来讲 ,基于加密算法 ,可以成功地防止把一个公钥变换成为私钥 。因此 ,要想破译非对称加 密算法 ,找到那个唯一的密钥 ,唯一的方法只能是反复的试验 ,而这需要大量的处理时间 。因而使得这种 破译几乎不可能。 RSA 加密算法使用了两个非常大的素数来产生公钥和私钥 。即使从一个公钥中通过因数分解可以 得到私钥 ,但这个运算所包含的计算量是非常巨大的 ,以至于在现实上是不可行的 。加密算法本身也是 很慢的 ,这使得使用 RSA 算法加密大量的数据变的有些不可行 。这就使得一些现实中加密算法都基于 RSA 加密算法。 PGP 算法 (以及大多数基于 RSA 算法的加密方法 )使用公钥来加密一个对称加密算法的 密钥 ,然后再利用一个快速的对称加密算法来加密数据 。这个对称算法的密钥是随机产生的 ,是保密的 因此,得到这个密钥的唯一方法就是使用私钥来解密 一个简单加密算法的实现往往算法越复杂 ,那么这个算法的运算所包含的计算量就会越庞大 。然而在我们并不需要过高加密 性的程序当中 ,我们一般用一些简单容易实现的算法来满足我们在程序设计当中的需要 。我们在这里实 现了一个简单的对数据进行加密和解密的算法 。该算法使用 object pascal语言编写 Delphi 过了验证。该算法由两个方法程序组成 :一个是加密程序 Encryp t,它实现了对字符串的前十位进行 加密;另一个是解密程序 Decryp t,它实现了对字符串的前十位进行异或解密 。该算法是一个典型 的对称 41 算法。const PW _Code /密钥数字var iC ryp integer;function Encryp /输入密码原文字符串var integer;begin /此加密算法只对字符串的前十位进行异或加密sStr /需要加密的字符串个数是否大于10 iCryp 10else iC ryp iCryp dosStr[ PW_Code[ /输入密码与密钥进行异或运算 Encryp /返回加密后的字符串end; function Decryp Pass_E:String) /输入加过密的字符串var integer;begin /此解密算法只对字符串的前十位进行异或解密sStr /需要解密的字符串个数是否大于10 iCryp 10else iC ryp iCryp dosStr[ PW_Code[ /输入密码与密钥进行异或运算 Decryp /返回加密后的字符串end; 当然 ,该密码算法被进行破解的可能性是非常大的 。为了简单防治该算法被破解 ,我们可以把该算 法编译成动态链接库文件 。编写方法可以参考相关书籍 。需要注意一点 ,因为这两个方法程序传递的参 数是字符串 ,最好把字符串参数定义为 PChar 数据库应用程序编写需要注意的地方SQL 语句作为国际标准的数据库查询语句 ,在各种编程环境中得到了广泛的应用 。作为一个成熟 稳定的系统,用户登陆和密码验证是必不可少的 。然而大量的程序编写过程中也暴露出了不少的问题 fromuser where nam password 其中nam password 是数据库用户登录时需要验证的用户名和与该用户名相对应的密码 。往往 们都是通过执行上述语句来验证用户名和密码是否合法有效。然而这样的语句存在一个非常大的 安全 隐患 。例如 :我们把用户名输入字符串“111’o 1”,而密码随意输入,假设为“123456 ”。那么我 们可以 看到查询语句就成为了 fromuser where nam ’123456’”我们知道当 select 语句在判断查询条件时 ,遇到或 (or)操作就会忽略下面的与 and)操作,而上边 上边这个问题要解决也非常简单,相应解决的方法也非常多 。最简单的解决方法就是在外部的应用 程序当中的用户和密码框里限制输入一些特殊字符 delphi中可以使用 inkey 来进行实现 刘艺编.信息安全学 北京:机械工业出版社 北京:国防工业出版社 Delphi基础教程 北京:清华大学出版社出版 curity taba se velop ing Zhang junkun He zhongyong (Comput er Science School, PanZhiHua Universit SiChuanPanZhiHua 617000) Ab Database securit hasal ways been complicat ed roblemwhich occurduring developing fromsecuring husdevelopers usersshow great concerns. article gives analysis encounter database develop ing. Ke word database; security; encryp ion;cipher key; sql (上接第 83 施久长.谈谈石膏砌块的性能与开发 Applica tio Gypsum locks CivilEngineering, Panzhihua University, Panzhihua, Sichuan, 617000) Ab gypsum blocks newly appeared mat erial fo building wal ls recentyears. hasmany advant ages caninsulat moisture. author int roduces hefunda2 ment al feat ures hegyp sum blocks echnicalcharact ers during const ruct ion, heapp licat ions ro2ject offerreferences people rofession.Ke gypsum blocks, light part ions43

http://homeschoolwwh.com/suanfabaomi/586.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有