Поддерживаемый уровень шифрования, заданный в SSL-сертификаты?


Я пытался найти ответ на этот вопрос весь день. Я гуглил, спрашивал людей в курсе,тралил сайты для поставщиков SSL Cert и т. д. Может быть, мой поиск-фу сегодня просто провалился. В любом случае...

Все поставщики сертификатов SSL утверждают, что их сертификаты SSL "поддерживают самый высокий уровень" шифрования. Этот высокий уровень, на который они ссылаются, составляет от 128 до 256 бит, в отличие от 40, 56 и т. д.

Как я понимаю, шифрование SSL состоит из двух частей. Есть ваш асимметричный открытый ключ, который обычно устанавливается равным 2048 битам. Понятно, что это есть в сертификате SSL и его длина очевидна. Другая часть-это симметричные ключи шифрования, которые передаются после первоначального рукопожатия. Я не вижу никаких упоминаний об этом ни в каких сертификатах SSL.

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

Да поймите, что в 90-х годах существовали ограничения на экспорт, и экспортируемые браузеры были ограничены до 40 бит. Для этого существовали специальные обходные пути, такие как сертификаты SGC. Это по-прежнему необходимо в старых браузерах. Кроме того, современный браузер просто поддерживает 256 бит.

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

Если я действительно полностью заблуждаюсь и симметричное шифрование указано в сертификате, то можно создать самоподписанный сертификат, который имеет это, верно? Можно ли создать один, что делает Не поддержка надежного шифрования? Это помогло бы мне понять, если бы я мог найти инструкции для этого. Возможно ли это? Я создал много самоподписанных сертификатов раньше и подписываю CSR с моим собственным CA cert, но у меня есть никогда не видел конфигурации, в которой вы указываете поддерживаемые преимущества шифрования.

Осмотр интарвебов не помог. Люди либо говорят о силе ключа в контексте симметричных ключей (40, 56, 128, 256), либо они говорят в контексте асимметричных ключей (512, 1024, 2048), но никогда не говорят об обоих и не объясняют разницу. Кто-то на одном форуме скажет, что вам нужно получить сертификат 256bit, а затем на следующем форуме кто-то скажет, что вам нужен сертификат 2048bit, хотя все поставщики SSL cert утверждают, что поддерживают только до 256 бит.

У меня сложилось впечатление, что существует много недоразумений о том, как это работает. Это или все недоразумения в моей бедной голове.

Извините, что он был таким длинным, но я хочу понять это.

Спасибо,

Том...

2 6

2 ответа:

Хорошо, я нашел ответ. Поговорите об ответе на ваши собственные вопросы! Мой мозг был слишком измотан в пятницу, поэтому я пропустил этот маленький лакомый кусочек.

Из http://www.openssl.org/support/faq.html#USER14

  1. Что такое "128-битный сертификат"? Могу ли я создать его с помощью OpenSSL?

Термин "128-битный сертификат" является весьма вводящим в заблуждение маркетинговым термином. Это нене относится к размеру открытого ключа в сертификате! Сертификат содержащая 128 битный ключ RSA будет иметь незначительные безопасность.

Были и другие названия, такие как "магические сертификаты", " SGC сертификаты", "step up сертификаты" и т. д.

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

Когда были жесткие ограничения на экспорт сильного шифрования программное обеспечение только из США слабые алгоритмы шифрования могут быть свободно экспортируется (сначала 40 бит, а затем 56 бит). Это было широко признано что этого недостаточно. А послабление правил позволило использовать надежное шифрование, но только для авторизованного сервера.

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

Только определенные (первоначально один) центры сертификации могут выдавать сертификаты и они обычно стоят больше, чем обычные сертификаты.

Хотя OpenSSL может создавать сертификаты, содержащие соответствующие расширения сертификат не будет исходить от разрешенного органа и не будет узнан.

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

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

Я думаю, что все ваши комментарии верны. Когда обеспечивается "высочайший уровень" безопасности, мне кажется, что это в значительной степени маркетинговый трюк. В противном случае сила безопасности имеет некоторое отношение к тому, насколько тщательно CA проверяет / подтверждает вашу заявленную личность. Любой ЦС, который раздает сертификаты, подобные candy, фактически предлагает очень мало в плане безопасности. Тем не менее, это скорее процедурный элемент безопасности, чем технический.

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