被问到了,复习一下HTTPS的工作流程

提到https,不得不提SSL

SSL

1.        安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议。

2.    SSL协议的三个特性

Ø  保密:在握手协议中定义了会话密钥后,所有的消息都被加密。

Ø  鉴别:可选的客户端认证,和强制的服务器端认证。

Ø  完整性:传送的消息包括消息完整性检查(使用MAC)。

3.    SSL的位置

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

1)    客户端请求建立SSL连接,并将自己支持的一套加密规则发送给网站。

2)    网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息

3)    获得网站证书之后浏览器要做以下工作:

Ø  验证证书的合法性

Ø  如果证书受信任,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。

Ø  使用约定好的HASH计算握手消息,

Ø  使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。

4)    网站接收浏览器发来的数据之后要做以下的操作:

Ø  使用自己的私钥将信息解密取出密码

Ø  使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。

Ø  使用密码加密一段握手消息,发送给浏览器

5)    浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手结束。

6)    使用随机密码和对称加密算法对传输的数据加密,传输。

4.     密与HASH算法如下:

1)     非对称加密算法:RSA,DSA/DSS,用于在握手过程中加密生成的密码。

2)     对称加密算法:AES,RC4,3DES,用于对真正传输的数据进行加密。

3)     HASH算法:MD5,SHA1,SHA256,验证数据的完整性。

5.     HTTP与HTTPS的区别:

1)     https协议需要申请证书。

2)     http是超文本传输协议,明文传输;https使用的是具有安全性的SSL加密传输协议。

3)     http端口80,;https端口443。

4)     http连接简单无状态;https由SSL+HTTP协议构件的可进行加密传输、身份验证的网络协议

HTTPS协议工作流程的更多相关文章

  1. ARP协议工作流程

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机, ...

  2. DHCP(动态主机配置协议)工作流程

    一.DHCP的作用 我们先来看一下什么是DHCP,DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)它可以为客户机自动分配IP地址.子网掩码以及缺省网 ...

  3. HTTPS协议工作原理(SSL数字证书)

    目录 HTTPS SSL协议的工作过程 SSL数字证书的查看 HTTPS 我们都知道HTTP协议是明文传输的,并且不能验证对方的身份,而且不能保证数据的完整性.而当我们在网络上进行购物电子交易时,电子 ...

  4. SSL/TLS协议工作流程

    我看了CloudFlare的说明(这里和这里),突然意识到这是绝好的例子,可以用来说明SSL/TLS协议的运行机制.它配有插图,很容易看懂. 下面,我就用这些图片作为例子,配合我半年前写的<SS ...

  5. XMPP 协议工作流程具体解释

    XMPP 要点. 1. client(C) 和server端(S) 通过TCP连接5222port进行全双工通信. 2. XMPP 信息均包括在 XML streams中.一个XMPP会话, 開始于& ...

  6. https的工作流程

    (1)客户端向服务器提出请求,发出SSL握手信号. (2)服务器发出回应,并出示服务器证书(公钥),显示服务器站点身份. (3)客户端验证服务器证书,并生成一个随机的会话密钥,密钥长度达到128位. ...

  7. https协议了解,以及相关协议的解析

    HTTPS简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版. ...

  8. http协议与https协议

    1.前言 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应用层分别为:物理层.链路层.网络层.传输层和应用层,如下图所示: 2.http协议简介 ...

  9. https协议的一些杂谈

    参考文献:百度运维博客&知乎车小胖的回答 这是拖了很久的一篇记录,项目完结了,也找个时间写完.(额,阅读者最好对http协议有一定了解,否则就没必要浪费时间看下去了)首先来一段百度的解释: H ...

随机推荐

  1. python之函数基础总结

    定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. def sayhi(name): print("Hello, %s, I', nobo ...

  2. LeetCode(238) Product of Array Except Self

    题目 Given an array of n integers where n > 1, nums, return an array output such that output[i] is ...

  3. 自动设置IP地址bat脚本

    自动获取IP及DNS: netsh interface ip set address name="本地连接" source=dhcpnetsh interface ip set d ...

  4. 【LeetCode】Linked List Cycle II(环形链表 II)

    这是LeetCode里的第142道题. 题目要求: 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 说明:不允许修改给定的链表. 进阶:你是否可以不用额外空间解决此题? ...

  5. bash之条件测试if/else

    bash之条件测试:     if/then结构         条件测试(CONDITION):         test EXPRESSION:测试条件表达式正确否         [ EXPRE ...

  6. JAVA中变量的类型及命名规范

    1. 计算机是一种极度精确的机器;2. 要将信息存储在计算机当中,就必须指明信息存储的位置和所需的内存空间;3. 在JAVA编程语言当中,使用声明语句来完成上述的任务; 4. 变量的类型: 5. 变量 ...

  7. luogu1251 餐巾计划问题

    ss是源点,代表餐巾卖家,tt是汇点,代表记账收钱者. 记p(i)是i天早晨的可用毛巾数,q(i)是i天完了的废毛巾数. 建图见注释 #include <iostream> #includ ...

  8. [python篇][1]configparser 问题汇总

    https://wiki.python.org/moin/ConfigParserExamples 1 错误一 nicodeEncodeError: 'ascii' codec can't encod ...

  9. linux基础(Vi编辑器)

    整理的linux vi编辑器命令 Vi编辑器,进入方式,输入vi file即可进入编辑模式 1.vi模式(Linux严格区分大小写) Vi所学到的几种模式 模式 主要用途 相应操作 对应命令 普通模式 ...

  10. 用CSV库一行行插入数据

    语料团队之前都是手动标注文字的定位位置,今天写了个小脚本,帮他们批量生成文字对应的定位. 其中数据生成后,要生成csv文件,查看了下使用csv库. import csv row1 = [1,2,3,4 ...