网络协议相关面试问题-TLS与SSL握手
HTTPS是什么?
HTTPS并不是一个单独的协议,而是对工作在一加密连接(SSL / TLS)上的常规HTTP协议。通过在TCP和HTTP之间加入TLS(Transport Layer Security)来加密。
SSL / TLS协议:
SSL协议,是一种安全传输协议,TLS是SSL v3.0的升级版。
Https整体架构图:


Https传输速度:
- 通信慢:相比http协议而言通信要慢一些,毕境是多了一层处理。
- SSL必须进行加密处理:
TLS / SSL握手:
- 密码学原理:
①、对称加密:加密数据用的密钥,跟解密数据用的密钥是一样的。
②、不对称加密【这是SSL采用的加密方式】:a、私有密钥:一方保管;b、公有密钥:双方公有。 - 数字证书:
①、数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,也是一个文件。
②、那为什么要数字证书呢?从请求方来说:它怎么知道所得到的公钥一定是从它所想要的目标主机发来的呢?而木有被第三方篡改过的,这时就需要一个权威的第三方机构发放的数字密钥,只有它才能解决数字证书的安全问题。
③、数字证书的颁发过程:首先用户会产生密钥,然后将公共密钥和个人的私人密钥交给认证中心,认证中心核实了身份之后就会将我们的确认信息发给我们的用户,然后认证中心就会给我们一个数字证书,该证书就包含了我们的个人信息和它的公钥信息。 - SSL与TLS握手整个过程:

总结:
https实际就是在TCP层与http层之间加入了SSL / TLS来为上层的安全保驾护航,主要用到对称加密,非对称加密等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。
网络协议相关面试问题-TLS与SSL握手的更多相关文章
- 网络协议相关面试问题-http协议相关面试问题
HTTP协议简介: 一些基本概念: 协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则. HTTP协议:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML ...
- 网络协议相关面试问题-DNS相关面试问题
对于网络上的大部通讯都是基于TCP/IP协议的, 其中最重要的是IP协议,它是基于IP地址的,而计算机通讯只能识别IP地址,如192.168.0.1,而不能识别像咱们在浏览器敲得见名之义的" ...
- 网络协议相关面试问题-TCP与IP网络模型
互联网应用的实现主要是通过分层来实现的,每一层有自己相应的功能,上层依赖于下层,具体层次如下图: 下面具体一层层来了解: 物理层 / 实体层: 也就是将电脑通过物理的手段连接起来,其实也就是01电子信 ...
- 网络协议相关面试问题-https加密算法相关面试问题
密钥: 密钥是一种参数,它是在使用密码cipher算法过程中输入的参数,同一个明文在相同的密码算法和不同的密钥计算下会产生不同的密文.所以说算法既使公开了但是密钥参数不同其结果也是不同的,其中关于明文 ...
- PHP网络协议相关考点
HTTP状态码 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码. HTTP状态码主要有5种,代表5种不同类型的响应: 1xx:信息性状态码,代表接 ...
- ssl协议相关
<1> SSL版本 测试浏览器支持的SSL版本的网站: https://www.ssllabs.com/ssltest/viewMyClient.html 0xfefd (DTLS ...
- TLS就是SSL的升级版+网络安全——一图看懂HTTPS建立过程——本质上就是引入第三方监管,web服务器需要先生成公钥和私钥,去CA申请,https通信时候浏览器会去CA校验CA证书的有效性
起初是因为HTTP在传输数据时使用的是明文(虽然说POST提交的数据时放在报体里看不到的,但是还是可以通过抓包工具窃取到)是不安全的,为了解决这一隐患网景公司推出了SSL安全套接字协议层,SSL是基于 ...
- TCP/IP网络协议基础知识集锦[转]
引言 本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容.作用以及TCP.UDP.IP三种常见网络协议相关的基础知识. 内容 TCP/IP协议簇是由OSI七层模型发展而来的,之所以 ...
- 网络协议HTTP TCP/UDP 浏览器缓存 Restful(十)
一 TCP网络协议 1 建立TCP连接:三次握手原则 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三次握手的一部分.客户端把这段连接的序号设定为随机数 A. 服务器端应当为一个合法的SY ...
随机推荐
- 状态管理之 Flux、Redux、Vuex、MobX(概念篇)
本文是对 Flux.Redux.Vuex.MobX 几种常用状态管理模式的总结,偏向于概念层面,不涉及过多代码. 状态管理 什么是状态管理? 状态管理就是,把组件之间需要共享的状态抽取出来,遵循特定的 ...
- Windows 桌面利用 Navicat等工具连接 虚拟机Mysql
1.mysql>use mysql;2.mysql>update user set host = '%' where user ='root';3.mysql>select host ...
- C++学习笔记-异常处理
程序设计的要求之一就是程序的健壮性.希望程序在运行时能够不出或者少出问题.但是,在程序的实际运行时,总会有一些因素会导致程序不能正常运行.异常处理(Exception Handling)就是要提出或者 ...
- 利用pycharm 安装tushare(转) + dir(ts)
1.在pycharm里,有安装组件的方法,进入 File - Setting - Project:StockMarket - Project InterPreter,在右边点击“+”,进入搜索页面,搜 ...
- 通过案例来剖析JQuery与原生JS
首先来个例子: 我们在登陆或者注册一些网站时,如果某一项点过了但没填,鼠标移走后是不是经常看到网站有相应的红色字体提示呢? 那下面我们就以这个为例来剖析下jQuery和原生JS的一些区别,来上代码: ...
- XML中不能识别&符号, 需要转义吗?
“&”在XML中是具有特殊含义的,是转义字符的前缀,如果要想用这个字符就需要转义.遇到“&”就替换成“&”就好了; xml所有转义符 和 & & 大于 ...
- 语言I博客作业04
问题 答案 这个作业属于哪个课程 C语言程序设计II 这个作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9771 我 ...
- python类学习
创建关于汽车的类 class Cars(): def __init__(self, brand, country): self.brand = brand self.country = country ...
- VMware HorizonView虚拟化桌面TLS问题处理
问题描述 公司虚拟化桌面环境内,进出口事业部同事在使用"中国贸易单一窗口"登录系统时,其系统本地控件无法启动WSS服务,端口显示使用61231,并反复提示安装控件. 排查过程 首先 ...
- python商城项目总结
项目概括 本项目用于针对Django框架的练习,主要分为前端和后端两部分.前端负责用户注册.登录.商品展示以及添加购物车和显示订单列表的功能:后端负责会员信息.商品类别.商品信息的增删改查以及订单状态 ...