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

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

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

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

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

一、信息摘要

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

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

easyui 验证下拉菜单select

validatebox.js中添加以下方法: selectRequired: {validator: function (value) {if (value == "" || value.indexOf('请选择') >= 0 || value.indexOf('全部') >= 0) {return false;}else {return true;}},message: '该下拉框为必选项'}

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