TLS過(guò)程(DH 非對(duì)稱加密)

TLS 的目的便是解決數(shù)據(jù)的
一脆粥、Record 記錄協(xié)議 (對(duì)稱加解密)

二、HandShake 握手影涉,揮手
驗(yàn)證通訊雙方身份
交換加解密的安全套件
協(xié)商加密解密參數(shù)


非對(duì)稱加密

當(dāng)一個(gè)TLS會(huì)話建立好之后变隔,會(huì)使用對(duì)稱加密的密鑰去通信,那么如何實(shí)現(xiàn)事先將對(duì)稱加密的密鑰傳遞給TLS會(huì)話的另一方呢蟹倾。利用的就是非對(duì)稱加密匣缘。分對(duì)稱加密比對(duì)稱加密慢數(shù)千倍,所以只是使用對(duì)稱加密傳遞之后加密使用的對(duì)稱加密的密鑰鲜棠。之后的加密安全性靠的是對(duì)稱加密來(lái)解決肌厨。

非對(duì)稱加密是有一把公鑰和一把私鑰,公鑰可以公開(kāi)豁陆,而私鑰不能柑爸。
用公鑰加密成密文,再將密文用私鑰解密就能實(shí)現(xiàn)加解密過(guò)程盒音。
而用私鑰加密表鳍,公鑰解密就是簽名認(rèn)證過(guò)程。
常見(jiàn)的非對(duì)稱加密方式分為兩大類

  • RSA(大數(shù)的因數(shù)分解)
  • ECC (橢圓曲線)

RSA 沒(méi)有向前安全性祥诽,也就是需要每次的對(duì)稱加密密鑰的傳遞都是基于 公鑰加密譬圣,服務(wù)端私鑰解密。如果服務(wù)端的私鑰丟失了雄坪,那幾年前的通信數(shù)據(jù)都有可能被解密厘熟。所以這是極度不安全的,私鑰的地位太重了诸衔,如果每次的加解密都是臨時(shí)生成的密碼來(lái)解決安全性盯漂,才不會(huì)對(duì)私鑰的安全性有如此強(qiáng)的依賴。在2013年的棱鏡門事件中笨农,某個(gè)CA機(jī)構(gòu)迫于美國(guó)政府壓力向其提交了CA的私鑰就缆,這就是十分危險(xiǎn)的。如果向前不安全谒亦,那么之前利用該CA私鑰都會(huì)全部遭殃竭宰。所以這里說(shuō)的是更安全的 DH類非對(duì)稱加密。

下圖就是DH密鑰交換的TLS握手過(guò)程


DH 握手
DH 密鑰交換協(xié)議

DH 密鑰交換協(xié)議份招,Diffile-Hellman key Exchange切揭,簡(jiǎn)稱 DH 或 DHE 。它可以讓雙方在完全沒(méi)有對(duì)方任何預(yù)先信息的條件下通過(guò)一個(gè)不安全的信道創(chuàng)建一個(gè)密鑰锁摔。

1廓旬、客戶端瀏覽器隨機(jī)生成一個(gè)值Ra,計(jì)算Pa(x,y) = Ra*Q(x,y), Q(x,y)為全世界公認(rèn)的某個(gè)橢圓曲線算法的基點(diǎn)谐腰。將Pa(x,y)發(fā)送至服務(wù)器孕豹。

假設(shè) p = 97 g = 3

2涩盾、服務(wù)器隨機(jī)生成一個(gè)值Rb,計(jì)算 Pb(x,y) = Rb * Q(x,y)励背。將Pb(x,y)發(fā)送到客戶端瀏覽器春霍。

a = 6  (Alice 的私鑰)
b =21 (Bob的私鑰)

3、客戶端計(jì)算Sa(x,y) = Ra * Pb(x,y)叶眉,服務(wù)器計(jì)算Sb(x,y)=Rb*Pa(x,y)

A = (g**a)%p  (Alice計(jì)算得到的公鑰 傳遞給Bob)
B = (g**b)%p  (Bob計(jì)算得到公鑰 傳遞給Alice)

4址儒、算法保證了Sa=Sb=S, 提取其中的S的x向量作為密鑰。

(B ** a) % p = 47
(A ** b) % p = 47

其安全性是和RSA是一樣的衅疙,其安全性依賴于大數(shù)因數(shù)分解莲趣,所以提高安全性只能靠增加位數(shù)來(lái)保證,這樣就涉及大量的乘法運(yùn)算饱溢。性能比較低下妖爷。

ECC 橢圓曲線

