Nuestra empresa vende un software de escritorio fuera de línea (.exe), estamos pensando en utilizar OTP (de token de hardware como en la banca por Internet) para evitar que las personas copien el software sin permiso. Básicamente, cada copia legítima tendrá su propio número de serie y token de hardware.
Estamos pensando que cuando se inicie la aplicación, se mostrará una pantalla de inicio de sesión donde se supone que el usuario debe ingresar la OTP desde el token. El token generará OTP según el número de serie, la hora actual y un algoritmo seguro. La aplicación autentificará la OTP ingresada. Esperamos que con este mecanismo, una copia del software solo pueda ser utilizada por una persona (que es la propietaria de la OTP).
El propósito es evitar que los usuarios ocasionales copien el software (por ejemplo, a amigos, familiares). Sabemos que esto no es 100% seguro, y puedo pensar en muchas formas en que los piratas serios aún pueden copiar el software de manera ilegítima. Pero en este caso, estamos interesados en detener a los usuarios ocasionales para copiar el software (por ejemplo, a amigos, familiares, etc.) que es el comportamiento normal aquí. ¿Hay algo de qué preocuparse por usar este método? El error más preocupante que puedo pensar hasta ahora es que el usuario puede manipular la hora local de la computadora (esto es muy fácil de hacer en Windows). ¿Hay algún tiempo confiable en una computadora que sea difícil de manipular?