HTTP 窖壕, HTTPS , HSTS發(fā)展過程

HTTP

HTTP(超文本傳輸協(xié)議) 是一種用于分布式杉女、協(xié)作式和超媒體信息系統(tǒng)的應用層協(xié)議瞻讽。HTTP 是互聯網數據通信的基礎。它是由萬維網協(xié)會(W3C)和互聯網工程任務組(IETF)進行協(xié)調制定了 HTTP 的標準熏挎,最終發(fā)布了一系列的 RFC速勇,并且在1999年6月公布的 RFC 2616,定義了 HTTP 協(xié)議中現今廣泛使用的一個版本——HTTP 1.1坎拐。

HTTP 訪問過程

HTTP 屬于 TCP/IP 模型中的應用層協(xié)議烦磁,當瀏覽器與服務器進行互相通信時养匈,需要先建立TCP 連接,之后服務器才會接收瀏覽器的請求信息都伪,當接收到信息之后呕乎,服務器返回相應的信息。最后瀏覽器接受對服務器的信息應答后陨晶,對這些數據進行解釋執(zhí)行猬仁。

△http 1.0 請求模式

HTTP 1.0 時,瀏覽器每次訪問都要單獨建立連接珍逸,這會造成資源的浪費逐虚。

后來HTTP 1.1可以在一次連接中處理多個請求,并且將多個請求重疊進行

△http 1.1 請求模式

HTTP 協(xié)議特點

1. 簡單谆膳、快速叭爱、靈活:當用戶想服務器發(fā)送請求時,只需傳送請求方法和路徑即可漱病,HTTP 允許傳輸任意類型的數據對象买雾。并且HTTP協(xié)議簡單易用,HTTP 服務器規(guī)模小杨帽,保證了網絡通信的速度漓穿;

2. 無連接、無狀態(tài):HTTP協(xié)議限制每次連接只處理單個請求注盈,當服務器收到用戶請求后就會斷開連接晃危,保證了傳輸時間的節(jié)省。同時HTTP協(xié)議對事務處理沒有記憶能力老客,如果后續(xù)的請求需要使用前面的信息就必須重傳數據僚饭;

3. 管線化和內容編碼:隨著管線化技術的出現,HTTP 請求比持久性連接速度更快胧砰,并且當某些報文的內容過大時鳍鸵,為了減少傳輸的時間,HTTP 會采取壓縮文件的方式尉间;

4. HTTP支持客戶/服務器模式

從HTTP到HTTPS

HTTP 協(xié)議由于其簡單快速偿乖、占用資源少,一直被用于網站服務器和瀏覽器之間進行數據傳輸哲嘲。但是在數據傳輸的過程中也存在很明顯的問題贪薪,由于 HTTP 是明文協(xié)議,不會對數據進行任何方式的加密眠副。當黑客攻擊竊取了網站服務器和瀏覽器之間的傳輸報文的時古掏,可以直接讀取傳輸的信息,造成網站侦啸、用戶資料的泄密槽唾。因此 HTTP 不適用于敏感信息的傳播,這個時候需要引入 HTTPS(超文本傳輸安全協(xié)議)光涂。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure )是一種以計算機網絡安全通信為目的的傳輸協(xié)議庞萍。在HTTP下加入了SSL層,從而具有了保護交換數據隱私和完整性和提供對網站服務器身份認證的功能忘闻,簡單來說它就是安全版的 HTTP 钝计。

△ HTTP、HTTPS 差異


HTTPS 訪問過程

HTTPS在進行數據傳輸之前會與網站服務器和Web瀏覽器進行一次握手齐佳,在握手時確定雙方的加密密碼信息私恬。

具體過程如下:

1. Web 瀏覽器將支持的加密信息發(fā)送給網站服務器;

2. 網站服務器會選擇出一套加密算法和哈希算法炼吴,將驗證身份的信息以證書(證書發(fā)布CA機構本鸣、證書有效期、公鑰硅蹦、證書所有者荣德、簽名等)的形式發(fā)送給Web瀏覽器;

3. 當 Web 瀏覽器收到證書之后首先需要驗證證書的合法性童芹,如果證書受到瀏覽器信任則在瀏覽器地址欄會有標志顯示涮瞻,否則就會顯示不受信的標識。當證書受信之后假褪,Web 瀏覽器會隨機生成一串密碼署咽,并使用證書中的公鑰加密。之后就是使用約定好的哈希算法握手消息生音,并生成隨機數對消息進行加密宁否,再將之前生成的信息發(fā)送給網站;

△ Chrome 瀏覽器 HTTPS安全標識

4. 當網站服務器接收到瀏覽器發(fā)送過來的數據后久锥,會使用網站本身的私鑰將信息解密確定密碼家淤,然后通過密碼解密Web瀏覽器發(fā)送過來的握手信息,并驗證哈希是否與Web瀏覽器一致瑟由。然后服務器會使用密碼加密新的握手信息絮重,發(fā)送給瀏覽器;

5. 最后瀏覽器解密并計算經過哈希算法加密的握手消息歹苦,如果與服務發(fā)送過來的哈希一致青伤,則此握手過程結束后,服務器與瀏覽器會使用之前瀏覽器生成的隨機密碼和對稱加密算法進行加密交換數據殴瘦。

△ HTTPS 握手過程

HTTPS 加密算法

