Internet安全协议与标准-基于口令字的加密问题.ppt

Internet安全协议与标准-基于口令字的加密问题.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Internet安全协议与标准-基于口令字的加密问题.ppt

7/29/2003 Internet安全协议及标准 Internet安全协议与标准 第10课 唐礼勇 博士 tly@infosec.pku.edu.cn 基于口令字的加密问题 Password-Based Cryptography Problem 会话密钥保护数据 基于口令的加密 加密数据的过程 输入一个口令字(password or pass phrase) 使用一个RNG或者PRNG来生成salt值 使用一个混合算法和口令字混合在一起 密钥导出函数(KDF) 从第3步的结果中取出所需的数据用作KEK,并使用该KEK来加密会话密钥。当加密会话密钥之后,丢掉KEK和口令字,保存salt值 在存储及传输加密后的会话密钥的同时,确保将salt值与其一起存储并传输 解密数据的过程 输入口令字 收集salt 使用同样的KDF,从口令字和salt生成KEK 要求salt、口令字、KDF和加密时使用的完全相同 使用第3步得到的KEK,用适当的对称密钥算法来解密会话密钥 问题讨论-1 混合算法和KEK 为什么要使用混合算法?为什么不直接将口令字用作KEK呢? 口令字的熵很小,对口令字(和salt)使用混合算法可以保证KEK看上去是随机的。 问题讨论-2 Salt的必要性 为什么需要salt? 目的是为了防止预先计算,挫败字典攻击 另一个典型的用到salt技术的地方是Unix系统存储用户口令信息 问题讨论-3 与密文一起存储salt 将salt和密文存储在一起,攻击者不就能够看到salt了吗?将salt秘密保存不是更安全吗? 使用salt的惟一目的是防止预计算,它并不增加安全性,仅仅防止字典攻击。即使salt不是保密的,仍然可以达到目的。 如果salt是秘密的话………? UNIX Password Scheme - I UNIX Password Scheme - II 问题讨论-4 使用两个密钥的理由 仅仅使用PBE来加密大量的数据不是更简单吗?为何还需要两个密钥呢? 两个理由 假设你需要和其他人其享数据,同时你又想将它加密存储 生成一个会话密钥,每个人得到它的一个拷贝 每个人使用PBE来保护得到的会话密钥的拷贝 这样,不需共享password,而是共享了同一个密钥 攻破一个口令字比攻破一个密钥更简单,同时攻击者访问加密的数据可能会比访问加密的密钥更容易一些 编程方便性 输入了错误的口令字怎么办? 一个解决的方法是使用KEK把会话密钥和其他东西一起加密 这里“其他东西”指的是某种可识别的值,如salt 使用salt加密大量数据的过程 生成会话密钥,用这个密钥来加密数据 输入口令字,生成salt,将二者混合从而生成KEK 用KEK加密salt和会话密钥。将加密的数据和salt一起存储 存储加密的会话密钥(salt+session key) 解密数据的过程 收集salt和口令字,将二者混合生成假定的KEK 用该KEK解密会话密钥 检查解密的salt是否正确,如不正确,则停止,如正确,则用解开的会话密钥解密数据 对PBE的攻击 两种方法 像攻破任何对称密钥加密算法那样使用对KEK的强力攻击来攻破PBE 如果会话密钥比KEK长,这可能是合理的 计算出口令字 尝试每一种可能的按键组合 构造一本包含可能的口令字的字典,使用字典攻击 降低对口令字攻击的速度 为了核对口令字,攻击者必须用与合法用户相同的方式来混合salt和口令字。合法用户可以通过把这一过程变得冗长来降低攻击者的速度 对合法用户来说,这一处理过程必须足够快,不致于使自己的加密、解密过程太费时 解决方案 重复混合:首先将salt和口令字混合在一起,然后把混合的结果再送入一个混合器,接着把上次的结果再送入一个混合器.依次进行多次。 同PBE相关的几个标准 PKCS#5 Password Based Cryptography Standard PKCS#12 Personal Information Exchange Syntax This standard describes a transfer syntax for personal identity information, including private keys, certificates, miscellaneous secrets, and extensions. Machines, applications, browsers, Internet kiosks, and so on, that support this standard will allow a user to import, export, and exercise a single set of personal identity informatio

文档评论(0)

策略培训库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档