SSL и сертификаты - PullRequest
       6

SSL и сертификаты

4 голосов
/ 24 ноября 2010

1) Насколько я знаю, невозможно установить SSL-соединение, когда только клиент требуется для предоставления сертификата.Любая идея, почему SSL не позволяет это?

2) Я предполагаю, что SSL-соединение может быть настроено на:

  • требуется только сервер для предоставления сертификата
  • требует, чтобы и сервер, и клиент предоставили свои сертификаты

3) Возможно, глупый вопрос, но как SSL "узнает", какая сторона является клиентом, а какая - сервером?

4) Возможно ли установить SSL-соединение без SSL-запроса каких-либо сертификатов?

спасибо

Ответы [ 2 ]

7 голосов
/ 24 ноября 2010
  1. Если сервер не аутентифицирован, у вас действительно не может быть частного канала & ndash; для человека в середине слишком легко подслушивать, передавая трафик между двумя законными сторонами. Если у вас нет конфиденциальности или аутентификации, зачем использовать SSL? На самом деле существуют «анонимные» режимы, в которых криптография с открытым ключом используется для согласования ключа шифрования, но ни клиент, ни сервер не предоставляют сертификаты; но я никогда не видел, чтобы они использовались, возможно потому, что они не могут противостоять атаке подслушивающего человека.

  2. Да, сервер предоставляет сертификат. Сервер может запросить сертификат у клиента. Клиент может ответить сертификатом или проигнорировать запрос. Если запрос игнорируется, сервер может продолжить работу с анонимным клиентом или разорвать соединение.

  3. Роли клиента и сервера устанавливаются во время рукопожатия SSL. Первое сообщение называется ClientHello. Сторона, которая отправляет это сообщение, является клиентом. Обычно это сторона, инициировавшая TCP-соединение, но это не обязательно (фактически, в SSL нет ничего, что требует TCP в качестве транспорта).

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

3 голосов
/ 22 февраля 2011

Добрый день,

Вот ответы на ваши вопросы:

1) Насколько я знаю, невозможно установить SSL-соединение, когда требуется только клиент для предоставления сертификата. Есть идеи, почему SSL не позволяет этого?

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

2) Я предполагаю, что SSL-соединение можно настроить на:

требуется только сервер для предоставления сертификата требует, чтобы и сервер, и клиент предоставили свои сертификаты

Сервер действительно необходим. Но также клиент должен предоставить CSR, чтобы иметь уникальный SSL-сертификат для конкретного веб-сайта.

3) Вероятно, глупый вопрос, но как SSL «узнает», какая сторона является клиентом, а какая - сервером?

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

4) Можно ли установить SSL-соединение без SSL-запроса каких-либо сертификатов?

Это зависит от типа сертификата (автоматически сгенерированного или из центра сертификации). Сертификат SSL является уникальным и выдается только для конкретного веб-сайта и в соответствии с CSR, предоставленным клиентом.

С уважением,

www.networking4all.fr

...