#WEB安全基础 : HTTP协议 | 0x16 HTTPS:加密的秘密

公开秘钥加密&&共享秘钥加密

这两个冗长的短语,让我拿什么理解?



我们知道HTTPS有加密功能,以上的两个短语很常用。先摆在这,接下来开始尝试理解它们。

共享秘钥加密(对称秘钥加密):之所以叫做“共享”,从字面上理解就是通信双方的秘钥是共享的。“对称”不就是通信双方的秘钥相同吗.

使用这种方法通信的双方都使用同一个秘钥,且加密时需要把秘钥发给对方(否则对方没办法解密 就尴尬了)

但是,你就不怕自己的秘钥被劫持。这样劫持者就可以解密了。



所以我们需要另外一种方法即公开密钥加密

公开秘钥加密(非对称秘钥加密):顾名思义,“非对称”通信双方不是使用一模一样的秘钥,有一个公开秘钥是留给客户端的,而私有秘钥是留给自己的(服务端)。

发送密文的一方使用公开秘钥加密,接收方使用私有秘钥解密,公开秘钥是对外开放的,可以给任何人,但私有秘钥就是个秘密了。



知道为什么HTTP协议功能如此强大吗?因为它不只使用一个method(方法),它可以使用GET,POST,OPTIONS……

所以更强大的HTTPS也不可能只用一种方法加密,它使用以上举出的两种方法(既使用公开密钥加密,又使用共享秘钥加密)

因为公开秘钥加密速度较慢,所以为了提高效率,HTTPS先使用公开秘钥加密来建立加密通道,然后使用共享秘钥加密,这样可以节省时间



//本系列教程基于《图解HTTP》,此书国内各大购物网站皆可购买



转载请注明出处  by:M_ZPHr

最后修改日期:2019-04-06

原文地址:https://www.cnblogs.com/MZPHr/p/10661260.html

时间: 2024-08-29 13:48:51

#WEB安全基础 : HTTP协议 | 0x16 HTTPS:加密的秘密的相关文章

#WEB安全基础 : HTTP协议 | 0x16 HTTPS:证书,证书,全是证书

现在想做点什么事都需要证书,要不就会让我们回忆起一个典故:滥竽充数 HTTPS使用了公开密钥加密,如何保证公开密钥就是真正的公开密钥呢?攻击者可能会替换公开密钥,这时候就需要验证,所以它采用了数字证书这种方法. 首先数字证书认证机构(CA)要被信任,然后服务器的管理员才敢去申请数字证书,下面是基本流程: 服务器把公开秘钥发给CA(数字证书认证机构),CA用自己的私有秘钥对服务器发来的公开密钥进行加密,颁发数字签名,在这之前CA的公开密钥已经植入到浏览器里了 然后,用户访问服务器时,用CA的公开密

#WEB安全基础 : HTTP协议 | 0x0 TCP/IP四层结构

学完HTML/CSS了? 做了这么多网页,但是你知道它们是怎么工作的吗? 作为你的朋友,我也对这些东西感兴趣,在写博客的同时也在和你一起学. 废话少说,进入正题 网络中的通信包括两个端分别为:客户端(client)和服务器(server) 客户端给服务器发出请求,服务器给客户端返回响应 WEB是在TCP/IP协议族(注意:TCP/IP并不是一个协议而是很多协议组成的协议族)上运作的而HTTP也在这个协议族之内 TCP/IP最重要的是分层,分别是: 1.应用层 2.传输层 3.网络层 4.数据链路

#WEB安全基础 : HTTP协议 | 0x13 不安全的HTTP

HTTP作为一个大规模使用的网络协议就真的安全了吗? 我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息. 那么HTTP通信时有什么缺点吗? 首先我们在用wireshark抓宝时可以看到报文的全部内容,因此HTTTP是不加密的,它的通信使用明文. 而且它也不会验证通信方的身份,所以可能遭遇伪装. 我们既然可以在中途进行抓宝,所以我们也可以将其篡改,所以在这一点HTTP报文是可以被篡改的. 我们之所以能用抓包工具看清楚HTTP报文中的一

#WEB安全基础 : HTTP协议 | 0x12 MIME多用途邮件扩展以及多部分对象集合

我们是怎么让邮件里又有图片又有文字的? 文字和图片是两个不同的类型,而邮件又是一个类型. C语言的结构体允许用户定义一个含有多类型的自定义类型 像这样,看不懂没关系,你只要知道邮件里有多个类型就可以了  typedef struct myType = { int num; char words[20]; }; 那么在HTTP传输里有什么机制支持邮件可以使用多种类型呢? 猜对了,就是MIME(多用途邮件扩展) 在MIME中会使用多部分对象集合的方法来容纳不同的数据 相应地,HTTP协议也采用了多部

#WEB安全基础 : HTTP协议 | 0x2 HTTP有关协议通信

IP,TCP,DNS协议与HTP协议密不可分 IP(网际协议)位于网络层,几乎所有使用网络的系统都会用到IP协议 IP协议的作用:把数据包发送给对方,要保证确实传送到对方那里,则需要满足各类条件.两个重要条件是IP地址和MAC地址. (IP 不等于 IP地址)IP是协议,IP地址不是 IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址,IP地址可以和MAC地址进行配对,IP地址可交换,但MAC地址基本上不会更改 使用ARP协议凭借MAC地址进行通信 ARP协议是地址解析协议,所属

#WEB安全基础 : HTTP协议 | 0x7 学会使用wireshark分析数据包

wireshark是开源,免费,跨平台的抓包分析工具 我们可以通过wireshark学习HTTP报文和进行抓包分析,在CTF中的流量分析需要用到抓包 1.下载和安装 这是wireshark的官网 https://www.wireshark.org/download.html windows下不必多说,大家肯定会傻瓜式安装,kali linux 系统下自带wireshark 2.wireshark介绍 本地连接是自己的物理机,上面的两个是虚拟机,因为没有开启所以没有数据流 如你所见这个版本的wir

#WEB安全基础 : HTTP协议 | 0x8 HTTP的Cookie技术

说道Cookie,你喜欢吃饼干吗? 这里的Cookie不是饼干=_= HTTP不对请求和响应的通信状态进行保存,所以被称为无状态协议,为了保持状态和协议功能引入了Cookie技术 Cookie技术在请求和响应报文中写入Cookie信息来控制客户端的状态 Cookie根据从服务器发送的请求报文内的一个叫Set-Cookie的首部字段信息,通知客户端保存Cookie,当下次客户端再访问该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后再发送 服务器发现客户端发送的Cookie后,会检查

#WEB安全基础 : HTTP协议 | 0x10 请求和响应报文重点结构及常见头部

你需要认识一些常见的头部以及了解报文的详细结构 请求报文的请求行 GET/HTTP/1.1 响应报文的响应行 HTTP/1.1 200 OK 想必这些大家都知道了 请求 我访问一个页面 Host //访问的域名. \r\n //就是CR-LF Connection //请求保持的时间 User-Insecure-Requests : 1 //服务器可以读懂客户端发出的信息,它以后会用https而不是http User-Agent //客户端的相关信息(系统版本,浏览器版本) Accept //客

#WEB安全基础 : HTTP协议 | 0x10 扩展HTTP报文结构概念和内容编码

#以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU资源 报文(message):HTTP通信的基本单位,由八位组字节(由八个bit组成的一字节)流组成通过HTTP通信传输 实体(entity):作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成 HTTP报文的主体用于传输请求和下响应的实体主体.通常,报文主体等于实体主体,只有当传输