HTTPS學(xué)習(xí)筆記

公開密鑰加密技術(shù)


公私鑰加密簡單來說就是提供服務(wù)方有唯一一把私有的密鑰和無數(shù)把公開的密鑰,他把公鑰發(fā)給所有請求服務(wù)的客戶端才写,但只有自己知道并持有私鑰葡兑。通過公鑰加密過的數(shù)據(jù),只有私鑰才能解開赞草。

公鑰加密的數(shù)據(jù)用私鑰可以解開讹堤,用私鑰加密過的數(shù)據(jù)用公鑰也可以解開。加密和解密其實是雙向的厨疙。后面說到的數(shù)字證書就是服務(wù)端用私鑰加密后洲守,客戶端再用公鑰解密;而客戶端向服務(wù)器端發(fā)送預(yù)主密鑰(premaster secret)的時候又是用服務(wù)器提供的公鑰加密沾凄,服務(wù)器再用私鑰解密梗醇。兩個過程正好是雙向加密解密的過程。

對稱密鑰加密技術(shù)


對稱密鑰就是加密和解密用相同的密鑰撒蟀。和公開密鑰相比叙谨,因為算法相對簡單所以效率比公開密鑰高,而https在經(jīng)過認證過程后便會采用對稱密鑰加密進行通訊保屯。

數(shù)字簽名 & 數(shù)字證書


舉個例子手负,身份證和名片都能體現(xiàn)一個人的姓名等信息,但身份證因為各種技術(shù)原因難以偽造所以可信度極高姑尺,而名片卻相反竟终。

數(shù)字簽名就是一種讓信息擁有較高的可信度的技術(shù)。而數(shù)字證書是帶有具體信息和數(shù)字簽名的一張身份證切蟋。

  • 數(shù)字認證機構(gòu)(CA)

一般情況頒發(fā)數(shù)字認證的機構(gòu)越是正規(guī)统捶,所采用的數(shù)字簽名就越不容易被偽造,信息可信度也就越高柄粹。提供服務(wù)方為確保通訊安全喘鸟,會去找正規(guī)的CA為他頒發(fā)數(shù)字認證。

  • 數(shù)字簽名

數(shù)字簽名是經(jīng)過加密的字符串镰惦。典型的數(shù)字簽名加密對象包含但不限于:

  1. 證書格式版本號
  1. 證書序列號
  1. 證書簽名算法
  1. 證書頒發(fā)者
  1. 有效期
  1. 提供服務(wù)方的名稱
  1. 提供服務(wù)方的公開密鑰

其中證書序列號是CA生成的唯一整數(shù)迷守,CA生成的每個證書都要有一個唯一的序列號犬绒。個人理解這個序列號應(yīng)該是用來防止重放攻擊的旺入,保證相同認證機構(gòu)、相同服務(wù)商每次生成的數(shù)字簽名都不可能相同。

提供服務(wù)方的公開密鑰是用作后續(xù)把傳給服務(wù)器的數(shù)據(jù)進行加密的茵瘾。

對以上信息進行加密生成數(shù)字簽名應(yīng)該是個非常復(fù)雜的過程礼华,不知道這輩子有沒有機會去好好學(xué)密碼學(xué)搞清楚……反正最后通過CA密鑰就生成了這么一個非常非常難以破解和偽造的簽名字符串。

數(shù)字證書及認證


把參與數(shù)字簽名加密的對象拗秘,附帶上加密后的數(shù)字簽名圣絮,生成的一組信息,就是數(shù)字證書雕旨。

服務(wù)器將數(shù)字證書發(fā)給客戶端力圖表明正身扮匠,客戶端就要對這個證書進行認證。本質(zhì)上就是校驗解密后的數(shù)字簽名凡涩,和證書上的其他信息是否匹配棒搜。

客戶端瀏覽器一般都會將世界上知名的可信賴的認證機構(gòu)頒發(fā)的公共密鑰事先就存在本地,遇到這些認證機構(gòu)提供的數(shù)字證書的時候活箕,就直接拿著響應(yīng)的公共密鑰對數(shù)字簽名做解密力麸。這樣就可以比對證書上的其他信息判斷證書的真?zhèn)瘟恕?/p>

對于那些非正規(guī)的認證機構(gòu)提供的證書,瀏覽器會給出提示育韩,要求用戶確認是否相信這些非正規(guī)認證機構(gòu)提供的證書克蚂。至于對數(shù)字簽名進行解密的公鑰,是服務(wù)器直接提供還是啥的筋讨,暫時不太清楚埃叭,找大牛們問問去……

SSL


前面說了這么多,都是SSL做的事情版仔。

