Uma chave de interface de programação de aplicativo (API) é um código exclusivo usado por uma API para identificar o aplicativo ou usuário que faz a solicitação. As chaves de API são usadas para rastrear e controlar quem usa uma API e como eles a usam, bem como para autenticar e autorizar aplicativos, semelhante ao funcionamento de nomes de usuário e senhas. Uma chave de API pode ter a forma de uma única chave ou de um conjunto de chaves. Os usuários devem seguir as práticas recomendadas para melhorar sua segurança geral contra roubo de chave de API e evitar as consequências do comprometimento da chave 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 aplicativos compartilhem informações. Por exemplo, a API da CoinMarketCap permite que outras aplicações recuperem e utilizem dados criptográficos, como preço, volume e capitalização.

Uma chave de API vem em diferentes formatos: pode ser uma única chave ou um conjunto de chaves. Diferentes sistemas usam essas chaves para autenticar e autorizar um aplicativo, semelhante a um nome de usuário e senha de um indivíduo. Uma chave de API é usada por um cliente de API para autenticar um aplicativo que solicita a API.

Por exemplo, se a Binance Academy quiser usar a API CoinMarketCap, uma chave de API será gerada pela CoinMarketCap e usada para autenticar a identidade da Binance Academy (o cliente da API), que está 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 deve ser usada apenas pela Binance Academy e não deve ser compartilhada ou enviada a terceiros. Compartilhar esta chave de API permitiria que terceiros acessassem a CoinMarketCap como Binance Academy, e todas as ações desse terceiro apareceriam como se tivessem origem na Binance Academy.

A chave API também pode ser usada pela API CoinMarketCap para confirmar se o aplicativo está autorizado a acessar o recurso solicitado. Além disso, os proprietários de APIs usam chaves de API para monitorar a atividade da API, como diferentes tipos de solicitação, tráfego e volume de solicitações.

O que é uma chave de API?

Uma chave de API é usada para controlar e rastrear quem usa uma API e como a usa. O termo “chave de API” pode ter significados diferentes em sistemas diferentes. Alguns sistemas possuem um único código, mas outros podem ter vários códigos para uma única “chave de API”.

Como tal, uma “chave de API” é um código exclusivo ou conjunto de códigos exclusivos usados ​​por uma API para autenticar e autorizar o usuário ou aplicativo que origina uma solicitação. Alguns códigos são utilizados para autenticação e outros para criação de assinaturas criptográficas para comprovar a legitimidade de uma solicitação.

Estes códigos de autenticação são comumente chamados de "chave API", enquanto os códigos utilizados para assinaturas criptográficas têm nomes diferentes, como "chave secreta", "chave pública" ou "chave privada. A autenticação envolve a identificação das entidades envolvidas e a confirmação de que elas". são quem afirmam ser.

A autorização, por outro lado, especifica quais serviços de API o acesso é permitido. A função de uma chave API é semelhante à de um nome de usuário e senha de conta. Também pode ser vinculado a outros dispositivos de segurança para melhorar a segurança geral.

Cada chave de API normalmente é gerada para uma entidade específica pelo proprietário da API (mais detalhes abaixo) e cada vez que uma solicitação é feita a um endpoint de API, que requer autenticação ou autorização do usuário da API, ou ambos, 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 uma API, uma assinatura digital gerada por outra chave pode ser adicionada à 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 compartilhados por meio de uma API podem ser assinados por chaves criptográficas, que podem ser classificadas nas seguintes categorias:

Chaves simétricas

Eles envolvem o uso de uma chave secreta para executar a assinatura de dados e a verificação de assinatura. Com chaves simétricas, a chave API e a chave secreta são normalmente geradas pelo proprietário da API e a mesma chave secreta deve ser usada pelo serviço API para verificação de assinatura. A principal vantagem de usar uma única chave é que ela é mais rápida de implementar e requer menos poder computacional para geração e verificação de assinaturas. HMAC é um bom exemplo de chave simétrica.

Chaves assimétricas

Envolvem o uso de duas chaves: uma chave privada e uma chave pública, que são diferentes, mas criptograficamente relacionadas. A chave privada é usada para geração de assinatura e a chave pública é usada para verificação de assinatura. A chave da API é gerada pelo proprietário da API, mas o par de chaves pública e privada é gerado pelo usuário. Somente a chave pública deve ser usada pelo proprietário da API para verificação de assinatura, para que a chave privada possa permanecer local e secreta.

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

As chaves de API são seguras?

A responsabilidade por uma chave de API é 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, como tal, não deve ocorrer, pois 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 em larga escala em sistemas, como solicitar informações pessoais ou executar transações financeiras. De fato, houve casos em que rastreadores da web verificaram com sucesso bancos de dados de códigos on-line para roubar chaves de API.

As consequências de um roubo de chave API podem ser dramáticas e levar a perdas financeiras significativas. Além disso, como algumas chaves de API não expiram, elas podem ser usadas indefinidamente por invasores, uma vez roubadas, até que as próprias chaves sejam revogadas.

Melhores práticas para usar chaves de API

Devido ao seu acesso a dados confidenciais e à vulnerabilidade geral, o uso seguro de chaves de 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 criar uma nova. Com vários sistemas, geralmente é fácil gerar e excluir chaves de API. Assim como alguns sistemas exigem que você altere sua senha a cada 30-90 dias, você deve alterar suas chaves de API com frequência semelhante.

  2. Usar lista de permissões de IP: ao criar uma chave de API, estabeleça uma lista de IPs com permissão para usar a chave (uma lista de permissões de IP). Você também pode especificar uma lista de IPs bloqueados (uma lista negra de IP). Dessa forma, mesmo que sua chave API seja roubada, ela não poderá ser acessada por um IP não reconhecido.

  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 amplas. Você também pode definir diferentes listas de permissões de endereços IP para cada chave, reduzindo ainda mais o risco de segurança.

  4. Armazene chaves de API com segurança: não armazene suas chaves em locais acessíveis, em computadores públicos ou em seu formato original de texto simples. Em vez disso, armazene-os usando criptografia ou um gerenciador de senhas para maior segurança e tome cuidado para não expô-los acidentalmente.

  5. Não compartilhe suas chaves de API. Você pode comparar o compartilhamento de uma chave de API com o compartilhamento de uma senha. Isso dá à outra parte os mesmos privilégios de autenticação e autorização que você. Se comprometida, sua chave API pode 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 API estiver comprometida, você deverá primeiro desativá-la para evitar maiores danos. Em caso de perda financeira, faça capturas de tela das principais informações relacionadas ao incidente, entre em contato com as entidades competentes e registre uma reclamação. Esta é a melhor maneira de aumentar suas chances de recuperar fundos perdidos.

Conclusão

As chaves de API fornecem funções essenciais de autenticação e autorização, e os usuários devem gerenciar e proteger suas chaves com cuidado. Existem muitos níveis e aspectos que podem garantir o uso seguro de chaves de API. No geral, uma chave de API deve ser tratada como a senha da sua conta.

Mais Informações

  • Princípios gerais de segurança

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