3认证与证书选读.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
认证与证书 典型的认证应用 1.Kerberos认证 Kerberos是一个重要的认证协议,它为互不相识的通信双方做安全的认证工作。Kerberos这个名字的原义是希腊神话中守卫冥王大门的长有三头的看门狗。 Kerberos认证服务是由麻省理工学院的Project Athena针对分布式环境的开放式系统开发的认证机制。Kerberos提供了一种在开放式网络环境下(无保护)进行身份认证的方法,它使网络上的用户可以相互证明自己的身份。 它已被开放软件基金会(OSF)的分布式计算环境(DCE),以及许多网络操作系统供应商所采用。 常用的有两个版本:第4版和第5版。其中版本5更正了版本4中的一些安全缺陷。 Kerberos认证 Athena的计算环境由大量的匿名工作站和相对较少的独立服务器组成。服务器提供例如文件存储、打印、邮件等服务,工作站主要用于交互和计算。我们希望服务器能够限定仅能被授权用户访问,能够验证服务的请求。在此环境中,存在如下3种威胁: (1)用户可以访问特定的工作站并伪装成该工作站用户。 (2)用户可以改动工作站的网络地址伪装成其它工作站。 (3)用户可以根据交换窃取消息,并使用重放攻击来进入服务器。 Kerberos认证 在这样的环境下,Kerberos认证身份不依赖主机操作系统的认证、不信任主机地址、不要求网络中的主机保持物理上的安全。在整个网络中,除了Kerberos服务器外,其他都是危险区域,任何人都可以在网络上读取、修改、插入数据。 解决的问题: 认证、数据完整性、保密性 认证协议:设计一个协议(一) 假设A和B要进行通讯,A和B有一个共享的密钥Kab,如何利用这个密钥进行认证,并且商定一个会话密钥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知道这个随机值 常用于交互式的认证协议中 例 假设:我去邮件服务器申请邮件,服务程序必须能验证我是我所申明的那人 笨办法:服务器让我输入口令  (那么每个服务器必须知道用户的口令,如果网络有成千个用户,那么每个服务器就要知道成千条口令,如果想改变口令,就必须联系所有服务器,通知它们修改口令等) 解决:每个用户知道自己的口令    每个服务器也知道自己的口令    引入一个认证服务器——AS(Authentication Server),它知道所有的口令,包括用户和服务器,并将口令保存在一个单独的中央数据库中,且AS和每台服务器共享惟一的密钥。 简单的认证对话 (1)用户向AS请求认证,必须告诉AS使用哪个服务 (2)AS请用户证明身份,用户将密码送给AS (3)AS将密码与数据库中的密码想比较,如果相等,则通过验证 (注:AS不能将邮件服务的密码给用户,否则下次用户想再次使用邮件服务时,就可以绕过AS了) (4

文档评论(0)

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

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

1亿VIP精品文档

相关文档