Https协议原理剖析【计算机网络】【三种加密方法 | CA证书 】

本文主要是介绍Https协议原理剖析【计算机网络】【三种加密方法 | CA证书 】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一,fidler工具

前提知识

二,Https原理解析

1. 中间人攻击

2. 常见的加密方式

1). 对称加密

2). 非对称加密 + 对称加密

4). CA证书

1. 数据摘要

3. 数字签名

CA证书 

理解数据签名

存在的安全疑问?

1. 中间⼈有没有可能篡改该证书?

2. 篡改整个证书包体?

如何成为中间⼈ - 了解

edge浏览器证书位置:

5). CA & 非对称加密 + 对称加密

总结


嗨!收到一张超美的风景图,愿你每天都能顺心!

一,fidler工具

简介: 

 fiddler 是由 C# 开发的最强大好用的免费web调试工具之一,可记录所有客户端和服务见的 http 以及 https 请求,可监视设断点,甚至修改输入输出数据,它还包含了一个强大的基于事件脚本的子系统,并且能使用 .net 语言来拓展。

简单理解:

详细教程,请参考其他博主。

前提知识

什么是"加密"
加密:就是把 明⽂ (要传输的信息)进⾏⼀系列变换, ⽣成 密⽂ .
解密:就是把 密⽂ 再进⾏⼀系列变换, 还原成 明⽂ .
在这个加密和解密的过程中, 往往需要⼀个或者多个中间的数据, 辅助进⾏这个过程, 这样的数据称为 密钥

二,Https原理解析

        首先,从前面的http协议开始,我们知道客户端可以通过get,post向服务端发出请求,post较get有隐私性,但他们终究是明文传输,只要截取,就能直接得到里面信息,甚至篡改,不安全。https协议就是来解决数据在这个安全问题。笼统的解释方法:对数据进行加密解密

1. 中间人攻击

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

加密与解密,看似比较简单,但实际问题远比这复杂,下面让我们逐渐理解Https如何做到在网络中实现数据安全。

2. 常见的加密方式

1). 对称加密

采⽤单钥 密码系统 的加密⽅法,同⼀个 密钥 可以同时⽤作信息的加密和解密,这种加密⽅法称为对称加密,也称为单密钥加密,特征:加密和解密所⽤的密钥是相同的
常⻅对称加密算法(了解): DES 3DES 、AES、TDEA、 Blowfish 、RC2等
特点:算法公开、计算量⼩、 加密速度快 加密效率⾼
对称加密其实就是通过同⼀个 "密钥" , 把明⽂加密成密⽂, 并且也能把密⽂解密成明⽂。
只使用对称加密缺点: 对方不知道“密钥”,并且服务器不可能面对用户都用一种密钥。只要用户端都知道密钥,中间人也能获取,数据任然不安全

      因此密钥的传输也必须加密传输! 但是要想对密钥进⾏对称加密, 就仍然需要先协商确定⼀个 "密钥的密钥". 这就成了 "先有鸡还是先有蛋" 的问题了. 此时密钥的传输再⽤对称加密就⾏不通了。

2). 非对称加密 + 对称加密

需要两个 密钥 来进⾏加密和解密,这两个密钥是 公开密钥 (public key,简称公钥)和私有密钥 (private key,简称私钥)。
常⻅⾮对称加密算法(了解):RSA,DSA,ECDSA
特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,⽽使得加密解密速度没有对 称加密解密的速度快。
⾮对称加密要⽤到两个密钥, ⼀个叫做 "公钥", ⼀个叫做 "私钥"。 公钥和私钥 配对 的. 最⼤的缺点就是 运算速度⾮常慢 ,⽐对称加密要慢很多.
通过公钥对明⽂加密, 变成密⽂
通过私钥对密⽂解密, 变成明⽂
也可以反着⽤
通过私钥对明⽂加密, 变成密⽂
通过公钥对密⽂解密, 变成明⽂

如果最开始,中间⼈就已经开始攻击了呢? 问题是如何保证,从网络传来的S是否是真实的服务端的公钥

4). CA证书

讲解CA证书时,我们首先了解:数字签名,数据摘要(或数据指纹)。

1. 数据摘要

数字指纹(数据摘要),其基本原理是利⽤单向散列函数( Hash函数 )对信息进⾏运算,⽣成 ⼀串固定⻓度的数字摘要 。数字指纹并不是⼀种加密机制,但可以⽤来判断数据有没有被窜改。
摘要常⻅算法:有 MD5 、SHA1、SHA256、SHA512等,算法把⽆限的映射成有限,因此可能会有
碰撞(两个不同的信息,算出的摘要相同,但是概率⾮常低)
摘要特征:和 加密算法 的区别是,摘要严格意义不是加密,因为没有解密,只不过从摘要很难反推原信息( 无法反推原文 ),通常⽤来 进⾏数据对⽐

3. 数字签名

对数据摘要进行加密后,就形成了数字签名。

CA证书 

 服务端在使⽤HTTPS前,需要向CA机构(政府单位)申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性。

申请CA证书的步骤:

需要注意的是:申请证书前,需要在特定平台⽣成CSR文件,会同时⽣成⼀对⼉密钥对⼉,即公钥和私钥。(服务端这个私钥就是来保证交换对称密匙的安全)
其中公钥会随着CSR⽂件,⼀起发给CA进⾏权威认证,私钥服务端⾃⼰保留,⽤来后续进⾏通信
可以使⽤在线⽣成CSR和私钥: https://myssl.com/csr_create.html
形成CSR之后,后续就是向CA机构进⾏申请认证,不过⼀般认证过程很繁琐,⽹络各种提供证书申请的服务商,⼀般真的需要,直接找平台解决就⾏。

