|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2004-02-28, 05:06 PM | #1 |
榮譽會員
|
Bob、Alice、數位簽章和IPSec
網路安全中最知名的人物大概就是Bob和Alice了,因為很多安全原理闡述中都用這兩個虛擬人物來進行實例說明。
我們先來看看Bob是怎麼從CA中心獲得一個數位簽章的: 1、Bob首先新增他自己的密鑰對(key pair),包含公鑰和私鑰; 2、Bob通過網路把他的公鑰送到CA中心,公鑰中包含了Bob的個人鑒別信息(他的名字、位址、所用設備的序列號等等)。這些信息是證書所必需的; 3、這個證書申請在CA中心伺服器上會一直處於等待(pending)狀態,直到CA中心的某人開始處理Bob的請求; 4、在CA中心的某人鑒定並驗證了Bob確實是那個提交公鑰的人。為了確定Bob和密鑰之間的對應關係,這個驗證程序會通過某種人和人之間、帶外的方式進行; 5、Bob定期地對CA伺服器進行查詢,希望他的證書申請程序能完成並已可取回; 6、CA中心新增並簽署一個包含Bob的公鑰及個人信息的證書,從而保證密鑰的確實性; 7、Bob查詢CA伺服器,發現證書已準備好,馬上下載證書並將證書存儲起來; 8、Bob現在可以使用證書來發佈他的公鑰,而其他使用Bob證書的人可以通過檢驗CA中心的簽名(檢驗CA簽名需要CA的公鑰)來驗證證書的確實性。 下面我們來看看Alice和Bob是怎麼驗證信息的完整性的 現假設Alice傳送信息給Bob,Bob怎樣驗證這個信息未被篡改呢? 1、Alice和Bob為了驗證在他們之間的資料的完整性,約定使用同一種散列(hash)算法; 2、Alice和Bob約定使用一個只有他們兩個才知道的共享密鑰(shared key); 3、Alice要送給Bob一個信息,信息內容為「Hello!」; 4、Alice為這個信息新增一個散列值。散列計算程序會將信息內容「Hello!」和共享密鑰做為輸入,算法的輸出值就是散列值。 5、Alice把信息內容和她算好的散列值傳送給Bob; 6、Bob接收到信息後對信息進行他自己的散列值計算。計算程序會把收到的信息內容和共享密鑰做為輸入,算法的輸出就是Bob的散列值; 7、Bob把自己算出來的散列值和從Alice收到的散列值進行對比。如果散列值是相符的,Bob就知道信息在傳輸程序中沒有被更改過。任何對傳輸資料的更改都會導致Bob的散列值與Alice的散列值不一致。 下面我們來看看Alice和Bob間如何建立一個IPSec安全通道 現假設Alice需要建立一個到Bob處的IPSec安全通道,這中間發生了些什麼事呢? 1、Alice發起一個到Bob的IKE SA(Security Association),並請求協商一個他們之間應使用的transform set(不好譯,直接用了原文)。這個transform set指定了IKE SA所需的加密、散列及認證算法及其他信息(如SA生存期等,SA生存期指定了SA的生存週期)。如果Bob支持Alice要求的transform set,協商程序繼續,否則,IKE SA協商失敗,不再會有其他的通訊產生; 2、Alice把她的數位簽章傳送給Bob。證書中包含了她的公鑰,同時數位簽章保證了公鑰的真實性。Bob對自身公鑰的處理程序和Alice相同; 3、Alice和Bob相互之間交換Diffie-Hellman數字,這些數字已做數字簽名處理,交換D-H數字的目的是為了建立一個shared secret。D-H數字進行簽名處理的目的是為了通訊雙方能驗證彼此間的身份。否則的話攻擊者可以偽裝成Bob和Alice進行D-H交換——man-in-the-middle(中間人)攻擊; 4、Alice利用Bob的公鑰來驗證Bob D-H數字中的簽名(這個程序對Bob進行了認證)。Bob也做同樣的事情——利用Alice的公鑰來驗證Alice的D-H數字中的簽名; 5、Alice和Bob利用D-H密鑰交換算法計算出一個只有他們兩個之間才知曉的shared key(共享密鑰); 6、此時在Alice和Bob間已經建立起了IKE SA。資料可以在兩者間安全的進行傳輸,所使用的共享密鑰為第5步中建立起的共享密鑰、算法為IKE transform set中指定的算法; 7、Alice開始進行IPSec SA啟始化,IPSec SA是用戶實際資料傳輸時使用的(注意分清IKE SA和IPSec SA的區別,IKE SA是用於管理目的,不用於用戶資料)。利用IKE SA做為一個安全信道,Alice開始為IPSec SA協商一個或多個transform set。她的每一個transform set中都為SA指定了一個安全傳輸協定(AH或ESP)和算法(散列和/或加密)。如果Bob能支持其中的一種transform set,協商程序繼續。否則IPSec SA協商失敗,不再會有其他的通訊產生; 8、Alice和Bob利用D-H密鑰交換算法為IPSec SA計算出一個共享密鑰。這個程序也提供了PFS功能:IPSec SA所使用的密鑰不能由IKE SA所使用的密鑰衍生得出; 9、Alice現在可以通過IPSec SA和Bob建立起安全的資料連接,所使用的共享密鑰為第8步中建立起的共享密鑰、算法為IPSec transform set中指定的算法; 10、IPSec SA由IKE來進行維護。在IPSec SA過期前,一個使用新密鑰的新SA會被新增起來,然後用戶通訊會無縫轉移到新的SA上。這就是IKE所提供的rekeying服務; 11、如果Bob需要傳送資料,他必需啟始化並建立起一個和Alice間的IPSec SA,因為IPSec SA是單向的,而IKE SA則是雙向的。 |
送花文章: 3,
|