密钥分发中心(KDC)

密钥分发中心是一种运行在物理安全服务器上的服务,KDC维护着领域中所有安全主体账户信息数据库。

与每一个安全主体的其他信息一起,KDC存储了仅安全主体和KDC知道的加密密钥,这个密钥也称长效密钥(主密钥),用于在安全主体和KDC之间进行交换。

KDC是作为发起方和接收方共同信任的第三方,因为他维护者一个存储着该域中所有账户的账户数据库,也就是说,他知道属于每个账户的名称和派生于该账户密码的Master Key(主密钥)。而用于Alice和Bob相互认证的会话密钥就是由KDC分发的,下面详细讲解KDC分发会话密钥的过程。

分发会话密钥过程

1、首先客户端向KDC发送一个会话密钥申请。这个申请的内容可以简单概括为”我是某客户端,我需要个Session Key用于与某服务器通话“。

2、KDC在接收到这个请求的时候,生成一个会话密钥。为了保证这个会话密钥仅仅限于发送请求的客户端和它希望访问的服务器知道,KDC会为这个会话密钥生成两个副本,分别被客户端和服务器使用。然后从账户数据库中提取客户端和服务器的主密钥分别对这两个副本进行对称加密。对于服务器,与会话密钥一起被加密的还包含关于客户端的一些信息,以便对发起连接请求的客户端进行身份认证。

注意:KDC不是直接把这两个会话密钥副本分发客户端和服务器的,因为如果这样做,对于服务器来说会

出现下面两个问题。由于一个服务器会面对若干不同的客户端,而每个客户端都具有一个不同的Session

Key。那么服务器就会为所有的客户端维护这样一个会话密钥的列表,这样对服务器来说工作量就非常

大了。由于网络传输的不确定性,可能会出现这样一种情况:客户端很快获得会话密钥用于副本,并将

这个会话密钥作为凭据随同访问请求发送到服务器,但是用于服务器的会话密钥却还没有收到,并且很

有可能这个会话密钥永远也到不了服务器端,这样客户端将永远得不到认证。为了解决这个问题,

Kerberos将这两个被加密的副本一同发送给客户端,属于服务器的那份由客户端发送给服务器。因为

这两个会话密钥副本分别是由客户端和服务器端的主密钥加密的,所以不用担心安全问题。

3、通过上面的过程,客户端实际上获得了两组信息:一个是通过自己主密钥加密的会话密钥;另一个是被Server的主密钥加密的数据包,包含会话密钥和关于自己的一些确认信息。在这个基础上,我们再来看看服务器是如何对客户端进行认证的。

4、客户端通过用自己的主密钥对KDC加密的会话密钥进行解密从而获得会话密钥,随后创建认证符(Authenticator,包括客户端信息和时间戳(Timestamp)),并用会话密钥对其加密。最后连同从KDC获得的、被服务器的主密钥加密过的数据包(客户端信息和会话密钥)一并发送到服务器端。我们把通过服务器的主密钥加密过的数据包称为服务票证(Session Ticket)。

5、当服务器接收到这两组数据后,先使用它自己的主密钥对服务票证进行解密,从而获得会话密钥。随后使用该会话密钥解密认证符,通过比较由客户端发送来的认证符中的客户端信息(Client Info)和服务票证中的客户端信息实现对客户端身份的验证。

双方进行了身份认证的同时也获得了会话密钥,那么双方可以进行会话了。

流程图如下:

客户端简称为Alice,服务端简称为Bob

总结

