【密码学】 一篇文章讲透数字证书

news2024/11/25 18:42:24

【密码学】 一篇文章讲透数字证书

数字证书介绍

  数字证书是一种用于认证网络通信中参与者身份和加密通信的证书,人们可以在网上用它来识别对方的身份。

  我们在上一篇博客中介绍了数字签名的作用和原理,数字签名可以防止消息被否认。有了公钥算法和数字签名算法后, 通信变得越来越安全, 但在公钥分发上仍然存在一些问题, 如果攻击者将公钥替换掉, 则很容易对系统发起攻击。

  而数字证书则可以很好地解决公钥分发的问题。 在密码技术中数字证书也被称为公钥证书或身份证书, 它是用来证实公钥持有者身份的电子文件。 证书中包主要含公钥的相关信息、 用户身份信息及来自发行者的数字签名。

数字证书原理

下面通过一个示例说明证书的应用场景。 假想场景中Alice需要向Bob发送消息, Bob会将公钥发送给Alice, Alice使用公钥对消息进进行加密, Bob使用私钥进行解密。 为了防止攻击者攻击, Bob使用数字证书来完成公钥的分发。 整个过程如图下图所示。

在这里插入图片描述

1) Bob生成密钥对, 密钥对包括Bob公钥和私钥;
2) Bob使用公钥生成证书签名请求(CSR) , 并将其发送给证书认证机构(CA) ;
3) 证书认证机构CA根据Bob的证书签名请求生成Bob证书, 证书中主要包含Bob的公钥和CA的数字签名;
4) Bob将证书发送给Alice;
5) Alice从CA获取根证书, 并使用CA证书中的CA公钥对Bob证书中CA的签名进行验证, 从而判断Bob证书的真实性;
6) 验证通过后, Alice从Bob的证书中提取Bob公钥;
7) Alice使用Bob的公钥将明文加密并发送至Bob;
8) Bob收到密文后使用私钥解密得到明文。

   在数字证书使用流程介绍中出现了两份证书——Bob证书和CA证书。 通过图12-1可以看出, Bob的证书由证书认证机构签发, 一般情况下Bob不能自己给自己签发证书。 Bob并不是权威机构, 若Bob给自己签发证书, 那么该证书就失去了“公信力”。 但是CA证书却是一份“自签发”证书, 也就是说数字证书机构使用自身的私钥对自身的公钥进行签名。 换句话说CA不但作为Alice和Bob的“裁判”, 也当了自己的“裁判”。 所以数字证书机构的私钥保密性异常重要, 一旦CA的私钥泄密那么将产生巨大的影响。

X.509证书标准

  X.509基于ASN.1标准, 由国际电信联盟的标准化部门(ITU-T)定义, 它是数字证书的一种标准格式。 X.509证书包含公钥、 标识信息(主机名、 组织或个人) 、 证书颁发机构签名或自签名等信息。

  CA根证书是一份特殊证书, 数字认证机构CA使用自身的私钥对自身的公钥签名, CA证书也可称为“自签发证书”。 而Bob的证书由CA通过CA私钥签发, Bob本身不能给自己签发证书。

  X.509证书在互联网领域取得了广泛的应用, 但是多数X.509证书“尺寸”较大, 对于物联网设备来说, 处理X.509证书需要消耗更多的内存资源和传输资源。 就目前的实际情况而言, X.509证书可能不适用于物联网应用。

总结

数字证书的作用包括以下几个方面:

  • 认证身份:数字证书可以证明通信中参与者的身份,防止身份伪造和冒充。
    加- 密通信:使用数字证书中的公钥进行加密通信,保护通信内容不被窃听或篡改。

  • 数据完整性保护:使用数字证书中的数字签名保证通信内容的完整性,防止数据被篡改。

  • 可信性:数字证书由认证机构颁发,证明通信参与者的身份和信用,增强通信的可信度。

  总之,数字证书是数字安全通信的重要工具,它可以有效地保护通信的机密性、完整性和可信性,保证通信的安全性。

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

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

相关文章

史上最全面的软件测试面试题总结(接口、自动化、性能全都有)

目录 思维发散 Linux 测试概念和模型 测试计划与工具 测试用例设计 Web项目 Python基础 算法 逻辑 接口测试 性能测试 总结感谢每一个认真阅读我文章的人!!! 重点:配套学习资料和视频教学 思维发散 一个球&#xff…

二叉树——二叉搜索树的最小绝对差

二叉搜索树的最小绝对差 链接 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&…

PowerDesigned16连接Oracle出现“Could not initialize JavaVM“时的解决步骤

PowerDesigned需要连接到数据库,我使用的是oracle,但总是连接不上,输出栏提示"Could not initialize JavaVM"。 经过查找资料,发现是PowerDesigned16是32位的,只能使用32位的JDK来运行JDBC驱动,…

如何从零开始系统的学习项目管理?

经常会有人问,项目管理到底应该学习一些什么?学习考证之后能得到什么价值? 以下我就总结一下内容 一,学习项目管理有用吗? 有效的项目管理带来的益处大致包括以下几个方面:更有效达成业务目标、满足相关…

人工智能轨道交通行业周刊-第35期(2023.2.20-2.26)

