Ich bin in den Anfangsphasen eines Web-Dev-Projekts und habe ein Problem festgestellt.So überprüfen Sie den Inhalt einer Datenbank öffentlich
Kontext: Das Projekt/Dienst wird Daten aus mehreren öffentlichen, offenen Quellen ernten und verarbeiten. Die Daten umfassen Statistiken und Aufzeichnungen über politische Aktivitäten, Abstimmungen und Ähnliches.
Problem: Während die Daten selbst auf ihre Quelle verwiesen werden kann, mache ich mir Sorgen, dass ein Datenbankadministrator die Daten in der Datenbank manipulieren könnte. Da die Daten von öffentlichem Interesse sind, benötige ich einige öffentliche Manipulationsnachweise in der Datenbank. Meine Frage ist dann, wie man das macht.
Ich habe mit Ideen gespielt, wie man das macht, wie dem Erntemacher einen Signierschlüssel zu geben, damit er seine eigenen Importe oder eine andere Methode der kryptografischen Verifikation unterschreiben kann. Administratoränderungen an der Datenbank würden eine Überprüfung durch eine vertrauenswürdige dritte Partei erfordern, und das Umgehen würde die Signaturen irgendwo ungültig machen, was beweist, dass eine Manipulation stattgefunden hat. Das Problem ist, dass diese Systeme irgendwie außerhalb der Reichweite des Serveradministrators (root) gehalten werden müssen, so dass kein Verdacht auf Datenmanipulation besteht.
Kurz gesagt, brauche ich ein System, das die öffentliche Verifizierung von Datenbankinhalten erlaubt und das auch von root nicht umgangen werden kann.
Die technischen Spezifikationen verwenden wahrscheinlich einen einfachen LAMP-Stack, daher sollte eine Lösung mit diesen Systemen funktionieren.
Die Erntemaschinen werden in der Tat Teil des Dienstes sein, der Open Source sein wird und daher öffentlich zugänglich sein wird. Wie auch jedes Verifizierungssystem. Ich stimme zu, dass es eine Frage des Vertrauens ist, und Rückverweise können ausreichend sein, aber ich möchte mehr oder weniger eine einzige, einfache Überprüfung haben, um die Gültigkeit der Daten zu überprüfen. Ich werde einen Block-Chain-Transaktionsansatz untersuchen. Das PGP-Signieren bereitet einige Schwierigkeiten, da es nicht nativ von PHP unterstützt wird, aber ich werde mich auch weiter damit befassen. – SLDR