https为何安全?

去皮卡多  金牌会员 | 2024-8-31 04:10:30 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 561|帖子 561|积分 1683

HTTPS(超文本传输安全协议)是一种用于安全通信的网络协议,它在HTTP协议的根本上通过SSL/TLS(安全套接层/传输层安全)协议来加密数据,以保护网络数据的传输安全。

TLS/SSL 根本概念

概念源自百度百科:传输层安全性协议 TLS(Transport Layer Security),及其前身安全套接层 SSL(Secure Sockets Layer)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在 1994 年推出首版网页浏览器,网景导航者时,推出 HTTPS 协议,以 SSL 进行加密,这是 SSL 的劈头。IETF 将 SSL 进行标准化,1999 年公布第一版 TLS 标准文件。随后又公布RFC 5246(2008年8月)与RFC 6176(2011年3月)。在浏览器、邮箱、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。重要的网站,如 Google、Facebook 等也以这个协议来创建安全连线,发送数据。目前已成为互联网上保密通信的工业标准

TLS/SSL 的功能实现重要依靠于三类根本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法接纳协商的密钥对数据加密,基于散列函数验证信息的完整性
题外:

  • 握手期间所利用的的密钥交换和认证算法 (最常用的是 RSA [非对称加密]算法)
  • 加密算法 (用于握手完成后的对称加密,常用的有 AES、3DES[对称加密]等)
  • 信息摘要算法 (常用的有 SHA-256、SHA-1 和 MD5[散列函数] 等)
SSL/TLS 协议

HTTPS利用SSL/TLS协议来创建一个加密的通信通道。SSL/TLS协议的重要功能包罗:


  • 身份验证:通过证书来验证服务器的身份,确保用户连接的是正确的服务器。
  • 数据加密:利用对称加密算法来加密传输的数据,包管数据的机密性。
  • 数据完整性:通过消息认证码(MAC)或数字签名来确保数据在传输过程中未被篡改。
    SSL 和 TLS 协议可以为通信两边提供辨认和认证通道,从而包管通信的机密性和数据完整性。
TLS 协议是从Netscape SSL 3.0协议演变而来的,不外这两种协议并不兼容,SSL 已经徐徐被 TLS 取代,所以下文就以 TLS 指代安全层。 TLS 握手是启动 HTTPS 通信的过程,类似于 TCP 创建连接时的三次握手。 在 TLS 握手的过程中,通信两边交换消息以相互验证,相互确认,并确立它们所要利用的加密算法以及会话密钥 (用于对称加密的密钥)。可以说,TLS 握手是 HTTPS 通信的根本部分。
数字证书

数字证书是由可信的第三方机构(CA,证书颁发机构)颁发的,用于证明服务器的身份。证书中包罗了:


  • 公钥:服务器的公钥,用于加密客户端发送的数据。
  • 证书持有者信息:服务器的名称和其他身份信息。
  • 证书颁发机构信息:CA的名称和其他信息。
  • 证书有用期:证书的有用时间范围。
握手过程

当用户通过浏览器访问一个HTTPS网站时,会触发SSL/TLS握手过程:


  • 客户端发起连接:浏览器向服务器发送一个“Hello”消息,包罗支持的加密套件和协议版本
  • 服务器响应:服务器回复一个“Hello”消息,选择一个加密套件,并发送其数字证书
  • 证书验证:浏览器验证服务器的证书是否有用,包罗证书链的完整性和证书的有用期
  • 密钥交换:利用DH(Diffie-Hellman)密钥交换算法或ECDH(椭圆曲线Diffie-Hellman)算法生成一个会话密钥
  • 加密通信:利用会话密钥对数据进行加密,然后通过安全的通道传输

对称加密与非对称加密

非对称加密:用于在握手阶段安全地交换密钥。服务器的公钥加密数据,只有服务器的私钥才能解密


  • 对称加密:用于加密现实传输的数据。利用会话密钥进行加密,速度快,适合大量数据的加密
安全特性

前向保密:纵然服务器的私钥被泄漏,也无法解密之前的通信数据


  • 完整性校验:通过消息认证码或数字签名确保数据在传输过程中未被篡改
  • 身份验证:通过证书验证服务器的身份,防止中心人攻击
https的上风

数据加密:保护用户数据不被窃听

  • 身份验证:确保用户访问的是正确的服务器
  • 数据完整性:确保数据在传输过程中未被篡改
https这么安全,那可以被抓包吗?

理论上,HTTPS 协议本身是安全的,不轻易被“抓包”(即在传输过程中被截获和阅读)。但是,确实存在一些特定情况下可以实施抓包的方法,这些方法通常须要满足一些条件条件,而且大概陪同着安全风险
实现HTTPS抓包的几种方法:

  • 中心人攻击(MITM):攻击者通过篡改网络配置,使目标流量经过其控制的服务器,从而实现对HTTPS流量的截获和大概的解密
  • 安装根证书:攻击者通过让客户端安装一个由其控制的根证书,可以对通过该根证书签名的全部HTTPS流量进行解密。如果攻击者能够让客户端安装一个由他们控制的根证书,那么攻击者可以创建一个伪造的CA,并用这个伪造的CA签发一个看似合法的服务器证书。当客户端实验连接到服务器时:
    a.伪造证书:攻击者可以拦截服务器的原始证书,并替换为伪造的证书。
    b.证书链验证:由于客户端信托攻击者的根证书,伪造的证书在验证过程中会被认为是有用的。
    c.密钥交换:客户端利用伪造证书中的公钥加密会话密钥,并发送给攻击者(MITM代理)。
    d.中心人攻击:攻击者(MITM代理)解密会话密钥,然后利用这个密钥加密本身的会话密钥发送给服务器。此时,攻击者拥有了两个会话密钥,可以解密和重新加密客户端和服务器之间的通信。
    e.流量捕捉:攻击者可以捕捉、查看和修改客户端和服务器之间的加密通信。
  • 利用代理工具:网络调试和代理工具(如Fiddler、Charles或Wireshark)可以配置为MITM代理,用于截获和分析HTTPS流量,但这通常须要用户信托并安装代理服务器的证书
  • 利用漏洞:如果客户端或服务器存在安全漏洞,攻击者大概利用这些漏洞来解密或篡改HTTPS流量
  • 浏览器扩展或插件:恶意的浏览器扩展或插件可以捕捉并分析通过浏览器传输的HTTPS流量
  • 操作系统或网络驱动级别的工具:某些操作系统或网络驱动级别的工具能够捕捉网络流量,包罗加密的HTTPS流量
  • 合作方:如果通信的一方与攻击者合作,攻击者大概获得解密密钥
    合法性和道德考量: 大多数合法的HTTPS抓包运动都是在用户知情并同意的情况下进行的,例如在开辟和测试情况中。然而,未经授权的抓取和解密HTTPS流量通常被视为非法行为,因为它侵犯了通信的隐私和安全性
    工具配置示例: Wireshark和Charles等工具可以用于捕捉HTTPS流量,但这通常须要用户或管理员进行特定配置,例如安装根证书或设置SSLKEYLOGFILE情况变量以记录TLS会话密钥。这些操作可以资助开辟者或网络安全专家在合法和道德的范围内分析和调试HTTPS流量

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表