資訊與網路安全技術 第三章 現代公開鑰匙系統  上一頁    

 

3-7 公鑰系統之應用

早期 Diffie-Hellman 提出公開鑰匙系統的概念時,所考慮的是如何解決網路文件認證的問題,就是所謂的『數位簽章』。公鑰密碼學經過幾年的發展之後,慢慢建立了公信力,其安全性已漸漸受到大眾的信賴。

使用公開鑰匙系統有兩件重要的現象必須特別注意:(1) 加密與解密的運算量非常龐大(2) 公開鑰匙必須長時間的暴露。其中最重要的是第二個現象,攻擊者可嘗試利用公開鑰匙加密後的密文,來尋找出私有鑰匙;或者直接由私有鑰匙所加密的密文,找出私有鑰匙(採用選擇明文);最基本的方法即是利用暴力攻擊法。因此,勢必增加鑰匙長度才能延長暴力攻擊的破解時間,另一方面,也可以增加演算法複雜度來增加破解計算的時間。一般情況為了增加公開鑰匙的安全性,則利用私有鑰匙加密的訊息越短越安全;另一方面,雖然利用公開鑰匙加密的密文較不會有安全性的問題,但因運算量較大,並不利於大量資料的處理。由此可見,利用公開鑰匙系統也會有某些侷限的範圍,我們將它的主要功能歸類如下:

    •  加密 / 解密:傳送者利用接收者的公開鑰匙加密;接收者再利用自己的私有鑰匙解密。以密碼學的觀點來講,此為提供傳輸資料的『隱密性』或『安全性』功能。但其計算量較大,對於大量資料加密或解密需要較長的編碼時間,因此較不適合於運用於隱密性傳輸,一般較常使用於『會議鑰匙』或『秘密鑰匙』等較短資料傳輸上。

    •  數位簽章:傳送者利用自己的私有鑰匙加密,接收者再利用傳送者的公開鑰匙來解密,以密碼學的觀點來講,是提供傳輸資料的『確認性』。至於如何產生數位簽章的訊息,我們在第七章有更詳細的介紹。

    •  鑰匙交換:通訊雙方利用公鑰密碼演算法,可共同製造一把秘密分享的『會議鑰匙』

3-7(a) 主要說明上述前面兩項的功能。假設發送端(A)與接收端(B)分別擁有一對鑰匙 {KUa, KRa} {KUb, KRb},並且雙方彼此知道對方的公開鑰匙(KUa KUb)。隱密性傳輸功能如圖 4-2 (a) 所示,發送端用接收端的公開鑰匙(KUb)向資料加密,接收端再用自己的私有鑰匙(KRb)解密,盜取者因沒有接收端的私有鑰匙,所以無法觀察出資料的內容。

3-7 公開鑰匙系統的功能

3-7 (b) 為數位簽章功能。發送者將訊息經過雜湊函數(第五章介紹)計算後,得到一個雜湊碼,再利用自己的私有鑰匙(KRa)加密,同時將加密後的簽章碼附加於訊息後面一起傳送給接收端,接收端收到訊息後,利用同樣的雜湊函數計算出另一個雜湊碼,同時也利用對方的公開鑰匙(KUa)向所收到的簽章碼解密,便可得到對方所送的雜湊碼。如果兩者相同的話,表示訊息的確是由發送端所傳送,且未遭受竄改,如此便是確認性功能。 3-7 (c) 為數位簽章附加隱密性功能,表示訊息傳輸之前先利用接收端的公開鑰匙(KUb)加密,所以唯有接收端的私有鑰匙(KRb)才可以解密,如此便可以增加隱密性的功能。當然還有許多運作方式,本書將會陸續介紹到。

主講人:粘添壽博士

 

資訊與網路安全技術