计算机网络-HTTP相关知识-HTTPS基础

HTTPS与HTTP的区别

  • 在TCP和HTTP网络层之间加入了SSL/TLS安全协议。
  • HTTPS在TCP三次握手之后,还需进行SSL/TLS的握手过程。
  • HTTP默认端口号是80,HTTPS默认端口号是443。

HTTPS解决的风险

HTTPS主要解决了以下三种风险:

  • 窃听风险:HTTPS通过加密数据传输,防止数据在传输过程中被窃听。
  • 篡改风险:HTTPS通过数字签名和摘要算法,确保数据在传输过程中不会被篡改。
  • 冒充风险:HTTPS通过数字证书,防止服务器或客户端被冒充。

密码学前提

对称加密

对称加密的特点是加密和解密使用同一个密钥,这种加密方式速度快,但密钥需要安全交换。常见的对称加密算法有AES。

非对称加密

非对称加密的特点是使用一对密钥,一个公钥和一个私钥。公钥可以公开,私钥不可泄漏。公钥加密的信息,只有对应的私钥才能解密,这保证了信息的安全性。私钥加密的信息,任何人都可以用公钥解密,这保证了信息的来源。常见的非对称加密算法有RSA、DH和ECC。

摘要算法(哈希函数)

摘要算法的特点是可以将任意长度的数据映射到一个固定长度的哈希值,这个哈希值可以作为内容的标识。通过哈希值无法推出原文,这保证了信息的完整性。

HTTPS机制

HTTPS的安全机制主要包括混合加密、摘要算法+数字签名和数字证书。

混合加密

混合加密是先使用非对称加密的方式交换会话秘钥,然后使用对称加密的方式加密明文。这样既解决了对称加密密钥交换的问题,又利用了对称加密的高效性。

摘要算法 + 数字签名

HTTPS通过摘要算法和数字签名保证数据的完整性和来源。数据发送前,先通过摘要算法计算出数据的哈希值,然后用私钥对哈希值进行加密,生成数字签名。接收方收到数据后,可以用公钥解密数字签名,得到哈希值,然后比较这个哈希值和数据的哈希值是否一致,来验证数据的完整性和来源。

数字证书

  • 解决的风险:客户端公钥被替换成中间人的公钥。
  • 引入第三方权威机构:数字证书认证机构(CA)。
  • 证书类型:RSA证书、ECDSA证书。
  • 颁发过程:CA会把持有者的公钥、用途、颁发者、有效时间等信息打包并哈希,CA会使用自己的私钥将该Hash值加密,生成Certificate Signature(签名),Certificate Signature + 打包信息 = 数字证书。
  • 验证过程:哈希打包信息得哈希值,使用CA公钥解密Certificate Signature,如果两个哈希值相同则可信。
  • 证书链:根证书植入在浏览器/操作系统自验证保证正确性,根证书颁发、验证中间证书,用户从只信任根证书到信任中间证书,根证书隔离保证信任链可信。
  • 证书维护:证书吊销列表(CRL)实时性差,列表只增不减。在线证书状态协议(OCSP)在线查询;OCSP Stapling:周期性查询+缓存。
相关推荐
liulilittle4 小时前
我从 BBRv1 到 KCC 的思考
网络·c++·tcp/ip·计算机网络·tcp·bbr·通信
J-Tony119 小时前
【JVM】JVM内存结构解析
计算机网络
梁辰兴10 小时前
计算机网络基础:电子邮件的信息格式
网络·计算机网络·电子邮件·计算机网络基础·梁辰兴·信息格式
酉鬼女又兒10 小时前
零基础入门计算机网络:点对点协议PPP、媒体接入控制基本概念、静态划分信道技术、CSMA/CD与CSMA/CA协议全面详解
服务器·网络·网络协议·计算机网络·职场和发展·求职招聘·媒体
酉鬼女又兒11 小时前
零基础快速入门IP编址计算练习题详解:从基础到实战
网络·网络协议·tcp/ip·计算机网络·考研·职场和发展·分类
liulilittle20 小时前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
酉鬼女又兒1 天前
零基础入门计算机网络可靠传输:从基本概念到三大实现机制(停止 - 等待 / 回退 N 帧 / 选择重传)全解析
网络·网络协议·计算机网络·考研·职场和发展·计算机外设·求职招聘
internet Boy1 天前
(第一阶段)计算机 & 网络基础知识
计算机网络
酉鬼女又兒1 天前
零基础入门计算机网络数据链路层:从基本概念、封装成帧到差错检测核心原理全解析
服务器·网络·网络协议·tcp/ip·计算机网络·考研·职场和发展
梦奇不是胖猫1 天前
[ 计算机网络 | 第四章 ] 网络层 04 IP的局限与扩展
网络·网络协议·tcp/ip·计算机网络