Como funcionam os padrões de segurança e autenticação do Open Banking (OAuth 2.0, OpenID, FAPI, CIBA)

Artigos- Segurança de Open Banking

Venho acompanhando de perto a evolução do grupo de trabalho sobre Open Banking das entidades representantes de Bancos, Instituições de Pagamentos, Financeiras e Fintechs que estão organizando a padronização do Open Banking no Brasil, sob supervisão do Banco Central. Para a segunda fase, que está prevista para iniciar no dia 15/07, encontra-se o maior desafio das instituições financeiras:  compartilhar informações dos clientes, como dados bancários e transações financeiras mediante prévio consentimento do dono desses dados. Mas como isso será feito? Qual o padrão de autenticação? Qual a segurança dos protocolos e frameworks utilizados? Isso é que pretendo esclarecer neste artigo.

Recentemente foi postado no portal de desenvolvedor as primeiras definições da fase 2 , disponível no seguinte link: https://openbanking-brasil.github.io/areadesenvolvedor-fase2/ . Observando essa versão,  o ponto mais importante são as definições de segurança, pois detalham todos os requisitos necessários para implementação do Open Banking. Analisando essa documentação, é possível detectar que estão seguindo as mesmas diretrizes de autenticação e segurança utilizadas atualmente no Reino Unido e modelos de outras implementações bem-sucedidas de Open Banking no mundo.

As diretrizes de segurança são um conjunto de frameworks, protocolos e especificações que garantem a segurança dos clientes na autorização do consentimento dado entre duas instituições participantes do Open Banking. Emoutras palavras, o Financial-grade API (FAPI) define uma série de regras de como utilizar o OAuth 2.0 e OpenID Connect, de acordo com um padrão seguro para o setor financeiro.

Vamos entrar nos detalhes de cada um dos principais conceitos:

Oauth2.0

OAuth 2.0 é um framework que permite que um aplicativo de terceiros obtenha acesso limitado a um serviço HTTP, seja em nome de um proprietário de recurso orquestrando uma interação de aprovação entre o proprietário do recurso e o serviço HTTP ou permitindo que o terceiro aplicativo para obter acesso em seu próprio nome.

As especificações OAuth 2.0 são projetadas para oferecer suporte ao desenvolvimento de protocolos de autenticação e autorização. Ele fornece uma variedade de fluxos de mensagens padronizados baseados em JSON e HTTP; OpenID Connect os usa para fornecer serviços de identidade.

OpenID Connect 2.0

OpenID Connect 2.0 é um protocolo de autenticação interoperável baseado na família OAuth 2.0 de especificações. Ele usa fluxos de mensagens REST / JSON simplificados. O OpenID Connect 2.0 permite que os desenvolvedores autentiquem usuários em sites e aplicativos sem ter que possuir e gerenciar arquivos de senha.

Para criadores de aplicativos, o OpenID Connect 2.0 permite que o JavaScript baseado em navegador e aplicativos móveis nativos iniciem fluxos de entrada e recebam afirmações verificáveis sobre a identidade dos usuários conectados. Em termos simples, é uma resposta a “Qual é a identidade da pessoa que usa atualmente o navegador ou aplicativo nativo que está conectado?”

Financial-grade API (FAPI)

Financial-grade API (FAPI) é uma especificação liderada pelo setor financeiro para esquemas de dados JSON, protocolos de segurança e privacidade para suporte a casos de uso para contas bancárias comerciais e de investimento, bem como contas de seguro e cartão de crédito.

FAPI fornece diretrizes de implementação específicas para serviços financeiros online serem adotados por meio do desenvolvimento de um modelo de dados REST/JSON protegido por um perfil OAuth altamente seguro. O perfil de segurança da API de nível financeiro pode ser aplicado a serviços online em qualquer área de mercado que necessite um nível mais alto de segurança do que o fornecido pelo OAuth padrão ou OpenID Connect.

Os desenvolvedores FinTech podem acelerar o Secure Open Banking, por exemplo:

  • Aplicativos que usam um modelo de dados seguro baseado em padrões (JSON) para níveis de acesso a dados financeiros armazenados em contas.
  • Aplicativos que usam uma interface de programa baseada em padrões (REST) para compartilhamento de dados financeiros entre bancos, instituições e terceiros.
  • Controles de segurança de aplicativos e usuários e configurações de privacidade a serem implementados de forma consistente com padrões abertos (OAuth) e provedores (OpenID Connect).

Client Initiated Backchannel Authentication (CIBA)

O Financial-grade API (FAPI) inclui uma especificação de autenticação de backchannel iniciada pelo cliente (CIBA) para oferecer suporte a um método seguro de desacoplamento de casos de uso de autenticação e autorização para reduzir os riscos associados à engenharia social ou ameaça interna.

CIBA Core é uma nova especificação escrita pelo MODRNA Working Group da OpenID Foundation. A especificação adiciona três fluxos de autorização. O fluxo do código de autorização tradicional e o fluxo implícito são categorizados como “fluxo de redirecionamento”, enquanto os fluxos CIBA são categorizados como “fluxo desacoplado”. Fluxo desacoplado significa que o dispositivo que acessa a API e o dispositivo onde ocorre a autenticação do usuário e a confirmação do consentimento são distintos. Por exemplo:

Aproveitando uma sessão fortemente autenticada “DE” um dispositivo inteligente para conceder autorização “PARA” outro dispositivo.

Pague COM seu telefone, relógio ou terminal / quiosque de ponto de venda ou qualquer outro tipo de dispositivo inteligente A um terceiro por meio de notificação PUSH.

Permitir que um agente de call center ou consultor financeiro acesse uma conta em vez de usar perguntas baseadas no conhecimento (por exemplo, nome de solteira da mãe).

Sobre o autor:

Luiz Gustavo Nugnes
https://www.linkedin.com/in/lnugnes/

Graduado em Análise de Sistemas 2001 na Universidade de São Paulo, MBA no Ibmec 2005, Certificado em Gestão Financeira(CFM) no Insper 2011, Msc em Moedas Digitais pela Universidade de Nicosia 2017 e Certificado em Cientista de Dados no Instituto de Tecnologia de Massachusetts (MIT) em 2018. Desde 2000, atua na área de sistemas, integrando negócios e liderando equipes de alto desempenho em projetos estratégicos de grandes empresas como TecBan, Banco Votorantim, Santander e Unilever. Nos últimos anos, foi totalmente dedicado a tecnologias inovadoras, como Inteligência Artificial, Transformação Digital ,Open Banking, Pagamentos Instantâneos e Blockchain. Fomentando projetos financeiros em grupos de trabalho com Banco Central e Febraban e outras iniciativas privadas.

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *