高级网络安全——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,一经查实,立即删除!

相关文章

springBoot整合 Tess4J实现OCR识别文字(图片+PDF)

1. 环境准备 JDK 8 或更高版本Maven 3.6 或更高版本Spring Boot 2.4 或更高版本Tesseract OCR 引擎Tess4J 库 2. 安装 Tesseract OCR 引擎 下载地址: Home UB-Mannheim/tesseract Wiki GitHub linux直接安装:sudo apt-get install tesseract-ocr 3.…

Cocos creator 3.8 一些事件的使用,加载预制体的两种方式 5

没搞懂rotation与angle,rotation既然是个四元素,可面板上的是什么Vec3的方式显示,而且发现旋转节点,哪怕单独的旋转y轴,有时候三个值也会发生变化,猜测可能引擎内部是按照一定的规则,来表示这个…

如何在react中使用 indexDb

下载依赖 npm install localforage 接下来像使用 localstore一样使用它 import React, { useEffect } from react; import localForage from localforage;const App () > {useEffect(() > {// 保存数据async function storeData() {try {await localForage.setItem(us…

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 年,鸿蒙系统首个开发者预览版的发布,如同夜空中的一颗璀…

Vue Router 4 中的createWebHistory 显示不出重定向后的网页内容和 createWebHashHistory的区别

Vue Router 4 是 Vue.js 3 的官方路由库,它提供了多种方式来创建路由实例。createWebHistory 和 createWebHashHistory 都是 Vue Router 4 中用于创建历史记录管理器的方法。 1. createWebHistory 用途:使用浏览器的 HTML5 History API 来管理路由。UR…

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

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

#Verilog HDL# Verilog中的ifdef/ifndef/else等用法

目录 示例1: 示例2: 示例3: 示例4: 通过示例讲解,`ifdef/`ifndef/`elsif/`else/`endif 的用法 示例1: // Style #1: Only single `ifdef `ifdef <FLAG>// Statements `endif// Style #2: `ifdef with `else part `ifdef <FLAG>// Statements `else// Sta…

Intelli下载Gradle返回Connect Time Out

文章目录 问题解决参考 问题 打开intelliJ项目后&#xff0c;下载Gradle时返回Connect Time Out, 需要对gradle wrapper进行配置。 解决 我的IntelliJthsg版本&#xff1a; IntelliJ IDEA 2023.2.4 (Community Edition) Build #IC-232.10203.10, built on October 25, 2023…

python: Serialize and Deserialize complex JSON using jsonpickle

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

软件测试面试之重要的名词解释

1、测试(testing) 包括了所有生命周期活动的过程&#xff0c;包括静态的和动态的。涉及计划、准备和对软件产品及其相关工作产品的评估&#xff0c;用以确定它们是否满足了需求&#xff0c;证明它们是否符合了目标&#xff0c;以及是否发现了缺陷。 2.计算机软件的测试目的是 …

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

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

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

摘要 四个算式“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))”是等价的。但是&#xff0c;在 MATLAB 中计算它们&#xff0c;输出不完全一致&#xff1a;中间两个算式的输出中含有错误数…

递归算法专题一>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 …

【系统架构设计师】真题论文: 论软件可靠性设计技术的应用(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2013年 试题3)解题思路论文素材参考软件可靠性设计技术概念主要的软件可靠性设计技术软件可靠性设计技术的应用流程真题题目(2013年 试题3) 随着软件的日益普及,系统中软件成分不断增加,使得系统对…

论文阅读 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;一个预先训练的…

麦肯锡报告 | 未来的经济引擎:解读下一代竞争领域

随着科技和商业的快速发展&#xff0c;一些具有高增长性和高动态性的行业正在悄然崛起&#xff0c;成为推动全球经济发展的新引擎。这些行业被称为“竞争领域”&#xff08;Arenas&#xff09;。据麦肯锡全球研究院&#xff08;MGI&#xff09;的研究&#xff0c;这些领域有望在…