- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
近期又碰到了SSL相关的事情, 就心血来潮开个新专题 - 《HTTPS基础原理和配置》 。
本文是第一篇文章, 主要介绍SSL TLS加密协议的相关内容.
SSL TLS加密协议其实并没有很长的历史,1995年 网景 发布了SSL v2.0,这也是web加密的开始。这使得电子商务领域,人们可以在线提交密码和信用卡,并且至少是相当安全的.
SSLv3.0很快发布,这版被保罗·柯克(Paul Coker)及其他人完全重写。这是一个非常坚实的协议。事实上,IETF采用SSL v3.0,并使它成为并不是网景独有的协议,叫做TLS(Transport Layer Security)。SSL意思是安全套接字层,但现在叫传输层安全.
所以,TLS v1.0几乎和SSL v3.0 一模一样,只是进行了一两个小优化,并且IAF使之标准化。如果你深究这些协议,TLS v1.0实际上就是SSL v3.1;所以你可以认为他们是连续的.
但是最终IETF提出了新版本v1.1(一些小优化),然后是v1.2,引入了一些新的加密算法。但是看到这你可能会想“好吧,有些客户端支持这些,有些客户端支持更新的,这取决于它们发布的时间. 安全性上可能差不太多". 但实际在安全意义上,这些中的大多数已经以被破解了.
首先是SSL v2.0, 设计之初就被破解😂😂😂, 所以,ssl v2.0确实不推荐使用;已经被破解很长很长时间了,不安全。 我们经常听到的支持的SSL版本一般也是从SSL v3.0开始的. 。
SSL v3.0呢, 之前一直在用,直到2014年11月被破解.
TLS v1.0和v1.1基本安全.
最新的v1.2(其实现在已经不算最新的了, TLS v1.3已经出来了, 但是目前主流的最新协议还是1.2), 是唯一一个还没有针对性攻击的版本(PS: 当然, 近期也有针对TLS v1.2的漏洞爆出, 但还算OK).
TLS有一个混乱的历史,并没有真正最好的安全记录,但TLS v1.2一直还是最好的,当涉及到与浏览器和服务的交互,它内置在几乎一切的浏览器和服务器中(最新的).
所以,TLS v1.2是大势所趋, 如果涉及到关键业务数据交互, 如 用户关键信息 支付 金融 等场景, TLS v1.2才能真正有保障, 而其他老的加密协议, 都已经被破解了, 黑客想拿到你的数据(如果你用老的加密协议)只是时间问题, 并不存在技术上的难点。所以评估ATS(苹果的安全相关要求)合规也要求该版本.
❗ 注意
如果有条件, 强烈建议 只选择 TLS v1.2 版本. (对于传统企业, 真的挺难做到的) 。
根据以上的内容来看, 那我只选择TLS v1.2协议好了, 但实际情况是, TLS v1.2 是 2008 年才发布的(标注发布), 而真正要落到实处所需要的时间更长. 所以很多客户端并不支持TLS v1.2. 。
这些客户端, 是 广义 的客户端, 包括
所以,如果你计划服务器只选择1.2版本,你就可能失去了很多潜在客户(还在用旧的客户端的客户, 当然, 说不定用着旧电脑的员工也被拒之门外了...)。这并不是最好的举动,除非对绝对安全非常敏感。否则的话, 还是建议支持更多的安全协议让更多的客户可以兼容. 是吧? 毕竟比起http这种裸奔, 其他旧的协议好歹还是穿着衣服的.😏 。
但是, 另一些大平台, 已经开始倾向于v1.2。比如ios之前的 ATS合规要求 , 比如 微软建议你放弃TLS v1.0和 TLS v1.1的支持 。因此,行业正在朝着标准迈进.
TLS 1.0 (真正安全的最老版本)几乎都支持(除了win xp sp2).
再次推荐 SSL Labs , 打分如下
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 。
只支持TLS v1.2. 当你配置加密协议时,如果只选择TLS 1.2,得分会是 A .
SSLProtocol all -SSLv3 。
只支持 TLS 协议, 得分也会是 A . (之前的, 近期不确定, 感兴趣的可以测一下). 。
SSLProtocol all 。
如果使用SSLv3.0,有风险,得C.
选择加密协议, 要根据具体的需求, 有侧重, 也要做到安全性和兼容性的兼顾. 。
我之前有个相关的PPT, 感兴趣的话后续发上来. 。
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写. 。
最后此篇关于HTTPS基础原理和配置-1的文章就讲到这里了,如果你想了解更多关于HTTPS基础原理和配置-1的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
本文全面深入地探讨了Docker容器通信技术,从基础概念、网络模型、核心组件到实战应用。详细介绍了不同网络模式及其实现,提供了容器通信的技术细节和实用案例,旨在为专业从业者提供深入的技术洞见和实
📒博客首页:崇尚学技术的科班人 🍣今天给大家带来的文章是《Dubbo快速上手 -- 带你了解Dubbo使用、原理》🍣 🍣希望各位小伙伴们能够耐心的读完这篇文章🍣 🙏博主也在学习阶段,如若发
一、写在前面 我们经常使用npm install ,但是你是否思考过它内部的原理是什么? 1、执行npm install 它背后帮助我们完成了什么操作? 2、我们会发现还有一个成为package-lo
Base64 Base64 是什么?是将字节流转换成可打印字符、将可打印字符转换为字节流的一种算法。Base64 使用 64 个可打印字符来表示转换后的数据。 准确的来说,Base64 不算
目录 协程定义 生成器和yield语义 Future类 IOLoop类 coroutine函数装饰器 总结 tornado中的
切片,这是一个在go语言中引入的新的理念。它有一些特征如下: 对数组抽象 数组长度不固定 可追加元素 切片容量可增大 容量大小成片增加 我们先把上面的理念整理在这
文章来源:https://sourl.cn/HpZHvy 引 言 本文主要论述的是“RPC 实现原理”,那么首先明确一个问题什么是 RPC 呢?RPC 是 Remote Procedure Call
源码地址(包含所有与springmvc相关的,静态文件路径设置,request请求入参接受,返回值处理converter设置等等): spring-framework/WebMvcConfigurat
请通过简单的java类向我展示一个依赖注入(inject)原理的小例子虽然我已经了解了spring,但是如果我需要用简单的java类术语来解释它,那么你能通过一个简单的例子向我展示一下吗?提前致谢。
1、背景 我们平常使用手机和电脑上网,需要访问公网上的网络资源,如逛淘宝和刷视频,那么手机和电脑是怎么知道去哪里去拿到这个网络资源来下载到本地的呢? 就比如我去食堂拿吃的,我需要
大家好,我是飞哥! 现在 iptables 这个工具的应用似乎是越来越广了。不仅仅是在传统的防火墙、NAT 等功能出现,在今天流行的的 Docker、Kubernets、Istio 项目中也经
本篇涉及到的所有接口在公开文档中均无,需要下载 GitHub 上的源码,自己创建私有类的文档。 npm run generateDocumentation -- --private yarn gene
我最近在很多代码中注意到人们将硬编码的配置(如端口号等)值放在类/方法的深处,使其难以找到,也无法配置。 这是否违反了 SOLID 原则?如果不是,我是否可以向我的团队成员引用另一个“原则”来说明为什
我是 C#、WPF 和 MVVM 模式的新手。很抱歉这篇很长的帖子,我试图设定我所有的理解点(或不理解点)。 在研究了很多关于 WPF 提供的命令机制和 MVVM 模式的文本之后,我在弄清楚如何使用这
可比较的 jQuery 函数 $.post("/example/handler", {foo: 1, bar: 2}); 将创建一个带有 post 参数 foo=1&bar=2 的请求。鉴于 $htt
如果Django不使用“延迟查询执行”原则,主要问题是什么? q = Entry.objects.filter(headline__startswith="What") q = q.filter(
我今天发现.NET框架在做计算时遵循BODMAS操作顺序。即计算按以下顺序进行: 括号 订单 部门 乘法 添加 减法 但是我四处搜索并找不到任何文档确认 .NET 绝对 遵循此原则,是否有此类文档?如
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
API 回顾 在创建 Viewer 时可以直接指定 影像供给器(ImageryProvider),官方提供了一个非常简单的例子,即离屏例子(搜 offline): new Cesium.Viewer(
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
我是一名优秀的程序员,十分优秀!