華為認(rèn)證知識(shí)點(diǎn)-SSL協(xié)議知多少
SSL全稱為Secure Sockets Layer,安全套接層。是一種提供保證私密性的安全協(xié)議。SSL能使客戶端與服務(wù)器之間的通信不被截取及竊聽(tīng),還能驗(yàn)證通信雙方身份,保證網(wǎng)絡(luò)上數(shù)據(jù)傳輸?shù)陌踩浴?/span>
傳統(tǒng)的HTTP協(xié)議不具備相應(yīng)的安全機(jī)制,不能保證數(shù)據(jù)傳輸安全性和私密性、不能驗(yàn)證通信雙方的身份、無(wú)法防止傳輸?shù)臄?shù)據(jù)被篡改等情況。Netscape利用數(shù)據(jù)加密、身份驗(yàn)證和消息完整性驗(yàn)證機(jī)制,為網(wǎng)絡(luò)傳輸數(shù)據(jù)提供安全性保證。
SSL 協(xié)議包含身份驗(yàn)證、數(shù)據(jù)傳輸機(jī)密、消息完整性機(jī)密的幾種安全機(jī)制。
身份驗(yàn)證機(jī)制是利用數(shù)字簽名方法對(duì)服務(wù)器和客戶端進(jìn)行身份驗(yàn)證,其中客戶端的身份驗(yàn)證是可選的。
數(shù)字簽名可以通過(guò)非對(duì)稱密鑰算法實(shí)現(xiàn)通過(guò)私鑰加密后的數(shù)據(jù)只能對(duì)應(yīng)的公鑰進(jìn)行解密,因此根據(jù)解密是否成功,來(lái)判斷用戶身份。如果解密結(jié)果與固定消息相同,則認(rèn)證成功。使用數(shù)字簽名驗(yàn)證身份時(shí),需要確保被驗(yàn)證者的公鑰是真實(shí)的,否則,非法用戶可能會(huì)冒充被驗(yàn)證者與驗(yàn)證者通信。
數(shù)據(jù)傳輸?shù)臋C(jī)密性則是利用對(duì)稱密鑰算法對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密。指發(fā)送方在發(fā)送數(shù)據(jù)前將數(shù)據(jù)發(fā)送給對(duì)方;接收方接收到數(shù)據(jù)后,利用解密算法和解密密鑰從密文中獲取明文。沒(méi)有解密密鑰的第三方,無(wú)法將密文恢復(fù)為明文,從而保證數(shù)據(jù)傳輸?shù)臋C(jī)密性。
消息傳輸過(guò)程中使用消息驗(yàn)證碼來(lái)檢驗(yàn)消息的完整性。MAC算法是將密鑰和任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為固定長(zhǎng)度數(shù)據(jù)的一種算法。
1.發(fā)送端在密鑰參與下,使用MAC算法計(jì)算出消息的MAC值,并將在消息之后發(fā)送給接收端。
2.接收端利用同樣的密鑰和MAC算法計(jì)算出消息的MAC值,并與接收到的MAC值
比較。
如果二者相同,則報(bào)文沒(méi)有改變。否則,報(bào)文在傳輸過(guò)程中被修改,接收端將丟棄該報(bào)文。