首页 > 其他分享 >HDFSRPC安全认证Kerberos篇推广

HDFSRPC安全认证Kerberos篇推广

时间:2024-03-19 09:55:36浏览次数:31  
标签:saslstate saslMessage challenge Kerberos 认证 HDFSRPC token client

本文主要阐述HDFSRPC安全认证相关的实现。主要介绍Kerberos相关的实现。

写在前面

相关blog可以先看一下

https://segmentfault.com/a/1190000039085046?sort=newest

https://blog.csdn.net/qq_35995514/article/details/106348765

https://blog.csdn.net/S1124654/article/details/128791481

Rpc安全认证

Rpc安全认证使用的是sasl框架,sasl框架本身无认证相关的实现,认证实现使用的Kerberos。SASL: 在jdk中定义的一种通用的基于客户端和服务端的认证框架,GSSAPI是其实现之一。

GSSAPI: 在jdk中,作为对kerberos认证实现的一部分。

Kerberos: 一种基于中心认证服务器的中心化认证协议和框架。应用程序访问服务前需使用此框架进行登录认证,以在应用程序之间形成动态可控的受信。中心化登录服务器称为KDC。

Krb5LoginModule: 在jdk中,负责从KDC获取登录凭证,是kerberos认证实现的一部分。

SASL

简单认证与安全层(Simple Authentication And Security Layer)是一个在网络协议中用来认证和数据加密的框架。它把认证机制从程序中分离开,理论上使用SASL的程序协议都可以使用SASL所支持的全部认证机制(token认证就是其中的一种认证机制)。

认证机制可支持代理认证,这让一个用户可以承担另一个用户的认证。

SASL同样提供数据安全层,这提供了数据完整验证和数据加密,例如DIGEST_MD5提供了数据加密层。

SASL是一种challenge-response的协议,由服务端发送challenge到客户端,客户端基于challenge发送response,这种交互直到服务端被满足并且不再发布新的challenge。

challenge和对应的response都是任意长度的二进制数据。其大概流程如下所示:

1857_1.png

要注意一点sasl是一种框架,不涉及具体实现,通信时可以自己定义相关的包。

Hdfs中sasl相关实现

Negotiate:

client会发送一个saslMessage给server,其中saslstate为Negotiate,无其他信息。Server接收到Negotiate请求后,会返回一个Negotiate的saslMessage,其中包含sasl使用需要使用哪种协议,例如:

auths {
  method: "KERBEROS"
  mechanism: "GSSAPI"
  protocol: "root"
  serverId: "node17"
}

Initiate:

client接收到Server的Negotiate的saslMessage后,会根据相关的信息,初始化saslClient,并产生一个Token,发送一个saslstate为Initiate的saslMessage给server。Server接收到saslMessage以后,同样会初始化saslServer,然后evaluate token,生成新的token,返回一个saslstate为challenge的saslMessage给client。

Response-challenge:

client接收到Server的challenge的saslMessage后,会evaluate challenge token,产生一个新的token,然后发送一个saslstate为Response的saslMessage给server。。Server接收到saslMessage以后,然后evaluate token,生成新的token,如果server已经完成初始化,返回一个saslstate为success的saslMessage给client,反之则返回一个saslstate为challenge的saslMessage给client。Client接收如果为challenge的saslMessage则重复上述流程,反之如果接收到success则完成client的初始化。一般这个过程会经过两轮。

继续阅读请点击阅读原文

阅读原文

标签:saslstate,saslMessage,challenge,Kerberos,认证,HDFSRPC,token,client
From: https://www.cnblogs.com/zfpigpig/p/18082079

