什么是kerberos?

时间:2014-12-03 07:18:50

标签: windows hadoop kerberos

我想使用 kerberos 学习Hadoop安全性。我已经从this博客配置了kerberos,但不知道如何处理。

  • 我想知道它究竟是如何运作的?
  • 如何在Windows上使用它进行hadoop。
  • 如何为Windows配置。

给我任何教程链接或概念来理解它。

3 个答案:

答案 0 :(得分:2)

在这里您可以找到一些帮助链接;

将进一步编辑我的答案,如果我能找到更多详细信息。

答案 1 :(得分:2)

我试图在我的博客中解释部分Kerberos协议:Kerberos。请随时查看。相同的摘要如下:

Kerberos是一种受信任的第三方身份验证协议,专为基于对称加密的TCP / IP网络而设计。

Kerberos使用安全令牌和安全会话密钥提供加密传输和身份验证,以保护客户端和服务器之间的通信。

kerberos模型基本上由kerberos服务器组成,该服务器对客户端进行身份验证并提供安全令牌,以便与票证授予服务或TGS进行交互。然后,TGS负责验证此客户端是否可以访问实际服务器。

我试图在我的blog中以图片和一步一步的方式描述它。

答案 2 :(得分:2)

我将尝试回答“ Kerberos的工作原理”的问题。

使用身份验证服务器(AS)的客户端身份验证

  1. 客户端将其客户端ID发送到AS(身份验证服务器)。
  2. 无论客户端是否存在,AS都会查看数据库。如果找到客户端ID,它将生成两条消息并将其发送回客户端。在此步骤中,将创建客户端密钥和会话密钥。

Message A : {Client to AS session key} encrypted using secret key of the client(taken from database)

Message B : {Client Id, Client to AS session key, some other in formations} encrypted using AS secret key

现在,客户可以解密Message A并使用他的秘密密钥获得Client vs AS session key(如果他声称自己是那个密钥)。现在,客户有了会话密钥,他可以向AS提出服务请求了。

客户服务授权

  1. 客户端准备两条消息,并将其发送给AS以获取Client to Service server(SS) Session key

Message C : {Message B, Id of the service}

Message D : {Client ID, Time stamp} encrypted using Client to AS session key

  1. AS将解密从消息C中提取的消息B,并将获得Client to AS session keyClient ID。使用会话密钥,它将解密消息D并比较两个Client ID。如果相同,则对客户端进行身份验证,并将检查访问控制表以获取对客户端请求的特定服务的授权。如果他被授权使用该服务,它将准备两条消息并将其发送给客户端。

Message E : {Client ID, Client to SS session key, some other} encrypted by specific SS secret key

Message F : {Client to SS session key} encrypted using Client to AS Session key

现在,客户可以使用decrypt Message F Client to SS Session key来获得Client to SS session key

客户服务请求

客户端将连接到服务服务器(SS),并执行以下步骤以接收服务

  1. 客户端将准备并向SS发送2条消息。

Message G : {Message E}

Message H : {Client ID, time stamp} encrypted using Client to SS session key

  1. 服务服务器现在可以使用其密钥对Message G进行解密(请记住,AS使用请求的SS密钥对AS加密的消息E进行了加密),并且可以获得客户端ID和Client to SS session key。 SS将使用获取的会话密钥解密Message H,并从Message H获取客户端ID。来自Message HMessage G的两个客户端ID将被比较,如果匹配,SS可以对请求进行身份验证。

身份验证还取决于时间戳,客户端地址和其他基于实现的信息。这是用于kerberos协议的非常基本的方法。有关更多信息,请访问Wikipedia