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

embedded/2024/11/29 0:42:58/

文章目录

  • 一、前言
  • 二、重点概念
      • 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.ppmy.cn/embedded/141304.html

相关文章

Spring Boot OA:构建企业级办公自动化平台

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了企业OA管理系统的开发全过程。通过分析企业OA管理系统管理的不足,创建了一个计算机管理企业OA管理系统的方案。文章介绍了企业OA管理系统的系统分析部…

计算机网络的功能

目录 信息交换 资源共享 分布式处理 可靠性增强 集中管理 信息交换 计算机网络最基本的功能之一是允许不同设备之间的数据通信。这包括电子邮件的发送和接收、即时消息的传递、文件传输等。通过网络,用户可以轻松地与全球各地的其他人进行沟通和协作。 信息交…

shell脚本基础学习_总结篇(完结)

细致观看可以,访问shell脚本学习专栏,对应章节会有配图https://blog.csdn.net/2201_75446043/category_12833287.html?spm1001.2014.3001.5482 导语 一、shell脚本简介 1. 定义: 2. 主要特点: 3. shell脚本的基本结构 4. S…

4.6 JMeter HTTP信息头管理器

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅! 文章目录 前言1 HTTP信息头管理器的位置2 常见的HTTP请求头3 添加 HTTP 信息头管理器4 应用场景 前言 在 JMeter 中,HTTP信息头管理器(HTTP Header Manager&#xff09…

【python】摄像头调用马赛克恶搞

摄像头调用 代码展示安装库代码解释实时视频画面添加马赛克效果 使用python调用电脑摄像头 代码展示 import cv2 cap cv2.VideoCapture(0) while(cap.isOpened()):retval, frame cap.read()cv2.imshow(Live, frame)if cv2.waitKey(5) > 0:break shao安装库 这个代码引用…

透明化教育管理:看板如何提升班级整体效率

随着教育信息化的不断推进,传统的教学和班级管理方式逐渐暴露出时间紧、任务繁、多任务并行等问题。看板管理,作为一种高效的可视化工具,正在成为教师管理教学、提升班级协作与互动的重要利器。通过透明化、系统化的管理方式,看板…

Spring-02-springmvc

2. 什么是SpringMVC 2.1. 概述 Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。 为什么要学习SpringMVC呢? Spring MVC的特点: 轻量级,简单易学高效 , 基于请求响应的MVC框架与Spring兼容性好,无缝…

在接口实现时使用自定义对象的方法(非工具类,和单例模式)

接口实现的要求:如果是在实现接口的方法中创建对象,并且接口方法的定义中没有包含对该对象方法的调用,那么在实现类中也不应该调用该对象的方法。这是因为接口定义了一组规范,实现类应该遵循这些规范,而不是随意添加额…