IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> [面试直通版]网络协议面试核心之HTTPHTTPSDNS-TLS技术 -> 正文阅读

[网络协议][面试直通版]网络协议面试核心之HTTPHTTPSDNS-TLS技术

点击->计算机网络复习的文章集<-点击

目录

典型问题

回顾HTTP VS HTTPS

TLS

与SSL

TLS 是进行 HTTPS 连接的重要环节

TLS 在实现上分为 记录层 和 握手层 两层

加密

数字签名

加了密的校验和

数字证书

服务端大部分使用 x509 v3 派生证书,主要信息有

TLS 再分析

SSL/TLS 实际上混合使用了对称和非对称密钥,主要分成这几步


  • 典型问题

  • 请介绍HTTP、HTTPS协议的区别?
  • 请简述TLS技术的工作原理?
  • 回顾HTTP VS HTTPS

  • HTTPS(Secure)是安全的HTTP协议
    • HTTP HTTPS
  • 安全性 不安全 安全
  • 复杂度 低 高
  • 效率 高 低
  • 端口 一般是80 443
  • TLS

  • 与SSL

  • SSL 是 Netscape 开发的专门用来保护 Web 通讯,目前版本为 3.0
  • TLS 是 IETF 制定的新协议,建立在 SSL 3.0 之上
  • 所以 TLS 1.0 可以认为是 SSL 3.1
  • TLS 是进行 HTTPS 连接的重要环节

  • 通过了 TLS 层进行协商,后续的 HTTP 请求就可以使用协商好的对称密钥进行加密
  • 只需配置浏览器和服务器相关设置开启 TLS,即可实现 HTTPS,TLS 高度解耦
  • 可装可卸,与上层高级应用层协议相互协作又相互独立
  • TLS 在实现上分为 记录层 和 握手层 两层

  • 其中握手层又含四个子协议:
  • 握手协议 (handshake protocol)
  • 更改加密规范协议 (change cipher spec protocol)
  • 应用数据协议 (application data protocol) 和警告协议 (alert protocol)
  • 记录层包含TLS记录协议
  • 加密

  • TLS/SSL 的功能实现主要依赖于三类基本算法:
  • 散列函数 Hash、对称加密和非对称加密
  • 其利用非对称加密实现身份认证和密钥协商对称加密算法采用协商的密钥对数据加密基于散列函数验证信息的完整性
  • TLS 的基本工作方式是
  • 客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥
  • 然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而可以保证信息只能通信双方获取
  • 例如,在 HTTPS 协议中,客户端发出请求,服务端会将公钥发给客户端,客户端验证过后生成一个密钥再用公钥加密后发送给服务端(非对称加密)
  • 双方会在 TLS 握手过程中生成一个协商密钥(对称密钥),成功后建立加密连接
  • 通信过程中客户端将请求数据用协商密钥加密后发送,服务端也用协商密钥解密,响应也用相同的协商密钥
  • 后续的通信使用对称加密是因为对称加解密快
  • 而握手过程中非对称加密可以保证加密的有效性,但是过程复杂,计算量相对来说也大
  • 数字签名

  • 加了密的校验和

    • 证明是原作者,只有原作者可以私钥来进行加密
    • 证明没有篡改,中途篡改校验和就不再匹配
  • 校验和使用摘要算法生成,比如 MD5,SHA
  • 数字证书

  • 受信任组织担保的用户或公司的信息,没有统一的标准
  • 数字证书是可信任组织颁发给特定对象的认证
  • 服务端大部分使用 x509 v3 派生证书,主要信息有

    • 字段 举例
    • 证书序列号 12:34:56:78
    • 证书过期时间 Wed,Sep 17,2017
    • 站点组织名 Lynch
    • 站点DNS主机名 lynch-lee.me
    • 站点公钥 xxxx
    • 证书颁发者 RSA Data Security
    • 数字签名 xxxx
  • 服务端把证书(内含服务端的公钥)发给客户端,客户端使用颁布证书的机构的公钥来解密,检查数字签名,取出公钥
  • 取出服务端的公钥,将后面请求用的对称密钥 X 传递给服务端,后面就用该密钥进行加密传输信息
  • TLS 再分析

  • HTTPS 是在 HTTP 和 TCP 之间加了一层 TLS
  • 这个 TLS 协商了一个对称密钥来进行 HTTP 加密
  • SSL/TLS 实际上混合使用了对称和非对称密钥,主要分成这几步

  • 使用非对称密钥建立安全的通道
    • 客户端请求 Https 连接,发送可用的 TLS 版本和可用的密码套件
    • 服务端返回证书,密码套件和 TLS 版本
  • 用安全的通道产生并发送临时的随机对称密钥
    • 生成随机对称密钥,使用证书中的服务端公钥加密, 发送给服务端
    • 服务端使用私钥解密获取对称密钥
  • 使用对称密钥加密信息,进行交互
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:55:47  更:2022-11-05 00:56:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 0:02:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码