Https 的原理理解和认知

https是如何保证数据传输的安全:


https实际就是在TCP层与http层之间加入了SSL/TLS来为上层的安全保驾护航,主要用到对称加密、非对称加密、证书,等技术进行客户端与服务器的数据加密传输,最终达到保证整个通信的安全性。

https的安全传输机制在传输层,http在应用层。

Q:假设我们要购买阿里云的产品,那么怎么确保我们访问的网站不是钓鱼网站呢?或者说怎么确保我们在访问的过程中数据不被篡改和监听呢?

A:这时就需要一个可信的第三方机构(CA),CA会颁发一个数字证书给阿里云。当用户访问阿里云网站的时候,阿里云服务器会把数字证书发送给用户的客户端,客户端会校验数字证书的合法性,如果检验通过,直接建立https链接,如果校验失败,则直接报错。

Q:如果有中间什么人拿到阿里云的数字证书(这个很容易拿到),是不是就可以骗过用户了呢?

A:答案是否定的。因为由于非对称加密的原因,即使中间人拿到的阿里云的数字证书,也无法解密客户端发送的密文信息,因为只有服务端的私钥才能解密,而私钥是保存在服务端或者银行或者保险柜中,一般人是拿不到的。

Q:用户客户端是如何校验数字证书的?

A:数字证书由两部分组成,第一部分是明文,第二部分是密文。数字证书校验的大概意思是密文通过公钥解密之后和明文比较,如果相等则说明校验通过。

 

SSL/TLS协议作用:

  • 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  • 加密数据以防止数据中途被窃取;
  • 维护数据的完整性,确保数据在传输过程中不被改变;

HTTPS工作原理:

  • 首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)等进行校验;
  • 客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密(RSA加密);
  • 消息体产生后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名;
  • 发送给服务端,此时只有服务端(RSA私钥)能解密;
  • 服务端利用私钥解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端知道);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值