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. Redis 底层数据结构设计

    10万+QPS 真的只是因为单线程和基于内存?_Howinfun的博客-CSDN博客_qps面试题 https://blog.csdn.net/Howinfun/article/details/105 ...

  2. Hugo 博客中文指南(基础教程)

    1. 安装 Hugo 从 Hugo 项目主页下载 Releases 文件,解压 hugo.exe 文件到 C:\Windows\System32 目录下. 2. 创建站点 hugo new site ...

  3. oracle模糊查询mysql的区别

    https://blog.csdn.net/weixin_38673554/article/details/86503982#_1 oracle与使用mysql的区别 https://www.cnbl ...

  4. sentry 错误监控 报警

    错误监控 报警 Sentry | Error Tracking Software - JavaScript, Python, PHP, Ruby, more https://sentry.io/wel ...

  5. hasOwnProperty和 ... in ...的区别

    hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键).https://developer.mozilla.org/zh-CN/docs ...

  6. python--基础3(流程语句)

    资源池 链接:https://pan.baidu.com/s/1OGq0GaVcAuYEk4F71v0RWw 提取码:h2sd 本章内容: if判断语句 for循环语句 while循环语句 break ...

  7. Pythonchallenge1过关攻略

    第一关上来是一个电视,上面写着2^38,这就非常关键了,这时候我们已经有了大致思路,再看一眼电视机下面的话确认一下,"Hint: try to change the URL address. ...

  8. .Net Core 3.1浏览器后端服务(一) Web API项目搭建

    一.前言 基于CefSharp开发的浏览器项目已有一段时间,考虑到后期数据维护需要Server端来管理,故开启新篇章搭建浏览器后端服务.该项目前期以梳理服务端知识为主,后期将配合CefSharp浏览器 ...

  9. 用到的API整理

    时间 淘宝 http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp 获取时间戳,调用效果 { "api" ...

  10. Codeforces Global Round 11 B. Chess Cheater(贪心)

    题目链接:https://codeforces.com/contest/1427/problem/B 题意 给出一个长为 \(n\) 由 W, L 组成的字符串,如果一个 W 左侧为 W,则它提供 2 ...