Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeitgesteuerter Datencontainer

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeitgesteuerter Datencontainer

    Hallo zusammen,

    ganz grob gesprochen will ich ein Programm bauen, das Daten erst nach einem vordefinierten Zeitpunkt rausrückt. Klingt trivial, schließlich gibt es ja Datums- und Zeitfunktionen und man kann ja mittels "if" entscheiden, was aus der Datenbank gelesen wird oder was ausgegeben wird oder was auch immer. Das Problem ist aber: Der Benutzer hat Vollzugriff auf alles, d.h. ein Stichtagsdatum im Code lässt sich leicht ändern. Ebenso irgendwelche Timestamps in der Datenbank. Man kann natürlich Stichtagsdatum und Nutzinfo gemeinsam verschlüsseln aber letztlich kann man der Entschlüsselung natürlich durch Codeänderung einanderes Datum vorgaukeln. Und wenn man die eigene Prüfsumme des PHP-Scripts mit einbezieht, dann kann man das natürlich auch leicht umgehen, indem man die Prüfsumme des unmaipulierten Scrips nimmt und diese dann als festen Wert an die Entschlüsselung übergibt. Durch den Vollzugriff steht und fällt alles. Spontan fällt mir als Lösung nur ein, den Zugriff z.B. auf eine Prüfscript einzuschränken und dieses ist für das Hauptprogramm dann eine Blackbox..Oder dieses Prüfscript irgendwie so verschlüsseln, dass man es mittels "eval" ausführen kann, aber bei einer "On-Demand-Entschlüsselung" könnte man den Klartext natürlich vor dem "eval" abgreifen und man hat das Teil Rubbeldikatz ausgehebelt.
    Bin da gerade etwas überfragt, aber vielleicht hat ja jemand eine geniale Idee. Man müsste halt irgendwie ein Prüfscript mittels Hash vor Manipulation schützen aber die Prüfung dieses Hashes darf auch nicht durch Codeänderungen manipulierbar sein. Und da beißt sich die Katze halt ins Hinterteil

    Kleiner Nachtrag: Das Ganze muss sich nicht auf PHP beschränken. Die Funktionalität zum Entschlüsseln und zum Liefern der Daten kann auch in einer Datenbank-Function liegen. Aber die muss auch dann manipulationssicher sein wenn man Vollzugriff auf die Datenbank hat.

    vielen Dank schonmal fürs Knobeln


  • #2
    Vollzugriff und "manipulationssicher" passt imho nicht so ganz zusammen. Irgendwo muss eine "Blackbox" eingesetzt werden, die vom Benutzer nicht manipulierbar ist, bspw. eine externe API auf die der Nutzer keinen Zugriff hat - auch wenn diese nur die zum Entschlüsseln notwendigen Keys liefert.

    Kommentar


    • #3
      Komisches Setup. Da scheint ein generelles Problem mit der Zugriffskontrolle/beschränkung vorzuliegen.

      Am einfachsten dürfte es vermutlich sein, wenn die Daten in eine extra Datenbank kommen, auch welche der Benutzer nur Lesezugriff hat.
      Ansonsten wie lottikarotti schon gesagt hat, eine API bauen die die Daten zur Verfügung stellt.
      "Software is like Sex, it's best if it's free." - Linus Torvalds

      Kommentar


      • #4
        Zitat von JaMa Beitrag anzeigen
        Komisches Setup.
        Stimmt klingt komisch und normalerweise löst man das natürlich recht geschickt. In diesem Falle geht es aber darum, dass ich gewisse Zugangsdaten sozusagen vor mir verstecken will um mich einfach mal z.B. ein halbes Jahr nicht einzuloggen aber das PW halt auch noch nicht ganz wegzuwerfen. Klingt komisch, ist aber so

        Kommentar


        • #5
          Erstell dir einen Zugang bei Gmail, schreib eine Mail an dich selber mit den Zugangsdaten (evtl. verschlüsselt) und plane den Versand in der gewünschten Zukunft. Dann Passwort auf etwas zufälliges, unbekanntes ändern.
          Good luck & have fun
          "Software is like Sex, it's best if it's free." - Linus Torvalds

          Kommentar

          Lädt...
          X