理解https

 HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。这是百度百科上HTTPS的定义。

说起https,首先要说一下两种数据加密方式:对称加密与RSA(非对称加密)

对称加密算法

如上图所示,加密算法与解密算法用的同一个秘钥,这种加密方式是在一定程度上保证了会话的安全,但是秘钥该如何传递呢,我们知道http是明文传递数据的,如果直接通过http传递秘钥,被第三方劫持,那么数据就没有安全性可言。通过线下的方式传递秘钥?如果有成千上万个客户端,不可能都通过线下的方式完成。所以我们并不能直接依靠对称加密的方式来保证会话的安全性。

RSA(非对称加密算法)

  1976年以前,所有的加密方法都是同一种模式就是对称加密,这种模式最大的缺点就是甲方必须把加密规则告诉乙方,否则无法解密。保存和传递密钥,就成了最头疼的问题。

  1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为"Diffie-Hellman密钥交换算法"。这个算法启发了其他科学家。人们认识到,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。这种新的加密模式被称为"非对称加密算法"。

  1. 乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。公钥加密的信息只有私钥解得开,那么只要私钥不泄漏,通信就是安全的。
  2. 甲方获取乙方的公钥,然后用它对信息加密。
  3. 乙方得到加密后的信息,用私钥解密。

  但是由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。RSA的速度比对应同样安全级别的对称密码算法要慢1000倍左右。

 

↓ 对称加密(有密钥交换的问题)

↓ 非对称加密(基于复杂的数学难题,运行速度很慢)

↓ 混合加密(怎么保证完整性?不被修改?)

↓ 摘要算法(无法保证是用户自己)

↓ 数字签名(公钥怎么保证安全正确的?)

↓ 数字证书、CA

 

posted @   唐磊(Jason)  阅读(112)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-04-01 ASP.NET Core框架源码地址
点击右上角即可分享
微信分享提示