传输层安全协议 SSL/TLS 详细介绍

       传输层安全性协议TLS及其前身安全套接层SSL是一种安全传输协议,目前TLS协议已成为互联网上保密通信的工业标准,在浏览器、邮箱、即时通信、VoIP等应用程序中得到广泛的应用。本文对SSL和TLS协议进行一个详细的介绍,以便于大家更直观的理解和认识SSL和TLS协议。

1、引言

       在SSL/TLS协议出现之前,很多应用层协议都存在着网络安全问题,例如大家所熟知的HTTP协议,它在传输过程中使用的是明文信息,传输报文一旦被截获便会泄露传输内容,另外传输过程中报文如果被篡改,无法轻易发现,也无法保证消息交换的对端身份的可靠性。为了解决此类问题,人们在应用层和传输层之间加入了SSL/TLS协议。

2、SSL/TLS概述

       传输层安全性协议(Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议。最初SSL协议是由网景公司(Netscape)开发,并集成到浏览器中,用于保护HTTP传输的安全性。IETF以SSL协议为基础,提出了一种新的协议:TLS协议,建立在SSL V3.0的基础上,已经开始在实际应用中使用。TLS协议可以说是更为安全的升级版SSL,因为历史上习惯了SSL这个称呼,所以还是会称其为SSL协议。

       不使用SSL/TLS的HTTP通信,就是不加密的通信,即明文通信,信息明文传播带来了三大风险:

  • 窃听风险(eavesdropping):第三方可以获知通信内容。
  • 篡改风险(tampering):第三方可以修改通信内容。
  • 冒充风险(pretending):第三方可以冒充他人身份参与通信。

而SSL/TLS协议是为了解决这三大风险而设计的,希望达到:

  • 所有信息都是加密传播,第三方无法窃听。
  • 具有校验机制,一旦被篡改,通信双方会立刻发现。
  • 配备身份证书,防止身份被冒。

       SSL/TLS位于传输层和应用层之间:

应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密并增加自己的SSL头,再交由传输层进行传输。SSL/TLS协议的作用主要有以下三点:

  • 保密(Message Privacy):通过加密实现,所有信息都加密传输,第三方无法嗅探;
  • 完整性(Message Integrity):通过MAC校验机制实现,一旦被篡改,通信双方会立刻发现;
  • 认证(Mutual Authentication):双方认证,双方都可以配备证书,防止身份被冒充。

       互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度。而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL/TLS协议变得异常复杂。SSL/TLS协议采用数字证书进行双端实体认证,用非对称加密算法进行密钥协商,用对称加密算法将数据加密后进行传输以保证数据的保密性,并且通过计算数字摘要来验证数据在传输过程中是否被篡改和伪造,从而为敏感数据在Internet上的传输提供了一种安全保障手段。、

大家日常使用的https就是使用SSL/TLS加密的。

3、SSL/TLS发展历史

       1994年,NetScape网景公司设计了SSL协议(Secure Sockets Layer)的1.0版,用于HTTPS的加密,这是SSL的起源。这种协议开始在Web上获得了广泛的应用。

       1995年,NetScape网景公司发布SSL 2.0版,但很快发现有严重漏洞。

       1996年,NetScape网景公司重新设计SSL,推出SSL3.0版,得到大规模应用。

       1999年,互联网标准化组织ISOC接替NetScape网景公司,发布了SSL的升级版TLS 1.0版。

       2006年和2008年,TLS(Transport Layer Security)进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了对TLS 1.2的支持。

       TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。

       关于Windows系统中TLS版本及TLS的详细说明,可以查看我之前写的文章:

Windows系统SSL/TLS安全协议介绍https://blog.csdn.net/chenlycly/article/details/82997319


       在这里,给大家重点推荐一下我的几个热门畅销专栏,欢迎订阅:(博客主页还有其他专栏,可以去查看)

专栏1:该专栏是核心精品专栏,当前订阅量已达到600多个,专栏中包含大量项目实战分析案例,有很强的实战参考价值,广受好评!专栏文章持续更新中,已经更新到200篇以上!欢迎订阅!)

