觀點

【加密篇】資料庫安全佈署策略

2013 / 07 / 19
張德維
【加密篇】資料庫安全佈署策略

由於資料外洩與駭客攻擊事件層出不窮,政府與企業均積極評估如何運用資料 (庫) 加密技術針對機敏或價值資料提供完善的保護,並符合遵循法規及管理需求。市面上有各種不同的資料加密解決方案可供政府單位與企業組織評估與考量,而多數加密技術也有其所謂「適用環境」的技術限制。當適用環境限制和功能特性組合種類繁多時,決策者往往容易迷失在評估所謂適合組織「資訊作業環境加密應用」的瑣碎細節中。

企業組織可以選擇合適的加密技術以保護資料,而每一種加密技術都各有其優缺點及限制,以現今常見的解決方案來說,多半以集中式管理加密原則輔以加密金鑰,以達到保護異質資料 (庫),並符合稽核及遵循法規等要求,同時也可將作業成本減至最低。有鑑於各式各樣的加密技術與層級,本文將說明現今常見保護資料各式技術,並瞭解各項技術特性及其適用的資訊範圍,期能提供企業在評估各種資料加密解決方案的過程中,了解真正適用於單位資訊環境的最佳資料加密防護佈署策略。

當選擇資料加密方案是否適合企業需求前,可先考慮以下幾個基本問題。這些問題在你評估不同的技術方法時,可協助進行決策:

  • 要保護何種類型的資料?
  • 要保護資料避免受到何種威脅?
  • 可以容許哪些應用程式和基礎架構,因資料保護技術導入而必須進行的異動與變更?
  • 主要的管理期望為何?

這些問題的答案,可以引導決定最符合企業資料安全需求的加密技術類型。

常見的資料 (庫) 加密保護技術
目前市面上提供的加密保護技術,大致可區分為二大類。一類為專屬平台 (Platform Specific),而另一類則是採所謂透通 (Transparent) 方式,運作於應用程式和資料庫。分別說明如下:
1、專屬平台加密,是指專為特定環境設計,必須特別管理的加密技術。常見的方案包括應用程式層級加密、憑證加密、資料庫欄位層級加密,以及保留格式加密。
2、透通式加密方法包括資料庫透通資料加密、檔案層級透通資料加密,以及儲存設備層級加密。
針對上述資料加密的技術方法,以下將逐項說明每一種方法的優勢和挑戰。

1.應用程式層級的加密 (Application-level Encryption)
應用程式層級的加密技術為使用軟體開發工具,在資料儲存於資料庫或儲存設備之前,先在應用程式中對資料進行加密動作。應用程式層級的加密動作,會在資料於程式中處理時,即開始對資料進行保護,並在資料存放於儲存環境之前,持續將資料保持在加密狀態。由於資料已完整加密,若使用者需要部份資料欄位予以加密時,必須透過自訂的程式碼開發,才能針對個別的程式資料欄位予以加密。因為資料傳遞至資料庫時已經加密,所以,應用程式層級的加密能有效矇蔽資料庫管理者(Database Administrator,DBA),避免讓DBA閱覽已加密保護的資料。應用程式層級的加密通常需要擁有應用程式的程式碼,而且無法套用至現行的商業應用程式,例如 SAP或 Oracle Financials。

2.憑證加密 (Tokenization)
憑證加密是以特有識別符號類似代理 (Proxy) 方式,取代原始資料的處理方式。這個方法是將原始資料予以強化並加密處理後的狀態保留在主要資料庫中,並能持續追蹤與原始資料相符的憑證。憑證加密的方法會將組織需要管理的機敏資料量減至最少,通常適用於單一資料欄或欄位 (例如信用卡號碼、身份證號碼) 保護的資訊環境。藉由轉換所有憑證 (Token) ,大部分的資料安全防護都能集中在一個容易管理的系統環境,且管理者可自行將內部環境資料交換應用予以憑證加密。就筆者所遇的實際案例當中,組織為適應憑證加密方案,可能需要在應用環境中進行一些自訂編碼的工作;另外,憑證加密也無法輕易應用於多種資料類型的環境。

3.資料庫欄位層級加密 (Database Column-level Encryption)
資料庫欄位層級加密是由資料庫模組所組成,這些資料庫模組可以利用檢視器 (Viewers)、觸發 (Triggers) 程序、預儲程序 (Stored Procedure) 及外部功能,針對特定資料庫欄位中的結構化資料進行加密。Microsoft應用在 SQL Server 中的加密技術,稱為「Cell-level Encryption」。對某些資料庫廠商而言,資料庫欄位加密已經是必要功能之一,目前各主要資料庫廠商多半能針對資料表格空間層級 (Tablespace-level) ,提供透通式的加密方案;其中有部份資料庫廠商則是將資料表格空間層級加密,定位為優於資料庫欄位的資料加密解決方式。

