2009-07-01 2 views
0

Dies ist eine bewährte Sicherheitsvorkehrung und ich frage mich, ob ich meine Zeit damit verschwenden sollte.Sollte ich den Inhalt von Browser/Javascript-Speicher verschlüsseln?

In der gleichen Art wie bei einem ersten Crack des Blu-ray-Filmformats haben Hacker gerade den Speicher eines Spielers untersucht, um einen Schlüsselwert auszuspionieren.

Es scheint, als ob es machbar ist, dasselbe mit dem Browserspeicher zu machen und Werte zu betrachten, die der Javascript-Interpreter eingestellt hat - sollte ich also Daten verschlüsseln, die sich im Speicher befinden?

Denken Sie sich das durch - es ist schließlich verrückt, b/c, wenn mein Browser sensible Daten auf dem Bildschirm anzeigt, denkbar, dass ein Teil der Daten im Speicher ist und könnte geschnüffelt werden. Es wäre also egal, ob ich diese Daten irgendwo in Javascript verschlüsseln würde.

ich eine harte Zeit habe zu erklären, meinen Vorgesetzten, warum wir auf dieser Ebene der Sicherheit gehen shouldnt ...

Antwort

5

Wirklich, wenn Sie sich mit einigen Daten im Browser beschäftigt sind, dann sollte es nicht da sein. Wenn Daten an den Client gesendet werden, können Sie davon ausgehen, dass sie kompromittiert sind, da Sie keine Möglichkeit haben, die Sicherheit zu gewährleisten. Andere haben einen guten Punkt angesprochen, Sie senden verschlüsselte Informationen an den Client, aber Sie werden nichts damit tun können, weil Sie es entschlüsseln müssen, um es dem Endbenutzer zu zeigen. Deshalb sehen Sie, wenn Sie sich die Vorschriften für Banken ansehen, niemals persönliche Informationen (SSN usw.) im Browser, es sei denn, sie wurden vom Benutzer spezifisch eingegeben (eingegeben und dann zurückgeschickt).

+0

Auch dann zeigen sie es nicht an. Zumindest nicht meine Bank-Website. Sie speichern es auf dem Server und enthalten nur die letzten vier Zeichen (falls vorhanden) in der Antwort. Ganz über SSL. –

+0

Ich bin seit ein paar Jahren aus dem Bankenbereich, also bin ich nicht überrascht, wenn ihre Vorschriften noch strenger geworden sind, was sie anzeigen können. – kemiller2002

0

Adam,

Es ist ein Client-Problem. Wenn Sie für das Web programmieren, sind Browser Clients, Sie müssen keine Sicherheitsprobleme auf der Client-Seite lösen, wenn dies nicht der Bereich Ihres Projekts ist.

0

Verschwenden Sie keine Zeit, da es unmöglich ist, verschlüsselte Daten im clientseitigen Speicher zu speichern, während sie entschlüsselt angezeigt werden. In der Tat, das ist unmöglich, es ist völlig absurd!

Aus diesem Grund spuckt die Website meiner Bank nur die letzten vier Zeichen meiner Kontonummer in der Antwort aus.

0

Wie viele Desktop-Anwendungen verbringen ihre Zeit damit, den Inhalt von Variablen zu verschlüsseln? Es ist genau dasselbe.

0

Die Idee ist, dass Sie der Person vertrauen, die Ihre Anwendung verwendet (weil Sie ihnen Zugriff auf die Daten gewähren), aber Sie sollten keine weiteren Daten an den Client senden, als Sie sie zeigen möchten. Ansonsten stößt man auf die gleiche Art von Problemen, auf die FPS-Spiele mit Wall-Hacks etc. stoßen. (Um einen Feind genau zur richtigen Zeit erscheinen zu lassen, wenn er um die Ecke rennt, muss man dem Client sagen, wo der Feind ist ist und in welche Richtung sie sich bewegen, auch wenn der Spieler sie nicht sehen kann). Du willst wenn möglich davon wegkommen.

Sie vertrauen dem Benutzer, aber Sie sollten dem Netzwerk nicht vertrauen, daher ist die Verwendung von etwas wie SSL zwischen Client und Server sinnvoll.

Leider muss man der Plattform des Benutzers vertrauen. Das ist schwierig. Nicht alle Browser sind gleich. Einige verwenden Sandboxing, was es für eine andere Anwendung auf dem Computer (oder im selben Browser) schwieriger macht, auf Ihre Kundendaten zuzugreifen, aber es ist immer noch möglich. Einige verwenden keine Form von Sandboxing. Sie können jedoch nicht viel tun, da Sie Ihre Daten entschlüsseln müssen, um sie dem Benutzer anzuzeigen.

Das Beste, was Sie tun können, ist, die Daten zu begrenzen, die der Benutzer sehen kann, oder welche Aktionen er damit machen kann.

0

Ihre Vorgesetzten haben Recht.

Sie haben kein Recht Informationen über meine Maschine von mich zu verstecken. Und glücklicherweise ist es technisch unmöglich, zuverlässig zu arbeiten. Wenn du ein Geheimnis hast, dem du mich nicht vertraust, schicke es mir nicht.

Verwandte Themen