Схема безопасности Oauth Token и Secret - PullRequest
2 голосов
/ 09 сентября 2011

Я работаю над веб-приложением. Который использует oauth для аутентификации из разных служб. Есть ли риск защиты этих токенов и секрета непосредственно в базе данных. Или мне их зашифровать?

Каков общий шаблон безопасности для сохранения oauth-токена и секрета

Ответы [ 2 ]

4 голосов
/ 25 сентября 2011

Эта ветка отвечает на все ваши вопросы:

Надежное хранение идентификаторов OpenID и токенов OAuth

По сути, следующее зависит друг от друга так или иначе:

  • Ключ потребителя
  • Секрет потребителя
  • Токен доступа
  • Секрет токена доступа

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

0 голосов
/ 09 сентября 2011

Я предполагаю, что вы говорите о типичной настройке «Поставщик услуг», «Потребитель» и «Пользователь»? Если это так, сеанс и куки достаточно хороши для сохранения токенов, но проблема в том, что их должны сохранять ваши Потребители (ваши клиенты, как я понимаю), а не вы. Доступен ли сеанс / файл cookie в рамках вызовов вашего API?

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

Также имейте в виду, что токены привязаны к определенной службе и пользователю, а не к любому IP-адресу или UUID устройства, например. Их нельзя использовать с разными API и секретными ключами, поскольку они привязаны к приложению, для которого они были выданы.

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

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