iOS开发 网络学习(4)HTTPS

一、HTTPS简介

HTTPS : Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL.

HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP+SSL/TSL
HTTPS使用端口443,而不是象HTTP那样使用端口80来通信。
SSL使用40位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。

二、HTTPS的建立流程

(1)客户使用https的URL访问服务器,要求与服务器建立SSL连接。

(2)服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

(3)客户端的浏览器与服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

(5)服务器利用自己的私钥解密出会话密钥。

(6)服务器利用会话密钥加密与客户端之间的通信。

如下图所示:

三、HTTPS都使用了哪些加密算法?

  1. 连接建立过程使用非对称加密,非对称加密很耗时。
  2. 后续通信使用了对称加密。

非对称加密

非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。

对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

四、HTTPS与HTTP的区别

  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

原文地址:https://www.cnblogs.com/laolitou-ping/p/14487780.html