Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2022 (16.x) i nowsze wersje
usługi Azure SQL Database
Azure SQL Managed Instance
Ustanowienie zaufania wokół integralności danych przechowywanych w systemach baz danych było długotrwałym problemem dla wszystkich organizacji, które zarządzają danymi finansowymi, medycznymi lub innymi poufnymi danymi. Funkcja rejestru zapewnia zdolności do wykrywania prób manipulacji w bazie danych. Możesz kryptograficznie potwierdzić innym stronom, takim jak audytorzy lub inne strony biznesowe, że twoje dane nie zostały naruszone.
Rejestr pomaga chronić dane przed wszelkimi osobami atakującymi lub użytkownikami z wysokimi uprawnieniami, w tym administratorami baz danych (DBA), administratorami systemu i administratorami chmury. Podobnie jak w przypadku tradycyjnego rejestru funkcja zachowuje dane historyczne. Jeśli wiersz zostanie zaktualizowany w bazie danych, jego poprzednia wartość zostanie zachowana i chroniona w tabeli historii. Rejestr zawiera kronikę wszystkich zmian wprowadzonych w bazie danych w czasie.
Rejestr i dane historyczne są zarządzane w sposób niewidoczny, oferując ochronę bez żadnych zmian aplikacji. Funkcja obsługuje dane historyczne w formie relacyjnej w celu obsługi zapytań SQL na potrzeby inspekcji, śledczego i innych celów. Zapewnia gwarancje integralności danych kryptograficznych przy zachowaniu mocy, elastyczności i wydajności bazy danych SQL.
Przypadki użycia rejestru
Przyjrzyjmy się pewnym korzyściom w zakresie używania rejestru.
Usprawnianie inspekcji
Każda wartość systemu produkcyjnego jest oparta na możliwości zaufania do danych zużywanych i produkowanych przez system. Jeśli złośliwy użytkownik manipulował danymi w bazie danych, może to mieć katastrofalne wyniki w procesach biznesowych opartych na tych danych.
Utrzymanie zaufania do danych wymaga kombinacji umożliwienia odpowiednich mechanizmów kontroli zabezpieczeń w celu zmniejszenia potencjalnych ataków, praktyk tworzenia kopii zapasowych i przywracania kopii zapasowych oraz dokładnych procedur odzyskiwania po awarii. Audyty ze strony zewnętrznej zapewniają, że te praktyki zostaną wprowadzone.
Procesy inspekcji to bardzo czasochłonne działania. Inspekcja wymaga inspekcji wdrożonych praktyk, takich jak przeglądanie dzienników inspekcji, inspekcja uwierzytelniania i inspekcja kontroli dostępu. Mimo że te procesy ręczne mogą uwidocznić potencjalne luki w zabezpieczeniach, nie mogą zapewnić zaświadczalnej weryfikacji, że dane nie zostały złośliwie zmienione.
Rejestr zapewnia kryptograficzny dowód integralności danych audytorom. Ten dowód może pomóc usprawnić proces inspekcji. Zapewnia również bezdyseksję dotyczącą integralności danych systemu.
Procesy biznesowe wielu firm
W niektórych systemach, takich jak systemy zarządzania łańcuchem dostaw, wiele organizacji musi współdzielić stan z procesu biznesowego ze sobą. Systemy te zmagają się z wyzwaniem udostępniania i zaufania danych. Wiele organizacji zwraca się do tradycyjnych łańcuchów bloków, takich jak Ethereum lub Hyperledger Fabric, aby cyfrowo przekształcić swoje wielostronne procesy biznesowe.
Łańcuch bloków to doskonałe rozwiązanie dla sieci wielostronnych, w których zaufanie jest niskie między stronami uczestniczącymi w sieci. Wiele z tych sieci jest zasadniczo scentralizowanych rozwiązań, w których zaufanie jest ważne, ale w pełni zdecentralizowana infrastruktura jest rozwiązaniem wagi ciężkiej.
Rejestr udostępnia rozwiązanie dla tych sieci. Uczestnicy mogą zweryfikować integralność danych w centralnie pomieścinych danych bez wpływu na złożoność i wydajność, które konsensus sieciowy wprowadza w sieci łańcucha bloków.
Sukces klienta
- Dowiedz się, jak Lenovo wzmacnia zaufanie klientów przy użyciu rejestru w usłudze Azure SQL Database.
- Qode Health Solutions zabezpiecza rekordy szczepień COVID-19 za pomocą funkcji rejestru w usłudze Azure SQL Database
Zaufany magazyn poza łańcuchem dla łańcucha bloków
Jeśli sieć łańcucha bloków jest niezbędna dla procesu biznesowego wielu firm, możliwość wykonywania zapytań dotyczących danych w łańcuchu bloków bez poświęcania wydajności jest wyzwaniem.
Typowe wzorce rozwiązywania tego problemu obejmują replikowanie danych z łańcucha bloków do magazynu poza siecią, takiego jak baza danych. Jednak po replikacji danych do bazy danych z łańcucha bloków integralność danych gwarantuje utratę oferty łańcucha bloków. Rejestr zapewnia integralność danych dla magazynu poza łańcuchem sieci łańcucha bloków, co pomaga zapewnić pełne zaufanie do danych przez cały system.
Jak to działa
Wszystkie wiersze zmodyfikowane przez transakcję w tabeli rejestru są kryptograficznie haszowane algorytmem SHA-256 z wykorzystaniem struktury danych drzewa Merkle, która tworzy skrót korzenia reprezentujący całą transakcję. Transakcje, które przetwarza baza danych, są następnie również hashowane za pomocą SHA-256 w strukturze drzewa Merkle. Wynikiem jest skrót główny, który tworzy blok. Blok jest następnie poddawany operacji skrótu SHA-256, gdzie jako dane wejściowe funkcji skrótu wykorzystuje się skrót główny tego bloku oraz skrót główny poprzedniego bloku. Haszowanie tworzy łańcuch bloków.
Skróty główne w rejestrze bazy danych, nazywane również skrótami bazy danych, zawierają kryptograficznie skróty transakcji i reprezentują stan bazy danych. Mogą one być okresowo generowane i przechowywane poza bazą danych w magazynie odpornym na naruszenia, takie jak usługa Azure Blob Storage skonfigurowana przy użyciu zasad niezmienności, rejestru poufnego platformy Azure lub lokalnego magazynu zapisu jednokrotnego (WORM). Skróty bazy danych są później używane do weryfikowania integralności bazy danych przez porównanie wartości skrótu w skrótach obliczonych w bazie danych.
Funkcje rejestru są wprowadzane do tabel w dwóch formach:
- Tabele rejestru z możliwością aktualizowania, które umożliwiają aktualizowanie i usuwanie wierszy w tabelach.
- Tabele rejestru tylko do dołączania, które zezwalają tylko na wstawianie do tabel.
Zarówno tabele księgowe z możliwością aktualizacji, jak i tabele księgowe tylko do dołączania dostarczają dowodu manipulacji i możliwości cyfrowego śledztwa.
Tabele rejestru z możliwością aktualizowania
Tabele rejestrów z możliwością aktualizowania są idealne dla wzorców aplikacji, które oczekują wydania aktualizacji i usuwania tabel w bazie danych, takich jak system aplikacji rejestru (SOR). Istniejące wzorce danych dla aplikacji nie muszą zmieniać się w celu włączenia funkcji rejestru.
Tabele rejestru z możliwością aktualizowania śledzą historię zmian w dowolnych wierszach w bazie danych, gdy wystąpią transakcje, które wykonują aktualizacje lub usunięcia. Tabela rejestru z możliwością aktualizowania to tabela z systemem, która zawiera odwołanie do innej tabeli ze schematem dublowany.
Druga tabela jest nazywana tabelą historii. System używa tej tabeli do automatycznego przechowywania poprzedniej wersji wiersza za każdym razem, gdy wiersz w tabeli rejestru jest aktualizowany lub usuwany. Tabela historii jest tworzona automatycznie podczas tworzenia tabeli rejestru z możliwością aktualizowania.
Wartości w aktualizowalnej tabeli księgi oraz odpowiadającej jej tabeli historii tworzą kronikę przebiegu wartości bazy danych w czasie. Widok rejestru generowanego przez system łączy tabelę rejestru z możliwością aktualizowania i tabelę historii, dzięki czemu można łatwo wykonywać zapytania dotyczące tej kroniki bazy danych.
Aby uzyskać więcej informacji na temat tabel rejestru z możliwością aktualizowania, zobacz Tworzenie tabel rejestru z możliwością aktualizowania i używanie ich.
Tabele księgi przystosowane tylko do dołączania
Tabele rejestru tylko do dołączania są idealne w przypadku wzorców aplikacji, które są tylko do wstawiania, takie jak aplikacje do zarządzania informacjami o zabezpieczeniach i zdarzeniami (SIEM). Tabele rejestru tylko do dołączania blokują aktualizacje i usunięcia na poziomie interfejsu API. To blokowanie zapewnia większą ochronę przed naruszeniami ze strony uprzywilejowanych użytkowników, takich jak administratorzy systemu i administratorzy baz danych.
Ponieważ tylko wstawienia są dozwolone w systemie, tabele rejestru w trybie tylko-dołączania nie mają odpowiedniej tabeli historii, ponieważ nie ma historii do zapisu. Podobnie jak w przypadku tabel rejestru z możliwością aktualizowania, widok rejestru zapewnia wgląd w transakcję, która wstawiła wiersze do tabeli tylko do dołączania, oraz użytkownika, który wykonał wstawienie.
Aby uzyskać więcej informacji na temat tabel rejestru tylko do dołączania, zobacz Tworzenie tabel rejestru tylko do dołączania i używanie ich.
Baza danych rejestru
Bazy danych rejestru zapewniają łatwe rozwiązanie dla aplikacji, które wymagają integralności wszystkich danych, które mają być chronione przez cały okres istnienia bazy danych. Baza danych rejestru może zawierać tylko tabele rejestru. Tworzenie zwykłych tabel (które nie są tabelami rejestru) nie jest obsługiwane. Każda tabela jest domyślnie tworzona jako tabela rejestru z możliwością aktualizowania z ustawieniami domyślnymi, co sprawia, że tworzenie takich tabel jest bardzo proste. Bazę danych należy skonfigurować jako bazę danych rejestru podczas tworzenia. Po utworzeniu bazy danych rejestru nie można przekonwertować na zwykłą bazę danych. Aby uzyskać więcej informacji, zobacz Konfigurowanie bazy danych rejestru.
Streszczenia bazy danych
Skrót najświeższego bloku w rejestrze bazy danych jest nazywany skrótem bazy danych. Reprezentuje stan wszystkich tabel rejestru w bazie danych w momencie wygenerowania bloku.
Po utworzeniu bloku skojarzony skrót bazy danych jest publikowany i przechowywany poza bazą danych w magazynie odpornym na manipulacje. Ponieważ skróty bazy danych reprezentują stan bazy danych w momencie ich wygenerowania, ochrona skrótów przed manipulowaniem jest najważniejsza. Osoba atakująca, która ma dostęp do modyfikowania skrótów, może:
- Manipulowanie danymi w bazie danych.
- Wygeneruj skróty reprezentujące bazę danych z tymi zmianami.
- Zmodyfikuj skróty, aby reprezentować zaktualizowany skrót transakcji w bloku.
Rejestr umożliwia automatyczne generowanie i przechowywanie skrótów bazy danych w niezmiennym magazynie lub rejestrze poufnym platformy Azure, aby zapobiec manipulacji. Alternatywnie użytkownicy mogą ręcznie generować skróty bazy danych i przechowywać je w wybranej lokalizacji. Skróty bazy danych są używane do późniejszego sprawdzania, czy dane przechowywane w tabelach rejestru nie zostały naruszone.
Weryfikacja rejestru
Funkcja rejestru nie zezwala na modyfikowanie zawartości widoków systemowych rejestru, tabel tylko do dołączania i tabel historii. Jednak osoba atakująca lub administrator systemu, który ma kontrolę nad maszyną, może pominąć wszystkie kontrole systemu i bezpośrednio manipulować danymi. Na przykład osoba atakująca lub administrator systemu może edytować pliki bazy danych w pamięci masowej. Rejestr nie może zapobiec takim atakom, ale gwarantuje, że wszelkie naruszenia zostaną wykryte po zweryfikowaniu danych rejestru.
Proces weryfikacji rejestru przyjmuje jako dane wejściowe co najmniej jeden wcześniej wygenerowany skrót bazy danych i ponownie skompiluje skróty przechowywane w rejestrze bazy danych na podstawie bieżącego stanu tabel rejestru. Jeśli obliczone skróty nie pasują do skrótów wejściowych, weryfikacja zakończy się niepowodzeniem, co oznacza, że dane zostały naruszone. Rejestr zgłasza następnie wszystkie wykryte niespójności.
Treści powiązane
- Co to jest rejestr bazy danych?
- Tworzenie i używanie tabel rejestru tylko do dołączania
- Tworzenie tabel rejestru z możliwością aktualizowania i używanie ich
- Włączanie automatycznego przechowywania skrótów
- Konfigurowanie bazy danych rejestru
- Weryfikowanie tabeli rejestru w celu wykrywania naruszenia
- Przeniesienie możliwości łańcucha bloków do usług Azure SQL Database i SQL Server przy użyciu rejestru | Ujawnione dane