IP aufgrund umstrittener Rechtslage anonymisieren

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

  • IP aufgrund umstrittener Rechtslage anonymisieren

    Hallo,

    da die Rechtslage in Sache IP-Adressen wohl immer noch umstritten ist, möchte ich jetzt in meinem Webkatalog eine Funktion einbauen, mit der ich wählen kann, ob ich die IP-Adresse eines Besuchers für die Besucherstatistik anonymisiert abspeichere oder nicht.
    Das letzte Oktett wird dabei durch eine 0 ersetzt.

    Etwa so:

    PHP-Code:
    function IPA($value// $value = IP-Adresse
    {
       global 
    $ip_anonym;
       if(
    $ip_anonym == 1// nicht anonymisieren
       
    {
          
    $_ipa $value;
       }
       elseif(
    $ip_anonym == 2// anonymisieren
       
    {
          
    $part explode("."$value);
          
    $_ipa $part[0].'.'.$part[1].'.'.$part[2].'.0';
       } 
       return 
    $_ipa

    // Aufruf z.B. mit $ipaddr = IPA($_SERVER['REMOTE_ADDR']);

    Geht sowas auch einfacher / schneller / eleganter?

    Grüsse
    Cosinus
    Wer mein jemand zu sein,
    hört auf jemand zu werden...!

  • #2
    Zitat von cosinus Beitrag anzeigen
    Das letzte Oktett wird dabei durch eine 0 ersetzt.
    Was soll daran anonymer sein?


    Wenn alle deine Besucher aus Deutschland sind, ausser jeweils einem aus Nord- und Südamerika, einem aus Afrika, einem aus Australien und einem aus Asien - dann wirst du vermutlich die IPs der letzten auch noch eindeutig einer „Person“ zuordnen können, wenn du das letzte Oktet „nullst“.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Zitat von cosinus Beitrag anzeigen
      Hallo,
      ...
      Geht sowas auch einfacher / schneller / eleganter?
      Wenn die IP-v4-Adresse als String vorliegt:
      PHP-Code:
      preg_replace('/[0-9]+\z/''0'$old_ipv4); 
      ... und was machst du mit den Access-Logs, die dein Webserver unabhängig von deinem PHP-Script speichert?
      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

      Kommentar


      • #4
        Zitat von fireweasel Beitrag anzeigen
        ... und was machst du mit den Access-Logs, die dein Webserver unabhängig von deinem PHP-Script speichert?
        Hallo,

        die werden bereits mit anonymisierter IP gespeichert, mit genulltem vierten Oktett.
        Da ich die IP für eine IP-Sperre und header injection logging benötige, wollte ich das ebenfalls so in mein Script übernehmen.

        ... und danke - sieht tatsächlich "eleganter" aus

        Grüsse
        Cosinus
        Wer mein jemand zu sein,
        hört auf jemand zu werden...!

        Kommentar


        • #5
          Wie machst du das denn? Sperrst du ganze Class-C-Netze? Wenn nicht, musst du doch die ganze IP irgendwie speichern, sonst kannst du sie ja nicht sperren.

          Kommentar


          • #6
            Zitat von onemorenerd Beitrag anzeigen
            Wie machst du das denn? Sperrst du ganze Class-C-Netze? Wenn nicht, musst du doch die ganze IP irgendwie speichern, sonst kannst du sie ja nicht sperren.
            Hallo,

            die IP-Sperre bezieht sich nur auf die Besucherzählung und gilt 1 Stunde.
            Ich hatte die IP,s der letzten 1000 Besucher gespeichert und in den ersten 3 Bytes der IP nur selten Übereinstimmungen gefunden.
            Die Zählung klappt also auch ohne die komplette IP - zwar nicht mehr 100% genau, aber was solls.

            Grüsse
            Cosinus
            Wer mein jemand zu sein,
            hört auf jemand zu werden...!

            Kommentar


            • #7
              Zitat von onemorenerd Beitrag anzeigen
              Wie machst du das denn? Sperrst du ganze Class-C-Netze? Wenn nicht, musst du doch die ganze IP irgendwie speichern, sonst kannst du sie ja nicht sperren.
              Hallo,

              Du kennst Dich bestimmt ganz gut mit Netzwerken aus?

              Laut Datenschutzzentrum reicht es, die letzten 2 Bytes einer IP zu löschen, um die IP zu anonymisieren.
              Für eine Besucherzählung ist die IP dann praktisch unbrauchbar.

              Wie sieht es aber mit dem ersten Byte aus?

              Wenn ich das erste Byte auf null setze, kann dann überhaupt noch festegestellt werden, zu welchem Netzwerk die IP gehört?

              Mit einem Lokalisator lässt sich die IP nicht mehr auflösen - noch anonymer
              gehts nicht oder?

              Grüsse
              Cosinus
              Zuletzt geändert von cosinus; 12.05.2010, 01:05.
              Wer mein jemand zu sein,
              hört auf jemand zu werden...!

              Kommentar


              • #8
                Zitat von cosinus Beitrag anzeigen
                Laut Datenschutzzentrum reicht es, die letzten 2 Bytes einer IP zu löschen, um die IP zu anonymisieren.
                Damit fallen 2^16 Adressen zusammen. Ob das ausreicht, kann man nicht berechnen. Ein Provider könnte aus dem Adressbereich der ersten beiden Bytes ja nur eine einzige Adresse in Gebrauch haben. Dann erlauben die ersten beiden Bytes eine eindeutige Identifizierung, das Löschen der letzten beiden Bytes reicht also nicht.
                Zugeben, es ist extrem unwahrscheinlich. Dem ULD ist es unwahrscheinlich genug, um so eine Empfehlung auszusprechen.

                Für eine Besucherzählung ist die IP dann praktisch unbrauchbar.
                Für eine Zählung muss man gar keine IPs speichern. Kommt ein User ohne Session, wird der Zähler um eins erhöht. Fertig.

                Wenn ich das erste Byte auf null setze, kann dann überhaupt noch festegestellt werden, zu welchem Netzwerk die IP gehört?
                Man kann nicht mehr feststellen zu welchem Provider die Adresse gehört. Theoretisch könnte man aber alle in Frage kommende Provider ansprechen und hoffen, dass nur einer zur fraglichen Zeit die IP in Gebrauch hatte. Aber der Aufwand ist hier so hoch und die Erfolgschancen so gering, dass ich das Löschen des ersten Byte für eine ausreichende Anonymisierung halte.
                Für eine IP-Sperre wäre es mir aber zu ungenau. Da würde ich mich eher auf die 7-Tage-Regel des ULD stützen.

                Mit einem Lokalisator lässt sich die IP nicht mehr auflösen - noch anonymer gehts nicht oder?
                Vorsicht! Nicht lokalisierbar heißt nicht anonym. Die Identifizierung kann schließlich auch auf anderen Wegen erfolgen. Die Lokalisierbarkeit von IPs ist nur ein Nebeneffekt des Systems der Adressvergabe im Internet. Provider bekommen Adressbereiche, verteilen Unterbereiche auf regionale Einwahlknoten etc. Ein Provider kann aber machen was er will, könnte bswp. nur einen einzigen Einwahlknoten weltweit haben. Damit wäre auch keine Lokalisierung möglich, aber Identifizierung durchaus.
                Zuletzt geändert von onemorenerd; 12.05.2010, 03:50.

                Kommentar


                • #9
                  An dieser Stelle erwähne ich ja immer wieder gerne folgende Seite: https://panopticlick.eff.org/
                  [FONT="Helvetica"]twitter.com/unset[/FONT]

                  Shitstorm Podcast – Wöchentliches Auskotzen

                  Kommentar


                  • #10
                    Zitat von onemorenerd Beitrag anzeigen
                    Man kann nicht mehr feststellen zu welchem Provider die Adresse gehört. Theoretisch könnte man aber alle in Frage kommende Provider ansprechen und hoffen, dass nur einer zur fraglichen Zeit die IP in Gebrauch hatte. Aber der Aufwand ist hier so hoch und die Erfolgschancen so gering, dass ich das Löschen des ersten Byte für eine ausreichende Anonymisierung halte.
                    Für eine IP-Sperre wäre es mir aber zu ungenau. Da würde ich mich eher auf die 7-Tage-Regel des ULD stützen.
                    Hallo,

                    Auf dieser Seite hat sich Jemand die Arbeit gemacht, das Ganze genauer zu testen.

                    Duch Löschung des ersten Bytes gab es die wenigsten Übereinstimmungen.
                    Für mich reicht das vollkommen aus.

                    Die 7-Tage Regel des ULD nutze ich bereits. Ich logge seit ein paar Tagen sämtliche SQL- oder Header-Injection-Versuche
                    incl. (kompletter) IP mit.
                    Da kann man bestimmt noch so einiges lernen...

                    Grüsse
                    Cosinus
                    Zuletzt geändert von cosinus; 12.05.2010, 11:42.
                    Wer mein jemand zu sein,
                    hört auf jemand zu werden...!

                    Kommentar


                    • #11
                      Zitat von onemorenerd Beitrag anzeigen
                      Für eine Zählung muss man gar keine IPs speichern. Kommt ein User ohne Session, wird der Zähler um eins erhöht. Fertig.
                      Ich würde so weit gehen, nur die Besucher zu zählen, die ein (vorher gesetztes) Session-Cookie mitbringen. Die paar Menschen, die das abgeklemmt haben sind vernachlässigbar und nebenbei fallen die Suchmaschinenrobots, die eh nicht als Besucher zählen, gleich mit unter den Tisch.

                      Man kann nicht mehr feststellen zu welchem Provider die Adresse gehört. Theoretisch könnte man aber alle in Frage kommende Provider ansprechen und hoffen, dass nur einer zur fraglichen Zeit die IP in Gebrauch hatte. Aber der Aufwand ist hier so hoch und die Erfolgschancen so gering, dass ich das Löschen des ersten Byte für eine ausreichende Anonymisierung halte.
                      Wenn das erste Byte "anonymisiert" wurde, und man trotzdem den Nutzer herausbekommen will, geht man so vor: Man erzeugt eine Liste der (theoretisch) 256 möglichen IPs (ob es die jetzt gibt oder nicht, ist egal), geht damit zum Landgericht Köln, beantragt dort den Legal-Mumbo-Jumbo-Schein, mit dem man die Liste an die Deutsche Telekom zur Prüfung weiterreichen darf. Die arbeiten dann die Liste ab, und da der Website-Besucher mit sehr hoher Wahrscheinlichkeit über die Telekom ins Internet gegangen ist, hat man ihn schneller, als er dachte ... So ähnlich machen das die meisten "IP-Ermittler".
                      Zuletzt geändert von fireweasel; 13.05.2010, 10:56.
                      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                      Kommentar


                      • #12
                        Zitat von fireweasel Beitrag anzeigen
                        Wenn das erste Byte "anonymisiert" wurde, und man trotzdem den Nutzer herausbekommen will, geht er so vor: Er erzeugt eine Liste der (theoretisch) 256 möglichen IPs (ob es die jetzt gibt oder nicht, ist egal)
                        11 davon gibt es nicht. Bleiben also 245.
                        … geht damit zum Landgericht Köln, beantragt dort den Legal-Mumbo-Jumbo-Schein, mit dem er die Liste an die Deutsche Telekom zur Prüfung weiterreichen darf.
                        Diese Praxis halte ich persönlich für äußerst fragwürdig. Das Landgericht sollte erkennen, dass der Antragsteller nicht nur den Anschlussinhaber zu einer IP ermitteln möchte (was sein gutes Recht ist), sondern gleichzeitig überhaupt erst mal feststellen will, welche IP es war.
                        Das Landgericht müsste sich vom Antragsteller nachweisen lassen, dass er bereits eine eindeutige Zuordnung Tat -> IP vornehmen kann und dazu nicht gegen Datenschutzrichtlinien verstoßen hat.
                        Ansonsten sind IPs überhaupt nicht anonymisierbar, denn jedes genullte Bit erhöht nur den Aufwand bei der Identifizierung. Man nullt so viele, dass der Aufwand zu hoch wird. Wenn aber die Gerichte und Provider diesen Aufwand durch Massenabfragen wieder reduzieren, muss man so viele Bits nullen, dass zu viele IPs zusammen fallen und für die Datenverarbeitung unbrauchbar werden.

                        Kommentar


                        • #13
                          Offtopic:

                          Nachdem noch niemand darauf hingewiesen hat: global ist böse. Das solltest du nicht verwenden.

                          Kommentar


                          • #14
                            Zitat von onemorenerd Beitrag anzeigen
                            ...
                            Diese Praxis halte ich persönlich für äußerst fragwürdig. Das Landgericht sollte erkennen, dass der Antragsteller nicht nur den Anschlussinhaber zu einer IP ermitteln möchte (was sein gutes Recht ist), sondern gleichzeitig überhaupt erst mal feststellen will, welche IP es war.
                            Das Landgericht müsste sich vom Antragsteller nachweisen lassen, dass er bereits eine eindeutige Zuordnung Tat -> IP vornehmen kann und dazu nicht gegen Datenschutzrichtlinien verstoßen hat.
                            Dein gesunder Menschenverstand in allen Ehren, aber erklär das mal den verantwortlichen Richtern. Anscheinend hast du noch nie Post von einer Anwaltskanzlei bekommen, die ihre Abmahnungen auf die von mir erläuterte Methode stützt. Ich kenne aber Leute, denen ist genau das passiert.

                            Ansonsten sind IPs überhaupt nicht anonymisierbar, denn jedes genullte Bit erhöht nur den Aufwand bei der Identifizierung. ...
                            Warum eigentlich "nullen"? Ich dachte bisher, dass "randomisieren" die Lösung der Wahl wäre, also den Teilbereich durch eine willkürlich gewählte Zahl von 0 bis 255 zu ersetzen. Der Website-Betreiber hat so dem Datenschutz genüge getan. Wenn er die so manipulierte IP-Adresse dann eventuell herausrücken muss, hat der dann "ermittelte" IP-Endnutzer das Problem, zu beweisen, dass er keinen Internetanschluss besitzt, zur fraglichen Zeit nicht zu Hause war, usw. ...

                            ... Wenn aber die Gerichte und Provider diesen Aufwand durch Massenabfragen wieder reduzieren, ...
                            Das tun die Gerichte, um sich Arbeit zu sparen. Die Provider tun das, um sich Ärger vom Hals zu halten.

                            Zitat von cosinus;
                            Auf dieser Seite hat sich Jemand die Arbeit gemacht, das Ganze genauer zu testen.
                            Anscheinend hat der das Prinzip einer Hash-Funktion nicht richtig verstanden. Klar kann man bspw. MD5 per Rainbow-Table "zurückrechenen". Aber wenn man ein brauchbares Salt hinzufügt und dies in kürzeren Abständen ändert, dürfte die Rückrechnung extrem erschwert bis unmöglich sein, obwohl gleichzeitig die Besucherzählung kaum beeinträchtigt wäre.
                            Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                            Kommentar


                            • #15
                              Zitat von fireweasel Beitrag anzeigen
                              Anscheinend hast du noch nie Post von einer Anwaltskanzlei bekommen, die ihre Abmahnungen auf die von mir erläuterte Methode stützt. Ich kenne aber Leute, denen ist genau das passiert.
                              Ich betreibe selbst keine Webseiten, aber ein Kunde hat schon mal Post von einem Anwalt bekommen und musste eine IP rausrücken. Seine Antwort war sinngemäß: "Wir speichern IPs nur anonymisiert. Falls sie mit f0c646b6634e67ab91d07f91863e6f10 was anfangen können, teilen sie uns das bitte mit - dann müssen wir nämlich unsere Anonymisierung verbessern."

                              Warum eigentlich "nullen"? Ich dachte bisher, dass "randomisieren" die Lösung der Wahl wäre, also den Teilbereich durch eine willkürlich gewählte Zahl von 0 bis 255 zu ersetzen. Der Website-Betreiber hat so dem Datenschutz genüge getan. Wenn er die so manipulierte IP-Adresse dann eventuell herausrücken muss, hat der dann "ermittelte" IP-Endnutzer das Problem, zu beweisen, dass er keinen Internetanschluss besitzt, zur fraglichen Zeit nicht zu Hause war, usw. ...
                              Der Betreiber der Webseite hat keinen Vorteil durch Randomisierung. Er bringt aber höchstwahrscheinlich Unschuldige in Erklärungsnöte. Darüber hinaus beschäftigt er völlig sinnlos unsere Justiz, die mit IP-Rückverfolgungsanfragen offensichtlich schon sehr ausgelastet ist.

                              Kommentar

                              Lädt...
                              X