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

密钥管理简介

首先我们要知道什么是密钥管理?

密钥管理是一种涉及生成、存储、使用和更新密钥的过程。

密钥的种类

我们知道,对称密码主要包括分组密码和序列密码。但有时也可以将杂凑函数和消息认证码划分为这一类,将它们的密钥称为对称密钥;公钥密码主要是指公钥加密算法,有时也包括基于公钥密码的数字签名和一些密钥交换算法,将它们的公私钥称为非对称密钥。

按密钥的用途分类

基本密钥

基本密钥(Base Key),也称为初始密钥(Primary Key),用kp表示,是由用户选定或由系统分配给用户的可在较长时间(相对于会话密钥)内由一对用户所专用的秘密密钥,故又称为用户密钥(User Key)。要求它既安全,又便于更换,与会话密钥一起去启动和控制由某种算法构造的密钥生成器,来产生用于加密数据的密钥流。

会话密钥

会话密钥(Session Key),是两个通信终端用户在一次通话或交换数据时所用的密钥,用ks表示。当用它对传输的数据进行保护时称为数据加密密钥(Data Encrypting Key),当用它保护文件时称为文件密钥(File Key)。会话密钥的作用是使用户可以不必太频繁地更换基本密钥,有利于密钥的安全和管理方便。这类密钥可由用户双方预先约定或动态生成,也可由系统动态生成并赋予通信双方,它由通信双方专用,故又称为专用密钥(Private Key)

image.png

密钥加密密钥

密钥加密密钥(Key Encrypting Key),是用于对传送的会话密钥进行加密时采用的密钥,也称为次主密钥(Submaster Key)或辅助(二级)密钥(Secondary Key),用ke表示。通信网中每个节点都分配有一个这类密钥。为了安全,各节点的密钥加密密钥应互不相同。在主机和主机之间以及主机和各终端之间传送会话密钥时都需要有相应的密钥加密密钥。每台主机都须存储有关至其他各主机和本主机范围内各终端所用的密钥加密密钥,而各终端只需要一个与其主机交换会话密钥时所需的密钥加密密钥,称之为终端主密钥(Terminal Master Key)。

主机主密钥

主机主密钥(Host Master Key),是对密钥加密密钥进行加密的密钥,存储于主机处理器中,用km表示

如果难以得到安全可靠的环境,可采用密钥分级保护方法

密钥分级保护

  • 终端密钥的保护。可用二级通信密钥(终端主密钥)对会话密钥进行加密保护。终端主密钥存储在主密钥寄存器中,并由主机对各终端主密钥进行管理。主机和终端之间就可用共享的终端主密钥保护会话密钥的安全
  • 主机主密钥的保护

密钥交换协议

我们为什么要使用密钥分配协议?我们知道相对于对称密码而言,公钥密码的优势在于无需交换密钥就可以建立安全信道。但遗憾的是大多数公钥密码(如RSA)都比对称密码(如AES)速度慢。因此,在实际应用中对称密码通常用于加密“长”消息,这样仍就需要解决密钥建立问题。密钥建立问题可通过密钥交换协议(也称为密钥建立协议)来解决,大致可分为以下两类:

密钥分配协议

密钥分配协议:是指协议的一个参与方可以建立或获得一个秘密值,并将此秘密值安全地分发给协议的其他参与方

密钥协商协议

密钥协商协议:是指协议的两个或多个参与方共同提供信息,推导出一个共享密钥,在多数情况下要求参与协议的任何一方不能预先确定这个共享密钥

秘密共享方案

存储在系统中的所有密钥的安全性(从而整个系统的安全性)可能最终取决于一个主密钥。这样做有两个缺陷:一是若主密钥偶然地或蓄意地被暴露,整个系统就易受攻击;二是若主密钥丢失或毁坏,系统中的所有信息就用不成了。后一个问题可通过将密钥的副本发给信得过的用户来解决。但这样做时,系统对背叛行为又无法对付。解决这两个问题的一个办法是使用秘密共享方案(Secret Sharing Scheme)

image.png

密钥管理基础设施/公钥基础设施

概述

PKI是“Public Key Infrastructure”的缩写,意为“公钥基础设施”,是一个用非对称密码算法原理和技术实现的、具有通用性的安全基础设施。

PKI的目的

PKI是提供公钥加密和数字签名服务的系统,目的是为了自动管理密钥和证书,保证网上数字信息传输的机密性、真实性、完整性和不可否认性。

PKI的作用

  1. 对身份合法性进行验证

方法:采用数字签名技术,签名作用于相应的数据之上实现对身份合法性的验证

  1. 实现数据保密性和完整性