雖然資料庫欄位加密普遍被認定是較為有效的方法,但仍然有其缺點。從許多層面來看,在資料庫內部進行加密會對效能造成影響,例如,加密資料欄位中的索引功能在資料庫內部進行加密之後,反而造成效能瓶頸,因此當進行索引範圍掃描 (Index Range Scan) 時,因資料庫索引功能被欄位加密防護,反而影響資料庫效能。資料庫欄位加密還有另一項挑戰,即認證的使用者,例如DBA,只要具有足夠的權限,就能檢視加密資料並管理加密工作。

4.保留格式加密 (Format Preserving Encryption,FPE)
保留格式加密也稱為資料類型保留加密 (Data Type Preserving Encryption),這種方法將取代並維持和原始加密資料相同的資料大小及格式,無須變更系統(例如資料庫結構、查詢、應用程式等)。FPE會儘量避免修改資料庫或資料類型等動作,以容納更多的加密資料需求 (因密碼文字佔用的空間比純文字多)。FPE或許能避免修改應用程式的程式碼,但卻要求使用者持續新增及維持 FPE 應用程式的程式碼。如果您的環境使用應用程式超過一種以上,FPE 方案即會變得相當複雜;另外,因為各系統都能存取解密金鑰和解密資料,管理者可能會面臨資訊安全上的挑戰。FPE方案不適用於非結構化資料,例如試算表、報告,或資料倉儲中Extract-Transform-Load (ETL) 的檔案。

5.資料庫透通資料加密 (Database Transparent Data Encryption,TDE)
由資料庫廠商提供的透通資料加密,可經由資料庫引擎中的功能,對資料表格空間或資料欄位進行加密。因為不會對資料庫管理者有所「隱藏」,資料庫管理者可以任意存取未加密資料,因此必須搭配協力廠商工具,例如資料庫行為監控 (DAM)系統,以監視資料庫使用情形。TDE 方案僅限於資料庫中的結構化資料,不能用於保護資料庫外的非結構化資料。若是企業組織評估採用資料庫內建 TDE 方案,則適用於單一廠牌的資料庫環境。因此,當您的環境中,具有多個廠牌的資料庫時,採用資料庫內建 TDE 方案,可能需要投入較多成本以部署多個異質資料庫 TDE 解決方案。

資料庫制定使用權限範例 (以Oracle Tablespace為例)6.檔案層級透通資料加密 (File-level Transparent Data Encryption)
檔案層級加密是針對作業系統中所謂檔案層級 (File-level) 的資料進行加密。這種加密方法可用來加密資料庫內的結構化資料,以及資料庫外的非結構化資料。檔案層級加密不限於任何應用程式和資料庫,能選擇性地提供存取控制,以釐清不同角色的職責 (如 DBA人員、作業系統管理員、應用程式開發人員等)。檔案層級的加密可延伸至各種作業系統環境,並具備可擴充的彈性,以保護多種資料類型、資料庫和應用程式。這種方法與資料庫 TDE 類似,DBA 人員同樣可以看到受保護的資料,因而也需要搭配DAM系統,以加強監視資料庫使用情形。




7.檔案系統加密 (Encrypting File System )
檔案系統加密是 Microsoft Windows 內建的加密檔案系統(EFS)。EFS 是 Windows 2000、Windows XP Professional 和 Windows Server 2003 所使用的 NTFS 系統檔案格式元件之一。EFS 的防護權限和本機系統管理員帳戶或其相關管理運作的帳號相同,所以,若是是因惡意程式入侵主機帳號密碼遭到破解,導致與這些帳號相關的密碼外洩,將使 EFS 所保護的檔案,承受與未加密檔案相同的風險。EFS 是僅限於 NTFS 格式的支援項目,而且只能用於 Microsoft 環境。當您將檔案複製到網路磁碟機或外接式媒體,例如隨身碟 (通常是 FAT32 格式) 時,這些檔案即不再受到加密保護。預設的 EFS 提供極有限的保護,但仍可透過群組原則 (Group Policy),調整為更強大的保護方法。這種集中管理適用於 Vista 或 Windows 7 環境。

8.儲存交換器加密 (Storage Switch Encryption)
儲存交換器加密是指使用儲存網路交換器,對寫入儲存裝置的資料進行加密。可避免因儲存媒體遭竊或意外遺失,導致所儲存資料遺失的可能性。儲存交換器加密雖不限於任何種類的應用程式、資料庫和存取資料的伺服器,卻僅限於儲存基礎架構如: 儲域網路(SAN),但不適用於網路儲存(NAS)架構。

9.內建式儲存加密 (In-line Storage Encryption)
內建式儲存加密是指使用內建的儲存硬體技術,對寫入NAS裝置或SAN的資料進行加密。內建式儲存加密和儲存交換器加密一樣,通常可避免因儲存媒體遭竊或意外遺失,導致所儲存資料遺失的可能性。儲存加密雖然不限於任何應用程式、資料庫和存取資料的伺服器,但卻需要修改儲存基礎架構,以及提供多個資料路徑,以避免發生單點故障。

