Las mejores prácticas para configurar las conexiones de los clientes a un servidor con credenciales de la aplicación

2

El título de la pregunta es ... feo por decir lo menos. Aquí hay una visión general de lo que tengo:

  • Trabajo en una herramienta en línea. Los datos se le envían, procesa los datos (una tarea intensiva) y devuelve los resultados.
  • La herramienta se vende a organizaciones que desean incluir la funcionalidad en sus sitios web y aplicaciones public para que los usen sus clientes. La herramienta permanece en nuestros servidores (ningún cliente tiene acceso al código o los binarios)
  • Necesito detener a las organizaciones no autorizadas que utilizan la herramienta en sus sitios y aplicaciones.

Dentro de un navegador, la autorización es fácil; Simplemente reviso el encabezado ORIGEN cuando se realizan las solicitudes y todo está bien (los usuarios individuales que piratean sus encabezados no son importantes).

En las aplicaciones es una historia diferente. Primero, necesito evitar aplicaciones simplemente usando la interfaz del navegador (o, mejor dicho, hacer que la interfaz del navegador sea igual a la interfaz de la aplicación), luego necesito usar claves o algo similar para autorizar a los clientes permitidos.

Me doy cuenta de que no importa qué autorización puse en las aplicaciones, siempre se puede descifrar porque son públicas, pero esto no puede ser una situación única, así que me pregunto qué soluciones ya se han desarrollado. (Dado que tengo un conocimiento limitado de la terminología de seguridad, ¡se ha comprobado que es difícil de encontrar!)

    
pregunta Dave 21.03.2013 - 02:25
fuente

1 respuesta

1

Su pregunta es esencialmente una sobre DRM.

Realmente no puedo distinguir un hecho importante acerca de la herramienta. ¿Esta herramienta está alojada en sus propios servidores o en los servidores de sus clientes?

Si la herramienta está alojada en sus propios servidores, esto facilita mucho la situación. Configure un sistema de autorización basado en las claves API y solo permita que los clientes utilicen la herramienta si se envía una clave API aceptada en la solicitud. En este escenario, debe asegurarse de que ninguna parte del código relevante (procesamiento de datos) esté en manos del cliente.

Si la herramienta está alojada en los servidores de sus clientes, el sistema de claves API todavía funciona. Tener una funcionalidad que les permita a los clientes generar y revocar claves de API para permitirles acceder a esa instancia particular de la herramienta.

Si su pregunta es cómo evitar que organizaciones no autorizadas instalen su herramienta en sus propios servidores, este problema probablemente sea difícil de resolver técnicamente. Es posible que desee confiar en contratos legales para evitar que las organizaciones autorizadas filtren su código.

    
respondido por el Ayrx 21.03.2013 - 04:01
fuente

Lea otras preguntas en las etiquetas