转载于: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
分享到:
相关推荐
第一章 Kerberos简介 第二章 环境准备 2.1 使用软件版本信息介绍 2.2 节点架构介绍 2.3 基础系统环境准备 第三章 Kerberos框架搭建 3.1 Kerberos Server搭建 3.2 Kerberos Client搭建 3.3 规划principal 第四章 配置...
#### Kerberos简介 Kerberos是一种网络认证协议,由麻省理工学院(MIT)开发,主要用于提供安全的身份验证机制。它不同于常见的密码认证方式,通过一种称为票据(Ticket)的方式进行认证,确保通信双方的身份安全...
**Kerberos简介** Kerberos是一种网络身份验证协议,由麻省理工学院开发,它在安全性方面提供了强大的服务,确保了在网络通信中的用户身份验证。Kerberos基于密钥分发中心(KDC)的概念,它允许用户在一个可信的...
#### 一、Kerberos简介 Kerberos是一种网络认证协议,它的设计目标是通过密钥分发中心(KDC)来管理客户端与服务器之间的认证过程,以确保在网络环境中实现安全的数据交换。Kerberos特别适用于分布式计算环境,尤其...
#### Kerberos简介 Kerberos是一种网络认证协议,它的主要目的是为了在网络环境中提供安全的身份验证服务。Kerberos由麻省理工学院(MIT)开发,最初是为了应对分布式计算环境中的安全挑战。Kerberos使用对称密钥...
#### 一、Kerberos简介 Kerberos是一种广泛使用的网络认证协议,它提供了一种安全的身份验证方法,尤其适用于分布式网络环境中的身份验证。Kerberos通过密钥分发中心(KDC)来管理用户和服务的安全凭证,从而确保数据...
一、Kerberos简介 Kerberos由麻省理工学院开发,最初设计用于解决开放网络环境中的身份验证问题。该协议基于对称密钥加密技术,通过第三方认证服务器(即Kerberos票证授予服务器,TGS)进行身份验证,确保用户和...
Kerberos 协议简介 Kerberos 协议是一种计算机网络认证协议,允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。该协议基于对称密码学,并需要一个值得信赖的第三方。 Kerberos 协议...
#### 一、Kerberos简介 Kerberos是一种广泛应用于网络环境中的安全认证协议,特别适用于Client/Server模型。它由麻省理工学院(MIT)开发,主要目的是在网络环境中提供一种可靠的第三方认证机制,确保即使在网络...
【Kerberos简介】 Kerberos是一种广泛使用的网络身份验证协议,它基于对称密钥加密技术,由麻省理工学院开发。Kerberos的主要目标是确保网络服务的安全性,尤其是用户登录过程中的身份验证。该协议通过第三方验证...
#### 一、Kerberos认证系统简介 Kerberos是一种网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)来管理用户和服务之间的认证过程。Kerberos在分布式环境中提供了强大的身份验证功能,...
Kerberos认证简介 Kerberos 是一种网络认证协议,它提供基于票证的验证服务,确保用户和服务之间的通信是安全的。在Hadoop生态系统中,Kerberos通常被用来保护HDFS、HBase、Hive等组件的安全性。Kudu作为Hadoop...
#### 一、Kerberos认证原理简介 Kerberos是一种广泛使用的网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)为用户提供安全的认证服务。在Windows环境中,尤其是在进行Hadoop或Hive等...
- **Kerberos 简介** - **Kerberos 概述**:理解 Kerberos 认证的基本原理。 - **Kerberos 的基本概念**:了解 Kerberos 的主要组成部分。 - **Kerberos 的认证过程**:熟悉 Kerberos 的认证流程。 - **Hadoop ...
Kerberos简介** - **定义**: Kerberos是一种基于“票证”的认证协议,广泛应用于大数据领域。 - **结构**: 包括KDC(密钥分发中心)、AS(身份验证服务)、TGS(票据授权服务)以及Account Database(账户数据库)...
1. **JAAS简介**:JAAS是Java平台的一部分,提供了一种框架来集成各种认证机制,如用户名/密码、证书、智能卡等。它允许开发者定义用户身份验证的方式,并控制不同级别的访问权限。 2. **Kerberos协议**:Kerberos...
##### 2.1 Kerberos系统简介 Kerberos系统是由麻省理工学院(MIT)开发的一种基于可信第三方(KDC,Key Distribution Center)的身份认证机制。该系统利用对称密钥加密算法来实现用户和服务器之间的相互认证。...
二、实验环境实验所使用的设备名称及规格,网络管理工具简介、版本等 三、实验内容与实验要求实验内容、原理分析及具体实验要求 四、实验过程与分析根据具体实验,记录、