C++软件调试与异常排查从入门到精通系列文章汇总https://blog.csdn.net/chenlycly/article/details/125529931

本专栏根据多年C++软件异常排查的项目实践,系统地总结了引发C++软件异常的常见原因以及排查C++软件异常的常用思路与方法,详细讲述了C++软件的调试方法与手段,以图文并茂的方式给出具体的项目问题实战分析实例(很有实战参考价值),带领大家逐步掌握C++软件调试与异常排查的相关技术,适合基础进阶和想做技术提升的相关C++开发人员!

考察一个开发人员的水平,一是看其编码及设计能力,二是要看其软件调试能力!所以软件调试能力(排查软件异常的能力)很重要,必须重视起来!能解决一般人解决不了的问题,既能提升个人能力及价值,也能体现对团队及公司的贡献!

专栏中的文章都是通过项目实战总结出来的,包含大量项目问题实战分析案例,有很强的实战参考价值!专栏文章还在持续更新中,预计文章篇数能更新到200篇以上!

专栏2:(本专栏涵盖了C++多方面的内容,是当前重点打造的专栏,订阅量已达300多个,专栏文章已经更新到500多篇,持续更新中...)

C/C++实战进阶(专栏文章,持续更新中...)https://blog.csdn.net/chenlycly/category_11931267.html

以多年的开发实战为基础,总结并讲解一些的C/C++基础与项目实战进阶内容,以图文并茂的方式对相关知识点进行详细地展开与阐述!专栏涉及了C/C++领域多个方面的内容,包括C++基础及编程要点(模版泛型编程、STL容器及算法函数的使用等)、数据结构与算法、C++11及以上新特性(不仅看开源代码会用到,日常编码中也会用到部分新特性,面试时也会涉及到)、常用C++开源库的介绍与使用、代码分享(调用系统API、使用开源库)、常用编程技术(动态库、多线程、多进程、数据库及网络编程等)、软件UI编程(Win32/duilib/QT/MFC)、C++软件调试技术(排查软件异常的手段与方法、分析C++软件异常的基础知识、常用软件分析工具使用、实战问题分析案例等)、设计模式、网络基础知识与网络问题分析进阶内容等。

专栏3:  

C++常用软件分析工具从入门到精通案例集锦汇总(专栏文章,持续更新中...)https://blog.csdn.net/chenlycly/article/details/131405795

常用的C++软件辅助分析工具有SPY++、PE工具、Dependency Walker、GDIView、Process Explorer、Process Monitor、API Monitor、Clumsy、Windbg、IDA Pro等,本专栏详细介绍如何使用这些工具去巧妙地分析和解决日常工作中遇到的问题,很有实战参考价值!

专栏4:   

VC++常用功能开发汇总(专栏文章,持续更新中...)https://blog.csdn.net/chenlycly/article/details/124272585

将10多年C++开发实践中常用的功能,以高质量的代码展现出来。这些常用的高质量规范代码,可以直接拿到项目中使用,能有效地解决软件开发过程中遇到的问题。

专栏5: 

C++ 软件开发从入门到精通(专栏文章,持续更新中...)https://blog.csdn.net/chenlycly/category_12695902.html

根据多年C++软件开发实践,详细地总结了C/C++软件开发相关技术实现细节,分享了大量的实战案例,很有实战参考价值。


4、SSL详细介绍

       SSL(Secure Sockets Layer,安全套接层)认证是保护网站数据安全的关键技术,网站通过部署SSL证书实现加密通信、身份验证和数据完整性。现代互联网基本都采用TLS协议,但仍常称为SSL证书。

4.1、SSL 认证

       SSL认证的核心作用:

  • 数据加密:防止数据在传输过程中被窃取或篡改,保证机密性。
  • 身份验证:验证服务器身份,防止用户连接到伪造的服务器(如中间人攻击)。
  • 数据完整性:确保传输的数据未被篡改,提高数据的可信度。

