身份认证技术与应用示例教学讲义

上传人:yulij****0329 文档编号:141027932 上传时间:2020-08-03 格式:PPT 页数:51 大小:532KB
返回 下载 相关 举报
身份认证技术与应用示例教学讲义_第1页
第1页 / 共51页
身份认证技术与应用示例教学讲义_第2页
第2页 / 共51页
身份认证技术与应用示例教学讲义_第3页
第3页 / 共51页
身份认证技术与应用示例教学讲义_第4页
第4页 / 共51页
身份认证技术与应用示例教学讲义_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《身份认证技术与应用示例教学讲义》由会员分享,可在线阅读,更多相关《身份认证技术与应用示例教学讲义(51页珍藏版)》请在金锄头文库上搜索。

1、身份认证技术与应用示例,网络与信息安全课程,主要内容,概述 用户认证 主机认证 Kerberos系统 基于公开密钥的身份认证,一、概述,认证(Authentication)证实客户的真实身份与其所声称的身份是否相符的过程,是保证系统安全的重要措施之一。当服务器提供服务时,需要确认来访者的身份,访问者有时也需要确认服务提供者的身份。 认证过程的三要素: (1) 知识(Knowledge):你知道什么,如口令等。 (2) 物品(Possession):你拥有什么,如IC卡等 (3) 特征(Characteristic):你有什么生理特征,如指纹等。 在分布式系统中有两类主要认证:即用户认证和主机认

2、证。 身份认证技术不可避免地会用到加密技术,同样地也可分为基于对称密钥技术的身份认证(如Kerberos)和基于公开密钥的身份认证(如CA)两类。,2.1 简单口令认证,这是最简单的认证方式,当用户访问某项服务时,只需提供用户ID和口令对,服务器检查用户口令是否正确。虽说只简单口令认证就可以阻止不少威胁了,但由于在开放式系统中,窃听者很容易探听到时明文方式传输的口令,也就很容易成功地伪装成该用户。这种方式不可能充分满足安全需求,但由于它简单、方便,在短时间内还不会完全消失。,2.2 提问/回答式认证,用户、服务器约定一个计算函数和密钥,基于口令的认证及其变体在实际应用中会遇到以下威胁,1、强力

3、攻击:有时,对challenge可能不作加密,在这种情况下,攻击者可以截取challenge和response,试验所有可能的口令。 2、字典式攻击:攻击者根据字典,再加上一些简单变换规则,如口令在字典中,就可以被计算出来。 3、冒名顶替:攻击者假冒客户或服务器 4、反射攻击:攻击者将认证消息用于其它地方如另一服务等 5、客户/服务器认证数据库失窃 6、修改客户/服务器之间传输的消息 7、对认证机制的高级攻击,2.3 操作系统口令处理机制,Unix操作系统在主机上对用户口令进行了一次单向 运算,将运算结果保存在/etc/passwd或/etc/shadow中 。 DES加密迭代 /MD5算法

4、PAM:可插拔认证模块(Pluggable Authentication Modules),目前已在Sun的Solaris、Linux、FreeBSD、OpenBSD等操作系统中实现,它对以下几个方面提供支持:扩展的标准login(检查时间、登录地点等)| .rhosts、/etc/shells|cracklib(用于检查口令)|DES提问/回答|Kerberos|S/Key, OPIE|RADIUS|SecurID,Windows NT,2.4一次性口令(One - Time Password),(1) 动态安全ID(ACE)认证 ACE是一种基于时间的认证方式,它使用了智能卡(Smart

5、Card)技术,ACE卡每隔一段时间,根据用户身份标识(PIN)产生一个新的口令。当用户需要访问受保护资源时,输入PIN和ACE卡上产生的口令, 服务器按下列步骤认证用户: 服务器检索PIN和种子值,该种子值同赋给用户的安全ID卡相关。 服务器利用上次连接的数据,对当前的时钟“漂移”进行估计。 计算出正确的口令,并确定该口令可在多长时间内有效。 ACE方式利用了前面提到过的两个因素: 用户输入PIN,表明他知道某种秘密 用户输入正确口令,表明他拥有ACE卡。,(2) S/Key,S/Key是由Bellcore公司为通过纯软件实现来产生并认证一次性口令而制定的系统,它使用单向Hash函数产生一次

