От каких типов атак защищаются секреты клиента IdentityServer? - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь понять цель (и) клиентских секретов. Это чтобы кто-то не создал фальшивый сервер, который притворяется моим сервером? Если нет, то что это? И защищает ли это от чего-либо еще?

Ответы [ 2 ]

1 голос
/ 01 марта 2020

Секрет клиента используется для идентификации приложения, которому требуется токен доступа для доступа к ресурсу от имени пользователя. Только клиенты, зарегистрированные в службе аутентификации, могут запрашивать доступ. Требуется не только аутентификация пользователя, но и клиентское приложение. В противном случае кто-то может выдать себя за клиентское приложение.

Этот тип авторизации клиента должен использоваться только конфиденциальными клиентами ( Типы клиентов OAuth2 ).

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

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

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

Официально больше не рекомендуется использовать неявный поток в целях безопасности, для клиентов этого типа рекомендуется Авторизация Код + PKCE расширение. См. Документ OBBA

Для авторизации пользователей в браузерном приложении лучше всего использовать

o Использовать поток кода авторизации OAuth 2.0 с Расширение PKCE

o Требовать параметр состояния OAuth 2.0

o Рекомендовать точное соответствие URI перенаправления и требовать, чтобы имя хоста URI перенаправления совпадало с именем хоста URL, с которого приложение обслуживалось

o Не возвращать токены доступа на передний канал

0 голосов
/ 01 марта 2020

Иногда у вас есть несколько ApiResources, которые вызываются клиентами, и в потоке нет ни одного пользователя. например, получить пост Instagram, используя API Instagram. Теперь instagram хочет контролировать поведение клиента, поэтому клиент должен быть авторизован для instagram перед любым вызовом API. в этой ситуации вам нужно определить какой-то секрет для каждого клиента, чтобы идентифицировать их. Это пример секретного использования клиента.

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