公鑰
出自 MBA智库百科(https://wiki.mbalib.com/)
公鑰(Public Key)
目錄 |
公鑰是與私鑰演算法一起使用的密鑰對的非秘密一半。公鑰通常用於加密會話密鑰、驗證數字簽名,或加密可以用相應的私鑰解密的數據。公鑰和私鑰是通過一種演算法得到的一個密鑰對(即一個公鑰和一個私鑰),其中的一個向外界公開,稱為公鑰;另個自己保留,稱為私鑰。通過這種演算法得到的密鑰對能保證在世界範圍內是唯一的。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數據,必須用另一個密鑰解密。如用公鑰加密數據就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會成功。
1976年,當時在美國斯坦福大學的迪菲(Whitfield Diffie)和赫爾曼(MartinHellman)兩人發表了論文《密碼編碼學新方向》(New Direction in Cryptogra-phy),指出在通信雙方之間不直接傳輸加密密鑰的保密通信是可能的,並提出了非對稱公鑰加密(公開密鑰密碼)的新思想,把密鑰分為加密的公鑰和解密的私鑰,它是第一個實用的在非保護通道中建立共用密鑰方法,這是密碼學的一場革命。這種思想最早由英國信號情報部門雷夫・莫寇(Ralph C. Merkle)在1974年提出來的,但是當時這被列為是機密。之後在1976年,迪菲和赫爾曼兩位學者以單向函數與單向暗門函數為基礎,為發訊與收訊的兩方創建密鑰,發明瞭“D-H密鑰交換演算法”實現信息加密。該演算法的有效性依賴於離散對數的難度。2002年,赫爾曼建議將該演算法改名為“ Diffie-Hellman-Merkle密鑰交換”以表明 Ralph C. Merkle對於公鑰加密演算法的貢獻。
公鑰加密演算法中使用兩個密鑰,而不是使用一個共用的密鑰。一個密鑰是公鑰(public key),一個密鑰是私鑰(private key)。用公鑰加密的密文只能用對應私鑰解密,反之,用私鑰加密的密文只能用對應公鑰解密。在操作過程中,公鑰是對外界公開的,所有人都可以知道,而私鑰是自己保存的,只有自己才能知道。但是一個人只能持有公鑰和私鑰的其中一個,而不能同時共用。如果A要發一份秘密信息給B,則A只需要得到B的公鑰,然後用B的公鑰加密秘密信息,此加密的信息只有B能用其保密的私鑰解密。反之,B也可以用A的公鑰加密保密信息給A。信息在傳送過程中,即使被第三方截取,也不可能解密其內容 [2] 。 1979年,Merkle和Hellman提出“MH背包演算法”。“MH背包演算法”源於背包問題(NP完全問題),其工作原理是:假定甲想加密,則先產生一個較易求解的背包問題,並用它的解作為專用密鑰;然後從這個問題出發,生成另一個難解的背包問題,並作為公共密鑰。如果乙想向甲發送報文,乙就可以使用難解的背包問題對報文進行加密,由於這個問題十分難解,所以一般沒有人能夠破譯密文;甲收到密文後,可以使用易解的專用密鑰解密。公鑰加密是一項重大的創新,從根本上改變了加密和解密的過程。
公鑰基礎設施(public key infrastructure,PKI)是由公開密鑰密碼技術、數字證書、證書認證中心和公鑰安全策略等共同組成,管理密鑰和證書的系統或平臺,是建立安全網路環境的基礎設施。
PKI的組成主要包括四個部分:X.509格式的證書和證書撤銷列表CRL、CA操作協議、CA管理協議、CA策略。一個典型、完整、有效的PKI應用系統至少應具有以下四個部分。
(1)認證中心CA。
它是PKI的核心,CA負責管理PKI結構下的所有用戶(包括各種應用程式)的證書,實現用戶公鑰和用戶信息的關聯,還要負責用戶證書的撤銷登記和撤銷列表的發佈。
(2)X.500目錄伺服器。
X.500目錄伺服器用於發佈用戶的證書和證書撤銷信息,用戶可通過標準的LDAP協議查詢自己或其他人的證書和下載證書撤銷列表。
(3)具有高強度密碼演算法的安全WWW伺服器。
使用SSL(secure sockets layer)協議來鑒別網站伺服器和瀏覽器端用戶的身份,以及在瀏覽器和伺服器之間進行加密通信,保證客戶端和伺服器端數據的機密性、完整性、身份驗證。
(4)PKI策略。
它包括遵循的技術標準、各CA之間的上下級或同級關係、安全策略、安全程度、服務對象、管理原則和框架等,以及認證規則、運作制度、所涉及的各方法律關係內容以及技術的實現等。
從系統的可擴展性和演算法的安全性角度進行考慮,空間網路中的實體認證、會話密鑰協商等場合應使用公鑰密碼演算法來實現。首先,如果採取基於對稱密碼體制的方案,當網路中節點數量增加時,密鑰管理中心需要與每一個節點進行信息的交互,導致了大量額外的通信開銷,而基於公鑰密碼體制的方案則不存在這一問題,節點數量增減時的密鑰操作較少,可擴展性強;其次,公鑰密碼演算法的安全性一般遠高於對稱密碼演算法,從而能夠有效地提高安全方案本身的安全性;最後,採取以公鑰密碼體製為基礎的密鑰管理方案已經過多年實際應用的檢驗,也是未來的主要發展方向。
從對安全路由、安全切換和安全傳輸技術的研究中,可以看到,公鑰主要用於協議過程中節點之間的相互認證和會話密鑰的協商,並且在一定條件下確保交互信息的機密性、完整性和不可否認性。公鑰管理方案著重解決密鑰的生成、分發、更新與撤銷問題。