SSL協(xié)議主要確保幾件事情:

  1. 服務(wù)器認證:客戶端知道他們是在和真正的服務(wù)器通話游盲;
  1. 客戶端認證:服務(wù)器知道他在和真正的客戶端通話;
  1. 完整性:客戶端和服務(wù)器之間傳輸?shù)男畔⒉粫淮鄹模?/li>
  1. 加密:客戶端和服務(wù)器之間的對話是私密的蛮粮,無需擔(dān)心被竊聽益缎;

SSL協(xié)議建立在HTTP協(xié)議和TCP協(xié)議之間,就是用來保證通訊安全的安全層然想。

  • SSL握手

在發(fā)送已加密的http報文之前莺奔,客戶端和服務(wù)器要進行一次SSL握手,流程如下:

  1. 客戶端生成隨機數(shù)(client random下面簡稱cr)發(fā)送給服務(wù)器变泄;
  1. 服務(wù)器保存收到的cr令哟,同時生成服務(wù)器隨機數(shù)(server random下面簡稱sr),并將數(shù)字證書連同sr一起返回給客戶端妨蛹;
  1. 客戶端保存收到的sr屏富,然后用公鑰對數(shù)字證書進行驗證,認證無誤后蛙卤,根據(jù)cr和sr經(jīng)過一些算法生成一個48位的預(yù)主密鑰(premaster secret下面簡稱ps)狠半,最后將sr+數(shù)字證書+ps一起用服務(wù)器公鑰加密后噩死,發(fā)送給服務(wù)器;
  1. 服務(wù)器收到加密后的數(shù)據(jù)后神年,用私鑰進行解密從中得到ps已维。
  1. 此時客戶端和服務(wù)器都擁有了cr,sr和ps已日,安全通道即完成建立垛耳。客戶端和服務(wù)器都通過cr+sr+ps通過相同算法產(chǎn)生共同的會話密鑰(session
    key)飘千,后續(xù)通訊即建立在對稱密鑰加密上堂鲜,而無需再使用效率較低的公開密鑰加密。

整個過程借用小胡子哥李靖博客的圖展示一下:

HTTPS


最后再來說下HTTPS护奈。

淘寶泡嘴、百度首頁進去的時候,地址欄最前面都是https://開頭逆济∽糜瑁客戶端遇到這種url,就會打開一條到服務(wù)器端口443(默認情況下)的連接奖慌,然后與服務(wù)器進行SSL握手抛虫,握手完成后,SSL初始化就完成了简僧,客戶端就可以將請求報文發(fā)送給安全層了建椰,而在將這些報文發(fā)送給TCP之前,還要先對其進行加密岛马。

然后棉姐,就不知道還要說什么了……

個人感覺https重點就是SSL,https本身其實就是http+ssl啦逆,理解SSL原理差不多就等于理解HTTPS原理了伞矩。

最后感謝小胡子哥李靖的一片文章,讓我從中理解了一些http權(quán)威指南里沒說得特別清楚的地方夏志。參考:

《HTTPS證書生成原理和部署細節(jié)》

轉(zhuǎn)自https://segmentfault.com/a/1190000006672947

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乃坤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子沟蔑,更是在濱河造成了極大的恐慌湿诊,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘦材,死亡現(xiàn)場離奇詭異厅须,居然都是意外死亡,警方通過查閱死者的電腦和手機食棕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門朗和,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颁湖,“玉大人,你說我怎么就攤上這事例隆。” “怎么了抢蚀?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵镀层,是天一觀的道長。 經(jīng)常有香客問我皿曲,道長唱逢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任屋休,我火速辦了婚禮坞古,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劫樟。我一直安慰自己痪枫,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布叠艳。 她就那樣靜靜地躺著奶陈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪附较。 梳的紋絲不亂的頭發(fā)上吃粒,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音拒课,去河邊找鬼徐勃。 笑死,一個胖子當(dāng)著我的面吹牛早像,可吹牛的內(nèi)容都是我干的僻肖。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼卢鹦,長吁一口氣:“原來是場噩夢啊……” “哼檐涝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起法挨,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤谁榜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后凡纳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窃植,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年荐糜,在試婚紗的時候發(fā)現(xiàn)自己被綠了巷怜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葛超。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖延塑,靈堂內(nèi)的尸體忽然破棺而出绣张,到底是詐尸還是另有隱情,我是刑警寧澤关带,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布侥涵,位于F島的核電站,受9級特大地震影響宋雏,放射性物質(zhì)發(fā)生泄漏芜飘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一磨总、第九天 我趴在偏房一處隱蔽的房頂上張望嗦明。 院中可真熱鬧,春花似錦蚪燕、人聲如沸娶牌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裙戏。三九已至,卻和暖如春厕诡,著一層夾襖步出監(jiān)牢的瞬間累榜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工灵嫌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留壹罚,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓寿羞,卻偏偏與公主長得像猖凛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子绪穆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容