威脅模型
分散式資料庫面臨兩大類威脅:自然故障 (單節點/網路失效) 依賴網路安全機制防護;人為攻擊 (竊聽、重放、偽裝、越權、破譯) 需專屬資料庫層面防禦。
五大核心安全技術
1. 雙向身分驗證
- 客戶端↔資料庫伺服器、伺服器間傳輸前必須相互驗證。
- Kerberos 協議:基於對稱密鑰體制,透過金鑰分發中心 (KDC) 發放會話金鑰。缺點:KDC 易成效能瓶頸與單點信任風險。
- 公開金鑰基礎建設 (PKI) 雙向驗證:各節點持有非對稱金鑰對 (RSA 等),私鑰自留,公開金鑰經可信管道分發。任意兩節點可互驗身分,簡化金鑰分發,適合開放網路。
2. 保密通訊通道
- 驗證成功後建立加密通道對抗竊聽/重放。
- 大量資料傳輸下,對稱加密 (如 AES、3DES) 效能遠優於非對稱加密。
- 會話金鑰協商可整合於驗證階段 (如 SSL/TLS Handshake)。
- 可由資料庫系統自行實現,或直接採用底層 SSL/TLS 協議。
3. 存取控制 (Authorization)
- 使用者不直接操作資料,請求送達存取控制模組審查,由模組代理執行。
- 自主存取控制 (DAC):管理員設定存取控制表 (ACL/ACM) 規定操作權限。
- 強制存取控制 (MAC):主體/客體打上安全等級標籤,依等級關係 (如 Bell-LaPadula) 決定存取。
- 角色基礎存取控制 (RBAC):將相似權限使用者抽象為角色,角色授權給使用者,降低管理複雜度,適合大規模分散式環境。
4. 資料庫檔案加密 (Storage Encryption)
- 防止繞過資料庫引擎直接讀取檔案 (利用 OS/網路協議漏洞)。
- 演算法選擇:
- DES:ANSI 標準,64 位金鑰,硬體實現 1Mbps。
- 公開金鑰加密體制 (RSA 等):非對稱,加密鍵公開、解密鍵私有,單向陷阱函數特性 (不可逆性未經數學證明但廣泛信任)。
- 系統需提供多種強度/速度演算法供選擇,支援加密粒度調整 (資料表/資料行/資料列),並建立加密索引支援密文快速檢索。
- 已知明文攻擊防禦:使用 CBC、CFB 等反饋模式或為每個加密物件分配獨立金鑰。
5. 密鑰管理體系
- 密碼體制強度取決於金鑰保密性,必須建立嚴格管理方案:金鑰產生、分發、儲存、更新、撤銷/銷毀。
- 核心難點:金鑰分發。公開金鑰防偽造、私鑰防洩漏,否則所有上層機制失效。
結語
分散式資料庫安全需從身分驗證、通訊加密、存取控制、儲存加密、金鑰管理五層面構建纵深防禦,並根據業務場景在安全性與效能間取得平衡。