自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

進(jìn)階篇:HTTPS之新的烏云來襲

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
數(shù)字簽名技術(shù)還能避免抵賴,舉個(gè)例子,A向B借錢了,并寫了張借條,當(dāng)B希望A還錢時(shí),A抵賴說借條不是他寫的,理由就是有人冒充他寫了這張借條。?

朋友們,我是fossi,今天開始進(jìn)入新的篇章,也是本系列正序的最后一個(gè)篇章,我們來看看還有什么問題沒有得到解決。

一、一片烏云

圖片

縱觀TCP/IP四層模型,我們花了很多章節(jié)將核心的基礎(chǔ)部分全部叨叨完了,只要主機(jī)接入互聯(lián)網(wǎng),主機(jī)上都安裝TCP/IP驅(qū)動(dòng)程序,我們就可以順利將消息從一端的應(yīng)用程序順利傳達(dá)到世界上任意另一端的應(yīng)用程序上,并且還可以借助客戶端瀏覽器展示花花綠綠的美好世界。

我們仿佛置身于美麗而晴朗的天空下,愜意且得意,盡情地享受陽光的沐浴,可是,一片大大的烏云頃刻間來到了眼前:安全問題。

安全問題是一個(gè)領(lǐng)域很大的問題,本系列聚焦的是HTTP協(xié)議本身的安全問題。

二、HTTP的弱點(diǎn)

HTTP協(xié)議,在設(shè)計(jì)之初并未考慮安全問題,它的設(shè)計(jì)初衷是用來進(jìn)行數(shù)據(jù)傳輸和共享。

隨著web應(yīng)用的普及,有一小部分黑客借助HTTP的弱點(diǎn)進(jìn)行攻擊,輕則獲取你的喜好或?yàn)g覽記錄,重則盜取銀行賬號(hào)、販賣你的個(gè)人信息。

本系列主要關(guān)注中間人攻擊,所謂中間人就是在客戶端和服務(wù)器之間有一雙無形黑手,對(duì)于客戶端和服務(wù)器來說,根本不會(huì)意識(shí)到有中間人的存在,也沒有辦法進(jìn)行防御。

那么HTTP到底有什么弱點(diǎn)呢?

(1)第一個(gè)弱點(diǎn)是:數(shù)據(jù)未進(jìn)行加密,一切信息在互聯(lián)網(wǎng)上裸奔。

我們知道,從瀏覽器出發(fā),到最終的服務(wù)器,會(huì)經(jīng)過大量中間節(jié)點(diǎn),若數(shù)據(jù)未加密,可輕松在某個(gè)節(jié)點(diǎn)上進(jìn)行截獲并結(jié)合工具理解其含義。

有的讀者朋友可能會(huì)問:我是否可以在代碼層面使用各種加密算法對(duì)內(nèi)容進(jìn)行加密和解密呢?即在應(yīng)用層上對(duì)傳輸?shù)臄?shù)據(jù)本身進(jìn)行加密。

這個(gè)沒有從根本上解決此問題,因?yàn)榧幢隳憧梢詫?duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,但是不能對(duì)HTTP頭部進(jìn)行加密,而HTTP頭部信息是否加密也是在安全考慮范圍內(nèi)的。

同時(shí)此方案不具備通用性,比如服務(wù)器對(duì)HTML數(shù)據(jù)進(jìn)行加密后發(fā)給瀏覽器,而瀏覽器本身卻不會(huì)單獨(dú)適配你的服務(wù)端進(jìn)行解密后再進(jìn)行頁面渲染。

(2)第二個(gè)弱點(diǎn)是:無法驗(yàn)證身份,對(duì)端跟你聊天的可能是一只狗。

對(duì)于HTTP協(xié)議來說,只要傳輸?shù)男畔⒎螲TTP規(guī)范即可,而不會(huì)確認(rèn)雙方的身份,也沒有確認(rèn)雙方身份的標(biāo)準(zhǔn)。

基于這個(gè)一點(diǎn),很有可能實(shí)際訪問到的網(wǎng)站并不是官方的真實(shí)網(wǎng)站,原因可能是在你的電腦或者中間DNS上被劫持到了騙子的網(wǎng)站上。

這一點(diǎn)相信讀者朋友們會(huì)感覺后背發(fā)涼,當(dāng)你付款的時(shí)候,都無法確認(rèn)對(duì)方是誰,你還敢支付嗎?甚至連密碼都不敢輸入了,因?yàn)楹苡锌赡苣愕拿艽a和個(gè)人信息也被竊取走。

真是可惡,防不勝防!

(3)第三個(gè)弱點(diǎn)是:數(shù)據(jù)被篡改,我愛你變成我恨你。

鑒于存在中間人攻擊,中間人在獲取到你的信息后,不僅可以隨心所欲看你的隱私,甚至還可以將你發(fā)送的信息進(jìn)行篡改后再發(fā)送出去。

