Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   seguridad antipirata (https://www.clubdelphi.com/foros/showthread.php?t=69260)

carlo_acp 05-08-2010 07:46:12

seguridad antipirata
 
Hola amigos,
tengo esta idea para hacer un metodo anticopia relacionado con el internet, aver que les parece.
La idea es marcar el servidor como una unica instalacion y los terminales pueden ser ilimitados, para esto al instalar el servidor, este enviaria una identificacion a un servidor de licencias via internet, indicandole que se esta ejecutando y si una segunda aplicacion (servidor) se ejecutara a la vez, el servidor de licencias no lo permitiria y le comunicaria que existe un error con su licencia. En este caso el usuario legal se comunicaria con la empresa y al verificar sus datos, se le enviaria una nueva id para su aplicacion y asi podrá acceder. Esta idea lo vi en otra aplicacion y me parecio interesante y mas aun que ahora es comun el uso del internet, me parece que seria una forma practica de no permitir el pirateo de nuestras aplicaciones. que les parece la idea, se aceptan criticas.

MAXIUM 05-08-2010 07:57:25

¿Y si no hay internet por diversos motivos?

Neftali [Germán.Estévez] 05-08-2010 13:13:03

Más que críticas, lo que hay que plantearse en estos casos, son los inconvenientes. Es decir, suponinedo un cliente "legal", qué problemas les podría ocasionar el programa.

En tu caso:

* Lo primero que se me viene a la cabeza es (al igual que a Maxium) qué pasaría con un cliente que tiene un problema con las comunicaciones. Nosotros mismos, en la empresa hemos estado 2 días con un problema de telefónica sin conexión a Internet. Imagina que esto le pasa a tu cliente y no puede ni acceder a su sistema durante 2 días.

NOTA: Si fuera una aplicación que por su tipología fuera imprescindible la conexión continuada a Internet, sería diferente.

* ¿Qué identificación enviarías? ¿Podrían instalarse varios servidores que envíen la mismo identificación? ¿Se podría instalar el servidor en una máquina virtual?

* No me queda claro si quieres controlar la instalación de servidores o la ejecución de servidores. ¿Un cliente puede instalar 2 servidores con una única licencia? ¿Que se lo impediría?

carlo_acp 06-08-2010 09:18:22

Maxium, Neftali, gracias por sus observaciones,

Cita:

Lo primero que se me viene a la cabeza es (al igual que a Maxium) qué pasaría con un cliente que tiene un problema con las comunicaciones.
para el caso que falte internet en el servidor, estaba considerando hacer que le permita funcionar si no hay conexion de internet, esto pensando en el caso que consideran de la falta de internet por algunos dias (seria un riesgo a correr).

Cita:

Un cliente puede instalar 2 servidores con una única licencia? ¿Que se lo impediría?
La idea es controlar los servidores instalados. El cliente, por contrato, solo podria instalar un servidor por cada licencia y cada adicional seria un id adicional

Cita:

¿Qué identificación enviarías? ¿Podrían instalarse varios servidores que envíen la mismo identificación? ¿Se podría instalar el servidor en una máquina virtual?
La identificacion de la instalacion se realizaria de esta forma. La primera vez que se instala cada servidor se generaria un id encriptado que se guardaria en la db del servidor del cliente y tambien en el servidor de licencias, asi cuando se ejecute la aplicacion no importará desde donde lo ejecute o si cambia de computadora pues siempre estara con la misma base de datos.

Obviamente, este tipo de control se aplicaria a clientes que esten conectados permanentemente al internet y si no hubiese conexion seria e forma temporal.

Agradeceria mas observaciones, asi poder considerar mas casos.

mamcx 06-08-2010 17:20:03

Una lectura, en mi opinion obligatoria, sobre el tema:

http://www.codeproject.com/KB/archit...ialWisdom.aspx


El punto focal del articulo es "muestrame el dinero". O sea... es que acaso tu aplicacion esta instalada en cientos de lugares, y te piratean cuanto (sabes el % de perdidas???) y quienes (sabes si quienes te piratean son tus clientes potenciales Y con intencion de pagar?).

Si tu aplicacion es tan popular... tonces las ventas deben ser buenas y por ende un mecanismo muy "suave" es mejor.

Si tu aplicacion es costosa, entonces la licencia es lo de menos. Seguramente el soporte es la parte critica. En el pasado, en vez de proteger la licencia, protegia el soporte (registrando los usuarios y solo dando soporte a quienes estan al dia).

Si tu aplicacion tiene algo que ver con cosas legales (contabilidad, impuestos, etc) es mejor proteger los *datos* que el binario. Por ejemplo, en cierta aplicacion encriptabamos el nombre de la empresa (el cual una vez creado no se podia editar). Ya que esta aparecia en los papeles legales, al final de periodo llamaban varios a que les activaramos la licencia.

Pero definitivamente he sido enemigo de implementar soluciones antipirateria, en especial desde que vivi 6 meses de montar una de esas y como al cabo como de 8 meses se desmonto porque era mas el soporte que habia que dar que lo que se ganaba.

O sea, en el analisis del $$$ ten encuenta que todo mecanismo de estos causara que te llamen (y molestos!) los clientes.

Neftali [Germán.Estévez] 06-08-2010 17:38:42

Muy buen artículo.

Casimiro Notevi 06-08-2010 18:03:17

¿Ya he contado en alguna ocasión el medio año de desarrollo de una protección para un programa que tardó menos de una semana en ser desprotegido por un chico ruso?

carlo_acp 09-08-2010 06:04:13

Hola amigos,
En resumen, seria mejor hacer un registro encriptado del nombre de la empresa en la db y se muestre en todo reporte, pantalla del soft y realizar un registro de licencias, para cuando detectemos un servidor sin licencia registrada, enviaremos mensajes de registro de servidor, como lo hace windows, asi si el usurio estara usando el soft con logos de reportes diferentes al suyo y cuado vea que necesita personalizarlo, se tendra que registrar y pagar la licencia.


La franja horaria es GMT +2. Ahora son las 07:36:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi