计算机网络的故事——确保Web安全的Https

确保Web安全的Https

文章目录

  • 确保Web安全的Https
  • [一、HTTP 的缺点](#一、HTTP 的缺点)
  • [二、HTTP+ 加密 + 认证 + 完整性保护 =HTTPS](#二、HTTP+ 加密 + 认证 + 完整性保护 =HTTPS)

一、HTTP 的缺点

1、明文传输

通信加密,HTTP协议中没有加密机制,但是可以通过SSL(Secure Socket Layer,安全套接字层)或TLE(Transport Layer Security安全层传输协议)的组合使用,加密HTTP的通信内容

2、不验证通信方的身份(可能会遭到伪装)

内容加密:将HTTP报文里所含的内容进行加密之后进行传输

HTTP带来的问题:任何人都可以发起请求客户端和服务器无法真正的确定对方,有可能是被伪装的。

查明对手的证书,证书由第三方机构颁发,用来证明服务器和客户端实际存在的,通过证书可以证明服务器,客户端持有证书也可以完成个人身份的确认

3、无法证明报文的完整性(可能会被篡改)

无法证明报文的完整性,可能已经被篡改。虽然使用HTTP协议有确定报文的完整性算法的方法,但事实上并不便捷可靠。其中常用的是MD5和SHA-1等散列值校验方法,以及用确认文件的数字签名方法。

二、HTTP+ 加密 + 认证 + 完整性保护 =HTTPS

HTTPS是身披SSL外壳的HTTP

相互交换密钥的公开密钥加密技术:SSL采用的是公开密钥加密的加密处理方式。

共享密钥加密的困境:客户端和服务器端共享密钥,容易被攻击者窃取。

使用非对称加密,采用公开密钥加密数据,接受者使用私钥进行解密接收

HTTPS采用混合加密的方式,在交换密钥的过程中采用公开加密(就是非对称加密),之后建立连接之后使用共享加密(对称加密)。非对称加密效率比对称加密的效率低。

证明公开密钥正确性的证书,因为客户端无法确定公开密钥是否正确,故存在CA机构

(Certificate Authority)

具体流程:服务器会向CA机构申请公开密钥,CA机构会判定申请者身份,对已申请的公开密钥做数字签名,并将该公开密钥放入公钥证书里面。客户端请求服务器时,服务器会将证书发给客户端,客户端拿到证书后会到CA机构做认证,认证之后采用公钥进行加密传输数据。


相关推荐
Zelman4 小时前
HTTPS 协议
网络协议·https
姜鱼问生7 小时前
HTTPS 部署实战:未备案域名 + 非标端口的完整方案
linux·https
三84412 小时前
Fastjson 漏洞学习笔记 · 03 · 经典利用链:TemplatesImpl 与 JdbcRowSetImpl
java·web安全·fastjson
Lsetea12 小时前
ACME DNS-01报NXDOMAIN:_acme-challenge记录与权威DNS排查
https·dns·ssl证书·acme·dns-01
Lsetea21 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
Zelman1 天前
协议栈数据流全景分析
网络协议·tcp/ip·https
Lsetea1 天前
OpenSSL报path length constraint exceeded:CA层级与pathlen排查
运维·https·ssl证书·openssl·证书链
geng_geng_geng1 天前
计算机网络:物理层
计算机网络
Lsetea1 天前
OpenSSL s_client退出码为0却证书验证失败:严格校验与Shell管道排查
https·shell·ssl证书·openssl·tls
Lsetea2 天前
OpenSSL报permitted subtree violation:证书SAN与CA名称约束排查
运维·https·ssl证书·openssl·证书链