SSL、TLS、HTTPS的关系

SSL、TLS、HTTPS的关系

SSL(Secure Sockets Layer),安全套接字协议

TLS(Transport Layer Security),传输层安全性协议

TLS是SSL的升级版,两者几乎是一样的

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer),建立在SSL协议之上的HTTP协议

面试题

  1. 介绍下 HTTPS 中间人攻击

    参考答案:

    针对 HTTPS 攻击主要有 SSL 劫持攻击和 SSL 剥离攻击两种。

    SSL 劫持攻击是指攻击者劫持了客户端和服务器之间的连接,将服务器的合法证书替换为伪造的证书,从而获取客户端和服务器之间传递的信息。这种方式一般容易被用户发现,浏览器会明确的提示证书错误,但某些用户安全意识不强,可能会点击继续浏览,从而达到攻击目的。

    SSL 剥离攻击是指攻击者劫持了客户端和服务器之间的连接,攻击者保持自己和服务器之间的 HTTPS 连接,但发送给客户端普通的 HTTP 连接,由于 HTTP 连接是明文传输的,即可获取客户端传输的所有明文数据。

  2. 介绍 HTTPS 握手过程

    参考答案:

    1. 客户端请求服务器,并告诉服务器自身支持的加密算法以及密钥长度等信息
    2. 服务器响应公钥和服务器证书
    3. 客户端验证证书是否合法,然后生成一个会话密钥,并用服务器的公钥加密密钥,把加密的结果通过请求发送给服务器
    4. 服务器使用私钥解密被加密的会话密钥并保存起来,然后使用会话密钥加密消息响应给客户端,表示自己已经准备就绪
    5. 客户端使用会话密钥解密消息,知道了服务器已经准备就绪。
    6. 后续客户端和服务器使用会话密钥加密信息传递消息
  3. HTTPS 握手过程中,客户端如何验证证书的合法性

    参考答案:

    1. 校验证书的颁发机构是否受客户端信任。
    2. 通过 CRL 或 OCSP 的方式校验证书是否被吊销。
    3. 对比系统时间,校验证书是否在有效期内。
    4. 通过校验对方是否存在证书的私钥,判断证书的网站域名是否与证书颁发的域名一致。
  4. 阐述 https 验证身份也就是 TSL/SSL 身份验证的过程

    参考答案:

    1. 客户端请求服务器,并告诉服务器自身支持的加密算法以及密钥长度等信息
    2. 服务器响应公钥和服务器证书
    3. 客户端验证证书是否合法,然后生成一个会话密钥,并用服务器的公钥加密密钥,把加密的结果通过请求发送给服务器
    4. 服务器使用私钥解密被加密的会话密钥并保存起来,然后使用会话密钥加密消息响应给客户端,表示自己已经准备就绪
    5. 客户端使用会话密钥解密消息,知道了服务器已经准备就绪。
    6. 后续客户端和服务器使用会话密钥加密信息传递消息
  5. 为什么需要 CA 机构对证书签名

    主要是为了解决证书的可信问题。如果没有权威机构对证书进行签名,客户端就无法知晓证书是否是伪造的,从而增加了中间人攻击的风险,https 就变得毫无意义。

  6. 如何劫持 https 的请求,提供思路

    https 有防篡改的特点,只要浏览器证书验证过程是正确的,很难在用户不察觉的情况下进行攻击。但若能够更改浏览器的证书验证过程,便有机会实现 https 中间人攻击。

    所以,要劫持 https,首先要伪造一个证书,并且要想办法让用户信任这个证书,可以有多种方式,比如病毒、恶意软件、诱导等。一旦证书被信任后,就可以利用普通中间人攻击的方式,使用伪造的证书进行攻击。

相关推荐
卓码软件测评27 分钟前
【第三方软件测试测评机构:使用LoadRunner测试HTTPS/SSL协议应用的配置和证书处理 】
网络协议·测试工具·https·测试用例·ssl
七夜zippoe43 分钟前
gRPC高性能RPC框架实战:从Protocol Buffers到流式传输的完整指南
网络·python·网络协议·rpc·protocol
一路往蓝-Anbo1 小时前
第 1 篇:对象池模式 (Object Pool) —— 裸机下的动态内存革命
jvm·数据库·stm32·单片机·嵌入式硬件·网络协议·tcp/ip
fiveym2 小时前
HTTPS进阶学习:TLS版本差异+证书区别+性能优化+Nginx配置实操
性能优化·https
冀辉2 小时前
局域网部署时实现基于https的业务系统访问
网络协议·http·https
七夜zippoe2 小时前
WebSocket实时通信系统构建:从握手协议到生产级实战
网络·python·websocket·网络协议·心跳
我送炭你添花2 小时前
树莓派 3B+ 部署 TR-069 ACS(自动配置服务器)GenieACS 实录
运维·服务器·网络协议
码农学院3 小时前
Windows 服务中获取本机的 IP 地址
网络·网络协议·tcp/ip
Selenium-Wang4 小时前
动态HTTP隧道代理IP:从配置到实战的完整指南
网络协议·tcp/ip·http
以太浮标4 小时前
华为eNSP模拟器综合实验之- 通过流策略实现Vlan内二/三层隔离
网络·网络协议·华为