当前位置: 首页 > news >正文

【密码学】密钥管理:②密钥分配

一、密钥分配的定义

        密钥分配是密钥管理生命周期中最重要的部分,密钥分配方案研究的是密码系统中密钥的分发传送问题。从本质上讲,密钥分配为通信双方建立用于信息加密、解密签名等操作的密钥,以实现保密通信认证签名等。

(1)密钥分配的基本工具

        要实现密钥分配需要哪些基本工具?主要用到了两个工具:认证技术和协议技术。

认证技术:认证技术是安全密钥分配的保障。具体包括

  1. 数字证书:用于证明实体的身份,通常由可信的第三方签发。
  2. 公钥基础设施 (PKI):包括数字证书在内的整体框架,用于管理和验证数字证书。
  3. 身份验证协议:如OAuth、SAML等,用于验证用户的身份。
  4. 生物识别技术:如指纹、面部识别等,用于增强身份验证的安全性。

协议技术:协议技术是实现认证必须遵循的流程。具体包括

  1. Diffie-Hellman密钥交换协议 (DH):允许双方在不安全的信道上安全地协商共享密钥。
  2. Transport Layer Security (TLS):用于保护Web通信的安全,其中包括密钥交换。
  3. Secure Sockets Layer (SSL):是TLS的前身,同样用于保护Web通信。
  4. Internet Key Exchange (IKE):用于IPSec协议,协商和管理密钥。
  5. Key Distribution Center (KDC):如Kerberos协议中的组件,负责密钥的分发和管理。

(2)密钥分配的基本方法

        密钥分配的基本方法主要有三种,它们分别是:

  1. 利用安全信道实现密钥传递
  2. 利用双钥体制建立安全信道
  3. 利用量子技术实现密钥传递

前两种是传统方式,最后一种是前沿。

① 利用安全信道实现密钥传递

        这种方法假设存在一个预先建立好的安全通道,用于密钥的传递。这个安全通道可以是物理上的安全信道(例如,通过安全的物理介质传递密钥),或者是一个已经通过其他方式验证过的安全通信通道。这种方法的挑战在于如何确保信道本身的绝对安全性。

优点:
  • 直观简单。
  • 不需要额外的复杂算法。
缺点:
  • 安全信道难以建立和维护。
  • 可能需要额外的成本(如物理运输成本)。

② 利用双钥体制建立安全信道

        这种方法利用非对称加密(双钥体制)来建立一个安全信道。通常,一方使用另一方的公钥来加密密钥,然后将加密后的密钥发送给对方。接收方使用自己的私钥来解密密钥。

优点:
  • 不需要事先建立安全信道。
  • 具有较好的灵活性和扩展性。
缺点:
  • 需要有效的方式验证公钥的所有者。
  • 加解密操作比对称加密慢。

③ 利用量子技术实现密钥传递

        量子密钥分发(Quantum Key Distribution, QKD)是一种利用量子力学原理来安全地分发密钥的技术。最著名的量子密钥分发协议是BB84协议。QKD利用光子的偏振态来编码信息,并且由于量子力学中的不确定性原理,任何窃听行为都会被检测到。

优点:
  • 提供理论上无条件安全的密钥分发。
  • 可以检测到潜在的窃听者。
缺点:
  • 技术实现复杂且成本较高。
  • 当前主要限于较短的距离内应用。

二、密钥分配的方法

(1)早期的密钥分配方法

        早期的密钥分配由通信双方直接面议或通过可靠信使递送密钥。还可以通过邮递或信使护送密钥,很难完全消除信使被收买的可能。还可以将密钥分拆成几部分分别递送,只适用于传递少量密钥。

(2)目前最常用的方法

        利用双钥体制建立安全信道传递来实现密钥分配。这种方法利用非对称加密技术(即公钥加密)来确保密钥的安全传递。下面是这种方法的一些关键特点和实现方式:

双钥体制建立安全信道

        密码分配的基本模式主要有:点对点密钥分配、密钥分配中心、密钥传递中心三种。

点对点密钥分配
点对点密钥分配

         点对点密钥分配是指两个通信方直接通过某种协议协商出一个共享密钥。不需要依赖任何第三方,简单直接。安全性较低,容易受到中间人攻击。

【注】例如Diffie-Hellman 密钥交换协议就是一个例子,它允许两方在公开信道上协商一个共同的密钥。

密钥分配中心
密钥分配中心

        KDC是一个可信的第三方机构,用于管理和分发密钥。适用于需要集中管理密钥的环境,如企业内部网络。提高了密钥管理的安全性和效率。但存在单点故障的问题,如果 KDC 被攻破,则整个系统的安全性都会受到影响。

【注】例如Kerberos 协议使用 KDC 来分发临时密钥,使得不同用户之间能够安全地进行通信。

密钥传递中心
密钥传递中心

        KTC 也称为密钥托管中心,其主要职责是帮助两个通信方安全地传递已存在的密钥。适用于已有密钥的情况,可以简化密钥的传递过程。同样存在单点故障的问题。

【注】例如在一个组织内部,如果已经有了一套密钥管理系统,那么可以使用 KTC 来帮助用户之间传递这些密钥。

有关更详细的密钥分配的基本模式内容还可以看我另两篇文章:

【密码学】密码协议的分类:①密钥建立协议

 【密码学】密码协议的分类:③认证的密钥建立协议

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 从零开始学习SLAM(五):极几何与极约束
  • 消息系统类型
  • <数据集>航拍牧场牛羊识别数据集<目标检测>
  • Python 字符串转对象
  • 【C语言】static和extern的作用
  • Kubernetes 清理资源常用的 Kubernetes 清理命
  • SAP 预扣税配置步骤文档【Withholding Tax]
  • VMware虚拟机nat无法联通主机
  • 【爬虫】 使用AI编写B站爬虫代码
  • 汽车IVI中控OS Linux driver开发实操(二十五):GPIO设备驱动的上手编写
  • JavaScript语法基础之事件基础(鼠标、表单、页面事件等)
  • 3D场景标注标签信息,three.js CSS 2D渲染器CSS2DRenderer、CSS 3D渲染器CSS3DRenderer(结合react)
  • ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(8)
  • TCP 如何保证可靠性?
  • 代码复现改进
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • css属性的继承、初识值、计算值、当前值、应用值
  • docker容器内的网络抓包
  • HTML5新特性总结
  • IDEA常用插件整理
  • leetcode46 Permutation 排列组合
  • October CMS - 快速入门 9 Images And Galleries
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vue学习系列(二)vue-cli
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 不上全站https的网站你们就等着被恶心死吧
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 回流、重绘及其优化
  • 记一次和乔布斯合作最难忘的经历
  • 类orAPI - 收藏集 - 掘金
  • 聊一聊前端的监控
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 微信支付JSAPI,实测!终极方案
  • 我从编程教室毕业
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 正则学习笔记
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #DBA杂记1
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $ git push -u origin master 推送到远程库出错
  • (1)Android开发优化---------UI优化
  • (9)STL算法之逆转旋转
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (SpringBoot)第二章:Spring创建和使用
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (六)激光线扫描-三维重建
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (三)终结任务
  • (转) ns2/nam与nam实现相关的文件
  • (转)shell调试方法
  • (转)我也是一只IT小小鸟
  • **python多态
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复