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

相关推荐
zquwei几秒前
SpringCloudGateway+Nacos注册与转发Netty+WebSocket
java·网络·分布式·后端·websocket·网络协议·spring
爱吃西瓜的小菜鸡几秒前
【C语言】判断回文
c语言·学习·算法
小A15923 分钟前
STM32完全学习——SPI接口的FLASH(DMA模式)
stm32·嵌入式硬件·学习
群联云防护小杜35 分钟前
如何给负载均衡平台做好安全防御
运维·服务器·网络·网络协议·安全·负载均衡
ihengshuai35 分钟前
HTTP协议及安全防范
网络协议·安全·http
岁岁岁平安1 小时前
spring学习(spring-DI(字符串或对象引用注入、集合注入)(XML配置))
java·学习·spring·依赖注入·集合注入·基本数据类型注入·引用数据类型注入
武昌库里写JAVA1 小时前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
qq_589568101 小时前
数据可视化echarts学习笔记
学习·信息可视化·echarts
兔C2 小时前
微信小程序的轮播图学习报告
学习·微信小程序·小程序
海海不掉头发2 小时前
苍穹外卖-day05redis 缓存的学习
学习·缓存