Szyfrowanie w bazach danych - Transparent Data Encryption

Funkcja transparentnego szyfrowania danych TDE (Transparent Data Encryption) obecna w aktualne wersje najpopularniejszych baz SQL jest mechanizmem zapewniającym przede wszystkim fizyczne bezpieczeństwo dużych zbiorów danych wrażliwych.

Konieczność szyfrowania danych wrażliwych w aplikacjach wynika nie tylko z dobrych praktyk inżynierskich, ale niejednokrotnie z przepisów prawa (ochrona danych osobowych) lub wymagań branżowych (PCI-DSS).

Rozwiązanie omawiane w tym artykule to szyfrowanie danych na poziomie silnika bazodanowego, a ściślej szyfrowanie danych przed zapisaniem ich na nośnik danych. Jest to szyfrowanie transparentne dla aplikacji, która - w odróżnieniu od szyfrowania rekordów - nie musi zarządzać samodzielnie kluczami szyfrującymi.

Zobacz również:

  • Szyfrowanie plików, a szyfrowanie dysku - jaka jest różnica?
  • Co trzecia firma w Polsce z cyberincydentem

TDE zapewnia ochronę przede wszystkim przed utratą kontroli nad dużymi zbiorami danych w przypadku kradzieży całego serwera, dysków twardych lub kopii zapasowych z danego systemu. Pamiętając o pewnych ograniczeniach TDE, mechanizm ten może stanowić tańszą alternatywę dla szyfrowania taśm z kopiami zapasowymi oraz chronić dane na serwerach działających w serwerowniach współdzielonych z innymi użytkownikami.

W przypadku Microsoft SQL Server szyfrowanie TDE jest dostępne od wersji 2008. Dane są szyfrowane kluczem symetrycznym (DEK), który jest przechowywany w zaszyfrowanej bazie ale również w postaci zaszyfrowanej. DEK jest chroniony przez certyfikat X.509, który z kolei jest zabezpieczony hasłem (<i>master key</i>). Szczegółowy opis włączenia TDE w bazie można znaleźć w MSDN w tekście Understanding Transparent Data Encryption.

Implementacja Oracle (który wprowadził TDE w wersji 10g R2) różni się znacząco pod względem używanych poleceń SQL i niewiele pod względem funkcjonalności. W przypadku Oracle klucze kryptograficzne są przechowywane w "portfelu" (<i>wallet</i>), który należy zainicjalizować przed włączeniem szyfrowania. Dostęp do "portfela" jest również chroniony za pomocą hasła. Istotną różnicą jest możliwość selektywnego włączenia TDE tylko dla wybranych kolumn za pomocą słowa kluczowego ENCRYPT w poleceniu CREATE TABLE. Więcej informacji można znaleźć na stronach Oracle poświęconych Oracle Transparent Data Encryption.

W obu implementacjach dostępne są nowoczesne algorytmy kryptograficzne AES do 256 bitów i 3DES. W obu implementacjach klucze kryptograficzne mogą być przechowywane w zewnętrznym module kryptograficznym (HSM). Włączenie TDE w Oracle wymaga wykupienia licencji Advanced Security Option. Pomimo, że TDE nie jest zaimplementowane jako funkcja w popularnych otwartych systemach bazodanowych jak PostgreSQL czy MySQL, to są dostępne rozwiązania zewnętrzne realizujące podobne funkcje - ezNCrypt (MySQL) oraz eCryptfs(uniwersalny).

Przy wszystkich zaletach TDE należy pamiętać o jego ograniczeniach - włamywacz mający nieograniczoną kontrolę nad działającym systemem może przy pewnym wysiłku odzyskać klucze szyfrujące lub zrzucić zawartość tablic do niezaszyfrowanej kopii przejmując "zalogowaną" do bazy aplikację. Praktycznym ograniczeniem może być także fakt, że zaszyfrowane pliki z danymi praktycznie nie podlegają kompresji, co ogranicza dostępną pojemność taśm.

Alternatywami dla TDE może być szyfrowanie na poziomie całego systemu operacyjnego FDE - Full Disk Encryption, realizowane za pomocą natywnych mechanizmów wbudowanych w system operacyjny takich jak BitLocker (Windows) czy dmcrypt (Linux) lub zewnętrznych, jak TrueCrypt czy CompuSec, SafeBoot i SafeGuard (wszystkie dla Windows). W środowiskach korporacyjnych, gdzie poza samą bazą danych kopia zapasowa może zawierać znacznie więcej wrażliwych informacji lepiej może się sprawdzić szyfrowanie całej kopii zapasowych LTO-4.

Niezależnie od stosowanego mechanizmu szyfrowania niezwykle istotne jest stworzenie i przechowywanie w bezpiecznym miejscu kluczy pozwalających na odtworzenie zaszyfrowanej bazy.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200