Segurança de Webhook
Segurança de Webhook
Protegendo as requisições
Será preciso uma URL pública acessível para que as nossas requisições de webhook sejam disparadas.
Autenticação básica HTTP
A autenticação básica, ou em inglês basic authentication é um esquema de autenticação simples incorporado no protocolo HTTP. Recomendamos que você utilize em seus endpoints. Você pode configurar a URL do seu webhook passando usuário e senha através da URL. Exemplo: https://usuario:[email protected]/webhookd4sign.
Poderá, também, utilizar TOKENS únicos para acesso a sua URL. Exemplo: https://www.suaurl.com/webhookd4sign/TOKEN_SHA256
Requisições HTTPS
Utilize sempre endpoints HTTPS
HMAC
Introdução ao HMAC
Em criptografia, um HMAC é um tipo específico de código de autenticação de mensagem que envolve uma função hash criptográfica e uma chave criptográfica secreta. Como em qualquer MAC, ele pode ser usado para verificar simultaneamente a integridade dos dados e a autenticidade de uma mensagem.
A cada disparado de webhook, calculamos o Hash SHA256 do UUID do documento com o secret key e adicionamos essa informação ao cabeçalho.
Exemplo:
Content-Hmac: sha256=a683af9ffda69010bde886fc0e30ca8c257baf5f19ec875a1e0e36ddd92da944.
Você deverá fazer o mesmo cálculo de Hash para verificar se a requisição veio da D4Sign e, também, que os dados não foram comprometidos. Calcule o Hash SHA256 do UUID do documento juntamente com a secret key já conhecida. O valor deve ser igual ao enviado no cabeçalho da requisição.
Para ativar a sua secret key, acesse a sua área de API e clique em "Gerar Secret Key MAC".
Ferramentas para validar HMAC
https://www.freeformatter.com/hmac-generator.html
https://codebeautify.org/hmac-generator
https://www.liavaag.org/English/SHA-Generator/HMAC
Utilize essas ferramentas informando o UUID do documento e a secret key da sua conta. O resultado deverá ser o valor recebido no cabeçalho da requisição.
Mais referências sobre HMAC
Updated over 2 years ago