Цель x509 сертификата в файлах метаданных на стороне IdP (структура SSO)

Я заплачу Вам 200 долларов США за взламывание моих 25 паролей символов 22 - 25 паролей символов (длина, являющаяся также случайным), я использую на ServerFault.

Теперь, серьезно, хакер мог бы, вероятно, найти случайным образом сгенерированный пароль если:

  • У нее есть огромное знание в компьютерной безопасности, и алгоритмы раньше генерировали случайные числа,
  • Она знает точно, какое приложение использовало цель для случайной генерации пароля,
  • Она может найти, когда пароль был сгенерирован (до μs.)
  • Она удачлива.

Таким образом, у меня есть некоторые сомнения, что каждый хакер может сделать это.

Теперь, самым очевидным путем, используемым для взламывания паролей, является грубая сила.

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

Было бы интересно протестировать его, прося, чтобы люди ввели "случайную" вещь с помощью только четырех цифр. Мое ожидание состоит в том, что, во-первых, введенные числа не будут случайны вообще, и что некоторые будут намного более частыми, чем другие (например, если нас попросят ввести что-то "случайное", то мы никогда не будем тип "1234" или "7458" или "3197" или "5555").

И начиная со сгенерированные машиной и начиная с введенные человеком пароли пропускают некоторую случайность, по моему скромному мнению, лучшая вещь состояла бы в том, чтобы объединить обоих. Например, пароль будет сгенерирован от ввода данных пользователем или объединен с ним. Между прочим, своего рода такая реализация является солью (например, где пароль пользователя, отправленного на веб-сайте, объединен к случайным образом сгенерированному набору символов прежде, чем вычислить и сохранить хеш: в этом случае, если у двух пользователей будет тот же пароль, то хеш будет все еще отличаться).

5
задан 26 April 2012 в 11:23
3 ответа

Эти сертификаты необходимы для гарантии того, что данные, которыми обмениваются idp и sp:

  • защищены от подслушивания
  • отправляются из источника, который, по вашему мнению, отправляет вам сообщение
  • ] сообщение защищено от несанкционированного доступа, никто не изменял его при передаче

Это функции безопасности протокола, которые не следует пропускать при развертывании производственной системы.

В системах, которые являются частью федерации, фактически используются сертификаты x509 (они обязательны).

2
ответ дан 3 December 2019 в 01:07

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

Запросы и ответы SAML должны быть подписаны (как минимум, ответы). Вы найдете такие элементы, как , и (хотя это можно упростить если ты' re использует привязку перенаправления HTTP).

Когда SP получает ответ SAML от IdP через браузер, он должен убедиться, что полученная им подпись исходит от IdP, которого он знает, и что подписано с использованием закрытого ключа IdP; эта подпись может быть проверена по общему ключу IdP в сертификате, сконфигурированном в метаданных.

Невыполнение этого для SP делает весь процесс бесполезным и возможность принять любое утверждение без проверки подлинности сообщения IdP. указывает на ошибку конфигурации.

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

При этом Shibboleth может выпускать эти атрибуты через обратный канал (службу атрибутов), где соединение между SP и IdP производится напрямую (без обмена сообщениями с браузером). Аутентификация между SP и IdP все равно должна происходить в этом случае, но я думаю, что она может работать на транспортном уровне (например, аутентификация клиент-сертификат) вместо уровня сообщений (через подписи SAML), я не уверен. В любом случае для этого также потребуется настроить якоря доверия.

где соединение между SP и IdP осуществляется напрямую (без обмена сообщениями с браузером). Аутентификация между SP и IdP все еще должна происходить в этом случае, но я думаю, что она может работать на транспортном уровне (например, аутентификация клиент-сертификат) вместо уровня сообщения (через подписи SAML), я не уверен. В любом случае для этого также потребуется настроить якоря доверия.

где соединение между SP и IdP выполняется напрямую (без обмена сообщениями с браузером). Аутентификация между SP и IdP все равно должна происходить в этом случае, но я думаю, что она может работать на транспортном уровне (например, аутентификация клиент-сертификат) вместо уровня сообщений (через подписи SAML), я не уверен. В любом случае для этого также потребуется настроить якоря доверия.

8
ответ дан 3 December 2019 в 01:07

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

Посмотрите на этот вопрос о переполнении стека для разница между подписанием и шифрование: https://stackoverflow.com/questions/454048/what-is-the-difference-between-encrypting-and-signing-in-asymmetric-encryption

Взгляните на документацию Shibboleth для примеров использования ключей в метаданных: https://wiki.shibboleth.net/confluence/display/CONCEPT/MetadataKeyDescriptor

Независимо от того, действительно ли ключ используется для подписи или шифрования, зависит от профиля сообщений, которые прошел между IdP и SP. То есть, в формате SAML1 или SAML2 сообщения и какие из конечных точек используются.

net / confluence / display / CONCEPT / MetadataKeyDescriptor

Использование ключа для подписи или шифрования зависит от профиля сообщений, передаваемых между IdP и SP. То есть, в формате SAML1 или SAML2 сообщения, и какие конечные точки используются.

net / confluence / display / CONCEPT / MetadataKeyDescriptor

Использование ключа для подписи или шифрования зависит от профиля сообщений, передаваемых между IdP и SP. То есть, в формате SAML1 или SAML2 сообщения и какие из конечных точек используются.

1
ответ дан 3 December 2019 в 01:07

Теги

Похожие вопросы