Una clave de interfaz de programación de aplicaciones (API) es un código único utilizado por una API para identificar la aplicación o el usuario que realiza la solicitud. Las claves API se utilizan para rastrear y controlar quién usa una API y cómo la usa, así como para autenticar y autorizar aplicaciones, de manera similar a cómo funcionan los nombres de usuario y las contraseñas. Una clave API puede ser una clave única o un conjunto de claves. Los usuarios deben seguir las mejores prácticas para mejorar su seguridad general contra el robo de claves API y evitar las consecuencias del compromiso de la clave API.

API y clave API

Para comprender qué es una clave API, primero debe comprender qué es una API. Una interfaz de programación de aplicaciones o API es un intermediario de software que permite que dos o más aplicaciones compartan información. Por ejemplo, la API de CoinMarketCap permite que otras aplicaciones recuperen y utilicen datos criptográficos, como precio, volumen y capitalización.

Una clave API viene en diferentes formas: puede ser una clave única o un conjunto de claves. Diferentes sistemas utilizan estas claves para autenticar y autorizar una aplicación, de forma similar a un nombre de usuario y contraseña para un individuo. Un cliente API utiliza una clave API para autenticar una aplicación que solicita la API.

Por ejemplo, si Binance Academy desea utilizar la API CoinMarketCap, CoinMarketCap generará una clave API y la utilizará para autenticar la identidad de Binance Academy (el cliente API), que solicita acceso a la API. Cuando Binance Academy accede a la API de CoinMarketCap, esta clave de API debe enviarse a CoinMarketCap con la solicitud.

Esta clave API solo debe ser utilizada por Binance Academy y no debe compartirse ni enviarse a otros. Compartir esta clave API permitiría a un tercero acceder a CoinMarketCap como Binance Academy, y todas las acciones de ese tercero aparecerán como si se originaran en Binance Academy.

La clave API también puede ser utilizada por la API CoinMarketCap para confirmar si la aplicación está autorizada para acceder al recurso solicitado. Además, los propietarios de API utilizan claves de API para monitorear la actividad de la API, como diferentes tipos de solicitudes, tráfico y volumen de solicitudes.

¿Qué es una clave API?

Una clave API se utiliza para controlar y rastrear quién usa una API y cómo la usa. El término "clave API" puede tener diferentes significados en diferentes sistemas. Algunos sistemas tienen un código único, pero otros pueden tener varios códigos para una única "clave API".

Como tal, una "clave API" es un código único o un conjunto de códigos únicos utilizados por una API para autenticar y autorizar al usuario o la aplicación que origina una solicitud. Algunos códigos se utilizan para la autenticación y otros para crear firmas criptográficas para demostrar la legitimidad de una solicitud.

Estos códigos de autenticación se denominan comúnmente "clave API", mientras que los códigos utilizados para las firmas criptográficas tienen diferentes nombres, como "clave secreta", "clave pública" o "clave privada". son quienes dicen ser.

La autorización, por otro lado, especifica a qué servicios API se permite el acceso. La función de una clave API es similar a la de un nombre de usuario y contraseña de una cuenta. También se puede vincular a otros dispositivos de seguridad para mejorar la seguridad general.

Normalmente, el propietario de la API genera cada clave de API para una entidad específica (más detalles a continuación) y cada vez que se realiza una solicitud a un punto final de API, que requiere autenticación o autorización del usuario de API, o ambas, se utiliza la clave correspondiente. .

Firmas criptográficas

Algunas claves API utilizan firmas criptográficas como capa adicional de verificación. Cuando un usuario quiere enviar ciertos datos a una API, se puede agregar a la solicitud una firma digital generada por otra clave. Mediante criptografía, el propietario de la API puede verificar que esta firma digital coincida con los datos enviados.

Firmas simétricas y asimétricas.

Los datos compartidos a través de una API se pueden firmar mediante claves criptográficas, que se pueden clasificar en las siguientes categorías:

Claves simétricas

Implican el uso de una clave secreta para realizar tanto la firma de datos como la verificación de la firma. Con las claves simétricas, la clave API y la clave secreta normalmente las genera el propietario de la API y el servicio API debe utilizar la misma clave secreta para la verificación de la firma. La principal ventaja de utilizar una única clave es que es más rápida de implementar y requiere menos potencia informática para la generación y verificación de firmas. HMAC es un buen ejemplo de clave simétrica.

