https和http的區別

a) 區別
i. http連接簡單無狀態,https協議是由ssl和http協議構建的可進行加密傳輸身份認證、報文的完整性的網絡協議,比http協議安全,採用混合加密的算法
ii. https協議需要到ca申請證書,一般免費證書較少,需要一定的費用
iii. http協議超文本傳輸是明文傳輸,https是具有ssl加密傳輸協議
iv. http使用80端口 https使用443端口
v. 在OSI網絡模型中,http在應用層,https在傳輸層
vi. http在HTTP協議在TCP之上所有的傳輸內容都是明文,客戶端和服務器端都無法驗證對方的身份
vii. https是HTTP在SSL/LS之上,SSL/TLS運行在TCP之上,所有的傳輸內容都得經過加密,加密採用對稱加密,但對稱加密的密鑰用服務器方的證書進行了非對稱加密,此外客戶端可以驗證服務器的身份
b) 爲什麼用Https來進行通信?https在安全上做了哪些事情?
i. http的缺點:

  1. 儘管http已經具有相當優秀的方面,但是其依然還有很多不足
  2. 通信內容爲明文,既爲未加密,內容可能被監聽
  3. 竊聽可能在互聯網通信的各個環節
  4. 通信雙方的身份都沒有進行驗證,可能出現僞裝身份的情況
  5. 所有人都可以對服務器發起請求-----對服務器來說無法確定自己返回的報文是否真正被客戶端接受,對客戶端來說無法確定這臺web服務器是真的服務器,可能通過了僞裝--------服務器全盤接收的缺點也有可能被利用進行dos攻擊
  6. 接受的報文完整性無法確定,可能中途被更改 雖然Http提供了報文完整性的方法(MD5、SHA-1)但是也無法完全保證報文的完整性,因爲MD5本身也有可能被攻擊者改寫 在SSL中,提供了認證和加密處理等功能,通過配合SSL可以達到保證報文完整性目的
    ii. 關於Https
  7. 鑑於http的缺點,https在http的基礎上增加了
    a) 通信加密
    b) 證書認證
    c) 完整性保護
  8. SSL是如何配合HTTP來達到安全通信的?
    a) HTTP的通信接口部分採用了SSL協議來實現
    b) SSL是獨立於HTTP協議的,同樣也可以用於其他協議
  9. 普通的加密方式
    a) 共享密鑰加密 客戶端和服務器端都擁有一把相同的鑰匙,對報文的加密解密都用這把鑰匙,在通信中傳遞給對方,所以一旦在通信過程中這把密鑰被攻擊者獲取,報文便失去了意義
    b) 公開密鑰加密—共享密鑰有一個問題:如何安全的把密鑰傳輸給對方,公開密鑰採用的是非對稱的密鑰,一把共有密鑰,一把私有密鑰,發送方使用共有密鑰對報文進行加密,接收方使用私有密鑰進行解密
  10. HTTPS採用的混合加密機制
    a) 由於共有密鑰的機制相對複雜,導致處理速度特別慢,
    b) 只要解決了共享密鑰的安全問題就能很好的傳輸
    c) Https首先通過公開密鑰對享密鑰進行加密,當共享密鑰安全傳輸給對方,雙方則使用共享密鑰方式來加密報文
  11. https的握手機制
    a) 向服務器發送請求
    b) 取出共有密鑰及證書發送給服務端
    c) 客戶端判斷共有私鑰是否有效,無效則顯示警告,有效則生成一個隨機樹數串,並以此生成客戶端的共享密鑰
    d) 用上述得到的共有密鑰對該隨機數串進行加密,發送到服務器
    e) 服務器得到加密報文,用私有密鑰解密報文,得到隨機數串,並以此生成服務器端的共享密鑰,此時客戶端和服務器端擁有相同的共享密鑰,可以用該共享密鑰進行安全通信
    f) 服務器對響應進行加密,客戶端對報文進行解密
  12. 選擇http還是https來搭建服務器
    a) SSL會使通信的速率降低 整體通信信息量增加
    b)
    c) 加密過程消耗資源 每個報文都需要進行加密解密的運算處理,比起http會消耗更多的服務器資源
    d) 證書開銷
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章