資料儲存加密的主流方案對比與難點解析
隨著雲端計算、大資料的快速發展,政府越來越意識到網路、資料安全的重要性。相應的法律法規不斷完善,這其中包括《網路安全法》、《網路安全等級保護》、《重要資料出境安全評估指南》、《個人資訊保安規範、大資料安全標準白皮書》、《大資料服務安全能力要求》等等。作為資料安全的重要組成部分,資料儲存安全是安全的基礎之一。本文將描述資料儲存加密的主流方案並進行對比,同時針對痛點難點問題進行說明。
1. 資料儲存加密的場景方案
要對資料進行有效的儲存安全管理,可遵循如下步驟:
步驟1:分析並確定要保護的關鍵資料
資料分級從概念上講是根據資料的敏感程度和資料遭到篡改、破壞、洩露或非法利用後對受害者的影響程度,按照一定的原則和方法進行定義。另一方面也需要關注的就是法規遵從性需求。例如《資料安全法》第二十一條就規定,”國家建立資料分類分級保護制度,根據資料在經濟社會發展中的重要程度,以及一旦遭到篡改、破壞、洩露或者非法獲取、非法利用,對國家安全、公共利益或者個人、組織合法權益造成的危害程度,對資料實行分類分級保護”。下圖就是就是按資料敏感程度做的一個劃分示例:
步驟2:選擇適合技術方案和加密演算法
作為資料防護是否能夠成功實施的關鍵,企業需要在關鍵資料的安全性、保持應用系統的功能可用性,和系統可維護性方面綜合考慮,來確定適合企業需要的加密保護的技術方案。下表羅列常用加密技術及應對的安全風險。
磁碟加密
磁碟採用的塊級別加密技術,例如AWS的EBS,阿里雲的ECS等都支援磁碟加密。這種加密最大的好處在於,它對作業系統是透明的。效能在加密後較加密前有所降低,根據上層應用的不同效能下降幅度各異。
檔案加密
透過堆疊在其它檔案系統之上(如 Ext2, Ext3, ReiserFS, JFS 等),為應用程式提供透明、動態、高效和安全的加密功能。典型的是用於加密指定的目錄。需要關注的是這種加密方式可能會產生較大的效能損失。
資料庫加密-TDE
透明資料加密TDE,是資料庫提供的一種加密技術, 即對資料檔案執行實時I/O加密和解密。資料在寫入磁碟之前進行加密,從磁碟讀入記憶體時進行解密。TDE不會增加資料檔案的大小,開發人員無需更改任何應用程式。其對應 金鑰管理也是由資料庫提供的API或元件實現,應用透明。在某些場景下磁碟或系統無法對使用者開放(如雲環境)的條件下,這種方式就比較適合。
資料庫加密-三方加固
資料庫加密還有種方式是採用對資料庫進行三方加固的方式,即將第三方專業資料庫加密廠商的產品內建在資料庫之中,提供透明資料加密能力。所謂透明是指,使用者應用系統不需要做改造即可使用,且具有許可權的使用者看到的是明文資料,完全無感。此外,還可以增強原有資料庫的安全能力,如提供三權分立、脫敏展示等。
應用層加密
應用層加密,可以說是一種終極方案,其可保證在資料到達資料庫之前,就已經做了資料加密,可實時保護使用者敏感資料。這裡關鍵需要提供應用透明性,保證應用無需改造或僅需少量改造。這種方式完全由使用者自己控制,無需信任任何三方廠商提供的資料安全保障,得到充分的自由度和靈活性。例如可以跨多資料庫提供統一安全加密策略等。
步驟3:保護好資料的加密金鑰
為了保護好加密資料,不會被非法竊取,需要保護好資料的加密金鑰。避免第三方廠商或個人接觸到明文資料,最好做法就是將密文資料的金鑰控制在使用者自己手中。金鑰管理包含了金鑰的建立、儲存、生命期管理、保護。金鑰的安全性直接決定了加密資料的安全性。建議金鑰獨立儲存,並採用根金鑰保護,根金鑰受硬體加密卡保護,或者被KMS服務的密碼保護。所謂KMS金鑰管理,是透過使用者的口令保護主金鑰,口令正確主金鑰解密;主金鑰對金鑰檔案進行保護,只有主金鑰成功解密後,金鑰檔案才能使用,最後透過金鑰檔案生成可用的金鑰。
步驟4:實施必要的防資料洩漏措施
雖然採取了必要的資料加密措施,但並不能徹底解決來自應用系統環境和運維環境的安全威脅,典型的如來自應用系統的SQL隱碼攻擊、後門程式、利用資料庫漏洞的攻擊行為、第三方運維人員的誤操作等。因此需要採用資料庫防火牆這樣的資料邊界防護技術,利用其細粒度的訪問控制、防攻擊、防批次資料下載等特性,實現有效的防資料洩漏。
步驟5:監控並審計資料的訪問行為
一方面,駭客攻擊行為千變萬化,另一方面,系統的複雜性帶來的資料正常維護和管理行為往往也是不可預期的。因此,需要對重要資料的訪問行為採取持續、及時的監控和審計,形成有效的風險報告提供給使用者發現新的風險,幫助使用者更好地進行資料保護。
步驟6:利用自動脫敏防止測試環境資料洩漏
除了生產環境的資料防護外,企業內部測試環境也是一個重要資訊洩漏源,特別是需要“抽取”源端生產資料用於測試系統時;利用資料自動脫敏技術可以在有效地保護生產資料的同時,為測試環境提供可用的符合使用者預期的測試資料。
2. 資料儲存加密的若干難點
應用透明問題
在資料儲存安全的同時,如何提供如未加密前的使用體驗非常重要。這裡可總結為對應用的透明性。使用者或應用系統不需要關心繫統進行了哪些保護,可完全無感地使用資料。這樣的透明性主要體現在以下方面:
SQL 語句透明:如常規的SELECT、UPDATE、INSERT、DELETE 等語句可進行操作,應 用程式不用作修改即可擁有安全特性。
庫內計算透明:對於應用透明支援的含義還包括庫內的計算(如儲存過程和函式透明的支援等)。
開發介面透明:提供對應用開發介面的全面透明支援,包括:JDBC、ODBC等。
生態工具透明:資料庫自身及周邊生態工具仍然可以正常使用。
廠商繫結問題
如上面提到的幾種加密方式中,儲存層加密、檔案層加密會存在完全依賴於底層基礎設施廠商(或雲廠商)的問題,資料庫加密也要部分依賴於資料庫廠商或三方安全廠商;上述幾種方式都會存在廠商繫結風險。對比而言,應用層加密相對靈活度最大,可完全從使用者角度考慮加密問題,但這一方式必然存在較大投入,如何能做到應用無感是比較頭疼的問題。目前主流有透過資料中間層的方式解決,即在應用與資料庫之間構建訪問層,將資料加密、解密、脫敏等功能實現其中。對上面的應用提供標準化、透明的資料訪問介面,對下資料庫提供標準規範的安全策略,可不繫結具體產品。
接入方式問題
如前面談到的應用層加密,也許是個不錯的選擇。對應用來講,最好的透明使用方式是提供出標準的資料庫介面服務。當前主流是採用Proxy模式,可以讓應用完全無感地使用。但想做到無感,是需要從資料庫協議層面模擬模擬,但受限於商業資料庫協議的封閉,是存在一定侷限的。雖然可以透過如JDBC/Client的方式去做,但這種方式一是無法完全無感,二是會存在更新客戶端困難等問題。
效能效率問題
資料儲存安全所涉及的資料加密、解密、脫敏等,勢必會影響到應用使用效率。雖然很多產品都號稱效率很高,但這個效能瓶頸是客觀存在的。這裡首先需要的是正視效率問題,能客觀評估效率差異;此外如何能透過某些方式去擴充套件計算能力,部分解決效率低下問題也是一種思路。相對而言,採用儲存層、檔案層方式,可在一定程度上解決此問題。
清洗遷移問題
針對資料加密,存在一個存量的問題。如果是新建專案,完全可以採用全新的資料安全策略,但對於已有專案且存在資料,是需要解決資料清洗及遷移問題。針對前者,難點在於如何實現動態清洗,在系統線上的同時,應用可同步處理新舊資料,逐步完成清洗動作。清洗後的解決還需解決資料校驗等,確保清洗是準確的。針對後者,在清洗完畢後,需要做應用層面遷移,完全切換回去;這裡需解決平滑過度問題及可能出現的回退問題。針對上述難點,應用層方案,無疑是比較好可以解決此問題的。
安全計算問題
資料最終是要參與到計算中的,不能因安全需求而影響到計算。對於資料安全計算,取決於其所處的位置在何處。對於儲存層、檔案層,其位於資料庫之下,作為資料計算主體的資料庫是可不感知的,但對於資料庫層和應用層是要解決這一問題。資料經過加密後,會失去其資料特徵,這會影響到最佳化器、執行器的工作。應用層加密也是同樣的。目前存在一些密態計算技術,能在一定程度上解決這一問題。
國密演算法問題
國密演算法,即國家商用密碼演算法。是由國家密碼管理局認定和公佈的密碼演算法標準及其應用規範,其中部分密碼演算法已經成為國際標準。如SM系列密碼,SM代表商密,即商業密碼,是指用於商業的、不涉及國家秘密的密碼技術。之前很多的安全產品(特別是國外產品)是不支援國密演算法的,這點是企業在做安全策略時需考慮的問題,特別是重監管的企業。
統一管控問題
資料散落在企業各處,提供統一、全域性、細粒度的安全管控,包括複雜條件授權等是很有意義的。對於企業可採用統一的資料視角解決安全問題。目前通常的做法是基於不同資料庫自己來實現各自安全策略,對客戶不甚友好,如能統⼀處理,非常具有商業意義。針對這點,是需要站在單一產品之上,從資料使用生態標準角度去考慮。
資料加密風險
資料加密是存在風險的,可能存在加密後無法還原的風險。通常的做法是使用明文與密文並存方式解決。但由於明文的存在,必然會導致安全風險。目前針對這一問題沒有很好的解法,常規的做法就是並存+隔離、小步快跑的策略。
使用者意願問題
這是一個終極問題,由於資料儲存安全需求帶來的各種問題,勢必會影響使用者對資料的使用且會存在較大的成本投入及面臨風險。因而導致使用者整體意願不高,更多是政策層面的驅動。針對這一問題,一方面要看到資料安全已受到國家層面的關注,是必須要解決的問題;一方面透過技術上的不斷完善成熟,加速穩定落地。
來自 “ twt企業IT社群 ”, 原文作者:韓鋒;原文連結:https://mp.weixin.qq.com/s/BDYUgL09685nZYAJtOf5XQ,如有侵權,請聯絡管理員刪除。
相關文章
- 記憶體資料庫解析與主流產品對比(二)記憶體資料庫
- 記憶體資料庫解析與主流產品對比(一)記憶體資料庫
- 記憶體資料庫解析與主流產品對比(三)記憶體資料庫
- iOS全埋點解決方案-資料儲存iOS
- 大資料儲存系統對比:Ceph VS Gluster大資料
- 高頻時序資料的儲存與統計方案
- 儲存解決方案DAS、NAS與SAN比較
- VSAN儲存結構解析+儲存資料恢復案例資料恢復
- AES實現財務資料的加密解密儲存加密解密
- 雲端儲存的安全性和資料加密加密
- YottaChain芝麻雲節點--更專業加密資料儲存伺服器AI加密伺服器
- MyRocks儲存引擎資料結構解析儲存引擎資料結構
- 面向不同需求的物件儲存系統對比:Ceph與Swift物件Swift
- TIDB儲存TiKV的鍵值對資料TiDB
- 5大主流方案對比:MySQL千億級資料線上平滑擴容實戰MySql
- 海量非結構化資料儲存難題 ,杉巖資料物件儲存完美解決物件
- 資料倉儲(5)數倉Kimball與Inmon架構的對比架構
- 主流資料庫比較資料庫
- 比較 Apache Hadoop 資料儲存格式 - techwellApacheHadoop
- 儲存技術對比:NVMe與SATA孰強孰弱?
- 多語言永續性與資料儲存比較綜述
- 常見的瀏覽器端資料儲存方案瀏覽器
- 杉巖資料安全儲存解決方案
- 杉巖海量資料儲存解決方案
- 星環科技多模型資料統一儲存的大資料分散式儲存平臺方案分享模型大資料分散式
- 重新學習Mysql資料庫3:Mysql儲存引擎與資料儲存原理MySql資料庫儲存引擎
- 大資料儲存解決方案中的分離式與超融合部署大資料
- 資料儲存--檔案儲存
- 基於 SmartX 分散式儲存的 RDMA 與 TCP/IP 技術與效能對比分散式TCP
- SpringCloudGateway資料庫儲存路由資訊的擴充套件方案SpringGCCloudGateway資料庫路由套件
- 儲存結構的種類與比較
- 雲資料庫RDS儲存能力進化解析!資料庫
- 私有云對資料儲存環境的好處
- 去中心化大資料儲存的開源方案:Storj中心化大資料
- 分散式系統中的資料儲存方案實踐分散式
- 杉巖資料私有云儲存解決方案
- 物理隔離下的資料交換平臺難點解析與實踐(一)
- ORACLE PL/SQL 物件、表資料對比功能儲存過程簡單實現OracleSQL物件儲存過程