高级网络安全——SSL/TLS, HTTPS, VPN(week4)

文章目录

  • 一、前言
  • 二、重点概念
      • 1. 安全外壳(SSH)
      • 2. SSH概述
      • 3. SSH-2的安全目标
      • 4. SSH传输层协议
      • 5. SSH密钥指纹
      • 6. SSH密钥指纹
      • 7. SSH-2算法
        • SSH传输层协议
      • 8. SSH传输层协议
        • Diffie-Hellman密钥交换
      • 9. SSH传输层协议
        • Diffie-Hellman密钥交换
      • 10. SSH传输层协议
        • Diffie-Hellman密钥交换
      • 11. SSH传输层协议
        • 密钥派生
      • 12. SSH传输层协议
        • 密钥派生
      • 13. SSH传输层协议
        • 二进制数据包协议
      • 14. SSH用户认证协议
      • 15. SSH连接协议
      • 16. SSH端口转发
        • 无SSH时的情况
        • 使用SSH和端口转发
      • 17. SSH端口转发
      • 18. SSH端口转发(应用)
      • 19. SSH端口转发(本地)
      • 20. SSH端口转发(远程)
      • 21. 端口转发
      • 22. SSH应用
      • 23. SSL/TLS
      • 24. SSL/TLS应用
      • 25. SSL/TLS架构
      • 26. TLS记录协议
      • 27. TLS记录协议格式
      • 28. TLS记录协议
      • 29. TLS更改密码规范协议
      • 30. TLS警报协议
      • 31. TLS警报协议
      • 32. TLS握手协议
      • 33. TLS握手协议
      • 34. TLS握手协议的四个阶段
      • 35. Diffie-Hellman重新介绍
      • 36. 密钥传输
      • 37. TLS1.2支持的密钥交换方法
      • 38. 握手协议
      • 39. 握手协议
      • 40. 握手协议
      • 41. 握手协议
      • 42. 握手协议
      • 43. 握手协议
      • 44. 握手协议
      • 45. SSL密钥派生
      • 46. SSL密钥派生
      • 47. TLS密钥派生
      • 48. 会话恢复(Session Resumption)
      • 49. HTTPS (HTTP over SSL/TLS)

一、前言

二、重点概念

1. 安全外壳(SSH)

  • SSH = Secure Shell(安全壳)
    • 最初设计用于替代不安全的rsh和telnet工具。
    • 主要用于安全的远程管理(通常是Unix系统)。
    • 后来,SSH被用于提供网络应用程序的通用安全通道。
    • 只保护明确指定的流量。
    • 应用程序需要进行修改,但端口转发在一定程度上简化了这个过程。

2. SSH概述

SSH协议栈采用三层架构:

  • SSH传输层协议

    • 负责初始连接。
    • 服务器认证。
    • 通过密钥交换等方式在客户端和服务器之间建立安全通道。
  • SSH认证协议

    • 在安全的传输层通道上进行客户端认证。
  • SSH连接协议

    • 在一个传输层协议的安全通道上支持多个连接。
    • 提高了效率(会话复用)。

3. SSH-2的安全目标

  • 服务器认证:在传输层协议中进行服务器认证。
  • 客户端认证:通过公钥(DSS,RSA)或简单密码在认证协议中进行客户端认证。
  • 建立新的共享密钥
    • 共享密钥用于派生进一步的密钥(加密密钥、MAC密钥、IV等),类似于SSL/TLS。
    • 用于SSH传输层协议中的保密性和真实性。
  • 安全加密套件协商
    • 包括加密、MAC和压缩算法。

4. SSH传输层协议

  • 服务器认证:基于服务器的主机密钥对(公钥和密钥)。
  • 数据包交换
    • 建立TCP连接。
    • 然后可以交换数据(数据包交换)。
    • 包括标识字符串交换、算法协商、密钥交换、密钥交换结束、服务请求。
    • 服务请求:用户认证或连接协议。

5. SSH密钥指纹

  • 连接的安全性依赖于服务器向客户端认证自身。
  • 当你第一次连接到远程主机时,主机会将其公钥发送到你的本地电脑以识别自己。为了帮助你验证主机的身份,主机会向你展示其公钥的指纹供你验证。
  • 许多用户会盲目接受展示的密钥。
  • SSH对普通大众来说并不友好。

6. SSH密钥指纹

  • 通过Diffie-Hellman密钥交换建立密钥。
    • 短暂的Diffie-Hellman密钥交换。
  • 服务器认证通过RSA或DSS签名进行。
  • 采用HMAC-SHA1或HMAC-SHA256作为MAC算法。
  • 采用3DES、AES、RC4等作为加密算法。

7. SSH-2算法

SSH传输层协议
  • Diffie-Hellman密钥交换
    • 客户端生成一个随机数xc并计算yc = g^xc mod p
    • 客户端将yc发送给服务器。

8. SSH传输层协议

Diffie-Hellman密钥交换
  • 服务器生成一个随机数xs并计算ys = g^xs mod p
  • 服务器计算共享密钥K = yc^xs mod p

9. SSH传输层协议

Diffie-Hellman密钥交换
  • 服务器计算交换的哈希值H = hash(idC || idS || initC || initS || PKS || yc || ys || K)
    • idSidC:服务器和客户端的标识字符串。
    • initSinitC:服务器和客户端的初始消息。

10. SSH传输层协议

Diffie-Hellman密钥交换
  • 服务器对交换的哈希值H生成签名signature = SignSKS(H),并将(ys, PKS, signature)发送给客户端。

11. SSH传输层协议

密钥派生
  • 在密钥交换之后,服务器和客户端都获得了两个共享值:
    1. 共享的密钥值K
    2. 交换的哈希值H
  • 加密密钥和MAC密钥是从KH派生的。
  • 第一次密钥交换的交换哈希值H还用作会话标识符。

12. SSH传输层协议

密钥派生
  • 加密密钥的计算方法是:将共享密钥K和哈希值H组合并进行哈希运算。
    • 客户端到服务器的初始IVhash(K || H || "A" || session id)
    • 服务器到客户端的初始IVhash(K || H || "B"

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

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

相关文章

Easyexcel(4-模板文件)

相关文章链接 Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出)Easyexcel(4-模板文件) 文件导出 获取 resources 目录下的文件,使用 withTemplate 获…

迁移学习理论与应用

迁移学习(Transfer Learning)是一种机器学习技术,旨在将一个任务(源任务)上学到的知识迁移到另一个相关但不完全相同的任务(目标任务)上,从而提高目标任务的学习效果。这种方法的核心…

近期两篇NeRF/3DGS-based SLAM方案赏析:TS-SLAM and MBA-SLAM

原文链接:近期两篇NeRF/3DGS-based SLAM方案赏析:TS-SLAM and MBA-SLAM paper1:TS-SLAM: 基于轨迹平滑约束优化的神经辐射场SLAM方法 导读 本文提出了TS-SLAM,一种改进的基于神经辐射场(NeRF)的SLAM方法…

游戏引擎学习第20天

视频参考:https://www.bilibili.com/video/BV1VkBCYmExt 解释 off-by-one 错误 从演讲者的视角:对代码问题的剖析与修复过程 问题的起因 演讲者提到,他可能无意中在代码中造成了一个错误,这与“调试时间标记索引”有关。他发现了一个逻辑问题…

《鸿蒙系统:开启智能新时代的璀璨之星》

一、鸿蒙系统:崛起之路 鸿蒙系统的发展历程堪称一部科技创新的传奇。2012 年,华为前瞻性地启动鸿蒙系统研发项目,彼时或许很少有人能预见到它未来的辉煌。2019 年,鸿蒙系统首个开发者预览版的发布,如同夜空中的一颗璀…

SQL注入--DNSlog外带注入--理论

什么是DNSlog? DNS的作用是将域名解析为IP 而DNSlog就是存储在DNS服务器上的域名信息,它记录着用户对域名访问信息。可以理解为DNS服务器上的日志文件。 多级域名 比如blog.csdn.net,以点为分隔,从右向左依次是顶级域名、二级域名、三级域…

python: Serialize and Deserialize complex JSON using jsonpickle

# encoding: utf-8 # 版权所有 2024 ©涂聚文有限公司 # 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎 # Serialize and Deserialize complex JSON in Python # 描述:pip install jsonpickle https://github.com/jsonpi…

基于图的去中心化社会推荐过滤器

目录 原论文研究背景与研究意义概述论文所提出算法的主要贡献GDSRec算法原理与流程问题定义去中心化图(decentralized graph)所提出方法(三种并行建模)用户建模(user modelling) 模版代码讲解main.py顶层文件:用于集成…

计算机的错误计算(一百六十三)

摘要 四个算式“sin(0.00024/2)^2”、“(1-cos(0.00024))/2”、“(1-sqrt(1-sin(0.00024)^2))/2”以及“sin(0.00024)^2/(22*sqrt(1-sin(0.00024)^2))”是等价的。但是,在 MATLAB 中计算它们,输出不完全一致:中间两个算式的输出中含有错误数…