理解数据签名

签名的形成是基于⾮对称加密算法的。

当服务端申请CA证书的时候,CA机构会对该服务端进⾏审核,并专⻔为该⽹站形成数字签名,过程如下:
1. CA机构拥有⾮对称加密的私钥A和公钥A'
2. CA机构对服务端申请的证书明⽂数据进⾏hash,形成数据摘要
3. 然后对数据摘要⽤CA私钥A'加密,得到数字签名S
服务端申请的证书明⽂和数字签名S 共同组成了数字证书,这样⼀份数字证书就可以颁发给服务端了。
客⼾端进⾏认证
当客⼾端获取到这个证书之后, 会对证书进⾏校验(防⽌证书是伪造的)。
判定证书的有效期是否过期
判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构).
验证证书是否被篡改: 从系统中拿到该证书发布机构的公钥, 对签名解密, 得到⼀个 hash 值(称为数据摘要), 设为 hash1. 然后计算整个证书的 hash 值, 设为 hash2. 对⽐ hash1 和 hash2 是否相等. 如果相等, 则说明证书是没有被篡改过的。

存在的安全疑问?

1. 中间⼈有没有可能篡改该证书?

中间⼈篡改了证书的明⽂,由于他没有CA机构的私钥,所以⽆法hash之后⽤私钥加密形成签名,那么也就没法办法对篡改后,的证书形成匹配的签名
如果强⾏篡改,客⼾端收到该证书后会发现明⽂和签名解密后的值不⼀致,则说明证书已被篡改,证书不可信,从⽽终⽌向服务器传输信息,防⽌信息泄露给中间⼈。

2. 篡改整个证书包体?

  • 首先替换的证书也必须是真实有效的证书。
  • 既然是真实有效的证书,其真实内容如果与所需要的网站或网页不同,客户端可以比较容易的检查发现。

如何成为中间⼈ - 了解

ARP欺骗:在局域⽹中,hacker经过收到ARP Request⼴播包,能够偷听到其它节点的 (IP, MAC)
地址。例, ⿊客收到两个主机A, B的地址,告诉B (受害者) ,⾃⼰是A,使得B在发送给A 的数据包
都被⿊客截取
ICMP攻击:由于ICMP协议中有重定向的报⽂类型,那么我们就可以伪造⼀个ICMP信息然后发送给
局域⽹中的客⼾端,并伪装⾃⼰是⼀个更好的路由通路。从⽽导致⽬标所有的上⽹流量都会发送到
我们指定的接⼝上,达到和ARP欺骗同样的效果
假wifi && 假⽹站等

edge浏览器证书位置:

设置中搜索安全性

5). CA & 非对称加密 + 对称加密

流程梳理:

总结

https协议使用了三组加密:

1. 第一组(非对称加密):检测证书是否被篡改。服务器持有私钥(制作CSR时产生的一对密钥),客户端持有CA机构的公钥。当客户端第一次向服务端提出请求,服务端返回一个签名证书,客户端验证其证书的合法性。

2. 第二组(非对称加密):保证对称加密的密钥安全发送给服务端。在第一组中,如果客户端验证证书合法(或者我们强制信任此证书),我们将提取证书里的公钥,对对称加密的密钥进行加密,发送给服务端。

3. 第三组(对称加密):对后续数据加密。第二组中,客户端发送来对称加密的密钥,随后根据密钥,加密资源,向客户端发送资源,至此交换资源传递开始。

关系:第一组保证服务端公钥的真实性,第二组保证对称加密的密钥安全发送给服务端。

结语

   本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论,如果给小伙伴带来一些收获请留下你的小赞,你的点赞和关注将会成为博主创作的动力。

这篇关于Https协议原理剖析【计算机网络】【三种加密方法 | CA证书 】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935504

相关文章

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

iOS HTTPS证书不受信任解决办法

之前开发App的时候服务端使用的是自签名的证书,导致iOS开发过程中调用HTTPS接口时,证书不被信任 - (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAu

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

邮件群发推送的方法技巧?有哪些注意事项?

邮件群发推送的策略如何实现?邮件推送怎么评估效果? 电子邮件营销是现代企业进行推广和沟通的重要工具。有效的邮件群发推送不仅能提高客户参与度,还能促进销售增长。AokSend将探讨一些关键的邮件群发推送方法和技巧,以帮助企业优化其邮件营销策略。 邮件群发推送:目标受众 了解他们的需求、兴趣和行为习惯有助于你设计出更具吸引力和相关性的邮件内容。通过收集和分析数据,创建详细的客户画像,可以更精

上采样(upsample)的方法

上采样(upsample)的方法   在神经网络中,扩大特征图的方法,即upsample/上采样的方法   1)unpooling:恢复max的位置,其余部分补零   2)deconvolution(反卷积):先对input补零,再conv   3)插值方法,双线性插值等;   4)扩张卷积,dilated conv;

【杂记-浅谈DHCP动态主机配置协议】

DHCP动态主机配置协议 一、DHCP概述1、定义2、作用3、报文类型 二、DHCP的工作原理三、DHCP服务器的配置和管理 一、DHCP概述 1、定义 DHCP,Dynamic Host Configuration Protocol,动态主机配置协议,是一种网络协议,主要用于在IP网络中自动分配和管理IP地址以及其他网络配置参数。 2、作用 DHCP允许计算机和其他设备通