正文

協(xié)議(1)

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


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

——Christopher Strachey

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

——Lord Acton

3.1  引言

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

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

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

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

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

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


上一章目錄下一章

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