openssl原理的初步理解與私有CA服務器的建立

加密算法主要分爲對稱加密算法和對稱加密算法

 一。對稱加密算法的原理:使用相同的密鑰進行加密運算的算法就是對稱加密算法
       加密過程(內容-->對稱加密-->加密後的內容)
       解密過程(加密內容-->對稱加密方式--》解密後的內容)
       優點與特點:速度塊 加密相對安全 加密緊湊;缺點是不能用於大規模使用,會隨參與人數的正佳而映像密鑰的存儲和管理,不支持數字簽名和不可否認性
   
二.  非堆成加密的原理:非對稱算法需要每個參與者產生一對密鑰,且將公鑰共享到服務器,保證了私 鑰的安全
        加密解密過程:產生密鑰對--> 通過公鑰/私鑰進行加密-->加密內容-->通過私鑰/公鑰進行解密-->解密後的內容
        優點:不需要發送密鑰給接受者,密鑰數目與參與者相同,沒有複雜的密鑰分發問題,在交換公鑰錢不需要預先建立信任關係
        缺點:加密速度慢,會導致密文遠大於加密前的長度  
        
三.單向加密的過程:(發送方=A  接受方=B 傳輸內容=O)
          1.A使用算法生成自己的數字簽名,用自己的私鑰對數字簽名加密並與C打包
          2.A使用算法生成隨機對稱密鑰加密整個數據,生成數據C1
          3.A再用B的公鑰加密隨機生成的對稱密鑰,生成最終的數據CC
          4.B先使用自己的私鑰對數據CC機密,得到生成的隨機對稱密鑰
          5。B再用A的公鑰解密有A的私鑰加密生成的數字就簽名
          6.最後對比數字簽名,確定該包是否由A發送過來的
        
         
       
  四. 證書的產生流程:        
         1.Client 能互聯網下載CA的公鑰,用於驗證Server身份
         2.Server 通過加密算法生成一對密鑰,將公鑰發給CA認證機構,做數字證書
         3.CA 通過自己的私鑰加密 Server 公鑰並加上自己的數字簽名後,將生成的數字證書發給Server
         4.Client 與 Server 通TCP的三次握手建立連接
         5.Client 發出HTTP的報文請求,並和Server協商使用哪種算法加密
         6.Server 響應報文並將公鑰(CA證書)發送給客戶端
         7.Client 能通過CA的公鑰解密CA證書,得到Server的公鑰和數字簽名,Client 通過散列函數算出
                    Server公鑰的數字簽名與得到的數字簽名對比,來驗證Server身份,驗證成功併發送數據請求
         8.Server 處理請求,並根據Client請求的資源類型,來訪問相關資源做出響應報文,並記錄日誌
         9.Client 與 Server 通過TCP的四次揮手斷開連接,通信完成

 

五.建立CA證書籤署服務器

     (一)CA服務器

      1.生成密鑰對

wKioL1PdycXBFBx2AACo2vQBxBE179.jpg

      2.生成自簽署證書

wKiom1PdyLvxLlACAAHprclskwo579.jpg

      3.初始化工作環境

         #touch /etc/pki/CA/{index.txt,serial}

         #echio  01 > index.txt

       

     (二)節點生成簽署證書請求(這裏以http服務爲例)

      1.生成密鑰對

wKiom1PdyYbTCSVGAADDrnFUmN4427.jpg

       2.生成簽署請求

wKioL1Pdyq_Q59Z9AAInU0Ttxew705.jpg

         3.使用scp將簽署請求發送給CA服務器 使用scp即可

 

     (三)CA爲節點簽署證書

       1.驗證證書的信息的真實性

        2.簽署證書

wKioL1PdyvGDGqZlAAJVxVGAqfc105.jpg

        3.將證書發送給節點

            #scp 證書名  服務器IP地址

       (四)吊銷證書

       1.節點後去證書中的serial與subject信息,並將信息發送給CA服務器

        # openssl x509 -in /path/to/certificate_file.crt -noout -serial -subject

     

        2.CA服務器對比驗證需要吊銷的證書

        3.吊銷證書

             # openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

 

         4.生成吊銷列表

         # echo 00 > /etc/pki/CA/crlnumber

 

         5、更新證書吊銷列表
         # cd /etc/pki/CA/crl/
         # openssl ca -gencrl -out thisca.crl

 

         如果需要,查看crl文件的內容:
         # openssl crl -in /path/to/crlfile.crl -noout -text

 

注:openssl的各子命令的詳細用法請使用# man openssl       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章