Kerberos认证服务理解

2024-03-01 18:08
文章标签 服务 认证 理解 kerberos

本文主要是介绍Kerberos认证服务理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  当系统中服务模块分开时,比如有邮件服务,文件服务。传统认证模式是用户传输用户名和密码到相应的服务中,服务认证通过后返回结果。这会产生一个问题,即用户的信息会在网络传输中被劫持、攻击。当然这里可以采用非对称加密来加密数据、签名来确认用户身份。
  比如甲想给乙发一个安全的保密的数据,那么应该甲乙各自有一个私钥,甲先用乙的公钥加密这段数据,再用自己的私钥加密这段加密后的数据.最后再发给乙,这样确保了内容即不会被读取,也不会被篡改.
因此理想情况下应该是客户端来进行验证。客户端像认证服务器发送自己的用户名,认证服务器查询对应密码后,用该用户的密码来加密票据授权票(TGT),将加密后的数据包发送给用户,客户端通过输入的密码来解码该数据包,如果解码成功则能顺利得到正确的TGT。
这里的TGT相当于是动物园的一张通票,你拿着这张通票可以进入任何地方,比如狮子园,老虎园。
  当请求具体服务时,比如请求邮件服务。客户端会像认证服务器发送TGT以及想要请求的服务名。认证服务器认证通过后会返回该服务对应的票。客户端拿着这张票就可以访问对应的服务了。
这里会有一个超时问题,因为用户不可能申请一次,永久使用。而且当TGT在网络中传输时,也会被劫持。因为需要有一个东西来确定用户身份类似于签名。
  Kerberos通过在认证中心发TGT票时,生成一个该用户和服务共享的密钥,再用用户的密码去加密TGT和密钥。因此验证中心回复的应该是
加密后的[sessionkey|ticket]([会话密钥 | 票])
  用户拿到后通过密码解密可以得到TGT票和会话密钥。
当用户访问服务的时候,用户会生成一个认证器,并通过会话密钥进行加密。像认证中心发送TGT票和认证器以及请求服务名
认证器 - {用户名:IP地址} 被会话密钥加密
AUTHENTICATOR - {username:address} encrypted with session key
当认证中心收到后通过与用户共享的会话密钥解密可以验证用户,通过密码解密获取信息。
参考:https://www.freebuf.com/articles/others-articles/323331.html

这篇关于Kerberos认证服务理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/763327

相关文章

回调的简单理解

之前一直不太明白回调的用法,现在简单的理解下 就按这张slidingmenu来说,主界面为Activity界面,而旁边的菜单为fragment界面。1.现在通过主界面的slidingmenu按钮来点开旁边的菜单功能并且选中”区县“选项(到这里就可以理解为A类调用B类里面的c方法)。2.通过触发“区县”的选项使得主界面跳转到“区县”相关的新闻列表界面中(到这里就可以理解为B类调用A类中的d方法

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

如何理解redis是单线程的

写在文章开头 在面试时我们经常会问到这样一道题 你刚刚说redis是单线程的,那你能不能告诉我它是如何基于单个线程完成指令接收与连接接入的? 这时候我们经常会得到沉默,所以对于这道题,笔者会直接通过3.0.0源码分析的角度来剖析一下redis单线程的设计与实现。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源

MySQL理解-下载-安装

MySQL理解: mysql:是一种关系型数据库管理系统。 下载: 进入官网MySQLhttps://www.mysql.com/  找到download 滑动到最下方:有一个开源社区版的链接地址: 然后就下载完成了 安装: 双击: 一直next 一直next这一步: 一直next到这里: 等待加载完成: 一直下一步到这里

PyTorch模型_trace实战:深入理解与应用

pytorch使用trace模型 1、使用trace生成torchscript模型2、使用trace的模型预测 1、使用trace生成torchscript模型 def save_trace(model, input, save_path):traced_script_model = torch.jit.trace(model, input)<

微服务中RPC的强类型检查与HTTP的弱类型对比

在微服务架构中,服务间的通信是一个至关重要的环节。其中,远程过程调用(RPC)和HTTP是两种最常见的通信方式。虽然它们都能实现服务间的数据交换,但在类型检查方面,RPC的强类型检查和HTTP的弱类型之间有着显著的差异。本文将深入探讨这两种通信方式在类型检查方面的优缺点,以及它们对微服务架构的影响。 一、RPC的强类型检查 RPC的强类型检查是其核心优势之一。在RPC通信中,客户端和服务端都使

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了

SpringCloud - 微服务

1、微服务介绍         参考: 微服务百度百科 1.1 概念         微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合且可单独部署的小型组件或服务。 这些服务通常拥有自己的技术栈,包括数据库和数据管理模型;通过一个REST API、事件流和消息代理组合彼此通信;以及按照业务能力进行组织,具有通常称为有界上下文的服务分隔线。         微服务特

isa指针的理解

D3实例isa指向D3类对象。D3类的话isa指向D3元类对象。D3元类保存类中的方法调度列表,包括类方法和对象方法

WeakHashMap深入理解

这一章,我们对WeakHashMap进行学习。 我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap。 第1部分 WeakHashMap介绍 第2部分 WeakHashMap数据结构 第3部分 WeakHashMap源码解析(基于JDK1.6.0_45) 第4部分 WeakHashMap遍历方式 第5部分 WeakHashMap示例