HTTPS协议分析

HTTPS协议

  HTTPS的协议本质上就是在HTTP协议连接发起之前,先使用SSL/TLS协议,协调客户端和服务器端,在两端各自产生一个堆成加密算法的秘钥,然后以RSA(对之前生成的秘钥进行非对称加密)的方式安全地传输数据。因为对称加密算法是安全的,所以使用对称加密算法加密的网页也是安全的。

非对称加密算法(对称加密算法的秘钥,RSA) + 对称加密算法(加密内容,DES) + 数字证书(防止篡改非对称加密算法的公钥,CA) + HASH算法(防止篡改消息,MD5/SHA1)== HTTPS。

  HTTPS 结合使用了 非对称加密算法,对称加密算法,hash算法,分别利用他们的优势,避免他们的缺点。利用非对称加密算法获得对称加密算法的秘钥,保证他的安全性;然后实际的网页内容的加密使用的是对称加密算法,利用了对称加密算法速度快的优势,hash算法主要是防止篡改的发生,是一种校验机制,最后数字证书,保证了服务器在将非对称加密算法的公钥传给浏览器时的安全性(不会被中间人篡改),同时也标志了服务器的身份

对称加密算法

对称加密算法:就是加密和解密使用同一个密钥的加密算法。因为加密方和解密方使用的密钥相同,所以称为称为对称加密,也称为单钥加密方法。

  • 优点是:加密和解密运算速度快,所以对称加密算法通常在消息发送方需要加密大量数据时使用;
  • 缺点是:安全性差,如果一方的密钥遭泄露,那么整个通信就会被破解。另外加密之前双方需要同步密钥;

常用对称加密算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等;

非对称加密算法

非对称加密算法:而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。

公钥和私钥是一对:公钥用来加密,私钥解密,而且公钥是公开的,私钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。

  •     优点是:安全性更好,私钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。
  •     缺点是:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    常用的非对称加密算法有:RSA、Elgamal、Rabin、D-H、ECC等;

HASH算法

HASH算法:也称为消息摘要算法。将任意长度的二进制值映射为较短的固定长度的二进制值,该二进制值称为哈希值。

    常用于检验数据的完整性,检验数据没有被篡改过。常见的又 MD5(MD系列),SHA-1(SHA系列)

HTTPS协议的运行过程

1.使用对称加密算法加密网页内容

2.使用非对称加密算法来加密对称加密算法的秘钥。

如何保证非对称加密算法公钥不会被篡改?

解决方法:将非对称加密算法的公钥放到CA(数字证书中)只要证书是可信的,那么公钥就是安全的。

公钥加密计算量太大,如何减少耗用的时间?

解决方法:每一次对话(session),客户端和服务器端都生成一个"对话密钥",用它来加密信息。由于"对话密钥"是对称加密算法,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。(也就是网页内容的加密使用的是对称加密算法)

因此SSL/TLS协议的过程如下:

(1) 客户端向服务器端索要并验证非对称加密算法的公钥。

(2) 双方协商生成对称加密算法的"对话密钥"。

(3) 双方采用对称加密算法和它的"对话密钥"进行加密通信

HTTP与HTTPS的区别

1.HTTPS需要用到CA证书,一般都需要收费。

2.HTTP是超文本传输协议,信息是明文传输,而HTTPS是是具有安全性的SSL/TLS的加密传输协议

3.HTTP和HTTPS的连接方式不同端口号不一样,且HTTP使用的端口号是80,而HTTPS用的端口号是443

4.http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

 

(1) HTTP超文本传输协议用于定义web页面(超文本)在网络上的交互方式的应用层协议,使用客户/服务器的工作方式。HTTP协议定义了web客户端(浏览器)如何向web站点请求web网页以及web服务器如何将web页传送给客户机。当用户请求一个页面时,浏览器会向web服务器发出对该页及其引用的相关对象的HTTP请求报文,服务器响应这些请求报文,生成HTTP响应报文,并将请求的对象附在HTTP响应报文后发送给客户端。 (2) 由于网页文档的传输需要可靠性的保证,所以HTTP协议使用TCP协议,TCP协议是一个面向连接的协议,在通信时需要建立连接,通信结束要释放连接,TCP建立连接时需要三次握手,提供可靠的数据传输,HTTP协议默认端口为80. (3) HTTP协议包括HTTP1.0:RFC1945和HTTP1.1:RFC 2068.HTTP1.1兼容HTTP1.0。HTTP1.0是采用非持续连接和非流水线作业方式,而HTTP1.1采用持续连接和流水线作业方式。 (4) Web缓存的进一步讨论,保证web缓存代理服务器缓存页面能够和web服务器的最新页面一致的方法。 (5) HTTP协议的无状态性:服务器无法通过HTTP协议记录用户的登录信息。使用Cookie保存信息。 (1) 打开wireshark开始抓包,然后上网至江西师大教务在线网(www.jxnu.edu.cn),连接后停止(stop)抓包。设置过滤规则:udp.port==53||tcp.port==80.(HTTP协议默认使用传输层TCP协议的80端口),考虑到我的电脑未能连网,所以选择老师抓好的包做实验分析。 (2) 分析HTTP协议报文。 (2) 第一阶段:TCP建立连接阶段。第三帧是web客户端(即浏览器,源IP地址为192.168.0.250)发给web服务器端(目标IP地址为218.65.113.46)的TCP连接的第一次握手(SYN)。第四帧是web服务器端与web客户端的TCP连接的第二次握手(SYN,ACK)。第五帧是浏览器与web服务器的TCP连接的第三次握手(ACK),此时TCP连接建立。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值