PHP实现密钥分发中心,密钥分发中心(KDC)相关推荐

  1. 巧用ftp命令(一)--利用ftp分发ssh密钥

    手里有10几台服务器,领导不允许使用监控及配置工具进行主机管理,决定利用ftp进行一些服务器的批量配置工作.首先为了能够使用root在各个服务器之中实现无密码穿梭,第一件事就是分发ssh密钥:首先在脚 ...

  2. Rabbitmq消息中心_消息中心总体方案

    消息中心方案 一.消息中心简介 为了将各个应用系统之间进行业务解耦,对业务的透明化处理及技术架构的统一管理,方便对各应用的整体把控,保证系统的稳定性,也方便各应用的消息中间件的快速搭建,因此搭建消息中 ...

  3. SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(上)

    Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https ...

  4. 基于Nacos的注册中心与配置中心

    基于Nacos的注册中心与配置中心 Nacos简介 概述 Nacos全称是动态命名和配置服务,Nacos是一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.Nacos主要用于发现.配置和 ...

  5. 联邦学习【分布式机器学习技术】【①各客户端从服务器下载全局模型;②各客户端训练本地数据得到本地模型;③各客户端上传本地模型到中心服务器;④中心服务器接收各方数据后进行加权聚合操作,得全局模型】

    随着计算机算力的提升,机器学习作为海量数据的分析处理技术,已经广泛服务于人类社会. 然而,机器学习技术的发展过程中面临两大挑战: 一是数据安全难以得到保障,隐私数据泄露问题亟待解决: 二是网络安全隔离 ...

  6. nacos 负载策略_Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用

    Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Nacos 作为其核心组件之一,可以作为注册中心和配置中心使用,本文将对其用法进行详细介绍. SpringCloud实战 ...

  7. 【相关性搜索】 多字段搜索的两种方式——词中心与字段中心

    背景 首先看个例子,有两个 doc,一条是 albino elephant,一条是 elephant elephant PUT test_elephant/_doc/1 {"title_te ...

  8. 【计算机网络】网络安全 : 公钥密码体质 ( 公钥 - 加密密钥 | 私钥 - 解密密钥 | 与对称密钥体质对比 | 特点 | 数字签名引入 )

    文章目录 一.公钥密码体质 二.公钥密码体质 中的 加密密钥 与 解密密钥 三.公钥密码体质 与 对称密钥体质对比 四.公钥密码体质算法特点 五.公钥密码体质 与 数字签名 一.公钥密码体质 公钥密码 ...

  9. arcgis中欧氏距离操作_ArcGIS空间统计工具—平均中心与中位数中心

    概述: 识别一组要素的地理中心(或密度中心). 公式: 平均中心可表示为: 其中xi 和yi 是要素i的坐标,n等于要素总数.召权平均中心扩展为: 其中wi 为要素i处的权重.如果各要素存在z属性,则 ...

  10. 成本中心、作业中心、工作中心的区别

    成本中心,应该是指以对项目的成本费用归集统计分析为核心的工作任务集合,要点在于以什么标准划分列入某一项目的费用的边界 工作中心,应该是指以能相对独立完成(达到)局部性的工作任务目的的作业集合,要点在于 ...

最新文章

  1. stm32采集正弦波峰峰值_科研项目 | 基于STM32的永磁同步电机SVPWM控制设计
  2. Java面试题:如何将字符串反转?(翻转字符串)
  3. solidworks图纸模板添加_Solidworks零件和图纸绘制流程分享
  4. Python爬取天气数据及可视化分析!
  5. 容器,Docker, Kubernetes和Kyma,以及Kyma对SAP的意义
  6. 常用的NSLOG日志打印格式
  7. SQL实战之获取所有部门当前manager当前的薪水
  8. python程序设计实训报告-Python编程实践(1)
  9. 平平无奇的项目「GitHub 热点速览 v.22.10」
  10. 老电脑 升级 cpu性能排行 高性价比的cpu主板选择
  11. 浅析分支定界法在SLAM技术中的应用
  12. C#打造一个开源webgis(四)地图客户端(上)
  13. 港股分时交易数据 API 接口
  14. 视觉三维重建:colmap从理论到实战
  15. LabWindows操作Excel
  16. 去掉WORD文档中首页的页眉及页眉的横线
  17. 智能路由器自建服务器,路由器怎么设置服务器_路由器搭建服务器
  18. IntelliJ Idea 常用快捷键
  19. 接着奏乐接着舞 Matlab制作圣诞树和圣诞快乐歌
  20. 联通的流量卡都是快递激活吗?快递激活手机卡有没有关系?

热门文章

  1. 查看各大网站服务器操作系统
  2. 换个角度来看看C++中的左值、右值、左值引用、右值引用
  3. Mysql磁盘碎片整理教程
  4. JAVA实现贪吃蛇游戏
  5. 物理学经济学java周易_八竿子打不着?——物理学和经济学的相似相通之处
  6. 释放数据价值的真正法宝,数据要素市场化开发迫在眉睫
  7. java的cursor_JAVA中类 Cursor的定义.
  8. 科技兴国园区兴城——2019国际高科技产业园区博览会在深盛装开幕
  9. 益智休闲手游源码《贪吃蛇大战方块》源码H5+安卓+IOS三端源码
  10. 18年第十二届东北四省赛