Funkcja transparentnego szyfrowania danych TDE (Transparent Data Encryption) to pakiet instalacyjny (patch) CYBERTEC do PostgreSQL. Jest to obecnie jedyna implementacja, która w pełni obsługuje przezroczyste i bezpieczne kryptograficznie szyfrowanie na poziomie danych (klastrów), niezależnie od szyfrowania systemu operacyjnego lub systemu plików.

Jak działa transparentne szyfrowanie danych?

Ideą poprawki jest bezpieczne przechowywanie wszystkich plików, tworzących klaster PostgreSQL na dysku w formacie zaszyfrowanym (szyfrowanie danych w spoczynku), a następnie odszyfrowywanie bloków podczas ich odczytywania z dysku. Dane są jednak niezaszyfrowane w pamięci. Wymaga to tylko zainicjowania bazy danych z myślą o szyfrowaniu oraz aby klucz użyty do zainicjowania bazy danych był dostępny dla serwera podczas uruchamiania. Klucz szyfrowania można przekazać za pomocą specjalnego parametru konfiguracyjnego, określającego niestandardowe polecenie konfiguracji klucza do implementacji specjalnych wymagań bezpieczeństwa.

Każda osoba zainteresowana włączeniem tej funkcji powinna wziąć pod uwagę następujące cechy:

  1. Szyfrowanie jest przejrzyste z punktu widzenia aplikacji.
  2. Pojedynczy klucz służy do szyfrowania całego klastra.

transparentnego szyfrowania danych

Szczegóły

Ponieważ dane są przechowywane na dysku, naturalnie opieramy nasze podejście na „Teorii szyfrowania dysku”. Dla każdego typu pliku używamy szyfru AES w odpowiednim trybie działania. Sam szyfr AES szyfruje / odszyfrowuje poszczególne bloki (bloki szyfrowania) w najbardziej wydajny sposób. Twoje dane będą bezpieczne na dysku.

Na szczęście Intel i AMD oferują doskonałą obsługę sprzętową szyfrowania AES. Zapewnia to minimalny wpływ PostgreSQL TDE na wydajność. Widzieliśmy systemy szyfrujące i odszyfrowujące gigabajty danych na sekundę na nowoczesnych serwerach. Biorąc pod uwagę typowe obciążenie pracą, wpływ TDE na wydajność jest w zasadzie nieistotny.

Szyfrowanie całego ekosystemu bazy danych

Bezpieczeństwo nie jest odosobnionym problemem. Aby naprawdę zabezpieczyć system, należy wziąć pod uwagę wiele warstw i upewnić się, że wszystkie elementy są pokryte. PostgreSQL TDE jest zatem idealnym rozwiązaniem dla Twojej infrastruktury.

PostgreSQL TDE zapewnia nie tylko szyfrowanie w spoczynku, ale także zapewnia szyfrowanie całego ekosystemu, w tym…

  • Szyfrowanie przetransportowania (klient / serwer) przez SSL
  • Szyfrowana replikacja
  • W pełni zabezpieczone repliki

PostgreSQL TDE doskonale integruje się z SELinux i zapewnia solidne podstawy dla całej infrastruktury. Ponadto dostępne są wszystkie funkcje standardowego PostgreSQL.

 

Transparentnego szyfrowania danych

Licencja

Licencja PostgreSQL

Pobieranie PostgreSQL TDE dla różnych wersji PostgreSQL

PostgreSQL TDE jest dostępny dla wersji PostgreSQL 9.6, a także dla wersji 12.3. Obie wersje można pobrać bezpłatnie z naszej strony internetowej.

Pobierz 12.3

 

Pobierz 9.6.12

Jak łatwo zainstalować PostgreSQL TDE

Przeczytaj pełną instrukcję instalacji lub pobierz ją bezpośrednio w formacie PDF:

Przeczytaj instrukcję instalacji

 

Wszelkie błędy należy zgłaszać na adres [email protected]

FAQ

P: Co tak naprawdę jest szyfrowane?
Odp: Wszystko oprócz danych rozszerzenia pg_stat_statements i metadanych transakcji.

P: Jaka jest metoda szyfrowania?
Odp: Standardowy 128-bitowy szyfr AES-CTR.

P: Czy mogę użyć innej metody szyfrowania?
Odp: Nie, ale w razie potrzeby możemy zbudować wsparcie dla tego.

P: Jakie jest oczekiwane obciążenie za wydajność?
Odp: Szyfrowanie jest przyspieszane dzięki instrukcjom sprzętowym, o ile są dostępne i stosowane tylko I/O. Typowa szybkość szyfrowania i deszyfrowania wynosi 5 GB/s na rdzeń procesora na nowoczesnym sprzęcie, wyższa niż prędkość I/O najlepszych dostępnych urządzeń SSD. W przypadku zwykłych obciążeń koszty szyfrowania nie są mierzalne.

P: Czy mogę uaktualnić do zaszyfrowanej bazy danych?
Odp: Szyfrowanie w miejscu istniejących klastrów nie jest obecnie obsługiwane. Wymagany jest zrzut i ponowne załadowanie do zaszyfrowanej instancji, lub logiczna replikacja może być wykorzystana do przeprowadzenia migracji online.

P: Czy można zaszyfrować tylko niektóre tabele/obszary tabel, aby wygrać na wydajności?
Odp: Obecnie nie. Teoretycznie można go dodać później, ale ponieważ dziennik transakcji i tak chce być w pełni zaszyfrowany, a wszystkie zmiany zwykle tam przechodzą, prawdopodobnie to nie będzie srebrną kulą.

P: Czy można zmienić klucz szyfrowania w przypadkach, gdy zostanie on naruszony?
Odp: Obecnie należy ponownie zainicjować nowy klaster i zrzucić/przywrócić. Można jednak użyć polecenia setup klucza, aby zaimplementować magazyn zaszyfrowanych kluczy i rotację hasła dla klucza głównego.

P: Czy integruje się z moim HSM?
Odp: Nie, ale w razie potrzeby możemy zbudować wsparcie dla tego.

P: Czy TDE jest dostępne dla wersji 12 PostgreSQL?
Odp: Tak, TDE jest teraz dostępne również dla PostgreSQL w wersji 12.3 – Pobierz. Dodatkowo TDE jest nadal dostępne dla wersji 9.6.12.

P: Znalazłem defekt. Gdzie mam zgłosić ten błąd?
Odp: Prosimy o bezpośrednie zgłaszanie wszelkich błędów lub problemów z TDE na adres [email protected]