身份鉴别——实现访问控制的先决条件
所面临威胁的防护
威胁 | 防护 | 图例 |
密码暴力破解 | 暴力破解防护
| |
木马窃取密码 | 木马窃取密码防护
| |
密码嗅探 | 密码嗅探防护
| 单向函数:
|
密码嗅探及重放 | 密码嗅探及重放攻击防护
| |
身份鉴别:
Kerberos协议
- 什么是Kerberos协议
- 1985年由美国麻省理工学院开发,用于通信实体间的身份认证,1994年V5版本作为Internet标准草案公布
- 基于对称密码算法为用户提供安全的单点登录服务
- 包含可信第三方认证服务
- Kerberos协议的优点
- 避免本地保存密码及会话中传输密码
- 客户端和服务器可实现互认
kerberos体系构成
- 运行环境构成
- 密钥分发中心(KDC)
- 系统核心,负责维护所有用户的账户信息
- 由AS和TGS两个部分构成
- 认证服务器(AS:AuthenticationServer)
- 票据授权服务器(TGS:TicketGrantingServer)
- 应用服务器
- 客户端
- 密钥分发中心(KDC)
- 其他概念
- 票据许可票据(TGT)
- 服务许可票据(9GT)
Kerberos认证过程——三次通信
认证过程由三个阶段组成,例如需要访问OA 第一次:获得票据许可票据(TGT) 第二次:获得服务许可票据(SGT) 第三次:获得服务 | |
具体工作过程
第一次:获得票据许可票据(TGT) 客户机向AS发送访问TGS请求(明文) 请求信息:用户名、IP地址、时间戳、随机数等 AS验证用户(只验证是否存在,不验证真假) AS给予应答 TGT(包含TGS会话密钥),使用KDC密码加密 其他信息(包含TGS会话密钥),使用用户密码加密 | |
第二次:获得服务许可票据(SGT) 客户机向TGS发送访问应用服务请求 请求信息使用TGS会话密钥加密(包含认证信息) 包含访问应用服务名称(http) TGS验证认证信息(包含用户名等)后,给予应答 SGT 客户机与应用服务器之间的会话密钢 | |
第三次:获得服务 客户机向应用服务器请求服务 SGT(使用http服务器密码加密) 认证信息 应用服务器(验证认证信息) 提供服务器验证信息(如果需要验证服务器) | |
AAA协议
- 什么是AAA协议
- 认证、授权和计费(Authentication、Authorization、Accounting,AAA)
- 常见AAA协议
- RADIUS协议——广泛使用
- TACACS+协议
- Diameter协议