Симметричный ключ шифрования против.Асимметричные ключи — SSL

StackOverflow https://stackoverflow.com/questions/939687

Вопрос

Я разрабатываю приложение клиент-сервер, которое использует SSL (openssl) для установления безопасного канала связи между клиентом и сервером.Я считаю, что теперь у меня есть два варианта безопасной передачи данных между клиентом и сервером.Один из вариантов — продолжить передачу данных по установленному защищенному каналу SSL между клиентом и сервером, даже если процесс шифрования/дешифрования будет медленным из-за использования асимметричных ключей.Другой вариант — передать симметричный ключ по каналу SSL и закрыть канал SSL, как только симметричный ключ будет доставлен клиенту.После этого связь будет происходить по обычному каналу TCP с использованием симметричного ключа, который, я считаю, будет намного быстрее, чем использование асимметричных ключей.Есть ли недостатки у этого подхода?Одна вещь, которая очевидна при подходе с симметричным ключом, — это процесс управления ключами, который я собираюсь реализовать, вообще не сохраняя ключи на клиенте.Симметричный ключ будет доставлен клиенту при запуске по каналу SSL.Ключ вообще НЕ будет храниться в клиенте.Есть предположения?

Это было полезно?

Решение

Вы путаете вещи.SSL использует асимметричный ключ (определенный в сертификате) для передачи автоматически сгенерированного симметричного ключа между клиентом и сервером.Этот симметричный ключ затем используется на протяжении всего защищенного сеанса (канала).

По сути, у вас уже есть быстрое симметричное шифрование при использовании SSL.Единственное асимметричное шифрование происходит в самом начале связи.

Не пытайтесь управлять своими симметричными ключами самостоятельно.Он не будет работать.

Другие советы

Продолжайте использовать соединение SSL, поскольку после начальной фазы SSL использует симметричный шифр.

Один из вариантов — продолжить передачу данных по установленному защищенному каналу SSL между клиентом и сервером, даже если процесс шифрования/дешифрования будет медленным из-за использования асимметричных ключей.

Нет, не будет.SSL использует симметричное шифрование.

Другой вариант — передать симметричный ключ по каналу SSL и закрыть канал SSL, как только симметричный ключ будет доставлен клиенту.

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

Здесь нет проблемы, которую нужно было бы решить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top