前言

HTTP本质上就是一个TCP连接,只不过协议规定了使用80端口,以及发送命令或数据的格式

而TCP本身是没有加密的功能。

因此,HTTP在数据传输过程中,数据就是以明文的方式传输的

由于数据没有被加密,所以很容易出现数据窃听、篡改或者是身份伪造的不安全的行为。

http的时代运营商还经常会往http的网页里面插入广告,能插iframe当然也能加javascript

HTTPS概念

HTTPS (全称:Hypertext Transfer Protocol Secure)

是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。

HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。

这个系统提供了身份验证与加密通讯方法。

HTTPS不是协议,而是通过SSL/TLS协议提供的安全连接进行的HTTP通信

HTTPS 使用 443 作为已知端口

HTTPS 原理

① 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器

② 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数

③ 客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加 / 解密),并将加密后的信息发送给服务器

④ 客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥(参考 DH密钥交换算法)

⑤ 客户端将所有握手消息的 MAC 值发送给服务器

⑥ 服务器将所有握手消息的 MAC 值发送给客户端

HTTPS与HTTP的区别

HTTPS和HTTP的区别主要如下:

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

证书

服务端在使用 HTTPS 前,需要向 CA 机构申领一份数字证书,数字证书里含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书里获取公钥就行了,证书就如身份证,证明服务端公钥的权威性。

需要注意的是:申请证书的时候,需要在特定平台生成,会同时生成一对密钥对,即公钥和私钥。这对密钥对就是用来在网络通信中进行明文加密以及数字签名的。其中公钥会随着 CSR 文件,一起发给 CA 进行权威认证,私钥服务端自己保留,用来后续进行通信。

在局域网环境下HTTPS是否安全

在局域网(LAN)环境下使用 HTTPS 是否安全,核心取决于证书的合法性、秘钥管理、网络边界防护三个关键因素。HTTPS 的安全本质是“加密传输 + 身份认证”,其安全性不依赖是否为公网,但局域网的特殊场景会影响部分安全细节。

在局域网的环境下,HTTPS 依然能解决以下问题:

  1. 防内部窃听:局域网内的其他设备(如同事电脑、未授权服务器、监听工具)无法拦截明文数据(比如测试环境的接口参数、用户密码、业务数据)。

  2. 防篡改:确保传输的数据(如测试用例数据、接口返回结果)不会被局域网内的设备篡改(比如中间人替换返回值,导致测试结果失真)。

  3. 身份认证:确认你访问的内部服务(如测试环境的后端接口、内部管理系统)是真实的,而非被伪造的恶意服务(比如局域网内的钓鱼服务器)。

  4. 符合合规要求:部分行业(如金融、医疗)的内部系统即使在局域网,也要求通过 HTTPS 保障数据传输安全,测试时需模拟生产环境的安全配置。

但如果https不满足证书来源合法/可信,密钥管理安全,网络边界防护到位,协议配置安全等条件,局域网 HTTPS也可能存在安全漏洞,如:

  1. 使用未信任的自签名证书,且未导入根证书:浏览器会提示“证书不受信任”,用户可能忽略警告继续访问,此时中间人可伪造证书拦截数据(因为设备不验证证书合法性)。在软件测试的场景下,接口测试工具(如 Postman、JMeter)默认会拒绝未信任证书,若手动关闭“证书验证”(如 Postman 的 Disable SSL verification),则测试过程中数据可能被窃听。

  2. 密钥泄露或弱密钥若服务器私钥被局域网内的恶意人员获取,可伪造相同证书,发起中间人攻击,解密所有 HTTPS 传输数据。

  3. 局域网边界开放如公司办公网允许访客设备接入,攻击者可通过访客设备进入局域网,利用 ARP 欺骗、DNS 劫持等方式篡改 HTTPS 连接,拦截数据。

  4. 协议/加密套件配置不安全启用 TLS 1.0等旧协议,攻击者可通过降级攻击(如 POODLE 漏洞)破解加密数据。

参考文章

  1. 计算机网络(七)—— https协议与网络安全证书_网站证书-CSDN博客

  2. HTTP 与 HTTPS 全方位深度解析:从原理到实践的安全通信指南-CSDN博客