1. 程式人生 > >Http和Https的區別--筆記

Http和Https的區別--筆記

font ddd 被黑 做到 lee spa int 專業 緊急

學習鏈接:
知乎:https://www.zhihu.com/question/19577317 
法號桑菜

https比http安全,是超文本傳輸協議安全,比http多了一個由TLS(SSL)提供的secure。

https保護了什麽?

網絡安全關心的問題:

confidentiality:機密性(你瀏覽網頁的數據在別人看來就是一團亂碼,無法獲取密碼銀行卡等信息);

intergrity: 完整性(發送獲取的數據中途不會被黑客串改);

availability: 可利用性;

authentication: 認證(https提供的,你連接的是你連接的網站,而不是什麽人在中途偽造了一個網站給你,

專業上叫Man In The Middle Attack);

保護了你從連接到這個網站開始,到你關閉這個頁面為止,你和這個網站之間收發的所有信息,就連url的一部分都被保護了。同時DNS querying這一步也被保護了,不會發生你輸入www.google.com,實際上跑到了另一個網站去了。

https怎麽做到安全?

1.確定是否是好網站,好網站都會有證書,每次鏈接,網站都先去找CA(certificate authority證書權威頒布)拿一份證書,然後把這個證書一起發給客戶,來證明自己的清白。

證書加密由RSA的公鑰,私鑰加密。

2.怎麽保證數據不會被修改?

hash算法可以把一個長長的數據變短,一般情況下,不同的長數據變成的短數據,是不一樣的。哪怕長數據裏面只變化了一點點,短數據也會差別很大(專業術語叫avalanche effect-雪崩效應)。傳輸數據的時候,把這個短數據一並傳了,對方就可以知道整個數據包是否被修改。當然這需要雙方都提前知道一些並沒有被傳輸的秘密。常用的hash有md5和SHA256等,md5相對來說不安全,length extenstion attack(長度擴展攻擊)和collision(碰撞)都很容易。總之,這樣一來,你可以知道中途數據沒有被修改。這就是integrity。

heartbleed
來自OpenSSL的緊急安全警告:OpenSSL出現“Heartbleed”安全漏洞。騰訊電腦管家分析,這一漏洞讓任何人都能讀取系統的運行內存。



Http和Https的區別--筆記