开发学院数据库Oracle 使用Oracle的TDE特性加密 阅读

使用Oracle的TDE特性加密

 2010-01-27 16:10:55 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閹绘帞鈧參姊哄Ч鍥х仼闁诲繑鑹鹃悾鐑藉蓟閵夛妇鍘甸梺瑙勵問閸犳牠銆傛總鍛婄厱閹艰揪绱曟牎闂侀潧娲ょ€氫即鐛幒妤€绠f繝闈涘暙娴滈箖鏌i姀鈶跺湱澹曟繝姘厵闁绘劦鍓氶悘杈ㄤ繆閹绘帞澧涚紒缁樼洴瀹曞崬螖閸愬啠鍓濈换娑樼暆婵犱胶鏁栫紓浣介哺閹瑰洤鐣烽幒鎴僵闁瑰吀鐒﹂悗鎼佹⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩缁狀垶鏌涢幇闈涙灈鐎瑰憡绻冮妵鍕箻鐎靛摜鐣奸梺纭咁潐濞茬喎顫忕紒妯肩懝闁逞屽墮宀h儻顦查悡銈夋煏閸繃鍋繛宸簻鎯熼梺瀹犳〃閼冲爼宕濋敃鈧—鍐Χ閸℃鐟愰梺鐓庡暱閻栧ジ宕烘繝鍥у嵆闁靛骏绱曢崢顏堟⒑閹肩偛鍔楅柡鍛⊕缁傛帟顦寸紒杈ㄥ笚濞煎繘鍩℃担閿嬵潟闂備浇妗ㄩ悞锕傚箲閸ヮ剙鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹  闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳氨绱撻崒娆掑厡缂侇噮鍨堕妴鍐川閺夋垹鍘洪悗骞垮劚椤︻垶宕¢幎鑺ョ厪闊洦娲栨牎闂佽瀵掗崜鐔奉潖閾忓湱纾兼俊顖氭惈椤矂姊虹拠鑼婵ǜ鍔戦崺鈧い鎺嶇閸ゎ剟鏌涢幘璺烘瀻妞ゎ偄绻愮叅妞ゅ繐瀚悗顓烆渻閵堝棙绀€闁瑰啿閰e畷婊勫鐎涙ǚ鎷洪梻渚囧亞閸嬫盯鎳熼娑欐珷妞ゆ柨澧界壕鐓庮熆鐠虹尨鍔熺紒澶庢閳ь剚顔栭崰鏍€﹂柨瀣╃箚婵繂鐭堝Σ鐑芥⒑缁嬫鍎愰柟鐟版搐铻為柛鎰╁妷濡插牊绻涢崱妤冪婵炲牊锕㈠缁樻媴妞嬪簼瑕嗙紓鍌氱М閸嬫挻绻涚€涙ḿ鐭ら柛鎾跺枛瀹曟椽鍩€椤掍降浜滈柟鐑樺灥閳ь剙缍婂鎶筋敆閸曨剛鍘遍柣搴秵娴滅兘鐓鍌楀亾鐟欏嫭纾婚柛妤€鍟块锝夊磹閻曚焦鞋闂備礁鎼Λ瀵哥不閹捐钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�
核心提示:使用作为Oracle高级安全选件(版本 10.2 及更高版本)的一部分引入的Oracle数据库透明数据加密(TDE),可以有选择地对保留在数据库底层数据文件中的敏感数据库数据以及所有下游文件组件(如联机重做日志、归档重做日志和数据库备份)进行加密,使用Oracle的TDE特性加密,TDE 的基本目标是保护在这些原始操作

使用作为Oracle高级安全选件(版本 10.2 及更高版本)的一部分引入的Oracle数据库透明数据加密(TDE),可以有选择地对保留在数据库底层数据文件中的敏感数据库数据以及所有下游文件组件(如联机重做日志、归档重做日志和数据库备份)进行加密。TDE 的基本目标是保护在这些原始操作系统文件中发现的敏感数据,防止不怀好意的人访问磁盘或备份磁带时对这些数据进行窥探,然后尝试还原数据库或扫描原始操作系统文件中的数据,如个人可识别信息或信用卡信息。

作为我的咨询惯例的一部分,我已经实施 TDE 多次。但是,在其中一个最近的合约之前,我一直使用 TDE 对现有表中的新列或属于全新表的列进行加密。在这两种情况下使用 TDE 非常简单,因为目标列为空,因此由于缺乏数据和现有应用程序相关性而不会涉及较大的风险。

我最近实施 TDE 的体验有所不同。我帮助一家大型公司对一个已超过一百万行的表中的现有列进行加密。还有一个依赖于列的关键任务应用程序,因此,您可以设想一下,在开始工作之前有很多重要的事情要考虑。在 Internet 上搜索可提供经验的类似情形之后,我发现只有几个优秀的资源可以帮助我。

本文概述了我在通过使用 TDE 对现有数据进行加密的过程中总结出的经验教训。如果您尝试对现有列数据使用 TDE,我希望此处提供的信息可帮助您迅速有效地开展类似工作。

确定可能的限制

研究客户的系统时,我做的第一件事情就是查找与目标列有关的将禁止我们对列加密的数据模型特征,或者查找可能对现有操作产生负面影响的有关列的事项。该研究包括查找列索引和完整性约束。

正如Oracle文档明确声明,当您想对具有索引的某个列进行加密时,需要了解很多限制条件。Oracle 不允许对具有位图索引的列进行加密,这与我们的情况没有密切关系。但是,目标列具有多个普通的(B 树)索引。尽管Oracle允许对具有普通索引的列进行加密,但是Oracle禁止对索引列进行“salt 处理”加密。Salt 处理通过在加密之前向数据添加随机字符串来提高重复数据的安全性,因此窃贼使用模式匹配识别技术更加难于破解加密的数据。总而言之,经过这个最初的分析之后,我们会遇到一种情况,那就是我们可以对列进行加密,但不能进行 salt 处理。

对列索引进行分析后,我本可以到此为止,但是我想回答的下一个问题是“使用这些索引合适吗?”我的思考过程是这样:如果索引没有用,那么我会将其删除,从而减少维护索引条目所必需的系统开销,尤其是考虑到加密的额外负担。要判断索引是否有用,我使用Oracle数据库的索引监视特性。我发现,实际上索引正处于使用当中,因此我们必须对其继续进行维护。

接下来,我查看了引用完整性约束条件中是否涉及目标列。由于每个表都具有其自己的加密密钥,因此Oracle不允许您使用 TDE 对外键关系中涉及的列进行加密。在我们的情况下,引用完整性约束条件中未涉及目标列。

1 2 3 4 5 6  下一页

Tags:使用 Oracle TDE

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接