但是由于客戶端和服務(wù)端并沒有數(shù)據(jù)是否篡改的校驗(yàn)機(jī)制,服務(wù)端無條件信任所有接收到的信息。

好啊,殺人還誅心,這個(gè)破網(wǎng)是不能再上了!

三、密碼學(xué)初探

我的意中人是個(gè)蓋世英雄,有一天他會(huì)踩著七色的云彩來娶我。

意中人的名字叫做HTTPS,理解HTTPS之前必須掌握基本的密碼學(xué)知識(shí),HTTPS本質(zhì)上就是對(duì)密碼學(xué)算法的組合。

之所以這片烏云這么大,罪魁禍?zhǔn)拙褪菭可娴矫艽a學(xué),而密碼學(xué)關(guān)系到數(shù)學(xué),這一點(diǎn)要想深入下去,則又是一門學(xué)科了;而烏云之所以這么黑,是因?yàn)榘踩珶o小事,一旦出事就是大問題,這也是密碼學(xué)這么深?yuàn)W且重要的原因。

目前流行的密碼學(xué)算法實(shí)現(xiàn)是公開的,是經(jīng)歷了長時(shí)間考驗(yàn)的,是由佷多理具備深厚數(shù)學(xué)知識(shí)的數(shù)學(xué)家們所創(chuàng)造,對(duì)于開發(fā)者來說,即使不了解其背后原理,也可以容易地上手使用他們。

在使用他們的時(shí)候,我們必須持有這樣的態(tài)度:

  • 世界上不存在一種密碼學(xué)算法,能解決所有的安全問題,需要具體問題具體分析。
  • 世界上也沒有絕對(duì)安全的密碼學(xué)算法,對(duì)于算法應(yīng)用者來說,確保目前使用的密碼學(xué)算法是安全的就可以了。

所以我們最重要的任務(wù)是了解特定的一些密碼學(xué)算法解決了何種問題、在正確的場景下能正確地使用他們。

四、密碼學(xué)目標(biāo)

我們上面提三個(gè)HTTP的弱點(diǎn),而引入密碼學(xué)就是為了解決問題,我們來看看密碼學(xué)的目標(biāo)。

(1)機(jī)密性

解決信息裸奔問題,密碼學(xué)最最最核心的任務(wù)當(dāng)然是負(fù)責(zé)數(shù)據(jù)加密,只要外人不知道密鑰,即使拿到密文信息也毫無意義。

(2)完整性

解決數(shù)據(jù)篡改問題,即使是加密數(shù)據(jù),如果數(shù)據(jù)被中間人篡改,則應(yīng)該可以通過某種策略知曉,保障收到的數(shù)據(jù)就是發(fā)送方發(fā)出來的原始數(shù)據(jù)。

在密碼學(xué)中,主要使用消息驗(yàn)證碼( MAC )算法保證完整性 。

(3)身份驗(yàn)證和不可抵賴性

通信雙方必須確保對(duì)端就是要通信的對(duì)象。在密碼學(xué)中,一般使用數(shù)字簽名技術(shù)確認(rèn)身份。

此外,數(shù)字簽名技術(shù)還能避免抵賴,舉個(gè)例子,A向B借錢了,并寫了張借條,當(dāng)B希望A還錢時(shí),A抵賴說借條不是他寫的,理由就是有人冒充他寫了這張借條。

接下來我們?cè)賮沓榻z剝繭,慢慢探索HTTPS是如何解決如上問題的。

責(zé)任編輯:武曉燕 來源: 幕后哈土奇
相關(guān)推薦

2015-10-20 15:57:48

ReactiveCociOS

2017-09-19 15:01:06

PHP漏洞滲透測(cè)試

2023-03-26 09:08:36

2023-01-12 08:50:46

2023-07-10 07:22:16

2021-01-01 09:20:20

操作DjangoORM

2017-09-19 15:45:39

2023-08-29 10:27:32

2011-10-24 09:49:37

管理非限制進(jìn)程SELinux

2015-09-18 09:12:08

2010-07-05 13:08:42

用Visio畫UML圖

2022-09-13 09:02:19

SpringBootStarter機(jī)制

2021-01-18 07:09:42

Https認(rèn)證加密

2015-05-04 09:56:19

HTTPS

2015-10-26 14:40:43

特性Ubuntu 15.1Linux

2020-09-18 09:15:22

數(shù)據(jù)庫Sqlite3進(jìn)階

2012-03-26 10:12:25

C#

2018-10-26 11:16:37

IT運(yùn)維數(shù)據(jù)中心云計(jì)算

2019-03-05 10:27:53

Linux 系統(tǒng) 數(shù)據(jù)

2018-11-29 11:09:23

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)