[Отказ от ответственности: я знаю, если вы знаете что-нибудь о крипто, вы, вероятно, собираетесь рассказать мне, почему я делаю это неправильно - я сделал достаточно Google, чтобы понять, что это типичный ответ.]
Предположим следующее: у вас есть центральный орган, который хочет выпустить файлы cookie для определенного домена. В этом домене вы не обязательно доверяете всем, но у вас есть несколько ключевых конечных точек, которые должны иметь возможность читать cookie. Я говорю несколько, но на практике это число "доверенных" партнеров может быть большим. Файл cookie не содержит много информации - имя пользователя, временную метку, истечение срока действия, случайное число. Он должен оставаться небольшим, конечно, по соображениям производительности, даже после шифрования (в пределах разумного). Теперь есть две проблемы безопасности:
1) Мы не доверяем каждому веб-серверу в этом домене с пользовательскими данными. По этой причине способность читать файл cookie должна быть ограничена этими доверенными партнерами. 2) В то время как мы доверяем этим партнерам для защиты наших пользовательских данных, нам все равно хотелось бы, чтобы центральная точка власти была неприступной (опять же, в разумных пределах).
Теперь, если мы создадим закрытый ключ RSA для этого органа и сохраняем его в тайне и распространяем открытый ключ только на "доверенных партнеров", мы должны иметь возможность шифровать с помощью закрытого ключа и читать его любым пользователем открытый ключ. Я не понимаю, будет ли еще необходимо подписать это сообщение, или же акт расшифровки будет доказательством того, что он был создан с помощью закрытого ключа? Является ли это каким-либо способом, в котором эта схема будет лучше или хуже, чем распространение симметричного ключа для всех вовлеченных сторон и использование этого для шифрования, при использовании закрытого ключа только для подписывания? И, конечно, не стесняйтесь рассказывать мне все, что это глупая идея, но помните, что практические аргументы, вероятно, будут более убедительными, чем повторение Алисы и Боба.
О, и указатели на реализацию будут приветствоваться, хотя можно найти основы для Google, если есть какие-либо "gotchas", которые были бы полезны!