Закрытый ключ пользователя используется только для аутентификации?


8

У меня есть простой вопрос относительно протокола OpenVPN. Предположим, у нас есть два разных пользователя с разными ключами для одного и того же сервера и оба ключа 1024 бит. Если эти два пользователя делают один и тот же запрос, и кто-то анализирует данные на сервере, этот человек (анализатор) увидит одинаковые данные для обоих пользователей или разные данные? Вопрос состоит в том, чтобы знать, вмешивается ли личный ключ пользователя в криптографию ПОСЛЕ аутентификации или используется только во время аутентификации. Спасибо.


При любом семантически безопасном шифровании зашифрованные данные будут отличаться, даже если и ключ, и данные идентичны. Таким образом, ваш вопрос может быть сформулирован более точно: «Использует ли протокол OpenVPN семантически безопасное шифрование?». Кроме того, в некоторых режимах шифрования любые передаваемые вами данные влияют на шифрование данных, отправляемых позже. Таким образом, даже если ключ используется только изначально, он все равно будет влиять на то, как зашифрованные данные будут выглядеть по всему соединению.
Касперд

Ответы:


10

Если эти два пользователя делают один и тот же запрос, и кто-то анализирует данные на сервере, этот человек (анализатор) увидит одинаковые данные для обоих пользователей или разные данные?

Разные данные.

Вопрос состоит в том, чтобы знать, вмешивается ли личный ключ пользователя в криптографию ПОСЛЕ аутентификации или используется только во время аутентификации.

Открытый / закрытый ключи используются только во время аутентификации / согласования ключей.


OpenVPN может работать в одном из двух режимов : с предварительным общим ключом или с использованием TLS с сертификатами. Предварительно общий ключ является статическим, постоянным, но вы спрашиваете о режиме сертификата.

Я не буду вдаваться в подробности, и вы можете посмотреть TLS самостоятельно, но в основном TLS использует сертификаты (и закрытые ключи) для аутентификации и на этапе согласования ключей. Он генерирует симметричный ключ шифрования (например, BlowFish, AES и т. Д.) И использует криптографию с открытым ключом для безопасного совместного использования этого ключа.

Фактические сообщения затем шифруются симметричным шифрованием. Каждый сеанс имеет свой собственный независимый ключ шифрования (поэтому, если вы отключаетесь и снова подключаетесь, вы фактически получаете другой ключ). Аналогично, у каждого пользователя будут разные сессии и, следовательно, разные ключи.

Есть две причины для этого. Симметричное шифрование значительно быстрее, чем асимметричное шифрование, поэтому оно предпочтительнее для высокой пропускной способности (трудность заключается в совместном использовании ключей, который решает фаза согласования). Кроме того, каждый раз генерируя новый ключ, скомпрометированным ключам сложнее раскрыть данные других сеансов ( FS ).


Ах, вот и все - ответ, который я находился в процессе написания, только гораздо более четко выражен. +1 от меня.
MadHatter

+1 и принят в качестве ответа. Ваш ответ был очень ценным и очистил мои вопросы. Спасибо
user2864778

1

Каждый клиент будет шифровать свои данные с помощью согласованного ключа между клиентом и сервером, поэтому данные, полученные на шлюзе VPN, будут разными для обоих пользователей.


2
Первая часть не верна. OpenVPN использует TLS , который не использует криптографию с открытым ключом для шифрования сообщений.
Боб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.