Tengo una aplicación de escritorio que crea y almacena una buena cantidad de datos (en su mayoría, no a través de los comentarios tradicionales de los usuarios); Principalmente de naturaleza estadística.
Actualmente, la mayoría de los datos son accesibles solo a otras aplicaciones que he escrito yo mismo, y no están expuestas al usuario sino a través de estas aplicaciones.
Estoy considerando permitir el acceso de terceros a estos datos a través de una API REST o similar, pero en este caso el "servidor" se ejecutaría en la misma máquina que el cliente (u otra máquina en la misma LAN). a lo sumo).
Sin embargo, dado que este acceso está destinado a monetizarse, quiero tener algún tipo de autenticación para permitir que los clientes específicos accedan a subconjuntos específicos de los datos, en lugar de proporcionar permisos generales.
(Por lo tanto, el objetivo no es la autenticación del usuario, sino la autenticación de la aplicación del cliente; en el sentido humano, todos los datos son para un usuario, pero solo deben ser accesibles a través de aplicaciones autorizadas).
Obviamente, dado que todo está funcionando en el lado del cliente, básicamente ya lo he perdido (un usuario suficientemente determinado no tendría ningún problema en extraer y falsificar credenciales, y AFAIK es literalmente imposible evitar esto), pero ¿cuál sería la ¿Mejores prácticas para proporcionar un nivel razonable de seguridad contra usuarios insuficientemente determinados?
La mayoría de las recomendaciones habituales para la autenticación de API REST (SSL, OAuth, etc.) realmente no parecen ser aplicables ya que asumen un servidor separado y seguro. (Y a SSL le preocupa principalmente la validación del servidor).