FIWARE-Keyrock: Почему учетные данные OAuth2 связаны с приложениями, если они не контролируют доступ?

У нас есть сценарий, в котором я хочу защитить службу X с помощью Wilma PEP Proxy. Сервис X зарегистрирован в Keyrock. Прокси-сервер Wilma PEP содержит учетные данные PEP, сгенерированные в Keyrock для службы X. Приложение Y получает доступ к службе X с надлежащими учетными данными OAuth2, сгенерированными для этой конкретной службы (client_id и client_secret из службы X). Все хорошо. Но есть проблема: приложение Z также получает доступ к службе X с другими учетными данными OAuth2 (не с учетными данными службы X)!!

Если это возможно, то почему у нас есть приложения с определенными учетными данными OAuth2, созданными в Keyrock, если они ничего не контролируют?! Это не имеет смысла!

Это большая проблема безопасности, потому что один злоумышленник может зарегистрировать какое-то приложение в Keyrock, и с помощью токенов, сгенерированных для этого конкретного приложения (со своими собственными учетными данными OAuth2), этот злоумышленник может получить доступ ко всем приложениям, зарегистрированным в этом экземпляре Keyrock!


person Dalton Cézane    schedule 28.03.2017    source источник


Ответы (1)


Как видно из документации по прокси-серверу PEP, Уровень 1 проверяет только аутентификацию. Таким образом, каждый пользователь с действительным токеном (то есть прошедший аутентификацию в Keyrock) будет перенаправлен в серверное приложение. Если вы хотите также проверить авторизацию, вам необходимо настроить сервер AuthZForce с базовым или расширенным уровнем авторизации безопасности.

С другой стороны, в ответе на проверку токена вы получите поле application_id, указывающее область действия, в которой был создан токен.

person Álvaro Alonso    schedule 30.03.2017