密码学基础-身份认证

密码学基础-身份认证

概述

书信的亲笔签名;公文、证书的印章起到了核准、认证的功能。
如前文密码学基础-数据加密所述,信息安全少不了身份认证的话题。只有认证了信息的来源,我们才能知道这条信息是否是正确的,合法的,安全可用的。

非对称加密技术实现身份认证

上节提到的非对称加密技术不仅可以用于实现实现机密性保护,还可以用于身份认证。
非对称加密体系依赖于一对密钥。其中一个为私钥private key,只有自己知道;另一个为公钥public key,可以分享给其他人。

  • 用于机密性保护时,使用公钥进行加密,并且只能通过对应的私钥进行解密。
  • 用于身份认证时,使用私钥对一段数据进行签名(对一段数据进行加密,比如对一段消息的 hash 做签名),对应的公钥进行签名认证(解密)。
    在这里插入图片描述
    这种认证方式,需要确保数据接收方的公钥一定与数据发送方的私钥进行匹配。即通信双方约定的这对私钥-公钥要正常。否则可能发生中间人攻击,导致安全风险。上节提到的 ECDSA、RSA 非对称加密算法均可以用于这种身份认证机制。
    在这里插入图片描述

中间人攻击

中间人攻击是对私钥-公钥认证体系的一种安全威胁。其基本原理如下:
在这里插入图片描述

  • 中间人截获了数据发送方要发给数据接收方的公钥1。
  • 中间人生成自己的私钥-公钥对,即私钥2、公钥2。
  • 中间人把自己的公钥2发送给数据接收方,伪装成正经的公钥1
  • 这样中间人就可以冒充合法的通信双方,使用公钥1破解数据发送方的数据,使用私钥2对数据进行签名,冒名顶替合法的数据发送方,给数据接收方发送数据。

基于 CA 系统的身份认证

为了避免中间人攻击。实际的通信系统会建立 CA 认证。CA 的身份认证系统中,除了数据发送方、数据接收方,还有一个第三方的认证机构,称为 CA。
就像警察局一样,CA是负责管理证书(颁发、续期、吊销)的权威机构,是一个可信的第三方。很多城市都有自己的网络 CA 认证服务器,这通常不被普通的用户感知到,他们是通信代理商自动部署的。
让我们来看以下,CA 系统如何避免中间人攻击。

  • 首先数据发送方向 CA 认证中心注册自己的公钥信息。CA 认证中心用自己的私钥签名公钥以及数据发送方的信息,生成对应的证书。以百度作为数据发送方为例:
    在这里插入图片描述
    证书中的内容包括:
    在这里插入图片描述
  • 数据接收方从 CA 中心申请一个根证书,内部含可信的CA中心认证证书。
  • 数据发送方对 CA 证书+公钥进行签名,并发送给数据接收方
  • 数据接收方拿到 CA 证书+公钥+签名后,先验证签名,然后上报 CA 证书+公钥到CA认证中心
  • CA 认证中心对公钥、CA 证书进行确认。以此判断此公钥的确来自已经在 CA 中心注册的、名字信息合法的数据发送方。
    总之,第三方校验机构(CA认证中心)的私钥-公钥对,来增强通信双方的身份认证。这将在下面的 TLS 连接中详细了解。

总结

  • 身份认证技术确保数据来源于可信合法的数据发送方。
  • 可以基于非对称加密算法,如 ECDSA、RSA来对数据进行签名,实现身份认证。
  • 简单的非对称加密算法实现的身份认证技术可能存在中间人攻击,可以通过 CA 认证体系,在第三方认证机构下增强身份认证,避免中间人攻击。
    (感谢点赞或收藏,持续更新)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在linux系统上安装tomcat应用程序?

1)首先查看安装包信息 yum info tomcat yum info tomcat 2)安装 yum -y install tomcat yum -y install tomcat 3)查看安装是否成功 rpm -q tomcat rpm -q tomcat 4)如果输出一下内容则代表安装成功 tomcat-7.0.76-16.el7_9.n…

力扣高频SQL 50题(基础版)第三十八题

文章目录 力扣高频SQL 50题(基础版)第三十八题1484.按日期分组销售产品题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题(基础版)第三十八题 1484.按日期分组销售产品 题目说明 表 Activities: ---…

Python的100道经典练习题,每日一练,必成大神!!!

Python的100道经典练习题是一个广泛而深入的学习资源,可以帮助Python初学者和进阶者巩固和提升编程技能 完整的100多道练习题可在下面图片免沸获取哦~ 整理了100道Python的题目,如果你是一位初学者,这一百多道题可以 帮助你轻松的使用Python…

新书《计算机视觉从入门到进阶实战:基于Pytorch》

本书基于PyTorch深度学习框架,结合计算机视觉中的主流任务,介绍了深度学习相关算法的计算机视觉上的应用。 本书主要内容分为两部分。 第一部分为PyTorch框架使用的相关知识,以及计算机视觉和深度学习的入门知识。第二部分重点介绍深度学习在…

C++——多态经典案例(三)计算器

