当前位置: 首页 > news >正文

SSL 协议(HTTPS 协议的关键)

所谓的协议

  1. 协议只是一种规则,你不按规则来就无法和目标方进行你的工作

  2. 协议说白了只是人定的规则,任何人都可以定协议

  3. 我们不需要太了解细节,这些是制定和完善协议的人去做的,我们只需要知道协议的一个大概


一、SSL 协议

1、概述
  • SSL 协议(Secure Sockets Layer,安全套接层协议),是一种广泛使用的网络安全协议,旨在保护网络通信中的数据安全和隐私
2、基本作用
  1. 加密传输:SSL 协议使用复杂的加密算法对传输的数据进行加密,这就像给信息加上了一把锁,只有拥有相应钥匙的人才能打开并阅读

  2. 身份认证:SSL 协议支持双向身份认证,即客户端和服务器都需要验证对方的身份,这确保通信双方都是可信的,防止中间人攻击

  3. 信息完整性:SSL 协议通过消息完整性校验机制来确保传输的数据在传输过程中没有被篡改,如果数据在传输过程中被修改,接收方将能够检测到篡改

3、应用场景
  • SSL 协议与 HTTPS 的关联最为人所熟知,以下是 SSL 协议除了 HTTPS 之外的一些主要应用场景
  1. 电子邮件加密:SSL 协议可以保护电子邮件的传输过程,确保邮件内容的机密性,它通常与 SMTP(简单邮件传输协议)、POP3(邮局协议第 3 版)和 IMAP(互联网消息存取协议)等邮件传输协议结合使用,形成相应的加密版本,如 SMTPS、POP3S 和 IMAPS

  2. 虚拟专用网络(VPN):SSL VPN 技术可以建立安全的远程访问连接,使远程用户可以安全地访问公司内部网络资源

  3. 在线支付:SSL 协议能够保护用户的银行卡信息、支付密码等敏感数据不被泄露,确保在线支付过程的安全性

4、工作流程
  • SSL 协议的工作流程体现在握手阶段和数据传输阶段,握手阶段和数据传输阶段这里可以通俗易懂的理解成去对接客户时,先打招呼问好(握手阶段),再进行项目对接(数据传输阶段)
(1)握手阶段
  1. 客户端向服务器发送加密通信请求

  2. 服务器回应并发送包含公钥的数字证书给客户端

  3. 客户端验证数字证书的有效性,并生成一个随机数作为会话密钥的一部分

  4. 客户端将随机数发送给服务器,服务器使用自己的私钥和客户端的随机数生成会话密钥

  5. 双方确认握手过程完成,开始使用会话密钥加密和解密数据

(2)数据传输阶段
  1. 发送方使用会话密钥对数据进行加密,并通过 SSL 协议传输给接收方

  2. 接收方使用相同的会话密钥解密数据,并进行完整性校验


二、SSL 证书

1、SSL 证书的作用
  • SSL 证书是 SSL 协议的核心组成部分,它包含公开密钥、私有密钥以及证书持有者的身份信息,这些证书由受信任的证书颁发机构(CA)签发,它有如下特点
  1. 身份验证:证明网站的真实身份,且通过显示安全锁图标或绿色地址栏等,防止钓鱼网站冒充

  2. 加密通信:提供公钥用于加密通信,确保数据传输的安全

2、堤防钓鱼网站
  1. 钓鱼网站就是一些看起来很像正规网站,但实际上却是个陷阱的网站,这些网站通常会伪装成银行、电商、社交平台等大家常去的网站

  2. 通常通过诱导你点击一个链接跳转到了一个看起来和你常去的那个网站一模一样的页面,要求你输入账号、密码、验证码,甚至信用卡信息,简单来说就是套你的信息

  3. 简单来说就是为了骗取你的个人信息和财务信息,然后用这些信息去做坏事,比如盗刷你的信用卡、盗取你的钱财,或者用你的身份去做一些违法的活动

http://www.lryc.cn/news/458885.html

相关文章:

  • test_2_27(C指针)
  • 设计模式——门面模式 | 外观模式
  • FPGA时序分析和约束学习笔记(1、FPGA基本原理)
  • VMware桥接模式无法连接网络
  • YOLO11改进|卷积篇|引入空间通道重组卷积ScConv
  • Java:方法详解
  • Python 三方库下载安装
  • 使用npm i报错node-sass失败问题解决
  • vite+vue3实现动态路径导入
  • JAVA——File类
  • 掌握Postman,开启API测试新纪元!
  • JAVA-数据结构-排序
  • 初识数据结构--时间复杂度 和 空间复杂度
  • Ubuntu QT 交叉编译环境搭建
  • C语言中缓冲区底层实现以及数据输入的处理
  • RocketMQ事务消息原理
  • 【Java】IntelliJ IDEA开发环境安装
  • Go语言中的通道 (Channel) 实践:Goroutine之间的通信
  • 常用类(二)--String类的简单总结
  • Spring Boot开发:从入门到精通
  • 《数据结构》--队列【各种实现,算法推荐】
  • 面试八股文对校招的用处有多大?--GDB篇
  • Unity用VS打开FGUI脚本变成杂项怎么处理?
  • 交叉熵损失函数(Cross-Entropy Loss Function)解释说明
  • 和外部机构API交互如何防止外部机构服务不可用拖垮调用服务
  • 自动猫砂盆真的有必要吗?买自动猫砂盆不看这四点小心害死猫。
  • 国外解压视频素材哪里找?五个海外解压视频素材网站推荐
  • Android一个APP里面最少有几个线程
  • 位操作解决数组的花样遍历
  • 【面试宝典】深入Python高级:直戳痛点的题目演示(下)