symlink.ch
Wissen Vernetzt - deutsche News für die Welt
 
symlink.ch
FAQ
Mission
Über uns
Richtlinien

Moderation
Einstellungen
Story einsenden

Suchen & Index
Ruhmeshalle
Statistiken
Umfragen

Redaktion
Themen
Partner
Planet

XML | RDF | RSS
PDA | WAP | IRC
Symbar für Opera
Symbar für Mozilla

Freunde
Benutzergruppen
LUG Switzerland
LUG Vorarlberg
LUGen in DE
SIUG
CCCZH
Organisationen
Wilhelm Tux
FSF Europe
Events
LinuxDay Dornbirn
BBA Schweiz
CoSin in Bremgarten AG
VCFe in München
Menschen
maol
Flupp
Ventilator
dawn
gumbo
krümelmonster
XTaran
maradong
tuxedo

 
Negative Datenbanken helfen gegen Datenklau
Veröffentlicht durch XTaran am Dienstag 12. September 2006, 22:57
Aus der Nicht Abteilung
Security chickenshit schreibt: "Der Economist berichtet über negative Datenbanken als eine Möglichkeit, öffentliche Datensammlungen resistent(er) gegen Abschöpfen zu machen. Das Prinzip ist simpel: anstatt, wie gegenwärtig üblich, eine Menge von Daten zu speichern, hält die Datenbank alle Daten, die nicht zu dieser Menge gehören."

chickenshit weiter: "Voraussetzung dafür ist eine konstante Länge der Datensätze; typische Anwendungsbeispiele sind Personalien- oder Transaktionsdatenbanken.

Fernando Esponda, die treibende Kraft hinter der Idee, stellt weiterführende Artikel auf seiner Homepage zur Verfügung. So erklärt er z.B. in Kapitel 3, "Negative Databases", dieses PDFs, wie die negative Datenbank (NDB) am Besten repräsentiert wird, und welchen hübschen Nebeneffekt diese Repräsentation hat: 'An interesting property of this representation concerns the difficulty of inferring DB given NDB. For an arbitrary set of strings defined over {0, 1, *} determining which strings are not represented is an NP-hard problem.' Das bedeutet, dass es auch für einen Insider, der im Besitz der ganzen (negativen) Datenbank ist, alles andere als Trivial ist, das äquivalent von 'select * from ...' zu machen."

Kernel Bootmeldung auf 10'000m Höhe | Druckausgabe | Flugpassagiere sicherheitshalber abhören  >

 

 
symlink.ch Login
Login:

Passwort:

