加密与安全_密钥体系的三个核心目标之不可否认性解决方案

news2024/9/29 7:21:38

文章目录

  • Pre
  • 概述
  • 不可否认性
    • 数字签名(Digital Signature)
    • 证书是什么
      • 证书使用流程
  • PKI
    • CA
    • 证书层级
      • 多级证书
      • 证书链是如何完成认证的?
  • 其他疑问
    • 1. Alice能直接获取Bob的公钥,是否还需要证书?
    • 2. 为什么即使能直接获取公钥也需要加密?
    • 3. 使用约定的非公开加解密方式通讯,是否还需要证书?
    • 4. 公开算法与私有算法的安全性对比
    • 5. 信任CA的必要性

在这里插入图片描述


Pre

加密与安全_常见的分组密码 ECB、CBC、CFB、OFB模式介绍

加密与安全_ 解读非对称密钥解决密钥配送问题的四个方案

加密与安全_密钥体系的三个核心目标之完整性解决方案

密钥体系的三个主要目标

机密性:确保第三者无法通过密文猜测出明文。
完整性:确保第三者无法篡改原文内容。
不可否认性:确保第三者不能冒充其他人发送消息。


概述

  1. 解释消息认证码的基本概念及其局限性。
  2. 介绍数字证书及其在身份认证中的重要性。
  3. 解释CA的角色和PKI的基本概念。
  4. 描述CA的主要功能及证书的层级结构。
  5. 讨论证书在安全通信中的必要性。
  6. 说明信任CA的原因。

在消息认证码中,我们可以证明消息没有发生过篡改。但却无法证明这个消息就是 Alice 发给 Bob 的。 因为计算消息认证码所需的数据,Bob 和 Alice 都有,所以从理论上 Bob 是可以伪造这条"消息"的。

如果想做到消息的"无可抵赖性",就需要证明"Alice 是 Alice"。证书体系应运而生,就用在证明"我是我"的场景中。


不可否认性

不可否认性确保消息的发送者不能否认曾经发送过消息,这通常通过数字签名实现。

数字签名(Digital Signature)

定义:数字签名是一种基于非对称密码技术的认证机制,用于验证消息的发送者身份和消息的完整性。

工作原理

  1. Alice使用自己的私钥对消息的哈希值进行加密,生成数字签名,并将消息和数字签名一起发送给Bob。
  2. Bob使用Alice的公钥对数字签名进行解密,得到消息的哈希值,并计算接收到的消息的哈希值。
  3. Bob比较两个哈希值,若相同,则确认消息完整且由Alice发送。

优点

  • 提供身份认证和完整性验证。
  • 防止发送者否认发送过消息。

应用场景

  • 安全电子邮件、数字合同、软件分发等需要验证身份和完整性的场景。

证书是什么

证书是数字世界中的"身份证",证书中标记了姓名、组织、邮箱和地址等个人信息,以及属于这个人的公钥。

仅仅有这些信息还不足以让数字证书变成身份证,证书最关键的一个环节是经过"CA"认证并且施加了数字签名。换言之,CA 认定这个证书就是属于某个人的,在数字世界中无法抵赖。

为什么 CA 有这么大的权力呢? CA 有能力颁发证书,所以就有能力认定:“这个公钥的确属于某人”。某种意义上,我们信任数字证书更大程度上是信任 CA 中心。

证书使用流程

所有 CA 必须是可信的第三方。典型的证书使用流程是这样的
在这里插入图片描述


PKI

在证书体系中,为了能够有效的运用公钥而制定了一系列的规范,这些规范构成了证书体系的基础,因此被统称为 PKI(Public-Key Infrastructure)

PKI 和其他规范一样,只是规范规格,并没有强制如何实现。所以很多组织和公司自行实现了里面的细节,所以从理论上说我们每个人都可以自行实现一套 PKI 规范,这样你也可以成为一个 CA 中心。

但是如何得到广泛大多数人的承认,这个是最复杂也是最重要的一步。

一般来说 PKI 有三个要素:

  • 用户(使用 PKI 的人)
  • 认证机构(CA,也就是颁发证书的人)
  • 仓库(保存所有证书信息的地方)

用户就不说了,仓库就是保存证书的数据库,用户从仓库获取证书。

CA

下面我们说 CA

CA 最重要的几个功能:

  • 生成密钥对。 首先,密钥对可以由用户自己生成,也可以由 CA 来生成。
  • 注册证书。CA 会核对用户身份。当核对成功后,CA 使用自己的私钥来对用户的公钥数据进行数字签名,生成复合 X.509 规范的证书。
  • 作废证书和 CRL。当用户私钥丢失或者丢失时,CA 可以及时宣告证书作废。数字证书的作废并不是登报声明就能完成,而是会登记在一个证书作废清单(CRL)中。用户需要及时更新 CRL 内容,当需要验证的证书在 CRL 中时,就会按照作废处理。

证书层级

在最开始的时候,CA 对 Bob 的公钥进行了认证,并生成了证书。 此时的证书由两层,一层是 CA,另外一层是 Bob 公钥

