https 加密原理

本文详细解读了为什么需要加密,介绍对称加密与非对称加密的工作原理,以及数字证书在确保网站安全中的作用。通过实例说明了HTTPS如何利用对称加密和非对称加密相结合的方式保护数据安全,并讨论了数字证书验证机制和防止篡改的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

涉及到的一些概念:对称加密、非对称加密、数字签名、数字证书。

为什么要加密?

  • 因为http传输内容是明文的,明文数据在传输过程中会经历,中间代理服务器、路由器、wifi热点、通信服务运营商等多个物理节点,如果信息传输过程被劫持,传输内容会完全暴露;
  • 劫持者还可以篡改传输信息,而不被对方察觉,这就是中间人攻击;
  • 所以,需要对传输的信息进行加密。

什么是对称加密?

简单说,类似于日常生活中的钥匙,两个人各有一把相同钥匙,可以开同一把锁。
对称加密中的密钥,可以加密一段信息,也可以对加密后的信息进行解密。

什么是非对称加密?

非对称加密有两把密钥,公钥和私钥。通常,服务端保留私钥,客户端保留公钥。
用公钥加密的内容必须用私钥才能解开,同样,用私钥加密的内容,用公钥才能解开。

对称加密 + 非对称加密 的过程?

  • 服务器拥有非对称加密的公钥A、私钥A’ ;
  • 客户端向服务器发请求,服务器把公钥A 明文传输给客户端;
  • 客户端随机生成一个用于对称加密的密钥X,用公钥A 加密后传给服务器;
  • 服务器拿到后,用私钥A’ 进行解密,得到密钥X;
  • 这样服务器和客户端都有密钥X了。

如何保证浏览器收到的公钥一定是该网站的公钥?

什么是数字证书?
数字证书,类似于身份证一样,由国家授权,公安机关办理。
数字证书由CA 机构办理,数字证书里包含 证书持有者信息、公钥信息等。

  • 网站在使用HTTPS 前,需要向CA机构申领一份数字证书;
  • 服务器把证书传输给浏览器,浏览器从证书里获取公钥即可;

如何防止数字证书在传输过程中被篡改?
利用数字签名,把证书原本的内容生成一份“签名”,对比签名和证书内容是否一致就能判断出是否被篡改。

每次进行HTTPS请求时,都必须在 SSL/TLS 层进行握手,传输密钥吗?

当然不是。
服务器会为每个浏览器维护一个 session ID,服务器拿到密钥后,把它存到对应的 Session ID 下,之后浏览器每次请求都会携带session ID,服务器根据 Session ID 找到对应的密钥进行加密、解密操作,这样就不必每次重新生成密钥了。

参考文献:彻底搞懂HTTPS的加密原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值