From 70be9fc8dc73acaa85e27fa9297faaef757f42d0 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 25 Oct 2021 09:05:38 -0300 Subject: [PATCH 01/59] =?UTF-8?q?Inclus=C3=A3o=20de=20instru=C3=A7=C3=B5es?= =?UTF-8?q?=20para=20atualiza=C3=A7=C3=A3o=20de=20refer=C3=AAncias=20de=20?= =?UTF-8?q?documentos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index dfd93ad..3e8aecf 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,16 @@ Esse repositório inclui o detalhamento técnico necessário para o entendimento - [Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)](https://openbanking-brasil.github.io/specs-seguranca/tpp-user-guide-ptbr.html) - [Padrão de Certificados Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-certificate-standards-1_ID1-ptbr.html) +## Manutenção dos links + +Sempre que for publicado um novo ID de documentação, deve-se atentar a atualização dos links nos seguintes locais: + +|Documento|Referências| +|------------------------------------------|---------------------------------------------------------------------------------------------------| +|Registro e Cadastramento Dinâmico do Cliente de APIs|Perfil de Segurança do OpenBanking Brasil
Padrão de Certificados Open Banking Brasil
Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
Áerea do Desenvolvedor do Portal do Open Banking Brasil| +|Perfil de Segurança do OpenBanking Brasil|Registro e Cadastramento Dinâmico do Cliente de APIs
Padrão de Certificados Open Banking Brasil
Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
Áerea do Desenvolvedor do Portal do Open Banking Brasil| +|Padrão de Certificados Open Banking Brasil|Perfil de Segurança do OpenBanking Brasil
Registro e Cadastramento Dinâmico do Cliente de APIs
Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
Áerea do Desenvolvedor do Portal do Open Banking Brasil| + ## Documentation Generation for Maintainers The formal specifications are created using guidelines, processes and tools created by the IETF and the OIDF which ensures consistency and familiarity for implementers. All references to the specifications should be to the normative version of the published specification published in HTML version. Linking to actively developed versions of MarkDown files directly should be avoided. From 937486241ced68ed382773c1570206ddf07ae6f3 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 25 Oct 2021 09:08:51 -0300 Subject: [PATCH 02/59] =?UTF-8?q?Incluso=20link=20para=20o=20DCR=20da=20do?= =?UTF-8?q?cumenta=C3=A7=C3=A3o=20de=20certificados,=20que=20cita=20DCR,?= =?UTF-8?q?=20mas=20n=C3=A3o=20possui=20link=20para=20o=20padr=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- open-banking-brasil-certificate-standards-1_ID1-ptbr.md | 1 + open-banking-brasil-certificate-standards-1_ID1.md | 1 + 2 files changed, 2 insertions(+) diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md index 5a9f652..cb87efa 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md @@ -93,6 +93,7 @@ Os seguintes documentos referenciados são indispensáveis para a aplicação de * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: * [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: +* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: * [BCB-IN134] - Manual de Segurança do Open Banking: diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index 362e9bb..6365f74 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -92,6 +92,7 @@ The following referenced documents are indispensable for the application of this * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: * [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: +* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: * [BCB-IN134] - Manual de Segurança do Open Banking: From 09f589aec28d30597789139f744cf8fd73b3b1a0 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 25 Oct 2021 09:13:52 -0300 Subject: [PATCH 03/59] =?UTF-8?q?Melhoria=20de=20formata=C3=A7=C3=A3o=20na?= =?UTF-8?q?=20tabela=20de=20refer=C3=AAncias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3e8aecf..e413b66 100644 --- a/README.md +++ b/README.md @@ -32,9 +32,9 @@ Sempre que for publicado um novo ID de documentação, deve-se atentar a atualiz |Documento|Referências| |------------------------------------------|---------------------------------------------------------------------------------------------------| -|Registro e Cadastramento Dinâmico do Cliente de APIs|Perfil de Segurança do OpenBanking Brasil
Padrão de Certificados Open Banking Brasil
Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
Áerea do Desenvolvedor do Portal do Open Banking Brasil| -|Perfil de Segurança do OpenBanking Brasil|Registro e Cadastramento Dinâmico do Cliente de APIs
Padrão de Certificados Open Banking Brasil
Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
Áerea do Desenvolvedor do Portal do Open Banking Brasil| -|Padrão de Certificados Open Banking Brasil|Perfil de Segurança do OpenBanking Brasil
Registro e Cadastramento Dinâmico do Cliente de APIs
Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
Áerea do Desenvolvedor do Portal do Open Banking Brasil| +|Registro e Cadastramento Dinâmico do Cliente de APIs|
  • Perfil de Segurança do OpenBanking Brasil
  • Padrão de Certificados Open Banking Brasil
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
| +|Perfil de Segurança do OpenBanking Brasil|
  • Registro e Cadastramento Dinâmico do Cliente de APIs
  • Padrão de Certificados Open Banking Brasil
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
| +|Padrão de Certificados Open Banking Brasil|
  • Perfil de Segurança do OpenBanking Brasil
  • Registro e Cadastramento Dinâmico do Cliente de APIs
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
| ## Documentation Generation for Maintainers From 5958a83421725fb0045476b5028de88f46d79ea2 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 25 Oct 2021 09:21:27 -0300 Subject: [PATCH 04/59] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20dos=20links=20no?= =?UTF-8?q?=20guia=20do=20TPP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tpp-user-guide-ptbr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tpp-user-guide-ptbr.md b/tpp-user-guide-ptbr.md index afd78c6..2086c30 100644 --- a/tpp-user-guide-ptbr.md +++ b/tpp-user-guide-ptbr.md @@ -522,15 +522,15 @@ eyJraWQiOiJzaWduZXIiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJzb2Z0d2FyZV9tb2RlIjo ## 3.3 Enviando uma Solicitação de Dynamic Client Registration (RFC7591) {#RFC7591} -Consulte o [Dynamic Client Registration do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) +Consulte o [Dynamic Client Registration do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) ## 3.4 Salvando o Token de Dynamic Registration Management (RFC7592) {#RFC7592} -Consulte o [Dynamic Client Registration do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) +Consulte o [Dynamic Client Registration do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) ## 3.5 Modificando um cliente usando Dynamic Client Management Token (RFC7592) {#RFC7592Token} -Consulte o [Dynamic Client Registration do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) +Consulte o [Dynamic Client Registration do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) ## 4.0 Obtendo Acesso aos Recursos dos Clientes {#AcessoClientes} @@ -630,7 +630,7 @@ A tabela abaixo reflete os diferentes profiles de segurança e combinações que | BR-OB Adv. OP w/ MTLS, PAR | | BR-OB Adv. OP w/ Private Key, PAR | -Todos os requisitos para o OpenID Request Object estão incluídos no [Perfil de Segurança do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID1-ptbr.html). Veja o exemplo com JWS a seguir: +Todos os requisitos para o OpenID Request Object estão incluídos no [Perfil de Segurança do Open Banking Brasil](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID3-ptbr.html). Veja o exemplo com JWS a seguir: ``` { From f116e5fd4119ae436023ee66c9bdb80642809cd0 Mon Sep 17 00:00:00 2001 From: rafael-hashimoto <89614766+rafael-hashimoto@users.noreply.github.com> Date: Tue, 26 Oct 2021 10:19:03 -0300 Subject: [PATCH 05/59] Update open-banking-brasil-certificate-standards-1_ID1-ptbr.md --- open-banking-brasil-certificate-standards-1_ID1-ptbr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md index cb87efa..17ffba3 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md @@ -93,7 +93,7 @@ Os seguintes documentos referenciados são indispensáveis para a aplicação de * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: * [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: -* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: * [BCB-IN134] - Manual de Segurança do Open Banking: From 7e4fda71b1f48e2bf43fafcc730af439a4b63a93 Mon Sep 17 00:00:00 2001 From: rafael-hashimoto <89614766+rafael-hashimoto@users.noreply.github.com> Date: Tue, 26 Oct 2021 10:22:46 -0300 Subject: [PATCH 06/59] Atualizado link do DCR para ID2 e FAPI para ID3 --- open-banking-brasil-certificate-standards-1_ID1-ptbr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md index 17ffba3..3c76092 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md @@ -92,7 +92,7 @@ Os seguintes documentos referenciados são indispensáveis para a aplicação de * [RFC7592] - OAuth 2.0 Dynamic Client Registration Management Protocol [RFC7592]: * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: -* [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: +* [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: * [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: From 9667462fdad3aa38962992bcf9a1105d0c655b83 Mon Sep 17 00:00:00 2001 From: rafael-hashimoto <89614766+rafael-hashimoto@users.noreply.github.com> Date: Tue, 26 Oct 2021 10:24:01 -0300 Subject: [PATCH 07/59] Atualizado link do FAPI para ID 3 e DCR para ID 2 --- open-banking-brasil-certificate-standards-1_ID1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index 6365f74..483c913 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -91,8 +91,8 @@ The following referenced documents are indispensable for the application of this * [RFC7592] - OAuth 2.0 Dynamic Client Registration Management Protocol [RFC7592]: * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: -* [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: -* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: +* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: * [BCB-IN134] - Manual de Segurança do Open Banking: From e7f24803d65f89e169fb709a4b6e50000c72d4a1 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Tue, 26 Oct 2021 19:45:52 -0300 Subject: [PATCH 08/59] English Outdated Notice --- open-banking-brasil-certificate-standards-1_ID1.html | 5 +++++ open-banking-brasil-certificate-standards-1_ID1.md | 4 ++++ open-banking-brasil-dynamic-client-registration-1_ID2.md | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/open-banking-brasil-certificate-standards-1_ID1.html b/open-banking-brasil-certificate-standards-1_ID1.html index 42de0cc..5f88368 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.html +++ b/open-banking-brasil-certificate-standards-1_ID1.html @@ -1109,6 +1109,11 @@

Open Banking Brasil Certificate Standards 1.0

+
+

The english version of this document is Outdated

+Please refer to the portuguese version for up to date information:
+https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html +

Foreword diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index bbba170..98c6a2e 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -48,6 +48,10 @@ uri = "https://openbankingbrasil.org.br/" %%% +# The English version of this document is Outdated +Please refer to the portuguese version for up to date information: +>[https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) + .# Foreword Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-certificate-standards-1_ID1-ptbr.html). diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 65eea56..b12feca 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -39,6 +39,10 @@ %%% +# The English version of this document is Outdated +Please refer to the portuguese version for up to date information: +>[https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) + .# Foreword Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) From f83f798a6680ca0dbda12ae43ff3263e8cfde72b Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Thu, 28 Oct 2021 14:09:00 -0300 Subject: [PATCH 09/59] =?UTF-8?q?Delibera=C3=A7=C3=A3o=20no=20GET=20-=20SE?= =?UTF-8?q?G=20e=20Erro=20de=20Digita=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Conforme sugestão do GT Seg, segue pedido de atualização do Texto. Segue na tabela abaixo como deve ser feita a decodificação: - Obtenha na ordem reversa os atributos do certificado - Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',') - Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) + os nomes dos atributos definidos nesta especificação para uso no OBB (businessCategory, jurisdictionCountryName , serialNumber) ________________________________________________________________________________________________________________________________________________ Ajuste na tabela para corrigir o erro de digitação conforme a Issue: https://github.com/OpenBanking-Brasil/specs-seguranca/issues/207 --- ...king-brasil-dynamic-client-registration-1_ID2-ptbr.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index f77ca8e..2045753 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -252,21 +252,22 @@ A cláusula 3 do [Lightweight Directory Access Protocol (LDAP): String Represent Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar todas as strings de nome de AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514], além de todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]. -Segue na tabela abaixo alguns exemplos de decodificação: +Segue na tabela abaixo como deve ser feita a decodificação: - Obtenha na ordem reversa os atributos do certificado - Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',') - Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) + os nomes dos atributos definidos nesta especificação para uso no OBB (businessCategory, jurisdictionCountryName , serialNumber) -Exemplos: +Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: | subject_dn | Issuer | | --- | --- | | UID=67c57882-043b-11ec-9a03-0242ac130003,jurisdictionCountryName=BR,businessCategory=Private Organization,serialNumber=00038166000954,CN=mycn.bank.com.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=MY BANK SA,L=SAO PAULO,ST=SP,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, jurisdictionCountryName=BR,businessCategory=Business Entity,CN=mycn.bank.gov.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR,jurisdictionCountryName=BR,businessCategory=Private | -| Organization,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, jurisdictionCountryName=BR,businessCategory=Business Entity,CN=mycn.bank.gov.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| jurisdictionCountryName=BR,businessCategory=Private Organization,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | | CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,serialNumber=00038166000954, jurisdictionCountryName=BR,businessCategory=Private Organization | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | + ## Funções regulatórias para mapeamentos OpenID e OAuth 2.0 {#Regs} Para participar do ecossistema do Open Banking, as instituições credenciadas devem se cadastrar no Diretório de Participantes de acordo com seus papéis regulatórios. Essas funções refletem a autorização do Banco Central para as instituições e, consequentemente, as APIs que podem utilizar. From 79e357abdc11d2e96ae0fb95da57513a3d952c65 Mon Sep 17 00:00:00 2001 From: Marcos Rodrigues <83780271+DeiGratia33@users.noreply.github.com> Date: Fri, 5 Nov 2021 12:18:11 -0300 Subject: [PATCH 10/59] CIBA: Request expiration time Definition of expiration time for request (Proposal) --- open-banking-brasil-financial-api-CIBA-1_ID1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-financial-api-CIBA-1_ID1.md b/open-banking-brasil-financial-api-CIBA-1_ID1.md index acce2b1..0127a99 100644 --- a/open-banking-brasil-financial-api-CIBA-1_ID1.md +++ b/open-banking-brasil-financial-api-CIBA-1_ID1.md @@ -259,7 +259,7 @@ As described in [FAPI-CIBA], there are many mechanisms that can be used to conve ` The use of a `binding message` is *not* mandatory if this token type is to be leveraged. -//TODO: How long should the request expiry be in this scenario??? +The requested_expiry shall be greater than 3600 seconds and less than 43200 seconds ##### Authorisation Server Generated - Login Hint Token From f862b24e3758607786c44bb563d6727dbeb0ed16 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Fri, 5 Nov 2021 15:44:42 -0300 Subject: [PATCH 11/59] =?UTF-8?q?Adequa=C3=A7=C3=B5es=20item=2032=20Task?= =?UTF-8?q?=20Force=20Fase=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-dynamic-client-registration-1_ID2-ptbr.md | 24 ++++++++++++++----- ...rasil-dynamic-client-registration-1_ID2.md | 17 ++++++++----- ...banking-brasil-financial-api-1_ID3-ptbr.md | 5 ++++ open-banking-brasil-financial-api-1_ID3.md | 4 ++++ 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index 2045753..c525bbf 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -235,6 +235,8 @@ Além disso, o servidor de autorização 10. deve, sempre que possível, validar os metadados declarados pelo cliente em relação aos metadados fornecidos no _software\_statement_, adotando os valores presentes no SSA com precedência. 11. deve aceitar todos os nomes x.500 AttributeType definidas no _Distinguished Name_ dos Perfis de Certificado x.509 definidos em [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]; 12. se for compatível com o mecanismo de autenticação do cliente `tls_client_auth`, conforme definido em [RFC8705], somente deve aceitar `tls_client_auth_subject_dn` como uma indicação do valor do atributo _subject_ do certificado, conforme definido na cláusula 2.1.2 [RFC8705]; +13. Os valores dos campos UID e OU do certificado devem coincidir com os enviados no SSA. O campo OU deve conter o valor do campo org_id do SSA e campo UID deve conter o valor do campo software_id do SSA. + Estas disposições aplicam-se igualmente ao processamento de pedidos [RFC7591], [RFC7592] e [OpenID Registration][OIDR] @@ -250,22 +252,28 @@ Quando as propriedades de uma solicitação DCR não estão incluídas e não s A cláusula 3 do [Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names][RFC4514] define os OIDs obrigatórios cujas as _strings_ do AttributeType (descritores) devem ser reconhecidos pelos implementadores. Esta lista obrigatória não inclui vários dos OIDs definidos em [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards], nem existe um mecanismo definido para os Servidores de Autorização publicarem informações sobre o formato que eles esperam de uma Solicitação Dinâmica de Registro do Cliente (_Dynamic Client Registrarion_) que inclui um `tls_client_auth_subject_dn`. -Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar todas as strings de nome de AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514], além de todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]. +Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar exckusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514] em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] ou adicionados pela Autoridade Certificadora. + +Em caso de não atendimento destes requisitos o Servidor de Autorização deverá rejeitar o registro. Segue na tabela abaixo como deve ser feita a decodificação: - Obtenha na ordem reversa os atributos do certificado - Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',') -- Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) + os nomes dos atributos definidos nesta especificação para uso no OBB (businessCategory, jurisdictionCountryName , serialNumber) +- Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) com o valor dos seus atribudos em "printable string", ou seja legível para humanos + os OIDs dos atributos definidos nesta especificação para uso no OBB (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) com o valor dos seus atribudos em formato ASN.1” Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003,jurisdictionCountryName=BR,businessCategory=Private Organization,serialNumber=00038166000954,CN=mycn.bank.com.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=MY BANK SA,L=SAO PAULO,ST=SP,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, jurisdictionCountryName=BR,businessCategory=Business Entity,CN=mycn.bank.gov.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| jurisdictionCountryName=BR,businessCategory=Private Organization,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,serialNumber=00038166000954, jurisdictionCountryName=BR,businessCategory=Private Organization | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR + | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR + | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR + | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e + | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Funções regulatórias para mapeamentos OpenID e OAuth 2.0 {#Regs} @@ -281,6 +289,10 @@ A tabela a seguir descreve as funções regulatórias do Open Banking e o mapeam | CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | | CCORR | Correspondente de crédito | openid | Phase 3* | +## Cliente + +No processo de registro do cliente, utilizando-se o método de autenticação *tls_client_auth*, o cliente deve encaminhar o campo *tls_client_auth_subject_dn* com os AttibuteTypes(Descritores) em formato definido no item 7.1.2. Em caso de não aderencia a este padrão o registro será rejeitado. + # Declaração de Software {#SSA} Uma declaração de software (_software\_statement_) é um JSON Web Token (JWT) [RFC7519] que afirma valores de metadados sobre o software cliente como um todo. Na estrutura do Open Banking Brasil, esse _software\_statement_ é assinado pelo Diretório de Participantes, e sua assinatura DEVE ser validada pelos Servidores de Autorizacao usando as chaves públicas disponíveis na seção a seguir. diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index b12feca..87965fc 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -237,6 +237,7 @@ In addition, the Authorization Server 10. should where possible validate client asserted metadata against metadata provided in the software_statement; 11. shall accept all x.500 AttributeType name strings defined in the Distinguished Name of the x.509 Certificate Profiles defined in [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]; 12. if supporting `tls_client_auth` client authentication mechanism as defined in [RFC8705] shall only accept `tls_client_auth_subject_dn` as an indication of the certificate subject value as defined in clause 2.1.2 [RFC8705]; +13. The values of the *UID* and *OU* fields of the certificate must match those sent in the SSA. The *OU* field must contain the value of the SSA *org_id* field and the *UID* field must contain the value of the SSA *software_id* field. These provisions apply equally to the processing of [RFC7591], [RFC7592] and [OpenID Registration][OIDR] requests @@ -252,22 +253,26 @@ Where properties of a DCR request are not included and are not mandatory in the Clause 3 of [Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names][RFC4514] defines the mandatory OIDs whose AttributeType strings (descriptors) must be recognized by implementers. This mandatory list does not include several of the OIDs defined in [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] nor is there a defined mechanism for Authorisation Servers to publish information regarding the format that they would expect a Dynamic Client Registration request that includes a `tls_client_auth_subject_dn` to be presented in. -To address this ambiguity, the Authorization Server must accept all AttributeType name strings (descriptors) defined in the last paragraph of clause 3 [RFC4514] in addition to all of the AttributeTypes defined in the Distinguished Name of the [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]. +To address this ambiguity, the Authorization Server must only accept the AttributeTypes (descriptors) defined in the last paragraph of clause 3 [RFC4514] in string format, it must also accept in OID format, with their values in ASN.1, all the AttributeTypes defined in Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] or added by the Certificate Authority. In terms of format, the Security WG have defined the examples in bellow: - Start backwards, the order is reversed from what is entered. - Append each RDN (RelativeDistinguishedName) segment with a comma ‘,’ -- Use RFC Strings (CN, L, ST, O, OU, C, Street, DC, UID) + OBB Certificate Specs (businessCategory, jurisdictionCountryName , serialNumber) +- Use the RFC strings (CN, L, ST, O, OR, C, Street, DC, UID) with the value of their attributes in "printable string", ie human readable + the OIDs of the attributes defined in this specification for use in Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) with the value of your attributes in ASN.1 format Examples: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003,jurisdictionCountryName=BR,businessCategory=Private Organization,serialNumber=00038166000954,CN=mycn.bank.com.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=MY BANK SA,L=SAO PAULO,ST=SP,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, jurisdictionCountryName=BR,businessCategory=Business Entity,CN=mycn.bank.gov.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR,jurisdictionCountryName=BR,businessCategory=Private | -| Organization,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,serialNumber=00038166000954, jurisdictionCountryName=BR,businessCategory=Private Organization | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR + | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR + | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR + | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e + | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Regulatory Roles to OpenID and OAuth 2.0 Mappings diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 7a83bde..b9cb1a2 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -361,6 +361,11 @@ Para TLS, endpoints do Servidor de Autenticação e endpoints do Servidor de Rec 1. devem suportar `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. devem suportar `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` +## Considerações sobre a validação do cliente mTLS + +No momento de autenticação, pelo método *tls_client_auth*, deve ser validado que os campos *UID* e *OU* apresentados no certificado coincidem com os valores informados no campo *tls_client_auth_subject_dn*. + + # Considerações sobre compartilhamento de dados {#dados} ## Mecanismo de Autorização {#authmech} diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index ff7bff6..f4ddc46 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -378,6 +378,10 @@ For TLS, Authorization Server endpoints and Resource Server endpoints used direc 1. shall support `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. shall support `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` +## mTLS client validation considerations + +At the time of authentication, using the *tls_client_auth* method, it must be validated that the *UID* and *OU* fields present at the certificate matches the values in the *tls_client_auth_subject_dn* field. + # Data Sharing Considerations ## Authorisation Mechanism From b6bcaa9bfc0ce90789f74465bfc326096bccdbe6 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Fri, 5 Nov 2021 15:50:00 -0300 Subject: [PATCH 12/59] =?UTF-8?q?corre=C3=A7=C3=A3o=20de=20link=20desatual?= =?UTF-8?q?izado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 4 ++-- open-banking-brasil-dynamic-client-registration-1_ID2.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index c525bbf..1ee9c85 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -41,7 +41,7 @@ .# Prefácio {#Forward} -The normative version in [English](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1.html) +The normative version in [English](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2.html) A Estrutura Inicial do Open Banking Brasil (EIOBB) é responsável por criar os padrões e especificações necessários para atender aos requisitos e obrigações da Legislação do Open Banking do Brasil, conforme originalmente delineado pelo [Banco Central do Brasil](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). É possível que alguns dos elementos deste documento estejam sujeitos a direitos de patente. O EIOBB não se responsabiliza pela identificação de qualquer ou todos os direitos de patente. @@ -235,7 +235,7 @@ Além disso, o servidor de autorização 10. deve, sempre que possível, validar os metadados declarados pelo cliente em relação aos metadados fornecidos no _software\_statement_, adotando os valores presentes no SSA com precedência. 11. deve aceitar todos os nomes x.500 AttributeType definidas no _Distinguished Name_ dos Perfis de Certificado x.509 definidos em [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]; 12. se for compatível com o mecanismo de autenticação do cliente `tls_client_auth`, conforme definido em [RFC8705], somente deve aceitar `tls_client_auth_subject_dn` como uma indicação do valor do atributo _subject_ do certificado, conforme definido na cláusula 2.1.2 [RFC8705]; -13. Os valores dos campos UID e OU do certificado devem coincidir com os enviados no SSA. O campo OU deve conter o valor do campo org_id do SSA e campo UID deve conter o valor do campo software_id do SSA. +13. Os valores dos campos *UID* e *OU* do certificado devem coincidir com os enviados no SSA. O campo *OU* deve conter o valor do campo *org_id* do SSA e campo *UID* deve conter o valor do campo *software_id* do SSA. Estas disposições aplicam-se igualmente ao processamento de pedidos [RFC7591], [RFC7592] e [OpenID Registration][OIDR] diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 87965fc..9ebbc1a 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -45,7 +45,7 @@ Please refer to the portuguese version for up to date information: .# Foreword -Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) +Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the [Brasil Central Bank](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights. From 5b65eebac0558216c04b0ed6a4737feeec6cefec Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Fri, 5 Nov 2021 15:58:01 -0300 Subject: [PATCH 13/59] Incluso item pendente no DCR em ingles --- open-banking-brasil-dynamic-client-registration-1_ID2.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 9ebbc1a..ac9cd47 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -298,6 +298,10 @@ In line with guidance from the IETF and the direction of travel for fine-grained | DADOS | consent:{ConsentId} | | PAGTO | consent:{ConsentId} | +## Client + +In the client registration process, using the authentication method *tls_client_auth*, the client must send the field *tls_client_auth_subject_dn* with the AttibuteTypes(Descriptors) in the format defined in item 7.1.2. In case of non-adherence to this standard, the registration will be rejected. + # Software Statement > A software statement is a JSON Web Token (JWT) [RFC7519] that asserts metadata values about the client software as a bundle. From cc7d3603414fecd98b0e1feeea2b45aa3e62ef25 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Fri, 5 Nov 2021 16:00:07 -0300 Subject: [PATCH 14/59] =?UTF-8?q?Corre=C3=A7=C3=A3o=20de=20formata=C3=A7?= =?UTF-8?q?=C3=A3o=20das=20tabelas=20de=20exemplo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-brasil-dynamic-client-registration-1_ID2-ptbr.md | 12 ++++-------- ...nking-brasil-dynamic-client-registration-1_ID2.md | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index 1ee9c85..b0f80d3 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -266,14 +266,10 @@ Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR - | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR - | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR - | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e - | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Funções regulatórias para mapeamentos OpenID e OAuth 2.0 {#Regs} diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index ac9cd47..34d647f 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -265,14 +265,10 @@ Examples: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR - | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR - | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR - | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e - | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Regulatory Roles to OpenID and OAuth 2.0 Mappings From 6b8e546ea11e14acb8e04e16fa3ec294969f6442 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 8 Nov 2021 14:41:54 -0300 Subject: [PATCH 15/59] Ajuste de formatacao de tabela --- open-banking-brasil-dynamic-client-registration-1_ID2.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 34d647f..dfaf60c 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -265,10 +265,10 @@ Examples: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA,ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Regulatory Roles to OpenID and OAuth 2.0 Mappings From 491dfe4d2d330e5630a8c049b1f6b44116c9e5ee Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 8 Nov 2021 14:44:53 -0300 Subject: [PATCH 16/59] Ajuste de formatacao de tabela --- ...nking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index b0f80d3..e42d0ac 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -266,10 +266,10 @@ Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003,1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839,CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L= BRASILIA,ST=DF,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,CN=mycn.bank.gov.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252,2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Funções regulatórias para mapeamentos OpenID e OAuth 2.0 {#Regs} From 5614afc15ce26ad8ea96f5cdbd95934eeeb4d7ee Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 8 Nov 2021 14:57:47 -0300 Subject: [PATCH 17/59] =?UTF-8?q?Remo=C3=A7=C3=A3o=20do=20requisito=20de?= =?UTF-8?q?=20valida=C3=A7=C3=A3o=20do=20OU=20e=20UID=20no=20perfil=20de?= =?UTF-8?q?=20seguran=C3=A7a=20Ser=C3=A1=20feita=20valida=C3=A7=C3=A3o=20d?= =?UTF-8?q?e=20string=20conforme=20padr=C3=A3o=20RFC8705=20Tamb=C3=A9m=20c?= =?UTF-8?q?orrigidos=20dois=20erros=20de=20digita=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...banking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 6 +++--- open-banking-brasil-financial-api-1_ID3-ptbr.md | 4 ---- open-banking-brasil-financial-api-1_ID3.md | 4 ---- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index e42d0ac..5dae867 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -252,7 +252,7 @@ Quando as propriedades de uma solicitação DCR não estão incluídas e não s A cláusula 3 do [Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names][RFC4514] define os OIDs obrigatórios cujas as _strings_ do AttributeType (descritores) devem ser reconhecidos pelos implementadores. Esta lista obrigatória não inclui vários dos OIDs definidos em [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards], nem existe um mecanismo definido para os Servidores de Autorização publicarem informações sobre o formato que eles esperam de uma Solicitação Dinâmica de Registro do Cliente (_Dynamic Client Registrarion_) que inclui um `tls_client_auth_subject_dn`. -Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar exckusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514] em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] ou adicionados pela Autoridade Certificadora. +Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar exclusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514] em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] ou adicionados pela Autoridade Certificadora. Em caso de não atendimento destes requisitos o Servidor de Autorização deverá rejeitar o registro. @@ -260,7 +260,7 @@ Segue na tabela abaixo como deve ser feita a decodificação: - Obtenha na ordem reversa os atributos do certificado - Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',') -- Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) com o valor dos seus atribudos em "printable string", ou seja legível para humanos + os OIDs dos atributos definidos nesta especificação para uso no OBB (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) com o valor dos seus atribudos em formato ASN.1” +- Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) com o valor dos seus atribudos em "printable string", ou seja legível para humanos + os OIDs dos atributos definidos nesta especificação para uso no OBB (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) com o valor dos seus atributos em formato ASN.1” Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: @@ -268,7 +268,7 @@ Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: | --- | --- | | UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | | UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br,2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | | CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index b9cb1a2..e599e65 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -361,10 +361,6 @@ Para TLS, endpoints do Servidor de Autenticação e endpoints do Servidor de Rec 1. devem suportar `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. devem suportar `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` -## Considerações sobre a validação do cliente mTLS - -No momento de autenticação, pelo método *tls_client_auth*, deve ser validado que os campos *UID* e *OU* apresentados no certificado coincidem com os valores informados no campo *tls_client_auth_subject_dn*. - # Considerações sobre compartilhamento de dados {#dados} diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index f4ddc46..ff7bff6 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -378,10 +378,6 @@ For TLS, Authorization Server endpoints and Resource Server endpoints used direc 1. shall support `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. shall support `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` -## mTLS client validation considerations - -At the time of authentication, using the *tls_client_auth* method, it must be validated that the *UID* and *OU* fields present at the certificate matches the values in the *tls_client_auth_subject_dn* field. - # Data Sharing Considerations ## Authorisation Mechanism From 2774eeb186adcce0aa80c03ef3630f5812b01b91 Mon Sep 17 00:00:00 2001 From: rafael-hashimoto <89614766+rafael-hashimoto@users.noreply.github.com> Date: Mon, 8 Nov 2021 15:03:45 -0300 Subject: [PATCH 18/59] Update open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md --- open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index 5dae867..5942eef 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -252,7 +252,7 @@ Quando as propriedades de uma solicitação DCR não estão incluídas e não s A cláusula 3 do [Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names][RFC4514] define os OIDs obrigatórios cujas as _strings_ do AttributeType (descritores) devem ser reconhecidos pelos implementadores. Esta lista obrigatória não inclui vários dos OIDs definidos em [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards], nem existe um mecanismo definido para os Servidores de Autorização publicarem informações sobre o formato que eles esperam de uma Solicitação Dinâmica de Registro do Cliente (_Dynamic Client Registrarion_) que inclui um `tls_client_auth_subject_dn`. -Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar exclusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514] em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] ou adicionados pela Autoridade Certificadora. +Para resolver essa ambiguidade, o Servidor de Autorização deve aceitar exclusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 [RFC4514] em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] ou adicionados pela Autoridade Certificadora. Em caso de não atendimento destes requisitos o Servidor de Autorização deverá rejeitar o registro. From e0399baf692e2fa8f6810db8626d6713fbaf6563 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 8 Nov 2021 15:06:34 -0300 Subject: [PATCH 19/59] Ajuste link do documento de DCR para ID2 no Swagger --- dcr_review/dcr-dcm-swagger.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dcr_review/dcr-dcm-swagger.yaml b/dcr_review/dcr-dcm-swagger.yaml index aacff5c..8186b36 100644 --- a/dcr_review/dcr-dcm-swagger.yaml +++ b/dcr_review/dcr-dcm-swagger.yaml @@ -7,7 +7,7 @@ info: version: 1.0.0 externalDocs: description: Documentação do processo de DCR / DCM no portal do desenvolvedor do Open Banking Brasil - url: https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil-dynamic-client-registration-1_ID1.md + url: https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil-dynamic-client-registration-1_ID2.md tags: - name: DCR description: Operações de registro dinâmico de cliente (DCR) From 1aee52f4f25208ddf2903b4666ffd7a5c7553d50 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 8 Nov 2021 15:32:06 -0300 Subject: [PATCH 20/59] restore english version --- ...rasil-dynamic-client-registration-1_ID2.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index dfaf60c..b12feca 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -45,7 +45,7 @@ Please refer to the portuguese version for up to date information: .# Foreword -Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) +Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the [Brasil Central Bank](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights. @@ -237,7 +237,6 @@ In addition, the Authorization Server 10. should where possible validate client asserted metadata against metadata provided in the software_statement; 11. shall accept all x.500 AttributeType name strings defined in the Distinguished Name of the x.509 Certificate Profiles defined in [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]; 12. if supporting `tls_client_auth` client authentication mechanism as defined in [RFC8705] shall only accept `tls_client_auth_subject_dn` as an indication of the certificate subject value as defined in clause 2.1.2 [RFC8705]; -13. The values of the *UID* and *OU* fields of the certificate must match those sent in the SSA. The *OU* field must contain the value of the SSA *org_id* field and the *UID* field must contain the value of the SSA *software_id* field. These provisions apply equally to the processing of [RFC7591], [RFC7592] and [OpenID Registration][OIDR] requests @@ -253,22 +252,22 @@ Where properties of a DCR request are not included and are not mandatory in the Clause 3 of [Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names][RFC4514] defines the mandatory OIDs whose AttributeType strings (descriptors) must be recognized by implementers. This mandatory list does not include several of the OIDs defined in [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] nor is there a defined mechanism for Authorisation Servers to publish information regarding the format that they would expect a Dynamic Client Registration request that includes a `tls_client_auth_subject_dn` to be presented in. -To address this ambiguity, the Authorization Server must only accept the AttributeTypes (descriptors) defined in the last paragraph of clause 3 [RFC4514] in string format, it must also accept in OID format, with their values in ASN.1, all the AttributeTypes defined in Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] or added by the Certificate Authority. +To address this ambiguity, the Authorization Server must accept all AttributeType name strings (descriptors) defined in the last paragraph of clause 3 [RFC4514] in addition to all of the AttributeTypes defined in the Distinguished Name of the [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards]. In terms of format, the Security WG have defined the examples in bellow: - Start backwards, the order is reversed from what is entered. - Append each RDN (RelativeDistinguishedName) segment with a comma ‘,’ -- Use the RFC strings (CN, L, ST, O, OR, C, Street, DC, UID) with the value of their attributes in "printable string", ie human readable + the OIDs of the attributes defined in this specification for use in Distinguished Name [Open Banking Brasil x.509 Certificate Standards][OBB-Cert-Standards] (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) with the value of your attributes in ASN.1 format +- Use RFC Strings (CN, L, ST, O, OU, C, Street, DC, UID) + OBB Certificate Specs (businessCategory, jurisdictionCountryName , serialNumber) Examples: | subject_dn | Issuer | | --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA,ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003,jurisdictionCountryName=BR,businessCategory=Private Organization,serialNumber=00038166000954,CN=mycn.bank.com.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=MY BANK SA,L=SAO PAULO,ST=SP,C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, jurisdictionCountryName=BR,businessCategory=Business Entity,CN=mycn.bank.gov.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR,jurisdictionCountryName=BR,businessCategory=Private | +| Organization,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,serialNumber=00038166000954, jurisdictionCountryName=BR,businessCategory=Private Organization | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Regulatory Roles to OpenID and OAuth 2.0 Mappings @@ -294,10 +293,6 @@ In line with guidance from the IETF and the direction of travel for fine-grained | DADOS | consent:{ConsentId} | | PAGTO | consent:{ConsentId} | -## Client - -In the client registration process, using the authentication method *tls_client_auth*, the client must send the field *tls_client_auth_subject_dn* with the AttibuteTypes(Descriptors) in the format defined in item 7.1.2. In case of non-adherence to this standard, the registration will be rejected. - # Software Statement > A software statement is a JSON Web Token (JWT) [RFC7519] that asserts metadata values about the client software as a bundle. From db1e71787322afec16b23ffaae205b213d41ce01 Mon Sep 17 00:00:00 2001 From: rafael-hashimoto <89614766+rafael-hashimoto@users.noreply.github.com> Date: Mon, 8 Nov 2021 15:33:43 -0300 Subject: [PATCH 21/59] Update open-banking-brasil-financial-api-1_ID3-ptbr.md --- open-banking-brasil-financial-api-1_ID3-ptbr.md | 1 - 1 file changed, 1 deletion(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index e599e65..7a83bde 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -361,7 +361,6 @@ Para TLS, endpoints do Servidor de Autenticação e endpoints do Servidor de Rec 1. devem suportar `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. devem suportar `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` - # Considerações sobre compartilhamento de dados {#dados} ## Mecanismo de Autorização {#authmech} From 0c1ca1fcbebcd33fb8c38470b64f1c9f06ec1f1e Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Mon, 8 Nov 2021 15:35:59 -0300 Subject: [PATCH 22/59] Incluido instrucao para atualizar swagger quando houver atualizacao de versao do DCR --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e413b66..5201f7c 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Sempre que for publicado um novo ID de documentação, deve-se atentar a atualiz |Documento|Referências| |------------------------------------------|---------------------------------------------------------------------------------------------------| -|Registro e Cadastramento Dinâmico do Cliente de APIs|
  • Perfil de Segurança do OpenBanking Brasil
  • Padrão de Certificados Open Banking Brasil
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
| +|Registro e Cadastramento Dinâmico do Cliente de APIs|
  • Perfil de Segurança do OpenBanking Brasil
  • Padrão de Certificados Open Banking Brasil
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
  • Swagger com a documentação do DCR
| |Perfil de Segurança do OpenBanking Brasil|
  • Registro e Cadastramento Dinâmico do Cliente de APIs
  • Padrão de Certificados Open Banking Brasil
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
| |Padrão de Certificados Open Banking Brasil|
  • Perfil de Segurança do OpenBanking Brasil
  • Registro e Cadastramento Dinâmico do Cliente de APIs
  • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
  • Áerea do Desenvolvedor do Portal do Open Banking Brasil
| From a7d3173a0db5202903d8c80632db4ca6bd017213 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Mon, 8 Nov 2021 20:40:14 -0300 Subject: [PATCH 23/59] Update open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md --- open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index 5942eef..2daff27 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -285,9 +285,9 @@ A tabela a seguir descreve as funções regulatórias do Open Banking e o mapeam | CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | | CCORR | Correspondente de crédito | openid | Phase 3* | -## Cliente +## Registro do Cliente {#registro_tls_client_auth} -No processo de registro do cliente, utilizando-se o método de autenticação *tls_client_auth*, o cliente deve encaminhar o campo *tls_client_auth_subject_dn* com os AttibuteTypes(Descritores) em formato definido no item 7.1.2. Em caso de não aderencia a este padrão o registro será rejeitado. +No processo de registro do cliente, utilizando-se o método de autenticação _tls\_client\_auth_, o cliente deve encaminhar o campo _tls\_client\_auth\_subject\_dn_ com os AttibuteTypes(Descritores) em formato definido no item 7.1.2. Em caso de não aderencia a este padrão o registro será rejeitado. # Declaração de Software {#SSA} From 9d42f1a10646a33d96c837420d39e77477487d47 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Mon, 8 Nov 2021 20:41:31 -0300 Subject: [PATCH 24/59] Add files via upload --- ...ynamic-client-registration-1_ID2-ptbr.html | 58 ++++++++++++------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html index 630cc4f..550905a 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html @@ -1068,7 +1068,7 @@ OBB-FAPI-1-DCR-ID2 -October 2021 +November 2021 Bragg & Security @@ -1085,7 +1085,7 @@
open-banking-brasil-dynamic-client-registration-1_ID2-ptbr
Published:
- +
Intended Status:
Standards Track
@@ -1107,14 +1107,12 @@

Open Banking Brasil Financial-grade API Dynamic Client Registrati

Prefácio

- +

The normative version in English

A Estrutura Inicial do Open Banking Brasil (EIOBB) é responsável por criar os padrões e especificações necessários para atender aos requisitos e obrigações da Legislação do Open Banking do Brasil, conforme originalmente delineado pelo Banco Central do Brasil. É possível que alguns dos elementos deste documento estejam sujeitos a direitos de patente. O EIOBB não se responsabiliza pela identificação de qualquer ou todos os direitos de patente.

O Perfil de Segurança Financial-grade API 1.0 do Open Banking Brasil consiste nas seguintes partes:

  • @@ -1295,7 +1296,7 @@

    JAR - OAuth 2.0 JWT Secured Authorization Request

    FAPI-1-Baseline - Financial-grade API Security Profile 1.0 - Part 1: Baseline

    FAPI-1-Advanced - Financial-grade API Security Profile 1.0 - Part 2: Advanced

    -

    OBB-FAPI - Open Banking Brasil Financial-grade API Security Profile 1.0

    +

    OBB-FAPI - Open Banking Brasil Financial-grade API Security Profile 1.0

    OBB-Cert-Standards - Open Banking Brasil x.509 Certificate Standards

  • @@ -1365,7 +1366,7 @@

    deve anunciar todos os recursos API REST do Open Banking Brasil protegidos pelo Provedor OpenID no Diretório de Participantes;

  • -

    deve anunciar suporte para todos os mecanismos de assinatura, criptografia, autenticação e padrões necessários para suportar o Open Banking Brasil Financial API;

    +

    deve anunciar suporte para todos os mecanismos de assinatura, criptografia, autenticação e padrões necessários para suportar o Open Banking Brasil Financial API;

  • deve anunciar suporte para OpenID Dynamic Client Registration;

    @@ -1453,6 +1454,9 @@

  • se for compatível com o mecanismo de autenticação do cliente tls_client_auth, conforme definido em RFC8705, somente deve aceitar tls_client_auth_subject_dn como uma indicação do valor do atributo subject do certificado, conforme definido na cláusula 2.1.2 RFC8705;

  • +
  • +

    Os valores dos campos UID e OU do certificado devem coincidir com os enviados no SSA. O campo OU deve conter o valor do campo org_id do SSA e campo UID deve conter o valor do campo software_id do SSA.

    +
  • Estas disposições aplicam-se igualmente ao processamento de pedidos RFC7591, RFC7592 e OpenID Registration

    @@ -1480,20 +1484,21 @@

    7.1.2. Análise do Distinguished Name do Certificado

    A cláusula 3 do Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names define os OIDs obrigatórios cujas as strings do AttributeType (descritores) devem ser reconhecidos pelos implementadores. Esta lista obrigatória não inclui vários dos OIDs definidos em Open Banking Brasil x.509 Certificate Standards, nem existe um mecanismo definido para os Servidores de Autorização publicarem informações sobre o formato que eles esperam de uma Solicitação Dinâmica de Registro do Cliente (Dynamic Client Registrarion) que inclui um tls_client_auth_subject_dn.

    -

    Para resolver essa ambigüidade, o Servidor de Autorização deve aceitar todas as strings de nome de AttributeType (descritores) definidas no último parágrafo da cláusula 3 RFC4514, além de todos os AttributeTypes definidos no Distinguished Name Open Banking Brasil x.509 Certificate Standards.

    -

    Segue na tabela abaixo alguns exemplos de decodificação:

    +

    Para resolver essa ambiguidade, o Servidor de Autorização deve aceitar exclusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 RFC4514 em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name Open Banking Brasil x.509 Certificate Standards ou adicionados pela Autoridade Certificadora.

    +

    Em caso de não atendimento destes requisitos o Servidor de Autorização deverá rejeitar o registro.

    +

    Segue na tabela abaixo como deve ser feita a decodificação:

      -
    • -

      Obtenha na ordem reversa os atributos do certificado

      +
    • +

      Obtenha na ordem reversa os atributos do certificado

    • -
    • -

      Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',')

      +
    • +

      Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',')

    • -
    • -

      Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) + os nomes dos atributos definidos nesta especificação para uso no OBB (businessCategory, jurisdictionCountryName , serialNumber)

      +
    • +

      Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) com o valor dos seus atribudos em "printable string", ou seja legível para humanos + os OIDs dos atributos definidos nesta especificação para uso no OBB (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) com o valor dos seus atributos em formato ASN.1"

    -

    Exemplos:

    +

    Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas:

    @@ -1504,19 +1509,19 @@

    - + - - + + - + - + @@ -1571,6 +1576,15 @@

    Table 1
    UID=67c57882-043b-11ec-9a03-0242ac130003,jurisdictionCountryName=BR,businessCategory=Private Organization,serialNumber=00038166000954,CN=mycn.bank.com.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=MY BANK SA,L=SAO PAULO,ST=SP,C=BRUID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR
    UID=67c57882-043b-11ec-9a03-0242ac130003, jurisdictionCountryName=BR,businessCategory=Business Entity,CN=mycn.bank.gov.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,O=My Public Bank,L=BRASILIA,ST=DF,C=BRissuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR,jurisdictionCountryName=BR,businessCategory=PrivateUID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BRissuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR
    Organization,UID=67c57882-043b-11ec-9a03-0242ac130003,CN=openbanking.mybank.com.br,serialNumber=00038166000954,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Goiania,ST=GO,O=MyBank SA,C=BR1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR
    CN=mycn.bank.com.br,UID=67c57882-043b-11ec-9a03-0242ac130003,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59,L=Sao Paulo,ST=SP,O=MyBank SA,C=BR,serialNumber=00038166000954, jurisdictionCountryName=BR,businessCategory=Private OrganizationCN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR
    +
    +
    +

    +7.3. Registro do Cliente +

    +

    No processo de registro do cliente, utilizando-se o método de autenticação tls_client_auth, o cliente deve encaminhar o campo tls_client_auth_subject_dn com os AttibuteTypes (Descritores) em formato definido no item 7.1.2.

    +

    Em caso de não aderencia a este padrão o registro será rejeitado.

    +
    +
    From 5ab4cdf5309c382168d5378ac170ace0044d5f9e Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Wed, 10 Nov 2021 18:31:26 -0300 Subject: [PATCH 25/59] Translate DOC: specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2.md Translate DOC: specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2.md --- ...rasil-dynamic-client-registration-1_ID2.md | 82 ++++++++++++------- 1 file changed, 53 insertions(+), 29 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index b12feca..95d9b6b 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -24,8 +24,8 @@ organization = "Raidiam" abbrev = "Raidiam" [author.address] - email = "ralph.bragg@raidiam.com" - uri = "https://www.raidiam.com/" + email = ralph.bragg@raidiam.com + uri = https://www.raidiam.com/ [[author]] initials = "GT" @@ -34,15 +34,11 @@ organization = "Open Banking Brasil Initial Structure" abbrev = "OBBIS" [author.address] - email = "gt-seguranca@openbankingbr.org" - uri = "https://openbankingbrasil.org.br/" + email = gt-seguranca@openbankingbr.org + uri = https://openbankingbrasil.org.br/ %%% -# The English version of this document is Outdated -Please refer to the portuguese version for up to date information: ->[https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) - .# Foreword Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html) @@ -153,6 +149,9 @@ The following referenced documents are indispensable for the application of this [OBB-Cert-Standards] - Open Banking Brasil x.509 Certificate Standards [OBB-Cert-Standards]: Date: Thu, 11 Nov 2021 17:00:15 -0300 Subject: [PATCH 26/59] =?UTF-8?q?Inclus=C3=A3o=20da=20documenta=C3=A7?= =?UTF-8?q?=C3=A3o=20da=20proibi=C3=A7=C3=A3o=20da=20rota=C3=A7=C3=A3o=20d?= =?UTF-8?q?o=20refresh=20token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...banking-brasil-financial-api-1_ID3-ptbr.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 7a83bde..c03a885 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -1,3 +1,4 @@ + %%% # @@ -227,10 +228,11 @@ Além disso, ele deve: 10. pode suportar [Financial-grade API: Client Initiated Backchannel Authentication Profile][FAPI-CIBA] 11. (requisito temporariamente retirado) 12. deve suportar `refresh tokens` -13. deve emitir `access tokens` com o tempo de expiração entre 300 (mínimo) e 900 (máximo) segundos -14. deve sempre incluir a claim `acr` no id_token -15. deve suportar os valores `code` e `id_token` para o atributo `response_type` -16. pode suportar o valor `code` para o atributo `response_type`em conjunto com o valor `jwt` para o atributo `response_mode` +13. não deve permitir o recurso de rotação de `refresh tokens` +14. deve emitir `access tokens` com o tempo de expiração entre 300 (mínimo) e 900 (máximo) segundos +15. deve sempre incluir a claim `acr` no id_token +16. deve suportar os valores `code` e `id_token` para o atributo `response_type` +17. pode suportar o valor `code` para o atributo `response_type`em conjunto com o valor `jwt` para o atributo `response_mode` #### Token de ID como assinatura separada {#detached} @@ -305,9 +307,10 @@ Além disso, o cliente confidencial 3. deve usar objetos de solicitação _encrypted_ se não usar [PAR] 4. deve suportar o escopo de recurso OAuth 2.0 parametrizado _consent_ conforme definido na cláusula 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP] 5. deve suportar `refresh tokens` -6. não deve incluir um valor específico na _claim_ `acr` -7. deve definir a _claim_ `acr`como _essential_ -8. deve suportar todos os métodos de autenticação especificados no item 14 da seção 5.2.2 da [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] incluindo as diferentes combinações de métodos de encaminhamento dos Requests Objects (usando ou não [PAR] - item 11). +6. não deve permitir o recurso de rotação de `refresh tokens` +7. não deve incluir um valor específico na _claim_ `acr` +8. deve definir a _claim_ `acr`como _essential_ +9. deve suportar todos os métodos de autenticação especificados no item 14 da seção 5.2.2 da [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] incluindo as diferentes combinações de métodos de encaminhamento dos Requests Objects (usando ou não [PAR] - item 11). # Considerações de segurança {#authserver} @@ -440,4 +443,4 @@ Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB. -A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação. +A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação. \ No newline at end of file From f2affee7cd5515e674b69f6d89d122dfc6002281 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Thu, 11 Nov 2021 18:10:56 -0300 Subject: [PATCH 27/59] Update open-banking-brasil-dynamic-client-registration-1_ID2.md --- open-banking-brasil-dynamic-client-registration-1_ID2.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 95d9b6b..99df93e 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -24,8 +24,8 @@ organization = "Raidiam" abbrev = "Raidiam" [author.address] - email = ralph.bragg@raidiam.com - uri = https://www.raidiam.com/ + email = "ralph.bragg@raidiam.com" + uri = "https://www.raidiam.com/" [[author]] initials = "GT" @@ -34,8 +34,8 @@ organization = "Open Banking Brasil Initial Structure" abbrev = "OBBIS" [author.address] - email = gt-seguranca@openbankingbr.org - uri = https://openbankingbrasil.org.br/ + email = "gt-seguranca@openbankingbr.org" + uri = "https://openbankingbrasil.org.br/" %%% From 35c51bcab781bc548b3744a3e51fcab4ce4e4dd1 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Thu, 11 Nov 2021 18:19:24 -0300 Subject: [PATCH 28/59] Add files via upload --- ...sil-dynamic-client-registration-1_ID2.html | 1915 +++++++++++++++++ 1 file changed, 1915 insertions(+) create mode 100644 open-banking-brasil-dynamic-client-registration-1_ID2.html diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.html b/open-banking-brasil-dynamic-client-registration-1_ID2.html new file mode 100644 index 0000000..64ee7b2 --- /dev/null +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.html @@ -0,0 +1,1915 @@ + + + + + + +Open Banking Brasil Financial-grade API Dynamic Client Registration 1.0 Implementers Draft 2 + + + + + + + + + + + + + + + + + + + + + + + + +
    OBB-FAPI-1-DCR-ID2November 2021
    Bragg & SecurityStandards Track[Page]
    +
    +
    +
    +
    Workgroup:
    +
    Open Banking Brasil GT Security
    +
    Internet-Draft:
    +
    open-banking-brasil-dynamic-client-registration-1_ID2
    +
    Published:
    +
    + +
    +
    Intended Status:
    +
    Standards Track
    +
    Authors:
    +
    +
    +
    R. Bragg
    +
    Raidiam
    +
    +
    +
    GT. Security
    +
    OBBIS
    +
    +
    +
    +
    +

    Open Banking Brasil Financial-grade API Dynamic Client Registration 1.0 Implementers Draft 2

    +
    +

    +Foreword +

    +

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

    +

    The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the Brasil Central Bank. There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights.

    +

    Open Banking Brasil Financial-grade API Security Profile 1.0 consists of the following parts:

    + +

    These parts are intended to be used with RFC6749, RFC6750, RFC7636, OIDC, OIDR, RFC7591, RFC7592, FAPI-1-Baseline and FAPI-1-Advanced

    +
    +
    +

    +Introduction +

    +

    The Open Banking Brasil Financial-grade API Dynamic Client Registration Profile is a profile of RFC7591, RFC7592 and OIDR that aims to provide specific implementation guidelines for security and interoperability which can be applied to the identification, registration and management of OAuth Clients operating in the Brasil Open Banking ecosystem. +Although it is possible to code an OpenID Provider and Relying Party from first principles using this specification, the main audience for this specification is parties who already have a certified implementation of OpenID Connect and want to achieve certification for the Brasil Open Banking programme.

    +
    +
    +

    +Notational Conventions +

    +

    The key words "shall", "shall not", +"should", "should not", "may", and +"can" in this document are to be interpreted as described in +ISO Directive Part 2. +These key words are not used as dictionary terms such that +any occurrence of them shall be interpreted as key words +and are not to be interpreted with their natural language meanings.

    +
    + +
    +
    +

    +1. Scope +

    +

    This document specifies the method of

    + +

    This document is applicable to all participants engaging in Open Banking in Brasil.

    +
    +
    +
    +
    +

    +2. Normative references +

    +

    The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applied. For undated references, the latest edition of the referenced document (including any amendments) applies.

    +

    ISODIR2 - ISO/IEC Directives Part 2

    +

    RFC6749 - The OAuth 2.0 Authorization Framework

    +

    RFC6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage

    +

    RFC7636 - Proof Key for Code Exchange by OAuth Public Clients

    +

    RFC6819 - OAuth 2.0 Threat Model and Security Considerations

    +

    RFC7519 - JSON Web Token (JWT)

    +

    RFC7591 - OAuth 2.0 Dynamic Client Registration Protocol

    +

    RFC7592 - OAuth 2.0 Dynamic Client Registration Management Protocol

    +

    BCP195 - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)

    +

    OIDC - OpenID Connect Core 1.0 incorporating errata set 1

    +

    FAPI-CIBA - Financial-grade API: Client Initiated Backchannel Authentication Profile

    +

    RFC4514 - Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names

    +

    OIDD - OpenID Connect Discovery 1.0 incorporating errata set 1

    +

    OIDR - OpenID Connect Registration 1.0 incorporating errata set 1

    +

    RFC8705 - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens

    +

    JARM - Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)

    +

    PAR - OAuth 2.0 Pushed Authorization Requests

    +

    JAR - OAuth 2.0 JWT Secured Authorization Request

    +

    FAPI-1-Baseline - Financial-grade API Security Profile 1.0 - Part 1: Baseline

    +

    FAPI-1-Advanced - Financial-grade API Security Profile 1.0 - Part 2: Advanced

    +

    OBB-FAPI - Open Banking Brasil Financial-grade API Security Profile 1.0

    +

    OBB-Cert-Standards - Open Banking Brasil x.509 Certificate Standards

    +

    OBB-DCR/DCM-Swagger - DCR & DCM Swagger

    +
    +
    +
    +
    +

    +3. Terms and definitions +

    +

    For the purpose of this document, the terms defined in RFC6749, RFC6750, RFC7636, OpenID Connect Core and ISO29100 apply.

    +
    +
    +
    +
    +

    +4. Symbols and Abbreviated terms +

    +

    SSA - Software Statement Assertion

    +

    SS - Software Statement

    +

    DCR - Dynamic Client Registration

    +

    API - Application Programming Interface

    +

    FAPI - Financial-grade API

    +

    HTTP - Hyper Text Transfer Protocol

    +

    OIDF - OpenID Foundation

    +

    REST - Representational State Transfer

    +

    TLS - Transport Layer Security

    +
    +
    +
    +
    +

    +5. Introduction +

    +

    Brasil Open Bankings ecosystem leverages a federation trust provider or directory of participants as the golden source of information on accredited participants and software that are authorized to partake in the Open Banking Brasil ecosystem.

    +

    The services by the Directory include

    +
      +
    • +

      Software registration and management.

      +
    • +
    • +

      Software credential registration and management using ICP Certificates.

      +
    • +
    • +

      Software Statement Assertion (SSA) generation

      +
    • +
    +

    Participants within the ecosystem must leverage these services to facilitate API driven OAuth client registration using the process outlined in clause 3.1.1 of RFC7591 with additional metadata necessary to support OpenID Connect defined in OpenID Connect Registration.

    +

    It's important to remember that the client registration payload has most of its non-mandatory attributes, and that assigned values; that conflict with the present in the assertion software declaration will be overridden by the values of the software statement assertion issued by the Directory of Participants. Not all metadata that a client wishes to provide may be contained in a software statement, e.g alternative Metadata Languages and Script values. There are some cases when the client metadata are subset os the existing values in the SSA, such as redirect_URIs.

    +
    +
    +
    +
    +

    +6. Open Banking Brasil OpenID Connect Discovery provisions +

    +
    +
    +

    +6.1. Authorization server +

    +

    The Authorization Server shall support OpenID Connect Discovery as required by Financial-grade API Security Profile 1.0 - Part 1: Baseline. +This support shall be explicit in Participant Directory configurations, and in the declaration of its attributes in the Discovery file (well-known), respecting the authentication mechanisms certified by the institution through the Open Banking Brazil compliance tests.

    +

    In addition, the Authorization Server

    +
      +
    1. +

      shall advertise its presence in the Open Banking Brasil ecosystem by being listed on the Directory of Participants;

      +
    2. +
    3. +

      shall advertise all Open Banking Brasil REST API resources protected by the OpenID Provider on the Directory of Participants;

      +
    4. +
    5. +

      shall advertise support for all signing, encryption, authentication mechanisms and standards required to support Open Banking Brasil Financial API;

      +
    6. +
    7. +

      shall advertise support for OpenID Dynamic Client Registration;

      +
    8. +
    9. +

      shall advertise mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens the token_endpoint, registration_endpoint and userinfo_endpoint;

      +
    10. +
    11. +

      if supporting OAuth 2.0 Pushed Authorization Requests shall advertise through OIDD mtls_endpoint_aliases the pushed_authorization_request_endpoint;

      +
    12. +
    13. +

      if supporting Financial API - Client Initiated Back Channel Authentication shall advertise through OIDD mtls_endpoint_aliases the backchannel_authentication_endpoint;

      +
    14. +
    +
    +
    +
    +
    +

    +6.2. Client +

    +

    The Client shall support OpenID Connect Discovery as required by Financial-grade API Security Profile 1.0 - Part 1: Baseline

    +

    In addition, the Client

    +
      +
    1. +

      shall rely on ecosystem discovery services provided by Directory of Participants only;

      +
    2. +
    3. +

      shall derive necessary Authorisation Server metadata by relying on an Authorization Servers OpenID Connect Discovery services only;

      +
    4. +
    5. +

      where present, shall use endpoints advertised in mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens;

      +
    6. +
    +
    +
    +
    +
    +
    +
    +

    +7. Open Banking Brasil OpenID Connect Registration Provisions +

    +
    +
    +

    +7.1. Authorization server +

    +

    The Authorization Server shall support the RFC RFCs Dynamic Client Registration (DCR) RFC7591, Dynamic Client Management (DCM) RFC7592 and OpenID Registration

    +

    In addition, the Authorization Server

    +
      +
    1. +

      shall reject dynamic client registration requests not performed over a connection secured with mutual tls using certificates issued by Brazil ICP (production) or the Directory of Participants (sandbox);

      +
    2. +
    3. +

      shall validate that the request contains software_statement JWT signed using the PS256 algorithim issued by the Open Banking Brasil directory of participants;

      +
    4. +
    5. +

      shall validate that the software_statement was issued (iat) not more than 5 minutes prior to the request being received;

      +
    6. +
    7. +

      shall validate that the attribute jwks (key set by value) was not included; but declared as a reference in the jwks_uri attribute;

      +
    8. +
    9. +

      when the jwks_uri was informed, shall validate that matches the software_jwks_uri provided in the software_statement;

      +
    10. +
    11. +

      shall require and validate that redirect_uris match or contain a sub set of softwareredirecturis provided in the software_statement;

      +
    12. +
    13. +

      shall require and validate that all client authentication mechanism adhere to the requirements defined in RFC7591 and RFC7592, validating the registration_access_token and using a secure connection, protected by certificate Issued from chain of certificates linked to ICP-Brasil;

      +
    14. +
    15. +

      removed;

      +
    16. +
    17. +

      shall validate that the requested scopes are adequate for accredited institutions and their regulatory roles and contained in the software_statement. The list of regulatory permissions and the corresponding scopes are described in the following sections;

      +
    18. +
    19. +

      where possible, shall compare client metadata asserted by a client toward the metadata provided into software_statement, choosing the values present in the SSA with precedence;

      +
    20. +
    21. +

      shall accept all x.500 AttributeType name strings defined in the Distinguished Name of the x.509 Certificate Profiles defined in Open Banking Brasil x.509 Certificate Standards;

      +
    22. +
    23. +

      if supporting tls_client_auth client authentication mechanism as defined in RFC8705 shall only accept tls_client_auth_subject_dn as an indication of the certificate subject value as defined in clause 2.1.2 RFC8705;

      +
    24. +
    +

    These provisions apply equally to the processing of RFC7591, RFC7592 and OpenID Registration requests

    +
    +
    +

    +7.1.1. Applying Server Defaults +

    +

    Where properties of a DCR request are not included and are not mandatory in the specification the Authorisation Server shall apply client defaults in the following manner

    +
      +
    1. +

      shall select and apply the encryption algorithm and cipher choice from the most recommended of the IANA cipher suites that is supported by the Authorisation Server;

      +
    2. +
    3. +

      shall populate defaults from values within the software_statement assertion where possible;

      +
    4. +
    5. +

      shall grant the client permission to the complete set of potential scopes based on the softwares regulatory permissions included in the software_statement;

      +
    6. +
    +
    +
    +
    +
    +

    +7.1.2. Certificate Distinguished Name Parsing +

    +

    Clause 3 of Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names defines the mandatory OIDs whose AttributeType strings (descriptors) must be recognized by implementers. This mandatory list does not include several of the OIDs defined in Open Banking Brasil x.509 Certificate Standards nor is there a defined mechanism for Authorisation Servers to publish information regarding the format that they would expect a Dynamic Client Registration request that includes a tls_client_auth_subject_dn to be presented in.

    +

    To address this ambiguity, the Authorization Server must accept only the AttributeTypes name strings (descriptors) defined in the last paragraph of clause 3 RFC4514 in string format, it shall also accept in OID format, with their values in ASN.1, all the AttributeTypes defined in Distinguished Name Open Banking Brasil x.509 Certificate Standards or added by the Certificate Authority.

    +

    In case of non-compliance with these requirements, the Authorization Server shall reject the registration.

    +

    In terms of format, follow below how decoding should be done:

    +
      +
    • +

      Start backwards, the order is reversed from what is entered.

      +
    • +
    • +

      Append each RDN (RelativeDistinguishedName) segment with a comma ','.

      +
    • +
    • +

      Use the RFC strings (CN, L, ST, O, OR, C, Street, DC, UID) with the value of their attributes in "printable string", ie human-readable + the OIDs of the attributes defined in this specification for use in Distinguished Name Open Banking Brasil x.509 Certificate Standards (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=OID:2.5.4.5) with the value of your attributes in ASN.1 format.

      +
    • +
    +

    Examples:

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 1
    subject_dnIssuer
    UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BRissuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR
    UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BRissuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR
    1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BRissuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR
    CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6eissuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR
    +
    +
    +
    +
    +
    +
    +

    +7.2. Regulatory Roles to OpenID and OAuth 2.0 Mappings +

    +

    To participate in the Open Banking ecosystem, accredited institutions must register themselves in the directory of participants according to their regulatory roles. Those roles reflect the institutions' authorization from the Central Bank and, consequently, the APIs they are allowed to use.

    +

    The following table describes the regulatory roles for Open Banking and the related OAuth 2.0 scopes mapping. If the scopes are omitted during the DCR process, the authorization server shall grant the complete set of potential scopes based on the registering bank's regulatory roles, as described in the Server Defaults section.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Table 2
    Regulatory RoleDescriptionAllowed ScopesTarget Phase
    DADOSInstituição transmissora ou receptora de dados (AISP)openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resourcesPhase 2
    PAGTOInstituição prestadora de serviço de iniciação de pagamentos (PISP)openid payments consents resourcesPhase 3
    CONTAInstituição detentora de conta (ASPSP)openidPhase 3
    CCORRCorrespondente de créditoopenidPhase 3*
    +
    +
    +

    +7.2.1. Implementers Note +

    +

    In line with guidance from the IETF and the direction of travel for fine-grained consent management. The obligation falls to the Authorisation Server to ensure that there is sufficient scope conveyed in an access token necessary to fulfill the Permissions conveyed in the Consent Request. This principle and requirement is reflected in the forthcoming Grant Management API.

    +
    +
    +
    +
    +
    +
    +

    +7.3. Regulatory Roles to dynamic OAuth 2.0 scope Mappings +

    + + + + + + + + + + + + + + + + + + +
    Table 3
    Regulatory RoleAllowed Scopes
    DADOSconsent:{ConsentId}
    PAGTOconsent:{ConsentId}
    +
    +
    +
    +
    +
    +
    +

    +8. Software Statement +

    +
    +

    A software statement is a JSON Web Token (JWT) RFC7519 that asserts metadata values about the client software as a bundle.

    +
    +
    +
    +

    +8.1. Software Statement Claims +

    +

    The following example contains all of the claims currently included in a software statement

    +
    +
    {
    +  "software_mode": "Live",
    +  "software_redirect_uris": [
    +    "https://www.raidiam.com/accounting/cb"
    +  ],
    +  "software_statement_roles": [
    +    {
    +      "role": "DADOS",
    +      "authorisation_domain": "Open Banking",
    +      "status": "Active"
    +    },
    +    {
    +      "role": "PAGTO",
    +      "authorisation_domain": "Open Banking",
    +      "status": "Active"
    +    }
    +  ],
    +  "software_client_name": "Raidiam Accounting",
    +  "org_status": "Active",
    +  "software_client_id": "Cki1EbvjwyhPB12NGLlz2",
    +  "iss": "Open Banking Open Banking Brasil prod SSA issuer",
    +  "software_tos_uri": "https://www.raidiam.com/accounting/tos.html",
    +  "software_client_description": "Raidiam Accounting leverage cutting edge open banking access to bring you real time up to date views of your finances",
    +  "software_jwks_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/application.jwks",
    +  "software_policy_uri": "https://www.raidiam.com/accounting/policy.html",
    +  "software_id": "25556d5a-b9dd-4e27-aa1a-cce732fe74de",
    +  "software_client_uri": "https://www.raidiam.com/accounting.html",
    +  "software_jwks_inactive_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/inactive/application.jwks",
    +  "software_jwks_transport_inactive_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/inactive/transport.jwks",
    +  "software_jwks_transport_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/transport.jwks",
    +  "software_logo_uri": "https://www.raidiam.com/accounting/logo.png",
    +  "org_id": "b961c4eb-509d-4edf-afeb-35642b38185d",
    +  "org_number": "112233445566",
    +  "software_environment": "production",
    +  "software_version": "1.1",
    +  "software_roles": [
    +    "DADOS",
    +    "PAGTO"
    +  ],
    +  "org_name": "Open Banking Brasil",
    +  "iat": 1620060821,
    +  "organisation_competent_authority_claims": [
    +    {
    +      "authorisation_domain": "Open Banking",
    +      "authorisations": [],
    +      "registration_id": "13353236-OBB-CONTA",
    +      "authority_id": "687a1c94-b360-4e04-9589-0fa5cb16451b",
    +      "authority_name": "Banco Central",
    +      "authorisation_role": "CONTA",
    +      "authority_code": "BCB",
    +      "status": "Active"
    +    },
    +    {
    +      "authorisation_domain": "Open Banking",
    +      "authorisations": [],
    +      "registration_id": "13353236-OBB-DADOS",
    +      "authority_id": "687a1c94-b360-4e04-9589-0fa5cb16451b",
    +      "authority_name": "Banco Central",
    +      "authorisation_role": "DADOS",
    +      "authority_code": "BCB",
    +      "status": "Active"
    +    },
    +    {
    +      "authorisation_domain": "Open Banking",
    +      "authorisations": [],
    +      "registration_id": "13353236-OBB-PAGTO",
    +      "authority_id": "687a1c94-b360-4e04-9589-0fa5cb16451b",
    +      "authority_name": "Banco Central",
    +      "authorisation_role": "PAGTO",
    +      "authority_code": "BCB",
    +      "status": "Active"
    +    }
    +  ]
    +}
    +
    +
    +
    +
    +
    +
    +
    +
    +

    +9. Dynamic Client Registration Request Processing +

    +

    Dynamic Client Registration Request Processing

    +
    +
    +

    +9.1. Posting a request with a software statement +

    +

    This example includes various optional fields, some of which may not be applicable to some deployments. For a complete guide to the attributes and their requirements, consult the Swagger DCR/DCM link: OBB-DCR/DCM-Swagger . +Line wraps within values are for display purposes only.

    +
    +
    POST /reg HTTP/1.1
    +Host: auth.raidiam.com
    +Content-Type: application/json
    +{
    +"application_type": "web",
    +"grant_types": [
    +    "client_credentials",
    +    "authorization_code",
    +    "refresh_token",
    +    "implicit"
    +],
    +"id_token_signed_response_alg": "PS256",
    +"require_auth_time": false,
    +"response_types": [
    +    "code id_token",
    +    "id_token"
    +],
    +"software_statement": "eyJraWQiOiJzaWduZXIiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJzb2Z0d2FyZV9tb2RlIjoiTGl2ZSIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvY2IiXSwic29mdHdhcmVfc3RhdGVtZW50X3JvbGVzIjpbeyJyb2xlIjoiREFET1MiLCJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsInN0YXR1cyI6IkFjdGl2ZSJ9LHsicm9sZSI6IlBBR1RPIiwiYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJzdGF0dXMiOiJBY3RpdmUifV0sInNvZnR3YXJlX2NsaWVudF9uYW1lIjoiUmFpZGlhbSBBY2NvdW50aW5nIiwib3JnX3N0YXR1cyI6IkFjdGl2ZSIsInNvZnR3YXJlX2NsaWVudF9pZCI6IkNraTFFYnZqd3loUEIxMk5HTGx6MiIsImlzcyI6Ik9wZW4gQmFua2luZyBPcGVuIEJhbmtpbmcgQnJhc2lsIHByb2QgU1NBIGlzc3VlciIsInNvZnR3YXJlX3Rvc191cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nXC90b3MuaHRtbCIsInNvZnR3YXJlX2NsaWVudF9kZXNjcmlwdGlvbiI6IlJhaWRpYW0gQWNjb3VudGluZyBsZXZlcmFnZSBjdXR0aW5nIGVkZ2Ugb3BlbiBiYW5raW5nIGFjY2VzcyB0byBicmluZyB5b3UgcmVhbCB0aW1lIHVwIHRvIGRhdGUgdmlld3Mgb2YgeW91ciBmaW5hbmNlcyIsInNvZnR3YXJlX2p3a3NfZW5kcG9pbnQiOiJodHRwczpcL1wva2V5c3RvcmUuZGlyZWN0b3J5Lm9wZW5iYW5raW5nYnJhc2lsLm9yZy5iclwvYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkXC8yNTU1NmQ1YS1iOWRkLTRlMjctYWExYS1jY2U3MzJmZTc0ZGVcL2FwcGxpY2F0aW9uLmp3a3MiLCJzb2Z0d2FyZV9wb2xpY3lfdXJpIjoiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvcG9saWN5Lmh0bWwiLCJzb2Z0d2FyZV9pZCI6IjI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZSIsInNvZnR3YXJlX2NsaWVudF91cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nLmh0bWwiLCJzb2Z0d2FyZV9qd2tzX2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvYXBwbGljYXRpb24uandrcyIsInNvZnR3YXJlX2p3a3NfdHJhbnNwb3J0X2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9qd2tzX3RyYW5zcG9ydF9lbmRwb2ludCI6Imh0dHBzOlwvXC9rZXlzdG9yZS5kaXJlY3Rvcnkub3BlbmJhbmtpbmdicmFzaWwub3JnLmJyXC9iOTYxYzRlYi01MDlkLTRlZGYtYWZlYi0zNTY0MmIzODE4NWRcLzI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9sb2dvX3VyaSI6Imh0dHBzOlwvXC93d3cucmFpZGlhbS5jb21cL2FjY291bnRpbmdcL2xvZ28ucG5nIiwib3JnX2lkIjoiYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkIiwic29mdHdhcmVfZW52aXJvbm1lbnQiOiJwcm9kdWN0aW9uIiwic29mdHdhcmVfdmVyc2lvbiI6MS4xMCwic29mdHdhcmVfcm9sZXMiOlsiREFET1MiLCJQQUdUTyJdLCJvcmdfbmFtZSI6Ik9wZW4gQmFua2luZyBCcmFzaWwiLCJpYXQiOjE2MTgzMzYyNjIsIm9yZ2FuaXNhdGlvbl9jb21wZXRlbnRfYXV0aG9yaXR5X2NsYWltcyI6W3siYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJhdXRob3Jpc2F0aW9ucyI6W10sInJlZ2lzdHJhdGlvbl9pZCI6IjEzMzUzMjM2LU9CQi1DT05UQSIsImF1dGhvcml0eV9pZCI6IjY4N2ExYzk0LWIzNjAtNGUwNC05NTg5LTBmYTVjYjE2NDUxYiIsImF1dGhvcmlzYXRpb25fcm9sZSI6IkNPTlRBIiwiYXV0aG9yaXR5X2NvZGUiOiJCQ0IiLCJzdGF0dXMiOiJBY3RpdmUifSx7ImF1dGhvcmlzYXRpb25fZG9tYWluIjoiT3BlbiBCYW5raW5nIiwiYXV0aG9yaXNhdGlvbnMiOltdLCJyZWdpc3RyYXRpb25faWQiOiIxMzM1MzIzNi1PQkItREFET1MiLCJhdXRob3JpdHlfaWQiOiI2ODdhMWM5NC1iMzYwLTRlMDQtOTU4OS0wZmE1Y2IxNjQ1MWIiLCJhdXRob3Jpc2F0aW9uX3JvbGUiOiJEQURPUyIsImF1dGhvcml0eV9jb2RlIjoiQkNCIiwic3RhdHVzIjoiQWN0aXZlIn0seyJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsImF1dGhvcmlzYXRpb25zIjpbXSwicmVnaXN0cmF0aW9uX2lkIjoiMTMzNTMyMzYtT0JCLVBBR1RPIiwiYXV0aG9yaXR5X2lkIjoiNjg3YTFjOTQtYjM2MC00ZTA0LTk1ODktMGZhNWNiMTY0NTFiIiwiYXV0aG9yaXNhdGlvbl9yb2xlIjoiUEFHVE8iLCJhdXRob3JpdHlfY29kZSI6IkJDQiIsInN0YXR1cyI6IkFjdGl2ZSJ9XX0.W6hUAYhjT6I61rxEIVMKYKre93LTbRdzKnk9dJvUdzVgAz5B9KxZNutf27oO3k0hrjYVWBdWq23o_e4Y_AaKdpS9-rtU84JiHtmqV0wcFYIM8nqcUVWqQ-Ux6Nq9L2G-s2YNd3PcJ1e3yGg9h8553Gr7iJusKEgApzXUpkM2rBELQuumktUE_JBiuIkXmWxoRnO1cW-Osbk3MT3bxG43SPcxii07Q5S8qXI6PjCPA3fYlnaUAygwZM3O0oa7jqmSr7d9UsHuDMJfYhIKdq2wyQQKORCN-D2UopmMX-lHMvAVkkrAO08T0-7odjr4PJk-PrwuoCxeAfa7440ZDOrlmQ",
    +"subject_type": "public",
    +"token_endpoint_auth_method": "private_key_jwt",
    +"introspection_endpoint_auth_method": "private_key_jwt",
    +"revocation_endpoint_auth_method": "private_key_jwt",
    +"request_object_signing_alg": "PS256",
    +"require_signed_request_object": true,
    +"require_pushed_authorization_requests": false,
    +"tls_client_certificate_bound_access_tokens": true,
    +"client_id": "aCnBHjZBvD6ku3KVBaslL",
    +"client_name": "Raidiam Accounting",
    +"client_uri": "https://www.raidiam.com/accounting.html",
    +"request_object_encryption_alg": "RSA-OAEP",
    +"request_object_encryption_enc": "A256GCM"
    +"jwks_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/application.jwks",
    +"redirect_uris": [
    +    "https://www.raidiam.com/accounting/cb"
    +]
    +}
    +
    +
    +
    +
    +
    +
    +

    +9.2. Open Banking Brasil SSA Key Store and Issuer Details +

    +

    Production

    +

    https://keystore.directory.openbankingbrasil.org.br/openbanking.jwks

    +

    Open Banking Open Banking Brasil production SSA issuer

    +

    Sandbox

    +

    https://keystore.sandbox.directory.openbankingbrasil.org.br/openbanking.jwks

    +

    Open Banking Open Banking Brasil sandbox SSA issuer

    +
    +
    +
    +
    +

    +9.3. About authentication and authorization mechanisms for DCR and DCM services +

    +

    As they are auxiliary services to the main flow of Open Banking Brasil, the dynamic registration and maintenance services for clients cannot use the exact access control mechanisms. For example, it is not possible to require an OAuth 2.0 access_token from a client application that isn't registered yet with the transmitting institution.

    +

    To extend RFC7591 and RFC7592, which recommend minimum mechanisms for authentication of their services, institutions that support the registration flows and dynamic maintenance of clients must implement the following controls:

    +
    +
    +

    +9.3.1. Client registration - POST /register +

    +
      +
    1. +

      validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard;

      +
    2. +
    3. +

      ensure that the signature of the software_statement_ presented by the client application during registration has been made by the Directory of Participants using the public keys described in the previous section;

      +
    4. +
    5. +

      ensure that the software_statement presented by the client application during registration corresponds to the same institution as the client certificate presented, validating it through the attributes that bring organization_id in the X.509 certificate.

      +
    6. +
    +
    +
    +
    +
    +

    +9.3.2. Client Maintenance - GET /register - PUT /register - DELETE /register +

    +
      +
    1. +

      validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard;

      +
    2. +
    3. +

      Validate the presence and matching of the Bearer header Authorization containing the value of the registration_access_token attribute returned during registration of the corresponding client.

      +
    4. +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    +10. Acknowledgement +

    +

    With thanks to all who have set the foundations for secure and safe data sharing through the formation of the OpenID Foundation FAPI Working Group, the Open Banking Brasil GT Security and to the pioneers who will stand on their shoulders.

    +

    The following people contributed to this document:

    +
      +
    • +

      Ralph Bragg (Raidiam)

      +
    • +
    • +

      Alexandre Siqueira (Mercado Pago)

      +
    • +
    • +

      Bernardo Vale (Banco Inter)

      +
    • +
    • +

      André Borges (Banco Fibra)

      +
    • +
    • +

      Danilo Sasaki (Banco Itaú)

      +
    • +
    • +

      João Rodolfo Vieira da Silva (Banco Itaú)

      +
    • +
    • +

      Michelle Bandarra (Chicago)

      +
    • +
    • +

      Alexandre Daniel Dalabrida (Cooperativa Central Ailos)

      +
    • +
    • +

      Rafael Gonzalez Hashimoto - (Banco C6)

      +
    • +
    +
    +
    +
    +
    +

    +Appendix A. Notices +

    +

    Copyright (c) 2021 Open Banking Brasil Initial Structure.

    +

    The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS.

    +

    The technology described in this specification was made available from contributions from various sources, including members of the OpenID Foundation, the Open Banking Brasil GT Security Working Group and others. Although the Open Banking Brasil Initial Structure has taken steps to help ensure that the technology is available for distribution, it takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this specification or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any independent effort to identify any such rights. The Open Banking Brasil Initial Structure and the contributors to this specification make no (and hereby expressly disclaim any) warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to this specification, and the entire risk as to implementing this specification is assumed by the implementer. The Open Banking Brasil Intellectual Property Rights policy requires contributors to offer a patent promise not to assert certain patent claims against other contributors and against implementers. The Open Banking Brasil Initial Structure invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology that may be required to practice this specification.

    +
    +
    +

    +A.1. Appendix A. Example Software Statement Assertion +

    +
    +
    eyJraWQiOiJzaWduZXIiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJzb2Z0d2FyZV9tb2RlIjoiTGl2ZSIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvY2IiXSwic29mdHdhcmVfc3RhdGVtZW50X3JvbGVzIjpbeyJyb2xlIjoiREFET1MiLCJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsInN0YXR1cyI6IkFjdGl2ZSJ9LHsicm9sZSI6IlBBR1RPIiwiYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJzdGF0dXMiOiJBY3RpdmUifV0sInNvZnR3YXJlX2NsaWVudF9uYW1lIjoiUmFpZGlhbSBBY2NvdW50aW5nIiwib3JnX3N0YXR1cyI6IkFjdGl2ZSIsInNvZnR3YXJlX2NsaWVudF9pZCI6IkNraTFFYnZqd3loUEIxMk5HTGx6MiIsImlzcyI6Ik9wZW4gQmFua2luZyBPcGVuIEJhbmtpbmcgQnJhc2lsIHByb2QgU1NBIGlzc3VlciIsInNvZnR3YXJlX3Rvc191cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nXC90b3MuaHRtbCIsInNvZnR3YXJlX2NsaWVudF9kZXNjcmlwdGlvbiI6IlJhaWRpYW0gQWNjb3VudGluZyBsZXZlcmFnZSBjdXR0aW5nIGVkZ2Ugb3BlbiBiYW5raW5nIGFjY2VzcyB0byBicmluZyB5b3UgcmVhbCB0aW1lIHVwIHRvIGRhdGUgdmlld3Mgb2YgeW91ciBmaW5hbmNlcyIsInNvZnR3YXJlX2p3a3NfZW5kcG9pbnQiOiJodHRwczpcL1wva2V5c3RvcmUuZGlyZWN0b3J5Lm9wZW5iYW5raW5nYnJhc2lsLm9yZy5iclwvYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkXC8yNTU1NmQ1YS1iOWRkLTRlMjctYWExYS1jY2U3MzJmZTc0ZGVcL2FwcGxpY2F0aW9uLmp3a3MiLCJzb2Z0d2FyZV9wb2xpY3lfdXJpIjoiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvcG9saWN5Lmh0bWwiLCJzb2Z0d2FyZV9pZCI6IjI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZSIsInNvZnR3YXJlX2NsaWVudF91cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nLmh0bWwiLCJzb2Z0d2FyZV9qd2tzX2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvYXBwbGljYXRpb24uandrcyIsInNvZnR3YXJlX2p3a3NfdHJhbnNwb3J0X2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9qd2tzX3RyYW5zcG9ydF9lbmRwb2ludCI6Imh0dHBzOlwvXC9rZXlzdG9yZS5kaXJlY3Rvcnkub3BlbmJhbmtpbmdicmFzaWwub3JnLmJyXC9iOTYxYzRlYi01MDlkLTRlZGYtYWZlYi0zNTY0MmIzODE4NWRcLzI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9sb2dvX3VyaSI6Imh0dHBzOlwvXC93d3cucmFpZGlhbS5jb21cL2FjY291bnRpbmdcL2xvZ28ucG5nIiwib3JnX2lkIjoiYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkIiwic29mdHdhcmVfZW52aXJvbm1lbnQiOiJwcm9kdWN0aW9uIiwic29mdHdhcmVfdmVyc2lvbiI6MS4xMCwic29mdHdhcmVfcm9sZXMiOlsiREFET1MiLCJQQUdUTyJdLCJvcmdfbmFtZSI6Ik9wZW4gQmFua2luZyBCcmFzaWwiLCJpYXQiOjE2MTgzMzYyNjIsIm9yZ2FuaXNhdGlvbl9jb21wZXRlbnRfYXV0aG9yaXR5X2NsYWltcyI6W3siYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJhdXRob3Jpc2F0aW9ucyI6W10sInJlZ2lzdHJhdGlvbl9pZCI6IjEzMzUzMjM2LU9CQi1DT05UQSIsImF1dGhvcml0eV9pZCI6IjY4N2ExYzk0LWIzNjAtNGUwNC05NTg5LTBmYTVjYjE2NDUxYiIsImF1dGhvcmlzYXRpb25fcm9sZSI6IkNPTlRBIiwiYXV0aG9yaXR5X2NvZGUiOiJCQ0IiLCJzdGF0dXMiOiJBY3RpdmUifSx7ImF1dGhvcmlzYXRpb25fZG9tYWluIjoiT3BlbiBCYW5raW5nIiwiYXV0aG9yaXNhdGlvbnMiOltdLCJyZWdpc3RyYXRpb25faWQiOiIxMzM1MzIzNi1PQkItREFET1MiLCJhdXRob3JpdHlfaWQiOiI2ODdhMWM5NC1iMzYwLTRlMDQtOTU4OS0wZmE1Y2IxNjQ1MWIiLCJhdXRob3Jpc2F0aW9uX3JvbGUiOiJEQURPUyIsImF1dGhvcml0eV9jb2RlIjoiQkNCIiwic3RhdHVzIjoiQWN0aXZlIn0seyJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsImF1dGhvcmlzYXRpb25zIjpbXSwicmVnaXN0cmF0aW9uX2lkIjoiMTMzNTMyMzYtT0JCLVBBR1RPIiwiYXV0aG9yaXR5X2lkIjoiNjg3YTFjOTQtYjM2MC00ZTA0LTk1ODktMGZhNWNiMTY0NTFiIiwiYXV0aG9yaXNhdGlvbl9yb2xlIjoiUEFHVE8iLCJhdXRob3JpdHlfY29kZSI6IkJDQiIsInN0YXR1cyI6IkFjdGl2ZSJ9XX0.W6hUAYhjT6I61rxEIVMKYKre93LTbRdzKnk9dJvUdzVgAz5B9KxZNutf27oO3k0hrjYVWBdWq23o_e4Y_AaKdpS9-rtU84JiHtmqV0wcFYIM8nqcUVWqQ-Ux6Nq9L2G-s2YNd3PcJ1e3yGg9h8553Gr7iJusKEgApzXUpkM2rBELQuumktUE_JBiuIkXmWxoRnO1cW-Osbk3MT3bxG43SPcxii07Q5S8qXI6PjCPA3fYlnaUAygwZM3O0oa7jqmSr7d9UsHuDMJfYhIKdq2wyQQKORCN-D2UopmMX-lHMvAVkkrAO08T0-7odjr4PJk-PrwuoCxeAfa7440ZDOrlmQ
    +
    +
    +
    +
    +
    +
    +
    +
    +

    +Authors' Addresses +

    +
    +
    Ralph Bragg
    +
    Raidiam
    + + +
    +
    +
    OBBIS GT Security
    +
    Open Banking Brasil Initial Structure
    + + +
    +
    +
    + + + From 56bc3f00a9f213179c20de1b3d58a2e878ded68b Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Thu, 11 Nov 2021 18:20:42 -0300 Subject: [PATCH 29/59] Rename open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html to versions/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html --- ...pen-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html => versions/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html (100%) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html b/versions/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html similarity index 100% rename from open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html rename to versions/open-banking-brasil-dynamic-client-registration-1_ID1-ptbr.html From 065fbce87d752469f686d23cd76a46a872348dad Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Thu, 11 Nov 2021 18:21:28 -0300 Subject: [PATCH 30/59] Rename open-banking-brasil-dynamic-client-registration-1_ID1.html to versions/open-banking-brasil-dynamic-client-registration-1_ID1.html --- .../open-banking-brasil-dynamic-client-registration-1_ID1.html | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename open-banking-brasil-dynamic-client-registration-1_ID1.html => versions/open-banking-brasil-dynamic-client-registration-1_ID1.html (100%) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID1.html b/versions/open-banking-brasil-dynamic-client-registration-1_ID1.html similarity index 100% rename from open-banking-brasil-dynamic-client-registration-1_ID1.html rename to versions/open-banking-brasil-dynamic-client-registration-1_ID1.html From 41c34164333a3d92fced0771cc8c606380f6ce7e Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Thu, 11 Nov 2021 20:52:34 -0300 Subject: [PATCH 31/59] Update the table with consents #213 --- open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index 2daff27..3a4aa53 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -281,7 +281,7 @@ A tabela a seguir descreve as funções regulatórias do Open Banking e o mapeam | Papel Regulador | Descrição | Escopos Permitidos | Fase-alvo | | --- | --- | --- | --- | | DADOS | Instituição transmissora / receptora de dados (AISP) | openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources | Phase 2 | -| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments consents resources | Phase 3 | +| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments | Phase 3 | | CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | | CCORR | Correspondente de crédito | openid | Phase 3* | From 086e3c05f21261974af3c0327f439dc58893ba0f Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Thu, 11 Nov 2021 20:58:42 -0300 Subject: [PATCH 32/59] Update the Consents Table --- open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html index 550905a..01aced9 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html @@ -1557,7 +1557,7 @@

    PAGTO Instituição prestadora de serviço de iniciação de pagamentos (PISP) - openid payments consents resources + openid payments Phase 3 From f12e87e450a5ae9b8798c50ecb888ab5a614bfb7 Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Thu, 11 Nov 2021 21:13:50 -0300 Subject: [PATCH 33/59] Update table #213 Remove Consents and Resources from required scopes for PAGTO DCR Clients. #213 --- open-banking-brasil-dynamic-client-registration-1_ID2.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.html b/open-banking-brasil-dynamic-client-registration-1_ID2.html index 64ee7b2..68cec05 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.html +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.html @@ -1552,7 +1552,7 @@

    PAGTO Instituição prestadora de serviço de iniciação de pagamentos (PISP) - openid payments consents resources + openid payments Phase 3 From 6a9b56e0c2197c0ea687504d828891d25e1d399c Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Thu, 11 Nov 2021 21:16:29 -0300 Subject: [PATCH 34/59] Update table #213 Remove Consents and Resources from required scopes for PAGTO DCR Clients. #213 --- open-banking-brasil-dynamic-client-registration-1_ID2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 99df93e..8995218 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -280,7 +280,7 @@ The following table describes the regulatory roles for Open Banking and the rela | Regulatory Role | Description | Allowed Scopes | Target Phase| | --- | --- | --- | --- | | DADOS | Instituição transmissora ou receptora de dados (AISP) | openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources | Phase 2 | -| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments consents resources | Phase 3 | +| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments | Phase 3 | | CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | | CCORR | Correspondente de crédito | openid | Phase 3* | From 3f3d04f927ec94aabfa0368d4e2dbdb46e9efa02 Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Thu, 11 Nov 2021 21:19:21 -0300 Subject: [PATCH 35/59] Included the link [OBB-DCR/DCM-Swagger] - DCR & DCM Swagger IIncluded the link: [OBB-DCR/DCM-Swagger]: Date: Fri, 12 Nov 2021 09:42:28 -0300 Subject: [PATCH 36/59] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20item=207.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alterações feitas conforme solicitação do GT Segurança --- open-banking-brasil-financial-api-1_ID3-ptbr.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 7a83bde..30436fa 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -411,7 +411,9 @@ Além dos requisitos descritos nas disposições de segurança do Open Banking B 8. deve retornar falha na autenticação e o código de retorno _access_denied_ no parâmetro _erro_ (como especificado na seção 4.1.2.1 da [RFC6749]) caso o CPF do usuário autenticado não seja o mesmo indicado no elemento _loggedUser_ do Consentimento (Consent Resource Object); 9. deve retornar falha na autenticação e o código de retorno _access_denied_ no parâmetro _erro_ (como especificado na seção 4.1.2.1 da [RFC6749]) caso o elemento _businessEntity_ não tenha sido preenchido no Consentimento (Consent Resource Object) relacionado e o usuário tenha selecionado ou se autenticado por meio de credencial relacionada à conta do tipo Pessoa Jurídica (PJ); 10. deve condicionar a autenticação ou seleção de contas do tipo PJ à consistência entre o CNPJ relacionado à(s) conta(s) e o valor presente no elemento _businessEntity_ do Consentimento (Consent Resource Object). Em caso de divergência deve retornar falha na autenticação e o código de retorno _access_denied_ no parâmetro _erro_ (como especificado na seção 4.1.2.1 da [RFC6749]); -11. deve emitir _refresh_token_ com validade não inferior à validade do consentimento ao qual está relacionado, respeitado os demais critérios acima. +11. deve emitir _refresh_token_ com validade não inferior à validade do consentimento ao qual está relacionado, respeitado os demais critérios acima; +12. a claim _iat_ deve ser numérica no formato Unix Time GMT+0 com tolerância de +/- 60 segundos; +13. A claim do _jti_ deve ser única para um _clientId_ dentro de um intervalo de tempo de 86.400 segundos (24h), não podendo ser reutilizada neste período. Em caso de reutilização, deverá ser retornado o código de erro HTTP 403. ### Cliente confidencial {#clientconfidential} From 0440d9b87b930c2e19bdc90271156790b8ef6370 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Fri, 12 Nov 2021 09:48:07 -0300 Subject: [PATCH 37/59] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20item=207.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alterações feitas conforme solicitação do GT Segurança --- open-banking-brasil-financial-api-1_ID3.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index ff7bff6..019784a 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -424,7 +424,9 @@ In addition to the requirements outlined in Open Banking Brasil security provisi 8. shall return authentication failure and return code _access_denied_ in the _error_ parameter (as specified in section 4.1.2.1 of [RFC6749]) if the CPF of the authenticated user is not the same as indicated in the _loggedUser_ element of the Consent Resource Object; 9. shall return authentication failure and return code _access_denied_ in the _error_ parameter (as specified in section 4.1.2.1 of [RFC6749]) if the _businessEntity_ element has not been populated in the related Consent Resource Object and the user has selected or authenticated by using a credential related to a business account; 10. an autenticated or selected business account´s CNPJ must match the value present in the _businessEntity_ element of the Consent Resource Object. In case of divergence authorization server shall return authentication failure and return code _access_denied_ in the _error_ parameter (as specified in section 4.1.2.1 of [RFC6749]); -11. shall ensure _refresh_tokens_ expiration time is at least equal to the linked consent resource expiration time. +11. shall ensure _refresh_tokens_ expiration time is at least equal to the linked consent resource expiration time; +12. the _iat_ claim must be numeric in Unix Time format GMT+0 with a tolerance of +/- 60 seconds; +13. The _jti_ claim must be unique for a _clientId_ within a time frame of 86,400 seconds (24h), and cannot be reused within this period. In case of reuse, the HTTP error code 403 shall be returned. ### Confidential Client From 06f10c2772ed3ac6f1a029c9ebdbf2717cb8c1ca Mon Sep 17 00:00:00 2001 From: Alexandre Daniel Dalabrida Date: Fri, 12 Nov 2021 14:40:49 -0300 Subject: [PATCH 38/59] =?UTF-8?q?Inclus=C3=A3o=20da=20documenta=C3=A7?= =?UTF-8?q?=C3=A3o=20da=20proibi=C3=A7=C3=A3o=20da=20rota=C3=A7=C3=A3o=20d?= =?UTF-8?q?o=20refresh=20token=20em=20ingles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...banking-brasil-financial-api-1_ID3-ptbr.md | 416 +++++++++--------- 1 file changed, 214 insertions(+), 202 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index c03a885..fc27f9f 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -1,4 +1,3 @@ - %%% # @@ -16,7 +15,7 @@ [seriesInfo] name = "Internet-Draft" status = "standard" - value = "open-banking-brasil-financial-api-1_ID3-ptbr" + value = "open-banking-brasil-financial-api-1_ID3" [[author]] initials = "R." @@ -39,51 +38,50 @@ uri = "https://openbankingbrasil.org.br/" %%% -.# Prefácio {#Foreword} +.# Foreword -The normative version in [English](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID3.html) +Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID3-ptbr.html) -A Estrutura Inicial do Open Banking Brasil (EIOBB) é responsável por criar padrões e especificações necessárias para atender aos requisitos e obrigações da Legislação do Open Banking do Brasil, conforme originalmente delineado pelo [Banco Central do Brasil](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). É possível que alguns dos elementos deste documento estejam sujeitos a direitos autorais ou patenteados. O EIOBB não se responsabiliza pela identificação de qualquer ou todos esses direitos. +The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the [Brasil Central Bank](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights. -O Financial-grade API 1.0 do Open Banking Brasil consiste nas seguintes partes: +Open Banking Brasil Financial-grade API Security Profile 1.0 consists of the following parts: * Open Banking Brasil Financial-grade API Security Profile 1.0 * [Open Banking Brasil Dynamic Client Registration Profile 1.0][OBB-FAPI-DCR] -Estas partes são destinados a serem usados com [RFC6749], [RFC6750], [RFC7636], [OIDC], [FAPI-1-Baseline] e [FAPI-1-Advanced] - -.# Introdução {#Introduction} +These parts are intended to be used with [RFC6749], [RFC6750], [RFC7636], [OIDC], [FAPI-1-Baseline] and [FAPI-1-Advanced] -A Financial-grade API do Open Banking Brasil é um perfil OAuth altamente seguro que visa fornecer diretrizes de implementação específicas para segurança e interoperabilidade que podem ser aplicadas a APIs na área de Open Banking do Brasil que requerem um nível de privacidade superior ao fornecido pelo padrão [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced]. Entre outras melhorias, esta especificação aborda considerações de privacidade identificadas em [FAPI-1-Advanced] que são relevantes nas especificações do Open Banking Brasil, mas não foram, até agora, exigidas por outras jurisdições. +.# Introduction -Embora seja possível codificar um provedor de OpenID e parte de confiança a partir dos primeiros princípios usando esta especificação, o público principal para esta especificação são as partes que já possuem uma implementação certificada do [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] e deseja obter a certificação para o programa Brasil Open Banking. +The Open Banking Brasil Financial-grade API is a highly secured OAuth profile that aims to provide specific implementation guidelines for security and interoperability which can be applied to APIs in the Brasil Open Banking area that require a higher level of privacy than provided by standard [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced]. Among other enhancements, this specification addresses privacy considerations identified in [FAPI-1-Advanced] that are relevent in the Open Banking Brasil specifications but have not, so far, been required by other jurisdictions. -.# Convenções Notacionais {#Notational} +Although it is possible to code an OpenID Provider and Relying Party from first principles using this specification, the main audience for this specification is parties who already have a certified implementation of [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] and want to achieve certification for the Brasil Open Banking programme. -As palavras-chave "*deve*" (shall), "*não deve*" (shall not), "*deveria*" (should), "*não deveria*" (should not) e "*pode*" (may) presentes nesse documento devem ser interpretadas conforme as diretrizes descritas em [ISO Directive Part 2][ISODIR2] observando seguinte equivalência: +.# Notational Conventions -* "deve" => equivalente ao termo "shall" e expressa um requerimento definido no documento (nas traduções é similar ao termo "must", que pode denotar um requerimento externo ao documento); -* "não deve" => equivalente ao termo "shall not" e também expressa um requerimento definido no documento; -* "deveria" e "não deveria"=> equivalente ao termo "should" e "should not" e expressa uma recomendação -* "pode" => equivalente ao termo "may" indica uma permissão - -Estas palavras-chave não são usadas como termos de dicionário, de modo que qualquer ocorrência deles deve ser interpretada como palavras-chave e não devem ser interpretados com seus significados de linguagem natural. +The key words "shall", "shall not", +"should", "should not", "may", and +"can" in this document are to be interpreted as described in +[ISO Directive Part 2][ISODIR2]. +These key words are not used as dictionary terms such that +any occurrence of them shall be interpreted as key words +and are not to be interpreted with their natural language meanings. {mainmatter} -# Escopo {#Scope} +# Scope -Este documento especifica o método para os aplicativos +This document specifies the method of -* obterem de maneira segura os tokens OAuth necessários para acesso a dados críticos de acordo com os requisitos do [Open Banking Brasil](https://www.in.gov.br/en/web/dou/-/resolucao-conjunta-n-1-de-4-de-maio-de-2020-255165055); -* utilizarem o OpenID Connect para identificação do usuário do Open Banking; e -* utilizarem o OpenID Connect para afirmar a identidade do cliente. +* applications to obtain the OAuth tokens in an appropriately secure manner for higher risk access to data in a manner that meets the requirements of [Open Banking Brasil](https://www.in.gov.br/en/web/dou/-/resolucao-conjunta-n-1-de-4-de-maio-de-2020-255165055); +* applications to use OpenID Connect to identify the customer; and +* applications to use OpenID Connect to assert identity of the customer; -Este documento é aplicável a todos os participantes do Open Banking no Brasil. +This document is applicable to all participants engaging in Open Banking in Brasil. -# Referências normativas {#Normative} +# Normative references -Os seguintes documentos referenciados são indispensáveis para a adoção das especificações deste documento. Para referências datadas, apenas a edição citada se aplica. Para referências não datadas, deve-se aplicar a última edição do documento referenciado (incluindo quaisquer emendas). +The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applied. For undated references, the latest edition of the referenced document (including any amendments) applies. [ISODIR2] - ISO/IEC Directives Part 2 [ISODIR2]: Date: Fri, 12 Nov 2021 14:47:13 -0300 Subject: [PATCH 39/59] =?UTF-8?q?Ajuste=20na=20documenta=C3=A7=C3=A3o=20da?= =?UTF-8?q?=20proibi=C3=A7=C3=A3o=20da=20rota=C3=A7=C3=A3o=20do=20refresh?= =?UTF-8?q?=20token=20em=20ingles=20e=20portugues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...banking-brasil-financial-api-1_ID3-ptbr.md | 415 +++++++++--------- open-banking-brasil-financial-api-1_ID3.md | 18 +- 2 files changed, 211 insertions(+), 222 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index fc27f9f..093caf0 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -15,7 +15,7 @@ [seriesInfo] name = "Internet-Draft" status = "standard" - value = "open-banking-brasil-financial-api-1_ID3" + value = "open-banking-brasil-financial-api-1_ID3-ptbr" [[author]] initials = "R." @@ -38,50 +38,51 @@ uri = "https://openbankingbrasil.org.br/" %%% -.# Foreword +.# Prefácio {#Foreword} -Este documento também está disponível em [português](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID3-ptbr.html) +The normative version in [English](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-financial-api-1_ID3.html) -The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the [Brasil Central Bank](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights. +A Estrutura Inicial do Open Banking Brasil (EIOBB) é responsável por criar padrões e especificações necessárias para atender aos requisitos e obrigações da Legislação do Open Banking do Brasil, conforme originalmente delineado pelo [Banco Central do Brasil](https://www.bcb.gov.br/content/config/Documents/BCB_Open_Banking_Communique-April-2019.pdf). É possível que alguns dos elementos deste documento estejam sujeitos a direitos autorais ou patenteados. O EIOBB não se responsabiliza pela identificação de qualquer ou todos esses direitos. -Open Banking Brasil Financial-grade API Security Profile 1.0 consists of the following parts: +O Financial-grade API 1.0 do Open Banking Brasil consiste nas seguintes partes: * Open Banking Brasil Financial-grade API Security Profile 1.0 * [Open Banking Brasil Dynamic Client Registration Profile 1.0][OBB-FAPI-DCR] -These parts are intended to be used with [RFC6749], [RFC6750], [RFC7636], [OIDC], [FAPI-1-Baseline] and [FAPI-1-Advanced] +Estas partes são destinados a serem usados com [RFC6749], [RFC6750], [RFC7636], [OIDC], [FAPI-1-Baseline] e [FAPI-1-Advanced] -.# Introduction +.# Introdução {#Introduction} -The Open Banking Brasil Financial-grade API is a highly secured OAuth profile that aims to provide specific implementation guidelines for security and interoperability which can be applied to APIs in the Brasil Open Banking area that require a higher level of privacy than provided by standard [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced]. Among other enhancements, this specification addresses privacy considerations identified in [FAPI-1-Advanced] that are relevent in the Open Banking Brasil specifications but have not, so far, been required by other jurisdictions. +A Financial-grade API do Open Banking Brasil é um perfil OAuth altamente seguro que visa fornecer diretrizes de implementação específicas para segurança e interoperabilidade que podem ser aplicadas a APIs na área de Open Banking do Brasil que requerem um nível de privacidade superior ao fornecido pelo padrão [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced]. Entre outras melhorias, esta especificação aborda considerações de privacidade identificadas em [FAPI-1-Advanced] que são relevantes nas especificações do Open Banking Brasil, mas não foram, até agora, exigidas por outras jurisdições. -Although it is possible to code an OpenID Provider and Relying Party from first principles using this specification, the main audience for this specification is parties who already have a certified implementation of [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] and want to achieve certification for the Brasil Open Banking programme. +Embora seja possível codificar um provedor de OpenID e parte de confiança a partir dos primeiros princípios usando esta especificação, o público principal para esta especificação são as partes que já possuem uma implementação certificada do [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] e deseja obter a certificação para o programa Brasil Open Banking. -.# Notational Conventions +.# Convenções Notacionais {#Notational} -The key words "shall", "shall not", -"should", "should not", "may", and -"can" in this document are to be interpreted as described in -[ISO Directive Part 2][ISODIR2]. -These key words are not used as dictionary terms such that -any occurrence of them shall be interpreted as key words -and are not to be interpreted with their natural language meanings. +As palavras-chave "*deve*" (shall), "*não deve*" (shall not), "*deveria*" (should), "*não deveria*" (should not) e "*pode*" (may) presentes nesse documento devem ser interpretadas conforme as diretrizes descritas em [ISO Directive Part 2][ISODIR2] observando seguinte equivalência: + +* "deve" => equivalente ao termo "shall" e expressa um requerimento definido no documento (nas traduções é similar ao termo "must", que pode denotar um requerimento externo ao documento); +* "não deve" => equivalente ao termo "shall not" e também expressa um requerimento definido no documento; +* "deveria" e "não deveria"=> equivalente ao termo "should" e "should not" e expressa uma recomendação +* "pode" => equivalente ao termo "may" indica uma permissão + +Estas palavras-chave não são usadas como termos de dicionário, de modo que qualquer ocorrência deles deve ser interpretada como palavras-chave e não devem ser interpretados com seus significados de linguagem natural. {mainmatter} -# Scope +# Escopo {#Scope} -This document specifies the method of +Este documento especifica o método para os aplicativos -* applications to obtain the OAuth tokens in an appropriately secure manner for higher risk access to data in a manner that meets the requirements of [Open Banking Brasil](https://www.in.gov.br/en/web/dou/-/resolucao-conjunta-n-1-de-4-de-maio-de-2020-255165055); -* applications to use OpenID Connect to identify the customer; and -* applications to use OpenID Connect to assert identity of the customer; +* obterem de maneira segura os tokens OAuth necessários para acesso a dados críticos de acordo com os requisitos do [Open Banking Brasil](https://www.in.gov.br/en/web/dou/-/resolucao-conjunta-n-1-de-4-de-maio-de-2020-255165055); +* utilizarem o OpenID Connect para identificação do usuário do Open Banking; e +* utilizarem o OpenID Connect para afirmar a identidade do cliente. -This document is applicable to all participants engaging in Open Banking in Brasil. +Este documento é aplicável a todos os participantes do Open Banking no Brasil. -# Normative references +# Referências normativas {#Normative} -The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applied. For undated references, the latest edition of the referenced document (including any amendments) applies. +Os seguintes documentos referenciados são indispensáveis para a adoção das especificações deste documento. Para referências datadas, apenas a edição citada se aplica. Para referências não datadas, deve-se aplicar a última edição do documento referenciado (incluindo quaisquer emendas). [ISODIR2] - ISO/IEC Directives Part 2 [ISODIR2]: Date: Tue, 16 Nov 2021 17:26:51 -0300 Subject: [PATCH 40/59] =?UTF-8?q?Ajuste=20da=20posi=C3=A7=C3=A3o=20dos=20n?= =?UTF-8?q?ovos=20itens=20sobre=20rota=C3=A7=C3=A3o=20do=20refresh=20token?= =?UTF-8?q?=20para=20o=20final=20da=20lista=20e=20ajuste=20na=20pontua?= =?UTF-8?q?=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...banking-brasil-financial-api-1_ID3-ptbr.md | 52 +++++++++---------- open-banking-brasil-financial-api-1_ID3.md | 51 +++++++++--------- 2 files changed, 51 insertions(+), 52 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 093caf0..eb94639 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -215,23 +215,23 @@ O Servidor de Autorização **deve** suportar as disposições especificadas na Além disso, ele deve: -1. deve suportar Request Objects JWE assinados e criptografados passados por valor ou deve exigir requisições do tipo "pushed authorization requests" [PAR] -2. deve publicar metadados de descoberta (incluindo a do endpoint de autorização) por meio do documento de metadado especificado em [OIDD] e [RFC8414] (".well-known") -3. deve suportar os parâmetros `claims` como definido no item 5.5 do [OpenID Connect Core][OIDC] -4. deve suportar o atributo `claim` padrão oidc "cpf" conforme definido no item 5.2.2.2 deste documento -5. deve suportar o atributo `claim` padrão oidc "cnpj" conforme definido no item 5.2.2.3 deste documento, se a instituição for detentora de conta para pessoas jurídicas -6. deve suportar o atributo `acr` "urn:brasil:openbanking:loa2" como definido no item 5.2.2.4 deste documento -7. deveria suportar o atributo `acr` "urn:brasil:openbanking:loa3" como definido no item 5.2.2.4 deste documento -8. deve implementar o endpoint "userinfo" como definido no item 5.3 do [OpenID Connect Core][OIDC] -9. deve suportar o escopo parametrizável ("parameterized OAuth 2.0 resource scope") _consent_ como definido no item 6.3.1 de [OIDF FAPI WG Lodging Intent Pattern][LIWP] -10. pode suportar [Financial-grade API: Client Initiated Backchannel Authentication Profile][FAPI-CIBA] -11. (requisito temporariamente retirado) -12. deve suportar `refresh tokens` -13. não deve permitir o recurso de rotação de `refresh tokens` -14. deve emitir `access tokens` com o tempo de expiração entre 300 (mínimo) e 900 (máximo) segundos -15. deve sempre incluir a claim `acr` no id_token -16. deve suportar os valores `code` e `id_token` para o atributo `response_type` -17. pode suportar o valor `code` para o atributo `response_type`em conjunto com o valor `jwt` para o atributo `response_mode` +1. deve suportar Request Objects JWE assinados e criptografados passados por valor ou deve exigir requisições do tipo "pushed authorization requests" [PAR]; +2. deve publicar metadados de descoberta (incluindo a do endpoint de autorização) por meio do documento de metadado especificado em [OIDD] e [RFC8414] (".well-known"); +3. deve suportar os parâmetros `claims` como definido no item 5.5 do [OpenID Connect Core][OIDC]; +4. deve suportar o atributo `claim` padrão oidc "cpf" conforme definido no item 5.2.2.2 deste documento; +5. deve suportar o atributo `claim` padrão oidc "cnpj" conforme definido no item 5.2.2.3 deste documento, se a instituição for detentora de conta para pessoas jurídicas; +6. deve suportar o atributo `acr` "urn:brasil:openbanking:loa2" como definido no item 5.2.2.4 deste documento; +7. deveria suportar o atributo `acr` "urn:brasil:openbanking:loa3" como definido no item 5.2.2.4 deste documento; +8. deve implementar o endpoint "userinfo" como definido no item 5.3 do [OpenID Connect Core][OIDC]; +9. deve suportar o escopo parametrizável ("parameterized OAuth 2.0 resource scope") _consent_ como definido no item 6.3.1 de [OIDF FAPI WG Lodging Intent Pattern][LIWP]; +10. pode suportar [Financial-grade API: Client Initiated Backchannel Authentication Profile][FAPI-CIBA]; +11. (requisito temporariamente retirado); +12. deve suportar `refresh tokens`; +13. deve emitir `access tokens` com o tempo de expiração entre 300 (mínimo) e 900 (máximo) segundos; +14. deve sempre incluir a claim `acr` no id_token; +15. deve suportar os valores `code` e `id_token` para o atributo `response_type`; +16. pode suportar o valor `code` para o atributo `response_type`em conjunto com o valor `jwt` para o atributo `response_mode`; +17. não deve permitir o recurso de rotação de `refresh tokens`. #### Token de ID como assinatura separada {#detached} @@ -301,15 +301,15 @@ Um cliente confidencial deve apoiar as disposições especificadas na cláusula Além disso, o cliente confidencial -1. deve suportar objetos de solicitação _encrypted_ -2. deve suportar solicitações de autorização push (pushed authorization requests) [PAR] -3. deve usar objetos de solicitação _encrypted_ se não usar [PAR] -4. deve suportar o escopo de recurso OAuth 2.0 parametrizado _consent_ conforme definido na cláusula 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP] -5. deve suportar `refresh tokens` -6. não deve permitir o recurso de rotação de `refresh tokens` -7. não deve incluir um valor específico na _claim_ `acr` -8. deve definir a _claim_ `acr`como _essential_ -9. deve suportar todos os métodos de autenticação especificados no item 14 da seção 5.2.2 da [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] incluindo as diferentes combinações de métodos de encaminhamento dos Requests Objects (usando ou não [PAR] - item 11). +1. deve suportar objetos de solicitação _encrypted_; +2. deve suportar solicitações de autorização push (pushed authorization requests) [PAR]; +3. deve usar objetos de solicitação _encrypted_ se não usar [PAR]; +4. deve suportar o escopo de recurso OAuth 2.0 parametrizado _consent_ conforme definido na cláusula 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP]; +5. deve suportar `refresh tokens`; +6. não deve incluir um valor específico na _claim_ `acr`; +7. deve definir a _claim_ `acr`como _essential_; +8. deve suportar todos os métodos de autenticação especificados no item 14 da seção 5.2.2 da [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] incluindo as diferentes combinações de métodos de encaminhamento dos Requests Objects (usando ou não [PAR] - item 11); +9. não deve permitir o recurso de rotação de `refresh tokens`. # Considerações de segurança {#authserver} diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index d7ab44c..2407a13 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -215,23 +215,22 @@ The Authorization Server shall support the provisions specified in clause 5.2.2 In addition, the Authorization Server 1. shall support a signed and encrypted JWE request object passed by value or shall require pushed authorization requests [PAR]; -2. shall distribute discovery metadata (such as the authorization endpoint) via the metadata document as specified in [OIDD] and [RFC8414] -3. shall support the claims parameter as defined in clause 5.5 [OpenID Connect Core][OIDC] -4. shall support the oidc standard claim "cpf" as defined in clause 5.2.2.2 of this document -5. shall support the oidc standard claim "cnpj" as defined in clause 5.2.2.3 of this document if providing access to resources where the resource owner is not a `natural person` -6. shall support the acr "urn:brasil:openbanking:loa2" as defined in clause 5.2.2.4 of this document -7. should support the acr "urn:brasil:openbanking:loa3" as defined in clause 5.2.2.4 of this document -8. shall implement the userinfo endpoint as defined in clause 5.3 [OpenID Connect Core][OIDC] -9. shall support parameterized OAuth 2.0 resource scope _consent_ as defined in clause 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP] -10. may support [Financial-grade API: Client Initiated Backchannel Authentication Profile][FAPI-CIBA] -11. (withdrawn) -12. shall support refresh tokens -13. shall not allow `refresh tokens` rotation feature -14. shall issue access tokens with an expiry no greater than 900 seconds and no less than 300 seconds -15. shall always include an acr claim in the `id_token` -16. shall support the `response_type` value `code id_token` -17. may support `response_type` value `code` in conjunction with the `response_mode` value `jwt` - +2. shall distribute discovery metadata (such as the authorization endpoint) via the metadata document as specified in [OIDD] and [RFC8414]; +3. shall support the claims parameter as defined in clause 5.5 [OpenID Connect Core][OIDC]; +4. shall support the oidc standard claim "cpf" as defined in clause 5.2.2.2 of this document; +5. shall support the oidc standard claim "cnpj" as defined in clause 5.2.2.3 of this document if providing access to resources where the resource owner is not a `natural person`; +6. shall support the acr "urn:brasil:openbanking:loa2" as defined in clause 5.2.2.4 of this document; +7. should support the acr "urn:brasil:openbanking:loa3" as defined in clause 5.2.2.4 of this document; +8. shall implement the userinfo endpoint as defined in clause 5.3 [OpenID Connect Core][OIDC]; +9. shall support parameterized OAuth 2.0 resource scope _consent_ as defined in clause 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP]; +10. may support [Financial-grade API: Client Initiated Backchannel Authentication Profile][FAPI-CIBA]; +11. (withdrawn); +12. shall support refresh tokens; +13. shall issue access tokens with an expiry no greater than 900 seconds and no less than 300 seconds; +14. shall always include an acr claim in the `id_token`; +15. shall support the `response_type` value `code id_token`; +16. may support `response_type` value `code` in conjunction with the `response_mode` value `jwt`; +17. shall not allow `refresh tokens` rotation feature. #### ID Token as detached signature @@ -315,15 +314,15 @@ A confidential client shall support the provisions specified in clause 5.2.3 of In addition, the confidential client -1. shall support _encrypted_ request objects -2. shall support Pushed Authorisation Requests [PAR] -3. shall use _encrypted_ request objects if not using [PAR] -4. shall support parameterized OAuth 2.0 resource scope _consent_ as defined in clause 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP] -5. shall support refresh tokens -6. shall not allow `refresh tokens` rotation feature -7. shall not populate the `acr` claim with required values -8. shall require the `acr` claim as an essential claim -9. shall support all authentication methods specified in clause 5.2.2-14 of [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] including diferent combinations of the methods to send requests (using [PAR] or not - item 11). +1. shall support _encrypted_ request objects; +2. shall support Pushed Authorisation Requests [PAR]; +3. shall use _encrypted_ request objects if not using [PAR]; +4. shall support parameterized OAuth 2.0 resource scope _consent_ as defined in clause 6.3.1 [OIDF FAPI WG Lodging Intent Pattern][LIWP]; +5. shall support refresh tokens; +6. shall not populate the `acr` claim with required values; +7. shall require the `acr` claim as an essential claim; +8. shall support all authentication methods specified in clause 5.2.2-14 of [Financial-grade API Security Profile 1.0 - Part 2: Advanced][FAPI-1-Advanced] including diferent combinations of the methods to send requests (using [PAR] or not - item 11); +9. shall not allow `refresh tokens` rotation feature. # Security considerations From 02b810f81cb45b7464ec5e1ad7875f3f2fe36494 Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Mon, 29 Nov 2021 23:21:44 -0300 Subject: [PATCH 41/59] Include a note into DCR/DCM to match PT-BR Doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The PTBR DCR DCM doc has a sentence: Observação: A [RFC7592] prevê a possibilidade de rotação do registration_access_token emitido pelo Servidor de Autorização a cada uso, tornando-o um token de uso único. As instituições devem considerar esse aspecto no registro de suas aplicações cliente para receber e atualizar o registration_access_token pelo novo valor recebido nas chamadas de manutenção de cliente. It's just a translated version to adjust the docs: Note: [RFC7592] provides the possibility of rotating the `registration_access_token` issued by the Authorization Server with each use, making it a single-use token. When registering their client applications, institutions should consider this aspect to receive and update the `registration_access_token` for the new value received in client maintenance (DCM) operations. Fix Doc and Close #198 --- open-banking-brasil-dynamic-client-registration-1_ID2.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 8995218..3bb7c93 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -458,6 +458,8 @@ To extend [RFC7591] and [RFC7592], which recommend minimum mechanisms for authen 1. validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard; 2. Validate the presence and matching of the Bearer header `Authorization` containing the value of the `registration_access_token` attribute returned during registration of the corresponding client. +Note: [RFC7592] provides the possibility of rotating the `registration_access_token` issued by the Authorization Server with each use, making it a single-use token. When registering their client applications, institutions should consider this aspect to receive and update the `registration_access_token` for the new value received in client maintenance (DCM) operations. + # Acknowledgement With thanks to all who have set the foundations for secure and safe data sharing through the formation of the OpenID Foundation FAPI Working Group, the Open Banking Brasil GT Security and to the pioneers who will stand on their shoulders. From eeef9cf53e004ad162770205ab929558a003b96a Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Tue, 30 Nov 2021 13:44:09 -0300 Subject: [PATCH 42/59] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20do=20item=206.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Conforme solicitado pelo GT --- open-banking-brasil-financial-api-1_ID3-ptbr.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 60701d4..4c60227 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -342,7 +342,11 @@ Os participantes devem apoiar todas as considerações de segurança especificad 6. O receptor deve validar a consistência da assinatura digital da mensagem JWS **exclusivamente com base nas informações obtidas do diretório**, ou seja, com base nas chaves publicadas no JWKS da instituição no diretório. -7. As assinaturas devem ser realizadas com uso do certificado digital de assinatura especificado no [Padrão de Certificados Open Banking Brasil](https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil-certificate-standards-1_ID1-ptbr.md#certificado-de-assinatura-certificadoassinatura). +7. As assinaturas devem ser realizadas com uso do certificado digital de assinatura especificado no [Padrão de Certificados Open Banking Brasil](https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil-certificate-standards-1_ID1-ptbr.md#certificado-de-assinatura-certificadoassinatura); + +8. A claim _iat_ deve ser numérica no formato Unix Time GMT+0 com tolerância de +/- 60 segundos; + +9. A claim do _jti_ deve ser única para um _clientId_ dentro de um intervalo de tempo de 86.400 segundos (24h), não podendo ser reutilizada neste período. Em caso de reutilização, deverá ser retornado o código de erro HTTP 40; ### Considerações sobre algoritmos de assinatura {#alg} @@ -444,4 +448,4 @@ Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB. -A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação. \ No newline at end of file +A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação. From 6216ef16413c0b736a6c247e5ef85fe1cfe7897f Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Tue, 30 Nov 2021 13:46:05 -0300 Subject: [PATCH 43/59] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20do=20item=206.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Conforme solicitado pelo GT --- open-banking-brasil-financial-api-1_ID3.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index d1b963f..62ceb83 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -358,7 +358,11 @@ Participants shall support all security considerations specified in clause 8 6. The receiver shall validate the consistency of the JWS message's digital signature **exclusively based on the information obtained from the directory**, that is, based on the keys published in the institution's JWKS in the directory. -7. Signatures must be performed using the digital signature certificate specified in the [Open Banking Brazil Certificates Standard](https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil -certificate-standards-1_ID1-ptbr.md#certificate-of-signing-certificatesignature). +7. Signatures must be performed using the digital signature certificate specified in the [Open Banking Brazil Certificates Standard](https://github.com/OpenBanking-Brasil/specs-seguranca/blob/main/open-banking-brasil -certificate-standards-1_ID1-ptbr.md#certificate-of-signing-certificatesignature); + +8. the _iat_ claim must be numeric in Unix Time format GMT+0 with a tolerance of +/- 60 seconds; + +9. the _jti_ claim must be unique for a _clientId_ within a time frame of 86,400 seconds (24h), and cannot be reused within this period. In case of reuse, the HTTP error code 403 shall be return. ## Algorithm considerations @@ -456,4 +460,4 @@ Copyright (c) 2021 Open Banking Brasil Initial Structure. The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS. -The technology described in this specification was made available from contributions from various sources, including members of the OpenID Foundation, the Open Banking Brasil GT Security Working Group and others. Although the Open Banking Brasil Initial Structure has taken steps to help ensure that the technology is available for distribution, it takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this specification or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any independent effort to identify any such rights. The Open Banking Brasil Initial Structure and the contributors to this specification make no (and hereby expressly disclaim any) warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to this specification, and the entire risk as to implementing this specification is assumed by the implementer. The Open Banking Brasil Intellectual Property Rights policy requires contributors to offer a patent promise not to assert certain patent claims against other contributors and against implementers. The Open Banking Brasil Initial Structure invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology that may be required to practice this specification. \ No newline at end of file +The technology described in this specification was made available from contributions from various sources, including members of the OpenID Foundation, the Open Banking Brasil GT Security Working Group and others. Although the Open Banking Brasil Initial Structure has taken steps to help ensure that the technology is available for distribution, it takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this specification or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any independent effort to identify any such rights. The Open Banking Brasil Initial Structure and the contributors to this specification make no (and hereby expressly disclaim any) warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to this specification, and the entire risk as to implementing this specification is assumed by the implementer. The Open Banking Brasil Intellectual Property Rights policy requires contributors to offer a patent promise not to assert certain patent claims against other contributors and against implementers. The Open Banking Brasil Initial Structure invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology that may be required to practice this specification. From f2393a380747662a8520f889a6ae5c12967dfe67 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Tue, 30 Nov 2021 13:48:58 -0300 Subject: [PATCH 44/59] Update open-banking-brasil-financial-api-1_ID3-ptbr.md --- open-banking-brasil-financial-api-1_ID3-ptbr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 4c60227..ce265d9 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -346,7 +346,7 @@ Os participantes devem apoiar todas as considerações de segurança especificad 8. A claim _iat_ deve ser numérica no formato Unix Time GMT+0 com tolerância de +/- 60 segundos; -9. A claim do _jti_ deve ser única para um _clientId_ dentro de um intervalo de tempo de 86.400 segundos (24h), não podendo ser reutilizada neste período. Em caso de reutilização, deverá ser retornado o código de erro HTTP 40; +9. A claim do _jti_ deve ser única para um _clientId_ dentro de um intervalo de tempo de 86.400 segundos (24h), não podendo ser reutilizada neste período. Em caso de reutilização, deverá ser retornado o código de erro HTTP 403; ### Considerações sobre algoritmos de assinatura {#alg} From 7cd10d6bc2814159414140b5b8312e17ea83c45e Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Tue, 30 Nov 2021 14:00:57 -0300 Subject: [PATCH 45/59] Update open-banking-brasil-financial-api-1_ID3-ptbr.md --- open-banking-brasil-financial-api-1_ID3-ptbr.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index ce265d9..09214f5 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -417,9 +417,7 @@ Além dos requisitos descritos nas disposições de segurança do Open Banking B 8. deve retornar falha na autenticação e o código de retorno _access_denied_ no parâmetro _erro_ (como especificado na seção 4.1.2.1 da [RFC6749]) caso o CPF do usuário autenticado não seja o mesmo indicado no elemento _loggedUser_ do Consentimento (Consent Resource Object); 9. deve retornar falha na autenticação e o código de retorno _access_denied_ no parâmetro _erro_ (como especificado na seção 4.1.2.1 da [RFC6749]) caso o elemento _businessEntity_ não tenha sido preenchido no Consentimento (Consent Resource Object) relacionado e o usuário tenha selecionado ou se autenticado por meio de credencial relacionada à conta do tipo Pessoa Jurídica (PJ); 10. deve condicionar a autenticação ou seleção de contas do tipo PJ à consistência entre o CNPJ relacionado à(s) conta(s) e o valor presente no elemento _businessEntity_ do Consentimento (Consent Resource Object). Em caso de divergência deve retornar falha na autenticação e o código de retorno _access_denied_ no parâmetro _erro_ (como especificado na seção 4.1.2.1 da [RFC6749]); -11. deve emitir _refresh_token_ com validade não inferior à validade do consentimento ao qual está relacionado, respeitado os demais critérios acima; -12. a claim _iat_ deve ser numérica no formato Unix Time GMT+0 com tolerância de +/- 60 segundos; -13. A claim do _jti_ deve ser única para um _clientId_ dentro de um intervalo de tempo de 86.400 segundos (24h), não podendo ser reutilizada neste período. Em caso de reutilização, deverá ser retornado o código de erro HTTP 403. +11. deve emitir _refresh_token_ com validade não inferior à validade do consentimento ao qual está relacionado, respeitado os demais critérios acima. ### Cliente confidencial {#clientconfidential} From cc2f07b67c6c678db4f1d38d22329bbb8ad59d70 Mon Sep 17 00:00:00 2001 From: ediemerson-br <60996132+ediemerson-br@users.noreply.github.com> Date: Tue, 30 Nov 2021 14:05:33 -0300 Subject: [PATCH 46/59] Update open-banking-brasil-financial-api-1_ID3.md --- open-banking-brasil-financial-api-1_ID3.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index 62ceb83..15abbbd 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -429,9 +429,7 @@ In addition to the requirements outlined in Open Banking Brasil security provisi 8. shall return authentication failure and return code _access_denied_ in the _error_ parameter (as specified in section 4.1.2.1 of [RFC6749]) if the CPF of the authenticated user is not the same as indicated in the _loggedUser_ element of the Consent Resource Object; 9. shall return authentication failure and return code _access_denied_ in the _error_ parameter (as specified in section 4.1.2.1 of [RFC6749]) if the _businessEntity_ element has not been populated in the related Consent Resource Object and the user has selected or authenticated by using a credential related to a business account; 10. an autenticated or selected business account´s CNPJ must match the value present in the _businessEntity_ element of the Consent Resource Object. In case of divergence authorization server shall return authentication failure and return code _access_denied_ in the _error_ parameter (as specified in section 4.1.2.1 of [RFC6749]); -11. shall ensure _refresh_tokens_ expiration time is at least equal to the linked consent resource expiration time; -12. the _iat_ claim must be numeric in Unix Time format GMT+0 with a tolerance of +/- 60 seconds; -13. The _jti_ claim must be unique for a _clientId_ within a time frame of 86,400 seconds (24h), and cannot be reused within this period. In case of reuse, the HTTP error code 403 shall be returned. +11. shall ensure _refresh_tokens_ expiration time is at least equal to the linked consent resource expiration time. ### Confidential Client From effb0be2c3196efca942161bc391e1efa4aac489 Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Thu, 2 Dec 2021 09:02:44 -0300 Subject: [PATCH 47/59] =?UTF-8?q?Adicionado=20instru=C3=A7=C3=A3o=20para?= =?UTF-8?q?=20suporte=20a=20m=C3=BAltiplas=20marcas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aspsp-user-guide-ptbr.md | 1 + aspsp-user-guide.md | 1 + 2 files changed, 2 insertions(+) diff --git a/aspsp-user-guide-ptbr.md b/aspsp-user-guide-ptbr.md index 9718584..d77ca80 100644 --- a/aspsp-user-guide-ptbr.md +++ b/aspsp-user-guide-ptbr.md @@ -159,6 +159,7 @@ Um banco pode optar por ter um *Authorization Servers* ou muitos, desde que sati * Um cliente pode reconhecer o *Authorization Server* como um local com o qual normalmente faria interação com o seu banco. * O *Authorization Server* pode emitir tokens para os recursos e serviços que um cliente ou insituição receptora está procurando. +* O *Authorization Server* das instituições transmissoras/detentoras de contas que atenda mais de uma marca deve aceitar mais de um cadastro (criação de client_ids) para um mesmo *software statement*. Caso a solução de *Authorization Server* não suporte este comportamento, deverá ser adequado para suportar múltiplas marcas e o cadastramento das marcas no diretório deverá sofrer apontamento de acordo com cada marca. ### 1.3 Registrando Recursos {#Recursos} diff --git a/aspsp-user-guide.md b/aspsp-user-guide.md index 03827e3..094cbfb 100644 --- a/aspsp-user-guide.md +++ b/aspsp-user-guide.md @@ -175,6 +175,7 @@ A Bank may choose to have one Authorization Server or many provided that it can * A customer can recognise the Authorization Server as a place that they would normally Bank with. * The Authorization Server can issue tokens for the resource and services that a customer or TPP is looking for. +* For transmiting/account holder institutions whose *Authorization Server* supports more than one brand, it must accept more than one registry (client_ids creation) for the same *software statement*. If your *Authorization Server* implementation does not supports this behaviour, it must be suitable to support multiple brands and the registration of brands in the directory must be annotated according to each brand. ### 1.3 Registering Resources From 74e961e8f8d6dd1b7193346f9bcb8c4ceba4deca Mon Sep 17 00:00:00 2001 From: Rafael Hashimoto Date: Thu, 2 Dec 2021 10:57:26 -0300 Subject: [PATCH 48/59] =?UTF-8?q?Migrado=20item=203.4=20da=20IN=20134=20pa?= =?UTF-8?q?ra=20Perfil=20de=20Seguran=C3=A7a=20conforme=20consulta=20reali?= =?UTF-8?q?zada=20ao=20Bacen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- open-banking-brasil-financial-api-1_ID3-ptbr.md | 1 + open-banking-brasil-financial-api-1_ID3.md | 1 + 2 files changed, 2 insertions(+) diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 09214f5..6a8f80b 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -366,6 +366,7 @@ Para TLS, endpoints do Servidor de Autenticação e endpoints do Servidor de Rec 1. devem suportar `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. devem suportar `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` +3. As funcionalidades "TLS Session Resumption" e "TLS Renegotiation" devem ser desabilitadas # Considerações sobre compartilhamento de dados {#dados} diff --git a/open-banking-brasil-financial-api-1_ID3.md b/open-banking-brasil-financial-api-1_ID3.md index 15abbbd..31f7c76 100644 --- a/open-banking-brasil-financial-api-1_ID3.md +++ b/open-banking-brasil-financial-api-1_ID3.md @@ -382,6 +382,7 @@ For TLS, Authorization Server endpoints and Resource Server endpoints used direc 1. shall support `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 2. shall support `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` +3. The "TLS Session Resumption" e "TLS Renegotiation" features shall be disabled # Data Sharing Considerations From 286f1771777fb480ce23ec6eb32806c10a7417c8 Mon Sep 17 00:00:00 2001 From: JOAO RODOLFO Date: Wed, 16 Feb 2022 23:46:07 -0300 Subject: [PATCH 49/59] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20de=20documentos?= =?UTF-8?q?=20aprovados=20no=20GTSeg.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Preve a atualização dos itens aprovados no GTSeg. --- open-banking-brasil-certificate-standards-1_ID1-ptbr.html | 8 ++++---- open-banking-brasil-certificate-standards-1_ID1-ptbr.md | 8 ++++---- open-banking-brasil-certificate-standards-1_ID1.html | 8 ++++---- open-banking-brasil-certificate-standards-1_ID1.md | 8 ++++---- ...nking-brasil-dynamic-client-registration-1_ID2-ptbr.md | 4 ++++ open-banking-brasil-dynamic-client-registration-1_ID2.md | 2 ++ 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.html b/open-banking-brasil-certificate-standards-1_ID1-ptbr.html index 5b6f713..db92f72 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.html +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.html @@ -1668,10 +1668,10 @@

    keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;UTF8:<Nome da pessoal responsável pela entidade>#CNPJ -otherName.1 = 2.16.76.1.3.3;UTF8:<CNPJ> -otherName.2 = 2.16.76.1.3.4;UTF8:<CPF/PIS/RF da Pessoa responsável> -otherName.3 = 2.16.76.1.3.7;UTF8:<Número de INSS> +otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING:<Nome da pessoal responsável pela entidade>#CNPJ +otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING:<CNPJ> +otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING:<CPF/PIS/RF da Pessoa responsável> +otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING:<Número de INSS>

    diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md index cc5bb56..b08276f 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md @@ -317,10 +317,10 @@ subjectAltName = @alt_name keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;UTF8:#CNPJ -otherName.1 = 2.16.76.1.3.3;UTF8: -otherName.2 = 2.16.76.1.3.4;UTF8: -otherName.3 = 2.16.76.1.3.7;UTF8: +otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING:#CNPJ +otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING: +otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING: +otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING: ``` ## Tabela com Endpoints vs Tipo de Certificado e mTLS Abaixo apresentamos quais endpoints podem ser publicados utilizando certificado EV como autenticação do consentimento e os endpoints de autenticação de APIs privadas/negócios que devem ser publicadas usando certificado ICP. Você também poderá verificar quais endpoints devem proteger suas conexões utilizando mTLS. diff --git a/open-banking-brasil-certificate-standards-1_ID1.html b/open-banking-brasil-certificate-standards-1_ID1.html index 5f88368..4c928d9 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.html +++ b/open-banking-brasil-certificate-standards-1_ID1.html @@ -1661,10 +1661,10 @@

    keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;UTF8:<Name of the person responsible for the organization> -otherName.1 = 2.16.76.1.3.3;UTF8:<CNPJ> -otherName.2 = 2.16.76.1.3.4;UTF8:<CPF/PIS/RF of responsible person> -otherName.3 = 2.16.76.1.3.7;UTF8:<INSS Number> +otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING:<Name of the person responsible for the organization> +otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING:<CNPJ> +otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING:<CPF/PIS/RF of responsible person> +otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING:<INSS Number> diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index 93e3ac5..6c8203d 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -321,10 +321,10 @@ subjectAltName = @alt_name keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;UTF8: -otherName.1 = 2.16.76.1.3.3;UTF8: -otherName.2 = 2.16.76.1.3.4;UTF8: -otherName.3 = 2.16.76.1.3.7;UTF8: +otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING: +otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING: +otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING: +otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING: ``` ## Endpoints vs Certificate type and mTLS requirements diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index c34cbbf..5d82ba8 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -288,6 +288,8 @@ A tabela a seguir descreve as funções regulatórias do Open Banking e o mapeam | CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | | CCORR | Correspondente de crédito | openid | Phase 3* | +É necessário validar as roles ativas no _software\_statement_ da aplicação. Na validação dessa informação deve ser utilizado o campo _software\_statement\_roles, e deve ser verificado se as roles listadas estão ativas. + ## Registro do Cliente {#registro_tls_client_auth} No processo de registro do cliente, utilizando-se o método de autenticação _tls\_client\_auth_, o cliente deve encaminhar o campo _tls\_client\_auth\_subject\_dn_ com os AttibuteTypes(Descritores) em formato definido no item 7.1.2. Em caso de não aderencia a este padrão o registro será rejeitado. @@ -296,6 +298,8 @@ No processo de registro do cliente, utilizando-se o método de autenticação _ Uma declaração de software (_software\_statement_) é um JSON Web Token (JWT) [RFC7519] que afirma valores de metadados sobre o software cliente como um todo. Na estrutura do Open Banking Brasil, esse _software\_statement_ é assinado pelo Diretório de Participantes, e sua assinatura DEVE ser validada pelos Servidores de Autorizacao usando as chaves públicas disponíveis na seção a seguir. + + ## Atributos da Declaração de Software (Claims) {#Claims} O exemplo a seguir contém todos os atributos atualmente incluídos em um _software\_statement_: diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index 3bb7c93..ebe73cd 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -284,6 +284,8 @@ The following table describes the regulatory roles for Open Banking and the rela | CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | | CCORR | Correspondente de crédito | openid | Phase 3* | +Validate the active roles in the application's _software\_statement_. The information validation, shall use the field _software\_statement\_roles, and shall verify if their roles are actives. + ### Implementers Note In line with guidance from the IETF and the direction of travel for fine-grained consent management. The obligation falls to the Authorisation Server to ensure that there is sufficient scope conveyed in an access token necessary to fulfill the Permissions conveyed in the Consent Request. This principle and requirement is reflected in the forthcoming Grant Management API. From ced43a476f122376a2c3312d43f6e91fcc000aaa Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 17 Feb 2022 19:24:54 -0300 Subject: [PATCH 50/59] chore(md): Fix and export open-banking-brasil-certificate-standards-1_ID1.md --- ...ng-brasil-certificate-standards-1_ID1.html | 100 +++++++++--------- ...king-brasil-certificate-standards-1_ID1.md | 92 +++++++--------- 2 files changed, 85 insertions(+), 107 deletions(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1.html b/open-banking-brasil-certificate-standards-1_ID1.html index 4c928d9..5ddb384 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.html +++ b/open-banking-brasil-certificate-standards-1_ID1.html @@ -5,8 +5,6 @@ Open Banking Brasil Certificate Standards 1.0 - - @@ -1070,10 +1068,10 @@ OBB-CERT-1-ID1 -September 2021 +February 2022 -Rodrigues, et al. +Segurança Standards Track [Page] @@ -1087,20 +1085,12 @@
    open-banking-brasil-certificate-standards-1_ID1
    Published:
    - +
    Intended Status:
    Standards Track
    -
    Authors:
    +
    Author:
    -
    -
    M. Rodrigues
    -
    Itau
    -
    -
    -
    J. Dias
    -
    Banco Pan
    -
    GT. Segurança
    EIOBB
    @@ -1109,35 +1099,36 @@

    Open Banking Brasil Certificate Standards 1.0

    -
    -

    The english version of this document is Outdated

    -Please refer to the portuguese version for up to date information:
    -https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html -
    +

    +The English version of this document is Outdated +

    +

    Please refer to the Portuguese version for up to date information.

    +
    +

    Foreword

    -

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

    -

    The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the Brasil Central Bank. There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights.

    +

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

    +

    The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the Brasil Central Bank. There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights.

    -
    +

    Objective

    -

    Specify the set of necessary certificates that must be used by participating organizations in Open Banking Brasil to ensure interoperability for validation, confidentiality, integrity and non-repudiation among participants, as well as for users and consumers of these entities. The public in this class are entities participating in Open Banking Brasil that issue certificates to authenticate themselves with other entities, as well as offer their customers a secure authentication channel.

    +

    Specify the set of necessary certificates that must be used by participating organizations in Open Banking Brasil to ensure interoperability for validation, confidentiality, integrity and non-repudiation among participants, as well as for users and consumers of these entities. The public in this class are entities participating in Open Banking Brasil that issue certificates to authenticate themselves with other entities, as well as offer their customers a secure authentication channel.

    -
    +

    Notational Conventions

    -

    The key words "shall", "shall not", +

    The key words "shall", "shall not", "should", "should not", "may", and "can" in this document are to be interpreted as described in [ISO Directive Part 2][ISODIR2]. These key words are not used as dictionary terms such that any occurrence of them shall be interpreted as key words -and are not to be interpreted with their natural language meanings.

    +and are not to be interpreted with their natural language meanings.

    @@ -1263,22 +1254,25 @@

    [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: https://tools.ietf.org/html/rfc8705

  • -

    [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: https://github.com/OpenBanking-Brasil/specs-seguranca/open-banking-brasil-financial-api-1_ID1.html

    +

    [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: https://github.com/OpenBanking-Brasil/specs-seguranca/open-banking-brasil-financial-api-1_ID3.html

  • -

    [DOC-ICP-01] - DECLARAÇÃO DE PRÁTICAS DE CERTIFICAÇÃO DA AUTORIDADE CERTIFICADORA RAIZ DA ICP-BRASIL: https://www.gov.br/iti/pt-br/centrais-de-conteudo/doc-icp-01-v-5-2-dpc-da-ac-raiz-da-icp-brasil-pdf

    +

    [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: <https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2.html

  • -

    [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: https://tools.ietf.org/html/rfc6749

    +

    [DOC-ICP-01] - DECLARAÇÃO DE PRÁTICAS DE CERTIFICAÇÃO DA AUTORIDADE CERTIFICADORA RAIZ DA ICP-BRASIL: https://www.gov.br/iti/pt-br/centrais-de-conteudo/doc-icp-01-v-5-2-dpc-da-ac-raiz-da-icp-brasil-pdf

  • -

    [BCB-IN134] - Manual de Segurança do Open Banking: https://www.in.gov.br/web/dou/-/instrucao-normativa-bcb-n-134-de-22-de-julho-de-2021-3345585364

    +

    [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: https://tools.ietf.org/html/rfc6749

  • -

    [RFC2818] - HTTP Over TLS: https://datatracker.ietf.org/doc/html/rfc2818

    +

    [BCB-IN134] - Manual de Segurança do Open Banking: https://www.in.gov.br/web/dou/-/instrucao-normativa-bcb-n-134-de-22-de-julho-de-2021-3345585364

  • -

    [RFC5246] - The Transport Layer Security (TLS) Protocol Version 1.2 https://www.rfc-editor.org/rfc/rfc5246.txt

    +

    [RFC2818] - HTTP Over TLS: https://datatracker.ietf.org/doc/html/rfc2818

    +
  • +
  • +

    [RFC5246] - The Transport Layer Security (TLS) Protocol Version 1.2 https://www.rfc-editor.org/rfc/rfc5246.txt

  • @@ -1298,28 +1292,28 @@

    • -

      SSA - Software Statement Assertion

      +

      API - Application Programming Interface

    • -

      SS - Software Statement

      +

      DCR - Dynamic Client Registration

    • -

      DCR - Dynamic Client Registration

      +

      HTTP - Hyper Text Transfer Protocol

    • -

      API - Application Programming Interface

      +

      ICP - Infraestrutura de Chave Públicas Brasileira

    • -

      HTTP - Hyper Text Transfer Protocol

      +

      SS - Software Statement

    • -

      TLS - Transport Layer Security

      +

      SSA - Software Statement Assertion

    • -

      mTLS - Mutual Transport Layer Security

      +

      TLS - Transport Layer Security

    • -

      ICP - Infraestrutura de Chave Públicas Brasileira

      +

      mTLS - Mutual Transport Layer Security

    @@ -1366,6 +1360,7 @@

    The Server Certificate must be issued to protect and authenticate the TLS channel used by the APIs that will be consumed by client applications of organizations participating in Open Banking.

    The certificate standard used must follow the existing certificate issuing practices of "CERTIFICATE FOR WEB SERVER - ICP-Brasil".

    +

    The server certificate shall be sent with the intermediate chain, according to RFC5246.

    @@ -1519,10 +1514,10 @@

    The following certifying authorities carried out the onboard process for Open Banking Brasil and are authorized to issue Open Banking Brasil certificates.

    • -

      Serpro

      +

      Serasa

    • -

      Serasa

      +

      Serpro

    • Soluti

      @@ -1547,7 +1542,7 @@

      According to section IV of Joint Resolution No. 1 of May 4, 2020, the establishment of bilateral partnerships between authorized institutions and partners is an arrangement provided in the regulation and which must observe, where applicable, the same standards and certificates requirements that are applicable to exchange of information between participating institutions.

      In accordance with §2 of Art. 10 of Provisional Measure 2200-2 of August 24, 2001 and with the provisions of item 3.12 in BCB Normative Instruction No. 134, for bilateral communication between institutions and partners, the use is authorized, by mutual agreement between the parties, of a private PKI, provided that the requirements of this profile for security certificates are observed, including their formatting, algorithms and established attributes.

      -

      The values ​​for filling in the attributes required in this specification, but not applicable to the partner, should be defined in common agreement between the authorized institution and the partner, which does not exempt the authorized institution from the responsibility for filling it in properly.

      +

      The values for filling in the attributes required in this specification, but not applicable to the partner, should be defined in common agreement between the authorized institution and the partner, which does not exempt the authorized institution from the responsibility for filling it in properly.

    @@ -1563,16 +1558,19 @@

    The following people contributed to this document:

    • -

      Marcos Rodrigues (Itaú)

      +

      João Rodolfo Vieira (Itaú)

    • José Michael Dias (Grupo Pan)

    • -

      Ralph Bragg (Raidiam)

      +

      Marcos Rodrigues (Itaú)

    • -

      Ediemerson Moreira Alves (Santander)

      +

      Nic Marcondes (Quanto)

      +
    • +
    • +

      Ralph Bragg (Raidiam)

    @@ -1582,7 +1580,7 @@

    7. Notices

    -

    Copyright (c) 2021 Open Banking Brasil Initial Structure.

    +

    Copyright (c) 2022 Open Banking Brasil Initial Structure.

    The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS.

    The technology described in this specification was made available from contributions from various sources, including members of the OpenID Foundation, the Open Banking Brasil GT Security Working Group and others. Although the Open Banking Brasil Initial Structure has taken steps to help ensure that the technology is available for distribution, it takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this specification or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any independent effort to identify any such rights. The Open Banking Brasil Initial Structure and the contributors to this specification make no (and hereby expressly disclaim any) warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to this specification, and the entire risk as to implementing this specification is assumed by the implementer. The Open Banking Brasil Intellectual Property Rights policy requires contributors to offer a patent promise not to assert certain patent claims against other contributors and against implementers. The Open Banking Brasil Initial Structure invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology that may be required to practice this specification.

    @@ -1661,10 +1659,10 @@

    keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING:<Name of the person responsible for the organization> -otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING:<CNPJ> -otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING:<CPF/PIS/RF of responsible person> -otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING:<INSS Number> +otherName.0 = 2.16.76.1.3.2;UTF8:<Name of the person responsible for the organization> +otherName.1 = 2.16.76.1.3.3;UTF8:<CNPJ> +otherName.2 = 2.16.76.1.3.4;UTF8:<CPF/PIS/RF of responsible person> +otherName.3 = 2.16.76.1.3.7;UTF8:<INSS Number> diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index 6c8203d..9db4b1d 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -17,26 +17,6 @@ status = "standard" value = "open-banking-brasil-certificate-standards-1_ID1" - [[author]] - initials = "M." - surname = "Rodrigues" - fullname = "Marcos Rodrigues" - organization = "Itau" - abbrev = "Itau" - [author.address] - email = "marcos.aurelio-rodrigues@itau-unibanco.com.br" - uri = "https://www.itau.com.br/" - - [[author]] - initials = "J." - surname = "Dias" - fullname = "Jose Michael Dias" - organization = "Banco Pan" - abbrev = "Banco Pan" - [author.address] - email = "jose.henrique@grupopan.com" - uri = "https://www.bancopan.com.br/" - [[author]] initials = "GT" surname = "Segurança" @@ -48,9 +28,8 @@ uri = "https://openbankingbrasil.org.br/" %%% -# The English version of this document is Outdated -Please refer to the portuguese version for up to date information: ->[https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html) +.# The English version of this document is Outdated +Please refer to the [Portuguese version](https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-certificate-standards-1_ID1-ptbr.html) for up to date information. .# Foreword @@ -109,14 +88,14 @@ For the purpose of this document, the terms defined in [RFC5280], [BCP195], [RFC # Glossary -* **SSA** – Software Statement Assertion -* **SS** – Software Statement -* **DCR** – Dynamic Client Registration * **API** – Application Programming Interface +* **DCR** – Dynamic Client Registration * **HTTP** – Hyper Text Transfer Protocol +* **ICP** - Infraestrutura de Chave Públicas Brasileira +* **SS** – Software Statement +* **SSA** – Software Statement Assertion * **TLS** – Transport Layer Security * **mTLS** – Mutual Transport Layer Security -* **ICP** - Infraestrutura de Chave Públicas Brasileira # Open Banking Brasil Standard @@ -222,8 +201,8 @@ The Signature Certificate must be issued through the V5 chain, and must contain The following certifying authorities carried out the onboard process for Open Banking Brasil and are authorized to issue Open Banking Brasil certificates. -* Serpro * Serasa +* Serpro * Soluti ### Front-End Certificates @@ -236,7 +215,7 @@ According to section IV of Joint Resolution No. 1 of May 4, 2020, the establishm In accordance with §2 of Art. 10 of Provisional Measure 2200-2 of August 24, 2001 and with the provisions of item 3.12 in BCB Normative Instruction No. 134, for bilateral communication between institutions and partners, the use is authorized, by mutual agreement between the parties, of a private PKI, provided that the requirements of this _profile for security certificates_ are observed, including their formatting, algorithms and established attributes. -The values ​​for filling in the attributes required in this specification, but not applicable to the partner, should be defined in common agreement between the authorized institution and the partner, which does not exempt the authorized institution from the responsibility for filling it in properly. +The values for filling in the attributes required in this specification, but not applicable to the partner, should be defined in common agreement between the authorized institution and the partner, which does not exempt the authorized institution from the responsibility for filling it in properly. # Acknowledgements @@ -244,14 +223,15 @@ With thanks to all who have set the foundations for secure and safe data sharing The following people contributed to this document: -* Marcos Rodrigues (Itaú) +* João Rodolfo Vieira (Itaú) * José Michael Dias (Grupo Pan) +* Marcos Rodrigues (Itaú) +* Nic Marcondes (Quanto) * Ralph Bragg (Raidiam) -* João Rodolfo Vieira (Itaú) # Notices -Copyright (c) 2021 Open Banking Brasil Initial Structure. +Copyright (c) 2022 Open Banking Brasil Initial Structure. The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS. @@ -321,33 +301,33 @@ subjectAltName = @alt_name keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING: -otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING: -otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING: -otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING: +otherName.0 = 2.16.76.1.3.2;UTF8: +otherName.1 = 2.16.76.1.3.3;UTF8: +otherName.2 = 2.16.76.1.3.4;UTF8: +otherName.3 = 2.16.76.1.3.7;UTF8: ``` ## Endpoints vs Certificate type and mTLS requirements ASPSP may choose the certificate that should be adopted for Phase 1 endpoints, which, by nature, are publicly accessible. -| OBB phase | group | endpoint | certificate type | mTLS | -| --- | --- | --- | --- | --- | -| NA | OIDC | .well-known/openid-configuration | EV or ICP WEB SSL | -| NA | OIDC | jwks_uri | EV or ICP WEB SSL | -| NA | OIDC | authorization_endpoint | EV | | -| NA | OIDC | token_endpoint | ICP WEB SSL | Required | -| NA | OIDC | userinfo_endpoint | ICP WEB SSL | Required | -| NA | OIDC | pushed_authorization_request_endpoint | ICP WEB SSL | Required | -| NA | DCR | registration_endpoint | ICP WEB SSL | Required | -| NA | OIDC | revocation_endpoint | ICP WEB SSL | Required | -| 2 | Consentimentos | /consents/* | ICP WEB SSL | Required | -| 2 | Resources | /resources/* | ICP WEB SSL | Required | -| 2 | Dados | /customers/* | ICP WEB SSL | Required | -| 2 | Cartão | /credit-cards-accounts/* | ICP WEB SSL | Required | -| 2 | Contas | /accounts/* | ICP WEB SSL | Required | -| 2 | Empréstimos | /loans/* | ICP WEB SSL | Required | -| 2 | Financiamentos | /financings/* | ICP WEB SSL | Required | -| 2 | Adiantamento | /unarranged-accounts-overdraft/* | ICP WEB SSL | Required | -| 2 | Direitos Creditórios | /invoice-financings/* | ICP WEB SSL | Required | -| 3 | Pagamentos | /payments/* | ICP WEB SSL | Required | +| OBB phase | group | endpoint | certificate type | mTLS | +|-----------|------------------------|---------------------------------------|-------------------|----------| +| NA | OIDC | .well-known/openid-configuration | EV or ICP WEB SSL | | +| NA | OIDC | jwks_uri | EV or ICP WEB SSL | | +| NA | OIDC | authorization_endpoint | EV | | +| NA | OIDC | token_endpoint | ICP WEB SSL | Required | +| NA | OIDC | userinfo_endpoint | ICP WEB SSL | Required | +| NA | OIDC | pushed_authorization_request_endpoint | ICP WEB SSL | Required | +| NA | DCR | registration_endpoint | ICP WEB SSL | Required | +| NA | OIDC | revocation_endpoint | ICP WEB SSL | Required | +| 2 | Consentimentos | /consents/* | ICP WEB SSL | Required | +| 2 | Resources | /resources/* | ICP WEB SSL | Required | +| 2 | Dados | /customers/* | ICP WEB SSL | Required | +| 2 | Cartão | /credit-cards-accounts/* | ICP WEB SSL | Required | +| 2 | Contas | /accounts/* | ICP WEB SSL | Required | +| 2 | Empréstimos | /loans/* | ICP WEB SSL | Required | +| 2 | Financiamentos | /financings/* | ICP WEB SSL | Required | +| 2 | Adiantamento | /unarranged-accounts-overdraft/* | ICP WEB SSL | Required | +| 2 | Direitos Creditórios | /invoice-financings/* | ICP WEB SSL | Required | +| 3 | Pagamentos | /payments/* | ICP WEB SSL | Required | From e50fa9f86978c33689ac007a3a48ecb688ab72ea Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 17 Feb 2022 19:40:48 -0300 Subject: [PATCH 51/59] chore(md): Fix and export open-banking-brasil-certificate-standards-1_ID1-ptbr.md --- ...asil-certificate-standards-1_ID1-ptbr.html | 64 +++++++-------- ...brasil-certificate-standards-1_ID1-ptbr.md | 77 +++++++------------ 2 files changed, 58 insertions(+), 83 deletions(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.html b/open-banking-brasil-certificate-standards-1_ID1-ptbr.html index db92f72..548d021 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.html +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.html @@ -5,8 +5,6 @@ Padrão de Certificados Open Banking Brasil 1.0 - - @@ -1070,10 +1068,10 @@ OBB-CERT-1-ID1 -September 2021 +February 2022 -Rodrigues, et al. +Segurança Standards Track [Page] @@ -1087,20 +1085,12 @@
    open-banking-brasil-certificate-standards-1_ID1-ptbr
    Published:
    - +
    Intended Status:
    Standards Track
    -
    Authors:
    +
    Author:
    -
    -
    M. Rodrigues
    -
    Itau
    -
    -
    -
    J. Dias
    -
    Banco Pan
    -
    GT. Segurança
    EIOBB
    @@ -1267,22 +1257,25 @@

    [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: https://tools.ietf.org/html/rfc8705

  • -

    [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: https://github.com/OpenBanking-Brasil/specs-seguranca/open-banking-brasil-financial-api-1_ID1.html

    +

    [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: https://github.com/OpenBanking-Brasil/specs-seguranca/open-banking-brasil-financial-api-1_ID3.html

  • -

    [DOC-ICP-01] - DECLARAÇÃO DE PRÁTICAS DE CERTIFICAÇÃO DA AUTORIDADE CERTIFICADORA RAIZ DA ICP-BRASIL: https://www.gov.br/iti/pt-br/centrais-de-conteudo/doc-icp-01-v-5-2-dpc-da-ac-raiz-da-icp-brasil-pdf

    +

    [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: <https://openbanking-brasil.github.io/specs-seguranca/open-banking-brasil-dynamic-client-registration-1_ID2.html

  • -

    [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: https://tools.ietf.org/html/rfc6749

    +

    [DOC-ICP-01] - DECLARAÇÃO DE PRÁTICAS DE CERTIFICAÇÃO DA AUTORIDADE CERTIFICADORA RAIZ DA ICP-BRASIL: https://www.gov.br/iti/pt-br/centrais-de-conteudo/doc-icp-01-v-5-2-dpc-da-ac-raiz-da-icp-brasil-pdf

  • -

    [BCB-IN134] - Manual de Segurança do Open Banking: https://www.in.gov.br/web/dou/-/instrucao-normativa-bcb-n-134-de-22-de-julho-de-2021-3345585364

    +

    [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: https://tools.ietf.org/html/rfc6749

  • -

    [RFC2818] - HTTP Over TLS: https://datatracker.ietf.org/doc/html/rfc2818

    +

    [BCB-IN134] - Manual de Segurança do Open Banking: https://www.in.gov.br/web/dou/-/instrucao-normativa-bcb-n-134-de-22-de-julho-de-2021-3345585364

  • -

    [RFC5246] - The Transport Layer Security (TLS) Protocol Version 1.2 https://www.rfc-editor.org/rfc/rfc5246.txt

    +

    [RFC2818] - HTTP Over TLS: https://datatracker.ietf.org/doc/html/rfc2818

    +
  • +
  • +

    [RFC5246] - The Transport Layer Security (TLS) Protocol Version 1.2 https://www.rfc-editor.org/rfc/rfc5246.txt

  • @@ -1302,28 +1295,28 @@

    • -

      SSA - Software Statement Assertion

      +

      API - Application Programming Interface

    • -

      SS - Software Statement

      +

      DCR - Dynamic Client Registration

    • -

      DCR - Dynamic Client Registration

      +

      HTTP - Hyper Text Transfer Protocol

    • -

      API - Application Programming Interface

      +

      ICP - Infraestrutura de Chave Públicas Brasileira

    • -

      HTTP - Hyper Text Transfer Protocol

      +

      SS - Software Statement

    • -

      TLS - Transport Layer Security

      +

      SSA - Software Statement Assertion

    • -

      mTLS - Mutual Transport Layer Security

      +

      TLS - Transport Layer Security

    • -

      ICP - Infraestrutura de Chave Públicas Brasileira

      +

      mTLS - Mutual Transport Layer Security

    @@ -1370,6 +1363,7 @@

    O Certificado Servidor deve ser emitido para proteger e autenticar o canal TLS utilizado pelas APIs que serão consumidas pelas aplicações cliente de entidades participantes do Open Banking.

    O padrão de certificado utilizado deve seguir as práticas de emissão de certificados existentes de "CERTIFICADO PARA SERVIDOR WEB - ICP-Brasil".

    +

    O certificado de servidor precisa ser enviado com a cadeia intermediária, conforme RFC5246.

    @@ -1523,10 +1517,10 @@

    As seguintes autoridades certificadoras realizaram o processo de onboard ao Open Banking Brasil e estão habilitadas para realizar a emissão de certificados do Open Banking Brasil.

    • -

      Serpro

      +

      Serasa

    • -

      Serasa

      +

      Serpro

    • Soluti

      @@ -1567,19 +1561,19 @@

      As seguintes pessoas contribuíram para este documento:

      • -

        Marcos Rodrigues (Itaú)

        +

        João Rodolfo Vieira (Itaú)

      • José Michael Dias (Grupo Pan)

      • -

        Ralph Bragg (Raidiam)

        +

        Marcos Rodrigues (Itaú)

      • -

        Ediemerson Moreira Alves (Santander)

        +

        Nic Marcondes (Quanto)

      • -

        João Rodolfo Vieira (Itaú)

        +

        Ralph Bragg (Raidiam)

      @@ -1589,7 +1583,7 @@

      7. Informativo

      -

      Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil.

      +

      Copyright (c) 2022 Estrutura Inicial do Open Banking Brasil.

      A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementações e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB.

      A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do GT-Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação.

      diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md index b08276f..e8c3b1d 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md @@ -17,26 +17,6 @@ status = "standard" value = "open-banking-brasil-certificate-standards-1_ID1-ptbr" - [[author]] - initials = "M." - surname = "Rodrigues" - fullname = "Marcos Rodrigues" - organization = "Itau" - abbrev = "Itau" - [author.address] - email = "marcos.aurelio-rodrigues@itau-unibanco.com.br" - uri = "https://www.itau.com.br/" - - [[author]] - initials = "J." - surname = "Dias" - fullname = "Jose Michael Dias" - organization = "Banco Pan" - abbrev = "Banco Pan" - [author.address] - email = "jose.henrique@grupopan.com" - uri = "https://www.bancopan.com.br/" - [[author]] initials = "GT" surname = "Segurança" @@ -106,14 +86,14 @@ Para o propósito deste documento os termos definidos na [RFC5280], [BCP195], [R # Glossário {#Glossario} -* **SSA** – Software Statement Assertion -* **SS** – Software Statement -* **DCR** – Dynamic Client Registration * **API** – Application Programming Interface +* **DCR** – Dynamic Client Registration * **HTTP** – Hyper Text Transfer Protocol +* **ICP** - Infraestrutura de Chave Públicas Brasileira +* **SS** – Software Statement +* **SSA** – Software Statement Assertion * **TLS** – Transport Layer Security * **mTLS** – Mutual Transport Layer Security -* **ICP** - Infraestrutura de Chave Públicas Brasileira # Padrão de Certificados Open Banking Brasil {#PadraoCertificadosOpenBankingBrasil} @@ -219,8 +199,8 @@ O Certificado de Assinatura deve ser emitido através de cadeia V5, e deve obrig As seguintes autoridades certificadoras realizaram o processo de onboard ao Open Banking Brasil e estão habilitadas para realizar a emissão de certificados do Open Banking Brasil. -* Serpro * Serasa +* Serpro * Soluti ### Certificado para Front-End {#CertificadoFrontEnd} @@ -241,14 +221,15 @@ Agradecemos a todos que estabeleceram as bases para o compartilhamento seguro e As seguintes pessoas contribuíram para este documento: -* Marcos Rodrigues (Itaú) +* João Rodolfo Vieira (Itaú) * José Michael Dias (Grupo Pan) +* Marcos Rodrigues (Itaú) +* Nic Marcondes (Quanto) * Ralph Bragg (Raidiam) -* João Rodolfo Vieira (Itaú) # Informativo {#Informativo} -Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil. +Copyright (c) 2022 Estrutura Inicial do Open Banking Brasil. A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementações e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB. @@ -327,23 +308,23 @@ Abaixo apresentamos quais endpoints podem ser publicados utilizando certificado Fica a critério da instituição a escolha do certificado que deve ser adotado para os _endpoints_ da Fase 1, os quais, por natureza, são de acesso público. -| Fase | Grupo | API | Certificado | mTLS | -| --- | --- | --- | --- | --- | -| NA | OIDC | .well-known/openid-configuration | EV ou ICP WEB SSL | -| NA | OIDC | jwks_uri | EV ou ICP WEB SSL | -| NA | OIDC | authorization_endpoint | EV | | -| NA | OIDC | token_endpoint | ICP WEB SSL | Obrigatório | -| NA | OIDC | userinfo_endpoint | ICP WEB SSL | Obrigatório | -| NA | OIDC | pushed_authorization_request_endpoint | ICP WEB SSL | Obrigatório | -| NA | DCR | registration_endpoint | ICP WEB SSL | Obrigatório | -| NA | OIDC | revocation_endpoint | ICP WEB SSL | Obrigatório | -| 2 | Consentimentos | /consents/* | ICP WEB SSL | Obrigatório | -| 2 | Resources | /resources/* | ICP WEB SSL | Obrigatório | -| 2 | Dados | /customers/* | ICP WEB SSL | Obrigatório | -| 2 | Cartão | /credit-cards-accounts/* | ICP WEB SSL | Obrigatório | -| 2 | Contas | /accounts/* | ICP WEB SSL | Obrigatório | -| 2 | Empréstimos | /loans/* | ICP WEB SSL | Obrigatório | -| 2 | Financiamentos | /financings/* | ICP WEB SSL | Obrigatório | -| 2 | Adiantamento | /unarranged-accounts-overdraft/* | ICP WEB SSL | Obrigatório | -| 2 | Direitos Creditórios | /invoice-financings/* | ICP WEB SSL | Obrigatório | -| 3 | Pagamentos | /payments/* | ICP WEB SSL | Obrigatório | +| Fase | Grupo | API | Certificado | mTLS | +|------|------------------------|---------------------------------------|-------------------|-------------| +| NA | OIDC | .well-known/openid-configuration | EV ou ICP WEB SSL | | +| NA | OIDC | jwks_uri | EV ou ICP WEB SSL | | +| NA | OIDC | authorization_endpoint | EV | | +| NA | OIDC | token_endpoint | ICP WEB SSL | Obrigatório | +| NA | OIDC | userinfo_endpoint | ICP WEB SSL | Obrigatório | +| NA | OIDC | pushed_authorization_request_endpoint | ICP WEB SSL | Obrigatório | +| NA | DCR | registration_endpoint | ICP WEB SSL | Obrigatório | +| NA | OIDC | revocation_endpoint | ICP WEB SSL | Obrigatório | +| 2 | Consentimentos | /consents/* | ICP WEB SSL | Obrigatório | +| 2 | Resources | /resources/* | ICP WEB SSL | Obrigatório | +| 2 | Dados | /customers/* | ICP WEB SSL | Obrigatório | +| 2 | Cartão | /credit-cards-accounts/* | ICP WEB SSL | Obrigatório | +| 2 | Contas | /accounts/* | ICP WEB SSL | Obrigatório | +| 2 | Empréstimos | /loans/* | ICP WEB SSL | Obrigatório | +| 2 | Financiamentos | /financings/* | ICP WEB SSL | Obrigatório | +| 2 | Adiantamento | /unarranged-accounts-overdraft/* | ICP WEB SSL | Obrigatório | +| 2 | Direitos Creditórios | /invoice-financings/* | ICP WEB SSL | Obrigatório | +| 3 | Pagamentos | /payments/* | ICP WEB SSL | Obrigatório | From 9fef4b0fe9b8492dfefd055866631ddf052cc815 Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 17 Feb 2022 20:03:22 -0300 Subject: [PATCH 52/59] chore(md): Fix and export open-banking-brasil-dynamic-client-registration-1_ID2.md --- images/dynamic-client-registration.svg | 118 +++ ...sil-dynamic-client-registration-1_ID2.html | 725 +++++++++++------- ...rasil-dynamic-client-registration-1_ID2.md | 81 +- 3 files changed, 606 insertions(+), 318 deletions(-) create mode 100644 images/dynamic-client-registration.svg diff --git a/images/dynamic-client-registration.svg b/images/dynamic-client-registration.svg new file mode 100644 index 0000000..1af0fe1 --- /dev/null +++ b/images/dynamic-client-registration.svg @@ -0,0 +1,118 @@ + + + + + Dynamic Client Registration + + + + + + + + TPP + + TPP + + DirectoryAS + + DirectoryAS + + DirectoryAPI + + DirectoryAPI + + DirectoryJWKS + + DirectoryJWKS + + BankAS + + BankAS + + ICPBrasil + + ICPBrasil + + + OAuth 2.0 tls_client_auth + + + Client Credentials Grant + Scope directory:software + + + + + Validate Certificate + + + Check Revocation Status + + + Certificate OK + + + Access Token + + + Retrieve Authorisation Servers + Access Token + + + Authorisation Servers + + + Retrieve OpenID Configuration + + + JSON OpenID Discovery Clause 4.2 + + + + + Extract Desired MetaData + + + Retrieve SSA + + + SSA JWT + + + Post RFC7591 with SSA JWT as software_statement + + + Check Revocation Status + + + Certificate OK + + + Retrieve Key Set + + + Return Key Set + + + + + Validate SSA in RFC 7591 Request + + + + + Validate RFC7591 Request + + + Request must be made to token endpoint + secured with mutual tls. + + + Return RFC7591 Client Configuration + RFC7592 Management Token + + + + + Save Management Token + + \ No newline at end of file diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.html b/open-banking-brasil-dynamic-client-registration-1_ID2.html index 68cec05..800de16 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.html +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.html @@ -5,12 +5,29 @@ Open Banking Brasil Financial-grade API Dynamic Client Registration 1.0 Implementers Draft 2 - - + + @@ -1068,10 +1182,10 @@ OBB-FAPI-1-DCR-ID2 -November 2021 +February 2022 -Bragg & Security +Security Standards Track [Page] @@ -1081,20 +1195,8 @@
      Workgroup:
      Open Banking Brasil GT Security
      -
      Internet-Draft:
      -
      open-banking-brasil-dynamic-client-registration-1_ID2
      -
      Published:
      -
      - -
      -
      Intended Status:
      -
      Standards Track
      -
      Authors:
      +
      Author:
      -
      -
      R. Bragg
      -
      Raidiam
      -
      GT. Security
      OBBIS
      @@ -1110,14 +1212,13 @@

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

      The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the Brasil Central Bank. There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights.

      Open Banking Brasil Financial-grade API Security Profile 1.0 consists of the following parts:

      -

      These parts are intended to be used with RFC6749, RFC6750, RFC7636, OIDC, OIDR, RFC7591, RFC7592, FAPI-1-Baseline and FAPI-1-Advanced

      @@ -1144,105 +1245,105 @@

      Table of Contents

      -

      @@ -1252,17 +1353,14 @@

      1. Scope

      This document specifies the method of

      -

      This document is applicable to all participants engaging in Open Banking in Brasil.

    @@ -1310,35 +1408,52 @@

    4. Symbols and Abbreviated terms

    -

    SSA - Software Statement Assertion

    -

    SS - Software Statement

    -

    DCR - Dynamic Client Registration

    -

    API - Application Programming Interface

    -

    FAPI - Financial-grade API

    -

    HTTP - Hyper Text Transfer Protocol

    -

    OIDF - OpenID Foundation

    -

    REST - Representational State Transfer

    -

    TLS - Transport Layer Security

    +
      +
    • + API - Application Programming Interface +
    • +
    • + DCR - Dynamic Client Registration +
    • +
    • + FAPI - Financial-grade API +
    • +
    • + HTTP - Hyper Text Transfer Protocol +
    • +
    • + OIDF - OpenID Foundation +
    • +
    • + REST - Representational State Transfer +
    • +
    • + SS - Software Statement +
    • +
    • + SSA - Software Statement Assertion +
    • +
    • + TLS - Transport Layer Security +
    • +
    -
    +

    5. Introduction

    Brasil Open Bankings ecosystem leverages a federation trust provider or directory of participants as the golden source of information on accredited participants and software that are authorized to partake in the Open Banking Brasil ecosystem.

    The services by the Directory include

    -
      -
    • -

      Software registration and management.

      +
        +
      • Software registration and management.
      • -
      • -

        Software credential registration and management using ICP Certificates.

        +
      • Software credential registration and management using ICP Certificates.
      • -
      • -

        Software Statement Assertion (SSA) generation

        +
      • Software Statement Assertion (SSA) generation
      • -
      +

    Participants within the ecosystem must leverage these services to facilitate API driven OAuth client registration using the process outlined in clause 3.1.1 of RFC7591 with additional metadata necessary to support OpenID Connect defined in OpenID Connect Registration.

    It's important to remember that the client registration payload has most of its non-mandatory attributes, and that assigned values; that conflict with the present in the assertion software declaration will be overridden by the values of the software statement assertion issued by the Directory of Participants. Not all metadata that a client wishes to provide may be contained in a software statement, e.g alternative Metadata Languages and Script values. There are some cases when the client metadata are subset os the existing values in the SSA, such as redirect_URIs.

    @@ -1356,29 +1471,22 @@

    The Authorization Server shall support OpenID Connect Discovery as required by Financial-grade API Security Profile 1.0 - Part 1: Baseline. This support shall be explicit in Participant Directory configurations, and in the declaration of its attributes in the Discovery file (well-known), respecting the authentication mechanisms certified by the institution through the Open Banking Brazil compliance tests.

    In addition, the Authorization Server

    -
      -
    1. -

      shall advertise its presence in the Open Banking Brasil ecosystem by being listed on the Directory of Participants;

      +
        +
      1. shall advertise its presence in the Open Banking Brasil ecosystem by being listed on the Directory of Participants;
      2. -
      3. -

        shall advertise all Open Banking Brasil REST API resources protected by the OpenID Provider on the Directory of Participants;

        +
      4. shall advertise all Open Banking Brasil REST API resources protected by the OpenID Provider on the Directory of Participants;
      5. -
      6. -

        shall advertise support for all signing, encryption, authentication mechanisms and standards required to support Open Banking Brasil Financial API;

        +
      7. shall advertise support for all signing, encryption, authentication mechanisms and standards required to support Open Banking Brasil Financial API;
      8. -
      9. -

        shall advertise support for OpenID Dynamic Client Registration;

        +
      10. shall advertise support for OpenID Dynamic Client Registration;
      11. -
      12. -

        shall advertise mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens the token_endpoint, registration_endpoint and userinfo_endpoint;

        +
      13. shall advertise mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens the token_endpoint, registration_endpoint and userinfo_endpoint;
      14. -
      15. -

        if supporting OAuth 2.0 Pushed Authorization Requests shall advertise through OIDD mtls_endpoint_aliases the pushed_authorization_request_endpoint;

        +
      16. if supporting OAuth 2.0 Pushed Authorization Requests shall advertise through OIDD mtls_endpoint_aliases the pushed_authorization_request_endpoint;
      17. -
      18. -

        if supporting Financial API - Client Initiated Back Channel Authentication shall advertise through OIDD mtls_endpoint_aliases the backchannel_authentication_endpoint;

        +
      19. if supporting Financial API - Client Initiated Back Channel Authentication shall advertise through OIDD mtls_endpoint_aliases the backchannel_authentication_endpoint;
      20. -
      +

    @@ -1388,17 +1496,14 @@

    The Client shall support OpenID Connect Discovery as required by Financial-grade API Security Profile 1.0 - Part 1: Baseline

    In addition, the Client

    -
      -
    1. -

      shall rely on ecosystem discovery services provided by Directory of Participants only;

      +
        +
      1. shall rely on ecosystem discovery services provided by Directory of Participants only;
      2. -
      3. -

        shall derive necessary Authorisation Server metadata by relying on an Authorization Servers OpenID Connect Discovery services only;

        +
      4. shall derive necessary Authorisation Server metadata by relying on an Authorization Servers OpenID Connect Discovery services only;
      5. -
      6. -

        where present, shall use endpoints advertised in mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens;

        +
      7. where present, shall use endpoints advertised in mtls_endpoint_aliases as per clause 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens;
      8. -
      +
    @@ -1415,44 +1520,33 @@

    The Authorization Server shall support the RFC RFCs Dynamic Client Registration (DCR) RFC7591, Dynamic Client Management (DCM) RFC7592 and OpenID Registration

    In addition, the Authorization Server

    -
      -
    1. -

      shall reject dynamic client registration requests not performed over a connection secured with mutual tls using certificates issued by Brazil ICP (production) or the Directory of Participants (sandbox);

      +
        +
      1. shall reject dynamic client registration requests not performed over a connection secured with mutual tls using certificates issued by Brazil ICP (production) or the Directory of Participants (sandbox);
      2. -
      3. -

        shall validate that the request contains software_statement JWT signed using the PS256 algorithim issued by the Open Banking Brasil directory of participants;

        +
      4. shall validate that the request contains software_statement JWT signed using the PS256 algorithim issued by the Open Banking Brasil directory of participants;
      5. -
      6. -

        shall validate that the software_statement was issued (iat) not more than 5 minutes prior to the request being received;

        +
      7. shall validate that the software_statement was issued (iat) not more than 5 minutes prior to the request being received;
      8. -
      9. -

        shall validate that the attribute jwks (key set by value) was not included; but declared as a reference in the jwks_uri attribute;

        +
      10. shall validate that the attribute jwks (key set by value) was not included; but declared as a reference in the jwks_uri attribute;
      11. -
      12. -

        when the jwks_uri was informed, shall validate that matches the software_jwks_uri provided in the software_statement;

        +
      13. when the jwks_uri was informed, shall validate that matches the software_jwks_uri provided in the software_statement;
      14. -
      15. -

        shall require and validate that redirect_uris match or contain a sub set of softwareredirecturis provided in the software_statement;

        +
      16. shall require and validate that redirect_uris match or contain a sub set of software_redirect_uris provided in the software_statement;
      17. -
      18. -

        shall require and validate that all client authentication mechanism adhere to the requirements defined in RFC7591 and RFC7592, validating the registration_access_token and using a secure connection, protected by certificate Issued from chain of certificates linked to ICP-Brasil;

        +
      19. shall require and validate that all client authentication mechanism adhere to the requirements defined in RFC7591 and RFC7592, validating the registration_access_token and using a secure connection, protected by certificate Issued from chain of certificates linked to ICP-Brasil;
      20. -
      21. -

        removed;

        +
      22. + removed;
      23. -
      24. -

        shall validate that the requested scopes are adequate for accredited institutions and their regulatory roles and contained in the software_statement. The list of regulatory permissions and the corresponding scopes are described in the following sections;

        +
      25. shall validate that the requested scopes are adequate for accredited institutions and their regulatory roles and contained in the software_statement. The list of regulatory permissions and the corresponding scopes are described in the following sections;
      26. -
      27. -

        where possible, shall compare client metadata asserted by a client toward the metadata provided into software_statement, choosing the values present in the SSA with precedence;

        +
      28. where possible, shall compare client metadata asserted by a client toward the metadata provided into software_statement, choosing the values present in the SSA with precedence;
      29. -
      30. -

        shall accept all x.500 AttributeType name strings defined in the Distinguished Name of the x.509 Certificate Profiles defined in Open Banking Brasil x.509 Certificate Standards;

        +
      31. shall accept all x.500 AttributeType name strings defined in the Distinguished Name of the x.509 Certificate Profiles defined in Open Banking Brasil x.509 Certificate Standards;
      32. -
      33. -

        if supporting tls_client_auth client authentication mechanism as defined in RFC8705 shall only accept tls_client_auth_subject_dn as an indication of the certificate subject value as defined in clause 2.1.2 RFC8705;

        +
      34. if supporting tls_client_auth client authentication mechanism as defined in RFC8705 shall only accept tls_client_auth_subject_dn as an indication of the certificate subject value as defined in clause 2.1.2 RFC8705;
      35. -
      +

    These provisions apply equally to the processing of RFC7591, RFC7592 and OpenID Registration requests

    @@ -1460,17 +1554,14 @@

    7.1.1. Applying Server Defaults

    Where properties of a DCR request are not included and are not mandatory in the specification the Authorisation Server shall apply client defaults in the following manner

    -
      -
    1. -

      shall select and apply the encryption algorithm and cipher choice from the most recommended of the IANA cipher suites that is supported by the Authorisation Server;

      +
        +
      1. shall select and apply the encryption algorithm and cipher choice from the most recommended of the IANA cipher suites that is supported by the Authorisation Server;
      2. -
      3. -

        shall populate defaults from values within the software_statement assertion where possible;

        +
      4. shall populate defaults from values within the software_statement assertion where possible;
      5. -
      6. -

        shall grant the client permission to the complete set of potential scopes based on the softwares regulatory permissions included in the software_statement;

        +
      7. shall grant the client permission to the complete set of potential scopes based on the softwares regulatory permissions included in the software_statement;
      8. -
      +
    @@ -1482,17 +1573,14 @@

    To address this ambiguity, the Authorization Server must accept only the AttributeTypes name strings (descriptors) defined in the last paragraph of clause 3 RFC4514 in string format, it shall also accept in OID format, with their values in ASN.1, all the AttributeTypes defined in Distinguished Name Open Banking Brasil x.509 Certificate Standards or added by the Certificate Authority.

    In case of non-compliance with these requirements, the Authorization Server shall reject the registration.

    In terms of format, follow below how decoding should be done:

    -
      -
    • -

      Start backwards, the order is reversed from what is entered.

      +
        +
      • Start backwards, the order is reversed from what is entered.
      • -
      • -

        Append each RDN (RelativeDistinguishedName) segment with a comma ','.

        +
      • Append each RDN (RelativeDistinguishedName) segment with a comma ','.
      • -
      • -

        Use the RFC strings (CN, L, ST, O, OR, C, Street, DC, UID) with the value of their attributes in "printable string", ie human-readable + the OIDs of the attributes defined in this specification for use in Distinguished Name Open Banking Brasil x.509 Certificate Standards (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=OID:2.5.4.5) with the value of your attributes in ASN.1 format.

        +
      • Use the RFC strings (CN, L, ST, O, OR, C, Street, DC, UID) with the value of their attributes in "printable string", ie human-readable + the OIDs of the attributes defined in this specification for use in Distinguished Name Open Banking Brasil x.509 Certificate Standards (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=OID:2.5.4.5) with the value of your attributes in ASN.1 format.
      • -
      +

    Examples:

    @@ -1545,19 +1633,19 @@

    - + - - + + - + @@ -1569,6 +1657,7 @@

    Table 1
    DADOSInstituição transmissora ou receptora de dados (AISP)Instituiçã (U+00E7 U+00E3)o transmissora ou receptora de dados (AISP) openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources Phase 2
    PAGTOInstituição prestadora de serviço de iniciação de pagamentos (PISP)openid payments Instituiçã (U+00E7 U+00E3)o prestadora de serviço de iniciaçã (U+00E7 U+00E3)o de pagamentos (PISP)openid payments Phase 3
    CONTAInstituição detentora de conta (ASPSP)Instituiçã (U+00E7 U+00E3)o detentora de conta (ASPSP) openid Phase 3
    +

    Validate the active roles in the application's software_statement. The information validation, shall use the field _software_statement_roles, and shall verify if their roles are actives.

    @@ -1621,7 +1710,7 @@

    8.1. Software Statement Claims

    The following example contains all of the claims currently included in a software statement

    -
    +
    {
       "software_mode": "Live",
       "software_redirect_uris": [
    @@ -1707,7 +1796,128 @@ 

    9. Dynamic Client Registration Request Processing

    -

    Dynamic Client Registration Request Processing

    +
    +
    + + Dynamic Client Registration + + + Dynamic Client Registration + + + + + + + + TPP + + TPP + + DirectoryAS + + DirectoryAS + + DirectoryAPI + + DirectoryAPI + + DirectoryJWKS + + DirectoryJWKS + + BankAS + + BankAS + + ICPBrasil + + ICPBrasil + + + OAuth 2.0 tls_client_auth + + + Client Credentials Grant + Scope directory:software + + + + + Validate Certificate + + + Check Revocation Status + + + Certificate OK + + + Access Token + + + Retrieve Authorisation Servers + Access Token + + + Authorisation Servers + + + Retrieve OpenID Configuration + + + JSON OpenID Discovery Clause 4.2 + + + + + Extract Desired MetaData + + + Retrieve SSA + + + SSA JWT + + + Post RFC7591 with SSA JWT as software_statement + + + Check Revocation Status + + + Certificate OK + + + Retrieve Key Set + + + Return Key Set + + + + + Validate SSA in RFC 7591 Request + + + + + Validate RFC7591 Request + + + Request must be made to token endpoint + secured with mutual tls. + + + Return RFC7591 Client Configuration + RFC7592 Management Token + + + + + Save Management Token + + +
    +
    Figure 1

    @@ -1715,7 +1925,7 @@

    This example includes various optional fields, some of which may not be applicable to some deployments. For a complete guide to the attributes and their requirements, consult the Swagger DCR/DCM link: OBB-DCR/DCM-Swagger . Line wraps within values are for display purposes only.

    -
    +
    POST /reg HTTP/1.1
     Host: auth.raidiam.com
     Content-Type: application/json
    @@ -1781,17 +1991,14 @@ 

    9.3.1. Client registration - POST /register

    -
      -
    1. -

      validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard;

      +
        +
      1. validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard;
      2. -
      3. -

        ensure that the signature of the software_statement_ presented by the client application during registration has been made by the Directory of Participants using the public keys described in the previous section;

        +
      4. ensure that the signature of the software_statement_ presented by the client application during registration has been made by the Directory of Participants using the public keys described in the previous section;
      5. -
      6. -

        ensure that the software_statement presented by the client application during registration corresponds to the same institution as the client certificate presented, validating it through the attributes that bring organization_id in the X.509 certificate.

        +
      7. ensure that the software_statement presented by the client application during registration corresponds to the same institution as the client certificate presented, validating it through the attributes that bring organization_id in the X.509 certificate.
      8. -
      +
    @@ -1799,14 +2006,13 @@

    9.3.2. Client Maintenance - GET /register - PUT /register - DELETE /register

    -
      -
    1. -

      validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard;

      +
        +
      1. validate that the certificate presented by the client application is subordinate to the ICP-Brasil chains defined in the Open Banking Brasil Certificates Standard;
      2. -
      3. -

        Validate the presence and matching of the Bearer header Authorization containing the value of the registration_access_token attribute returned during registration of the corresponding client.

        +
      4. Validate the presence and matching of the Bearer header Authorization containing the value of the registration_access_token attribute returned during registration of the corresponding client.
      5. -
      +
    +

    Note: RFC7592 provides the possibility of rotating the registration_access_token issued by the Authorization Server with each use, making it a single-use token. When registering their client applications, institutions should consider this aspect to receive and update the registration_access_token for the new value received in client maintenance (DCM) operations.

    @@ -1820,75 +2026,56 @@

    With thanks to all who have set the foundations for secure and safe data sharing through the formation of the OpenID Foundation FAPI Working Group, the Open Banking Brasil GT Security and to the pioneers who will stand on their shoulders.

    The following people contributed to this document:

    -
      -
    • -

      Ralph Bragg (Raidiam)

      +
        +
      • Alexandre Daniel Dalabrida (Cooperativa Central Ailos) +
      • +
      • Alexandre Siqueira (Mercado Pago)
      • -
      • -

        Alexandre Siqueira (Mercado Pago)

        +
      • André Borges (Banco Fibra)
      • -
      • -

        Bernardo Vale (Banco Inter)

        +
      • Bernardo Vale (Banco Inter)
      • -
      • -

        André Borges (Banco Fibra)

        +
      • Danilo Sasaki (Banco Itaú)
      • -
      • -

        Danilo Sasaki (Banco Itaú)

        +
      • João Rodolfo Vieira da Silva (Banco Itaú)
      • -
      • -

        João Rodolfo Vieira da Silva (Banco Itaú)

        +
      • Michelle Bandarra (Chicago)
      • -
      • -

        Michelle Bandarra (Chicago)

        +
      • Nic Marcondes (Quanto)
      • -
      • -

        Alexandre Daniel Dalabrida (Cooperativa Central Ailos)

        +
      • Rafael Gonzalez Hashimoto (Banco C6)
      • -
      • -

        Rafael Gonzalez Hashimoto - (Banco C6)

        +
      • Ralph Bragg (Raidiam)
      • -
      +
    -
    +

    -Appendix A. Notices +Appendix A. Notices

    -

    Copyright (c) 2021 Open Banking Brasil Initial Structure.

    -

    The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS.

    -

    The technology described in this specification was made available from contributions from various sources, including members of the OpenID Foundation, the Open Banking Brasil GT Security Working Group and others. Although the Open Banking Brasil Initial Structure has taken steps to help ensure that the technology is available for distribution, it takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this specification or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any independent effort to identify any such rights. The Open Banking Brasil Initial Structure and the contributors to this specification make no (and hereby expressly disclaim any) warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to this specification, and the entire risk as to implementing this specification is assumed by the implementer. The Open Banking Brasil Intellectual Property Rights policy requires contributors to offer a patent promise not to assert certain patent claims against other contributors and against implementers. The Open Banking Brasil Initial Structure invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology that may be required to practice this specification.

    +

    Copyright (c) 2022 Open Banking Brasil Initial Structure.

    +

    The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS.

    +

    The technology described in this specification was made available from contributions from various sources, including members of the OpenID Foundation, the Open Banking Brasil GT Security Working Group and others. Although the Open Banking Brasil Initial Structure has taken steps to help ensure that the technology is available for distribution, it takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this specification or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any independent effort to identify any such rights. The Open Banking Brasil Initial Structure and the contributors to this specification make no (and hereby expressly disclaim any) warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to this specification, and the entire risk as to implementing this specification is assumed by the implementer. The Open Banking Brasil Intellectual Property Rights policy requires contributors to offer a patent promise not to assert certain patent claims against other contributors and against implementers. The Open Banking Brasil Initial Structure invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that may cover technology that may be required to practice this specification.

    -
    -

    -A.1. Appendix A. Example Software Statement Assertion -

    -
    +
    +

    +A.1. Appendix A. Example Software Statement Assertion +

    +
    eyJraWQiOiJzaWduZXIiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJzb2Z0d2FyZV9tb2RlIjoiTGl2ZSIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvY2IiXSwic29mdHdhcmVfc3RhdGVtZW50X3JvbGVzIjpbeyJyb2xlIjoiREFET1MiLCJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsInN0YXR1cyI6IkFjdGl2ZSJ9LHsicm9sZSI6IlBBR1RPIiwiYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJzdGF0dXMiOiJBY3RpdmUifV0sInNvZnR3YXJlX2NsaWVudF9uYW1lIjoiUmFpZGlhbSBBY2NvdW50aW5nIiwib3JnX3N0YXR1cyI6IkFjdGl2ZSIsInNvZnR3YXJlX2NsaWVudF9pZCI6IkNraTFFYnZqd3loUEIxMk5HTGx6MiIsImlzcyI6Ik9wZW4gQmFua2luZyBPcGVuIEJhbmtpbmcgQnJhc2lsIHByb2QgU1NBIGlzc3VlciIsInNvZnR3YXJlX3Rvc191cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nXC90b3MuaHRtbCIsInNvZnR3YXJlX2NsaWVudF9kZXNjcmlwdGlvbiI6IlJhaWRpYW0gQWNjb3VudGluZyBsZXZlcmFnZSBjdXR0aW5nIGVkZ2Ugb3BlbiBiYW5raW5nIGFjY2VzcyB0byBicmluZyB5b3UgcmVhbCB0aW1lIHVwIHRvIGRhdGUgdmlld3Mgb2YgeW91ciBmaW5hbmNlcyIsInNvZnR3YXJlX2p3a3NfZW5kcG9pbnQiOiJodHRwczpcL1wva2V5c3RvcmUuZGlyZWN0b3J5Lm9wZW5iYW5raW5nYnJhc2lsLm9yZy5iclwvYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkXC8yNTU1NmQ1YS1iOWRkLTRlMjctYWExYS1jY2U3MzJmZTc0ZGVcL2FwcGxpY2F0aW9uLmp3a3MiLCJzb2Z0d2FyZV9wb2xpY3lfdXJpIjoiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvcG9saWN5Lmh0bWwiLCJzb2Z0d2FyZV9pZCI6IjI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZSIsInNvZnR3YXJlX2NsaWVudF91cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nLmh0bWwiLCJzb2Z0d2FyZV9qd2tzX2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvYXBwbGljYXRpb24uandrcyIsInNvZnR3YXJlX2p3a3NfdHJhbnNwb3J0X2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9qd2tzX3RyYW5zcG9ydF9lbmRwb2ludCI6Imh0dHBzOlwvXC9rZXlzdG9yZS5kaXJlY3Rvcnkub3BlbmJhbmtpbmdicmFzaWwub3JnLmJyXC9iOTYxYzRlYi01MDlkLTRlZGYtYWZlYi0zNTY0MmIzODE4NWRcLzI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9sb2dvX3VyaSI6Imh0dHBzOlwvXC93d3cucmFpZGlhbS5jb21cL2FjY291bnRpbmdcL2xvZ28ucG5nIiwib3JnX2lkIjoiYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkIiwic29mdHdhcmVfZW52aXJvbm1lbnQiOiJwcm9kdWN0aW9uIiwic29mdHdhcmVfdmVyc2lvbiI6MS4xMCwic29mdHdhcmVfcm9sZXMiOlsiREFET1MiLCJQQUdUTyJdLCJvcmdfbmFtZSI6Ik9wZW4gQmFua2luZyBCcmFzaWwiLCJpYXQiOjE2MTgzMzYyNjIsIm9yZ2FuaXNhdGlvbl9jb21wZXRlbnRfYXV0aG9yaXR5X2NsYWltcyI6W3siYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJhdXRob3Jpc2F0aW9ucyI6W10sInJlZ2lzdHJhdGlvbl9pZCI6IjEzMzUzMjM2LU9CQi1DT05UQSIsImF1dGhvcml0eV9pZCI6IjY4N2ExYzk0LWIzNjAtNGUwNC05NTg5LTBmYTVjYjE2NDUxYiIsImF1dGhvcmlzYXRpb25fcm9sZSI6IkNPTlRBIiwiYXV0aG9yaXR5X2NvZGUiOiJCQ0IiLCJzdGF0dXMiOiJBY3RpdmUifSx7ImF1dGhvcmlzYXRpb25fZG9tYWluIjoiT3BlbiBCYW5raW5nIiwiYXV0aG9yaXNhdGlvbnMiOltdLCJyZWdpc3RyYXRpb25faWQiOiIxMzM1MzIzNi1PQkItREFET1MiLCJhdXRob3JpdHlfaWQiOiI2ODdhMWM5NC1iMzYwLTRlMDQtOTU4OS0wZmE1Y2IxNjQ1MWIiLCJhdXRob3Jpc2F0aW9uX3JvbGUiOiJEQURPUyIsImF1dGhvcml0eV9jb2RlIjoiQkNCIiwic3RhdHVzIjoiQWN0aXZlIn0seyJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsImF1dGhvcmlzYXRpb25zIjpbXSwicmVnaXN0cmF0aW9uX2lkIjoiMTMzNTMyMzYtT0JCLVBBR1RPIiwiYXV0aG9yaXR5X2lkIjoiNjg3YTFjOTQtYjM2MC00ZTA0LTk1ODktMGZhNWNiMTY0NTFiIiwiYXV0aG9yaXNhdGlvbl9yb2xlIjoiUEFHVE8iLCJhdXRob3JpdHlfY29kZSI6IkJDQiIsInN0YXR1cyI6IkFjdGl2ZSJ9XX0.W6hUAYhjT6I61rxEIVMKYKre93LTbRdzKnk9dJvUdzVgAz5B9KxZNutf27oO3k0hrjYVWBdWq23o_e4Y_AaKdpS9-rtU84JiHtmqV0wcFYIM8nqcUVWqQ-Ux6Nq9L2G-s2YNd3PcJ1e3yGg9h8553Gr7iJusKEgApzXUpkM2rBELQuumktUE_JBiuIkXmWxoRnO1cW-Osbk3MT3bxG43SPcxii07Q5S8qXI6PjCPA3fYlnaUAygwZM3O0oa7jqmSr7d9UsHuDMJfYhIKdq2wyQQKORCN-D2UopmMX-lHMvAVkkrAO08T0-7odjr4PJk-PrwuoCxeAfa7440ZDOrlmQ
    -
    +
    -
    -

    -Authors' Addresses +
    +

    +Author's Address

    -
    -
    Ralph Bragg
    -
    Raidiam
    - - -
    OBBIS GT Security
    Open Banking Brasil Initial Structure
    diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2.md b/open-banking-brasil-dynamic-client-registration-1_ID2.md index ebe73cd..15c9249 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2.md @@ -17,16 +17,6 @@ status = "standard" value = "open-banking-brasil-dynamic-client-registration-1_ID2" - [[author]] - initials = "R." - surname = "Bragg" - fullname = "Ralph Bragg" - organization = "Raidiam" - abbrev = "Raidiam" - [author.address] - email = "ralph.bragg@raidiam.com" - uri = "https://www.raidiam.com/" - [[author]] initials = "GT" surname = "Security" @@ -158,23 +148,15 @@ For the purpose of this document, the terms defined in [RFC6749], [RFC6750], [RF # Symbols and Abbreviated terms -**SSA** – Software Statement Assertion - -**SS** – Software Statement - -**DCR** – Dynamic Client Registration - -**API** – Application Programming Interface - -**FAPI** - Financial-grade API - -**HTTP** – Hyper Text Transfer Protocol - -**OIDF** - OpenID Foundation - -**REST** – Representational State Transfer - -**TLS** – Transport Layer Security +* **API** – Application Programming Interface +* **DCR** – Dynamic Client Registration +* **FAPI** - Financial-grade API +* **HTTP** – Hyper Text Transfer Protocol +* **OIDF** - OpenID Foundation +* **REST** – Representational State Transfer +* **SS** – Software Statement +* **SSA** – Software Statement Assertion +* **TLS** – Transport Layer Security # Introduction @@ -264,12 +246,12 @@ In terms of format, follow below how decoding should be done: Examples: -| subject_dn | Issuer | -| --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| subject_dn | Issuer | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Regulatory Roles to OpenID and OAuth 2.0 Mappings @@ -277,12 +259,12 @@ To participate in the Open Banking ecosystem, accredited institutions must regis The following table describes the regulatory roles for Open Banking and the related OAuth 2.0 scopes mapping. If the scopes are omitted during the DCR process, the authorization server shall grant the complete set of potential scopes based on the registering bank's regulatory roles, as described in the Server Defaults section. -| Regulatory Role | Description | Allowed Scopes | Target Phase| -| --- | --- | --- | --- | -| DADOS | Instituição transmissora ou receptora de dados (AISP) | openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources | Phase 2 | -| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments | Phase 3 | -| CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | -| CCORR | Correspondente de crédito | openid | Phase 3* | +| Regulatory Role | Description | Allowed Scopes | Target Phase | +|-----------------|---------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|--------------| +| DADOS | Instituição transmissora ou receptora de dados (AISP) | openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources | Phase 2 | +| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments | Phase 3 | +| CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | +| CCORR | Correspondente de crédito | openid | Phase 3* | Validate the active roles in the application's _software\_statement_. The information validation, shall use the field _software\_statement\_roles, and shall verify if their roles are actives. @@ -292,10 +274,10 @@ In line with guidance from the IETF and the direction of travel for fine-grained ## Regulatory Roles to dynamic OAuth 2.0 scope Mappings -| Regulatory Role | Allowed Scopes | -| --- | --- | -| DADOS | consent:{ConsentId} | -| PAGTO | consent:{ConsentId} | +| Regulatory Role | Allowed Scopes | +|-----------------|---------------------| +| DADOS | consent:{ConsentId} | +| PAGTO | consent:{ConsentId} | # Software Statement @@ -385,7 +367,7 @@ The following example contains all of the claims currently included in a softwar # Dynamic Client Registration Request Processing !--- -![Dynamic Client Registration](images/dynamic-client-registration.png) +![Dynamic Client Registration](images/dynamic-client-registration.svg) !--- ## Posting a request with a software statement @@ -468,21 +450,22 @@ With thanks to all who have set the foundations for secure and safe data sharing The following people contributed to this document: -* Ralph Bragg (Raidiam) +* Alexandre Daniel Dalabrida (Cooperativa Central Ailos) * Alexandre Siqueira (Mercado Pago) -* Bernardo Vale (Banco Inter) * André Borges (Banco Fibra) +* Bernardo Vale (Banco Inter) * Danilo Sasaki (Banco Itaú) * João Rodolfo Vieira da Silva (Banco Itaú) * Michelle Bandarra (Chicago) -* Alexandre Daniel Dalabrida (Cooperativa Central Ailos) -* Rafael Gonzalez Hashimoto - (Banco C6) +* Nic Marcondes (Quanto) +* Rafael Gonzalez Hashimoto (Banco C6) +* Ralph Bragg (Raidiam) {backmatter} # Notices -Copyright (c) 2021 Open Banking Brasil Initial Structure. +Copyright (c) 2022 Open Banking Brasil Initial Structure. The Open Banking Brasil Initial Structure (OBBIS) grants to any Contributor, developer, implementer, or other interested party a non-exclusive, royalty-free, worldwide copyright license to reproduce, prepare derivative works from, distribute, perform and display, this Implementers Draft or Final Specification solely for the purposes of (i) developing specifications, and (ii) implementing Implementers Drafts and Final Specifications based on such documents, provided that attribution be made to the OBBIS as the source of the material, but that such attribution does not indicate an endorsement by the OBBIS. From f696ccb88e428eead84f3e1abfbce53791a9aa77 Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 17 Feb 2022 21:55:17 -0300 Subject: [PATCH 53/59] chore(md): Fix and export open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md --- ...ynamic-client-registration-1_ID2-ptbr.html | 734 +++++++++++------- ...-dynamic-client-registration-1_ID2-ptbr.md | 71 +- 2 files changed, 488 insertions(+), 317 deletions(-) diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html index 01aced9..c3b0af4 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.html @@ -5,12 +5,29 @@ Open Banking Brasil Financial-grade API Dynamic Client Registration 1.0 Implementers Draft 2 - - + + @@ -1068,10 +1182,10 @@ OBB-FAPI-1-DCR-ID2 -November 2021 +February 2022 -Bragg & Security +Security Standards Track [Page] @@ -1081,20 +1195,8 @@
    Workgroup:
    Open Banking Brasil GT Security
    -
    Internet-Draft:
    -
    open-banking-brasil-dynamic-client-registration-1_ID2-ptbr
    -
    Published:
    -
    - -
    -
    Intended Status:
    -
    Standards Track
    -
    Authors:
    +
    Author:
    -
    -
    R. Bragg
    -
    Raidiam
    -
    GT. Security
    OBBIS
    @@ -1110,14 +1212,13 @@

    The normative version in English

    A Estrutura Inicial do Open Banking Brasil (EIOBB) é responsável por criar os padrões e especificações necessários para atender aos requisitos e obrigações da Legislação do Open Banking do Brasil, conforme originalmente delineado pelo Banco Central do Brasil. É possível que alguns dos elementos deste documento estejam sujeitos a direitos de patente. O EIOBB não se responsabiliza pela identificação de qualquer ou todos os direitos de patente.

    O Perfil de Segurança Financial-grade API 1.0 do Open Banking Brasil consiste nas seguintes partes:

    -

    Essas partes devem ser usadas com RFC6749, RFC6750, RFC7636, OIDC, OIDR, RFC7591, RFC7592, FAPI-1-Baseline e FAPI-1-Advanced

    @@ -1132,20 +1233,16 @@

    Convenções Notacionais

    As palavras-chave "deve" (shall), "não deve" (shall not), "deveria" (should), "não deveria" (should not) e "pode" (may) presentes nesse documento devem ser interpretadas conforme as diretrizes descritas em ISO Directive Part 2 observando seguinte equivalência:

    -
      -
    • -

      "deve" => equivalente ao termo "shall" e expressa um requerimento definido no documento (nas traduções é similar ao termo "must", que pode denotar um requerimento externo ao documento);

      +
        +
      • "deve" => equivalente ao termo "shall" e expressa um requerimento definido no documento (nas traduções é similar ao termo "must", que pode denotar um requerimento externo ao documento);
      • -
      • -

        "não deve" => equivalente ao termo "shall not" e também expressa um requerimento definido no documento;

        +
      • "não deve" => equivalente ao termo "shall not" e também expressa um requerimento definido no documento;
      • -
      • -

        "deveria" e "não deveria"=> equivalente ao termo "should" e "should not" e expressa uma recomendação

        +
      • "deveria" e "não deveria"=> equivalente ao termo "should" e "should not" e expressa uma recomendação
      • -
      • -

        "pode" => equivalente ao termo "may" indica uma permissão

        +
      • "pode" => equivalente ao termo "may" indica uma permissão
      • -
      +

    Estas palavras-chave não são usadas como termos de dicionário, de modo que qualquer ocorrência deles deve ser interpretada como palavras-chave e não devem ser interpretados com seus significados de linguagem natural.

    @@ -1153,100 +1250,100 @@

    Table of Contents

    -

    @@ -1256,17 +1353,14 @@

    1. Escopo

    Este documento especifica o método de

    -

    Este documento é aplicável a todos os participantes do Open Banking no Brasil.

    @@ -1298,6 +1392,7 @@

    FAPI-1-Advanced - Financial-grade API Security Profile 1.0 - Part 2: Advanced

    OBB-FAPI - Open Banking Brasil Financial-grade API Security Profile 1.0

    OBB-Cert-Standards - Open Banking Brasil x.509 Certificate Standards

    +

    OBB-DCR/DCM-Swagger - DCR & DCM Swagger

    @@ -1313,15 +1408,35 @@

    4. Símbolos e Termos abreviados

    -

    SSA - Software Statement Assertion (Afirmação de Declaração de Software)

    -

    SS - Software Statement (Declaração de Software)

    -

    DCR - Dynamic Client Registration (Registro de Cliente Dinâmico)

    -

    API - Application Programming Interface (Interface de Programação da Aplicação)

    -

    FAPI - Financial-grade API

    -

    HTTP - Hyper Text Transfer Protocol

    -

    OIDF - OpenID Foundation

    -

    REST - Representational State Transfer

    -

    TLS - Transport Layer Security

    +
      +
    • + API - Application Programming Interface (Interface de Programação da Aplicação) +
    • +
    • + DCR - Dynamic Client Registration (Registro de Cliente Dinâmico) +
    • +
    • + FAPI - Financial-grade API +
    • +
    • + HTTP - Hyper Text Transfer Protocol +
    • +
    • + OIDF - OpenID Foundation +
    • +
    • + REST - Representational State Transfer +
    • +
    • + SS - Software Statement (Declaração de Software) +
    • +
    • + SSA - Software Statement Assertion (Afirmação de Declaração de Software) +
    • +
    • + TLS - Transport Layer Security +
    • +
    @@ -1331,17 +1446,14 @@

    O ecossistema Open Banking Brasil apoia-se em um provedor de confiança ou diretório de participantes como a fonte mais valiosa de informações sobre participantes credenciados e softwares que estão autorizados a participar do ecossistema Open Banking Brasil.

    Os serviços do Diretório incluem:

    -
      -
    • -

      Registro e gerenciamento de software

      +
        +
      • Registro e gerenciamento de software
      • -
      • -

        Registro e gerenciamento de credenciais de software usando certificados ICP

        +
      • Registro e gerenciamento de credenciais de software usando certificados ICP
      • -
      • -

        Geração de Software Statement Assertion (SSA)

        +
      • Geração de Software Statement Assertion (SSA)
      • -
      +

    Os participantes do ecossistema devem aproveitar esses serviços para facilitar o registro de cliente OAuth orientado por API usando o processo descrito na cláusula 3.1.1 do RFC7591 com metadados adicionais necessários para oferecer suporte ao OpenID Connect definido em OpenID Connect Registration.

    É importante reforçar que o payload de registro de clientes possui a maior parte de seus atributos não obrigatórios, e que os atributos cujos valores conflitem com os presentes no software statement assertion serão sobrepostos pelos valores do próprio software statement assertion emitido pelo diretório central. Nem todos os metadados que um cliente deseja fornecer podem estar contidos em um software statement, por exemplo, alternativa Metadata Languages and Script values. Há casos ainda de metadados de cliente que são um subconjunto dos valores existentes no SSA, como por exemplo os redirect_URIs.

    @@ -1358,29 +1470,22 @@

    O servidor de autorização deve suportar OpenID Connect Discovery conforme exigido pelo Financial-grade API Security Profile 1.0 - Part 1: Baseline. Este suporte deve estar explicito tanto na forma como o Servidor de Autorização está registrado no Diretório de Participantes quanto na declaração dos seus atributos no arquivo de Discovery (well-known), respeitando os mecanismos de autenticação certificados pela institição através dos testes de conformidade do Open Banking Brasil.

    Adicionalmente, o Servidor de Autorização:

    -
      -
    1. -

      deve anunciar sua presença no ecossistema Open Banking Brasil, sendo listada no Diretório de Participantes;

      +
        +
      1. deve anunciar sua presença no ecossistema Open Banking Brasil, sendo listada no Diretório de Participantes;
      2. -
      3. -

        deve anunciar todos os recursos API REST do Open Banking Brasil protegidos pelo Provedor OpenID no Diretório de Participantes;

        +
      4. deve anunciar todos os recursos API REST do Open Banking Brasil protegidos pelo Provedor OpenID no Diretório de Participantes;
      5. -
      6. -

        deve anunciar suporte para todos os mecanismos de assinatura, criptografia, autenticação e padrões necessários para suportar o Open Banking Brasil Financial API;

        +
      7. deve anunciar suporte para todos os mecanismos de assinatura, criptografia, autenticação e padrões necessários para suportar o Open Banking Brasil Financial API;
      8. -
      9. -

        deve anunciar suporte para OpenID Dynamic Client Registration;

        +
      10. deve anunciar suporte para OpenID Dynamic Client Registration;
      11. -
      12. -

        deve anunciar mtls_endpoint_aliases de acordo com a cláusula 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication e Certificate-Bound Access Tokens o token_endpoint, registration_endpoint e userinfo_endpoint;

        +
      13. deve anunciar mtls_endpoint_aliases de acordo com a cláusula 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication e Certificate-Bound Access Tokens o token_endpoint, registration_endpoint e userinfo_endpoint;
      14. -
      15. -

        se suportar OAuth 2.0 Pushed Authorisation Requests, deve anunciar por meio de OIDD mtls_endpoint_aliases o push_authorization_request_endpoint;

        +
      16. se suportar OAuth 2.0 Pushed Authorisation Requests, deve anunciar por meio de OIDD mtls_endpoint_aliases o push_authorization_request_endpoint;
      17. -
      18. -

        se suportar Financial API - Client Initiated Back Channel Authentication, deve anunciar através de OIDD mtls_endpoint_aliases o backchannel_authentication_endpoint;

        +
      19. se suportar Financial API - Client Initiated Back Channel Authentication, deve anunciar através de OIDD mtls_endpoint_aliases o backchannel_authentication_endpoint;
      20. -
      +
    @@ -1390,17 +1495,14 @@

    O cliente deve suportar OpenID Connect Discovery conforme exigido pelo Financial-grade API Security Profile 1.0 - Part 1: Baseline.

    Além disso, o servidor de autorização

    -
      -
    1. -

      deve contar com serviços de descoberta do ecossistemas fornecidos apenas pelo Diretório de Participantes;

      +
        +
      1. deve contar com serviços de descoberta do ecossistemas fornecidos apenas pelo Diretório de Participantes;
      2. -
      3. -

        deve derivar os metadados necessários do Authorization Server somente por meio do serviço OpenID Connect Discovery dos Authorization Servers;

        +
      4. deve derivar os metadados necessários do Authorization Server somente por meio do serviço OpenID Connect Discovery dos Authorization Servers;
      5. -
      6. -

        quando presente, deve usar endpoints anunciados em mtls_endpoint_aliases conforme a cláusula 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication e Certificate-Bound Access Tokens;

        +
      7. quando presente, deve usar endpoints anunciados em mtls_endpoint_aliases conforme a cláusula 5 RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication e Certificate-Bound Access Tokens;
      8. -
      +
    @@ -1417,47 +1519,35 @@

    O servidor de autorização deve suportar as RFCs de Dynamic Client Registration (DCR) RFC7591, Dynamic Client Management (DCM) RFC7592 e OpenID Registration

    Além disso, o servidor de autorização

    -
      -
    1. -

      deve rejeitar as solicitações de registro de cliente dinâmico não realizadas em uma conexão protegida com mTLS usando certificados emitidos pelo Brasil ICP (produção) ou o Diretório de Participantes (sandbox);

      +
        +
      1. deve rejeitar as solicitações de registro de cliente dinâmico não realizadas em uma conexão protegida com mTLS usando certificados emitidos pelo Brasil ICP (produção) ou o Diretório de Participantes (sandbox);
      2. -
      3. -

        deve validar que a solicitação contém software_statement JWT assinado usando o algoritmo PS256 emitido pelo Diretório de Participantes do Open Banking Brasil;

        +
      4. deve validar que a solicitação contém software_statement JWT assinado usando o algoritmo PS256 emitido pelo Diretório de Participantes do Open Banking Brasil;
      5. -
      6. -

        deve validar que o software_statement foi emitido (iat - issued at) não mais de 5 minutos antes do pedido ser recebido;

        +
      7. deve validar que o software_statement foi emitido (iat - issued at) não mais de 5 minutos antes do pedido ser recebido;
      8. -
      9. -

        deve validar que um atributo jwks (definida por valor) não foi incluído, e sim declarado como referência no atributo jwks_uri;

        +
      10. deve validar que um atributo jwks (definida por valor) não foi incluído, e sim declarado como referência no atributo jwks_uri;
      11. -
      12. -

        deve, quando informado, validar que o jwks_uri corresponda ao software_jwks_uri fornecido na declaração do software;

        +
      13. deve, quando informado, validar que o jwks_uri corresponda ao software_jwks_uri fornecido na declaração do software;
      14. -
      15. -

        deve exigir e validar que o redirect_uris corresponda ou contenha um subconjunto dos valores de software_redirect_uris fornecidos no software_statement;

        +
      16. deve exigir e validar que o redirect_uris corresponda ou contenha um subconjunto dos valores de software_redirect_uris fornecidos no software_statement;
      17. -
      18. -

        deve exigir e validar que todos os mecanismos de autenticação de cliente cumpram os requisitos definidos nas RFC7591 e RFC7592, através da validação do registration_access_token e, como conexão segura, da cadeia de certificados confiáveis ICP-Brasil.

        +
      19. deve exigir e validar que todos os mecanismos de autenticação de cliente cumpram os requisitos definidos nas RFC7591 e RFC7592, através da validação do registration_access_token e, como conexão segura, da cadeia de certificados confiáveis ICP-Brasil.
      20. -
      21. -

        removido;

        +
      22. + removido;
      23. -
      24. -

        deve validar se os escopos solicitados são adequados para as permissões regulatórias autorizadas da instituição e contidas no _software_statement. A relação de permissões regulatórias e os escopos correspondentes está descrita nas seções a seguir.

        +
      25. deve validar se os escopos solicitados são adequados para as permissões regulatórias autorizadas da instituição e contidas no _software_statement. A relação de permissões regulatórias e os escopos correspondentes está descrita nas seções a seguir.
      26. -
      27. -

        deve, sempre que possível, validar os metadados declarados pelo cliente em relação aos metadados fornecidos no software_statement, adotando os valores presentes no SSA com precedência.

        +
      28. deve, sempre que possível, validar os metadados declarados pelo cliente em relação aos metadados fornecidos no software_statement, adotando os valores presentes no SSA com precedência.
      29. -
      30. -

        deve aceitar todos os nomes x.500 AttributeType definidas no Distinguished Name dos Perfis de Certificado x.509 definidos em Open Banking Brasil x.509 Certificate Standards;

        +
      31. deve aceitar todos os nomes x.500 AttributeType definidas no Distinguished Name dos Perfis de Certificado x.509 definidos em Open Banking Brasil x.509 Certificate Standards;
      32. -
      33. -

        se for compatível com o mecanismo de autenticação do cliente tls_client_auth, conforme definido em RFC8705, somente deve aceitar tls_client_auth_subject_dn como uma indicação do valor do atributo subject do certificado, conforme definido na cláusula 2.1.2 RFC8705;

        +
      34. se for compatível com o mecanismo de autenticação do cliente tls_client_auth, conforme definido em RFC8705, somente deve aceitar tls_client_auth_subject_dn como uma indicação do valor do atributo subject do certificado, conforme definido na cláusula 2.1.2 RFC8705;
      35. -
      36. -

        Os valores dos campos UID e OU do certificado devem coincidir com os enviados no SSA. O campo OU deve conter o valor do campo org_id do SSA e campo UID deve conter o valor do campo software_id do SSA.

        +
      37. Os valores dos campos UID e OU do certificado devem coincidir com os enviados no SSA. O campo OU deve conter o valor do campo org_id do SSA e campo UID deve conter o valor do campo software_id do SSA.
      38. -
      +

    Estas disposições aplicam-se igualmente ao processamento de pedidos RFC7591, RFC7592 e OpenID Registration

    @@ -1465,17 +1555,14 @@

    7.1.1. Aplicando Server Defaults

    Quando as propriedades de uma solicitação DCR não estão incluídas e não são obrigatórias na especificação, o Authorization Server deve aplicar os padrões do cliente da seguinte maneira:

    -
      -
    1. -

      deve selecionar e aplicar o algoritmo de criptografia e a escolha da cifra a partir dos conjuntos mais recomendados de cifra da IANA que são suportados pelo Servidor de Autorização;

      +
        +
      1. deve selecionar e aplicar o algoritmo de criptografia e a escolha da cifra a partir dos conjuntos mais recomendados de cifra da IANA que são suportados pelo Servidor de Autorização;
      2. -
      3. -

        deve preencher defaults a partir de valores da afirmação de software_statement, sempre que possível;

        +
      4. deve preencher defaults a partir de valores da afirmação de software_statement, sempre que possível;
      5. -
      6. -

        deve conceder ao cliente permissão para o conjunto completo de escopos potenciais com base nas permissões regulatórias de softwares incluídas no software_statement;

        +
      7. deve conceder ao cliente permissão para o conjunto completo de escopos potenciais com base nas permissões regulatórias de softwares incluídas no software_statement;
      8. -
      +
    @@ -1487,17 +1574,14 @@

    Para resolver essa ambiguidade, o Servidor de Autorização deve aceitar exclusivamente os AttributeType (descritores) definidas no último parágrafo da cláusula 3 RFC4514 em formato string,  também deve aceitar em formato OID, com seus valores em ASN.1, todos os AttributeTypes definidos no Distinguished Name Open Banking Brasil x.509 Certificate Standards ou adicionados pela Autoridade Certificadora.

    Em caso de não atendimento destes requisitos o Servidor de Autorização deverá rejeitar o registro.

    Segue na tabela abaixo como deve ser feita a decodificação:

    -
      -
    • -

      Obtenha na ordem reversa os atributos do certificado

      +
        +
      • Obtenha na ordem reversa os atributos do certificado
      • -
      • -

        Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',')

        +
      • Concatene cada RDN (RelativeDistinguishedName) com uma virgula (',')
      • -
      • -

        Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) com o valor dos seus atribudos em "printable string", ou seja legível para humanos + os OIDs dos atributos definidos nesta especificação para uso no OBB (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) com o valor dos seus atributos em formato ASN.1"

        +
      • Use as strings da RFC (CN, L, ST, O, OU, C, Street, DC, UID) com o valor dos seus atribudos em "printable string", ou seja legível para humanos + os OIDs dos atributos definidos nesta especificação para uso no OBB (businessCategory=OID 2.5.4.15,jurisdictionCountryName=OID: 1.3.6.1.4.1.311.60.2.1.3, serialNumber=2.5.4.5) com o valor dos seus atributos em formato ASN.1"
      • -
      +

    Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas:

    @@ -1557,7 +1641,7 @@

    - + @@ -1574,6 +1658,7 @@

    Table 1
    PAGTO Instituição prestadora de serviço de iniciação de pagamentos (PISP)openid payments openid payments Phase 3
    +

    É necessário validar as roles ativas no software_statement da aplicação. Na validação dessa informação deve ser utilizado o campo _software_statement_roles, e deve ser verificado se as roles listadas estão ativas.

    @@ -1581,8 +1666,7 @@

    7.3. Registro do Cliente

    -

    No processo de registro do cliente, utilizando-se o método de autenticação tls_client_auth, o cliente deve encaminhar o campo tls_client_auth_subject_dn com os AttibuteTypes (Descritores) em formato definido no item 7.1.2.

    -

    Em caso de não aderencia a este padrão o registro será rejeitado.

    +

    No processo de registro do cliente, utilizando-se o método de autenticação tls_client_auth, o cliente deve encaminhar o campo _tls_client_auth_subject_dn_ com os AttibuteTypes(Descritores) em formato definido no item 7.1.2. Em caso de não aderencia a este padrão o registro será rejeitado.

    @@ -1599,7 +1683,7 @@

    8.1. Atributos da Declaração de Software (Claims)

    O exemplo a seguir contém todos os atributos atualmente incluídos em um software_statement:

    -
    +
    {
       "software_mode": "Live",
       "software_redirect_uris": [
    @@ -1685,15 +1769,136 @@ 

    9. Processamento de solicitação de registro de cliente dinâmico

    -

    Dynamic Client Registration Request Processing

    +
    +
    + + Dynamic Client Registration + + + Dynamic Client Registration + + + + + + + + TPP + + TPP + + DirectoryAS + + DirectoryAS + + DirectoryAPI + + DirectoryAPI + + DirectoryJWKS + + DirectoryJWKS + + BankAS + + BankAS + + ICPBrasil + + ICPBrasil + + + OAuth 2.0 tls_client_auth + + + Client Credentials Grant + Scope directory:software + + + + + Validate Certificate + + + Check Revocation Status + + + Certificate OK + + + Access Token + + + Retrieve Authorisation Servers + Access Token + + + Authorisation Servers + + + Retrieve OpenID Configuration + + + JSON OpenID Discovery Clause 4.2 + + + + + Extract Desired MetaData + + + Retrieve SSA + + + SSA JWT + + + Post RFC7591 with SSA JWT as software_statement + + + Check Revocation Status + + + Certificate OK + + + Retrieve Key Set + + + Return Key Set + + + + + Validate SSA in RFC 7591 Request + + + + + Validate RFC7591 Request + + + Request must be made to token endpoint + secured with mutual tls. + + + Return RFC7591 Client Configuration + RFC7592 Management Token + + + + + Save Management Token + + +
    +
    Figure 1

    9.1. Enviar uma solicitação com uma declaração de software

    -

    Este exemplo inclui vários campos opcionais, alguns dos quais podem não ser aplicáveis a algumas implantações. Para um guia completo dos atributos e sua obrigatoriedade, consultar o Swagger DCR --link aqui--. +

    Este exemplo inclui vários campos opcionais, alguns dos quais podem não ser aplicáveis a algumas implantações. Para um guia completo dos atributos e sua obrigatoriedade, consultar o Swagger DCR OBB-DCR/DCM-Swagger. A quebra de linha dentro dos valores são apenas para fins de exibição.

    -
    +
    POST /reg HTTP/1.1
     Host: auth.raidiam.com
     Content-Type: application/json
    @@ -1760,20 +1965,16 @@ 

    9.3.1. Registro de cliente - POST /register

    -
      -
    1. -

      validar que o certificado apresentado pela aplicação cliente é subordinado às cadeias do ICP-Brasil definidas no Padrão de Certificados do Open Banking Brasil;

      +
        +
      1. validar que o certificado apresentado pela aplicação cliente é subordinado às cadeias do ICP-Brasil definidas no Padrão de Certificados do Open Banking Brasil;
      2. -
      3. -

        assegurar que a assinatura do software_statement apresentado pela aplicação cliente durante o registro tenha sido feita pelo Diretório de Participantes através das chaves públicas descritas na seção anterior;

        +
      4. assegurar que a assinatura do software_statement apresentado pela aplicação cliente durante o registro tenha sido feita pelo Diretório de Participantes através das chaves públicas descritas na seção anterior;
      5. -
      6. -

        assegurar que o software_statement apresentado pela aplicação cliente durante o registro corresponda à mesma instituição do certificado de cliente apresentado, validando-o através dos atributos que trazem organization_id no certificado X.509.

        +
      7. assegurar que o software_statement apresentado pela aplicação cliente durante o registro corresponda à mesma instituição do certificado de cliente apresentado, validando-o através dos atributos que trazem organization_id no certificado X.509.
      8. -
      9. -

        emitir, na resposta do registro, um registration_access_token para ser usado como token de autenticação nas operações de manutenção da aplicação cliente registrada, seguindo as especificações descritas na RFC7592.

        +
      10. emitir, na resposta do registro, um registration_access_token para ser usado como token de autenticação nas operações de manutenção da aplicação cliente registrada, seguindo as especificações descritas na RFC7592.
      11. -
      +
    @@ -1781,14 +1982,12 @@

    9.3.2. Manutenção de cliente - GET /register - PUT /register - DELETE /register

    -
      -
    1. -

      validar que o certificado apresentado pela aplicação cliente é subordinado às cadeias do ICP-Brasil definidas no Padrão de Certificados do Open Banking Brasil;

      +
        +
      1. validar que o certificado apresentado pela aplicação cliente é subordinado às cadeias do ICP-Brasil definidas no Padrão de Certificados do Open Banking Brasil;
      2. -
      3. -

        validar a presença e a correspondência do header Bearer Authorization contendo o valor do atributo registration_access_token retornado durante o registro do cliente correspondente.

        +
      4. validar a presença e a correspondência do header Bearer Authorization contendo o valor do atributo registration_access_token retornado durante o registro do cliente correspondente.
      5. -
      +

    Observação: A RFC7592 prevê a possibilidade de rotação do registration_access_token emitido pelo Servidor de Autorização a cada uso, tornando-o um token de uso único. As instituições devem considerar esse aspecto no registro de suas aplicações cliente para receber e atualizar o registration_access_token pelo novo valor recebido nas chamadas de manutenção de cliente.

    @@ -1803,69 +2002,56 @@

    Agradecemos a todos que estabeleceram as bases para o compartilhamento seguro de dados por meio da formação do Grupo de Trabalho OpenID Foundation FAPI, o GT de Segurança do Open Banking Brasil e aos pioneiros que ficarão em seus ombros.

    As seguintes pessoas contribuíram para este documento:

    -
      -
    • -

      Ralph Bragg (Raidiam)

      +
        +
      • Alexandre Daniel Dalabrida (Cooperativa Central Ailos) +
      • +
      • Alexandre Siqueira (Mercado Pago)
      • -
      • -

        Alexandre Siqueira (Mercado Pago)

        +
      • André Borges (Banco Fibra)
      • -
      • -

        Bernardo Vale (Banco Inter)

        +
      • Bernardo Vale (Banco Inter)
      • -
      • -

        André Borges (Banco Fibra)

        +
      • Danilo Sasaki (Banco Itaú)
      • -
      • -

        Danilo Sasaki (Banco Itaú)

        +
      • João Rodolfo Vieira da Silva (Banco Itaú)
      • -
      • -

        João Rodolfo Vieira da Silva (Banco Itaú)

        +
      • Michelle Bandarra (Chicago)
      • -
      • -

        Michelle Bandarra (Chicago)

        +
      • Nic Marcondes (Quanto)
      • -
      +
    • Rafael Gonzalez Hashimoto (Banco C6) +
    • +
    • Ralph Bragg (Raidiam) +
    • +
    -
    +

    -Appendix A. Avisos +Appendix A. Avisos

    -

    Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil

    -

    A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB.

    -

    A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação.

    +

    Copyright (c) 2022 Estrutura Inicial do Open Banking Brasil

    +

    A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB.

    +

    A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação.

    -
    -

    -A.1. Apêndice A. Exemplo de afirmação de declaração de software -

    -
    +
    +

    +A.1. Apêndice A. Exemplo de afirmação de declaração de software +

    +
    eyJraWQiOiJzaWduZXIiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJzb2Z0d2FyZV9tb2RlIjoiTGl2ZSIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvY2IiXSwic29mdHdhcmVfc3RhdGVtZW50X3JvbGVzIjpbeyJyb2xlIjoiREFET1MiLCJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsInN0YXR1cyI6IkFjdGl2ZSJ9LHsicm9sZSI6IlBBR1RPIiwiYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJzdGF0dXMiOiJBY3RpdmUifV0sInNvZnR3YXJlX2NsaWVudF9uYW1lIjoiUmFpZGlhbSBBY2NvdW50aW5nIiwib3JnX3N0YXR1cyI6IkFjdGl2ZSIsInNvZnR3YXJlX2NsaWVudF9pZCI6IkNraTFFYnZqd3loUEIxMk5HTGx6MiIsImlzcyI6Ik9wZW4gQmFua2luZyBPcGVuIEJhbmtpbmcgQnJhc2lsIHByb2QgU1NBIGlzc3VlciIsInNvZnR3YXJlX3Rvc191cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nXC90b3MuaHRtbCIsInNvZnR3YXJlX2NsaWVudF9kZXNjcmlwdGlvbiI6IlJhaWRpYW0gQWNjb3VudGluZyBsZXZlcmFnZSBjdXR0aW5nIGVkZ2Ugb3BlbiBiYW5raW5nIGFjY2VzcyB0byBicmluZyB5b3UgcmVhbCB0aW1lIHVwIHRvIGRhdGUgdmlld3Mgb2YgeW91ciBmaW5hbmNlcyIsInNvZnR3YXJlX2p3a3NfZW5kcG9pbnQiOiJodHRwczpcL1wva2V5c3RvcmUuZGlyZWN0b3J5Lm9wZW5iYW5raW5nYnJhc2lsLm9yZy5iclwvYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkXC8yNTU1NmQ1YS1iOWRkLTRlMjctYWExYS1jY2U3MzJmZTc0ZGVcL2FwcGxpY2F0aW9uLmp3a3MiLCJzb2Z0d2FyZV9wb2xpY3lfdXJpIjoiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvcG9saWN5Lmh0bWwiLCJzb2Z0d2FyZV9pZCI6IjI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZSIsInNvZnR3YXJlX2NsaWVudF91cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nLmh0bWwiLCJzb2Z0d2FyZV9qd2tzX2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvYXBwbGljYXRpb24uandrcyIsInNvZnR3YXJlX2p3a3NfdHJhbnNwb3J0X2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9qd2tzX3RyYW5zcG9ydF9lbmRwb2ludCI6Imh0dHBzOlwvXC9rZXlzdG9yZS5kaXJlY3Rvcnkub3BlbmJhbmtpbmdicmFzaWwub3JnLmJyXC9iOTYxYzRlYi01MDlkLTRlZGYtYWZlYi0zNTY0MmIzODE4NWRcLzI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9sb2dvX3VyaSI6Imh0dHBzOlwvXC93d3cucmFpZGlhbS5jb21cL2FjY291bnRpbmdcL2xvZ28ucG5nIiwib3JnX2lkIjoiYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkIiwic29mdHdhcmVfZW52aXJvbm1lbnQiOiJwcm9kdWN0aW9uIiwic29mdHdhcmVfdmVyc2lvbiI6MS4xMCwic29mdHdhcmVfcm9sZXMiOlsiREFET1MiLCJQQUdUTyJdLCJvcmdfbmFtZSI6Ik9wZW4gQmFua2luZyBCcmFzaWwiLCJpYXQiOjE2MTgzMzYyNjIsIm9yZ2FuaXNhdGlvbl9jb21wZXRlbnRfYXV0aG9yaXR5X2NsYWltcyI6W3siYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJhdXRob3Jpc2F0aW9ucyI6W10sInJlZ2lzdHJhdGlvbl9pZCI6IjEzMzUzMjM2LU9CQi1DT05UQSIsImF1dGhvcml0eV9pZCI6IjY4N2ExYzk0LWIzNjAtNGUwNC05NTg5LTBmYTVjYjE2NDUxYiIsImF1dGhvcmlzYXRpb25fcm9sZSI6IkNPTlRBIiwiYXV0aG9yaXR5X2NvZGUiOiJCQ0IiLCJzdGF0dXMiOiJBY3RpdmUifSx7ImF1dGhvcmlzYXRpb25fZG9tYWluIjoiT3BlbiBCYW5raW5nIiwiYXV0aG9yaXNhdGlvbnMiOltdLCJyZWdpc3RyYXRpb25faWQiOiIxMzM1MzIzNi1PQkItREFET1MiLCJhdXRob3JpdHlfaWQiOiI2ODdhMWM5NC1iMzYwLTRlMDQtOTU4OS0wZmE1Y2IxNjQ1MWIiLCJhdXRob3Jpc2F0aW9uX3JvbGUiOiJEQURPUyIsImF1dGhvcml0eV9jb2RlIjoiQkNCIiwic3RhdHVzIjoiQWN0aXZlIn0seyJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsImF1dGhvcmlzYXRpb25zIjpbXSwicmVnaXN0cmF0aW9uX2lkIjoiMTMzNTMyMzYtT0JCLVBBR1RPIiwiYXV0aG9yaXR5X2lkIjoiNjg3YTFjOTQtYjM2MC00ZTA0LTk1ODktMGZhNWNiMTY0NTFiIiwiYXV0aG9yaXNhdGlvbl9yb2xlIjoiUEFHVE8iLCJhdXRob3JpdHlfY29kZSI6IkJDQiIsInN0YXR1cyI6IkFjdGl2ZSJ9XX0.W6hUAYhjT6I61rxEIVMKYKre93LTbRdzKnk9dJvUdzVgAz5B9KxZNutf27oO3k0hrjYVWBdWq23o_e4Y_AaKdpS9-rtU84JiHtmqV0wcFYIM8nqcUVWqQ-Ux6Nq9L2G-s2YNd3PcJ1e3yGg9h8553Gr7iJusKEgApzXUpkM2rBELQuumktUE_JBiuIkXmWxoRnO1cW-Osbk3MT3bxG43SPcxii07Q5S8qXI6PjCPA3fYlnaUAygwZM3O0oa7jqmSr7d9UsHuDMJfYhIKdq2wyQQKORCN-D2UopmMX-lHMvAVkkrAO08T0-7odjr4PJk-PrwuoCxeAfa7440ZDOrlmQ
    -
    +
    -
    -

    -Authors' Addresses +
    +

    +Author's Address

    -
    -
    Ralph Bragg
    -
    Raidiam
    - - -
    OBBIS GT Security
    Open Banking Brasil Initial Structure
    diff --git a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md index 5d82ba8..f4afbb4 100644 --- a/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md +++ b/open-banking-brasil-dynamic-client-registration-1_ID2-ptbr.md @@ -17,16 +17,6 @@ status = "standard" value = "open-banking-brasil-dynamic-client-registration-1_ID2-ptbr" - [[author]] - initials = "R." - surname = "Bragg" - fullname = "Ralph Bragg" - organization = "Raidiam" - abbrev = "Raidiam" - [author.address] - email = "ralph.bragg@raidiam.com" - uri = "https://www.raidiam.com/" - [[author]] initials = "GT" surname = "Security" @@ -160,23 +150,15 @@ Para efeitos deste documento, aplicam-se os termos definidos em [RFC6749], [RFC6 # Símbolos e Termos abreviados {#Abreviations} -**SSA** – Software Statement Assertion (Afirmação de Declaração de Software) - -**SS** – Software Statement (Declaração de Software) - -**DCR** – Dynamic Client Registration (Registro de Cliente Dinâmico) - -**API** – Application Programming Interface (Interface de Programação da Aplicação) - -**FAPI** - Financial-grade API - -**HTTP** – Hyper Text Transfer Protocol - -**OIDF** - OpenID Foundation - -**REST** – Representational State Transfer - -**TLS** – Transport Layer Security +* **API** – Application Programming Interface (Interface de Programação da Aplicação) +* **DCR** – Dynamic Client Registration (Registro de Cliente Dinâmico) +* **FAPI** - Financial-grade API +* **HTTP** – Hyper Text Transfer Protocol +* **OIDF** - OpenID Foundation +* **REST** – Representational State Transfer +* **SS** – Software Statement (Declaração de Software) +* **SSA** – Software Statement Assertion (Afirmação de Declaração de Software) +* **TLS** – Transport Layer Security # Introdução {#Intro} @@ -267,12 +249,12 @@ Segue na tabela abaixo como deve ser feita a decodificação: Seguem abaixo exemplos para os atributos obrigatórios da CAs atualmente ativas: -| subject_dn | Issuer | -| --- | --- | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | -| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | -| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| subject_dn | Issuer | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, 2.5.4.5=#130d31333335333233363030313839, CN= mycn.bank.gov.br,OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L= BRASILIA, ST=DF, C=BR | issuer=CN=Open Banking SANDBOX Issuing CA - G1,OU=Open Banking,O=Open Banking Brasil,C=BR | +| UID=67c57882-043b-11ec-9a03-0242ac130003, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, CN=mycn.bank.gov.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, O=My Public Bank, L=BRASILIA, ST=DF, C=BR | issuer=CN=Autoridade Certificadora do SERPRO SSLv1,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e, UID=67c57882-043b-11ec-9a03-0242ac130003, CN=openbanking.mybank.com.br, 2.5.4.5=#130d31333335333233363030313839, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Goiania, ST=GO, O=MyBank SA, C=BR | issuer=CN=AC SOLUTI SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | +| CN=mycn.bank.com.br, UID=67c57882-043b-11ec-9a03-0242ac130003, OU=497e1ffe-b2a2-4a4e-8ef0-70633fd11b59, L=Sao Paulo, ST=SP, O=MyBank SA, C=BR,2.5.4.5=#130d31333335333233363030313839, 1.3.6.1.4.1.311.60.2.1.3=#13024252, 2.5.4.15=#131450726976617465204f7267616e697a6174696f6e | issuer=CN=AC SERASA SSL EV,OU=Autoridade Certificadora Raiz Brasileira v10,O=ICP-Brasil,C=BR | ## Funções regulatórias para mapeamentos OpenID e OAuth 2.0 {#Regs} @@ -281,12 +263,12 @@ Para participar do ecossistema do Open Banking, as instituições credenciadas d A tabela a seguir descreve as funções regulatórias do Open Banking e o mapeamento de escopos do OAuth 2.0 relacionado. Se os escopos forem omitidos durante o processo de DCR, o Servidor de Autorização deve conceder o conjunto completo de escopos potenciais com base nas funções regulatórias registradas para o banco, conforme descrito na seção Server Defaults. -| Papel Regulador | Descrição | Escopos Permitidos | Fase-alvo | -| --- | --- | --- | --- | -| DADOS | Instituição transmissora / receptora de dados (AISP) | openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources | Phase 2 | -| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments | Phase 3 | -| CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | -| CCORR | Correspondente de crédito | openid | Phase 3* | +| Papel Regulador | Descrição | Escopos Permitidos | Fase-alvo | +|-----------------|---------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|-----------| +| DADOS | Instituição transmissora / receptora de dados (AISP) | openid accounts credit-cards-accounts consents customers invoice-financings financings loans unarranged-accounts-overdraft resources | Phase 2 | +| PAGTO | Instituição prestadora de serviço de iniciação de pagamentos (PISP) | openid payments | Phase 3 | +| CONTA | Instituição detentora de conta (ASPSP) | openid | Phase 3 | +| CCORR | Correspondente de crédito | openid | Phase 3* | É necessário validar as roles ativas no _software\_statement_ da aplicação. Na validação dessa informação deve ser utilizado o campo _software\_statement\_roles, e deve ser verificado se as roles listadas estão ativas. @@ -384,7 +366,7 @@ O exemplo a seguir contém todos os atributos atualmente incluídos em um _softw # Processamento de solicitação de registro de cliente dinâmico {#dcr} !--- -![Dynamic Client Registration](images/dynamic-client-registration.png) +![Dynamic Client Registration](images/dynamic-client-registration.svg) !--- ## Enviar uma solicitação com uma declaração de software {#exampleDcr} @@ -471,19 +453,22 @@ Agradecemos a todos que estabeleceram as bases para o compartilhamento seguro de As seguintes pessoas contribuíram para este documento: -* Ralph Bragg (Raidiam) +* Alexandre Daniel Dalabrida (Cooperativa Central Ailos) * Alexandre Siqueira (Mercado Pago) -* Bernardo Vale (Banco Inter) * André Borges (Banco Fibra) +* Bernardo Vale (Banco Inter) * Danilo Sasaki (Banco Itaú) * João Rodolfo Vieira da Silva (Banco Itaú) * Michelle Bandarra (Chicago) +* Nic Marcondes (Quanto) +* Rafael Gonzalez Hashimoto (Banco C6) +* Ralph Bragg (Raidiam) {backmatter} # Avisos {#Notice} -Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil +Copyright (c) 2022 Estrutura Inicial do Open Banking Brasil A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB. From 7f15fde66a4cc75d44c13499f384d0b1c6682e32 Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 17 Feb 2022 21:59:08 -0300 Subject: [PATCH 54/59] chore(md): Fix and export open-banking-brasil-financial-api-1_ID3.md --- open-banking-brasil-financial-api-1_ID3.html | 774 ++++++++++--------- open-banking-brasil-financial-api-1_ID3.md | 46 +- 2 files changed, 429 insertions(+), 391 deletions(-) diff --git a/open-banking-brasil-financial-api-1_ID3.html b/open-banking-brasil-financial-api-1_ID3.html index 2f2971c..99b3a46 100644 --- a/open-banking-brasil-financial-api-1_ID3.html +++ b/open-banking-brasil-financial-api-1_ID3.html @@ -5,12 +5,29 @@ Open Banking Brasil Financial-grade API Security Profile 1.0 Implementers Draft 3 - - + + @@ -1068,10 +1182,10 @@ OBB-FAPI-1-ID3 -September 2021 +February 2022 -Bragg & Security +Security Standards Track [Page] @@ -1081,20 +1195,8 @@
    Workgroup:
    Open Banking Brasil GT Security
    -
    Internet-Draft:
    -
    open-banking-brasil-financial-api-1_ID3
    -
    Published:
    -
    - -
    -
    Intended Status:
    -
    Standards Track
    -
    Authors:
    +
    Author:
    -
    -
    R. Bragg
    -
    Raidiam
    -
    GT. Security
    OBBIS
    @@ -1110,14 +1212,13 @@

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

    The Open Banking Brasil Initial Structure is responsible for creating standards and specifications necessary to meet the requirements and obligations of the Brasil Open Banking Legislation as originally outlined by the Brasil Central Bank. There is a possibility that some of the elements of this document may be the subject to patent rights. OBBIS shall not be held responsible for identifying any or all such patent rights.

    Open Banking Brasil Financial-grade API Security Profile 1.0 consists of the following parts:

    -

    These parts are intended to be used with RFC6749, RFC6750, RFC7636, OIDC, FAPI-1-Baseline and FAPI-1-Advanced

    @@ -1144,103 +1245,103 @@

    Table of Contents

    -

    @@ -1250,17 +1351,14 @@

    1. Scope

    This document specifies the method of

    -
      -
    • -

      applications to obtain the OAuth tokens in an appropriately secure manner for higher risk access to data in a manner that meets the requirements of Open Banking Brasil;

      +
        +
      • applications to obtain the OAuth tokens in an appropriately secure manner for higher risk access to data in a manner that meets the requirements of Open Banking Brasil;
      • -
      • -

        applications to use OpenID Connect to identify the customer; and

        +
      • applications to use OpenID Connect to identify the customer; and
      • -
      • -

        applications to use OpenID Connect to assert identity of the customer;

        +
      • applications to use OpenID Connect to assert identity of the customer;
      • -
      +

    This document is applicable to all participants engaging in Open Banking in Brasil.

    @@ -1293,7 +1391,7 @@

    FAPI-2-Baseline - Financial-grade API Security Profile 2.0 - Part 1: Baseline

    FAPI-2-Advanced - Financial-grade API Security Profile 2.0 - Part 2: Advanced

    LIWP - OIDF FAPI WG Lodging Intent Working Paper

    -

    OBB-FAPI-DCR - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0

    +

    OBB-FAPI-DCR - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0

    RFC4648 - The Base16, Base32, and Base64 Data Encodings

    @@ -1310,16 +1408,38 @@

    4. Symbols and Abbreviated terms

    -

    API - Application Programming Interface

    -

    OBBIS - Open Banking Brasil Initial Structure

    -

    CSRF - Cross Site Request Forgery

    -

    DCR - Dynamic Client Registration

    -

    FAPI - Financial-grade API

    -

    HTTP - Hyper Text Transfer Protocol

    -

    OIDF - OpenID Foundation

    -

    REST - Representational State Transfer

    -

    TLS - Transport Layer Security

    -

    MFA - Multi-Factor Authentication

    +
      +
    • + API - Application Programming Interface +
    • +
    • + CSRF - Cross Site Request Forgery +
    • +
    • + DCR - Dynamic Client Registration +
    • +
    • + FAPI - Financial-grade API +
    • +
    • + HTTP - Hyper Text Transfer Protocol +
    • +
    • + MFA - Multi-Factor Authentication +
    • +
    • + OBBIS - Open Banking Brasil Initial Structure +
    • +
    • + OIDF - OpenID Foundation +
    • +
    • + REST - Representational State Transfer +
    • +
    • + TLS - Transport Layer Security +
    • +
    @@ -1327,27 +1447,23 @@

    5. Brasil Open Banking Security Profile

    -
    +

    5.1. Introduction

    The Brasil Open Banking Security profile specifies additional security and identity requirements for high risk API resources protected by the OAuth 2.0 Authorization Framework that consists of RFC6749, RFC6750, RFC7636, FAPI-1-Baseline, FAPI-1-Advanced and other specifications.

    This profile describes security and features provisions for a server and client that are necessary for the Brasil Open Banking Programme by defining the measures to mitigate or address:

    -
      -
    • -

      attacks that address privacy considerations identified in clause 9.1 of [FAPI1 Advanced]

      +
        +
      • attacks that address privacy considerations identified in clause 9.1 of [FAPI1 Advanced]
      • -
      • -

        the requirement to support fine-grained access to resources for data minimisation purposes

        +
      • the requirement to support fine-grained access to resources for data minimisation purposes
      • -
      • -

        the requirement to convey the Authentication Context Request that was performed by an OpenID Provider to a Client to enable a appropriate client management of customer conduct risk.

        +
      • the requirement to convey the Authentication Context Request that was performed by an OpenID Provider to a Client to enable a appropriate client management of customer conduct risk.
      • -
      • -

        the requirement for clients to assert a pre-existing customer relationship by asserting a customer identity claim as part of the authorization flow.

        +
      • the requirement for clients to assert a pre-existing customer relationship by asserting a customer identity claim as part of the authorization flow.
      • -
      +
    @@ -1355,7 +1471,7 @@

    5.2. Open Banking Brasil security provisions

    -
    +

    5.2.1. Introduction @@ -1374,56 +1490,42 @@

    The Authorization Server shall support the provisions specified in clause 5.2.2 of Financial-grade API Security Profile 1.0 - Part 2: Advanced

    In addition, the Authorization Server

    -
      -
    1. -

      shall support a signed and encrypted JWE request object passed by value or shall require pushed authorization requests PAR;

      +
        +
      1. shall support a signed and encrypted JWE request object passed by value or shall require pushed authorization requests PAR; +
      2. +
      3. shall distribute discovery metadata (such as the authorization endpoint) via the metadata document as specified in OIDD and [RFC8414];
      4. -
      5. -

        shall distribute discovery metadata (such as the authorization endpoint) via the metadata document as specified in OIDD and [RFC8414]

        +
      6. shall support the claims parameter as defined in clause 5.5 OpenID Connect Core;
      7. -
      8. -

        shall support the claims parameter as defined in clause 5.5 OpenID Connect Core

        +
      9. shall support the oidc standard claim "cpf" as defined in clause 5.2.2.2 of this document;
      10. -
      11. -

        shall support the oidc standard claim "cpf" as defined in clause 5.2.2.2 of this document

        +
      12. shall support the oidc standard claim "cnpj" as defined in clause 5.2.2.3 of this document if providing access to resources where the resource owner is not a natural person;
      13. -
      14. -

        shall support the oidc standard claim "cnpj" as defined in clause 5.2.2.3 of this document if providing access to resources where the resource owner is not a natural person

        +
      15. shall support the acr "urn:brasil:openbanking:loa2" as defined in clause 5.2.2.4 of this document;
      16. -
      17. -

        shall support the acr "urn:brasil:openbanking:loa2" as defined in clause 5.2.2.4 of this document

        +
      18. should support the acr "urn:brasil:openbanking:loa3" as defined in clause 5.2.2.4 of this document;
      19. -
      20. -

        should support the acr "urn:brasil:openbanking:loa3" as defined in clause 5.2.2.4 of this document

        +
      21. shall implement the userinfo endpoint as defined in clause 5.3 OpenID Connect Core;
      22. -
      23. -

        shall implement the userinfo endpoint as defined in clause 5.3 OpenID Connect Core

        +
      24. shall support parameterized OAuth 2.0 resource scope consent as defined in clause 6.3.1 OIDF FAPI WG Lodging Intent Pattern;
      25. -
      26. -

        shall support parameterized OAuth 2.0 resource scope consent as defined in clause 6.3.1 OIDF FAPI WG Lodging Intent Pattern

        +
      27. may support Financial-grade API: Client Initiated Backchannel Authentication Profile;
      28. -
      29. -

        may support Financial-grade API: Client Initiated Backchannel Authentication Profile

        +
      30. (withdrawn);
      31. -
      32. -

        (withdrawn)

        +
      33. shall support refresh tokens;
      34. -
      35. -

        shall support refresh tokens

        +
      36. shall issue access tokens with an expiry no greater than 900 seconds and no less than 300 seconds;
      37. -
      38. -

        shall issue access tokens with an expiry no greater than 900 seconds and no less than 300 seconds

        +
      39. shall always include an acr claim in the id_token;
      40. -
      41. -

        shall always include an acr claim in the id_token

        +
      42. shall support the response_type value code id_token;
      43. -
      44. -

        shall support the response_type value code id_token

        +
      45. may support response_type value code in conjunction with the response_mode value jwt;
      46. -
      47. -

        may support response_type value code in conjunction with the response_mode value jwt

        +
      48. shall not allow refresh tokens rotation feature.
      49. -
      +
    @@ -1431,12 +1533,11 @@

    The Authorization Server shall support the provisions specified in clause 5.2.2.1 of Financial-grade API Security Profile 1.0 - Part 2: Advanced

    In addition, if the response_type value code id_token is used, the Authorization Server

    -
      -
    1. -

      should not return sensitive PII in the ID Token in the authorization response, but if it needs to, -then it shall encrypt the ID Token.

      +
        +
      1. should not return sensitive PII in the ID Token in the authorization response, but if it needs to, +then it shall encrypt the ID Token.
      2. -
      +
    @@ -1488,45 +1589,41 @@

    This profile defines "urn:brasil:openbanking:loa2" and "urn:brasil:openbanking:loa3" as new Authentication Context Request classes.

    -
      -
    • -

      LoA2: Authentication performed using single factor;

      +
        +
      • + LoA2: Authentication performed using single factor;
      • -
      • -

        LoA3: Authentication performed using multi factor (MFA)

        +
      • + LoA3: Authentication performed using multi factor (MFA)
      • -
      +

    The following rules are applicable to access control to Open Banking Brazil API's:

    -
      -
    • -

      In accordance to Art. 17 of Joint Resolution nº 01 - Open Banking Brasil, institutions must adopt procedures and controls for client authentication compatible with those applicable in their electronic service channels.

      +
        +
      • In accordance to Art. 17 of Joint Resolution nº 01 - Open Banking Brasil, institutions must adopt procedures and controls for client authentication compatible with those applicable in their electronic service channels.
      • -
      • +
      • So, in compliance with the regulation, it is suggested that:

        -
          -
        • -

          For Read-Only APIs (Phase 2): the Authorization Servers should adopt, at least, an authentication method compatible with LoA2; and

          +
            +
          • + For Read-Only APIs (Phase 2): the Authorization Servers should adopt, at least, an authentication method compatible with LoA2; and
          • -
          • -

            For Read-Write API's (subsequent phases): the Authorization Servers should adopt an authentication method compatible with LoA3 or higher.

            +
          • + For Read-Write API's (subsequent phases): the Authorization Servers should adopt an authentication method compatible with LoA3 or higher.
          • -
          +
      • -
      +

    In all cases, the adoption of a more rigorous authentication mechanism (LoA3 or higher) is at the discretion of the Bank (ASPSP), according to its risk assessment and in a manner compatible with the mechanisms usually used.

    Authentication factors clarification

    The authentication methods are:

    -
      -
    • -

      Something you know, such as password or phrase

      +
        +
      • Something you know, such as password or phrase
      • -
      • -

        Something you have, such as token or smartcard;

        +
      • Something you have, such as token or smartcard;
      • -
      • -

        Something you are, such as biometric validation.

        +
      • Something you are, such as biometric validation.
      • -
      +

    To performe a MFA authentication is necessary the end user to present at least two different methods as listed above. A unique method used more than once is not accepted as MFA.

    @@ -1540,32 +1637,26 @@

    A confidential client shall support the provisions specified in clause 5.2.3 of Financial-grade API Security Profile 1.0 - Part 2: Advanced,

    In addition, the confidential client

    -
      -
    1. -

      shall support encrypted request objects

      +
        +
      1. shall support encrypted request objects; +
      2. +
      3. shall support Pushed Authorisation Requests PAR;
      4. -
      5. -

        shall support Pushed Authorisation Requests PAR

        +
      6. shall use encrypted request objects if not using PAR;
      7. -
      8. -

        shall use encrypted request objects if not using PAR

        +
      9. shall support parameterized OAuth 2.0 resource scope consent as defined in clause 6.3.1 OIDF FAPI WG Lodging Intent Pattern;
      10. -
      11. -

        shall support parameterized OAuth 2.0 resource scope consent as defined in clause 6.3.1 OIDF FAPI WG Lodging Intent Pattern

        +
      12. shall support refresh tokens;
      13. -
      14. -

        shall support refresh tokens

        +
      15. shall not populate the acr claim with required values;
      16. -
      17. -

        shall not populate the acr claim with required values

        +
      18. shall require the acr claim as an essential claim;
      19. -
      20. -

        shall require the acr claim as an essential claim

        +
      21. shall support all authentication methods specified in clause 5.2.2-14 of Financial-grade API Security Profile 1.0 - Part 2: Advanced including diferent combinations of the methods to send requests (using PAR or not - item 11);
      22. -
      23. -

        shall support all authentication methods specified in clause 5.2.2-14 of Financial-grade API Security Profile 1.0 - Part 2: Advanced including diferent combinations of the methods to send requests (using PAR or not - item 11).

        +
      24. shall not allow refresh tokens rotation feature.
      25. -
      +

    @@ -1587,77 +1678,78 @@

    6.1. Message Content Signing Considerations (JWS)

      -
    1. +
    2. JWS standad defined in RFC7515 shall be adopted to ensure integrity and non-repudiation of information processed in sensitive API's (message sign requirement is indicated at API's documentation/swagger), which includes:

      -
        -
      • -

        Header (JSON Object Signing and Encryption - JOSE Header), which defines the algorithm used and includes information about the public key or certificate that can be used to validate the signature;

        +
          +
        • Header (JSON Object Signing and Encryption - JOSE Header), which defines the algorithm used and includes information about the public key or certificate that can be used to validate the signature;
        • -
        • -

          Payload (JWS Payload): content itself as detailed in the API specification;

          +
        • Payload (JWS Payload): content itself as detailed in the API specification;
        • -
        • -

          Digital signature (JWS Signature): digital signature, performed according to header parameters.

          +
        • Digital signature (JWS Signature): digital signature, performed according to header parameters.
        • -
        +
    3. -
    4. +
    5. Each of elements above must be encoded using the Base64url pattern RFC4648 and the elements must be concatenated with "." (JWS Compact Serialization method as defined in RFC7515).

    6. -
    7. +
    8. The payload of signed messages (request JWT and response JWT) shall include the following claims as defined at RFC7519:

      -
        -
      • -

        aud (in the JWT request): the Resource Provider (eg the institution holding the account) must validate if the value of the aud field matches the endpoint being triggered;

        +
          +
        • + aud (in the JWT request): the Resource Provider (eg the institution holding the account) must validate if the value of the aud field matches the endpoint being triggered;
        • -
        • -

          aud (in JWT response): the API client (eg initiating institution) shall validate if the value of the aud field matches its own organisationId listed in the directory;

          +
        • + aud (in JWT response): the API client (eg initiating institution) shall validate if the value of the aud field matches its own organisationId listed in the directory;
        • -
        • -

          iss (in the JWT request and in the JWT response): the receiver of the message shall validate if the value of the iss field matches the organisationId of the sender;

          +
        • + iss (in the JWT request and in the JWT response): the receiver of the message shall validate if the value of the iss field matches the organisationId of the sender;
        • -
        • -

          jti (in the JWT request and in the JWT response): the value of the jti field shall be filled with the UUID defined by the institution according to [RFC4122] version 4;

          +
        • + jti (in the JWT request and in the JWT response): the value of the jti field shall be filled with the UUID defined by the institution according to [RFC4122] version 4;
        • -
        • -

          iat (in the JWT request and in the JWT response): the iat field shall be filled with the message generation time and according to the standard established in RFC7519 to the NumericDate format.

          +
        • + iat (in the JWT request and in the JWT response): the iat field shall be filled with the message generation time and according to the standard established in RFC7519 to the NumericDate format.
        • -
        +
    9. -
    10. +
    11. The HTTP content-type of requests and responses with JWS messages shall be defined as: "application/jwt".

    12. -
    13. +
    14. The JOSE header must contain the following attributes:

      -
        -
      • -

        alg - shall be filled with the value PS256";

        +
          +
        • + alg - shall be filled with the value PS256";
        • -
        • -

          kid - shall be filled with the key identifier value used for the signature;

          +
        • + kid - shall be filled with the key identifier value used for the signature;
        • -
        • -

          typ - shall be filled with the value JWT.

          +
        • + typ - shall be filled with the value JWT.
        • -
        +
    15. -
    -
      -
    • -

      In case of error in signature validation by Resource Provider the API provider shall return HTTP error message with status code 400 and the ResponseError content shall include, in the code property, the content BAD_SIGNATURE.

      + +
        +
      • In case of error in signature validation by Resource Provider the API provider shall return HTTP error message with status code 400 and the ResponseError content shall include, in the code property, the content BAD_SIGNATURE.
      • -
      • -

        Errors in validating the signed messages received by the client application (eg payment initiator) must be logged and the Resource Provider (eg account holding institution) must be notified.

        +
      • Errors in validating the signed messages received by the client application (eg payment initiator) must be logged and the Resource Provider (eg account holding institution) must be notified.
      • -
      +
      -
    1. +
    2. The receiver shall validate the consistency of the JWS message's digital signature exclusively based on the information obtained from the directory, that is, based on the keys published in the institution's JWKS in the directory.

    3. -
    4. -

      Signatures must be performed using the digital signature certificate specified in the Open Banking Brazil Certificates Standard.

      +
    5. +

      Signatures must be performed using the digital signature certificate specified in the Open Banking Brazil Certificates Standard;

      +
    6. +
    7. +

      the iat claim must be numeric in Unix Time format GMT+0 with a tolerance of +/- 60 seconds;

      +
    8. +
    9. +

      the jti claim must be unique for a clientId within a time frame of 86,400 seconds (24h), and cannot be reused within this period. In case of reuse, the HTTP error code 403 shall be return.

    10. -
    +
    @@ -1666,22 +1758,20 @@

    6.2. Algorithm considerations

    For JWS, both clients and Authorization Servers

    -
      -
    1. -

      shall use PS256 algorithm;

      +
        +
      1. shall use PS256 algorithm;
      2. -
      +

    6.2.1. Encryption algorithm considerations

    For JWE, both clients and Authorization Servers

    -
      -
    1. -

      shall use RSA-OAEP with A256GCM

      +
        +
      1. shall use RSA-OAEP with A256GCM
      2. -
      +
    @@ -1690,14 +1780,14 @@

    6.2.2. Secure Use of Transport Layer Security considerations

    For TLS, Authorization Server endpoints and Resource Server endpoints used directly by the Client

    -
      -
    1. -

      shall support TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

      +
        +
      1. shall support TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
      2. -
      3. -

        shall support TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

        +
      4. shall support TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
      5. -
      +
    2. The "TLS Session Resumption" e "TLS Renegotiation" features shall be disabled +
    3. +
    @@ -1714,7 +1804,7 @@

    7.1. Authorisation Mechanism

    -
    +

    7.1.1. Introduction @@ -1728,29 +1818,23 @@

    This profile defines OAuth 2.0 dynamic scope "consent" as follows:

    -

    In addition:

    -
      -
    • -

      the Consent Resource Id must include url safe characters only;

      +
        +
      • the Consent Resource Id must include url safe characters only;
      • -
      • -

        the Consent Resource Id must be namespaced;

        +
      • the Consent Resource Id must be namespaced;
      • -
      • -

        the Consent Resource Id must have the properties of a nonce;

        +
      • the Consent Resource Id must have the properties of a nonce;
      • -
      +
    @@ -1304,7 +1398,7 @@

    FAPI-1-Advanced - Financial-grade API Security Profile 1.0 - Part 2: Advanced

    FAPI-2-Baseline - Financial-grade API Security Profile 2.0 - Part 1: Baseline

    LIWP - OIDF FAPI WG Lodging Intent Working Paper

    -

    OBB-FAPI-DCR - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0

    +

    OBB-FAPI-DCR - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0

    RFC4648 - The Base16, Base32, and Base64 Data Encodings

    @@ -1321,16 +1415,38 @@

    4. Símbolos e termos abreviados

    -

    API - Application Programming Interface (Interface de programação de aplicativo)

    -

    EIOBB - Estrutura Inicial do Open Banking Brasil

    -

    CSRF - Cross Site Request Forgery

    -

    DCR - Registro de cliente dinâmico

    -

    FAPI - Financial-grade API

    -

    HTTP - Protocolo de transferência de hipertexto

    -

    OIDF - OpenID Foundation

    -

    REST - Representational State Transfer (Transferência de Estado Representacional)

    -

    TLS - Transport Layer Security (Segurança da Camada de Transporte)

    -

    MFA - Multi-Factor Authentication (Autenticação por Múltiplos Fatores)

    +
      +
    • + API - Application Programming Interface (Interface de programação de aplicativo) +
    • +
    • + CSRF - Cross Site Request Forgery +
    • +
    • + DCR - Registro de cliente dinâmico +
    • +
    • + EIOBB - Estrutura Inicial do Open Banking Brasil +
    • +
    • + FAPI - Financial-grade API +
    • +
    • + HTTP - Protocolo de transferência de hipertexto +
    • +
    • + MFA - Multi-Factor Authentication (Autenticação por Múltiplos Fatores) +
    • +
    • + OIDF - OpenID Foundation +
    • +
    • + REST - Representational State Transfer (Transferência de Estado Representacional) +
    • +
    • + TLS - Transport Layer Security (Segurança da Camada de Transporte) +
    • +
    @@ -1345,20 +1461,16 @@

    O perfil de segurança do Open Banking Brasil especifica requisitos adicionais de segurança e de identificação para o acesso a API's com recursos críticos protegidas pelo OAuth 2.0 Authorization Framework, que consiste em RFC6749, RFC6750, RFC7636, FAPI-1-Baseline, FAPI-1-Advanced e outras especificações.

    Este perfil descreve as capacidades e os recursos de segurança que devem ser oferecidos por servidores e clientes que são necessários para o Programa do Open Banking Brasil, definindo as medidas para mitigar ou endereçar:

    -
      -
    • -

      ataques que abordam considerações de privacidade identificadas na cláusula 9.1 de [FAPI-1 Advanced].

      +
        +
      • ataques que abordam considerações de privacidade identificadas na cláusula 9.1 de [FAPI-1 Advanced].
      • -
      • -

        o requisito de concessão de acesso granular a recursos, com vistas à minimização de dados;

        +
      • o requisito de concessão de acesso granular a recursos, com vistas à minimização de dados;
      • -
      • -

        o requisito de informar sobre o contexto da autenticação do usuário (claim Authentication Context Request - acr) que foi realizada por um Provedor OpenID, com vistas a favorecer o adequado gerenciamento do risco decorrente do acesso do usuário;

        +
      • o requisito de informar sobre o contexto da autenticação do usuário (claim Authentication Context Request - acr) que foi realizada por um Provedor OpenID, com vistas a favorecer o adequado gerenciamento do risco decorrente do acesso do usuário;
      • -
      • -

        o requisito para que os clientes de API declarem um relacionamento prévio com o usuário, afirmando em uma claim de identificação do usuário como parte do fluxo de autorização.

        +
      • o requisito para que os clientes de API declarem um relacionamento prévio com o usuário, afirmando em uma claim de identificação do usuário como parte do fluxo de autorização.
      • -
      +
    @@ -1385,56 +1497,42 @@

    O Servidor de Autorização deve suportar as disposições especificadas na cláusula 5.2.2 de Financial-grade API Security Profile 1.0 - Parte 2: Advanced.

    Além disso, ele deve:

    -
      -
    1. -

      deve suportar Request Objects JWE assinados e criptografados passados por valor ou deve exigir requisições do tipo "pushed authorization requests" PAR

      +
        +
      1. deve suportar Request Objects JWE assinados e criptografados passados por valor ou deve exigir requisições do tipo "pushed authorization requests" PAR;
      2. -
      3. -

        deve publicar metadados de descoberta (incluindo a do endpoint de autorização) por meio do documento de metadado especificado em OIDD e [RFC8414] (".well-known")

        +
      4. deve publicar metadados de descoberta (incluindo a do endpoint de autorização) por meio do documento de metadado especificado em OIDD e [RFC8414] (".well-known");
      5. -
      6. -

        deve suportar os parâmetros claims como definido no item 5.5 do OpenID Connect Core

        +
      7. deve suportar os parâmetros claims como definido no item 5.5 do OpenID Connect Core;
      8. -
      9. -

        deve suportar o atributo claim padrão oidc "cpf" conforme definido no item 5.2.2.2 deste documento

        +
      10. deve suportar o atributo claim padrão oidc "cpf" conforme definido no item 5.2.2.2 deste documento;
      11. -
      12. -

        deve suportar o atributo claim padrão oidc "cnpj" conforme definido no item 5.2.2.3 deste documento, se a instituição for detentora de conta para pessoas jurídicas

        +
      13. deve suportar o atributo claim padrão oidc "cnpj" conforme definido no item 5.2.2.3 deste documento, se a instituição for detentora de conta para pessoas jurídicas;
      14. -
      15. -

        deve suportar o atributo acr "urn:brasil:openbanking:loa2" como definido no item 5.2.2.4 deste documento

        +
      16. deve suportar o atributo acr "urn:brasil:openbanking:loa2" como definido no item 5.2.2.4 deste documento;
      17. -
      18. -

        deveria suportar o atributo acr "urn:brasil:openbanking:loa3" como definido no item 5.2.2.4 deste documento

        +
      19. deveria suportar o atributo acr "urn:brasil:openbanking:loa3" como definido no item 5.2.2.4 deste documento;
      20. -
      21. -

        deve implementar o endpoint "userinfo" como definido no item 5.3 do OpenID Connect Core

        +
      22. deve implementar o endpoint "userinfo" como definido no item 5.3 do OpenID Connect Core;
      23. -
      24. -

        deve suportar o escopo parametrizável ("parameterized OAuth 2.0 resource scope") consent como definido no item 6.3.1 de OIDF FAPI WG Lodging Intent Pattern

        +
      25. deve suportar o escopo parametrizável ("parameterized OAuth 2.0 resource scope") consent como definido no item 6.3.1 de OIDF FAPI WG Lodging Intent Pattern;
      26. -
      27. -

        pode suportar Financial-grade API: Client Initiated Backchannel Authentication Profile

        +
      28. pode suportar Financial-grade API: Client Initiated Backchannel Authentication Profile;
      29. -
      30. -

        (requisito temporariamente retirado)

        +
      31. (requisito temporariamente retirado);
      32. -
      33. -

        deve suportar refresh tokens

        +
      34. deve suportar refresh tokens;
      35. -
      36. -

        deve emitir access tokens com o tempo de expiração entre 300 (mínimo) e 900 (máximo) segundos

        +
      37. deve emitir access tokens com o tempo de expiração entre 300 (mínimo) e 900 (máximo) segundos;
      38. -
      39. -

        deve sempre incluir a claim acr no id_token

        +
      40. deve sempre incluir a claim acr no id_token;
      41. -
      42. -

        deve suportar os valores code e id_token para o atributo response_type

        +
      43. deve suportar os valores code e id_token para o atributo response_type;
      44. -
      45. -

        pode suportar o valor code para o atributo response_typeem conjunto com o valor jwt para o atributo response_mode

        +
      46. pode suportar o valor code para o atributo response_typeem conjunto com o valor jwt para o atributo response_mode;
      47. -
      +
    2. não deve permitir o recurso de rotação de refresh tokens. +
    3. +
    @@ -1442,11 +1540,11 @@

    O Servidor de Autorização deve suportar as disposições especificadas na cláusula 5.2.2.1 de Financial-grade API Security Profile 1.0 - Parte 2: Advanced

    Além disso, se o valor response_type code id_token for usado, o servidor de autorização:

    -
      -
    1. -

      não deveria retornar Informação de Identificação Pessoal (PII) confidenciais no token de ID na resposta de autorização, mas se for necessário, então ele deve criptografar o token de ID.

      +
        +
      1. + não deveria retornar Informação de Identificação Pessoal (PII) confidenciais no token de ID na resposta de autorização, mas se for necessário, então ele deve criptografar o token de ID.
      2. -
      +
    @@ -1481,14 +1579,14 @@
    5.2.2.4. Solicitando o "urn:brasil:openbanking:loa2" ou "urn:brasil:openbanking:loa3" Solicitação de contexto de autenticação
    -
      -
    • -

      LoA2: mecanismo de autenticação com a adoção de um único fator

      +
        +
      • + LoA2: mecanismo de autenticação com a adoção de um único fator
      • -
      • -

        LoA3: mecanismo de autenticação com múltiplos fatores de autenticação

        +
      • + LoA3: mecanismo de autenticação com múltiplos fatores de autenticação
      • -
      +

    A seguinte orientação deve ser observada para o mecanismo de autenticação: * De acordo com o Art. 17 da Resolução Conjunta nº 01, as instituições devem adotar procedimentos e controles para autenticação de cliente compatíveis com os aplicáveis ao acesso a seus canais de atendimento eletrônicos. * Em observância à regulação em vigor, sugere-se que: @@ -1497,17 +1595,14 @@

    Em todos os casos, a adoção de mecanismo de autenticação mais rigoroso (LoA3 ou superior) fica a critério da instituição transmissora ou detentora de conta, de acordo com sua avaliação de riscos e de forma compatível com os mecanismos habitualmente utilizados.

    Esclarecimentos adicionais sobre fatores de autenticação

    São fatores de autenticação:

    -
      -
    • -

      Aquilo que você conhece, como uma senha ou frase secreta

      +
        +
      • Aquilo que você conhece, como uma senha ou frase secreta
      • -
      • -

        Aquilo que você tem, como um token, smartcard ou dispositivo

        +
      • Aquilo que você tem, como um token, smartcard ou dispositivo
      • -
      • -

        Aquilo que "você é", ou seja, autenticação condicionada a apresentação de uma característica física exclusivamente sua, como a validação por biometria

        +
      • Aquilo que "você é", ou seja, autenticação condicionada a apresentação de uma característica física exclusivamente sua, como a validação por biometria
      • -
      +

    Para realizar autenticação por múltiplos fatores (MFA) é necessário que o usuário apresente, ao menos, dois diferentes fatores dos listados acima. Um mesmo fator usado mais de uma vez - por exemplo, a apresentação de suas senhas que ele conhece - não pode ser aceito como MFA.

    @@ -1521,32 +1616,26 @@

    Um cliente confidencial deve apoiar as disposições especificadas na cláusula 5.2.3 de Financial-grade API Security Profile 1.0 - Part 2: Advanced,

    Além disso, o cliente confidencial

    -
      -
    1. -

      deve suportar objetos de solicitação encrypted

      +
        +
      1. deve suportar objetos de solicitação encrypted; +
      2. +
      3. deve suportar solicitações de autorização push (pushed authorization requests) PAR;
      4. -
      5. -

        deve suportar solicitações de autorização push (pushed authorization requests) PAR

        +
      6. deve usar objetos de solicitação encrypted se não usar PAR;
      7. -
      8. -

        deve usar objetos de solicitação encrypted se não usar PAR

        +
      9. deve suportar o escopo de recurso OAuth 2.0 parametrizado consent conforme definido na cláusula 6.3.1 OIDF FAPI WG Lodging Intent Pattern;
      10. -
      11. -

        deve suportar o escopo de recurso OAuth 2.0 parametrizado consent conforme definido na cláusula 6.3.1 OIDF FAPI WG Lodging Intent Pattern

        +
      12. deve suportar refresh tokens;
      13. -
      14. -

        deve suportar refresh tokens

        +
      15. não deve incluir um valor específico na claim acr;
      16. -
      17. -

        não deve incluir um valor específico na claim acr

        +
      18. deve definir a claim acrcomo essential;
      19. -
      20. -

        deve definir a claim acrcomo essential

        +
      21. deve suportar todos os métodos de autenticação especificados no item 14 da seção 5.2.2 da Financial-grade API Security Profile 1.0 - Part 2: Advanced incluindo as diferentes combinações de métodos de encaminhamento dos Requests Objects (usando ou não PAR - item 11);
      22. -
      23. -

        deve suportar todos os métodos de autenticação especificados no item 14 da seção 5.2.2 da Financial-grade API Security Profile 1.0 - Part 2: Advanced incluindo as diferentes combinações de métodos de encaminhamento dos Requests Objects (usando ou não PAR - item 11).

        +
      24. não deve permitir o recurso de rotação de refresh tokens.
      25. -
      +

    @@ -1565,88 +1654,88 @@

    6.1. Considerações sobre assinatura do conteúdo de mensagens (JWS)

      -
    1. +
    2. Para garantir a integridade e o não-repúdio das informações tramitadas em API's sensíveis e que indicam essa necessidade na sua documentação, deve ser adotado a estrutura no padrão JWS definida na RFC7515 e que inclui:

      -
        -
      • -

        Cabeçalho (JSON Object Signing and Encryption - JOSE Header), onde se define o algoritmo utilizado e inclui informações sobre a chave pública ou certificado que podem ser utilizadas para validar a assinatura;

        +
          +
        • Cabeçalho (JSON Object Signing and Encryption - JOSE Header), onde se define o algoritmo utilizado e inclui informações sobre a chave pública ou certificado que podem ser utilizadas para validar a assinatura;
        • -
        • -

          Payload (JWS Payload): conteúdo propriamente dito e detalhado na especificação da API;

          +
        • Payload (JWS Payload): conteúdo propriamente dito e detalhado na especificação da API;
        • -
        • -

          Assinatura digital (JWS Signature): assinatura digital, realizada conforme parâmetros do cabeçalho.

          +
        • Assinatura digital (JWS Signature): assinatura digital, realizada conforme parâmetros do cabeçalho.
        • -
        +
    3. -
    4. +
    5. Cada elemento acima deve ser codificado utilizando o padrão Base64url RFC4648 e, feito isso, os elementos devem ser concatenados com "." (método JWS Compact Serialization, conforme definido na RFC7515).

    6. -
    7. +
    8. O payload das mensagens (requisição JWT e resposta JWT) assinadas devem incluir as seguintes claims presentes na RFC7519:

      -
        -
      • -

        aud (na requisição JWT): o Provedor do Recurso (p. ex. a instituição detentora da conta) deverá validar se o valor do campo aud coincide com o endpoint sendo acionado;

        +
          +
        • + aud (na requisição JWT): o Provedor do Recurso (p. ex. a instituição detentora da conta) deverá validar se o valor do campo aud coincide com o endpoint sendo acionado;
        • -
        • -

          aud (na resposta JWT): o cliente da API (p. e. instituição iniciadora) deverá validar se o valor do campo aud coincide com o seu próprio organisationId listado no diretório;

          +
        • + aud (na resposta JWT): o cliente da API (p. e. instituição iniciadora) deverá validar se o valor do campo aud coincide com o seu próprio organisationId listado no diretório;
        • -
        • -

          iss (na requisição JWT e na resposta JWT): o receptor da mensagem deverá validar se o valor do campo iss coincide com o organisationId do emissor;

          +
        • + iss (na requisição JWT e na resposta JWT): o receptor da mensagem deverá validar se o valor do campo iss coincide com o organisationId do emissor;
        • -
        • -

          jti (na requisição JWT e na resposta JWT): o valor do campo jti deverá ser preenchido com o UUID definido pela instituição de acordo com a [RFC4122] usando o versão 4;

          +
        • + jti (na requisição JWT e na resposta JWT): o valor do campo jti deverá ser preenchido com o UUID definido pela instituição de acordo com a [RFC4122] usando o versão 4;
        • -
        • -

          iat (na requisição JWT e na resposta JWT): o valor do campo iat deverá ser preenchido com horário da geração da mensagem e de acordo com o padrão estabelecido na RFC7519 para o formato NumericDate.

          +
        • + iat (na requisição JWT e na resposta JWT): o valor do campo iat deverá ser preenchido com horário da geração da mensagem e de acordo com o padrão estabelecido na RFC7519 para o formato NumericDate.
        • -
        +
    9. -
    10. +
    11. O content-type HTTP das requisições e respostas com mensagens JWS deve ser definido como: "application/jwt".

    12. -
    13. +
    14. No cabeçalho JOSE deve constar os seguintes atributos:

      -
        -
      • -

        alg - deve ser preenchido com o valor PS256";

        +
          +
        • + alg - deve ser preenchido com o valor PS256";
        • -
        • -

          kid - deve ser obrigatoriamente preenchido com o valor do identificador da chave utilizado para a assinatura;

          +
        • + kid - deve ser obrigatoriamente preenchido com o valor do identificador da chave utilizado para a assinatura;
        • -
        • -

          typ - deve ser preenchido com o valor JWT.

          +
        • + typ - deve ser preenchido com o valor JWT.
        • -
        +
    15. -
    -
      -
    • -

      Em caso de erro na validação da assinatura pelo Provedor do Recurso a API deve retornar mensagem de erro HTTP com status code 400 e a resposta deve incluir na propriedade code do objeto de resposta de erro especificado na API (ResponseError) a indicação da falha com o conteúdo BAD_SIGNATURE.

      + +
        +
      • Em caso de erro na validação da assinatura pelo Provedor do Recurso a API deve retornar mensagem de erro HTTP com status code 400 e a resposta deve incluir na propriedade code do objeto de resposta de erro especificado na API (ResponseError) a indicação da falha com o conteúdo BAD_SIGNATURE.
      • -
      • -

        Erros na validação da mensagem recebida pela aplicação cliente (p. ex. iniciador de pagamento) devem ser registrados e o Provedor do Recurso (p. ex. instituição detentora de conta) deve ser notificado.

        +
      • Erros na validação da mensagem recebida pela aplicação cliente (p. ex. iniciador de pagamento) devem ser registrados e o Provedor do Recurso (p. ex. instituição detentora de conta) deve ser notificado.
      • -
      +
      -
    1. +
    2. O receptor deve validar a consistência da assinatura digital da mensagem JWS exclusivamente com base nas informações obtidas do diretório, ou seja, com base nas chaves publicadas no JWKS da instituição no diretório.

    3. -
    4. -

      As assinaturas devem ser realizadas com uso do certificado digital de assinatura especificado no Padrão de Certificados Open Banking Brasil.

      +
    5. +

      As assinaturas devem ser realizadas com uso do certificado digital de assinatura especificado no Padrão de Certificados Open Banking Brasil;

    6. -
    +
  • +

    A claim iat deve ser numérica no formato Unix Time GMT+0 com tolerância de +/- 60 segundos;

    +
  • +
  • +

    A claim do jti deve ser única para um clientId dentro de um intervalo de tempo de 86.400 segundos (24h), não podendo ser reutilizada neste período. Em caso de reutilização, deverá ser retornado o código de erro HTTP 403;

    +
  • +

    6.1.1. Considerações sobre algoritmos de assinatura

    Para JWS, clientes e servidores de autorização

    -
      -
    1. -

      devem usar o algoritmo PS256;

      +
        +
      1. devem usar o algoritmo PS256;
      2. -
      +
    @@ -1655,11 +1744,10 @@

    6.1.2. Considerações de algoritmo de criptografia

    Para JWE, clientes e servidores de autorização

    -
      -
    1. -

      devem usar RSA-OAEP com A256GCM

      +
        +
      1. devem usar RSA-OAEP com A256GCM
      2. -
      +
    @@ -1668,14 +1756,14 @@

    6.1.3. Considerações sobre o uso seguro do Transport Layer Security

    Para TLS, endpoints do Servidor de Autenticação e endpoints do Servidor de Recursos usados diretamente pelo cliente:

    -
      -
    1. -

      devem suportar TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

      +
        +
      1. devem suportar TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
      2. -
      3. -

        devem suportar TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

        +
      4. devem suportar TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
      5. -
      +
    2. As funcionalidades "TLS Session Resumption" e "TLS Renegotiation" devem ser desabilitadas +
    3. +
    @@ -1706,29 +1794,23 @@

    7.1.2. Definição de Escopo de Consentimento Dinâmico

    Este perfil define o escopo dinâmico do OAuth 2.0 "consentimento" da seguinte maneira:

    -
      -
    • -

      string 'consent'; e

      + +

    Adicionalmente:

    -
      -
    • -

      Consent Resource Id deve incluir caracteres seguros para url;

      +
        +
      • Consent Resource Id deve incluir caracteres seguros para url;
      • -
      • -

        Consent Resource Id deve ser "namespaced";

        +
      • Consent Resource Id deve ser "namespaced";
      • -
      • -

        Consent Resource Id deve ter propriedades de um nonce Nonce;

        +
      • Consent Resource Id deve ter propriedades de um nonce Nonce;
      • -
      +
    @@ -1768,41 +1850,30 @@

    7.2.2. Servidor de autorização

    Além dos requisitos descritos nas disposições de segurança do Open Banking Brasil, o Servidor de Autorização

    -
      -
    1. -

      deve apenas emitir refreshtokens_ quando vinculados a um consentimento ativo e válido;

      +
        +
      1. deve apenas emitir _refreshtokens quando vinculados a um consentimento ativo e válido;
      2. -
      3. -

        só deve compartilhar o acesso aos recursos quando apresentado accesstoken_ vinculado a um consentimento ativo e válido;

        +
      4. só deve compartilhar o acesso aos recursos quando apresentado _accesstoken vinculado a um consentimento ativo e válido;
      5. -
      6. -

        deve revogar os refresh tokens e, quando aplicável, os access tokens quando o Consentimento (Consent Resource) relacionado for apagado;

        +
      7. deve revogar os refresh tokens e, quando aplicável, os access tokens quando o Consentimento (Consent Resource) relacionado for apagado;
      8. -
      9. -

        deve garantir que os access tokens são emitidos com os scopes necessários para permitir acesso aos dados especificados em elemento Permission do Consentimento (Consent Resource Object) relacionado;

        +
      10. deve garantir que os access tokens são emitidos com os scopes necessários para permitir acesso aos dados especificados em elemento Permission do Consentimento (Consent Resource Object) relacionado;
      11. -
      12. -

        não deve rejeitar pedido de autorização com scopes além do necessário para permitir acesso a dados definidos em elemento Permission do Consentimento (Consent Resource Object) relacionado;

        +
      13. não deve rejeitar pedido de autorização com scopes além do necessário para permitir acesso a dados definidos em elemento Permission do Consentimento (Consent Resource Object) relacionado;
      14. -
      15. -

        pode reduzir o escopo solicitado para um nível que seja suficiente para permitir o acesso aos dados definidos em elemento Permission do Consentimento (Consent Resource Object) relacionado;

        +
      16. pode reduzir o escopo solicitado para um nível que seja suficiente para permitir o acesso aos dados definidos em elemento Permission do Consentimento (Consent Resource Object) relacionado;
      17. -
      18. -

        deve manter registros sobre o histórico dos consentimento para permitir a adequada formação de trilhas de auditoria em conformidade com a regulação em vigor;

        +
      19. deve manter registros sobre o histórico dos consentimento para permitir a adequada formação de trilhas de auditoria em conformidade com a regulação em vigor;
      20. -
      21. -

        deve retornar falha na autenticação e o código de retorno accessdenied_ no parâmetro erro (como especificado na seção 4.1.2.1 da RFC6749) caso o CPF do usuário autenticado não seja o mesmo indicado no elemento loggedUser do Consentimento (Consent Resource Object);

        +
      22. deve retornar falha na autenticação e o código de retorno _accessdenied no parâmetro erro (como especificado na seção 4.1.2.1 da RFC6749) caso o CPF do usuário autenticado não seja o mesmo indicado no elemento loggedUser do Consentimento (Consent Resource Object);
      23. -
      24. -

        deve retornar falha na autenticação e o código de retorno accessdenied_ no parâmetro erro (como especificado na seção 4.1.2.1 da RFC6749) caso o elemento businessEntity não tenha sido preenchido no Consentimento (Consent Resource Object) relacionado e o usuário tenha selecionado ou se autenticado por meio de credencial relacionada à conta do tipo Pessoa Jurídica (PJ);

        +
      25. deve retornar falha na autenticação e o código de retorno _accessdenied no parâmetro erro (como especificado na seção 4.1.2.1 da RFC6749) caso o elemento businessEntity não tenha sido preenchido no Consentimento (Consent Resource Object) relacionado e o usuário tenha selecionado ou se autenticado por meio de credencial relacionada à conta do tipo Pessoa Jurídica (PJ);
      26. -
      27. -

        deve condicionar a autenticação ou seleção de contas do tipo PJ à consistência entre o CNPJ relacionado à(s) conta(s) e o valor presente no elemento businessEntity do Consentimento (Consent Resource Object). Em caso de divergência deve retornar falha na autenticação e o código de retorno accessdenied_ no parâmetro erro (como especificado na seção 4.1.2.1 da RFC6749);

        +
      28. deve condicionar a autenticação ou seleção de contas do tipo PJ à consistência entre o CNPJ relacionado à(s) conta(s) e o valor presente no elemento businessEntity do Consentimento (Consent Resource Object). Em caso de divergência deve retornar falha na autenticação e o código de retorno _accessdenied no parâmetro erro (como especificado na seção 4.1.2.1 da RFC6749);
      29. -
      30. -

        deve emitir refreshtoken_ com validade não inferior à validade do consentimento ao qual está relacionado, respeitado os demais critérios acima.

        +
      31. deve emitir _refreshtoken com validade não inferior à validade do consentimento ao qual está relacionado, respeitado os demais critérios acima.
      32. -
      +
    @@ -1811,14 +1882,12 @@

    7.2.3. Cliente confidencial

    Além dos requisitos descritos nas disposições de segurança do Open Banking Brasil, o Cliente Confidencial

    -
      -
    1. -

      deve, sempre que possível, revogar e cessar o uso de refresh e de access tokens vinculados a um consentimento (Consent Resource Object) que foi excluído;

      +
        +
      1. deve, sempre que possível, revogar e cessar o uso de refresh e de access tokens vinculados a um consentimento (Consent Resource Object) que foi excluído;
      2. -
      3. -

        deve excluir consentimentos (Consent Resource Objects) que estão expirados;

        +
      4. deve excluir consentimentos (Consent Resource Objects) que estão expirados;
      5. -
      +
    @@ -1832,52 +1901,37 @@

    Agradecemos a todos que estabeleceram as bases para o compartilhamento seguro e seguro de dados por meio da formação do Grupo de Trabalho FAPI da OpenID Foundation, o GT de Segurança do Open Banking Brasil e aos pioneiros que ficarão em seus ombros.

    As seguintes pessoas contribuíram para este documento:

    -
      -
    • -

      Ralph Bragg (Raidiam)

      +
        +
      • Alexandre Siqueira (Mercado Pago) +
      • +
      • Joseph Heenan (Authlete)
      • -
      • -

        Joseph Heenan (Authlete)

        +
      • Marcos Rodrigues (Itaú)
      • -
      • -

        Alexandre Siqueira (Mercado Pago)

        +
      • Mário Ginglass (BNDES)
      • -
      • -

        Marcos Rodrigues (Itaú)

        +
      • Nic Marcondes (Quanto)
      • -
      • -

        Mário Ginglass (BNDES)

        +
      • Ralph Bragg (Raidiam)
      • -
      +
    -
    +

    -Appendix A. Avisos +Appendix A. Avisos

    -

    Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil

    -

    A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB.

    -

    A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação.

    +

    Copyright (c) 2022 Estrutura Inicial do Open Banking Brasil

    +

    A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB.

    +

    A tecnologia descrita nesta especificação foi disponibilizada a partir de contribuições de várias fontes, incluindo membros da OpenID Foundation, do Grupo de Trabalho de Segurança do Open Banking Brasil e outros. Embora a Estrutura Inicial do Open Banking Brasil tenha tomado medidas para ajudar a garantir que a tecnologia esteja disponível para distribuição, ela não toma posição quanto à validade ou escopo de qualquer propriedade intelectual ou outros direitos que possam ser reivindicados como pertencentes à implementação ou uso do tecnologia descrita nesta especificação ou até que ponto qualquer licença sob tais direitos pode ou não estar disponível; nem representa que fez qualquer esforço independente para identificar tais direitos. A Estrutura Inicial do Open Banking Brasil e os contribuidores desta especificação não oferecem (e por meio deste expressamente se isentam de quaisquer) garantias (expressas, implícitas ou de outra forma), incluindo garantias implícitas de comercialização, não violação, adequação a uma finalidade específica ou título, relacionados a esta especificação, e todo o risco quanto à implementação desta especificação é assumido pelo implementador. A política de Direitos de Propriedade Intelectual do Open Banking Brasil exige que os contribuidores ofereçam uma promessa de patente de não fazer valer certas reivindicações de patentes contra outros contribuidores e implementadores. A Estrutura Inicial do Open Banking Brasil convida qualquer parte interessada a trazer à sua atenção quaisquer direitos autorais, patentes, pedidos de patentes ou outros direitos de propriedade que possam abranger a tecnologia que possa ser necessária para praticar esta especificação.

    -
    -

    -Authors' Addresses +
    +

    +Author's Address

    -
    -
    Ralph Bragg
    -
    Raidiam
    - - -
    OBBIS GT Security
    Open Banking Brasil Initial Structure
    diff --git a/open-banking-brasil-financial-api-1_ID3-ptbr.md b/open-banking-brasil-financial-api-1_ID3-ptbr.md index 6a8f80b..304cdac 100644 --- a/open-banking-brasil-financial-api-1_ID3-ptbr.md +++ b/open-banking-brasil-financial-api-1_ID3-ptbr.md @@ -17,16 +17,6 @@ status = "standard" value = "open-banking-brasil-financial-api-1_ID3-ptbr" - [[author]] - initials = "R." - surname = "Bragg" - fullname = "Ralph Bragg" - organization = "Raidiam" - abbrev = "Raidiam" - [author.address] - email = "ralph.bragg@raidiam.com" - uri = "https://www.raidiam.com/" - [[author]] initials = "GT" surname = "Security" @@ -162,25 +152,16 @@ Para efeitos deste documento, os termos definidos em [RFC6749], [RFC6750], [RFC7 # Símbolos e termos abreviados {#terms} -**API** - Application Programming Interface (Interface de programação de aplicativo) - -**EIOBB** - Estrutura Inicial do Open Banking Brasil - -**CSRF** - Cross Site Request Forgery - -**DCR** - Registro de cliente dinâmico - -**FAPI** - Financial-grade API - -**HTTP** - Protocolo de transferência de hipertexto - -**OIDF** - OpenID Foundation - -**REST** - Representational State Transfer (Transferência de Estado Representacional) - -**TLS** - Transport Layer Security (Segurança da Camada de Transporte) - -**MFA** - Multi-Factor Authentication (Autenticação por Múltiplos Fatores) +* **API** - Application Programming Interface (Interface de programação de aplicativo) +* **CSRF** - Cross Site Request Forgery +* **DCR** - Registro de cliente dinâmico +* **EIOBB** - Estrutura Inicial do Open Banking Brasil +* **FAPI** - Financial-grade API +* **HTTP** - Protocolo de transferência de hipertexto +* **MFA** - Multi-Factor Authentication (Autenticação por Múltiplos Fatores) +* **OIDF** - OpenID Foundation +* **REST** - Representational State Transfer (Transferência de Estado Representacional) +* **TLS** - Transport Layer Security (Segurança da Camada de Transporte) # Profile de Segurança para o Open Banking Brasil {#securityprofile} @@ -433,17 +414,18 @@ Agradecemos a todos que estabeleceram as bases para o compartilhamento seguro e As seguintes pessoas contribuíram para este documento: -* Ralph Bragg (Raidiam) -* Joseph Heenan (Authlete) * Alexandre Siqueira (Mercado Pago) +* Joseph Heenan (Authlete) * Marcos Rodrigues (Itaú) * Mário Ginglass (BNDES) +* Nic Marcondes (Quanto) +* Ralph Bragg (Raidiam) {backmatter} # Avisos {#disclaimer} -Copyright (c) 2021 Estrutura Inicial do Open Banking Brasil +Copyright (c) 2022 Estrutura Inicial do Open Banking Brasil A Estrutura Inicial do Open Banking Brasil (EIOBB) concede a qualquer Colaborador, desenvolvedor, implementador ou outra parte interessada uma licença de direitos autorais mundial não exclusiva, livre de royalties para reproduzir, preparar trabalhos derivados, distribuir, executar e exibir, estes Implementadores Rascunho ou Especificação Final exclusivamente para fins de (i) desenvolver especificações e (ii) implementar Rascunhos de Implementadores e Especificações Finais com base em tais documentos, desde que a atribuição seja feita ao EIOBB como a fonte do material, mas que tal atribuição o faça não indica endosso do EIOBB. From 9b5c7509389eddb4fd6ee98b211a5377a9bd95d2 Mon Sep 17 00:00:00 2001 From: Nic Date: Thu, 17 Feb 2022 22:17:16 -0300 Subject: [PATCH 56/59] chore(export): fix the guide of .md to .html export --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5201f7c..27f3a9f 100644 --- a/README.md +++ b/README.md @@ -36,13 +36,13 @@ Sempre que for publicado um novo ID de documentação, deve-se atentar a atualiz |Perfil de Segurança do OpenBanking Brasil|
    • Registro e Cadastramento Dinâmico do Cliente de APIs
    • Padrão de Certificados Open Banking Brasil
    • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
    • Áerea do Desenvolvedor do Portal do Open Banking Brasil
    | |Padrão de Certificados Open Banking Brasil|
    • Perfil de Segurança do OpenBanking Brasil
    • Registro e Cadastramento Dinâmico do Cliente de APIs
    • Guia do usuário - ponto de vista da instituição receptora de dados ou iniciadora de pagamentos (TTP)
    • Áerea do Desenvolvedor do Portal do Open Banking Brasil
    | -## Documentation Generation for Maintainers +## Geração de documentação para manutenção -The formal specifications are created using guidelines, processes and tools created by the IETF and the OIDF which ensures consistency and familiarity for implementers. All references to the specifications should be to the normative version of the published specification published in HTML version. Linking to actively developed versions of MarkDown files directly should be avoided. +As especificações formais são criadas usando diretrizes, processos e ferramentas criadas pela IETF e pela OIDF, o que garante consistência e familiaridade para os implementadores. Todas as referências às especificações devem ser para a versão normativa da especificação publicada publicada na versão HTML. A vinculação direta a versões de arquivos MarkDown desenvolvidas ativamente deve ser evitada. -The following steps can be used to generate the html version of the markdown files +Siga os seguintes passos para gerar a versão HTML à partir dos arquivos markdown +```shell +makerfc='docker run -v `pwd`:/data upnic/makerfc' -1. docker run -v `pwd`:/data danielfett/markdown2rfc open-banking-brasil-dynamic-client-registration-1_ID1.md -2. find and replace '&' with '&' in all html files -3. find and replace '<' with '<' in all html files -4. find and replace '>' with '>' in all html files +makerfc open-banking-brasil-dynamic-client-registration-1_ID1.md +``` From 2e02f5c30fb407c48454c0cdec8d4d10772e3745 Mon Sep 17 00:00:00 2001 From: Nic Date: Fri, 18 Feb 2022 09:49:40 -0300 Subject: [PATCH 57/59] chore(md): Fix and export open-banking-brasil-certificate-standards-1_ID1.md --- open-banking-brasil-certificate-standards-1_ID1.html | 8 ++++---- open-banking-brasil-certificate-standards-1_ID1.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1.html b/open-banking-brasil-certificate-standards-1_ID1.html index 5ddb384..c1ac606 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.html +++ b/open-banking-brasil-certificate-standards-1_ID1.html @@ -1659,10 +1659,10 @@

    keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;UTF8:<Name of the person responsible for the organization> -otherName.1 = 2.16.76.1.3.3;UTF8:<CNPJ> -otherName.2 = 2.16.76.1.3.4;UTF8:<CPF/PIS/RF of responsible person> -otherName.3 = 2.16.76.1.3.7;UTF8:<INSS Number> +otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING:<Name of the person responsible for the organization> +otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING:<CNPJ> +otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING:<CPF/PIS/RF of responsible person> +otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING:<INSS Number>

    diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index 9db4b1d..3534df9 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -301,10 +301,10 @@ subjectAltName = @alt_name keyUsage = critical,digitalSignature,nonRepudiation [ alt_name ] -otherName.0 = 2.16.76.1.3.2;UTF8: -otherName.1 = 2.16.76.1.3.3;UTF8: -otherName.2 = 2.16.76.1.3.4;UTF8: -otherName.3 = 2.16.76.1.3.7;UTF8: +otherName.0 = 2.16.76.1.3.2;PRINTABLESTRING: +otherName.1 = 2.16.76.1.3.3;PRINTABLESTRING: +otherName.2 = 2.16.76.1.3.4;PRINTABLESTRING: +otherName.3 = 2.16.76.1.3.7;PRINTABLESTRING: ``` ## Endpoints vs Certificate type and mTLS requirements From 5c08e4eb1cd5ab0583eb895f30f2835c27454727 Mon Sep 17 00:00:00 2001 From: llfreitas <104649601+llfreitas@users.noreply.github.com> Date: Mon, 25 Jul 2022 09:30:47 -0300 Subject: [PATCH 58/59] Update open-banking-brasil-certificate-standards-1_ID1-ptbr.md --- open-banking-brasil-certificate-standards-1_ID1-ptbr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md index e8c3b1d..7c6b84d 100644 --- a/open-banking-brasil-certificate-standards-1_ID1-ptbr.md +++ b/open-banking-brasil-certificate-standards-1_ID1-ptbr.md @@ -73,7 +73,7 @@ Os seguintes documentos referenciados são indispensáveis para a aplicação de * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: * [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: -* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [DOC-ICP-01] - DECLARAÇÃO DE PRÁTICAS DE CERTIFICAÇÃO DA AUTORIDADE CERTIFICADORA RAIZ DA ICP-BRASIL: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: * [BCB-IN134] - Manual de Segurança do Open Banking: From abe817ad2d57ee9c32b988769d85c6a0af0c3341 Mon Sep 17 00:00:00 2001 From: llfreitas <104649601+llfreitas@users.noreply.github.com> Date: Mon, 25 Jul 2022 09:31:16 -0300 Subject: [PATCH 59/59] Update open-banking-brasil-certificate-standards-1_ID1.md --- open-banking-brasil-certificate-standards-1_ID1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/open-banking-brasil-certificate-standards-1_ID1.md b/open-banking-brasil-certificate-standards-1_ID1.md index 3534df9..10f06ba 100644 --- a/open-banking-brasil-certificate-standards-1_ID1.md +++ b/open-banking-brasil-certificate-standards-1_ID1.md @@ -75,7 +75,7 @@ The following referenced documents are indispensable for the application of this * [BCP195] - Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) [BCP195]: * [RFC8705] - OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens [RFC8705]: * [OBB-FAPI] - Open Banking Brasil Financial-grade API Security Profile 1.0 [OBB-FAPI]: -* [OBB-FAPI-DCR] - Open Banking Brasil Financial-grade API Dynamic Client Registration Profile 1.0 [OBB-FAPI-DCR]: * [DOC-ICP-01] - DECLARAÇÃO DE PRÁTICAS DE CERTIFICAÇÃO DA AUTORIDADE CERTIFICADORA RAIZ DA ICP-BRASIL: * [RFC6749] - The OAuth 2.0 Authorization Framework [RFC6749]: * [BCB-IN134] - Manual de Segurança do Open Banking: