tami: Unsicherheit von Web-Apps oder browserbasierten Apps

Beitrag lesen

hi molily,

Hallo,

»… my former employer LivingSocial used in-browser crypto to encrypt credit card numbers in-browser with their payment processor’s public key«
»In this approach, there’s an implicit trust relationship between the user and the site they’re accessing. What we see happening here is cryptography being used to protect the web site’s interests, not the user’s. For this purpose, in-browser crypto is great!«

Das lese ich so, dass kryptografische Übertragung von Textnachrichten eigentlich prima möglich ist?

Das lese ich anders. Wichtig ist hier »protect the web site’s interests, not the user’s«. Das Übertragen von verschlüsselten Textnachrichten zwischen Usern wäre eine »user’s interest«.

Was der Text als Beispiel bringt, hat damit wenig zu tun: Kreditkartendaten werden clientseitig mit einem Public-Key des Payment-Providers verschlüsselt. Das bieten verschiedene Payment-Provider an und das haben wir auch schon einmal für Kunden implementiert.

Meine Frage ist im Grunde auch nicht allgemeiner Natur, ob irgendwas sicher "ist", sondern zielt eher danach, ob sich hier user und "web-sites" interest in Einklang bringen lassen, technisch. Also wenn es auch im Sinne des Anbieters ist, weil er zB. verschlüsselte Kommunikation ermöglichen will! Als Dienstleistung. Die Frage ist dann ja - für mich - ob und wenn ja wie das technisch umsetzbar ist (_wenn_ "man" das _will_!).

Den Crockford-Vortrag habe ich mir angesehen, spaßig und lehrreich wie immer. Den dort verwiesenen Vortrag von Marc Stielger zu lazy programming habe ich noch nicht ganz geschafft. Da geht es ja wohl eher um allgemeine Prinzipien.

Frage für mich wäre auch, in einer App, die zwar Javascript (s. Phonegap) benutzen würde, aber _keine_ externen JS-Quellen einbindet, wie das XSS überhaupt möglich wäre. Wenn die Kommunikation mit einem Server "lediglich" im Austausch von JSON-Objekten zB. bestünde. Also kein auszuführender oder ausführbarere JS-Code vom Server geholt wird.

Eine Verschlüsselung von Dateninhalten (die ja nicht für den Server sondern für einen anderen Client bestimmt wären), muss den Server in dem Sinne ja garnicht interessieren, die kann ja (s. Phongap) vielleicht auch über ein Addon/Extension/Plugin realisiert werden?

Bliebe dann noch die sichere Kommunikation mit dem Server bezüglich login, damit der Server weiß, wem er welche bereits verschlüsselten Nachrichten ausliefern darf/kann.

Den verlinkten Artikel verstehe ich immer noch so, dass es möglich wäre, wenn man es wollte, auch wenn es vielleicht eben nicht ganz trivial ist, selbst wenn man es will:

"For additional examples of the challenges of building a secure client-side JavaScript crypto application, check out Krzysztof Kotowicz’s “Keys to a Kingdom” challenge. It’s a great illustration of the sorts of problems that can arise when buiding web-based encryption applications. "

mfg

tami