柚子快报邀请码778899分享:网络协议 HTTPS

http://www.51969.com/

什么是HTTPS

http + 加密+ 认证 +完整性保护 = https;

也可以说https是http加密后的协议。

HTTPS是如何进行加密的.

首先http协议在通信的过程中是不安全的,可能被窃听到, 也就是数据在传输的过程中就有可能被攻击者知晓,为了解决这一问题加密就出现了,加密就是解决在通信过程中的问题。

加密分为三种

1.共享加密方式: 共享加密方式就是使用密钥对报文进行加密,接收方收到加密后的报文使用密钥解密。 加密和解密都使用同一把密钥

但是在这一个过程中有一个问题那就是谁有密钥谁就能解密, 而且在发送加密报文时也必须把密钥发送过去, 如果在发送的过程中密钥可以安全达到对方手中,那数据也一定能安全达到,所以这种方式看起来没有多大意义了.

2.公开密钥

公开密钥是采用一对密钥的方式,这对密钥就是公开密钥和私有密钥,公开密钥可以公开,但是私有密钥比较保存好。加密的时候只需要公开密钥,解密的时候需要私有密钥。

使用公开密钥的方式: 发送方收到对方的公开密钥进行加密文件然后发送给对方,对方收到后用私有密钥进行解密,这一过程中不需要发送私有密钥。

3. http采用第三种加密方式 混合加密

混合加密就是通过公开密钥传输共享密钥,然后用共享密钥进行传输数据,为什么要使用混合加密

因为公开密钥的过程太过于复杂使用起来比较耗费时间, 而共享密钥 加密和解密都比较快,所以采用两种方式的结合有公开密钥保证共享密钥的安全性之后,客户端和服务器都得到了密钥,从而进行共享密钥通信。

一切看起来都比较好,但是公开密钥又出现了一个问题,那就是在传输公开密钥的时候,公开密钥可能被篡改,这时数字认证机构出现了,数字认证机构用来保证公开密钥的正确性。

数字认证机构是第三方机构是可以信赖的机制:

使用方法: 服务器向数字认证机构提出申请公开密钥,数字认证机构 认证申请者的身份之后在公开密钥上面进行数字签名,并且颁发证书将进行数字签名的公开密钥放在证书中。 服务器有了证书后 发送给客户端,客户端向数字认证机构拿公开密钥,对证书上面的公开密钥的数字签名进行认证,认证成功就说明1.该数据证书是真实有效的机构证书2.公开密钥是可以信任的。

在这一过程中 客户端还需要向数字认证机构拿公开密钥,这一过程可能是不安全的,但是浏览器的话一般会自己已经有了数字认证机构的公开密钥,所以一般不会去找数字认证机构拿。

 

HTTP通过使用SSL或TLS的组合使用加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS (超文本传输安全协议)

SSL提供通信加密也就是我们上面所说的混合加密。

SSL同样还提供认证,

认证的目的是确定对方的身份

SSL提供证书:证书则是表明自己的身份,这样也就保障了通信方的身份。证书是由第三方机构颁发的。

为什么需要认证?

 因为在通信的过程中比方说客户端向服务器发送请求,但这个客户端可能不是真实的用户,可能是攻击者,所以认证就是用来确认对方的身份,以判断对方的真实意图。

我们现在演示一遍整个通信过程。 

 在这里说明一下, 共享秘钥加密方式也被称为对称秘钥

公开秘钥加密方式也被称为非对称秘钥 

 

首先客户端向服务器发起请求需要证书,服务器返回证书给客户端,客户端则使用认证机构的公开秘钥对证书上的数字签名进行验证如果验证通过说明 公开秘钥的真实性,客户端生成对称秘钥,使用公开秘钥将对称秘钥发送给服务端,然后双方就可以用对称秘钥通信了。

 

柚子快报邀请码778899分享:网络协议 HTTPS

http://www.51969.com/

查看原文