Насколько безопасен SSL? - PullRequest
27 голосов
/ 04 июня 2009

Насколько безопасен SSL (Secure Socket Layer)? Как, например, сколько потребуется, чтобы взломать пароль, отправленный через SSL?

Ответы [ 9 ]

32 голосов
/ 04 июня 2009

Если все настроено / защищено должным образом, и мы говорим о 128-битных ключах, значительно дольше, чем возраст вселенной .

Я хотел бы отметить, что предыдущие взломы в SSL полагались на "дыру" в MD5 , что приводило к изменению некоторых методов проверки ..

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

11 голосов
/ 04 июня 2009

У SSLv2 были проблемы с атаками MITM, которые могли привести к согласованию шифров низкого качества. В те дни это, как правило, включало в себя список шифров «экспортного качества», которые были преднамеренно слабыми и могли быть реально взломаны только с помощью грубой силы.

SSLv3 / TLSv1 эффективно решил проблему согласования, и вскоре после этого многие из шифров более низкого качества были сняты с производства, поскольку ограничения на экспорт в США были сняты и появилось множество сканеров соответствия.

Генерация PRF в SSL использует как MD5, так и SHA1 в качестве ставки, чтобы предотвратить взлом системы, если один из алгоритмов хеширования был скомпрометирован в достаточной степени. Одним из способов атаки на SSL является достаточная компрометация обоих алгоритмов, используемых в функции PRF. IIRC - это просто своего рода XOR ввода, проходящего через оба.

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

(Вы можете взломать шифр (RSA, AES и т. Д.), Но это не обязательно приводит к нарушению самого SSL)

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

И, наконец, моя любимая слабость SSL - это атаки на «надежность» системы. Независимо от используемых алгоритмов / шифров шифрование бесполезно без доверия.

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

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

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

Требуется только компромисс любого ЦС, посредника, посредника и т. Д., Чтобы эффективно скомпрометировать весь якорь доверия (фактически, планету Земля). Это можно и было сделано: иногда случайно, иногда намеренно. Если вы используете IE, убедитесь сами:

Сервис-Свойства обозревателя-Сертификаты-Ненадежные издатели .. К сожалению ...

Существуют смягчающие факторы: даты истечения срока действия сертификата, списки отзыва ... и т. Д., Но, на мой взгляд, проблема доверия остается главной уязвимостью всей системы.

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

7 голосов
/ 04 июня 2009

Стив Гибсон объяснил, как именно протокол работает на недавнем подкасте Security Now . Если вас интересует конкретика, то определенно стоит послушать.

4 голосов
/ 04 июня 2009

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

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

3 голосов
/ 04 июня 2009

Зависит от длины ключа, алгоритма и фермы серверов для его расшифровки.

2 голосов
/ 04 июня 2009

Вы упомянули «отправить пароль» через SSL.

Может быть, вопрос здесь, как вы

  1. Защита паролей (хранятся в виде хэша, открытого текста и т. Д.)
  2. Ограничение скорости попыток входа в систему (например, если вы допустите макс. 1 грубую силу от внешних источников, это займет очень много времени)
  3. Важная вещь о SSL: где и как хранится ваш закрытый ключ (зашифрованный на диске, внутри специального нечитаемого оборудования)?

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

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

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

Так что я думаю, что безопасность установленных протоколов не должна быть первой проблемой, о которой стоит беспокоиться.

2 голосов
/ 04 июня 2009

Хорошо, у SSL v2 были некоторые недостатки, SSL v3 довольно безопасен. Время будет зависеть от длины ключа сертификата и от того, насколько быстро вы сможете расшифровать SHA-1 с помощью шифрования RSA.

Совершенно безопасно, я бы сказал:)

1 голос
/ 04 июня 2009

пока какая-нибудь яркая искра не увидит дыру.

Мы думали, что ssl был безопасен до конца времени - извините altCognito =>, а недавно некоторые поняли, что md5 может быть небезопасным.

Ваша защита настолько же надежна, насколько и криптографическая, используемая для ее защиты, и только потому, что она считается вычислительно сложной, т. Е. Требует грубого усилия, которое не учитывает инновации, см. Ссылку на PS3.

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

Вы видите там 2 вопроса?

Также недавно

http://www.schneier.com/blog/archives/2008/12/forging_ssl_cer.html

и для обсуждения по SSL3 прочитайте экспертов - http://www.schneier.com/paper-ssl.html

http://www.darkreading.com/security/attacks/showArticle.jhtml?articleID=212700234

0 голосов
/ 04 июня 2009

При условии, что «мы» знаем о некоторых основах криптозащиты (например, что очень трудно вычислять очень большие числа), современный SSL является способным безопасным.

Реальная угроза не в том, что кто-то собирается взломать SSL, - гораздо лучше поспорить, что будет найден какой-то другой способ получить интересные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...