burnMSG – verschlüsselte Einmal-Nachrichten, die sich selbst löschen

Hi zusammen,
ich wollte einen Privnote-ähnlichen Dienst nutzen, war mir aber nie ganz sicher, was bei den bekannten Anbietern serverseitig eigentlich passiert. Also hab ich mir selbst eines gebaut: burnMSG.

Kurz zur Funktionsweise:

Der Text wird im Browser mit AES-256-GCM verschlüsselt (Web Crypto API), bevor überhaupt etwas an den Server geht. Der Schlüssel steckt nur im Teil des Links hinter dem # – das Fragment wird von Browsern grundsätzlich nie mitgesendet, landet also nicht in Server-Logs oder der Datenbank. Wer die DB in die Finger bekommt, sieht ausschließlich Chiffretext.

Funktionen:

Löschung nach dem ersten Öffnen, alternativ Ablaufzeit (1h/1Tag/7Tage/30Tage)

Optionaler Passwortschutz – der Schlüssel wird dann per PBKDF2 (250k Iterationen) aus Link und Passwort gemeinsam abgeleitet, es reicht also nicht, nur eines von beiden zu kennen

Link-Vorschauen von Messengern verbrauchen die Notiz nicht, nur ein bewusster Klick auf „Anzeigen"

QR-Code fürs Teilen, komplett clientseitig erzeugt (kein Drittanbieter-API bekommt den Link samt Schlüssel zu sehen)

Öffentliche, rein aggregierte Statistik-Seite – keine Inhalte, keine IPs

Kein Account, kein Tracking. PHP/MySQL-Backend, Quellcode ist einsehbar.

Was ich bewusst nicht schönrede:
Bei Passwortschutz + „nach dem Lesen löschen" verbrennt ein Öffnungsversuch die Notiz auch dann, wenn das Passwort falsch war – der Server sieht das Passwort ja nie und kann es deshalb auch nicht vorher prüfen.

Steht so auch auf der Über-Seite, ist halt ein bekannter Kompromiss von Zero-Knowledge-Systemen.

https://www.burnmsg.com/

Freue mich über kritisches Feedback, gerade von Leuten hier, die sich mit sowas auskennen. Bug-Reports bzw. Sicherheitshinweise gerne über die Kontaktseite – Credit gebe ich öffentlich, eine Bug-Bounty kann ich aktuell nicht bieten.

2 Likes

Ich hab früher viel mit PrivateBin (ZeroBin) experimentiert. Ist allerdings schon länger her. Danach habe ich mich gar nicht mehr mit solchen Projekten beschäftigt. Deshalb meine Frage, welche Source du genutzt hast?

Da hier read only ist, wird er Dir das nur per PN beantworten können.

THXX for Info!

:joy: