一文搞懂PKI/CA

news2024/11/24 14:55:57

PKI

  • 1. 信息安全
    • 1. 1 主要攻击形式
    • 1.2 信息安全的目标
  • 2. PKI
    • 2.1 基本概念
    • 2.2 PKI的组成
  • 3. 数字证书
    • 3.1 基本概念
    • 3.2 证书的生成与验证
    • 3.3 证书链
    • 3.4 证书管理
  • 4. 时间戳服务

1. 信息安全

随着数字经济、互联网金融、人工智能、大数据、云计算等新技术新应用快速发展,催生了一系列新业态新模式,信息安全已经成为信息社会亟须解决的最重要问题之一。

1. 1 主要攻击形式

由于信息的存储、传递、处理等过程往往是在开放的网络中进行,信息容易受到窃听、截取、篡改、伪造、假冒、重放等多种攻击手段的威胁。其中,截取为被动攻击,而中断、篡改、伪造、重放均为主动攻击。

请添加图片描述
(1)中断(Interruption):中断也称拒绝服务,是指阻止或禁止通信设施的正常使用或管理,这是对可用性攻击。这种攻击一般有两种形式:一是攻击者删除通过某一连接的所有协议数据单元,从而抑制所有的消息指向某个特殊的目的地;二是使整个网络瘫痪或崩溃,可能采取的手段是滥发消息使之过载,使网络不能正常工作。

(2)截取(Interception):截取是未授权地窃听或监测传输的消息,从而获得对某个资源的访问,这是对机密性的攻击。攻击者一般通过在网络中“搭线”窃听,以获取他们通信的内容。

(3)篡改(Modification):篡改也就是修改数据流,对一个合法消息的某些部分被改变、消息被延迟或改变顺序,以产生一个未授权、有特殊目的的消息,是针对连接的协议数据单元的真实性、完整性和有序性的攻击。

(4)伪造(Fabrication):伪造是指将一个非法实体假装成一个合法的实体,是对身份真实性的攻击,通常与其他主动攻击形式结合在一起才具有攻击效果,如攻击者重放以前合法连接初始化序列的记录,从而获得自己本身没有的某些特权。

(5)重放(Replay) :重放将一个数据单元截获后进行重传,产生一个未授权的消息。在这种攻击中,攻击者记录下某次通信会话,然后在以后某个时刻重放整个会话或其中的一部分。

1.2 信息安全的目标

信息安全主要确保以下五个方面的安全:

(1)机密性(Confidentiality)

机密性是指保证信息不泄露给非授权的用户或实体,确保存储的信息和被传输的信息仅能被授权的各方得到,而非授权用户即使得到信息也无法知晓信息内容。通常通过访问控制阻止非授权用户获得机密信息,通过加密阻止非授权用户获知信息内容。

(2)完整性(Integrity)

完整性是指信息未经授权不能进行篡改的特征,确保信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权篡改(插人、修改、删除、重排序等)。一般通过访问控制阻止篡改行为,同时通过消息摘要算法来检验。

(3)认证性(Authentication)

认证性(真实性)指确保一个消息的来源或消息本身被正确地标识,同时确保该标识没有被伪造,通过**数字签名、消息认证码(MAC)**等方式实现。认证分为消息认证和实体认证。

  • 消息认证是指能向接收方保证该消息确实来自于它所宣称的源,
  • 实体认证是指在连接发起时能确保这两个实体是可信的,即每个实体确实是它们宣称的那个实体,第三方也不能假冒这两个合法方中的任何一方。

(4)不可否认性(Non-Repudiation)

不可否认性是指能保障用户无法在事后否认曾经对信息进行的生成、签发、接收等行为,是针对通信各方信息真实性、一致性的安全要求。为了防止发送方或接收方抵赖所传输的消息,要求发送方和接收方都不能抵赖所进行的行为。通过数字签名来提供抗否认服务。

  • 当发送一个消息时,接收方能证实该消息确实是由既定的发送方发来的,称为源不可否认性
  • 当接收方收到一个消息时,发送方能够证实该消息确实已经送到了指定的接收方,称为宿不可否认性。

(5)可用性(Availability)

可用性是指保障信息资源随时可提供服务的能力特性,即授权用户根据需要可以防时访问所需信息,保证合法用户对信息资源的使用不被非法拒绝。

2. PKI

2.1 基本概念

