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

文章目录

  • 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可以简化验证过程,提高效率和安全性。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2-28 基于matlab提取出频域和时域信号的29个特征

基于matlab提取出频域和时域信号的29个特征,主运行文件feature_extraction,fre_statistical_compute和time_statistical_compute分别提取频域和时域的特征,生成的29个特征保存在生成的feature矩阵中。程序已调通,可直接运行。 2-2…

一键高效处理,批量缩放PNG图片,按比例轻松调整,高效工作从此开始!

在数字时代,图片已经成为我们生活中不可或缺的一部分。无论是工作汇报、项目展示还是日常分享,图片都扮演着至关重要的角色。然而,当面对大量需要调整尺寸的PNG图片时,你是否曾经感到过困扰和繁琐? 第一步,…

ViewPager

作用 实现翻页的效果。 1、在activity_main.xml中创建ViewPager <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"…

【Java14】构造器

Java中的构造器在创建对象&#xff08;实例&#xff09;的时候执行初始化。Java类必须包含一个或一个以上的构造器。 Java中的构造器类似C中的构造函数。 Java中对象&#xff08;object&#xff09;的默认初始化规则是&#xff1a; 数值型变量初始化为0&#xff1b;布尔型变量…

为什么KV Cache只需缓存K矩阵和V矩阵,无需缓存Q矩阵?

大家都知道大模型是通过语言序列预测下一个词的概率。假定{ x 1 x_1 x1​&#xff0c; x 2 x_2 x2​&#xff0c; x 3 x_3 x3​&#xff0c;…&#xff0c; x n − 1 x_{n-1} xn−1​}为已知序列&#xff0c;其中 x 1 x_1 x1​&#xff0c; x 2 x_2 x2​&#xff0c; x 3 x_3 x…

EAI四个层次服务-系统架构师(二十六)

1、&#xff08;重点&#xff09;系统应用集成提供了4个不同层次服务&#xff0c;最上层服务是&#xff08;&#xff09;服务。 解析: EAI&#xff08;Enterprise Application Integration&#xff09;系统应用集成&#xff0c;相关概念。 实施EAI必须保证&#xff1a;应用程…

2024年信息素养大赛图形化编程小低组复赛真题-附答案 6547网

2024年全国青少年信息素养大赛图形化编程小低组复赛真题 题目总数&#xff1a;6 总分数&#xff1a;100 第1部分 第 1 题 问答题 【编程实现】点击小绿旗&#xff0c;实现将鱼的所有造型印到舞台区 【具体要求】 1. 将鱼显示出来 全部擦除所有内容 2. 将鱼的造型设…

202488读书笔记|《365日创意文案》——无聊的 到底是这世间, 还是自己?懂得忘却的人才能前进

202488读书笔记|《365日创意文案》——无聊的 到底是这世间&#xff0c; 还是自己&#xff1f;懂得忘却的人才能前进 1月2月3月4月5月6月7月8月9月10月11月12月 《365日创意文案》WRITES PUBLISHING&#xff0c;一些日常&#xff0c;是烟火&#xff0c;也是幸福的印记。 当下也…

二次元转向SLG,B站游戏的破圈之困

文 | 螳螂观察 作者 | 夏至 2023年是B站游戏的滑铁卢&#xff0c;尽管这年B站的游戏营收还有40多亿&#xff0c;但相比去年大幅下降了20%&#xff0c;整整少了10亿&#xff0c;这是过去5年来的最大跌幅&#xff0c;也是陈睿接管B站游戏业务一年以来&#xff0c;在鼻子上碰的第…

超详细版阿里云控制台环境配置+数据库配置

一、登录阿里云控制台 登录阿里云控制台&#xff0c;找到实例&#xff0c;切到阿里云服务器所在地址 &#x1f36d;不知道自己的服务器地址在哪边也没有关系&#xff0c;随便选择一个&#xff0c;查询不到记录的话会有以下提示&#xff0c;可以根据提示进行切换&#xff08;适…

基于docker的prometheus+grafana+altermanager+prometheus-webhook-dingtalk钉钉报警

一、各软件功能简介 prometheus&#xff1a;Prometheus(是由go语言(golang)开发)是一套开源的监控&报警&时间序列数 据库的组合。主要优点&#xff1a;外部依赖安装使用超简单、系统集成 多等 grafana&#xff1a;Grafana 是一款采用 go 语言编写的开源应用&#xff0…

APP明暗主题设置

1.preference.xml 增加一个暗色主题 SwitchPreference 2.每个 Activity 的 setContentView 前面增加 setTheme SharedPreferences sharedPreferences PreferenceManager.getDefaultSharedPreferences(this); if (sharedPreferences.getBoolean("switch_dark_theme"…

uniapp-小程序获取用户位置

1. 需要在微信公众平台进行接口的申请。选择自己需要用的接口。 2. 在app.json文件中配置permission和requiredPrivateInfos。requiredPrivateInfos里面是你需要使用的接口。 3. 配置完成后&#xff0c;就可以使用了。 相关获取位置API的链接 4. 如果要获取当前位置到某一个指…

电商数据仓库

目录 1.数据仓库的数据来源为业务数据库&#xff08;mysql&#xff09; 初始化脚本 2.通过sqoop将mysql中的业务数据导入到大数据平台&#xff08;hive&#xff09; 在hive中建立映射的数据库 导入数据 3.通过hive进行数据计算和数据分析 形成数据报表 补全用户信息表中的…

DNS知识点

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ​ 目录 一、DNS概念 二hosts 文件 DNS优缺点 三客户端域名解析顺序(优先级) 四原…

数据结构--堆,堆排序

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

PCIe 入门 Demo(一):基础知识

PCIe 入门 Demo&#xff08;一&#xff09;&#xff1a;基础知识 主要参考 up主 芯片人阿伟 的教程【针对 RISC-V 架构】 视频介绍&#xff1a;https://www.bilibili.com/video/BV1Xm4y1V757 源码仓库&#xff1a;https://github.com/oldawei/show_me_the_code 本文主要补充一些…

STM32对数码管显示的控制

1、在项目开发过程中会遇到STM32控制的数码管显示应用&#xff0c;这里以四位共阴极数码管显示控制为例讲解&#xff1b;这里采用的控制芯片为STM32F103RCT6。 2、首先要确定数码管的段选的8个引脚连接的单片机的引脚是哪8个&#xff0c;然后确认位选的4个引脚连接的单片机的4…

OS Copilot测评-CSDN

登录控制台 安装插件 sudo yum install -y os-copilot效果如下 配置 AccessKey ID 与 AccessKey Secret 注意安全&#xff0c;使用完成后&#xff0c;别忘了去控制台删除&#xff0c;一般情况使用子Key就可以 检测是否可用 co hi实际操作(当前为官方案例请求) 实操1&…

电脑找回彻底删除文件?四个实测效果的方法【一键找回】

电脑数据删除了还能恢复吗&#xff1f;可以的&#xff0c;只要我们及时撤销上一步删除操作&#xff0c;还是有几率找回彻底删除文件。 当我们的电脑文件被彻底删除后&#xff0c;尽管恢复的成功率可能受到多种因素的影响&#xff0c;但仍有几种方法可以尝试找回这些文件。本文整…