Teclas asimétricas

Implican el uso de dos claves: una clave privada y una clave pública, que son diferentes pero relacionadas criptográficamente. La clave privada se utiliza para generar la firma y la clave pública se utiliza para la verificación de la firma. La clave API la genera el propietario de la API, pero el usuario genera el par de claves pública y privada. El propietario de la API solo debe utilizar la clave pública para la verificación de la firma, de modo que la clave privada pueda permanecer local y secreta.

La principal ventaja de utilizar claves asimétricas es la mayor seguridad que supone separar las claves de generación y verificación de firma. Esto permite que sistemas externos verifiquen firmas sin poder generarlas. Otra ventaja es que algunos sistemas de cifrado asimétrico permiten agregar una contraseña a las claves privadas. Los pares de claves RSA son un buen ejemplo.

¿Son seguras las claves API?

La responsabilidad de una clave API recae en el usuario. Las claves API son similares a las contraseñas y deben tratarse con el mismo cuidado. Compartir una clave API es similar a compartir una contraseña y, como tal, no debe realizarse ya que pondrá en riesgo la cuenta del usuario.

Las claves API suelen ser el objetivo de los ciberataques porque pueden utilizarse para realizar operaciones a gran escala en los sistemas, como solicitar información personal o ejecutar transacciones financieras. De hecho, ha habido casos en los que los rastreadores web escanearon con éxito bases de datos de códigos en línea para robar claves API.

Las consecuencias del robo de una clave API pueden ser dramáticas y provocar pérdidas financieras importantes. Además, debido a que algunas claves API no caducan, los atacantes pueden usarlas indefinidamente una vez robadas, hasta que las claves mismas sean revocadas.

Mejores prácticas para usar claves API

Debido a su acceso a datos confidenciales y su vulnerabilidad general, el uso seguro de las claves API es de suma importancia. Puede seguir estas mejores prácticas al utilizar claves API para mejorar su seguridad general:

  1. Cambie sus claves API con frecuencia. Esto significa que debes eliminar tu clave API actual y crear una nueva. Con varios sistemas, suele ser fácil generar y eliminar claves API. Así como algunos sistemas requieren que cambies tu contraseña cada 30 a 90 días, debes cambiar tus claves API con una frecuencia similar.

  2. Utilice la lista blanca de IP: cuando cree una clave API, establezca una lista de IP autorizadas para usar la clave (una lista blanca de IP). También puede especificar una lista de IP bloqueadas (una lista negra de IP). De esta manera, incluso si le roban su clave API, una IP no reconocida no podrá acceder a ella.

  3. Utilice varias claves API: tener varias claves y dividir las responsabilidades entre ellas reducirá el riesgo de seguridad porque su seguridad no dependerá de una única clave con amplios permisos. También puede configurar diferentes listas blancas de direcciones IP para cada clave, lo que reduce aún más el riesgo de seguridad.

  4. Almacene las claves API de forma segura: no almacene sus claves en lugares accesibles, en computadoras públicas o en su formato de texto sin formato original. En su lugar, guárdelos mediante cifrado o un administrador de contraseñas para mayor seguridad, y tenga cuidado de no exponerlos accidentalmente.

  5. No compartas tus claves API. Puede comparar compartir una clave API con compartir una contraseña. Al hacerlo, le otorga a otra parte los mismos privilegios de autenticación y autorización que usted. Si se ve comprometida, su clave API puede ser robada y utilizada para piratear su cuenta. Una clave API solo debe usarse entre usted y el sistema que la genera.

Si su clave API está comprometida, primero debe desactivarla para evitar daños mayores. En caso de pérdida financiera, tome capturas de pantalla de información clave relacionada con el incidente, comuníquese con las entidades pertinentes y presente una queja. Esta es la mejor manera de aumentar sus posibilidades de recuperar los fondos perdidos.

Conclusión

Las claves API proporcionan funciones esenciales de autenticación y autorización, y los usuarios deben administrar y proteger sus claves con cuidado. Hay muchos niveles y aspectos que pueden garantizar el uso seguro de las claves API. En general, una clave API debe tratarse como la contraseña de su cuenta.

Más información

  • Principios generales de seguridad

  • Cinco estafas comunes con criptomonedas y cómo evitarlas.