公钥基础设施(PKI,Public Key Infrastructure)是基于公钥密码学的,提供安全服务的基础设施,核心是要解决信息网络空间中的信任问题,确定可信赖的数字身份,广泛应用于电子商务、电子政务等领域。

PKI技术以公钥技术为基础,以数字证书为媒介,结合对称加密和非对称加密技术,将个人、组织、设备的身份标识信息与各自的公钥捆绑在一起,其主要目的是通过自动管理密钥和证书,为用户建立起一个安全可信的网络运行环境使,用户可以在多种应用环境下方便地使用加密和数字签名技术,保证传输信息的机密性、完整性、认证性和不可否认性

2.2 PKI的组成

一个典型的PKI系统包含认证机构CA、证书库、密钥备份与恢复系统、证书撤销与密钥更新机制、PKI应用接口系统等部分。

  • 认证机构CA(Certificate Authority):又称证书授证中心,是PKI的核心组成部分和执行机构,它为每个使用公钥的用户发放一个数字证书,证明证书中列出的用户合法拥有证书中列出的公开密钥。认证中心还应包括证书申请注册机构RA(Registration Authority),它是数字证书的注册审批机构。

  • 证书库(目录服务):用于发布用户的证书和证书作废列表(CRL,Certificate Revocation List),用户可由此获得其他用户的证书及公钥。

  • 密钥备份及恢复系统:密钥备份及恢复是密钥管理的主要内容,用户由于某些原因将解密数据的密钥丢失,从而使已被加密的密文无法解开,将造成合法数据丢失。为避免这种情况的发生,PKI提供了密钥备份与密钥恢复机制:当用户证书生成时,加密密钥即被CA备份存储;当需要恢复时,用户只需向CA 提出申请,CA就会为用户自动进行恢复。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。

  • 应用接口(API):为各种各样的应用提供安全、一致、可信任的方式与PKI交互,使用户能够方便地使用加密、数字签名等安全服务,满足查询证书和相关证书的撤消信息、证书路径处理、以及对特定文档提供时间戳请求等需求,确保所建立起来的网络环境安全可靠,并降低管理成本。

3. 数字证书

3.1 基本概念

数字证书也称公钥证书,是一个经权威机构认证中心CA签名的包含了公钥及公钥持有者身份信息的文件,相当于CA颁发的“身份证”,解决“公钥属于谁”的问题,帮助用户安全地获得对方公钥。

X.509是ITU-T标准化部门定义的一套证书标准,广泛应用于包括TLS/SSL在内的众多Internet协议里。格式如下:
在这里插入图片描述
数字证书内容包括:

  • 版本号:区分x.509的不同版本。
  • 序列号:由CA给予每一个证书的分配惟一的数字标识。
  • 认证机构标识:颁发该证书的机构惟一的CA的X.500名字。
  • 主体标识:证书持有者的名称。
  • 主体公钥信息:和该主体私钥相对应的公钥。
  • 证书有效期:证书有效时间包括证书开始有效期和证书失效期。
  • 密钥/证书用法:描述该主体的公/私密钥对的合法用途。
  • 认证机构签名:用认证机构的私钥生成的数字签名。
  • 扩展:该证书的附加信息。

3.2 证书的生成与验证

在这里插入图片描述
(1)证书的生成

在证书注册过程中

  • CA对包含证书申请实体公钥及其身份等信息的文件T进行Hash,产生散列值H。
  • CA用其私钥对该散列值H加密,生成数字签名S。

数字签名S和包含证书申请实体公钥及其身份等信息的文件形成申请实体的数字证书。

(2)证书的验证

验证者得到实体的数字证书:包含证书申请实体公钥及其身份等信息的文件T,以及CA对文件T的散列值的数字签名S。

  • 验证者用CA的公钥对数字签名S解密,得到散列值H。
  • 验证者同时用证书里的Hash算法对文件T进行hash得到H’。
  • 验证者比较H’是否等于H,等于则说明证书可信。

3.3 证书链

在PKI的应用中,用户的信任来源于对证书的验证,而这种信任是基于对颁发证书可信第三方CA本身的信任。

X.509规定CA用目录信息树(DIT)的方式组织。最高一级CA称为根CA(Root-CA),用户之间的证书验证,需要对方证书生成的一条链**(证书链)**才能进行。由根证书为起点,透过层层信任(A信任B,B信任C,以此类推),使终端实体证书的持有者可以获得转授的信任,以证明身份。
在这里插入图片描述
以百度的证书为例:
在这里插入图片描述
通过树形结构图,可以看到baidu.com这个域名使用的证书由GlobalSign RSA OV SSL CA 2018签发的,而GlobalSign RSA OV SSL CA 2018的证书则是由GlobalSign这个根CA(Root CA)签发的,可在操作系统安装的受信任的根证书列表中找到GlobalSign

