Una clave de interfaz de programación de aplicaciones (API) es un código único utilizado por una API para identificar al usuario o la aplicación que llama. Las claves API se utilizan para rastrear y controlar quién usa la 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 tener la forma de una única clave o de un conjunto de varias claves. Los usuarios deben utilizar las claves API correctamente para mejorar su seguridad general contra el robo de claves API y evitar las consecuencias relacionadas de que sus claves API se vean comprometidas.
Distinguir entre 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 (Interfaz de programación de aplicaciones) es un middleware 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 de criptomonedas, como precio, volumen y capitalización de mercado.
Una clave API viene en muchas formas diferentes: 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 cómo se utilizan los nombres de usuario y las contraseñas. El cliente API utiliza una clave API para autenticar la aplicación de llamada API.
Por ejemplo, si Binance Academy desea utilizar la API CoinMarketCap, CoinMarketCap generará una clave API y la utilizará para autenticar la identidad de la Binance Academy (aplicación API) que solicita acceso a la API. Cuando Binance Academy accede a la API de CoinMarketCap, esta clave API se envía a CoinMarketCap junto 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á que terceros accedan a CoinMarketCap como Binance Academy, y cualquier acción de terceros aparecerá como si proviniera de 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 realizar un seguimiento de la actividad de la API, como el tipo de solicitud, el tráfico y el volumen.
¿Qué es una clave API?
Las claves API se utilizan para controlar y rastrear quién usa la API y cómo la usa. El término "clave API" puede significar diferentes cosas para diferentes sistemas. Algunos sistemas tienen un código único, pero otros pueden tener varios códigos para una única "clave API".
Por lo tanto, 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 aplicación que llama. Algunos códigos se utilizan para la autenticación y otros para crear una firma criptográfica para demostrar la legitimidad de la solicitud.
Estas claves de autenticación a menudo se denominan colectivamente "claves API", mientras que los códigos utilizados para las firmas criptográficas tienen una variedad de nombres, como "claves privadas", "claves públicas" o "claves privadas". La autenticación requiere identificar las entidades involucradas y confirmar que son quienes dicen ser.
Por otro lado, autoriza especificar los servicios API a los que se permite acceder. La funcionalidad de una clave API es similar a la de un nombre de usuario y contraseña de una cuenta; También se puede conectar a otras funciones de seguridad para mejorar la seguridad general.
Cada clave de API normalmente la genera el propietario de la API para una entidad específica (más detalles a continuación), y cada vez que se realiza una llamada a un punto final de API (que requiere autenticación o autorización del usuario, o ambas), se utilizará la clave correspondiente.
Firma criptográfica
Algunas claves API utilizan firmas criptográficas como capa adicional de verificación. Cuando un usuario quiere enviar ciertos datos a la 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 la API se pueden firmar con claves criptográficas, que se clasifican 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 usar la misma clave secreta para verificar la firma. La principal ventaja de utilizar una clave singular es que hacerlo es más rápido y requiere menos potencia informática para generar y verificar la firma. Un buen ejemplo de clave simétrica es HMAC.
Teclas asimétricas
Implican el uso de dos claves: una clave privada y una clave pública, que son diferentes pero vinculadas criptográficamente. La clave privada se utiliza para crear la firma y la clave pública se utiliza para verificar 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 sólo necesita utilizar la clave pública para verificar la firma, por lo que la clave privada puede permanecer local y secreta.
La principal ventaja de utilizar claves asimétricas es la mayor seguridad que supone separar la clave de generación de firma y la clave de verificación. Esto permite que los sistemas externos verifiquen la firma sin poder generarla. Otra ventaja es que algunos sistemas de cifrado asimétrico admiten agregar una contraseña a la clave privada. Un ejemplo típico es un par de claves RSA.
¿Son seguras las claves API?
La responsabilidad de mantener seguras las claves API recae en el usuario. Las claves API son similares a las contraseñas y deben manejarse con cuidado. Compartir claves API es similar a compartir contraseñas y, por lo tanto, no se debe hacer, ya que hacerlo pone en riesgo la cuenta del usuario.
Las claves API suelen ser el objetivo de los ciberataques porque pueden utilizarse para realizar operaciones críticas en el sistema, como solicitar información personal o realizar transacciones financieras. De hecho, ha habido casos de rastreadores y ataques a bases de datos en línea para robar claves API.
Las consecuencias del robo de claves API pueden ser graves y provocar pérdidas financieras importantes. Además, debido a que algunas claves API no caducan, los atacantes pueden usarlas indefinidamente después de ser robadas hasta que las claves sean revocadas.
Cómo utilizar las claves API correctamente
Debido a que otorga acceso a datos confidenciales, es primordial utilizar claves API de forma segura. Puede seguir estas pautas de mejores prácticas para usar claves API para mejorar la seguridad general:
Actualice sus claves API con la mayor frecuencia posible. Esto significa que debes eliminar tu clave API actual y crear una nueva. Con muchos sistemas, es fácil crear y eliminar claves API. De manera similar a cómo algunos sistemas requieren que cambie su contraseña cada 30 a 90 días, debe rotar sus claves API con una frecuencia similar si es posible.
Utilice una lista blanca de IP: cuando cree una clave API, cree una lista de IP a las que se les permite usar la clave (lista blanca de IP). También puede especificar una lista de IP bloqueadas (lista negra de IP). De esta manera, incluso si le roban su clave API, una IP no reconocida no podrá acceder a ella.
Utilice varias claves API: tener varias claves y dividir las responsabilidades entre ellas reduce los riesgos de seguridad, porque su seguridad no dependerá de una única clave con múltiples permisos. También puede configurar diferentes listas blancas de IP para cada clave, lo que reduce aún más los riesgos de seguridad.
Almacene las claves API de forma segura: no almacene sus claves en lugares públicos, en computadoras compartidas ni en su formato de texto sin formato original. En su lugar, almacene cada uno con cifrado o un administrador secreto para mayor seguridad y tenga cuidado de no exponerlos accidentalmente.
No compartas tus claves API. Compartir claves API es similar a compartir su contraseña. Al hacerlo, otorga a la otra parte los mismos derechos de autenticación y autorización que usted. Si se ven comprometidos, su clave API puede ser robada y utilizada para ingresar a su cuenta. Una clave API solo debe usarse entre usted y el sistema que la generó.
Si su clave API está comprometida, primero debe desactivarla para evitar daños mayores. Si hay alguna pérdida financiera, tome una captura de pantalla de la información clave relacionada con el incidente, comuníquese con las unidades pertinentes y envíe un informe a la policía. Esta es la mejor manera de aumentar sus posibilidades de recuperar los fondos perdidos.
resumen
Las claves API proporcionan funciones básicas de autenticación y autorización, y los usuarios deben administrar y proteger cuidadosamente sus claves. Hay muchos pasos y aspectos para garantizar el uso seguro de las claves API. En general, debes considerar tu clave API como una contraseña para tu cuenta.
Leer más:
Principios generales de seguridad
5 estafas comunes con criptomonedas y cómo evitarlas

