python對(duì)稱還是非對(duì)稱 ----- https中到底使用了啥?

對(duì)于https的簡(jiǎn)單了解.

??????? 我們這一次來討論一下有關(guān)于https的相關(guān)知識(shí). 其中最重要的就是有關(guān)于加密方式的知識(shí). https中到底是對(duì)稱加密還是非對(duì)稱加密?? 為什么要選用對(duì)稱加密, 或者是非對(duì)稱加密? 玄機(jī)何在?? 這一小節(jié), 我們一起來看一看.

?????? 有關(guān)于加密, 我們首先來看一下不加密的情況, 一般在計(jì)算機(jī)中, 不加密我們成為'裸奔'. 如果數(shù)據(jù)不加密, 則很容易被黑客竊取到. 如下圖所示:


所以針對(duì)這樣的情況, 我們應(yīng)該在數(shù)據(jù)傳輸?shù)倪^程中進(jìn)行對(duì)應(yīng)的加密,那么問題來了,我們應(yīng)該選擇哪種加密方式呢?? 我們知道: 常見的加密方式有對(duì)稱加密和非對(duì)稱加密之分, 例如我們這里選擇對(duì)稱加密的形式. 則如下圖所示:


我們可以把data數(shù)據(jù), 配合秘鑰, 進(jìn)行f()函數(shù)運(yùn)算, 進(jìn)而得到密文: XXX, 再把XXX傳遞到服務(wù)器端,從而使數(shù)據(jù)的傳輸進(jìn)行加密, 但是這樣也面臨一些對(duì)應(yīng)的問題, 我們知道, 對(duì)稱加密的秘鑰是由后端生成的, 但是該秘鑰往往只有一個(gè), 因?yàn)楹蠖瞬豢赡転槊恳粋€(gè)人設(shè)置一個(gè)秘鑰, 否則后端存儲(chǔ)的秘鑰就太多了. 既然秘鑰只有一個(gè), 那么前端想要解密就需要獲取該秘鑰. 這也就是不安全的地方了. 因?yàn)楹诳鸵部梢詡窝b成良民(普通的客戶端), 拿取到對(duì)應(yīng)的秘鑰, 從而對(duì)獲取的數(shù)據(jù)進(jìn)行解密處理. 所以對(duì)稱加密的方式其實(shí)是不安全的. 雖然進(jìn)行了加密但是黑客可以很容易就進(jìn)行解密.

???????? 對(duì)稱加密這么不安全, 那么非對(duì)稱加密呢? 是不是非常安全. 接下來讓我們一起來看一下:


從上圖我們可以知道, 使用非對(duì)稱加密有兩種加密方式:? 公鑰加密,私鑰解密, 私鑰加密, 公鑰解密.

一開始服務(wù)端生成一對(duì)公私鑰(pk,?sk).我們要想進(jìn)行密文通訊, 需要客戶端獲取對(duì)應(yīng)的公鑰(pk). 所以客戶端會(huì)發(fā)送請(qǐng)求, 請(qǐng)求公鑰.? 客戶端獲取到pk后, 會(huì)把數(shù)據(jù)放到f() 方法中進(jìn)行對(duì)應(yīng)的加密, 所用的秘鑰就是剛剛獲取的pk. 加密后得到的XXX就是密文. 所以我們可以把數(shù)據(jù)傳輸給服務(wù)器端.

這個(gè)時(shí)候, 如果黑客截取了對(duì)應(yīng)的XXX數(shù)據(jù), 黑客將沒法獲取對(duì)應(yīng)的明文數(shù)據(jù), 因?yàn)樗麤]有獲取對(duì)應(yīng)的公鑰(pk).

但是非對(duì)稱加密的缺點(diǎn)來了: 如果服務(wù)端想要給客戶端傳遞數(shù)據(jù), 也需要加密該怎么辦呢? 如果使用私鑰加密, 把加密的字段YYY傳輸給客戶端, 看似沒有問題, 但是細(xì)細(xì)想一下, 我們就會(huì)知道黑客也是可以充當(dāng)良民從而獲取公鑰(pk)的. 也就是說, 只要是使用私鑰(sk)加密的方法, 黑客都可以對(duì)其進(jìn)行解密.

總結(jié)發(fā)現(xiàn):? 單獨(dú)使用對(duì)稱加密, 不安全, 單獨(dú)使用非對(duì)稱加密, 也不安全. 那么應(yīng)該怎么解決呢?

