

Para compreender as chaves API, é essencial começar por analisar o conceito das próprias API. Uma Application Programming Interface (API) é um intermediário de software que possibilita a troca de informações entre duas ou mais aplicações. Por exemplo, as API de diversas plataformas de dados permitem que outras aplicações obtenham e utilizem dados de criptomoedas, como preço, volume e capitalização de mercado.
Uma chave API pode ser uma única chave ou um conjunto de várias chaves. Sistemas distintos utilizam estas chaves para autenticação e autorização de aplicações, funcionando de modo semelhante a nomes de utilizador e palavras-passe. Os clientes API recorrem a chaves API para autenticar a aplicação que executa a chamada à API.
Por exemplo, se uma aplicação pretender aceder à API de uma plataforma de dados, a plataforma gera uma chave API e utiliza-a para autenticar a aplicação solicitante (o cliente API). Sempre que a aplicação envia um pedido à API da plataforma, a chave API é incluída no pedido.
Neste contexto, apenas a aplicação autorizada deve utilizar a chave API, não devendo esta ser partilhada com terceiros. A partilha da chave API permite a terceiros aceder à API e agir como a aplicação autorizada.
Adicionalmente, a API da plataforma pode usar a chave API para confirmar que a aplicação tem permissão para aceder ao recurso solicitado. Os proprietários da API podem ainda utilizar as chaves API para monitorizar a atividade da API, incluindo tipos de pedido, tráfego e volume.
Uma chave API serve para controlar e monitorizar quem acede a uma API e de que forma esta é utilizada. O termo “chave API” pode assumir diferentes significados, dependendo do sistema. Alguns sistemas emitem um único código, enquanto outros podem emitir múltiplos códigos por chave API.
Em resumo, uma chave API é um código único ou um conjunto de códigos únicos que as API utilizam para autenticar e autorizar o utilizador ou aplicação que efetua a chamada. Alguns destes códigos destinam-se à autenticação, enquanto outros geram assinaturas criptográficas que asseguram a legitimidade dos pedidos.
Estes códigos de autenticação são denominados "chaves API", ao passo que os códigos para geração de assinaturas criptográficas são conhecidos como “secret key”, “public key” ou “private key”. A autenticação permite identificar e verificar as partes envolvidas.
A autorização, por seu lado, determina a que serviços API pode aceder. Uma chave API funciona de forma semelhante ao nome de utilizador e palavra-passe de uma conta, podendo ser combinada com funcionalidades de segurança adicionais para reforçar a proteção.
O responsável pela API gera cada chave API especificamente para uma entidade designada; sempre que um endpoint da API exige autenticação ou autorização do utilizador, utiliza-se a chave correspondente.
Determinadas chaves API recorrem a assinaturas criptográficas como camada adicional de verificação. Ao submeter dados a uma API, o utilizador pode adicionar ao pedido uma assinatura digital gerada por outra chave. Recorrendo à criptografia, o responsável pela API pode validar se a assinatura corresponde aos dados transmitidos.
As chaves criptográficas utilizadas para assinar dados transmitidos por API enquadram-se geralmente em duas categorias:
As chaves simétricas utilizam uma única chave secreta para assinar e validar os dados. Neste modelo, o responsável pela API gera tanto a chave API como a chave secreta, que os serviços API utilizam para validar a assinatura. A principal vantagem reside na rapidez da geração e validação da assinatura, com menor impacto computacional. O HMAC é um sistema de chave simétrica amplamente utilizado.
As chaves assimétricas envolvem um par de chaves: uma chave privada e uma chave pública, distintas mas ligadas criptograficamente. A chave privada gera a assinatura, enquanto a chave pública a valida. O responsável pela API gera a chave API, e o utilizador gera o seu próprio par de chave privada e chave pública. Para validar a assinatura, o responsável pela API utiliza apenas a chave pública, mantendo a chave privada confidencial.
O principal benefício das chaves assimétricas reside na segurança reforçada, ao separar os processos de criação e validação da assinatura. Desta forma, sistemas externos podem validar assinaturas sem revelar o processo de assinatura. Certos sistemas de encriptação assimétrica permitem ainda associar palavras-passe às chaves privadas. Um exemplo comum é um par de chaves RSA.
O utilizador é o responsável pela segurança da chave API. As chaves API funcionam como palavras-passe, devendo ser tratadas com o mesmo grau de precaução. Nunca partilhe a sua chave API com terceiros, pois isso equivale a partilhar a sua palavra-passe e pode colocar a sua conta em risco.
As chaves API são frequentemente alvo de ciberataques, uma vez que permitem operações críticas como o acesso a informações pessoais ou a realização de transações financeiras. Já existiram incidentes em que atacantes invadiram repositórios de código online e roubaram chaves API.
Se as chaves API forem roubadas, podem ocorrer consequências graves e perdas financeiras avultadas. Algumas chaves API não expiram, permitindo que os atacantes as utilizem até serem revogadas.
Dado que as chaves API permitem aceder a dados sensíveis, o seu uso seguro é imprescindível. Siga estas recomendações para uma gestão eficaz de chaves API:
1. Rodar Regularmente as Chaves API
Altere periodicamente as chaves API. Para tal, elimine a chave em uso e crie uma nova. Em ambientes com múltiplos sistemas, eliminar e gerar chaves API é um procedimento simples. Tal como alguns sistemas requerem alteração de palavra-passe a cada 30–90 dias, deve rodar as suas chaves API com uma frequência semelhante, sempre que possível.
2. Utilizar Lista Branca de IP
Ao criar uma nova chave API, defina uma lista de endereços IP autorizados (lista branca de IP). Também pode definir uma lista de IP bloqueados (lista negra de IP). Caso uma chave seja comprometida, IP não autorizados não a poderão utilizar.
3. Utilizar Múltiplas Chaves API
Emitir várias chaves para tarefas distintas reduz o risco, pois a segurança da sua conta não depende de uma única chave. Pode ainda atribuir listas brancas de IP diferentes a cada chave, reforçando a sua segurança.
4. Armazenar Chaves API em Segurança
Nunca guarde chaves em locais públicos, em computadores partilhados ou em texto simples. Para maior segurança, utilize encriptação ou serviços de gestão de segredos para cada chave e evite divulgações acidentais.
5. Nunca Partilhar as Suas Chaves API
Partilhar a sua chave API é equivalente a partilhar a sua palavra-passe. Tal permite que terceiros tenham a mesma autenticação e autorização que o próprio utilizador. Em caso de violação de dados, as chaves API roubadas podem ser utilizadas para comprometer a sua conta. Apenas o utilizador e o sistema gerador devem utilizar a chave API.
Se a sua chave API for comprometida, revogue-a ou desative-a imediatamente para evitar danos adicionais. Em caso de perdas financeiras, documente toda a informação relevante sobre o incidente e contacte as entidades competentes e as autoridades policiais para maximizar as hipóteses de recuperar os ativos perdidos.
As chaves API têm funções de autenticação e autorização, pelo que devem ser guardadas com segurança e utilizadas de forma cautelosa. Existem diversas camadas e estratégias para proteger chaves API. Trate sempre a sua chave API como trataria a palavra-passe da sua conta.
Uma chave API é um código único utilizado para autenticar e gerir o acesso a uma interface de programação. Garante a segurança e impõe permissões de utilizador para a API, prevenindo acessos não autorizados.
Guarde as chaves API em formato encriptado recorrendo a variáveis de ambiente ou ficheiros de configuração com acesso restrito. Nunca inclua as chaves no código-fonte. Utilize um gestor de segredos para automatizar a encriptação e desencriptação em tempo de execução.
A fuga de chaves API pode originar acessos não autorizados à conta, roubo de fundos, controlo total da conta e transações não autorizadas. Os atacantes podem aceder a dados sensíveis, alterar definições de segurança e provocar perdas financeiras significativas.
Conceda apenas as permissões estritamente necessárias às suas chaves API, seguindo o princípio do menor privilégio. Analise e atualize regularmente as permissões para garantir a máxima segurança.
Revogue ou desative imediatamente a sua chave API para impedir qualquer utilização indevida. Contacte o fornecedor da API para obter instruções adicionais. Gere de imediato uma nova chave de substituição.











