【面试】Https

面试官问你了解https吗?

一、对称和非对称加密算法

1.1 对称加密

对称加密:用来加密和解密的密钥是一样的,常见的算法:AES(常用),DES,3DES

1.1.1 加密过程(每一点对应图的序号)

  1. 生成密钥letmekang。
  2. 把密钥传给客户端。
  3. 通过密钥加密得到密文。
  4. 通过原有的密钥解密。

1.1.2 对称加密的不适应性

对称加密前提条件:服务器和客户端都有密钥。把密钥传给客户端的做法那只能是通过网络传,盗窃密钥就成为可能,那拿到密钥以后第三者也是可以进行解密的,所以对称加密并不适合网上传递密钥。

1.2 非对称加密

不对称加密:用来加密和解密的密钥是不一样的。公钥加密只能用私钥解密,私钥加密只能用公钥解密。

1.2.1 加密过程(每一点对应图的序号)

  1. 得到公钥和私钥。
  2. 把公钥传给客户端。
  3. 客户端通过公钥加密得到明文。
  4. 密文传给服务器端,服务器端通过私钥解密得到用户名和密码。

1.2.2 不对称加密的不适应性

不对称加密要消耗更多的cpu资源去进行解密运算,耗时。

二、 https的原理

既然对称加密之前要进行密钥的传递,那把密钥当做是明文利用非对称加密把密钥传给客户端,往后都用对称加密传递的信息,既保证了信息的安全性也保证了往后内容加密解密速度的提升。

对称加密结合非对称加密:

https请求就是多了验证公钥是否过期,传递公钥的时候多加了安全证书。

2.1 https流程(每一点对应图的序号):

  1. 得到公钥:letmekang和私钥:buxukang。
  2. 服务器端把公钥letmekang和安全证书一起携带到客户端。
  3. 校验安全证书是否过期,过期则返回错误响应,否则下一步。
  4. 生成随机的密钥gugu,用公钥加密gugu得到9cnwh%ee
  5. 把9cnwh%ee传给服务器端。
  6. 用私钥buxukang解密得到gugu
  7. 8.利用gugu作为共同的密钥加密下文信息。

2.2 抓包分析https

 追踪TCP流Client Hello

可以看见随机生成的字符串和session ID以及是一些加密套装以及服务器的信息。

以上是我个人的拙见,有什么意见

审核大佬:lzq(@Unyielding ● L 2019.10.23)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值