洞悉互聯(lián)網(wǎng)前沿資訊,探尋網(wǎng)站營銷規(guī)律
作者:狐靈科技 | 2019-07-12 17:43 |點(diǎn)擊:
當(dāng)提到HTTPS協(xié)議和SSL證書時(shí),就不得不先提一下HTTP協(xié)議。作為一個(gè)可能會被淘汰的協(xié)議,明文傳輸和無驗(yàn)證使得它臭名昭著,這種在安全上的缺陷可以輕易的被他人利用于謀取保利,現(xiàn)在,越來越多的隱私數(shù)據(jù)開始通過網(wǎng)絡(luò)傳輸,姓名、密碼、身份證、手機(jī)號等等,如果繼續(xù)任由他人獲取這些信息,不加管理,等同于互聯(lián)網(wǎng)在退步。于是一些站長紛紛對網(wǎng)站進(jìn)行了全站HTTPS,但有站長反映,做了https之后,速度變慢了,這是什么原因呢?
1、客戶端(下文以瀏覽器簡單代替我們使用的客戶端,方便大家理解)首先會將自己的一套加密規(guī)則發(fā)送給服務(wù)器;
2、服務(wù)器確定加密算法,然后將服務(wù)器的身份信息用過SSL證書發(fā)送給瀏覽器,證書中包括服務(wù)器的IP地址、公鑰、證書的頒發(fā)機(jī)構(gòu)(CA機(jī)構(gòu))、證書的有效期等等;
3、瀏覽器獲取證書之后開始驗(yàn)證SSL證書的合法性,如CA機(jī)構(gòu)是否可信、證書是否過期、服務(wù)器的IP是否與自己請求的一致,如果通過驗(yàn)證,則該證書是被信任的,通常表現(xiàn)為在瀏覽器的網(wǎng)址前會有一個(gè)綠色的小鎖頭,如果是不被信任,則會提示我們證書不被信任。
此時(shí),瀏覽器一旦接受證書后,就會產(chǎn)生一串隨機(jī)的數(shù)字,然后使用SSL證書中的公鑰進(jìn)行加密。通過使用約定好的HASH計(jì)算握手信息,對把剛才加密過的隨機(jī)數(shù)字通過再次加密發(fā)送給服務(wù)器。
4、服務(wù)器接受到瀏覽器發(fā)送過來的信息,首先使用密碼解密瀏覽器發(fā)送過來的握手信息,驗(yàn)證他的HASH,如果一致,使用私鑰解密密碼。然后使用密碼加密一段握手信息,再次發(fā)送給瀏覽器。
5、瀏覽器解密、計(jì)算握手消息的HASH,然后與服務(wù)器發(fā)來的進(jìn)行對比,如果一致,那么握手過程結(jié)束。
如果你以為HTTPS傳輸數(shù)據(jù)的過程這么麻煩,那就大錯(cuò)特錯(cuò),因?yàn)槿思覊焊€沒開始傳輸數(shù)據(jù),只有經(jīng)過上述過程,瀏覽器才能夠與服務(wù)器正式握手,然后開始傳輸數(shù)據(jù),整個(gè)通信過程中的所有數(shù)據(jù)將使用最先瀏覽器生成的那串隨機(jī)數(shù)字的加密作為密碼,在利用對稱加密算法進(jìn)行加密。
顯然,這個(gè)過程要比HTTP復(fù)雜的多,又是加密又是解密的,還這里驗(yàn)證一下哪里驗(yàn)證一下,要知道HTTP只要發(fā)包過去驗(yàn)證一下是不是所要請求的服務(wù)器,然后再發(fā)包來就可以開始數(shù)據(jù)傳輸了。
HTTP與HTTPS相差一個(gè)SSL握手的過程,這也直接導(dǎo)致了HTTPS的站點(diǎn)打開會慢很多。但是,隨著網(wǎng)絡(luò)硬件的不斷增強(qiáng),帶寬的不斷增加,以及站長對服務(wù)器、網(wǎng)站其他方面的優(yōu)化,這個(gè)SSL握手過程會慢慢縮短,對于正常網(wǎng)絡(luò)來說,這個(gè)過程我們幾乎沒有什么感覺,從百度、淘寶等網(wǎng)站來看,似乎HTTP和HTTPS打開速度并沒有多少改變。