Uma chave de interface de programação de aplicativo (API) é um código exclusivo usado em uma API para identificar o aplicativo ou usuário que está chamando. As chaves de API são usadas para rastrear e controlar quem usa a API e como, e para autenticar e autorizar aplicativos – semelhante ao funcionamento de nomes de usuário e senhas. Uma chave de API pode ser uma única chave ou um conjunto de várias chaves. Os usuários devem seguir as práticas recomendadas para melhorar sua proteção geral contra roubo de chaves de API e evitar as consequências relacionadas ao comprometimento de suas chaves de API.

API e chave de API

Para entender o que é uma chave de API, primeiro você precisa entender o que é uma API. Uma interface de programação de aplicativos, ou API, é um intermediário de software que permite que dois ou mais programas troquem informações. Por exemplo, a API CoinMarketCap permite que outros aplicativos recuperem e usem dados de criptomoedas, como preço, volume e capitalização de mercado.

A chave de API pode ter diferentes formatos. Pode ser uma única chave ou um conjunto de múltiplas chaves. Em vários sistemas, essas chaves são usadas para autenticação e autorização de aplicativos da mesma forma que um nome de usuário e uma senha são usados. A chave da API é usada pelo cliente da API para autenticar o aplicativo que chama a API. 

Por exemplo, se a Binance Academy quiser usar a API CoinMarketCap, uma chave de API será gerada no CoinMarketCap e usada para autenticar a Binance Academy (cliente API) solicitando acesso à API. Quando a Binance Academy acessa a API CoinMarketCap, esta chave de API deve ser enviada à CoinMarketCap com a solicitação. 

Esta chave API só deve ser usada através da Binance Academy e não pode ser compartilhada ou enviada a terceiros. Compartilhar esta chave de API permitirá que terceiros acessem a CoinMarketCap como Binance Academy, e quaisquer ações de terceiros aparecerão como se fossem provenientes da Binance Academy.

A chave API também pode usar a API CoinMarketCap para confirmar se o aplicativo tem permissão para acessar o recurso solicitado. Além disso, os proprietários de APIs usam chaves de API para monitorar a atividade da API, como tipos de solicitação, tráfego e volume. 

O que é uma chave de API? 

A chave de API é usada para controlar e rastrear quem usa a API e como ela é usada. O termo “chave de API” pode significar coisas diferentes para sistemas diferentes. Alguns sistemas possuem um código, outros podem ter vários códigos para uma única "Chave API".   

Assim, uma "Chave de API" é um código exclusivo ou conjunto de códigos exclusivos usados ​​em uma API para autenticar e autorizar o usuário ou aplicativo chamador. Alguns códigos são usados ​​para autenticação, enquanto outros são usados ​​para criar assinaturas criptográficas que confirmam a legitimidade da solicitação. 

Esses códigos de autenticação são comumente chamados de "chave API", enquanto os códigos usados ​​para assinaturas criptográficas têm vários nomes, como "chave secreta", "chave pública" ou "chave privada". A autenticação envolve a identificação dos indivíduos envolvidos e a confirmação de que são quem dizem ser.

A autorização, por outro lado, especifica quais serviços API podem ser acessados. A função da chave API é semelhante à função do nome de usuário e senha da conta; ele também pode ser conectado a outros recursos de segurança para aumentar a segurança geral. 

Cada chave de API normalmente é gerada para um objeto específico pelo proprietário da API (veja detalhes abaixo) e sempre que é feita uma chamada de endpoint de API que requer autenticação ou autorização do usuário, ou ambas, a chave correspondente é usada.

Assinaturas criptográficas

Algumas chaves de API usam assinaturas criptográficas como uma camada adicional de verificação. Quando um usuário deseja enviar determinados dados para a API, uma assinatura digital gerada por outra chave pode ser anexada à solicitação. Usando criptografia, o proprietário da API pode verificar se esta assinatura digital corresponde aos dados enviados.

Assinaturas simétricas e assimétricas 

Os dados enviados por meio da API podem ser assinados com chaves criptográficas que se enquadram nas seguintes categorias:

Chaves simétricas

Este é o uso de uma única chave secreta para assinar dados e verificar a assinatura. Ao usar chaves simétricas, a chave API e a chave secreta são geralmente geradas pelo proprietário da API, e a mesma chave secreta deve ser usada pelo serviço API para verificar a assinatura. A principal vantagem de usar uma chave única é que tudo acontece mais rápido e requer menos poder computacional para gerar e verificar a assinatura. Um bom exemplo de chave simétrica é o HMAC.

