Kerberos原理整理

Kerberos是一种网络身份验证协议,由麻省理工学院实现,广泛应用于安全验证。其核心是用户只需一次验证即可获得票据访问多个服务,实现单点登录(SSO)。协议涉及AS、TGS和客户端三个角色,通过加密技术确保在不安全网络中的安全连接。Kerberos V4和V5的主要区别在于验证过程,但基本原理相同。安装和命令如klist、kdestroy等,用于管理和操作Kerberos环境。
摘要由CSDN通过智能技术生成

一、什么是kerberos
kerberos是一种网络身份验证协议。它设计的目的是使用对称密钥加密技术为客户端/服务器应用提供可靠的身份验证。
美国麻省理工学院提供了一种该协议的实现。kerberos已经在很多公司产品中应用。kerberos是美国麻省理工学院为了解决非安全
的网络环境中安全问题的解决方案。kerberos使用可靠的密钥使服务器能够验证客户端的身份,在不安全的网络环境中进行连接。
第一个版本是kerberos V4,后来得到广泛应用后又出了kerberos V5.

二、kerberos原理
用户只需要经过一次身份验证就可以获得票据访问多个服务,既sso(single sign on).
kerberos V4的验证过程:
整个验证过程包括三个角色、六个步骤。
三个角色分别是kerberos服务器、service(简称S)、client(简称C)。
kerberos服务器有两个部分,authentication service(验证服务,简称AS)、ticket-granting service(票据授权服务,简称TGS,TGS应该是kerberos的一部分,可以使用kerberos的数据库)。
AS给用户发放ticket-granting ticket(票据授权服务的票,简称TGT)。
TGT包含用户与TGS会话的sessionKey(SKTGS)、用户名(UID)、用户地址(UADDR)、TGS名(TGSID)、有效期(LT)、开票时间戳(TS),使用TGS密钥(KTGS)加密。
TGS给用户发放service ticket(服务票,简称ST)。
ST包含用户与service的会话sessionK(SKS)、用户名(UID)、用户地址(UADDR)、服务名(SID)、有效期(LT)、开票时间戳(TS),使用服务自己的密钥(KS)加密。
六个步骤分别是:
1.C->AS
client向kdc发送用户名,请求票据授权服务。
即便这条消息被截取,因为不知道用户密码,恶意攻击也无法完成后面的解密工作。
2.AS->C
AS查找是否存在此用户及其密码,如果在数据库中找到该用户名,AS会生成使用用户密码(KC)加密过的包。
这个包包含TGT及SKTGS。
即便这条响应消息被截取,因为包使用password加过密,恶意攻击无法解密。
3.C->TGS
client在收到kdc返回的消息后,会使用password解密加过密的包,获得SKTGS和TGT,解密成功表示用户验证成功。
client会向TGS发送验证器(Authenticator)及TGT,及SID。
验证器是使用SKTGS加过密的。包含UID、UADDR、LT、TS。验证器的LT时间很短,这个是基于恶意攻击者在这段时间内很难伪造用户名及用户地址,来保证验证器的唯一。
这里如果验证器及TGT被截取到,由于伪造用户名及地址需要花一定时间,所以恶意攻击者将截取的验证器发送到TGS后验证器也已经过期了。
4.TGS->C
TGS收到C的请求后,会先使用K

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值