SSL/TLS All In One

HTTPS

SSL/TLS 的工作原理

https://www.websecurity.digicert.com/zh/cn/security-topics/how-ssl-works

浏览器尝试连接受 SSL 保护的网站。

浏览器要求 Web 络服务器确认身份。

服务器向浏览器发送其 SSL 证书副本。

浏览器检查它是否要信任该 SSL 证书。如果信任,则向服务器发送消息。

服务器发回数字签名确认以启动 SSL 加密会话。

SSL / TLS 握手过程

handshake

RSA 非对称加密算法

(1)生成对话密钥一共需要三个随机数。

(2)握手之后的对话使用"对话密钥"加密(对称加密),服务器的公钥和私钥只用于加密和解密"对话密钥"(非对称加密),无其他作用。

(3)服务器公钥放在服务器的数字证书之中。

DH 算法

Diffie-Hellman 算法

session的恢复

握手阶段用来建立SSL连接;如果由于某种原因,对话中断,就需要重新握手。

这时有两种方法可以恢复原来的session:一种叫做 session ID,另一种叫做 session ticket。

  1. session ID

session ID 的思想很简单,就是每一次对话都有一个编号(session ID)。

如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。

session ID是目前所有浏览器都支持的方法,但是它的缺点在于session ID往往只保留在一台服务器上。

所以,如果客户端的请求发到另一台服务器,就无法恢复对话。

session ticket就是为了解决这个问题而诞生的,目前只有Firefox和Chrome浏览器支持。

客户端不再发送session ID,而是发送一个服务器在上一次对话中发送过来的session ticket。

这个session ticket是加密的,只有服务器才能解密,其中包括本次对话的主要信息,比如对话密钥和加密方法。当服务器收到session ticket以后,解密后就不必重新生成对话密钥了。

TLS vs SSL

区别 ? rename + upgrade

https://www.ssl2buy.com/wiki/ssl-vs-tls#:~:text=SSL refers to Secure Sockets,same%2C but%2C entirely different.&text=SSL and TLS are cryptographic,%2C systems%2C applications and users.

https://www.globalsign.com/en/blog/ssl-vs-tls-difference

https://www.liquidweb.com/kb/ssl-vs-tls/

结论, SSL和TLS有什么区别?

TLS是SSL的下一个逻辑演进,也是这两种协议中更安全的一种。

除此之外,它们以相同的方式工作,但是较新的版本使用更强的加密类型。

TLS版本1.3是当前最新的首选协议。

https://www.websecurity.digicert.com/security-topics/what-is-ssl-tls-https

https://www.hostingadvice.com/how-to/tls-vs-ssl/

refs

keyless ssl

https://blog.cloudflare.com/announcing-keyless-ssl-all-the-benefits-of-cloudflare-without-having-to-turn-over-your-private-ssl-keys/

http://blog.cloudflare.com/keyless-ssl-the-nitty-gritty-technical-details/

图解 SSL/TLS 协议

http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

SSL/TLS 协议运行机制的概述

http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


SSL/TLS All In One的更多相关文章

  1. 协议森林17 我和你的悄悄话 (SSL/TLS协议)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. TLS名为传输层安全协议(Transport Layer Protocol),这个协议是一套加密的 ...

  2. Paypal开发中遇到请求被中止: 未能创建 SSL/TLS 安全通道及解决方案

    最近在基于ASP.NET上开发了Paypal支付平台,在ASP.NET开发的过程中没有遇到这个问题,但是引用到MVC开发模式中的时候就出现了"未能创建 SSL/TLS 安全通道及解决方案&q ...

  3. 聊聊HTTPS和SSL/TLS协议

    要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接 ...

  4. 浅谈HTTPS和SSL/TLS协议的背景和基础

    相关背景知识要说清楚HTTPS协议的实现原理,至少要需要如下几个背景知识.大致了解几个基础术语(HTTPS.SSL.TLS)的含义大致了解HTTP和TCP的关系(尤其是"短连接"和 ...

  5. 在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) -- 学习

    在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) IS 7如何实现http重定向https HTTPS 升级指南

  6. SSL/TLS协议运行机制的概述

    互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和运行过程,不涉及具体的实现细节.如果想了解这方面的内容,请参阅RFC文档. 一.作用 ...

  7. 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础

    来自:编程随想   >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 ...

  8. SSL/TLS协议运行机制

      转载自http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行 ...

  9. EX:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.

    EX:The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secu ...

  10. SSL/TLS算法流程解析

    SSL/TLS 早已不是陌生的词汇,然而其原理及细则却不是太容易记住.本文将试图通过一些简单图示呈现其流程原理,希望读者有所收获. 一.相关版本 Version Source Description ...

随机推荐

  1. SpringBoot深入理解

    SpringBoot深入理解 项目打包SpringBoot启动过程 当使用打包时,会下载org-springframework-boot-loader的jar,并且不会放在lib存放的第三方jar包文 ...

  2. 【PostgreSQL】PostgreSQL数据库浅析

    前言 工作中数据库用的不多,大部分都是简单查询一下了事,某项目中突然要求后端进行比较全面的数据库操作,现对自己学到的东西做一下总结. 简介 废话不多说,上官网地址: PostgreSQL 9.4.4 ...

  3. C++ Primer Plus读书笔记(九)内存模型和名称空间

    1.作用域和链接 int num3; static int num4; int main() { } void func1() { static int num1; int num2; } 上边的代码 ...

  4. copy,集合

    一.基础数据类型补充: 1种方法:删除列表里面的元素时,一定不能循环列表,会出错.可以循环索引,然后循环删除开头或结尾这个位置的元素(原开头结尾的元素被删除之后,会有新的元素顶上来). 2种方法:把要 ...

  5. Mysql 不能使用逗号的情况

    不存在逗号的情况: 联合查询: 1.UNION SELECT * FROM ((SELECT 1)a JOIN (SELECT 2)b JOIN (SELECT 3)c JOIN (SELECT 4) ...

  6. c++ stl list使用总结(转)

    转自:http://blog.csdn.net/nupt123456789/article/details/8120397 #include <iostream> #include < ...

  7. 23.centos 7配置网络

    1.ifconfig:查看网卡信息   如果centos7 最小化安装没有ifconfig这个命令,可以使用yum install net-tools 来安装. centos7 网卡命名规则:  en ...

  8. 跟着Vimtutor学习Vim

    跟着Vimtutor学习Vim Lesson 1 1.1 移动光标 在Vim中移动光标,分别使用h.j.k.l键代表左.下.上.右方向. 1.2 退出VIM :q! <ENTER> 退出V ...

  9. AtCoder Beginner Contest 176 E - Bomber (思维)

    题意:有一张\(H\)x\(W\)的图,给你\(M\)个目标的位置,你可以在图中放置一枚炸弹,炸弹可以摧毁所在的那一行和一列,问最多可以摧毁多少目标. 题解:首先我们记录某一行和某一列目标最多的数目, ...

  10. HDU6430 Problem E. TeaTree【dsu on tree】

    Problem E. TeaTree Problem Description Recently, TeaTree acquire new knoledge gcd (Greatest Common D ...