我該如何鎖住你? --云端數據加密方法深入對比
一、云上數據的安全問題
2017年3月,來自云安全公司MacKeeper的研究人員Chris Vickery發Twitter稱在美國發生一起“14億身份信息泄漏案”。2018年3月,著名的社交網絡服務網站Facebook被曝數據泄露,4月報道涉及用戶可能高達20億人,導致其股票下跌近20%。近日,國內某著名互聯網IT巨頭CEO更是發出用戶愿意“用隱私換便捷”的驚人言論。此外,許多擁有龐大的個人和企業數據庫的公司都有導致數據泄露的歷史。這一系列事件再一次將數據安全問題推向風口浪尖。
針對如此多發且嚴重的數據泄漏事件,云端數據存儲的安全性問題就不得不引起人們的重視。目前諸多的個人信息、重要數據等都以明文的方式存儲在云端,這對企業來說已經完全失去了對其的控制權,安全問題完全寄希望于云提供商。
在多次會議和沙龍中,企業首席信息安全官們探討了該問題,一致認為:應用層的加密組件是云安全的核心功能,要確保企業外的人(包括云提供商)無法查看或訪問這些數據,當數據離開企業的安全環境進入云服務提供商環境時,企業可以加密所有數據,并且只有企業有密鑰。
二、租戶存儲和使用云端數據的方式
IaaS型數據庫(租戶自建數據庫):云服務供應商提供給用戶的是計算機基礎設施,用戶購買服務后自行安裝操作系統及數據庫。目前主流的云服務供應商都提供這種購買云主機的服務。由于數據庫是自行安裝的,云服務供應商無法直接獲取數據庫的內容。但是數據庫的數據文件保存在云供應商提供的存儲上,供應商可以直接拷貝用戶數據文件從而獲得數據。
IaaS型(租戶自建數據庫)示意圖
SaaS型數據庫:云服務供應商提供給租戶的是已經封裝好的數據庫,用戶購買數據庫服務,獲得數據庫實例的使用權,可以在數據庫存儲與使用自己的數據。目前大多數云服務供應商都提供這種數據庫服務。在這種場景中,云服務供應商擁有數據庫宿主OS的ROOT權限,從而擁有最高的數據庫權限,可以毫無困難的直接操作租戶的所有數據。
SaaS型數據庫示意圖
SaaS應用:租戶通過云服務供應商提供的應用服務存取數據。例如在線CRM系統或在線OA系統中,租戶租用這種服務,并通過這種服務錄入和使用數據。租戶直接打開瀏覽器或APP就可以直接使用服務,所有的數據都由Web或APP與后端數據庫進行通訊。在這種情況下,租戶完全失去了對數據的控制能力:SaaS服務的供應商可以非常輕易的獲取租戶的信息,而云平臺供應商能否獲取到數據,則完全取決于SaaS服務的供應商對數據的保護措施。
SaaS應用示意圖
三、云端數據加密方式
為了應對云端數據的威脅,對數據進行加密是一種有效的解決手段。為了確保安全性,這種加密必須是獨立于云平臺的,也就是說加密機制不能由云平臺自己來提供,除非可以證明秘鑰對云平臺是完全不可見的。根據加密位置以及適用場景的不同,在目前來看,有效的云數據加密方式有云加密數據庫、數據庫加密網關、以及云訪問安全代理三種。
1)云加密數據庫。使用具有加密功能的數據庫或者數據庫引擎。在數據庫將數據寫入文件時對數據進行加密,讀取數據時進行解密。數據文件被加密后,無法通過直接拷貝用戶數據文件盜取用戶數據。
這種方式通常具有相對較高的性能和透明性,對數據庫的觸發器,存儲過程等特性支持的比較全面。其缺點是防護能力有限,不能限制數據庫超級用戶的數據讀取權限。而且其通用性較差,僅適用于IaaS形式的租戶自建數據庫。
2)云數據庫安全代理(CDSB, Cloud Database Security Broker)。CDSB云數據加密網關作為數據庫的出入口,將所有數據加密后寫入數據庫,讀取數據的時候進行解密。通過網關訪問數據庫可以獲得明文數據,而越過網關直接讀取數據則只能獲得密文。
CDSB示意圖
該加密方式具有較高的通用性,既適用于SaaS數據庫,也適用于IaaS數據庫。該方式為數據庫提供了統一的二次認證和二次鑒權機制,能夠很好的防止云平臺供應商訪問真實數據,從而具有良好的安全性。性能方面,加密網關通過SQL重寫,以及通過提供密文索引的方式,使得系統的整體性能較高。
3) 云訪問安全代理(CASB, Cloud Access Security Broker):CASB應用加密網關主要設置在企業或個人的內部網絡出口處,對于流出的數據進行統一加密并對流入的數據統一解密。
CASB示意圖
該加密方式不用考慮應用后端的數據庫類型,具有更高的通用性。且將加解密功能進行了分布式處理,具有較高的綜合性能。如果加密方法強度足夠的話,該方式在理論上具有較好的安全性。但是由于要考慮到加密后數據的檢索、格式的兼容等因素,所采用的加密算法強度不得不被降低。
四、CDSB和CASB的對比
由上述分析可知,CDSB數據庫加密網關和CASB應用加密網關都具有較高的安全性,本節對這兩種方式的適用性和安全性做進一步的深入對比分析。
1)適用性
兩種加密方式針對不同云端數據使用方式的適用性如下表所示。
租戶使用的服務 加密方式 |
IaaS自建數據庫 |
SaaS數據庫 |
SaaS應用 |
|||
防御云服務商 |
防御應用服務商 |
防御云服務商 |
防御應用服務商 |
防御云服務商 |
防御應用服務商 |
|
CASB |
不適用 |
不適用 |
不適用 |
不適用 |
能(加密強度低) |
幾乎不能 |
CDSB |
能 |
不適用 |
能 |
不適用 |
能 |
不能 |
從上表中看出,CDSB對于各種云端上數據使用方式都能較好的適用,而CASB方式只適用于SaaS應用的方式。由于兩種方式都適用于SaaS應用,下面部分就他們在SaaS應用環境下的安全性進行對比分析。
2) 抗統計分析攻擊性能
CDSB數據庫加密網關可以采用多樣性的加密算法,包括國密算法。也支持帶隨機鹽值的高強度加密算法,使得相同明文加密后的結果不同。這使得加密結果在對抗統計分析攻擊方面的安全性很高。
而CASB加密網關為了保持對應用系統的兼容,使得在加密算法的選擇上受限多多。比如,為了保持加密后數值類型的兼容,不得不采用格式保持加密(FPE),而這種加密方法的安全性還沒有得到權威部門的認可;而且為了保證加密后的檢索,由于沒有辦法在數據庫中直接建立密文索引,所以必須保持加密前后內容的大小關系、位置信息、統計特征的一致性。所以CASB加密網關的加密強度,是遠遠小于CDSB數據庫加密網關的。
3)直接泄露明文可能性
在CDSB模式中,明文數據的直接泄露點包括應用服務端和前端的瀏覽器/APP。在CASB模式中,明文數據的直接泄露點在前端的瀏覽器/APP,也就是說,可以從APP端導出租戶的所有數據。而應用服務端和APP端在本質上是同一個應用系統,所以當SaaS服務以APP方式提供時,CDSB和CASB模式的明文泄露風險是相當的。只有當服務僅以WEB方式提供時,CASB的明文泄露風險才低于CDSB。
事實上,從上述分析可知,對于SaaS服務方式來說,目前還沒有絕對安全的數據加密方式。
五、使用數據庫加密網關對SaaS服務的數據進行加密
在SaaS服務中,眾多SaaS租戶的數據在服務后端統一存儲于一張大表中,通過租戶的ID進行區分和“隔離”。為了將不同租戶的數據通過加密進行隔離,除了使用CASB外,也可以使用CDSB數據庫加密網關來實現加密隔離。
使用CDSB對SaaS應用的數據進行加密
如上圖所示,數據庫加密網關利用其行加密能力,通過利用租戶的ID,有區分的對不同租戶進行加密,且不同租戶的加密策略可以做到差異化。租戶可以直接控制數據庫加密網關進行自身數據的加密、秘鑰輪、加密服務的啟停等,真正實現對自己數據的掌控。
安全性上,如第四節所屬,CDSB與CASB的綜合安全性旗鼓相當。而且就數據加密強度來說,CDSB更勝一籌。
六、中安威士數據庫加密網關簡介
中安威士數據庫加密網關,于2017年第四季度正式發布。目前支持MYSQL系列和南大通用數據庫,且正在適配其它數據庫類型。該系統支持透明加密,加密前后應用程序不需要改造,降低了企業升級加密系統的代價和風險。支持先進的密文索引,加密后數據的檢索效率不會顯著降低。特別的,該系統還提供專門針對字符串類型數據的LIKE查詢索引,大大提高了字符類型數據在加密后的可用性。目前該系統已經在多個系統完成交付,并即將在多個公有云平臺上線。