Android开发知识学习——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连接建立过程中证书验证的主要内容。

相关推荐
知识分享小能手5 小时前
Redis入门学习教程,从入门到精通,Redis 概述:知识点详解(1)
数据库·redis·学习
red_redemption6 小时前
自由学习记录(135)
学习
百结2148 小时前
Nginx安全防护与HTTPS部署实战笔记
nginx·安全·https
金山几座8 小时前
C#学习记录-事件
开发语言·学习·c#
_下雨天.8 小时前
Nginx安全防护与HTTPS部署实战笔记
nginx·安全·https
X在敲AI代码8 小时前
推荐系统学习 D1推荐系统核心概述
学习·推荐算法
我的xiaodoujiao8 小时前
API接口自动化测试详细图文教程学习系列1--序章
python·学习·pytest
圆弧YH8 小时前
服务器及网站操作
学习
Alphapeople8 小时前
具身智能学习路线
学习
肖恭伟9 小时前
VScode入门学习
ide·vscode·学习