什么是 SSL、TLS 和 HTTPS?
概念
SSL: 安全套接字層(Secure Sockets Layer,SSL) 是一種加密安全協議;(SSL是 TLS的前身)TLS: 安全傳輸層協議(Transport Layer Security,TLS) 是為網路通信提供安全及資料完整性的一種安全協議;HTTP: 超文本傳輸協議(Hyper Text Transfer Protocol) 是從WEB服務器傳輸超文本標記語言(HTML)到本地瀏覽器的傳送協議,HTTPS: 超文本傳輸安全協議(Hypertext Transfer Protocol Secure),是以安全為目標的HTTP通道,簡單講是HTTP的安全版;即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL,
SSL/TLS
-
SSL 介紹
安全套接字層 (SSL) 是一種加密安全協議,它最初由 Netscape 于 1995 年開發,旨在確保 Internet 通信中的隱私、身份驗證和資料完整性,SSL 是如今使用的現代 TLS 加密的前身,
- SSL 是指安全套接字層,簡而言之,它是一項標準技術,是為網路通信提供安全及資料完整性的一種安全協議;
- SSL協議位于TCP/IP協議與各種應用層協議之間,為資料通訊提供安全支持;
-
TLS 介紹
傳輸層安全性(Transport Layer Security,TLS)是一種廣泛采用的安全性協議,旨在促進互聯網通信的私密性和資料安全性,TLS 的主要用例是對 web 應用程式和服務器之間的通信(例如,web 瀏覽器加載網站)進行加密,TLS 還可以用于加密其他通信,如電子郵件、訊息傳遞和 IP 語音(VOIP)等,在本文中,我們將重點介紹 TLS 在 web 應用程式安全中發揮的作用,
- TLS 其前身是 SSL,它最初的幾個版本(SSL 1.0、SSL 2.0、SSL 3.0)由網景公司開發;
- 1999年從 3.1 開始被 IETF 標準化并改名,發展至今已經有 TLS 1.0、TLS 1.1、TLS 1.2 三個版本;
- SSL3.0和TLS1.0由于存在安全漏洞,已經很少被使用到,
- 目前使用最廣泛的是TLS 1.1、TLS 1.2,
-
TLS 和 SSL 聯系
- SSL 是TLS(傳輸層安全性)的協議的直接前身,
- SSL 的最終版本(3.0)與 TLS 的第一版本之間并無明顯差異,應用名稱更改只是表示所有權改變,
- SSL 由 Netscape 于 1995 年開發,并且在 1999 年,互聯網工程任務組(IETF)提出了對 SSL 的更新,由于不再牽涉到 Netscape,因此名稱更改為 TLS,
- SSL 自 1996 年推出 SSL 3.0 以來未曾更新過,并且存在多個已知漏洞,現已棄用,實際上,大多數現代 Web 瀏覽器已徹底不再支持 SSL
- 由于它們緊密地聯系在一起,這兩個術語經常互換使用并混為一談,有些人仍然使用 SSL 來指代 TLS,其他人則使用術語“SSL/TLS 加密”,因為 SSL 仍然具有很大的知名度,
- 由于許多人仍在搜尋“SSL 保護”,因此這個術語在許多產品頁面上仍然處于醒目位置,但如今提供“SSL”的任何供應商提供的幾乎肯定都是 TLS 保護
-
SSL/TLS 作用
- SSL/TLS 協議實作的功能有三個主要組成部分:加密、認證和完整性,
- 加密:隱藏從第三方傳輸的資料,為了提供高度隱私,對傳輸的資料進行加密,這意味著,任何試圖截取此資料的人都只會看到幾乎無法解密的亂碼字符,
- 身份驗證:在兩個通信設備之間啟動稱為握手的身份驗證程序,以確保兩個設備確實是它們聲稱的真實身份,
- 完整性:驗證資料未被偽造或篡改,對資料進行數字簽名,以提供資料完整性,驗證資料是否在到達目標接收者之前被篡改過,
HTTP
HTTP(HyperText Transfer Protocol:超文本傳輸協議)是一種用于分布式、協作式和超媒體資訊系統的應用層協議, 簡單來說就是一種發布和接收 HTML 頁面的方法,被用于在 Web 瀏覽器和網站服務器之間傳遞資訊,
-
HTTP 是一個基于TCP/IP通信協議來傳遞資料的協議,傳輸的資料型別為HTML 檔案,、圖片檔案, 查詢結果等,
-
HTTP 協議以明文方式發送內容,不提供任何方式的資料加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的資訊,因此,HTTP協議不適合傳輸一些敏感資訊,比如:信用卡號、密碼等支付資訊,
-
HTTP特點:
- http協議支持客戶端/服務端模式,也是一種請求/回應模式的協議,
- 簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑,請求方法常用的有GET、HEAD、POST,
- 靈活:HTTP允許傳輸任意型別的資料物件,傳輸的型別由Content-Type加以標記,
- 無連接:限制每次連接只處理一個請求,服務器處理完請求,并收到客戶的應答后,即斷開連接,但是卻不利于客戶端與服務器保持會話連接,為了彌補這種不足,產生了兩項記錄http狀態的技術,一個叫做Cookie,一個叫做Session,
- 無狀態:無狀態是指協議對于事務處理沒有記憶,后續處理需要前面的資訊,則必須重傳,
-
HTTP缺點
- 請求資訊明文傳輸,容易被竊聽截取;
- 資料的完整性未校驗,容易被篡改;
- 沒有驗證對方身份,存在冒充危險;
-
URI和URL的區別
- HTTP使用統一資源識別符號(Uniform Resource Identifiers, URI)來傳輸資料和建立連接,
- URI: 統一資源識別符號(Uniform Resource Identifier)
- URL: 統一資源定位符(Uniform Resource Location)
- URI 是用來標示 一個具體的資源的,我們可以通過 URI 知道一個資源是什么,
- URL 則是用來定位具體的資源的,標示了一個具體的資源位置,互聯網上的每個檔案都有一個唯一的URL,
HTTPS

HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協議)是一種透過計算機網路進行安全通信的傳輸協議,HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密資料包,HTTPS 開發的主要目的,是提供對網站服務器的身份認證,保護交換資料的隱私與完整性,
-
HTTPS 默認作業在 TCP 協議443埠,它的作業流程一般如以下方式:
- TCP 三次同步握手
- 客戶端驗證服務器數字證書
- DH 演算法協商對稱加密演算法的密鑰、hash 演算法的密鑰
- SSL 安全加密隧道協商完成
- 網頁以加密的方式傳輸,用協商的對稱加密演算法和密鑰加密,保證資料機密性;用協商的hash演算法進行資料完整性保護,保證資料不被篡改,
-
HTTPS缺點
- HTTPS協議多次握手,導致頁面的加載時間延長近50%;
- HTTPS連接快取不如HTTP高效,會增加資料開銷和功耗;
- 申請SSL證書需要錢,功能越強大的證書費用越高,
- SSL涉及到的安全演算法會消耗 CPU 資源,對服務器資源消耗較大,
-
HTTPS和HTTP的區別
- HTTPS是HTTP協議的安全版本,HTTP協議的資料傳輸是明文的,是不安全的,HTTPS使用了SSL/TLS協議進行了加密處理,
- http和https使用連接方式不同,默認埠也不一樣,http是80,https是443,
- 使用 HTTPS 協議需要到 CA(Certificate Authority,數字證書認證機構) 申請證書,一般免費證書較少,因而需要一定費用,證書頒發機構如:Symantec、Comodo、GoDaddy 和 GlobalSign 等,
- HTTP 頁面回應速度比 HTTPS 快,主要是因為 HTTP 使用 TCP 三次握手建立連接,客戶端和服務器需要交換 3 個包,而 HTTPS除了 TCP 的三個包,還要加上 ssl 握手需要的 9 個包,所以一共是 12 個包,
SSL 證書

SSL 證書使得網站能夠從 HTTP 轉到更加安全的 HTTPS,SSL 證書是托管在網站源服務器中的資料檔案,SSL 證書促成了 SSL/TLS 加密,它們含有網站的公鑰和網站標識以及相關資訊,嘗試與源服務器通信的設備將參考此檔案,以獲取公鑰并驗證服務器的身份,私鑰應保密并妥善保管,
SSL 證書內容
SSL 證書包含以下資訊:
- 針對其頒發證書的域名
- 證書頒發給哪一個人、組織或設備
- 證書由哪一證書頒發機構頒發
- 證書頒發機構的數字簽名
- 關聯的子域
- 證書的頒發日期
- 證書的到期日期
- 公鑰(私鑰為保密狀態)
用于 SSL 的公鑰和私鑰本質上是用于加密和解密資料的長字串,使用公鑰加密的資料只能用私鑰解密,反之亦然,
SSL 證書作用
- 互聯網上的每個網站都應通過 HTTPS 提供服務, 原因如下:
- 性能:現代 SSL 實際上可以縮短頁面加載時間,
- 搜索排名提升 :搜索引擎偏愛 HTTPS 網站,
- 安全:使用 SSL 加密流量可確保任何人都無法窺探用戶的資料,
- 信任:通過在瀏覽器的地址欄中顯示綠色鎖,SSL 增加了訪問者的信任度,
- 合規性:SSL 是 PCI 合規性的關鍵組成部分,
- 加密:SSL 證書促成了公鑰私鑰配對,客戶端(例如 Web 瀏覽器)從服務器的 SSL 證書獲取打開 TLS 連接所需的公鑰,
- 身份驗證:SSL 證書可驗證客戶端正在與實際擁有該域的正確服務器進行通信,這有助于防止域欺騙和其他型別的攻擊,
SSL 自簽名證書
keytool命令生成證、管理數字證書
Reference
- https://zhuanlan.zhihu.com/p/72616216
- https://www.runoob.com/w3cnote/http-vs-https.html
- https://www.cloudflare.com/zh-cn/learning/ssl/what-is-an-ssl-certificate/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/492491.html
標籤:其他
上一篇:org.springframework.dao.IncorrectResultSizeDataAccessExceptionMongoLimit不起作用?
下一篇:攻防世界pwn題:實時資料檢測
