HTTPS加密原理

引言

HTTPS的使用越來越廣泛抢腐,淘寶姑曙、京東、當(dāng)當(dāng)?shù)却笮途W(wǎng)站幾乎全站采用HTTPS迈倍。本文參考了若干文章并結(jié)合自己理解伤靠,簡(jiǎn)要敘述HTTPS加密的工作原理。

加密算法簡(jiǎn)介

在這之前需要先補(bǔ)充以下幾個(gè)概念:

1.對(duì)稱加密

使用相同的密鑰進(jìn)行加密和解密。對(duì)稱加密使用簡(jiǎn)單宴合,計(jì)算量小焕梅,加密和解密過程較快,常見的對(duì)稱加密算法有DES卦洽,3DES贞言,lDEA,AES阀蒂,RC4等该窗。

2.非對(duì)稱加密

與對(duì)稱加密不同,其加密算法需要兩個(gè)密鑰:公開密鑰(public key)和私有密鑰(private key)蚤霞,兩者是一對(duì)的酗失。公鑰負(fù)責(zé)加密,私鑰負(fù)責(zé)解密昧绣。非對(duì)稱加密相比對(duì)稱加密安全性好规肴,但加密和解密花費(fèi)時(shí)間長(zhǎng)、速度慢夜畴,只適合對(duì)少量數(shù)據(jù)進(jìn)行加密拖刃。常見的非對(duì)稱加密算法有RSA,ECC斩启,DSA(數(shù)字簽名)等。

3.Hash算法

將任意長(zhǎng)度的數(shù)據(jù)映射為固定長(zhǎng)度且唯一的hash值,并且不能通過這個(gè)hash值重新計(jì)算出原始數(shù)據(jù)醉锅,如果原始數(shù)據(jù)有任何修改兔簇,隨后的哈希都將產(chǎn)生不同的值,因此Hash算法經(jīng)常被用在檢驗(yàn)數(shù)據(jù)的完整性硬耍,常用的算法有MD2垄琐,MD4,MD5经柴,SHA等狸窘。

HTTPS加密原理

HTTPS簡(jiǎn)單來說就是 HTTP 的安全版,相比于HTTP坯认,它在介于 TCP 和 HTTP 之間添加了一層TLS/SSL安全協(xié)議翻擒。HTTP 協(xié)議采用明文傳輸信息,存在信息竊聽牛哺、信息篡改和信息劫持的風(fēng)險(xiǎn)陋气,而協(xié)議 TLS/SSL 具有身份驗(yàn)證、信息加密和完整性校驗(yàn)的功能引润,可以避免此類問題巩趁,因此我們可以簡(jiǎn)單的認(rèn)為HTTPS就是使用 TLS/SSL 加密的 HTTP 協(xié)議。下面我們就介紹在HTTPS加密過程中采用過的若干加密方案淳附。

1.對(duì)稱加密方案

最簡(jiǎn)單的方案是僅使用對(duì)稱加密:



從上圖的流程中议慰,我們可以很清楚的看到蠢古,這個(gè)方案是極不安全的,一旦該通信被人劫持别凹,就可以輕易的根據(jù)密鑰解密數(shù)據(jù)草讶。

2.非對(duì)稱加密方案

而如果采用非對(duì)稱加密,上述的不安全問題將得到解決:



因?yàn)樗借€在服務(wù)端手中番川,即使通信過程中被人劫持了信息到涂,沒有密鑰,劫持者沒有私鑰也無法解密數(shù)據(jù)颁督。這種方法似乎是安全的(后面會(huì)講述這個(gè)方案存在的隱患)践啄,但是非對(duì)稱加密耗時(shí)耗資源,影響用戶體驗(yàn)沉御,因此不推薦使用非對(duì)稱加密屿讽。

3.對(duì)稱與非對(duì)稱加密結(jié)合方案

