背景:随着越来越多的主流网站已经使用了HTTPS,作为服务器端开发者,就必须了解HTTPS的优势与劣势。
在HTTP协议中有可能存在信息窃听或身份伪装等问题,而使用HTTPS通信机制可以有效地防止这些问题。
一、HTTP缺点:
1.通信使用明文不对数据进行加密(内容容易被窃听)
2.不验证通信方身份(容易伪装)
3.无法确定报文完整性(内容易被篡改)
二、HTTPS介绍:
什么是HTTPS:与SSL(安全套接层)组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)
加密处理防止窃听:通信加密。HTTP协议与SSL组合使用,加密HTTP的通信内容。用SSL建立安全通信线路之后,就可以在这条线路通信了
HTTP + 加密 + 认证 + 完整性保护 = HTTPS
使用https后网址:
在使用http协议时,HTTP直接与TCP通信,当使用SSL时,则需要先与SSL通信,然后再由SSL和TCP通信。
三、SSL介绍:
在对SSL介绍之前先了解加密方法
主要的加密方法分为两种:一种是共享密钥加密(对称密钥加密),一种是公开密钥加密(非对称密钥加密)
1、共享密钥加密:加密与解密使用同一个密钥
也就是说在加密的同时,也会把密钥发送给对方。在发送密钥过程中可能会造成密钥被窃取,那么如何解决这一问题呢?这个问题解决方案,往后看
2、公开密钥(非对称密钥)
公开密钥使用一对非对称密钥。一把叫私有密钥,另一把叫公开密钥私有密钥不让任何人知道,公有密钥随意发送。
也就是说,发送密文方使用对方的公开密钥进行加密,对方接受到信息后,使用私有密钥进行解密。再不使用私有密钥情况下很难还原信息。
三、混合加密机制
HTTPS采用共享密钥加密和公开密钥加密两者混合加密,两者都有各自的优点。共享密钥加密处理速度快,但密钥无法安全发送给对方;公开密钥加密处理速度慢,但密钥能够安全交换。
但如果我们将两种加密方式一起使用,则两种加密方式就能互补。也就是说,利用公开密钥加密方式安全地交换在共享密钥加密中要使用的密钥,在确保密钥安全前提下,使用共享密钥加密方式进行通信
四、使用证书证明公开密钥的正确性
如何证明收到的公开密钥是原本预想那台服务器发行的密钥。或许在传输途中,真正的公开密钥已经被替换掉了。
为了解决这歌问题可以有数字证书认证机构和相关机构颁发的公开密钥证书,这样就可以确定公开密钥是否正确了。
以上就是我对HTTPS的了解,图片截取自图解HTTP一书。
作者:码头工人
链接:https://www.cnblogs.com/boycelee/p/6425325.html