kerberos 票据过期_Kerberos安全体系详解

Kerberos是一个安全认证协议,通过tickets验证用户身份,避免密码在网络中传输。协议包括3次通信:用户首先向KDC获取Ticket Granting Ticket (TGT),然后使用TGT获取服务Ticket,最后凭服务Ticket与目标服务进行通信。票据过期后,用户需重新获取TGT。Kerberos仅提供身份验证,不涉及授权和审计。项目实现包含KDC服务器端、客户端和工具类,使用AES加密,Kryo序列化,并提供异常处理和基础工具支持。
摘要由CSDN通过智能技术生成

1. Kerberos简介

1.1. 功能

  1. 一个安全认证协议
  2. 用tickets验证
  3. 避免本地保存密码和在互联网上传输密码
  4. 包含一个可信任的第三方
  5. 使用对称加密
  6. 客户端与服务器(非KDC)之间能够相互验证

Kerberos只提供一种功能——在网络上安全的完成用户的身份验证。它并不提供授权功能或者审计功能。

1.2. 概念

首次请求,三次通信方

  • the Authentication Server
  • the Ticket Granting Server
  • the Service or host machine that you’re wanting access to.
3e4ca921-2f2f-eb11-8da9-e4434bdf6706.png

图 1‑1 角色

其他知识点

  • 每次通信,消息包含两部分,一部分可解码,一部分不可解码
  • 服务端不会直接有KDC通信
  • KDC保存所有机器的账户名和密码
  • KDC本身具有一个密码

2. 3次通信

404ca921-2f2f-eb11-8da9-e4434bdf6706.png

我们这里已获取服务器中的一张表(数据)的服务以为,为一个http服务。

2.1. 你和验证服务

如果想要获取http服务,你首先要向KDC表名你自己的身份。这个过程可以在你的程序启动时进行。Kerberos可以通过kinit获取。介绍自己通过未加密的信息发送至KDC获取Ticket Granting Ticket (TGT)。

(1)信息包含

  • 你的用户名/ID
  • 你的IP地址
  • TGT的有效时间

Authentication Server收到你的请求后,会去数据库中验证,你是否存在。注意,仅仅是验证是否存在,不会验证对错。

如果存在,Authentication Server会产生一个随机的Session key(可以是一个64位的字符串)。这个key用于你和Ticket Granting Server (TGS)之间通信。

(2)回送信息

Authentication Server同样会发送两部分信息给你,一部分信息为TGT,通过KDC自己的密码进行加密,包含:

  • 你的name/ID
  • TGS的name/ID
  • 时间戳
  • 你的IP地址
  • TGT的生命周期
  • TGS session key

另外一部分通过你的密码进行加密,包含的信息有

  • TGS的name/ID
  • 时间戳
  • 生命周期
  • TGS session key
464ca921-2f2f-eb11-8da9-e4434bdf6706.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值