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