Kerberos基础及KDC服务(理论知识)
目录
1 Kerberos概述
1.1 Kerberos是什么
1.2 为什么是3个脑袋
1.3 不同类型的加密技术
1.4 Kerberos的好处
1.5 Kerberos局限
1.6 Kerberos实现
1.7 Kerberos术语
2 Kerberos工作原理
2.1 Kerberos是如何组织的
2.2 KDC介绍
2.3 Kerberos principal
2.4 Kerberos认证过程
2.5 Kerberos工作流
Kerberos工作流通俗解释
课后扩展
1 Kerberos概述
1.1 Kerberos是什么
1. Kerberos是一个长着三个脑袋的狗
1.2 为什么是3个脑袋
1.3 不同类型的加密技术
1.4 Kerberos的好处
- 基于强认证标准
- 支持各种操作系统
- 具备单点登录的能力(SSO,single sign-on)
- 决不在网络上传递密码
- 窃取的认证凭证很难再次使用
1.5 Kerberos局限
- Kerberos仅提供认证,在授权时,其他协议(比如NIS,LDAP)仍旧是需要的
- 不能将已有密码迁移到Kerberos数据库
- 假设网络主机是相对安全的。
- 应用必须Kerberos化:
- Kerberos提供了标准API来实现这一点
- 也有一些针对Kerberos认证的PAM(注1)模块
注1:Linux pam源于著名厂商后来被甲骨文收购的SUN公司的软件DCE-RFC的 开源实现。PAM全称为Pluggable Authentication Modules,可插入认证模块。可以动态引入认证各种认证模块和插件,而无需重新加载系统。具 有高度灵活性,随配随生效
1.6 Kerberos实现
- MIT Kerberos(http://web.mit.edu/kerberos/www/)
- Keimdal Kerberos(http://www.pdc.kth.se/heimdal/ )
- Sun的SEAM Kerberos
- 认证是兼容的
- 管理接口不完全兼容
1.7 Kerberos术语
- Kerberos是一种客户端/服务端架构。
- 主体(principal):Kerberos中的身份标识称为主体。
- 每个参与Kerberos认证协议的用户和服务都需要一个主体来唯一标识自己。
- 用户主体名称(user principal name,UPN):代表常规用户,类似于用户名或者账号。
- 服务主体名称(service principal name,SPN):代表用户需要访问的服务
- 领域(realm):身份验证管理域,领域确定了管理边界,所有主体均属于特定的Kerberos域。
- 密钥分发中心(Key distribution Center,KDC)由三部分构成:Kerberos数据库、认证服务、(Authentication service,AS)和票证授予服务(ticket-granting service,TGS)。
- 主体和域的信息存储在Kerberos数据库中
2 Kerberos工作原理
2.1 Kerberos是如何组织的
1、Kerberos管理域是“realm” :Realm名通常是DNS名的大写(比如:dns是foo.com,realm会命名为 FOO.COM)
2、认证是由叫做KDC(密钥分发中心,Key Distribution Center )的中央服务器来完成
- 每个用户和服务都和KDC分享密钥KDC生成和分发session key
- 各个参与者之间通过它们知道的session key彼此证明和通讯
2.2 KDC介绍
- AS(Authentication Server),发行TGT(Ticket-Granting Tickets )
- TGS(Ticket Granting Server),发行服务凭证
2.3 Kerberos principal
- 客户端(用户或者服务)是由principal标识的
- principal格式:primary/instance@realm
- Primary:用户或服务名
- Instance:对于user principal来说是可选的,对于service
- principal来说是必须的
- realm:kerberos realm
例子:
- 用户:jerry@FOO.COM
- 服务:imap/bar.foo.com@FOO.COM
2.4 Kerberos认证过程
- 客户端向KDC发送一个用户名和一个服务名
- KDC发回一个使用用户密码加密的ticket(凭证)和session key作为响应
- 这个ticket被称为TGT(Ticket Granting Ticket),它可以用于授权其他ticket
- 客户端使用用户的密码加密TGT
- 然后客户端使用TGT和KDC交互获取服务ticket。
2.5 Kerberos工作流
Jerry想要使用myservice,需要向myservice提供一个有效的服务票据,以下是工作流程:
- Jerry需要获取一个TGT。他需要向kdc.mytrain.com上的AS发起一个请求,并表明自己是主体:jerry@MYTRAIN.DOMAIN
- AS为主体jerry@MYTRAIN.DOMAIN提供一个使用密钥加密的TGT。
- 接收到加密信息后,Jerry需要输入主体jerry@MYTRAIN.DOMAIN的密码来解密信息
- 解密TGT信息后,Jerry向kdc.mytrain.domain上的TGS请求myservice/server1.mytrain.com@MYTRAIN.DOMAIN服务的一个服务票据,并且在请求中提供TGT信息。
- TGS对TGT进行验证,并为Jerry提供使用 myervice/servier1.mytrain.com@MYTRAIN.DOMAIN的密钥加密的服务票据。
- Jerry将服务票据提供给myservice,myservice使用myservice/server1.mytrain.com@MYTRAIN.DOMAIN的密钥进行解密,验证票据有效性
- Jerry身份验证通过,允许使用myservice服务。
Kerberos工作流通俗解释
- 这里你的身份证就是UPN
- 你老家派出所就是KDC
- 老家派出所核实你身份证的部门就是AS
- 给你开准迁的部门就是TGS
- 准迁就是Ticket
- 深圳南山派出所就是提供落户服务的服务端SPN
课后扩展
Kerberos基础及KDC服务(理论知识)相关推荐
- 分布式/微服务理论知识
分布式系统和微服务架构越来越流行,特意卖了一本<SpringCloud微服务与分布式系统实战>来给自己充充电,也是掌握技术的必经之路. 一.分布式系统 大数据.高并发和快响应已经成为互联网 ...
- [Kerberos基础]-- kdc集群主从搭建(kerberos相关)
主机规划 10.10.100.94 master 10.10.100.93 slave 10.10.100.92 client (一)环境: 名称 版本 CentOS ...
- SpringCloud一、前提概述、相关微服务和微服务架构理论知识、微服务技术栈有哪些、
①前提概述.微服务架构springcloud的相关学习. 前提知识+相关说明 1.目前,我们学习到最后的微服务架构SpringCloud,基本上需要熟悉以前的学习内容和知识:springmvc.spr ...
- 图像处理方向就业前景(转我根据《浅谈图像处理方向的就业前景》和自己找工作的一些经验简单介绍一下图像处理方向就业前景, 希望能对后来者有所帮助! 1、请学好图像基本理论知识,笔试会遇到很多基础的题)
我根据<浅谈图像处理方向的就业前景>和自己找工作的一些经验简单介绍一下图像处理方向就业前景, 希望能对后来者有所帮助! 转载自:https://blog.csdn.net/xujx09/a ...
- 视频相关的理论知识与基础概念
本文将视频相关的理论知识与基础概念划分为 11 个知识点,如下: 视频 分辨率 比特率 采样率 帧率 视频编码 编码标准 视频封装格式 视频解码 视频播放原理 视频与流媒体 1.视频 根据人眼视觉暂留 ...
- oracle rac理论知识
oracle数据库高可靠性高性能的特性是很多企业需要的,这些年一直给各大政府企业做oracle咨询与规划,实施安装以及维护,回头看看,自己已经忘记大部分oracle rac的整体具体架构理论知识,现在 ...
- 从理论知识到落地能力,你欠缺了什么?
转载自 从理论知识到落地能力,你欠缺了什么? 本文是一个理论过度到实践的典型案例,借助程序员经常遇到的一个问题--网络为什么不通,来具体说明怎么将书本上的死知识真正变成我们解决问题的能力. 大学学 ...
- 《深入理解分布式事务》第四章 分布式事务的基本概念和理论知识
<深入理解分布式事务>第四章 分布式事务的基本概念和理论知识 文章目录 <深入理解分布式事务>第四章 分布式事务的基本概念和理论知识 一.分布式系统架构 1.简介 2.分布式事 ...
- FFmpeg学习(音视频理论知识)
文章目录 1. 音视频理论知识 1.1 基本概念 1.1.1 音视频必备的基本概念 常用的视频封装格式 常用的视频编码器 常用的音频编程器: 视频流 裸数据YUV 1.1.2 音视频常见处理 采集 处 ...
- 数据库入门理论知识介绍以及编译安装MySql
数据库入门理论知识介绍以及编译安装MySql 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1&g ...
最新文章
- 无序列表属性 隐藏方式 JS简介
- rss 阅读源_如何使用RSS更有效地阅读
- SharePoint中的权限体系
- 计算机课设容易挂吗,数学差的学生避开这4大专业,挂科是常态,每年都有学生不能毕业...
- 邂逅StringIndexOutOfBoundsException
- 第五章:【UCHome二次开发】模板解析
- 按键精灵post教程_掌控POST(1)
- 深度学习(一)神经网络中的池化与反池化原理
- 浏览器安装fehelper插件,亲测可行
- usb万能驱动win7_我!Win7!还能接着续!Z490 B460 H410 Win7 保姆教程
- 计算机网络:从入门到放弃
- 因子分析——流程与实现stata
- python基础语法及知识点总结
- GDAL+Python实现栅格影像处理之栅格矢量化及矢量栅格化
- 微信小程序利息计算器
- 校园地图设计——任意两点间的算法优化流程与while搭配switch语句的bug解读
- Easyui后台管理界面设计
- Kubernetes全栈架构师(资源调度下)--学习笔记
- 如何更改计算机的用户信息,如何更改电脑的账户信息
- 京东涉足B2B 叫板阿里巴巴
热门文章
- delta pi sigma_数学符号π (Pi)、Σ(Capital Sigma)、μ (Mu) 、σ(sigma)、∏(capital pi), ∫(Integral Symbol)的来历...
- BMZ-MISC-可乐加冰
- 医院私有云架构统一灾备中心建设最佳实践
- linux设置北京时区
- 2022年虎年新春致地球上全体读者朋友们的一封书信
- 鲁大师7月新机性能/流畅榜:性能跑分突破123万!
- 用JS实现万年历效果,精!
- Android - 跳转系统网络设置
- 激情巴布部落畅快一日游
- C语言读取GPT分区信息