首页 > 其他分享 >Kerberos

Kerberos

时间:2024-10-19 20:22:22浏览次数:6  
标签:服务 TGT Kerberos 认证 密钥 客户端

Kerberos 是一种网络认证协议,旨在通过使用密钥加密技术为客户端/服务器应用程序提供强身份验证。它最初由麻省理工学院(MIT)开发,并已成为许多操作系统和应用程序中的标准认证机制。Kerberos 协议的主要目的是在网络环境中安全地验证用户的身份,而无需在网络中传输密码。

Kerberos 的工作原理

Kerberos 协议基于对称密钥加密技术,并依赖于一个称为“密钥分发中心”(Key Distribution Center, KDC)的可信第三方。KDC 通常分为两个部分:认证服务(Authentication Service, AS)和票据授予服务(Ticket-Granting Service, TGS)。

主要步骤
  1. 初始认证:

    • 客户端请求:用户向 KDC 的认证服务(AS)发送一个包含用户名的请求。
    • AS 响应:AS 检查用户名是否有效,如果有效,则生成一个会话密钥(Session Key),并创建一个票据授予票据(Ticket-Granting Ticket, TGT)。TGT 包含用户的标识、时间戳、生命周期以及会话密钥,并用 KDC 的主密钥加密。
    • 客户端接收:客户端收到 TGT 和会话密钥。TGT 用于后续的服务请求,而会话密钥用于解密 TGT。
  2. 获取服务票据:

    • 客户端请求:客户端向 TGS 发送一个请求,请求访问特定服务。这个请求包括 TGT 和一个时间戳。
    • TGS 验证:TGS 使用 KDC 的主密钥解密 TGT,验证其有效性。如果 TGT 有效,TGS 生成一个新的会话密钥和服务票据(Service Ticket, ST)。ST 包含用户的标识、时间戳、生命周期以及新的会话密钥,并用服务的主密钥加密。
    • 客户端接收:客户端收到服务票据和服务会话密钥。
  3. 访问服务:

    • 客户端请求:客户端向目标服务发送一个请求,请求中包含服务票据和一个时间戳。
    • 服务验证:服务使用自己的主密钥解密服务票据,验证其有效性。如果票据有效,服务将使用票据中的会话密钥与客户端进行通信。
    • 双向认证:服务可以向客户端发送一个消息,该消息用会话密钥加密。客户端解密并响应,从而完成双向认证。

Kerberos 的主要特点

  • 单点登录 (Single Sign-On, SSO): 用户只需在一次认证后即可访问多个服务,无需多次输入密码。
  • 互信环境:Kerberos 依赖于一个可信的 KDC,所有参与方都必须信任 KDC。
  • 时间敏感性:Kerberos 使用时间戳来防止重放攻击。因此,所有参与方的时钟必须同步。
  • 对称密钥加密:使用对称密钥加密技术,确保数据的机密性和完整性。
  • 票据系统:通过票据(如 TGT 和 ST)来管理会话密钥,减少密钥管理和分发的复杂性。

Kerberos 的应用场景

  • 企业网络:许多大型企业和组织使用 Kerberos 作为其内部网络的身份验证机制。
  • Windows 域:Microsoft Windows 操作系统广泛使用 Kerberos 作为域内身份验证的标准协议。
  • Web 应用程序:一些 Web 应用程序和框架支持 Kerberos 认证,特别是在企业环境中。
  • 数据库访问:某些数据库系统支持 Kerberos 认证,以提高安全性。

安全考虑

  • 密钥管理:密钥的安全存储和分发是关键。泄露密钥可能导致严重的安全问题。
  • 时钟同步:所有参与方的时钟必须保持同步,否则可能导致认证失败或安全漏洞。
  • 网络延迟:Kerberos 依赖于快速的网络连接,高延迟可能导致认证超时。
  • 中间人攻击:虽然 Kerberos 本身提供了强大的保护,但仍需注意防范中间人攻击,特别是在不安全的网络环境中。

标签:服务,TGT,Kerberos,认证,密钥,客户端
From: https://blog.csdn.net/qq_69100706/article/details/143083655

