GSS資安電子報0057期【資料庫加密解決方案白皮書:評估儲存(Storage) vs.欄位(column)等級之加密方式】

alt

摘要alt

本白皮書的目的,是要讓企業更了解儲存(Storage)和欄位(column)等級的加密,使企業可以做出最好的決定。

簡介

今日,企業面臨愈來愈多機密資料竊取的攻擊。當企業對抗這些威脅的同時,也需要確保能夠符合國內法律和合作廠商的規範。他們常常需要加密資料庫和應用程式。在這麼做的同時,企業需要在市場上選取最符合他們的安全需求、適法性和商業需求的解決方案。

現今所有的資料庫都使用結構化的格式來寫入檔案系統。於是,對於加密資料庫的其中一個解決方式就是:將整個儲存系統加密。資料庫等級加密適合用來加密大量不同的資料,例如記錄檔案、文件和其他機密資料。但是這個方法卻很少實現,其原因為企業的資料庫中有太頻繁的讀取和寫入行為。

另一個解決方案為粒狀法(granular),欄位等級加密,亦即只加密資料庫中的特定欄位。儘管這個方法很有彈性也很安全,但是在實作的時候有許多需要額外考慮的因素。

本白皮書的宗旨,是要讓企業更了解儲存和欄位等級的加密。使企業可以做出最好的決定。當企業在考慮資料庫加密時需要考慮幾個關鍵因素才能解決問題,這些因素如下:

  1. 加密-在加密資料庫環境時,哪一種解決方案是最有效的?
  2. 效能-在市場許多解決方案中,有哪些會影響資料庫加密的效能?
  3. ETL,備份和複製的需要-當資料庫進行備份、複製和讀取時,如何才能達到最佳的保護?
  4. 認證、授權和稽核-哪個解決方案提供最有效的授權和稽核能力?
  5. 金鑰管理和安全-什麼是管理和儲存加密金鑰的最佳方式?

了解以上五點,可以幫助企業做出最佳決定。

一、加密

當加密資料庫中機密資料時,必須考慮欄位等級加密和資料庫等級加密。資料庫等級加密作用在所有被寫入資料庫的資料,提供有限的存取控制和稽核能力。欄位等級加密提供多層次的存取控制、稽核,以及對資料庫特定欄位使用個別方法的能力。

一般來說,在資料庫中只有小部分的資料需要被加密。像是個人資料,信用卡號碼和身分證字號等等。所以,為了大部分不需要加密的資料進行加密、儲存和其他動作是不適合的。資料庫等級加密會加密所有資料,無論他是否為機密資料。這會浪費許多時間在針對非機密資料的加、解密。

相對的,欄位等級加密只影響機密資料,因此效能不會被管理非機密欄位的時間拖累。存取非機密欄位時就透過一般的資料庫查詢來取得資料。當存取機密欄位時,使用一樣的資料庫查詢,只不過取出的是加密資料,再根據權限來解密。

另外,藉由使用View/Triger,欄位等級加密對於應用程式是全透明的。當架構需要改變時,大部分在市面上的欄位等級解決方案已經使這些自動化變更,並通常可以推出一個中央管理介面。

二、效能

IT解決方案的效能是非常重要的,當然資料庫加密也不例外。伴隨現今商業高度的資料處理,必須實現IT系統的機密資料加密。密碼學毫無疑問的是相當耗資源的。因此,企業需要藉由只加密機密資料來減少加密所造成的負擔。為何要為了非機密文件增加系統的負擔呢?

儘管加密整個資料庫具有簡單實作的優勢,在儲存層加密整個資料庫時還是需要考慮幾個重要的因素。企業中的資料庫一般都是龐大且天天都在成長的。對整個資料庫加密需要加密運算式在每一次的資料存取時運作,也許對於小的資料庫還算管用。但是對於大企業的大資料庫來說,管理這些因為加密所帶來的負擔是無法接受的。資料庫在存取資料時一般都是透過本機的檔案系統,在實作儲存層加密時,這將導致資料區間(通常是4Kb)在每一次SELECT語法被執行時進行解密的動作。當實作儲存級加密時,每一次讀/寫都需要進行加密/解密的動作,這會對企業的資料庫造成極大的影響。

欄位級加密只對特定被認為是機密的欄位加密。例如,當客戶想要加密信用卡卡號時,CC_NUM欄位將被加密。於是,當有SELECT語法要存取該客戶信用卡卡號時,就必須先對16bytes的資料進行解密後才能拿到正確的資料。反觀如果使用儲存等級加密系統的話,就必須解密250倍大的資料(假設資料區間為4Kb,而信用卡卡號為16byte的資料)。

此外,在欄位等級加密系統中,如果要存取的資料並非機密的,就無需進行加/解密動作,如此就不會影響到資料庫本身的效能。欄位等級加密在實作上的確是會遇到許多挑戰。在市面上有許多解決方案,解決方法大部分都是確保在一次資料庫查詢中不會掃描整個資料表。

三、批次/ETL 備份和資料庫複製

客戶常常需要在不同環境中轉移資料。例如,把原本儲存於Oracle系統中的信用卡資料匯出成一般檔案,再匯入SQL伺服器資料庫中。以上的動作如果在儲存級加密系統中執行,使用者一定要將所有信用卡卡號解密才能轉換成一般檔案。在匯入SQL資料庫之前又要把所有資料再次加密才能寫入。

