要想弄明白ssl認證原理,首先要對ca有有所了解,它在ssl認證過程中有非常重要的作用。
說白了,ca就是乙個組織,專門為網路伺服器頒發證書的,國際知名的ca機構有verisign、symantec,國內的有globalsign。
每一家ca都有自己的根證書,用來對它所簽發過的伺服器端證書進行驗證。
如果伺服器提供方想為自己的伺服器申請證書,它就需要向ca機構提出申請。
伺服器提供方向ca提供自己的身份資訊,ca判明申請者的身份後,就為它分配乙個公鑰,
並且ca將該公鑰和伺服器身份繫結在一起,並為之簽字,這就形成了乙個伺服器端證書。
如果乙個使用者想鑑別另乙個證書的真偽,他就用ca的公鑰對那個證書上的簽字進行驗證,一旦驗證通過,該證書就被認為是有效的。
證書實際是由證書簽證機關(ca)簽發的對使用者的公鑰的認證。
證書的內容包括:電子簽證機關的資訊、公鑰使用者資訊、公鑰、權威機構的簽字和有效期等等。
目前,證書的格式和驗證方法普遍遵循x.509國際標準。
申請證書過程
首先要有乙個ca根證書,然後用ca根證書來簽發使用者證書。
使用者進行證書申請:
1. 先生成乙個私鑰
2. 用私鑰生成證書請求(證書請求裡應含有公鑰資訊)
3. 利用證書伺服器的ca根證書來簽發證書
這樣最終拿到乙個由ca根證書簽發的證書,其實證書裡僅有公鑰,而私鑰是在使用者手裡的。
ssl工作流程(單向)
1.客戶端say hello 服務端
2.服務端將證書、公鑰等發給客戶端
3.客戶端ca驗證證書,成功繼續、不成功彈出選擇頁面
4.客戶端告知服務端所支援的加密演算法
5.服務端選擇最高端別加密演算法明文通知客戶端
6.客戶端生成隨機對稱金鑰key,使用服務端公鑰加密傳送給服務端
7.服務端使用私鑰解密,獲取對稱金鑰key
8.後續客戶端與服務端使用該金鑰key進行加密通訊
ssl工作流程(雙向)
單向認證,僅僅是客戶端需要檢驗服務端證書是否是正確的,而服務端不會檢驗客戶端證書是否是正確的。 雙向認證,指客戶端驗證伺服器端證書,而伺服器也需要通過ca的公鑰證書來驗證客戶端證書。
雙向驗證的過程:
1.客戶端say hello 服務端
2.服務端將證書、公鑰等發給客戶端
3.客戶端ca驗證證書,成功繼續、不成功彈出選擇頁面
4.客戶端將自己的證書和公鑰傳送給服務端
5.服務端驗證客戶端證書,如不通過直接斷開連線
6.客戶端告知服務端所支援的加密演算法
7.服務端選擇最高端別加密演算法使用客戶端公鑰加密後傳送給客戶端
8.客戶端收到後使用私鑰解密並生成隨機對稱金鑰key,使用服務端公鑰加密傳送給服務端
9.服務端使用私鑰解密,獲取對稱金鑰key
10.後續客戶端與服務端使用該金鑰key進行加密通訊
SSl安全連線技術原理簡介
ssl secure sockets layer 中文直譯為安全插接層協議層,聽不明白?說白了就是在原有的協議上加上一層加密以及認證等東東,保證資訊保安。最簡單的,比如我給你發了一串資料,不用ssl,如果 的第三方將其截獲,就能看出我的意圖了,如果加上不帶認證的ssl,將資料加密了,即使被第三方得到...
SSL簡介(定義 功能 原理 優點 缺點)
它是netscape公司提出的基於web應用的安全套接層協議,它指定了一種在應用程式協議和tcpflp協議間提供資料安全性分層的機制,但常用於安全web應用的http協議。ssl為tcp ip連線提供資料加密 伺服器認證 訊息完整性以及可選的客戶機認證。是一種安全服務。機制 ssl採用rsa des...
ssl工作原理
ssl工作原理 ssl 是乙個安全協議,它提供使用 tcp ip 的通訊應用程式間的隱私與完整性。網際網路的 超文字傳輸協議 http 使用 ssl 來實現安全的通訊。在 客戶端與伺服器間傳輸的資料是通過使用對稱演算法 如 des 或 rc4 進行加密的。公用金鑰演算法 通常為 rsa 是用來獲得加...