HTTPS(全称:Hypertext Transfer Protocol Secure,又称HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议[2][1]。HTTPS经由HTTP进行通信,但利用TLS(传输层安全协议)或其前身SSL(安全套接层协议)对数据包进行加密[2][3][5]。该协议由网景公司(Netscape)于1994年首次提出,旨在为网站服务器提供身份认证,并保护交换数据的隐私与完整性[2][1]。HTTPS的默认端口为443,区别于HTTP的80端口[3][4]。

HTTPS
中文名超文本传输安全协议
英文名Hypertext Transfer Protocol Secure
缩写HTTPS
提出者网景公司(Netscape)[1]
提出时间1994年[2][1]
端口443[3][4]
基于协议HTTP、TLS/SSL[3][5]
相关标准RFC 2818(HTTP Over TLS)[6]

历史

编辑

HTTPS的起源可追溯至1994年,网景公司为解决网络流量的安全性和隐私性问题,设计了SSL(Secure Sockets Layer)协议[2][1][7]。SSL 1.0版本从未公开发布,首个实际部署的版本是1994年末随Netscape Navigator浏览器一同发布的SSL 2.0[7]。1995年,SSL 3.0发布[7]。

随着SSL使用范围的扩大,互联网工程任务组(IETF)于1999年1月在RFC 2246中正式指定了TLS 1.0,作为SSL的标准化后继者[4]。2000年5月,IETF发布了RFC 2818《HTTP Over TLS》,正式文档化了使用TLS保护HTTP连接的做法[6]。

历史上,HTTPS连接主要应用于万维网上的交易支付和企业信息系统中敏感信息的传输[1]。自2000年代末至2010年代初,HTTPS开始广泛普及,用于确保网页的真实性、保护用户账户以及维护用户通信、身份和网络浏览的私密性[1][3]。

技术概述

编辑

HTTPS并非一种独立的协议,而是通过在HTTP下加入TLS/SSL层来实现的安全通信方式[3][5]。TLS/SSL协议位于HTTP与TCP之间,为数据传输提供加密、身份认证和完整性保护[3][4]。

加密与认证机制

编辑

HTTPS采用混合加密机制[5]:

  • 非对称加密(如RSA)用于在TLS握手阶段安全地交换对称加密所需的密钥[5]。
  • 对称加密(如AES)用于实际的数据传输,以保证通信效率[5]。
  • 数字证书由证书颁发机构(CA)签发,用于验证网站服务器的真实身份,防止中间人攻击[3][5]。

TLS握手

编辑

TLS连接以握手阶段开始,客户端与服务器就共享密钥、加密算法(密码套件)等参数达成一致[4]。完成握手后,双方即可开始加密的HTTP通信[4]。

端口

编辑

HTTPS使用端口443作为其已知端口号,而未加密的HTTP默认使用端口80[3][4]。

与HTTP的区别

编辑

HTTPS与HTTP的主要区别在于安全性[3][5]:

  • 加密:HTTP以明文形式传输数据,容易被窃听;HTTPS通过TLS/SSL对数据进行加密,防止第三方读取[5]。
  • 身份认证:HTTP不验证服务器的身份,容易遭受中间人攻击;HTTPS通过数字证书对服务器进行身份认证,确保客户端连接的是正确的服务器[2][3]。
  • 数据完整性:HTTP无法检测数据在传输过程中是否被篡改;HTTPS通过消息验证码等机制确保数据的完整性[3][4]。
  • **端口**:HTTP使用80端口,HTTPS使用443端口[3][4]。

当前使用情况

编辑

随着公众对网络安全和隐私保护意识的提高,以及搜索引擎(如Google搜索)将HTTPS作为排名信号,HTTPS的部署率持续上升[1]。主流网站、浏览器和网络服务已普遍采用HTTPS作为默认访问协议。例如,维基媒体基金会自2015年6月起对其旗下所有项目实施了强制性HTTPS加密,未加密的HTTP页面会被强制跳转至对应的HTTPS页面[8]。

参考文献

编辑