Сеанса проверки подлинности проверки подлинности против маркера

Я пытаюсь понять некоторые термины и механизмов и выяснить, как они относятся друг к другу и как они пересекаются. Проверка подлинности теоретические веб-приложения и мобильного приложения находится в центре внимания. Акцент делается на точное различие между проверкой подлинности на основе маркеров и файл cookie проверки подлинности на основе и как они пересекаются.

базовая http/переварить и сложные системы, такие как OAuth/АРМ двиг меня не интересуют

У меня есть несколько утверждений, которые я хотел бы там увидеть, если они верны.

  1. ТОЛЬКО используя маркеры проверки подлинности без сессий можно в мобильных приложениях. В контексте браузера вам нужно куки, чтобы сохранить маркеры клиентской.
  2. Вы обмениваете свои учетные данные (обычно имя пользователя/пароля) для маркера, который может быть ограничен по объему и времени. Но это также означает, что маркер и все связанные с ним должны быть сохранены и обработаны на сервере, а также.
  3. Маркеры могут быть запрещены на сервере. Cookies не имеют такой возможности и будет/ должен истекать.
  4. Используя только печенье означает, что код связан с учетной записью пользователя и не ограничивается каким-либо образом.

Я надеюсь, я не слишком далек от истины и благодарен за любую помощь!

Комментарии к вопросу (1)
Решение
  1. В проверки подлинности на основе сеанса сервер делает всю тяжелую серверную подъема. Проще говоря, клиент проходит проверку подлинности с помощью учетных данных и получает идентификатора session_id (которые могут быть сохранены в файле cookie) и подключает ее к каждому последующему исходящий запрос. Так это можно считать, что "Маркер" и как это эквивалент набор учетных данных. Однако нет ничего особенного об этом идентификатора session_id` строку. Это просто идентификатор и сервер делает все остальное. Он является stateful. Он связывает идентификатор с учетной записи пользователя (например, в памяти или в базе данных). Это может ограничить или ограничить эту сессию для определенных операций или определенного периода времени и может признать его недействительным, если есть соображения безопасности. Что еще более важно, это может сделать и поменять все это на лету. Кроме того, он может войти пользователь's каждое движение на сайте(ы). Возможными недостатками являются плохие данные-способности (особенно более одной фермы серверов) и обширной памяти.

  2. В Маркер проверки подлинности на основе нет сессии сохраняются на стороне сервера (апатриды). Первые шаги такие же. Учетные данные меняются на токен, который затем прикрепляется к каждому последующему запросу (это также могут быть сохранены в cookie). Однако с целью снижения памяти, легкий шкалы-способность и общая гибкость (жетоны можно обменять с другим клиентом) строку с вся необходимая информация выдается (маркер), которое проверяется после каждого запроса клиента к серверу. Существует несколько способов использования/создания маркеров:

  3. Используя механизм хеширования, например, с HMAC-SHA1 для

маркер = ид_пользователя|это значение|ксом(ид_пользователя|это значение, к) где ид_пользователя и это значение отправляется в открытом виде с полученный хэш ("к" знаю только сервера).

  1. Шифрование маркера симметрично, например, с помощью алгоритма AES

маркер = ня(ид_пользователя|это значение, х) где X представляет собой Ан-/ключ дешифрования.

  1. Шифрования асимметрично, например, с RSA

знак = ОГА(ид_пользователя|это значение, индивидуальный ключ)

Производственные системы обычно более сложные, чем те два архетипа. Например, Amazon использует оба механизма на своем сайте. Также гибриды могут быть использованы для выдачи маркеров, как описано в разделе 2, а также связать сеанса пользователя с его для отслеживания пользователя или возможного аннулирования и по-прежнему сохраняют гибкость клиента классических маркеров. Также OAuth 2.0 и применяет недолговечны и конкретным носителем-токеном и долговечнее токенов например, чтобы попасть на предъявителя-маркеры.

Источники:

Комментарии (6)

Http является лицом без гражданства, и для того, чтобы иметь проверенный государству, нужен какой-то маркер, который используется для ссылки на информацию о пользователе. Этот идентификатор сеанса, как правило, в виде случайных маркер отправлен в качестве значения cookie. На базе протокола OAuth ключ доступа используется для идентификации пользователя, и объем ресурсов, которые пользователь имеет доступ. В приложениях, которые используют OAuth единого входа, маркер доступа OAuth, как правило, обменивается на идентификатор сессии, который может отслеживать более широкого круга пользователя.

От злоумышленника'перспектива с угоном идентификатор сессии, или маркер доступа OAuth, как хорошо, как имя пользователя и пароль, и иногда это даже лучше. Идентификаторы сеансов должны иметь свойства безопасность, которые защищают учетные записи пользователей от компрометации.

От застройщика'перспектива s, не изобретать колесо. Используйте диспетчер сеанса доступных для вашей платформы, и убедитесь, что он настроен, чтобы соответствовать на список сессии руководящих принципов управления.

Комментарии (6)

Так, на сессии аутентификации для повышения безопасности доступа к ресурсам, которые требуются:

  • Он должен быть использован в качестве замены для пользователя'ы учетных данных
  • Всегда следует использовать постоянные файлы cookie
  • Следует определить вернувшихся пользователей на сайт
  • Следует использовать 2-факторную аутентификацию
Комментарии (0)