3.4 证书管理

(1)证书注册
在这里插入图片描述
(2)证书撤销

当条件(证书信息修改等)要求证书的有效期在证书结束日期之前终止,或者要求用户与私钥分离时(私钥可能以某种方式泄露),证书被撤销。
在这里插入图片描述

4. 时间戳服务

由于用户桌面时间很容易改变,由该时间产生的时间戳不可信赖,因此需要一个可信任的第三方来提供可信赖的且不可抵赖的时间戳服务。

时间戳权威(TSA,Time StampAuthority),它是PKI中的重要组成部分,作为可信的第三方时间权威,其主要功能是提供可靠的时间信息,证明某份文件(或某条信息)在某个时间(或以前)存在,防止用户在这个时间前或时间后伪造数据进行欺骗活动。

时间戳服务就是时间戳协议(TSP,TimeStamp Protocol)通过TSA服务来提供数据在特定时间存在的证据。

在这里插入图片描述
TSA工作流程:

  • (1)客户端计算所选文件的数字指纹,通常是做一次Hash。
  • (2)客户端将对文件Hash值发送给TSA,TSA将当前时间值加入数字指纹,然后用私有密钥对这个信息数字签名,并产生一个时间邮戳(Time stamp)。
  • (3)TSA将时间邮戳返回到客户端存储(客户端需要验证时间邮戳的有效性),这样时间邮戳就跟文件绑在一起作为文件在某个时间内有效的证据。

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

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

相关文章

GIS工具maptalks开发手册(二)02——渲染线

GIS工具maptalks开发手册(二)02——渲染线 效果 1、html版本 LineString.html <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1"> <title>图形…

Redis 的 Java 客户端(Jedis、SpringDataRedis、SpringCache、Redisson)基本操作指南

Jedis 参考&#xff1a; Jedic 官方文档Jedis 托管在 github 上的源码 Redis 不仅是使用命令来操作&#xff0c;现在基本上主流的语言都有客户端支持&#xff0c;比如 java、C、C#、C、php、Node.js、Go 等。在官方网站里列一些 Java 的客户端&#xff0c;有 Jedis、Redisso…

CentOS 7 不显示ip

使用ip add或ifconfig插件看网络信息 进入文件夹/etc/sysconfig/network-scripts 修改对应的ens33网卡的配置文件&#xff0c;默认请工况下CentOS 7不启动网卡&#xff08;ONBOOTno&#xff09; 修改vim ifcfg-ens33中的ONBOOTno为ONBOOTyes 重启服务&#xff1a;service netwo…

【蓝桥杯省赛真题14】python围圈报数 青少年组蓝桥杯python编程省赛真题解析

目录 python围圈报数 一、题目要求 1、编程实现 2、输入输出 3、评分标准

2023年,想要靠做软件测试获得高薪,还有机会吗?

时间过得很快&#xff0c;一眨眼&#xff0c;马上就要进入2023年了&#xff0c;到了年底&#xff0c;最近后台不免又出现了经常被同学问道这几个问题&#xff1a;2023年还能转行软件测试吗&#xff1f;零基础转行可行吗&#xff1f; 本期小编就“2023年&#xff0c;入行软件测…

centernet的数据增强操作--仿射变换

centernet论文与代码剖析_无左无右的博客-CSDN博客_centernet原论文blogfirst_rank_ecpm_v1~rank_v31_ecpm-3-110164808-null-null.nonecase&utm_termcenternet&spm1018.2226.3001.4450 其实在这里也分析过。奈何当初写的代码不知道哪里去了&#xff1b; 本文原地址&am…

Java学习之方法重写/覆盖

目录 一、方法重写的概念 二、入门案例 三、使用细节 第一条 第二条 第三条 一、方法重写的概念 方法覆盖(重写)就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的方法 注释&#xff1a;包括直接继承和简介继承&…

连接阿里云MaxCompute数据源报错504 Gateway Time-out

背景 经济下行的大环境下&#xff0c;很多公司都在做出海业务&#xff0c;即把海外人民做为服务对象。我司亦不例外。最近在全职负责的一款数据产品&#xff0c;也需要在菲律宾&#xff08;马尼拉&#xff09;也部署一个站点。 站点部署成功&#xff0c;看起来一切顺利。既然…

