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

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

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

前言

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


正文

  1.单向认证

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

 

 

 (图是网上找的)

    再用文字描述下:

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

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

 

  2.https双向认证

    首先看图

  

 

 

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

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

 

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


总结

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

 


不骄不躁,保持学习


 



推荐阅读
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社区 版权所有