数据其它保护.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十三章 数据的其它保护 不用加密方法来进行的数据保护 数据加密算法所需要占用的资源 加密解密算法可能会降低系统的运行速度 不需要数据加密的场合 密码保护 内存数据保护 注册表保护 数字水印 软件版权保护等 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 避免将数据写入硬盘文件 内存数据写出到硬盘,安全威胁将大大加强 很多情况下,内存数据有可能和硬盘数据进行交换 攻击硬盘文件有很多方法,其攻击的难度比攻击内存数据本身小得多 内存的数据和硬盘数据的交换 内存容量(一般若干G)无法和硬盘(一般数十G)相提并论 硬盘中的所有内容都可以放到内存中运行 当有限的内存要运行大量的程序时,为了保证空间足够,就将内存中一些暂时不用的数据放到硬盘中 当存放在硬盘中的那部分数据需要使用时,又从硬盘中调出,放入内存 这片当成内存使用的硬盘空间叫做虚拟内存 内存数据与硬盘交换的文件(或者交换分区) 文件大小可以进行设置 文件不能删除,这种文件叫做“虚拟内存文件” 其作用就是拿一部分的硬盘空间来当作内存使用 Windows的“虚拟内存文件” 在系统盘根目录 (如C:\)下 通常为名为pagefile.sys 设置得当,对机器的性能会有一定程度的提高。 系统休眠文件 hiberfil.sys 在机器休眠时,数据保存进该文件 也是保证系统运行性能的一种有效措施。 如果非常敏感的信息,由于没有及时在内存中清除,在换页时被写入页面文件,就有可能被敌方获取。 这里以字符串为例,很多语言中的字符串都有一个池机制,用如下方法来生成一个字符串对象: 在字符串池里面寻找是否有相同内容的字符串 如果没有,就生成新对象放入池,否则就使用池内已经存在的字符串 隐含一个问题 程序员事先无法预知一个字符串将要使用多久 有可能在某个时刻,这个字符串被保存到硬盘中去 特别是当这个字符串中保存着一些敏感数据,如密码时,就有可能被攻击者获得 有时候程序员以为这个字符串已经被使用完毕

文档评论(0)

peace0308 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档