`

Kerberos简介

阅读更多

转载于:http://idior.cnblogs.com/archive/2006/03/20/354027.html

 

Kerberos 协议:

Kerberos 协议主要用于计算机网络的身份鉴别 (Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据 (ticket-granting ticket) 访问多个服务,即 SSO(Single Sign On) 。由于在每个 Client Service 之间建立了共享密钥,使得该协议具有相当的安全性。

条件

先来看看 Kerberos 协议的前提条件:

如下图所示, Client KDC KDC Service 在协议工作前已经有了各自的共享密钥,并且由于协议中的消息无法穿透防火墙,这些条件就限制了 Kerberos 协议往往用于一个组织的内部, 使其应用场景不同于 X.509 PKI

 

过程

Kerberos
协议分为两个部分:

1 . Client KDC 发送自己的身份信息, KDC Ticket Granting Service 得到 TGT(ticket-granting ticket) 并用协议开始前 Client KDC 之间的密钥将 TGT 加密回复给 Client

此时只有真正的 Client 才能利用它与 KDC 之间的密钥将加密后的 TGT 解密,从而获得 TGT

(此过程避免了 Client 直接向 KDC 发送密码,以求通过验证的不安全方式)

2. Client 利用之前获得的 TGT KDC 请求其他 Service Ticket ,从而通过其他 Service 的身份鉴别。

 Kerberos 协议的重点在于第二部分,简介如下:

 

1.    Client 将之前获得 TGT 和要请求的服务信息 ( 服务名等 ) 发送给 KDC KDC中的Ticket Granting Service 将为 Client Service 之间生成一个 Session Key 用于 Service Client 的身份鉴别。然后 KDC 将这个 Session Key 和用户名,用户地址( IP ),服务名,有效期 , 时间戳一起包装成一个 Ticket( 这些信息最终用于 Service Client 的身份鉴别 ) 发送给 Service 不过 Kerberos 协议并没有直接将 Ticket 发送给 Service ,而是通过 Client 转发给 Service. 所以有了第二步。

2.    此时 KDC 将刚才的 Ticket转发 Client 。由于这个 Ticket 是要给 Service 的,不能让 Client 看到,所以 KDC 用协议开始前 KDC Service 之间的密钥将 Ticket 加密后再发送给 Client 。同时为了让 Client Service 之间共享那个秘密 (KDC 在第一步为它们创建的 Session Key) KDC Client 与它之间的密钥将 Session Key 加密随加密的 Ticket 一起返回给 Client

3.    为了完成 Ticket 的传递, Client 将刚才收到的 Ticket 转发到 Service. 由于 Client 不知道 KDC Service 之间的密钥,所以它无法算改Ticket中的信息。同时 Client 将收到的 Session Key 解密出来,然后将自己的用户名,用户地址( IP )打包成 Authenticator Session Key 加密也发送给 Service

4.    Service 收到 Ticket 后利用它与 KDC 之间的密钥将 Ticket 中的信息解密出来,从而获得 Session Key 和用户名,用户地址( IP ),服务名,有效期。然后再用 Session Key Authenticator 解密从而获得用户名,用户地址( IP )将其与之前 Ticket 中解密出来的用户名,用户地址( IP )做比较从而验证 Client 的身份。

5.    如果 Service 有返回结果,将其返回给 Client

总结

概括起来说 Kerberos 协议主要做了两件事

1.    Ticket 的安全传递。

2.    Session Key 的安全发布。

再加上时间戳的使用就很大程度上的保证了用户鉴别的安全性。并且利用 Session Key,在通过鉴别之后 Client Service 之间传递的消息也可以获得 Confidentiality(机密性), Integrity(完整性) 的保证。不过由于没有使用非对称密钥自然也就无法具有抗否认性,这也限制了它的应用。不过相对而言它比 X.509 PKI 的身份鉴别方式实施起来要简单多了。

推荐资料:

Kerberos的原理

Kerberos: An Authentication Service for Computer Networks

分享到:
评论

相关推荐

    小白快速掌握Hadoop集成Kerberos安全技术频教程

    第一章 Kerberos简介 第二章 环境准备 2.1 使用软件版本信息介绍 2.2 节点架构介绍 2.3 基础系统环境准备 第三章 Kerberos框架搭建 3.1 Kerberos Server搭建 3.2 Kerberos Client搭建 3.3 规划principal 第四章 配置...

    LINUX下的kerberos的安装配置

    #### Kerberos简介 Kerberos是一种网络认证协议,由麻省理工学院(MIT)开发,主要用于提供安全的身份验证机制。它不同于常见的密码认证方式,通过一种称为票据(Ticket)的方式进行认证,确保通信双方的身份安全...

    kerberos安装和介绍文档

    **Kerberos简介** Kerberos是一种网络身份验证协议,由麻省理工学院开发,它在安全性方面提供了强大的服务,确保了在网络通信中的用户身份验证。Kerberos基于密钥分发中心(KDC)的概念,它允许用户在一个可信的...

    Kerberos的相关配置

    #### 一、Kerberos简介 Kerberos是一种网络认证协议,它的设计目标是通过密钥分发中心(KDC)来管理客户端与服务器之间的认证过程,以确保在网络环境中实现安全的数据交换。Kerberos特别适用于分布式计算环境,尤其...

    Hadoop和Kerberos:超越大门的疯狂Hadoop and Kerberos: The Madness Beyond the Gate

    #### Kerberos简介 Kerberos是一种网络认证协议,它的主要目的是为了在网络环境中提供安全的身份验证服务。Kerberos由麻省理工学院(MIT)开发,最初是为了应对分布式计算环境中的安全挑战。Kerberos使用对称密钥...

    kerberos安装手册

    #### 一、Kerberos简介 Kerberos是一种广泛使用的网络认证协议,它提供了一种安全的身份验证方法,尤其适用于分布式网络环境中的身份验证。Kerberos通过密钥分发中心(KDC)来管理用户和服务的安全凭证,从而确保数据...

    Kerberos-Authentication-Protocol-master.zip_Kerberos

    一、Kerberos简介 Kerberos由麻省理工学院开发,最初设计用于解决开放网络环境中的身份验证问题。该协议基于对称密钥加密技术,通过第三方认证服务器(即Kerberos票证授予服务器,TGS)进行身份验证,确保用户和...

    kerberos协议简介.pdf

    Kerberos 协议简介 Kerberos 协议是一种计算机网络认证协议,允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。该协议基于对称密码学,并需要一个值得信赖的第三方。 Kerberos 协议...

    kerberos 基础知识和安装操作

    #### 一、Kerberos简介 Kerberos是一种广泛应用于网络环境中的安全认证协议,特别适用于Client/Server模型。它由麻省理工学院(MIT)开发,主要目的是在网络环境中提供一种可靠的第三方认证机制,确保即使在网络...

    利用Kerberos增强Linux用户注册安全性的探讨.pdf

    【Kerberos简介】 Kerberos是一种广泛使用的网络身份验证协议,它基于对称密钥加密技术,由麻省理工学院开发。Kerberos的主要目标是确保网络服务的安全性,尤其是用户登录过程中的身份验证。该协议通过第三方验证...

    Hadoop部署和配置Kerberos安全认证

    #### 一、Kerberos认证系统简介 Kerberos是一种网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)来管理用户和服务之间的认证过程。Kerberos在分布式环境中提供了强大的身份验证功能,...

    flink写入带kerberos认证的kudu connector

    Kerberos认证简介 Kerberos 是一种网络认证协议,它提供基于票证的验证服务,确保用户和服务之间的通信是安全的。在Hadoop生态系统中,Kerberos通常被用来保护HDFS、HBase、Hive等组件的安全性。Kudu作为Hadoop...

    windows配置kerberos认证

    #### 一、Kerberos认证原理简介 Kerberos是一种广泛使用的网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)为用户提供安全的认证服务。在Windows环境中,尤其是在进行Hadoop或Hive等...

    hadoop-CDH4.6-install.docx

    - **Kerberos 简介** - **Kerberos 概述**:理解 Kerberos 认证的基本原理。 - **Kerberos 的基本概念**:了解 Kerberos 的主要组成部分。 - **Kerberos 的认证过程**:熟悉 Kerberos 的认证流程。 - **Hadoop ...

    hw面试题,网络安全服务面试题,78页,近三万字,纯手工总结

    Kerberos简介** - **定义**: Kerberos是一种基于“票证”的认证协议,广泛应用于大数据领域。 - **结构**: 包括KDC(密钥分发中心)、AS(身份验证服务)、TGS(票据授权服务)以及Account Database(账户数据库)...

    JAAS.rar_Action!_Jaas Kerber_jaas KERBEROS_kerberos Java_login.a

    1. **JAAS简介**:JAAS是Java平台的一部分,提供了一种框架来集成各种认证机制,如用户名/密码、证书、智能卡等。它允许开发者定义用户身份验证的方式,并控制不同级别的访问权限。 2. **Kerberos协议**:Kerberos...

    kerberos身份认证协议分析及改进

    ##### 2.1 Kerberos系统简介 Kerberos系统是由麻省理工学院(MIT)开发的一种基于可信第三方(KDC,Key Distribution Center)的身份认证机制。该系统利用对称密钥加密算法来实现用户和服务器之间的相互认证。...

    Kerberos网络认证协议搭建与分析-A48郭茁宁-1183710109-实验报告1

    二、实验环境实验所使用的设备名称及规格,网络管理工具简介、版本等 三、实验内容与实验要求实验内容、原理分析及具体实验要求 四、实验过程与分析根据具体实验,记录、

Global site tag (gtag.js) - Google Analytics