HTTPS基础知识:HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息。它使用安全套接字层进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。
HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。
TLS/SSL全称安全传输层协议Transport Layer Security, 是介于TCP和HTTP之间的一层安全协议,不影响原有的TCP协议和HTTP协议,所以使用https基本上不需要对HTTP页面进行太多的改造。
加密通信机制
首先加密通信是一个什么样的机制?加密通信会根据某些规则对数据进行加密和解密,以便在互联网上进行数据交换而不会被第三方所窃取。从原文转变称密文称为加密,而从密文转换称原文被称为解密。目前有两种加密方式用于加密数据。
公钥加密方式(PKI)
这是一种使用不同的密钥进行加密和解密的方法。提前准备好一对密钥(公钥和私钥)分别用于加密和解密。当使用公钥进行加密后就只能使用私钥进行解密。
优点:公钥加密必须采用配对的私钥进行解密,只要保证私钥不被泄漏,就能保证数据的安全,这样管理密钥就会更加的容易,并且更加的安全。
缺点:进行加密和解密时需要更多的时间。
通用密钥加密方式
使用相同的密钥进行加密和解密。
优点:加密解密的处理速度快。
缺点:由于加密和解密使用同一个密钥,密钥存在泄漏的风险,导致数据存在被窃听和篡改的风险。
使用SSL证书的HTTPS加密通信
通常的互联网通信,是采用HTTP的明文通信协议。在这种通信协议下,信息会以明文的方式进行传输。这样就会存在被第三方窃取、篡改的风险。因此,我们采用HTTPS协议进行加密通信。
HTTPS协议是采用加密的方式对数据进行传输,并且使用的是更适合互联网的公钥加密方式。互联网网站只要在服务器上安装部署上SSL证书,即可使网站实现HTTPS协议通信。
HTTPS协议在通信时,首先会采用公钥加密的方式,把密钥进行公钥加密,然后传输给服务器,服务器使用私钥解密出密钥后,客户端和服务器即可建立起安全的访问通道。在接下来的通信就会采用速度更快的通用密钥的加密方式进行数据传输。
这样HTTPS协议就既拥有公钥加密的安全性,同时也拥有了通用加密的高速的两个优点。HTTPS协议必然会取代HTTP成为日后互联网通信的主流通信协议。