第3章 信息认证技术(2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

口令认证机制存在的弊端
假设非法者能够破译系统或是通过其他 途径获得口令数据库,虽然口令数据库 是口令的hash值,不能够逆向计算求得。 但是,恶意的主动攻击者完全可以利用 现有的口令字典计算那些现有口令的 hash值,然后对二者进行比较,从而找 到合适的匹配值。
抵抗字典式攻击的办法
在口令的后面添加由计算机产生的随机 字符串,记为salt,然后把计算得到的 hash值和salt值同时存储到数据中。 如果随机数字salt取的符合一定要求,比 如随机性能、长度等,能在一定程度上 限制上述攻击。
2.利用认证者所具有的物品进行认证 2.利用认证者所具有的物品进行认证
利用硬件实现的认证方式
安全令牌 智能卡
安全令牌
安全性要求较高的场合使用硬件来实现 认证,如安全令牌。 安全令牌通常是每隔固定间隔产生一个 脉冲序列的同步序列发生器。
便携钥匙链式的安全令牌,和帐号绑定之后, 按一下就会显示你目前的登入PIN码(用户名 与密码依然是登入的前提),这个PIN码叫做 瞬时密码,而且这个瞬时密码每隔60秒会更 换一次,换个方法讲,没有这个东西,你就 进不去游戏了。
令牌有点像一个小计算器,粗略一看也有点像汽车的遥控器,所 有的令牌差不多都有一个处理器,一个液晶屏和一个电池,有些 令牌还有供用户输入信息的小键盘和一个时钟。每个牌都有一个 唯一的种子数,种子可确保令牌输出唯一的代码集。令牌产生的 伪随机数称为一次性口令或者一次通行码。 用户在访问受保护的资源时,输入用户名,令牌上显示的通行 码和PIN,而不是口令。每个通行码用一次后就不再使用,大多 数系统中,认证系统不直接检验通行码,而是让所信任的认证服 务器去做这个事情。 认证服务器必须知道每个令牌的编程种子数,因为认证系统知 道每个特定令牌的种子数后,才能检查访问用户提供的伪随机数 是否正确。 令牌认证是双因素认证或者称2-因素认证,要使用令牌认证必 须拥有令牌和PIN,两者缺一不可
用户如何使用S/key系统(三)
监听者也无法从所监听到的口令中得到 用户的源口令,同时他所监听到的信息 也不能作为登录用信息。 在计算机内部也不保存用户的源口令, 达到进一步的口令安全。
S/key系统的优缺点
优点
实现原理简单
缺点
会给使用带来一点麻烦(如口令使用一定次 数后就需重新初始化)。 依赖于某种算法的不可逆性的,算法也是公 开的,当有关于这种算法可逆计算研究有了 新进展时,系统将被迫重新选用其它更安全 的算法。
补充说明一
安全的实现是有代价的。
多数服务器在进行认证时只是存放用于进行 用户识别的用户ID和口令特征的静态认证列 表。 这种方式的优点是配置简洁方便,缺点是破 解者能够花费较小的代价获得口令列表。
补充说明二
ISP服务商通常会将远程访问服务器的共享认 证列表放在较为安全的服务器商,达到使用外 部认证或共享认证。 此种认证的优点是只需考虑一台服务器的安全 配置就可以了,因此在配置更方便的同时,认 证的安全性能提高了。 直接导致了专用认证服务器的产生,Kerberos 认证服务也是这样一种方式。认证服务器对用 户进行认证时会对整个认证过程加密,从而避 免Hacker截取用户的ID与口令。
双向认证
单向认证,
默认通信方A对B的检验
在通信中,需要确定和你进行通信对话 的人是Alice而不是Bob,有必要也对对方 进行验证,双方互相进行验证的这种方 式我们称为双向认证
3.5.2认证方式的实际应用
目前实用的认证方式有
S/key
防止窃听和窃取,但实现有困难
Kerberos Radius
Kerberos和Radius认证方式都是在服务器 和客户机都支持相应的认证方式的条件下 才能使用,因而需要复杂的设置。
挑战/应答式(质询/响应式)口令(2/2)
认 证 系 统
质询 ( 挑战 )
hash 3.10 挑战应答式
口令认证机制存在的弊端
(1)口令的更新 (2)口令的记忆 (3)口令的概率分布 人们使用的口令并非均匀随机地分布在 可能的密钥空间。多数人出于方便的考 虑,类似于A6KX853H这样随机、安全的 密码总是很难进入到我们的数字生活中。
使用散列算法而不是加密算法主要是散列算法容易实现而且需要的CPU资源比加密 运算少,这对低当的令牌处理器极为有利,即节省成本又延长电池寿命。
智能卡
智能卡 卡中存储有用户的私钥、登录信息和用于不同 目的的公钥证书,如数字签名证书和数据加密 证书等 提供了抗修改能力,用于保护其中的用户证书 和私钥。在这种方式下,智能卡提供了一种非 常安全的方式以进行用户认证、交互式登录、 代码签名和安全e-mail传送等。
3.5.1认证的具体实现原理
单一加密形式下的用户名与口令传输方 式适合的应用环境
(a)用户终端可以直接连接认证系 (b)认证数据库不为非法用户所获得。
认证数据库通常情况下不会直接存放用 户的口令,可以存放口令的hash值或是 加密值。
用户名与口令的认证实现方式
用户将口令使用认证系统的公钥加密后 传输给认证系统,认证系统对加密数据 解密后得到口令,对此数据做hash(或 是加密),将这一结果与数据库中的值 做比较,若数据匹配,则是合法用户, 否则不是。
用户如何使用S/key系统(一)
用户在使用S/key系统时,在计算机上 对其口令进行初始化,由计算机保存将 该源口令按照选定的算法计算N次的结果。 用户自己在客户端必须有能够进行计算 的程序或工具。
用户如何使用S/key系统(二)
计算N-1次后形成本次口令,当本次口 令送给计算机时,计算机将所得的口令 通过该算法计算一次,并将结果与计算 机保存的上一个结果比较,若相同,则 身份验证通过,而且将本次用户的输入 保留,作为下一次用于比较的值。 用户在下一次计算口令时,自动将计算 次数减1(第二次计算N-2次)。
概念解释—挑战应答令牌
挑战应答令牌
由认证系统产生一个随机数,令牌和认证系 统使用同样的密钥对这个数字进行加密或是 hash变换,然后进行校验。
使用令牌时,令牌和认证服务器需要有相同的种子数。种子数是一个适当长度的随机数, 不同令牌的种子数不同,令牌中的种子数是不向外公开的,由于令牌没有接口接收质询, 所以用户需要看到认证服务器返回的质询后,将其输入到令牌中。
双要素认证
我们进行验证时考虑使用验证者的某个属性或 是共知信息,如果单独使用某个方面无法体现 安全的要求,就考虑使用验证者的多个信息来 实现。 比如我们在使用钥匙开门锁的时候,如果进入 的地方比较机密,而又当心钥匙有可能丢失, 就同时配置一个密码锁加以保证。 这种方式我们称为双要素认证。对于有口令的 令牌和智能卡的实现都属于这种方式。
概念解释—时间令牌
时间令牌
令牌和认证服务器共同拥有一个相同的随机 种子,认证时双方将当前时间和随机种子做 加密或是hash运算,然后有认证服务器对这 一结果进行校验比较。 时间令牌的实现非常复杂,产生这个问题的 原因在于要对时间进行校验,必须保证令牌 与认证服务器的时间同步。
在服务器端认证的时侯,如果服务器发现通行码不匹配,这时服务器会向前或者向后调一下时间再一次做 散列处理后,进行匹配; 如果还不匹配的话,服务器还会扩大向前或向后调整时间的范围,再做散列处理,进行 匹配。如果匹配成功后,服务器记录下令牌与服务器时间的偏移量。向前或者向后调整超过一定范围后就被认 为失败.从令牌安全角度来讲,在用户使用令牌的时候需要输入一个PIN,如果输入正确的PIN后会产生一个正确 的种子数;输入错的话也不会提示失败,而是给出一个错误的种子数,继续使用。每个令牌都有一种特定的错 误种子数,以便服务器跟踪。
示例
比如在一个有严格安全等级的实验室, 就可以使用安全令牌来实现: 当用户UserA使用控制器的时候,需要系 统对他的使用行为进行认证,但是,如 果UserA暂时离开或是有其他等级不同的 用户到来的时候,都必须从新进行认证 或是更改认证权限。
示例
完全通过人为的管理是不现实的,所以 对每个用户配置一个令牌。
S/key和秘密密码特点
S/key和秘密密码不象Unix password需 要限制在8位以内,它们可能会更长。一 般都使用6到7位的长度。 另外,S/key系统操作完全独立于unix password系统。
S/key 密码生成
S/key通过连接“种子”(seed)和秘密密码 来生成一次性密码,然后通过反复计算多次应 用MD4hash,再把结果变成六个英文字。这六 个英文字就是你的一次性密码。 如果用户提供的密码的hash值与先前的密码相 一致,那用户就通过了认证;每个成功的登陆 确保用户和登陆程序保持同步之后,计算的次 数就不断减少。当反复计算的降到1时,S/ key必须被重新初始化
每隔一个固定的时间间隔,认证系统都和用 户所携带的令牌进行认证 当用户离开(或是其他用户)的时候,认证 系统就自动把访问控制禁止,这样就会避免 敏感信息的泄漏。
概念解释-令牌
令牌实际上是一个可以为每一次认证产 生不同的认证值的小型电子设备,其易 于携带。 认证令牌的实现有两种具体的方式
时间令牌 挑战/应答式令牌。
使用S/key类系统两方面的操作
在客户方,必须有方法产生正确的一次 性口令。 在服务主机方必须能够验证该一次性口 令的有效性,并能够让用户安全地修改 源口令。
S/key认证方式说明
一般的S/key系统是基于一些不可逆算 法的(如MD4和MD5),也就是说这一 类算法如果拥有源数据,正向计算出结 果速度很快。 但如果没有源数据而试图反向计算出源 数据,则目前来看基本上是不可能的。
与口令认证方式的不同之处
用户把卡插入连接到计算机的读写器中, 并输入卡的PIN,Windows就可以使用卡 中存储的私钥和证书来向Windows2000 域控制器的KDC(密匙分配中心)认证用户。 认证完用户以后,KDC将返回一个许可 票据。
说明
硬件器件实现的安全问题的最大隐患在 于其本身有可能丢失 因此,一般通过口令对其加以保护。
使用智能卡比使用口令进行认证具有更高 的安全性
智能卡方式下需要使用物理对象(卡)来认证 用户
智能卡的使用必须提供一个个人标识号PIN (PersonalIdentificationNumber),这样可以保证 只有经过授权的人才能使用该智能卡 没有智能卡,攻击者不能存取和使用经过卡保护的 信息资源,也就没有口令或任何可重用信息的传输 在存取和使用资源之前,智能卡通过要求用户提供 物理对象(卡)和卡使用信息(如卡的PIN)的方 式来增强纯软件认证方案的安全性,这种认证方式 称为双要素认证,
3.5 认证的具体实现
3.5.1认证的具体实现原理 3.5.2认证方式的实际应用
3.5.1认证的具体实现原理
1.使用验证者与共同知道的信息方式 1.使用验证者与共同知道的信息方式 : 用户与口wenku.baidu.com方式
用户名与口令是最简单的认证方式 明文口令是最简洁的数据传输,保护口令不 被泄密可以在用户和认证系统之间进行加密。
用户名与口令的认证实现方式
hash
口 令 数 据 库
口令
hash 3..8 口令 的
口令数据库的加密存储
数据加密
口 令 数 据 库
数据 密
口令存储 数据加密
hash 3.9 口令数据库的加密存储
挑战/应答式(质询/响应式)口令(1/2)
挑战/应答式(质询/响应式)口令
是目前口令认证机制的基础。 其原理适用于令牌与智能卡的认证。 认证一个用户可以等同地证明这个用户拥有某个私 钥,由于认证系统知道用户的公钥,因此可以选取 一个随机数字发送给用户,用户收到后使用自己的 私钥进行加密,然后传递给认证系统,认证者使用 用户的公钥进行解密,然后比较解密结果是否等于 随机数字。
1. S/key认证方式
通过监听TCP/IP网络中信息,可以获得 用户登录用的帐号和口令,被截获的用 户帐号和口令有助于发动对系统的攻击。 S/key是一个一次性口令系统,可以用 来对付这种类型的攻击行为。
S/key认证方式的特点
使用S/key系统时,网络中传送的帐户和口令 只使用一次后就销毁。 用户使用的源口令永远也不会在网络上传输, 包括登录时或其它需要口令的情形,这样就可 以保护用户的帐户和口令不会因此而被窃取。 S/key系统的机制保护的是进行身份鉴别时的 安全性,并不保证信息在传送过程中的保密性 和完整性。
相关文档
最新文档