保密性:用公钥分发会话密钥,然后用会话密钥对数据加密
完整性:PKI采用了两种技术
① 数字签名:既可以是实体认证,也可以是数据完整性
② MAC(消息认证码)(消息摘要)的方式

  1. 实现数据传输的安全性
  2. 实现数字签名和不可抵赖性

PKI基于非对称公钥体制,采用数字证书管理机制,可以为透明地为网上应用提供上述各种安全服务,极大地保证了网上应用的安全性。

PKI的组成

完整的PKI由六大部分组成

  1. 认证机构(Certification Authority,CA):证书的签发机构,是PKI的核心。功能包括证书的分发、更新、查询、作废和归档等。
  2. 注册机构(Registration Authority,RA):RA实现分担CA部分职责的功能,其基本职责是认证和验证服务。
  3. 证书库:集中存放证书,提供公众查询。
  4. 密钥备份及恢复系统:用户的解密密钥进行备份,当丢失时进行恢复,而签名密钥不能备份和恢复。
  5. 证书作废处理系统:证书由于某种原因需要作废,终止使用,这将通过证书废除列表CRL(又称证书黑名单)来完成。
  6. 应用接口:使各种应用能以安全、一致、可信的方式与PKI交互。

认证机构的功能

image.png

注册机构的功能

image.png

证书发布库的功能

image.png

证书撤销的方法

  1. 利用周期性发布机制
  2. 在线查询机制

相关文章:

密钥管理简介

首先我们要知道什么是密钥管理? 密钥管理是一种涉及生成、存储、使用和更新密钥的过程。 密钥的种类 我们知道,对称密码主要包括分组密码和序列密码。但有时也可以将杂凑函数和消息认证码划分为这一类,将它们的密钥称为对称密钥;…...

2024中国应急(消防)品牌巡展成都站成功召开!

汇聚品牌力量,共同相聚成都。6月14日,由中国安全产业协会指导,中国安全产业协会应急创新分会、应急救援产业网联合主办,四川省消防协会协办的“一切为了安全”2024年中国应急(消防)品牌巡展-成都站成功举办。该巡展旨在展示中国应…...

ansible-Role角色批量按照node_export节点,并追加信息到Prometheus文件中

文章目录 剧本功能 inventory.yaml文件定义deploy.yaml角色定义node_exporter_lock角色定义任务角色main.yamlnode_exporter_tasks.yml角色触发任务notifyextra_tasks.yml角色prometheus_node_config.j2模板文件 执行命令查看变量 剧本功能 功能1: 批量执行node_ex…...

求最小公倍数 、小球走过路程计算 题目

题目 JAVA11 求最小公倍数分析:代码:大佬代码: JAVA12 小球走过路程计算分析:代码: JAVA11 求最小公倍数 描述 编写一个方法,该方法的返回值是两个不大于100的正整数的最小公倍数。 输入描述:…...

【Android面试八股文】你能说一说为什么IO是耗时操作?

IO(输入/输出)操作之所以是耗时操作,主要是由于以下几个原因: 1. 物理设备的限制 机械动作:传统的硬盘驱动器(HDD)包含旋转的磁盘和移动的磁头,以读取或写入数据。这些机械动作需要时间完成。虽然固态硬盘(SSD)没有机械部件,但它们仍然受到电子信号传输速度的限制。…...

怎样增强 CLike 游戏的社交功能,促进玩家之间的互动和交流?

要增强CLike游戏的社交功能,以促进玩家之间的互动和交流,可以考虑以下几个方面: 添加聊天功能:在游戏中加入实时聊天功能,让玩家可以在游戏内互相交流。可以通过文本聊天或者语音聊天来实现。 社交平台集成&#xff1…...

12_YouOnlyLookOnce(YOLOv3)新一代实时目标检测技术

1.1 回顾V1和V2 V1:05_YouOnlyLookOnce(YOLOV1)目标检测领域的革命性突破-CSDN博客 V2:07_YouOnlyLookOnce(YOLOv2)Better,Faster,Stronger-CSDN博客 1.2 简介 YOLOv3(You Only Look Once version 3)是…...

安装 Nuxt.js 的步骤和注意事项

title: 安装 Nuxt.js 的步骤和注意事项 date: 2024/6/17 updated: 2024/6/17 author: cmdragon excerpt: Nuxt.js在Vue.js基础上提供的服务器端渲染框架优势,包括提高开发效率、代码维护性和应用性能。指南详细说明了从环境准备、Nuxt.js安装配置到进阶部署技巧&…...

【perl】环境搭建