4.2、SSL证书的工作原理

       服务器部署SSL证书:

  • 服务器向CA(Certificate Authority,证书颁发机构)申请SSL证书。
  • CA验证服务器身份后颁发证书,包含公钥、服务器信息等。

       客户端(浏览器)与服务器建立SSL/TLS连接:

  • 客户端向服务器请求安全连接(HTTPS)。
  • 服务器发送SSL证书,客户端验证证书的有效性(是否由可信CA签发、是否过期等)。
  • 若验证通过,客户端和服务器进行密钥交换,协商使用对称加密算法。
  • 之后,所有通信数据均被加密,确保安全。

4.3、SSL证书的类型

  • 域名验证(DV)证书:仅验证域名所有权,成本低,适合个人网站。
  • 企业验证(OV)证书:验证企业身份,适用于公司官网、B2B平台。
  • 扩展验证(EV)证书:最高级别的身份认证,适用于金融、电商等对安全要求高的网站。
  • 通配符(Wildcard)证书:可用于多个子域名(如*.example.com)。
  • 多域名(SAN)证书:支持多个不同的域名绑定在同一证书上。

4.4、常见的SSL证书提供商

  • DigiCert
  • GlobalSign
  • Sectigo(原Comodo)
  • Let’s Encrypt(免费证书)
  • GeoTrust

4.5、如何检查网站是否使用SSL认证?

  • 看浏览器地址栏是否以**https://**开头。
  • 查看浏览器的🔒锁🔒图标,点击可查看证书详情。
  • 使用 openssl 命令检查:openssl s_client -connect example.com:443

5、TLS详细介绍

       TLS(Transport Layer Security,传输层安全协议)是 SSL(Secure Sockets Layer,安全套接层)的升级版本,用于在网络通信中提供加密、数据完整性和身份验证。TLS 目前是互联网安全通信的主流标准,广泛应用于 HTTPS、邮件传输、VPN、VoIP 等场景。

5.1、TLS的主要作用

  • 加密数据:防止数据在传输过程中被窃取或篡改,保障通信的机密性。
  • 身份认证:使用 数字证书(如 SSL 证书)验证服务器(或客户端)的真实性,防止中间人攻击。
  • 数据完整性:使用消息认证码(MAC)确保数据在传输过程中没有被篡改。

5.2、TLS的工作流程

        TLS 建立安全连接的过程称为 TLS握手(TLS Handshake),通常包括以下步骤:

1)客户端向服务器发送“Hello”
客户端(如浏览器)发送 ClientHello,包含支持的 TLS 版本、加密算法(Cipher Suites) 和 随机数(Client Random)。
2)服务器回应“Hello”
服务器返回 ServerHello,选择加密算法,并发送数字证书(SSL 证书),其中包含服务器的公钥和身份信息。
3)证书验证
客户端验证证书是否由**受信任的CA(证书颁发机构)**签发,是否过期,是否匹配访问的域名。
如果证书无效,连接可能会被阻止(浏览器会显示**“不安全”警告**)。
4)密钥交换
客户端生成会话密钥(Session Key),并使用服务器的公钥加密发送给服务器(或使用 DH/ECDH 进行密钥协商)。
服务器使用私钥解密,获得相同的会话密钥。
5)生成会话密钥,开始安全通信
客户端和服务器使用商定的**对称加密算法(如 AES)**进行数据加密,后续通信使用该会话密钥加密数据。

5.3、TLS版本

版本发布时间主要特点
TLS 1.01999最早的 TLS 版本,已被弃用。
TLS 1.12006增加对 CBC(Cipher Block Chaining)模式的安全改进,已弃用。
TLS 1.22008目前广泛使用的版本,支持更强的加密算法(AES-GCM),引入 HMAC 进行消息认证。
TLS 1.32018最新版本,优化握手流程(减少 1 个 RTT),去除了不安全的算法(如 RSA 密钥交换)。

 TLS 1.3 是当前最安全、性能最优的版本,推荐使用!

5.4、TLS和SSL的比较

对比 SSL TLS
安全性存在较多漏洞(如 POODLE) 更安全,移除不安全算法
速度握手过程较慢TLS 1.3 速度更快(减少 RTT)
版本最高为 SSL 3.0(已弃用)最新版为 TLS 1.3
加密算法支持较旧的加密算法仅支持强加密(如 AES-GCM、ChaCha20)