在这里插入图片描述

多级证书

在实际情况中,证书会有很多层。上面一层负责给下面一层进行认证,而最上面的那一层就称为 Root CA(根 CA)

在这里插入图片描述

除去根 CA 和最底层的 Bob 之外,其余的中间 CA 就称为证书链(上面证明下面,就像一个认证链所以称为证书链)

证书链是如何完成认证的?

在这里插入图片描述

根证书怎么证明呢? 既然称之为根证书那就说明上面已经没有其他 CA 了。 此时此刻,根证书就需要自签名进行认证

在这里插入图片描述

由此可见,根证书的私钥绝对不能泄露。一旦泄露,就可以伪造出完整的证书链,那么这个 CA 就算是彻底废了


其他疑问

1. Alice能直接获取Bob的公钥,是否还需要证书?

即使Alice能直接获取Bob的公钥,仍然需要证书来验证公钥的真实性。获取公钥的通道可能不安全,可能被中间人攻击(Man-in-the-Middle Attack)篡改公钥。证书通过CA的签名,确保公钥确实属于Bob,防止伪造和篡改。

2. 为什么即使能直接获取公钥也需要加密?

即使Alice能通过安全通道直接获取Bob的公钥,仍需要加密通信来保护数据的机密性和完整性。加密可以防止数据在传输过程中被第三方窃取或篡改。证书体系通过验证公钥的真实性,确保加密通信的安全性。

3. 使用约定的非公开加解密方式通讯,是否还需要证书?

使用非公开的加解密方式并不安全。以下是原因:

  • 算法的安全性:私有算法可能存在未被发现的漏洞,容易被攻击。公开算法经过广泛审查和测试,更加安全。
  • 保密性:即使算法保密,也难以抵御高级攻击者。公开算法通过算子保密,实现更高的安全性。

4. 公开算法与私有算法的安全性对比

公开算法的优势:

  • 广泛测试:公开算法经过学术界和工业界的广泛测试,安全性更高。
  • 透明性:算法公开透明,易于发现和修复漏洞。
  • 标准化:公开算法遵循标准,确保互操作性和兼容性。

私有算法的劣势:

  • 不透明:算法未公开,可能存在未发现的安全漏洞。
  • 信任问题:依赖于开发者的能力和诚信,难以获得广泛信任。
  • 难以维护:私有算法难以与其他系统集成,维护成本高。

5. 信任CA的必要性

信任CA类似于信任政府发行的货币。CA通过签发和管理证书,为公钥提供信用背书,确保公钥的合法性和真实性。若不信任CA,需要自行验证每个证书节点的合法性,实际上等同于CA的工作。因此,信任CA可以简化验证过程,提高效率和安全性。

在这里插入图片描述

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

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

相关文章

世界人工智能大会 | 江行智能大模型解决方案入选“AI赋能新型工业化创新应用优秀案例”

日前,2024世界人工智能大会暨人工智能全球治理高级别会议在上海启幕。本次大会主题为“以共商促共享,以善治促善智”,汇聚了上千位全球科技、产业界领军人物,共同探讨大模型、数据、新型工业化等人工智能深度发展时代下的热点话题…

CLIP编码器调用时刚开始正常,然后输出全部变为NaN

碰到了这个问题:输入是正常的,输出全是NaN 网上办法不多,找了半天终于看到问题所在,但是没有说在哪里改的,故记录一下。 改一下模型精度就正常了,默认的是fp16,改为fp32即可 具体步骤如下&…

渲染引擎之ECS架构介绍

1.什么是ECS? 我们先简单地介绍一下什么是ECS: E -- Entity 实体,本质上是存放组件的容器C -- Component 组件,引擎所需的所有数据结构S -- System 系统,根据组件数据处理逻辑状态的管理器 ECS全称Entity-Component-…

免费压缩pdf文件大小软件收费吗?pdf如何压缩文件大小?12款压缩应用推荐!

在数字化时代,PDF文件因其跨平台、格式统一的特点而广受欢迎。然而,随着文件内容的增加,PDF文件的大小也逐渐增大,给存储和传输带来了诸多不便。因此,寻找一款合适的PDF压缩软件成为了许多用户的需求。本文将详细介绍1…

阿里开源语音理解和语音生成大模型FunAudioLLM

近年来,人工智能(AI)的进步极大地改变了人类与机器的互动方式,例如GPT-4o和Gemin-1.5等。这种转变在语音处理领域尤为明显,其中高精度的语音识别、情绪识别和语音生成等能力为更直观、更类人的交互铺平了道路。阿里开源…

# 昇思25天学习打卡营第10天 | 使用静态图加速

昇思25天学习打卡营第10天 | 使用静态图加速 文章目录 昇思25天学习打卡营第10天 | 使用静态图加速动态图的开启方式静态图的开启方式基于全局context的开启方式基于修饰器的开启方式 总结打卡 AI编译框架分为两种运行模式: 动态图模式: 计算图的构建和计…

