HTTPS概述
HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。HTTPS使用安全套接字层(SSL)或传输层安全(TLS)进行信息交换,简单来说它是HTTP的安全版,是使用TLS/SSL加密的HTTP协议。
HTTPS加密协议的工作原理如下:
服务器端的配置:采用HTTPS协议的服务器必须要有一套SSL数字证书。这套证书其实就是一对公钥和私钥。服务器需要向CA(Certificate Authority,证书颁发机构)申请这套SSL证书。
传送证书:服务器会将证书(即公钥)传送给客户端。这个证书包含了很多信息,如证书的颁发机构、证书过期时间等。
客户端解析证书:客户端接收到证书后,会验证公钥是否有效,比如颁发机构、过期时间等。如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么客户端就生成一个随机值,然后用证书对该随机值进行加密。
传送加密信息:这部分传送的是用SSL证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
服务端解密信息:服务端用私钥解密后,得到了客户端传过来的随机值(即预主密钥),然后把内容通过该值进行对称加密。
以一个具体的网站为例,比如访问一家网站,网址是:
Netcraft Mobile Apps, Email and Browser Extensions and Toolbar | Netcraft
当用户在浏览器中输入这个网址并按下回车键时,浏览器会向服务器发出请求。服务器会将自己的SSL证书发送给浏览器。浏览器会检查这个证书是否有效,如果有效,就会生成一个随机值并用服务器的公钥进行加密,然后将加密后的随机值发送给服务器。服务器用自己的私钥进行解密,得到这个随机值。然后,服务器和浏览器就可以通过这个随机值进行加密和解密通信了。这样,即使有人截获了通信内容,也无法解密得到真正的信息。
HTTPS的端口号
HTTPS的默认端口号是443,而HTTP的默认端口号是80。
HTTPS不能运行在80端口的原因主要有以下几点:
端口冲突:如果在服务器上已经运行了一个HTTP服务(使用80端口),那么不能将HTTPS服务设置为使用相同的端口,这会导致端口冲突,使两个服务无法同时运行。
安全性问题:HTTPS协议是一种加密协议,用于保护在网络上传输的敏感数据。如果将HTTPS配置为使用80端口,任何人都可以通过简单地更改URL中的协议(从HTTPS更改为HTTP)来绕过安全措施,这可能会导致安全漏洞和数据泄漏。
标准要求:IETF(互联网工程任务组)标准规范中明确规定了HTTPS使用的默认端口为443,而HTTP使用的默认端口为80。为了遵守这一标准,建议将HTTPS配置为使用443端口。
HTTPS的价格以及安全级别
HTTPS证书的价格主要是和类型、品牌、服务、功能等有关系。主要的HTTPS证书类型包括DV域名验证型、OV企业验证型以及EV扩展验证型。DV SSL证书的价格一般在0~200元左右;OV SSL证书的价格一般在千元左右;而EV SSL证书的价格一般也是在千元左右。
在选择HTTPS证书时,也需要考虑其提供的安全级别。例如,一些证书可能只提供基础的加密功能,而另一些证书则可能提供了更高级别的安全功能,如防钓鱼网站攻击、恶意软件扫描等。
此外,不同的品牌也可能提供不同的安全级别。一些知名的SSL证书颁发机构,如Symantec、GeoTrust、Comodo等,通常会提供更高级别的安全保障。
因此,在选择HTTPS证书时,需要根据自己的需求和预算进行综合考虑。如果对网站的安全性要求较高,建议选择OV SSL证书或EV SSL证书,并选择知名的SSL证书颁发机构。
国内一些大型网站购买的HTTPS安全级别
CSDN:
百度:
腾讯:
阿里云:
京东:
163:
普通的个人用户使用基础的就可以了,200元左右的价格,也挺合理。