為了解決上述DH的問(wèn)題,引入了ECC橢圓曲線理朋,進(jìn)而進(jìn)化為 ECDHE 算法絮识,稱為 Elliptic Curve Diffie-Hellman Key Exchange。ECC和RSA 在288字節(jié)的長(zhǎng)度下嗽上,破解RSA需要煮沸一勺水的能量次舌,而破解相同位數(shù)的ECC 就需要煮沸整個(gè)地球水的能量。RSA 為了提高安全性兽愤,只能靠增大密鑰位數(shù)彼念。尷尬的是現(xiàn)在的超算越來(lái)越厲害。量子計(jì)算下秀爾算法可8h內(nèi)輕松破解2048位的RSA浅萧。RSA只能再增大密鑰位數(shù),但是再增大位數(shù)洼畅,移動(dòng)端設(shè)備就慘了吩案,你增大的密鑰是運(yùn)營(yíng)商要收取流量費(fèi)用的帝簇,而且加解密太費(fèi)電徘郭。
ECC 的數(shù)學(xué)原理是橢圓曲線和離散對(duì)數(shù)丧肴。橢圓曲線很復(fù)雜残揉。為了提升性能,還需要選擇一個(gè)橢圓曲線芋浮,但是它不是真正的橢圓形抱环,下面有圖可以看到,只是運(yùn)算上用到了橢圓算法。
但是ECC也有很多問(wèn)題镇草,1、ECC 可能有后門陶夜,如NSA(美國(guó)國(guó)家安全局發(fā)布的一套算法)裆站,這個(gè)算法就是被懷疑被植入后門了条辟。2、而且ECC很多的算法都被注冊(cè)專利了宏胯,一不小心就要吃官司羽嫡,其專利大部分都被黑莓注冊(cè)。

ECC 橢圓曲線的定義

  • 橢圓曲線表達(dá)式:


  • 如下四種不同的橢圓曲線肩袍。始終是關(guān)于x軸對(duì)稱的(y平方)

    ECC 曲線的特性 : +運(yùn)算
    A + B = E
    E 為 A 杭棵,B 連續(xù)與曲線相交在X軸上的鏡像
    當(dāng) A 和 B 重合后 就可以得到 2A = E
ecdsa.gif

ECC 的算法原理過(guò)于復(fù)雜氛赐,這里表示我也看不懂魂爪。點(diǎn)到為止吧艰管。(以后看懂了再來(lái)補(bǔ)充)


這里的抓包結(jié)果就是用的EC DH E 算法來(lái)進(jìn)行密鑰交換的滓侍。這里選擇的曲線是 secp256r1, 在這個(gè)曲線中牲芋,基點(diǎn)和參數(shù)已經(jīng)給出了撩笆,PubKey 也給出了缸浦。
在 TLS1.3 中夕冲,一般使用的 X25519 曲線 (蒙哥馬利曲線)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末裂逐,一起剝皮案震驚了整個(gè)濱河市歹鱼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌醉冤,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚁阳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鸽照,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)定血,“玉大人,你說(shuō)我怎么就攤上這事澜沟。” “怎么了茫虽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)濒析。 經(jīng)常有香客問(wèn)我正什,道長(zhǎng)号杏,這世上最難降的妖魔是什么婴氮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任盾致,我火速辦了婚禮主经,結(jié)果婚禮上庭惜,老公的妹妹穿的比我還像新娘旨怠。我一直安慰自己蜈块,他們只是感情好鉴腻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著百揭,像睡著了一般爽哎。 火紅的嫁衣襯著肌膚如雪器一。 梳的紋絲不亂的頭發(fā)上课锌,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天祈秕,我揣著相機(jī)與錄音渺贤,去河邊找鬼请毛。 笑死志鞍,一個(gè)胖子當(dāng)著我的面吹牛方仿,可吹牛的內(nèi)容都是我干的固棚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼此洲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼厂汗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起呜师,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎汁汗,沒(méi)想到半個(gè)月后衷畦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體碰酝,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年送爸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袭厂。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纹磺,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情亮曹,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布照卦,位于F島的核電站,受9級(jí)特大地震影響役耕,放射性物質(zhì)發(fā)生泄漏采转。R本人自食惡果不足惜瞬痘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一故慈、第九天 我趴在偏房一處隱蔽的房頂上張望框全。 院中可真熱鬧察绷,春花似錦津辩、人聲如沸克婶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸭蛙。三九已至筋岛,卻和暖如春娶视,著一層夾襖步出監(jiān)牢的瞬間睁宰,已是汗流浹背肪获。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工柒傻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孝赫,地道東北人红符。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓青柄,卻偏偏與公主長(zhǎng)得像预侯,于是被迫代替她去往敵國(guó)和親致开。 傳聞我的和親對(duì)象是個(gè)殘疾皇子萎馅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • 先放一張以太坊的架構(gòu)圖: 在學(xué)習(xí)的過(guò)程中主要是采用單個(gè)模塊了學(xué)習(xí)了解的双戳,包括P2P,密碼學(xué)糜芳,網(wǎng)絡(luò)飒货,協(xié)議等峭竣。直接開(kāi)...
    麻臉大叔閱讀 11,208評(píng)論 1 10
  • 原文鏈接:http://blog.jobbole.com/86660/ 1 前言 百度已經(jīng)于近日上線了全站 HTT...
    xlhzj閱讀 1,102評(píng)論 0 2
  • 一、準(zhǔn)備知識(shí) 在開(kāi)始介紹前邪驮,需要首先了解一下消息摘要莫辨、數(shù)字簽名毅访、數(shù)字證書(shū)的知識(shí) 1沮榜、消息摘要 - Message ...
    浪夠_閱讀 2,721評(píng)論 1 2
  • 下文主要從加密算法的特征、常用加密算法和加密工具等方面型酥,梳理和比較對(duì)稱加密山憨、單向加密和公鑰加密的概念及其之間的聯(lián)系...
    georgeguo閱讀 3,855評(píng)論 0 5
  • CONNITcat閱讀 98評(píng)論 0 0