bacen / pix-api

API Pix: a API do Arranjo de Pagamentos Instantâneos Brasileiro, Pix, criado pelo Banco Central do Brasil.
https://bacen.github.io/pix-api
2.38k stars 268 forks source link

Segurança: Correção para erro de digitação da chave PIX #575

Open hiagodotme opened 1 year ago

hiagodotme commented 1 year ago

Olá, não encontrei um local adequado para enviar essa sugestão. Então deixo nesse repositório, pois sei que os envolvidos nas mudanças do PIX o acompanham.

Problema

Desde que o PIX foi oficialmente lançado ouço falar sobre transferências realizadas por erros de digitação. Acredito que isso ocorra em chaves do tipo TELEFONE e E-MAIL, me corrijam se eu estiver errado. Tanto o CPF quanto o CNPJ possuem seus dígitos verificadores e o PSP válida isso (ou pelo menos deveria), com isso acredito que muitos erros já são evitados justamente pelo algoritmo para validação de tais informações.

A chave aleatória, pela sua natureza acredito que dificilmente alguém iria digitar ela. Então as transações com a mesma devem ocorrer quase sempre através do control + c / control + v.

Proposta de segurança

Minha proposta seria criar um algoritmo para gerar um código de validação de 3 ou 4 dígitos para chaves consideradas "fracas/passíveis de erro".

Na prática isso pode parecer algo pra tornar o PIX complexo, mas essa confirmação seria apenas quando o usuário digita as chaves "fracas/passíveis de erro". Quando o mesmo utilizar o BRCode ou QRCode seja seja ele estático ou dinâmico essa validação de 3/4 dígitos seria mais necessária, pois não haveria o risco de digitação incorreta.

augustresende commented 1 year ago

A obrigação do pagador é verificar o Nome e dígitos do CPF após a consulta da chave no app do banco pagador, não há essa necessidade.