相关文章

  • SpringSecurity + Spnego + Kerberos 实现AD域单点登录
    SpringSecurity+Spnego+Kerberos实现AD域单点登录文章目录SpringSecurity+Spnego+Kerberos实现AD域单点登录前言一、域是什么?二、单点登录是什么?三、如何实现四、Kerberos五、Spnego介绍六、spring-ldap连接域实现域用户管理七、单点登录案例前言本文......
  • Hadoop(二十二)CM Kerberos基本原理
    基于CDP的CM维护Hadoop生态组件CDPClouderaDataPlatform(CDP)是Cloudera公司推出的一个全面的数据平台,它支持在多云环境中部署和管理数据CDP提供了一种统一的方法来管理数据和分析工作负载,无论是在本地、公有云还是私有云环境中CDP包括多种服务和工具,如ClouderaDataHub(CDH)......
  • [已解决] [HiveCatalog]Kerberos GSS initiate failed, No valid credentials provide
    问题说明部署一个连接Hive的Java应用程序,遇到这个Kerberos报错的问题,查了一天,记录一下问题现象KerberosGSSinitiatefailedNovalidcredentialsprovided(Mechanismlevel:AttempttoobtainnewINITIATEcredentialsfailed!(null))CannotreadfromSystem.injav......
  • kerberos 认证流程-理解
    kerberos认证理解一、认证过程1)AS-REQ(请求)域内的用户向KDC(域控服务器)发送请求包,告诉域控,我要获得访问服务的票据。请求包:用户名,主机名,认证因子Authenticator(由客户端用户hash加密的时间戳等信息),其他信息2)AS-REP(响应)KDC接受到客户端的请求包。KDC判断用户是不是......
  • 131-横向移动-Kerberos攻击&SPN扫描&WinRM&WinRS&RDP
    1、RDP协议        RemoteDesktopProtocol远程桌面协议通常开放3389,Windows上面使用mstsc就可以弹出最常见的远程桌面连接方式,一般都是使用明文进行连接其实还可以使用hash进行        在内网中使用RDP协议一般是需要进行代理转发或者建立节点的端口扫......
  • 深入理解Kerberos:现代网络身份验证的基石
    在当今的分布式计算环境中,网络安全已成为企业和组织最为关注的问题之一。为了确保用户在网络上的身份真实性并保护敏感数据,采用安全且有效的身份验证机制至关重要。而Kerberos,作为一种经典且广泛应用的网络身份验证协议,正是解决这一问题的核心工具之一。一、什么是Kerberos......
  • klist.exe 是一个 Windows 系统命令行工具,用于管理和显示用户登录到当前系统上的 Kerb
    klist|MicrosoftLearnklist.exe是一个Windows系统命令行工具,用于管理和显示用户登录到当前系统上的Kerberos令牌信息。它通常用于以下几个方面:显示当前的Kerberos令牌信息:当运行 klist 命令时,它会列出当前用户的Kerberos令牌(Ticket-GrantingTicket,TGT)及......
  • NTLM 中继攻击的底层原理 ,SMB 中继攻击的底层原理,LDAPS中继攻击的底层原理,Kerberos 中
    NTLM中继攻击是一种利用NTLM(NTLANManager)协议的安全漏洞进行攻击的技术。NTLM是Windows系统中用于验证用户身份的一种认证协议,它在本地网络环境中广泛使用。在NTLM中继攻击中,攻击者通过中间人的方式截获NTLM认证请求,并将其转发到目标系统上。然后,攻击者可以利......
  • kerberos-MS14-068(kerberos域用户提权)
    微软官方在2014年11月18日发布了一个紧急补丁,Windows全版本服务器系统受到影响,包括WindowsServer2003,WindowsServer2008,WindowsServer2008R2,WindowsServer2012和WindowsServer2012R2,修复了MicrosoftWindowsKerberosKDC(CVE-2014-6324),该漏洞可导致活动目录整体权......
  • ktpass命令是Windows Server上的一个命令行工具,用于创建和管理Kerberos密钥表(Keytab)
    ktpass命令是WindowsServer上的一个命令行工具,用于创建和管理Kerberos密钥表(Keytab)。它允许管理员将用户帐户或服务帐户的凭据导出到一个可由其他系统使用的文件中,以便进行身份验证和授权。这个工具通常用于在Windows和Unix/Linux系统之间建立单点登录(SSO)的集成。通过ktpass命......