密钥管理简介

news2024/11/26 18:52:07

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

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

密钥的种类

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

按密钥的用途分类

基本密钥

基本密钥(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. 在线查询机制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1832493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RAG与Langchain简介

RAG与Langchain简介 什么是RAGRAG解决的问题RAG工作流程RAG调优策略LangChain简介 什么是RAG 检索增强生成(Retrieval-Augmented Generation),主要是通过从外部给大模型补充一些知识,相当于给模型外挂了一个知识库,让…

Navicat 安装及初步配置指南

Navicat 是一款广泛使用的数据库管理工具,支持多种数据库,如 MySQL、PostgreSQL、SQLite 等。以下是 Navicat 安装步骤的详细说明: 在 Windows 上安装 Navicat 下载 Navicat 安装包: 访问 Navicat 官方网站:Navicat 官…

iCopy for Mac 剪切板 粘贴工具 历史记录 安装(保姆级教程,新手小白轻松上手)

Mac分享吧 文章目录 效果可留存文本、图片、文件等复制历史记录也可根据关键字进行历史记录检索点击一下,可复制双击两下,复制内容,并将信息粘贴至鼠标指针处 一、准备工作二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹…

【Vue】Pinia管理用户数据

Pinia管理用户数据 基本思想:Pinia负责用户数据相关的state和action,组件中只负责触发action函数并传递参数 步骤1:创建userStore 1-创建store/userStore.js import { loginAPI } from /apis/user export const useUserStore defineStore(…

Havoc工具

Team端 客户端 打开后需要生成监听器和agent 监听 生成payload 最后上线 HTTPS流量 HTTP流量 心跳

基于微信小程序的在线答题小程序设计与实现

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

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

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

大模型KV Cache节省神器MLA学习笔记(包含推理时的矩阵吸收分析)

首先,本文回顾了MHA的计算方式以及KV Cache的原理,然后深入到了DeepSeek V2的MLA的原理介绍,同时对MLA节省的KV Cache比例做了详细的计算解读。接着,带着对原理的理解理清了HuggingFace MLA的全部实现,每行代码都去对应…

dentacare - hackmyvm

简介 靶机名称:dentacare 难度:中等 靶场地址:https://hackmyvm.eu/machines/machine.php?vmdentacare 本地环境 虚拟机:vitual box 靶场IP(dentacare):192.168.56.120 跳板机IP(window…

使用Multipass编译OpenHarmony工程

Multipass 是一个轻量级虚拟机管理器,支持 Linux、Windows 与 macOS,这是为希望使用单个命令提供全新 Ubuntu 环境的开发人员而设计的。使用 Linux 上的 KVM、Windows 上的 Hyper-V 和 macOS 上的 HyperKit 来以最小的开销运行 VM,同时它还可…

驱动开发(二):创建字符设备驱动

往期文章: 驱动开发(一):驱动代码的基本框架 驱动开发(二):创建字符设备驱动 ←本文 驱动开发(三):内核层控制硬件层 目录 字符驱动设备的作用 函数 …

找不到vcomp100.dll无法继续执行代码的原因及解决方法

在日常使用电脑的过程中,我们可能会遇到一些错误提示,其中之一就是“vcomp100.dll丢失”。那么,vcomp100.dll是什么?它为什么会丢失?对电脑有什么具体影响?如何解决这个问题?本文将为您详细解答…

SpringBoot整合SpringDataRedis

目录 1.导入Maven坐标 2.配置相关的数据源 3.编写配置类 4.通过RedisTemplate对象操作Redis SpringBoot整合Redis有很多种,这里使用的是Spring Data Redis。接下来就springboot整合springDataRedis步骤做一个详细介绍。 1.导入Maven坐标 首先,需要导…

dp练习2

如何分析这个题目呢&#xff0c;要想着当前的最优解只和前面的最优解有关 class Solution { public:int numSquares(int n) {vector<int> f(n 1);for (int i 1; i < n; i) {int minn INT_MAX;for (int j 1; j * j < i; j) {minn min(minn, f[i - j * j]);}f[…

基于Java+Swing贪吃蛇小游戏(含课程报告)

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

“Redis中的持久化:深入理解RDB与AOF机制“

目录 # 概念 1. RDB持久化 1.1 备份是如何执行的&#xff08;RDB过程&#xff09; 1.2 配置文件信息 1.3 RDB持久化操作 1.4 RDB优势 1.5 RDB劣势 1.6 RDB做备份 2. AOF持久化 2.1 AOF开启及使用 2.2 异常恢复 2.3 配置文件操作 2.4 AOF持久化流程 2.5 优点 2.6…

基于振弦采集仪的地下综合管廊工程安全监测技术研究

基于振弦采集仪的地下综合管廊工程安全监测技术研究 地下综合管廊工程是一项重要的城市基础设施工程&#xff0c;承载着城市供水、供电、供热、排水等重要功能。为了确保地下综合管廊工程的安全运行&#xff0c;需要进行有效的安全监测。本文将重点研究基于振弦采集仪的地下综…

Python学习笔记12:进阶篇(一),类的相关知识

前言 在讲类之前&#xff0c;我们简单介绍一些Python的知识。这些知识在入门篇没讲&#xff0c;想学Python的&#xff0c;基本都对Python有基础的了解&#xff0c;但是今天开始的进阶知识&#xff0c;会涉及到一些Python的特性&#xff0c;所以在这里介绍一下。 Python是一种高…

vivado NODE、PACKAGE_PIN

节点是Xilinx部件上用于路由连接或网络的设备对象。它是一个 WIRE集合&#xff0c;跨越多个瓦片&#xff0c;物理和电气 连接在一起。节点可以连接到单个SITE_&#xff0c; 而是简单地将NETs携带进、携带出或携带穿过站点。节点可以连接到 任何数量的PIP&#xff0c;并且也可以…

升级到tomcat10和Java 21后,idea控制台system.out.println输出中文乱码问题

最近一次性从tomcat 9升级到tomcat 10&#xff0c;同时Java sdk也从1.8升级到21。 升级过程中&#xff0c;当然会遇到很多问题&#xff0c;但是控制台输出中文乱码问题&#xff0c;着实折腾了很久。 1、尝试各种方法 网上说的很多通用方法都试过了&#xff0c;就是不生效。包…