發(fā)表日期:2018-02 文章編輯:小燈 瀏覽次數(shù):2824
在一般情況下我們上網(wǎng)采用的超文本傳輸協(xié)議為http協(xié)議,https協(xié)議的全稱為Hypertext Transfer Protocol over Secure Socket Layer,相比http多了一個Secure,簡單來說就是http的安全版。
由于http是以明文方式發(fā)送內(nèi)容,不提供任何加密,因此當(dāng)攻擊者截獲了web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報文,就可以讀取其中的信息,用戶就可能泄露自己的敏感信息,如支付密碼,身份證號等等。那么為了解決這個問題,網(wǎng)景公司最早提出了SSL協(xié)議,在http的基礎(chǔ)上加入了SSL協(xié)議,SSL依靠證書來為瀏覽器和服務(wù)器之間的通信加密。
那么http與https的主要區(qū)別有哪些呢。
1、https協(xié)議需要到ca申請證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。
2、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。
3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
4、http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
那么https是如何工作的呢
這里只做簡單的說明,詳細(xì)內(nèi)容可以參考http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html
在http握手之后,要進(jìn)行SSL握手,分為以下四步
1.首先客戶使用https的url訪問服務(wù)器,要求與服務(wù)器建立安全連接。這時候就需要客戶端與服務(wù)器協(xié)商我們接下來的加密應(yīng)該怎么做??蛻舳讼雀嬖V服務(wù)器,我的瀏覽器支持哪些加密方法,我的版本是什么,等等。然后服務(wù)器知道了之后,從客戶端支持的加密方法中隨機(jī)選擇一種,然后告訴客戶端。
2.這時候就會有一個問題,網(wǎng)站怎么證明自己是一個清白的網(wǎng)站,這就需要一個公認(rèn)的證書來證明自己的清白,就是certification,這個證書是由CA頒布的,CA的證書上有它的簽名,如果用戶信任這個證書而遭到了損失,是可以通過這個證書追求法律責(zé)任的。這時候服務(wù)器就把證書和公鑰發(fā)送給了用戶。那公鑰又是什么呢,這個是由于安全過程采用了密鑰交換算法,這個交換算法需要這一步驟。
3.客戶收到了證書與密鑰之后,第一步要向服務(wù)器證明自己也是清白的(這一步可選),也發(fā)送一個自己的證書信息,第二步是瀏覽器生成會話密鑰并用公鑰加密,告訴服務(wù)器。第三步是告訴服務(wù)器我已經(jīng)擁有你的證書和公鑰了(可選)。
4.最后兩方再一次交換密鑰,這個交換過程是為了防止密鑰被攻擊者修改。
經(jīng)歷了SSL握手之后,客戶和服務(wù)器就可以通過會話密鑰加密通信。
同時在通信過程中,SSL中還有一個警報協(xié)議來保護(hù)出現(xiàn)問題的情況,一旦出現(xiàn)錯誤立刻發(fā)出警報,如果是致命錯誤,會立即關(guān)閉SSL連接并刪除會話,密鑰等信息。
那么問題就出現(xiàn)了。為什么這種安全的協(xié)議不在所有網(wǎng)站上使用起來呢。
因?yàn)閔ttps協(xié)議也有一些不好的地方,
1.首先它更耗時,畢竟多了握手的過程與加密的過程。
2.SSL證書需要錢,小網(wǎng)站一般不會用。
3.SSL證書需要綁定IP,不能再一個IP上綁定多個域名,IPV4資源不能支撐這個消耗
4.它的加密范圍有限,只能在某些方面安全,有些國家控制CA證書,中間人攻擊一樣可行。
提到它更耗時,那么我們簡單的來看一下它到底多么耗時。
在linux命令窗口輸入:
-w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com
上面命令中的w參數(shù)表示指定輸出格式,time_connect變量表示TCP握手的耗時,time_appconnect變量表示SSL握手的耗時,s參數(shù)和o參數(shù)用來關(guān)閉標(biāo)準(zhǔn)輸出。
我運(yùn)行了多次,結(jié)果分別為:(單位是秒)
TCP handshake: 0.053, SSL handshake: 0.288
TCP handshake: 0.055, SSL handshake: 0.297
TCP handshake: 0.078, SSL handshake: 0.345
TCP handshake: 0.081, SSL handshake: 0.347
TCP handshake: 0.072, SSL handshake: 0.319
可以看到,在建立連接階段,TCP+SSL握手的耗時就要遠(yuǎn)高于TCP握手,大約為4-5倍
因此在安全度不高的情況下,能不用SSL就別用了。
日期:2018-04 瀏覽次數(shù):6926
日期:2017-02 瀏覽次數(shù):3620
日期:2017-09 瀏覽次數(shù):3888
日期:2017-12 瀏覽次數(shù):3692
日期:2018-12 瀏覽次數(shù):5043
日期:2016-12 瀏覽次數(shù):4749
日期:2017-07 瀏覽次數(shù):13809
日期:2017-12 瀏覽次數(shù):3671
日期:2018-06 瀏覽次數(shù):4431
日期:2018-05 瀏覽次數(shù):4611
日期:2017-12 瀏覽次數(shù):3713
日期:2017-06 瀏覽次數(shù):4134
日期:2018-01 瀏覽次數(shù):4115
日期:2016-12 瀏覽次數(shù):4073
日期:2018-08 瀏覽次數(shù):4569
日期:2017-12 瀏覽次數(shù):3909
日期:2016-09 瀏覽次數(shù):6666
日期:2018-07 瀏覽次數(shù):3356
日期:2016-12 瀏覽次數(shù):3393
日期:2018-10 瀏覽次數(shù):3526
日期:2018-10 瀏覽次數(shù):3644
日期:2018-09 瀏覽次數(shù):3743
日期:2018-02 瀏覽次數(shù):3759
日期:2015-05 瀏覽次數(shù):3678
日期:2018-09 瀏覽次數(shù):3456
日期:2018-06 瀏覽次數(shù):3586
日期:2017-02 瀏覽次數(shù):4029
日期:2018-02 瀏覽次數(shù):4504
日期:2018-02 瀏覽次數(shù):4368
日期:2016-12 瀏覽次數(shù):3717
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.