6、性口令序列,其原理关键在于以生成口令的逆序方式使用口令,大致如下: 用户在与主机直接相连的设备(如控制台)或安全连接工具上输入加密口令; S/Key主机利用该口令和一个内部随机生成密钥来为口令表创建一个种子值x; S/Key主机重复地对该种子值使用n次Hash函数,保存最后结果yn=Hn(x); 用户第一次登录到S/Key主机时会得到提示要求输入第n-1号口令x,接着S/Key计算H(x),如H(x)=yn,则允许用户访问; 主机用刚使用过的口令代替保存的yn。,2.5拨号用户认证协议,(1) 口令认证协议(PAP) 最初设计口令认证协议时,是希望为主机向另一台使用PPP协议的主机认证自己提供

7、一种简单方法,其详细描述见RFC1334,使用简单“用户ID-口令”对进行认证,认证信息以明文方式传输,没有采取措施防止“重试攻击”或猜测口令攻击。,(2) 询问握手认证协议(CHAP) 描述见RFC1994,它为认证PPP链路提供了一种更安全的机制,采用提问/应答方式进行认证,由于认证过程由服务器方控制,可以避免“重试攻击”。,(3) 远程认证拨号用户管理协议(RADIUS) CHAP虽然对拨号用户的认证比PAP要强,但它本身不具备充分的扩展性。另外,虽然CHAP不在网上传输任何秘密,却需要通过Hash函数来操作大量共享秘密,为了保存这些秘密,拥有大量拨号用户的企业必须维护很大的数据库。RA

8、DIUS采用客户/服务器模型来安全地对远程网络连接用户和会话进行管理,旨在更容易地管理访问控制方案,同时也支持PAP、CHAP等其它类型的用户认证。其具体描述见RFC2058。,2.6更强的基于口令的认证机制,(1) EKE (Encrypted Key Exchange): Bellovin等将对称密钥加密算法与公开密钥机制相结合,提出了EKE协议,并在此基础上发展成一个协议族,如DH-EKE、SPEKE等。这些协议有以下特点: 通过给窃听者不完整的信息,令其不能进行猜测口令的字典式攻击。 前向保密:攻击者得到一个口令并不能使其获得以前会话过程中使用的会话密钥。 防强力攻击:会话密钥的失窃无

9、助于攻击者进行强力攻击。 EKE的最大的问题是它仍然是有“明文等价”问题,需要客户和服务器双方共享口令或口令的hash值。一些对它的改进如A-EKE解决了“明文等价”问题,但牺牲了前向保密;B-SPEKE又带来了很大的时间开销和算法复杂性。,(2) SRP (Secure Remote Password),Wu等提出了一种不同于EKE方式的口令认证技术,该技术不加密任何协议流,而代之与一组预先定义好的数学关系,通过短暂的交换数据过程建立起口令参数。SRP是一种基于检验的零知识协议,可以抵御字典式攻击。 SRP还有以下一些性质: 双向认证 攻击者即使窃取到主机口令文件也不会直接损害用户-主机认证

10、 攻击者攻破主机之后也不能从合法的认证过程中获得用户口令 防强力攻击:会话密钥的失窃无助于攻击者进行强力攻击。 前向保密:攻击者得到一个口令并不能使其获得以前会话过程中使用的会话密钥。,3主机认证,3.1基于网络的认证 当前在Internet上对主机认证采用得最多的还是基于网络的,网络认证又可分为两大类: (1) 基于地址 (2) 基于主机名 不管是基于地址还是基于主机名的认证,可靠性都是很低的,网络地址,无论是IP地址,还是网卡MAC地址,都很容易被伪装,基于主机名的认证问题比基于地址更为严重,它过分依赖于DNS,这样,当Internet某处DNS被攻破后,很容易会被欺骗。,3.2 使用密码