C语言 | Leetcode C语言题解之第224题基本计算器

题目&#xff1a; 题解&#xff1a; int calculate(char* s) {int n strlen(s);int ops[n], top 0;int sign 1;ops[top] sign;int ret 0;int i 0;while (i < n) {if (s[i] ) {i;} else if (s[i] ) {sign ops[top - 1];i;} else if (s[i] -) {sign -ops[top - 1…

android文本长按复制

android文本长按复制 &#x1f4d6;1. 长按直接复制✅步骤一&#xff1a;定义一个TextView✅步骤二&#xff1a;为TextView注册长按事件✅步骤三&#xff1a;弹出系统复制功能 &#x1f4d6;2. 长按弹框确认复制✅步骤一&#xff1a;定义一个TextView✅步骤二&#xff1a;封装P…

3d模型设计要注意什么?---模大狮模型网

展览3D模型设计作为现代展示和艺术表达的重要手段&#xff0c;不仅仅是简单的视觉元素&#xff0c;更是整个展览体验的核心。在这个领域&#xff0c;设计师需要综合考虑美学、功能性以及技术实现的多重因素。本文将探讨在展览3D模型设计过程中需要注意的关键要点。 一、美学与视…

70.WEB渗透测试-信息收集- WAF、框架组件识别(10)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;69.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;9&#xff09; 关于waf相应的识…

Java并发/多线程CompleteableFuture详解

目录 CompleteableFuture 创建 获得结果的方法 辅助方法 allOf和anyOf的区别 CompletableFuture 里大约有五十种方法&#xff0c;但是可以进行归类: 变换类 thenApply 消费类 thenAccept 执行操作类 thenRun thenApply/thenAccept/thenRun 结合转化类 thenCombine 结…

C++ 类和对象 构造 / 析构函数

一 类的6个默认成员函数&#xff1a; 如果一个类中什么成员都没有&#xff0c;简称为空类。 例&#xff1a; #include <iostream> class Empty {// 空类&#xff0c;什么成员都没有 }; 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&a…

使用预加载库优化 PostgreSQL 函数#postgresql认证

在 POSTGRESQL 中执行函数和过程 为了理解 PostgreSQL 的工作原理&#xff0c;我们首先要看一个简单的函数调用。下一个清单显示了一些简单的PostGIS代码&#xff1a; PgSQL test# timing Timing is on. test# SELECT * FROM hans.points WHERE id 1;id │ …

南大通用数据库-Gbase-8a-学习-44-DDLEVENT恢复

目录 一、环境信息 二、前景提要 1、情况描述 2、3号节点gc_recover日志截图 3、3号节点express日志截图 4、ddlevent截图 5、报错赋权语句分别在1节点和4节点执行 6、gcadmin 三、解决方法 1、描述 2、清理系统user表DDLEVENT 3、拷贝系统user表数据 &#xff08;…

【游戏客户端】大话slg玩法架构(一)滚动基类

【游戏客户端】大话slg玩法架构&#xff08;一&#xff09;滚动基类 大家好&#xff0c;我是Lampard家杰~~ 今天我们兑现诺言&#xff0c;给大家分享SLG玩法的实现j架构&#xff0c;关于SLG玩法的介绍可以参考这篇上一篇文章&#xff1a;【游戏客户端】制作率土之滨Like玩法 PS…

React -- useState状态更新异步特性——导致获取值为旧值的问题

useState状态异步更新 问题导致的原因解决办法进一步分析后续遇到的新问题 问题 const [isSelecting, setIsSelecting] useState(false);useEffect(() > {const handleKeyDown (event) > {if (event.key Escape) {if(isSelectingRef){//.......setIsSelecting(!isSele…

项目机会:4万平:智能仓,AGV,穿梭车,AMR,WMS,提升机,机器人……

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 如下为近期国内智能仓储物流相关项目的公开信息线索&#xff0c;这些项目具体信息会发布到知识星球&#xff0c;请感兴趣的球友先人一步到知识星球【智能仓储物流技术研习社】自行下载…

LeetCode热题100刷题9:25. K 个一组翻转链表、101. 对称二叉树、543. 二叉树的直径、102. 二叉树的层序遍历

25. K 个一组翻转链表 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), nex…

Java | Leetcode Java题解之第223题矩形面积

题目&#xff1a; 题解&#xff1a; class Solution {public int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int area1 (ax2 - ax1) * (ay2 - ay1), area2 (bx2 - bx1) * (by2 - by1);int overlapWidth Math.min(ax2, bx2) -…

代发考生战报:南京考场华为售前HCSP H19-411考试通过

代发考生战报&#xff1a;南京考场华为售前HCSP H19-411考试通过&#xff0c;客服给的题库非常稳定&#xff0c;考试遇到2个新题&#xff0c;剩下全是题库里的原题&#xff0c;想考的放心考吧&#xff0c;考场服务挺好&#xff0c;管理员带着做签名和一些考试说明介绍清楚&…