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

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

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам