本章知识点:
- Kerberos体系
- 理解单点登录概念及其特点
- 了解Kerberos体系架构及其基本认证过程
- 了解AAA的概念及radius、tacacs+协议特点
一、什么是Kerberos协议
- 目前使用最广泛的单点登录协议
- 历史:1985年由美国麻省理工学院开发,用于通信实体间的身份认证;
1994年V5版本作为internet标准草案公布 - 特性:
- 基于对称密码算法为用户提供安全的单点登录服务
- 需要时钟同步的环境
- 包含可信第三方认证服务
- 优点:
- 避免本地保存密码及会话中传输密码
- 客户端和服务器可实现互认(双向认证)
二、什么是单点登录
- 单点登录概念(SSO,single sign-on)
- 单一身份认证,身份信息集中管理,一次认证就可以访问其授权的所有网络资源
- 单点登录实质是安全凭证在多个应用系统之间的传递或共享
- 单点登录的安全优势
- 方便用户
- 方便管理员
- 简化应用系统开发
三、Kerberos协议体系构成
- 运行环境构成
- 密钥分发中心(KDC:Key Distribution Center)
- 系统核心,负责维护所有用户的账户西溪难
- 由AS和TGS两个部分构成
- 认证服务器——AS(authentication server)
- 票据授权服务器——TGS(ticket granting server,也称会话授权服务)
- 应用服务器
- 客户端
- 密钥分发中心(KDC:Key Distribution Center)
- 其他概念
- 票据许可票据(TGT)
- 服务许可票据(SGT)
- Kerberos认证过程-三次通信
- 认证过程由三个阶段组成,例如需要访问OA系统
- 第一次:获得票据许可票据(TGT)
- 第二次:获得服务许可票据(SGT)
- 第三次:获得服务
- 认证过程由三个阶段组成,例如需要访问OA系统
Kerberos系统架构和通信过程
符号名词定义: | C(client) | 客户端 | | —- | —- | | S(server) | 服务器 | | K | 密钥 | | T | 凭据 | | N | 一次性随机数 | | KDC | 密钥分配中心 |
第一次:获得TGT(票据许可票据/会话许可票据)
- 客户机向AS(认证服务器)发送访问TGS(票据授权服务器)的请求
- 请求信息:用户名、IP地址、时间戳、随机数等,表示为:C->AS:C,TGS,N
- AS进行验证用户(只验证用户是否存在)
- AS给予应答
- AS验证用户后,随机生成一个密钥KC,TGS
- 生成TGT(包含TGS会话密钥、客户机、开始和失效时间等),使用TGS的密钥进行加密,反馈给客户机
- 将会话密钥KC,TGS和随机数N,使用客户机的密码KC加密,反馈给客户机
- 客户机向AS(认证服务器)发送访问TGS(票据授权服务器)的请求
- 第二次:获得SGT(服务许可票据)
- 客户机向TGS(票据授权服务器)发送访问应用服务请求
- 请求信息使用TGS会话密钥加密
- 包含访问应用服务名称(HTTP)
- TGS验证认证信息(包含用户名等)后,给予应答
- SGT(服务许可票据)
- 客户机与应用服务器之间的会话密钥
- 客户机向TGS(票据授权服务器)发送访问应用服务请求
- 第三次:获得服务
- 客户机向应用服务器请求服务
- SGT(服务许可票据,使用http服务器密码加密)
- 认证信息
- 应用服务器(验证认证信息)
- 提供服务器验证信息(如果需要验证服务器)
- 客户机向应用服务器请求服务
- 总结:(上面看不懂的请移步这里)
- 第一次:客户机需要向AS请求访问TGS的密钥,AS接收到客户机的请求后,验证用户是否存在,
验证通过后返回TGT+K**c,tgs**TGS的会话密钥 - 第二次:客户机把TGT+K**c,tgs**发给TGS进行验证,TGS将TGT+K**c,tgs**进行解密,
验证通过后生成请求服务许可票据SGT;
并随机生成客户端访问服务器的密钥K**c,s,以及一次性随机数N,然后把N和Kc,s使用Kc,tgs加密后,与SGT一起发送给客户端(SGT+Kc,s)** - 第三次:客户机把SGT和发给K**c,s**服务器,服务器验证通过后允许访问服务。
- 第一次:客户机需要向AS请求访问TGS的密钥,AS接收到客户机的请求后,验证用户是否存在,
四、Kerberos认证协议的特点
- 优点
- 单点登录,只要用户拿到了TGT并且该TGT没有过期,就可以使用该TGT通过TGS,完成到任何一个服务器的认证而不必重新输入密码。
- 与授权机制相结合
- 支持双向的身份认证
- 通过交换“跨域密钥”实现分布式网络环境下的认证
- 缺点
- AS和TGS是集中式管理,容易形成瓶颈,系统的性能和安全,也严重依赖于AS和TGS本身的性能和安全
- 时钟同步问题
- 身份认证采用的是对称加密机制,随用户数量增加,密钥管理复杂
一、