使用對(duì)稱加密,雖然速度快吠裆,但不安全伐谈。而非對(duì)稱加密雖然較為安全,但速度慢试疙。由此看來诵棵,如果兩種方案結(jié)合起來,是不是就能兩全其美了呢祝旷?因?yàn)閷?duì)稱加密速度快履澳,我們最好選用對(duì)稱加密來加密數(shù)據(jù),但對(duì)稱加密不安全怀跛,那么我們只要用非對(duì)稱加密來保證安全距贷。那如何用非對(duì)稱加密保證對(duì)稱加密的安全性呢?
由之前可知吻谋,對(duì)稱加密的不安全性主要體現(xiàn)在密鑰容易在通信過程中被人劫持忠蝗,那么我們只要從密鑰下手,使用非對(duì)稱加密來加密這個(gè)對(duì)稱密鑰就可以了漓拾。但問題又來了阁最,這里又用對(duì)稱加密,又用非對(duì)稱加密骇两,豈不是更耗時(shí)耗資源么闽撤?
其實(shí)不然,因?yàn)榉菍?duì)稱加密僅僅在第一次客戶端請(qǐng)求時(shí)才會(huì)使用脯颜,當(dāng)服務(wù)端獲取到了客戶端的公鑰后哟旗,就不必重新使用非對(duì)稱私鑰解密獲取對(duì)稱密鑰了。兩者結(jié)合的大致流程如下:


中間人攻擊

乍看之下,上面的方案既安全闸餐,又快速饱亮。但是還是存在著被攻擊的可能蜕青,那就是中間人攻擊嫩与●荆客戶端并不能確定請(qǐng)求到的服務(wù)端公鑰是否是真的來自于服務(wù)端儒溉,也許客戶端在向服務(wù)器請(qǐng)求公鑰的過程中就已經(jīng)被人攻擊,客戶端獲取到的公鑰也可能是中間人偽造的凯正。



上面造成的結(jié)果就是:

  • 服務(wù)端和客戶端之間的通信完全被中間人掌握脚祟,中間人可以對(duì)信息進(jìn)行竊聽绍在、篡改等感帅。
  • 信息抵賴:服務(wù)器可以否認(rèn)自己發(fā)出的消息斗锭,不承認(rèn)相關(guān)信息是自己發(fā)出的。

證書

為了避免中間人攻擊失球,客戶端需要確保請(qǐng)求到的公鑰是目標(biāo)服務(wù)器提供的岖是,該公鑰不能被偽造,這時(shí)候就用到了證書实苞,證書里面包含了網(wǎng)站地址豺撑,加密公鑰,以及證書的頒發(fā)機(jī)構(gòu)等信息黔牵〈辖危客戶端獲取到證書后,會(huì)驗(yàn)證證書的有效性(有效期猾浦,頒發(fā)機(jī)構(gòu))陆错。關(guān)于證書的機(jī)制,下回再弄個(gè)單獨(dú)的篇章講解~ 這次先說到這里跃巡。

結(jié)語

HTTPS其實(shí)就是通過服務(wù)端證書非對(duì)稱加密的方式實(shí)現(xiàn)雙方身份的驗(yàn)證危号,第一次客戶端返回給服務(wù)端的對(duì)稱密鑰通過服務(wù)端提供的非對(duì)稱密鑰進(jìn)行了加密牧愁,然后雙方數(shù)據(jù)的傳輸都用客戶端生成的對(duì)稱密鑰處理素邪,這樣僅是第一次獲取密鑰時(shí)速度稍慢,但之后的處理都是對(duì)稱加解密速度猪半。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兔朦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磨确,更是在濱河造成了極大的恐慌沽甥,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乏奥,死亡現(xiàn)場(chǎng)離奇詭異摆舟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門恨诱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媳瞪,“玉大人,你說我怎么就攤上這事照宝∩呤埽” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵厕鹃,是天一觀的道長(zhǎng)兢仰。 經(jīng)常有香客問我,道長(zhǎng)剂碴,這世上最難降的妖魔是什么把将? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮汗茄,結(jié)果婚禮上秸弛,老公的妹妹穿的比我還像新娘。我一直安慰自己洪碳,他們只是感情好递览,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瞳腌,像睡著了一般绞铃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嫂侍,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天儿捧,我揣著相機(jī)與錄音,去河邊找鬼挑宠。 笑死菲盾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的各淀。 我是一名探鬼主播懒鉴,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼碎浇!你這毒婦竟也來了临谱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤奴璃,失蹤者是張志新(化名)和其女友劉穎悉默,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苟穆,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抄课,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年唱星,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跟磨。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡魏颓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吱晒,到底是詐尸還是另有隱情甸饱,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布仑濒,位于F島的核電站叹话,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏墩瞳。R本人自食惡果不足惜驼壶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喉酌。 院中可真熱鬧热凹,春花似錦、人聲如沸泪电。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽相速。三九已至碟渺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間突诬,已是汗流浹背苫拍。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留旺隙,地道東北人绒极。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蔬捷,于是被迫代替她去往敵國(guó)和親垄提。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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