博客
关于我
面试前必刷的:HTTPS原理,给你整明白的
阅读量:184 次
发布时间:2019-02-28

本文共 1432 字,大约阅读时间需要 4 分钟。

HTTPS安全机制深度解析

HTTPS 是当前广泛使用的安全传输协议,相较于其非安全的HTTP版本,HTTPS通过SSL(Secure Sockets Layer)协议实现数据加密和认证,有效保障了网络通信的安全性。本文将从基础到上层详细解析HTTPS的安全机制。

为什么用了HTTPS就是安全的?

HTTPS的安全性主要体现在以下几个方面:

  • 数据传输加密:HTTPS实现了数据的加密传输,防止数据在传输过程中被窃取或篡改。
  • 身份认证:通过证书验证,确保通信的另一端是合法的网站或服务。
  • 防止中间人攻击:HTTPS防止了“中间人”攻击,这种攻击手法会劫持用户的请求,伪装成合法服务器,窃取数据。
  • HTTPS底层原理

    HTTPS的工作流程可以分为以下几个阶段:

  • 证书验证阶段

    • 浏览器向服务器提出HTTPS请求。
    • 服务器返回包含公钥的SSL证书。
    • 浏览器验证证书的合法性,包括校验证书是否已被吊销、是否被篡改等。
  • 数据传输阶段

    • 证书验证通过后,浏览器生成本地随机数。
    • 通过证书中的公钥加密随机数,发送给服务器。
    • 服务器利用私钥解密随机数,结合对称加密算法加密返回数据。
    • 浏览器利用本地随机数解密服务器返回的加密数据,确保数据完整性和真实性。
  • 为什么需要CA认证机构颁发证书?

  • 防止中间人攻击

    • 如果没有CA认证机构的参与,任何人都可以伪造证书,导致通信双方无法确认对方的身份。
    • CA机构通过审核和签发过程,确保证书的合法性和可信度。
  • 信任基础建设

    • CA机构建立了一个信任基础,用户可以预先信任这些机构签发的证书。
    • 这种信任体系是HTTPS安全的基础,确保用户不会被误导访问未经授权的网站。
  • 浏览器如何验证证书合法性?

  • 基本信息验证

    • 浏览器首先会验证证书的有效期、域名、组织信息等基础信息是否与服务器声明的一致。
  • 签名验证

    • 浏览器会检查证书的签名是否由可信的CA机构签发,通过对比预先安装的根证书。
    • 如果证书签名无效,浏览器会提示安全风险。
  • 吊销列表验证

    • 通过CRL或OCSP协议,浏览器可以实时查询证书是否已被吊销。
  • 完整性验证

    • 浏览器会校验证书内容是否完整,防止证书篡改。
  • HTTPS是否绝对安全?

  • 不完全安全

    • HTTPS防止了未授权的窃听和篡改,但并非绝对安全。
    • 如果用户会话被劫持,且用户主动授予权限,仍可能存在数据窃取风险。
  • 防护措施

    • HTTPS提供了基础的安全保障,用户需配合采取额外防护措施,如安装安全软件、定期更新系统等。
  • 本地随机数被窃取怎么办?

  • 随机数存储位置

    • 本地随机数存储于用户的本地设备,HTTPS协议无法直接控制或保护这些随机数。
  • 安全措施

    • 用户需采取额外防护措施,如安装杀毒软件、防木马保护等,确保随机数不会被恶意软件窃取。
  • HTTPS会被抓包吗?

  • 加密数据的特性

    • HTTPS使用加密协议,抓包工具无法直接读取传输内容,但需注意以下几点:
      • 正确配置证书,避免使用自签名证书。
      • 关注浏览器的安全警告,避免误操作。
      • 确保设备安全性,防止被恶意软件篡改。
  • 防止抓包的方法

    • 使用专用抓包工具,并生成合法证书安装到目标设备。
    • 注意抓包工具的使用范围,避免造成数据泄露。
  • HTTPS的意义

    • HTTPS主要防止未授权的数据窃听,对于定向的抓包攻击,仍需用户主动配合,无法完全防止。
  • 总结

    HTTPS通过SSL协议实现数据加密和身份认证,有效防止了传输过程中的窃听和篡改。但其安全性并非绝对,用户需结合实际场景采取相应防护措施。

    转载地址:http://fhzc.baihongyu.com/

    你可能感兴趣的文章
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    查看>>
    mysqldump备份时忽略某些表
    查看>>
    mysqldump实现数据备份及灾难恢复
    查看>>
    mysqldump数据库备份无法进行操作只能查询 --single-transaction
    查看>>
    mysqldump的一些用法
    查看>>
    mysqli
    查看>>
    MySQLIntegrityConstraintViolationException异常处理
    查看>>
    mysqlreport分析工具详解
    查看>>
    MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
    查看>>
    Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
    查看>>
    mysql_real_connect 参数注意
    查看>>
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>
    MySQL“被动”性能优化汇总
    查看>>
    MySQL、HBase 和 Elasticsearch:特点与区别详解
    查看>>
    MySQL、Redis高频面试题汇总
    查看>>
    MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
    查看>>
    mysql一个字段为空时使用另一个字段排序
    查看>>
    MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
    查看>>