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连接建立过程中证书验证的主要内容。

相关推荐
我们的五年6 分钟前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
一棵开花的树,枝芽无限靠近你29 分钟前
【PPTist】添加PPT模版
前端·学习·编辑器·html
VertexGeek1 小时前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
二进制_博客1 小时前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink
codebolt2 小时前
ADS学习记录
学习
刽子手发艺2 小时前
WebSocket详解、WebSocket入门案例
网络·websocket·网络协议
Komorebi.py3 小时前
【Linux】-学习笔记05
linux·笔记·学习
速盾cdn6 小时前
速盾:CDN是否支持屏蔽IP?
网络·网络协议·tcp/ip
朝九晚五ฺ10 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
猫爪笔记12 小时前
前端:HTML (学习笔记)【1】
前端·笔记·学习·html