KDC與CA的區別

密鑰分發中心(KDC)

基本思想就是利用受信任的第三方,我們委託它對與我們通信的各方進行認證。這種第三方通常是由網絡上某處一臺安全的機器來實現的。這臺機器被稱做密鑰分發中心(keydistribution center,KDC)。每個需要保密通信安全的個人都與 KDC 共享一個密鑰。

過程:當 Alice 想要與 Bob 進行通信時,她就給 KDC 發送消息,該消息以其與 KDC 共享的密鑰Ka加以保護,請求與 Bob 進行通信。KDC 產生了一個新的用於Alice 與 Bob 之間進行通信的加密密鑰Ks,再將其放在一條稱做許可證(ticket)的消息中返回。一條許可證消息由兩條消息組成。第一條消息是給Alice 的,其中帶有新密鑰。第二條消息是給 Bob 的,用Bob的密鑰進行加密,其中也包含新密鑰。Alice將許可證中 Bob 的那一部分轉交給 Bob,現在Alice 與 Bob 共享密鑰Ks。

這種方案有兩種主要缺點。首先,KDC 必須總是處於聯機狀態,因爲如果它下線的話,就無法完成通信初始化。其次 KDC 能夠讀取任何兩方之間傳遞的數據。它還能夠僞造兩方之間的通信。更糟的是,如果 KDC 被攻克的話,任何兩個 KDC 用戶之間的通信均將遭難。

 

 

公用密鑰加密

基本思想:在加密和解密時使用不同密鑰的函數。你公開自己的加密密鑰(公用密鑰),但解密密鑰(私用密鑰)要保密。(由於公用與私用密鑰的不同,公用密鑰加密有時被稱做非對稱加密,而共享密鑰加密有時被稱做對稱加密)。這意味着無需碰面,任何人都能夠給你發送保密信息。這在消除需要預先共享密鑰的不方便之處的同時也解決了其中的保密性的問題。

你的私用密鑰可以用來創建某種稱作數字簽名的東西,它與 MAC 之間的關係如同公用密鑰加密與祕密密鑰加密之間的關係一樣。你使用私用密鑰對消息進行簽名,而接收方使用你的公用密鑰來驗證你的簽名。注意,數字簽名具有一項MAC 所不具備的重要屬性:不可抵賴性(nonrepudiation)。發送方和接收方都可以產生 MAC,但是隻有簽名者才能夠產生簽名。這樣,接收者就可以證明發送方對消息進行了簽名而發送方無法抵賴。

缺點:請問各方是如何得到彼此的公用密鑰的。如果這些密鑰是以電子形式發表的,或是通信各方通過交換得到的話,那麼攻擊者就能夠在這些密鑰傳遞給接收者的過程中進行篡改。當兩方打算進行通信時,攻擊者截獲他們的密鑰,並代之再將自己的密鑰發送給每一方。這樣每一方都會按照攻擊者的要求來進行加密,而攻擊者根據真正的接收者重新進行加密,這被稱作中間人攻擊(man-in-the-middleattack)。然而,如果將密鑰以物理方式印刷出來,則很不方便。

 

 

證書(CA)

解決方案(還是)就是通過稱之爲證書授予權(certificateauthority,CA)的第三方。CA對包含密鑰屬主及其公用密鑰的單一信息進行簽名。這些信息一般被稱作證書(Certificate),證書授予權因而得名。

過程:CA 的公用密鑰以某種物理形式發佈,不過 CA 並不多而且不經常變換密鑰,因此這在實際應用中不成問題。通常將 CA密鑰編譯到需要使用它們的軟件中,這樣就能與軟件一起發行。當軟件以CD-ROM 或軟盤方式發佈時就非常有意義。但有時軟件只是下載得到的,在這種情況下就又回到了剛開始時遇到的問題

優點:涉及證書的公用密鑰解決方案仍然要包含受信的第三方(即 CA),但是它們的確修正了我們前面所描述的基於 KDC 系統的主要問題。由於同一個證書可以用來向任何人證明其公用密鑰,所以 CA 沒有必要爲了讓 Alice 與Bob 進行通信,而始終處於聯機狀態。同時因爲 CA無法存取任何人的私用密鑰,所以它也不能讀取任何信息。

發佈了141 篇原創文章 · 獲贊 108 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章