HTTP HTTPS RSA AES

HTTP HTTPS RSA AES

HTTP是客戶端,瀏覽器或者其他程序與Web服務器之間的應用層通信協議, 簡稱超文本傳輸協議.

HTTPS是HTTP的安全版, 多了一個SSL(安全套接層)或者TSL(安全傳輸層)協議.

HTTP的缺點:

  • 通信內容為明文, 沒有經過加密, 內容可能會被竊聽.
  • 通信雙方的身份沒有進行驗證, 可能出現偽裝身份的情況.
  • 接受的報文完整性無法確定, 可能中途被改動.

HTTPS在HTTP的基礎上增加了:

  • 通信加密
  • 證書認證
  • 完整性保護(SHA-2: 摘要信息)

首先要明白的是, HTTPS并非一個新的協議, 而是在HTTP的通信接口部分采用了SSL協議來實現的:

HTTP與HTTPS通信傳輸流

可以看出SSL是獨立于HTTP的協議, 同樣也可用于其他協議的加密.

HTTPS采用混合加密機制

含有對稱加密, 非對稱加密, 單向加密

HTTPS的握手機制

  1. 客戶端發起https請求

    用戶發出一個https請求, 連接到服務端的443端口

  2. 服務端的配置

    采用https協議的服務器必須要有一套數字證書, 可以自己制作, 也可以向相關組織申請, 區別就是自己頒布的證書需要客戶端驗證通過, 才可以繼續訪問, 而使用受信任的組織申請的證書則不會彈出提示頁面

  3. 傳送證書(公鑰)

    這個證書其實就是公鑰(其實這個就是非對稱加密產生的公鑰), 包含了很多信息, 如證書的頒發機構, 過期時間等.

  4. 客戶端解析證書

    這里是由客戶端的SSL(TSL)來完成的, 首先會檢驗公鑰是否有效, 如果發現異常, 則會彈出一個警告框, 提示證書存在問題, 如果證書沒有問題那么就生成一個隨機值(對稱加密生成的私鑰), 然后使用證書對該隨機值進行加密(使用非對稱產生的公鑰加密對稱加密生成的私鑰保證了私鑰的安全性).

  5. 傳送加密信息

    這里傳送的是用證書加密后的隨機值, 目的就是讓服務端得到這個隨機值(服務端獲取到和客戶端一樣的私鑰), 以后客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了.

  6. 服務端解密信息

    服務端使用生成證書時產生的私鑰解密, 得到了客戶端傳來的隨機值(對稱加密產生的私鑰), 然后把響應內容通過該隨機值進行對稱加密. 這樣服務端和客戶端都有私鑰, 就能進行加密和解密了.

  7. 傳輸加密后的信息

    這部分信息是服務端使用私鑰加密后的信息, 可以在客戶端利用私鑰被還原.

  8. 客戶端解密信息

    客戶端使用之前生成的私鑰來解密服務端傳來的加密信息, 獲取正確內容, 整個過程第三方即使獲取了數據, 也無法解密.

HTTPS常見攻擊方式:

  • 降級攻擊(SSL剝離攻擊)
  • 解密攻擊(明文, 證書偽造)
  • 協議漏洞, 實現方法的漏洞, 配置不嚴格

ps: 關于HTTPS也可以被charles抓包獲取被加密的數據的問題, 這個是由于客戶端本身安裝了偽造的證書, 相當于是中間人攻擊, 這個問題, 就是用戶問題, 無法去避免的.

RSA

RSA算法是公開密鑰系統的代表, 采用公鑰加密, 私鑰加密, 是非對稱加密, 安全性極高. 但是加解密速度慢, 不適合大量數據加密.

AES

AES是對稱加密, 在密鑰管理方面, 要求通信前雙方都有私鑰才能進行加解密, 安全性沒有RSA高, 但是加解密速度要優于RSA, 適合大量數據加密.

在網絡傳輸數據的過程中, 如果使用AES對稱加密機制對傳輸數據加密, 同時使用RSA不對稱加密機制來傳輸AES的密鑰, 就可以綜合發揮AES和RSA的優點同時避免它們的缺點來實現一種加密方案了.

具體過程是先由接收方創建RSA密鑰對, 接收方通過網絡發送RSA公鑰到發送方, 同時保存RSA私鑰. 而發送方創建AES密鑰, 并利用該AES密鑰加密待傳送的明文數據, 同時使用接受的RSA公鑰加密AES密鑰, 最后把用RSA公鑰加密后的AES密鑰同密文一起通過網絡發送給接收方. 當接受方收到這個被加密的AES密鑰和密文后, 首先調用接收方保存的RSA私鑰, 并用該私鑰解密被RSA公鑰加密的AES的密鑰, 得到AES密鑰, 最后用該AES密鑰解密密文得到明文.

其實這個過程和HTTPS的請求過程有很大的相似, 可以說是受這個的啟發了. 在企業級開發中, 可以作為加密方案.

Reference

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,572評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,071評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,409評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,569評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,360評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,895評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,979評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,123評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,643評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,559評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,742評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,250評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,981評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,363評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,622評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,354評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,707評論 2 370

推薦閱讀更多精彩內容