對于云安全而言,當虛擬機上的密匙在其他人的物理控制下,或者當其他人擁有密匙時,它是否可以保證密匙的安全?
當前密匙管理的另一個問題是備份,因為很難跟蹤供應商的歸檔媒介。對于長期歸檔存儲,我建議將你的數據進行加密,然后發送給一個云數據存儲供應商。這樣,您就能夠保持并控制加密密匙。這種將加密密匙管理從托管數據的云供應商分離的做法還創建了一系列的分離,在遇到規則遵從問題時,這有助于保護云供應商和你。密碼粉碎(crypto-shredding)也是減輕云計算風險的有效方法。通過該方法,供應商可以銷毀密匙的所有副本,以確保在你物理控制之外的任何數據都無法被訪問。如果你管理自己的密匙,密碼粉碎也應該作為你安全策略的重要組成部分。
供應商采取的糟糕措施,如脆弱的密匙生成、存儲和管理方法使得密匙很容易泄漏。最近,粗糙的密碼工作就導致了Twitter的安全問題。一個違規的雇員會引入訪問機器密鑰的后門,或者當機器運行時對其進行訪問、或將其轉接到一個沒有加密的鏈接。違規的雇員甚至可以暫停機器,并搜索內存中的文件以找到密鑰。不管在什么時候,如果你認為密鑰已被盜竊,那么你的數據就處于危險中。在這種情況下,我建議取消該密鑰,并用新的密鑰重新對數據進行加密。
如果第三方控制了基礎設施的物理和邏輯訪問權,這就給你構成了額外的風險,此時保持密匙安全的挑戰會變得更加困難。隱藏在背后的主要原因是,目前密匙管理正與密匙存儲相結合。它類似于你在銀行租用保險箱,并讓銀行負責保管保險箱的鑰匙。擁有訪問密匙的權限使得供應商也可以訪問你的數據。
云計算還引入了針對密匙管理的其他一些風險。在所有的虛擬化軟件中都發現過漏洞,這些漏洞都可以被利用,從而繞過某些安全限制或者獲取訪問機器的更高權限。同樣,新技術也意味著我們不能再認為現有進程仍然是安全的。最近,安全研究人員Stamos、Becherer和Wilcox提出了一個觀點,他們認為虛擬機一直都沒有足夠的權限去獲得所需的隨機數字對數據進行適當加密。這是因為一般的機器可以利用鼠標移動和鍵盤鍵入創建一個熵池(entropypool)來生成隨機通行密匙,但虛擬機比一般的機器擁有的熵的來源更少,這使得密匙更容易被猜到。雖然它不是一個直接的威脅,但需要強調的是,關于影響云計算和虛擬計算的安全問題,我們仍然有很多東西需要學習。
然而,我們關注的主要問題是供應商的安全政策強度以及實施的情況。他們是否應用了密匙管理生命周期?密匙是如何生成、使用、儲存、備份、恢復、循環使用(rotate)和刪除的?他們采用哪些數據清理措施來銷毀不再需要的密鑰?與你的云供應商簽署的合同中應包括一個“沒有密匙存儲”的條款,該條款應指出,“提供使用的任何密匙在不需要時將不會被保留”。這一條款在過去是沒有先例的。支付卡行業數據安全標準規定,商家不能保存信用卡的CVS號碼,即使商家使用CVS號碼來進行身份驗證。如果到最后你仍對與云供應商簽署的合同或處理流程不滿意,那你可以不去使用。