wireshark分析ssl協議


1.什么是ssl

SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。

服務器認證階段:
1)客戶端向服務器發送一個開始信息“Hello”以便開始一個新的會話連接;
2)服務器根據客戶的信息確定是否需要生成新的主密鑰,如需要則服務器在響應客戶的“Hello”信息時將包含生成主密鑰所需的信息;
3)客戶根據收到的服務器響應信息,產生一個主密鑰,並用服務器的公開密鑰加密后傳給服務器;
4)服務器回復該主密鑰,並返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務器。
用戶認證階段:在此之前,服務器已經通過了客戶認證,這一階段主要完成對客戶的認證。經認證的服務器發送一個提問給客戶,客戶則返回(數字)簽名后的提問和其公開密鑰,從而向服務器提供認證。
SSL協議提供的安全通道有以下三個特性:
機密性:SSL協議使用密鑰加密通信數據。
可靠性:服務器和客戶都會被認證,客戶的認證是可選的。
完整性:SSL協議會對傳送的數據進行完整性檢查。
從SSL 協議所提供的服務及其工作流程可以看出,SSL協議運行的基礎是商家對消費者信息保密的承諾,這就有利於商家而不利於消費者。在電子商務初級階段,由於運作電子商務的企業大多是信譽較高的大公司,因此這問題還沒有充分暴露出來。但隨着電子商務的發展,各中小型公司也參與進來,這樣在電子支付過程中的單一認證問題就越來越突出。雖然在SSL3.0中通過數字簽名和數字證書可實現瀏覽器和Web服務器雙方的身份驗證,但是SSL協議仍存在一些問題,比如,只能提供交易中客戶與服務器間的雙方認證,在涉及多方的電子交易中,SSL協議並不能協調各方間的安全傳輸和信任關系。在這種情況下,Visa和 MasterCard兩大信用卡公組織制定了SET協議,為網上信用卡支付提供了全球性的標准。

2.ssl鏈接

 初始化階段。客戶端創建隨機數,發送ClientHello 將隨機數連同自己支持的協議版本、加密算法和壓縮算法發送給服務器。服務器回復ServerHello將自己生成的隨機數連同選擇的協議版本、加密算法和壓縮算法給客戶端。

上面的cipher suite給出了算法的選擇,總有16種選擇方式。

在下方服務器返回的信息中,我們可以看到選擇的算法是哪一種。

服務器發送ServerHello的同時可能將包含自己公鑰的證書發送給客戶端(Certificate)

下面就是發送證書的包。

之后驗證證書,如果收到Certificate Request則發送包含自己公鑰的證書,同時對此前所有握手消息進行散列運算,並使用加密算法進行加密發送給服務器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM