HTTPS安全性
連接過程
1、c->s,client hello,包含:隨機值1、客戶端支持的加密算法
2、s->c,包含:隨機值2、匹配后的加密算法
3、s->c,包含:CA證書(公鑰、私鑰、第三方證書機構(gòu)簽名sign、頒發(fā)機構(gòu)與、過期時間、域名信息等)
4、c->c,驗證證書有效性(頒發(fā)機構(gòu)、過期時間、證書簽名)
5、c->c,利用隨機值1、隨機值2、預(yù)主秘鑰組裝會話秘鑰,并通過證書中的公鑰進行加密
6、c->s,包含:加密的會話秘鑰
7、s->s,利用隨機值1、隨機值2、預(yù)主秘鑰組裝會話秘鑰(和客戶端相同)
8、c->s,包含:會話秘鑰加密消息
9、s->c,包含:會話秘鑰加密消息
安全性
HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務(wù)攻擊、服務(wù)器劫持等方面幾乎起不到什么作用
SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行
成本考慮
SSL證書需要購買申請,功能越強大的證書費用越高
SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗)。
根據(jù)ACM CoNEXT數(shù)據(jù)顯示,使用HTTPS協(xié)議會使頁面的加載時間延長近50%,增加10%到20%的耗電。
HTTPS連接緩存不如HTTP高效,流量成本高。
HTTPS連接服務(wù)器端資源占用高很多,支持訪客多的網(wǎng)站需要投入更大的成本。
HTTPS協(xié)議握手階段比較費時,對網(wǎng)站的響應(yīng)速度有影響,影響用戶體驗。比較好的方式是采用分而治之,類似12306網(wǎng)站的主頁使用HTTP協(xié)議,有關(guān)于用戶信息等方面使用HTTPS。
加密
對稱加密:
有流式、分組兩種,加密和解密都是使用的同一個密鑰,DES、AES-GCM、ChaCha20-Poly1305等
非對稱加密:
加密使用的密鑰和解密使用的密鑰是不相同的,分別稱為:公鑰、私鑰,公鑰和算法都是公開的,私鑰是保密的。非對稱加密算法性能較低,但是安全性超強,由于其加密特性,非對稱加密算法能加密的數(shù)據(jù)長度也是有限的,RSA、DSA、ECDSA、 DH、ECDHE
哈希算法:
將任意長度的信息轉(zhuǎn)換為較短的固定長度的值,通常其長度要比信息小得多,且算法不可逆,MD5、SHA-1、SHA-2、SHA-256 等
數(shù)字簽名:
簽名就是在信息的后面再加上一段內(nèi)容(信息經(jīng)過hash后的值),可以證明信息沒有被修改過。hash值一般都會加密后(也就是簽名)再和信息一起發(fā)送,以保證這個hash值不被修改。
總結(jié)
- 上一篇: (六)播放暂停、下一曲、上一曲功能实现
- 下一篇: 渐夜