2015-10-24 3 views
1

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

Или безопаснее продолжать использовать мою собственную реализацию шифрования с использованием RSA/AES на уровне сообщений? Причина, по которой я хочу использовать SSL, заключается в том, что с ней гораздо проще работать, особенно когда я хочу передавать медиа, поскольку мне не нужно отправлять ее в куски.

+2

Вы можете использовать самозаверяющий сертификат, если вы можете проверить его действительность, например, с фиксацией сертификата. Не используйте RSA + AES самостоятельно. Вы можете сделать что-то плохое. –

ответ

0

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

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

Сертификаты могут быть безопасными для использования, если сверстник может проверить его надлежащим образом. Обычная проверка выполняется на основе доверенного корневого ЦС, содержащегося в браузере или операционной системе. Но это само-подписанный сертификат не может быть проверен таким образом не означает, что она не может быть подтверждено на всех, потому что:

  • Вы можете явно указать его как доверенный в хранилище сертификатов браузера/OS.
  • Вы можете сделать исключение при первом использовании после того, как убедитесь, что сертификат, который вы получаете в браузере, на самом деле тот, который вам известен (путем сравнения отпечатка пальца, а не только объекта).
  • Если у вас есть собственное приложение, вы можете отправить приложение, чтобы оно (только) доверяло этому сертификату.

Конечно, явно импортировать сертификат в качестве доверенного или сделать исключение в браузере не очень хорошо масштабируется, потому что это необходимо сделать для каждого пользователя. И это основной пункт сертификатов, подписанных CA: сертификат получает неявное доверие, поскольку он подписывается кем-то доверенным, а не тем, что каждый пользователь должен проверять и доверять сертификату вручную. И это также единственная причина, по которой вы хотите использовать сертификат CA-signed на производстве. До тех пор, пока сертификат должным образом подтвердил, что это не имеет значения, было ли оно самоподписанным или нет.

Или безопаснее продолжать использовать собственную реализацию шифрования с использованием RSA/AES на уровне сообщений?

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

 Смежные вопросы

  • Нет связанных вопросов^_^