Поддерживает ли Keycloak параметры x5 * в своей конечной точке JWK? - PullRequest
0 голосов
/ 19 марта 2019

Я использую Keycloak в качестве менеджера идентификации и доступа.

У меня есть случай, когда мне нужно передать конфиденциальную информацию другой доверенной стороне. Поток идет так:

  • Я получаю открытый ключ доверенной стороны через конечную точку JWK этой стороны
  • Я шифрую конфиденциальные данные с помощью открытого ключа доверенной стороны
  • Затем я выдаю токен JWT себе. Я подписываю это своим личным ключом.
  • Затем я передаю данные доверенной стороне вместе с моим токеном JWT в заголовке авторизации
  • доверенная сторона получает мой запрос
  • доверенная сторона вызывает мою конечную точку JWK, чтобы получить мой открытый ключ
  • доверенная сторона проверяет отправленный мной токен JWT, используя мой открытый ключ
  • Затем доверенная сторона расшифровывает конфиденциальные данные, используя свой закрытый ключ

С этим потоком доверенная сторона может быть уверена, что

  • конфиденциальные данные не были подделаны при передаче

То, в чем они не могут быть уверены, это:

  • Я тот, о ком они думают; и я тот, кто отправил данные.

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

Именно здесь приходят сертификаты x.509. Надежной стороне нужен способ быть уверенным, что сторона на другом конце - это я.

Keycloak, кажется, поддерживает x5c (цепочка сертификатов) в 5.0.0-SNAPSHOT по состоянию на четыре дня назад; это настраивается путем добавления / генерации новой пары открытого / закрытого ключа и сертификата. Если сертификат настроен, параметр x5c становится доступным через конечную точку JWKS.

Однако у меня также есть требование предоставить параметр x5t (отпечаток большого пальца). Предоставляет ли Keycloak или намеревается предоставить в будущем какую-либо поддержку для этого?

1 Ответ

0 голосов
/ 19 марта 2019

Я создал и сделал запрос на получение KEYCLOAK-9868 , чтобы добавить параметры x5t и x5t#S256 JWK.Это было объединено с мастером Keycloak и должно быть доступно в любом следующем выпуске после 5.0.0.

...