面试常问:HTTPS的加密过程 ----- 光明和黑暗的恩怨情仇

简介: 面试常问:HTTPS的加密过程 ----- 光明和黑暗的恩怨情仇

关于运营商劫持 :

什么是运营商劫持??

运营商劫持    ==     你一级的红buff 被对面平a抢走


什么是运营商?

  • 运营商是指那些提供宽带服务的ISP,包括三大运营商中国电信、中国移动、中国联通,还有一些小运营商,比如长城宽带、歌华有线宽带。
  • 运营商提供最最基础的网络服务, 掌握着通往用户物理大门的钥匙。


为什么要劫持?

  • 网络运营商轻易劫持的能力,并且 劫持 几乎等于 抢劫,有大量的收益

如何劫持?


域名劫持,跟PC端相似,用户在正常联网状态下(4G/WiFi),目标域名会被恶意地错误解析到其他IP地址,造成用户无法正常使用服务。

数据劫持,对于返回的内容,会在其中强行插入弹窗或嵌入式广告等其他内容,干扰用户的正常使用。一来由于劫持者替换了自己的广告,导致正常产品的广告无法展示,因此给互联网公司造成直接经济损失;其次互联网公司每年都会投入大笔的资金资源去获取流量,但是由于劫持,用户正常流量被伪装成渠道流量,导致投入的资金被嫁接到做劫持的渠道中。打个比方:


劫持的危害

你给女朋友互相写情书,但是你们发出的信件居然连信封都没有,而送信的邮差恰恰是个流氓。。。(画面太美,想象不下去了)

还有更猛烈的。运营商即使再无节操,也是有基本底线的。但如果黑客利用运营商强上你的时候留下的漏洞,“黑吃黑”地再次劫持了你的数据,那么事情的发展就不在掌握中了。黑客完全可以调用你的摄像头、获取你的所有登陆密码、读取或修改你手机上的所有文件,包括照片,嗯。

互联网公司怎么办?

告上法庭:法律并不健全,一个小小公司跟 运营商 玩  ??!

发挥互联网公司的技术优势:我们可以发现 互联网之所以劫持,并精准的投放给你不同类目的东西,一切都源于 “信息透明”。

假如信息不再透明:

你给女朋友互相写情书,信封包死,送信的是个流氓,但他却不能打开信封

运营商 拿到你的请求  一脸懵逼 ,即便黑客,拿到你的数据,啥也看不懂,那岂不是一点办法都没?


HTTPS

什么是HTTPS


HTTP :HyperText Transfer Protocol,超文本传输协议

HTTPS :可以理解为HTTP+SSL/TLS。SSL/TLS是一种密码通信框架,他是世界上使用最广泛的密码通信方法。(现在用的都是TLS,SSL已经被淘汰了)

HTTPS就是互联网公司为了数据传输安全,而对HTTP进行加密升级的协议


一些概念:

明文:明文(plaintext)是加密之前的原始数据

密文:通过密码(cipher)运算后得到的结果成为密文

秘钥:密钥 (key) 密钥是一种参数,它是在使用密码(cipher)算法过程中输入的参数。

很多知名的密码算法都是公开的,密钥才是决定密文是否安全的重要参数,通常密钥越长,破解的难度越大,加密就是  将明文通过密钥转变成密文;解密就是 将 密文通过密钥转变成明文。


对称加密:对加密和解密 使用相同密钥。


非对称加密:加密和解密 使用不同密钥。


HTTPS加密

1. 对称加密:



0d9b50110e584e719366bbacd27ab344.png


对称加密 :同一把密钥进行加密、解密;


但是有个问题,我们如何保证把这个密钥 发送给对方呢?


密钥也很容易被攻击者截获,攻击者通样能够进行加密解密,这样的话,加密就没有了意义。


2. 非对称加密

非对称加密 :用一把密钥进行加密(公钥),用另一把密钥进行解密(私钥)。


这样的话,攻击者只能截获到 密文和公钥,并不能进行解密。


但是,非对称加密保证了数据的安全性,但由于数学上的复杂性,加密解密的效率是很低的


3. 非对称加密+对称加密

非对称加密传输密钥,对称加密传输数据。


这样既保证了安全,又保证了效率。


~~~~~~看似安全~~~~~~~看完下图你还会觉得安全吗?~~~~~


4a62c9f0e8f14ffcb70dc294e86bd30b.png


4. 加密方案 --- 重点

防止中间人攻击,我们又引入了一个 “证书”


证书机制:引入一个公正的有权威的第三方,当某一方想要发布公钥时,它将自身的身份信息及公钥提交给这个第三方,第三方对其身份进行证实,如果没有问题,则将其信息和公钥打包成为证书(Certificate)。而这个公正的第三方,就是常说的证书颁发机构(Certificate Authority)。当我们需要获取公钥时,只需要获得其证书,然后从中提取出公钥就可以了。


HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。


26855c004c6d430ca8aef9ce9ff94c8e.jpg

通过第三方证书的验证,我们客户端就可以判断 这个公钥是否被掉包了,这样也就破解了中间人攻击。

最后一个小问题:这样就真的安全了吗? 道高一尺魔高一丈


相关文章
|
20天前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
45 10
|
4天前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
20 0
|
2月前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
34 2
|
2月前
|
安全 数据安全/隐私保护
HTTPS加密的过程
HTTPS加密的过程
|
2月前
|
监控 安全 网络安全
探讨网站加密访问的安全性问题:HTTPS的防护与挑战
**探讨HTTPS在网站加密中的角色,提供数据加密和身份验证,防范中间人攻击。心脏滴血漏洞示例显示持续维护的必要性。面临证书管理、性能影响和高级攻击挑战,应对措施包括更新、HSTS策略及用户教育。HTTPS是安全基础,但需不断优化以应对新威胁。**
88 2
|
1月前
|
数据安全/隐私保护
https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图
https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图
30 0
|
2月前
|
数据安全/隐私保护
数据防护之=HTTPS协议增加了<数据加密>
数据防护之=HTTPS协议增加了<数据加密>
|
2月前
|
算法 前端开发 安全
面试官:前端加密怎么做?这,这,这不是后端的活儿吗?
前端加密技术概述: 前端加密主要用来保护数据在传输过程中的安全,但因浏览器环境开放性,仅能提供有限的安全性,真正安全策略需结合服务器端加密和安全协议。
|
存储 Web App开发 缓存
|
2月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。