實(shí)施更強(qiáng)健的加密 防止“后門”泄密
在安全領(lǐng)域,加密永遠(yuǎn)是無休止的話題。特別是在斯諾登揭露美國安局的監(jiān)控丑聞后,許多人對加密產(chǎn)品產(chǎn)生了很多懷疑,企業(yè)對如何保護(hù)數(shù)據(jù)安全的渴望更是與日俱增。
我們不知道為了訪問加密數(shù)據(jù),美國國安局如何在加密系統(tǒng)中建立后門,但是在加密過程中,隨機(jī)數(shù)生成器非常重要,因?yàn)槠湓趧?chuàng)建數(shù)字證書時扮演著重要角色。如果隨機(jī)數(shù)生成器產(chǎn)生的數(shù)字是可預(yù)測的,或并不是真正的隨機(jī),那么攻擊者就可以更容易地預(yù)測企業(yè)的私鑰,而且可以讀取使用這些密鑰加密的任何消息。
更糟的是,由此,兩個企業(yè)更有可能生成同樣的私鑰。這里的問題是,每個私鑰都有一個唯一匹配的公鑰,所以在理論上黑客有可能查閱公鑰數(shù)據(jù)庫,如果發(fā)現(xiàn)與黑客的公鑰相匹配,那么他們就會知道私鑰也同樣匹配。
當(dāng)然,這是不太可能的一種情況,但卻表明:加密并不像我們認(rèn)為的那樣強(qiáng)健。幸運(yùn)的是,我們?nèi)杂幸恍┓椒梢詼p少與加密有關(guān)的已知漏洞。下面的技巧可強(qiáng)化加密的安全性:
1.不要使用老的加密算法
企業(yè)應(yīng)當(dāng)停止使用DES等老的加密算法,也不要使用其親戚3DES(三重數(shù)據(jù)加密標(biāo)準(zhǔn))。
2.使用企業(yè)支持的最長的加密密鑰
建議企業(yè)盡可能使用最大長度的密鑰,這可以使那些無法訪問后門的企業(yè)難以破解企業(yè)的加密。當(dāng)今,AES 128可謂強(qiáng)健,但如果可能,不妨使用AES 512 或更長的密鑰。
3.多層加密
建議企業(yè)盡可能地利用多層加密,這可以增加攻擊者的困難。如果有可能,不妨對數(shù)據(jù)庫的每個字段、每個表以及整個數(shù)據(jù)庫都進(jìn)行加密。
4.安全存儲加密密鑰
企業(yè)面臨的最大問題可能并不是加密算法被美國的國安局留下后門,而是密碼本身僅僅是加密方案的一部分。對于基礎(chǔ)架構(gòu)的其它要素,如密鑰管理系統(tǒng),企業(yè)也必須保證其安全。攻擊者都愿意對付安全系統(tǒng)的最薄弱環(huán)節(jié)。如果攻擊者很容易就可以竊取密鑰,為什么還會費(fèi)力破解加密算法呢?
有的企業(yè)將保護(hù)其數(shù)據(jù)的密鑰給第三方,尤其是在企業(yè)將數(shù)據(jù)存儲在公共云中并由云供應(yīng)商加密和保護(hù)時。這里的問題是,企業(yè)無法控制密鑰,而是必須相信云供應(yīng)商的雇員會安全地保存密鑰。
如果企業(yè)可以實(shí)施一種可以將密鑰控制在云中的加密系統(tǒng),就會安全得多。自動處理加密的云加密網(wǎng)關(guān)可以幫助公司實(shí)現(xiàn)這種安全。
5.確保正確實(shí)施加密
事實(shí)上,實(shí)施加密系統(tǒng)并非易事,因?yàn)樗性S多動態(tài)部件,任何一個部件都有可能成為一個薄弱環(huán)節(jié)。你必須進(jìn)行大量調(diào)查,確保正確實(shí)施加密。
在實(shí)施加密過程中,哪些方面容易出錯?除了密鑰容易遭受攻擊,還有CBC(密碼分組鏈接)的實(shí)施方式。使用CBC,可以用同樣長度的隨機(jī)文本塊(也稱為初始化向量)對純文本進(jìn)行異或運(yùn)算,然后對其進(jìn)行加密,產(chǎn)生一個加密文本塊。然后,將前面產(chǎn)生的密文塊作為一個初始化向量對下一個純文本塊進(jìn)行異或運(yùn)算。
CBC的正確實(shí)施要求在開始每個過程時都有一個新的初始化向量。一個常見的錯誤是用一個不加改變的靜態(tài)初始化向量來實(shí)施CBC。如果正確實(shí)施了CBC,那么,如果我們在兩個不同的場合加密了文本塊,所生產(chǎn)的密文塊就不會相同。
6.不要忽視外部因素
公司幾乎無法控制的外部因素有可能破壞加密系統(tǒng)的安全性。例如,SSL依賴于數(shù)字證書,而且這些因素依賴于嵌入在瀏覽器(如IE、火狐、Chrome等)中的根證書頒發(fā)機(jī)構(gòu)的完整性。但是,我們?nèi)绾沃榔涫欠窨尚?,或者這些證書頒發(fā)機(jī)構(gòu)不是某外國情報機(jī)構(gòu)的幌子?你是否覺得這聽起來牽強(qiáng)附會,但卻有可能是事實(shí)。
此外,DNS也是不得不重視的弱點(diǎn)。只要DNS被攻克,攻擊者就可以使用釣魚技術(shù)繞過加密。
當(dāng)然,這里強(qiáng)調(diào)的是加密問題的各種可能性。一個正確實(shí)施的加密系統(tǒng)只能在一種情況下被攻克,即測中密鑰,在短時間內(nèi)猜對密鑰并非不可能,但其可能性微乎其微。
但是,如果不正確實(shí)施加密,選擇了不恰當(dāng)?shù)拿艽a和密鑰長度,再加上其它因素(如隨機(jī)數(shù)生成器中的漏洞)就可能意味著加密未必是可靠的。
所以,企業(yè)必須重視從多方面強(qiáng)化加密系統(tǒng),絕不可以偏概全。