1 / 38

Internet 安全协议与标准 第 10 课

Internet 安全协议与标准 第 10 课. 唐礼勇 博士 tly@infosec.pku.edu.cn. 基于口令字的加密问题 Password-Based Cryptography Problem. 会话密钥. 密钥加密密钥 KEK. To: From: Sales quarter. {Ohda9c -cA309 =0(8^% $#/?. 通用加密引擎. 通用加密引擎. 会话密钥保护数据. 会话密钥. KEK. 通用加密引擎. 基于口令的加密. Password. +L14?h,H7%. 混合函数. salt. PRNG.

duy
Télécharger la présentation

Internet 安全协议与标准 第 10 课

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Internet安全协议与标准第10课 唐礼勇 博士 tly@infosec.pku.edu.cn

  2. 基于口令字的加密问题Password-Based Cryptography Problem

  3. 会话密钥 密钥加密密钥KEK To: From: Sales quarter {Ohda9c -cA309 \=0(8^% $#/? 通用加密引擎 通用加密引擎 会话密钥保护数据 Internet安全协议及标准

  4. 会话密钥 KEK 通用加密引擎 基于口令的加密 Password +L14?h,H7% 混合函数 salt PRNG 7A438F6005BD 3F08CD5567 Internet安全协议及标准

  5. 加密数据的过程 • 输入一个口令字(password or pass phrase) • 使用一个RNG或者PRNG来生成salt值 • 使用一个混合算法和口令字混合在一起 • 密钥导出函数(KDF) • 从第3步的结果中取出所需的数据用作KEK,并使用该KEK来加密会话密钥。当加密会话密钥之后,丢掉KEK和口令字,保存salt值 • 在存储及传输加密后的会话密钥的同时,确保将salt值与其一起存储并传输 Internet安全协议及标准

  6. 解密数据的过程 • 输入口令字 • 收集salt • 使用同样的KDF,从口令字和salt生成KEK • 要求salt、口令字、KDF和加密时使用的完全相同 • 使用第3步得到的KEK,用适当的对称密钥算法来解密会话密钥 Internet安全协议及标准

  7. 问题讨论-1 • 混合算法和KEK • 为什么要使用混合算法?为什么不直接将口令字用作KEK呢? • 口令字的熵很小,对口令字(和salt)使用混合算法可以保证KEK看上去是随机的。 Internet安全协议及标准

  8. 问题讨论-2 • Salt的必要性 • 为什么需要salt? • 目的是为了防止预先计算,挫败字典攻击 • 另一个典型的用到salt技术的地方是Unix系统存储用户口令信息 Internet安全协议及标准

  9. 问题讨论-3 • 与密文一起存储salt • 将salt和密文存储在一起,攻击者不就能够看到salt了吗?将salt秘密保存不是更安全吗? • 使用salt的惟一目的是防止预计算,它并不增加安全性,仅仅防止字典攻击。即使salt不是保密的,仍然可以达到目的。 • 如果salt是秘密的话………? Internet安全协议及标准

  10. UNIX Password Scheme - I Loading a new password Internet安全协议及标准

  11. UNIX Password Scheme - II Verifying a password file Internet安全协议及标准

  12. 问题讨论-4 • 使用两个密钥的理由 • 仅仅使用PBE来加密大量的数据不是更简单吗?为何还需要两个密钥呢? • 两个理由 • 假设你需要和其他人其享数据,同时你又想将它加密存储 • 生成一个会话密钥,每个人得到它的一个拷贝 • 每个人使用PBE来保护得到的会话密钥的拷贝 • 这样,不需共享password,而是共享了同一个密钥 • 攻破一个口令字比攻破一个密钥更简单,同时攻击者访问加密的数据可能会比访问加密的密钥更容易一些 Internet安全协议及标准

  13. 编程方便性 • 输入了错误的口令字怎么办? • 一个解决的方法是使用KEK把会话密钥和其他东西一起加密 • 这里“其他东西”指的是某种可识别的值,如salt • 使用salt加密大量数据的过程 • 生成会话密钥,用这个密钥来加密数据 • 输入口令字,生成salt,将二者混合从而生成KEK • 用KEK加密salt和会话密钥。将加密的数据和salt一起存储 • 存储加密的会话密钥(salt+session key) • 解密数据的过程 • 收集salt和口令字,将二者混合生成假定的KEK • 用该KEK解密会话密钥 • 检查解密的salt是否正确,如不正确,则停止,如正确,则用解开的会话密钥解密数据 Internet安全协议及标准

  14. 对PBE的攻击 • 两种方法 • 像攻破任何对称密钥加密算法那样使用对KEK的强力攻击来攻破PBE • 如果会话密钥比KEK长,这可能是合理的 • 计算出口令字 • 尝试每一种可能的按键组合 • 构造一本包含可能的口令字的字典,使用字典攻击 • 降低对口令字攻击的速度 • 为了核对口令字,攻击者必须用与合法用户相同的方式来混合salt和口令字。合法用户可以通过把这一过程变得冗长来降低攻击者的速度 • 对合法用户来说,这一处理过程必须足够快,不致于使自己的加密、解密过程太费时 • 解决方案 • 重复混合:首先将salt和口令字混合在一起,然后把混合的结果再送入一个混合器,接着把上次的结果再送入一个混合器.依次进行多次。 Internet安全协议及标准

  15. 同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 information. Internet安全协议及标准

  16. 身份鉴别技术补充

  17. Overview • 身份鉴别的三个因素 • 知识(Knowledge) • 你知道什么 (What do you KNOW?) • 物品(Possession) • 你拥有什么 (What do you HAVE?) • 特征(Characteristic) • 你是谁 (Who ARE you?) • 单因素与多因素身份鉴别 • 单因素 • 口令 • 多因素 • 认证令牌 Internet安全协议及标准

  18. 口令鉴别 • 简单口令 • 真正的明文口令鉴别可能只发生在一行C代码中 • 提问/应答(Challenge/Response) • 将简单口令鉴别视为每次Challenge均相同的鉴别,鉴别步骤如下: Internet安全协议及标准

  19. NTLM鉴别 Internet安全协议及标准

  20. 口令鉴别特征 • 客户和服务共享一个秘密K • 需要双向鉴别 • 观察者看不到未加密的challenge,从而不能进行口令猜测式攻击 • 需要可逆加密运算 • 明文等价(plaintext-equivalent) Internet安全协议及标准

  21. Windows中的SYSKEY工具 Internet安全协议及标准

  22. 一次性口令 • S/Key • 纯软件 • 利用单向Hash函数生成一次性口令序列,逆序使用 • 默认s/key使用MD4算法,但可更改 • OPIE • 美国海军研究实验室开发,增强S/Key机制,避开专利限制 • 双因素鉴别令牌 • 提问/应答令牌 • 通常为一Challenge/Response计算器 • 时间令牌 • 动态安全ID鉴别 • PIN管理 • 用PIN激活令牌:很常见 • 将PIN作为计算的一部分:令牌上不需存储PIN Internet安全协议及标准

  23. PAM(Plugable Authentication Modules) Internet安全协议及标准

  24. 一个PAM配置文件部分 • /etc/pam.conf #service-name module-type control-flag module-path arguments login auth sufficient pam_skey.so login auth requisite pam_cleartext_pass_ok.so #login auth sufficient pam_krb5.so try_first_pass login auth required pam_unix.so try_first_pass login account required pam_unix.so login password required pam_permit.so login session required pam_permit.so • Four types • Auth • prompt for a password to authenticate that the user is who they say they are, and set any credentials. • Account • non-authentication based authorization, based on time, resources, etc. • Session • housekeeping before and/or after login. • Password • update authentication tokens. Internet安全协议及标准

  25. LSA(Local Security Authority): Interactive Authentication & Noninteractive Authentication Internet安全协议及标准

  26. 生物特征识别 Internet安全协议及标准

  27. 生物特征识别注册 服务器 客户端 一旦得到允许,服务器请求生物特征扫描 用户向服务器注册 进行生物特征扫描, 获得一个数字表示并 将其发送到服务器 存储生物统 计学模板 模板数据库 Internet安全协议及标准

  28. 生物特征识别验证 服务器 客户端 模板数据库 服务器验证比较登录模板 与存储的模板。若二者匹 配,则用户可以继续 对用户的生物统计 学特征进行扫描并 生成模板,将该模板 发送到服务器 登录到系统,继续相 应工作 Internet安全协议及标准

  29. 生物特征识别识别类型 • 指纹识别 • 易于接受,价格低 • 眼部特征识别 • 有视网膜和虹膜两种 • 比指纹更精确 • 不易被接受 • 面部识别 • 价格低,可用于近距离和远距离 • 错误率高 • 声音识别 • 特别适用于远距离通信,能很好应用于公共电话系统中 • 精确度低,声纹易变化 • 签名识别 • 击键识别 Internet安全协议及标准

  30. 生物特征识别精确度 • 两种方式 • 错误接受率(False Acceptance Rate, FAR) • 错误拒绝率(False Rejection Rate, FRR) Internet安全协议及标准

  31. 生物特征识别系统设计 • 易用的生物特征解决方案 • 如:利用生物特征识别来启动PDA、手机和笔记本电脑 • 提高易用性 • 安全问题潜伏在易用性的设计中: • 如何保存模板?如何保护模板 • 归根到底,该模板是以明文方式存储在BIOS区域的 • 基于安全的生物特征解决方案 • 生物特征将与现有的鉴别方式如PIN、口令等结合构成双因素认证 • 大多数这类解决方案中,模板被存储在第三方,通常是一个后台认证服务器 • 客户新采集的特征数据通过加密会话传到后台服务器,存储生物特征模板的数据库必须加密存储,其加密密钥将用智能卡或者其他令牌保存 Internet安全协议及标准

  32. 生物特征识别存在的问题 - I • 覆盖面 • 对所有的生物特征认证方案而言,总有某些用户群体不能使用生物特征 • 指纹识别中: • 无手指的人 • 要求手指有一定的湿度和温度 • 指纹有磨损的人 • 每一种生物特征识别器在不同环境下会出现不同问题 • 虹膜识别器:眼镜的存在 • 声音识别器:喧闹的环境 • 气味识别器:香水的使用 Internet安全协议及标准

  33. 生物特征识别存在的问题 - II • 客户端欺骗 • 有些生物特征识别易受这类攻击,有些则不然 • 声音识别中: • 大部分声音识别系统中,系统每次都会提示用户说不同的短语,这些短语一般是由用户在注册时所说的一系列词汇构造的。但词汇量是一个问题 • 面部、虹膜识别也容易受到攻击 • 很容易使用平面图像来欺骗系统 • 指纹识别中: • 实际上到处都留得有我们的指纹 • 光学指纹传感器相对而言更易受到攻击 • 在评价一个生物特征识别系统方案时,一定要考虑重放攻击和欺骗攻击 Internet安全协议及标准

  34. 生物特征识别存在的问题 – III • 服务器攻击 • 攻击者把他们的生物特征模板以其他人的名义放在服务器中,然后就可以以其他人的身份进行鉴别,并因此具有他人的特权 Internet安全协议及标准

  35. 生物特征识别存在的问题 – IV • 重放攻击 • 如果攻击者能够深入识别器内部或者PC内部截取识别器和客户端软件之间的会话,重放攻击就成为可能 • 许多识别系统尝试阻止主特征模板的重放攻击 • 除非系统保留了用户鉴别系统时的所有生物特征数据(摘要)的跟踪记录,否则它们将无法检测出客户端是否重放了某次生物特征数据 • 在虹膜认证和指纹认证系统中 • 模板相当于明文口令,易受重放攻击 • 需要某种新鲜性检测 • 面部图像和声音认证系统中 • 相当于Challenge/Response,不易受重放攻击 Internet安全协议及标准

  36. 生物特征识别存在的问题 – V • 社会问题 • 人的问题 • 你愿意把你的头放到一个会把激光射到自己眼球中的设备上吗? • 有些时候对着计算机说话是不是显得很傻? • 人们往往会把指纹与罪犯联系在一起,也不愿意让面部识别系统存储自己的肖像 • 其他文化、宗教方面的原因 Internet安全协议及标准

  37. 生物特征识别存在的问题 – VI • 跨系统重放 • 生物特征与其他鉴别方式有一个很大的不同: • 它与在任何应用中都使用同一个口令的假想世界类似 • 只有一个你 • 撤销 • 生物特征与其他鉴别方式的另一大不同是 • 生物特征是不能撤销的 • 更糟糕的是,一旦一个地方的生物特征泄露,那么所有使用这个生物特征的地方都处于危险之中 • 正确的安全设计必须考虑攻击者成功提取特征模板的可能性,特别是模板用明文存储时更是如此 • 可撤销生物特征模板已有了一些研究 Internet安全协议及标准

  38. ChangeLog • 2003.7.28 v1.0 By T.L.Yong • Initialize Internet安全协议及标准

More Related