Приватний ключ користувача використовується лише для авторизації?


8

У мене є просте запитання щодо протоколу OpenVPN. Припустимо, у нас є два різні користувачі, з різними ключами для одного сервера, і обидва ключі 1024 біт. Якщо ці два користувачі подають абсолютно однаковий запит, а хтось нюхає дані на сервері, ця особа (sniffer) побачить однакові дані для обох користувачів або різні дані? Питання полягає в тому, щоб знати, чи втручається приватний ключ користувача в криптографію ПІСЛЯ аутентифікації або чи використовується він лише в час аутентифікації. Дякую.


При будь-якому семантично захищеному шифруванні зашифровані дані будуть різними, навіть якщо і ключ, і дані однакові. Тож ваше запитання може бути перетворено точніше як "Чи використовує протокол OpenVPN семантично захищене шифрування?". Також у деяких режимах шифрування будь-які передані вами дані впливатимуть на шифрування даних, що надсилаються пізніше. Таким чином, навіть якщо ключ використовується лише спочатку, він все одно впливатиме на те, як виглядають зашифровані дані протягом усього з'єднання.
kasperd

Відповіді:


10

Якщо ці два користувачі подають абсолютно однаковий запит, а хтось нюхає дані на сервері, ця особа (sniffer) побачить однакові дані для обох користувачів або різні дані?

Різні дані.

Питання полягає в тому, щоб знати, чи втручається приватний ключ користувача в криптографію ПІСЛЯ аутентифікації або чи використовується він лише в час аутентифікації.

Публічні / приватні ключі використовуються лише під час аутентифікації / узгодження ключів.


OpenVPN може працювати в одному з двох режимів , загальнодоступним ключем або за допомогою TLS із сертифікатами. Попередньо розділений ключ є статичним, постійним, але ви запитуєте про режим сертифікації.

Я не збираюся надмірно деталізувати, і ви можете шукати TLS самостійно, але в основному TLS використовує сертифікати (і приватні ключі) для аутентифікації та під час фази ключових переговорів. Він генерує симетричний ключ шифрування (наприклад, BlowFish, AES тощо) і використовує криптографію з відкритим ключем для безпечного доступу до цього ключа.

Фактичні повідомлення потім шифруються симетричним шифруванням. Кожен сеанс має власний незалежний ключ шифрування (тому, якщо ви від'єднаєтесь та повторно підключитесь, ви фактично закінчите інший ключ). Так само кожен користувач матиме різні сеанси і, отже, різні клавіші.

Для цього є дві причини. Симетричне шифрування значно швидше, ніж асиметричне шифрування, тому надається перевагу для високої пропускної здатності (складність полягає в обміні ключами, який вирішує етап узгодження). Крім того, генеруючи новий ключ щоразу, компрометованим ключам важче виявити дані інших сеансів ( FS ).


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

+1 та прийнято як відповідь. Ваша відповідь була дуже цінною і очистила мої запитання. Дякую
користувач2864778

1

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


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