相关文章

  • ISIS接口MD5 算法认证实验简述
    默认情况下,ISIS接口认证通过在ISIS协议数据单元(PDU)中添加认证字段,例如:MD5算法,用于验证发送方的身份。ISIS接口认证防止未经授权的设备加入到网络中,并确保邻居之间的通信是可信的。它可以有效地防止路由欺骗和其他恶意攻击。MD5(MessageDigestAlgorithm5)是一种常用的信......
  • 2024年企业架构TOGAF认证培训
    企业架构TOGAF培训简介TOGAF证书介绍企业架构可依据业务战略形成顶层设计,帮助企业形成数字化规划。目前,业界最有名的企业架构框架是TOGAF(TheOpenGroupArchitectureFramework)。TOGAF由国际标准权威组织TheOpenGroup制定。TheOpenGroup于1993年开始应客户要求制定系......
  • 网络实名制接口-GO语言身份核验接口代码-身份证实名认证
    互联网时代,人工识别身份证信息的方式已不适用于当下社会的发展需求,更需要高效精准的科技程序来支持,在线身份证实名认证接口必不可少。翔云身份证实名认证接口,可助力线上平台与消费者信用相关联,建立完善的客户资源与网络用户的管理。翔云身份证实名认证接口,实时联网核验用......
  • C++实名认证接口教程-好集成的身份证实名认证接口-三要素认证
    现如今,随着实名制的实施,各行各业都将进行人员身份的核查,如家政、保洁、物流、金融、电商等,身份证实名认证接口主要是验证个人用户提交的姓名、人像和身份证号码信息,和公安数据库内对应的数据是否匹配一致,可以验证个人身份证信息的真伪。以下是C++语言调用翔云身份证实名......
  • C++实名认证接口教程-好集成的身份证实名认证接口-三要素认证
    现如今,随着实名制的实施,各行各业都将进行人员身份的核查,如家政、保洁、物流、金融、电商等,身份证实名认证接口主要是验证个人用户提交的姓名、人像和身份证号码信息,和公安数据库内对应的数据是否匹配一致,可以验证个人身份证信息的真伪。以下是C++语言调用翔云身份证实名认......
  • 红帽rhce认证报名费用多少?rhcsa 红帽认证含金量高吗?
    红帽rhce认证报名费用多少?RHCE的考试费用大概在4200人民币左右,但是不同的考场收费有所差异,具体费用以预约的考场为准。如若通过RHCSA考试,却没有通过RHCE考试,考生则需缴纳2000左右的补考费,补考的费用也是根据考场的不同而有些许差异的。rhcsa红帽认证含金量高吗?1、全球认可:红......
  • ocp考试是中文还是英文?ocp认证好考吗
    ocp认证是中文还是英文考试ocp认证的考试常用语种是英文,除开英文之外还有日语等语种,但是目前没有中文(12c的时候有过中文考试),所以考生最好具有一定的英语水平再报名参加考试,ocp认证考试的形式为机试,考试的题型全部为选择题。OCP认证好考么?Oracle的OCP认证很难,主要有以下原......
  • 采用设备认证、通信安全、系统安全三大机制,全方位为业务出海保驾护航
    中国联通推出了创新的跨境物联网产品解决方案,通过一卡双IMSI技术实现无感知切换,为企业海外业务提供了一站式的管理和快速部署能力。一、一卡双IMSI,实现无感知切换中国联通跨境物联网产品解决方案的核心亮点在于其采用的一卡双IMSI技术。这种技术使得物联网设备在跨国使用时,无需......
  • 信息安全认证 CISSP 官方学习指南 第9版 中文版 学习记录
    刚考完CISSP考试,顺利通过,因此记录一下相关内容,希望对大家有帮助CISSP介绍CISSP(CertifiedInformationSystemsSecurityProfessional)是全球范围内最受尊敬的信息安全认证之一,由国际信息系统安全认证联盟(ISC)²(InternationalInformationSystemSecurityCertification......
  • Asp.net core使用Authentication使用jwt简单登录认证
    研究了两天,简单使用就这些,如果需要token续期或者刷新或者自定义校验处理需要重写比较麻烦。在controller中单独获取请求头可使用 HttpContext.Request.Headers["Authorization"]使用流程是:先认证登录->再校验权限Authentication->Authorization 安装依赖,.net8版......