Web安全概述

500450096_wx.jpg

互聯(lián)網(wǎng)剛開始是安全的,但是伴隨著黑客(Hacker)的誕生,互聯(lián)網(wǎng)變得越來(lái)越不安全模闲。任何一個(gè)事情都有兩面性键兜,黑客也有好有壞,好的黑客叫白帽子,壞的黑客叫黑帽子。與此同時(shí),隨著Web技術(shù)發(fā)展越來(lái)越成熟换薄,而非Web服務(wù)(如Windows操作系統(tǒng))越來(lái)越少的暴露在互聯(lián)網(wǎng)上,現(xiàn)在互聯(lián)網(wǎng)安全主要指的是Web安全翔试。

既然要講Web安全轻要,首先介紹什么是安全,安全的本質(zhì)是什么垦缅?引用《白帽子講安全》里對(duì)安全的定義:安全問(wèn)題的本質(zhì)就是信任問(wèn)題伦腐。舉例來(lái)說(shuō),自行車的車鎖失都,我們認(rèn)為是安全的柏蘑,因?yàn)槲覀冋J(rèn)為自行車鎖的制造商是不會(huì)背著我們留有鑰匙幸冻,如果這個(gè)信任都沒(méi)有的話,那么這個(gè)自行車就是不安全的咳焚。

在介紹完什么是安全的本質(zhì)后洽损,我們繼續(xù)講解安全的三要素,機(jī)密性革半、完整性和可用性碑定。機(jī)密性指的是要求保護(hù)數(shù)據(jù)內(nèi)容不能泄露,加密是實(shí)現(xiàn)機(jī)密性要求的常見(jiàn)方法又官。完整性指的是保護(hù)數(shù)據(jù)內(nèi)容是完整的延刘、沒(méi)有被篡改的,實(shí)現(xiàn)完整性的常見(jiàn)方法是數(shù)字簽名六敬〉饫担可用性要求保護(hù)資源是隨需而得,黑帽子通常通過(guò)DDos攻擊搶占服務(wù)器的資源外构,導(dǎo)致正常用戶不能正常訪問(wèn)普泡。接下來(lái)介紹常見(jiàn)的加密算法和數(shù)字簽名算法。

加密算法

常見(jiàn)加密算法有對(duì)稱加密和非對(duì)稱加密审编,對(duì)稱加密指的是加密和解密用的同一個(gè)密鑰撼班,而非對(duì)稱加密的加密過(guò)程和解密過(guò)程用的是不同密鑰,常見(jiàn)對(duì)稱加密有DES(Data Encryption Standard垒酬,數(shù)據(jù)加密標(biāo)準(zhǔn))和AES砰嘁,而非對(duì)稱加密有RSA。

  1. 對(duì)稱加密算法

對(duì)稱加密算法我們主要介紹AES(Advanced Encryption Standard勘究,高級(jí)加密標(biāo)準(zhǔn))般码,AES三個(gè)基本概念:密鑰、填充乱顾、模式。根據(jù)密鑰長(zhǎng)度宫静,AES又可以細(xì)分為AES128走净、AES192、AES256孤里。下面介紹AES的加密流程伏伯,首先將明文分解為大小為128bit小塊,然后將這些明文小塊放入AES加密器各自生成密文塊捌袜。當(dāng)將明文小塊大小小于128bit時(shí)说搅,需要對(duì)這個(gè)明文小塊進(jìn)行填充操作。而AES加密器提供了CBC虏等、ECB适肠、CTR等5種模式。


image.png
  1. 非對(duì)稱加密算法

非對(duì)稱加密算法我們主要介紹RSA算法候引,RSA算法基于大數(shù)分解難而使得該算法異常安全侯养。下面我們開始描述RSA算法澄干,首先選擇兩個(gè)充分大的質(zhì)數(shù)p和q辩稽,并計(jì)算 n=pq逞泄。接下來(lái)計(jì)算m=(p-1)(q-1)炭懊,最后找出兩個(gè)數(shù)e和d,使得 (e*d) mod m =1稻励。其中e和n就是公鑰,而d和n就是私鑰。任何知道公鑰的人都可以利用公式 c = a^e mod n把原始數(shù)據(jù)加密成一個(gè)密文斟览,私鑰的持有者可以通過(guò)公式 c^d mod n 計(jì)算原始數(shù)據(jù)a。通過(guò)計(jì)算公式我們也可以發(fā)現(xiàn)加密和解密的算法是不一樣的,這也是”非對(duì)稱“的由來(lái)鸠窗。

  1. 融合對(duì)稱加密算法和非對(duì)稱加密算法

