Я пытаюсь настроить связь клиент/сервер для приложения через libsodium. Пока я планирую распространять приложение с жестко закодированным открытым ключом. Сервер будет хранить свой секретный ключ, не разделяя его. Это должно позволить пользователям шифровать сообщения и отправлять их на сервер, где секретный ключ расшифровывает сообщения.Частный ключ скомпрометирован, как распространять новые открытые ключи? Модель клиентского сервера с помощью асимметричного шифрования ключей
В случае, если секретный ключ на сервере когда-либо скомпрометирован (я не уверен, как, но на всякий случай), как можно распространять новые открытые ключи для всех клиентов? Есть ли способ генерировать новый секретный ключ, не требуя распространения новых открытых ключей? Что-то вроде:
make_new_secret(secret_buffer, previous_public);
я надеялся на очень простое решение, которое не потребует сложных алгоритмов для безопасного раздавая новые открытые ключи. Если сделать новый закрытый ключ необходимо сделать, а также сделать новый открытый ключ, какие алгоритмы могут быть использованы для безопасного распространения открытых ключей с сервера на клиентов?
Дополнительная информация (не стесняйтесь, чтобы пропустить):
Мы можем прочитать here где Гленн Фидлер (автор libyojimbo, который использует libsodium) говорит об идее «просто катить новый секретный ключ» ,
Если есть способ повторно использовать старые открытые ключи и создать новый закрытый ключ с помощью libsodium, я бы с удовольствием прочитал об этом. Я прошел через документы и еще не видел никаких функций для этого. Поэтому я боюсь, что мне, возможно, придется углубиться в более сложные алгоритмы для безопасного распространения новых открытых ключей.
Я проверил Diffie Hellman, но, похоже, обе стороны должны начать с общего «цвета». Поэтому я полагаю, что мой вопрос заключается в том, чтобы перейти к новому согласованному начальному цвету.
Хорошо, это хорошо, что это действительно сложная тема. Мой вариант использования - игра, выпущенная через Steam. Таким образом, в этом случае на самом деле не проблема перераспределять новые двоичные файлы для пользователей. Так что это имеет смысл! В моем случае я настраиваю сервер брокера для NAT-puncthrough, как STUN-сервер, но с пользовательским протоколом. – Cecil
Чтобы быть ясным: я просто пытаюсь защитить сам STUN-подобный сервер и читаю на шифровании. В любом случае, спасибо за ответ! – Cecil