Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för: SQL Server 2022 (16.x) 
Azure SQL Database
Azure SQL Managed Instance
Att upprätta förtroende kring integriteten för data som lagras i databassystem har varit ett långvarigt problem för alla organisationer som hanterar finansiella, medicinska eller andra känsliga data. Transaktionsregisterfunktionen erbjuder möjligheter för att märka otillåtna ändringar i din databas. Du kan kryptografiskt intyga för andra parter, till exempel granskare eller andra affärsparter, att dina data inte har manipulerats.
Ledger hjälper till att skydda data från alla angripare eller högprivilegierade användare, inklusive databasadministratörer (DBA), systemadministratörer och molnadministratörer. Precis som med traditionell huvudbok bevarar funktionen historiska data. Om en rad uppdateras i databasen behålls dess tidigare värde och skyddas i en historiktabell. Transaktionsregistret innehåller en krönika över alla ändringar som gjorts i databasen över tid.
Transaktionsregistret och historiska data hanteras transparent, vilket ger skydd utan några programändringar. Funktionen underhåller historiska data i relationsform för att stödja SQL-frågor för granskning, kriminalteknik och andra ändamål. Den ger garantier för kryptografisk dataintegritet samtidigt som sql-databasens kraft, flexibilitet och prestanda bibehålls.
              
               
              
              
            
