正文

協(xié)議(1)

信息安全工程(第2版) 作者:(英)羅斯·安德森


變聰明之后的后果是無法預(yù)料的。

——Christopher Strachey

即便有對(duì)正義的管理,事物的秘密性也總在減弱。

——Lord Acton

3.1  引言

如果對(duì)于安全工程而言有一個(gè)深層次的統(tǒng)一主題的話,那就是對(duì)安全協(xié)議的研究。前面已經(jīng)非正式地接觸了一些協(xié)議——比如“質(zhì)詢-應(yīng)答”身份驗(yàn)證與Kerberos。本章將深入討論協(xié)議的一些細(xì)節(jié)。這里并不以安全協(xié)議的形式化定義開始,而是給出粗略的描述,之后通過一些示例來逐漸精化和細(xì)化。由于本書是一本工程書籍,所以還會(huì)給出一些關(guān)于協(xié)議失敗的示例。

典型的安全系統(tǒng)通常是由很多主體構(gòu)成的,比如人、公司、計(jì)算機(jī)和磁卡機(jī),這些主體相互之間通過各種信道進(jìn)行通信,比如電話、電子郵件、無線電、紅外線以及銀行卡和車票等可以攜帶并傳輸數(shù)據(jù)的物理設(shè)備。安全協(xié)議是對(duì)這些通信進(jìn)行管理的規(guī)則,其典型的設(shè)計(jì)目標(biāo)是使得系統(tǒng)可以在惡意攻擊中“生存”,這些攻擊包括電話詐騙或者造假者修改火車票數(shù)據(jù)等。如果要防御所有可能攻擊,代價(jià)通常過于昂貴,因此,協(xié)議一般都是基于某些威脅假設(shè)進(jìn)行設(shè)計(jì)。比如,登錄協(xié)議的實(shí)現(xiàn)中包含了一個(gè)輸入密碼的用戶,這里的假設(shè)是用戶總是會(huì)在正確的計(jì)算機(jī)上進(jìn)行密碼輸入。在過去那種由硬件纜線連接的終端構(gòu)成的工作環(huán)境中,這一假設(shè)是合乎情理的,而現(xiàn)今,人們通過Internet來登錄Web站點(diǎn),這一假設(shè)就不能完全符合實(shí)際情況。對(duì)協(xié)議進(jìn)行評(píng)估時(shí),必須回答兩個(gè)問題:第一,威脅模型是否能準(zhǔn)確反映實(shí)際情況?第二,協(xié)議是否可以處理這些威脅?

協(xié)議可以是極其簡(jiǎn)單的,比如,要進(jìn)入某建筑物,就需要先在門禁系統(tǒng)上刷卡以識(shí)別身份。協(xié)議通常包含交互過程,但并不一定包含密碼學(xué)等技術(shù)措施。比如,在餐館內(nèi)訂一瓶名酒時(shí),標(biāo)準(zhǔn)的賣酒侍者協(xié)議會(huì)提供一些隱私保護(hù)(同桌的其他就餐者不會(huì)知道具體價(jià)格),也提供了一些完整性保護(hù)(我們可以確認(rèn)自己拿到的確實(shí)是一瓶名酒,而不是掉包的或是與其他廉價(jià)酒勾兌而成的),還可以提供抗否認(rèn)機(jī)制(就餐者在喝完酒之后試圖抱怨或拒付是比較困難的)。Blaze給出了其他一些實(shí)例,這些實(shí)例涉及到多種不同的應(yīng)用,比如監(jiān)票、航空安全與投票等[185]。

就技術(shù)層面而言,協(xié)議可能要復(fù)雜很多。全球的銀行卡支付系統(tǒng)中使用了數(shù)十種協(xié)議,這些協(xié)議規(guī)定了客戶如何與提款機(jī)以及零售終端進(jìn)行交互、提款機(jī)或終端如何與其賴以運(yùn)營(yíng)的銀行進(jìn)行交互、銀行如何與網(wǎng)絡(luò)運(yùn)營(yíng)商通信、銀行之間如何轉(zhuǎn)賬、如何在多種卡與機(jī)器之間建立加密密鑰,以及可以傳送哪種報(bào)警消息(比如吞卡指令)等,這些協(xié)議必須在大型復(fù)雜系統(tǒng)中協(xié)作運(yùn)行。

通常,貌似無害的功能設(shè)計(jì)可能會(huì)隱含嚴(yán)重缺陷,比如,很多銀行使用只有中央計(jì)算機(jī)和提款機(jī)知道的密鑰對(duì)客戶的PIN進(jìn)行加密,同時(shí)把它寫到卡的磁條上,此功能的目的是讓提款機(jī)在本地識(shí)別PIN,甚至在提款機(jī)脫機(jī)時(shí)仍然能提供有限的服務(wù)。這套系統(tǒng)很多年內(nèi)平安無事,然而,一名程序員(從事建筑物訪問控制系統(tǒng)的讀卡器研發(fā))發(fā)現(xiàn),他把妻子的銀行賬號(hào)替換成自己的,就可以改變自己銀行卡的磁條。之后,他可以使用修改過的卡和自己的PIN從妻子的賬戶提款。他意識(shí)到這個(gè)方法可以從任意銀行賬戶中竊取錢財(cái),并在數(shù)年內(nèi)偷竊了幾十萬的資金。受這一漏洞影響的銀行不得不耗費(fèi)數(shù)百萬的資金來修改自己的系統(tǒng),而有些安全升級(jí)可能需要數(shù)年的時(shí)間才能完成。撰寫本書時(shí),多數(shù)歐洲銀行已經(jīng)從使用磁卡轉(zhuǎn)為使用智能卡,而美國(guó)尚未如此。新舊系統(tǒng)之間必須進(jìn)行交互,以便歐洲的持卡者可以在美國(guó)商店購(gòu)物,反之亦然。這也給攻擊者帶來了可乘之機(jī),攻擊者在克隆歐洲用戶的銀行卡后,可以用在其他國(guó)家的磁卡機(jī)上,因?yàn)閮蓚€(gè)系統(tǒng)的保護(hù)機(jī)制差別不大。

因此,人們需要系統(tǒng)分析安全協(xié)議及其失效的原因。安全協(xié)議應(yīng)用廣泛,通常又設(shè)計(jì)得很差,本書將給出來自不同應(yīng)用的一些實(shí)例。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)