Преимущества в безопасности подписанного CA сертификата SSL - PullRequest
2 голосов
/ 20 февраля 2012

Это всего лишь общий вопрос, касающийся споров между самоподписанными сертификатами и сертификатами CA ...

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

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

Ответы [ 2 ]

5 голосов
/ 20 февраля 2012

Подмена.Если другая сторона подделывает самозаверяющий сертификат, у вас нет возможности проверить это.Чтобы проверить, что вы получили действительный сертификат, а не поддельный, вам необходим сторонний чек, который не может быть легко подделан.Это делается путем переноса списка сертификатов корневого ЦС (и некоторых промежуточных сертификатов) с вашим программным обеспечением на стороне клиента (Windows включает в себя такие сертификаты для вас, и основные браузеры делают то же самое) и проверкой сертификата, который вы получаете от сервера, используя эти сертификаты ЦС,С самозаверяющими сертификатами такая проверка невозможна.

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

4 голосов
/ 20 февраля 2012

Разница не в алгоритме, а в том, доверяют ли люди центру сертификации или нет.

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

Если я скажу вам: «Я правильный сервер, поверьте мне в этом», вы можете не верить мне (в конце концов, вы меня не знаете).

Если я скажу вам: «Я правильный сервер, и у меня есть сертификат, подтверждающий это», вы можете сказать: «Хорошо, а кто вам этот сертификат дал?» Если мой ответ «Джо из-за угла», вы все равно можете не верить мне.

Но если я скажу: «У меня есть сертификат, и вы можете подтвердить его у третьей стороны, которой доверяете», вы можете решить, что это хорошее доказательство личности.

То, как вы подтверждаете, это то, что представляет собой стандарт (например, как описано в RFC 5280 ). Но это только технические детали. Вы можете использовать точно такой же алгоритм для сертификата, созданного VeriSign, и для сертификата, который вы создаете сами.

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

...