extrahierte Links
  • chickenshit
  • berichtet
  • seiner Homepage
  • dieses PDFs
  • Mehr zu Security
  • Auch von XTaran
  • Diese Diskussion wurde archiviert. Es können keine neuen Kommentare abgegeben werden.
    Aeh, wie? (Score:1)
    Von Ventilator (ventilator auf semmel punkt ch Semmelmail) am Wednesday 13. September 2006, 06:24 MEW (#1)
    (User #22 Info) http://www.semmel.ch/
    Also, wenn ich nun Fakten ueber "Milch" suche, dann wuerde in dieser Datenbank stehen, dass Milch nicht fest, kein Gas und ihre Farbe nicht schwarz ist?
    Wie siehts denn aus, wenn ich sagen will, dass sie viele lebenswichtige Vitamine enthaelt?
    --
    Hier steht etwas.
    Re: Aeh, wie? (Score:1)
    Von odi (gent0di [at] gmail [dot] com) am Wednesday 13. September 2006, 08:10 MEW (#2)
    (User #1936 Info) http://odi.mine.nu
    Das ganze funktioniert ja mit viel grösseren Datenmengen, du sagst also nicht, dass Milch schwar ist, sondern du sagst es gibt die Farben: grün, gelb, rot, schwarz, lila, blau. Weiss lässt du weg, und weisst somit, falls eine Anfrage kommt, dass weiss in der positive DB enthalten sein muss.
    Re: Aeh, wie? (Score:0)
    Von Anonymer Feigling am Wednesday 13. September 2006, 08:19 MEW (#3)
    Das erinnert mich an Prolog.
    Re: Aeh, wie? (Score:0)
    Von Anonymer Feigling am Thursday 14. September 2006, 07:57 MEW (#9)
    muaha ^^ herrlich *g*
    Untauglich (Score:2)
    Von P2501 am Wednesday 13. September 2006, 08:52 MEW (#4)
    (User #31 Info) http://www.p2501.ch/

    Dieser Ansatz teilt die Datenmenge faktisch so auf zwei Datenbanken auf, dass keine allein ausreicht, um an irgendwelche Daten zu kommen. Konsequenz: Für reguläre Abfragen muss auf beide DBs zugegriffen werden. Somit sind beide potentiell angreifbar.

    Fazit: Es wird lediglich der Aufwand erhöht, weil jetzt doppelt so viele DBs geknackt werden müssen. Die Verwendung verschlüsselter Daten, mit dem Schlüssel auf dem Client, ist einfacher, effektiver, und nicht mit einer Datenexplosion verbunden.


    --
    GPL ist der Versuch, den Ring gegen Sauron einzusetzen.

    Re: Untauglich (Score:1)
    Von chickenshit am Wednesday 13. September 2006, 11:27 MEW (#5)
    (User #1217 Info) http://chickensh.it

    Dem Prinzip zugrunde liegt, dass es nur eine physische Datenbank gibt, die alle Informationen enthält, die nicht interessieren.

    Beispiel: eine Datenbank mit allen Einwohnern; um das Beispiel einigermassen simpel zu halten gibt's nur einen Einwohner, der Hans Muster heisst.

    Unsere (negative) Datenbank enthält nun alle Strings, die nicht "hans muster" sind:

    aaaaaaaaaaa
    aaaaaaaaaab
    ...
    hans musteq
    hans mustes
    ...
    seppi meieq
    seppi meier
    seppi meies
    ...
    zzzzzzzzzzz

    Will man herausfinden, ob Seppi Meier zu den Einwohnern zählt, so ergibt eine Datenbankabfrage (a la "select name from population where name = 'seppi meier'") ein positives Resultat -> Seppi Meier ist kein Einwohner.

    Auf der anderen Seite ergibt dieselbe Abfrage für Hans Muster ein negatives Resultat -> Hans Muster ist Einwohner.

    So weit ist es nur die Umkehrung einer normalen Datenbank; durch die spezielle Repräsentation der "negativen Datenbank" ist eines der Hauptmerkmale jedoch, dass man vom physischen Datenbankinhalt (alle negativen Einträge, inkl. der Repräsentation von Seppi Meier) nicht so einfach auf den effektiven Datenbankinhalt (Hans Muster) schliessen kann. Somit kann der, der die ganze physische Datenbank besitzt (Intruder, Insider), die Daten nicht ohne Weiteres abschöpfen.

    Re: Untauglich (Score:2)
    Von P2501 am Wednesday 13. September 2006, 12:10 MEW (#6)
    (User #31 Info) http://www.p2501.ch/

    Dem Prinzip zugrunde liegt, dass es nur eine physische Datenbank gibt, die alle Informationen enthält, die nicht interessieren.

    Nope. Man braucht auf jeden Fall noch eine zweite Datenbank mit allen Möglichkeiten. Ohne diese ist die Datenmenge nicht mehr zu verwalten. Alleine um einen Namen abzuspeichern mit, sagen wir, maximal 20 alphabetischen Zeichen ohne Umlaute, erhalten wir 53^20 Varianten. Das sind etwa 3*10^34.

    Somit kann der, der die ganze physische Datenbank besitzt (Intruder, Insider), die Daten nicht ohne Weiteres abschöpfen.

    Eben doch. Sind alle möglichen Einträge und alle tatsächlichen, negativen Einträge bekannt, so ist es trivial, die positiven Einträge zu erhalten. Schwierig wird es erst, wenn nur die tatsächlichen Einträge bekannt sind, nicht aber, was überhaupt möglich ist. Da letztere Information aber für die regulären Abfragen bekannt sein muss, existiert sie irgendwo, und kann folglich prinzipiell auch beschafft werden.


    --
    GPL ist der Versuch, den Ring gegen Sauron einzusetzen.

    Re: Untauglich (Score:1)
    Von chickenshit am Wednesday 13. September 2006, 13:36 MEW (#7)
    (User #1217 Info) http://chickensh.it

    Man braucht auf jeden Fall noch eine zweite Datenbank mit allen Möglichkeiten.

    Theoretisch sind natürlich immer alle Möglichkeiten als Menge vorhanden; effektiv physisch gespeichert müssen die einzelnen Mitglieder dieser Menge jedoch nicht werden. Sie können aber jederzeit generiert werden (z.B. durch den Intruder/Insider).

    Sind alle möglichen Einträge und alle tatsächlichen, negativen Einträge bekannt, so ist es trivial, die positiven Einträge zu erhalten.

    Vordergründig betrachtet ist dies der Fall. Esponda weist aber nach (vgl. Kapitel 3, Reversibility: "In what follows we turn our attention to the goal of making DB hard to reconstruct. First we establish that the representation is potentially difficult to reverse, and then we present an algorithm which indeed produces hard to reverse instances."), dass wenn die negative Datenbank einer speziellen Repräsentation folgt, es nicht trivial, sondern NP-Schwer ist.

    Re: Untauglich (Score:2)
    Von P2501 am Wednesday 13. September 2006, 14:36 MEW (#8)
    (User #31 Info) http://www.p2501.ch/

    Theoretisch sind natürlich immer alle Möglichkeiten als Menge vorhanden; effektiv physisch gespeichert müssen die einzelnen Mitglieder dieser Menge jedoch nicht werden.

    Falls du den im Kapitel 2 erwähnten Repräsentationsalgorithmus meinst: Der skaliert miserabel. Bei jedem neuen, positiven Eintrag wird nicht nur mindestens ein neuer Eintrag in NDB nötig, sondern es besteht für jeden, bestehenden Eintrag eine gewisse Wahrscheinlichkeit, dass er ungültig wird, und durch mindestens zwei neue Einträge ersetzt werden muss. Je mehr Einträge also existieren, desto mehr wächst NDB mit jedem neuen, positiven Eintrag an. Der vorgestellte Prefix-Algorithmus entschärft das Problem vielleicht, beseitigt es aber sicher nicht. Das Theorem 2.1.1 ist völlig unzureichend belegt, da die verwendeten Laborwerte sich eindeutig im unproblematischen Bereich befinden.

    Vordergründig betrachtet ist dies der Fall. Esponda weist aber nach, dass wenn die negative Datenbank einer speziellen Repräsentation folgt, es nicht trivial, sondern NP-Schwer ist.

    Seine Beweisführung geht davon aus, dass der Angreifer nicht weiss, wie NDB generiert wurde. In der Praxis darf man sich auf solche Annahmen nicht stützen. Nur schon darum, weil die meisten Angriffe von Insidern kommen. Ist der Algorithmus zur Generierung von NDB einmal bekannt, lässt sich der Vorgang problemlos umkehren. Dieses Problem wird vom Author in Kapitel 4 sogar ausdrüklich anerkannt, ohne aber eine befriedigende Lösung anzubieten. Der alternative Algorithmus ist nicht schwieriger umzukehren, sondern nur schwieriger zu erkennen.


    --
    GPL ist der Versuch, den Ring gegen Sauron einzusetzen.

    Linux User Group Schweiz
    Durchsuche symlink.ch:  

    Never be led astray onto the path of virtue.
    trash.net

    Anfang | Story einsenden | ältere Features | alte Umfragen | FAQ | Autoren | Einstellungen