Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Revertida da versão 2

...

Este documento também está disponível em inglês

A Estrutura Inicial do Open Finance Brasil é responsável por criar padrões e especificações necessários para atender aos requisitos e obrigações da Legislação do Brasil Open Finance originalmente delineada pelo Banco Central do Brasil. Existe a possibilidade de que alguns dos elementos deste documento possam estar sujeitos a direitos de patente. A OFBIS não será responsável pela identificação de qualquer ou todos esses direitos de patente.

...

  1. distribuirá metadados de descoberta (como o ponto de extremidade de autorização) por meio do documento de metadados, conforme especificado em OIDD e [RFC8414]

  2. deve apoiar o parâmetro de sinistros conforme definido na cláusula 5.5 OpenID Connect Core

  3. deve apoiará o acr "urn:brasil:openbanking:loa2" conforme definido na cláusula 5.2.2.4 do FAPI-BR

  4. deve suportar o acr "urn:brasil:openbanking:loa3" conforme definido na cláusula 5.2.2.4 do [FAPI-BR]]

  5. deve implementar o ponto de extremidade UserInfo, conforme definido na cláusula 5.3 OpenID Connect Core

  6. deve oferecer suporte ao consentimento de escopo de recurso OAuth 2.0 parametrizado, conforme definido na cláusula 6.3.1 OIDF FAPI WG Lodging Intent Pattern

  7. deve suportar tokens de atualização

  8. O tempo de aceitação do consentimento na solicitação de Autorização recebida via CIBA permanecerá o mesmo definido para o fluxo via Fluxo Híbrido, de 5 minutos

  9. O id_token terá prazo mínimo de 180 dias

  10. O id_token deve ser utilizado no pedido de autorização através do parâmetro “id_token_hint"

  11. O cancelamento do id_token será realizado pela instituição titular da conta "modo de votação" será o único modo usado para obter um token para o envio de pagamento através do endpoint bc-author.

  12. O cancelamento do id_token será realizado pela instituição titular da conta em casos de fraude ou por razões de segurança.

  13. Tabela de erro "HTTP 400 Bad Request":

    • invalid_request: A solicitação indica que está faltando um parâmetro necessário, foi incluído um valor de parâmetro inválido, foi inclui um parâmetro mais de uma vez, contém mais de um parâmetro invalido ou está malformada.

    • invalid_scope: O escopo solicitado é inválido, desconhecido ou malformado.

    • expired_id_token_hint: O “hint” do id_token fornecido na solicitação de autenticação não é válido porque já expirou.

    • unknown_user_id: O OpenID Provider não é capaz de identificar qual usuário final o Cliente deseja ser autenticado por meio do “hint” fornecido na solicitação (id_token_hint).

    • unauthorized_client: O Cliente não está autorizado a usar esse fluxo de autenticação.

    • invalid_id_token_hint: O id_token é inválido e não pode ser usado no fluxo

  14. emitir avisos de recepção do pedido de autenticação da CIBA (resposta da consulta de auth_req_id) com um prazo máximo de 5 minutos

  15. Validação Payload

Parameters

Validation

iss

O Servidor de Autorização deve estabelecer um identificador, ou conjunto de identificadores "iss" padrão para uso em transações CIBA. - O Servidor de Autorização não deve aceitar "iss" diferente de seu próprio identificador, ou conjunto de identificadores, padrão.

sub

O Servidor de Autorização deve verificar se o identificador "sub" em questão já foi emitido para um cliente/conta, e se é válido dentro de seus requisitos.

aud

O Servidor de Autorização não deve aceitar "aud" diferente do client_id de onde se origina a solicitação de autorização para o fluxo CIBA.

exp

"exp" deve ser estabelecido de acordo com as políticas de risco da instituição Titular da Conta. O Servidor de Autorização não deve aceitar solicitações de autorização cuja data/hora seja maior que "exp".

iat

Sem validações específicas

auth_time

Sem validações específicas

nonce

Sem validações específicas no Servidor de Autorização (AS)

acr

Se presente, o AS só deverá aceitar valores iguais ou superiores aos requisitos de autenticação do Titular para autorizar operações de pagamento.

amr

Se presente, o AS só deverá aceitar valores iguais ou superiores aos requisitos de autenticação do Titular para autorizar operações de pagamento.

azp

O Servidor de Autorização não deve aceitar "azp" diferente do client_id de onde se origina a solicitação de autorização para o fluxo CIBA.

...

Parâmetros

Descrição

Valores recomendados

alg

O parâmetro "alg" (algoritmo) identifica o algoritmo criptográfico usado para proteger o JWS/JWE. O valor de Assinatura JWS será inválido se o valor "alg" não representar um algoritmo suportado ou se não houver nenhuma chave compatível para o uso do algoritmo associado à entidade que assinou digitalmente o conteúdo.

PS256 ou PS512

kidjku

O parâmetro "kidjku" (Key ID) indica qual chave foi usada para proteger o JWS/JWE. Esse parâmetro permite que os remetentes sinalizem explicitamente uma alteração de chave para os destinatários. O valor "kid" DEVE ser uma cadeia de caracteres que diferencia maiúsculas de minúsculas. Quando usado com um JWK, o valor "kid" é usado para corresponder a um valor de parâmetro "kid" do JWK Set URL) é um URI (RFC3986) que se refere a um recurso para um conjunto de chaves públicas codificadas em JSON, uma das quais corresponde à chave usada para assinar digitalmente o JWS. As chaves DEVEM ser codificadas como um conjunto JWK. O protocolo usado para adquirir o recurso DEVE fornecer proteção de integridade; uma solicitação HTTP GET para recuperar o conjunto JWK DEVE usar TLS (Transport Layer Security); e a identidade do servidor DEVE ser validada, de acordo com a Seção 6 do RFC6125. (OPCIONAL)

