DDBMS - bezpieczeństwo bazy danych i kryptografia
W tym rozdziale przyjrzymy się zagrożeniom, na jakie napotyka system baz danych, oraz sposobom kontroli. Będziemy również studiować kryptografię jako narzędzie bezpieczeństwa.
Bezpieczeństwo bazy danych i zagrożenia
Bezpieczeństwo danych jest nadrzędnym aspektem każdego systemu baz danych. Ma to szczególne znaczenie w systemach rozproszonych ze względu na dużą liczbę użytkowników, pofragmentowane i replikowane dane, wiele lokalizacji i rozproszoną kontrolę.
Zagrożenia w bazie danych
Availability loss - Utrata dostępności odnosi się do niedostępności obiektów bazy danych przez uprawnionych użytkowników.
Integrity loss- Utrata integralności występuje, gdy niedopuszczalne operacje są wykonywane na bazie danych przez przypadek lub celowo. Może się to zdarzyć podczas tworzenia, wstawiania, aktualizacji lub usuwania danych. Powoduje to uszkodzenie danych, co prowadzi do błędnych decyzji.
Confidentiality loss- Utrata poufności wynika z nieuprawnionego lub niezamierzonego ujawnienia informacji poufnych. Może to skutkować działaniami niezgodnymi z prawem, zagrożeniami bezpieczeństwa i utratą zaufania publicznego.
Środki kontroli
Środki kontroli można ogólnie podzielić na następujące kategorie -
Access Control- Kontrola dostępu obejmuje mechanizmy bezpieczeństwa w systemie zarządzania bazą danych w celu ochrony przed nieuprawnionym dostępem. Użytkownik może uzyskać dostęp do bazy danych po wyczyszczeniu procesu logowania za pomocą tylko ważnych kont użytkowników. Każde konto użytkownika jest chronione hasłem.
Flow Control- Systemy rozproszone obejmują przepływ dużej ilości danych z jednej lokalizacji do drugiej, a także w obrębie witryny. Kontrola przepływu zapobiega przesyłaniu danych w taki sposób, że mogą uzyskać do nich dostęp nieautoryzowani agenci. Polityka przepływu zawiera listę kanałów, przez które mogą przepływać informacje. Definiuje również klasy bezpieczeństwa danych i transakcji.
Data Encryption- Szyfrowanie danych odnosi się do kodowania danych, gdy dane wrażliwe mają być przekazywane kanałami publicznymi. Nawet jeśli nieautoryzowany agent uzyska dostęp do danych, nie może ich zrozumieć, ponieważ są one w niezrozumiałym formacie.
Co to jest kryptografia?
Cryptography to nauka o kodowaniu informacji przed wysłaniem przez zawodne ścieżki komunikacyjne, tak aby tylko upoważniony odbiorca mógł je zdekodować i wykorzystać.
Zostaje wywołana zakodowana wiadomość cipher text i nazywa się oryginalna wiadomość plain text. Proces konwersji zwykłego tekstu na tekst zaszyfrowany przez nadawcę nazywa się kodowaniem lubencryption. Proces konwersji zaszyfrowanego tekstu na zwykły tekst przez odbiorcę nazywa się dekodowaniem lubdecryption.
Całą procedurę komunikacji za pomocą kryptografii można zilustrować na poniższym diagramie -
Konwencjonalne metody szyfrowania
W konwencjonalnej kryptografii szyfrowanie i deszyfrowanie odbywa się przy użyciu tego samego tajnego klucza. W tym przypadku nadawca szyfruje wiadomość za pomocą algorytmu szyfrującego, używając kopii tajnego klucza. Zaszyfrowana wiadomość jest następnie przesyłana publicznymi kanałami komunikacyjnymi. Po odebraniu zaszyfrowanej wiadomości odbiorca odszyfrowuje ją za pomocą odpowiedniego algorytmu deszyfrującego przy użyciu tego samego tajnego klucza.
Bezpieczeństwo w kryptografii konwencjonalnej zależy od dwóch czynników -
Algorytm dźwięku, który jest znany wszystkim.
Losowo generowany, najlepiej długi, tajny klucz znany tylko nadawcy i odbiorcy.
Najbardziej znanym konwencjonalnym algorytmem kryptograficznym jest Data Encryption Standard lub DES.
Zaletą tej metody jest łatwość stosowania. Jednak największym problemem konwencjonalnej kryptografii jest współdzielenie tajnego klucza między komunikującymi się stronami. Sposoby wysłania klucza są uciążliwe i bardzo podatne na podsłuchiwanie.
Kryptografia klucza publicznego
W przeciwieństwie do konwencjonalnej kryptografii, kryptografia klucza publicznego wykorzystuje dwa różne klucze, określane jako klucz publiczny i klucz prywatny. Każdy użytkownik generuje parę klucza publicznego i klucza prywatnego. Następnie użytkownik umieszcza klucz publiczny w dostępnym miejscu. Gdy nadawca chce wysłać wiadomość, szyfruje ją za pomocą klucza publicznego odbiorcy. Po otrzymaniu zaszyfrowanej wiadomości odbiorca odszyfrowuje ją za pomocą swojego klucza prywatnego. Ponieważ klucz prywatny nie jest znany nikomu poza odbiorcą, żadna inna osoba otrzymująca wiadomość nie może go odszyfrować.
Najpopularniejszymi algorytmami kryptografii klucza publicznego są RSA algorytm i Diffie– Hellmanalgorytm. Ta metoda jest bardzo bezpieczna do wysyłania prywatnych wiadomości. Problem polega jednak na tym, że wymaga wielu obliczeń, przez co okazuje się nieefektywny w przypadku długich komunikatów.
Rozwiązaniem jest użycie kombinacji kryptografii konwencjonalnej i kryptografii klucza publicznego. Tajny klucz jest szyfrowany przy użyciu kryptografii klucza publicznego przed udostępnieniem między komunikującymi się stronami. Następnie wiadomość jest wysyłana przy użyciu konwencjonalnej kryptografii przy pomocy wspólnego tajnego klucza.
Podpisy cyfrowe
Podpis cyfrowy (DS) to technika uwierzytelniania oparta na kryptografii klucza publicznego wykorzystywana w aplikacjach handlu elektronicznego. Kojarzy niepowtarzalny znak z osobą w treści jej przesłania. Pomaga to innym w uwierzytelnianiu prawidłowych nadawców wiadomości.
Zwykle podpis cyfrowy użytkownika różni się w zależności od wiadomości, aby zapewnić ochronę przed fałszowaniem. Metoda jest następująca -
Nadawca odbiera wiadomość, oblicza skrót wiadomości i podpisuje ją kluczem prywatnym.
Następnie nadawca dołącza podpisane podsumowanie wraz z wiadomością w postaci zwykłego tekstu.
Wiadomość wysyłana jest kanałem komunikacyjnym.
Odbiorca usuwa dołączone podpisane podsumowanie i weryfikuje podsumowanie przy użyciu odpowiedniego klucza publicznego.
Następnie odbiorca pobiera wiadomość w postaci zwykłego tekstu i przepuszcza ją przez ten sam algorytm skrótu wiadomości.
Jeśli wyniki z etapu 4 i 5 są zgodne, wówczas odbiorca wie, że wiadomość jest integralna i autentyczna.