經(jīng)過科學(xué)家的努力. 我們就想到了能不能把兩者結(jié)合到一起呢?

例如下面的圖片顯示:


通過上面的圖片, 我們知道, 先通過請(qǐng)求, 獲取服務(wù)端的pk, 拿到之后, 我們可以在客戶端隨機(jī)產(chǎn)生一個(gè)key, 然后通過f(pk, key) = XXX的方式, 把XXX傳輸給服務(wù)端, 這樣服務(wù)端就可以通過私鑰(sk)對(duì)XXX進(jìn)行解密, 從而得到key. 以后我們就可以通過key, 作為秘鑰, 進(jìn)行對(duì)稱加密了.

這樣的方式是非常棒的. 通過這樣的方式我們會(huì)覺得數(shù)據(jù)是非常安全的.

但是真的安全嗎?

其實(shí)是不對(duì)的, 如果我們?cè)O(shè)想一下. 黑客如果從最開始就對(duì)我們的通訊進(jìn)行了監(jiān)聽. 那么我們獲取公鑰的過程也會(huì)被監(jiān)聽到.? 而我們知道, 非對(duì)稱加密的公鑰(pk), 黑客也是可以獲取的. 所以一旦公鑰泄露. key就會(huì)泄露, key泄露, 則后面的全部對(duì)稱加密都稱不上是安全的. 所以后面很安全,但是如何保證pk的傳輸也是安全的就至關(guān)重要了.

那么該如何解決這個(gè)問題呢?


我們可以對(duì)上面的內(nèi)容再次進(jìn)行優(yōu)化, 例如我們這里引入一個(gè)'CA機(jī)構(gòu)',? 'CA機(jī)構(gòu)' 是一種信用機(jī)構(gòu). 主要靠信用賺錢, 一般來說都是全球的大型機(jī)構(gòu). 這類機(jī)構(gòu)也會(huì)有自己的公鑰(cpk)和私鑰(csk), 可以使用csk對(duì)于pk公鑰進(jìn)行加密, 從而得到證書, 我們可以把證書傳遞給前端, 讓前端利用瀏覽器內(nèi)部自帶的公鑰(cpk)對(duì)證書進(jìn)行解密, 如果解密成功, 則可以獲取到pk, 隨后再利用pk對(duì)前端生成的key進(jìn)行加密. 重復(fù)之前的步驟.

通過上面的步驟, 其實(shí)我們就能夠得到完整的, 安全的通訊方式了. 這個(gè)其實(shí)就是https通訊方式中的最主要的加密方式介紹.

好了. 通過上面的學(xué)習(xí), 我們可以知道https通訊其實(shí)使用了非對(duì)稱加密和對(duì)稱加密的多種方式來進(jìn)行的.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末构资,一起剝皮案震驚了整個(gè)濱河市具钥,隨后出現(xiàn)的幾起案子抒寂,更是在濱河造成了極大的恐慌嘉赎,老刑警劉巖挽霉,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菇夸,死亡現(xiàn)場(chǎng)離奇詭異惰拱,居然都是意外死亡巴柿,警方通過查閱死者的電腦和手機(jī)凛虽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來广恢,“玉大人凯旋,你說我怎么就攤上這事《っ裕” “怎么了至非?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)糠聪。 經(jīng)常有香客問我荒椭,道長(zhǎng),這世上最難降的妖魔是什么舰蟆? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任趣惠,我火速辦了婚禮,結(jié)果婚禮上身害,老公的妹妹穿的比我還像新娘味悄。我一直安慰自己,他們只是感情好塌鸯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布傍菇。 她就那樣靜靜地躺著,像睡著了一般界赔。 火紅的嫁衣襯著肌膚如雪丢习。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天淮悼,我揣著相機(jī)與錄音咐低,去河邊找鬼。 笑死袜腥,一個(gè)胖子當(dāng)著我的面吹牛见擦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播羹令,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼鲤屡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了福侈?” 一聲冷哼從身側(cè)響起酒来,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肪凛,沒想到半個(gè)月后堰汉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伟墙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年翘鸭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戳葵。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡就乓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拱烁,到底是詐尸還是另有隱情生蚁,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布邻梆,位于F島的核電站守伸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏浦妄。R本人自食惡果不足惜尼摹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望剂娄。 院中可真熱鬧蠢涝,春花似錦、人聲如沸阅懦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耳胎。三九已至惯吕,卻和暖如春惕它,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背废登。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工淹魄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人堡距。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓甲锡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親羽戒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缤沦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353