FIDO - Как сервер FIDO проверяет целостность входящего открытого ключа на этапе / церемонии регистрации?

Пытаюсь осознать костюм протокола FIDO.

Предпосылка

  1. У аутентификатора есть главный закрытый ключ (также называемый ключом подтверждения).
  2. Во время церемонии регистрации аутентификатор подписывает запрос и несколько других параметров вместе с вновь сгенерированным открытым ключом и отправляет его на универсальный сервер FIDO по протоколу WebAuthN. А сгенерированный закрытый ключ хранится в аутентификаторе локально.



Вопросы

  1. Как сервер FIDO проверяет целостность открытого ключа, сгенерированного аутентификатором (проще говоря, как сервер проверяет цепочку сертификатов обратно в корень доверия)? Предполагается, что существует возможность для атаки mitm между аутентификатором и веб-клиентом.
  2. Имеется ли на сервере соответствующий открытый ключ аттестационного ключа / главный закрытый ключ (репликация модели CA)?
  3. Если да, то все ли аутентификаторы fido имеют один и тот же главный ключ при создании (будь то программный модуль или аппаратный модуль)? Если нет, то как производители и серверы FIDO справляются с созданием и развертыванием огромного количества физических аутентификаторов и программных модулей?

person riceplatereddy    schedule 13.10.2018    source источник


Ответы (2)


  1. В аутентификатор вводится закрытый ключ (ключ аттестации) перед тем, как он будет продан пользователю. Сертификату аттестации доверяет сервер FIDO. Этот сертификат будет использоваться для проверки подписи в заявлении об аттестации. Поговорим о доверии сертификату. Есть 2 вида доверия: доверие и цепочка доверия.

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

Цепочка доверия: сервер FIDO, очевидно, доверяет службе метаданных FIDO (MDS) и просто хранит сертификаты MDS. MDS выдает сертификаты для поставщиков аутентификаторов. Таким образом, когда аутентификатор создает заявление об аттестации и отправляет его на сервер FIDO, Сервер проверит подпись, используя сертификат аттестации в заявлении об аттестации, а затем объединит сертификат аттестации с сертификатами MDS для выполнения проверки.

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

  1. Как объяснено в 1. выше. Сервер МОЖЕТ иметь или НЕ МОЖЕТ иметь открытый ключ аттестации. Обратите внимание, что закрытые ключи аттестации в аутентификаторах НЕ различаются. Продавцы производят ключи безопасности партиями. Каждому пакету они вводят одну и ту же частную аттестацию, это для конфиденциальности пользователя. Это не идеальное решение. Конфиденциальность пользователей прекрасно решается не запущенным ECDAA.

  2. Как поясняют 1., 2.

person Bao Hoa    schedule 27.05.2019

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

Шаг 15 «Регистрация новых учетных данных» в WebAuthn Рекомендация W3C гласит:

Если проверка прошла успешно, получите список допустимых якорей доверия (корневые сертификаты аттестации или открытые ключи ECDAA-Issuer) для этого типа аттестации и формата утверждения аттестации fmt из надежного источника или из политики. Например, служба метаданных FIDO [FIDOMetadataService] предоставляет один способ получения такой информации с использованием идентификатора aaguid в attestedCredentialData в authData.

Выдержка из https://fidoalliance.org/mds/:

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

person grzuy    schedule 03.11.2018