公钥基础设施 (Public-key infrastructure PKI)

article/2025/9/22 11:28:48

公钥基础设施 PKI

  • 1.功能
  • 2.设计
  • 3.认证方法
    • 3.1证书机构(CA)
    • 3.2信任网络(Wot)
    • 3.3简单的公共关键基础设施(SKPI)
    • 3.4分散的PKI
    • 3.5基于区块链的 PKI
  • 4.使用

密码学上,公开密钥基础建设借着数字证书认证机构(certificate authority CA)将用户的个人身份跟公开密钥链接在一起。对每个证书中心用户的身份必须是唯一的。链接关系通过注册和发布过程创建,取决于担保级别,链接关系可能由CA的各种软件或在人为监督下完成。PKI的确定链接关系的这一角色称为注册管理中心(Registration Authority RA)。RA确保公开密钥和个人身份链接,可以防抵赖。

Public-key infrastructure

1.功能

PKI提供“信任服务” - 信任实体的行为或输出,无论人或计算机。信任服务目标尊重以下一个或多个功能:机密性,完整性和真实性 (Confidentiality, Integrity and Authenticity CIA)。

保密性:保证任何 实体不得恶意或无意地以清晰文本查看有效载荷。数据被加密使其保密,因此即使被读取也是乱码。PKI 用于保密目的的最常见用途是在运输层安全(Transport Layer Security TLS)。

完整性:保证如果一个实体以最轻微的方式更改(篡改)传输数据,很明显,它就会发生,因为它的完整性会受到损害。防止完整性受到损害并不重要,重要的是有明确证据表明它被篡改了。

真实性:保证您在连接到受保护的服务时能够确定您所连接到的内容,或证明您的合法性。前者称为服务器端身份验证 - 通常在使用密码对 Web 服务器进行身份验证时使用。后者称为客户端身份验证 - 有时在使用智能卡(托管数字证书和私钥)进行身份验证时使用。

2.设计

公钥加密技术使实体能够在不安全的公共网络上进行安全通信,并通过数字签名可靠地验证实体的身份。

公钥基础架构(PKI)是用于创建、存储和分发数字证书的系统,用于验证特定公钥是否属于某个实体。PKI 创建数字证书,将公钥映射到实体,将这些证书安全地存储在中央存储库中,并在需要时撤销它们。

PKI 包括:
授权机构(CA):存储、签发和签署数字证书的证书;
注册机构(RA):验证请求将数字证书存储在 CA的实体身份;
中央目录:即存储和索引密钥的安全位置;
证书管理系统:管理诸如访问存储的证书或交付要签发的证书等事项;
证书策略:说明了PKI关于其程序的要求。其目的是允许外人分析PKI的可靠性。

用户是使用PKI的人,使用PKI的人又分为两种:一种是向认证机构(CA)注册自己公钥的人,另一种是希望使用已注册公钥的人。

认证机构是对证书进行管理的人或机构。认证机构进行这几种操作:代用户生成密钥对(当然可以由用户自己生成);对注册公钥的用户进行身份验证;生成并颁发证书;作废证书。另外,对公钥注册和用户身份验证可以由注册机构(Registration Authority,RA)来完成。

仓库(repository)是存放证书的数据库。仓库也叫证书目录。

3.认证方法

广义上讲,传统上有三种方法可以获得信任:证书机构 (certificate authorities CAs)、信任网络(web of trust WoT)和简单的公共关键基础设施(simple public key infrastructure SPKI)

3.1证书机构(CA)

CA 的主要作用是以数字签名并发布绑定给定用户的公钥。这是使用 CA 自己的私钥完成的,因此对用户密钥的信任依赖于对 CA 密钥有效性的信任。当 CA 是与用户和系统分离的第三方时,则称为注册机构(RA),该机构可能与 CA 分离。根据绑定的保证水平,通过软件或人类监督,建立关键的键。

"受信任的第三方"一词 ( trusted third party TTP) 也可用于证书授权(CA)。此外,PKI 本身经常被用作 CA 实现的同义词。

3.2信任网络(Wot)

解决公共关键信息公开认证问题的另一种方法是信任网计划,该计划使用自签名证书和第三方证明这些证书。单一术语"信任网"并不意味着存在单一的信任网或共同的信任点,而是任意数量可能脱节的"信任网"之一。此方法的实现示例是PGP(相当良好的隐私)和GnuPG(开放PGP的实现,PGP 的标准化规范)。由于 PGP 和实施允许使用电子邮件数字签名自行发布公共关键信息,因此实现自己的信任网络相对容易。

信任网络的好处之一,如在PGP中,它能够与所有各方完全信任的PKI CA进行互操作,该域(如公司内部CA)中愿意作为受信任的介绍人保证证书。如果"信任网"是完全信任的,那么,由于信任网的性质,信任一个证书是授予信任该网络的所有证书。PKI 仅与控制证书颁发的标准和做法一样有价值,包括 PGP 或个人建立的信任网络,可能会显著降低该企业或领域实施 PKI 的可信度。

3.3简单的公共关键基础设施(SKPI)

另一种不涉及公共关键信息的公开认证的替代方案是简单的公共关键基础设施(SPKI),它源于三项独立努力,旨在克服X.509和PGP信任网的复杂性。SPKI 不将用户与人关联,因为关键是什么是可信的,而不是人。SPKI 不使用任何信任概念,因为验证人也是发行人。这在 SPKI 术语中称为"授权循环",其中授权是其设计不可或缺的一部分。[需要引文]这种类型的PKI特别适用于使PKI的集成不依赖于第三方的证书授权,证书信息等:一个很好的例子就是办公室里的空盖网络。

3.4分散的PKI

分散标识符(Decentralized identifiers DIDs) 消除了对标识符集中注册以及关键管理的集中证书权限的依赖,这是分层 PKI 的标准。在 DID 注册表是分布式分类账的情况下,每个实体都可以作为自己的根权。此架构称为分散 PKI (decentralized PKI DPKI)。

3.5基于区块链的 PKI

PKI 的一种新兴方法是使用通常与现代加密货币相关的区块链技术。由于区块链技术旨在提供分布式和不可出售的信息分类账,因此它具有被认为非常适合存储和管理公钥的品质。一些加密货币支持存储不同的公钥类型(SSH、GPG、RFC 2230等),并提供直接支持OpenSSH服务器 PKI 的开源软件。虽然区块链技术可以大致证明工作往往支持信任,依靠各方对PKI的信心,但问题仍然存在,如行政符合政策,操作安全和软件实施质量。证书权威范式有这些问题,无论采用的基本加密方法和算法如何,寻求赋予证书可信属性的 PKI 也必须解决这些问题。

4.使用

一种或另一种类型的 KKI 以及来自多个供应商中的任何一个具有许多用途,包括为用户身份提供公共密钥和绑定,用于以下用途:

电子邮件的加密和/或发送者身份验证(例如,使用OpenPGP或S/MIME);
文档的加密和/或身份验证(例如,如果文档编码为XML,则XML 签名或XML 加密标准);
用户对应用程序的身份验证(例如,智能卡徽标、使用SSL的客户端身份验证)。在谜团和mod_openpgp项目中,数字签名HTTP认证具有实验用途;
引导安全通信协议,如互联网密钥交换(IKE) 和SSL。在这两种情况中,安全通道(“安全关联”)的初始设置使用不对称密钥(即公钥)方法,而实际通信使用更快的对称密钥(即秘密密钥)方法;
移动签名是使用移动设备创建的电子签名,依靠独立电信环境中的签名或认证服务;
物联网需要相互信任的设备之间的安全通信。公钥基础设施使设备能够获取和更新 X509 证书,这些证书用于在设备之间建立信任,并使用TLS加密通信。


http://chatgpt.dhexx.cn/article/vmVBqsoc.shtml

相关文章

shell infrastructure host占用cpu_网速、CPU、内存监控软件TrafficMonitor

Traffic Monitor 是一款 Windows 平台的网速、CPU等监控悬浮窗软件,可以显示当前网速、CPU及内存占用率,小窗口可以拖动到窗口的任意位置,并且支持嵌入到任务栏显示,历史流量统计等功能。 Traffic Monitor 是免安装的,打开即用。下载地址:https://github.com/zhongyan…

Oracle 12cR1 Grid Infrastructure 安装指南之一(官方直译)

1 Oracle Grid Infrastructure安装清单 以下清单提供了所需的 Preinstallation 步骤的列表. 使用此清单可协调任务, 以帮助确保在启动Oracle Grid Infrastructure以进行群集安装之前完成所有系统和存储准备和配置任务. 1.1系统硬件, 软件和配置清单 本节包含以下服务器配置…

HLA RTI(Run-time Infrastructure)

RTI(Run-time Infrastructure) 概述 主要作用 具体实现了HLA接口规范。为了实现联邦内部各个联邦成员之间进行高效的信息交换,HLA接口规范用文字定义了各种标准服务和接口,而RTI则用程序设计语言将这些标准的服务和接口转成了标…

DDS之DCPS Infrastructure模块

DCPS Infrastructure Infrastructure ModuleEntityEntity IdentifierQoS policyListenerStatusStatusConditionEnabling Entities QosPolicyStatusStatus 定义StatusMask 定义Listener callback定义Listener callback的实现 Condition and WaitSet Infrastructure Module 从Inf…

Oracle 19.3 Grid Infrastructure 软件安装详细教程

