ssl/tls加密算法讲解

ssl算法和tls算法的关系

在我的理解中ssl算法属于是tls算法的父亲,但是由于tls算法比ssl算法优秀很多,所以说现在基本上都使用tls算法,而tls算法的使用情景和我们的日常生活息息相关,比如http协议和https协议,这两个协议的根本区别是http协议采用明文传输,而https协议采用了tls加密算法,采用公钥,私钥,会话秘钥进行加密(公钥/私钥对用于非对称加密,主要用于密钥交换;会话密钥用于对称加密,用于实际的数据传输。),还有vpn协议,也是采用了tls加密。

加密算法产生的背景

在http协议中,我们的报文都是明文传输,这样就会导致黑客很容易就得到报文数据,并且可能对报文数据进行篡改,使得我们的聊天非常不安全

而有了https协议以后,就会在应用层对数据进行加密,使得黑客就算得到数据以后还是没办法看懂报文是什么,但是如果只是单纯的加密的话,可能黑客还会将数据进行篡改,使得数据失效

TLS算法讲解

首先是TCP的三次握手,然后,客户端向服务器发送支持的tls版本的加密算法,当服务端得到对应的报文以后,返回所要的tls版本和加密算法,然后再将自己的ca证书发送给客户端,然后客户端判断ca证书的真实性(验证证书的指纹和签名),然后系统中的ca公钥提取出证书中的服务器公钥,然后客户端生成预主秘钥利用服务器公钥加密后发送给服务端,服务端利用服务端私钥解密得到预主秘钥,然后此时就利用这个预主秘钥(也就是会话秘钥)进行后面的数据加密传输。

相关推荐
小楊不秃头9 分钟前
网路原理:UDP协议
网络·网络协议·udp
EndingCoder1 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
一念&2 小时前
每日一个网络知识点:网络层NAT
服务器·网络·php
wanhengidc2 小时前
云手机的多元功能应用
运维·服务器·网络·游戏·智能手机
tangweiguo030519873 小时前
Kotlin 实现 Android 网络状态检测工具类
android·网络·kotlin
云宏信息4 小时前
【深度解析】VMware替代的关键一环:云宏ROW快照如何实现高频业务下的“无感”数据保护?
服务器·网络·数据库·架构·云计算·快照
我有一颗五叶草4 小时前
HTTP 协议
网络·网络协议·http
沐风ya5 小时前
RPC介绍
网络·网络协议·rpc
OAFD.5 小时前
YOLOv3 详解:核心改进、网络架构与目标检测实践
网络·yolo·目标检测
鹿鸣天涯5 小时前
商用密码应用安全性评估
网络·安全·web安全