So schützen wir eure Antworten
Paarklang vergleicht eure Antworten, ohne dass sie jemand anderes zu sehen bekommt: nicht wir, nicht der Messenger und nicht euer Gegenüber, außer bei Karten, bei denen ihr beide Ja oder Vielleicht gesagt habt.
Das Verfahren in einfachen Worten
- Dein Browser wählt einen geheimen Zufallsschlüssel. Jede Karte, die du mit Ja oder Vielleicht beantwortest, wird in einen Zahlenwert umgerechnet und mit deinem Schlüssel „verschlossen“. Die Reihenfolge wird gemischt.
- Dein Gegenüber verschließt deine Werte zusätzlich mit seinem eigenen Schlüssel und schickt sie zurück, zusammen mit seinen eigenen, nur mit seinem Schlüssel verschlossenen Werten.
- Dein Browser verschließt die Werte deines Gegenübers mit deinem Schlüssel. Jetzt tragen alle Werte beide Schlösser. Nur gleiche Karten ergeben gleiche Werte, und nur diese erkennt dein Browser wieder. Mit dem letzten Link kann auch dein Gegenüber die gemeinsamen Karten bestimmen.
Fachlich ist das eine Private Set Intersection nach Diffie-Hellman auf der Gruppe ristretto255 (RFC 9496); Karten werden mit hash_to_ristretto255 (RFC 9380) abgebildet, mit einer eigenen Kennung je Abgleich. Wir nutzen die Open-Source-Bibliothek @noble/curves (MIT-Lizenz, Lizenztext), die auf unserem Server liegt und nicht von fremden Servern geladen wird.
Warum unser Server nichts sieht
Die verschlüsselten Werte stehen im Link hinter dem #-Zeichen. Browser schicken diesen Teil eines Links nie an den Server. Unser Server liefert nur die App aus und zählt Seitenaufrufe ohne Cookies und ohne IP-Adresse (Datenschutz).
Was das Verfahren nicht leistet
- Anzahl: Jede Seite erfährt, bei wie vielen Karten der andere Ja oder Vielleicht gesagt hat, nicht bei welchen.
- Alles bejahen: Wer bei jeder Karte Ja sagt, sieht alle Ja-Karten des anderen als Treffer. Die angezeigte Anzahl macht das erkennbar. Paarklang ist für Paare gedacht, die einander vertrauen.
- Verschiedene Ergebnisse: Wer den Ablauf absichtlich manipuliert, kann dem anderen ein anderes Ergebnis zeigen als sich selbst.
- Euer Gerät: Schlüssel und Ergebnis liegen im Browser-Speicher eures Geräts, bis ihr sie löscht. Wer euer entsperrtes Gerät benutzt, könnte das Ergebnis sehen. Der Knopf „Alle Angaben auf diesem Gerät löschen“ entfernt alles.
- Verlauf: Der Link steht danach eventuell im Verlauf eures Browsers oder Messengers. Er enthält keine lesbaren Antworten.
Fragen zur Technik beantworten wir gern: Venture34@westlabsai.com.