更多文章,欢迎关注作者公众号,欢迎一起交流。 1 安装环境 CentOS 7.9Oracle Database 19.3 - Enterprise Edition 2 安装配置 2.1 内存要求 1)数据库安装:至少1GB,推荐2G以上; 2)Grid安装&…

Oracle 19c Grid Infrastructure安装

概述 本文描述在单个主机上(不是RAC)GI 19c的安装。 Oracle数据库软件19c已安装,但未创建任何数据库。参见这篇文章。 主机为Oracle Linux 7,主机上已安装先决条件包(oracle-database-preinstall-19c),数据库软件用户…

infra-structure Ad Hoc

“infrastructure”模式: 所谓infrastructure是在一种整合有线与无线局域网架构的应用模式,与ad- hoc不同的是配备无线网卡的设备必须通过ap来进行无线通讯,设置后,无线网络设备就必须有AP(Access Pointer)…

DDD(八)【基础设施层】

最近被DDD吸引了阿,在这里感谢一下小佟,呵呵,领域驱动设计是个不错的东西,帮助我们把问题清晰化,这候对于复杂业务逻辑是很重要的,今天这一讲主要说一下D&…

DB2初步使用

DB2初步使用 1.安装完成后开始菜单栏里会有一个 DB2 Command Window - Administrator 打开这个命令窗口 2.db2  db2,启动 3.list databse directory 会列出所有数据库 create databse XXX  创建新的数据库XXX  drop database XXX  删除已有数据库XXX 4.conn…

db2 时间戳相减返回天数

db2时间戳类型时间相减返回天数,先用timestampdiff函数让时间戳相减得到秒,然后利用cast()函数转换成天数。timestampdiff()函数中的时间一定是时间戳timestamp类型。 select cast(timestampdiff(2,(CURRENT_TIMESTAMP - 2021-08-10 11:00:00)) as doub…

Linux 命令行进入DB2

1. docker ps 2.docker exec -it 813cb755c14c /bin/bash 3.su - db2inst1 进入DB2账户下 4.db2 list db directory 列出目前所有数据库 5. db2 直接进入db2数据库命令行模式 6.db2 connect to testdb(testdb数据库名称) 如果需要对某一个数据库操作…

DB2安装到卸载一套龙服务

DB2安装到卸载一套龙服务 1.DB2数据库下载 下载地址: 点击这里下载 点击链接保存,或者复制本段内容,打开「阿里云盘」APP 下载下来是 3 号 双击3解压 会有一个弹框,为四号 ,点击Browse 这里选择解压地址,我是解压…

db2获取日志路径

db2 get db cfg for bpfdb3 | grep log

db2的启动命令

想重启db2库,直接使用db2stop命令,执行报错 这样停不掉,因为有连接在上面 查看连接 db2 list applications show detail 发现有很多连接,连接在bpfdb5这个库上面 杀掉所有的连接 db2 force application all 再次检查连接 发现没…

db2top操作手册

本手册译自: https://www.ibm.com/developerworks/data/library/techarticle/dm-0812wang/ 目录 1.db2top命令语法... 4 2.db2top运行模式... 5 2.1 交互模式... 5 2.2 批量模式... 6 3.db2top监控模式... 8 3.1 数据库监控 (d). 8 3.2 表空间监控 (t). 9 3.3 动态SQL监…

DB2基础语法与简单使用

1、启动 [rootMyClone hadoop]# su db2inst1[db2inst1MyClone hadoop]$ db2start2、创建数据库 [db2inst1MyClone hadoop]$ db2 create database hiber;3、 列出数据库 [db2inst1MyClone hadoop]$ db2 list db directory4、连接数据库 [db2inst1MyClone hadoop]$ db2 conne…

awk的使用

awk的使用 一、awk的作用 1.用来从文本中截取字符串 2.用来匹配过滤文本,起到grep的作用 二、awk里面的分隔符 1、输入分隔符: -F -FS":" FS(input field separater)2、输出分隔符: 定义OFS“#” OFS&a…

AWK基础教程

前言 之前针对WorkerHub小程序做的数据分析文章 互联网卷王花落谁家? 收到了一些小伙伴的回复,点名要学习数据分析,其实我也是一知半解,想着来写几篇文章简单聊下我分析的过程。 首先是数据清洗和统计了,这块我并没有…

详解AWK的用法

Awk工具介绍 AwK是一种处理文本文件的语言,是一个强大的文本分析工具。 它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作。数据可以来自标准输入也可以是管道或文件 20世纪70年代诞生于贝尔实验室&#…

Shell脚本文本三剑客之AWK

目录 一、AWK工具介绍 1.1AWK命令的基本格式 1.2AWK工作原理 1.3常见的内建变量(可直接用) 二、实例 2.1打印文本内容 案例1:打印磁盘已经使用情况 案例2:打印字符串 案例3:打印字符串确定文件有多少行 2.2根据$n提取字…