13 数据的其它保护.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三章 数据的其它保护 前述章节讲解了通过将数据进行加密来保护数据的方法,此类方法可以得到良好的效果。但是,由于数据加密算法所需要占用的资源,不是任何情况下都需要用数据加密来保护数据,并且由于加密解密算法本身的复杂度,盲目将数据通过加密来进行保护,有可能会降低系统的运行速度。因此,不用加密方法来进行的数据保护,也具有较好的应用背景。并且由于应用的不同,某些项目中可能对数据加密具有另外的使用方式,如软件注册码的生成等。 本章针对几种不需要数据加密的场合进行讲解。本章内容涵盖密码保护、内存数据保护,注册表保护、数字水印和软件版权保护等方面的知识。 应该注意的是,本章内容是从另一个角度阐述数据加密之外的其他数据保护方法,其中也可能用到一些密码学的技术,只是不是纯粹将数据进行加密。 13.1 数据加密的限制 数据加密在数据保护中可以起到很重要的作用。但是,很多应用中,数据加密并不是保护数据的唯一方法,一般说来,数据加密的如下特点,可能会给数据保护带来副作用: 1:数据加密必须要将数据用加密算法进行处理,不管是对称密码体系还是非对称密码体系,算法复杂度都较高,如果数据量大,所花的时间较多,在有些需要迅速响应的实时系统中,不太适合。 2:除了单向加密方法之外,其它常见的加密算法都需要保存密钥,密钥的保存除了额外消耗空间之外,也增加了数据本身对外界的依赖性,如果密钥被破坏,数据将面临无法解密的可能。 另外,在实际项目开发中,由于一些原因,应用的场合所需要的数据保护不仅仅是简单的加密,如: 希望内存数据不被存入硬盘之后被窃取; 希望注册表能够应付敌方修改攻击; 希望作品保证自己的版权; 希望软件只能被授权的人使用;等等。 都不是简单通过加密解密能够实现的。 13.2 密码保护与验证 很多系统中都涉及到存储用户密码。怎样将密码储存到数据库中?如果以纯文本的方式存储,势必会遇到危险。如数据库中有一个表格,结构如下: 打开这个表格,看到如下结果: 密码能够被以明文形式看到,很明显,如果攻击者取得了管理员权限,或者攻击者本身就是管理员,就可以看到用户密码。因此,密码保护显得非常重要。 密码能够被以明文形式看到,很明显,如果攻击者取得了管理员权限,或者攻击者本身就是管理员,就可以看到用户密码。因此,密码保护显得非常重要。 密码保护的目标是:让密码以他人看不懂的形式存入数据库。一般的方法是为密码生成一个唯一对应的摘要,也可以理解为密文,存入数据库;用户登录验证时,再根据密码生成摘要,和数据库中的摘要比对验证。很显然,上一章中的“单向加密算法”就可以完成这个功能。 提示: 本节内容实际上是单向加密的一种应用,但是由于其在密码保护方面应用较广,特别归纳为“数据的其他保护”范畴。 如前所述,单向加密算法的特点是: 同样的明文生成的密文(摘要)相同; 无法由摘要推测明文。 单向加密算法有MD5、SHA等。 本节利用Java语言,配合MD5完成这个功能。首先建立一个数据库,在数据库中建立T_CUSTOMER表格,然后配置数据库连接,本章使用Microsoft SQLServer,ODBC桥接,数据源名称为CustomerDs。该项工作中,数据库建立和ODBC连接建立,大家可以参考相应文档。 首先是由密码明文生成MD5消息摘要的代码,详细代码见MD5.java 。 用一个Java程序来模拟注册界面,详细代码见Register.java。 运行该程序,输入账号、密码和姓名: 回车,得到结果,在数据库中可以看到,密码完全以密文显示。 用一个Java程序来模拟登录界面,详细代码见Login.java 。 输入正确的值,显示如下: 输入错误的值,显示如下: 显然,数据库管理员无法得知密码原文。当用户忘记密码时,可以向管理员申请修改密码,但是无法让管理员告知其密码。 13.3 内存数据的保护 通常,在编程的过程中,比较受到重视的是硬盘上数据安全的问题,因为硬盘上的数据一般以文件的形式存在,受到攻击的可能性比较大;但是,内存里面的数据安全同样不可忽视,特别是需要重视保护内存中的敏感数据,如密码和密钥。 从安全学的一般意义上来讲,针对敏感数据的安全性主要体现在两个方面: 避免敏感数据的泄露; 防止敏感数据被破坏。 为了保证内存中数据的安全,我们一般采用的策略是:使敏感数据在内存中保留的时间尽可能地短,并应尝试确保该数据从不写入硬盘。 该策略描述起来很简单,但是实现起来具有一定技巧。本节从几个方面阐述内存数据保护的方法。 13.3.1 避免将数据写入硬盘文件 很多情况下,内存数据有可能和硬盘数据进行交换。如果内存数据写出到硬盘,安全威胁将大大加强。因为攻击硬盘文件有很多方法,其攻击的难度比攻击内存数据本身

文档评论(0)

hshh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档