來自公眾號:車小胖談網路
問題描述
比如Cloudflare,連線用Cloudflare CDN的網站可以看到SSL證書是Cloudflare的證書,所以Cloudflare可以看到所有來往資訊。萬一Cloudflare CDN伺服器安全出問題了,或者Cloudflare本身有一些監控手段,是否意味著存在中間人攻擊的安全隱患?
安全隱患肯定存在,伺服器的私鑰都上傳到了CDN伺服器上,CDN伺服器可以看到雙向的加密流量、解密的明文流量。
如果CDN伺服器厭倦了單調的生活,尋求新的刺激,監控雙向進出的流量,甚至修改、替換、刪除、註入報文,通訊的雙方都可能無法檢測到報文已經被惡意篡改的事實。
不被髮現還好,萬一被髮現了,這些CDN大廠的聲譽掃地,誰還敢用這些CDN加速伺服器?一夜之間公司就會破產!
毀掉信譽遠比建立信譽容易
一個人一生孜孜不倦做一萬件好事,積累了良好的信譽,這是一個漫長的過程。
只要這個人做一件致命的壞事,這個人就完蛋了,以前所有的努力統統煙消雲散。
一個公司的行為更是如此,哪個公司敢拿一個公司的全部身家性命做為賭註,僅僅為了攻擊客戶的流量,獲取一點點小小的利益,這怎麼說也是虧本的買賣。
既然選擇了CDN加速伺服器,那麼就徹底信任它。現在幾乎人人一個手機,手機可以拍非常私密、個性化的照片,照片存在手機上,沒看到幾個人擔心自己的照片,被手機的後門程式源源不斷複製到伺服器上!
如果想複製,易如反掌,但是不被髮現也很難,所以沒有哪個手機廠商敢偷偷摸摸複製使用者的照片!
信任歸信任,信任並不代表CDN伺服器不會出問題!
由於安全防護不足,CDN伺服器淪陷了,同時淪陷的還有客戶伺服器證書的私鑰,看看這個私鑰能幹掉啥有意義的事?
RSA金鑰交換演演算法
如果第三方截獲了歷史加密流量,且這些加密流量使用的金鑰,是使用RSA公鑰演演算法分發的,那麼可以使用該私鑰,解密歷史流量獲得“Pre-Master Key”,結合客戶端明文傳輸的“Nonce”、CDN伺服器的“Nonce”,可以推匯出“Master Key”,並順利推匯出“Session Key”、“HMAC Key”。
有了最後這兩個Key,就可以解密歷史上所有的加密流量,只要流量被捕獲並儲存下來。
此外,還可以繼續解密現在、將來的加密流量。
如果使用DHE金鑰交換演演算法呢,結果會有哪些不同?
DHE金鑰交換演演算法
證書的私鑰只負責認證這一塊,而DHE才負責雙方金鑰的分發。
所以即使私鑰洩露了,用私鑰也無法從歷史流量裡還原出“Pre-master Key”。
要想還原出“Pre-master Key”,必須擁有DHE的私鑰。DHE私鑰不會出現在歷史流量裡,一旦一個通訊會話結束,立馬會從通訊雙方的記憶體裡刪除並消失。
所以,即使攻陷了CDN伺服器,獲得了私鑰,也無法對歷史流量進行解密。
阿彌陀佛,歷史加密流量的隱私得以保全!
但是,現在與將來的加密流量會被解密,因為攻陷了CDN伺服器,所有RSA私鑰、DHE私鑰,解密解密流量就如同吃哈密瓜一樣輕鬆容易!
在這篇文章裡,主要講述了被動攻擊(Passive Attack)、認證與金鑰分發的分離、PFS、以及金鑰分發的兩種方法。
如果聽到熱烈的掌聲,將在下一篇文章裡講述主動攻擊(Active Attack)、降級攻擊、暴力破解攻擊、證書欺騙攻擊、DHE攻擊、重放攻擊(Replay Attack)等等。
朋友會在“發現-看一看”看到你“在看”的內容