Пожалуйста, объясните, как работает SSO с использованием зашифрованного хэша - PullRequest
1 голос
/ 04 октября 2011

Я читаю, как реализовать единый вход между двумя сайтами, и наткнулся на этот пример. http://dev.assistly.com/docs/portal/multipass. В основном один сайт передает зашифрованный JSON-хэш, содержащий идентификатор пользователя, срок действия логина и некоторую другую информацию о клиенте. Хеш создается с использованием ключа сайта в качестве пароля и ключа API в качестве соли.

Насколько я понимаю, алгоритмы хеширования работают в одном направлении. Например, сайт № 2 может хешировать те же значения и сравнить результат с хэшем, переданным сайтом № 1, чтобы определить, является ли он подлинным и действительным. Однако сайт № 2 не может отменить хешированное значение, переданное сайтом № 1, чтобы определить, какие значения были использованы.

Вот мой вопрос. В примере SSO, который я связал и описал выше, вся информация предположительно распределяется между двумя сайтами до входа в систему. Например, оба сайта предположительно знают идентификатор пользователя, пароль, соль и т. Д. Однако я предполагаю, что значение даты и времени истечения отличается для каждого вхождения в систему. Если дата и время истечения срока действия меняются при каждом входе в систему, и если это не то, что может быть предварительно разделено между двумя сайтами, не будет ли для сайта № 2 невозможно проверить хэш, который он получает от сайта № 1?

Я, должно быть, что-то упустил в моем понимании того, как это работает. Или, возможно, я делаю ошибочные предположения. Пожалуйста, объясни. Спасибо!

1 Ответ

0 голосов
/ 13 апреля 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...