《深入浅出HTTPS》读书笔记(29):TLS/SSL协议

《深入浅出HTTPS​​​​​​​​​​》读书笔记(29):TLS/SSL协议

TLS/SSL协议是一系列算法的组合,相比密码学算法来说,TLS/SSL协议的复杂性就更大了,主要体现在以下方面。

◎协议设计的复杂性:一个完整的解决方案考虑的问题非常多,需要考虑扩展性、适用性、性能等方面,一旦方案设计不充分,攻击者不用攻击特定的密码学算法,而会基于协议进行攻击。

◎协议实现的严谨性:即使协议设计是完美的,在实现协议的时候,也可能犯错误;如果不充分理解密码学算法应用标准,最终实现的协议就会存在安全漏洞。

TLS/SSL协议是最常见的安全解决方案,需要注意的是,TLS/SSL协议并不是唯一的解决方案。

TLS/SSL协议在网络协议中的定位:

TLS/SSL协议位于应用层协议和TCP之间,构建在TCP之上,由TCP协议保证数据传输的可靠性,任何数据到达TCP之前,都经过TLS/SSL协议处理。

任何应用层协议(HTTP、SMTP、FTP、其他自定义应用层协议)都可以结合TLS/SSL协议。

TLS/SSL协议一般构建在TCP之上,也可以构建在UDP之上,称为DTLS(Datagram Transport Layer Security)协议。

TLS/SSL协议有四个目标:

◎数据是机密的:通信两端传输的数据应该是安全的,不可伪造和篡改的。

◎互操作性:TLS/SSL协议是标准的,任何开发者基于TLS/SSL RFC设计规范都可以实现该协议

◎可扩展性:SSL协议允许动态地引入新的算法

◎效率:解决方案必须是高效的

相关推荐
m0_626535203 分钟前
python每日一题
算法
SuperCandyXu6 分钟前
洛谷 P10448 组合型枚举-普及-
算法·洛谷
芜青8 分钟前
JavaScript手录09-内置对象【String对象】
开发语言·javascript·ecmascript
樱花的浪漫14 分钟前
大模型推理框架基础概述
人工智能·算法·机器学习·语言模型·自然语言处理
钮钴禄·爱因斯晨20 分钟前
Java 集合进阶:从 Collection 接口到迭代器的实战指南
java·开发语言
mrbone1122 分钟前
C++-关于协程的一些思考
开发语言·数据库·c++·c++20·协程·异步·coroutines
zgc124536727 分钟前
Linux学习--C语言(指针3)
c语言·开发语言·学习
超浪的晨29 分钟前
JavaWeb 入门:HTML 基础与实战详解(Java 开发者视角)
java·开发语言·前端·后端·html·个人开发
dudly39 分钟前
Python 列表内存存储本质:存储差异原因与优化建议
开发语言·数据结构·python·编程语言·内存分析
源远流长jerry1 小时前
网络编程概述与UDP编程
linux·服务器·网络·网络协议·udp