數據泄露和暴露如今已非常普遍,很難跟蹤所有的泄露事件,更難有時間仔細考慮周全的解決方案。但或許是出于必要性考慮,數據庫巨頭 MongoDB 花費兩年時間開發出一套全新的數據庫加密機制,直接指向減少這些破壞性事件。他們的秘密武器到底是什么呢?回歸本源,大道至簡。
以各種方式加密數據庫的思路并不新鮮。但實際操作中,數據能受到保護的時間和位置,卻有著諸多限制。數據庫往往在 “服務器端” 加密,不是隨便哪個陌生人都能訪問數據庫并查詢其中信息的,但經過授權的用戶就可以訪問其中部分或全部信息。不過,這也意味著只要具備對數據的完整訪問權,比如數據庫操作員和管理員,就可以解密并獲取庫中所有數據。這樣一來,盜取了憑證的外部黑客和被賦予過多權限的惡意內部人便都會對數據形成威脅了。
其他類型的加密方案通常既復雜又花費頗多,所以 MongoDB 這樣的公司花了很長時間來提供既好用又安全的數據庫加密機制。而鑒于 Adobe 和谷歌這種體量的大公司依賴 MongoDB 數據庫架構,該解決方案可能會產生巨大影響。
MongoDB 信任與數字倫理副總裁 Davi Ottenheimer 稱:之前沒人那么做,是因為當時不像今天那么容易察覺用戶的需求。
如今頻頻曝光的數據庫泄露事件,最終開始讓公司企業意識到了堅實加密的價值所在。
MongoDB 將該新功能命名為 “字段級加密” (Field Level Encryption)。其運行機制有點像端到端加密消息傳輸——互聯網傳輸過程中混淆數據,只向發家和收家揭示數據真身。這種 “客戶端” 加密方式下,運用字段級加密的數據庫不僅要求系統登錄,還額外要求持有特定密鑰才可以在用戶設備本地處理和解密相應的數據塊。這意味著 MongoDB 本身和云提供商都不能訪問客戶數據,數據庫管理員或遠程經理也無需擁有可訪問所有數據的權限。
而對普通用戶而言,一切看起來并沒有什么太大區別。如果憑證被盜,且未啟用多因子身份驗證,那攻擊者便仍然能夠訪問受害用戶所能訪問的全部內容。但該新功能的主要目的是要杜絕單點故障。部署了字段級加密后,黑客即便盜取了管理員用戶名和密碼,或者找到了可獲取系統權限的軟件漏洞,也無法使用這些漏洞獲取可讀數據。
新機制的重點在于以客戶會實際采用的方式提供安全。即便有安全機制也不愿意實際采用可算是網絡安全領域的經典癥結了。Ottenheimer 表示:
我們非常注重便于開發人員部署到其發布中,想讓開發人員能夠盡快發布新產品和代碼。
字段級加密基于久經檢驗的公鑰加密標準,而且是開源的,可接受加密分析社區的廣泛審查。這一審計過程其實已經開始了,只是將于下周開始的貝塔測試階段中會大幅擴大審計范圍。布朗大學密碼學家 Seny Kamara 一直在進行字段級加密的評估工作。他表示,MongoDB 已經根據他研究團隊的反饋做出了一些修改。
該加密技術還很新,與多數密碼技術一樣在效率和安全性方面也做了取舍。MongoDB 讓加密社區參與進來的舉動堪稱突破,廣受好評。主動讓新加密方式接受分析絕對是無比正確的做事方法。
作為防御機制,字段級加密也有一些限制與注意事項。最重要的是,MongoDB 數據庫是所謂的 “非關系型” 數據庫,可容納各種非結構性數據,并隨數據庫增大扇出到多個服務器上。但盡管 MongoDB 提供了最流行的非關系型數據庫,所謂的 SQL 數據庫,也就是關系型數據庫,總體上卻仍更為普遍。這意味著字段級加密和其它類似的東西不會很快應用到每一個數據庫上。另外,該新功能也給跨云提供商管理不同系統的加密密鑰造成了挑戰,還讓數據庫系統執行特定類型的信息分類與查詢動作制造了麻煩——因為數據經過了混淆,是不可讀的。
盡管如此,根據 MongoDB 的研究,字段級加密是數據庫加密的重要一步——重要到該公司希望其他數據庫供應商也開始積極邁出的一步。MongoDB 產品安全主管 Kenn White 表示,該公司將在貝塔測試員及其他相關人士的幫助下突破更多限制,進一步提升字段級加密方法的可用性。重點是,該新防御方法旨在盡可能地限制對數據的訪問。這一功能就好像是將貴重物品裝進保險箱,然后再將保險箱放到上鎖的倉庫里,雙重保險。即便有人迫使倉庫提供商絞斷鎖鏈,也還有保險箱等著他們費工夫解/切開。
不過,真正意義上的安全萬靈藥是不存在的。White 稱:
如果你把保險箱連同斷線鉗和便利貼一起放到辦公室外的地板上,那好吧,我無話可說。但如果你有機密工作負載,如今你就無需信任 MongoDB 了。如果你有個放在云存儲桶中的備份——沒人能讀取加密的字段。你可以進行高度敏感的工作,同時還能防止內部人攻擊或內部數據泄露。這種情況真是好太多了。