- 1
- 0
- 约1.49万字
- 约 51页
- 2016-12-31 发布于北京
- 举报
身份认证技术与应用示例 主要内容 概述 用户认证 主机认证 Kerberos系统 基于公开密钥的身份认证 一、概述 认证(Authentication)证实客户的真实身份与其所声称的身份是否相符的过程,是保证系统安全的重要措施之一。当服务器提供服务时,需要确认来访者的身份,访问者有时也需要确认服务提供者的身份。 认证过程的三要素: (1)??? 知识(Knowledge):你知道什么,如口令等。 (2)??? 物品(Possession):你拥有什么,如IC卡等 (3)??? 特征(Characteristic):你有什么生理特征,如指纹等。 在分布式系统中有两类主要认证:即用户认证和主机认证。 身份认证技术不可避免地会用到加密技术,同样地也可分为基于对称密钥技术的身份认证(如Kerberos)和基于公开密钥的身份认证(如CA)两类。 二、用户认证 简单口令 提问/应答(Challenge/Response)式认证 操作系统口令处理机制 一次性口令 拨号用户认证协议 更强的基于口令的认证机制 2.1 简单口令认证 这是最简单的认证方式,当用户访问某项服务时,只需提供用户ID和口令对,服务器检查用户口令是否正确。虽说只简单口令认证就可以阻止不少威胁了,但由于在开放式系统中,窃听者很容易探听到时明文方式传输的口令,也就很容易成功地伪装成该用户。这种方式不可能充分满足安全需求,但由于它简单、方便,在短时间内还不会完全消失。 2.2 提问/回答式认证 用户、服务器约定一个计算函数和密钥 基于口令的认证及其变体在实际应用中会遇到以下威胁 1、强力攻击:有时,对challenge可能不作加密,在这种情况下,攻击者可以截取challenge和response,试验所有可能的口令。 2、字典式攻击:攻击者根据字典,再加上一些简单变换规则,如口令在字典中,就可以被计算出来。 3、冒名顶替:攻击者假冒客户或服务器 4、反射攻击:攻击者将认证消息用于其它地方如另一服务等 5、客户/服务器认证数据库失窃 6、修改客户/服务器之间传输的消息 7、对认证机制的高级攻击 2.3 操作系统口令处理机制 Unix操作系统在主机上对用户口令进行了一次单向 运算,将运算结果保存在/etc/passwd或/etc/shadow中 。 DES加密迭代 /MD5算法 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 Card)技术,ACE卡每隔一段时间,根据用户身份标识(PIN)产生一个新的口令。当用户需要访问受保护资源时,输入PIN和ACE卡上产生的口令, 服务器按下列步骤认证用户: ① 服务器检索PIN和种子值,该种子值同赋给用户的安全ID卡相关。 ② 服务器利用上次连接的数据,对当前的时钟“漂移”进行估计。 ③ 计算出正确的口令,并确定该口令可在多长时间内有效。 ACE方式利用了前面提到过的两个因素: ① 用户输入PIN,表明他知道某种秘密 ② 用户输入正确口令,表明他拥有ACE卡。 (2)??? S/Key ?S/Key是由Bellcore公司为通过纯软件实现来产生并认证一次性口令而制定的系统,它使用单向Hash函数产生一次性口令序列,其原理关键在于以生成口令的逆序方式使用口令,大致如下: ① 用户在与主机直接相连的设备(如控制台)或安全连接工具上输入加密口令; ② 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协议的主机认证自己提供一种简单方法,其详细描述见RF
原创力文档

文档评论(0)