https基本原理

12 篇文章 0 订阅
3 篇文章 0 订阅

一句话解释:使用TLS协议加密http通讯,就是https。


不用TLS的http就是明文传输,中间人可以嗅探通信内容,可以篡改,还可以用你的客户端身份凭证进行冒充。
(利用场景简单举例,比如我加入了你的Wi-Fi,那么我就可以对所有连接这个Wi-Fi的设备通过软件进行中间人攻击,或者你们公司有一台电脑被入侵,也可以远程完成中间人攻击)

用经过TLS加密的https协议,就是加密传输,传输内容都是加密的,而且因为有指纹、签名以及服务端证书的校验,如果篡改内容则签名和指纹都对不上了,通信双方就会发现。


在https中,TLS用的什么加密算法呢?

我们一般常用的是对称加密,就是一个密码,和服务端校验如果吻合即通过。但在http协议中,浏览器和服务端显然不能使用这种方式,否则https就失去了意义。
所以数学家设计了一种算法,可以基于两个配对的秘钥对信息进行加解密,公钥对信息加密后只有私钥能解密,私钥对信息加密后只有公钥能解密。这样就可以把公钥交给客户端,私钥服务端保留。

一般http三次握手后建立连接,客户端和服务端就可以开始进行http报文通讯了,https在这三次握手中增加了一次握手,这个握手用于校验服务器端传来的公钥合法性(证书合法性),并建立加密通道,底层实现是TLS协议。

TLS握手基本过程:
1.客户端向服务端索要证书,并验证证书是否可信,若可信则取出公钥,否则向用户提示证书错误警告。
2.双方协商生成“对话秘钥”。
3.双方采用“对话秘钥”进行加密通信。

TLS握手成功后,接下来的通讯TLS会把通讯明文加密,并使用公钥根据明文生成签名和指纹,服务端收到请求后使用私钥解密并核对签名和指纹。


指纹:有时也叫摘要,在技术上也叫哈希。一般是指的一个消息的哈希值,比如某个字符串或文件的md5或shasum摘要值。

签名:用非对称加密算法里的私钥对明文消息的摘要进行加密,最终这个加密结果就叫签名。所以签名等于”对摘要进行加密”。

SSL:TLS以前的叫法,可以理解为别名【SSL 3.1 = TLS 1.0】【SSL 3.2 = TLS 1.1】【SSL 3.3 = TLS 1.2】

这篇文章是我自己的理解进行总结的,若需更详细专业的了解,请参考以下资料:
https://blog.cuiyongjian.com/safe/https-base/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值