(一)Kerberos
源于古希腊神话 Cerberus 地狱守门三头犬
是由美国麻省理工学院(MIT)研制的网络认证协议,目标是使用加密Ticket为客户端/服务器应用提供强身份认证。Windows将其作为默认认证方法。同时也支持Mac OS和Linux系统
(二)技术原理
利用对称密码技术(DES→AES),使用散列函数(如MD5或SHA-1)来确保数据完整性和验证信息的真实性。使用可信第三方为应用服务器提供认证服务,在用户和服务器之间建立安全信道。
(三)系统构成
实体 | 用途 | ||
1 | Kerberos客户机 | 用来访问服务器设备 | |
2 | KDC (Key Distribution Center) | AS (Authentication Server,认证服务器) | 识别用户身份并提供TGS会话密钥 |
TGS(Ticket Granting Server,票据发放服务器) | 为申请服务的用户授予票据(Ticket) | ||
3 | 应用服务器(Application Server) | 为用户提供服务的设备或系统 |
票据(Ticket):用于安全的传递用户身份所需信息的集合,主要包括客户方 Principal、目的服务方Principal、客户方IP地址、时间戳(分发该Ticket的时间)、Ticket 的生存期、以及会话密钥等内容。
(四)工作流程
(五)优点
- 采用秘钥(非密码)进行加密和传输,减少了秘钥秘文的暴露次数。
- 认证提供单点登录(Single Sign OnSSO)功能
- 使用票据授权,提高了性能和安全性
(六)缺点
未解决主机节点时间同步(时间被修改导致无法使用甚至瘫痪)和抵御拒绝服务攻击。