WebAuthn | MDS
O Metadata Service (MDS) é um serviço centralizado fornecido pela FIDO Alliance que agrega e publica Metadata Statements sobre autenticadores certificados por meio dos programas de certificação FIDO. Essas declarações contêm informações detalhadas de segurança, conformidade e operacionais sobre os autenticadores.
-
O endpoint do serviço é frequentemente referido como MDS3 (a terceira versão do protocolo Metadata Service).
-
As Relying Parties (por exemplo, sites ou aplicações que implementam WebAuthn) recuperam declarações de metadados do MDS para tomar decisões de confiança informadas sobre os autenticadores.
O MDS adiciona uma camada crucial de validação de confiança e segurança para os relying parties que utilizam WebAuthn:
- Validação do Authenticator: Habilita a verificação da conformidade do authenticator com os padrões FIDO e ajuda a validar o AAGUID apresentado em uma attestation WebAuthn.
- Detecção de Comprometimento e Revogação: Fornece informações atualizadas sobre authenticators comprometidos ou revogados, permitindo que as relying parties bloqueiem dispositivos inseguros.
- Garantia de Segurança: Ajuda a impor políticas de segurança, como permitir apenas autenticadores que atendam a um certo nível de certificação FIDO ou força de verificação de usuário.
- Interoperabilidade: Garante comportamento e expectativas de segurança consistentes entre diferentes navegadores, plataformas e dispositivos que usam diferentes authenticators.
Configuração
Você pode configurar o uso do MDS utilizando a propriedade WebAuthnOptions.MDS; encontre abaixo as principais propriedades:
- Enabled: se true (o valor padrão), as requisições webauthn serão validadas contra o arquivo MDS configurado.
- MDS_FileName: o caminho onde o arquivo MDS está armazenado. Pode ser baixado da seguinte URL: https://mds3.fidoalliance.org/
- RootCert_FileName: o caminho onde o Root Certificate está armazenado. Deve ser definido para validar a cadeia de certificados. Pode ser baixado de https://valid.r3.roots.globalsign.com/
- Leaf_CertificateCRL: se true (por padrão é false), o certificado folha do blob será validado contra a CRL (Certificate Revocation List).
- CRL_FileName: o caminho onde o arquivo CRL está armazenado. Se não estiver definido e Leaf_CertificateCRL estiver habilitado, ele tentará baixar o CRL automaticamente.