作者 | 江文賓上海控安可信軟件創新研究院 鑒源實驗室
01
背 景
在數字化和網絡化日益發展的今天,信息安全成為了我們不得不重視的問題。伴隨著信息技術的不斷進步,網絡攻擊的方式也越來越多樣化、復雜化。作為應對這一挑戰的重要武器,HTTPS(超文本傳輸安全協議)的使用日益廣泛,它為我們網上的身份認證和數據交換提供了一道隱形的保護屏障。本文旨在深入解析HTTPS的工作原理、安全性以及其在網絡安全中的重要性。
02
HTTP的安全缺陷
HTTP協議[1]是一種無狀態的、應用層的協議,它本身并不提供任何安全機制。HTTP協議的安全缺陷主要來自于以下幾個方面:
1. 明文傳輸:HTTP協議以明文形式傳輸數據,這意味著數據在傳輸過程中可以被任何第三方攔截和讀取,容易遭受中間人攻擊,這包括用戶名、密碼、信用卡信息等敏感數據。若網絡監聽和數據篡改,用戶隱私和數據完整性無法得到保障。
2. 無身份驗證:HTTP協議本身不提供任何身份驗證機制。這意味著任何用戶都可以發送HTTP請求,包括惡意用戶。這可能導致未經授權的數據訪問或篡改。
3. 無完整性檢查:HTTP協議不提供任何完整性檢查機制。這意味著攻擊者可以攔截HTTP請求和響應,并修改其中的內容,而服務器端無法檢測到這些修改。
為了解決HTTP協議在數據通信過程中帶來的安全風險,HTTPS就出現了。
03
HTTPS的發展
HTTPS(Hyper Text Transfer Protocol Secure)[2]不是一種新的協議,而是HTTP協議的安全版本,它通過在HTTP的基礎上加入SSL/TLS協議[3],用來為數據傳輸做加密,增加數據傳輸的安全性。
HTTPS的發展可以追溯到20世紀90年代,當時互聯網安全領域正面臨著一系列的挑戰。隨著互聯網的普及,越來越多的敏感信息(如用戶名、密碼、信用卡信息等)通過HTTP協議在互聯網上傳輸,這給網絡安全帶來了巨大的風險。為了解決這個問題,SSL協議應運而生。
SSL(Secure Sockets Layer,安全套接字層)[4]協議是一種用于在互聯網上提供安全通信的加密協議。它最初由網景公司開發,用于保護網頁瀏覽器的安全連接。SSL協議通過加密數據、驗證身份和確保數據完整性來保護用戶和服務器之間的通信,為數據傳輸提供了安全保障,廣泛應用于電子商務、銀行、在線支付等領域。
隨著SSL2.0和SSL3.0的發布,一些安全問題也暴露出來,如“心臟出血”漏洞,這使得SSL協議的安全性受到了質疑。
為了解決這些問題,IETF(Internet Engineering Task Force)組織在1999年發布了TLS(Transport Layer Security)協議[5],TLS協議是SSL協議的后續版本,提供了更加強大的安全性、更加完善的協議規范、改進了性能以及增加了兼容性。TLS協議在SSL協議的基礎上進行了改進,修復了SSL協議的一些安全漏洞,并引入了一些新的安全特性。
隨著TLS協議的普及,HTTP協議的安全版本HTTPS(HTTP Secure)也逐漸發展起來。HTTPS通過在HTTP協議下加入TLS協議,為數據傳輸提供了加密、身份驗證和數據完整性保護,從而解決了HTTP協議的安全問題。
時至今日,由于網絡環境和安全需求的變化,HTTPS還在不斷的發展和迭代,新的TSL版本也在更新。
04
HTTPS工作流程
HTTPS請求的結構與HTTP請求的結構類似,但是在HTTP請求的基礎上增加了SSL/TLS協議進行工作,協議的工作流程包括:握手、加密傳輸和連接結束三個階段。
1. 握手階段:當用戶的瀏覽器嘗試向服務器建立HTTPS連接時,瀏覽器和服務器之間會進行一次“握手”。在這個過程中,服務器會向瀏覽器提供其SSL/TLS證書,證書中包含了服務器的公鑰、域名等信息。瀏覽器會檢查證書的有效期、頒發機構、域名等,確保連接的服務器是可信任的后,使用收到的公鑰加密生成一個“會話密鑰”,并將其發送給服務器。
2. 加密傳輸階段:服務器用自己的私鑰解密接收到的“會話密鑰”,然后雙方使用這個密鑰對交換的數據進行加密。這樣,即使數據在傳輸過程中被第三方截獲,沒有密鑰也無法解密數據內容。
3. 連接結束階段:當數據傳輸結束后,客戶端和服務器會交換關閉消息,以確認連接被安全地關閉。連接關閉后即便是會話密鑰被泄露,也不會對已傳輸的數據構成威脅。
05
HTTPS的安全特性
HTTPS之所以安全,主要得益于以下幾個關鍵特性:[6]
1. 加密通信:HTTPS使用SSL(安全套接字層)或TLS(傳輸層安全)協議對數據進行加密。這意味著在客戶端和服務器之間傳輸的數據被加密,只有擁有正確密鑰的人才能解密和讀取這些數據。這有效防止了數據在傳輸過程中被竊聽或篡改。
2. 身份驗證:HTTPS通過數字證書來驗證服務器的身份。這些證書由受信任的證書頒發機構(CA)簽發,確保用戶連接的是正確的服務器,而不是一個冒名頂替的服務器。此外,HTTPS還支持客戶端身份驗證,即服務器可以要求客戶端提供證書,以驗證客戶端的身份。例如,當用戶訪問一個知名電商網站時,瀏覽器會檢查該網站的SSL證書,如果證書由知名的CA機構頒發且未被篡改,用戶就可以放心地進行購物操作,因為這表明網站是經過認證的合法實體。
3. 完整性保護:HTTPS通過使用哈希函數來確保數據的完整性。這意味著即使數據在傳輸過程中被篡改,接收方也可以通過比較哈希值來檢測到數據是否被篡改。
4. 防止中間人攻擊:由于HTTPS使用加密和身份驗證機制,攻擊者很難在客戶端和服務器之間插手,從而進行中間人攻擊。這種攻擊通常涉及攻擊者攔截和修改通信數據。
06
更多優勢
1. 支持HTTP/2.0協議[7]:新的網絡協議HTTP/2.0對HTTPS提供了更好的支持,使得網站在使用HTTPS的同時能夠獲得性能優化。HTTP/2.0通過多路復用、服務器推送等技術,減少了網絡延遲,提高了頁面加載速度和用戶體驗,進一步增強了HTTPS網站的競爭力。
一個HTTPS網站能夠同時發送多個請求和響應,而不會像傳統的HTTP/1.1那樣需要依次等待。這使得網頁中的圖片、腳本等資源能夠更快地加載,用戶可以更快地看到完整的網頁內容,提升了用戶對網站的滿意度和忠誠度。
2. 增強用戶信任:大多數瀏覽器都會在HTTPS的網址上顯示一個綠色鎖標志,通常在瀏覽器地址欄的左側,這表示該網址使用了SSL/TLS協議,并且連接是安全的,促使用戶更愿意在網站上進行交易和分享個人信息。
3. 提升搜索引擎排名:搜索引擎如Google將HTTPS作為搜索排名的一個重要因素,因為搜索引擎傾向于推薦安全、可靠的網站給用戶,從而鼓勵更多網站采用HTTPS,提升整個互聯網的安全水平。采用HTTPS的網站在搜索結果中更有可能獲得較高的排名,從而提高網站的可見度和用戶訪問量,為企業帶來更多的潛在客戶和業務機會。
07
HTTPS的局限性
事實上并不是使用了HTTPS就可以高枕無憂了,目前仍然存在一些安全風險。
1. 端點安全問題:HTTPS僅保護數據在傳輸過程中的安全性,無法解決終端設備的安全問題。如果用戶的電腦或移動設備感染惡意軟件,即使通信過程中進行了數據傳輸加密,黑客仍可在終端解密數據后進行竊取或篡改。
2. 證書問題:SSL/TLS證書的安全性高度依賴于證書頒發機構(CA)的可信度和操作安全。如果CA機構遭受攻擊或誤發證書,攻擊者可能會利用這些不當證書實施中間人攻擊,使HTTPS的安全防護失效。
3. 中間設備的風險:企業和組織內部的網絡設備,如防火墻和代理服務器,有時會對SSL/TLS進行檢查和過濾。這一過程可能會削弱SSL/TLS加密,增加數據被攻擊的風險,導致HTTPS的安全性降低。
08
結 語
綜上所述,雖然HTTPS無法解決所有網絡安全問題,但它確實是我們維護網絡安全的重要工具。使用HTTPS,我們至少可以確保數據在傳輸過程中不被輕易竊取或篡改。
上海控安針對工控通信系統中存在的網絡安全隱患和漏洞,推出面向工控系統協議、應用、數據庫、內核等全類型軟件對象的自動化智能黑盒模糊測試工具——SmartRocket TestSec自動化智能模糊滲透測試工具,可針對工業互聯網軟件進行自動化智能黑盒模糊滲透測試,對通信協議、基礎軟件進行各種模糊攻擊、滲透攻擊及安全功能驗證。以HTTP模糊測試為例,TestSec提供多種模糊策略及報文字段變異器,對HTTP請求結構自上而下的全方位測試(包括URL、版本、請求方式、請求頭和請求體),支持HTTP互操作性測試,可配置多種侵入式和非侵入式監控套件,結合被測對象的響應判斷當前設備狀態并獲取模糊測試效果信息從而生成模糊報文。對此測試生成交互報文和模糊測試報告,并檢測測試過程中生成的所有缺陷和漏洞。不僅如此,用戶還可根據已有協議模板或規則進行新增和定制,滿足模糊測試的可行性深度需求。從軟件層面到協議層面,全方位保障高安全領域軟件系統的穩健運行。網絡安全是一場沒有終點的賽跑,我們需要不斷更新知識、加強防護,并采取全方位的安全措施來保護我們的數字生活。
此外,隨著互聯網技術的快速發展,我們也應該關注新的安全技術和趨勢,更要關注新型攻擊方式的出現。同時,作為用戶,我們也應該提升個人的信息安全意識,譬如定期更換復雜密碼、避免在不安全的網絡環境下登錄敏感賬戶、及時更新操作系統和應用程序等,只有這樣,才能在數字化世界中更安心地生活和工作。
當然,對于企業和網站管理員而言,持續的安全評估、嚴格的安全策略實施、合理的安全架構設計同樣不可或缺。只有通過不懈的努力和全面的安全策略,我們才能構建一個更加安全、可靠的網絡環境。
參考文獻:
1. Gourley D, Totty B. HTTP: the definitive guide[M]. " O'Reilly Media, Inc.", 2002.
2.Roy T. Fielding, Julian F. Reschke, Mike Nottingham. HTTP Semantics[R]. RFC 9110, 2022.
3.張晗卓, 張中偉. 基于HTTP協議的信息安全研究[J]. 計算機與網絡, 2019, 17.
4.Freier A, Karlton P, Kocher P. The SSL Protocol: Version 3.0[M]. Internet Draft, 1996.
5.Dierks T, Rescorla E. The Transport Layer Security (TLS) Protocol Version 1.2[R]. RFC 5246, 2008.
6.Rescorla E. HTTP Over TLS[R]. RFC 2818, 2000.
7.ansfer Protocol Version 2 (HTTP/2)[R]. RFC 7540, 2015.
審核編輯 黃宇
-
網絡安全
+關注
關注
11文章
3215瀏覽量
60380 -
https
+關注
關注
0文章
53瀏覽量
6241
發布評論請先 登錄
相關推薦
DEKRA德凱網絡安全實驗室榮獲ISO 17025認可資質
NVIDIA推出DRIVE AI安全檢測實驗室
TCL智能終端安全實驗室獲TüV南德雙項資質認證
實驗室精密儀器防雷安全方案

鑒源實驗室·ISO 26262中測試用例的得出方法-等價類的生成和分析

鑒源實驗室·基于MQTT協議的模糊測試研究

鑒源實驗室·HTTP協議網絡安全攻擊

評論