正文

協(xié)議(15)

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


3.7  加密密鑰管理

到這里,本書討論的安全協(xié)議實(shí)例大都是對(duì)主體的名稱或應(yīng)用數(shù)據(jù)(比如對(duì)出租車計(jì)價(jià)器進(jìn)行觸發(fā)的脈沖)進(jìn)行身份驗(yàn)證。實(shí)際上還有一種很重要的身份驗(yàn)證協(xié)議——?用于管理密鑰的協(xié)議。直到最近,這種協(xié)議在支持其他運(yùn)營的后臺(tái)中廣泛應(yīng)用,大多數(shù)這類技術(shù)的開發(fā)都用于對(duì)密鑰(比如取款機(jī)與銀行彼此通信時(shí)使用的密鑰)進(jìn)行管理,不過現(xiàn)在,像付費(fèi)電視這樣的系統(tǒng)使用密鑰管理直接控制對(duì)系統(tǒng)的訪問。

身份驗(yàn)證協(xié)議現(xiàn)在也用于分布式計(jì)算機(jī)系統(tǒng),以實(shí)現(xiàn)通常的密鑰管理目的,因此也變得更重要。Kerberos是第一種得到廣泛應(yīng)用的這類系統(tǒng),Windows中使用了該協(xié)議的一個(gè)變種。為理解Kerberos協(xié)議,下面介紹一些基礎(chǔ)知識(shí)。

3.7.1  基本密鑰管理

密鑰分配協(xié)議的基本思想是,在兩個(gè)主體需要進(jìn)行通信時(shí),使用一個(gè)可信的第三方進(jìn)行身份驗(yàn)證。

討論身份驗(yàn)證協(xié)議時(shí),常規(guī)的做法是給主體賦予人名,以免迷失于太多的代數(shù)符號(hào)表示中,因此,本書將兩個(gè)通信主體分別稱為Alice與Bob,可信的第三方為Sam。但是不要認(rèn)為本書正在討論的是人本身。Alice和Bob很可能是程序,而Sam可能是服務(wù)器。比如,Alice可能是出租車計(jì)價(jià)器里的程序,Bob是變速箱傳感器的程序,而Sam是出租車監(jiān)察站的計(jì)算機(jī)。

總之,簡單的身份驗(yàn)證協(xié)議運(yùn)行方式如下:

(1) Alice首先呼叫Sam,申請(qǐng)密鑰與Bob進(jìn)行通信。

(2) Sam進(jìn)行應(yīng)答,向Alice發(fā)送一對(duì)證書。每個(gè)證書包括一個(gè)密鑰副本,第一個(gè)加密證書只有Alice能讀懂,第二個(gè)加密證書只有Bob能讀懂。

(3) Alice呼叫Bob,提交第二個(gè)證書對(duì)自己進(jìn)行介紹。雙方都用和Sam共享的密鑰對(duì)相應(yīng)的證書進(jìn)行解密,然后才可以得到新的密鑰。Alice現(xiàn)在可以用這個(gè)密鑰向Bob發(fā)送密文,并且接收Bob返回的消息。

重放攻擊是身份驗(yàn)證協(xié)議中一個(gè)的已知問題,因此,為了讓Alice和Bob能檢測(cè)證書是新鮮的,Sam會(huì)在每個(gè)證書上包含一個(gè)時(shí)間戳。如果證書永遠(yuǎn)也不作廢的話,處理那些權(quán)限已經(jīng)撤消的用戶時(shí)就會(huì)產(chǎn)生嚴(yán)重的問題。

使用協(xié)議表示法,可以把這個(gè)過程描述如下:

A→S: A,B

S→A: {A,B,KAB,T}KAS ,{A,B,KAB,T} KBS

A→B: {A,B,KAB,T} KBS ,{M} KAB

將上面的表示法適當(dāng)擴(kuò)展一下,Alice呼叫Sam,并聲稱需要與Bob通話。Sam構(gòu)造一個(gè)會(huì)話密鑰消息,包含Alice的名字、Bob的名字、他們使用的密鑰和一個(gè)時(shí)間戳。Sam用其與Alice共享的密鑰對(duì)所有這些數(shù)據(jù)進(jìn)行加密,再用與Bob共享的密鑰對(duì)這些數(shù)據(jù)進(jìn)行加密,并將密文都發(fā)給Alice。Alice從發(fā)送給她的加密密文中重新獲得密鑰,并將為Bob加密的密文傳送給他?,F(xiàn)在Alice可以用這個(gè)密鑰對(duì)任何數(shù)據(jù)進(jìn)行加密并發(fā)送給Bob了。


上一章目錄下一章

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