10.磁碟儲存加密 (Disk base Storage Encryption)
以磁碟為基礎的儲存加密,是指透過符合 Opal 標準 (由 Trusted Computing Group 所建立) 加密功能的自動加密磁碟機 (Self-Encrypting Disk drives,SEDs),可自動針對磁碟中的資料進行儲存加密。SED 方案通常適用於行動式設備如: 筆記型電腦,較少用於組織資料中心的環境。這種方法可因避免裝置遺失而造成的資料外洩,但不提供其他技術方法所具備的權責或稽核功能,而且通常需要額外添購搭配 SED 認證管理的機制。

11.雲端資料加密 (Cloud Data Encryption)
由於雲端環境與部署策略多元化,非本文涵蓋討論範圍,僅提出一項重點。雲端資料加密的重要變數之一,是加密金鑰管理基礎架構的管理制度。雲端加密環境中的加密金鑰管理,可選擇由資料中心、雲端服務提供商來執行,或是經由所謂軟體即服務 (SaaS) 金鑰管理入口網站來管理。企業組織必須權衡自身的風險容忍度和稽核關切點,以確定雲端加密金鑰管理的最佳方法。

資料加密解決方案的評估5重點
綜合以上技術方法,組織評估導入資料加密的解決方案時,除了經實證的加密與金鑰管理機制,其具備未來可擴充性及管理性,將使資料加密解決方案不僅能順利導入,亦能符合法規遵循的需求。完善的資料加密方案,需可針對任何檔案和 (或) 磁碟區層級的資料進行加密,以保護資料。除了保護資料庫 (需不限任何廠商) 資訊安全以外,也能在無須變更應用程式或 IT 作業的情況下,保護資料庫外的非結構化資料,所以,組織必須評估選擇同時能保護實體、虛擬和雲端環境中的資料,避免對應用程式、資料庫或儲存基礎架構進行任何變更,唯有如此,才能讓各單位組織在無須修改現有應用程式或資料的情況下,妥善管理機敏資料,同時提升作業效率。以下提供5項評估重點:

1、降低管理和作業成本 : 保護結構化和非結構化資料,以符合嚴格的稽核及法規遵循的需求,期能對機密資料提供全面的保護。在面對稽核活動時,存放於資料庫的資料雖然會引起注意,但是對負責驗證安全性的稽核員來說,從資料庫擷取出來的資料亦相同重要。評估資料加密解決方案時,其功能需同時保護實體、虛擬和雲端環境的資料,並需考量是否支援保護異質系統如: Linux、UNIX 和 Windows 系統所存取的結構化和非結構化資料。
2、金鑰管理: 相較於 TDE 或資料欄位層級加密,完善的資料加密解決方案必須減少與降低採用協力廠商金鑰管理軟體的授權數量及管理成本。利用單一金鑰和原則管理主控台,對加密金鑰提供安全、簡易的管理方式,進而將管理費用降至最低。
3、除了提供金鑰管理之外,企業必須評估資料加密解決方案當中,針對受保護資料的存取要求,以及對原則和金鑰的變更,是否提供詳細可設定的稽核與報告內容、系統的稽核管理可否縮小稽核範圍、與現有的安全資訊及事件管理 (SIEM) 解決方案整合等。當然,在隱私和機密資訊的處理及保護方面,需要完全符合產業及相關法令規範。
4、效能絕對是此類解決方案的評估項目之一,良好的資料加密解決方案廠商所提供的性能測試顯示,相較於 TDE 及其它加密方法,絕對要呈現更優異的效能比較結果。評估重點可以針對檔案系統或磁碟管理員身份執行作業,觀察其軟(硬)體執行加密和解密作業時,效能負荷的變化。另外,相關加密演算法如: AES 運作時,觀察在作業系統或檔案處理時,對 CPU 的處理效能影響曲線,以評估最理想的系統效能。

5、IT 基礎架構和安全防護正以飛快的速度變化,而全新的應用程式和不斷要求強化的法規遵循要求,也源源不絕地產生。另外,組織也開始大量採用虛擬化,並思考該在雲端部署哪些應用程式。為使 IT 投資達到最大的投資報酬率,現今用來保護單一資料庫的解決方案,必須能在未來擴大保護不同廠商的資料庫,或是海量資料(Big Data),組織需思考能隨著需求改變而持續發展的資料安全解決方案,無論是各主流作業系統的實體、虛擬和雲端環境,機密資料存放在哪裡,都能提供完善的安全保護。

結論
資訊基礎架構中的資料是組織業務運行的命脈,用來保護機密資訊安全的理想解決方案,必須能適用於結構化和非結構化資料的作業環境,並將金鑰管理負擔 (例如在複雜的異質環境中管理加密金鑰) 減至最輕,即可大幅提升作業效率,並提供強大的安全性。政府機關與企業組織在評估資料加密方案之前,必須進行審慎的內部資訊評估,以確保未來可隨著業務需求的擴展,將發揮最大的彈性與效益的資料加密解決方案。

本文作者任職系統整合商資深產品經理,具CISSP、PMP、BS7799LA、ITIL等證照。