信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西?

本文主要是介绍信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西?

一下遇见这么多相近的名词,实在是难以区分理解,还是从这些概念产生的缘由理解吧

先看需求:如何保证 数据 在网络中传输时正确的?有没有被篡改?

一、信息摘要

dijest
就是做hash ,拿到唯一值,信息摘要可以防止信息传输途中的正确性

一段信息,经过摘要算法得到一串哈希值,就是摘要(dijest)。
在这里插入图片描述

常见的摘要算法有MD5、SHA1、SHA256、SHA512等。

摘要算法,是把任意长度的信息,映射成一个定长的字符串。
摘要算法,两个不同的信息,是有可能算出同一个摘要值的。
摘要算法与加密算法不同,不存在解密的过程。
摘要算法不用于数据的保密,而是用于数据的完整性校验。

也正因hash算法的安全性较低,因此只能做完整性校验,不能保证没有被篡改。

被信息摘要篡改的原理

增强碰撞攻击:尽管哈希算法具有不可逆性,但仍然可能存在两个不同的文本具有相同的摘要结果,这被称为碰撞。通过增强碰撞攻击,攻击者可以有意地查找具有相同摘要结果的两个文本,并将其中一个文本作为伪造的信息摘要。选择弱哈希算法:某些哈希算法可能存在安全漏洞,使其更容易受到碰撞攻击或其他攻击方式的影响。攻击者可以利用这些弱点来伪造信息摘要。

那么如何解决信息摘要的缺点的?

二、数字签名

digital signature 也叫 秘钥签名
信息是明文传输,但是对digital 做非对称加密
这样,攻击者就不能知道 hash的值了,就不能做digital的篡改

在这里插入图片描述

问题又来了,如果A的公钥被掉包了,B接收方不知道

数字前面的作用

1. 验证身份
2. 数据完整性
3. 防止抵赖:防止发送方否认曾经发过某个消息,私钥与数字前面绑定
4. 安全传输
5. 文件认证
6. 授权和许可

三、数字证书

那么就需要对A的公钥也做一次认证加密 , 数字证书(digital certificate)就诞生了
又称 公开密钥认证(英语:Public key certificate),或身份证书(identity certificate)
攻击者也能做公钥的加密啊,谁来做认证?
这就要牵扯公信力了,有人专门做这个:CA机构(Certificate Authority)
在这里插入图片描述
发送方A,明文发给CA机构 csr文件,包括

  • 将A的公钥
  • A的各种信息
  • A的域名

发送给CA机构,CA确定你就是你之后,打包:

  • hash(csr)。CA对A的签名
  • csr

这就是数字证书了,那么接收方如何使用?

在这里插入图片描述

这样就能保证 接收方B用的是A的公钥了

至于 CA的公钥,用户在之前连接CA的时候就已经获取。

3.2数字证书详情

扩展名

  • .crt证书文件:在unix中常见
  • .cer证书:Win中常见
  • .csr证书签名请求文件:请求方发给CA机构的
  • .key公钥私钥的扩展名
  • .p12证书文件:X509证书和一个被密码保护的私钥

3.2.1 证书种类

DV SSL

10min快速申请的认证,所有权简易Class1级别的SSL证书
能起到加密传输的作用,但是不能像用户证明真实身份

CA机构直接不做验证,所以这个证书 只提供了数据的加密

OV SSL

提供了对个人或者机构的审核,能确认对方的身份,安全性更高

CA收费

EV SSL

超安EV,最严格、最安全的证书
遵循全球统一的严格身份验证标准,是目前业界安全级别最高的顶级 (Class 4级)SSL证书

金融证券、银行、第三方支付、网上商城等,都需要这个等级的数字证书

3.2.2 本地的证书

设置 -> 隐私设置与安全性 -> 安全 -> 管理证书
在这里插入图片描述

四、数字信封

在这里插入图片描述
和数字签名的不同:
+ 数字签名 信息 是明文传输的,只能保证信息的完整性、来源和真实性
+ 数字信封 信息 对称加密算法加密的,保护数据的机密性和完整性

这篇关于信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464467

相关文章

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

springboot实现配置文件关键信息加解密

《springboot实现配置文件关键信息加解密》在项目配置文件中常常会配置如数据库连接信息,redis连接信息等,连接密码明文配置在配置文件中会很不安全,所以本文就来聊聊如何使用springboot... 目录前言方案实践1、第一种方案2、第二种方案前言在项目配置文件中常常会配置如数据库连接信息、Red

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的