- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络与信息安全安全基础 (一) 潘爱民,北京大学计算机研究所 /InfoSecCourse 内容 关于认证协议 Windows平台的认证协议 HTTP认证协议 与身份认证相关的研究工作介绍 安全层次 回顾:信息安全的需求 保密性Confidentiality 完整性Integrity 系统完整性 数据完整性 可用性Availability 真实性 authenticity 认证 消息认证 身份认证:验证真实身份和所声称身份相符的过程 …… 认证协议 基于对称密码算法的认证方案 是否需要密钥分发中心(KDC)? 对于协议的攻击手法 认证的对象 消息发送方 消息本身 基于公钥密码算法的认证方案 公钥和身份的绑定 基于对称密码算法的认证 消息认证 MAC码或者HMAC码 前提:存在共享密钥 密钥管理中心 或者用一个密钥交换协议 身份认证 依据 所知:口令、密钥,等 所有:身份证、智能卡,等 物理标识:指纹、笔迹、DNA,等 基于口令 证明是否知道口令 口令的强度 双向和单向认证 目的:分发密钥、签名有效性,…… 通讯方式 两方通讯 一方发起通讯,另一方应答 双向和单向认证 有第三方介入的认证 第三方为可信任方,KDC 在线和离线 其他情形 多方认证 跨域认证 委托认证模型、信任模型 …… 为什么需要认证协议 本地多用户认证 Login:如何管理口令 远程用户认证 一次性 访问资源或者服务之前进行认证 多次访问资源或者服务 身份,获得credential 利用credential访问资源或者服务 认证例子:263的邮件登录 认证例子:sina的邮件登录 Client与Proxy-Server之间的认证 Client与Proxy-Server之间认证(续) 基于口令的认证+明文传输!!! Telnet远程登录 逐个字母发送,明文方式 POP3邮件登录 Ftp服务 …… 认证协议:设计一个协议(一) 假设A和B要进行通讯,A和B有一个共享的密钥Kab,如何利用这个密钥进行认证,并且商定一个会话密钥Ks 认证协议:设计一个协议(二) 假设A和B要进行通讯,A和B与KDC各有一个共享密钥Ka和Kb, 如何利用这两个密钥进行认证,并且商定一个会话密钥Ks 针对认证协议的一些常见攻击手段和相应对策 中间人攻击(MITM, man in the middle) 常见攻击和对策(二) 重放攻击(replay attacks) 常见攻击和对策(三) 字典攻击 只要能够获得口令的密文形式,就可以实施字典攻击 在线和离线 字典攻击的有效性 判断一个口令是有效的 对策 用户和管理员:选择好的口令 协议设计:对口令的使用过程中,不要泄露口令的信息在密文中增加口令以外的额外信息 常见攻击和对策(四) 已知明文攻击 在许多认证协议中,一方会选择一个随机数,并且明文传输这个随机数,另一方加密这个随机数,并送回来——Challenge/Response,所以偷听者可以获得已知明文/密文对 对策: 避免传输明文/密文对 增加已知明文攻击的难度 选择明文攻击 在认证协议中,如果随机数的选择没有任何规则,那么中间人或者假冒方就有可能选择随机数,从而实施选择明文攻击 对策 随机数的选择限制 认证协议中的常用技术(一) 时间戳 A收到一个消息,根据消息中的时间戳信息,判断消息的有效性 如果消息的时间戳与A所知道的当前时间足够接近 这种方法要求不同参与者之间的时钟需要同步 在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到 一旦时钟同步失败 要么协议不能正常服务,影响可用性(availability),造成拒绝服务(DOS) 要么放大时钟窗口,造成攻击的机会 时间窗大小的选择应根据消息的时效性来确定 认证协议中的常见技术(二) 询问/应答方式(Challenge/Response) A期望从B获得一个条件 首先发给B一个随机值(challenge) B收到这个值之后,对它作某种变换,得到response,并送回去 A收到这个response,可以验证B符合这个条件 在有的协议中,这个challenge也称为nonce 可能明文传输,也可能密文传输 这个条件可以是知道某个口令,也可能是其他的事情 变换例子:用密钥加密,说明B知道这个密钥;简单运算,比如增一,说明B知道这个随机值 常用于交互式的认证协议中 分析一个协议: Kehn92 1 A → B IDA||Na 2 B → KDC IDB||Nb || EKb[IDA || Na || Tb] 3 KDC → A EKa[IDB||Na ||Ks|| Tb ] || EKb[IDA || Ks || Tb] || Nb 4 A → B EKb[IDA || Ks || Tb] || EKs[ Nb
文档评论(0)