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

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

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

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

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

一、信息摘要

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

相关文章

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

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

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

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

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机