SSL淺析

為什么需要SSL

TCP、UDP沒有提供任何加密機制。
這意味著發(fā)送端進程傳送至其Socket的數(shù)據(jù)與經(jīng)過網(wǎng)絡(luò)傳送到目的進程的數(shù)據(jù)相同。
如果發(fā)送進程以明文方式發(fā)送數(shù)據(jù)到它的Socket,數(shù)據(jù)在發(fā)送端與接收端之間所經(jīng)過的的所有傳輸鏈路中都有可能被嗅探和發(fā)現(xiàn)。為了安全性,所以就開發(fā)了TCP的加強版本( Secure Socket Layer) 安全套接字層。

SSL有哪些改進的地方

用SSL加強后的TCP支持原始TCP的一切功能,主要是提供了最為關(guān)鍵的進程到進程之間的安全性服務(wù)。
這主要包括:加密、數(shù)據(jù)完整性和端點鑒別。
SSL不是獨立于TCP\UDP的第三種協(xié)議,僅僅是對TCP協(xié)議的加強。這種加強是在應(yīng)用層實現(xiàn)的。

如何使用SSL

如果一個應(yīng)用程序要使用SSL方式通信,需要在Client 和 Server上集成SSL的代碼。

SSL數(shù)據(jù)加解密過程

SSL有他自己類似于傳統(tǒng)的TCP Socket API的 Socket API.當(dāng)一個應(yīng)用使用SSL時,發(fā)送進程向SSL Socket 傳遞明文數(shù)據(jù)。發(fā)送主機中SSL會對數(shù)據(jù)進行加密,然后講數(shù)據(jù)傳給TCP Socket。加密后的數(shù)據(jù)經(jīng)過網(wǎng)絡(luò)傳輸給接收進程中的Socket。接收進程的Socket將加密數(shù)據(jù)傳遞給SSL,由SSL負責(zé)解密這些密文,SSL將解密后的數(shù)據(jù)傳遞給目標(biāo)進程。

示意圖:

14435327563227.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容