複製鏈接
請複製以下鏈接發送給好友

公鑰

鎖定
公鑰是與私鑰算法一起使用的密鑰對的非秘密一半。公鑰通常用於加密會話密鑰、驗證數字簽名,或加密可以用相應的私鑰解密的數據。公鑰和私鑰是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰),其中的一個向外界公開,稱為公鑰;另個自己保留,稱為私鑰。通過這種算法得到的密鑰對能保證在世界範圍內是唯一的。使用這個密鑰對的時候,如果用其中一個密鑰加密一段數據,必須用另一個密鑰解密。如用公鑰加密數據就必須用私鑰解密,如果用私鑰加密也必須用公鑰解密,否則解密將不會成功 [1] 
中文名
公鑰 [1] 
外文名
Public Key [1] 
歷    史
1976年提出 [2] 
作    用
給信息加密 [1] 
提出者
迪菲、赫爾曼 [2] 
釋    義
與私鑰算法一起使用的密鑰對的非秘密一半 [1] 

公鑰公鑰歷史

1976年,當時在美國斯坦福大學的迪菲(Whitfield Diffie)和赫爾曼(MartinHellman)兩人發表了論文《密碼編碼學新方向》(New Direction in Cryptogra-phy),指出在通信雙方之間不直接傳輸加密密鑰的保密通信是可能的,並提出了非對稱公鑰加密(公開密鑰密碼)的新思想,把密鑰分為加密的公鑰和解密的私鑰,它是第一個實用的在非保護信道中建立共享密鑰方法,這是密碼學的一場革命。這種思想最早由英國信號情報部門雷夫・莫寇(Ralph C. Merkle)在1974年提出來的,但是當時這被列為是機密。之後在1976年,迪菲和赫爾曼兩位學者以單向函數與單向暗門函數為基礎,為發訊與收訊的兩方創建密鑰,發明了“D-H密鑰交換算法”實現信息加密。該算法的有效性依賴於離散對數的難度。2002年,赫爾曼建議將該算法改名為“ Diffie-Hellman-Merkle密鑰交換”以表明 Ralph C. Merkle對於公鑰加密算法的貢獻 [2] 
公鑰加密算法中使用兩個密鑰,而不是使用一個共享的密鑰。一個密鑰是公鑰(public key),一個密鑰是私鑰(private key)。用公鑰加密的密文只能用對應私鑰解密,反之,用私鑰加密的密文只能用對應公鑰解密。在操作過程中,公鑰是對外界公開的,所有人都可以知道,而私鑰是自己保存的,只有自己才能知道。但是一個人只能持有公鑰和私鑰的其中一個,而不能同時共享。如果A要發一份秘密信息給B,則A只需要得到B的公鑰,然後用B的公鑰加密秘密信息,此加密的信息只有B能用其保密的私鑰解密。反之,B也可以用A的公鑰加密保密信息給A。信息在傳送過程中,即使被第三方截取,也不可能解密其內容 [2] 
1979年,Merkle和Hellman提出“MH揹包算法”。“MH揹包算法”源於揹包問題(NP完全問題),其工作原理是:假定甲想加密,則先產生一個較易求解的揹包問題,並用它的解作為專用密鑰;然後從這個問題出發,生成另一個難解的揹包問題,並作為公共密鑰。如果乙想向甲發送報文,乙就可以使用難解的揹包問題對報文進行加密,由於這個問題十分難解,所以一般沒有人能夠破譯密文;甲收到密文後,可以使用易解的專用密鑰解密。公鑰加密是一項重大的創新,從根本上改變了加密和解密的過程 [2] 

公鑰基礎設施

公鑰基礎設施PKI(public key infrastructure)是由公開密鑰密碼技術、數字證書、證書認證中心和公鑰安全策略等共同組成,管理密鑰和證書的系統或平台,是建立安全網絡環境的基礎設施 [3] 
PKI的組成
PKI主要包括四個部分:X.509格式的證書和證書撤銷列表CRL、CA操作協議、CA管理協議、CA策略。一個典型、完整、有效的PKI應用系統至少應具有以下四個部分 [3] 
①認證中心CA。它是PKI的核心,CA負責管理PKI結構下的所有用户(包括各種應用程序)的證書,實現用户公鑰和用户信息的關聯,還要負責用户證書的撤銷登記和撤銷列表的發佈 [3] 
②X.500目錄服務器。X.500目錄服務器用於發佈用户的證書和證書撤銷信息,用户可通過標準的LDAP協議查詢自己或其他人的證書和下載證書撤銷列表 [3] 
③具有高強度密碼算法的安全WWW服務器。使用SSL(secure sockets layer)協議來鑑別網站服務器和瀏覽器端用户的身份,以及在瀏覽器和服務器之間進行加密通信,保證客户端和服務器端數據的機密性、完整性、身份驗證 [3] 
④PKI策略。它包括遵循的技術標準、各CA之間的上下級或同級關係、安全策略、安全程度、服務對象、管理原則和框架等,以及認證規則、運作制度、所涉及的各方法律關係內容以及技術的實現等 [3] 
PKI在電子支付中的應用
Web(world wide web)頁面是電子支付通常採用的方式。為了解決Web的安全問題,採用SSL協議,在傳輸層和應用層之間建PKI在電子支付中的應用立一個安全通信層,在兩個實體間實現對應用層透明的安全通信。利用PKI技術,SSL協議允許在瀏覽器和服務器之間進行加密通信。此外還可以利用數字證書保證通信安全,服務器端和瀏覽器端分別由可信的第三方頒發數字證書,這樣在交易時,雙方可以通過數字證書確認對方的身份。需要注意的是,SSL協議本身並不能提供對不可否認性的支持,這部分的工作必須由數字證書完成。結合SSL協議和數字證書,PKI技術可以保證Web交易多方面的安全需求 [3] 
PKI技術是解決電子商務安全問題的關鍵,綜合PKI的各種應用可以建立一個可信和安全的網絡 [3] 

