Oracle 10g第2版新特性之SQL和PL/SQL |
發(fā)布時間: 2012/7/13 15:22:39 |
對于加密,許多用戶深感矛盾:他們既感興趣,又因意識密鑰管理的復雜性而感到慎重,如果處理不當,則會導致設置的效率低下。加密和解密值還會帶來相關的性能開銷,這使得大部分應用程序架構師不太樂于接受該過程。結果是,很多系統(tǒng)設計根本沒有加密,只是構筑了強大的外圍防護,如強大的口令和適當?shù)氖跈喾桨浮?
但是,請想象一下如果整個服務器被盜了,甚至只是磁盤被盜,這些磁盤可以裝配在具有相同操作系統(tǒng)的服務器上,然后其中的數(shù)據(jù)將被銷毀殆盡�;蛘哂幸粋€的 DBA 品行不端,在日常業(yè)務活動中惡意突破了外圍防護,然后將您所有重要的客戶信息洗劫一空。在這兩種情況下,如果所涉及的商業(yè)機構是在加利福尼亞州(可能不久之后在美國的其他州),它們在法律上有責任將安全漏洞的情況通知給所有受到影響的客戶。 在上述罕見(但確是事實)的情況中,認證方案沒有實際意義。這就是為什么對于那些將安全作為頭等大事的機構而言,透明數(shù)據(jù)加密 (TDE) 是一個如此有用的特性;它支持加密,同時將密鑰管理的復雜性交給數(shù)據(jù)庫引擎來處理。同時,它允許 DBA 在不必實際看到數(shù)據(jù)的情況下管理數(shù)據(jù)庫表。 在 Oracle 數(shù)據(jù)庫 10g 第 2 版中使用 TDE 時,可以隨時地對表中的一列或多列進行加密;只需將列定義為加密形式即可,不用編寫代碼。請記住,加密需要使用密鑰和算法對輸入值進行加密。TDE 為特定的表生成單獨的密鑰。這種方法方便了密鑰管理卻也更易被他們竊取,所以數(shù)據(jù)庫提供了另一種密鑰 — 萬能密鑰 — ,它可以在數(shù)據(jù)庫級別上設置。表密鑰是利用萬能密鑰進行加密的,要獲得表密鑰就需要這個萬能密鑰。因此,對列進行解密時需要萬能密鑰和表密鑰。 萬能密鑰存儲在數(shù)據(jù)庫外一個稱為“錢夾”的地方 — 默認位置在 $ORACLE_BASE/admin/$ORACLE_SID/wallet。在概念上,它類似于下圖。 在配置 TDE 之后 — 或者更明確地說是配置了錢夾和萬能密鑰之后 — 您可以使用它來保護數(shù)據(jù)值。要為表的一列加密,需要使用以下 SQL:
本文出自:億恩科技【www.allwellnessguide.com】 |