Android开发知识学习——HTTPS

news/2025/1/18 7:24:25/

文章目录

  • 定义
  • HTTPS连接
  • HTTPS 连接建立的过程
  • 课后题

定义

  • HTTP Secure / HTTP over SSL / HTTP over TLS

  • SSL:Secure Socket Layer -> TLS Transport Layer Security

  • 定义:在HTTP之下增加的一个安全层,用于保障HTTP的加密传输

  • 本质:在客户端和服务器之间用非对称加密协商出一套对称密钥,每次发送信息之前将内容加密,收到之后解密,达到内容的加密传输

  • 为什么不直接用非对称加密?
    非对称加密由于使用了复杂了数学原理,因此计算相当复杂,如果完全使用非对称
    加密来加密通信内容,会严重影响网络通信的性能

HTTPS连接

  1. 客户端请求建立TLS连接
  2. 服务器发回证书
  3. 客户端验证服务器证书
  4. 客户端信任服务器后,和服务器协商对称密钥
  5. 使用对称密钥开始通信

HTTPS 连接建立的过程

  1. Client Hello 请求建立信息
    在这里插入图片描述

  2. Server Hello 服务端把消息发回客户端
    在这里插入图片描述

  3. 服务器证书 信任建立
    在这里插入图片描述

  4. Pre-master Secret 算出Master Secret算出对称加密用的密钥
    在这里插入图片描述

  5. 客户端通知:将使用加密通信
    在这里插入图片描述

  6. 客户端发送:Finished
    在这里插入图片描述

  7. 服务器通知:将使用加密通信
    在这里插入图片描述

  8. 服务器发送:Finished
    在这里插入图片描述

课后题

1.【单选题】HTTPS 的消息传输为什么要用对称加密,而不是非对称加密?
A. 因为对称加密更安全
B. 因为对称加密性能更好
C. 因为非对称加密的历史太短,不是所有服务器都兼容非对称加密

答案: B
答案解析:HTTPS 的消息传输使用对称加密而不是非对称加密,主要是因为对称加密的性能更好。非对称加密虽然安全性更高,但由于其算法复杂度较高,导致加密和解密的速度较慢。相比之下,对称加密的算法简单,加密和解密的速度更快,可以更好地满足 HTTP 协议对消息传输的实时性要求。因此,在 HTTPS 中使用对称加密可以更好地保障消息传输的效率和安全性。

2.【单选题】HTTPS 连接建立过程中,证书的作用在于?
A. 让客户端确信和自己通信的对象确实是自己认为的对象
B. 让客户端确信自己访问的网站不是非法网站
C. 让客户端确信自己的计算机是足够安全的,没有被入侵

答案: A
答案解析:HTTPS 连接建立过程中,证书的主要作用是让客户端确信和自己通信的对象确实是自己认为的对象。证书是由权威的第三方机构颁发的,包含了服务器的公钥和相关信息,其中包含证书颁发机构(CA)、主题、公钥、有效期等。客户端在建立 HTTPS 连接时,会首先获取服务器证书,通过验证证书的合法性和有效性来确认服务器的身份。因此,证书在 HTTPS 连接建立过程中起着至关重要的作用,可以确保通信的安全性和可信度

3.【多选题】HTTPS 的连接建立过程的证书验证这一步,主要是验证证书的哪些内容?
A. 证书的合法性
B. 证书持有方近期无犯罪史
C. 证书持有方近期无网络犯罪史
D. 证书的 Host 归属与客户端期望的一致性

答案: A、D
答案解析:HTTPS 的连接建立过程的证书验证这一步,主要是验证证书的以下内容:
A. 证书的合法性:证书是否由权威的第三方机构颁发,是否在有效期内。
D. 证书的 Host 归属与客户端期望的一致性:证书是否与客户端期望访问的网站或服务相关联。
B和C选项关于证书持有方的犯罪史与网络犯罪史的内容并不属于HTTPS连接建立过程中证书验证的主要内容。


http://www.ppmy.cn/news/1187044.html

相关文章

记一次win10找不到msvbvm50.dll的问题-解决

下载 在运行程序的时候遇到。 先下载MSVBVM50.DLL msvbvm50.dll下载地址 把文件放到你的系统路径。它的默认路径是在: C:\Windows\System (Windows 95/98/Me),C:\WINNT\System32 (Windows NT/2000),C:\Windows\System32 (Windows XP, Vista, 7, 8, 8.1, 10). 在…

MySQL导入导出优化

在实际应用中,我们经常需要将大量数据从MySQL数据库中导入或导出。如果数据量较大,导入导出时可能会导致性能问题或失败。本文将介绍一些MySQL数据导入导出的优化技巧,帮助大家更高效地完成数据迁移。 1. 关闭自动提交事务 在进行大数据量导…

Python Django 之全局配置 settings 详解

文章目录 1 概述1.1 Django 目录结构 2 常用配置:settings.py2.1 注册 APP:INSTALLED_APPS2.2 模板路径:TEMPLATES2.3 静态文件:STATICFILES_DIRS2.4 数据库:DATABASES2.5 允许访问的主机:ALLOWED_HOSTS 1 …

​学习一下,什么是预包装食品?​

预包装食品,指预先定量包装或者制作在包装材料和容器中的食品;包括预先定量包装以及预先定量制作在包装材质和容器中并且在一定量限范围内具有统一的质量或体积标识的食品。简单说, 就是指在包装完成后即具有确定的量值,这一确定的…

如何让报修流程更高效?“的修”报修管理软件有什么优势?

在这个数字化时代,报修软件已经成为了企业和机构运维过程中不可或缺的一部分。它不仅可以帮助我们提高报修效率,还可以减少人工操作,降低错误率。今天,我要为大家介绍一款备受好评的报修软件——“的修”报修软件。   一、关于“…

左移测试,如何确保安全合规还能实现高度自动化?

「云原生安全既是一种全新安全理念,也是实现云战略的前提。 基于蚂蚁集团内部多年实践,云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IA…

【数据结构与算法】二叉树基础OJ--下(巩固提高)

前言: 上一篇文章我们讲到二叉树基础oj题目的练习,此篇文章是完成基础oj练习的完结篇。 传送-->【数据结构与算法】二叉树基础OJ -- 上 (巩固提高)-CSDN博客 💥🎈个人主页:​​​​​​Dream_Chaser~ &#x1f388…

软考 系统架构设计师系列知识点之净室软件工程(1)

所属章节: 第5章. 软件工程基础知识 第5节. 净室软件工程 1. 概述 净室(Cleaning Room)软件工程是一种应用数学与统计学理论,以经济的方式生产高质量软件的工程技术,力图通过严格的工程化的软件过程达到开发中的零缺…