身份认证课件

上传人:阳*** 文档编号:82881063 上传时间:2022-04-30 格式:PPT 页数:51 大小:221KB
收藏 版权申诉 举报 下载
身份认证课件_第1页
第1页 / 共51页
身份认证课件_第2页
第2页 / 共51页
身份认证课件_第3页
第3页 / 共51页
资源描述:

《身份认证课件》由会员分享,可在线阅读,更多相关《身份认证课件(51页珍藏版)》请在装配图网上搜索。

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

2、机认证。l身份认证技术不可避免地会用到加密技术,同样地也可分为基于对称密钥技术的身份认证(如Kerberos)和基于公开密钥的身份认证(如CA)两类。 身份认证l简单口令l提问/应答(Challenge/Response)式认证l操作系统口令处理机制l一次性口令l拨号用户认证协议l更强的基于口令的认证机制身份认证l这是最简单的认证方式,当用户访问某项服务时,只需提供用户ID和口令对,服务器检查用户口令是否正确。虽说只简单口令认证就可以阻止不少威胁了,但由于在开放式系统中,窃听者很容易探听到时明文方式传输的口令,也就很容易成功地伪装成该用户。这种方式不可能充分满足安全需求,但由于它简单、方便,在

3、短时间内还不会完全消失。 身份认证l用户、服务器约定一个计算函数和密钥身份认证1、强力攻击:有时,对challenge可能不作加密,在这种情况下,攻击者可以截取challenge和response,试验所有可能的口令。2、字典式攻击:攻击者根据字典,再加上一些简单变换规则,如口令在字典中,就可以被计算出来。l3、冒名顶替:攻击者假冒客户或服务器l4、反射攻击:攻击者将认证消息用于其它地方如另一服务等l5、客户/服务器认证数据库失窃l6、修改客户/服务器之间传输的消息 7、对认证机制的高级攻击 身份认证lUnix操作系统在主机上对用户口令进行了一次单向运算,将运算结果保存在/etc/passwd

4、或/etc/shadow中 。lDES加密迭代 /MD5算法 lPAM:可插拔认证模块(Pluggable Authentication Modules),目前已在Sun的Solaris、Linux、FreeBSD、OpenBSD等操作系统中实现,它对以下几个方面提供支持:扩展的标准login(检查时间、登录地点等)| .rhosts、/etc/shells|cracklib(用于检查口令)|DES提问/回答|Kerberos|S/Key, OPIE|RADIUS|SecurID身份认证身份认证l(1) 动态安全ID(ACE)认证lACE是一种基于时间的认证方式,它使用了智能卡(Smart C

5、ard)技术,ACE卡每隔一段时间,根据用户身份标识(PIN)产生一个新的口令。当用户需要访问受保护资源时,输入PIN和ACE卡上产生的口令,l服务器按下列步骤认证用户: 服务器检索PIN和种子值,该种子值同赋给用户的安全ID卡相关。 服务器利用上次连接的数据,对当前的时钟“漂移”进行估计。 计算出正确的口令,并确定该口令可在多长时间内有效。lACE方式利用了前面提到过的两个因素: 用户输入PIN,表明他知道某种秘密 用户输入正确口令,表明他拥有ACE卡。身份认证l 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。 身份认证l(1) 口令认证协议(PAP)l最初设计口令认证协议时,是希望为主机向另一台使用PPP协议的主机认证自己提供一种简单方法,其详细描述见

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

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

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

10、击者进行强力攻击。 前向保密:攻击者得到一个口令并不能使其获得以前会话过程中使用的会话密钥。身份认证l3.1基于网络的认证基于网络的认证l当前在Internet上对主机认证采用得最多的还是基于网络的,网络认证又可分为两大类:l(1) 基于地址l(2) 基于主机名l不管是基于地址还是基于主机名的认证,可靠性都是很低的,网络地址,无论是IP地址,还是网卡MAC地址,都很容易被伪装,基于主机名的认证问题比基于地址更为严重,它过分依赖于DNS,这样,当Internet某处DNS被攻破后,很容易会被欺骗。 身份认证l3.2 使用密码学技术使用密码学技术l这种认证方案包括了用户认证一节里所列NTLM认证,

11、以及下面就要谈到的基于Kerberos或基于公开密钥技术的认证。这一类技术都依赖于某一“秘密”或保密密钥,在主机认证中,如何在主机上安全存放这一“秘密”将是一个关键的问题。 身份认证身份认证lKerberos: part of Project Athena at MITlGreek Kerberos: 希腊神话故事中一种三个头的狗,还有一个蛇形尾巴。是地狱之门的守卫。lModern Kerberos: 意指有三个组成部分的网络之门的保卫者。“三头”包括: 认证(authentication) 簿记(accounting) 审计(audit) 身份认证l在一个开放的分布式网络环境中,用户通过工作

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

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

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