然而,在使用欄位級加密系統時,使用者可以直接匯出加密資料成為一般加密檔案,再將這個檔案直接匯入SQL資料庫。這麼做有兩項優點:不必進行額外的加/解密動作;以及不會像在儲存級加密系統中,資料有可能處於不受保護的情況。簡單的說,使用欄位級加密系統的企業可以輕鬆管理,並最小化所有跟加/解密相關動作所帶來的負擔。在考慮備份、複製、和資料匯出時,儲存級加密系統也會帶來一些問題。當密碼系統實作在儲存級時,存取資料前永遠需要進行解密。無論是將資料寫進備份檔案、複製進其他資料庫、或是匯出成一般檔案,都必須在取得資料前進行解密,在寫入之前又必須再加密一次。另一點需要考慮的重要因素是:資料的目的地也許非資料庫系統,可能無法支援加密過後的檔案格式。在商業行為中,匯入/匯出資料時因為加/解密所造成的額外負擔是無法被接受的。而機密文件有可能在匯入/匯出時不受保護,這也會造成安全問題。難道信用卡資料不應該只在金錢交易時被解密嗎?

四、認證、授權和稽核

加密機密資料只是資料隱私的一部分,如果沒有適當的認證、授權和稽核方法就無法達到完善的安全保護。在終端使用者可以直接存取檔案和資料時,儲存級加密和稽核是相當有效的。很不幸的,在資料庫尚無法這麼做。終端使用者在存取資料庫時,不是透過應用程式就是透過資料庫查詢工具,並透過特定的ID或帳號。儲存級加密只能控制和稽核在資料庫以及儲存系統間傳輸的資料,無法針對時常在存取資料庫的終端使用者。

alt

  1. 資料加密金鑰絕對不會離開安全設備。因為能集中管理金鑰和政策,才能提供更高的安全防護。
  2. 只加密機密資料。避免加密佔大多數卻非機密的資料,減少負擔。
  3. 由於資料的存取和稽核是被欄位級加密保護的,所以存取限制和稽核都可以落實在任何一個欄位。

儲存級加密無法滿足資料庫的安全需求,而欄位級加密能使安全控制更上一層樓。藉由實作欄位等級的認證、授權和稽核功能,我們得以大幅的提高安全性。存取資料的認證程序得以更詳細。例如:兩個使用者都能對同一個資料表進行SELECT,但只有其中一位可以解密資料表中被加密的欄位。稽核得以做得更徹底,可以記錄所有跟機密資料有關的行為。根據以上的討論,企業可以得知有多少信用卡資料被解密、被那些人解密、從那些資料表中進行存取,以及解密的時間。

進階的認證政策可以透過限制頻率和時間的方式來保護資料。欄位級加密允許監控資料庫使用者的活動情形,如果某個使用者有權限解密身份證號碼,你可不會希望他離開的時候忘記將解密過的身份證號碼再次加密。欄位級加密使企業可以實作全面的資料安全隱私解決方案,超越以往只用加密的保護方式,透過控制、監控、回報和智慧管理來保護您的機密資料。

五、金鑰管理

如何管理加/解密金鑰一向都是很重要的議題。在考慮到存取、管理、備份、還原金鑰和儲存金鑰位置以及維持金鑰完整性時,都需要更加謹慎。如今大部分的儲存級加密系統都使用集中的金鑰管理,所有資料(機密或非機密)都在同一個地方加/解密。在比較先進的欄位級加密系統中,金鑰永遠存在安全的硬體系統中,而資料只有在需要加/解密時才會被送到這裡。這使得安全管理人員可以設計出更好的金鑰政策,創造出真實的安全界線,使跟安全資料無關的交易可以獨立執行。這也使企業可以將責任劃分的更確實,例如安全管理者可以管理金鑰、使用者、群組和安全政策,而資料庫管理者則可以把加/解密的動作視為一種服務。

alt

  1. 所有資料或是檔案在寫入儲存系統前,都須先經過一個儲存加密解決方案。
  2. 金鑰儲存於加密應用程式中。
  3. 資料在讀取前都一定要經過加/解密的動作,機密資料可能位於不同地點,使得此系統必須對所有資訊進行加/解密。上述的情形會在存取非機密資料時造成系統的負擔。
  4. 稽核和存取管理無法落實到欄位等級,也無法對抗邏輯資料庫攻擊。

結論

如今,企業迫切的想知道他們正面臨哪些威脅,以及相對應採取的方式。儲存級加密可以大量的抵擋資料竊盜和遺失;欄位級加密則可以抵擋資料竊盜和更多樣性的邏輯威脅。企業在保護本身資料同時,必須同時考慮使用何種加/解密方式、對效能的影響、AAA和金鑰管理,以及對批次執行的影響。以上的考量加上最好的金鑰管理,將使企業能在自己所建立的環境中,有效的保護自己的機密資料。

關於SafeNet

2007年,SafeNet被Vector Capital以二十億美金收購,專門從事技術工作。Vector Capital於2009年收購Aladdin並和SafeNet共同管理。這幾家頂尖公司合併之後成為了世界第三大的資訊安全公司,提供客戶整合後的產品,以解決日益增加的安全問題。SafeNet的加密技術用以保護通訊傳輸,知識產權和數位認證用來幫助企業和政府機關。Aladdin的軟體保護、認證和授權解決方案可以保護企業資產,避免員工侵犯隱私和詐騙。SafeNet和Aladdin在全世界100多個國家擁有超過50年的資訊安全經驗。在未來,Aladdin將完全融入SafeNet。如果想了解更多消息,請上www.safenet-inc.com