Användningsfall för transaktionsregister
Låt oss gå över några fördelar med att använda transaktionsregistret.
Effektivisera granskningar
Alla produktionssystems värde baseras på möjligheten att lita på de data som systemet förbrukar och producerar. Om en obehörig användare har manipulerat data i databasen kan det få katastrofala resultat i affärsprocesserna som förlitar sig på dessa data.
Att upprätthålla förtroendet för dina data kräver en kombination av att aktivera rätt säkerhetskontroller för att minska potentiella attacker, säkerhetskopierings- och återställningsmetoder och noggranna haveriberedskapsprocedurer. Externa parters granskningar säkerställer att dessa metoder införs.
Granskningsprocesser är mycket tidsintensiva aktiviteter. Granskning kräver inspektion på plats av implementerade metoder, till exempel granskningsloggar, inspektion av autentisering och inspektion av åtkomstkontroller. Även om dessa manuella processer kan exponera potentiella säkerhetsluckor kan de inte tillhandahålla bevis på att data inte har ändrats på ett skadligt sätt.
Ledger tillhandahåller kryptografiskt bevis på dataintegritet för granskare. Det här beviset kan hjälpa till att effektivisera granskningsprocessen. Det ger också icke-avvislighet när det gäller integriteten för systemets data.
Affärsprocesser för flera parter
I vissa system, till exempel hanteringssystem för leveranskedjan, måste flera organisationer dela tillstånd från en affärsprocess med varandra. Dessa system kämpar med utmaningen att dela och lita på data. Många organisationer vänder sig till traditionella blockkedjor, till exempel Ethereum eller Hyperledger Fabric, för att digitalt transformera sina affärsprocesser med flera parter.
Blockchain är en bra lösning för nätverk med flera parter där förtroendet är lågt mellan parter som deltar i nätverket. Många av dessa nätverk är i grunden centraliserade lösningar där förtroende är viktigt, men en helt decentraliserad infrastruktur är en tungviktslösning.
Ledger tillhandahåller en lösning för dessa nätverk. Deltagarna kan verifiera integriteten hos centralt inbyggda data, utan de komplexitets- och prestandakonsekvenser som nätverkskonsensus introducerar i ett blockkedjenätverk.
Kundframgång
- Lär dig hur Lenovo stärker kundförtroendet med hjälp av transaktionsregistret i Azure SQL Database.
- Qode Health Solutions skyddar COVID-19-vaccinationsposter med transaktionsregisterfunktionen i Azure SQL Database
Betrodd lagring utanför kedjan för blockkedja
När ett blockkedjenätverk är nödvändigt för en affärsprocess med flera parter är det en utmaning att köra frågor mot data i blockkedjan utan att offra prestanda.
Vanliga mönster för att lösa det här problemet är att replikera data från blockkedjan till ett arkiv utanför kedjan, till exempel en databas. Men när data har replikerats till databasen från blockkedjan garanterar dataintegriteten att ett blockkedjeerbjudande går förlorat. Ledger tillhandahåller dataintegritet för lagring utanför kedjan av blockkedjenätverk, vilket hjälper till att säkerställa fullständigt dataförtroende genom hela systemet.
Så här fungerar det
Alla rader som ändras av en transaktion i en transaktionstabell är kryptografiskt SHA-256-hashade med hjälp av en Merkle-träddatastruktur som skapar en rothash som representerar alla rader i transaktionen. Transaktionerna som databasen behandlar är sedan också SHA-256-hashade ihop via en Merkle-träddatastruktur. Resultatet är en rothash som utgör ett block. Blocket hashas sedan genom blockets rothash, tillsammans med rothashen för föregående block som indata till hashfunktionen. Den hashningen utgör en blockkedja.
Rot-hashvärdena i databasregistret, även kallade Databassammandrag, innehåller kryptografiskt hashade transaktioner och representerar databasens tillstånd. De kan genereras och lagras regelbundet utanför databasen i manipuleringssäker lagring, till exempel Azure Blob Storage som konfigurerats med oföränderlighetsprinciper, Azure Confidential Ledger eller lokala worm-lagringsenheter (Write Once Read Many). Databassammandrag används senare för att verifiera databasens integritet genom att jämföra värdet för hashen i sammandraget med de beräknade hashvärdena i databasen.
Transaktionsregisterfunktioner introduceras i tabeller i två former:
- Uppdaterade transaktionsregistertabeller som gör att du kan uppdatera och ta bort rader i dina tabeller.
- Lägg till endast transaktionsregistertabeller, som endast tillåter infogningar i dina tabeller.
Både uppdaterade transaktionsregistertabeller och registertabeller med endast tillägg ger funktioner för manipuleringsbevis och digital kriminalteknik.
Uppdaterade transaktionsregistertabeller
Uppdaterade transaktionsregistertabeller är idealiska för programmönster som förväntar sig att utfärda uppdateringar och borttagningar till tabeller i databasen, till exempel system med postprogram (SOR). Befintliga datamönster för ditt program behöver inte ändras för att aktivera transaktionsregisterfunktioner.
Uppdaterade transaktionsregistertabeller spårar historiken för ändringar i alla rader i databasen när transaktioner som utför uppdateringar eller borttagningar inträffar. En uppdaterad transaktionsregistertabell är en systemversionstabell som innehåller en referens till en annan tabell med ett speglat schema.
Den andra tabellen kallas för historiktabellen. Systemet använder den här tabellen för att automatiskt lagra den tidigare versionen av raden varje gång en rad i transaktionsregistret uppdateras eller tas bort. Historiktabellen skapas automatiskt när du skapar en uppdaterad transaktionsregistertabell.
Värdena i den uppdaterade transaktionsregistertabellen och dess motsvarande historiktabell ger en beskrivning av databasens värden över tid. En systemgenererad huvudboksvy ansluter den uppdaterade huvudbokstabellen och historiktabellen så att du enkelt kan göra frågor på denna översikt över din databas.
Mer information om uppdaterade transaktionsregistertabeller finns i Skapa och använda uppdaterade transaktionsregistertabeller.
Lägga till endast transaktionsregistertabeller
Registertabeller med endast tillägg är idealiska för programmönster som endast är infogade, till exempel program för säkerhetsinformation och händelsehantering (SIEM). Registertabeller som bara tillåter tillägg blockerar uppdateringar och raderingar på API-nivå. Den här blockeringen ger mer manipuleringsskydd från privilegierade användare, till exempel systemadministratörer och dbas.
Eftersom endast infogningar tillåts i systemet har tabeller med endast tillägg inte någon motsvarande historiktabell eftersom det inte finns någon historik att samla in. Precis som med uppdaterade transaktionsregistertabeller ger en transaktionsvy insikter om transaktionen som infogade rader i tabellen med endast tillägg och användaren som utförde infogningen.
Mer information om registertabeller med endast tillägg finns i Skapa och använda transaktionsregistertabeller med endast tillägg.
Transaktionsregisterdatabas
Transaktionsregisterdatabaser är en enkel lösning för program som kräver att alla datas integritet skyddas under hela databasens livslängd. En transaktionsregisterdatabas kan bara innehålla transaktionsregistertabeller. Det går inte att skapa vanliga tabeller (som inte är transaktionsregistertabeller). Varje tabell skapas som standard som en updatable-transaktionsregistertabell med standardinställningar, vilket gör det mycket enkelt att skapa sådana tabeller. Du konfigurerar en databas som en transaktionsregisterdatabas när du skapar den. När en transaktionsregisterdatabas har skapats kan den inte konverteras till en vanlig databas. Mer information finns i Konfigurera en transaktionsregisterdatabas.
Databassammandrag
Hashen för det senaste blocket i databasregistret kallas databassammandrag. Den representerar tillståndet för alla transaktionsregistertabeller i databasen när blocket genererades.
När ett block skapas publiceras dess associerade databassammandrag och lagras utanför databasen i manipuleringssäker lagring. Eftersom databassammandrag representerar databasens tillstånd vid den tidpunkt då de genererades är det av största vikt att skydda sammandrag från manipulering. En angripare som har åtkomst till att ändra sammanfattningarna skulle kunna:
- Manipulera data i databasen.
- Generera de hashvärden som representerar databasen med dessa ändringar.
- Ändra sammandragen så att de representerar den uppdaterade hashen för transaktionerna i blocket.
Ledger ger möjlighet att automatiskt generera och lagra databassammandrag i oföränderlig lagring eller Azure Confidential Ledger för att förhindra manipulering. Alternativt kan användarna manuellt generera databassammandrag och lagra dem på valfri plats. Databassammandrag används för senare verifiering av att data som lagras i transaktionsregistertabeller inte har manipulerats.
Verifiering av transaktionsregister
Transaktionsregisterfunktionen tillåter inte att innehållet i registersystemvyer, tilläggstabeller och historiktabeller ändras. En angripare eller systemadministratör som har kontroll över datorn kan dock kringgå alla systemkontroller och direkt manipulera data. En angripare eller systemadministratör kan till exempel redigera databasfilerna i lagringen. Transaktionsregistret kan inte förhindra sådana attacker, men garanterar att manipulering identifieras när transaktionsregistrets data verifieras.
Verifieringsprocessen för transaktionsregistret tar som indata en eller flera tidigare genererade databassammandrag och beräknar om hashvärdena som lagras i databasregistret baserat på det aktuella tillståndet för transaktionsregistertabellerna. Om de beräknade hashvärdena inte matchar indatasammandragen misslyckas verifieringen, vilket indikerar att data har manipulerats. Transaktionsregistret rapporterar sedan alla inkonsekvenser som har identifierats.
Relaterat innehåll
- Vad är databasregistret?
- Skapa och använda registertabeller med endast tillägg
- Skapa och använda uppdaterade transaktionsregistertabeller
- Aktivera automatisk sammandragslagring
- Konfigurera en transaktionsregisterdatabas
- Verifiera en transaktionsregistertabell för att identifiera manipulering
- Överföra kraften i blockkedjan till Azure SQL Database och SQL Server med transaktionsregister | Exponerade data