计算机网络--HTTP跟HTTPS的区别以及常用加密算法

HTTP和HTTPS的区别:

基本概念:

https是在http应用层和tcp传输层之间加入了一个安全层(SSL、TLS) ,加入安全层的主要目的是将传输内容加解密,这样就避免了传输内容被窃听。如下图:

HTTP协议传输的数据都是未加密的,也就是明文的,不安全。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

1、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

2、端口不一样,http是80,https是443。

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

HTTPS详解:

一、加密SSL

HTTP 协议本身没有加密机制,但是可以使用 SSL(Secure Socket Layer)/TLS(Transport Layer Security)协议解决 HTTP 的安全性问题。SSL 不仅提供加密处理,还提供了一种证书机制,用于确定客户端或服务器。证书由值得信任的第三方机构颁发,用来证明客户端和服务端是真实存在的。

二、加密方式

1)共享(对称)秘钥加密

所谓共享秘钥加密(Common key crypto system)就是加密和解密都使用相同的秘钥,因此也被称为对称秘钥加密。

使用共享秘钥加密时必须将秘钥也发送给对方 ,这样就存在一个问题,发送的秘钥可能会被攻击者窃听,如果不发送,对方又不能解密。

2)公开(非对称)秘钥加密

公开秘钥加密使用一对非对称的秘钥,一把叫做私有秘钥(private key),另一把叫做公开秘钥(private key)。公开秘钥任何人都可以获得,但是私有秘钥是私有的。通过这种方式,可以很好的解决共享秘钥加密的安全性问题。

使用公开秘钥加密时,发送密文的一方使用公钥加密,对方收到加密的信息后,再使用自己的私钥进行解密。这样不需要发送用来解密的私钥,就不存在秘钥被窃取的风险了。 

三、HTTPS 加密方式

HTTPS 采用共享密钥加密公开密钥加密两者并用的混合加密机制。 使用公开密钥加密方式安全地交换在稍后使用的共享秘钥中的秘钥;确保秘钥是安全的前提下,使用共享秘钥加密方式进行通信。

如何保证公开密钥加密方式交换的秘钥是安全的呢? 将公钥放在数字证书中 ,数字证书由双方都可依赖的第三方机构颁发,因此只要证书是可信的,公钥就是可信的。 

四、HMAC-MD5

1、比如你和对方共享了一个密钥K,现在你要发消息给对方,既要保证消息没有被篡改,又要能证明信息确实是你本人发的,那么就把原信息和使用K计算的HMAC的值一起发过去。对方接到之后,使用自己手中的K把消息计算一下HMAC,如果和你发送的HMAC一致,那么可以认为这个消息既没有被篡改也没有冒充。

2、MD5就是通过散列对要输出的数据进行摘要,接收到数据时,再同样进行MD5散列,与给定的MD5散列值比较,一致不一致就很清楚了。

猜你喜欢

转载自blog.csdn.net/weixin_39003229/article/details/82669630