【计算机网络】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 不是绝对安全:它防止的是传输过程中的窃听和篡改,但无法防止: 用户主动泄露密码(如钓鱼网站)。

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

相关推荐
optimistic_chen1 小时前
【Java EE初阶 --- 网络原理】网络层---IP协议,数据链路层---以太网协议
网络·笔记·网络协议·tcp/ip·java-ee·文件io
charlie1145141914 小时前
计算机网络八股文——TCP,UDP
网络·网络协议·tcp/ip·计算机网络·面试·udp·八股文
千码君20165 小时前
计算机网络:什么是光猫
计算机网络·光猫·光电转换·adsl拨号上网·以太网光信号·光调制解调器
DemonAvenger9 小时前
Go语言中的gRPC:原理与实战
网络协议·架构·go
mortimer9 小时前
Tenacity:一行代码实现简洁优雅的遇错自动重试逻辑
人工智能·python·网络协议
zhangjin12229 小时前
kettle插件-kettle http client plus插件,轻松解决https接口无法调用&文件流下载问题
大数据·http·https·etl·kettle·kettle教程·kettle插件
敲上瘾9 小时前
从“碎片化”到“完美重组”:IP报文的分片艺术
网络·网络协议·tcp/ip·ip
_Rookie._17 小时前
http触发预检请求条件
网络·网络协议·http
Fantastic_sj21 小时前
TCP/UDP讲解及主要区别
网络协议·tcp/ip·udp
t***03031 天前
域名https证书
网络协议·http·https