jwk

O parâmetro "jwk" (JSON Web Key) é a chave pública que corresponde à chave usada para assinar digitalmente o JWS. Essa chave é representada como um JWK. (OPCIONAL)

x5tkid

O parâmetro "x5tkid" (X.509 Certificate SHA-1 Thumbprint) é uma impressão digital SHA-1 codificada em base64url (hash) da codificação DER do certificado X.509 (RFC5280) correspondente à chave usada para assinar digitalmente o JWS. (OPCIONAL)

x5t#S256

O parâmetro "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) é uma impressão digital SHA-256 codificada em base64url (hash) da codificação DER do certificado X.509 (RFC5280) correspondente à chave usada para assinar digitalmente o JWS. Pode ser usado como uma alternativa ao "x5t" (OPCIONAL)

typ

O parâmetro "typ" (Type) é usado por aplicativos JWS para declarar o tipo de mídia (IANA. MediaTypes) deste JWS completo. Destina-se ao uso pelo aplicativo quando mais de um tipo de objeto pode estar presente em uma estrutura de dados de aplicativo que pode conter um JWS; O aplicativo pode usar esse valor para eliminar a ambiguidade entre os diferentes tipos de objetos que podem estar presentes. (OPCIONAL)

JWT

5.2.3. Cliente confidencial

Além disso, o cliente confidencial

...

deve suportar o consentimento parametrizado do escopo de recursos do OAuth 2.0, conforme definido na cláusula 6.3.1 OIDF FAPI WG Lodging Intent Pattern

...

Key ID) indica qual chave foi usada para proteger o JWS/JWE. Esse parâmetro permite que os remetentes sinalizem explicitamente uma alteração de chave para os destinatários. O valor "kid" DEVE ser uma cadeia de caracteres que diferencia maiúsculas de minúsculas. Quando usado com um JWK, o valor "kid" é usado para corresponder a um valor de parâmetro "kid" do JWK. (OPCIONAL)

x5u

O parâmetro "x5u" (X.509 URL) é um URI (RFC3986) que se refere a um recurso para o certificado de chave pública X.509 ou cadeia de certificados (RFC5280) correspondente à chave usada para assinar digitalmente o JWS. (OPCIONAL)

x5c

O parâmetro "x5c" (X.509 Certificate Chain) contém o certificado de chave pública X.509 ou a cadeia de certificados (RFC5280) correspondente à chave usada para assinar digitalmente o JWS. (OPCIONAL)

x5t

O parâmetro "x5t" (X.509 Certificate SHA-1 Thumbprint) é uma impressão digital SHA-1 codificada em base64url (hash) da codificação DER do certificado X.509 (RFC5280) correspondente à chave usada para assinar digitalmente o JWS. (OPCIONAL)

x5t#S256

O parâmetro "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) é uma impressão digital SHA-256 codificada em base64url (hash) da codificação DER do certificado X.509 (RFC5280) correspondente à chave usada para assinar digitalmente o JWS. Pode ser usado como uma alternativa ao "x5t" (OPCIONAL)

typ

O parâmetro "typ" (Type) é usado por aplicativos JWS para declarar o tipo de mídia (IANA. MediaTypes) deste JWS completo. Destina-se ao uso pelo aplicativo quando mais de um tipo de objeto pode estar presente em uma estrutura de dados de aplicativo que pode conter um JWS; O aplicativo pode usar esse valor para eliminar a ambiguidade entre os diferentes tipos de objetos que podem estar presentes. (OPCIONAL)

JWT

cty

O parâmetro "cty" (Content Type) é usado por aplicativos JWS para declarar o tipo de mídia (IANA. MediaTypes) do conteúdo protegido (carga útil). Destina-se ao uso pelo aplicativo quando mais de um tipo de objeto pode estar presente na carga útil do JWS; O aplicativo pode usar esse valor para eliminar a ambiguidade entre os diferentes tipos de objetos que podem estar presentes.

em vez de usar “application/example” use “example”

crit

O parâmetro "crit" (Crítico) indica que as extensões para esta especificação e/ou [JWA] estão sendo usadas e DEVEM ser compreendidas e processadas. Seu valor é uma matriz com os nomes dos parâmetros de cabeçalho presentes no cabeçalho JOSE que usam essas extensões.

5.2.3. Cliente confidencial

Além disso, o cliente confidencial

  1. deve suportar o consentimento parametrizado do escopo de recursos do OAuth 2.0, conforme definido na cláusula 6.3.1 OIDF FAPI WG Lodging Intent Pattern

  2. deve suportar tokens de atualização

5.2.4. Mecanismos de hint de identidade do proprietário do recurso

5.2.4.1. Introdução

Conforme descrito em FAPI-CIBA, há muitos mecanismos que podem ser usados para transmitir uma identidade de Proprietários de Recursos do Dispositivo de Consumo para o Servidor de Autorização, no entanto, em casos de chamada, esse atestado de identidade deve ser tratado apenas como um hint . Há naturalmente limitações nos tipos de dicas de identificação que podem ser capturadas pelo dispositivo de consumo com base nos contratos de entrada e saída do dispositivo que está sendo usado. Além dos desafios de entrada e saída, existem vários aspectos importantes de privacidade e segurança que devem ser avaliados ao definir os processos de transporte de id. Este perfil define vários login hint tipos que devem ser suportados por servidores de autorização.

FAPI-CIBA exige que os pedidos sejam assinados, não há nenhuma exigência no Brasil para assinar adicionalmente esses hint, pois todos eles são afirmados pelo Cliente.

6. Considerações de segurança

...