公鑰加密/私鑰解密完成對稱算法密鑰的交換:
公開密鑰算法的速度比對稱算法慢得多,并且由于任何人都可以得到公鑰,公開密鑰算法對選擇明文攻擊很脆弱,因此公鑰加密/私鑰解密不適用于數(shù)據(jù)的加密傳輸。為了實現(xiàn)數(shù)據(jù)的加密傳輸,公開密鑰算法提供了安全的對稱算法密鑰交換機制,數(shù)據(jù)使用對稱算法加密傳輸。兩個用戶(A和B)使用公開密鑰理論進行密鑰交換的過程如下:
PKI密鑰交換和身份驗證的安全性依賴于PKI使用的公開密鑰算法、對稱加密算法和消息摘要算法。
當前使用的公開密鑰算法的安全性大都基于大數(shù)分解的難度。從一個公鑰和密文中恢復出明文的難度等價于分解兩個大素數(shù)的乘積。當前可以完成的大數(shù)分解的位數(shù)是140位。對于當前市場上廣泛使用的1024位的RSA公開密鑰算法來說,它被破解的可能性是微乎其微的。對于128位密鑰來說,即使全世界的計算機同時進行群舉攻擊,破譯128位密鑰所需要的時間也是一個天文數(shù)字。對于消息摘要算法,單向散列函數(shù)的設計已經(jīng)十分成熟。市場上廣泛使用的MD5、SHA算法的散列值分別為128、160位,足以阻止所有的群舉攻擊的企圖。由此看來,PKI機制是一個成熟的、安全的技術(shù)。
基于PKI技術(shù),人們又開發(fā)了很多的安全協(xié)議。其中最著名、應用最為廣泛的是SSL和SET協(xié)議。
SSL(安全套接字)協(xié)議利用PKI技術(shù)來進行身份認證、完成數(shù)據(jù)加密算法及其密鑰協(xié)商,很好地解決了身份驗證、加密傳輸和密鑰分發(fā)等問題。SSL被大家廣泛接受和使用,是一個通用的安全協(xié)議。在SSL協(xié)議上面可以運行所有基于TCP/IP的網(wǎng)絡應用。