通過(guò)對(duì)對(duì)稱加密算法和非對(duì)稱加密算法的介紹稍计,我們知道如果A、B兩個(gè)人想要建立會(huì)話净刮,為了保證會(huì)話的機(jī)密性剥哑,我們需要對(duì)數(shù)據(jù)進(jìn)行加密星持,這個(gè)密碼本只有A督暂、B兩個(gè)人知道逻翁,而如何保證這個(gè)密碼本在傳輸?shù)倪^(guò)程中不被第三者竊取呢八回?我們可以通過(guò)非對(duì)稱加密對(duì)密碼本進(jìn)行加密驾诈,即A首先呼叫B乍迄,并索要B的公鑰漾狼,然后用B的公鑰對(duì)密碼本進(jìn)行加密并將密文發(fā)送給B逊躁,B收到A的消息之后核芽,用自己的私鑰進(jìn)行解密绿店。這個(gè)過(guò)程看起來(lái)已經(jīng)很完美了假勿,但是有一個(gè)讓人意想不到的漏洞--中間人攻擊恶导。中間人在網(wǎng)絡(luò)中發(fā)現(xiàn)A索要B的公鑰這條消息诚亚,當(dāng)B將自己的公鑰發(fā)送給A時(shí)闸准,中間人截取B的公鑰瘾英,并將自己的公鑰發(fā)送給A。接下來(lái)颂暇,A將自己的密碼本通過(guò)中間人的公鑰繼續(xù)加密發(fā)送給B缺谴,中間人截取A發(fā)出來(lái)的這條消息,用自己的私鑰進(jìn)行解密耳鸯,然后用B的公鑰進(jìn)行加密湿蛔,重新發(fā)送給B。B收到消息后并不會(huì)發(fā)現(xiàn)什么異常县爬,因?yàn)锽能用自己的私鑰進(jìn)行解密阳啥。但是它們都不知道中間人已經(jīng)完全掌握了它們的密碼本。

中間人攻擊是在獲取對(duì)方公鑰的時(shí)進(jìn)行替換财喳,那么察迟,解決這個(gè)問(wèn)題的辦法就是建立一個(gè)獲取對(duì)方公鑰的可信渠道斩狱。一個(gè)簡(jiǎn)單而有效地辦法就是建立一個(gè)所有人都信任的權(quán)威機(jī)構(gòu),有改權(quán)威機(jī)構(gòu)來(lái)存儲(chǔ)并分發(fā)大家的公鑰扎瓶。這就是我們通常所說(shuō)的數(shù)字認(rèn)證機(jī)構(gòu)所踊,英文是Certificate Authority,簡(jiǎn)稱CA概荷。任何人都可以申請(qǐng)把自己的公鑰放到CA上去秕岛,不過(guò)CA必須親自檢驗(yàn)申請(qǐng)者是不是符合資格。如果A想要和B建立會(huì)話误证,那么A直接從CA出獲取B的公鑰继薛,這樣A就不用擔(dān)心拿到的公鑰是不是假的。

簽名算法

中間人既然能假扮公鑰雷厂,會(huì)不會(huì)假扮CA呢惋增?答案是肯定的。這樣一來(lái)改鲫,CA不但需要向A保證“這個(gè)公鑰確實(shí)是B的”诈皿,還要向A證明”我確實(shí)是CA“。對(duì)應(yīng)的解決方法是數(shù)字簽名算法像棘。CA首先生存一個(gè)自己的公鑰私鑰對(duì)稽亏,然后將公鑰公之于眾。之后缕题,CA對(duì)每條發(fā)出去的消息都用自己的私鑰加個(gè)密作為簽名截歉,以此證明消息的來(lái)源是真實(shí)的。接受方收到消息之后烟零,用CA的公鑰進(jìn)行解密瘪松,如果能解得開,則說(shuō)明對(duì)方一定是真實(shí)的CA锨阿。因?yàn)橄溃@樣的消息只有私鑰持有者才能做的出來(lái)。至此為止墅诡,加密算法和簽名算法就講解完畢壳嚎,一條安全的通信線路的設(shè)計(jì)也有了一個(gè)比較完美的方案。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末末早,一起剝皮案震驚了整個(gè)濱河市烟馅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌然磷,老刑警劉巖郑趁,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異姿搜,居然都是意外死亡寡润,警方通過(guò)查閱死者的電腦和手機(jī)缺脉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)悦穿,“玉大人,你說(shuō)我怎么就攤上這事业踢±跗猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵知举,是天一觀的道長(zhǎng)瞬沦。 經(jīng)常有香客問(wèn)我,道長(zhǎng)雇锡,這世上最難降的妖魔是什么逛钻? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮锰提,結(jié)果婚禮上曙痘,老公的妹妹穿的比我還像新娘。我一直安慰自己立肘,他們只是感情好边坤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谅年,像睡著了一般茧痒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上融蹂,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天旺订,我揣著相機(jī)與錄音,去河邊找鬼超燃。 笑死区拳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的淋纲。 我是一名探鬼主播劳闹,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼洽瞬!你這毒婦竟也來(lái)了本涕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤伙窃,失蹤者是張志新(化名)和其女友劉穎菩颖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體为障,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晦闰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年放祟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呻右。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡跪妥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出声滥,到底是詐尸還是另有隱情眉撵,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布落塑,位于F島的核電站纽疟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏憾赁。R本人自食惡果不足惜污朽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望龙考。 院中可真熱鬧蟆肆,春花似錦、人聲如沸晦款。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柬赐。三九已至亡问,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肛宋,已是汗流浹背州藕。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留酝陈,地道東北人床玻。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沉帮,于是被迫代替她去往敵國(guó)和親锈死。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356