Hej!
Sitter och funderar på om det finns ett smart och allmänt vedertaget sätt för att upptäcka manipulation av data i en databas? Scenariot är att man graskar data i databasen och därefter markerar/godkänner den med en flagga som inte kan förfalskas med t.ex. kryptografi.
Utan att skriva en roman av upprinnelsen till detta så är kontentan att jag har en databas med krav i ett projekt och vill kunna "låsa" en del rader i denna databasen när jag har granskat och godkänt dem. Därefter vill jag förhindra manipulation av den raden, men om manipulation uppstår (nån går in med adminkonto och ändrar t.ex.) så måste det upptäckas.
Det jag funderar på främst är egentligen om det idag finns några eleganta lösningar på denna frågeställningen som är open source? Om inte så har jag en liten idé som jag tacksamt tar emot lite kommentarer på. Denna tanken har bubblat lite i skallen ett tag, men har inte riktigt fått tummen ur att göra någon implementation än. Den kan mao även vara helt åt skogen
Vad jag hittills har tänkt på är att man för alla relaterade dataposter gör en hash som man därefter krypterar med t.ex. OpenPGP. Antingen att man har en separat tabell om håller denna hashsumman eller att man har en hashkolumn per tabell.
Önskemålen är att så långt det går använda befintliga öppna standarder för allt (t.ex. OpenPGP) och att det skall vara Open Source. Sedan skall man kunna byta databasmedium och behålla säkerheten (t.ex. byta databasmotor, exportera till XML, JSON, etc).
Min idé tycker jag verkar fungera i teorin, men är rädd att den kan dras med mycket overhead (hashkolumner) och att det kan bli rätt tungrott då mängden data växer. Om man t.ex. ändrar i en rad som refererar till många andra rader måste samtliga dessa hashas och beräknas om.
Någon som har input på detta eller funderat på liknande, alternativt känner till ett vedertaget arbetssätt för att uppnå samma sak i dagsläget?