15、eder协议。l采用DES,精心设计协议,提供认证服务。一个简单的认证对话引入认证服务器(AS), 它知道所有用户的口令并将它们存储在一个中央数据库中。 AS与每一个服务器共有一个唯一的保密密钥。这些密钥已经 物理上或以更安全的手段分发。考虑以下假定的对话:(1) C AS: IDC | PC | IDV(2) AS C: Ticket(3) C V : IDC | TicketTicket = EKVIDC | ADC | IDV其中:C: clientAS : Authentication Server V : serverIDC: identifier of user on C IDV:

16、 identifier of VPC: password of user on CADC: network address of CKV: AS与V共有的保密密钥CVAS(1)(2)(3)身份认证l两个主要问题 希望用户输入口令的次数最少。 口令以明文传送会被窃听。l解决办法 ticket reusable ticket-granting server改进后的假想的对话:Once per user logon session:(1) C AS : IDC | IDtgs(2) AS C : EKCTickettgsOnce per type of service(3) C TGS : IDC

17、| IDv | Tickettgs(4) TGS C : TicketVOnce per service session(5) C V : IDC | TicketVTickettgs = EKtgsIDC|ADC|IDtgs|TS1|Lifetime1TicketV = EKVIDC|ADC|IDV|TS2|Lifetime2 CVAS(1)(2)(3)TGS(4)(5)Kerberos身份认证l两个问题 与ticket-granting ticket相关的Lifetime问题; 需要服务器向客户进行认证;l解决方案 session keySummary of Kerberos Versio

18、n 4 Message Exchanges(a) Authentication Service Exchange: to obtain ticket-granting ticket(1) C AS : IDC | IDtgs | TS1(2) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | TickettgsTickettgs = EKtgs Kc,tgs | IDC | ADC | IDtgs | TS2 | Lifetime2(b) Ticket-granting Service Exchange: to obtain service-granti

19、ng ticket(3) C TGS : IDV | Tickettgs | Authenticatorc(4) TGS C : EKc,tgsKc,v | IDV | TS4 | TicketvTickettgs = EKtgsKc,tgs| IDC| ADC| IDtgs | TS2 | Lifetime2Ticketv = EKVKc,v|IDC|ADC| IDv|TS4|Lifetime4Authenticatorc = EKc,tgsIDc|ADc|TS3(c) Client/Server Authentication Exchange: To obtain service(5) C

20、 V : Ticketv | Authenticatorc(6) V C : EKc,vTS5+1 ( for mutual authentication)Ticketv = EKVKc,v|IDc|ADc|IDv|TS4|Lifetime4Authenticatorc = EKc,vIDc|ADc|TS5 Rationale for the Elements of the Kerberos Version 4 Protocol(a) Authentication Service ExchangeMessage(1)Client 请求 ticket-granting ticket IDC :告

21、诉AS本client端的用户标识; IDtgs :告诉AS用户请求访问TGS; TS1 :让AS验证client端的时钟是与AS的时钟同步的;Message(2)AS返回ticket-granting ticket EKC :基于用户口令的加密,使得AS和client可以验证口令,并保护Message(2)。 Kc,tgs :session key的副本,由AS产生,client可用于在AS与client之间信息的安全交换,而不必共用一个永久的key。 IDtgs :确认这个ticket是为TGS制作的。 TS2 :告诉client该ticket签发的时间。 Lifetime2:告诉clien

22、t该ticket的有效期; Tickettgs:client用来访问TGS的ticket。 (b) Ticket-granting Service ExchangeMessage(3)client 请求service-granting ticket IDv:告诉TGS用户要访问服务器V; Tickettgs :向TGS证实该用户已被AS认证;Authenticatorc:由client生成,用于验证ticket;Message(4)TGS返回service-granting ticket EKc,tgs :仅由C和TGS共享的密钥;用以保护Message(4); Kc,tgs:session

23、key的副本,由TGS生成,供client和server之间信息的安全交换,而无须共用一个永久密钥。 IDv :确认该ticket是为server V签发的; TS4 :告诉client该ticket签发的时间; TicketV :client用以访问服务器V的ticket; Tickettgs:可重用,从而用户不必重新输入口令; EKtgs :ticket用只有AS和TGS才知道的密钥加密,以预防篡改; Kc,tgs :TGS可用的session key副本,用于解密authenticator,从而认证ticket; IDc :指明该ticket的正确主人;CVAS(1)(2)(3)TGS(

24、4)(5)Kerberos(6)身份认证l一个完整的Kerberos环境包括一个Kerberos服务器,一组工作站,和一组应用服务器,满足下列要求: Kerberos服务器必须在其数据库中拥有所有参与用户的ID(UID)和口令散列表。所有用户均在Kerberos服务器上注册。 Kerberos服务器必须与每一个服务器之间共享一个保密密钥。所有服务器均在Kerberos服务器上注册。l这样的环境被视为一个管辖国界(realm)。 每一个辖区的Kerberos 服务器与其它辖区内的Kerberos服务器之间共享一个保密密钥。两个Kerberos服务器互相注册。(1) C AS : IDC | ID