递归算法专题一>Pow(x, n)

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; public double myPow(double x, int n) {return n < 0 ? 1.0 / pow(x,-n) : pow(x,n); }private double pow(double x, int n){if(n 0) return 1.0;double tmp pow(x,n / 2);return n % 2 0 ? tmp * tmp : tmp …

论文阅读 SimpleNet: A Simple Network for Image Anomaly Detection and Localization

SimpleNet: A Simple Network for Image Anomaly Detection and Localization 摘要&#xff1a; 该论文提出了一个简单且应用友好的网络&#xff08;称为 SimpleNet&#xff09;来检测和定位异常。SimpleNet 由四个组件组成&#xff1a;&#xff08;1&#xff09;一个预先训练的…

实战分享:如何在HP-UX上高效扩容Oracle 12c RAC ASM磁盘

文章目录 Oracle 12c RAC ASM磁盘扩容 for HP-UX一、扩容原因二、扩容前信息三、扩容详细步骤3.1 存储划分LUN&#xff0c;映射到Oracle 12c RAC相关主机组3.2 扫描查看磁盘3.3 检查两节点间的磁盘盘符是否一致3.4 以一个节点为准同步磁盘盘符3.5 更改磁盘属主、权限3.6 查看AS…

如何使用 Matlab 制作 GrabCAD 体素打印切片

本教程适用于已经对 Matlab 和 J750 操作有所了解的用户。 它不是有关如何使用 Matlab 软件或 PolyJet 打印机的全面课程。 Stratasys 为您提供以下内容&#xff1a; 第 1 步&#xff1a;什么是体素&#xff1f; 就像 2D 数字图像由像素组成一样&#xff0c;您可以将 3D 数字形…

CNN—LeNet:从0开始神经网络学习,实战MNIST和CIFAR10~

文章目录 前言一、CNN与LeNet介绍二、LeNet组成及其名词解释2.1 输入2.2 卷积层2.3池化层2.4 全连接层2.5 总结 三、MNIST实战3.1 构建神经网络3.2 数据处理3.3 &#xff08;模板&#xff09;设置优化器&#xff0c;损失函数&#xff0c;使用gpu(如果是N卡有cuda核心)&#xff…

SpringBoot集成Dynamo(3)集成远程dynamo

按照推荐的AWS IAM SSO模式&#xff0c;以文件存储凭证的方式&#xff0c;看下代码是如何访问的。 pom依赖&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"…

半导体、晶体管、集成电路、芯片、CPU、单片机、单片机最小系统、单片机开发板-概念串联辨析

下面概念定义从小到大串联&#xff1a; 半导体&#xff08;semiconductor&#xff09;&#xff1a; 是一类常温下导电性能介于导体与绝缘体之间的材料&#xff0c;这种材料的导电性可以随着外部环境比如电压、温度、光照的变换而改变。常见的半导体材料有硅、锗、砷化镓等。 晶…

学习路之phpstudy--安装mysql5.7后在my.ini文件中无法修改sql_mode

windows环境下使用phpstudy安装mysql5.7后需要修改mysql中的sql_mode配置&#xff0c;但是在phpstudy中打开mysql配置文件my.ini后&#xff0c; 通过查找找不到sql_mode或sql-mode&#xff0c; 此时无法在my.ini文件中直接进行修改&#xff0c;可以使用mysql命令进行修改&#…

了解大模型:开启智能科技的新篇章

在当今科技飞速发展的时代,人工智能(AI)已经成为推动社会进步的重要力量。而在AI的众多技术分支中,大模型(Large Model)以其强大的数据处理能力和卓越的性能,正逐渐成为研究和应用的热点。本文旨在科普大模型的基本概念、与大数据的关系以及与人工智能的紧密联系,帮助读…

多目标粒子群优化(Multi-Objective Particle Swarm Optimization, MOPSO)算法

概述 多目标粒子群优化&#xff08;MOPSO&#xff09; 是粒子群优化&#xff08;PSO&#xff09;的一种扩展&#xff0c;用于解决具有多个目标函数的优化问题。MOPSO的目标是找到一组非支配解&#xff08;Pareto最优解&#xff09;&#xff0c;这些解在不同目标之间达到平衡。…

联想ThinkServer服务器主要硬件驱动下载

联想ThinkServer服务器主要硬件驱动下载&#xff1a; 联想ThinkServer服务器主要硬件Windows Server驱动下载https://newsupport.lenovo.com.cn/commonProblemsDetail.html?noteid156404#D50