本期关键词:重庆智慧轨道、智能运维主机、标准轨距、地方铁路公报、景深、机器视觉应用 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通Rai…

第12天-商品维护(发布商品、商品管理、SPU管理)

1.发布商品流程 发布商品分为5个步骤: 基本信息规格参数销售属性SKU信息保存完成 2.发布商品-基本信息 2.1.会员等级-会员服务 2.1.1.会员服务-网关配置 在网关增加会员服务的路由配置 - id: member_routeuri: lb://gmall-memberpredicates:- Path/api/member/…

学习python第一天---前缀和

一、3956.截断数组(前缀和)二、前缀和(前缀和)[0]list(map(int,input().split()))三、子矩阵的和(前缀和)range(1,n1)四、K倍区间(前缀和)五、激光炸弹(前缀和&#xff0…

模型部署笔记

目录模型部署工作ONNX存在的意义ONNX(Open Neural Network Exchange)ONNX示例模型推理示例Batch调整量化量化方式常见问题模型部署工作 训练好的模型在特定软硬件平台下推理针对硬件优化和加速的推理代码 训练设备平台: CPU、GPU、DSP ONN…

2023.02.26 学习周报

文章目录摘要文献阅读1.题目2.摘要3.介绍4.模型4.1 SESSION-PARALLEL MINI-BATCHES4.2 SAMPLING ON THE OUTPUT4.3 RANKING LOSS5.实验5.1 数据集5.2 验证方式5.3 baselines5.4 实验结果6.结论深度学习元胞自动机1.定义2.构成3.特性4.思想5.统计特征流形学习1.降维2.空间3.距离…

一些硬件学习的注意事项与快捷方法

xilinx系列软件 系统适用版本 要安装在Ubuntu系统的话,要注意提前看好软件适用的版本,不要随便安好了Ubuntu系统又发现对应版本的xilinx软件不支持。 如下图,发行说明中会说明这个版本的软件所适配的系统版本。 下载 vivado vitis这些都可以…

IT男的一次中年破局尝试--出书

一、转战外企 接上回《人到中年——IT男择业感悟》后,自己从大央企去了某知名外企。外企虽然最近几年的日子已经没有10年前的辉煌与滋润,但相对来说,还能勉强找到工作与生活的平衡点。 划重点,35岁上下的人换工作理由&#xf…

SpringBoot+React博客论坛系统 附带详细运行指导视频

文章目录一、项目演示二、项目介绍三、项目运行截图四、主要代码一、项目演示 项目演示地址: 视频地址 二、项目介绍 项目描述:这是一个基于SpringBootReact框架开发的博客论坛系统。首先,这是一个前后端分离的项目,文章编辑器…

大学物理期末大题专题训练总结-磁学大题

(事先声明指的是简单的那个磁学大题,另外一类涉及储存的磁能、磁感应强度分布下次说)求个磁通量,求个感应电动势,求个安培力大小......这个感觉是不是像你梦回高中?当然,这一块大题跟高中磁学部…

hadoop-Combiner合并、OutputFormat

一、Combiner合并 Combiner是MR程序中Mapper和Reducer之外的一种组件。 2)Combiner组件的父类就是Reducer 3)Combiner和Reducer的区别在与运行的位置;Combiner是在每一个MapTask所在的节点运行;Reducer是接收全局所有Mapper的输出…

c++11 标准模板(STL)(std::unordered_set)(九)

定义于头文件 <unordered_set>template< class Key, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator<Key> > class unordered_set;(1)(C11 起)namespace pmr { templat…

Linux学习(8.5)文件内容查阅

目录 文件内容查阅&#xff1a; 直接检视文件内容 cat (concatenate) tac (反向列示) nl (添加行号列印) 可翻页检视 more (一页一页翻动) less (一页一页翻动) 数据撷取 tail (取出后面几行) 非纯文字档&#xff1a; od 修改文件时间或建置新档&#xff1a; touc…

数据结构(六)二叉树

一、树形结构概念树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。它具有以下的特点&#xff1a;1、有一个…

昇腾AI新技能,还能预防猪生病?

国药集团动物保健股份有限公司&#xff08;简称“国药动保”&#xff09;是专业从事动物保健产品研发、生产和销售的国家高新技术企业&#xff0c;是国内少数几家具备新产品原创能力的动物保健企业。其中&#xff0c;猪圆环病毒灭活疫苗等市场份额位居行业前列。 “猪圆环病毒…

【Linux学习笔记】8.Linux yum 命令和apt 命令

前言 本章介绍Linux的yum命令和apt命令。 Linux yum 命令 yum&#xff08; Yellow dog Updater, Modified&#xff09;是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理&#xff0c;能够从指定的服务器自动下载 RPM 包并且安装&#xf…

一种全新的图像滤波理论的实验(三)

一、前言 2023年02月22日&#xff0c;我发布了滤波后&#xff0c;为针对异常的白色和黑色像素进行处理的实验&#xff0c;本次发布基于上下文处理的方案的实验&#xff0c;目的是通过基于加权概率模型滤波后&#xff0c;在逆滤波时直接修复大量的白色和黑色的异常像素&#xf…