
數(shù)字化時(shí)代,數(shù)據(jù)安全與隱私泄露事件頻發(fā),同時(shí),安全事件涉及面較廣、影響力巨大,數(shù)據(jù)安全威脅問題愈發(fā)凸顯。
隨著數(shù)據(jù)安全在國家安全體系中的重要地位進(jìn)一步明確,數(shù)據(jù)安全相關(guān)法律體系也不斷在完善,如《數(shù)據(jù)安全法》《個(gè)人信息保護(hù)法》《網(wǎng)絡(luò)安全法》和《網(wǎng)絡(luò)數(shù)據(jù)安全管理?xiàng)l例(征求意見稿)》。
防范數(shù)據(jù)安全風(fēng)險(xiǎn)事件的發(fā)生、保障業(yè)務(wù)運(yùn)營以及企業(yè)自身的發(fā)展需要都成為了企業(yè)在數(shù)據(jù)安全建設(shè)中的關(guān)注焦點(diǎn)。在信通院發(fā)布的《2021 數(shù)據(jù)安全行業(yè)調(diào)研報(bào)告》中,有 97% 的受訪企業(yè)表示監(jiān)管驅(qū)動(dòng)是企業(yè)開展數(shù)據(jù)安全能力建設(shè)的主要?jiǎng)恿Α?/p>

