¿Qué sucede cuando la clave secreta de la API es robada y utilizada por otros?

4

El uso de API pagada está aumentando cada vez más cada año. Por ejemplo, IBM, Google y Microsoft proporcionan API pagada como Text to Speech , Speech to Text y Image to Text y viceversa.

Tengo una pregunta sobre lo que sucede si compilo una aplicación y la publico:

1 . ¿Qué sucede cuando otra persona usa Wireshack o ingeniería inversa para obtener la clave de esta API y luego la usa en su aplicación o la vende?

2 . ¿Pagaré por esto aunque mis clientes no sean las personas que utilizan esta API?

3 . ¿Existe alguna forma de reducir o evitar que esto suceda?

Solo estoy preocupado por esto y estoy seguro de que esto está sucediendo o debe haber ocurrido en algún momento.

NOTA :

Pregunté esto porque vi mi API de Google Map con el software Wireshark.

Mi solución inicial es hacer que cada usuario cree un nombre de usuario y contraseña y aplique restricciones a cada usuario individual, pero las compañías que mencioné no lo hacen. Simplemente usan una sola clave para sus servicios.

    
pregunta Programmer 06.03.2017 - 21:09
fuente

2 respuestas

8
  1. Como es de esperar, no hay forma de proteger completamente su clave api si es utilizado directamente por una aplicación cliente. El usuario puede oler su netowrk (el uso de https o de un canal cifrado aún podría ayuda, pero es solo una cuestión de tiempo ya que el usuario puede ver la totalidad apretón de manos) o ingeniería inversa del software (igual que aquí, puede encripta la clave api pero con un poco de trabajo, siempre puedes obtener la clave atrás).
  2. Sí, seguirás cobrando incluso si la clave api no se usa de acuerdo con lo que puedes esperar simplemente porque el servicio de api no tiene forma de saber si es parte de tu uso intencional.
  3. Solo hay una solución que puede proteger completamente su llave de api para que no se la agarre y se use como no fue hecha: haga todo con el lado del servidor de la llave de api. Su servidor actuará como proxy entre la aplicación cliente y el servicio de api y, por lo tanto, el cliente no puede estar al tanto de la clave de api. Sin embargo, puede costarle un costo adicional configurar un servidor.
respondido por el Xavier59 06.03.2017 - 21:30
fuente
1

Si está llamando a API desde sitios web abiertos públicamente, no hay una solución 100% segura.

Puede dificultar el uso de cifrado / descifrado, ofuscación, proxies, algunas comprobaciones de encabezado, cambios de código en cada compilación y todo, pero no estará 100% seguro.

Porque cualquier cosa que hayas hecho puede ser fácilmente revertido, diseñado por un buen hacker, ya que puede ser un usuario legítimo y no necesita ningún inicio de sesión válido o IP para usar sitios web abiertos públicamente, por lo que tiene acceso a todo el código JavaScript / HTML y él puede monitorear las solicitudes de red desde el sitio web y analizar el patrón.

    
respondido por el Jay Shah 04.11.2018 - 23:38
fuente

Lea otras preguntas en las etiquetas