kerberos:介绍_kerberos是哪个rfc(1)

+ [2、OAuth](#2OAuth_58)
+ [3、LDAP](#3LDAP_75)

一、介绍

Kerberos是一种计算机网络授权协议,主要用于在非安全网络环境中对个人通信进行安全的身份认证。这个协议由麻省理工学院(MIT)开发,作为Athena项目的一部分,首次发布于1988年。Kerberos协议目前已经从v1发展到v5,其中v5在1993年被确定为标准的Kerberos协议(RFC1510)。

Kerberos协议设计思想的核心是引入一个可信任的第三方来实现客户端和服务端的认证。在Kerberos中,这个可信任的第三方被称为密钥分发中心(KDC)。Kerberos软件设计上采用客户端/服务器结构,能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。

Kerberos协议的主要特点是用户只需输入一次身份验证信息,就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即实现单点登录(SSO)。由于Kerberos协议在每个Client和Service之间具有共享密钥,使得该协议具有相当的安全性。

在实际应用中,Kerberos协议可用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。在配置Kerberos服务端时,需要安装相关的软件包,并配置krb5.conf和kdc.conf文件,以定义realm和其他相关参数。

总的来说,Kerberos协议是一种强大且灵活的网络安全协议,能够为计算机网络提供高效、安全的身份认证服务。如需更多信息,建议查阅Kerberos协议的相关文档或咨询网络安全专家。

二、kerberos框架

1、名词解释

  • 客户端:用户或服务的代表,负责发起认证请求并持有相关的票据和会话密钥。

  • 密钥分发中心(KDC):Kerberos协议的核心组件,负责密钥的管理和分发票据, KDC包含两个重要服务:

    • 认证服务器(AS):负责用户信息的认证。当客户端请求访问服务时,AS会验证客户端的身份,并生成一个加密的票据(TGT)和会话密钥。这个TGT是客户端访问票据授予服务器(TGS)的身份凭证。
    • 票据授予服务器(TGS):根据客户端的请求,为其提供访问特定服务的票据(Service Ticket)和会话密钥。客户端使用这个服务票据和会话密钥来访问目标服务。
  • 服务端:提供服务的实体,如web服务器。服务端会验证客户端提供的服务票据的有效性,如果验证通过,就会与客户端建立安全的通信连接。

  • Principal:安全个体,具有唯一命名的客户端或服务器,以便于验证和管理。命名规则:主名称(primary)+实例(instance,可选)+领域(realm),如hive/admin@EXAMPLE.COM。主名称可以是任意的字符串或者就是操作系统下的用户名等;实例用于给某个角色的用户或者服务来创建Principal;而域则概念上类似于DNS上的domain域名,可以用来定义一组相似的对象,或者说realm定义了一组principals。

  • Ticket:票据,一条包含客户端标识信息、会话密钥和时间戳的记录,客户端用它来向服务器认证自己,Kerberos协议中的票据主要有两种类型:TGT(Ticket-Granting Ticket)和服务票据(Service Ticket)。

    • TGT(Ticket-Granting Ticket):
      • 是一种临时凭证,用于客户端从认证服务器(AS)获取,用以访问票据授予服务器(TGS)。
      • 客户端首次登录时,向AS发送请求,AS验证客户端身份后发放TGT。
      • TGT中包含客户端的身份信息和会话密钥,用于后续的认证和票据获取。
    • 服务票据(Service Ticket)
      • 是客户端从TGS获取,用于访问特定服务的凭证。
      • 客户端携带TGT向TGS请求访问某个服务的票据,TGS验证TGT的有效性后发放服务票据。
      • 服务票据包含客户端的身份信息、服务的身份信息和会话密钥,用于客户端和服务端之间的安全通信。。

2、框架

在这里插入图片描述
Kerberos协议的工作流程主要涉及到三个主要的参与者:客户端、认证服务器(AS)和票据授予服务器(TGS)。以下是Kerberos协议工作的基本步骤:

  • 认证阶段:

    • 客户端向AS发送身份请求,并提供用户名和口令。
    • AS验证客户端的身份,如果验证通过,AS会生成一个加密的票据(Ticket-Granting Ticket,TGT)和会话密钥。这个TGT包含了客户端访问TGS所需的身份认证信息,会话密钥则是用于客户端和TGS之间的安全通信。
  • 获取服务票据:

    • 客户端使用之前从AS获取的会话密钥对TGT进行解密,然后携带解密后的TGT向TGS发送请求,请求访问特定服务的票据。
    • TGS验证客户端的TGT的有效性,如果验证通过,TGS会生成一个用于访问特定服务的票据(Service Ticket)和另一个会话密钥。这个服务票据包含了客户端访问特定服务所需的身份认证信息。
  • 客户端访问服务:

    • 客户端使用从TGS获取的服务票据和会话密钥,向目标服务发送请求。
    • 服务验证客户端的服务票据的有效性,如果验证通过,服务会与客户端使用共享的会话密钥进行通信。

在整个过程中,Kerberos使用了加密技术来保护用户身份和通信数据的安全,有效抵御中间人攻击和数据泄露。同时,Kerberos协议的设计使得用户只需在初次认证时输入身份验证信息,之后就可以凭借票据访问多个服务,实现了单点登录的便利性。

值得注意的是,Kerberos协议的安全性建立在密钥的安全管理和分发上,因此在实际应用中需要确保KDC(包括AS和TGS)的安全性,防止密钥被非法获取或篡改。同时,Kerberos协议也需要配合其他安全措施,如防火墙、入侵检测系统等,共同构建网络安全防线。

三、优缺点

四、其他认证机制

1、SSL

2、OAuth

OAuth(全称Open Authorization)是一个开放授权协议,它允许第三方服务在用户授权的前提下,访问用户在另一服务提供者上存储的资源,而无需获取用户的用户名和密码。

OAuth的工作原理大致如下:

  • 用户请求授权:用户在第三方应用程序中请求访问受保护资源,这些资源由于敏感性或隐私性而受到保护,因此需要进行授权。
  • 授权服务器认证:第三方应用程序将用户重定向到授权服务器。授权服务器要求用户进行身份验证,以确保其身份的真实性。
  • 用户授权:一旦用户通过身份验证,授权服务器会要求用户授权第三方应用程序访问其受保护的资源。
  • 授权颁发:在用户同意授权后,授权服务器会向第三方应用程序颁发一个访问令牌(Access Token)。这个令牌是临时的,具有时效性,并且只允许访问特定的账户信息。
  • 访问受保护资源:第三方应用程序使用这个访问令牌向资源服务器请求访问受保护资源。资源服务器会验证令牌的有效性,如果有效,则允许第三方应用程序访问相应的资源。

OAuth的应用场景非常广泛,包括但不限于:

  • 第三方登录:当自己的系统需要引入微信、QQ、支付宝等第三方登录时,可以使用OAuth协议。用户可以使用这些第三方应用进行登录,无需在新系统中重新注册账号。
  • 开放平台:当自己的系统需要开放一些接口供第三方应用查询使用相关信息时,OAuth协议同样适用。第三方应用通过OAuth协议获取到开放平台的接口访问权限,从而可以查询和使用相关信息。
  • SSO单点登录:在微服务环境下,OAuth协议可以实现单点登录功能。用户只需在一个系统中登录,就可以直接访问其他系统,无需再次登录。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618653875)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值