热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

【网络】https单向认证和双向认证

前言之前面试的时候,面试官问我了解过https的双向认证吗?当时,的确不理解。不过没关系,现在就来补上。正文1.单向认证还是有必要先说下单向认证,单向认证是我刚开始接触

前言

之前面试的时候,面试官问我了解过https的双向认证吗?当时,的确不理解。不过没关系,现在就来补上。


正文

  1.单向认证

    还是有必要先说下单向认证,单向认证是我刚开始接触https的时候就了解到的。下面看一下执行流程图

 

 

 (图是网上找的)

    再用文字描述下:

      首先建立链接  -> 验证服务端身份 -> 用服务端公钥加密得到后期通信用的密钥 -> 服务端用私钥解密,拿到密钥 - ->  双方使用密钥通信

      在上面这个过程中,我们可以看到仅仅是验证了服务端的身份,如果有人冒充了客户端,那该怎么办,就是下面要说的双向认证。

 

  2.https双向认证

    首先看图

  

 

 

  较于单向认证来说,双向认证多了验证客户端身份的这一环节。下面用文字再描述一下:

  首先建立连接 -> 验证服务端身份->验证客户端身份->客户端发送加密方案->服务端用客户端公钥加密,选择方案->客户端拿到方案,用服务端公钥加密密文->服务端解密,拿到密文->双方使用密文通信

 

(这个方案指的是对称机密的方案~)


总结

  通过上面认证方式,可以发现,双向认证其实就是验证双方的身份。我们还可以发现https验证身份的时候都是使用非对称加密,而后期通信过程中使用的对称加密

 


不骄不躁,保持学习


 



推荐阅读
  • LeetCode 540:有序数组中的唯一元素
    来源:力扣(LeetCode),链接:https://leetcode-cn.com/problems/single-element-in-a-sorted-array。题目要求在仅包含整数的有序数组中,找到唯一出现一次的元素,并确保算法的时间复杂度为 O(log n) 和空间复杂度为 O(1)。 ... [详细]
  • 本文详细介绍了 BERT 模型中 Transformer 的 Attention 机制,包括其原理、实现代码以及在自然语言处理中的应用。通过结合多个权威资源,帮助读者全面理解这一关键技术。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • Java 中 Writer flush()方法,示例 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文探讨了如何像程序员一样思考,强调了将复杂问题分解为更小模块的重要性,并讨论了如何通过妥善管理和复用已有代码来提高编程效率。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文总结了汇编语言中第五至第八章的关键知识点,涵盖间接寻址、指令格式、安全编程空间、逻辑运算指令及数据重复定义等内容。通过详细解析这些内容,帮助读者更好地理解和应用汇编语言的高级特性。 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了如何使用Maven高效管理多模块项目,涵盖项目结构设计、依赖管理和构建优化等方面。通过具体的实例和配置说明,帮助开发者更好地理解和应用Maven在复杂项目中的优势。 ... [详细]
author-avatar
席昀2010_445_882
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有