почему мы доверяем SSL-сертификатам?

Один мой друг спросил меня, почему мы так много платим за SSL-сертификаты, если теоретически каждый может их выпустить. Действительно, почему? И как мы можем судить, действительно ли маленькая блокировка в браузере заслуживает доверия?

Ответов (10)

Решение

Сертификаты криптографически подписываются центром сертификации (CA), и у каждого браузера есть список центров сертификации, которым он неявно доверяет. Эти центры сертификации представляют собой объекты, у которых есть набор криптографических ключей, которые можно использовать для подписи любого сертификата, часто за определенную плату. Любой сертификат, подписанный центром сертификации в списке доверенных, заблокирует браузер, поскольку доказано, что он является «доверенным» и принадлежит этому домену.

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

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

На данный момент это не на 100% безопасно, так как существует возможность подделки сертификатов CA, использующих MD5, см. Эту ссылку: http://www.phreedom.org/research/rogue-ca/ . Хотя следует отметить, что это довольно сложно, поскольку они использовали слабость в уже существующем ЦС, который, возможно, к настоящему времени был закрыт, а может и не был.

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

Бизнес в Калифорнии просто потрясающий. Я купил пару сертификатов на rapidssl.com, и все необходимые «доказательства» были следующими:

  1. Я мог получать почту в домен.
  2. Я мог ответить на свой телефон.

Вот и все. Имейте в виду, доверяя маленьким блокировкам в браузере.

Во-первых, немного предыстории надежной криптографии с открытым / закрытым ключом, на которой основан SSL:

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

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

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

«Сертификат» состоит из пары закрытого / открытого ключей, а также данных с цифровой подписью. Когда кто-то покупает сертификат SSL, он генерирует закрытый / открытый ключ и отправляет открытый ключ в центр сертификации (ЦС) для подписи. Центр сертификации проводит надлежащую проверку покупателя сертификата SSL и подписывает сертификат своим закрытым ключом. Сертификат SSL будет привязан к определенному веб-сайту или набору веб-сайтов и, по сути, является ЦС, указывающим, что они доверяют владельцу закрытого ключа сертификата, который является надлежащим владельцем этих веб-сайтов.

Корневые сертификаты (открытые ключи и другие метаданные) для доверенных центров сертификации включены по умолчанию в основные браузеры и операционные системы для доставки (в Windows введите «certmgr.msc» в приглашение запуска, чтобы увидеть диспетчер сертификатов). Когда вы подключаетесь к веб-серверу с помощью SSL, сервер отправляет вам свой SSL-сертификат, включая открытый ключ и другие метаданные, которые подписаны центром сертификации. Ваш браузер может проверить действительность сертификата с помощью подписи и предварительно загруженных корневых сертификатов. Это создает цепочку доверия между центром сертификации и веб-сервером, к которому вы подключаетесь.

Другие ответы объяснили CA-систему. Проект перспективы направлен на развертывание нового подхода к SSL, где вы можете выбрать, кому доверять: http://perspectives-project.org/

Создадим сценарий атаки.

Предположим, DNS был поврежден и https://facebook.com/ указывает на IP-адрес злоумышленника.

Вы садитесь за компьютер и открываете Facebook, чтобы потерять несколько минут на бессмысленную прокрутку. А потом БАХ, Certificate invalid на экране появляется ошибка. Злоумышленник подписал https://facebook.com/ своим собственным сертификатом, чтобы никто не сбежал с его скопированной страницы facebook, потому что она не зашифрована. Если браузер не проверяет авторитет сертификата, злоумышленник может подписать поврежденную страницу своим сертификатом, и вы не узнаете, что подключаетесь к неправильному IP-адресу.

Таким образом, у злоумышленника есть 2 варианта на выбор:

  1. Подпишите поврежденную страницу facebook своим сертификатом, чтобы пользователи увидели ошибку.
  2. Не используйте http на его поврежденной странице.

Потому что мы должны кому-то доверять.

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

Этот рисунок действительно подчеркивает суть:

PKI

  • RA = орган регистрации
  • CA = Центр сертификации
  • VA = Валидационный орган

Примерный план: пользователь подает заявку на сертификат со своим открытым ключом в центр регистрации (RA). Последний подтверждает личность пользователя в центре сертификации (ЦС), который, в свою очередь, выдает сертификат. Затем пользователь может подписать контракт цифровой подписью, используя свой новый сертификат. Затем его личность проверяется договаривающейся стороной с помощью проверяющего органа (VA), который снова получает информацию о выданных сертификатах сертификационным центром.

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

Блокировка означает лишь то, что владелец сайта продемонстрировал ЦС какое-то доказательство того, что он действительно тот, кем себя называет. Вы должны судить самостоятельно, доверяете ли вы этому человеку / сайту.

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

Но когда люди, которым вы доверяете, говорили вам: «Джон Доу» - хороший парень. Доказательство того, что парень перед вами на самом деле ЯВЛЯЕТСЯ «Джоном Доу», чем вы тоже можете доверять ему.

Сертификаты построены на цепочке доверия, и если позволить кому-либо быть подписывающим органом, мы будем безоговорочно доверять всем. Однако сегодня это немного пугает, поскольку существует более 200 так называемых «доверенных органов», сертификаты которых встроены в ваш браузер!

Но есть один бесплатный CA, о котором я знаю: StartCom . Они выдают бесплатные сертификаты SSL, но они принимаются только в Firefox, а не в IE. (Не уверен насчет Safari или Opera).

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

Очень мало безопасности, много FUD.

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

Почему? Потому что вы платите за то, чтобы поддержать чью-то чужую репутацию ... чтобы за вас поручиться.

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

Сумма, которую вы платите, в основном является справедливой (сколько им обходится, чтобы обеспечить эту репутацию и / или пресечь любые нарушения безопасности) + (сколько бы они ни могли позволить себе раздолбать рынок в качестве маржи%).

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