大数据领域精选

【安全】Kerberos 认证原理及 Hadoop 安全机制

2023-08-01  本文已影响0人  熊本极客

1.Kerberos 认证原理

Kerberos是一种基于票据的、集中式的网络认证协议,适用于C/S模型,最初由麻省理工学院(Massachusetts Institute of Technology, MIT)开发的。

image.png

Kerberos 认证流程的时序图
整个 kerberos 认证有三次通信,并且都使用了密钥,且密钥的种类一直在变化,并且为了防止网络拦截密钥,这些密钥都是临时生成的 Session Key。因为 Session Key 只会在一次会话中起作用,所以即使密钥被劫持,等到密钥被破解可能这次会话都早已结束,这为整个 kerberos 认证过程保证了较高的安全性。

image.png

2.Hadoop 安全机制

2.1 基于 Token 的认证机制

问题:如果 Kerberos 是唯一的身份验证机制,用户的 TGT 需要分派给每个 MapReduce 作业中的每一个任务,每个任务必须与 HDFS 的namenode 进行通信,使得 Kerberos 需要允许每个任务进行任务验证,最终导致权限范围控制性能的问题。

因此,Hadoop 引入了 3 种令牌:委托令牌块访问令牌作业令牌。相比于仅仅使用 Kerberos,基于令牌的安全认证机制有如下多种优势:

1543404028_5bfe79fc4176d.jpeg

2.2 静态数据加密

HDFS 客户端向 HDFS 加密区读取文件的流程

1543404178_5bfe7a9281943.jpeg

HDFS 客户端向 HDFS 加密区写入新文件的流程

1543404157_5bfe7a7d7d4ac.jpeg

2.3 动态数据加密

Hadoop 的 RPC 实现支持 SASL 认证框架。SASL 是简单验证和安全层 (Simple Authentication and Security Layer) ,一种为网络协议提供验证和可选安全性服务的框架。SASL 并不是一种协议,而是一种认证、数据完整性校验和加密的机制的框架。

1543404223_5bfe7abf9071c.jpeg

参考文章

1.Kerberos从入门到精通以及案例实操系列(一)
2.Kerberos从入门到精通以及案例实操系列(二)
3.由浅入深理解Kerberos协议

上一篇 下一篇

猜你喜欢

热点阅读