為了保護數據的安全狠角,HTTPS 運用了諸多加密算法:

1.對稱加密:有流式、分組兩種蚪腋,加密和解密都是使用的同一個密鑰丰歌。

例如:DES姨蟋、AES-GCM、ChaCha20-Poly1305 等立帖。

2.非對稱加密:加密使用的密鑰和解密使用的密鑰是不相同的眼溶,分別稱為:公鑰、私鑰晓勇,公鑰和算法都是公開的堂飞,私鑰是保密的。非對稱加密算法性能較低绑咱,但是安全性超強绰筛,由于其加密特性,非對稱加密算法能加密的數據長度也是有限的描融。

例如:RSA铝噩、DSA、ECDSA稼稿、 DH薄榛、ECDHE 等。

3. 哈希算法:將任意長度的信息轉換為較短的固定長度的值让歼,通常其長度要比信息小得多敞恋,且算法不可逆。

例如:MD5谋右、SHA-1硬猫、SHA-2、SHA-256 等改执。

4. 數字簽名:簽名就是在信息的后面再加上一段內容(信息經過 hash 后的值)啸蜜,可以證明信息沒有被修改過。hash 值一般都會加密后(也就是簽名)再和信息一起發(fā)送辈挂,以保證這個 hash 值不被修改衬横。

從 HTTPS 到 HSTS

但是當網站傳輸協(xié)議從 HTTP 到 HTTPS 之后,數據傳輸真的安全了嗎终蒂?

由于用戶習慣蜂林,通常準備訪問某個網站時,在瀏覽器中只會輸入一個域名拇泣,而不會在域名前面加上 http:// 或者 https://噪叙,而是由瀏覽器自動填充,當前所有瀏覽器默認填充的都是http://霉翔。一般情況網站管理員會采用了 301/302 跳轉的方式由 HTTP 跳轉到 HTTPS睁蕾,但是這個過程總使用到 HTTP 因此容易發(fā)生劫持,受到第三方的攻擊。

這個時候就需要用到 HSTS(HTTP 嚴格安全傳輸)子眶。

△ HTTP 請求劫持

HSTS

HSTS是國際互聯網工程組織 IETF 正在推行一種新的 Web 安全協(xié)議瀑凝,網站采用 HSTS 后,用戶訪問時無需手動在地址欄中輸入 HTTPS壹店,瀏覽器會自動采用 HTTPS 訪問網站地址猜丹,從而保證用戶始終訪問到網站的加密鏈接,保護數據傳輸安全硅卢。

HSTS原理

HSTS 主要是通過服務器發(fā)送響應頭的方式來控制瀏覽器操作:

1. 首先在服務器響應頭中添加 HSTS 響應頭:

Strict-Transport-Security: max-age=expireTime [; includeSubDomains] [; preload]

此響應頭只有在 https 訪問返回時才生效,其中[ ]中的參數表示可選藏杖;

2. 設置 max-age 參數将塑,時間設置不宜過長,建議設置時間為 6 個月蝌麸;

3. 當用戶下次使用 HTTP 訪問点寥,客戶端就會進行內部跳轉,并且能夠看到 307 Redirect Internel 的響應碼来吩;

4. 網站服務器變成了 HTTPS 訪問源服務器敢辩。

開啟 HSTS 后網站可以有效防范中間人的攻擊,同時也會省去網站 301/302 跳轉花費的時間弟疆,大大提升安全系數和用戶體驗戚长。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市怠苔,隨后出現的幾起案子同廉,更是在濱河造成了極大的恐慌,老刑警劉巖柑司,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迫肖,死亡現場離奇詭異,居然都是意外死亡攒驰,警方通過查閱死者的電腦和手機蟆湖,發(fā)現死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玻粪,“玉大人隅津,你說我怎么就攤上這事∧潭危” “怎么了饥瓷?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長痹籍。 經常有香客問我呢铆,道長,這世上最難降的妖魔是什么蹲缠? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任棺克,我火速辦了婚禮悠垛,結果婚禮上,老公的妹妹穿的比我還像新娘娜谊。我一直安慰自己确买,他們只是感情好,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布纱皆。 她就那樣靜靜地躺著湾趾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪派草。 梳的紋絲不亂的頭發(fā)上搀缠,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天,我揣著相機與錄音近迁,去河邊找鬼艺普。 笑死,一個胖子當著我的面吹牛鉴竭,可吹牛的內容都是我干的歧譬。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼搏存,長吁一口氣:“原來是場噩夢啊……” “哼瑰步!你這毒婦竟也來了?” 一聲冷哼從身側響起祭埂,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤面氓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛆橡,有當地人在樹林里發(fā)現了一具尸體舌界,經...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年泰演,在試婚紗的時候發(fā)現自己被綠了呻拌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡睦焕,死狀恐怖藐握,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情垃喊,我是刑警寧澤猾普,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站本谜,受9級特大地震影響初家,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一溜在、第九天 我趴在偏房一處隱蔽的房頂上張望陌知。 院中可真熱鬧,春花似錦掖肋、人聲如沸仆葡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沿盅。三九已至,卻和暖如春纫溃,著一層夾襖步出監(jiān)牢的瞬間嗡呼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工皇耗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人揍很。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓郎楼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親窒悔。 傳聞我的和親對象是個殘疾皇子呜袁,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內容