TLS 1.0 和 1.1 已被废弃,TLS 1.2 和 TLS 1.3 是当前主流标准!

5.5、TLS应用场景

  • HTTPS(安全网页通信):如 https://example.com
  • VPN(虚拟专用网络):如 OpenVPN
  • 电子邮件:如 SMTPS、IMAPS、POP3S
  • VoIP(网络电话):如 SIP over TLS
  • 消息传输:如 MQTT over TLS

5.6、如何检查TLS版本?

1)使用 OpenSSL

openssl s_client -connect example.com:443 -tls1_3

如果服务器支持 TLS 1.3,会成功建立连接,否则会失败。

2)使用浏览器
在 Chrome/Firefox 中,访问 https://example.com
点击🔒锁图标 > 查看证书 > 检查TLS 版本

6、最后 

       TLS 是 SSL 的升级版,比 SSL 更安全、更高效,目前广泛用于 HTTPS 和其他加密通信。TLS 1.2 和 TLS 1.3 是当前主流标准,TLS 1.3 具有更快的握手速度和更强的安全性。检查网站是否支持 TLS,可以使用 openssl 或浏览器查看证书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40062.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文解读DeepSeek在工业制造领域的应用

引言 在当今数字化浪潮席卷全球的背景下,各个行业都在积极寻求创新与变革,工业制造领域也不例外。然而,传统工业制造在生产效率、质量控制、成本管理等方面面临着诸多挑战。在这一关键时期,人工智能技术的兴起为工业制造带来了新的…

3.Excel:快速分析

补充:快捷键:CTRLQ 一 格式化 1.数据条 2.色阶 3.开始菜单栏里面选择更多 补充:想知道代表什么意思:管理规则-编辑规则 二 表格 点击后会变成超级表,之前是普通表。 三 迷你图 图放在单元格里面。 补充:除了…

区间端点(java)(贪心问题————区间问题)

deepseek给了一种超级简单的做法 我是真的想不到 贪心的思路是 局部最优——>全局最优 这种我是真的没有想到,这样的好处就是后面便利的时候可以通过foreach循环直接便利qu的子元素也就是对应的某一个区间, 将一个二维数组变成一维数组,每一个一维…

STM32蜂鸣器播放音乐

