知識庫
ssl是什么?打開站長工具經??吹?。最近谷歌要求Android下一個版本將默認使用加密連接,這意味著安卓設備的這塊app無論是接收或者發送數據,未來都不能明文傳輸,需要使用TLS(Transport Layer Security)傳輸層安全協議。這不難理解ssl了,HTTPS=ssl,TLS和SSL,甚至常常放在一起。
服務器測試申請:http://www.xcwl17.com/
https對建站的朋友不陌生,What’s https?簡單的說,https就是給http帶了一個面具,即使別人拿到了本人,也不知道這是誰??蛻舳?包括browser、手機app等)和服務器每次發http包的時候,都對這個包加個密,讓第三者看到的只是加密后的亂碼(我只想對你說:你猜你猜你猜猜猜),到對端以后再解密。
這個面具,原來是叫SSL(Secure Sockets Layer),最先是Netscape弄出來的,后來哥們兒完蛋了,就慢慢變了名字,叫TLS(Transport Layer Security Protocol)。具體的區別可以去wikipedia搜索TLS,他們之間的升級細節講述的非常詳細(這一點百度百科真的差的有點遠~)。
這個面具跑在TCP的上層,在TCP連接完成后且HTTP啟動前,協商一些跟加密相關的工作,完成協商之后,就可以對要發送的http包加密/解密了。
那他到底協商了些啥呢?其實就是保證安全的幾個問題:
1、服務器要證明自己是靠譜的、安全的,不然給一個假網站發加密的密文就跟裸奔沒啥區別
2、服務器和客戶端通訊需要的加密算法和加密密鑰
TLS:(Transport Layer Security,傳輸層安全協議),用于兩個應用程序之間提供保密性和數據完整性。
SSL協議運行的基礎是B2C信息保密的承諾,特點是有利于商家而不利于消費者。但隨著互聯網的發展,各中企業和個人也參與進來,這樣在網絡支付過程中的單一認證問題就越來越突出。雖然在SSL3.0中通過數字簽名和數字證書可實現瀏覽器和Web服務器雙方的身份驗證,但是SSL協議仍存在一些問題。
而TLS是IETF(Internet Engineering Task Force)制定的一種新的協議,它建立在SSL 3.0協議規范之上,是SSL 3.0的后續版本。但TLS與SSL3.0之間存在著顯著的差別,主要是它們所支持的加密算法不同,所以TLS與SSL3.0不能互操作。
1、加密/解密算法:能加密同時能反解的,就是加解密算法。按照加解密的密鑰是否一樣,又分為對稱和非對稱算法。比如對稱加密算法:AES、DES;非對稱加密算法:RSA。
2、摘要算法:就是只用來做摘要、簽名、驗證防止被別人篡改,基本不能反解(有可能可以通過碰撞暴力破解)。比如:MD5、SHA。
那服務器和客戶端接下來就協商一下,我們要用什么加密解密算法和密鑰防止別人看見,用什么摘要算法,防止別人篡改。一般來講,對稱加密算法效率會比非對稱高,所以通常選擇對稱加密的AES較多。雙方通過某種方式協商出一個密鑰,后面就通過這個密鑰和加密算法進行加解密。
客戶端發送一個:“地振高岡,一派溪山千古秀”
服務端回復一個:“門朝大海,三河合水萬年流”
整個過程大體就是這樣,后面雙方就開始發HTTP的加密包,對方解包得到對應的HTTP數據。通過上面的分析是不是對ssl是什么,和https、tls的認識有個深刻的理解了!ssl證書對網站還是非常有用處的,特別是能避免網站被博彩網站刷流量,當然網絡安全,最終終端服務器還是重點。