1、Vscode Strawberry Perl 此过程与tcl环境搭建很类似,请参考我的这篇文章: 【vscode】 与 【tclsh】 联合搭建tcl开发环境_tclsh软件-CSDN博客 perl语言的解释器可以选择,strawberry perl。Strawberry Perl for Windows - Releases。 …...

【车载音视频AI电脑】全国产海事船载视频监控系统解决方案

海事船载视频监控系统解决方案针对我国快速发展的内河航运、沿海航运和远洋航运中存在的航行安全和航运监管难题,为船舶运营方、政府监管部门提供一套集视频采集、存储、回放调阅为一体的视频监控系统,对中大型船舶运行中的内部重要部位情况和外部环境进…...

Centos SFTP搭建

SFTP配置、连接及挂载教程_sftp连接-CSDN博客1、确认是否安装yum list installed | grep openssh-server 2、创建用户和组 sudo groupadd tksftpgroup sudo useradd -g tksftpgroup -d /home/www/tk_data -s /sbin/nologin tksftp01 sudo passwd tksftp013. 配置SFTP注意&a…...

【中学教资科目二】01教育基础

01教育基础 前言第一节 教育的产生与发展1.1 教育的起源 第二节 教育学的产生和发展2.1 中国教育学的发展2.2 西方教育学的发展2.3 独立及多样化阶段2.4 马克思教育学2.5 现代教育发展 第三节 教育与社会的发展3.1 教育与文化的关系 第四节 教育与人的发展、4.1 个体身心发展的…...

设计模式-享元模式Flyweight(结构型)

享元模式(Flyweight) 享元模式是一种结构型模式,它主要用于减少创建对象的数量,减少内存占用。通过重用现有对象的方式,如果未找到匹配对象则新建对象。线程池、数据库连接池、常量池等池化的思想就是享元模式的一种应用。 图解 角色 享元工…...

【刷题】LeetCode刷题汇总

目录 一、刷题题号1:两数之和 二、解法总结1. 嵌套循环2. 双指针 一、刷题 记录LeetCode力扣刷题 题号1:两数之和 双循环(暴力解法): class Solution {public int[] twoSum(int[] nums, int target) {int[] listne…...

树莓派pico入坑笔记,快捷键键盘制作

使用usb_hid功能制作快捷键小键盘,定义了6个键,分别是 ctrlz ctrlv ctrlc ctrla ctrlw ctrln 对应引脚 board.GP4, board.GP8, board.GP13 board.GP28, board.GP20, board.GP17 需要用到的库,记得复制进单片机存储里面 然后是main主程…...

华为鲲鹏应用开发基础:鲲鹏处理器及关键硬件特性介绍(二)

1. 鲲鹏简介 1.1 鲲鹏处理器简介 鲲鹏处理器是华为自研的基于ARMv8指令集开发的数据中心级处理器 1.2 基于鲲鹏主板的多样化计算产品 1.3 基于鲲鹏920的华为TaiShan(泰山) 200服务器 1.3.1 TaiShan 2280服务器内部视图 1.3.2 TaiShan 2280服务器物理结构 1.3.3 TaiShan 2280服…...

Vue.js结合ASP.NET Core构建用户登录与权限验证系统

1. 环境准备2. 创建项目3. Vue配置步骤一: 安装包步骤二: 配置文件步骤三: 页面文件 4. 后台配置 在本教程中,我将利用Visual Studio 2022的强大集成开发环境,结合Vue.js前端框架和ASP.NET Core后端框架,从头开始创建一个具备用户登录与权限验…...

【html】如何利用id选择器实现主题切换

今天给大家介绍一种方法来实现主题切换的效果 效果图&#xff1a; 源码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initia…...

服务器添加TLS域名证书核子之PKCS编解码

PKCS PKCS(Public Key Cryptography Standards)是一系列的标准,用于定义在公钥密码体系中涉及的一些基本结构和算法。PKCS#1 和 PKCS#8 是两个不同的标准,分别定义了不同的公钥私钥编码和封装格式。 PKCS#1 和PKCS#8区别 PKCS#1 PKCS#1 定义了一种用于RSA算法的公钥和私…...

使用 Selenium 自动化获取 CSDN 博客资源列表

使用 Selenium 自动化获取 CSDN 博客资源列表 在这篇博客中,我将向大家展示如何使用 Selenium 自动化工具来滚动并获取 CSDN 博客资源列表的全部数据。这篇文章的目标是通过模拟用户的滚动操作,加载所有的资源列表项,并提取它们的信息。 项目准备 首先,我们需要安装一些…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...