Я хотел бы знать, возможно ли иметь безопасный единый вход для двух веб-сервисов, из которых 1 более безопасен, чем другой. Точнее, менее безопасным будет форум vbulletin, а более безопасным — веб-сервис, где зарабатываются, выводятся реальные деньги и т. д. Ради удобства пользователей я хотел бы реализовать безопасный единый вход, но, глядя судя по послужному списку безопасности vbulletin, особенно уязвимостям xss, даже внедрению sql, я не уверен, что sso будет жизнеспособным вариантом, если это ухудшит безопасность более безопасного сервиса.
Безопасный единый вход как для безопасных, так и для уязвимых веб-сервисов
Ответы (2)
Может быть разрешено использовать учетные данные с высокой степенью надежности для аутентификации в системе с низкой степенью надежности при условии, что долговременные общие секреты аутентификации не раскрываются системе с низкой степенью надежности (см., например, Специальную публикацию NIST 800-63, уровень - 2 и выше). Обычно для этого требуется подтверждение (например, SAML) от поставщика услуг учетных данных проверяющей стороне. CSP, которому доверяют, принимает учетные данные и подтверждает свою подлинность и, возможно, другие атрибуты, связанные с подписчиком, проверяющей стороне (приложению), которому не доверяют. Поскольку секретные токены, связанные с учетными данными (например, паролем), никогда не отправляются проверяющей стороне, взлом этой службы не предоставит злоумышленнику полезных знаний для атаки на систему с высокой степенью надежности. Существует ряд отраслевых стандартов, таких как OpenID и OATH, для федерации учетных данных таким образом.
Хватит изобретать собственные системы входа. Используйте OpenID, как это делает сам StackOverflow. Это аккуратно решит вашу проблему, и ваши пользователи будут очень довольны тем, что вы не заставите их запоминать еще один пароль.