https介绍

HTTPS = HTTP + 一组对称、非对称和基于证书的加密技术 
HTTPS是最常见的HTTP安全版本。它得到了很广泛的应用,所有主要的商业浏览器和服务器都提供HTTPS。HTTPS将HTTP协议与一组强大的对称、非对称和基于证书的加密技术结合在一起,使得HTTPS不仅很安全,而且很灵活,很容易在出于无序状态的、分散的全球互联网上进行管理

https与http连接过程区别

 

https的优势:

  1. 通讯过程的hash生成的摘要,保证数据完整性
  2. 握手过程的非对称加密,传输过程的对称加密,保证数据私密性
  3. 证书保证双方身份的真实性

https大致过程

  1. 建立服务器443端口连接
  2. SSL握手:随机数,证书,密钥,加密算法
  3. 发送加密请求
  4. 发送加密响应
  5. 关闭SSL
  6. 关闭TCP

SSL握手大致过程:

  1. 客户端发送随机数1,支持的加密方法(如RSA公钥加密)
  2. 服务端发送随机数2,和服务器公钥,并确认加密方法
  3. 客户端发送用服务器公钥加密的随机数3
  4. 服务器用私钥解密这个随机数3,用加密方法计算生成对称加密的密钥给客户端,
  5. 接下来的报文都用双方协定好的加密方法和密钥,进行加密

SSL握手详细过程:

一、客户端发出加密通信请求ClientHello

提供: 
1,协议版本(如TSL1.0) 
2,随机数1(用于生成对话密钥) 
3,支持的加密方法(如RSA公钥加密) 
4,支持的压缩方法

二、服务器回应SeverHello

回应内容: 
1,确认使用的加密通信协议版本(TSL1.0) 
2,随机数2(用于生成对话密钥) 
3,确认加密方法(RSA) 
4,服务器证书(包含非对称加密的公钥) 
5,(可选)要求客户端提供证书的请求

三、客户端验证证书

如果证书不是可信机构颁布,或证书域名与实际域名不符,或者证书已经过期,就会向访问者显示一个警告,是否继续通信

四、客户端回应

证书没有问题,就会取出证书中的服务器公钥 
然后发送: 
1,随机数3(pre-master key,此随机数用服务器公钥加密,防止被窃听) 
2,编码改变通知(表示随后的信息都将用双方商定的方法和密钥发送) 
3,客户端握手结束通知

五、双方生成会话密钥

双方同时有了三个随机数,接着就用事先商定的加密方法,各自生成同一把“会话密钥” 
服务器端用自己的私钥(非对称加密的)获取第三个随机数,会计算生成本次所用的会话密钥(对称加密的密钥),如果前一步要求客户端证书,会在这一步验证

六、服务器最后响应

服务器生成会话密钥后,向客户端发送: 
1,编码改变通知(后面的信息都用双方的加密方法和密钥来发送) 
2,服务器握手结束通知

至此,握手阶段全部结束,接下来客户端与服务器进入加密通信,用会话密钥加密内容

HTTPS和SSL握手过程(转载)的更多相关文章

  1. SSL握手过程

    原文地址: http://my.oschina.net/u/1188877/blog/164982 一.SSL握手有三个目的:1. 客户端与服务器需要就一组用于保护数据的算法达成一致:2. 它们需要确 ...

  2. SSL 握手过程

    SSL协议的握手过程 SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术.SSL 的握手协议非常有效的让客户和服务器 ...

  3. ssl 握手过程【收藏】

    收藏几篇关于ssl handshake的好文 http://www.slashroot.in/comment/1242 SSL protocol, does its fantastic job of ...

  4. SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程

    相关学习资料 http://www.360doc.com/content/10/0602/08/1466362_30787868.shtml http://www.gxu.edu.cn/college ...

  5. SSL交互和握手过程

    SSL消息按如下顺序发送:  1.Client Hello  客户发送服务器信息,包括它所支持的密码组.密码组中有密码算法和钥匙大小: 2.Server Hello  服务器选择客户和服务器都支持的密 ...

  6. SSL/TLS握手过程

    ----------------------------------专栏导航----------------------------------HTTPS协议详解(一):HTTPS基础知识 HTTPS ...

  7. SSL、TLS协议格式、HTTPS通信过程、RDP SSL通信过程(缺heartbeat)

    SSL.TLS协议格式.HTTPS通信过程.RDP SSL通信过程   相关学习资料 http://www.360doc.com/content/10/0602/08/1466362_30787868 ...

  8. 【计算机网络】SSL交互和握手过程

    SSL消息按如下顺序发送:  1.Client Hello  客户发送服务器信息,包括它所支持的密码组.密码组中有密码算法和钥匙大小: 2.Server Hello  服务器选择客户和服务器都支持的密 ...

  9. Https协议:SSL建立过程分析(也比较清楚,而且有OpenSSL的代码)

    web访问的两种方式: http协议,我们一般情况下是通过它访问web,因为它不要求太多的安全机制,使用起来也简单,很多web站点也只支持这种方式下的访问. https协议(Hypertext Tra ...

随机推荐

  1. Python内存管理以及数据类型

    一.内存管理 1.Cpython解释器的垃圾回收机制 什么是垃圾:当一个值身上没有绑定任何变量名(该值的引用计数=0)时,该值就是一个垃圾. Cpython解释器就会自动回收这样的垃圾. #引用计数增 ...

  2. 用java连接RabbitMQ

    pom.xml <dependencies> <dependency> <groupId>junit</groupId> <artifactId& ...

  3. 潭州课堂25班:Ph201805201 django框架 第八课 表关联对象方法add,create,remove,clear,多表查询 (课堂笔记)

    查表: 数据的插入 新建添加 删除 清空

  4. renren-vue 基于最新node10.8、npm6.2 在win7 x64系统 成功初始化启动

    renren-vue 基于最新node.npm初始化之路 renren-fast 是一个轻量级的 Spring Boot 快速开发平台,能快速开发项目并交付[接私活利器] 完善的 XSS 防范及脚本过 ...

  5. 2-SAT问题的小结

    简介 什么是2-SAT呢?就是有一些集合,每个集合中有且仅有两个元素,且不能同时选取两个元素,集合间的元素存在一定的选择关系,求解可行性及可行方案. 算法 1.连边 2.跑tarjan 3.判可行性, ...

  6. JS内存管理

    背景: 分配给Web浏览器的内存通常比分配给电脑桌面的内存少,因为担心运行JS的网页耗尽全部系统内存而导致系统崩溃 内存限制问题不仅影响给变量分配内存,还会影响调用栈以及在一个线程中能够同时执行的语句 ...

  7. Java集合框架(简介明了)

    对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式. 接口:Collection Collection是最基本的集合接口,一个Collection代表一组Object,即Collect ...

  8. Spring 4 MVC example with Maven - [Source Code Download]

    In this tutorial, we show you a Spring 4 MVC example, using Maven build tool. Technologies used : Sp ...

  9. Mac上tesseract-OCR的安装配置

    Mac上tesseract-OCR的安装配置 tesseract简介 OCR(Optical Character Recognition)即光学字符识别技术,专门用于对图片文字进行识别,并获取文本. ...

  10. swiper默认显示三个,中间放大且显示全部图片两边显示部分图片的实现方法

    本页面内容最后的红色部分有惊喜哦! 最近在做一个活动页面,要求触摸切换图片时,默认在可视区域中显示三张图片,其中中间的一张图片比其他两张都大且全部显示,而其他两张图片只显示部分即可,于是就想到了swi ...