標籤:私人ca openssl加密過程
密碼編譯演算法主要分為對稱式加密演算法和對稱式加密演算法
一。對稱式加密演算法的原理:使用相同的密鑰進行加密運算的演算法就是對稱式加密演算法
加密過程(內容-->對稱式加密-->加密後的內容)
解密過程(加密內容-->對稱式加密方式--》解密後的內容)
優點與特點:速度塊 加密相對安全 加密緊湊;缺點是不能用於大規模使用,會隨參與人數的正佳而映像密鑰的儲存和管理,不支援數位簽章和不可否認性
二. 非堆成加密的原理:非對稱演算法需要每個參與者產生一對密鑰,且將公開金鑰共用到伺服器,保證了私 鑰的安全
加密解密過程:產生金鑰組--> 通過公開金鑰/私密金鑰進行加密-->加密內容-->通過私密金鑰/公開金鑰進行解密-->解密後的內容
優點:不需要發送密鑰給接受者,密鑰數目與參與者相同,沒有複雜的密鑰分發問題,在交換公開金鑰錢不需要預先建立信任關係
缺點:加密速度慢,會導緻密文遠大於加密前的長度
三.單向加密的過程:(發送方=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.產生金鑰組
650) this.width=650;" title="ca1.png" src="http://s3.51cto.com/wyfs02/M02/43/D7/wKioL1PdycXBFBx2AACo2vQBxBE179.jpg" alt="wKioL1PdycXBFBx2AACo2vQBxBE179.jpg" />
2.產生自簽署認證
650) this.width=650;" title="ca2.png" src="http://s3.51cto.com/wyfs02/M02/43/D6/wKiom1PdyLvxLlACAAHprclskwo579.jpg" alt="wKiom1PdyLvxLlACAAHprclskwo579.jpg" />
3.初始化工作環境
#touch /etc/pki/CA/{index.txt,serial}
#echio 01 > index.txt
(二)節點產生簽署認證請求(這裡以http服務為例)
1.產生金鑰組
650) this.width=650;" title="jiedian1.png" src="http://s3.51cto.com/wyfs02/M00/43/D6/wKiom1PdyYbTCSVGAADDrnFUmN4427.jpg" alt="wKiom1PdyYbTCSVGAADDrnFUmN4427.jpg" />
2.產生簽署請求
650) this.width=650;" title="jiedian2.png" src="http://s3.51cto.com/wyfs02/M00/43/D7/wKioL1Pdyq_Q59Z9AAInU0Ttxew705.jpg" alt="wKioL1Pdyq_Q59Z9AAInU0Ttxew705.jpg" />
3.使用scp將簽署請求發送給CA伺服器 使用scp即可
(三)CA為節點簽署認證
1.驗證認證的資訊的真實性
2.簽署認證
650) this.width=650;" title="qianshou.png" src="http://s3.51cto.com/wyfs02/M00/43/D7/wKioL1PdyvGDGqZlAAJVxVGAqfc105.jpg" alt="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
本文出自 “菜鳥前行之路” 部落格,謝絕轉載!