11、学技术 这种认证方案包括了用户认证一节里所列NTLM认证,以及下面就要谈到的基于Kerberos或基于公开密钥技术的认证。这一类技术都依赖于某一“秘密”或保密密钥,在主机认证中,如何在主机上安全存放这一“秘密”将是一个关键的问题。,身份认证实例-Kerberos,引言,Kerberos: part of Project Athena at MIT Greek Kerberos: 希腊神话故事中一种三个头的狗,还有一个蛇形尾巴。是地狱之门的守卫。 Modern Kerberos: 意指有三个组成部分的网络之门的保卫者。“三头”包括: 认证(authentication) 簿记(accountin

12、g) 审计(audit),问题,在一个开放的分布式网络环境中,用户通过工作站访问服务器上提供的服务。 服务器应能够限制非授权用户的访问并能够认证对服务的请求。 工作站不能够被网络服务所信任其能够正确地认定用户,即工作站存在三种威胁。 一个工作站上一个用户可能冒充另一个用户操作; 一个用户可能改变一个工作站的网络地址,从而冒充另一台工作站工作; 一个用户可能窃听他人的信息交换,并用回放攻击获得对一个服务器的访问权或中断服务器的运行。,Kerberos要解决的问题,所有上述问题可以归结为一个非授权用户能够获得其无权访问的服务或数据。 不是为每一个服务器构造一个身份认证协议,Kerberos提供一个

13、中心认证服务器,提供用户到服务器和服务器到用户的认证服务。 Kerberos采用传统加密算法。 Kerberos Version4和Version5 (RFC1510/1994年),信息系统资源保护的动机,单用户单机系统。用户资源和文件受到物理上的安全保护; 多用户分时系统。操作系统提供基于用户标识的访问控制策略,并用logon过程来标识用户。 Client/Server网络结构。由一组工作站和一组分布式或中心式服务器组成。,三种可能的安全方案,相信每一个单独的客户工作站可以保证对其用户的识别,并依赖于每一个服务器强制实施一个基于用户标识的安全策略。 要求客户端系统将它们自己向服务器作身份认证

14、,但相信客户端系统负责对其用户的识别。 要求每一个用户对每一个服务证明其标识身份,同样要求服务器向客户端证明其标识身份。,Kerberos的解决方案,在一个分布式的client/server体系机构中采用一个或多个Kerberos服务器提供一个认证服务。,Kerberos系统应满足的要求,安全。网络窃听者不能获得必要信息以假冒其它用户;Kerberos应足够强壮以至于潜在的敌人无法找到它的弱点连接。 可靠。Kerberos应高度可靠,并且应借助于一 个分布式服务器体系结构,使得一个系统能够备份另一个系统。 透明。理想情况下,用户除了要求输入口令以外应感觉不到认证的发生。 可伸缩。系统应能够支持

15、大数量的客户和服务器。,Kerberos Version4,引入一个信任的第三方认证服务,采用一个基于Needham & Schroeder协议。 采用DES,精心设计协议,提供认证服务。,一个简单的认证对话,引入认证服务器(AS), 它知道所有用户的口令并将它们存储在一个中央数据库中。 AS与每一个服务器共有一个唯一的保密密钥。这些密钥已经 物理上或以更安全的手段分发。,考虑以下假定的对话:,(1) C AS: IDC | PC | IDV (2) AS C: Ticket (3) C V : IDC | Ticket Ticket = EKVIDC | ADC | IDV,其中:C: cl

16、ient AS : Authentication Server V : server IDC: identifier of user on C,IDV: identifier of V PC: password of user on C ADC: network address of C KV: AS与V共有的保密密钥,C,V,AS,(1),(2),(3),更安全的认证对话,两个主要问题 希望用户输入口令的次数最少。 口令以明文传送会被窃听。 解决办法 ticket reusable ticket-granting server,改进后的假想的对话:,Once per user logon session: (1) C AS : IDC | IDtgs (2) AS C : EKCTickettgs Once per type of service (3) C TGS : IDC | IDv | Tickettgs (4) TGS C : TicketV Once per service session (5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号