【计算机网络】HTTPS

一、HTTPS如何实现加密传输的?

  1. 加密通信(防止窃听) 对称加密:传输实际数据(AES),速度快,适合大量数据。

    非对称加密:握手阶段(RSA)交换对称密钥,保证密钥传输的安全。

  2. 身份验证(防止冒充、防止中间人攻击) 数字证书:服务器通过 ​CA(证书颁发机构)​​ 签发的数字证书证明其身份。
    • 证书:
      • 服务器域名、公钥、有效信息
      • CA 的数字签名(用 CA 私钥生成,客户端用 CA 公钥验证)。
  3. 数据完整性(防篡改) 消息认证码(MAC)​​:TLS 协议通过哈希算法(如 SHA-256)生成消息摘要,确保数据在传输过程中未被篡改。
  4. 握手过程
    1. ClientHello:客户端发送支持的加密套件(如 ECDHE-RSA-AES256-GCM-SHA384)和随机数。
    2. ServerHello:服务器选择加密套件,返回随机数和数字证书。
    3. 密钥交换:
      • 服务器发送公钥(证书中的公钥)。
      • 客户端验证证书后,生成预主密钥(Pre-Master Secret),用服务器公钥加密后发送。
      • 双方通过 ECDHE 等算法生成相同的会话密钥(对称密钥)。
    4. 加密通信:后续数据均用会话密钥加密传输。

二、HTTPS绝对安全吗?

  1. HTTPS 不是绝对安全:它防止的是传输过程中的窃听和篡改,但无法防止: 用户主动泄露密码(如钓鱼网站)。

    服务器本身被入侵(如数据库泄露)。

相关推荐
浩浩测试一下2 小时前
Authpf(OpenBSD)认证防火墙到ssh连接到SSH端口转发技术栈 与渗透网络安全的关联 (RED Team Technique )
网络·网络协议·tcp/ip·安全·网络安全·php
孤寂大仙v3 小时前
【计算机网络】网络层IP协议与子网划分详解:从主机通信到网络设计的底层逻辑
tcp/ip·计算机网络·php
Think Spatial 空间思维3 小时前
【实施指南】Android客户端HTTPS双向认证实施指南
android·网络协议·https·ssl
'tubug'4 小时前
数字证书_CA_详解
https·ssl
昔我往昔4 小时前
https和http有什么区别-http各个版本有什么区别
网络协议·http·https
漫步者TZ4 小时前
【Netty系列】解决TCP粘包和拆包:LengthFieldBasedFrameDecoder
java·网络协议·tcp/ip·netty
alien爱吃蛋挞6 小时前
【JavaEE】万字详解HTTP协议
网络·网络协议·http
Bright16688 小时前
mkcert实现本地https
网络协议·http·https
hgdlip8 小时前
重启路由器ip不变怎么回事?原因分析与解决方法
网络协议·tcp/ip·智能路由器
欧亚学术8 小时前
计算机网络领域所有CCF-A/B/C类期刊汇总!
大数据·计算机网络·计算机·论文·sci·期刊·发表