原文 https://blog.csdn.net/gd_mkhu/article/details/91411001
http和https的區(qū)別
HTTP協(xié)議是被用于web瀏覽器和網(wǎng)站服務(wù)器之間傳遞消息的協(xié)議,以明文的方式發(fā)送方式回还,socket直接采用get直接獲取的信息裆泳。可以從WWW服務(wù)器傳輸超文本到本地瀏覽器柠硕。
而HTTPS在基礎(chǔ)上加了一個S工禾,即安全傳輸,加入了SSL協(xié)議蝗柔。所以即有兩個作用闻葵,建立一個信息安全通道,加密信息癣丧,另一個就是確認(rèn)網(wǎng)站的真實性槽畔。
區(qū)別
HTTPS和HTTP的區(qū)別主要如下:
- https協(xié)議需要到ca申請證書,一般免費證書較少坎缭,因而需要一定費用竟痰。
- http是超文本傳輸協(xié)議,信息是明文傳輸掏呼,https則是具有安全性的ssl加密傳輸協(xié)議坏快。
- http和https使用的是完全不同的連接方式,用的端口也不一樣憎夷,前者是80莽鸿,后者是443。
- http的連接很簡單拾给,是無狀態(tài)的祥得;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議蒋得,比http協(xié)議安全级及。
所以在使用的時候,所以相應(yīng)的效率有所下降额衙,并且CA證書也需要費用饮焦,而SSL證書需要綁定IP地址。
而將http改為https窍侧,則將所有的http改為https县踢。
SSL協(xié)議
SSL介于應(yīng)用層和TCP層之間。應(yīng)用層數(shù)據(jù)不再直接傳遞給傳輸層伟件,而是傳遞給SSL層硼啤,SSL層對從應(yīng)用層收到的數(shù)據(jù)進(jìn)行加密,并增加自己的SSL頭斧账。
用加密算法
- RSA加密算法:非對稱的算法谴返,兩個大整數(shù)分解為兩個素數(shù)的問題。
加密,公鑰 (n,e)
解密,私鑰(n,d):
證明帶入就行啦
n=pq 為兩個大質(zhì)數(shù)φ(n)=(p-1)(q-1)
其骄,ed≡1 (mod φ(n))
所以公開的就只有(n,e)亏镰,所以泄露d,被稱為私鑰泄露拯爽,而已知(n,e)的條件下索抓,如果n被分解,則d就可以算出毯炮。但是n是難于被分解的逼肯,這是大整數(shù)的分解問題。
- hash算法:檢查有沒有被篡改
- 數(shù)字證書:使用數(shù)字證書來證明自己的身份桃煎,而不是偽造的篮幢。
在SSL中會使用密鑰交換算法交換密鑰;使用密鑰對數(shù)據(jù)進(jìn)行加密为迈;使用散列算法對數(shù)據(jù)的完整性進(jìn)行驗證三椿,使用數(shù)字證書證明自己的身份缺菌。