圖片來源:信通院《2021 數(shù)據(jù)安全行業(yè)調(diào)研報(bào)告》
加密改造面臨的挑戰(zhàn)
審計(jì)合規(guī)
- 滿足合規(guī)要求
- 過程可回溯
- 密鑰可定期更換
改造成本
- 改造系統(tǒng)
- 上下游系統(tǒng)、服務(wù)集群保持一致策略
業(yè)務(wù)安全性
- 保證改造過程的平滑
- 出現(xiàn)問題可快速回滾
- 減少對系統(tǒng)的影響
性能
- 加密運(yùn)算帶來的性能損耗
- ROI 可控,滿足預(yù)算要求
常見的 6 種數(shù)據(jù)存儲(chǔ)加密方案
在整理文章的過程中查找了相關(guān)的材料,基本上會(huì)將常見的方案定義為 6 種:
- 應(yīng)用加密方案
- 數(shù)據(jù)庫加密網(wǎng)關(guān)方案
- 后置代理加密方案
- 數(shù)據(jù)庫 TDE 加密方案
- 文件加密方案
- 磁盤加密方案
1. 應(yīng)用加密方案
在應(yīng)用內(nèi)實(shí)現(xiàn)數(shù)據(jù)庫加密是一種較早的加密方案,使用靈活但實(shí)現(xiàn)難度相對較大。該方案是在業(yè)務(wù)代碼層面通過加密 API 實(shí)現(xiàn)加密需求,可根據(jù)業(yè)務(wù)特點(diǎn)進(jìn)行靈活地設(shè)計(jì),敏感數(shù)據(jù)在應(yīng)用層經(jīng)過加密后,以密文的形式入庫,檢索數(shù)據(jù)也需要在應(yīng)用內(nèi)進(jìn)行解密。
加密位置:應(yīng)用程序內(nèi)部
適用場景:適用于防超管權(quán)限、業(yè)務(wù)需要處理加密表或字段相對較少的場景。
優(yōu)勢
- 防超管權(quán)限:系統(tǒng)管理員及 DBA 無法獲取明文數(shù)據(jù);
- 無外部組件依賴:通過業(yè)務(wù)自身即可實(shí)現(xiàn)數(shù)據(jù)加密的需求,無需依賴第三方廠商支持;
- 靈活地加密設(shè)計(jì):可深度結(jié)合業(yè)務(wù)的特點(diǎn)進(jìn)行定制化業(yè)務(wù)開發(fā)。
劣勢
- 業(yè)務(wù)改造難度較大:已有系統(tǒng)無法透明移植,續(xù)升級(jí)維護(hù)實(shí)施成本高、影響面大;
- 對開發(fā)人員要求較高:要求開發(fā)人員在理解業(yè)務(wù)的遷移,還需要精通加密技術(shù)方案,如密鑰的合理使用,未來更新密鑰的方案等問題;
- 數(shù)據(jù)庫原生能力受限:同應(yīng)用內(nèi)加密方案相同,加密網(wǎng)關(guān)方案仍需面對不能對應(yīng)用完全透明的問題,復(fù)雜的數(shù)據(jù)計(jì)算無法通過數(shù)據(jù)庫原生能力來完成,如 <、>、like 和 between 等原生能力。
2. 數(shù)據(jù)庫加密網(wǎng)關(guān)方案
在部分材料中,數(shù)據(jù)庫網(wǎng)關(guān)加密也被稱為數(shù)據(jù)庫前置加密。顧名思義,該方案是在數(shù)據(jù)庫之前完成了數(shù)據(jù)加密。
與應(yīng)用內(nèi)加密方案較大的區(qū)別是,加密網(wǎng)關(guān)方案以獨(dú)立組件的形式提供加密服務(wù),它可以是 JDBC 驅(qū)動(dòng)形態(tài),也可以是代理形態(tài),研發(fā)人員不需要關(guān)注業(yè)務(wù)與加密之間的邏輯問題,更多精力可聚焦于業(yè)務(wù)的研發(fā)。
數(shù)據(jù)庫加密網(wǎng)關(guān)在對業(yè)務(wù)入侵較小的前提下,還具備靈活選擇加密算法的特點(diǎn),是一種較為通用的加密方案。若選擇了 JDBC 驅(qū)動(dòng)形態(tài),則可對任意數(shù)據(jù)庫進(jìn)行數(shù)據(jù)加密。
加密位置:業(yè)務(wù)代碼與數(shù)據(jù)庫之間,JDBC 驅(qū)動(dòng)層或代理層
適用場景:適用于防超管權(quán)限,同時(shí)業(yè)務(wù)側(cè)及數(shù)據(jù)庫側(cè)不需關(guān)注加密實(shí)現(xiàn)的場景。
優(yōu)勢
- 防超管權(quán)限:系統(tǒng)管理員及 DBA 無法獲取明文數(shù)據(jù);
- 加密粒度細(xì):可在字段級(jí)別完成加密處理;
- 入侵少:業(yè)務(wù)系統(tǒng)幾乎不改動(dòng)或者少改動(dòng)代碼,即可通過加密網(wǎng)關(guān)實(shí)現(xiàn)數(shù)據(jù)加密的需求;
- 通用性強(qiáng):驅(qū)動(dòng)+代理兩種接入端,可覆蓋大部分加密場景需求,避免重復(fù)“造輪子”。
劣勢
- 數(shù)據(jù)庫原生能力受限:同應(yīng)用內(nèi)加密方案相同,加密網(wǎng)關(guān)方案仍需面對不能對應(yīng)用完全透明的問題,復(fù)雜的數(shù)據(jù)計(jì)算無法通過數(shù)據(jù)庫原生能力來完成,如 <、>、like 和 between 等原生能力。
3. 后置代理加密方案
后置代理加密方案也被稱為外掛加密,是一種透明的加密方案。第三方工具借助數(shù)據(jù)庫原生能力實(shí)現(xiàn)加密需求,包括視圖、觸發(fā)器、擴(kuò)展索引和外部調(diào)用。通過視圖實(shí)現(xiàn)加密數(shù)據(jù)透明查詢處理、通過觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)的加密插入和更新處理、通過數(shù)據(jù)庫的擴(kuò)展索引接口實(shí)現(xiàn)加密索引、通過外部接口調(diào)用實(shí)現(xiàn)獨(dú)立于數(shù)據(jù)庫的權(quán)限控制和加密算法,對應(yīng)用完全透明。
加密位置:數(shù)據(jù)庫外層
適用場景:適用于防超管權(quán)限、對權(quán)限進(jìn)行細(xì)分、對應(yīng)用透明且檢索加密字段不多的場景,同時(shí)仍需考慮數(shù)據(jù)庫的支持情況。
優(yōu)勢:
- 獨(dú)立權(quán)限體系:具備更細(xì)粒度的權(quán)限管理,獨(dú)立權(quán)限管理體系可防止超管用戶越權(quán)檢索敏感數(shù)據(jù);
- 對應(yīng)用透明:應(yīng)用程序無需做調(diào)整,對應(yīng)用完全透明;
- 加密粒度細(xì):可在字段級(jí)別完成加密處理。
?劣勢:
- 可選產(chǎn)品較少:需產(chǎn)品開放高級(jí)接口,數(shù)據(jù)庫產(chǎn)品可選范圍較小;
- 替換數(shù)據(jù)庫難:由于該方案高度依賴數(shù)據(jù)庫的原生能力,因此未來更換數(shù)據(jù)庫較難;
- 性能損耗較高。
4. 數(shù)據(jù)庫 TDE 加密方案
TDE(Transparent Data Encryption)即透明數(shù)據(jù)加密,是一種在數(shù)據(jù)庫內(nèi)部實(shí)現(xiàn)的加密方式,顧名思義,對業(yè)務(wù)和用戶透明。數(shù)據(jù)文件中存儲(chǔ)密文數(shù)據(jù),加解密均在內(nèi)存中完成,且不會(huì)增加數(shù)據(jù)文件的大小。
加密位置:數(shù)據(jù)庫內(nèi)核層
適用場景:使用于業(yè)務(wù)程序不能做修改的場景,在數(shù)據(jù)庫產(chǎn)品能夠支持 TDE 技術(shù)的前提下,該方案可覆蓋多數(shù)加密需求的場景。
優(yōu)勢:
- 對應(yīng)用透明:應(yīng)用程序無需做調(diào)整,對應(yīng)用完全透明;
- 自動(dòng)管理密鑰:用戶無需關(guān)注密鑰管理問題。
劣勢:
- 超管權(quán)限不受限:無法有效限制系統(tǒng)管理員及 DBA;
- 加密算法受限:無法滿足有國密算法要求的場景;
- 可選產(chǎn)品較少:支持透明加密的數(shù)據(jù)庫產(chǎn)品有限。
5. 文件加密方案
在操作系統(tǒng)文件驅(qū)動(dòng)層,將數(shù)據(jù)庫的存儲(chǔ)文件經(jīng)過加密后存儲(chǔ)到磁盤上。在數(shù)據(jù)存儲(chǔ)文件被打開的時(shí)候進(jìn)行解密,在數(shù)據(jù)落地后再進(jìn)行加密,在具備基礎(chǔ)加解密能力的同時(shí),還能夠根據(jù)操作系統(tǒng)用戶或者訪問文件的進(jìn)程 ID 進(jìn)行基本的訪問權(quán)限控制。
加密位置:文件系統(tǒng)層
適用場景:適用于透明加密需求,同時(shí)對應(yīng)用進(jìn)程有綁定需求的場景,只有授權(quán)的“白名單”應(yīng)用進(jìn)程訪問文件時(shí),才能獲得明文。
優(yōu)勢:
- 對應(yīng)用透明:應(yīng)用程序無需做調(diào)整,對應(yīng)用完全透明;
- 加密粒度細(xì):可在進(jìn)程級(jí)別進(jìn)行控制。
劣勢:
- 超管權(quán)限不受限:無法有效限制系統(tǒng)管理員及 DBA;
- 加密粒度粗:無法實(shí)現(xiàn)字段級(jí)別的加密處理;
- 性能損耗較大。
6. 磁盤加密方案
指通過動(dòng)態(tài)加解密技術(shù),對磁盤或分區(qū)進(jìn)行動(dòng)態(tài)加解密的技術(shù),可通過軟件或硬件的方式進(jìn)行加密。當(dāng)數(shù)據(jù)庫訪問磁盤扇區(qū)的時(shí)候,對加密扇區(qū)再進(jìn)行解密。這種方式對于數(shù)據(jù)庫自身來說是透明的,數(shù)據(jù)庫管理系統(tǒng)也感覺不到加密解密過程的存在。
加密位置:磁盤層
適用場景:全磁盤加密技術(shù)適用于磁盤上所有數(shù)據(jù)(包括操作系統(tǒng))進(jìn)行動(dòng)態(tài)加解密的場景。
優(yōu)勢:
- 對應(yīng)用透明:應(yīng)用程序無需做調(diào)整,對應(yīng)用完全透明;
- 性能損耗低:磁盤加密技術(shù)通過操作系統(tǒng)內(nèi)核層實(shí)現(xiàn),能夠最大化減少加解密損耗。
劣勢:
- 超管權(quán)限不受限:無法有效限制系統(tǒng)管理員及 DBA;
- 加密粒度粗:無法實(shí)現(xiàn)字段級(jí)別的加密處理。
總結(jié)
為便于大家對比,下表對以上六種方案做了能力的比對。這里要特別說明的是,以下內(nèi)容均為網(wǎng)絡(luò)搜集整理,部分內(nèi)容可能會(huì)存在偏差,歡迎糾錯(cuò)。
| 硬盤加密 | 文件加密 | 數(shù)據(jù)庫 TDE 加密 |
數(shù)據(jù)庫后置加密 | 數(shù)據(jù)庫網(wǎng)關(guān) | 應(yīng)用加密 | |
|---|---|---|---|---|---|---|
| 部署位置 | 數(shù)據(jù)庫服務(wù)器 | 數(shù)據(jù)庫服務(wù)器 | 數(shù)據(jù)庫內(nèi) | 數(shù)據(jù)庫外 | 數(shù)據(jù)庫與應(yīng)用之間 | 應(yīng)用內(nèi) |
| 對業(yè)務(wù)透明 | 是 | 是 | 是 | 是 | 否 | 否 |
| 防磁盤丟失 | 是 | 是 | 是 | 是 | 是 | 是 |
| 防超管權(quán)限 | 否 | 否 | 否 | 是 | 是 | 是 |
| 加密粒度 | 硬盤/卷 | 文件 | 表空間/字段 | 字段 | 字段 | 文件/字段 |
| 復(fù)雜計(jì)算 | 支持 | 支持 | 支持 | 支持 | 部分支持 | 不支持 |
| 實(shí)施成本 | 低 | 低 | 低 | 高 | 中 | 高 |
| 性能損耗 | 低 | 中 |
低 | 高 | 中 | 低 |
| 依賴廠商 | 是 | 是 | 是 | 是 | 是 | 否 |
參考
[1] 韓鋒. 數(shù)據(jù)存儲(chǔ)加密之方案與難點(diǎn)
[2] 煉石網(wǎng)絡(luò)CG. 一文讀懂十種數(shù)據(jù)存儲(chǔ)加密技術(shù)




