IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TLS协议学习-第一篇 -> 正文阅读

[网络协议]TLS协议学习-第一篇

安全传输层协议TLS,用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。本文是TLS的学习总结第一篇。

TLS在两个应用程序之间提供安全的数据通信,是数据安全领域非常重要的一个基础协议。对于从事数据安全的工程师,了解乃至掌握协议原理,能够更好地使用标准的协议和算法去支撑数据安全相关业务的实现。本文是TLS协议的一个简介,内容整理自IETF、Baidu、Microsoft。

参考链接:

TLS_百度百科

rfc5246

SSL/TLS in Windows Server 2003 | Microsoft Docs

一、简介

SSL/TLS是为Web浏览器和Web服务器之间的internet事务提供安全HTTP(HTTPS)的协议。

在HTTPS协议中,加密的数据类型包括URL、HTTP头、cookie和通过表单提交的数据。受SSL/TLS保护的网页的URL以“https://”开头。

它也可以用于其他应用程序级协议,如FTP、LDAP和SMTP。

SSL/TLS协议支持通过网络进行服务器身份验证、客户端身份验证、数据加密和数据完整性校验。

SSL由Netscape?Communications?Corporation于1994年开发,用于保护万维网上的交易安全。

不久之后,IETF开始开发标准协议,以提供相同的功能。SSL?3.0被用作这项工作的基础,称为传输层安全协议(TLS)。

SSL?3.0和TLS?1.0之间有一些细微的区别,一个重要的区别是TLS1.0应用了消息身份验证码密钥散列(HMAC)算法,而SSL?3.0应用了消息身份验证码(MAC)算法。

TLS目前主流的版本是1.2。1.3还是draft状态。

二、使用TLS的优缺点

好处:

1、强大的身份验证、消息隐私和完整性。SSL/TLS的主要功能是能够使用加密保护传输的数据。SSL/TLS还提供服务器身份验证和客户端身份验证(可选),以证明参与安全通信的各方的身份。它还通过完整性检查值提供数据完整性。除了通过加密防止数据泄露外,SSL/TLS安全协议还可用于防止伪装攻击、中间人或桶旅攻击、回滚攻击和重放攻击。

2、互操作性。SSL/TLS适用于大多数Web浏览器和Web服务器。

3、算法的灵活性。SSL/TLS为将在安全会话期间使用的身份验证机制、加密算法和散列算法提供了选项。

4、易用性。应用程序能透明地使用SSL/TLS。SSL/TLS是在应用层下实现的,所以它的大多数操作对客户端来说是完全不可见的。

弊端:

1、密码学,特别是公钥操作,增加CPU负担。最大的开销发生在建立连接时,根据建立连接的频率和持续时间的不同,负载的差别很大。

2、SSL/TLS环境复杂,需要维护;需要系统管理员配置系统并管理证书。

三、协议概览

1、协议组件

SSL/TLS安全协议在应用程序协议层和TCP/IP层之间分层,所以它可以支持多个应用层协议。

SSL/TLS协议可分为两层。第一层是握手协议层,它由三个子协议组成:握手协议、更改密码规范协议和警报协议。第二层是记录协议层。

2、Handshake层

Handshake:

用于在客户端和服务器之间协商会话信息。会话信息包括会话ID、对等证书、要使用的密码规范、要使用的压缩算法以及用于生成密钥的共享密钥。

Change?Cipher?Spec:

用于更改客户端和服务器之间用于加密的密钥材料。密钥材料是用于创建加密密钥的原始数据。Change?Cipher?Spec子协议由一条消息组成,该消息告诉SSL/TLS会话中的另一方,也就是已知的对等方,发送方希望更改为一组新的密钥。根据握手子协议交换的信息计算密钥。

Alert:

用于向对等方指示状态变化或错误情况。有各种各样的警报通知对等方正常和错误情况。警报通常在连接关闭、接收到无效消息、消息无法解密或用户取消操作时发送。?

3、Record层

记录层的协议接收并加密来自应用层的数据,并将其传送到传输层。记录协议获取数据,将其分割成适合加密算法的大小,选择性地压缩(或,对于接收到的数据,将其解压缩),应用MAC或HMAC(HMAC仅受TLS支持),然后使用握手协议期间协商的信息加密(或解密)数据。

?原文链接博客详情企业最新新闻、动态、资讯,了解企业最新发展https://andang.cn/blog/blogDetails?id=36?

上海安当技术有限公司致力于开发身份认证、数据加密类产品,依托集中化、跨平台的密钥管理系统,专注于为金融、政府、企业等客户提供更加安全,便捷的身份认证管理和数据加密解决方案。公司主要产品及服务简称为4S:身份认证服务平台(Authentication Service Platform),密钥管理平台(Key Safe Platform),硬件加密机(Hardware Security Module),数据加密集成服务(Data Security Integration)。

安当加密_身份认证_数据加密_安当技术有限公司上海安当技术有限公司致力于开发身份认证、数据加密类产品,依托集中化、跨平台的密钥管理系统,专注于为金融、政府、企业等客户提供更加安全,便捷的身份认证管理和数据加密解决方案。公司主要产品及服务简称为4S:身份认证服务平台,密钥管理平台,硬件加密机,数据加密集成服务https://andang.cn/home

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 18:03:49  更:2021-12-16 18:05:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 7:56:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码