案例:使用多态实现一个简单的计算器,计算两个数的加减乘除结果 分析:定义一个抽象类AbstractCalc ,其内部定义一个纯虚函数getResult,用于得到计算结果 定义加减乘除四个类,分别继承这个抽象类AbstractCal…

【面试题】【简历版】完整版

一、Java 基础 java 面向对象特性 封装(Encapsulation): public class Student {// 将name和age封装起来private String name;private int age;// 提供方法设置和获取这些属性public void setName(String name){this.name name;}public Str…

建议收藏!免费素材管理软件,设计师必备工具

前言 在设计的世界里,素材管理无疑是一项既重要又繁琐的任务。设计师们常常面临着海量素材的整理、分类和检索问题,这不仅消耗了大量的时间和精力,也常常因为素材的杂乱无章而影响创作灵感的涌现。因此,寻找一款能够解决这些痛点…

python实现小游戏随机猜数

1、脚本练习 import random# 初始化剩余的猜测次数 counts 3 # 生成一个1到10之间的随机整数 numb random.randint(1, 10)# 循环直到猜测次数用完 while counts > 0:tmp input("请输入小鱼手里的数字 (你还剩下 {} 次机会): ".format(counts))guess int(tmp)…

SemanticKernel/C#:使用Ollama中的对话模型与嵌入模型用于本地离线场景

前言 上一篇文章介绍了使用SemanticKernel/C#的RAG简易实践,在上篇文章中我使用的是兼容OpenAI格式的在线API,但实际上会有很多本地离线的场景。今天跟大家介绍一下在SemanticKernel/C#中如何使用Ollama中的对话模型与嵌入模型用于本地离线场景。 开始…

LVS部署DR集群

介绍 DR(Direct Routing):直接路由,是LVS默认的模式,应用最广泛. 通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址. 整个…

生物信息学入门:Linux学习指南

还没有使用过生信云服务器?快来体验一下吧 20核心256G内存最低699元半年。 更多访问 https://ad.tebteb.cc 介绍 大家好!作为一名生物信息学的新人,您可能对Linux感到陌生,但别担心,本教程将用简单明了的方式&#xff…

防止老年痴呆的小学题

直角三角形的周长为16,斜边长为7,求三角形的面积(不使用勾股定理) 答案为(9*9-7*7)/4

【前端】 如何在 Vue.js 中使用 Mock 数据:教程与技巧

如何在 Vue.js 中使用 Mock 数据:教程与技巧 在开发过程中,为了测试和开发前端功能,你常常需要用到模拟(mock)数据。Vue.js 提供了灵活的方式来处理数据请求和更新,但在没有真实后端的情况下,我…

WPF学习(2)-UniformGrid控件(均分布局)+StackPanel控件(栈式布局)

UniformGrid控件(均分布局) UniformGrid和Grid有些相似,只不过UniformGrid的每个单元格面积都是相等的,不管是横向的单元格,或是纵向的单元格,它们会平分整个UniformGrid。 UniformGrid控件提供了3个属性…

QT使用腾讯云对象存储SDK报错:`undefined reference to qcloud_cos`

QT使用腾讯云对象存储SDK编译时报错:undefined reference to qcloud_cos 文章目录 QT使用腾讯云对象存储SDK编译时报错:undefined reference to qcloud_cos问题1:在VS中编译cossdk报错LNK1104 无法打开文件“PocoFoundationd.lib”问题2&…

一文读懂什么是“AI算力”(建议收藏)

在当今快速发展的科技时代,人工智能(AI)已成为推动社会进步的重要力量。而AI算力,作为支撑AI技术发展的基石,其重要性不言而喻。本文将带您深入了解AI算力的概念、作用、发展趋势以及对各行业的影响。 一、AI算力的定义…

同城交易小程序的设计

管理员账户功能包括:系统首页,个人中心,商家管理,用户管理,商品分类管理,商品信息管理,订单管理,系统管理 微信端账号功能包括:系统首页,商品信息&#xff0…

【Linux】常见指令

目录 一、指令的理解二、Linux的目录结构三、XShell 下的热键四、shell命令以及运行原理五、Linux常见的指令汇总1. ls 指令1.1 常见的一些有关 ls 的别名1.2 隐藏文件或目录1.3 * 的匹配 2. pwd 指令3. cd 指令3.1 cd . . 指令 4. touch指令5. mkdir指令6. rmdir指令 &&am…

21LTR-Scene打靶渗透【附POC】(权限提升)

靶机下载地址:21LTR: Scene 1 ~ VulnHub21LTR: Scene 1, made by JayMaster2000. Download & walkthrough links are available.https://www.vulnhub.com/entry/21ltr-scene-1,3/ 1. 主机发现端口扫描目录扫描【192.168.2.120】 1.1. 主机发现 nmap -sn 192.…

数据结构----------贪心算法

什么是贪心算法? 贪心算法(Greedy Algorithm)是一种在问题求解过程中,每一步都采取当前状态下最优(即最有利)的选择,从而希望导致最终的全局最优解的算法策略。 贪心算法的核心思想是做选择时&…