Two things are infinite: the universe and human stupidity; and I'm not sure about the universe ...
Albert Einstein

A computer would deserve to be called intelligent if it could deceive a human into believing that it was human ...
Alan Turing

Two things control men's nature, instinct and experience ...
Blaise Pascal

Thursday, April 06, 2006

Заштита на податоци во Oracle 10.2.0

Прво да се извинам што ме немаше толку време, но од професионалните обврски коои ги имав последниве две недели бев спречен да постирам на блогот.

Последниве две недели бев преокупиран со евалуација на неколку техники кои ги нуди Oracle за синхронизација на две бази, како и за енкрипција на податоците во една база.

Сега ќе напишам неколку збора за енкрипцијата на податоци во Oracle 10g Release 2.

Знаеме што значи заштита на податоци и секојдневно читаме и слушаме како на некоја банка и го пробиле системот, па хакерите дошле до броевите на кредитните картички на клиентите на банката.

Во САД постои регулатива која налага сите осетливи персонални податоци бидат енкриптирани.

За енкрипција на податоците Oracle нуди две можности:
1. DBMS_CRYPTO package
2. Transparent Data Replication (TDE)

Во суштина и двете техники се исти, и двете техники како краен резултат нудат енкриптиран податок.

DBMS_CRYPTO

DBMS_CRYPTO пакетот е тригер-ориентиран, што значи дека треба да постојат тригери кои ќе го енкриптираат текстот. Тоа и не е толку страшно да се изведе, но проблемите доаѓаат во делот на декрипција на податоците во случај да се имплементира пакетот во веќе готов продукт. За декрипција треба да се користат функции или процедури, но притоа треба да ги промените сите query-ја во кои што се користи енкриптираното поле. Ова може и да се изведе некако, но што ако после еден месец треба да енкриптирате ново поле? Тогаш треба повторно да ги најдете и модифицирате сите query-ја кои го содржат тоа поле.

Друг битен недостаток е тоа што DBMS_CRYPTO пакетот клучевите за енкрипција и декрипција ги чува во базата, па во случај на пробивање на базата хакерите може да ги најдат истите.

TDE

TDE е дел од Oracle Advanced Security пакетот.

За разлика од DBMS_CRYPTO, TDE клучевите за енкрипција и декрипција ги содржи во таканаречен wallet кој се наоѓа на локација надвор од базата. Привилегија да го администрираат wallet-от имаат само специјални SYSDBA корисници.

Друга голема предност на TDE во однос на DBMS_CRYPTO е тоа што Oracle користи вградени тригери за енкрипција и автоматски ги декриптира податоците. Значи нема потреба од тригери, функции, промена на код, се што треба да направите е да го сетирате wallet-от и да ги означите колоните кои сакате да бидат енкриптирани.

alter table име_на_табелата
modify име_на_колоната податочен_тип ENCRYPT

Голем недостаток на TDE е тоа што нема подршка за синхронизиран пренос на подтоци од една база кон друга, односно реплицакција. Проблемот е во тоа што LogMiner неможе, барем не засега, да препознае енкриптиран текст. Oracle Streams, Oracle Change Data Capture (CDC), Oracle Data Guard (Logical Standby), и многу други техники се базирани на LogMiner. Кога се работи за пренос на податоци TDE има подршка за Oracle Data Guard (Physical Standby), што значи ако како Disaster Recovery решение користите Data Guard (Physical Standby), нема да имате проблем. Исто така TDE има подршка за Oracle Data Pump, за експорт и импорт на податоци.

Во разговор со колегите од Oracle Corp. добивме информација дека многу компании бараат Oracle да овозможи подршка на TDE за претходно наведените продукти, и дека тие работат на тоа. Очекувањата на Oracle се подршката да биде вклучена во новата верзија 11 која очекуваат да излезе кон крајот на 2006 и почетокот на 2007 година.

И двете опции може да ги користат најпознатите алгоритми за енкрипција AES, AES192, AES256, DES, и DES3.

Незнам колку во Македонија компаниите кои што нудат продукт кој користи Oracle база, ги користат овие технологии, но знам дека голем дел од проектите кои се изработуваат енкрипцијата на податоците ја вклучуваат во самиот код, односно имаат таканаречена Апликациски-базирана енкрипција, која за жал може да има катастрофални последици.

Comments on "Заштита на податоци во Oracle 10.2.0"

 

Anonymous Anonymous said ... (10:40 PM) : 

Малку ти е паушален текстот. Прво, која е таа регулатива америчка која им наложува на фирмите да ги криптираат личните податоци? Дали мислиш на некој конкретен закон?

Друго, криптирањето на личните податоци вака делува многу симпатично, меѓутоа помисли на комбинацијата - огромни бази и стара верзија на Oracle. Фирмата во која јас работам се соочува со овој проблем веќе некое време, и сега со законот за заштита на лични податоци и други слични регулативи, веројатно конечно ќе се деси тој upgrade. Сепак не сме начисто за оваа енкрипција. Не е само до заштитата од неавторизиран пристап - personal data protection повеќе се однесува на тоа кој од авторизираните лица всушност смее да ги гледа податоците во базите (до кои пак смее да стигне). На пример, DBA нема што да гледа по customer data, до кои пак вработениот во Поддршка на корисниците треба да има целосен пристап.

Ако ме разбра некој што сакав да кажам... :-)

 

Blogger Teko said ... (11:38 PM) : 

Точно која е регулативата незнам во детали, но ќе се потрудам да најдам и да ти пратам линк, но го видов документот.
На оваа тема секој текст помал од 100 страници би бил паушален :-)

Се работи за енкрипција на електронски податоци. Кој и како ќе ги гледа, тоа е ќе си биде регулирано, битно е податоците кои се наоѓаат на електронски медиум да бидат заштитени од злоупотреба во случај истите да бидат украдени.

 

Blogger Teko said ... (11:43 PM) : 

Заборавив да ти кажам дека станува збор за Oracle 10g Release2 (10.2.0).

Верзијата 11 која, неофицијално (шуш буш) ќе излезе кон крајот на оваа година и почетокот на 2007 треба да содржи подршка за TDE со останатите технологии

 

post a comment