美文网首页大数据领域精选
【安全】Kerberos 认证原理及 Hadoop 安全机制

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

作者: 熊本极客 | 来源:发表于2023-08-01 23:04 被阅读0次

    1.Kerberos 认证原理

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

    • 密钥分发中心 KDC (Key Distribution Center)是 Kerberos 的核心组件,包含 AS(Authentication Server) 和 TGS(Ticket Granting Server)
    • AS(Authentication Server) 负责用户信息认证,给客户端提供TGT(Ticket Granting Tickets)。
    • TGS(Ticket Granting Server) 向客户端提供ST(Service Ticket)和 Session Key(服务会话密钥)。
    image.png

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

    image.png
    • 第一次请求获取 TGT ,确认客户端是一个可靠且拥有访问 KDC 权限的客户端

    • 第二次请求获取 Server Ticket,即获取目标服务的服务授予票据 Server Ticket

    • 第三次通信使用 Server Ticket 在目标服务进行认证

    2.Hadoop 安全机制

    2.1 基于 Token 的认证机制

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

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

    • 安全性:Hadoop 上每个任务都从 Kerberos 端获取 TGT,通过 TGT 可以访问多个 Hadoop 服务,因此泄露 TGT 的风险非常高。

    • 性能:在 Hadoop 集群中在同一时刻可能有成千上万的任务正在运行。如果单纯使用 Kerberos 进行服务认证,则所有任务均需要 KDC 中 AS 提供的 TGT,最终导致 KDC 成为了性能瓶颈。

    • 凭证更新:在 Kerberos 中为了保证 TGT 或者服务票据的安全,通常会设置一个有效期,一旦到期,需要进行更新。如果直接采用 Kerberos 验证,则需要将更新之后的 TGT 或者 Server Ticket 快速推送给各个任务,最终导致实现上的复杂。如果采用 Hadoop 令牌,当令牌到期时,只需延长它的有效期而不必重新生成令牌。

    • 灵活性在 Hadoop 中令牌与 Kerberos 之间没有任何依赖关系,而 Kerberos 仅仅是进行用户身份验证的第一道防线,用户完全可以采用其他安全认证机制替换 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协议

    相关文章

      网友评论

        本文标题:【安全】Kerberos 认证原理及 Hadoop 安全机制

        本文链接:https://www.haomeiwen.com/subject/jgsnudtx.html