跳至內容

HTTPS

輕之舟百科,讓知識輕裝啟航
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(全稱: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的起源可追溯至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]。

參考文獻

[編輯 | 編輯原始碼]