我想使用 kerberos 学习Hadoop安全性。我已经从this博客配置了kerberos,但不知道如何处理。
给我任何教程链接或概念来理解它。
答案 0 :(得分:2)
在这里您可以找到一些帮助链接;
将进一步编辑我的答案,如果我能找到更多详细信息。
答案 1 :(得分:2)
我试图在我的博客中解释部分Kerberos协议:Kerberos。请随时查看。相同的摘要如下:
Kerberos是一种受信任的第三方身份验证协议,专为基于对称加密的TCP / IP网络而设计。
Kerberos使用安全令牌和安全会话密钥提供加密传输和身份验证,以保护客户端和服务器之间的通信。
kerberos模型基本上由kerberos服务器组成,该服务器对客户端进行身份验证并提供安全令牌,以便与票证授予服务或TGS进行交互。然后,TGS负责验证此客户端是否可以访问实际服务器。
我试图在我的blog中以图片和一步一步的方式描述它。
答案 2 :(得分:2)
我将尝试回答“ Kerberos的工作原理”的问题。
使用身份验证服务器(AS)的客户端身份验证
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提出服务请求了。
客户服务授权
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
Client to AS session key
和Client 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),并执行以下步骤以接收服务
Message G : {Message E}
Message H : {Client ID, time stamp} encrypted using Client to SS session key
Message G
进行解密(请记住,AS使用请求的SS密钥对AS加密的消息E进行了加密),并且可以获得客户端ID和Client to SS session key
。 SS将使用获取的会话密钥解密Message H
,并从Message H
获取客户端ID。来自Message H
和Message G
的两个客户端ID将被比较,如果匹配,SS可以对请求进行身份验证。 身份验证还取决于时间戳,客户端地址和其他基于实现的信息。这是用于kerberos协议的非常基本的方法。有关更多信息,请访问Wikipedia