(Disclaimer: Ich weiß, wenn Sie etwas über Krypto wissen, werden Sie mir wahrscheinlich sagen, warum ich es falsch mache - ich habe genug gegoogelt, um zu wissen, dass dies die typische Antwort zu sein scheint.]
Stellen Sie sich Folgendes vor: Sie haben eine zentrale Behörde, die Anmelde-Cookies für einen bestimmten Bereich ausstellen möchte. Auf dieser Domäne vertrauen Sie nicht unbedingt jedem, aber Sie haben ein paar wichtige Endpunkte, die in der Lage sein sollten, das Cookie zu lesen. Ich sage "einige", aber in der Praxis kann die Zahl der "vertrauenswürdigen" Partner sehr groß sein. Das Cookie enthält nicht viele Informationen - einen Benutzernamen, einen Zeitstempel, ein Ablaufdatum, eine Zufallszahl. Er sollte natürlich aus Leistungsgründen klein bleiben, auch nach der Verschlüsselung (in einem vernünftigen Rahmen). Nun gibt es zwei Sicherheitsprobleme:
1) Wir vertrauen nicht jedem Webserver in dieser Domäne die Benutzerdaten an. Aus diesem Grund sollte die Möglichkeit, das Cookie zu lesen, auf diese vertrauenswürdigen Partner beschränkt werden. 2) Wir vertrauen diesen Partnern zwar, dass sie die Daten unserer Nutzer schützen, möchten aber dennoch, dass die zentrale Stelle fälschungssicher ist (wiederum in einem vernünftigen Rahmen).
Wenn wir nun einen privaten RSA-Schlüssel für die Behörde generieren und ihn geheim halten und den öffentlichen Schlüssel nur an die "vertrauenswürdigen Partner" weitergeben, sollten wir in der Lage sein, mit dem privaten Schlüssel zu verschlüsseln und ihn für jeden lesbar zu machen, der den öffentlichen Schlüssel hat. Was mir nicht ganz klar ist: Müsste die Nachricht immer noch signiert werden, oder wäre die Entschlüsselung ein Beweis dafür, dass sie mit dem privaten Schlüssel erzeugt wurde? Wäre dieses Schema in irgendeiner Weise besser oder schlechter als die Verbreitung eines symmetrischen Schlüssels an alle beteiligten Parteien und die Verwendung dieses Schlüssels zum Verschlüsseln, während der private Schlüssel lediglich zum Signieren verwendet wird? Und natürlich können Sie mir gerne sagen, wie dumm diese Idee ist, aber bedenken Sie, dass praktische Argumente wahrscheinlich überzeugender sind als das Aufwärmen von Alice und Bob.
Oh, und Hinweise zur Implementierung wären willkommen, auch wenn man die Grundlagen bei Google finden kann, wenn es irgendwelche Probleme gibt, wäre das sehr hilfreich!