Chaves assimétricas

Trata-se do uso de duas chaves: uma chave privada e uma chave pública, que são diferentes, mas criptograficamente relacionadas. A chave privada é usada para criar a assinatura e a chave pública é usada para verificar a assinatura. A chave da API é gerada pelo proprietário da API e o par de chaves pública e privada é gerado pelo usuário. O proprietário da API só deve usar a chave pública para verificar a assinatura, para que a chave privada permaneça local e secreta. 

A principal vantagem do uso de chaves assimétricas é a maior segurança na separação da geração de assinaturas e verificação de chaves. Isso permite que sistemas externos verifiquem assinaturas sem serem capazes de gerá-las. Outra vantagem é que alguns sistemas de criptografia assimétrica suportam a adição de uma senha às chaves privadas. Um bom exemplo é um par de chaves RSA. 

As chaves de API são seguras? 

A chave API é de responsabilidade do usuário. As chaves de API são semelhantes às senhas e devem ser tratadas com o mesmo cuidado. Compartilhar uma chave de API é semelhante a compartilhar uma senha e, portanto, não deve ser compartilhada com outras pessoas, pois isso colocará a conta do usuário em risco. 

As chaves de API são comumente alvo de ataques cibernéticos porque podem ser usadas para realizar operações poderosas em sistemas, como solicitação de informações pessoais ou transações financeiras. Na verdade, houve casos em que rastreadores atacaram com sucesso bancos de dados de códigos online para roubar chaves de API.

As consequências do roubo de chaves API podem ser graves e levar a perdas financeiras significativas. Além disso, como algumas chaves de API não expiram, os invasores podem usá-las indefinidamente após o roubo, até que as próprias chaves sejam revogadas.

Diretrizes para usar chaves de API

Devido ao seu acesso a dados sensíveis e à sua vulnerabilidade geral, a utilização segura de chaves API é de suma importância. Você pode seguir estas práticas recomendadas ao usar chaves de API para melhorar a segurança geral: 

  1. Altere suas chaves de API com frequência. Isso significa que você deve excluir sua chave de API atual e gerar uma nova. Gerar e excluir chaves de API é bastante fácil na maioria dos sistemas. Assim como alguns sistemas exigem que você altere sua senha a cada 30 a 90 dias, você deve alterar suas chaves de API com a mesma frequência, se possível.

  2. Use uma lista de permissões de IP: ao criar uma chave de API, crie uma lista de endereços IP que podem usar a chave (lista de permissões de IP). Você também pode especificar uma lista de endereços IP bloqueados (lista negra de IP). Dessa forma, mesmo que sua chave API seja roubada, ela ainda não poderá ser acessada por um endereço IP desconhecido.

  3. Use várias chaves de API: ter várias chaves e dividir responsabilidades entre elas reduzirá o risco de segurança porque sua segurança não dependerá de uma única chave com permissões estendidas. Você também pode definir diferentes listas de permissões de IP para cada chave, reduzindo ainda mais o risco de segurança. 

  4. Armazene chaves de API com segurança: não armazene chaves em locais públicos, em computadores públicos ou em formato de texto simples. Em vez disso, armazene cada chave com criptografia ou um gerenciador de senhas para maior segurança e tome cuidado para não revelá-las acidentalmente. 

  5. Não compartilhe suas chaves de API com ninguém. Compartilhar uma chave de API é semelhante a compartilhar sua senha. Ao fazer isso, você concede seus privilégios de autenticação e autorização à outra parte. Se eles forem comprometidos, sua chave API poderá ser roubada e usada para hackear sua conta. Uma chave de API só deve ser usada entre você e o sistema que a gera.

Se sua chave de API estiver comprometida, você deverá primeiro desativá-la para evitar maiores danos. Se houver perdas financeiras, faça capturas de tela das principais informações relacionadas ao incidente, entre em contato com as organizações relevantes e registre um boletim de ocorrência. Esta é a melhor maneira de aumentar suas chances de recuperar fundos perdidos. 

Resultados

As chaves de API fornecem funções básicas de autenticação e autorização, e os usuários devem gerenciar e proteger cuidadosamente suas chaves. Existem muitas camadas e aspectos para garantir o uso seguro de chaves de API. Em geral, a chave API deve ser tratada como a senha da sua conta.

Artigos relacionados

  • Princípios gerais de segurança

  • 5 golpes comuns de criptomoeda e como evitá-los