公鑰公鑰分配

公鑰加密的一個重要作用就是處理密鑰的分發問題。在這方面,使用公鑰加密實際上存在兩個不同的方面 [4] 
(1)公鑰的分發 [4] 
(2)使用公鑰加密分發私鑰 [4] 
下面依次分析這兩個方面 [4] 

公鑰公鑰證書

從字面理解,公鑰加密的意思就是公鑰是公開的。所以,如果有某種廣泛接受的公鑰算法(如RSA),任何參與者都可以給其他參與者發送他的密鑰,或向羣體廣播自己的密鑰。雖然這種方法非常方便,但是它也有個很大的缺點:任何人都可以偽造公共通告,即某用户可以偽裝成用户A向其他參與者發送公鑰或廣播公鑰。直到一段時間後用户A發覺了偽造並且警告其他參與者,偽造者在此之前都可以讀到試圖發送給A的加密消息,並且使用假的公鑰進行認證 [4] 
解決這個問題的方法就是使用公鑰證書。實際上,公鑰證書由公鑰加上公鑰所有者的用户ID以及可信的第三方簽名的整個數據塊組成。通常,第三方就是用户團體所信任的認證中心。用户可通過安全渠道把他的公鑰提交給這個CA,獲取證書。然後用户就可以發佈這個證書。任何需要該用户公鑰的人都可以獲取這個證書,並且通過所附的可信簽名驗證其有效性 [4] 

公鑰密鑰分發

使用傳統加密時,雙方能夠安全通信的基本要求就是他們能共享密鑰。假設Bob想建立個消息申請,使他能夠與對方安全地交換電子郵件,這裏的“對方”是指能夠訪問Internet或者與Bob共享其他網絡的人。假定Bob要用傳統密碼來做這件事,Bob和他的通信者(Aice)必須構建一個通道來共享任何其他人都不知道的唯一密鑰。他們是如何實現的呢?如果Alice在Bob的隔壁房間裏,Bob可以生成密鑰,把它寫在紙上或存儲在磁盤上,然後交給Alice。但是如果Alice在歐洲或世界的另一邊,Bob該怎麼辦呢?他可以用傳統的加密方法加密密鑰並且將它以電子郵件方式發送給Alice。但是這意味着Bob和 Alice必須共享一個密鑰來加密這個新的密鑰。此外,Bob和任何其他使用這種新電子郵件包的人都與他們的潛在通信者之間面臨着相同的問題:任何一對通信者之間都必須共享一個唯一的密鑰 [4] 
這問題的一種解決方案就是使用Differ- Hellman密鑰交換。該方法的確在廣泛使用。然而這種方案也有它的缺點,比如最簡單形式的Differ- Hellman不能為兩個通信者提供認證 [4] 
一種很好的替代方法就是使用公鑰證書。當Bob想要與Alice通信時,他可按下面的步驟操作 [4] 
(1)準備消息 [4] 
(2)利用一次性傳統會話密鑰,使用傳統加密方法加密消息 [4] 
(3)利用Aice的公鑰,使用公鑰加密的方法加密會話密鑰 [4] 
(4)把加密的會話密鑰附在消息上,並且把它發送給Aice,只有Aice能夠解密會話密鑰進而恢復原始消息。如果Bob通過Alice的公鑰證書獲得Alice的公鑰,則Bob能夠確定它是有效的密鑰 [4] 

公鑰管理方案

從系統的可擴展性和算法的安全性角度進行考慮,空間網絡中的實體認證、會話密鑰協商等場合應使用公鑰密碼算法來實現。首先,如果採取基於對稱密碼體制的方案,當網絡中節點數量增加時,密鑰管理中心需要與每一個節點進行信息的交互,導致了大量額外的通信開銷,而基於公鑰密碼體制的方案則不存在這一問題,節點數量增減時的密鑰操作較少,可擴展性強;其次,公鑰密碼算法的安全性一般遠高於對稱密碼算法,從而能夠有效地提高安全方案本身的安全性;最後,採取以公鑰密碼體制為基礎的密鑰管理方案已經過多年實際應用的檢驗,也是未來的主要發展方向 [5] 
從對安全路由、安全切換和安全傳輸技術的研究中,可以看到,公鑰主要用於協議過程中節點之間的相互認證和會話密鑰的協商,並且在一定條件下確保交互信息的機密性、完整性和不可否認性。公鑰管理方案着重解決密鑰的生成、分發、更新與撤銷問題 [5] 
參考資料
  • 1.    邱衞東主編,英漢信息安全技術辭典,上海交通大學出版社,2015.11,第489頁
  • 2.    梁洪亮編著,智能科學與技術叢書 科技史與方法論,北京郵電大學出版社,2015.08,第208頁~第209頁
  • 3.    胡娟主編,電子商務支付與安全,北京郵電大學出版社,2018.05,第63頁
  • 4.    李芳,唐磊,張智編,計算機網絡安全,西南交通大學出版社,2017.12,第128頁
  • 5.    唐朝京著,空間網絡安全與驗證,國防工業出版社,2014.07,第138頁~第139頁