Насколько безопасен SSH-туннель или соединение?

20

Я часто советовал людям использовать SSH-туннель для обеспечения безопасности их просмотра в открытых WIFI или в других небезопасных ситуациях.
Недавно мой друг спросил, насколько безопасен туннель SSH после того, как я предложил SSH туннелирование. Я немного споткнулся и повторил «безопасно».

Несмотря на то, что он был удовлетворен этим ответом, он немного раздражал меня, что я не мог ответить полностью.
Итак, вопрос к вам, ребята:

"Насколько безопасен туннель SSH?"

madmaze
источник
Краткий комментарий; Если используется SSH-туннель, безопасность этого соединения так же хороша, как и его конечные точки. Это означает, что если кто-то / что-то имеет низкоуровневый доступ к ОС или сети, можно подключиться к носителю и прочитать содержимое туннеля.
Mogget

Ответы:

31

Я просто хотел бы процитировать немного из Википедии здесь:

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

С ключом длиной n битов есть 2 n возможных ключей. Это число растет очень быстро с ростом n. Закон Мура предполагает, что вычислительная мощность удваивается примерно каждые 18–24 месяца, но даже этот эффект удвоения оставляет большие длины симметричных ключей, которые в настоящее время считаются приемлемо, недосягаемыми. Большое количество операций (2 128) считается, что в обозримом будущем все возможные 128-битные ключи считаются недостижимыми для традиционных методов цифровых вычислений. Однако ожидаются альтернативные формы вычислительных технологий, которые могут иметь более высокую вычислительную мощность, чем классические компьютеры. Если квантовый компьютер подходящего размера, способный работать с алгоритмом Гровера, станет надежно доступным, он уменьшит 128-битный ключ до 64-битной защиты, что примерно эквивалентно DES. Это одна из причин, почему AES поддерживает 256-битную длину ключа. См. Обсуждение взаимосвязи между длиной ключа и атаками квантовых вычислений в нижней части этой страницы для получения дополнительной информации.

Таким образом, 128-битный ключ будет иметь 340 282 366 920 938 463 463 374 607 431 768 211 456 возможных перестановок. Представь, что ты проходишь через все это. Даже мощный настольный компьютер может попробовать только несколько в секунду.

Таким образом, хотя теоретически возможно дешифрование потока SSH методом «грубой силы», к тому времени, когда ключ будет расшифрован самым мощным компьютером, который можно себе представить, произойдет две вещи:

  1. Ключ был бы изменен SSH
  2. Мы бы все умерли, а солнце взорвалось и уничтожило землю.
Majenko
источник
9
+1 Всего за 12 секунд я узнал, что я и все, кого я знаю, умрут, а солнце взорвется.
MetaGuru
1
@ioSamurai Мех ... нет, солнце не взорвется, оно намного сложнее.
Килан
Вы говорите, что вам придется пройти через 340 ... (огромное количество), но это при условии, что это последний ключ, который вы попробуете, который является хорошим, не так ли? Я предполагаю, что вероятность того, что ключ находится в первом миллиарде, как минимум, несколько ниже
Ced
Вероятность того, что ключ находится в первом миллиарде, составляет около 1 в 2 ^ 98. Все еще огромное количество.
Элквис
2
Панды .... я думаю ...?
Майенко
4

<отказ от ответственности: не эксперт по криптографии>

SSHv2 использует в основном те же алгоритмы, что и TLS / SSL:

  • DH , недавно ECDH или RSA для обмена ключами;
  • RSA , DSA или ECDSA для аутентификации сервера (и очень часто для аутентификации клиента).
  • AES для симметричного шифрования (весь поток данных шифруется с использованием случайно сгенерированного ключа).

Все они широко используются и доказали свою безопасность для повседневного использования.

Однако в любом протоколе безопасность зависит от знания того, что вы общаетесь с нужным сервером. В случае SSH (стандартная конфигурация) при первом подключении к серверу необходимо проверить его отпечаток . (Не просто подтвердите это, не проверив, как это делают многие люди.) В следующий раз ключ сервера будет проверен на соответствие кэшированной копии, чтобы предотвратить атаки типа «человек посередине», но только в том случае, если правильный ключ был кэширован. на первом месте.

(Для сравнения, TLS / SSL обрабатывает вышеупомянутое, используя сертификаты X.509, выпущенные известными властями, которым доверяют не подписывать поддельные сертификаты.)

grawity
источник
-1

Настоящая проблема безопасности SSH - сертификаты. Многие компании выдают защищенные ключи для соединений SSH, и базы данных, содержащие эти ключи, не впервые взламываются. Поэтому лучшее решение для обеспечения безопасности - это создание собственной пары ключей, но это хлопотно, и именно поэтому мы полагаемся на эти компании ... Пока они не взломаны, и нам не нужно проверять 340 282 366 920 938 463 463 374 607 431 768 211 456 ключей, но только в базе данных.

Мишель Кейперс Хаошье
источник
2
Сгенерировать пару ключей для SSH не составит труда: вы нажимаете кнопку или вводите команду и ждете несколько секунд. Я никогда не слышал о том, чтобы кто-нибудь использовал сторонний сервис генерации ключей SSH. Вы никогда не должны полагаться на кого-то другого, чтобы создать личный ключ для вас.
Вайзард
Разве не было большой новостью пару лет назад, когда какая-то компания использовала одни и те же ключи на ВСЕХ своих серверах, все ключи были доступны для загрузки на одном из серверов, и в качестве исходного ключа использовался сотрудник, которого вы не имели? Я не работал в компании около 10 лет, поэтому никто не знал, что его ключ использовался, не говоря уже о том, что он еще активен.
Фил Хили