|
|
Datum____ Beginn Ende_ Mitarbeiter_____ CheckSum
--------------------------------------------------------
01.01.2012 | 08:00 | 17:30 | Mustermann M. | 0f765b3
02.01.2012 | 08:00 | 16:45 | Andere Mitarbe. | 5g5646c = (checksumme(currentrow + 0f765b3))
02.01.2012 | 07:30 | 16:50 | Mustermann M. | 17ff904 = (checksumme(currentrow + 5g5646c ))
....
|
|
|
Gute Idee. Dazu müsste ich dann aber immer den letzten eingefügten Datensatz zunächst ermitteln, bevor ich den neuen Datensatz schreibe. Ich verwende als FK immer eine zufällig erzeugte GUID, daher ist das sortieren wohl nicht die ideale Lösung. Aber dennoch finde ich deinen Ansatz echt gut.
– MyKey0815 04.07.2012
|
||
| 1 | ||
| 2 |
Wenn der Entwickler aber "weiß" wie die Checksummenberechnung erfolgt: Was spricht dagegen, dass er mit einem Tool eine entsprechende Neuberechung (aller DB-Einträge) durchführt? Ich steh ein bisschen auf dem Schlauch :)
– puls200 05.07.2012
|
|
|
Kryptografisch sichere Checksummen (auch Hash's) kannst du nicht mal eben für ein paar hundert oder tausend Datensätze neu berechnen.
Der Aufwand steigt exponenzial mit der Anzahl der Runden die innerhalb des Algorithmus gedreht werden. Sollte eine Berechnung für eine Checksumme z.b. nur 10 Sekunden dauern, so dauert es bei 1000 Einträgen bereits 2,777 Stunden. Im Ereignisslog (Beginn Arbeitszeit, Beginn Pause, ...) bei uns auf Arbeit sind in den letzten 5 Jahren bereits 500.000 Einträge entstanden. Diese alle neu zu berechnen würde 57 Tage (~ 2 Monate) dauern. – Floyd 05.07.2012
|
||
|
Letztendlich kann man die Grundidee auch weiter ausbauen, so wie du es in deinem Post getan hast.
Das einfügen einen zusätzlichen Salts, die Hash/Checksum basierend auf dem vorherigen UND nachfolgendem Datensatz erzeugen ..... – Floyd 05.07.2012
|
||
| 1 |
Dann bleibt aber die Schwierigkeit, dass du beim Löschen eines Datensatzes alle darauffolgenden Checksummen ungültig werden und neu berechnet werden müssten.
– puls200 05.07.2012
|
|
| 1 |
|
|
|
Interessanter Ansatz. Man müsste dann den veränderlichen Teil zumindestens für die autm. Durchläufe irgentwo hinterlegen - dass könnte ich als Entwickler dann ja auch wieder auslesen - den Salt mir anzeigen und dann eine Neuberechnung laufen lassen. (Wenn ich das richtig verstanden habe)
– MyKey0815 05.07.2012
|
||
|
Klar - eine gewisse kriminelle Energie muss dahinter stehen. Nur als Entwickler des Tools hat man deutlich weniger Aufwand so einen Hack zu bauen, weil man ja den Code selber gebaut hat. Jemand der den Code/Vorgehensweise nicht kennt, ist da natürlich mit viel mehr Aufwand dran.
So wie ich das sehe, ist es wie das Admin/root Passwort eines Systems. Derjenige der es kennt, kann alles machen. Ob er es aber auch macht und letztendlich für sich ausnutzt, liegt in der Person als solches – MyKey0815 05.07.2012
|
||
|
So ist es. Im Prinzip sollte es immer so sein, dass der Sicherheitsmechanismus der potentiellen Bedrohung in einem vernünftigen Verhältnis gegenübersteht. Bei meinem Vorschlag könnte man den Salt Anteil einfach manuell eingeben oder aus einem geg. Vorrat (wie eine TAN) schöpfen.
– puls200 05.07.2012
|
||
| 1 |
Man könnte mit dem Ansatz auch statt der Prüfsumme die Datensätze mit einer Signatur versehen.
Dann muss nur sichergestellt werden, dass nur berechtige Personen (z.B. Buchaltung, Geschäftsführung) zugriff auf den geheime Schlüssel für das Signieren haben. Da man PKs eh mit einem sicheren Passwort schützen sollte ist das aber auch kein großes Problem. – phg 05.07.2012
|
|
|
|
|