25、tgs | TS1 (2) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | Tickettgs(3) C TGS: IDtgsrem | Tickettgs | Authenticatorc(4) TGS C: EKc,tgsKc,tgsrem | IDtgsrem | TS4 | Tickettgsrem(5) C TGSrem: IDvrem | Tickettgsrem | Authenticatorc(6) TGS C: EKc,tgsremKc,vrem | IDvrem | TSb | Ticketvrem(7) C Vrem: Ticke

26、tvrem | AuthenticatorcCASTGSTGSremVrem(1)(2)(3)(4)(5)(6)(7)身份认证l改进version 4 的环境缺陷 加密系统依赖性 Internet协议依赖性 消息字节次序 Ticket的时效性 Authentication forwarding Inter-realm authentication身份认证l改进Version 4 的技术缺陷 Double encryption PCBC encryption Session key Password attacks身份认证lMIT Kerberos Web Site: lUSC/ISI Kerb

27、eros Page:lPassword-to-Key TransformationlPropagating Cipher Block Chaining Mode身份认证l可以证明Kerberos协议模型功能的正确性l发现Kerberos协议模型依赖于安全的时间服务身份认证l可信第三方 所需的共享密钥分配和管理变得十分简单 AS担负认证工作,减轻应用服务器的负担 安全相关数据的集中管理和保护,从而使攻击者的入侵很难成功lTicket AS的认证结果和会话密钥安全地传送给应用服务器 在生存期内可重用,减少认证开销,提高方便性身份认证lTicket发放服务 降低用户口令的使用频度,更好地保护口令 减

28、轻AS的负担,提高认证系统的效率l时间戳 防止对Ticket和Authenticator的重放攻击l以共享秘密(密钥)为认证依据身份认证l重放攻击 ticket-granting ticket具有较长的生存期,很容易被重放 对于有准备的攻击者,5分钟的生存期内也可能进行重放攻击 保存所有存活鉴别符并通过比较检测重放攻击的办法难以实现 与其他攻击形式结合的重放攻击更容易成功身份认证l时间依赖性 实现较好的时钟同步往往是很困难的 攻击者误导系统时间并进行重放攻击有可乘之机 基于安全的时间服务?l猜测口令攻击 脆弱口令容易受到攻击 协议模型未对口令提供额外的保护,猜测复杂度为O(K)身份认证l域间鉴

29、别 多跳域间鉴别涉及很多因素,实现过程复杂不明确 存在“信任瀑布”问题l篡改登录程序 认证系统本身的程序完整性很难保证l密钥存储问题 口令及会话密钥无法安全存放于典型的计算机系统中身份认证lKerberos协议模型的改进模型 消除认证协议对安全时间服务的依赖性 更好地防止重放攻击 提高口令猜测的复杂度 简化域间认证 使用混合加密算法 使用nonce身份认证传统加密方法1、A KDC:IDA|IDB|N12、KDC A:EKaKs|IDB|N1|EKbKs|IDA3、A B: EKbKs|IDA4、B A: EKsN25、A B: EKsf(N2)保密密钥Ka和Kb分别是A和KDC、B和KDC之

30、间共享的密钥。本协议的目的就是要安全地分发一个会话密钥Ks给A和B。A在第2步安全地得到了一个新的会话密钥,第3步只能由B解密、并理解。第4步表明B已知道Ks了。第5步表明B相信A知道Ks并且消息不是伪造的。第4,5步目的是为了防止某种类型的重放攻击。特别是,如果敌方能够在第3步捕获该消息,并重放之,这将在某种程度上干扰破坏B方的运行操作。Needham/Schroeder Protocol 1978身份认证上述方法尽管有第4,5步的握手,但仍然有漏洞。假定攻击方C已经掌握A和B之间通信的一个老的会话密钥。C可以在第3步冒充A利用老的会话密钥欺骗B。除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。如果C可以中途阻止第4步的握手信息,则可以冒充A在第5步响应。从这一点起,C就可以向B发送伪造的消息而对B来说认为是用认证的会话密钥与A进行的正常通信。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!