STM32蜂鸣器播放音乐 STM32蜂鸣器播放音乐 Do, Re, Mi, Fa, 1. 功能概述 本系统基于STM32F7系列微控制器,实现了以下功能: 通过7个按键控制蜂鸣器发声,按键对应不同的音符。每个按键对应一个音符(Do, Re, Mi, Fa, Sol, La, Si&a…

基于docker-compose 部署可道云资源管理器

容器编排Explorer 容器化部署MariaDB容器化部署Redis容器化部署PHP容器化部署Nginx编排部署compose服务 var code “9861ce02-1202-405b-b419-4dddd337aaa7” GitHub官网 KodExplorer 是一款网页文件管理器。它也是一个网页代码编辑器,可让你直接在网页浏览器中开…

【Git】--- Git远程操作 标签管理

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Git 前面我们学习的操作都是在本地仓库进行了,如果团队内多人协作都在本地仓库操作是不行的,此时需要新的解决方案 --- 远程仓库。…

Deepseek API+Python 测试用例一键生成与导出 V1.0.3

** 功能详解** 随着软件测试复杂度的不断提升,测试工程师需要更高效的方法来设计高覆盖率的测试用例。Deepseek API+Python 测试用例生成工具在 V1.0.3 版本中,新增了多个功能点,优化了提示词模板,并增强了对文档和接口测试用例的支持,极大提升了测试用例设计的智能化和易…

Axure RP9.0 教程:左侧菜单列表导航 ( 点击父级菜单,子菜单自动收缩或展开)【响应式的菜单导航】

文章目录 引言I 实现步骤添加商品管理菜单组推拉效果引言 应用场景:PC端管理后台页面,左侧菜单列表导航。 思路: 用到了动态面板的两个交互效果来实现:隐藏/显示切换、展开/收起元件向下I 实现步骤 添加商品管理菜单组 在左侧画布区域添加一个菜单栏矩形框;再添加一个商…

详细比较StringRedisTemplate和RedisTemplate的区别及使用方法,及解决融合使用方法

前言 感觉StringRedisTemplate和RedisTemplate非常的相识,到底有什么区别和联系呢?点开idea,打开其依赖关系,可以看出只需使用maven依赖包spring-boot-starter-data-redis,然后在service中注入StringRedisTemplate或者…

SpringSecurity——前后端分离登录认证

SpringSecurity——前后端分离登录认证的整个过程 前端&#xff1a; 使用Axios向后端发送请求 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录</title><script src"https://cdn…

如何用腾讯云建站做好一个多语言的建筑工程网站?海外用户访问量提升3倍!分享我的经验

作为新疆地区领先的工程建筑企业&#xff0c;我们深知在数字化浪潮中&#xff0c;一个专业、高效且具备国际视野的官方网站是企业形象与业务拓展的“门面担当”。然而&#xff0c;传统的建站流程复杂、技术门槛高、多语言适配难等问题&#xff0c;曾让我们在数字化转型中举步维…

遥控器钥匙学习---通过uds指令

1、实际报文 2、硬件配置信息 使用原gateway硬件&#xff0c;软件基于sbcm-main工程新建的一个分支。主要用于钥匙学习的指令发送。 3、后续更改 这里需要细化一下&#xff0c;为了后续方便测试 4、钥匙学习策略 可以学习2把钥匙 一次可以学习把钥匙&#xff0c;uds命令&…

QinQ项展 VLAN 空间

随着以太网技术在网络中的大量部署&#xff0c;利用 VLAN 对用户进行隔离和标识受到很大限制。因为 IEEE802.1Q 中定义的 VLAN Tag 域只有 12 个比特&#xff0c;仅能表示 4096 个 VLAN&#xff0c;无法满足城域以太网中标识大量用户的需求&#xff0c;于是 QinQ 技术应运而生。…

给Web开发者的HarmonyOS指南02-布局样式

给Web开发者的HarmonyOS指南02-布局样式 本系列教程适合鸿蒙 HarmonyOS 初学者&#xff0c;为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。 本系列教程会将 HTML/CSS 代码片段替换为等价的 HarmonyOS/ArkUI 代码。 布局基础对比 在Web开发中&#xff0c;我们使用CS…

mapbox进阶,添加鹰眼图控件

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️mapboxgl-minimap 鹰眼控件二、🍀添加…

Linux 配置时间服务器

一、同步阿里云服务器时间 服务端设置 1.检查chrony服务是否安装&#xff0c;设置chrony开机自启&#xff0c;查看chrony服务状态 [rootnode1-server ~]# rpm -q chrony # rpm -q 用于查看包是否安装 chrony-4.3-1.el9.x86_64 [rootnode1-server ~]# systemctl enable --n…

Android实践开发制作小猴子摘桃小游戏

Android实践制作小猴子摘桃小游戏 实践素材项目源文件获取&#xff1a;Android可以存在版本差异项目如果不能正确运行&#xff0c;可以使用里面的素材自己构建项目Android实践制作小猴子摘桃小游戏Android实践制作小猴子摘桃小游戏https://mp.weixin.qq.com/s/jNU_hVfj9xklsil…

数据库查询练习

1.单表查询 CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10) NOT NULL DEFAULT 群众,姓名 varchar(20) NOT NULL,出生日期 date NOT NULL,PRIMARY KEY (职工号) ) ENGINEInnoDB…

VGG 改进:添加ScConv空间与通道特征重构卷积

目录 1. ScConv空间与通道特征重构卷积 2. VGG+ScConv模块 3. 完整代码 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. ScConv空间与通道特征重构卷积 ScConv (Spatial and Channel reconstruction Convolution) 是一种旨在减少卷积神…

如何优化SQL查询以提高数据库性能?

你正在自助餐厅&#xff0c;所有的食物看起来都很美味。但你不是拿一个盘子&#xff0c;只取你需要的&#xff0c;而是开始从各个角落堆满食物&#xff0c;弄得一团糟&#xff0c;速度也慢了下来。结果是什么&#xff1f;你拿的东西很多并且效率低下。 这就像没有优化的SQL查询…