k8s网络插件之Calico

Calico简介 Calico官方文档&#xff1a;https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart Calico是一套开源的网络和网络安全解决方案&#xff0c;用于容器、虚拟机、宿主机之前的网络连接&#xff0c;它是一个纯三层的虚拟化网络解决方案&#…

Springboot毕业设计毕设作品,心理评测系统设计与实现

功能清单 【后台功能】 系统设置&#xff1a;设置关于我们、联系我们、加入我们、法律声明 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信息&#xff0c;支持删…

QT笔记——vs中的qt项目 可调试源码

环境&#xff1a;vs2019 qt 5.12.2 1&#xff1a;首先我们需要选择我们的源码路径 右键解决方案-》属性-》通用属性-》调试源文件-》在窗口内添加QT下载时的源码**.src文件夹** 2.下载对应QT版本的PDB文件 http://download.qt.io/online/qtsdkrepository/windows_x86/desktop/…

PG第十一章-基准测试与 pgbench

性能基准线称为基准测试 一&#xff1a;关于基准测试 影响的关键因素有&#xff1a; 硬件&#xff0c;如服务器配置、 CPU 内存、存储&#xff0c;通常硬件越高级&#xff0c;系统的性能越好&#xff1b;网络&#xff0c;带宽不足也会严重限制系统整体性能表现&#xff1b;负…

双十二购买护眼台灯亮度多少合适?灯光亮度多少对眼睛比较好呢

现在越来越多的孩子近视情况严重&#xff0c;走在大街上&#xff0c;普遍都能见到大多数孩子都戴着眼镜&#xff0c;这不仅与我们的生活习惯、饮食健康有关&#xff0c;也受照明环境的影响&#xff0c;所以很多家长为了孩子的视力健康&#xff0c;开始使用护眼台灯来照明了。 …

短信服务调研

调研新技术方案的一般步骤&#xff1a; 列出所有竞品&#xff0c;根据品牌、功能、价格&#xff0c;选择最合适的一个购买或试用服务查阅相关文档和配置要单独写一个demo&#xff0c;体验一下 竞品有&#xff1a;七牛云、阿里云、网易云、腾讯云 本次选择为腾讯云&#xff1a…

springboot简述

文章目录一、SpringBoot简介1、springboot快速入门1、开发步骤1.创建springboot入门项目2.创建controller3.启动服务器4.测试2、对比spring3、springboot工程快速启动4.切换web服务器二、配置文件1.配置文件格式2.properties配置文件3.yaml格式配置文件1.语法规则2.yaml配置文件…

【C++天梯计划】1.10 二叉树(binary tree)

文章目录什么是二叉树&#xff1f;二叉树的定义二叉树的基本形态二叉树的性质例题1&#xff1a;二叉树的遍历题目描述输入输出样例代码例题2&#xff1a;哈夫曼树题目描述输入输出样例代码&#x1f386;&#x1f389;&#x1f389;&#x1f389;&#x1f389;&#x1f389;&…

学成在线页面设计案例

html结构 <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthdevice-width…

沉睡者IT - Web3采用现状:哪些企业采用了Web3,效果如何?

欢迎关注沉睡者IT&#xff0c;点上面关注我 ↑ ↑ 作为 Web 3 世界的“原住民”&#xff0c;我们已经能够看到个人和企业越来越多地尝试 Web 3 机制&#xff0c;推出 NFT、加密资产和数字商品。 了解他们为什么这样做、他们追求什么目标、哪些机制的效果最好和最差对我们来说…

python主题建模可视化LDA和T-SNE交互式可视化

我尝试使用Latent Dirichlet分配LDA来提取一些主题。 最近我们被客户要求撰写关于主题建模的研究报告&#xff0c;包括一些图形和统计输出。 本教程以自然语言处理流程为特色&#xff0c;从原始数据开始&#xff0c;准备&#xff0c;建模&#xff0c;可视化论文。 我们将涉及…

142.创建序列化类、序列化测试、反序列化测试

1.创建序列化类 什么是序列化&#xff0c;为什么要序列化&#xff1f; 当前web api应用中&#xff0c;前端要用到从后台返回的数据来渲染页面的时候&#xff0c;一般都是使用的json类型的数据&#xff0c;因为json类型简单直观便于理解&#xff0c;那么就需要在django框架中&am…