Указана ли поддерживаемая степень шифрования в сертификатах SSL? - PullRequest
6 голосов
/ 22 октября 2011

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

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

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

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

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

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

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

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

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

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

Спасибо,

Том ...

Ответы [ 2 ]

5 голосов
/ 24 октября 2011

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

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

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

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

Были и другие названия, такие как «магические сертификаты», «SGC». сертификаты "," повышающие сертификаты "и т. д.

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

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

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

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

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

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

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

0 голосов
/ 22 октября 2011

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

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

...